@font-face{font-family:Inter;src:url('/fonts/InterVariable.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
:root{--navy:#111827;--blue:#2563eb;--bright-blue:#2563eb;--ink:#111827;--muted:#6b7280;--line:#e5e7eb;--canvas:#f9fafb;--surface:#fff;--success:#059669;--warning:#d97706;--red:#dc2626;--shadow:0 1px 3px #00000012,0 1px 2px #0000000a;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}
body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:15px;line-height:1.6;background:var(--canvas)}h1,h2,h3,h4{color:var(--ink);letter-spacing:-.02em;line-height:1.3}h1,.section-intro h1,.page-heading h1,.login-copy h1{font-size:30px;font-weight:700;color:var(--ink)}h2,.portal-card h2,.calendar-heading h2{font-size:24px;font-weight:600}h3,.task-card h2{font-size:18px;font-weight:600}h4{font-size:16px;font-weight:600}a,.text-link{color:var(--blue)}button,a,summary{transition:background-color .15s,color .15s,border-color .15s}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.eyebrow,.subtle,.subtitle,.person-details span,.person-details p,.person-role,.account span,.report-hint,.nav-current,.task-card .multiline,.calendar-day>span,.calendar-event,.calendar-event small,.weekday,.overview span,.privacy-badge,.login-note,.progress-card p,.metric span{font-size:14px}.eyebrow{color:var(--muted);font-weight:600;letter-spacing:.06em}.button{height:auto;min-height:40px;padding:8px 16px;border:1px solid transparent;border-radius:8px;font-size:15px;font-weight:500;box-shadow:none;transform:none}.button:hover{transform:none}.button.primary{background:var(--blue);color:#fff;box-shadow:0 1px 2px #0000000d!important}.button.primary:hover{background:#1d4ed8}.button.ghost{background:white;border-color:var(--line);color:var(--ink)}.button.ghost:hover{background:var(--canvas)}.button.danger{background:#dc2626;color:#fff}.button:disabled{opacity:.5;cursor:not-allowed}.icon-button{border-radius:8px;background:var(--canvas);color:var(--muted)}label{font-size:14px;font-weight:500;color:var(--ink);gap:8px}input,select,textarea{font:inherit;color:var(--ink);background:white;border:1px solid var(--line);border-radius:8px;padding:8px 12px;min-height:40px}input::placeholder,textarea::placeholder{color:#9ca3af}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 2px #2563eb33}input[aria-invalid=true],textarea[aria-invalid=true]{border-color:#dc2626}input[type=checkbox]{min-height:18px;padding:0;accent-color:var(--blue)}.form-message.error{color:#dc2626}.form-message.success{color:#059669}.field-grid{gap:16px}.role-grid,.task-grid,.metric-grid{gap:24px}
.app-shell{padding-left:256px;min-height:100vh}.topbar{position:sticky;top:0;z-index:12;height:64px;min-height:64px;padding:0 32px;background:white;border-bottom:1px solid var(--line)}.compact-brand{gap:12px}.compact-brand>span,.brand-mark{background:var(--blue);border-radius:8px;letter-spacing:-.06em}.compact-brand strong{font-size:16px;color:var(--ink)}.account{gap:16px}.account strong{font-size:14px;font-weight:500}.workspace{width:100%;max-width:1280px;margin:auto;padding:48px 32px 64px}.page-heading,.section-intro{margin-bottom:32px}.section-intro>p:last-child{margin-top:12px}.portal-nav.compact-nav{position:fixed;inset:0 auto 0 0;width:256px;display:flex;flex-direction:column;align-items:stretch;flex-wrap:nowrap;padding:0 16px 24px;gap:4px;background:white;border-right:1px solid var(--line);overflow-y:auto;z-index:20}.sidebar-brand{display:flex;align-items:center;gap:12px;height:64px;min-height:64px;margin:0 -16px 16px;padding:0 24px;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none;font-weight:600}.sidebar-brand span{width:32px;height:32px;display:grid;place-items:center;color:white;background:var(--blue);border-radius:8px;font-size:14px}.portal-nav .button,.compact-nav summary{font-size:15px;min-height:40px;padding:8px 12px;font-weight:400;color:var(--muted);background:transparent;border:0;border-radius:8px;text-align:left;justify-content:flex-start;white-space:normal}.portal-nav .button:hover,.compact-nav summary:hover,.compact-nav .nav-group[open]>summary{background:var(--canvas);color:var(--ink)}.portal-nav .button[aria-current=page],.compact-nav summary[aria-current=page]{background:#eff6ff;color:var(--blue);font-weight:500}.compact-nav .nav-group{margin-top:8px}.compact-nav .nav-group-panel{position:static;min-width:0;max-width:none;box-shadow:none;padding:4px 0 4px 12px;margin:4px 0;background:white;border:0;border-radius:0;gap:4px}.compact-nav .nav-group-panel .button{color:var(--muted);background:white;font-size:14px}.compact-nav .nav-group-panel .button:hover{background:var(--canvas);color:var(--ink)}.compact-nav .nav-group-panel .button[aria-current=page]{color:var(--blue);background:#eff6ff}.compact-nav .nav-current{margin:24px 0 0;padding:12px;border-top:1px solid var(--line);color:var(--muted);font-size:14px}.sidebar-toggle{display:none}.sidebar-backdrop{display:none}
.portal-card,.registry-card,.role-card,.task-card,.metric,.calendar-panel,.person-card,.message-bubble{border:1px solid var(--line);border-radius:12px;background:white;box-shadow:var(--shadow)}.portal-card{padding:24px;margin:24px 0}.portal-card summary{font-weight:600;padding:4px}.portal-card h2{margin-top:0}.registry-card,.calendar-panel{box-shadow:none}.overview{background:white;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:24px;margin-bottom:32px;gap:24px;color:var(--ink)}.overview>div{border-color:var(--line)}.overview span{color:var(--muted)}.overview strong{font-size:32px;font-weight:600;letter-spacing:-.03em}.overview .text-link{color:var(--blue)}.progress-card{background:white;color:var(--ink);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:24px}.progress-card p{color:var(--muted)}.progress-track{background:#e5e7eb}.progress-track span{background:var(--blue)}.metric{padding:24px;min-height:120px}.metric::after{display:none}.metric strong{font-size:32px;font-weight:600}.status-pill,.season-badge{border-radius:6px;font-size:14px;font-weight:500;background:var(--canvas);color:var(--muted);border:1px solid var(--line);padding:2px 10px}.status-pill.late{color:#d97706;background:#fffbeb;border-color:#fde68a}.privacy-badge{border-radius:8px;background:#ecfdf5;color:#065f46;border-color:#a7f3d0;font-weight:400}.privacy-badge span{background:transparent}.table-wrap{border:1px solid var(--line);border-radius:12px;box-shadow:none;overflow:auto}table{font-size:15px}thead th{padding:12px 24px;background:var(--canvas);color:var(--muted);font-size:14px;font-weight:500;letter-spacing:0;text-transform:none}td{padding:16px 24px;border-color:var(--line);font-size:15px;color:var(--ink)}tbody tr:hover{background:var(--canvas)}.empty-state,.community-empty{min-height:120px;padding:64px 32px;background:white;border-color:var(--line);border-radius:12px}.community-empty>span{color:#d1d5db}.community-empty h2{font-size:18px;font-weight:600}.community-empty p{font-size:15px}.calendar-heading{padding:24px}.weekday{background:var(--canvas);color:var(--muted)}.calendar-day.blank{background:var(--canvas)}.calendar-event{background:#eff6ff;color:#1d4ed8;border-left-color:var(--blue)}.message-bubble.from-staff{background:var(--canvas)}.ticket-row{border-radius:12px;border-color:var(--line);padding:16px}.ticket-row:hover{border-color:#d1d5db}.ticket-kind{font-size:14px}.privacy-note{background:#fffbeb;border:1px solid #fde68a;color:#92400e;border-radius:8px;font-size:14px}#portal-message:not(:empty){background:#eff6ff;border:1px solid #bfdbfe;color:#1d4ed8;border-radius:8px;padding:16px;font-size:14px;font-weight:400}.save-dock{border-radius:12px;box-shadow:var(--shadow)}.report-section-nav .button{font-size:14px;background:white;border:1px solid var(--line);color:var(--ink)}.report-tabs .button{font-size:14px}.report-tabs{flex-wrap:wrap}.squad-dialog{border-radius:12px;box-shadow:0 20px 25px -5px #00000014,0 10px 10px -5px #00000008}.dialog-head h2{font-size:24px}.role-card-head h2{font-size:18px}.person-role{text-transform:none;letter-spacing:0;font-weight:500}
.login-screen{display:flex;justify-content:center;align-items:center;min-height:100vh;background:var(--canvas);padding:32px 16px}.login-panel{display:block;padding:32px;max-width:460px;background:white;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}.brand-lockup{margin:0 0 32px}.brand-lockup strong{font-size:18px}.brand-lockup span{font-size:14px}.login-copy h1{font-size:30px;line-height:1.3}.login-copy>p:last-child{font-size:15px;margin:16px 0 24px;line-height:1.6}.login-form{gap:16px}.login-form .button{min-height:40px;margin-top:8px}.login-note{margin:24px 0 0}.login-art{display:none}.loader-mark span{background:var(--blue)}.loader-mark span:nth-child(2){background:#d1d5db}
@media(max-width:1000px){.app-shell{padding-left:0}.sidebar-toggle{display:inline-flex;margin-right:12px}.topbar{padding:0 24px}.topbar>.compact-brand{margin-right:auto}.portal-nav.compact-nav{transform:translateX(-100%);visibility:hidden;transition:transform .2s,visibility .2s}.app-shell.sidebar-open .portal-nav{transform:translateX(0);visibility:visible}.app-shell.sidebar-open .sidebar-backdrop{display:block;position:fixed;inset:0;background:#11182766;z-index:19;border:0;border-radius:0}.workspace{padding:32px 24px 64px}}
@media(max-width:600px){.topbar{padding:0 16px;height:64px}.compact-brand strong{display:none}.account{gap:8px}.account strong{font-size:14px;max-width:135px}.account span{font-size:14px}.account .button{padding:8px 12px;font-size:14px}.workspace{width:100%;padding:32px 16px 64px}.portal-card,.role-card{padding:20px}.page-heading h1,.section-intro h1{font-size:30px}.field-grid,.role-grid{grid-template-columns:minmax(0,1fr)}.field-grid>*{min-width:0}.overview{padding:20px;gap:16px}.overview>div:last-child{border-color:var(--line)}.task-grid{grid-template-columns:1fr}.metric-grid{gap:16px}.metric{padding:16px}.calendar-day{min-height:90px}.calendar-event{padding:4px}.login-panel{padding:24px}.report-section-nav .button,.report-tabs .button{font-size:14px}.section-tools label{min-width:0}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}

/* Neutral sign-in screen. */
.login-screen .brand-mark{background:#374151}.login-screen .button.primary{background:#374151;border-color:#374151;color:#fff}.login-screen .button.primary:hover{background:#1f2937;border-color:#1f2937}.login-screen .eyebrow{color:#6b7280}.login-screen input:focus{border-color:#6b7280;box-shadow:0 0 0 2px #6b728033}.login-screen a{color:#374151}.login-screen button:focus-visible,.login-screen a:focus-visible{outline-color:#6b7280}

/* Warm neutral sign-in palette with the supplied organisation mark. */
.brand-logo{display:block;width:48px;height:56px;object-fit:contain;object-position:center;mix-blend-mode:multiply;transform:scale(1.65);flex-shrink:0}.brand-lockup{gap:20px}.compact-brand .brand-logo,.sidebar-brand .brand-logo{width:32px;height:38px;transform:scale(1.5)}.sidebar-brand{gap:16px}.login-screen{background:#f6f4ee}.login-screen .login-panel{background:#fffdf8;border-color:#e3dfd3}.login-screen .button.primary{background:#275d73;border-color:#275d73;color:#fff}.login-screen .button.primary:hover{background:#204d60;border-color:#204d60}.login-screen input{background:#fffefa;border-color:#d8ddd8}.login-screen input:focus{border-color:#537b89;box-shadow:0 0 0 2px #537b8933}.login-screen a{color:#275d73}.login-screen button:focus-visible,.login-screen a:focus-visible{outline-color:#537b89}

.brand-logo{mix-blend-mode:normal}
.brand-logo,.compact-brand .brand-logo,.sidebar-brand .brand-logo{transform:none;filter:none;mix-blend-mode:normal}

/* Requested shared typography and larger organisation mark. */
body,body *{font-family:Arial,Helvetica,sans-serif!important}
.brand-lockup .brand-logo{width:64px;height:72px}.compact-brand .brand-logo,.sidebar-brand .brand-logo{width:40px;height:46px}
