:root{
  --bg:#f4f7f5;--panel:#fff;--ink:#17231f;--muted:#64736d;--line:#dce5e1;
  --brand:#163c34;--brand-2:#276356;--soft:#e8f0ed;--green:#2f7d5f;--amber:#b7791f;
  --red:#b7473e;--blue:#356ea8;--shadow:0 12px 32px rgba(18,48,41,.08);--radius:18px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:15px;line-height:1.5}a{color:var(--brand-2);text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(2rem,4vw,3.2rem);line-height:1.03;letter-spacing:-.045em;margin-bottom:.55rem}h2{font-size:1.35rem;letter-spacing:-.025em;margin-bottom:.35rem}h3{font-size:1rem;margin-bottom:.3rem}small{color:var(--muted)}
.skip-link{position:fixed;left:-9999px;top:8px;background:#fff;padding:10px;z-index:99}.skip-link:focus{left:8px}.hidden{display:none!important}.muted{color:var(--muted)}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-weight:800;font-size:.72rem;color:var(--brand-2);margin-bottom:.45rem}.top-gap{margin-top:18px}.span-two{grid-column:1/-1}
.topbar{height:74px;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:30;backdrop-filter:blur(16px)}.brand{display:flex;align-items:center;gap:11px;color:var(--ink)}.brand-mark,.login-logo{width:38px;height:38px;border-radius:12px;background:var(--brand);color:#fff;display:grid;place-items:center;font-weight:900;font-size:1.2rem}.brand span:last-child{display:flex;flex-direction:column}.brand small{font-size:.68rem}.top-actions{display:flex;align-items:center;gap:12px}.user-chip{display:flex;flex-direction:column;text-align:right}.user-chip small{font-size:.7rem}.icon-button{width:38px;height:38px;border:1px solid var(--line);background:#fff;border-radius:11px;color:var(--ink)}
.app-shell{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:calc(100vh - 74px)}.sidebar{background:#fff;border-right:1px solid var(--line);padding:18px 14px 24px;display:flex;flex-direction:column;gap:14px;position:sticky;top:74px;height:calc(100vh - 74px);overflow:auto}.sidebar nav{display:flex;flex-direction:column;gap:5px}.nav-link{display:flex;gap:10px;align-items:center;padding:11px 12px;border-radius:12px;color:#41504a;font-weight:700}.nav-link span{width:18px;text-align:center}.nav-link:hover,.nav-link.active{background:var(--soft);color:var(--brand)}.nav-link.subtle{margin-top:auto}.org-switcher{padding:8px;background:var(--soft);border-radius:12px}.org-switcher label{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.org-switcher select{width:100%;border:0;background:transparent;font-weight:800;padding:6px 0}.sidebar-note{border:1px solid var(--line);border-radius:14px;padding:13px;margin-top:auto}.sidebar-note p{font-size:.78rem;color:var(--muted);margin:.35rem 0}.sidebar-note a{font-size:.78rem;font-weight:800}.main-content{padding:28px clamp(18px,3vw,42px) 80px;min-width:0}.guest-main{min-height:calc(100vh - 38px);display:grid;place-items:center;padding:30px}.site-footer{text-align:center;color:#82908a;font-size:.68rem;padding:12px}.mobile-nav{display:none}
.flash{padding:12px 16px;border-radius:12px;margin-bottom:16px;font-weight:700}.flash-success{background:#e5f4eb;color:#235f47}.flash-error{background:#fdebea;color:#8a312c}.page-head{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-bottom:24px}.page-head>div:first-child{max-width:800px}.page-head p:last-child{color:var(--muted);margin-bottom:0}.page-head.compact h1{font-size:clamp(1.9rem,3vw,2.6rem)}
.score-orb{min-width:150px;height:150px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;border:9px solid var(--soft);background:#fff;box-shadow:var(--shadow)}.score-orb strong{font-size:2.7rem;line-height:.9}.score-orb span{font-size:.8rem;color:var(--muted)}.score-orb small{text-align:center;max-width:110px;margin-top:5px}.score-orb.large{min-width:180px;height:180px}.score-orb.tone-red,.score-mini.tone-red{border-color:#f1c8c5}.score-orb.tone-amber,.score-mini.tone-amber{border-color:#f1d9b1}.score-orb.tone-green,.score-mini.tone-green{border-color:#b9dfce}.score-orb.tone-blue,.score-mini.tone-blue{border-color:#bfd5ea}.text-red{color:var(--red)}.text-amber{color:var(--amber)}.text-green{color:var(--green)}.text-blue{color:var(--blue)}
.today-summary,.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:20px}.today-summary article,.metric-grid article{background:#fff;border:1px solid var(--line);border-radius:14px;padding:15px;display:flex;flex-direction:column}.today-summary strong,.metric-grid strong{font-size:1.35rem}.today-summary span,.metric-grid span{color:var(--muted);font-size:.78rem}.today-summary article.attention{border-color:#e9bd78;background:#fffaf1}.closing-reminder{background:#fff4de;border:1px solid #e7c481;color:#6d4b16;border-radius:14px;padding:13px 16px;margin-bottom:18px;display:flex;gap:8px}.notice{padding:14px 16px;border-radius:14px;margin-bottom:18px}.notice-amber{background:#fff6e8;border:1px solid #edcd97;color:#704e17}.notice-blue{background:#edf5fb;border:1px solid #c8ddec;color:#285274}
.task-section{margin:26px 0}.section-title{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.section-title h2,.section-title p{margin-bottom:0}.count-pill{background:var(--soft);border-radius:999px;padding:5px 10px;font-weight:800;font-size:.75rem}.task-list{display:flex;flex-direction:column;gap:9px}.task-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px;display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;box-shadow:0 5px 15px rgba(18,48,41,.025)}.task-card.completed{opacity:.72;background:#fafcfb}.task-card.completed h3{text-decoration:line-through}.task-card.rolled{border-left:4px solid var(--amber)}.task-check{width:36px;height:36px;border:2px solid #9eafa8;border-radius:11px;background:#fff;color:#fff;font-weight:900;font-size:1.1rem}.completed .task-check{background:var(--green);border-color:var(--green)}.static-check{display:grid;place-items:center;background:var(--brand);border-color:var(--brand)}.task-main{min-width:0}.task-main h3{margin-bottom:.25rem}.task-main>p{color:var(--muted);font-size:.85rem;margin-bottom:.4rem}.task-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:var(--muted);font-size:.7rem;margin-bottom:5px}.tag,.status-chip{display:inline-flex;align-items:center;border-radius:999px;padding:3px 8px;font-size:.66rem;font-weight:800;background:#eef2f0;color:#51605a}.priority-critical{background:#fde8e6;color:#993a32}.priority-high{background:#fff0d9;color:#805314}.priority-normal{background:#e9f1ef;color:#315f53}.priority-low{background:#f0f2f1;color:#65716d}.tag-rollover{background:#fff1d9;color:#77511b}.tag-improvement{background:#e9e6fa;color:#4f448e}.task-status-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:.72rem;color:var(--muted)}.progress-track{width:110px;height:7px;border:0;border-radius:999px;overflow:hidden;accent-color:var(--green)}.task-details{margin-top:8px}.task-details summary{color:var(--brand-2);font-size:.75rem;font-weight:800;cursor:pointer}.task-update-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;background:#f7faf8;border-radius:12px;padding:12px;margin-top:8px}.improvement-section{background:#f5f3ff;border:1px solid #ddd7f6;border-radius:18px;padding:16px}.improvement-card{border-color:#d8d1f2}.status-submitted{background:#fff0d9;color:#805314}
label{display:flex;flex-direction:column;gap:5px;font-size:.75rem;font-weight:800;color:#46544f}input,select,textarea{width:100%;border:1px solid #cad5d1;background:#fff;border-radius:10px;padding:10px 11px;color:var(--ink);outline:none}input:focus,select:focus,textarea:focus{border-color:var(--brand-2);box-shadow:0 0 0 3px rgba(39,99,86,.1)}textarea{resize:vertical}.stack-form{display:flex;flex-direction:column;gap:13px}.compact-form{margin-top:10px;max-width:620px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-help{font-size:.72rem;color:var(--muted);margin-top:10px}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.inline-form{display:flex;gap:8px;align-items:end;flex-wrap:wrap}.inline-form input,.inline-form select{min-width:160px;flex:1}.button{border:1px solid transparent;border-radius:11px;padding:10px 14px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:6px}.button-primary{background:var(--brand);color:#fff}.button-secondary{background:var(--soft);color:var(--brand);border-color:#ccdad5}.button-quiet{background:#fff;color:var(--brand);border-color:var(--line)}.button-danger{background:#fff1ef;color:#9b342e;border-color:#ecc6c2}.button-small{padding:6px 9px;font-size:.7rem}.button-wide{width:100%}
.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}.narrow-panel{max-width:680px}.two-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.closing-panel{background:var(--brand);color:#fff;border-radius:20px;padding:22px;display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.8fr);gap:20px;align-items:center;margin-top:28px}.closing-panel .eyebrow,.closing-panel p{color:#c9dbd5}.closing-actions{display:flex;flex-direction:column;gap:10px}.submit-day-form{display:flex;gap:10px}.submit-day-form textarea{min-height:46px}.attendance-details{position:relative}.attendance-details>summary{list-style:none;cursor:pointer}.floating-form{background:#fff;color:var(--ink);padding:14px;border-radius:14px;margin-top:8px}.closing-panel .button-quiet{align-self:flex-start}
.login-shell{width:min(1100px,100%);display:grid;grid-template-columns:1.15fr .75fr;gap:30px;align-items:center}.login-intro{padding:30px}.login-intro .login-logo{width:50px;height:50px;margin-bottom:24px}.login-intro p{color:var(--muted);font-size:1.02rem;max-width:680px}.boundary-cards{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:24px}.boundary-cards article{background:#fff;border:1px solid var(--line);padding:16px;border-radius:14px;display:flex;flex-direction:column}.boundary-cards span{color:var(--muted);font-size:.78rem;margin-top:4px}.login-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:28px;box-shadow:var(--shadow)}
.report-tabs{display:flex;gap:6px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:5px;width:max-content;max-width:100%;overflow:auto;margin-bottom:18px}.report-tabs a{padding:8px 13px;border-radius:10px;font-weight:800;color:#5b6964;white-space:nowrap}.report-tabs a.active{background:var(--brand);color:#fff}.report-hero{background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px;display:flex;align-items:center;gap:24px;margin-bottom:16px}.metric-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.score-days{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px}.score-days article{border:1px solid var(--line);border-radius:12px;padding:12px;display:flex;flex-direction:column}.score-days strong{font-size:1.4rem}.category-report article{display:grid;grid-template-columns:minmax(120px,1fr) 2fr 50px;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.category-report article>div{display:flex;flex-direction:column}.category-report progress{width:100%;accent-color:var(--green)}.simple-list article{display:flex;flex-direction:column;padding:10px 0;border-bottom:1px solid var(--line)}.simple-list span{font-size:.75rem;color:var(--muted)}
.team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;margin-bottom:18px}.team-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px;display:flex;gap:12px;align-items:center}.team-card p{color:var(--muted);font-size:.8rem;margin-bottom:4px}.score-mini{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;border:6px solid var(--soft);font-weight:900}.team-card-main{min-width:0;flex:1}.mini-stats{display:flex;gap:12px;flex-wrap:wrap;font-size:.72rem;margin:7px 0}.mini-stats span{display:flex;flex-direction:column}.manager-columns{align-items:start}.review-list article{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--line)}.review-list article p{color:var(--muted);font-size:.78rem;margin:2px 0}.review-list article form{display:flex;gap:5px}
.create-plan-panel>summary{list-style:none;cursor:pointer}.clickable{margin-bottom:0}.plans-list{display:flex;flex-direction:column;gap:14px}.plan-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px}.plan-card>header{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding-bottom:14px}.plan-card header p{color:var(--muted);margin-bottom:0}.plan-progress{text-align:right}.plan-progress strong{font-size:1.55rem;display:block}.plan-context{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:14px 0}.plan-context>div{background:#f7faf8;border-radius:12px;padding:12px}.plan-context p{font-size:.8rem;color:var(--muted);margin:.3rem 0 0}.checkpoint-list{border-top:1px solid var(--line)}.checkpoint{padding:12px 0;border-bottom:1px solid var(--line)}.checkpoint>div:first-child{display:flex;gap:10px}.checkpoint-mark{width:28px;height:28px;border-radius:9px;background:var(--soft);display:grid;place-items:center;font-weight:900}.checkpoint-approved .checkpoint-mark{background:#dff1e8;color:var(--green)}.checkpoint-submitted .checkpoint-mark{background:#fff0d9;color:var(--amber)}.checkpoint small{display:block}.checkpoint p{font-size:.76rem;margin:.35rem 0}.checkpoint-review{display:flex;gap:6px;margin-top:8px}.checkpoint-review input{flex:1}.plan-actions{display:flex;justify-content:space-between;gap:12px;margin-top:14px}.status-active{background:#e8f4ee;color:#2f6d54}.status-monitoring{background:#edf3fa;color:#35638f}.status-achieved{background:#e2f3e8;color:#276b4c}.status-paused{background:#fff0d9;color:#7d5417}.status-closed,.status-inactive{background:#ecefed;color:#5f6b66}
.user-list{display:flex;flex-direction:column}.user-list article{display:grid;grid-template-columns:40px minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line)}.user-list article>div:nth-child(2){display:flex;flex-direction:column;min-width:0}.user-list span,.user-list small{overflow:hidden;text-overflow:ellipsis}.avatar{width:38px;height:38px;border-radius:12px;background:var(--soft);display:grid;place-items:center;font-weight:900;color:var(--brand)}.role-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.role-cards article{border:1px solid var(--line);border-radius:12px;padding:12px;display:flex;flex-direction:column}.role-cards span,.role-cards p{font-size:.75rem;color:var(--muted)}.permission-intro{background:var(--soft);border-radius:12px;padding:12px;margin:18px 0;display:flex;gap:8px;flex-wrap:wrap}.permission-intro span{color:var(--muted)}.permission-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.permission-groups section{border:1px solid var(--line);border-radius:14px;padding:14px}.permission-groups h2{font-size:1rem}.permission-row{display:flex;flex-direction:row;align-items:flex-start;gap:9px;padding:9px 0;border-bottom:1px solid var(--line)}.permission-row input{width:auto;margin-top:4px}.permission-row span{display:flex;flex-direction:column}.state-mandatory small{color:var(--green)}.state-recommended small{color:var(--blue)}.state-additional small{color:var(--amber)}
.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:700px}th,td{text-align:left;padding:10px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}td{font-size:.82rem}td strong,td small{display:block}.empty-state{text-align:center;padding:30px;grid-column:1/-1}.empty-state p{color:var(--muted)}.error-page{text-align:center;padding:60px 20px}.error-page>span{font-size:4rem;font-weight:900;color:#cbd5d1}.error-page p{color:var(--muted);max-width:560px;margin:0 auto 20px}
@media(max-width:1050px){.metric-grid{grid-template-columns:repeat(3,1fr)}.today-summary{grid-template-columns:repeat(2,1fr)}.plan-context{grid-template-columns:1fr}.admin-columns{grid-template-columns:1fr}}
@media(max-width:820px){body{padding-bottom:68px}.topbar{height:64px;padding:0 14px}.brand small,.user-chip,.hide-mobile{display:none}.app-shell{display:block;min-height:calc(100vh - 64px)}.sidebar{display:none}.main-content{padding:20px 14px 76px}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;height:64px;background:#fff;border-top:1px solid var(--line);z-index:40;justify-content:space-around;padding-bottom:env(safe-area-inset-bottom)}.mobile-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#697771;font-size:.65rem;font-weight:800;min-width:62px}.mobile-nav a span{font-size:1rem}.mobile-nav a.active{color:var(--brand)}.page-head{align-items:flex-start}.today-head{display:grid;grid-template-columns:1fr auto}.score-orb{min-width:90px;width:90px;height:90px;border-width:6px}.score-orb strong{font-size:1.8rem}.score-orb small{display:none}.two-column,.closing-panel{grid-template-columns:1fr}.closing-panel{align-items:stretch}.submit-day-form{flex-direction:column}.metric-grid{grid-template-columns:repeat(2,1fr)}.login-shell{grid-template-columns:1fr}.login-intro{padding:10px}.boundary-cards{grid-template-columns:1fr}.task-update-grid,.form-grid,.permission-groups{grid-template-columns:1fr}.span-two{grid-column:auto}.plan-actions{flex-direction:column}.user-list article{grid-template-columns:40px minmax(0,1fr) auto}.user-list article>a{grid-column:2/-1}.report-hero{align-items:flex-start}.score-orb.large{min-width:110px;width:110px;height:110px}.category-report article{grid-template-columns:1fr 1.5fr 42px}}
@media(max-width:540px){h1{font-size:2rem}.today-head{grid-template-columns:1fr}.score-orb{position:absolute;right:15px;top:92px}.today-head>div:first-child{padding-right:94px}.today-summary{grid-template-columns:repeat(2,1fr)}.task-card{grid-template-columns:36px minmax(0,1fr);padding:12px}.task-meta{gap:5px}.report-hero{flex-direction:column}.metric-grid{grid-template-columns:repeat(2,1fr)}.review-list article{align-items:flex-start;flex-direction:column}.checkpoint-review{flex-wrap:wrap}.checkpoint-review input{flex-basis:100%}.inline-form{align-items:stretch;flex-direction:column}.inline-form input,.inline-form select{min-width:0}.hide-mobile{display:none}}
.finalise-details{margin-top:8px}.finalise-details summary{font-size:.72rem;font-weight:800;color:var(--brand-2);cursor:pointer}.finalise-details form{display:flex;gap:6px;margin-top:6px}.finalise-details input{padding:7px 9px}
.report-export{margin-left:auto;display:flex;align-items:center}.report-tabs:has(.report-export){width:100%}

/* Internal platform v4 modules */
.compact-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.narrow-panel{max-width:760px;margin-inline:auto}.qr-display-panel{text-align:center}.qr-stage{display:grid;place-items:center;gap:8px;padding:20px}.qr-stage img{width:min(520px,88vw);background:#fff;border:14px solid #fff;border-radius:20px;box-shadow:var(--shadow)}.qr-countdown{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:var(--brand);color:#fff;font-size:1.25rem;font-weight:900}.directory-grid,.celebration-grid,.asset-grid,.goal-grid,.payslip-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:12px}.person-card,.celebration-card,.asset-card,.goal-card,.payslip-card,.notification-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:0 5px 15px rgba(18,48,41,.025)}.person-card{display:flex;gap:13px}.person-card h2{font-size:1.05rem;margin-bottom:1px}.person-card p{color:var(--muted);font-size:.8rem;margin:.2rem 0}.contact-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px;font-size:.75rem}.notification-list{display:flex;flex-direction:column;gap:12px}.notification-card{border-left:5px solid var(--line)}.notification-card.priority-high{border-left-color:var(--amber)}.notification-card.priority-urgent{border-left-color:var(--red)}.notification-card>div:first-child{display:flex;justify-content:space-between;gap:12px}.pill{display:inline-flex;width:max-content;padding:4px 9px;border-radius:999px;background:var(--soft);font-size:.7rem;font-weight:800}.check-label{display:flex!important;flex-direction:row!important;align-items:center;gap:8px}.check-label input{width:auto}.celebration-card{text-align:center}.celebration-icon{font-size:2.5rem}.asset-card details{margin-top:12px;border-top:1px solid var(--line);padding-top:10px}.asset-card summary{cursor:pointer;font-weight:800}.policy-text{font-size:.78rem;color:var(--muted);background:#f7faf8;padding:10px;border-radius:10px}.compact-form{grid-template-columns:repeat(2,minmax(140px,1fr));min-width:min(560px,100%)}.goal-card .goal-progress{display:flex;gap:10px;align-items:center}.goal-card progress{width:100%;accent-color:var(--green)}.payroll-edit{min-width:220px}.payslip-card{break-inside:avoid}.priority-emergency{border-color:var(--red)}
@media(max-width:820px){.compact-grid{grid-template-columns:repeat(2,1fr)}.compact-form{grid-template-columns:1fr;min-width:0}.directory-grid,.celebration-grid,.asset-grid,.goal-grid,.payslip-grid{grid-template-columns:1fr}}
@media print{.topbar,.sidebar,.mobile-nav,.site-footer,.button,form,.page-head p,.notice{display:none!important}.app-shell{display:block}.main-content{padding:0}.payslip-card{border:1px solid #000;box-shadow:none}}

.case-timeline{margin-top:.75rem;padding-left:.9rem;border-left:3px solid var(--border,#d8dee8)}
.case-timeline p{margin:.45rem 0;padding:.5rem .65rem;background:var(--surface-soft,#f7f8fb);border-radius:.55rem}
.case-timeline small{display:block;margin-top:.2rem;color:var(--muted,#667085)}
.policy-text{font-size:.88rem;line-height:1.45;background:var(--surface-soft,#f7f8fb);padding:.75rem;border-radius:.65rem}
.nav-count{margin-left:auto;min-width:1.45rem;height:1.45rem;padding:0 .35rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#b42318;color:#fff;font-size:.75rem}

/* --------------------------------------------------------------------------
   SalTap v6 visual system
   -------------------------------------------------------------------------- */
:root{
  --bg:#f5f8fd;--panel:#ffffff;--ink:#102445;--muted:#66758b;--line:#dce6f3;
  --brand:#0867f2;--brand-2:#0757d1;--brand-dark:#0d2f63;--soft:#eaf2ff;
  --green:#16865c;--amber:#b66a0b;--red:#c23c36;--blue:#0867f2;
  --shadow:0 16px 42px rgba(25,71,135,.09);--radius:20px;
}
body{background:linear-gradient(180deg,#f8fbff 0,#f5f8fd 360px);color:var(--ink)}
a{color:var(--brand-2)}
.eyebrow{color:var(--brand);letter-spacing:.13em}
.connectivity-bar{position:fixed;inset:0 0 auto;z-index:100;background:#102445;color:#fff;text-align:center;padding:7px 12px;font-size:.76rem;font-weight:800}
.topbar{height:78px;padding:0 26px;background:rgba(255,255,255,.92);border-bottom-color:rgba(208,222,240,.9);box-shadow:0 5px 20px rgba(25,71,135,.04)}
.brand{gap:13px}.brand-logo{width:132px;height:42px;object-fit:contain;display:block}.brand-context{display:flex;flex-direction:column;padding-left:13px;border-left:1px solid var(--line)}.brand-context small{font-size:.63rem;text-transform:uppercase;letter-spacing:.08em}.brand-context strong{font-size:.83rem;max-width:210px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.button-install{background:var(--soft);border-color:#c9ddff;color:var(--brand-2);padding:8px 12px}.button-install:hover{background:#dfeaff}.icon-button{border-color:var(--line);color:var(--brand);background:#f8fbff}.icon-button:hover{background:var(--soft)}
.app-shell{grid-template-columns:268px minmax(0,1fr);min-height:calc(100vh - 78px)}
.sidebar{top:78px;height:calc(100vh - 78px);padding:20px 15px 26px;background:rgba(255,255,255,.96);border-right-color:var(--line)}
.nav-section-label{margin:13px 11px 5px;color:#94a2b5;font-size:.61rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.nav-section-label:first-child{margin-top:1px}
.nav-link{padding:10px 12px;border-radius:12px;color:#455770;font-size:.84rem}.nav-link>span:first-child{width:27px;height:27px;border-radius:8px;background:#f1f5fb;display:grid;place-items:center;color:#6b7c94;font-size:.84rem}.nav-link:hover{background:#f5f8fd;color:var(--brand)}.nav-link.active{background:linear-gradient(135deg,#e8f1ff,#f2f7ff);color:var(--brand-2);box-shadow:inset 3px 0 0 var(--brand)}.nav-link.active>span:first-child{background:var(--brand);color:#fff}.nav-count{background:#e33d37;box-shadow:0 0 0 3px #fff}
.org-switcher{background:linear-gradient(135deg,#edf4ff,#f8fbff);border:1px solid #d5e4fb;padding:10px 12px}.org-switcher label{color:#6f7f95}.org-switcher select{color:var(--brand-dark)}
.sidebar-note{background:#f8fbff;border-color:#dbe7f7}.sidebar-note strong{color:var(--brand-dark)}.sidebar-note p{color:#718198}.sidebar-note a{color:var(--brand)}
.main-content{padding:34px clamp(20px,3.2vw,52px) 90px}.site-footer{display:flex;justify-content:center;gap:9px;flex-wrap:wrap}.site-footer small{font-size:inherit}
.page-head{margin-bottom:28px}.page-head h1{color:#0b244a}.page-head p:last-child{max-width:760px}.page-head.compact h1{font-weight:800}
.flash{border:1px solid transparent;box-shadow:0 8px 24px rgba(25,71,135,.05)}.flash-success{background:#e8f7f0;color:#126844;border-color:#c8eadb}.flash-error{background:#fff0ef;color:#9c302b;border-color:#f1d0cd}
.panel,.task-card,.plan-card,.person-card,.celebration-card,.asset-card,.goal-card,.payslip-card,.notification-card{border-color:#dfe8f4;box-shadow:0 10px 28px rgba(25,71,135,.055)}
.panel{border-radius:22px}.task-card{border-radius:18px;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.task-card:hover{transform:translateY(-1px);border-color:#cbdcf2;box-shadow:0 15px 34px rgba(25,71,135,.075)}.task-card.completed{background:#fbfdff}.task-card.rolled{border-left-color:#f0a229}
.today-summary article,.metric-grid article{border-color:#dfe8f4;border-radius:16px;box-shadow:0 8px 24px rgba(25,71,135,.045);position:relative;overflow:hidden}.today-summary article::before,.metric-grid article::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#cbdcf3}.today-summary article:nth-child(1)::before{background:#0867f2}.today-summary article:nth-child(2)::before{background:#16865c}.today-summary article:nth-child(3)::before{background:#6f55c7}.today-summary article:nth-child(4)::before{background:#f0a229}.today-summary strong,.metric-grid strong{color:#102f60}
.score-orb{border-color:#dce9fb;box-shadow:0 18px 45px rgba(25,71,135,.1);background:linear-gradient(145deg,#fff,#f8fbff)}.score-orb strong{color:#102f60}.score-orb.tone-green,.score-mini.tone-green{border-color:#aee2ca}.score-orb.tone-blue,.score-mini.tone-blue{border-color:#b7d4ff}
.task-check{border-color:#b8c7db}.completed .task-check{background:var(--brand);border-color:var(--brand)}.progress-track{accent-color:var(--brand)}
.tag{background:#f0f5fb;color:#52647c}.priority-critical,.priority-emergency{background:#ffeceb;color:#ac302b}.priority-high{background:#fff2df;color:#91560e}.priority-medium{background:#eaf2ff;color:#125cc8}.priority-low{background:#edf8f2;color:#197051}.tag-rollover{background:#fff1dd;color:#935c15}
input,select,textarea{border-color:#cdd9e8;border-radius:12px;padding:11px 12px}input:focus,select:focus,textarea:focus{border-color:var(--brand);box-shadow:0 0 0 4px rgba(8,103,242,.11)}
.button{border-radius:12px;padding:10px 15px;transition:transform .14s ease,box-shadow .14s ease,background .14s ease}.button:hover{transform:translateY(-1px)}.button-primary{background:linear-gradient(135deg,var(--brand),#0756cf);box-shadow:0 8px 20px rgba(8,103,242,.2)}.button-primary:hover{box-shadow:0 11px 25px rgba(8,103,242,.27)}.button-secondary{background:#eaf2ff;color:#0757d1;border-color:#c9dcfa}.button-quiet{border-color:#d6e1ee;color:#285180;background:#fff}
.closing-panel{background:linear-gradient(135deg,#0757d1,#0a73ef);box-shadow:0 20px 46px rgba(8,103,242,.2)}.closing-panel .eyebrow,.closing-panel p{color:#dceaff}
.login-shell{width:min(1180px,100%);grid-template-columns:minmax(0,1.15fr) minmax(340px,.72fr);gap:42px}.guest-main{padding:34px;background:radial-gradient(circle at 10% 20%,rgba(8,103,242,.12),transparent 32%),radial-gradient(circle at 85% 85%,rgba(56,139,255,.09),transparent 28%),linear-gradient(150deg,#f5f9ff,#edf4ff)}
.login-intro{background:linear-gradient(145deg,#0757d1,#0867f2 58%,#2788ff);color:#fff;border-radius:34px;padding:48px;box-shadow:0 28px 70px rgba(8,79,188,.22);position:relative;overflow:hidden}.login-intro::after{content:"";position:absolute;width:300px;height:300px;border-radius:50%;right:-120px;top:-130px;background:rgba(255,255,255,.08)}.login-wordmark{width:230px;max-width:70%;margin-bottom:28px;filter:drop-shadow(0 8px 16px rgba(0,0,0,.08))}.login-intro .eyebrow{color:#dceaff}.login-intro h1{color:#fff;font-size:clamp(2.5rem,5vw,4.7rem);max-width:780px}.login-intro>p:not(.eyebrow):not(.ios-install-hint){color:#e7f0ff;font-size:1.04rem;max-width:690px}.login-promise{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:28px}.login-promise span{display:flex;flex-direction:column;padding:14px;border:1px solid rgba(255,255,255,.2);border-radius:15px;background:rgba(255,255,255,.08);backdrop-filter:blur(6px)}.login-promise b{font-size:.84rem}.login-promise small{color:#dceaff;font-size:.7rem;margin-top:3px}.button-install-light{margin-top:20px;background:#fff;color:#0757d1;border-color:#fff}.ios-install-hint{margin-top:16px!important;color:#e7f0ff!important;font-size:.8rem!important;background:rgba(0,0,0,.1);border-radius:12px;padding:10px 12px}
.login-card{border-radius:28px;padding:34px;border-color:#dbe6f5;box-shadow:0 24px 60px rgba(25,71,135,.13)}.login-card-head{display:flex;gap:12px;align-items:flex-start}.login-card-head h2{font-size:1.65rem}.secure-dot{width:34px;height:34px;border-radius:11px;background:#e8f1ff;color:#16865c;display:grid;place-items:center;font-size:.65rem}.login-help{display:flex;flex-direction:column;gap:5px;margin-top:20px;padding-top:16px;border-top:1px solid var(--line);color:#7a899d;font-size:.68rem}
.mobile-nav{box-shadow:0 -10px 32px rgba(25,71,135,.08)}.mobile-nav a.active{color:var(--brand)}
.qr-countdown{background:var(--brand);box-shadow:0 8px 20px rgba(8,103,242,.22)}.qr-stage img{border-color:#fff;box-shadow:0 20px 45px rgba(25,71,135,.14)}
.pwa-toast{position:fixed;right:20px;bottom:20px;z-index:90;display:flex;align-items:center;gap:12px;background:#102445;color:#fff;border-radius:14px;padding:12px 14px;box-shadow:0 16px 38px rgba(16,36,69,.25);max-width:min(420px,calc(100vw - 28px));font-size:.8rem;font-weight:700}.pwa-toast .button{background:#fff;color:#102445;border:0}
@media(max-width:1020px){.brand-context{display:none}.app-shell{grid-template-columns:244px minmax(0,1fr)}.login-shell{gap:24px}.login-intro{padding:38px}.login-promise{grid-template-columns:1fr}}
@media(max-width:820px){body{padding-bottom:72px}.topbar{height:66px;padding:0 13px}.brand-logo{width:105px;height:36px}.app-shell{min-height:calc(100vh - 66px)}.main-content{padding:22px 14px 84px}.login-shell{grid-template-columns:1fr;max-width:620px}.login-intro{padding:30px;border-radius:26px}.login-intro h1{font-size:2.65rem}.login-wordmark{width:190px;margin-bottom:20px}.login-promise{grid-template-columns:repeat(3,1fr)}.login-card{padding:26px}.topbar .button-install{display:none}.pwa-toast{bottom:82px;left:14px;right:14px}.site-footer{padding-bottom:18px}}
@media(max-width:540px){.guest-main{padding:14px}.login-shell{gap:14px}.login-intro{padding:24px 21px}.login-intro h1{font-size:2.25rem}.login-promise{grid-template-columns:1fr}.login-card{padding:23px 20px}.top-actions{gap:7px}.icon-button{width:36px;height:36px}.today-head>div:first-child{padding-right:88px}.score-orb{top:88px}.page-head h1{font-size:2rem}.mobile-nav{height:68px}.mobile-nav a{min-width:55px}.site-footer{font-size:.61rem}}
@media print{body{background:#fff}.login-shell,.pwa-toast,.connectivity-bar{display:none!important}}

/* Organisation-wise role and task setup */
.setup-role-list{display:flex;flex-direction:column;gap:18px}.setup-role-card{overflow:hidden}.setup-role-counts{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.setup-grid{display:grid;grid-template-columns:minmax(280px,.82fr) minmax(340px,1.18fr);gap:22px;margin-top:16px}.permission-summary{display:flex;flex-direction:column;gap:8px}.permission-summary details{border:1px solid var(--line);border-radius:13px;padding:10px 12px;background:#f9fbff}.permission-summary summary{cursor:pointer;font-weight:850;color:var(--brand-dark)}.permission-summary ul{margin:9px 0 0;padding-left:20px;color:var(--muted);font-size:.78rem}.template-list{display:flex;flex-direction:column;gap:8px}.template-list article{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:13px;background:#fbfdff}.template-list article>div{display:flex;flex-direction:column;min-width:0}.template-list small{margin-top:3px}.readiness-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}.readiness-list article{border:1px solid var(--line);border-radius:13px;padding:13px;display:flex;flex-direction:column;gap:4px}.readiness-list span{font-size:.78rem;color:var(--muted)}.notice span{margin-left:6px}.notice ul{margin:8px 0 0;padding-left:22px}.setup-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:980px){.setup-grid{grid-template-columns:1fr}.setup-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.readiness-list,.setup-metrics{grid-template-columns:1fr}.setup-role-counts{justify-content:flex-start}.template-list article{align-items:center}}

/* Group Promoter hierarchy and senior performance dashboard */
.group-overview-head,.senior-report-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.group-overview-head .button,.senior-report-head .button{flex:0 0 auto}
.senior-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:20px}.senior-card{position:relative;display:flex;flex-direction:column;min-height:118px;padding:17px 17px 15px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 9px 25px rgba(25,71,135,.055);overflow:hidden;color:var(--ink)}.senior-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:#c6d3e4}.senior-card strong{font-size:1.75rem;line-height:1;color:#102f60}.senior-card span{font-weight:850;margin-top:8px}.senior-card small{color:var(--muted);font-size:.68rem;margin-top:auto;padding-top:8px}.senior-card:hover,.senior-card.selected{transform:translateY(-2px);border-color:#b9d2f5;box-shadow:0 15px 34px rgba(25,71,135,.1)}.tone-card-blue::before{background:#0867f2}.tone-card-green::before{background:#16865c}.tone-card-amber::before{background:#e39a24}.tone-card-red::before{background:#d64842}.tone-card-neutral::before{background:#8b99aa}.senior-card.selected{background:#f5f9ff;box-shadow:inset 0 0 0 2px rgba(8,103,242,.12),0 15px 34px rgba(25,71,135,.1)}
.group-dashboard-columns{grid-template-columns:minmax(0,1.12fr) minmax(340px,.88fr);align-items:start;margin-bottom:18px}.unit-summary-list{display:flex;flex-direction:column;gap:10px}.unit-summary-card{display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid var(--line);border-radius:16px;padding:14px 15px;background:#fbfdff;color:var(--ink)}.unit-summary-card:hover{border-color:#bad2f2;background:#f5f9ff}.unit-summary-card h3{margin:.2rem 0}.unit-summary-card p{margin:0;color:var(--muted);font-size:.76rem}.unit-type{font-size:.62rem;text-transform:uppercase;letter-spacing:.09em;font-weight:900;color:var(--brand)}.unit-metrics{display:grid;grid-template-columns:repeat(3,minmax(58px,1fr));gap:9px;min-width:235px}.unit-metrics span{display:flex;flex-direction:column;text-align:center;background:#fff;border:1px solid var(--line);border-radius:12px;padding:8px 6px;color:var(--muted);font-size:.65rem}.unit-metrics strong{font-size:1rem;color:#102f60}
.attention-list{display:flex;flex-direction:column}.attention-list>a{display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid var(--line);color:var(--ink)}.attention-list .score-mini{width:44px;height:44px;border-width:5px;font-size:.8rem}.attention-list strong,.attention-list small{display:block}.attention-list small{color:var(--muted);font-size:.69rem}.attention-reason{font-size:.67rem;font-weight:850;color:#9b352f;background:#fff0ef;border-radius:999px;padding:5px 8px;text-align:right}.compact-empty{padding:20px 10px}
.filter-panel{margin-bottom:16px}.summary-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:12px;align-items:end}.filter-actions{display:flex;gap:7px;align-items:center;padding-bottom:1px}.senior-card-grid-report{margin-top:0}.report-average{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:.78rem}.report-average strong{color:#102f60;font-size:1.1rem}
.employee-report-list{display:flex;flex-direction:column;gap:12px}.employee-report-card{border:1px solid var(--line);border-radius:18px;padding:16px;background:#fff;scroll-margin-top:90px}.employee-report-card.needs-attention{border-left:5px solid #e19a2a}.employee-report-card>header{display:grid;grid-template-columns:72px minmax(220px,1fr) minmax(360px,1.25fr);gap:14px;align-items:center}.employee-score-block{display:flex;flex-direction:column;align-items:center;gap:4px}.employee-score-block small{color:var(--muted);font-size:.62rem}.employee-report-identity h3{margin-bottom:.2rem}.employee-report-identity p{margin:0;color:#455770;font-size:.8rem}.employee-report-identity small{color:var(--muted);font-size:.7rem}.employee-report-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.employee-report-stats span{display:flex;flex-direction:column;padding:9px;border-radius:12px;background:#f7faff;color:var(--muted);font-size:.64rem;text-align:center}.employee-report-stats strong{font-size:.95rem;color:#102f60}.employee-status-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px;padding-top:11px;border-top:1px solid var(--line);font-size:.7rem;color:var(--muted)}.danger-text{color:#a03933;font-weight:850}.employee-task-details{margin-top:10px}.employee-task-details>summary{cursor:pointer;color:var(--brand);font-size:.76rem;font-weight:850}.employee-task-list{margin-top:9px;border:1px solid var(--line);border-radius:14px;padding:0 12px;background:#fbfdff}.employee-task-list article{display:flex;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px solid var(--line)}.employee-task-list article:last-child{border-bottom:0}.employee-task-list strong,.employee-task-list small{display:block}.employee-task-list small{color:var(--muted);font-size:.67rem}.employee-task-list p{margin:.25rem 0 0;color:#8a5419;font-size:.7rem}.task-progress-number{display:flex;align-items:center;gap:8px;white-space:nowrap}.task-progress-number>strong{font-size:.9rem}.status-not_started{background:#eef1f5;color:#526070}.status-below_30{background:#ffecea;color:#9f342e}.status-range_30_69{background:#fff1dc;color:#8a5613}.status-range_70_99{background:#e8f5ee;color:#226848}.status-completed_100{background:#e8f1ff;color:#0757d1}.status-leave_or_duty{background:#eef1f5;color:#526070}.compact-senior-grid{grid-template-columns:repeat(7,minmax(0,1fr));margin-bottom:10px}.compact-senior-grid .senior-card{min-height:100px;padding:13px}.compact-senior-grid .senior-card strong{font-size:1.35rem}.summary-report-link{display:flex;justify-content:flex-end;margin-bottom:18px}
@media(max-width:1180px){.senior-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.compact-senior-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.summary-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.employee-report-card>header{grid-template-columns:72px minmax(0,1fr)}.employee-report-stats{grid-column:1/-1}}
@media(max-width:900px){.group-overview-head,.senior-report-head{align-items:flex-start;flex-direction:column}.group-dashboard-columns{grid-template-columns:1fr}.senior-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.unit-summary-card{align-items:flex-start;flex-direction:column}.unit-metrics{width:100%;min-width:0}.employee-report-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.senior-card-grid,.compact-senior-grid,.summary-filter-grid{grid-template-columns:1fr}.senior-card{min-height:96px}.filter-actions{display:grid;grid-template-columns:1fr 1fr}.attention-list>a{grid-template-columns:44px minmax(0,1fr)}.attention-reason{grid-column:2;text-align:left;justify-self:start}.employee-report-card>header{grid-template-columns:1fr}.employee-score-block{align-items:flex-start}.employee-report-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.employee-task-list article{flex-direction:column}.task-progress-number{justify-content:space-between}.report-average{align-items:flex-start;flex-direction:column}.unit-metrics{grid-template-columns:repeat(3,1fr)}}


/* v6.6.1 identity + connected work */
.credential-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0}.credential-grid>div{padding:14px;border:1px solid var(--border,#d9e1ea);border-radius:12px;background:#fff}.credential-grid span{display:block;font-size:.8rem;opacity:.7;margin-bottom:5px}.credential-grid strong,.credential-grid code{font-size:1.05rem;word-break:break-word}.credential-grid .span-two{grid-column:1/-1}.credential-secret{display:flex;gap:12px;align-items:center;justify-content:space-between}.credential-secret code{padding:8px 10px;border-radius:8px;background:#f5f7fa;letter-spacing:.04em}.connected-work-panel{margin-top:18px}.compact-summary{margin:12px 0}.connected-task-list{margin-top:12px}@media(max-width:700px){.credential-grid{grid-template-columns:1fr}.credential-grid .span-two{grid-column:auto}.credential-secret{align-items:flex-start;flex-direction:column}}
