body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;min-height:100vh}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.admin-page{display:flex;flex-direction:column;gap:2rem;margin:0 auto;max-width:1400px;min-height:100vh;padding:2rem}.admin-header{margin-bottom:1rem;text-align:center}.admin-header h1{color:var(--text-primary);font-size:2.5rem;margin:0}.admin-header p{color:var(--text-secondary);font-size:1.1rem;margin:.5rem 0 0}.admin-sections{display:flex;flex-direction:column;gap:2.5rem}.admin-section{background:var(--surface-primary);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 2px 8px var(--shadow-color);padding:2rem;transition:all .2s ease}.admin-section:hover{box-shadow:0 4px 12px var(--shadow-color)}.admin-section h2{border-bottom:2px solid var(--accent-color);color:var(--text-primary);font-size:1.5rem;margin-top:0;padding-bottom:.75rem}.admin-section h2,.section-header{margin-bottom:1.5rem}.section-header h2{margin:0}.btn-refresh{background-color:var(--accent-color);border:none;border-radius:6px;color:var(--text-inverse);cursor:pointer;font-size:.95rem;font-weight:500;padding:.6rem 1.2rem;transition:all .2s ease}.btn-refresh:hover:not(:disabled){box-shadow:0 4px 12px #3b82f64d;transform:translateY(-2px)}.btn-refresh:disabled{cursor:not-allowed;opacity:.6}.permission-denied{align-items:center;background:var(--surface-primary);border-radius:12px;display:flex;justify-content:center;min-height:50vh;padding:2rem;text-align:center}.permission-denied-content h1{color:var(--error-color);font-size:2rem;margin-bottom:1rem}.permission-denied-content p{color:var(--text-secondary);font-size:1.1rem;margin:.5rem 0}.user-list{margin-top:1rem;overflow-x:auto}.users-table{border-collapse:collapse;font-size:.95rem;width:100%}.users-table thead{background-color:var(--surface-secondary);border-bottom:2px solid var(--border-color)}.users-table th{color:var(--text-primary);font-weight:600;padding:1rem;text-align:left}.users-table td{border-bottom:1px solid var(--border-color);color:var(--text-secondary);padding:.75rem 1rem}.users-table tbody tr:hover{background-color:var(--surface-secondary)}.role-badge{border-radius:20px;font-size:.85rem;padding:.4rem .8rem}.permission-controls{display:flex;flex-direction:column;gap:1.5rem;margin-top:1.5rem}.control-group{display:flex;flex-direction:column;gap:.5rem}.control-group label{color:var(--text-primary);font-weight:600}.control-group select{background-color:var(--surface-secondary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);cursor:pointer;font-size:1rem;padding:.75rem;transition:all .2s ease}.control-group select:focus,.control-group select:hover{border-color:var(--accent-color);box-shadow:0 0 0 3px #3b82f61a;outline:none}.role-buttons{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1rem}.btn-role{background-color:var(--accent-color);border:none;border-radius:6px;color:var(--text-inverse);cursor:pointer;flex:1 1;font-size:.95rem;font-weight:600;min-width:150px;padding:.75rem 1.5rem;transition:all .2s ease}.btn-role:hover:not(:disabled){box-shadow:0 4px 12px #3b82f64d;transform:translateY(-2px)}.btn-role:disabled{cursor:not-allowed;opacity:.5}.report-filters{align-items:center;display:flex;flex-wrap:wrap;gap:1rem}.report-filters input{background-color:var(--surface-secondary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);cursor:pointer;font-size:.95rem;padding:.6rem}.report-filters input:focus,.report-filters input:hover{border-color:var(--accent-color);outline:none}.report-filters span{color:var(--text-secondary);font-weight:500}.reports-container{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(600px,1fr));margin-top:1.5rem}.team-report-card{background-color:var(--surface-secondary);border:1px solid var(--border-color);border-radius:8px;padding:1.5rem;transition:all .2s ease}.team-report-card:hover{box-shadow:0 4px 12px var(--shadow-color);transform:translateY(-2px)}.team-report-card h3{color:var(--text-primary);font-size:1.2rem;margin-bottom:1rem;margin-top:0}.report-table{border-collapse:collapse;font-size:.9rem;margin-bottom:1rem;width:100%}.report-table thead{background-color:var(--surface-primary);border-bottom:2px solid var(--border-color)}.report-table th{color:var(--text-primary);font-weight:600;padding:.75rem;text-align:left}.report-table td{border-bottom:1px solid var(--border-color);color:var(--text-secondary);padding:.6rem .75rem}.report-table tbody tr:hover,.team-summary{background-color:var(--surface-primary)}.team-summary{border-radius:6px;color:var(--text-primary);font-weight:600;padding:1rem;text-align:right}@media (max-width:768px){.admin-page{gap:1.5rem;padding:1rem}.admin-section{padding:1.5rem}.admin-header h1{font-size:1.75rem}.section-header{align-items:flex-start;flex-direction:column;gap:1rem}.report-filters{align-items:stretch;flex-direction:column}.btn-refresh,.report-filters input{width:100%}.reports-container{grid-template-columns:1fr}.users-table{font-size:.85rem}.users-table td,.users-table th{padding:.5rem}.role-buttons{flex-direction:column}.btn-role{width:100%}}@media (max-width:480px){.admin-page{padding:.75rem}.admin-header h1{font-size:1.5rem}.admin-header p{font-size:.95rem}.section-header{gap:.75rem}.users-table{font-size:.75rem}.users-table td,.users-table th{padding:.4rem}.role-badge{font-size:.75rem;padding:.3rem .6rem}}.teams-page{display:flex;flex-direction:column;gap:2rem;margin:0 auto;max-width:1400px;min-height:100vh;padding:2rem}.teams-header{margin-bottom:1rem;text-align:center}.teams-header h1{color:var(--text-primary);font-size:2.5rem;margin:0}.teams-header p{color:var(--text-secondary);font-size:1.1rem;margin:.5rem 0 0}.teams-layout{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr}.teams-list-section{background:var(--surface-primary);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 2px 8px var(--shadow-color);display:flex;flex-direction:column;gap:1.5rem;padding:2rem}.teams-list-section h2{border-bottom:2px solid var(--accent-color);color:var(--text-primary);font-size:1.5rem;margin:0;padding-bottom:.75rem}.section-header{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-bottom:0}.section-header h2{flex:1 1;margin-bottom:0}.btn-primary,.btn-remove{background-color:var(--accent-color);border:none;border-radius:6px;color:var(--text-inverse);cursor:pointer;font-size:.95rem;font-weight:500;padding:.6rem 1.2rem;transition:all .2s ease}.btn-primary:hover,.btn-remove:hover{box-shadow:0 4px 12px #3b82f64d;transform:translateY(-2px)}.btn-primary:disabled{cursor:not-allowed;opacity:.6}.btn-danger{background-color:#ef4444;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:500;padding:.6rem 1.2rem;transition:all .2s ease}.btn-danger:hover{box-shadow:0 4px 12px #ef44444d;transform:translateY(-2px)}.btn-remove{font-size:.85rem;padding:.4rem .8rem}.btn-remove:hover{box-shadow:0 4px 12px #3b82f633}.error-message{background-color:var(--error-bg);border-left:4px solid var(--error-color);border-radius:6px;color:var(--error-text);margin-bottom:1rem;padding:1rem}.create-team-form{background-color:var(--surface-secondary);border:1px solid var(--border-color);border-radius:8px;display:flex;flex-direction:column;gap:1rem;padding:1.5rem}.create-team-form input,.create-team-form textarea{background-color:var(--surface-primary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-family:inherit;font-size:1rem;padding:.75rem;transition:all .2s ease}.create-team-form input:focus,.create-team-form textarea:focus{border-color:var(--accent-color);box-shadow:0 0 0 3px #3b82f61a;outline:none}.create-team-form button{background-color:var(--accent-color);border:none;border-radius:6px;color:var(--text-inverse);cursor:pointer;font-weight:600;padding:.75rem;transition:all .2s ease}.create-team-form button:hover:not(:disabled){box-shadow:0 4px 12px #3b82f64d;transform:translateY(-2px)}.teams-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.team-card{background-color:var(--surface-secondary);border:2px solid var(--border-color);border-radius:8px;cursor:pointer;display:flex;flex-direction:column;gap:.75rem;padding:1.5rem;transition:all .2s ease}.team-card:hover{border-color:var(--accent-color);box-shadow:0 4px 12px var(--shadow-color);transform:translateY(-2px)}.team-card.active{background-color:var(--surface-primary);border-color:var(--accent-color);box-shadow:0 4px 12px #3b82f633}.team-card h3{color:var(--text-primary);font-size:1.1rem;margin:0}.team-description{color:var(--text-secondary);font-size:.9rem;line-height:1.4;margin:0}.team-meta{align-items:center;border-top:1px solid var(--border-color);display:flex;justify-content:space-between;margin-top:.5rem;padding-top:.75rem}.team-role{color:var(--accent-color);font-size:.85rem;font-weight:600;text-transform:uppercase}.all-teams-section{border-top:2px solid var(--border-color);margin-top:1.5rem;padding-top:1.5rem}.all-teams-section h2{color:var(--text-primary);font-size:1.2rem;margin:0 0 1rem}.loading{font-size:1rem}.empty-state,.loading{color:var(--text-secondary);padding:2rem;text-align:center}.empty-state{background-color:var(--surface-secondary);border:1px dashed var(--border-color);border-radius:8px}.empty-state p{margin:.5rem 0}.team-details-section{background:var(--surface-primary);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 2px 8px var(--shadow-color);display:flex;flex-direction:column;gap:2rem;height:fit-content;padding:2rem}.details-header{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin:0 0 1rem}.details-header h2{border-bottom:2px solid var(--accent-color);color:var(--text-primary);flex:1 1;font-size:1.5rem;margin:0;padding-bottom:.75rem}.team-description-box{color:var(--text-secondary);line-height:1.6;padding:1rem}.add-member-form,.team-description-box{background-color:var(--surface-secondary);border:1px solid var(--border-color);border-radius:8px}.add-member-form{padding:1.5rem}.add-member-form h3{color:var(--text-primary);margin-bottom:1rem;margin-top:0}.form-row{display:flex;flex-wrap:wrap;gap:.75rem}.form-row button,.form-row input,.form-row select{border:1px solid var(--border-color);border-radius:6px;flex:1 1;font-family:inherit;font-size:.95rem;min-width:120px;padding:.75rem}.form-row input,.form-row select{background-color:var(--surface-primary);color:var(--text-primary)}.form-row input:focus,.form-row select:focus{border-color:var(--accent-color);box-shadow:0 0 0 3px #3b82f61a;outline:none}.form-row button{background-color:var(--accent-color);border:none;color:var(--text-inverse);cursor:pointer;font-weight:600;transition:all .2s ease}.form-row button:hover:not(:disabled){box-shadow:0 4px 12px #3b82f64d;transform:translateY(-2px)}.members-section{margin-top:1rem}.members-section h3{color:var(--text-primary);margin-bottom:1rem;margin-top:0}.members-list{display:flex;flex-direction:column;gap:.75rem}.member-item{align-items:center;border:1px solid var(--border-color);border-radius:8px;display:flex;justify-content:space-between;padding:1rem;transition:all .2s ease}.member-item,.member-item:hover{background-color:var(--surface-secondary)}.member-item:hover{border-color:var(--accent-color)}.member-info{flex:1 1;gap:1rem}.member-avatar,.member-info{align-items:center;display:flex}.member-avatar{background-color:var(--accent-color);border-radius:50%;color:var(--text-inverse);flex-shrink:0;font-size:1rem;font-weight:700;height:40px;justify-content:center;width:40px}.member-details{display:flex;flex-direction:column;gap:.25rem}.member-email{color:var(--text-primary);font-weight:500;margin:0}.role-badge{border-radius:4px;display:inline-block;font-size:.75rem;font-weight:600;padding:.3rem .6rem;text-transform:uppercase;width:fit-content}.role-admin{background-color:#ef444433;color:#dc2626}.role-manager{background-color:#3b82f633;color:#2563eb}.role-user{background-color:#6b728033;color:#4b5563}@media (max-width:1024px){.teams-layout{grid-template-columns:1fr}.team-details-section{height:auto}}@media (max-width:768px){.teams-page{gap:1.5rem;padding:1rem}.teams-header h1{font-size:1.75rem}.team-details-section,.teams-list-section{padding:1.5rem}.section-header{align-items:flex-start;flex-direction:column}.btn-primary{width:100%}.form-row{flex-direction:column}.form-row button,.form-row input,.form-row select{width:100%}.details-header{align-items:flex-start;flex-direction:column}.btn-danger,.details-header h2{width:100%}.teams-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}@media (max-width:480px){.teams-page{padding:.75rem}.teams-header h1{font-size:1.5rem}.team-details-section,.teams-list-section{padding:1rem}.teams-grid{grid-template-columns:1fr}.team-card{padding:1rem}.team-card h3{font-size:1rem}.member-item{align-items:flex-start;flex-direction:column}.member-item .btn-remove{margin-top:.75rem;width:100%}}:root{--bg-start:#f5f9ff;--bg-end:#edf4ff;--text-main:#0e2247;--text-muted:#5b7094;--accent:#1f7aff;--accent-strong:#0866ef;--card-bg:#ffffffd1;--card-border:#c1d6f499;--shadow:0 16px 38px #17386f1a;--input-bg:#fffffff2;--status-success:#17b26a;--status-danger:#f04438;--status-warning:#f79009;--radius-card:14px;--radius-input:10px;--radius-button:10px;--surface-soft:color-mix(in srgb,var(--card-bg) 86%,#0000);--surface-strong:color-mix(in srgb,var(--input-bg) 90%,#0000);--surface-border-strong:color-mix(in srgb,var(--card-border) 72%,var(--accent) 28%);--text-primary:#0e2247;--text-secondary:#5b7094;--text-inverse:#fff;--surface-primary:#ffffffd1;--surface-secondary:#f5f9ff99;--border-color:#c1d6f499;--shadow-color:#17386f1a;--accent-color:#1f7aff;--error-color:#f04438;--error-bg:#f044381a;--error-text:#991b1b}[data-theme=dark]{--bg-start:#070b14;--bg-end:#0f1627;--text-main:#f3f7ff;--text-muted:#9db0cf;--accent:#5aa0ff;--accent-strong:#7cb7ff;--card-bg:#0f1829cc;--card-border:#486a9959;--shadow:0 22px 56px #01050ea6;--input-bg:#0a1221eb;--text-primary:#f3f7ff;--text-secondary:#9db0cf;--text-inverse:#070b14;--surface-primary:#0f1829cc;--surface-secondary:#0a1221eb;--border-color:#486a9959;--shadow-color:#01050ea6;--accent-color:#5aa0ff;--error-color:#fca5a5;--error-bg:#dc262626;--error-text:#fecaca}*{box-sizing:border-box}body{background:radial-gradient(circle at 12% -8%,color-mix(in srgb,#1f7aff 18%,#0000),#0000 36%),radial-gradient(circle at 88% 108%,color-mix(in srgb,#0866ef 16%,#0000),#0000 45%),linear-gradient(135deg,#f5f9ff,#edf4ff);background:radial-gradient(circle at 12% -8%,color-mix(in srgb,var(--accent) 18%,#0000),#0000 36%),radial-gradient(circle at 88% 108%,color-mix(in srgb,var(--accent-strong) 16%,#0000),#0000 45%),linear-gradient(135deg,var(--bg-start),var(--bg-end));background-attachment:fixed;color:#0e2247;color:var(--text-main);margin:0;position:relative}[data-theme=dark] body{background:radial-gradient(circle at 14% -6%,#5aa0ff42,#0000 38%),radial-gradient(circle at 82% 108%,#7cb7ff38,#0000 45%),radial-gradient(circle at 52% 42%,#23457a38,#0000 52%),linear-gradient(135deg,#f5f9ff,#edf4ff);background:radial-gradient(circle at 14% -6%,#5aa0ff42,#0000 38%),radial-gradient(circle at 82% 108%,#7cb7ff38,#0000 45%),radial-gradient(circle at 52% 42%,#23457a38,#0000 52%),linear-gradient(135deg,var(--bg-start),var(--bg-end))}[data-theme=dark] body:before{animation:darkGlowDrift 22s ease-in-out infinite alternate;background:radial-gradient(circle at 18% 24%,#5aa0ff2e,#0000 36%),radial-gradient(circle at 76% 78%,#7cb7ff26,#0000 40%),radial-gradient(circle at 54% 38%,#3866b224,#0000 42%);content:"";filter:blur(20px) saturate(1.05);inset:-20%;pointer-events:none;position:fixed;z-index:-1}@keyframes darkGlowDrift{0%{opacity:.72;transform:translate3d(-2%,-1%,0) scale(1)}50%{opacity:.86;transform:translate3d(1.5%,1.2%,0) scale(1.03)}to{opacity:.78;transform:translate3d(2.5%,.8%,0) scale(1.02)}}@media (prefers-reduced-motion:reduce){[data-theme=dark] body:before{animation:none}}.calendar-container,.dashboard-container,.login-container,.profile-container,.sessions-container{margin:0 auto;max-width:1040px;min-height:85vh;padding:2.75rem 1.5rem}.app-navbar{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:color-mix(in srgb,#ffffffd1 88%,#0000);background:color-mix(in srgb,var(--card-bg) 88%,#0000);border-bottom:1px solid #c1d6f499;border-bottom:1px solid var(--card-border);position:sticky;top:0;z-index:40}.app-navbar-inner{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin:0 auto;max-width:1100px;padding:.85rem 1.5rem}.app-logo{align-items:center;color:#0e2247;color:var(--text-main);display:inline-flex;font-size:1.02rem;font-weight:800;gap:.55rem;letter-spacing:.01em;text-decoration:none}.app-logo-mark{border-radius:6px;height:28px;object-fit:contain;width:28px}.app-logo-text{line-height:1}.app-navbar-desktop{align-items:center;display:flex;gap:.55rem}.nav-profile-pill{align-items:center;background:color-mix(in srgb,#fffffff2 82%,#0000);background:color-mix(in srgb,var(--input-bg) 82%,#0000);border:1px solid #c1d6f499;border:1px solid var(--card-border);border-radius:999px;display:inline-flex;height:36px;justify-content:center;text-decoration:none;width:36px}.nav-profile-avatar{border-radius:999px;height:30px;object-fit:cover;width:30px}.nav-profile-fallback{color:#0e2247;color:var(--text-main);font-size:.82rem;font-weight:800}.nav-link{border-radius:10px;color:#5b7094;color:var(--text-muted);font-size:.9rem;font-weight:650;padding:.62rem .88rem;text-decoration:none}.nav-link.active,.nav-link:hover{box-shadow:inset 0 0 0 1px color-mix(in srgb,#1f7aff 35%,#0000);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 35%,#0000)}.menu-toggle,.nav-link.active,.nav-link:hover{background:#fffffff2;background:var(--input-bg);color:#0e2247;color:var(--text-main)}.menu-toggle{border:1px solid #c1d6f499;border:1px solid var(--card-border);display:none;padding:.6rem .9rem}.mobile-menu{-webkit-backdrop-filter:blur(8px) saturate(1.1);backdrop-filter:blur(8px) saturate(1.1);background:linear-gradient(135deg,#020814d6,#060e1ee0),linear-gradient(135deg,#f5f9ff,#edf4ff);background:linear-gradient(135deg,#020814d6,#060e1ee0),linear-gradient(135deg,var(--bg-start),var(--bg-end));inset:0;opacity:0;pointer-events:none;position:fixed;transition:opacity .22s ease;z-index:65}.mobile-menu.open{opacity:1;pointer-events:auto}.mobile-menu-content{align-items:stretch;background:radial-gradient(circle at 15% 0,color-mix(in srgb,#1f7aff 20%,#0000),#0000 35%),linear-gradient(180deg,#081226eb,#070e1ef2);background:radial-gradient(circle at 15% 0,color-mix(in srgb,var(--accent) 20%,#0000),#0000 35%),linear-gradient(180deg,#081226eb,#070e1ef2);border-top:1px solid color-mix(in srgb,#c1d6f499 75%,#0000);border-top:1px solid color-mix(in srgb,var(--card-border) 75%,#0000);display:flex;flex-direction:column;gap:.85rem;justify-content:flex-start;margin:0;max-width:none;min-height:100dvh;padding:5.25rem 1.15rem 1.25rem;width:100%}.mobile-nav-link{background:#ffffffd1;background:var(--card-bg);border:1px solid #c1d6f499;border:1px solid var(--card-border);border-radius:14px;border-radius:var(--radius-card);color:#0e2247;color:var(--text-main);font-size:1rem;font-weight:750;padding:1rem 1.05rem;text-align:center;text-decoration:none}.mobile-nav-link.active{border-color:#1f7aff;border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,#1f7aff 28%,#0000);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 28%,#0000)}.mobile-menu-button{font-size:1.02rem;padding:1rem 1.05rem}.mobile-webapp-nav{display:none}.mobile-webapp-link{align-items:center;background:#0000;border:0;border-radius:12px;box-shadow:none;color:#5b7094;color:var(--text-muted);display:flex;flex-direction:column;gap:.03rem;justify-content:center;min-width:0;padding:.38rem .2rem;text-decoration:none;transition:transform .15s ease,color .2s ease,background-color .2s ease}.mobile-webapp-link:before{display:none}.mobile-webapp-link:hover{background:color-mix(in srgb,#1f7aff 16%,#0000);background:color-mix(in srgb,var(--accent) 16%,#0000);box-shadow:none;color:#0e2247;color:var(--text-main);transform:translateY(-1px)}.mobile-webapp-link.active{background:linear-gradient(145deg,color-mix(in srgb,#1f7aff 78%,#5f8fe2 22%),color-mix(in srgb,#0866ef 72%,#365fba 28%));background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 78%,#5f8fe2 22%),color-mix(in srgb,var(--accent-strong) 72%,#365fba 28%));box-shadow:inset 0 1px 0 #ffffff40,0 8px 18px #3559b05c;color:#d9e7ff}.mobile-webapp-icon{font-size:.9rem;line-height:1}.mobile-webapp-avatar{border:1px solid #ffffff4d;border-radius:999px;height:20px;object-fit:cover;width:20px}.mobile-webapp-label{font-size:.61rem;font-weight:700;letter-spacing:.02em;line-height:1;opacity:.82}.mobile-webapp-logout{color:#ffb7ba}.login-container{display:grid;place-items:center}.edit-session-form,.login-form,.session-item,.timer-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffd1;background:var(--card-bg);border:1px solid #c1d6f499;border:1px solid var(--card-border);border-radius:14px;border-radius:var(--radius-card);box-shadow:0 16px 38px #17386f1a;box-shadow:var(--shadow)}.login-form{padding:2.25rem;width:min(100%,480px)}.login-brand{align-items:center;display:inline-flex;gap:.55rem;margin-bottom:.65rem}.login-brand-mark{border-radius:8px;height:42px;object-fit:contain;width:42px}.login-brand-title{font-size:1.15rem;font-weight:800;letter-spacing:.01em}.header-actions,.top-actions{display:flex;gap:.6rem;justify-content:flex-end}.calendar-header,.dashboard-header,.sessions-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1.4rem}.profile-header{margin-bottom:1.2rem}.profile-form-card{background:#ffffffd1;background:var(--card-bg);border:1px solid #c1d6f499;border:1px solid var(--card-border);border-radius:14px;border-radius:var(--radius-card);box-shadow:0 16px 38px #17386f1a;box-shadow:var(--shadow);max-width:640px;padding:1.5rem}.success-message{background:#17b26a1f;border:1px solid #17b26a59;border-radius:12px;color:#0f9f61;margin:.9rem 0;padding:.7rem}.profile-avatar-preview-wrap{margin-bottom:1rem}.profile-avatar-uploader{align-items:center;background:color-mix(in srgb,#fffffff2 82%,#0000);background:color-mix(in srgb,var(--input-bg) 82%,#0000);border:1px solid #c1d6f499;border:1px solid var(--card-border);border-radius:14px;display:flex;gap:.9rem;margin-bottom:1.2rem;padding:.95rem}.profile-avatar-trigger{border:1px solid #c1d6f499;border:1px solid var(--card-border);border-radius:999px;height:84px;min-width:84px;overflow:hidden;padding:0;width:84px}.profile-avatar-overlay{background:linear-gradient(180deg,#0000,#050b18c7);color:#eff4ff;font-size:.62rem;font-weight:700;inset:auto 0 0 0;padding:.2rem .35rem;position:absolute;text-align:center}.profile-avatar-meta{display:flex;flex-direction:column;gap:.4rem;min-width:0}.profile-avatar-title{font-size:.92rem;font-weight:800}.profile-avatar-subtitle{color:#5b7094;color:var(--text-muted);font-size:.78rem}.profile-upload-button{width:fit-content}.profile-file-input-hidden{display:none}.profile-avatar-fallback,.profile-avatar-preview{border:1px solid #c1d6f499;border:1px solid var(--card-border);border-radius:999px;height:64px;width:64px}.profile-avatar-preview{height:100%;object-fit:cover;width:100%}.profile-avatar-fallback{align-items:center;background:color-mix(in srgb,#1f7aff 22%,#0000);background:color-mix(in srgb,var(--accent) 22%,#0000);color:#e6efff;display:inline-flex;font-size:1.2rem;font-weight:800;justify-content:center}.profile-avatar-trigger .profile-avatar-fallback{border:0;height:100%;width:100%}.calendar-controls{display:flex;flex-wrap:wrap;gap:.55rem;justify-content:flex-end}.calendar-date-input{height:0;opacity:0;pointer-events:none;position:absolute;width:0}.calendar-grid{grid-gap:.85rem;display:grid;gap:.85rem;grid-template-columns:repeat(5,minmax(0,1fr))}.calendar-day-card{background:color-mix(in srgb,#ffffffd1 86%,#0000);background:var(--surface-soft);border:1px solid color-mix(in srgb,#c1d6f499 72%,#1f7aff 28%);border:1px solid var(--surface-border-strong);border-radius:14px;border-radius:var(--radius-card);box-shadow:0 12px 28px color-mix(in srgb,#1f7aff 10%,#0000);box-shadow:0 12px 28px color-mix(in srgb,var(--accent) 10%,#0000);overflow:hidden}.calendar-day-head{background:color-mix(in srgb,#fffffff2 86%,#0000);background:color-mix(in srgb,var(--input-bg) 86%,#0000);border-bottom:1px solid color-mix(in srgb,#c1d6f499 72%,#1f7aff 28%);border-bottom:1px solid var(--surface-border-strong);display:flex;flex-direction:column;gap:.2rem;padding:.85rem .9rem}.calendar-day-name{color:#5b7094;color:var(--text-muted);font-size:.82rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.calendar-day-date{font-size:.95rem;font-weight:700}.calendar-day-body{display:flex;flex-direction:column;gap:.55rem;padding:.8rem}.calendar-session-block{background:color-mix(in srgb,#1f7aff 30%,#101a34 70%);background:color-mix(in srgb,var(--accent) 30%,#101a34 70%);border:1px solid color-mix(in srgb,#c1d6f499 72%,#1f7aff 28%);border:1px solid var(--surface-border-strong);border-radius:10px;overflow:hidden}.calendar-segment{align-items:center;color:#f4f7ff;display:flex;flex-direction:column;justify-content:center;min-height:54px;padding:.55rem .75rem;text-align:center}.calendar-segment+.calendar-segment{border-top:1px solid #ffffff1f}.calendar-segment-time,.calendar-segment-total{background:linear-gradient(180deg,color-mix(in srgb,#0866ef 42%,#14274a 58%),color-mix(in srgb,#1f7aff 28%,#101f3c 72%));background:linear-gradient(180deg,color-mix(in srgb,var(--accent-strong) 42%,#14274a 58%),color-mix(in srgb,var(--accent) 28%,#101f3c 72%))}.calendar-segment-break{background:linear-gradient(180deg,color-mix(in srgb,#f79009 88%,#ffbe58 12%),color-mix(in srgb,#f79009 74%,#c57100 26%));background:linear-gradient(180deg,color-mix(in srgb,var(--status-warning) 88%,#ffbe58 12%),color-mix(in srgb,var(--status-warning) 74%,#c57100 26%));color:#fff}.calendar-segment-label{font-size:.7rem;font-weight:700;letter-spacing:.08em;opacity:.92;text-transform:uppercase}.calendar-segment-value{font-size:1.02rem;font-weight:800;letter-spacing:.02em;margin-top:.2rem}.calendar-empty{color:#5b7094;color:var(--text-muted);font-size:.84rem;margin:0}h1,h2,h3{line-height:1.25;margin:0}h1{font-size:clamp(1.5rem,2.2vw,1.95rem);letter-spacing:-.02em}h2{font-size:clamp(1.22rem,1.6vw,1.46rem)}h2,h3{letter-spacing:-.01em}h3{font-size:1rem}.eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.08em;margin:0 0 .4rem;text-transform:uppercase}.eyebrow,.page-subtitle{color:#5b7094;color:var(--text-muted)}.page-subtitle{margin-top:.5rem}.form-group{margin-bottom:1.15rem;text-align:left}.form-group label{color:#5b7094;color:var(--text-muted);display:block;font-weight:600;margin-bottom:.4rem}.form-group input,.pause-edit-row input{background:#fffffff2;background:var(--input-bg);border:1px solid #c1d6f499;border:1px solid var(--card-border);border-radius:10px;border-radius:var(--radius-input);color:#0e2247;color:var(--text-main);padding:.78rem .88rem;width:100%}.form-group input.readonly-input{background:linear-gradient(180deg,color-mix(in srgb,#fffffff2 58%,#070d1c 42%),color-mix(in srgb,#fffffff2 74%,#0a1327 26%));background:linear-gradient(180deg,color-mix(in srgb,var(--input-bg) 58%,#070d1c 42%),color-mix(in srgb,var(--input-bg) 74%,#0a1327 26%));border-color:color-mix(in srgb,#c1d6f499 70%,#c5d4ff 30%);border-color:color-mix(in srgb,var(--card-border) 70%,#c5d4ff 30%);box-shadow:inset 0 1px 0 #ffffff0a;color:color-mix(in srgb,#5b7094 78%,#d2ddfb 22%);color:color-mix(in srgb,var(--text-muted) 78%,#d2ddfb 22%);cursor:not-allowed;-webkit-user-select:none;user-select:none}.date-input-row{align-items:center;display:flex;gap:.5rem}.date-input-row>input[type=text]{flex:1 1}.date-picker-button{align-items:center;display:inline-flex;font-size:1.05rem;height:44px;justify-content:center;min-width:44px;padding:0;width:44px}.native-date-picker-hidden{height:0;opacity:0;pointer-events:none;position:absolute;width:0}button{background:linear-gradient(180deg,#ffffff14,#fff0),linear-gradient(180deg,#223556,#15233d);border:1px solid color-mix(in srgb,#1f7aff 36%,#c1d6f499 64%);border:1px solid color-mix(in srgb,var(--accent) 36%,var(--card-border) 64%);border-radius:10px;border-radius:var(--radius-button);box-shadow:inset 0 1px 0 #ffffff38,inset 0 -1px 0 #00000040,0 10px 24px #00000047;color:#dbe8ff;cursor:pointer;font-size:.9rem;font-weight:700;isolation:isolate;letter-spacing:.01em;overflow:hidden;position:relative;transition:transform .15s ease,box-shadow .25s ease,border-color .2s ease,filter .2s ease}button:before{background:linear-gradient(90deg,#0000,#ffffff47,#0000);content:"";height:320%;left:-35%;position:absolute;top:-120%;transform:rotate(20deg);transition:left .45s ease;width:50%;z-index:-1}button:hover{border-color:color-mix(in srgb,#1f7aff 66%,#c1d6f499 34%);border-color:color-mix(in srgb,var(--accent) 66%,var(--card-border) 34%);box-shadow:inset 0 1px 0 #ffffff4d,inset 0 -1px 0 #00000040,0 14px 28px #00000052,0 0 0 1px color-mix(in srgb,#1f7aff 36%,#0000);box-shadow:inset 0 1px 0 #ffffff4d,inset 0 -1px 0 #00000040,0 14px 28px #00000052,0 0 0 1px color-mix(in srgb,var(--accent) 36%,#0000);filter:brightness(1.04);transform:translateY(-2px)}button:hover:before{left:120%}button:active{box-shadow:inset 0 2px 6px #00000059,0 4px 10px #00000038;transform:translateY(0)}button:focus-visible,input:focus-visible{outline:2px solid #1f7aff;outline:2px solid var(--accent);outline-offset:2px}.theme-toggle{background:#fffffff2;background:var(--input-bg);border:1px solid #c1d6f499;border:1px solid var(--card-border);color:#0e2247;color:var(--text-main);min-width:42px;padding:.55rem .8rem}.add-pause-btn,.edit-session-button,.login-button,.nav-button{background:linear-gradient(145deg,#3f6ec9,#2f58a9);border-color:color-mix(in srgb,#2f58a9 70%,#92b2ea 30%);box-shadow:inset 0 1px 0 #ffffff3d,inset 0 -1px 0 #0003,0 12px 24px #3f6ec952;color:#fff}.login-button{margin-top:.85rem;padding:.92rem 1rem;width:100%}.login-button:disabled{cursor:not-allowed;opacity:.6}.toggle-button{background:#0000;border:0;box-shadow:none;color:#1f7aff;color:var(--accent);isolation:auto;overflow:visible;padding:0;text-decoration:underline}.toggle-button:before{display:none}.auth-toggle{margin-top:1rem;text-align:center}.error-message{background:#f0443824;border:1px solid #f0443859;border-radius:12px;color:#b32318;margin:.9rem 0;padding:.7rem}.edit-session-form,.timer-section{margin-bottom:1.45rem;padding:1.85rem}.timer-display{margin-bottom:1.2rem;text-align:center}.status-badge{border-radius:999px;display:inline-block;font-size:.78rem;font-weight:700;margin-top:.8rem;padding:.3rem .7rem}.status-badge.active{background:#17b26a;background:var(--status-success);color:#fff}.status-badge.paused{background:#f79009;background:var(--status-warning);color:#fff}.status-badge.idle{background:#5b7094;background:var(--text-muted);color:#fff}.time{color:#0866ef;color:var(--accent-strong);font-family:Courier New,monospace;font-size:clamp(2.1rem,4vw,3.4rem);font-weight:700;margin:.9rem 0 .4rem}.pause-time{color:#f79009;color:var(--status-warning);font-weight:700}.timer-controls{align-items:center;display:flex;flex-direction:column;gap:.75rem}.timer-button{color:#fff;min-width:220px;padding:.88rem 1rem}.save-button,.timer-button.resume,.timer-button.start{background:linear-gradient(140deg,#19c275,#11965b);border-color:color-mix(in srgb,#11965b 65%,#fff 35%);box-shadow:inset 0 1px 0 #ffffff42,inset 0 -1px 0 #00000026,0 12px 24px #19c27557}.cancel-button,.logout-button,.remove-pause-btn,.timer-button.stop{background:linear-gradient(140deg,#ff5c69,#e3342f);border-color:color-mix(in srgb,#e3342f 66%,#fff 34%);box-shadow:inset 0 1px 0 #ffffff38,inset 0 -1px 0 #0000002e,0 12px 24px #e3342f57;color:#fff}.delete-button{background:linear-gradient(140deg,#cf2f23,#a72117);border-color:color-mix(in srgb,#a72117 66%,#fff 34%);box-shadow:inset 0 1px 0 #ffffff38,inset 0 -1px 0 #0003,0 12px 24px #a7211752;color:#fff}.timer-button.pause{background:linear-gradient(140deg,#ffb547,#f28a02);border-color:color-mix(in srgb,#f28a02 64%,#fff 36%);box-shadow:inset 0 1px 0 #ffffff3d,inset 0 -1px 0 #00000029,0 12px 24px #f28a0257;color:#fff}.navigation-links{display:flex;justify-content:center}.add-pause-btn,.cancel-button,.delete-button,.edit-session-button,.logout-button,.nav-button,.remove-pause-btn,.save-button{padding:.75rem 1rem}.current-session,.past-sessions{margin-top:1rem}.current-session h2,.past-sessions h2{margin-bottom:.8rem}.past-sessions-header{align-items:center;display:flex;gap:.75rem;justify-content:space-between}.session-item{background:color-mix(in srgb,#ffffffd1 86%,#0000);background:var(--surface-soft);border:1px solid color-mix(in srgb,#c1d6f499 72%,#1f7aff 28%);border:1px solid var(--surface-border-strong);box-shadow:0 12px 28px color-mix(in srgb,#1f7aff 10%,#0000);box-shadow:0 12px 28px color-mix(in srgb,var(--accent) 10%,#0000);margin-bottom:1rem;padding:1.2rem;transition:transform .16s ease,box-shadow .22s ease,border-color .22s ease}.session-item:hover{border-color:color-mix(in srgb,#1f7aff 52%,#c1d6f499 48%);border-color:color-mix(in srgb,var(--accent) 52%,var(--card-border) 48%);box-shadow:0 16px 32px color-mix(in srgb,#1f7aff 16%,#0000);box-shadow:0 16px 32px color-mix(in srgb,var(--accent) 16%,#0000);transform:translateY(-2px)}.session-item.current{border-left:4px solid #1f7aff;border-left:4px solid var(--accent)}.session-item.past{border-left:4px solid #17b26a;border-left:4px solid var(--status-success)}.session-info div{margin-bottom:.45rem}.session-info strong{color:#5b7094;color:var(--text-muted)}.active-status{color:#1f7aff;color:var(--accent);font-weight:700}.pause-history-item{color:#5b7094;color:var(--text-muted);font-size:.9rem;margin-left:.7rem;margin-top:.2rem}.sessions-grid{grid-gap:.9rem;align-items:stretch;display:grid;gap:.9rem;grid-template-columns:repeat(2,minmax(0,1fr))}.session-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.65rem}.session-date{font-size:.95rem;font-weight:700}.session-tag{background:#17b26a29;border:1px solid #17b26a52;border-radius:999px;color:#079455;font-size:.75rem;font-weight:700;padding:.2rem .55rem}[data-theme=dark] .session-tag{color:#6ce9ad}.session-row{color:#0e2247;color:var(--text-main);font-size:.92rem;margin-bottom:.45rem}.session-stats-grid{grid-gap:.55rem;display:grid;gap:.55rem;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:.6rem}.session-stat{background:color-mix(in srgb,#fffffff2 90%,#0000);background:var(--surface-strong);border:1px solid color-mix(in srgb,#c1d6f499 72%,#1f7aff 28%);border:1px solid var(--surface-border-strong);border-radius:10px;display:flex;flex-direction:column;gap:.2rem;padding:.65rem}.session-stat-label{color:#5b7094;color:var(--text-muted);font-size:.75rem;font-weight:600}.session-stat-value{color:#0e2247;color:var(--text-main);font-size:.88rem;font-weight:700}.session-item.past .edit-session-button{margin-top:.75rem;width:100%}.pauses-section{margin:1.2rem 0}.pause-edit-row{align-items:center;display:flex;gap:.55rem;margin-bottom:.55rem}.form-actions{display:flex;gap:.6rem}.empty-text{background:#ffffffd1;background:var(--card-bg);border:1px solid #c1d6f499;border:1px solid var(--card-border);border-radius:14px;border-radius:var(--radius-card);color:#5b7094;color:var(--text-muted);margin:0;padding:1.2rem}@media (max-width:768px){.app-navbar{position:sticky;top:0}.calendar-container,.dashboard-container,.login-container,.profile-container,.sessions-container{padding:1.85rem 1rem calc(5.9rem + env(safe-area-inset-bottom, 0px))}.edit-session-form,.login-form,.timer-section{padding:1.35rem}.app-navbar-desktop{display:none}.mobile-webapp-nav{grid-gap:.12rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(180deg,#0f1c36eb,#0a1328f0);border:1px solid color-mix(in srgb,#c1d6f499 70%,#0000);border:1px solid color-mix(in srgb,var(--card-border) 70%,#0000);border-bottom:0;border-radius:12px 12px 0 0;bottom:0;box-shadow:0 14px 30px #0000006b,inset 0 1px 0 #ffffff1a;display:grid;gap:.12rem;grid-template-columns:repeat(5,minmax(0,1fr));left:0;padding:.3rem .28rem calc(.3rem + env(safe-area-inset-bottom, 0px));position:fixed;right:0;z-index:75}.mobile-webapp-label{display:none}.mobile-webapp-link.active .mobile-webapp-label{display:block;font-size:.56rem}.mobile-webapp-link{min-height:44px}.mobile-webapp-nav:before{background:linear-gradient(180deg,#7baaff59,#7baaff00);border-radius:999px;box-shadow:0 -1px 0 #91b8ff80;content:"";height:8px;left:.9rem;pointer-events:none;position:absolute;right:.9rem;top:-9px}.calendar-header,.dashboard-header,.sessions-header{align-items:stretch;flex-direction:column}.profile-avatar-uploader{align-items:flex-start;flex-direction:column}.calendar-controls .nav-button,.profile-upload-button{width:100%}.header-actions{flex-wrap:wrap;justify-content:flex-start}.logout-button,.nav-button,.theme-toggle{width:100%}.timer-button{min-width:0;width:100%}.pause-edit-row{align-items:stretch}.form-actions,.pause-edit-row{flex-direction:column}.calendar-grid,.session-stats-grid,.sessions-grid{grid-template-columns:1fr}.past-sessions-header{align-items:stretch;flex-direction:column}}