body{text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}tbody tr.deviation-highlight{background-color:#f003!important}tbody tr.underplayed-highlight{background-color:#0f03!important}table,th,td{border:1px solid var(--border-bright);border-collapse:collapse;padding:8px;text-align:left}th{background-color:var(--surface-3);color:var(--text-strong)}:root{color-scheme:dark;--surface-0: #121212;--surface-input: #161616;--surface-page: #1a1a1a;--surface-1: #1e1e1e;--surface-1b: #232323;--surface-stripe: #242424;--surface-2: #2a2a2a;--surface-3: #333333;--surface-hover: #3a3a3a;--surface-4: #444444;--border-subtle: #2c2c2c;--border: #333333;--border-muted: #444444;--border-strong: #555555;--border-stronger: #666666;--border-bright: #cccccc;--text-strong: #ffffff;--text: #e0e0e0;--text-soft: #cccccc;--text-secondary: #a0a0a0;--text-muted: #888888;--text-faint: #666666;--cool-surface-0: #1a1d24;--cool-surface-1: #22262c;--cool-surface-2: #2a2f3a;--cool-surface-3: #2d3341;--cool-accent-surface: #33405c;--cool-border-0: #2a2f3a;--cool-border-1: #2d3341;--cool-border-2: #3b3f4f;--cool-border-3: #4a5462;--cool-border-4: #5b6678;--cool-accent-border: #4c6b96;--cool-accent-text: #5f83ad;--cool-text-0: #f1f5ff;--cool-text-1: #e8ecf8;--cool-text-2: #dfe5f6;--cool-text-3: #c9d1dc;--cool-text-4: #b3bcc9;--cool-text-5: #9ba4b4;--cool-text-6: #8a94a6;--cool-text-7: #7f8a9c;--cool-text-8: #6f7788;--warm-text: #cbb9b8;--primary-text: #0096ff;--link: #33a1ff;--highlight: #ffd700;--amber-text: #ffd79a;--amber-text-2: #ffc46b;--amber-strong-text: #f0ad4e;--amber-muted-text: #c9b48f;--gold-text: #ffd75e;--gold-dim-text: #c9a227;--warning-text: #ffc107;--orange-text: #ffa500;--danger-text: #ff6b6b;--danger-text-soft: #ffb3bd;--danger-text-mid: #ff8a86;--danger-strong-text: #dc3545;--info-text: #9fc7ff;--info-text-2: #7fc4ff;--accent-blue-text: #007bff;--cyan-text: #4fd6ff;--teal-text: #1dd1a1;--success-text: #6fdc8c;--success-text-soft: #9ff0b2;--success-strong-text: #28a745;--stat-green: #54c46f;--stat-blue: #4c9aff;--stat-cyan: #3fc1d3;--border-strongest: #999999;--primary-dark-text: #007acc;--info-text-strong: #4dabff;--info-text-mid: #6cb2ff;--info-text-pale: #aee1ff;--link-soft: #60a5fa;--gold-text-pale: #ffe08a;--gold-text-strong: #ffd93d;--amber-text-3: #ffc94a;--cyan-text-soft: #6fd8e8;--danger-text-rose: #ff9aa4;--danger-text-deep: #ef7683;--success-text-bright: #52e08a;--success-text-pale: #b1e5c9;--text-secondary-cool: #adb5bd;--text-muted-cool: #8d949c;--text-faint-cool: #6b7280;--cool-text-2-soft: #cfd8e3;--cool-text-blue: #9fb0cc;--cool-text-9: #5d6577;--cool-accent-text-soft: #8fa8c4;--warm-text-pale: #d8cdc8;--upcoming-surface: #24303f;--upcoming-border: #35506e;--cool-panel-2-rgb: 45, 51, 65;--on-accent: #ffffff;--on-tint: #ffffff;--button-secondary-bg: #2f2f30;--button-secondary-hover-bg: #3a3a3b;--danger-panel: #2a1414;--wash-rgb: 255, 255, 255;--panel-rgb: 24, 24, 24;--cool-panel-rgb: 22, 25, 33;--amber-panel-rgb: 28, 20, 4;--text-rgb: 224, 224, 224;--cool-text-rgb: 198, 214, 249;--success-text-rgb: 159, 240, 178;--primary-blue: #0096FF;--primary-blue-hover: #0059b3;--highlight-yellow: var(--highlight);--dark-bg: var(--surface-0);--content-bg: var(--surface-1);--light-text: var(--text);--secondary-text: var(--text-secondary);--border-color: var(--border);--header-height: 80px;--link-color: var(--link);--primary: var(--primary-blue);--primary-color: var(--primary-blue);--primary-dark: #007acc;--primary-rgb: 0, 150, 255;--text-primary: var(--text);--bg-primary: var(--surface-0);--bg-secondary: var(--surface-1);--bg-tertiary: var(--surface-2);--bg-input: var(--surface-input);--input-bg: var(--bg-input);--background-primary: var(--bg-primary);--background-secondary: var(--bg-secondary);--color-bg-secondary: var(--bg-tertiary);--success: #28a745;--error: var(--danger-text);--error-color: var(--error);--warning: #ffc107;--color-text: var(--text);--color-text-muted: var(--text-secondary);--color-surface-2: var(--surface-2);--color-border-muted: var(--border-muted);--color-focus: var(--primary-blue);--button-bg: #0073d6;--button-bg-hover: #0059b3;--accent-fill: #0069d9;--accent-fill-hover: #0056b3;--success-fill: #1e7e34;--success-fill-hover: #19692c;--teal-fill: #117a8b;--teal-fill-hover: #0e6674;--neutral-fill: #6c757d;--neutral-fill-hover: #5a6268;--danger-fill: #dc3545;--danger-fill-hover: #c82333;--outline-blue-text: #3d9bff;--outline-teal-text: #17a2b8;--warning-fill: #ffc107;--warning-fill-hover: #e0a800;--on-warning-fill: #000000;--notice-bg: #1976d2;--notice-text: #ffffff;--notice-admin-bg: #ff9800;--notice-admin-text: #1a1a1a;--masquerade-bg: #5a3e00;--masquerade-text: #ffd700;--selected-player-bg: rgba(255, 255, 0, .6);--selected-player-border: #ffff00;--selected-player-text: #111111;--sport-football-fill: #2f6d22;--sport-football-grass: #3c7a28;--sport-football-stripe: #44842f;--sport-football-runoff: #366f24;--sport-futsal-fill: #a8431b;--sport-futsal-court: #b4501f;--sport-futsal-key: #a0461b;--sport-futsal-surround: #8f3b16;--sport-line: rgba(255, 255, 255, .55);--sport-on-surface: #ffffff;--z-notice: 990;--z-header: 1000;--z-overlay: 1000;--z-skip-link: 10000;--notice-bar-height: 0px;--masquerade-banner-height: 0px}html[data-theme=light]{color-scheme:light;--surface-0: #eef1f5;--surface-input: #ffffff;--surface-page: #eef1f5;--surface-1: #ffffff;--surface-1b: #f8f9fb;--surface-stripe: #f4f6f9;--surface-2: #f1f3f7;--surface-3: #e4e8ee;--surface-hover: #dde2e9;--surface-4: #d2d9e1;--border-subtle: #e3e7ed;--border: #d5dbe3;--border-muted: #c7cfd9;--border-strong: #b2bcc7;--border-stronger: #9ca7b3;--border-bright: #b6bfc9;--text-strong: #0f1318;--text: #1c2128;--text-soft: #343b46;--text-secondary: #4e5866;--text-muted: #5f6977;--text-faint: #7b8491;--cool-surface-0: #f7f8fb;--cool-surface-1: #ffffff;--cool-surface-2: #f1f4f8;--cool-surface-3: #e9edf3;--cool-accent-surface: #dbe6f5;--cool-border-0: #e2e7ee;--cool-border-1: #d9e0ea;--cool-border-2: #cdd5e0;--cool-border-3: #bcc5d1;--cool-border-4: #a7b2c0;--cool-accent-border: #9db5d6;--cool-accent-text: #3d5f8a;--cool-text-0: #0f1522;--cool-text-1: #161b26;--cool-text-2: #222a38;--cool-text-3: #343d4c;--cool-text-4: #46505f;--cool-text-5: #545e6e;--cool-text-6: #5f6a7b;--cool-text-7: #6b7686;--cool-text-8: #76808f;--warm-text: #6b5a56;--primary-text: #0a6fc2;--link: #0b63b8;--highlight: #a06a00;--amber-text: #8a5400;--amber-text-2: #7d4c00;--amber-strong-text: #9a5a00;--amber-muted-text: #7a6338;--gold-text: #7a5800;--gold-dim-text: #7a5c10;--warning-text: #8a5a00;--orange-text: #b54d00;--danger-text: #c62828;--danger-text-soft: #a8323f;--danger-text-mid: #b8303c;--danger-strong-text: #b02a37;--info-text: #0b5cad;--info-text-2: #0a5bb0;--accent-blue-text: #0a62c2;--cyan-text: #0e7490;--teal-text: #0f8a6a;--success-text: #1e7e34;--success-text-soft: #2a7a40;--success-strong-text: #1e7e34;--stat-green: #1e7e34;--stat-blue: #0b5cad;--stat-cyan: #0e7490;--border-strongest: #8e98a5;--primary-dark-text: #0a62c2;--info-text-strong: #0a5bb0;--info-text-mid: #0a5bb0;--info-text-pale: #0b5cad;--link-soft: #0b63b8;--gold-text-pale: #7a5800;--gold-text-strong: #7a5800;--amber-text-3: #7d4c00;--cyan-text-soft: #0e7490;--danger-text-rose: #b8303c;--danger-text-deep: #b02a37;--success-text-bright: #1e7e34;--success-text-pale: #2a7a40;--text-secondary-cool: #4e5866;--text-muted-cool: #5f6977;--text-faint-cool: #7b8491;--cool-text-2-soft: #222a38;--cool-text-blue: #545e6e;--cool-text-9: #76808f;--cool-accent-text-soft: #4a5f7e;--warm-text-pale: #6b5a56;--upcoming-surface: #dbe6f5;--upcoming-border: #9db5d6;--cool-panel-2-rgb: 255, 255, 255;--on-tint: #0f1318;--button-secondary-bg: #5b6472;--button-secondary-hover-bg: #4a5260;--danger-panel: #ffe5e8;--wash-rgb: 15, 23, 42;--panel-rgb: 255, 255, 255;--cool-panel-rgb: 255, 255, 255;--amber-panel-rgb: 255, 248, 230;--text-rgb: 28, 33, 40;--cool-text-rgb: 40, 52, 72;--success-text-rgb: 30, 126, 52;--outline-blue-text: #0a62c2;--outline-teal-text: #0e7490}*,*:before,*:after{box-sizing:border-box}body{font-family:Roboto,system-ui,-apple-system,Segoe UI,Helvetica,Arial,sans-serif;background-color:var(--dark-bg);color:var(--light-text);margin:0;padding:0}a{color:var(--link-color);text-decoration:none;transition:color .2s ease-in-out}a:hover{color:var(--highlight-yellow)}.app-container{padding-top:calc(var(--header-height) + var(--notice-bar-height) + var(--masquerade-banner-height))}.main-content{padding:20px 40px;max-width:1400px;margin:0 auto}.app-header{background-color:var(--content-bg);height:var(--header-height);padding:0 40px;padding-left:max(40px,env(safe-area-inset-left));padding-right:max(40px,env(safe-area-inset-right));display:flex;align-items:center;position:fixed;top:calc(var(--notice-bar-height) + var(--masquerade-banner-height));left:0;right:0;z-index:var(--z-header);border-bottom:2px solid var(--border-color)}.masquerade-banner{position:fixed;top:var(--notice-bar-height);left:0;right:0;z-index:var(--z-header);min-height:32px;display:flex;align-items:center;justify-content:center;padding:4px 12px;background:var(--masquerade-bg);color:var(--masquerade-text);font-size:.85rem;line-height:1.2;text-align:center}body:has(.masquerade-banner){--masquerade-banner-height: 32px}@media(max-width:600px){.masquerade-banner{min-height:44px}body:has(.masquerade-banner){--masquerade-banner-height: 44px}}.header-tools{display:flex;align-items:center;flex-shrink:0;margin-left:12px}.logo-container{display:flex;align-items:center;flex-shrink:1;min-width:0}.logo{height:50px;margin-right:15px;flex-shrink:0}.team-name{font-size:1.5rem;font-weight:700;color:var(--light-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-header__title{display:flex;flex-direction:column;justify-content:center;gap:3px;min-width:0}.app-header__title .app-header__sport{align-self:flex-start;padding:.12rem .5rem;font-size:.6rem}.main-nav{display:flex;align-items:center;flex-shrink:0;margin-left:auto}.main-nav a{color:var(--secondary-text);text-decoration:none;font-size:1.1rem;font-weight:500;margin-left:25px;transition:color .2s ease-in-out;white-space:nowrap}.main-nav a:hover{color:var(--highlight-yellow)}.main-nav a.active{color:var(--highlight-yellow);font-weight:700;border-bottom:2px solid var(--highlight-yellow);padding-bottom:2px}.main-nav button{background:none;border:1px solid rgba(220,53,69,.4);border-radius:4px;color:var(--secondary-text);text-decoration:none;font-size:1.1rem;font-weight:500;margin-left:25px;padding:.25rem .75rem;cursor:pointer;transition:all .2s ease-in-out;white-space:nowrap;font-family:inherit;line-height:inherit}.main-nav button:hover{color:var(--danger-strong-text);background:#dc35451a;border-color:#dc354599}.nav-toggle{display:none;background:none;border:none;color:var(--light-text);font-size:1.5rem;cursor:pointer;padding:8px;margin-left:15px;flex-shrink:0}.nav-toggle:hover{color:var(--highlight-yellow)}@media(max-width:950px){.app-header{padding:0 20px;padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right));flex-wrap:nowrap}.logo-container{flex:1;min-width:0}.logo{height:40px;margin-right:10px}.team-name{font-size:1.2rem}.nav-toggle{display:block}.header-tools{margin-left:auto}.main-nav{position:absolute;top:100%;right:20px;min-width:200px;max-width:300px;background-color:var(--content-bg);border:1px solid var(--border-color);border-radius:8px;flex-direction:column;align-items:stretch;padding:10px 0;display:none;box-shadow:0 4px 12px #0006}.main-nav.active{display:flex}.main-nav a{padding:10px 20px;text-align:left;border-bottom:1px solid var(--border-color);font-size:1rem;margin:0}.main-nav a:last-child{border-bottom:none}.main-nav a.active{border-bottom:2px solid var(--highlight-yellow);padding-bottom:8px}.main-nav button{margin:8px 20px 0;padding:10px 0;text-align:center;border:1px solid rgba(220,53,69,.4);border-radius:4px;font-size:1rem;width:calc(100% - 40px);background:none;color:var(--secondary-text)}.main-nav button:hover{color:var(--danger-strong-text);background:#dc35451a;border-color:#dc354599}}@media(max-width:768px){.main-content{padding:16px;padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}.main-nav a{margin:8px 0;padding:10px 0;text-align:center}}@media(max-width:480px){.app-header{padding:0 15px;padding-left:max(15px,env(safe-area-inset-left));padding-right:max(15px,env(safe-area-inset-right))}.main-content{padding:12px;padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}.logo{height:35px;margin-right:8px}.team-name{font-size:1rem}.main-nav{padding:10px 15px}}h1,h2,h3{color:var(--light-text);margin-bottom:20px}:where(.app-container) :where(h1,h2,h3){border-bottom:2px solid var(--primary-blue);padding-bottom:10px}button{background-color:var(--button-bg);color:var(--on-accent);border:none;padding:10px 20px;border-radius:5px;cursor:pointer;font-weight:500;transition:background-color .2s ease}button:where(:not(:disabled):hover){background-color:var(--button-bg-hover)}button:where(:disabled){opacity:.5;cursor:not-allowed}table{width:100%;border-collapse:collapse;background-color:var(--content-bg)}th,td{padding:12px 15px;border:1px solid var(--border-color);text-align:left}thead tr{background-color:var(--surface-2)}tbody tr:nth-of-type(2n){background-color:var(--surface-stripe)}tbody tr:hover{background-color:var(--surface-hover)}input[type=text],input[type=date],input[type=time],select{background-color:var(--surface-3);color:var(--light-text);border:1px solid var(--border-color);border-radius:4px;padding:8px 12px}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary-blue);box-shadow:0 0 0 2px rgba(var(--primary-rgb),.25)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.attendance-email-hint{display:block;flex-basis:100%;margin-top:4px;font-size:.8rem;color:var(--text-muted)}.skip-link{position:absolute;left:8px;top:-100px;z-index:var(--z-skip-link);padding:8px 12px;background:var(--button-bg);color:var(--on-accent);border-radius:6px}.skip-link:focus{top:8px}button:focus-visible,a:focus-visible,[role=button]:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--primary-blue);outline-offset:2px}@media(max-width:768px){input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),select,textarea{font-size:max(16px,1em)!important}}.public-page{max-width:1200px;margin:0 auto;padding:clamp(1rem,4vw,2rem);padding-left:max(clamp(1rem,4vw,2rem),env(safe-area-inset-left));padding-right:max(clamp(1rem,4vw,2rem),env(safe-area-inset-right));padding-bottom:max(clamp(1rem,4vw,2rem),env(safe-area-inset-bottom));background-color:var(--surface-page);min-height:100vh;min-height:100dvh;color:var(--text-strong)}.public-topbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin:0 0 clamp(.75rem,2.5vw,1.1rem)}.public-topbar--end{justify-content:flex-end}.public-topbar>.back-link{margin-bottom:0}.public-page--narrow{max-width:800px}.public-page--tight{padding:clamp(.9rem,2.5vw,1.5rem);padding-left:max(clamp(.9rem,2.5vw,1.5rem),env(safe-area-inset-left));padding-right:max(clamp(.9rem,2.5vw,1.5rem),env(safe-area-inset-right));padding-bottom:max(clamp(.9rem,2.5vw,1.5rem),env(safe-area-inset-bottom))}.page-container{max-width:1200px;margin:0 auto;padding:clamp(1rem,4vw,2rem);background-color:var(--surface-page);min-height:100vh;min-height:100dvh;color:var(--text-strong)}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:clamp(1.5rem,4vw,2rem);padding-bottom:clamp(.75rem,2vw,1rem);border-bottom:2px solid var(--border)}.page-title{font-size:clamp(1.5rem,4vw,2.5rem);margin:0 0 .5rem;color:var(--text-strong)}.page-subtitle{font-size:1rem;color:var(--text-muted);margin:0}.button-danger{background-color:var(--danger-fill);border:none;border-radius:4px;color:var(--on-accent);cursor:pointer;transition:background-color .2s ease}.button-danger:hover{background-color:var(--danger-fill-hover)}.save-status{font-size:.75rem;padding:3px 10px;border-radius:999px;border:1px solid var(--border-color);white-space:nowrap;margin-left:10px}.save-status--saving{color:var(--secondary-text)}.save-status--offline{color:var(--danger-text-soft);border-color:#dc354599;background:#dc354526}.public-outline-button{--accent: var(--accent-fill);--accent-text: var(--outline-blue-text);background:none;border:1px solid var(--accent-text);border-radius:6px;color:var(--accent-text);padding:.5rem .75rem;min-height:44px;font-size:.8rem;cursor:pointer;transition:background-color .2s ease,color .2s ease;display:flex;align-items:center;gap:.25rem}.public-outline-button--blue{--accent: var(--accent-fill);--accent-text: var(--outline-blue-text)}.public-outline-button.games-table-mini{align-self:flex-start;padding:.25rem .6rem;min-height:44px;font-size:.8rem;border-radius:4px;text-decoration:none}.public-outline-button--compact{justify-content:center;min-height:2.25rem;padding:.35rem .75rem;font-size:.85rem;text-decoration:none;white-space:nowrap}@media(max-width:768px){.public-outline-button--compact{min-height:2.75rem;font-size:.9rem}}.public-outline-button.is-active{background-color:var(--accent);border-color:var(--accent);color:var(--on-accent)}.public-outline-button.is-disabled{opacity:.5;cursor:not-allowed}.public-outline-button.is-disabled:hover{background:none;color:var(--accent-text)}.public-outline-button--teal{--accent: var(--teal-fill);--accent-text: var(--outline-teal-text)}.public-outline-button:where(:not(:disabled):hover),.public-outline-button:focus-visible{background-color:var(--accent);border-color:var(--accent);color:var(--on-accent)}.public-pill-link{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;background-color:var(--accent-fill);color:var(--on-accent);padding:.3rem .9rem;min-height:32px;border-radius:999px;text-decoration:none;font-size:.8rem;font-weight:600;line-height:1.2;letter-spacing:.01em;white-space:nowrap;box-shadow:0 1px 2px #00000040;transition:background-color .2s ease,transform .15s ease,box-shadow .2s ease}.public-pill-link:hover,.public-pill-link:focus-visible{background-color:var(--accent-fill-hover);color:var(--on-accent);transform:translateY(-1px);box-shadow:0 2px 6px #0000004d}.public-pill-link:active{transform:translateY(0);box-shadow:0 1px 2px #00000040}.public-error-page{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem;text-align:center;color:var(--text-strong);background-color:var(--surface-page)}.public-error-page h1{margin:0;border:none}.public-error-page .public-outline-button{display:inline-flex;text-decoration:none}.full-screen-notice{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;min-height:100vh;min-height:100dvh;padding:24px;padding-bottom:max(24px,env(safe-area-inset-bottom));background:var(--dark-bg);color:var(--light-text);text-align:center}.full-screen-notice__icon{font-size:2.5rem;line-height:1}.full-screen-notice__title{margin:0;font-size:1.25rem;color:var(--light-text);border-bottom:none;padding-bottom:0}.full-screen-notice__message{margin:0;max-width:360px;color:var(--secondary-text);line-height:1.5}.full-screen-notice__hint{margin:0;max-width:360px;color:var(--text-muted);font-size:.85rem;line-height:1.4}.full-screen-notice__link{color:var(--link-soft);font-size:.95rem;text-decoration:underline}.full-screen-notice__button{margin-top:8px;padding:10px 24px;min-height:44px;background:#343a40;color:var(--on-accent);border:none;border-radius:6px;font-size:1rem;cursor:pointer}.full-screen-notice__button:where(:not(:disabled):hover){background:#495057}.full-screen-notice__spinner{display:inline-block;flex-shrink:0;width:36px;height:36px;border:3px solid rgba(var(--wash-rgb),.15);border-top-color:var(--secondary-text);border-radius:50%;animation:full-screen-notice-spin .8s linear infinite}.loading-fallback__spinner{display:inline-block;flex-shrink:0;width:20px;height:20px;border:2px solid rgba(var(--wash-rgb),.15);border-top-color:var(--secondary-text);border-radius:50%;animation:full-screen-notice-spin .8s linear infinite}.loading-fallback{display:flex;justify-content:center;align-items:center;gap:12px;padding:2.5rem 1rem;min-height:40vh;color:var(--secondary-text);font-size:.95rem}@keyframes full-screen-notice-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.full-screen-notice__spinner,.loading-fallback__spinner{animation-duration:2s}}.error-banner{display:flex;align-items:flex-start;gap:12px;padding:12px;margin-bottom:20px;border-radius:4px;font-size:14px;line-height:1.4;border:1px solid}.error-banner-icon{flex-shrink:0;font-size:1.2em;line-height:1}.error-banner-message{flex:1}.error-banner-error{color:var(--danger-text);background-color:#ff6b6b1a;border-color:#ff6b6b}.error-banner-warning{color:var(--warning-text);background-color:#ffc1071a;border-color:#ffc107}.error-banner-info{color:var(--primary-text);background-color:#0096ff1a;border-color:#0096ff}@media(max-width:768px){.error-banner{font-size:13px;padding:10px}}.error-banner-dismiss{margin-left:auto;flex:0 0 auto;min-width:44px;min-height:44px;padding:0;background:transparent;color:inherit;border:none;font-size:1.4rem;line-height:1;cursor:pointer;border-radius:6px}.error-banner-dismiss:where(:not(:disabled):hover){background:rgba(var(--wash-rgb),.12)}.error-banner--sticky{position:sticky;top:calc(var(--header-height) + var(--notice-bar-height, 0px) + var(--masquerade-banner-height, 0px) + 8px);z-index:500;box-shadow:0 6px 18px #00000059;background-color:var(--danger-panel)}.admin-login-container{position:relative;min-height:100vh;min-height:100dvh;background-color:var(--surface-page);color:var(--text-strong);display:flex;align-items:center;justify-content:center;padding:1rem}.admin-login-wrapper{max-width:400px;width:100%;background-color:var(--surface-2);border-radius:8px;border:1px solid var(--border-muted);box-shadow:0 4px 6px #0000004d;overflow:hidden}.admin-login-header{background-color:var(--surface-3);padding:1.5rem 2rem;border-bottom:1px solid var(--border-muted);text-align:center}.admin-login-title{font-size:1.5rem;font-weight:700;margin:0 0 .5rem;color:var(--text-strong)}.admin-login-subtitle{font-size:.9rem;color:var(--text-secondary);margin:0}.admin-login-content{padding:2rem}.admin-login-form-group{margin-bottom:1.5rem}.admin-login-label{display:block;margin-bottom:.5rem;color:var(--text-strong);font-size:.9rem;font-weight:700}.admin-login-input{width:100%;padding:.75rem;border:1px solid var(--border-strong);border-radius:4px;background-color:var(--surface-page);color:var(--text-strong);font-size:1rem;box-sizing:border-box;transition:border-color .2s ease}.admin-login-input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.admin-login-input:disabled{background-color:var(--surface-3);color:var(--text-faint);cursor:not-allowed}.admin-login-error{color:var(--danger-text);margin-bottom:1rem;padding:.75rem;background-color:#ff6b6b1a;border:1px solid #ff6b6b;border-radius:4px;font-size:.9rem;text-align:center}.admin-login-button{width:100%;padding:.75rem;background-color:var(--accent-fill);border:none;border-radius:4px;color:var(--on-accent);font-size:1rem;font-weight:700;cursor:pointer;transition:background-color .2s ease}.admin-login-button:hover:not(:disabled){background-color:var(--accent-fill-hover)}.admin-login-button:disabled{background-color:var(--neutral-fill);cursor:not-allowed}.admin-login-footer{background-color:var(--surface-3);padding:1rem 2rem;border-top:1px solid var(--border-muted);text-align:center}.admin-login-footer-link{color:var(--text-secondary);text-decoration:none;font-size:.9rem;transition:color .2s ease}.admin-login-footer-link:hover{color:var(--text-strong)}.admin-login-footer-button{background:none;border:none;color:var(--text-secondary);text-decoration:none;font-size:.9rem;cursor:pointer;padding:.5rem;border-radius:4px;transition:color .2s ease;font-family:inherit}.admin-login-footer-button:hover{color:var(--text-strong)}@media(max-width:480px){.admin-login-wrapper{margin:.5rem;max-width:none}.admin-login-header,.admin-login-content,.admin-login-footer{padding:1rem}.admin-login-title{font-size:1.25rem}}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;margin:0;flex-shrink:0;border-radius:999px;border:1px solid var(--border-muted);background:transparent;color:var(--text-secondary);cursor:pointer;transition:color .2s ease,background-color .2s ease,border-color .2s ease}.theme-toggle:hover,.theme-toggle:focus-visible{background:rgba(var(--wash-rgb),.08);border-color:var(--border-strong);color:var(--highlight)}.theme-toggle svg{display:block}.theme-toggle--header{margin-left:12px}.theme-toggle--topbar{width:40px;height:40px}.theme-toggle--floating{position:absolute;top:max(.75rem,env(safe-area-inset-top));right:max(.75rem,env(safe-area-inset-right));z-index:5;background:var(--surface-1);box-shadow:0 1px 3px #0003}@media(max-width:480px){.theme-toggle--header{margin-left:6px;width:40px;height:40px}}
