:root{--color-primary:#6366f1;--color-primary-dark:#4f46e5;--color-primary-light:#818cf8;--color-primary-bg:#eef2ff;--color-success:#10b981;--color-success-dark:#059669;--color-success-bg:#d1fae5;--color-warning:#f59e0b;--color-warning-dark:#d97706;--color-warning-bg:#fef3c7;--color-danger:#ef4444;--color-danger-dark:#dc2626;--color-danger-bg:#fee2e2;--color-info:#3b82f6;--color-info-bg:#dbeafe;--color-orange:#f97316;--color-orange-bg:#ffedd5;--color-teal:#14b8a6;--color-teal-bg:#ccfbf1;--bg-base:#f1f5f9;--bg-surface:#fff;--bg-elevated:#f8fafc;--bg-hover:#f1f5f9;--border-color:#e2e8f0;--border-color-strong:#cbd5e1;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--text-on-dark:#fff;--shadow-sm:0 1px 3px #0000000f,0 1px 2px #0000000a;--shadow-md:0 4px 6px -1px #00000012,0 2px 4px -2px #0000000d;--shadow-lg:0 10px 15px -3px #00000014,0 4px 6px -4px #0000000d;--shadow-xl:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000000f;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-full:9999px;--font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto",sans-serif;--transition-fast:150ms ease;--transition-base:200ms ease;--transition-slow:300ms ease}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f1f5f9;background:var(--bg-base);color:#0f172a;color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-sans);line-height:1.5;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}button,h1,h2,h3,h4,h5,h6,input{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-sans)}h1,h2,h3,h4,h5,h6{letter-spacing:-.025em}*{box-sizing:border-box}.App{background:var(--bg-base);min-height:100vh}.app-header{background:var(--bg-surface);border-bottom:1px solid var(--border-color);box-shadow:var(--shadow-sm);height:64px;justify-content:space-between;padding:0 32px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.app-header,.header-brand{align-items:center;display:flex}.header-brand{gap:10px}.header-logo{align-items:center;background:linear-gradient(135deg,var(--color-primary) 0,var(--color-primary-dark) 100%);border-radius:var(--radius-sm);display:flex;flex-shrink:0;font-size:16px;height:32px;justify-content:center;width:32px}.app-header h1{color:var(--text-primary);font-size:1.1rem;font-weight:700;letter-spacing:-.03em;margin:0}.app-subtitle{color:var(--text-muted);font-size:.8rem;font-weight:400;margin:0}.header-right{align-items:center;display:flex;gap:10px}.header-badge{align-items:center;background:var(--color-primary-bg);border:1px solid #6366f133;border-radius:var(--radius-full);color:var(--color-primary);display:inline-flex;font-size:.7rem;font-weight:600;gap:5px;padding:4px 10px}.logout-btn{background:#0000;border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;font-family:var(--font-sans);font-size:.75rem;font-weight:500;padding:5px 12px;transition:all var(--transition-fast)}.logout-btn:hover{background:var(--color-danger-bg);border-color:#fca5a5;color:var(--color-danger)}.page-content{margin:0 auto;max-width:1800px;padding:28px 32px;width:100%}.team-tabs-bar{align-items:center;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);display:flex;gap:4px;margin-bottom:20px;padding:4px;width:-webkit-fit-content;width:fit-content}.team-tab{background:#0000;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;font-size:.875rem;font-weight:500;padding:8px 18px;position:relative;transition:all var(--transition-base);white-space:nowrap}.team-tab:hover{background:var(--bg-hover);color:var(--text-primary)}.team-tab.active{background:var(--color-primary);box-shadow:0 1px 3px #6366f166;color:var(--text-on-dark);font-weight:600}.main-grid{grid-gap:20px;align-items:start;display:grid;gap:20px;grid-template-columns:380px 1fr;margin-bottom:20px}.section-card{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.section-divider{display:flex;flex-direction:column;gap:20px;margin:20px 0;width:100%}@media (max-width:1200px){.main-grid{grid-template-columns:1fr}.page-content{padding:20px}}@media (max-width:768px){.app-header{height:56px;padding:0 16px}.page-content{padding:16px}.team-tabs-bar{width:100%}.team-tab{flex:1 1;font-size:.8rem;padding:8px 12px;text-align:center}}.calendar{width:100%}.calendar-header{border-bottom:1px solid var(--border-color);padding:16px 20px}.calendar-title{color:var(--text-primary);font-size:.9375rem;font-weight:600;letter-spacing:-.02em;margin:0;min-width:160px;text-align:center}.nav-button:active:not(:disabled){transform:scale(.92)}.man-days-summary{grid-gap:0;border-bottom:1px solid var(--border-color);display:grid;gap:0;grid-template-columns:repeat(4,1fr)}.summary-item{padding:12px 16px}.summary-item.highlight .summary-value{color:var(--color-primary)}.calendar-body{padding:16px}.day-name{padding:8px 4px}.day{cursor:pointer;min-height:78px}.day:hover{background:var(--color-primary-bg);border-color:var(--color-primary-light);box-shadow:var(--shadow-md);transform:scale(1.02);z-index:1}.day.empty:hover{background:#0000;border-color:#0000;box-shadow:none;transform:none}.day.weekend:hover{background:var(--bg-hover);border-color:var(--border-color-strong);box-shadow:none;transform:none}.day.holiday-sk{background:#fffbeb;border-color:#fde68a}.day.holiday-cz{background:#eff6ff;border-color:#bfdbfe}.day.holiday-sk.holiday-cz{background:linear-gradient(135deg,#fffbeb 50%,#eff6ff 0);border-color:#fde68a}.day.sprint-start{border-left:3px solid var(--color-success)}.sprint-label{border-top:1px solid var(--border-color);color:var(--text-muted)}.sprint-start-label{color:var(--color-success)}.out-of-office{display:flex;flex-wrap:wrap;gap:2px;margin-top:3px}.person-absence{background:var(--color-danger);border-radius:var(--radius-full);color:#fff;cursor:help;font-size:.55rem;font-weight:700;max-width:100%;overflow:hidden;padding:1px 5px;text-overflow:ellipsis;white-space:nowrap}.day-detail-modal{align-items:center;animation:fadeIn .15s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a80;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1500}.day-detail-content{animation:slideUp .2s ease;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);max-height:80vh;max-width:460px;overflow-y:auto;width:100%}.day-detail-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:20px 20px 16px}.day-detail-header h3{color:var(--text-primary);font-size:.9375rem;font-weight:600;letter-spacing:-.02em;margin:0;text-transform:capitalize}.detail-close{align-items:center;background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:flex;flex-shrink:0;font-size:16px;height:28px;justify-content:center;transition:all var(--transition-fast);width:28px}.detail-close:hover{background:var(--color-danger-bg);border-color:#fca5a5;color:var(--color-danger)}.day-detail-info{border-bottom:1px solid var(--border-color);display:flex;flex-direction:column;gap:8px;padding:16px 20px}.detail-item{align-items:center;background:var(--bg-elevated);border-radius:var(--radius-sm);display:flex;font-size:.875rem;justify-content:space-between;padding:8px 12px}.detail-item.holiday{background:var(--color-warning-bg);border:1px solid #fde68a}.detail-label{color:var(--text-secondary);font-weight:500}.detail-value{color:var(--text-primary);font-weight:600}.day-detail-absences{padding:16px 20px}.day-detail-absences h4{color:var(--text-muted);font-size:.8125rem;font-weight:600;letter-spacing:.05em;margin:0 0 12px;text-transform:uppercase}.absences-list{display:flex;flex-direction:column;gap:8px}.absence-item{align-items:center;background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-md);display:flex;justify-content:space-between;padding:10px 14px}.absence-person{color:var(--text-primary);font-size:.875rem;font-weight:600}.absence-type{border-radius:var(--radius-full);font-size:.75rem;font-weight:600;padding:3px 10px}.type-dovolenka-cely-den{background:var(--color-primary-bg);color:var(--color-primary)}.type-dovolenka-pol-dna{background:#e0e7ff;color:#6366f1}.type-pn{background:var(--color-danger-bg);color:var(--color-danger)}.type-navsteva-lekara{background:var(--color-warning-bg);color:var(--color-warning-dark)}.day-detail-empty{color:var(--text-muted);font-size:.875rem;padding:32px 20px;text-align:center}@media (max-width:768px){.calendar-body{padding:10px}.man-days-summary{grid-template-columns:repeat(2,1fr)}.summary-item:nth-child(2){border-right:none}.summary-item:nth-child(3),.summary-item:nth-child(4){border-top:1px solid var(--border-color)}.day{min-height:60px;padding:4px}.day-number{font-size:.7rem}.sprint-label{font-size:.55rem}.person-absence{font-size:.5rem;padding:1px 3px}.day-detail-content{border-radius:var(--radius-lg);max-width:95%}}.team-list{width:100%}.team-list-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:18px 20px 14px}.team-list-title{align-items:center;display:flex;gap:10px}.team-list-title h2{color:var(--text-primary);font-size:.9375rem;font-weight:600;margin:0}.team-count-badge{align-items:center;background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-full);color:var(--text-secondary);display:inline-flex;font-size:.75rem;font-weight:600;height:22px;justify-content:center;min-width:22px;padding:0 7px}.team-table-wrapper{padding:0}.team-table{border-collapse:collapse;width:100%}.team-table thead tr{background:var(--bg-elevated);border-bottom:1px solid var(--border-color)}.team-table th{color:var(--text-muted);font-size:.75rem;font-weight:600;letter-spacing:.05em;padding:10px 16px;text-align:left;text-transform:uppercase}.team-table th:last-child{text-align:right}.team-table tbody tr{border-bottom:1px solid var(--border-color);transition:background var(--transition-fast)}.team-table tbody tr:last-child{border-bottom:none}.team-table tbody tr:hover{background:var(--bg-hover)}.team-table td{padding:11px 16px;vertical-align:middle}.name-cell{min-width:140px}.member-name-wrapper{align-items:center;display:flex;gap:10px}.member-avatar{background:linear-gradient(135deg,var(--color-primary-bg) 0,#c7d2fe 100%);border:1.5px solid #6366f126;border-radius:var(--radius-full);color:var(--color-primary);flex-shrink:0;font-size:.75rem;font-weight:700;height:32px;justify-content:center;width:32px}.member-avatar,.member-name{align-items:center;display:flex}.member-name{cursor:pointer;font-weight:500;gap:5px;transition:color var(--transition-fast)}.member-name:hover{color:var(--color-primary)}.member-name-hint{color:var(--text-muted);font-size:.7rem;opacity:0;transition:opacity var(--transition-fast)}.team-table tbody tr:hover .member-name-hint{opacity:1}.edit-name{align-items:center;display:flex;gap:6px}.name-input{background:var(--bg-surface);border:1.5px solid var(--color-primary);border-radius:var(--radius-sm);box-shadow:0 0 0 3px #6366f11a;color:var(--text-primary);flex:1 1;font-size:.875rem;outline:none;padding:6px 10px;transition:border-color var(--transition-fast)}.cancel-btn,.save-btn{background:none;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:14px;line-height:1;padding:4px 7px;transition:background var(--transition-fast)}.save-btn{color:var(--color-success)}.save-btn:hover{background:var(--color-success-bg)}.cancel-btn{color:var(--color-danger)}.cancel-btn:hover{background:var(--color-danger-bg)}.country-cell{width:120px}.country-selector{display:flex;gap:4px}.flag-btn{align-items:center;background:var(--bg-surface);border:1.5px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:flex;font-size:.75rem;font-weight:500;gap:3px;padding:4px 9px;transition:all var(--transition-fast)}.flag-btn:hover{border-color:var(--color-primary-light)}.flag-btn.active,.flag-btn:hover{background:var(--color-primary-bg);color:var(--color-primary)}.flag-btn.active{border-color:var(--color-primary);font-weight:600}.actions-cell{text-align:right;width:80px}.action-buttons{display:flex;gap:4px;justify-content:flex-end;opacity:0;transition:opacity var(--transition-fast)}.team-table tbody tr:hover .action-buttons{opacity:1}.edit-btn,.remove-btn{background:none;border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;font-size:13px;line-height:1;padding:5px 7px;transition:all var(--transition-fast)}.edit-btn:hover{background:var(--color-primary-bg);border-color:var(--color-primary-light);color:var(--color-primary)}.remove-btn:hover{background:var(--color-danger-bg);border-color:#fca5a5;color:var(--color-danger)}.empty-state{align-items:center;display:flex;flex-direction:column;gap:8px;padding:48px 20px;text-align:center}.empty-state-icon{font-size:2.5rem;margin-bottom:4px;opacity:.4}.empty-state-text{color:var(--text-muted);font-size:.875rem;font-weight:500}.empty-state-sub{color:var(--text-muted);font-size:.8rem;opacity:.7}.add-member-footer{background:var(--bg-elevated);border-top:1px solid var(--border-color);padding:12px 16px}.add-member-btn{align-items:center;background:var(--color-primary);border:none;border-radius:var(--radius-sm);color:var(--text-on-dark);cursor:pointer;display:flex;font-size:.875rem;font-weight:600;gap:6px;justify-content:center;letter-spacing:-.01em;padding:9px 16px;transition:all var(--transition-base);width:100%}.add-member-btn:hover{background:var(--color-primary-dark);box-shadow:0 2px 8px #6366f166;transform:translateY(-1px)}.add-member-btn:active{box-shadow:none;transform:translateY(0)}@media (max-width:768px){.team-table td,.team-table th{font-size:.8rem;padding:9px 12px}.action-buttons{opacity:1}.member-name-hint{display:none}}.personal-calendar-modal{align-items:center;animation:fadeIn .15s ease;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0f172a8c;bottom:0;display:flex;justify-content:center;left:0;overflow-y:auto;padding:20px;position:fixed;right:0;top:0;z-index:1000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{animation:slideUp .22s ease;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);max-height:92vh;max-width:980px;overflow-y:auto;padding:0;width:100%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{align-items:center;background:var(--bg-surface);border-bottom:1px solid var(--border-color);border-radius:var(--radius-xl) var(--radius-xl) 0 0;display:flex;justify-content:space-between;padding:20px 24px;position:-webkit-sticky;position:sticky;top:0;z-index:10}.modal-header-left{align-items:center;display:flex;gap:12px}.modal-avatar{align-items:center;background:linear-gradient(135deg,var(--color-primary-bg) 0,#c7d2fe 100%);border:2px solid #6366f133;border-radius:var(--radius-full);color:var(--color-primary);display:flex;flex-shrink:0;font-size:.875rem;font-weight:700;height:40px;justify-content:center;width:40px}.modal-header h2{color:var(--text-primary);font-size:1rem;font-weight:700;letter-spacing:-.03em;margin:0 0 2px}.modal-header-subtitle{color:var(--text-muted);font-size:.75rem;font-weight:400}.close-btn{align-items:center;background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:flex;flex-shrink:0;font-size:18px;height:32px;justify-content:center;line-height:1;transition:all var(--transition-fast);width:32px}.close-btn:hover{background:var(--color-danger-bg);border-color:#fca5a5;color:var(--color-danger)}.modal-body{padding:20px 24px}.calendar-header{justify-content:space-between;margin-bottom:16px}.calendar-header,.calendar-nav{align-items:center;display:flex}.calendar-nav{gap:8px}.calendar-header h3{color:var(--text-primary);flex:1 1;font-size:.9375rem;font-weight:600;letter-spacing:-.02em;margin:0;min-width:160px;text-align:center}.nav-button{align-items:center;background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:flex;flex-shrink:0;font-size:14px;font-weight:600;height:32px;justify-content:center;padding:0;transition:all var(--transition-fast);width:32px}.nav-button:hover:not(:disabled){background:var(--color-primary-bg);border-color:var(--color-primary-light);color:var(--color-primary)}.nav-button.disabled,.nav-button:disabled{cursor:not-allowed;opacity:.35}.personal-summary{grid-gap:0;border:1px solid var(--border-color);border-radius:var(--radius-md);display:grid;gap:0;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin-bottom:16px;overflow:hidden}.summary-item{border-right:1px solid var(--border-color);display:flex;flex-direction:column;gap:2px;padding:12px 14px}.summary-item:last-child{border-right:none}.summary-label{color:var(--text-muted);font-size:.7rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.summary-value{color:var(--text-primary);font-size:1.125rem;font-weight:700;letter-spacing:-.03em}.calendar-grid{grid-gap:3px;display:grid;gap:3px;grid-template-columns:repeat(7,1fr);margin-bottom:16px}.day-name{color:var(--text-muted);font-size:.7rem;font-weight:600;letter-spacing:.06em;padding:7px 4px;text-align:center;text-transform:uppercase}.day{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-sm);display:flex;flex-direction:column;min-height:82px;overflow:hidden;padding:6px;position:relative;transition:all var(--transition-fast)}.day:not(.weekend):not(.holiday):not(.empty){cursor:pointer}.day:not(.weekend):not(.holiday):not(.empty):hover{background:var(--color-primary-bg);border-color:var(--color-primary-light);box-shadow:var(--shadow-md);transform:scale(1.03);z-index:1}.day.empty{background:#0000;border-color:#0000;cursor:default}.day.weekend{background:var(--bg-elevated);border-color:var(--border-color);opacity:.6}.day.holiday{background:#fffbeb;border-color:#fde68a;opacity:.85}.day.has-absence{font-weight:700}.day.absence-full-vacation{background:var(--color-primary-bg);border-color:#a5b4fc}.day.absence-half-vacation{background:#e0e7ff;border-color:#a5b4fc}.day.absence-sick-leave{background:var(--color-danger-bg);border-color:#fca5a5}.day.absence-doctor{background:var(--color-warning-bg);border-color:#fde68a}.day-number{color:var(--text-primary);font-size:.8rem;font-weight:600;line-height:1;margin-bottom:3px}.day.weekend .day-number{color:var(--text-muted)}.holiday-flags{display:flex;flex-wrap:wrap;gap:2px;margin-bottom:3px}.holiday-flag{border-radius:3px;display:inline-block;font-size:8px;font-weight:700;line-height:1.4;min-width:16px;padding:1px 4px;text-align:center}.flag-sk{background:#1d4ed8;color:#fff}.flag-cz{background:#dc2626;color:#fff}.sprint-label{border-top:1px solid #00000012;font-size:.6rem;font-weight:600;margin-top:auto;opacity:.7;overflow:hidden;padding-top:3px;text-overflow:ellipsis;white-space:nowrap}.absence-label{border-radius:var(--radius-sm);font-size:.6rem;font-weight:700;margin-top:3px;padding:2px 4px;text-align:center}.legend{background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-md);display:flex;flex-wrap:wrap;gap:10px;justify-content:center;padding:12px 16px}.legend-item{align-items:center;color:var(--text-secondary);display:flex;font-size:.75rem;font-weight:500;gap:6px}.legend-color{border:1px solid var(--border-color);border-radius:3px;flex-shrink:0;height:14px;width:14px}.absence-popup-overlay{align-items:center;animation:fadeIn .15s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a66;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.absence-popup{animation:slideUp .2s ease;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);max-width:380px;padding:0;width:90%}.popup-header{align-items:center;border-bottom:1px solid var(--border-color);border-radius:var(--radius-xl) var(--radius-xl) 0 0;display:flex;justify-content:space-between;padding:18px 20px}.popup-header h3{color:var(--text-primary);font-size:.9375rem;font-weight:600;letter-spacing:-.02em;margin:0}.popup-close{align-items:center;background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:flex;font-size:16px;height:28px;justify-content:center;transition:all var(--transition-fast);width:28px}.popup-close:hover{background:var(--color-danger-bg);border-color:#fca5a5;color:var(--color-danger)}.popup-date{background:var(--bg-elevated);border-bottom:1px solid var(--border-color);color:var(--text-primary);font-size:.875rem;font-weight:600;padding:12px 20px;text-align:center;text-transform:capitalize}.popup-options{display:flex;flex-direction:column;gap:8px;padding:16px}.popup-option{align-items:center;background:var(--bg-surface);border:1.5px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;display:flex;font-family:var(--font-sans);font-size:.875rem;gap:12px;padding:12px 14px;text-align:left;transition:all var(--transition-fast);width:100%}.popup-option:hover{background:var(--bg-hover);transform:translateX(4px)}.popup-option.selected,.popup-option:hover{border-color:var(--color,var(--color-primary))}.popup-option.selected{background:var(--color-primary-bg)}.popup-option.remove{border-color:var(--border-color);color:var(--color-danger)}.popup-option.remove:hover{background:var(--color-danger-bg);border-color:#fca5a5;transform:translateX(4px)}.option-icon{flex-shrink:0;font-size:1.25rem}.option-label{color:var(--text-primary);flex:1 1;font-weight:500}.popup-option.remove .option-label{color:var(--color-danger)}.option-check{color:var(--color-success);font-size:1rem;font-weight:700}.absence-info{background:var(--color-primary-bg);border:1px solid #a5b4fc;border-radius:var(--radius-md);color:var(--color-primary);font-size:.875rem;font-weight:500;margin-bottom:16px;padding:12px 16px;text-align:center}.absence-type-selector{background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-md);margin-bottom:20px;padding:14px}.absence-type-selector p{color:var(--text-primary);font-size:.875rem;font-weight:600;margin:0 0 10px}.absence-buttons{display:flex;flex-wrap:wrap;gap:8px}.absence-btn{background:var(--bg-surface);border:1.5px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;font-family:var(--font-sans);font-size:.8125rem;font-weight:500;padding:8px 14px;transition:all var(--transition-fast)}.absence-btn:hover{background:var(--bg-hover)}.absence-btn.active,.absence-btn:hover{border-color:var(--color,var(--color-primary))}.absence-btn.active{background:var(--color-primary);background:var(--color,var(--color-primary));color:#fff;font-weight:600}@media (max-width:768px){.modal-content{border-radius:var(--radius-lg);max-height:95vh}.modal-header{border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:16px}.modal-body{padding:14px}.modal-header h2{font-size:.9rem}.personal-summary{grid-template-columns:repeat(2,1fr)}.summary-item:nth-child(2){border-right:none}.absence-buttons{flex-direction:column}.absence-btn{width:100%}.day{min-height:64px;padding:4px}.day-number{font-size:.7rem}.absence-label{font-size:.55rem}.legend{align-items:flex-start;flex-direction:column;gap:8px}}.man-days-table{overflow:hidden;width:100%}.swimlane-icon{background:linear-gradient(135deg,var(--color-primary) 0,var(--color-primary-dark) 100%)}.toggle-btn:hover{background:var(--color-primary-bg);border-color:var(--color-primary-light);color:var(--color-primary)}.empty-message{padding:40px 20px}.summary-section{margin-bottom:24px}.summary-cards{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.summary-card{background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden;padding:14px 16px;position:relative}.summary-card:before{background:var(--color-primary);content:"";height:100%;left:0;position:absolute;top:0;width:3px}.summary-card.available:before{background:var(--color-success)}.summary-card.unavailable:before{background:var(--color-danger)}.card-label{color:var(--text-muted);font-size:.7rem;font-weight:600;letter-spacing:.05em;margin-bottom:6px;text-transform:uppercase}.card-value{color:var(--text-primary);font-size:1.5rem;font-weight:700;letter-spacing:-.04em}.summary-card.available .card-value{color:var(--color-success)}.summary-card.unavailable .card-value{color:var(--color-danger)}.man-days-table h4{align-items:center;color:var(--text-primary);display:flex;font-size:.875rem;font-weight:600;gap:8px;margin:0 0 14px}.man-days-table h4:after{background:var(--border-color);content:"";flex:1 1;height:1px}.sprints-section{margin-bottom:24px}.sprints-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.sprint-card{background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:14px;transition:all var(--transition-fast)}.sprint-card:hover{border-color:var(--color-primary-light);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.sprint-header{border-bottom:1px solid var(--border-color);color:var(--text-primary);font-size:.875rem;font-weight:700;letter-spacing:-.02em;margin-bottom:10px;padding-bottom:8px}.sprint-stats{display:flex;flex-direction:column;gap:6px}.stat-item{align-items:center;display:flex;font-size:.8125rem;justify-content:space-between}.stat-label{color:var(--text-secondary)}.stat-value{font-weight:600}.stat-item.available .stat-value{color:var(--color-success)}.stat-item.unavailable .stat-value{color:var(--color-danger)}.members-section{margin-bottom:8px}.members-table-container{border:1px solid var(--border-color);border-radius:var(--radius-md);overflow-x:auto}.members-table{background:var(--bg-surface);border-collapse:collapse;min-width:600px;width:100%}.members-table thead{background:var(--bg-elevated);border-bottom:1px solid var(--border-color)}.members-table th{border-right:1px solid var(--border-color);color:var(--text-muted);font-size:.7rem;font-weight:600;letter-spacing:.05em;padding:10px 12px;text-align:center;text-transform:uppercase}.members-table th:last-child{border-right:none}.members-table .sub-header{background:var(--bg-base);font-size:.65rem}.members-table tbody tr{border-bottom:1px solid var(--border-color);transition:background var(--transition-fast)}.members-table tbody tr:hover{background:var(--bg-hover)}.members-table tbody tr:last-child{border-bottom:none}.members-table td{border-right:1px solid var(--border-color);font-size:.8125rem;padding:10px 12px;text-align:center}.members-table td:last-child{border-right:none}.member-name{text-align:left!important}.available-cell{color:var(--color-success)}.unavailable-cell{color:var(--color-danger);font-weight:600}@media (max-width:1200px){.members-table-container{overflow-x:scroll}.summary-cards{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.sprints-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}}@media (max-width:768px){.swimlane-content{padding:14px}.summary-cards{grid-template-columns:1fr 1fr}.sprints-grid{grid-template-columns:1fr}.members-table{font-size:.75rem}.members-table td,.members-table th{padding:7px 8px}}.quarterly-overview{overflow:hidden;width:100%}.swimlane-icon{background:linear-gradient(135deg,var(--color-success) 0,var(--color-success-dark) 100%)}.toggle-btn:hover{background:var(--color-success-bg);border-color:var(--color-success);color:var(--color-success)}.empty-message{color:var(--text-muted);font-size:.875rem;font-style:italic;padding:48px 20px;text-align:center}.quarters-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.quarter-card{background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:18px;transition:all var(--transition-fast)}.quarter-card:hover{border-color:var(--color-primary-light);box-shadow:var(--shadow-md);transform:translateY(-2px)}.quarter-header{border-bottom:1px solid var(--border-color);margin-bottom:16px;padding-bottom:14px;text-align:center}.quarter-header h4{color:var(--text-primary);font-size:1.5rem;font-weight:800;letter-spacing:-.04em;margin:0 0 3px}.quarter-name{color:var(--text-muted);font-size:.8rem;font-style:italic}.team-summary{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-md);margin-bottom:16px;padding:14px}.team-summary h5{color:var(--text-primary);font-size:.8125rem;font-weight:600;letter-spacing:.04em;margin:0 0 10px;text-transform:uppercase}.summary-stats{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(2,1fr)}.summary-stat{background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-sm);display:flex;flex-direction:column;padding:10px}.summary-stat.available{background:var(--color-success-bg);border-color:#6ee7b7}.summary-stat.unavailable{background:var(--color-danger-bg);border-color:#fca5a5}.summary-stat.percentage{background:var(--color-primary-bg);border-color:#a5b4fc;grid-column:1/-1}.stat-label{color:var(--text-muted);font-size:.7rem;font-weight:600;letter-spacing:.04em;margin-bottom:3px;text-transform:uppercase}.stat-value{color:var(--text-primary);font-size:1.125rem;font-weight:700;letter-spacing:-.03em}.summary-stat.available .stat-value{color:var(--color-success)}.summary-stat.unavailable .stat-value{color:var(--color-danger)}.summary-stat.percentage .stat-value{color:var(--color-primary)}.members-summary{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:14px}.members-summary h5{color:var(--text-primary);font-size:.8125rem;font-weight:600;letter-spacing:.04em;margin:0 0 12px;text-transform:uppercase}.members-list{display:flex;flex-direction:column;gap:8px}.member-row{background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:10px 12px;transition:background var(--transition-fast)}.member-row:hover{background:var(--bg-hover);border-color:var(--border-color-strong)}.member-info{align-items:center;display:flex;gap:8px;margin-bottom:8px}.member-name{color:var(--text-primary);font-size:.875rem;font-weight:600}.member-country{font-size:1rem}.member-stats{grid-gap:6px;display:grid;gap:6px;grid-template-columns:repeat(4,1fr)}.member-stat{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-sm);display:flex;flex-direction:column;padding:6px 8px;text-align:center}.member-stat.available{background:var(--color-success-bg);border-color:#6ee7b7}.member-stat.unavailable{background:var(--color-danger-bg);border-color:#fca5a5}.member-stat.percentage{background:var(--color-primary-bg);border-color:#a5b4fc}.member-stat .stat-label{color:var(--text-muted);font-size:.6rem;margin-bottom:2px}.member-stat .stat-value{font-size:.875rem;font-weight:700}.member-stat.available .stat-value{color:var(--color-success)}.member-stat.unavailable .stat-value{color:var(--color-danger)}.member-stat.percentage .stat-value{color:var(--color-primary)}@media (max-width:1200px){.quarters-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}}@media (max-width:768px){.swimlane-content{padding:14px}.quarters-grid,.summary-stats{grid-template-columns:1fr}.member-stats{grid-template-columns:repeat(2,1fr)}.member-stat.percentage{grid-column:1/-1}}.capacity-calculator{overflow:hidden;width:100%}.swimlane-header{align-items:center;border-bottom:1px solid var(--border-color);cursor:pointer;display:flex;justify-content:space-between;padding:16px 20px;transition:background var(--transition-fast);-webkit-user-select:none;user-select:none}.swimlane-header:hover{background:var(--bg-elevated)}.swimlane-header-left{align-items:center;display:flex;gap:10px}.swimlane-icon{align-items:center;background:linear-gradient(135deg,#8b5cf6,#7c3aed);border-radius:var(--radius-sm);display:flex;flex-shrink:0;font-size:14px;height:32px;justify-content:center;width:32px}.swimlane-header h3{color:var(--text-primary);font-size:.9375rem;font-weight:600;letter-spacing:-.02em;margin:0}.swimlane-subtitle{color:var(--text-muted);font-size:.75rem;font-weight:400;margin-left:4px}.toggle-btn{align-items:center;background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:flex;flex-shrink:0;font-size:12px;height:28px;justify-content:center;transition:all var(--transition-fast);width:28px}.toggle-btn:hover{background:#ede9fe;border-color:#c4b5fd;color:#7c3aed}.swimlane-content{animation:slideDown .2s ease-out;padding:20px}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.calculator-info{align-items:flex-start;background:var(--color-primary-bg);border:1px solid #a5b4fc;border-radius:var(--radius-md);display:flex;gap:10px;margin-bottom:18px;padding:12px 16px}.calculator-info-icon{flex-shrink:0;font-size:1rem;margin-top:1px}.calculator-info p{color:var(--text-primary);font-size:.8125rem;margin:0 0 3px}.calculator-info p:last-child{margin:0}.info-note{color:var(--text-muted);font-size:.75rem!important;font-style:italic}.tables-container{align-items:flex-start;display:flex;flex-wrap:nowrap;gap:16px;justify-content:center;width:100%}.calculator-table-wrapper{border:1px solid var(--border-color);border-radius:var(--radius-md);display:flex;flex:1 1;flex-direction:column;min-width:0;overflow:hidden}.table-title{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;font-size:.8125rem;font-weight:700;letter-spacing:-.01em;margin:0;padding:10px 14px;text-align:center}.calculator-table-container{overflow-x:auto}.calculator-table{background:var(--bg-surface);border-collapse:collapse;table-layout:fixed;width:100%}.calculator-table thead{background:var(--bg-elevated);border-bottom:1px solid var(--border-color)}.calculator-table th{word-wrap:break-word;border-right:1px solid var(--border-color);color:var(--text-muted);font-size:.7rem;font-weight:600;letter-spacing:.04em;padding:9px 8px;text-align:center;text-transform:uppercase}.calculator-table th:last-child{border-right:none}.calculator-table tbody tr{border-bottom:1px solid var(--border-color);transition:background var(--transition-fast)}.calculator-table tbody tr:hover{background:var(--bg-hover)}.calculator-table tbody tr:last-child{border-bottom:none}.calculator-table td{word-wrap:break-word;border-right:1px solid var(--border-color);font-size:.8125rem;padding:9px 8px;text-align:center}.calculator-table td:last-child{border-right:none}.member-name-cell{color:var(--text-primary);font-weight:600;text-align:left!important;width:18%}.available-cell{color:var(--color-primary);font-weight:600}.man-days-input{background:var(--bg-surface);border:1.5px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-sans);font-size:.8125rem;font-weight:600;max-width:72px;padding:4px 6px;text-align:center;transition:border-color var(--transition-fast);width:100%}.man-days-input:focus{border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf61f;outline:none}.man-days-input::selection{background:#8b5cf6;color:#fff}.percentage-symbol{color:var(--text-muted);font-size:.75rem;font-weight:500}.capacity-cell{border-radius:var(--radius-sm);font-size:.875rem;font-weight:700}.capacity-cell.l-size{color:var(--color-orange)}.capacity-cell.s-size{color:var(--color-teal)}.calculator-table tfoot{background:var(--bg-elevated);border-top:1.5px solid var(--border-color-strong)}.total-row td{font-weight:700}.total-label{color:var(--text-primary);font-size:.8125rem;text-align:left!important}.total-value{color:var(--text-primary);font-size:.9375rem;font-weight:700}.total-value.l-size{color:var(--color-orange)}.total-value.s-size{color:var(--color-teal)}@media (max-width:1200px){.tables-container{flex-wrap:wrap}.calculator-table-wrapper{max-width:100%;min-width:100%}}@media (max-width:768px){.swimlane-content{padding:14px}.calculator-table{font-size:.75rem}.calculator-table td,.calculator-table th{padding:6px 5px}.man-days-input{font-size:.75rem;max-width:60px;padding:3px 4px}}.login-page{align-items:center;background:var(--bg-base);display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:20px;position:relative}.login-bg-pattern{background-image:radial-gradient(circle,#e2e8f0 1px,#0000 0);background-size:28px 28px;inset:0;opacity:.6;pointer-events:none;position:absolute}.login-card{animation:fadeUp .3s ease;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);max-width:420px;padding:40px 36px 32px;position:relative;width:100%;z-index:1}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.login-logo{margin-bottom:20px}.login-logo,.login-logo-icon{display:flex;justify-content:center}.login-logo-icon{align-items:center;background:linear-gradient(135deg,var(--color-primary) 0,var(--color-primary-dark) 100%);border-radius:var(--radius-lg);box-shadow:0 4px 12px #6366f159;font-size:26px;height:56px;width:56px}.login-header{margin-bottom:28px;text-align:center}.login-header h1{color:var(--text-primary);font-size:1.4rem;font-weight:700;letter-spacing:-.04em;margin:0 0 6px}.login-header p{color:var(--text-muted);font-size:.875rem;line-height:1.5;margin:0}.login-form{gap:16px}.login-field,.login-form{display:flex;flex-direction:column}.login-field{gap:6px}.login-field label{color:var(--text-secondary);font-size:.8125rem;font-weight:600;letter-spacing:-.01em}.login-field input{background:var(--bg-surface);border:1.5px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-sans);font-size:.9375rem;outline:none;padding:10px 13px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);width:100%}.login-field input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #6366f11f}.login-field input::placeholder{color:var(--text-muted)}.password-wrapper{position:relative}.password-wrapper input{padding-right:44px}.toggle-password{background:none;border:none;cursor:pointer;font-size:16px;line-height:1;opacity:.6;padding:4px;position:absolute;right:10px;top:50%;transform:translateY(-50%);transition:opacity var(--transition-fast)}.toggle-password:hover{opacity:1}.login-error{align-items:center;animation:shake .3s ease;background:var(--color-danger-bg);border:1px solid #fca5a5;border-radius:var(--radius-sm);color:var(--color-danger-dark);display:flex;font-size:.8125rem;font-weight:500;gap:7px;padding:10px 13px}@keyframes shake{0%,to{transform:translateX(0)}20%{transform:translateX(-4px)}40%{transform:translateX(4px)}60%{transform:translateX(-3px)}80%{transform:translateX(3px)}}.login-submit{align-items:center;background:var(--color-primary);border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;display:flex;font-family:var(--font-sans);font-size:.9375rem;font-weight:600;gap:8px;justify-content:center;letter-spacing:-.01em;margin-top:4px;min-height:44px;padding:11px;transition:all var(--transition-base);width:100%}.login-submit:hover:not(:disabled){background:var(--color-primary-dark);box-shadow:0 3px 10px #6366f166;transform:translateY(-1px)}.login-submit:active:not(:disabled){box-shadow:none;transform:translateY(0)}.login-submit:disabled{cursor:not-allowed;opacity:.5}.login-spinner{animation:spin .7s linear infinite;border:2px solid #ffffff59;border-radius:50%;border-top-color:#fff;display:inline-block;height:18px;width:18px}@keyframes spin{to{transform:rotate(1turn)}}.login-footer{border-top:1px solid var(--border-color);color:var(--text-muted);font-size:.75rem;margin-top:24px;padding-top:20px;text-align:center}
/*# sourceMappingURL=main.18cb20c2.css.map*/