:root{--navy:#081a29;--navy2:#12344a;--orange:#ef6b2e;--bg:#f4f7f9;--card:#fff;--line:#dbe5eb;--text:#17242d;--muted:#6d7e89;--green:#14805a;--red:#ad3340;--amber:#9b6700;--blue:#216c9a;--shadow:0 8px 28px rgba(8,26,41,.08)}
*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;background:var(--bg);color:var(--text)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.shell{display:grid;grid-template-columns:245px 1fr;min-height:100vh}.sidebar{background:linear-gradient(180deg,var(--navy),var(--navy2));color:#fff;padding:22px 15px;position:sticky;top:0;height:100vh}.brand h1{margin:0;font-size:21px}.brand p{margin:4px 0 24px;color:#a4bac7;font-size:10px;text-transform:uppercase;letter-spacing:.13em}.nav-section{margin:18px 10px 7px;color:#7692a4;font-size:10px;text-transform:uppercase;letter-spacing:.12em}.nav a{display:block;padding:10px 12px;border-radius:9px;color:#cbd9e1;margin:3px 0}.nav a:hover,.nav a.active{background:rgba(255,255,255,.09);color:#fff}.sidebar-footer{position:absolute;bottom:18px;left:15px;right:15px;background:rgba(255,255,255,.07);padding:12px;border-radius:10px;font-size:11px;color:#c2d2db}.main{min-width:0}.topbar{height:70px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:10}.topbar b{font-size:16px}.topbar small{display:block;color:var(--muted);margin-top:3px}.content{padding:22px;max-width:1550px;margin:auto}.hero{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}.hero h2{margin:0 0 5px;font-size:27px}.hero p{margin:0;color:var(--muted);max-width:850px;line-height:1.5}.grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.card{background:var(--card);border:1px solid var(--line);border-radius:13px;padding:16px;box-shadow:0 3px 10px rgba(8,26,41,.035)}.metric-label{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.09em}.metric-value{font-size:28px;font-weight:850;margin:5px 0}.metric-note{font-size:11px;color:var(--green)}.section{margin-top:15px}.section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.section-head h3{margin:0;font-size:16px}.section-head span{font-size:11px;color:var(--muted)}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;font-size:12px}.table th{background:#f6f8fa;color:#536a78;font-size:10px;text-transform:uppercase;letter-spacing:.07em;text-align:left;padding:10px;border-bottom:1px solid var(--line);white-space:nowrap}.table td{padding:10px;border-bottom:1px solid #edf1f4;vertical-align:middle}.table tr:hover td{background:#fbfcfd}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:8px;padding:9px 12px;font-weight:750;cursor:pointer}.btn-primary{background:var(--orange);color:#fff}.btn-secondary{background:#e8eef2;color:#264354}.btn-outline{background:#fff;border:1px solid var(--line);color:#264354}.btn-danger{background:#ffe8eb;color:#9f2e39}.btn-small{font-size:11px;padding:6px 9px}.status{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:800;background:#edf1f4;color:#687985}.status:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.status.available,.status.active,.status.accepted,.status.travel_booked,.status.approved,.status.published,.status.sent,.status.delivered{background:#e7f7f0;color:var(--green)}.status.awaiting_acceptance,.status.change_requested,.status.pending,.status.preview,.status.medium,.status.requested{background:#fff2d6;color:var(--amber)}.status.mobilizing,.status.ordered,.status.scheduled{background:#e8f3fb;color:var(--blue)}.status.failed,.status.rejected,.status.declined,.status.high{background:#ffe8eb;color:var(--red)}.progress{height:9px;background:#e7edf1;border-radius:999px;overflow:hidden}.progress span{display:block;height:100%;background:var(--orange);border-radius:999px}.budget-row{margin:12px 0}.budget-top{display:flex;justify-content:space-between;font-size:12px;margin-bottom:6px}.budget-top span{color:var(--muted)}.site-card h3{margin:0 0 5px}.site-card p{margin:0;color:var(--muted);font-size:11px}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}.stat-grid b{display:block;font-size:20px}.stat-grid span{font-size:9px;color:var(--muted);text-transform:uppercase}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.field{display:flex;flex-direction:column;gap:5px}.field.full{grid-column:1/-1}.field label{font-size:11px;font-weight:750;color:#405967}.field input,.field select,.field textarea{border:1px solid #cbd7df;border-radius:8px;padding:9px;background:#fff}.field textarea{min-height:75px}.checkbox{display:flex;align-items:center;gap:7px;font-size:12px}.flash{padding:12px 14px;border-radius:9px;margin-bottom:14px;background:#e7f7f0;color:var(--green);border:1px solid #bde8d5}.flash.error{background:#ffe9ec;color:var(--red);border-color:#ffc9d0}.person{display:flex;gap:9px;align-items:center}.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#dbeaf3,#f7e4da);font-weight:850;color:#2b5267}.person small{display:block;color:var(--muted)}.notification{padding:11px 0;border-bottom:1px solid #edf1f4}.notification b{display:block;font-size:12px}.notification p{margin:4px 0;color:var(--muted);font-size:11px}.email-body{background:#f7f9fb;border:1px solid var(--line);border-radius:8px;padding:12px;font-size:11px;line-height:1.5;max-height:170px;overflow:auto}.login-wrap{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#071827,#16455f)}.login-card{width:min(430px,92vw);background:#fff;border-radius:16px;padding:28px;box-shadow:0 25px 80px rgba(0,0,0,.28)}.login-card h1{margin:0}.demo-users{margin-top:18px;background:#f4f7f9;border-radius:10px;padding:12px;font-size:11px;line-height:1.6}.actions{display:flex;gap:8px;flex-wrap:wrap}.muted{color:var(--muted)}
@media(max-width:1000px){.grid4,.grid3{grid-template-columns:repeat(2,1fr)}.shell{grid-template-columns:210px 1fr}}@media(max-width:720px){.shell{display:block}.sidebar{position:relative;height:auto}.sidebar-footer{position:static;margin-top:18px}.topbar{position:relative;padding:0 14px}.content{padding:14px}.grid4,.grid3,.grid2,.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.hero{display:block}.hero .actions{margin-top:10px}}
.info-strip b,.info-strip small{display:block}.info-strip small{color:var(--muted);margin-top:4px}.travel-section{border:1px solid var(--line);border-radius:12px;padding:15px;margin-top:14px;background:#fbfcfd}.requirement{background:#fff2d6!important;color:var(--amber)!important;padding:5px 8px;border-radius:999px;font-weight:800}.itinerary-summary{background:#f7f9fb;border:1px solid var(--line);border-radius:10px;padding:14px}.itinerary-summary b,.itinerary-summary small{display:block}.itinerary-summary small{color:var(--muted);margin-top:4px}.travel-detail{margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.detail-grid>div{background:#f7f9fb;border:1px solid var(--line);border-radius:8px;padding:10px}.detail-grid span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}.detail-grid b{font-size:12px;line-height:1.45}.field input[type=file]{padding:7px;background:#f7f9fb}@media(max-width:720px){.detail-grid{grid-template-columns:1fr}}
.site{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid #edf1f4}.site small,.calendar-line small{display:block;color:var(--muted);margin-top:3px}.small-value{font-size:18px}.calendar-line{display:flex;gap:9px;align-items:flex-start;padding:9px 0;border-bottom:1px solid #edf1f4}.calendar-dot{width:10px;height:10px;border-radius:50%;margin-top:4px;background:#7a8790}.calendar-dot.type-work{background:#1f4e79}.calendar-dot.type-travel{background:#ef6b2e}.calendar-dot.type-military{background:#6bb7d6}.calendar-dot.type-pto{background:#7b4bb7}.calendar-dot.type-callout{background:#c9424a}.calendar-dot.type-unavailable{background:#7a8790}.calendar-dot.type-training{background:#178f8b}.calendar-legend{display:flex;gap:7px;flex-wrap:wrap}.legend{padding:6px 9px;border-radius:999px;color:#fff;font-size:10px;font-weight:800}.legend.available{background:#16805a}.legend.work{background:#1f4e79}.legend.travel{background:#ef6b2e}.legend.military{background:#6bb7d6}.legend.pto{background:#7b4bb7}.legend.callout{background:#c9424a}.legend.unavailable{background:#7a8790}.legend.training{background:#178f8b}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}.calendar-day{min-height:110px;background:#fff;border:1px solid var(--line);border-radius:9px;padding:7px}.calendar-day.outside{opacity:.45}.calendar-event{font-size:9px;padding:4px 5px;border-radius:5px;color:#fff;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-event.type-work{background:#1f4e79}.calendar-event.type-travel{background:#ef6b2e}.calendar-event.type-military{background:#6bb7d6}.calendar-event.type-pto{background:#7b4bb7}.calendar-event.type-callout{background:#c9424a}.calendar-event.type-unavailable{background:#7a8790}.calendar-event.type-training{background:#178f8b}.calendar-event.type-schedule_change{background:#d4a017}.callout-card{border-top:4px solid #c9424a}.org-chart{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.org-person p{font-size:11px;line-height:1.6}.permission-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.permission-card{display:flex;gap:8px;border:1px solid var(--line);border-radius:8px;padding:9px;background:#f9fbfc}.permission-card b,.permission-card small{display:block}.permission-card small{color:var(--muted);margin-top:3px}.role-chip{display:inline-flex;align-items:center;gap:5px;background:#e8f3fb;color:#216c9a;padding:4px 7px;border-radius:999px;font-size:9px;margin:2px}.link-button{border:0;background:transparent;color:inherit;font-weight:bold;cursor:pointer}.contact-card{background:#f7f9fb;border:1px solid var(--line);border-radius:9px;padding:11px}.contact-card p{font-size:11px;line-height:1.6}.checklist{font-size:12px;line-height:1.8;color:var(--muted)}details{margin-top:6px}summary{cursor:pointer;font-weight:700;color:var(--blue)}
@media(max-width:1000px){.org-chart,.permission-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.calendar-grid{grid-template-columns:repeat(2,1fr)}.org-chart,.permission-grid{grid-template-columns:1fr}}
.status.pending_acknowledgment,.status.information_requested,.status.invited,.status.submitted{background:#fff2d6;color:var(--amber)}.status.acknowledged,.status.backfill_requested{background:#e8f3fb;color:var(--blue)}.status.suspended,.status.offboarded,.status.archived{background:#ffe8eb;color:var(--red)}
/* v0.5 usability and access updates */
.legend.pending-assignment{background:#f3c969;color:#4f3b00}.calendar-event.type-assignment_pending{background:#f3c969;color:#4f3b00;border:1px solid #d8ae40;font-weight:800}.status.deleted{background:#eef0f2;color:#687985}.quick-guide{display:grid;gap:9px}.quick-guide>div{border:1px solid var(--line);border-radius:9px;padding:10px;background:#f8fafb}.quick-guide b,.quick-guide span{display:block}.quick-guide span{font-size:11px;color:var(--muted);margin-top:4px;line-height:1.45}.notice{border-left:4px solid var(--orange);background:#fff7f1;border-radius:8px;padding:11px}.notice p{margin:5px 0 0;color:var(--muted);font-size:11px}.access-wizard{margin-top:9px;border-top:1px solid var(--line);padding-top:7px}.access-wizard form{display:grid;gap:8px;padding-top:8px}.inline-stack{display:grid;gap:6px}.inline-stack input{max-width:145px;border:1px solid var(--line);border-radius:7px;padding:6px}.role-editor>summary{display:flex;align-items:center;justify-content:space-between;gap:15px;list-style:none}.role-editor>summary::-webkit-details-marker{display:none}.role-editor>summary small{display:block;color:var(--muted);margin-top:4px}.role-type{font-size:10px;color:var(--muted);background:#f1f4f6;padding:5px 8px;border-radius:999px}.permission-groups{display:grid;gap:12px}.permission-group{border:1px solid var(--line);border-radius:11px;overflow:hidden}.permission-group-head{padding:12px;background:#f5f8fa}.permission-group-head b,.permission-group-head small{display:block}.permission-group-head small{color:var(--muted);margin-top:3px}.permission-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:10px}.sticky-save{position:sticky;bottom:0;margin-top:14px;border:1px solid var(--line);background:#fff;box-shadow:0 -8px 25px rgba(8,26,41,.08);border-radius:10px;padding:11px;display:flex;justify-content:space-between;align-items:center;gap:12px}.sticky-save span{font-size:11px;color:var(--muted)}.field small{font-size:10px;color:var(--muted);line-height:1.4}.checkbox.full{grid-column:1/-1}.table td small{display:block;color:var(--muted);margin-top:3px;line-height:1.45}
@media(max-width:1000px){.permission-options{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.permission-options{grid-template-columns:1fr}.sticky-save{position:static;display:block}.sticky-save .btn{margin-top:9px;width:100%}}
