:root{color-scheme:dark;--accent:#b5f268;--bg:#111310;--panel:#1d211b;--line:#343c30;--text:#f3f5ee;--muted:#a7afa0}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.55 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button,input{font:inherit}button,a,input{outline-offset:5px}button{cursor:pointer}h1,h2,p{margin-top:0}h1{font-size:clamp(2rem,4.8vw,3.6rem);line-height:1.12;letter-spacing:-.045em;margin-bottom:18px}h2{font-size:1.35rem;letter-spacing:-.025em}.shell{max-width:1240px;margin:auto;padding:0 36px}header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:30px 0;border-bottom:1px solid var(--line)}.brand{display:flex;gap:12px;align-items:center;font-weight:700}.brand small{display:block;font-size:10px;letter-spacing:.2em;color:var(--muted)}.brand img{width:44px;height:44px;object-fit:contain}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--accent);border-radius:12px;color:var(--accent);font-size:25px}nav{display:flex;align-items:center;gap:22px;font-size:14px}nav form{margin:0}.quiet{color:var(--text);background:transparent;border:1px solid var(--line);padding:8px 12px;border-radius:8px}main{min-height:70vh;padding:52px 0 64px}.intro{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;gap:20px}.eyebrow{font-size:11px;letter-spacing:.18em;color:var(--accent);font-weight:700;margin-bottom:15px}.muted{color:var(--muted)}.small{font-size:13px}.accent{color:var(--accent)}.badge{font-size:12px;border:1px solid var(--line);padding:7px 12px;border-radius:30px;white-space:nowrap}.notice,.errors{border:1px solid var(--line);background:#20271d;padding:16px 20px;border-radius:12px;margin-bottom:24px;font-size:14px}.errors{background:#3b2020;border-color:#925959}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.card{background:var(--panel);border:1px solid var(--line);padding:24px;border-radius:20px;min-height:237px;transition:transform .15s,border-color .15s;display:flex;flex-direction:column}.card:hover{transform:translateY(-3px);border-color:var(--accent);text-decoration:none}.card-top{display:flex;justify-content:space-between;color:var(--accent);margin-bottom:28px}.module-number{font-size:12px;letter-spacing:.1em}.card p{font-size:14px;color:var(--muted);margin-bottom:26px}.card-bottom{font-size:11px;color:var(--muted);margin-top:auto}.panel{background:var(--panel);border:1px solid var(--line);padding:36px;border-radius:22px;margin-top:24px}.auth{max-width:520px;margin:16px auto}.auth h1{font-size:2.6rem}form label{display:grid;gap:7px;margin:20px 0;font-size:14px}input{width:100%;border:1px solid #515b49;background:#141811;color:var(--text);border-radius:8px;padding:12px}input[type=color]{height:48px;width:100px;padding:4px}input[type=file]{font-size:13px}button.primary{background:var(--text);color:#111;border:0;border-radius:9px;padding:12px 20px;font-weight:700;margin:8px 18px 12px 0}.settings{max-width:660px}dl{display:grid;grid-template-columns:150px 1fr;gap:12px}dt{color:var(--muted)}dd{margin:0;overflow-wrap:anywhere}footer{display:flex;gap:16px;align-items:center;padding:24px 0;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}footer strong{color:var(--text);font-size:19px;letter-spacing:-.06em}footer strong span{font-size:9px;vertical-align:super;margin-left:2px}.back{color:var(--muted);font-size:14px}.skip{position:absolute;left:-9999px}.skip:focus{left:20px;top:8px;background:#111;padding:10px;z-index:1}@media(max-width:800px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.shell{padding:0 20px}.card{padding:22px}.intro{align-items:flex-start}}@media(max-width:430px){.shell{padding:0 16px}header{padding:22px 0;flex-wrap:wrap}nav{gap:16px}main{padding-top:32px}.grid{gap:12px}.card{padding:18px;min-height:220px;border-radius:16px}.card h2{font-size:1.12rem}.card p{font-size:13px}.card-top{margin-bottom:22px}.intro{display:block}.intro .badge{display:inline-block}.panel{padding:22px}.auth h1{font-size:2rem}dl{grid-template-columns:1fr;gap:4px}dd{margin-bottom:16px}}@media(prefers-reduced-motion:reduce){.card{transition:none}.card:hover{transform:none}}

.staff-search{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin:22px 0}.staff-search label{flex:1;min-width:220px;margin:0}.staff-search button{min-height:46px}.staff-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px}.staff-table{width:100%;border-collapse:collapse;min-width:730px;font-size:14px}.staff-table th,.staff-table td{padding:14px 16px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}.staff-table th{color:var(--muted);font-weight:600}.staff-table tr:last-child td{border-bottom:0}.staff-table td{overflow-wrap:anywhere}.staff-pagination{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:22px}.staff-pagination a{padding:8px 12px;border:1px solid var(--line);border-radius:8px}.staff-pagination .muted{opacity:.65}@media(max-width:600px){.staff-search button{width:100%}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.month-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:22px 0}.month-heading h2{margin:0}.month-heading .quiet{font-size:13px;padding:10px}.company-calendar-scroll{overflow-x:auto}.company-calendar{display:grid;grid-template-columns:repeat(7,minmax(95px,1fr));min-width:690px;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:10px;overflow:hidden}.calendar-weekday{padding:10px;text-align:center;font-size:12px;color:var(--muted);background:var(--panel)}.calendar-day{min-height:118px;padding:10px;background:var(--bg);overflow-wrap:anywhere}.calendar-day strong{font-size:13px}.calendar-empty{opacity:.45}.calendar-event{display:block;margin-top:7px;padding:5px 6px;background:#2c3824;border-left:2px solid var(--accent);border-radius:4px;font-size:12px;line-height:1.35}.calendar-subscription{margin-top:30px;padding-top:22px;border-top:1px solid var(--line)}.calendar-subscription input{font-size:13px}textarea{width:100%;border:1px solid #515b49;background:#141811;color:var(--text);border-radius:8px;padding:12px;font:inherit}textarea:focus{outline-offset:5px}@media(max-width:600px){.month-heading h2{font-size:1.1rem}.month-heading .quiet{font-size:12px}}

select{width:100%;border:1px solid #515b49;background:#141811;color:var(--text);border-radius:8px;padding:12px;font:inherit}
.calendar-legend{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0}.calendar-legend .calendar-event{margin:0;padding:6px 9px}.calendar-event{color:#111310!important;font-weight:650;border-left-width:4px!important}.kind-leave-pending{background:#e9bf58!important;border-color:#b88628!important}.kind-leave-approved{background:#ee7777!important;border-color:#b44242!important}.kind-leave-annual{background:#ee7777!important;border-color:#b44242!important}.kind-leave-emergency{background:#f2a363!important;border-color:#bb6531!important}.kind-leave-medical{background:#b9a3ef!important;border-color:#7e61b7!important}.kind-leave-unpaid{background:#7bc7f4!important;border-color:#35749b!important}.kind-leave-rejected{background:#8f9592!important;border-color:#555!important}.kind-attendance-exception,.kind-attendance-private{background:#abb4b5!important;border-color:#5c686a!important}.kind-company-event,.kind-company-notice{background:#a5d29d!important;border-color:#598e59!important}.kind-company-holiday{background:#71cfbf!important;border-color:#25897f!important}.kind-company-dinner{background:#e9bdee!important;border-color:#a877bb!important}.dashboard-calendar{margin-top:30px}.review-entry{border-top:1px solid var(--line);padding:16px 0}.review-entry p{margin:0 0 10px}.calendar-day .calendar-event{font-size:11px}.panel .calendar-event{white-space:normal}

.kind-leave-maternity{background:#ef9ebc!important;border-color:#bd5b8c!important}

/* Support issue form, kept consistent with the OnHypp Sites charcoal/lime palette. */
.software-issue-form{max-width:770px}.software-issue-form h1{font-size:clamp(2rem,3.8vw,2.8rem)}
.software-issue-form textarea{min-height:170px}
.footer-support{margin-left:auto;color:var(--accent);font-size:12px}
@media(max-width:700px){footer{flex-wrap:wrap}.footer-support{margin-left:0}}

/* Professional profile, assessments, credentials and clearance */
.profile-record{border-top:1px solid var(--line);padding:15px 0;overflow-wrap:anywhere}.profile-record strong{color:var(--text)}.profile-record p{margin:7px 0;color:var(--muted);font-size:13px}.profile-form{padding-top:20px;border-top:1px solid var(--line);margin-top:22px}.profile-form h3{font-size:17px}.profile-form-dates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.profile-inline-form{margin-top:22px;padding-top:15px;border-top:1px solid var(--line)}.profile-inline-form label{max-width:420px}@media(max-width:560px){.profile-form-dates{grid-template-columns:1fr}} 

/* Certification expiry and annual performance review status */
.profile-status{display:inline-block;margin-left:8px;border:1px solid var(--line);border-radius:999px;padding:3px 9px;color:var(--text);font-size:11px;vertical-align:middle}
.profile-due-soon{background:#514728;border-color:#a28a3d;color:#ffeaac}
.profile-overdue{background:#573034;border-color:#bb6062;color:#ffbdbf}
@media(max-width:560px){.profile-status{margin:6px 0 0}}

/* Administrator-only installation storage setup. */
.storage-setup{max-width:1050px}.storage-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:22px}
.storage-tile{border:1px solid var(--line);background:#282e29;border-radius:14px;padding:20px}
.storage-tile strong{display:block;font-size:19px;margin:12px 0 9px;overflow-wrap:anywhere}
.storage-tile p{margin:0 0 10px}.storage-state{display:inline-block;background:#32492d;border:1px solid #53774a;color:var(--accent);border-radius:50px;font-size:11px;padding:4px 10px;margin-bottom:13px}
.storage-pending{color:#ead69b;background:#544528;border-color:#83734c}
.storage-step-label{margin:30px 0 6px}.storage-warning{margin:18px 0;padding:16px;border:1px solid #756538;border-radius:12px;background:#322e21;color:#ead69b;font-size:13px}
.storage-checklist{padding-left:23px;line-height:1.6}.storage-checklist li{margin:10px 0}
@media(max-width:800px){.storage-overview{grid-template-columns:1fr}}

/* Bounded private-file usage reports; never imply cPanel whole-account quota. */
.storage-measurement{padding:16px 0;border-top:1px solid var(--line)}.storage-measurement strong{font-size:1.5rem}.storage-measurement .muted{font-size:12px}
.storage-meter{display:block;width:100%;height:19px;margin:12px 0 18px;accent-color:var(--accent)}
.storage-alert-warn,.storage-alert-danger{padding:12px 15px;border-radius:10px;font-weight:600;font-size:13px}
.storage-alert-warn{background:#4b4028;color:#ffe7a5}.storage-alert-danger{background:#542c30;color:#ffbcbc}
