@import "https://fonts.googleapis.com/css2?family=Poppins:wght@500;600;700&family=Inter:wght@400;500;600;700&display=swap";:root{--blue-900:#003563;--blue-800:#00457e;--blue-700:#0057a8;--blue-600:#0069b5;--blue-500:#0082c8;--blue-200:#c3e1f3;--blue-100:#e8f4fb;--ink-900:#1a2224;--ink-800:#243231;--ink-700:#3a4649;--ink-600:#54615f;--ink-500:#6b7679;--ink-400:#8b9598;--ink-300:#aab3b5;--ink-200:#ccd2d3;--ink-100:#e6e9e9;--ink-50:#f4f6f6;--white:#fff;--green-600:#2f7d5a;--green-100:#e6f3ec;--red-600:#b3382c;--red-100:#f8e6e3;--color-primary:var(--blue-700);--color-primary-hover:var(--blue-800);--color-primary-active:var(--blue-900);--surface-page:var(--white);--surface-alt:var(--ink-50);--surface-dark:var(--ink-900);--surface-card:var(--white);--text-primary:var(--ink-900);--text-secondary:var(--ink-600);--text-muted:var(--ink-400);--border-default:var(--ink-200);--border-strong:var(--ink-400);--font-display:"Poppins", ui-sans-serif, system-ui, sans-serif;--font-body:"Inter", ui-sans-serif, system-ui, sans-serif;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--radius-sm:2px;--radius-md:4px;--radius-lg:8px;--radius-pill:999px;--shadow-sm:0 1px 2px #1a222414;--shadow-md:0 4px 12px #1a22241a;--ease-standard:cubic-bezier(.4, 0, .2, 1);--duration-fast:.12s;--duration-normal:.2s;font-family:var(--font-body);color:var(--text-primary);background:var(--surface-alt);font-synthesis:none;text-rendering:optimizelegibility}*{box-sizing:border-box}html{background:var(--surface-alt)}body{min-width:320px;min-height:100vh;margin:0}button,input,textarea{font:inherit}button{transition:background var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard)}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--blue-200);outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.5}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-loading{place-content:center;justify-items:center;gap:var(--space-4);background:var(--white);min-height:100vh;color:var(--text-secondary);display:grid}.app-loading img{width:190px;height:auto}.loading-indicator{border-radius:var(--radius-pill);background:var(--blue-100);width:32px;height:3px;position:relative;overflow:hidden}.loading-indicator:after{content:"";background:var(--blue-700);width:45%;animation:1s ease-in-out infinite alternate loading;position:absolute;inset:0}@keyframes loading{to{transform:translate(125%)}}.login-shell{background:var(--white);grid-template-columns:minmax(360px,45%) 1fr;min-height:100vh;display:grid}.login-brand{min-height:100vh;color:var(--white);background:var(--surface-dark);flex-direction:column;justify-content:space-between;padding:clamp(36px,6vw,80px);display:flex}.login-brand img{filter:brightness(0)invert();width:min(260px,72%)}.login-brand>div{max-width:570px}.login-brand h1{margin:var(--space-4) 0;font:600 clamp(2.2rem, 4.3vw, 4rem)/1.08 var(--font-display);letter-spacing:-.025em}.login-brand p{color:var(--ink-200);line-height:1.65}.login-brand-note{margin:0;font-size:.875rem}.login-panel{padding:var(--space-7);background:var(--surface-alt);place-items:center;display:grid}.login-card{border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-card);width:min(440px,100%);box-shadow:var(--shadow-md);padding:clamp(28px,5vw,48px)}.login-card h2{margin:var(--space-3) 0 var(--space-2);font:600 clamp(1.7rem, 3vw, 2.25rem)/1.2 var(--font-display)}.login-intro{margin:0 0 var(--space-6);color:var(--text-secondary);line-height:1.55}.login-card form{gap:var(--space-4);display:grid}.field{gap:var(--space-2);display:grid}.field label,.event-form label{color:var(--ink-700);font-size:.875rem;font-weight:600}.field input,.event-form input,.event-form textarea{border:1px solid var(--border-default);border-radius:var(--radius-md);width:100%;color:var(--text-primary);background:var(--white);padding:11px 12px}.field input:hover,.event-form input:hover,.event-form textarea:hover{border-color:var(--border-strong)}.field input:focus,.event-form input:focus,.event-form textarea:focus{border-color:var(--blue-700);outline:3px solid var(--blue-100)}.login-submit{width:100%;margin-top:var(--space-2)}.login-security{margin:var(--space-5) 0 0;color:var(--text-muted);text-align:center;font-size:.75rem}.form-error{border-radius:var(--radius-md);padding:var(--space-3);color:var(--red-600);background:var(--red-100)}.primary-button,.secondary-button,.error-state button{border-radius:var(--radius-md);cursor:pointer;justify-content:center;align-items:center;min-height:42px;padding:10px 18px;font-weight:600;display:inline-flex}.primary-button,.error-state button{color:var(--white);background:var(--color-primary);border:1px solid #0000}.primary-button:hover,.error-state button:hover{background:var(--color-primary-hover)}.primary-button:active,.error-state button:active{background:var(--color-primary-active)}.secondary-button{border:1px solid var(--blue-700);color:var(--blue-700);background:0 0}.secondary-button:hover{background:var(--blue-100)}.app-shell{background:var(--surface-alt);min-height:100vh}.app-header{justify-content:space-between;align-items:center;gap:var(--space-5);border-bottom:1px solid var(--border-default);background:var(--white);height:76px;padding:0 max(24px,50vw - 600px);display:flex}.brand-lockup{align-items:center;gap:var(--space-4);display:flex}.brand-lockup img{width:174px;height:auto}.brand-lockup span{border-left:1px solid var(--border-default);padding-left:var(--space-4);color:var(--text-secondary);letter-spacing:.08em;text-transform:uppercase;font-size:.8rem;font-weight:600}.session-actions{align-items:center;gap:var(--space-4);display:flex}.session-email{color:var(--text-secondary);font-size:.875rem}.dashboard-shell{width:min(1200px,100% - 48px);padding:var(--space-7) 0 var(--space-8);margin:0 auto}.dashboard-intro{justify-content:space-between;align-items:flex-end;gap:var(--space-6);margin-bottom:var(--space-6);display:flex}.dashboard-intro h1{margin:var(--space-2) 0;font:600 clamp(2rem, 4vw, 3rem)/1.12 var(--font-display);letter-spacing:-.02em}.dashboard-intro>div>p:last-child{max-width:720px;color:var(--text-secondary);margin:0;line-height:1.55}.eyebrow{color:var(--blue-700);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.75rem;font-weight:700}.eyebrow-on-dark{color:var(--blue-300)}.status-badge{align-items:center;gap:var(--space-2);border-radius:var(--radius-pill);color:var(--green-600);background:var(--green-100);flex:none;padding:7px 12px;font-size:.75rem;font-weight:600;display:inline-flex}.status-badge span{background:currentColor;border-radius:50%;width:7px;height:7px}.dashboard-card,.events-panel{border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-card);box-shadow:var(--shadow-sm);padding:clamp(20px,3vw,36px)}.chart-heading,.events-heading{justify-content:space-between;align-items:flex-end;gap:var(--space-5);display:flex}.chart-heading h2,.events-heading h2{margin:var(--space-2) 0 0;font:600 clamp(1.45rem, 2.5vw, 2rem)/1.25 var(--font-display)}.chart-summary,.events-heading>p{color:var(--text-secondary);margin:0;font-weight:600}.reference-note{margin:var(--space-5) 0 0;border-radius:var(--radius-md);color:var(--ink-700);background:var(--ink-50);padding:6px 10px;font-size:.8rem;display:inline-block}.chart-container{width:100%;height:380px;margin-top:var(--space-3)}.empty-state,.loading-state,.error-state{text-align:center;min-height:220px;color:var(--text-secondary);place-content:center;justify-items:center;display:grid}.error-state{gap:var(--space-4)}.error-state p{margin:0}.events-panel{margin-top:var(--space-5)}.event-form{gap:var(--space-4);margin-top:var(--space-5);border-top:1px solid var(--ink-100);padding-top:var(--space-5);grid-template-columns:1fr 2fr;display:grid}.event-form label{gap:var(--space-2);display:grid}.event-form textarea{resize:vertical;min-height:92px}.event-form-actions{align-items:center;gap:var(--space-3);grid-column:1/-1;display:flex}.event-form-actions button:not(.secondary-button),.events-list button{border:1px solid var(--blue-700);border-radius:var(--radius-md);color:var(--white);background:var(--blue-700);cursor:pointer;padding:9px 15px}.events-empty{margin:var(--space-5) 0 0;border:1px dashed var(--border-default);border-radius:var(--radius-md);padding:var(--space-5);color:var(--text-secondary);text-align:center}.events-list,.event-details ul{margin:var(--space-5) 0 0;gap:0;padding:0;list-style:none;display:grid}.events-list li{justify-content:space-between;gap:var(--space-5);border-top:1px solid var(--ink-100);padding:var(--space-4) 0;display:flex}.events-list li>div:first-child{gap:var(--space-1);display:grid}.events-list li>div:last-child{align-items:flex-start;gap:var(--space-2);display:flex}.events-list p,.event-details p{color:var(--text-secondary);margin:0}.events-list time,.event-details time{color:var(--blue-700);font-size:.8rem;font-weight:600}.events-list small{width:max-content;margin-top:var(--space-1);border-radius:var(--radius-pill);color:var(--ink-700);background:var(--ink-100);padding:3px 8px}.events-list button{color:var(--blue-700);background:0 0}.events-list button:hover{background:var(--blue-100)}.event-marker{cursor:pointer;color:#fff}.event-marker circle{fill:var(--blue-800);stroke:var(--white);stroke-width:3px}.event-marker text{fill:#fff;pointer-events:none;font-size:10px;font-weight:700}.event-marker:focus{outline:none}.event-marker:focus circle{stroke:var(--blue-300);stroke-width:5px}.event-details{margin-top:var(--space-4);border:1px solid var(--blue-200);border-radius:var(--radius-lg);padding:var(--space-4);background:var(--blue-100)}.event-details h3{margin:0;font-size:1rem}.event-details li{gap:var(--space-1);padding:var(--space-2) 0;display:grid}@media (width<=800px){.login-shell{grid-template-columns:1fr}.login-brand{gap:var(--space-7);min-height:auto;padding:var(--space-6)}.login-brand h1{font-size:2.25rem}.login-panel{padding:var(--space-5)}.app-header{height:auto;padding:var(--space-4) var(--space-5);align-items:flex-start}.brand-lockup span,.session-email{display:none}.dashboard-shell{width:min(100% - 24px,1200px);padding:var(--space-5) 0 var(--space-7)}.dashboard-intro,.chart-heading,.events-heading{flex-direction:column;align-items:flex-start}.event-form{grid-template-columns:1fr}.events-list li{flex-direction:column}.chart-container{height:320px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
