/* Shared portal palette, matching the financial report. */
:root{--navy:#19385c;--teal:#117a77;--ink:#19385c;--muted:#52677d;--line:#cedfeb;--bg:#f6f9fc;--accent-blue:#205680;--soft-blue:#edf3f8;--soft-teal:#e6f3f2}
body{background:var(--bg);color:var(--ink)}h1,h2,h3{color:var(--navy)}a{color:var(--teal)}.primary{background:var(--teal);color:#fff}.secondary{background:var(--soft-blue);color:var(--navy)}.white{background:#fff;color:var(--navy)}.topbar{background:var(--navy);color:#fff;border-color:var(--navy)}.topbar .muted{color:#d6e4ef}.topbar .badge{background:var(--accent-blue);color:#fff}.sidebar{border-color:var(--line)}nav>a,.subnav a{color:var(--muted)}nav a.selected,nav a[aria-current=page]{background:var(--soft-teal);color:var(--teal)}.brand small,.nav-label{color:var(--muted)}.badge,.module-icon{background:var(--soft-teal);color:var(--teal)}.badge.neutral,.future .module-icon{background:var(--soft-blue);color:var(--muted)}.hero{background:var(--navy)}.hero h2{color:#fff}.hero p{color:#d6e4ef}.hero .badge.light{background:var(--accent-blue);color:#fff}.hero-art span{background:#117a77;border-color:#4d9e9c}.hero-art span:nth-child(6){background:#5aa9a6}.notice{background:var(--soft-teal);color:#145b59}.error,.danger{background:#f4cccc;color:#772f2f}.low{background:#f4cccc}.good,.calendar-day.saved{background:#d9ead3;color:#284c29}.calendar-day.missing{background:#f4cccc}.calendar-day.pending{background:#fff2cc}.calendar-day{background:var(--soft-blue)}th{background:var(--navy);color:#fff}.report-table thead th{background:var(--navy)}.report-table tbody tr:nth-child(even){background:var(--bg)}.dropzone{border-color:#6b9eac;background:var(--soft-blue)}.dropzone.dragging{background:var(--soft-teal);border-color:var(--teal)}textarea{background:#fff}.invite-preview{border-color:var(--teal);background:var(--bg)}input:focus,select:focus,textarea:focus{outline-color:var(--teal)}input[type=checkbox],input[type=radio]{accent-color:var(--teal)}button:focus-visible,a:focus-visible,summary:focus-visible{outline-color:var(--accent-blue)}.module-tabs a{border-color:var(--line);color:var(--teal)}.module-tabs a:hover{background:var(--soft-teal)}.mobile-menu{background:var(--navy)}.card,.panel,.stats>div,.login-card{border-color:var(--line)}.stats strong,.metric{color:var(--navy)}footer,.event time,.event small,.coming{color:var(--muted)}
.absence-past td{background:#edf3f8;color:#52677d}.absence-past strong{font-weight:400}
