@charset "UTF-8";:root{--navy: #0a1f44;--dark-navy: #07152e;--light-navy: #1b3f73;--aqua: #1ecad3;--amber: #f59e0b;--coral: #ff6b6b;--white: #ffffff}*{box-sizing:border-box}html,body{margin:0;min-height:100vh;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--dark-navy);color:var(--white)}h1{margin:0 0 .25rem;letter-spacing:-.02em}.muted{color:#ffffff8c}.err{color:var(--coral);font-size:.9rem}.login-split{display:flex;min-height:100vh;max-width:1600px;margin:0 auto}.login-brand{flex:1 1 55%;display:flex;flex-direction:column;justify-content:space-between;gap:2rem;padding:3rem;overflow:hidden;border-right:1px solid var(--light-navy);background:radial-gradient(circle at 25% 15%,rgba(30,202,211,.14),transparent 55%),var(--navy)}.login-brand .brand-head h1{font-size:2.5rem;letter-spacing:-.02em}.login-brand .brand-head .brand-tagline{max-width:42ch;color:#ffffff9e;line-height:1.55}.login-brand .brand-features{list-style:none;margin:1.75rem 0 0;padding:0;max-width:46ch;display:grid;gap:.9rem}.login-brand .brand-features li{position:relative;padding-left:1.4rem;color:#ffffff8c;font-size:.88rem;line-height:1.45}.login-brand .brand-features li:before{content:"";position:absolute;left:0;top:.45em;width:8px;height:8px;border-radius:50%;background:var(--aqua)}.login-brand .brand-features li strong{display:block;color:var(--white);font-weight:600;font-size:.95rem}.login-brand .brand-helmet{width:100%;max-width:560px;align-self:center;margin:auto 0;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 22px 46px rgba(0,0,0,.45))}.login-brand .brand-footer{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;font-size:.8rem;color:#ffffff4d}.login-brand .brand-footer a{color:#ffffff80;text-decoration:none}.login-brand .brand-footer a:hover{color:var(--aqua)}.login-panel{flex:1 1 45%;display:flex;align-items:center;justify-content:center;padding:2rem;background:var(--dark-navy)}.login{width:min(360px,100%);display:flex;flex-direction:column;gap:.75rem}.login h2{margin:0;font-size:1.5rem}.login input{padding:.7rem .9rem;border-radius:.5rem;border:1px solid var(--light-navy);background:var(--navy);color:var(--white);font-size:1rem}.login input:focus{outline:2px solid var(--aqua);border-color:var(--aqua)}@media(max-width:820px){.login-split{flex-direction:column}.login-brand{flex:none;gap:0;padding:1.75rem 1.5rem;border-right:none;border-bottom:1px solid var(--light-navy)}.login-brand .brand-head h1{font-size:1.9rem}.login-brand .brand-features,.login-brand .brand-helmet,.login-brand .brand-footer{display:none}.login-panel{flex:1;align-items:flex-start;padding-top:3rem}}button{padding:.7rem 1rem;border:none;border-radius:.5rem;background:var(--aqua);color:var(--dark-navy);font-weight:600;cursor:pointer}button:disabled{opacity:.6;cursor:default}button.ghost{background:transparent;color:var(--white);border:1px solid var(--light-navy)}.legal-page{display:flex;flex-direction:column;min-height:100vh}.legal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 2rem;border-bottom:1px solid var(--light-navy)}.legal-header .legal-brand{font-size:1.3rem;font-weight:700;letter-spacing:-.02em;color:var(--white);text-decoration:none}.legal-header .legal-signin{color:var(--aqua);text-decoration:none;font-size:.9rem}.legal-header .legal-signin:hover{text-decoration:underline}.legal-content{flex:1;width:min(680px,100%);margin:0 auto;padding:3rem 2rem 4rem}.legal-content h1{font-size:2rem}.legal-content h2{margin:2.25rem 0 .75rem;font-size:1.2rem;color:var(--white)}.legal-content h3{margin:1.5rem 0 .5rem;font-size:1rem;color:#ffffffd9}.legal-content p,.legal-content li{color:#ffffffb8;line-height:1.6}.legal-content .lede{font-size:1.05rem;color:#ffffffd9}.legal-content .legal-updated{color:#fff6;font-size:.85rem;margin-bottom:1.5rem}.legal-content a{color:var(--aqua)}.legal-content ul{padding-left:1.25rem}.legal-content .legal-defs dt{color:var(--white);font-weight:600;margin-top:1rem}.legal-content .legal-defs dd{margin:.2rem 0 0;color:#ffffffa6;line-height:1.55}.legal-content .legal-features{list-style:none;margin:1.5rem 0;padding:0;display:grid;gap:1rem}.legal-content .legal-features li{padding-left:1.4rem;position:relative}.legal-content .legal-features li:before{content:"";position:absolute;left:0;top:.5em;width:8px;height:8px;border-radius:50%;background:var(--aqua)}.legal-content .legal-features li strong{display:block;color:var(--white);font-weight:600}.legal-content .contact-form{display:flex;flex-direction:column;gap:.75rem;max-width:420px;margin-top:1.5rem}.legal-content .contact-form input,.legal-content .contact-form textarea{padding:.7rem .9rem;border-radius:.5rem;border:1px solid var(--light-navy);background:var(--navy);color:var(--white);font:inherit;resize:vertical}.legal-content .contact-form input:focus,.legal-content .contact-form textarea:focus{outline:2px solid var(--aqua);border-color:var(--aqua)}.legal-content .notice{color:var(--aqua)}.legal-footer{border-top:1px solid var(--light-navy);padding:1.5rem 2rem;text-align:center;font-size:.8rem;color:#ffffff4d}.legal-footer nav{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin-bottom:.5rem}.legal-footer nav a{color:#ffffff80;text-decoration:none}.legal-footer nav a:hover{color:var(--aqua)}.bar{display:flex;align-items:center;gap:.75rem;padding:.9rem 1.5rem;background:var(--navy);border-bottom:1px solid var(--light-navy)}.bar .brand{font-weight:700;font-size:1.15rem}.bar .brand small{color:var(--aqua);font-size:.6rem;vertical-align:super;margin-left:2px;text-transform:uppercase;letter-spacing:.1em}.bar .spacer{flex:1}.bar .who{font-size:.85rem;color:#ffffffb3}.chip{display:inline-block;margin-left:.35rem;padding:.1rem .5rem;border-radius:999px;background:#1ecad326;color:var(--aqua);font-style:normal;font-size:.72rem}.chip.good{background:#4dd5992e;color:#4dd599}.chip.bad{background:#ff6b6b26;color:var(--coral)}.tabs{display:flex;gap:.25rem;padding:0 1.5rem;background:var(--navy);border-bottom:1px solid var(--light-navy)}.tabs button{background:transparent;color:#fff9;border:none;border-bottom:2px solid transparent;border-radius:0;padding:.7rem 1rem;font-weight:600}.tabs button.active{color:var(--aqua);border-bottom-color:var(--aqua)}main{padding:1.5rem}.row-between{display:flex;align-items:center;justify-content:space-between;gap:1rem}.new-project,.assign-row{display:flex;flex-wrap:wrap;gap:.5rem;margin:.75rem 0;max-width:720px}.new-project input,.new-project select,.assign-row input,.assign-row select{padding:.55rem .7rem;border-radius:.45rem;border:1px solid var(--light-navy);background:var(--dark-navy);color:var(--white);font-size:.9rem;flex:1 1 180px}.new-project input:focus,.new-project select:focus,.assign-row input:focus,.assign-row select:focus{outline:2px solid var(--aqua)}.assign-row{align-items:center}button.small{padding:.4rem .75rem;font-size:.8rem}.cards{list-style:none;padding:0;margin:1rem 0 0;display:grid;gap:.6rem;max-width:720px}.cards li{display:flex;flex-direction:column;gap:.15rem;padding:.9rem 1.1rem;background:var(--navy);border:1px solid var(--light-navy);border-radius:.6rem}.cards li strong{color:var(--aqua);font-size:.78rem;text-transform:uppercase;letter-spacing:.05em}.cards li.clickable{cursor:pointer}.cards li.clickable:hover{border-color:var(--aqua)}.cards li .sub{font-size:.75rem}.drawer{position:fixed;top:0;right:0;width:min(420px,92vw);height:100vh;overflow-y:auto;padding:1.25rem 1.5rem;background:var(--navy);border-left:1px solid var(--light-navy);box-shadow:-12px 0 32px #00000059}.drawer header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.drawer header h2{margin:0}.modal-backdrop{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:1rem;background:#0000008c}.modal{width:min(480px,100%);max-height:90vh;overflow-y:auto;padding:1.25rem 1.5rem;background:var(--navy);border:1px solid var(--light-navy);border-radius:12px;box-shadow:0 24px 64px #00000080}.modal.wide{width:min(780px,100%)}.modal header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.modal header h2{margin:0}.form-fields{display:flex;flex-direction:column;gap:.85rem;margin:.5rem 0 .25rem}.field{display:flex;flex-direction:column;gap:.3rem}.field>label{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:#ffffff8c}.field input,.field select{width:100%;padding:.55rem .7rem;border-radius:.45rem;border:1px solid var(--light-navy);background:var(--dark-navy);color:var(--white);font-size:.9rem}.field input:focus,.field select:focus{outline:2px solid var(--aqua)}.field input:disabled,.field select:disabled{opacity:.5;cursor:not-allowed}.modal h3{margin:1.25rem 0 .6rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--aqua)}.modal h3.danger{color:var(--coral)}.modal-actions{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}.danger-zone{padding:.9rem 1rem;border:1px solid rgba(255,107,107,.35);border-radius:.6rem;background:#ff6b6b12}.checks{display:flex;flex-wrap:wrap;gap:.45rem .9rem;align-items:center;margin:.5rem 0 .75rem}.check{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;cursor:pointer}.check input{accent-color:var(--aqua)}.notice{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:.75rem 0;padding:.8rem 1rem;border:1px solid var(--aqua);border-radius:.6rem;background:#1ecad314}.notice code{padding:.2rem .5rem;border-radius:.35rem;background:var(--dark-navy);-webkit-user-select:all;user-select:all}.compliance{display:flex;align-items:center;gap:1rem;padding:.9rem 1rem;margin:.75rem 0;background:var(--dark-navy);border:1px solid var(--light-navy);border-radius:.6rem}.compliance .pct{font-size:1.6rem;font-weight:700;color:var(--aqua)}.compliance .pct.bad{color:var(--amber)}.compliance p{margin:.15rem 0 0}.gaps-label{margin-bottom:.3rem}.chips{list-style:none;padding:0;margin:0 0 .75rem;display:flex;flex-wrap:wrap;gap:.3rem}.chips .chip{font-style:normal;padding:.15rem .55rem;border-radius:999px;font-size:.72rem;background:#1ecad326;color:var(--aqua)}.chips .chip.bad{background:#ff6b6b26;color:var(--coral)}.drawer.wide{width:min(720px,96vw)}.warn{color:var(--amber);font-style:normal}.drawer h3{margin:1.25rem 0 .5rem;font-size:.95rem;color:var(--aqua)}.assurance-row{grid-template-columns:1fr auto!important}.comp{margin:.5rem 0 .75rem;padding:.75rem;background:var(--dark-navy);border:1px solid var(--light-navy);border-radius:.5rem}.comp .comp-head{margin-bottom:.4rem}.comp .comp-head strong{color:var(--aqua)}.comp .kad{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.75rem}@media(max-width:640px){.comp .kad{grid-template-columns:1fr}}.comp .kad h4{margin:0 0 .25rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:#ffffff8c}.comp .kad ul{margin:0;padding-left:1rem;font-size:.78rem}.comp .kad ul li{margin-bottom:.2rem}.certs{list-style:none;padding:0;margin:.75rem 0 0;display:grid;gap:.4rem}.certs li{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.6rem;padding:.6rem .75rem;background:var(--dark-navy);border:1px solid var(--light-navy);border-radius:.5rem;font-size:.85rem}.certs .cert-meta{color:#ffffff80;font-size:.75rem;white-space:nowrap}.verify-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem}.verify-bar p{margin:0}.assess-row{grid-template-columns:1fr auto!important}.matrix-wrap{overflow-x:auto;margin:.5rem 0 .75rem;border:1px solid var(--light-navy);border-radius:.5rem}.matrix{border-collapse:collapse;font-size:.72rem;width:100%}.matrix th,.matrix td{padding:.35rem .4rem;border-bottom:1px solid var(--light-navy);text-align:center;white-space:nowrap}.matrix thead th{color:#ffffff8c;font-weight:600;vertical-align:bottom}.matrix thead th span{display:inline-block;max-width:90px;overflow:hidden;text-overflow:ellipsis}.matrix td.who,.matrix th.who{text-align:left;position:sticky;left:0;background:var(--navy)}.matrix td.who em,.matrix th.who em{color:var(--aqua);font-style:normal;font-size:.66rem;display:block}.matrix td:last-child{font-weight:700;color:var(--aqua)}.matrix td:last-child.bad{color:var(--amber)}.matrix .na{color:#ffffff40}.matrix .dot{display:inline-block}.matrix td.name,.matrix th.name{text-align:left;white-space:normal}.matrix tbody tr.group-row td{text-align:left;color:var(--aqua);font-weight:600;background:var(--navy)}.matrix tfoot td{font-weight:700;color:var(--aqua);border-top:2px solid var(--light-navy);border-bottom:none}.assess-controls.worklist-filter{margin:.5rem 0 .85rem}.assess-controls.ts-brush{flex-wrap:wrap;gap:.35rem}.ts-on_project{--ts-col: #1ecad3}.assess-controls .ts-on_project.on{background:#1ecad3;border-color:#1ecad3;color:var(--dark-navy)}.ts-mobilisation{--ts-col: #6ea8ff}.assess-controls .ts-mobilisation.on{background:#6ea8ff;border-color:#6ea8ff;color:var(--dark-navy)}.ts-standby{--ts-col: #b388ff}.assess-controls .ts-standby.on{background:#b388ff;border-color:#b388ff;color:var(--dark-navy)}.ts-travel{--ts-col: #f59e0b}.assess-controls .ts-travel.on{background:#f59e0b;border-color:#f59e0b;color:var(--dark-navy)}.ts-training{--ts-col: #4dd599}.assess-controls .ts-training.on{background:#4dd599;border-color:#4dd599;color:var(--dark-navy)}.ts-sick_leave{--ts-col: #ff6b6b}.assess-controls .ts-sick_leave.on{background:#ff6b6b;border-color:#ff6b6b;color:var(--dark-navy)}.ts-at_home{--ts-col: #8a93a6}.assess-controls .ts-at_home.on{background:#8a93a6;border-color:#8a93a6;color:var(--dark-navy)}.ts-off_hire{--ts-col: #d6a23b}.assess-controls .ts-off_hire.on{background:#d6a23b;border-color:#d6a23b;color:var(--dark-navy)}.ts-off_day{--ts-col: #3a4660}.assess-controls .ts-off_day.on{background:#3a4660;border-color:#3a4660;color:var(--dark-navy)}.form-fields.ts-rate-fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.6rem .8rem}.ts-legend{display:flex;flex-wrap:wrap;gap:.3rem .9rem;margin:.5rem 0 0}.ts-legend strong{display:inline-block;min-width:1.4rem;padding:0 .25rem;margin-right:.25rem;border-radius:.25rem;text-align:center;color:var(--dark-navy);background:var(--ts-col, var(--light-navy))}.ts-grid th.weekend,.ts-grid td.weekend{background:#ffffff0a}.ts-grid td.ts-cell{font-weight:700;color:var(--dark-navy);background:var(--ts-col, transparent);min-width:26px}.ts-grid td.ts-cell.ts-empty{color:#ffffff40;background:transparent}.ts-grid td.ts-cell.editable{cursor:pointer}.ts-grid td.ts-cell.editable:hover{outline:2px solid var(--aqua);outline-offset:-2px}.ts-grid td:last-child{font-weight:700;color:var(--aqua)}.payroll-grid{font-size:.68rem}.payroll-grid th,.payroll-grid td{min-width:34px;padding:.3rem}.payroll-grid tr.payroll-row:hover td{background:#ffffff0a}.rot-main{color:var(--dark-navy);background:var(--aqua)}.rot-reliever{color:var(--dark-navy);background:var(--amber)}.rot-grid th.today,.rot-grid td.today{box-shadow:inset 0 0 0 2px var(--aqua)}.rot-grid td.rot-cell{font-weight:700;min-width:26px}.rot-legend{display:flex;flex-wrap:wrap;gap:.3rem .9rem;margin:.5rem 0 0}.rot-legend strong{display:inline-block;min-width:1.4rem;padding:0 .25rem;margin-right:.25rem;border-radius:.25rem;text-align:center}.assess-controls{display:flex;gap:.25rem}.assess-controls button{padding:.2rem .5rem;font-size:.7rem;border-radius:.35rem;background:transparent;color:#fff9;border:1px solid var(--light-navy);font-weight:600}.assess-controls button.on{background:var(--aqua);color:var(--dark-navy);border-color:var(--aqua)}.dot{width:10px;height:10px;border-radius:50%;background:#ffffff4d}.dot.valid{background:var(--aqua)}.dot.expiring_60{background:var(--amber)}.dot.expiring_30{background:var(--amber);box-shadow:0 0 0 3px #f59e0b40}.dot.expired{background:var(--coral)}.dot.missing{background:#ffffff4d}.dot.overdue{background:var(--coral)}.dot.ready{background:var(--aqua)}.dot.partial{background:var(--amber)}.dot.blocked{background:var(--coral)}.dot.none{background:#ffffff4d}.readiness-card{display:flex!important;flex-direction:row!important;align-items:center;gap:.9rem}.readiness-card .dot{width:14px;height:14px;flex:none}.readiness-card .rc-main{flex:1;display:flex;flex-direction:column;gap:.1rem}.readiness-card .rc-ready{font-weight:700;color:var(--aqua);white-space:nowrap}.readiness-card .rc-ready.bad{color:var(--amber)}
