
    :root { --navy:var(--ink); --blue:var(--accent); --cyan:var(--accent); --bg:var(--surface); --card:var(--surface); --text:var(--ink); --muted:var(--ink-secondary); --line:var(--surface-muted); --green:var(--success); --orange:var(--warning); --red:var(--danger); }
    * { box-sizing:border-box; }
    body { margin:0; font:14px/1.45 Inter,Segoe UI,Arial,sans-serif; color:var(--text); background:var(--bg); }
    button,input,select { font:inherit; }
    button { cursor:pointer; }
    .app { min-height:100vh; display:grid; grid-template-columns:245px 1fr; }
    aside { background:linear-gradient(180deg,var(--ink),var(--ink)); color:var(--white); padding:24px 16px; }
    .brand { display:flex; gap:12px; align-items:center; padding:0 8px 26px; }
    .logo { width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,var(--cyan),var(--blue));display:grid;place-items:center;font-weight:800;font-size:18px; }
    .brand strong { display:block; font-size:16px; }.brand small { color:var(--accent-border); }
    nav button { width:100%; border:0; color:var(--accent-border); background:transparent; text-align:left; padding:11px 13px; border-radius:9px; margin:3px 0; }
    nav button.active,nav button:hover { background:#ffffff16;color:var(--white); }
    .side-note { margin-top:28px;padding:12px;background:#ffffff0d;border:1px solid #ffffff18;border-radius:10px;color:var(--accent-border);font-size:12px; }
    main { padding:28px; min-width:0; }
    header { display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:22px;gap:16px; }
    h1 { margin:0 0 4px;font-size:25px; } h2 { margin:0 0 16px;font-size:18px; } h3 { margin:0 0 10px;font-size:15px; }
    .subtitle,.muted { color:var(--muted); }
    .actions { display:flex;gap:8px;flex-wrap:wrap; }
    .btn { border:1px solid var(--line);background:var(--surface);color:var(--text);padding:9px 13px;border-radius:8px;font-weight:600; }
    .btn.primary { background:var(--blue);border-color:var(--blue);color:var(--white); }.btn.danger { color:var(--red); }.btn.small { padding:5px 9px;font-size:12px; }
    .grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px; }
    .card { background:var(--card);border:1px solid var(--line);border-radius:12px;padding:17px;box-shadow:0 2px 10px #18223008; }
    .stat b { display:block;font-size:26px;margin-top:8px; }.stat span { color:var(--muted); }.accent { border-left:4px solid var(--blue); }
    .two { display:grid;grid-template-columns:1.15fr .85fr;gap:16px; }
    table { width:100%;border-collapse:collapse; } th,td { text-align:left;padding:10px 9px;border-bottom:1px solid var(--surface);vertical-align:middle; } th { color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.04em; }
    .badge { display:inline-block;padding:3px 7px;border-radius:999px;background:var(--surface);color:var(--accent);font-size:12px;font-weight:700; }.badge.green { background:var(--success-soft);color:var(--green); }.badge.orange { background:var(--warning-soft);color:var(--orange); }.badge.gray { background:var(--surface);color:var(--ink-secondary); }.badge.blue-badge { background:var(--accent-soft);color:var(--accent); }.badge.green-badge { background:var(--success-soft);color:var(--success); }
    .view { display:none; }.view.active { display:block; }
    .form-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:14px; }
    label { display:block;font-weight:650;margin-bottom:6px; } input,select { width:100%;border:1px solid var(--line);border-radius:8px;padding:9px 10px;background:var(--surface);color:var(--text); }
    .field small { display:block;color:var(--muted);margin-top:5px; }
    .volunteers { margin-top:18px;max-height:350px;overflow:auto;border:1px solid var(--line);border-radius:10px; }
    .vol-row { display:grid;grid-template-columns:minmax(170px,1fr) 150px 150px 115px 42px;gap:10px;align-items:center;padding:10px 12px;border-bottom:1px solid var(--surface); }
    .vol-row:last-child { border-bottom:0; }.vol-row input[type=checkbox] { width:17px;height:17px; }
    .result-head { display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px; }
    .rank { width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--surface);color:var(--blue);font-weight:800; }
    .notice { padding:12px 14px;border-radius:9px;background:var(--surface);border:1px solid var(--accent-soft);color:var(--accent);margin-bottom:14px; }.notice.warning { background:var(--surface);border-color:var(--warning-border);color:var(--warning); }
    .recommend { border:2px solid var(--success-border);background:var(--surface); }.recommend h2 { color:var(--green); }.recommend-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;margin:12px 0 18px; }.person-card { background:var(--surface);border:1px solid var(--success-border);border-radius:10px;padding:13px; }.person-card b { font-size:16px; }.person-card .badge { float:right; }
    .protected { border-left:4px solid var(--orange); }.role-hint { padding:10px 12px;background:var(--surface);border:1px solid var(--line);border-radius:9px;margin:14px 0; }.role-select { padding:7px 8px;font-size:12px; }
    .participant-adder { display:grid;grid-template-columns:1fr auto;gap:9px;position:relative;margin-top:12px; }.suggestions { position:absolute;left:0;right:150px;top:43px;z-index:20;background:var(--surface);border:1px solid var(--line);border-radius:9px;box-shadow:0 10px 25px #16243a20;max-height:300px;overflow:auto; }.suggestion { display:block;width:100%;border:0;border-bottom:1px solid var(--surface);background:var(--surface);text-align:left;padding:10px 12px; }.suggestion:hover,.suggestion.focused { background:var(--surface); }.suggestion:last-child { border-bottom:0; }.remove { width:32px;height:32px;border-radius:8px;border:1px solid var(--danger-border);background:var(--surface);color:var(--red);font-weight:800; }.participant-count { display:inline-grid;place-items:center;min-width:28px;height:28px;border-radius:50%;background:var(--blue);color:var(--white);font-weight:800; }
    .guardrail-panel>summary { list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px;font-weight:750; }.guardrail-panel>summary::-webkit-details-marker { display:none; }.guardrail-panel>summary::after { content:'Show ▾';color:var(--blue);font-size:12px;white-space:nowrap; }.guardrail-panel[open]>summary::after { content:'Collapse ▴'; }.guard-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px;align-items:start; }.guard-column{display:grid;gap:10px;align-content:start;min-width:0}.guard-group { border:1px solid var(--line);border-radius:9px;background:var(--surface);overflow:hidden;align-self:start; }.guard-group summary { list-style:none;display:flex;justify-content:space-between;align-items:center;padding:10px 12px;cursor:pointer;font-weight:750;background:var(--surface); }.guard-group summary::-webkit-details-marker { display:none; }.guard-title { display:flex;align-items:center;gap:8px; }.guard-arrow { color:var(--muted);transition:transform .15s ease }.guard-group[open] .guard-arrow { transform:rotate(90deg); }.guard-items { display:grid;grid-template-columns:1fr;gap:8px;padding:11px 13px;border-top:1px solid var(--line); }.guard-count { background:var(--surface);color:var(--accent);border-radius:999px;padding:2px 7px;font-size:11px; }
    .history-event { border:1px solid var(--line);border-radius:11px;margin-bottom:10px;background:var(--surface);overflow:hidden; }.history-event summary { cursor:pointer;list-style:none;padding:14px 16px;display:grid;grid-template-columns:120px 1fr auto;gap:12px;align-items:center; }.history-event summary::-webkit-details-marker { display:none; }.history-event[open] summary { border-bottom:1px solid var(--line);background:var(--surface); }.history-body { padding:15px; }.reason { max-width:330px;color:var(--muted);font-size:12px; }
    .empty { padding:30px;text-align:center;color:var(--muted); }
    .switch { display:flex;gap:7px;align-items:center;font-weight:400;margin:0; }.switch input { width:auto; }
    .chart-row { display:grid;grid-template-columns:170px 1fr 55px;gap:10px;align-items:center;margin:10px 0; }.bar { height:10px;background:var(--surface);border-radius:99px;overflow:hidden; }.bar i { display:block;height:100%;background:linear-gradient(90deg,var(--cyan),var(--blue));border-radius:99px; }
    .compact-select { width:auto;min-width:128px;max-width:170px;padding:6px 8px;font-size:12px; }.compact-date { width:132px;padding:6px 8px;font-size:12px; }.employee-meta { display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:5px;font-size:12px; }.employee-controls { display:flex;align-items:center;gap:6px;flex-wrap:wrap; } #employee-table td { vertical-align:middle; }.employee-scroll { max-height:min(72vh,1785px);overflow:auto;border:1px solid var(--line);border-radius:10px;scrollbar-gutter:stable; }.employee-scroll table { margin:0; }.employee-scroll thead th { position:sticky;top:0;z-index:2;background:var(--surface);box-shadow:0 1px 0 var(--line); }
    .footer { margin-top:18px;color:var(--muted);font-size:12px;text-align:center; }


    :root { --navy:var(--ink);--navy-soft:var(--ink);--blue:var(--accent);--cyan:var(--accent);--brand-orange:var(--warning);--bg:var(--surface);--card:var(--surface);--text:var(--ink);--muted:var(--ink-secondary);--line:var(--surface-muted);--green:var(--ink);--orange:var(--warning);--red:var(--danger); }
    body { font-family:"Studio Demo Ember","Helvetica Neue",Segoe UI,Arial,sans-serif;background:var(--bg);letter-spacing:.01em; }
    aside { background:linear-gradient(180deg,var(--navy) 0%,var(--navy-soft) 100%);padding:22px 14px;box-shadow:3px 0 18px rgba(23,59,60,.16); }
    .brand { padding:2px 8px 24px;border-bottom:1px solid rgba(255,255,255,.12);margin-bottom:12px; }
    .logo { position:relative;border-radius:8px;background:var(--surface);color:var(--navy);box-shadow:none;overflow:hidden; }

    .brand strong { letter-spacing:.01em; }.brand small { color:var(--surface-muted); }
    nav button { position:relative;color:var(--surface-muted);border-radius:6px;padding:11px 13px 11px 16px;transition:background .15s ease,color .15s ease,transform .15s ease; }
    nav button::before { content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:4px;background:transparent; }
    nav button.active,nav button:hover { background:rgba(255,255,255,.11);color:var(--white);transform:translateX(2px); }
    nav button.active::before { background:var(--brand-orange); }
    .side-note { background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.14);color:var(--surface-muted); }
    main { padding:30px 34px; }
    header { padding-bottom:16px;border-bottom:1px solid var(--line); }
    h1 { color:var(--navy);font-size:27px;letter-spacing:-.02em; } h2,h3 { color:var(--navy-soft); }
    .card { border-color:var(--surface-muted);border-radius:9px;box-shadow:0 1px 2px rgba(15,17,17,.08),0 2px 8px rgba(15,17,17,.04); }
    .card:hover { border-color:var(--border); }
    .stat { position:relative;overflow:hidden; }.stat::before { content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--brand-orange); }.stat b { color:var(--navy-soft); }
    .accent { border-left:0; }.accent::before { background:var(--blue); }
    .btn { cursor:pointer;border-color:var(--border);border-radius:7px;background:linear-gradient(var(--surface),var(--surface));color:var(--navy);box-shadow:0 1px 2px rgba(15,17,17,.12);transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .05s ease; }
    .btn:hover { background:var(--surface);border-color:var(--border); }.btn:active { transform:translateY(1px);box-shadow:none; }
    .btn.primary { background:var(--brand-orange);border-color:var(--warning);color:var(--ink);box-shadow:0 1px 2px rgba(15,17,17,.18); }
    .btn.primary:hover { background:var(--warning);border-color:var(--warning); }.btn.danger { color:var(--red);border-color:var(--danger-border); }
    input,select { border-color:var(--border);border-radius:7px;min-height:38px;transition:border-color .15s ease,box-shadow .15s ease; }
    input:focus,select:focus { outline:0;border-color:var(--ink);box-shadow:0 0 0 3px rgba(22,125,134,.30); }
    table tbody tr { transition:background .12s ease; } table tbody tr:hover { background:var(--surface); }
    th { background:var(--surface);color:var(--ink-secondary);font-weight:750; } th,td { border-bottom-color:var(--surface-muted); }
    .badge { background:var(--accent-soft);color:var(--ink);border:1px solid var(--accent-border); }.badge.green { background:var(--success-soft);color:var(--ink);border-color:var(--success-border); }.badge.orange { background:var(--warning-soft);color:var(--warning);border-color:var(--warning-border); }.badge.gray { background:var(--surface);color:var(--ink-secondary);border-color:var(--surface-muted); }.badge.blue-badge { background:var(--accent-soft);color:var(--ink);border-color:var(--accent-border); }.badge.green-badge { background:var(--success-soft);color:var(--ink);border-color:var(--success-border); }
    .notice { background:var(--surface);border-color:var(--accent-border);color:var(--ink);border-left:4px solid var(--blue); }.notice.warning { background:var(--surface);border-color:var(--warning-border);color:var(--ink);border-left-color:var(--brand-orange); }
    .recommend { border:1px solid var(--success-border);border-top:4px solid var(--green);background:var(--surface); }.person-card { border-color:var(--success-border);box-shadow:0 1px 2px rgba(15,17,17,.06); }
    .rank,.participant-count { background:var(--brand-orange);color:var(--navy); }.protected { border-left-color:var(--brand-orange); }
    .role-hint,.guard-group summary,.history-event[open] summary { background:var(--surface); }
    .guard-count { background:var(--warning-soft);color:var(--warning); }.suggestion:hover,.suggestion.focused { background:var(--warning-soft); }
    .bar i { background:linear-gradient(90deg,var(--brand-orange),var(--warning)); }
    .employee-scroll { border-color:var(--border);background:var(--surface);box-shadow:inset 0 1px 2px rgba(15,17,17,.05);scrollbar-color:var(--ink-secondary) var(--surface-muted); }
    .employee-scroll thead th { background:var(--navy-soft);color:var(--white);box-shadow:0 2px 4px rgba(23,59,60,.18); }
    .employee-scroll::-webkit-scrollbar,.volunteers::-webkit-scrollbar,.suggestions::-webkit-scrollbar { width:11px;height:11px; }.employee-scroll::-webkit-scrollbar-track,.volunteers::-webkit-scrollbar-track,.suggestions::-webkit-scrollbar-track { background:var(--surface-muted); }.employee-scroll::-webkit-scrollbar-thumb,.volunteers::-webkit-scrollbar-thumb,.suggestions::-webkit-scrollbar-thumb { background:var(--ink-secondary);border:3px solid var(--surface-muted);border-radius:10px; }
    .footer { border-top:1px solid var(--line);padding-top:16px; }
    .view.active { animation:view-enter .18s ease-out both; }
    .card,.history-event,.vol-row { animation:item-enter .16s ease-out both; }
    .event-action-dock { position:sticky;bottom:12px;z-index:18;margin-top:18px;padding:11px 13px;border:1px solid var(--warning);border-radius:10px;background:rgba(255,255,255,.96);box-shadow:0 8px 26px rgba(23,59,60,.16);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:space-between;gap:12px; }
    .event-action-summary { display:flex;gap:7px;align-items:center;flex-wrap:wrap; }
    .pager { display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;background:var(--surface);border-top:1px solid var(--line);position:sticky;bottom:0;z-index:2; }
    .pager .actions { flex-wrap:nowrap; }
    .toast-host { position:fixed;right:22px;bottom:22px;z-index:1200;display:grid;gap:8px;pointer-events:none; }
    .toast { min-width:260px;max-width:420px;padding:11px 14px;border-radius:9px;background:var(--ink);color:var(--white);box-shadow:0 10px 30px rgba(23,59,60,.25);animation:toast-in .2s ease-out both; }
    .toast.success { border-left:4px solid var(--success); }.toast.warning { border-left:4px solid var(--brand-orange); }
    .row-flash { animation:row-flash .75s ease-out both; }
    .equity-panel { margin:16px 0;border:1px solid var(--accent-border);border-top:4px solid var(--blue);border-radius:9px;padding:15px;background:var(--surface); }
    .equity-panel h3 { margin-bottom:4px; }.equity-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:13px 0; }
    .equity-kpi { background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:11px;min-height:78px; }.equity-kpi span { display:block;color:var(--muted);font-size:12px; }.equity-kpi b { display:block;font-size:22px;color:var(--navy-soft);margin-top:5px; }
    .equity-meter { height:9px;background:var(--surface-muted);border-radius:99px;overflow:hidden;margin:8px 0 5px; }.equity-meter i { display:block;height:100%;background:linear-gradient(90deg,var(--brand-orange),var(--green));border-radius:99px;transition:width .25s ease; }
    @keyframes view-enter { from{opacity:0;transform:translateY(5px)} to{opacity:1;transform:none} }
    @keyframes item-enter { from{opacity:.55;transform:translateY(3px)} to{opacity:1;transform:none} }
    @keyframes toast-in { from{opacity:0;transform:translateY(8px) scale(.98)} to{opacity:1;transform:none} }
    @keyframes toast-out { to{opacity:0;transform:translateY(6px)} }
    @keyframes row-flash { 0%{background:var(--warning-soft)} 100%{background:transparent} }
    @media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms;animation-iteration-count:1;transition-duration:.001ms;scroll-behavior:auto}}
    @media(max-width:950px){.app{grid-template-columns:1fr}aside{position:static}nav{display:flex;flex-wrap:wrap}.grid{grid-template-columns:repeat(2,1fr)}.two{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr 1fr}.equity-grid{grid-template-columns:repeat(2,1fr)}}
    .priority-list{counter-reset:priority;display:grid;gap:7px;margin:12px 0 0;padding:0;list-style:none}
    .priority-list li{display:flex;gap:10px;align-items:flex-start;padding:8px 10px;border-radius:8px;background:var(--surface)}
    .priority-list li::before{counter-increment:priority;content:counter(priority);display:grid;place-items:center;min-width:24px;height:24px;border-radius:50%;background:var(--navy);color:var(--white);font-size:12px;font-weight:800}
    .credit-max-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.credit-max-person{border:1px solid var(--warning);background:var(--surface);border-radius:9px;padding:8px 10px}
    .carpool-panel{margin-top:14px;border:1px solid var(--accent-border);border-radius:10px;background:var(--surface);overflow:hidden}.carpool-panel>summary{cursor:pointer;list-style:none;padding:12px 14px;font-weight:800;display:flex;align-items:center;justify-content:space-between;gap:12px}.carpool-panel>summary::-webkit-details-marker{display:none}.carpool-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:8px;padding:0 14px 14px}.carpool-person{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:8px 10px}.carpool-person select{width:125px;padding:7px}.carpool-summary{display:flex;flex-wrap:wrap;gap:6px;padding:0 14px 12px}.pool-scroll{scroll-behavior:auto}.pool-already-left{background:var(--surface);color:var(--danger)}.pool-already-left td{border-color:var(--danger-border)}.pool-override{background:var(--surface)}.same-day-warning{border-color:var(--danger-border);background:var(--surface);color:var(--danger)}.badge.red{background:var(--danger-soft);color:var(--danger)}

    .info-tip{position:relative;display:inline-grid;place-items:center;width:20px;height:20px;margin-left:5px;border:1px solid var(--accent);border-radius:50%;background:var(--surface);color:var(--ink);font-size:12px;font-weight:900;cursor:help;vertical-align:middle;outline:0}.info-tip:hover,.info-tip:focus{border-color:var(--brand-orange);box-shadow:0 0 0 3px rgba(22,125,134,.2)}.info-tip::after{content:attr(data-tip);position:absolute;z-index:1600;left:50%;bottom:calc(100% + 9px);width:max-content;max-width:min(310px,72vw);padding:9px 11px;border-radius:8px;background:var(--ink);color:var(--white);font-size:12px;font-weight:500;line-height:1.4;box-shadow:0 8px 25px rgba(0,0,0,.25);opacity:0;pointer-events:none;transform:translate(-50%,5px);transition:opacity .15s ease,transform .15s ease;white-space:normal}.info-tip:hover::after,.info-tip:focus::after{opacity:1;transform:translate(-50%,0)}
    .participant-carpool-toggle{display:inline-flex;align-items:center;gap:5px;margin-top:7px;padding:5px 8px;border:1px solid var(--accent-border);border-radius:999px;background:var(--surface);color:var(--ink);font-size:12px;font-weight:700}.participant-carpool-toggle input{min-height:auto}.carpool-empty{grid-column:1/-1;padding:12px;border:1px dashed var(--accent-border);border-radius:8px;background:var(--surface);text-align:center;color:var(--muted)}
    .history-match{background:var(--warning-soft);box-shadow:inset 5px 0 0 var(--brand-orange)}.history-match td:first-child b{color:var(--ink)}.match-flag{display:inline-block;margin-top:5px;padding:3px 7px;border-radius:999px;background:var(--warning);color:var(--ink);font-size:11px;font-weight:850}.distribution-compact{padding:14px 16px;background:var(--surface)}.distribution-compact .result-head{gap:12px}
    .carpool-panel{overflow:visible}.carpool-panel .info-tip::after{bottom:auto;top:calc(100% + 9px)}.carpool-panel .info-tip:hover::after,.carpool-panel .info-tip:focus::after{transform:translate(-50%,0)}

    .freshness-banner{display:grid;grid-template-columns:minmax(220px,.8fr) repeat(2,minmax(230px,1fr));gap:10px;align-items:stretch;margin:0 0 16px;padding:12px;border:1px solid var(--warning);border-left:5px solid var(--brand-orange);border-radius:12px;background:linear-gradient(105deg,var(--surface),var(--surface));box-shadow:0 3px 12px rgba(23,59,60,.08);animation:view-enter .2s ease-out both}
    .freshness-banner[hidden]{display:none}.freshness-intro{padding:5px 8px}.freshness-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:var(--surface)}.freshness-item strong{display:block}.freshness-item .muted{font-size:12px;margin-top:3px}.freshness-pill{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid var(--success-border);border-radius:999px;background:var(--success-soft);color:var(--ink);font-size:12px;font-weight:800;white-space:nowrap}.freshness-pill.stale{border-color:var(--warning-border);background:var(--warning-soft);color:var(--warning)}.freshness-dot{width:8px;height:8px;border-radius:50%;background:currentColor}
    body[data-mode="offs"] .freshness-banner.off-context{border-color:var(--accent-border);border-left-color:var(--blue);background:linear-gradient(105deg,var(--surface),var(--surface))}
    body[data-mode="offs"] .freshness-banner.off-context .freshness-item{border-color:var(--accent-border)}
    body[data-mode="offs"] .freshness-pill.off-context:not(.stale){border-color:var(--accent-border);background:var(--surface);color:var(--ink)}
    .memory-size-warning{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 16px;padding:11px 14px;border:1px solid var(--warning);border-left:5px solid var(--brand-orange);border-radius:10px;background:var(--surface);color:var(--ink)}.memory-size-warning[hidden]{display:none}.memory-size-warning.critical{border-color:var(--danger-border);border-left-color:var(--danger);background:var(--surface);color:var(--danger)}
    .memory-health-grid{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:10px;margin-top:14px}.memory-kpi{padding:12px;border:1px solid var(--line);border-radius:9px;background:var(--surface)}.memory-kpi span{display:block;font-size:12px;color:var(--muted)}.memory-kpi b{display:block;margin-top:4px;font-size:21px}.memory-meter{height:12px;margin:14px 0 7px;border-radius:999px;background:var(--surface-muted);overflow:hidden}.memory-meter i{display:block;height:100%;border-radius:inherit;background:var(--success);transition:width .25s ease}.memory-meter.warning i{background:var(--brand-orange)}.memory-meter.critical i{background:var(--danger)}
    .memory-breakdown{display:grid;gap:8px;margin-top:14px}.memory-breakdown-row{display:grid;grid-template-columns:minmax(170px,1fr) 2fr auto;gap:10px;align-items:center}.memory-breakdown-row .bar{height:8px}.memory-cleanup-preview{margin-top:14px}
    .departure-progress{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:14px}.progress-step{position:relative;min-height:67px;padding:10px 10px 9px 41px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink-secondary);transition:transform .16s ease,border-color .16s ease,background .16s ease}.progress-step .step-number{position:absolute;left:10px;top:11px;display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:var(--surface-muted);color:var(--ink);font-size:12px;font-weight:900}.progress-step b{display:block;color:var(--navy);font-size:13px}.progress-step small{display:block;margin-top:3px;line-height:1.25}.progress-step.done{border-color:var(--success-border);background:var(--surface)}.progress-step.done .step-number{background:var(--ink);color:var(--white)}.progress-step.current{border-color:var(--warning);background:var(--surface);box-shadow:0 0 0 2px rgba(22,125,134,.15)}.progress-step.current .step-number{background:var(--brand-orange);color:var(--navy)}.departure-next{margin:-5px 0 15px;padding:9px 12px;border-radius:8px;background:var(--surface);color:var(--ink);font-size:13px}
    .app-modal{position:fixed;inset:0;z-index:1500;display:grid;place-items:center;padding:20px;background:rgba(23,59,60,.62);backdrop-filter:blur(3px);animation:modal-bg .16s ease-out}.app-modal[hidden]{display:none}.modal-card{width:min(680px,100%);max-height:min(82vh,760px);overflow:auto;border-radius:14px;background:var(--surface);box-shadow:0 24px 70px rgba(0,0,0,.3);animation:modal-card .2s ease-out}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:20px 22px 12px;border-bottom:1px solid var(--line)}.modal-head h2{margin:0}.modal-body{padding:18px 22px}.modal-actions{display:flex;justify-content:flex-end;gap:9px;padding:14px 22px 20px;border-top:1px solid var(--line);background:var(--surface)}.preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:12px 0}.preview-kpi{padding:11px;border:1px solid var(--line);border-radius:9px;background:var(--surface)}.preview-kpi span{display:block;color:var(--muted);font-size:12px}.preview-kpi b{display:block;margin-top:3px;font-size:20px;color:var(--navy)}
    .guide-steps{display:grid;gap:10px}.guide-step{display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:start;padding:11px;border:1px solid var(--line);border-radius:9px}.guide-step>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--navy);color:var(--white);font-weight:900}.feature-list{display:grid;gap:8px;margin-top:12px}.feature-row{display:grid;grid-template-columns:minmax(180px,.8fr) 1fr auto;gap:12px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}
    @keyframes modal-bg{from{opacity:0}to{opacity:1}}@keyframes modal-card{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}
    @media(max-width:1200px){header{align-items:flex-start;gap:12px}header .actions{flex-wrap:wrap;justify-content:flex-end}.freshness-banner{grid-template-columns:1fr 1fr}.freshness-intro{grid-column:1/-1}.departure-progress{grid-template-columns:repeat(3,1fr)}}
    @media(max-width:720px){main{padding:16px}header{flex-direction:column}header .actions{justify-content:flex-start}.freshness-banner,.departure-progress,.guard-grid{grid-template-columns:1fr}.freshness-intro{grid-column:auto}.freshness-item{align-items:flex-start;flex-direction:column}.preview-grid{grid-template-columns:1fr 1fr}.feature-row{grid-template-columns:1fr}.event-action-dock{bottom:6px;align-items:stretch;flex-direction:column}.modal-card{max-height:92vh}}
    @media(max-width:720px){.memory-size-warning{align-items:flex-start;flex-direction:column}.memory-health-grid{grid-template-columns:1fr 1fr}.memory-breakdown-row{grid-template-columns:1fr auto}.memory-breakdown-row .bar{grid-column:1/-1;grid-row:2}}

    .btn.danger:hover { background:var(--surface);border-color:var(--danger); }
    .btn:focus-visible { outline:2px solid var(--blue);outline-offset:2px; }

    a.btn { display:inline-flex;align-items:center;text-decoration:none; }
    a.btn:hover { text-decoration:none; }


    .tip { position:relative;display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:var(--surface-muted);color:var(--ink-secondary);font-size:11px;font-weight:700;cursor:help;margin-left:5px;vertical-align:middle; }
    .tip:hover::after { content:attr(data-tip);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);background:var(--ink);color:var(--white);padding:8px 12px;border-radius:6px;font-size:12px;font-weight:400;white-space:normal;width:220px;line-height:1.4;z-index:100;box-shadow:0 4px 12px rgba(0,0,0,.2); }
    .tip:hover::before { content:'';position:absolute;bottom:calc(100% + 2px);left:50%;transform:translateX(-50%);border:5px solid transparent;border-top-color:var(--ink);z-index:101; }

    .status-selected { background:var(--success-border);color:var(--ink); }
    .status-waiting { background:var(--warning-border);color:var(--ink); }
    .status-retained { background:var(--danger-soft);color:var(--danger); }
    .status-declined { background:var(--surface-muted);color:var(--ink-secondary); }
    .status-absent { background:var(--danger-soft);color:var(--accent); }
    .status-cancelled { background:var(--surface-muted);color:var(--ink-secondary);text-decoration:line-through; }
    .status-training { background:var(--accent-soft);color:var(--accent); }
    .status-left { background:var(--success-border);color:var(--ink); }
    tr[data-status="SELECTED"] td:last-child span, tr[data-status="LEFT"] td:last-child span { background:var(--success-border);color:var(--ink); }
    tr[data-status="WAITING"] td:last-child span { background:var(--warning-border);color:var(--ink); }
    tr[data-status="RETAINED"] td:last-child span { background:var(--danger-soft);color:var(--danger); }
    tr[data-status="DECLINED"] td:last-child span { background:var(--surface-muted);color:var(--ink-secondary); }
    tr[data-status="ABSENT"] td:last-child span { background:var(--danger-soft);color:var(--accent); }
    tr[data-status="CANCELLED"] td:last-child span { background:var(--surface-muted);color:var(--ink-secondary); }

    .stepper { display:flex;align-items:center;gap:0;margin-bottom:20px;padding:12px 0; }
    .stepper-step { display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:8px;font-size:13px;font-weight:600;color:var(--ink-secondary);background:transparent;cursor:pointer;transition:all .2s; }
    .stepper-step.active { background:var(--brand-orange,var(--warning));color:var(--white);box-shadow:0 2px 8px rgba(22,125,134,.3); }
    .stepper-step.done { color:var(--success);background:var(--success-border); }
    .stepper-step .step-num { display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--surface-muted);color:var(--ink-secondary);font-size:12px;font-weight:700; }
    .stepper-step.active .step-num { background:var(--surface);color:var(--brand-orange,var(--warning)); }
    .stepper-step.done .step-num { background:var(--success);color:var(--white); }
    .stepper-arrow { color:var(--surface-muted);margin:0 4px;font-size:16px; }
    .step-content { display:none; }
    .step-content.visible { display:block; }


    .step-card { border-left:4px solid var(--brand-orange,var(--warning));padding-left:16px;margin-bottom:24px;position:relative; }
    .step-card .step-label { display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--brand-orange,var(--warning));margin-bottom:6px; }
    .step-card .step-label .step-number { display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--brand-orange,var(--warning));color:var(--white);font-size:11px; }


    .step-card, [id^="step-"] { margin-bottom:28px;padding-bottom:20px;border-bottom:1px solid var(--surface); }
    div[style*="border-left:4px solid var(--warning)"] { margin-top:28px;margin-bottom:28px;padding:16px;padding-left:20px;background:var(--surface);border-radius:0 8px 8px 0; }



    .step-label { display:flex;align-items:center;gap:8px;font-size:13px;font-weight:800;letter-spacing:.5px;color:var(--warning);margin-bottom:8px; }
    .step-label .step-number { display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--warning);color:var(--white);font-size:13px;font-weight:700; }

    .review-chip{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid var(--warning);border-radius:999px;background:var(--surface);color:var(--ink);font-size:12px;font-weight:800;white-space:nowrap}
    .review-chip::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--brand-orange)}
    .workflow-section{position:relative;padding:20px 0;border-top:1px solid var(--line)}
    .workflow-section:first-of-type{padding-top:0;border-top:0}
    .workflow-title{display:flex;align-items:flex-start;gap:11px;margin-bottom:13px}
    .workflow-index{display:grid;place-items:center;flex:0 0 29px;height:29px;border-radius:8px;background:var(--navy-soft);color:var(--white);font-size:12px;font-weight:900;border-bottom:4px solid var(--brand-orange)}
    .workflow-title h2{margin:0 0 2px}.workflow-title .muted{font-size:13px}
    .workflow-section .role-hint{margin-bottom:0}
    .governance-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
    .governance-item{padding:12px;border:1px solid var(--line);border-radius:9px;background:var(--surface)}
    .governance-item b{display:block;margin-bottom:4px;color:var(--navy)}
    .decision-note{padding:12px 14px;border-left:4px solid var(--brand-orange);border-radius:8px;background:var(--surface);color:var(--ink)}
    .side-governance{margin-top:10px;padding:11px 12px;border:1px solid rgba(22,125,134,.35);border-radius:8px;background:rgba(22,125,134,.08);color:var(--surface);font-size:12px;line-height:1.45}
    .author-credit{font-weight:700;color:var(--ink-secondary)}

    .app-header{gap:18px;align-items:flex-start}
    .header-title{min-width:220px}.header-title .review-chip{margin-top:8px;padding:4px 8px;font-size:11px}
    .header-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}
    .header-save-indicator{font-size:12px;font-weight:650;white-space:nowrap}
    .header-save{background:var(--warning);color:var(--white);font-weight:800}
    .header-finish{background:var(--success);color:var(--white);font-weight:750}
    .header-overflow{position:relative}.header-overflow>summary{list-style:none;cursor:pointer;user-select:none}
    .header-overflow>summary::-webkit-details-marker{display:none}
    .header-overflow-menu{position:absolute;z-index:300;right:0;top:calc(100% + 7px);display:grid;gap:7px;width:220px;padding:9px;border:1px solid var(--line);border-radius:10px;background:var(--surface);box-shadow:0 14px 36px rgba(23,59,60,.2)}
    .header-overflow-menu .btn{width:100%;text-align:left}
    .active-draft-banner{margin:0 0 14px;padding:14px 16px;border:1px solid var(--warning);border-left:5px solid var(--brand-orange);border-radius:10px;background:var(--surface);color:var(--ink)}
    .active-draft-banner[hidden]{display:none}
    #new-event.draft-resume-active>.departure-progress,
    #new-event.draft-resume-active>.departure-next,
    #new-event.draft-resume-active>.card{display:none}
    .drafts-block{margin:0 0 16px;padding:14px;border:1px solid var(--warning);border-radius:11px;background:var(--surface)}
    .drafts-block-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
    .draft-card{display:grid;grid-template-columns:minmax(210px,1.2fr) minmax(170px,.8fr) auto;gap:14px;align-items:center;padding:13px 14px;border:1px solid var(--warning-border);border-radius:9px;background:var(--surface)}
    .draft-card+.draft-card{margin-top:8px}.draft-card h3{margin:0 0 4px;font-size:15px}.draft-card .actions{justify-content:flex-end}
    .draft-people{margin-top:5px;font-size:12px;color:var(--muted);line-height:1.45}
    @media(max-width:1100px){.app-header{flex-direction:column}.header-title{width:100%}.header-actions{width:100%;justify-content:flex-start}.draft-card{grid-template-columns:1fr auto}}
    @media(max-width:720px){.governance-grid{grid-template-columns:1fr}.workflow-title{align-items:flex-start}.review-chip{white-space:normal}.header-actions{align-items:stretch}.header-actions>.btn,.header-actions>.header-overflow{flex:1 1 auto}.header-overflow>summary{text-align:center}.header-overflow-menu{left:0;right:auto}.draft-card{grid-template-columns:1fr}.draft-card .actions{justify-content:flex-start}}


    .mode-switch { display:grid;grid-template-columns:1fr 1fr;gap:4px;background:rgba(255,255,255,.08);border-radius:8px;padding:4px;margin-bottom:16px; }
    .mode-switch button { border:0;background:transparent;color:var(--accent-border);padding:9px 6px;border-radius:6px;font-weight:700;font-size:13px;text-align:center;transition:background .15s,color .15s; }
    .mode-switch button.active { background:rgba(255,255,255,.18);color:var(--white);box-shadow:0 1px 4px rgba(0,0,0,.2); }
    .mode-switch button:hover:not(.active) { background:rgba(255,255,255,.08);color:var(--surface-muted); }
    .nav-separator { margin:14px 0 8px;padding:0 8px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-secondary);font-weight:700; }
    .off-draft-banner { padding:14px 16px;border:1px solid var(--warning);border-left:5px solid var(--warning);border-radius:11px;background:var(--surface);color:var(--ink);margin-bottom:14px; }
    .off-draft-card { display:grid;grid-template-columns:minmax(0,1.5fr) minmax(180px,.6fr) auto;gap:14px;align-items:center;border:1px solid var(--warning);border-left:5px solid var(--warning);border-radius:11px;background:var(--surface);padding:14px;margin-bottom:10px; }
    .profile-hero { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:start; }
    .profile-kpis { display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:10px;margin:16px 0; }
    .profile-kpi { padding:13px;border:1px solid var(--line);border-radius:10px;background:var(--surface); }
    .profile-kpi span { display:block;color:var(--muted);font-size:12px; }
    .profile-kpi b { display:block;font-size:22px;margin-top:5px; }
    .profile-breakdown { display:flex;gap:8px;flex-wrap:wrap;margin-top:8px; }
    .profile-filter { display:flex;gap:7px;flex-wrap:wrap;margin:12px 0; }
    .profile-filter .active { background:var(--navy);border-color:var(--navy);color:var(--white); }
    .credit-ledger td:last-child { white-space:nowrap; }
    .credit-impact { min-width:145px; line-height:1.25; }
    .credit-impact b { color:var(--ink); }
    .credit-impact .muted { font-size:12px; margin-top:3px; white-space:normal; }
    .opportunity-type { display:inline-flex;gap:5px;align-items:center; }
    .pool-conflict { background:var(--surface);color:var(--danger); }
    .participant-warning { display:block;color:var(--warning);font-size:11px;margin-top:5px; }
    .off-participant-shell { margin-top:12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);overflow:hidden; }
    #off-participant-header { position:sticky;top:0;z-index:3;border-bottom:1px solid var(--line); }
    #off-participant-list { max-height:520px;overflow:auto;scrollbar-color:var(--ink-secondary) var(--surface-muted); }
    #off-participant-list .vol-row,#off-participant-header { grid-template-columns:minmax(250px,1.3fr) minmax(135px,.7fr) minmax(135px,.7fr) minmax(155px,.72fr) 42px; }
    #off-participant-list .vol-row { min-height:82px;transition:background .15s ease,border-color .15s ease;animation:none; }
    #off-participant-list .vol-row:hover { background:var(--surface); }
    #off-participant-list .vol-row.off-row-incomplete { background:var(--surface);box-shadow:inset 4px 0 0 var(--brand-orange); }
    #off-participant-list .vol-row.off-row-blocked { background:var(--surface);box-shadow:inset 4px 0 0 var(--ink-secondary); }
    #off-participant-list .vol-row.off-row-ready { box-shadow:inset 4px 0 0 var(--ink); }
    .off-person-title { display:flex;align-items:center;gap:6px;flex-wrap:wrap; }
    .off-person-meta { display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:5px; }
    .off-constraint { display:grid;gap:7px;align-content:center; }
    .off-constraint .switch { margin:0; }
    .off-participant-summary { display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:10px 0 0; }
    .off-participant-summary .summary-badges { display:flex;gap:7px;flex-wrap:wrap; }
    .off-row-feedback { margin-top:6px;font-size:11px;line-height:1.35; }
    .off-date-rule { margin-top:7px;padding:8px 10px;border-left:4px solid var(--blue);border-radius:7px;background:var(--surface);color:var(--ink);font-size:12px;line-height:1.4; }
    .off-date-rule.night { border-left-color:var(--brand-orange);background:var(--surface);color:var(--ink); }
    .off-distribution-status { margin-top:10px;padding:9px 11px;border:1px solid var(--line);border-radius:8px;background:var(--surface);font-size:12px; }
    .off-distribution-status.ok { border-color:var(--success-border);background:var(--surface);color:var(--ink); }
    .off-distribution-status.warning { border-color:var(--warning-border);background:var(--surface);color:var(--ink); }
    .off-retention-reason { display:grid;gap:5px;padding:7px;border:1px solid var(--surface-muted);border-radius:7px;background:var(--surface); }
    .off-retention-reason select,.off-retention-reason input { width:100%;min-width:0; }
    .off-review-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:12px 0; }
    .off-review-kpi { padding:11px;border:1px solid var(--line);border-radius:9px;background:var(--surface); }
    .off-review-kpi span { display:block;color:var(--muted);font-size:12px; }
    .off-review-kpi b { display:block;margin-top:4px;font-size:21px;color:var(--navy); }
    @media(max-width:1050px) { .profile-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }.off-draft-card { grid-template-columns:1fr; }.off-draft-card .actions { justify-content:flex-start; } }
    @media(max-width:900px) {
      #off-participant-header { display:none; }
      #off-participant-list .vol-row { grid-template-columns:1fr 1fr 42px;align-items:start;padding:14px; }
      #off-participant-list .vol-row>div:first-child { grid-column:1/-1; }
      #off-participant-list .vol-row>.off-constraint { grid-column:1/3; }
      #off-participant-list .vol-row>.remove { grid-column:3;grid-row:2; }
      .off-review-grid { grid-template-columns:1fr 1fr; }
    }


    body[data-mode="departures"]{--mode-accent:var(--warning);--mode-accent-strong:var(--warning);--mode-accent-soft:var(--surface);--mode-accent-border:var(--warning);--mode-sidebar-top:var(--ink);--mode-sidebar-bottom:var(--ink);--mode-on-accent:var(--ink)}
    body[data-mode="offs"]{--mode-accent:var(--accent);--mode-accent-strong:var(--accent);--mode-accent-soft:var(--surface);--mode-accent-border:var(--accent-border);--mode-sidebar-top:var(--ink);--mode-sidebar-bottom:var(--accent);--mode-on-accent:var(--surface)}
    body[data-mode] aside{background:linear-gradient(180deg,var(--mode-sidebar-top),var(--mode-sidebar-bottom));transition:background .25s ease}
    body[data-mode] nav button.active::before{background:var(--mode-accent)}
    body[data-mode] .btn.primary{background:var(--mode-accent);border-color:var(--mode-accent-strong);color:var(--mode-on-accent)}
    body[data-mode] .stat::before{background:var(--mode-accent)}
    body[data-mode] .bar i{background:linear-gradient(90deg,var(--mode-accent-strong),var(--mode-accent))}
    body[data-mode] .participant-count,body[data-mode] .rank{background:var(--mode-accent);color:var(--mode-on-accent)}
    body[data-mode] .accent{border-left-color:var(--mode-accent)}
    body[data-mode] .info-tip:hover,body[data-mode] .info-tip:focus{border-color:var(--mode-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--mode-accent) 20%,transparent)}
    body[data-mode] .mode-switch button.active{background:var(--mode-accent);color:var(--mode-on-accent)}
    body[data-mode] .progress-step.current{border-color:var(--mode-accent-strong);background:var(--mode-accent-soft);box-shadow:0 0 0 2px color-mix(in srgb,var(--mode-accent) 17%,transparent)}
    body[data-mode] .progress-step.current .step-number{background:var(--mode-accent);color:var(--mode-on-accent)}
    body[data-mode="offs"] .header-save{background:var(--mode-accent-strong)}
    body[data-mode="offs"] .review-chip,body[data-mode="offs"] .decision-note{border-color:var(--mode-accent-border);background:var(--mode-accent-soft);color:var(--ink)}
    body[data-mode="offs"] .review-chip::before{background:var(--mode-accent)}
    body[data-mode="offs"] .workflow-index{border-bottom-color:var(--mode-accent)}
    .employee-profile-link{display:inline-flex;flex-direction:column;align-items:flex-start;gap:1px;padding:2px 0;border:0;background:transparent;color:var(--text);font-weight:800;text-align:left;cursor:pointer}
    .employee-profile-link:hover,.employee-profile-link:focus-visible{color:var(--mode-accent-strong);text-decoration:underline;text-underline-offset:3px;outline:0}
    .employee-profile-link small{color:var(--muted);font-size:11px;font-weight:500;text-decoration:none}
    .distribution-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 10px;color:var(--muted);font-size:12px}
    .confirmation-slot-control{display:grid;grid-template-columns:minmax(230px,1fr) auto;gap:14px;align-items:center;margin:14px 0;padding:13px 14px;border:1px solid var(--mode-accent-border,var(--surface-muted));border-left:5px solid var(--mode-accent,var(--warning));border-radius:10px;background:var(--mode-accent-soft,var(--surface))}
    .confirmation-slot-control h3{margin:0 0 3px}.confirmation-slot-control .muted{font-size:12px}
    .confirmation-slot-editor{display:flex;align-items:center;justify-content:flex-end;gap:7px}
    .confirmation-slot-editor input{width:78px;text-align:center;font-weight:850;font-size:16px}
    .confirmation-slot-editor .slot-nudge{width:36px;height:36px;padding:0;font-size:20px}
    @media(max-width:720px){.confirmation-slot-control{grid-template-columns:1fr}.confirmation-slot-editor{justify-content:flex-start}}

    .off-mode-switch{display:flex;gap:8px;flex-wrap:wrap}
    .off-mode-switch .btn{min-width:190px;justify-content:center}
    .settings-summary{display:flex;align-items:center;justify-content:space-between;gap:14px;cursor:pointer;list-style:none}
    .settings-summary::-webkit-details-marker{display:none}
    .settings-summary>span:first-child{display:flex;flex-direction:column;gap:4px}
    .settings-section-body{margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}
    .threshold-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:10px}
    .threshold-table{min-width:620px;margin:0}
    .threshold-table input{width:72px;text-align:center}
    .threshold-zone-row td{background:var(--surface);font-weight:800}
    .threshold-active{background:var(--surface);border-color:var(--warning)}
    .data-source-health{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
    .profile-skill-editor{margin-top:18px;border:1px solid var(--surface-muted);border-radius:11px;background:var(--surface);padding:14px}
    .profile-skill-grid{display:grid;grid-template-columns:minmax(250px,.7fr) minmax(0,1.3fr);gap:18px}
    .profile-off-settings{display:grid;gap:12px;align-content:start}
    .profile-skill-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:10px 0}
    .profile-skill-toolbar input{min-width:220px;max-width:330px}
    .skill-selected-summary{display:flex;gap:6px;flex-wrap:wrap;padding:10px 0 2px}
    .skill-zone-list{display:grid;gap:8px}
    .skill-zone{border:1px solid var(--line);border-radius:9px;background:var(--surface);overflow:hidden}
    .skill-zone>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;padding:11px 13px;font-weight:800;background:var(--surface);list-style:none}
    .skill-zone>summary::-webkit-details-marker{display:none}
    .skill-zone[open]>summary{border-bottom:1px solid var(--line);background:var(--surface)}
    .skill-zone-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:7px;padding:11px}
    .skill-zone-items label{display:flex;align-items:center;gap:8px;min-height:38px;padding:7px 9px;border:1px solid var(--surface-muted);border-radius:8px;font-weight:600;background:var(--surface)}
    .skill-zone-items label:has(input:checked){border-color:var(--warning);background:var(--surface)}
    .skill-zone-items input{width:auto}
    .maintenance-collapsed>summary{padding:2px 0}
    .override-confirm{display:flex;gap:10px;align-items:flex-start;margin-top:14px;padding:12px;border:1px solid var(--warning);border-radius:9px;background:var(--surface)}
    .override-confirm input{width:auto;margin-top:3px}
    .competency-summary{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}
    .coverage-table td:last-child,.coverage-table th:last-child{text-align:right}
    .off-override-button{margin-top:9px}
    @media(max-width:800px){.profile-skill-grid{grid-template-columns:1fr}.off-mode-switch .btn{min-width:0;flex:1 1 180px}}

    .schedule-settings-table{min-width:720px}.schedule-settings-table input[type="time"]{width:118px}.schedule-settings-table input[type="number"]{width:90px}
    .schedule-profile{margin-top:18px;border:1px solid var(--surface-muted);border-radius:11px;background:var(--surface);padding:14px}
    .schedule-profile>summary{cursor:pointer;font-weight:850;list-style:none}.schedule-profile>summary::-webkit-details-marker{display:none}
    .schedule-summary-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:6px}
    .schedule-simple-grid{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:10px;align-items:end;margin-top:12px}
    .schedule-weekly{overflow:auto;margin-top:12px;border:1px solid var(--line);border-radius:9px;background:var(--surface)}.schedule-weekly table{min-width:760px;margin:0}
    .schedule-weekly input[type="time"]{width:112px}.schedule-weekly select{min-width:135px}.schedule-weekly input[type="checkbox"]{width:auto}
    .schedule-source{font-size:12px;color:var(--muted);margin-top:5px}.schedule-source.warning{color:var(--warning);font-weight:700}
    .schedule-badge-line{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
    .schedule-audit-grid{display:grid;grid-template-columns:repeat(5,minmax(110px,1fr));gap:9px;margin:12px 0}
    .schedule-audit-kpi{padding:11px;border:1px solid var(--line);border-radius:9px;background:var(--surface)}.schedule-audit-kpi span{display:block;color:var(--muted);font-size:11px}.schedule-audit-kpi b{display:block;margin-top:3px;font-size:21px}
    .operational-day-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:16px 0 8px;padding:10px 12px;border:1px solid var(--mode-accent-border,var(--surface-muted));border-left:5px solid var(--mode-accent,var(--warning));border-radius:9px;background:var(--mode-accent-soft,var(--surface))}
    .operational-day-heading:first-child{margin-top:0}.operational-day-heading h3{margin:0}.operational-day-heading .muted{font-size:12px}
    .savings-stat small{display:block;margin-top:4px;color:var(--muted);font-size:11px;font-weight:600}.savings-stat b{font-size:27px}
    .schedule-inline{margin-top:5px;padding:5px 7px;border-radius:7px;background:var(--surface);color:var(--ink);font-size:11px}.schedule-inline.warning{background:var(--surface);color:var(--ink)}
    @media(max-width:900px){.schedule-simple-grid{grid-template-columns:1fr 1fr}.schedule-audit-grid{grid-template-columns:1fr 1fr}.schedule-settings-table{min-width:620px}}



:root{
  --workspace-surface:var(--surface);--workspace-canvas:var(--surface);--workspace-soft:var(--surface);
  --workspace-shadow:0 8px 26px rgba(15,23,42,.07);--workspace-radius:14px;
}
html{scroll-behavior:smooth}
body{background:var(--workspace-canvas);letter-spacing:-.006em}
main{max-width:none;padding:22px 26px 34px}
.card{border-radius:var(--workspace-radius);box-shadow:0 1px 2px rgba(15,23,42,.03);padding:18px}
.card h2{font-size:18px}.card h3{font-size:15px}
.app-header{min-height:74px;margin:-4px 0 16px;padding:10px 0 14px;border-bottom:1px solid var(--line);background:rgba(244,246,248,.94);backdrop-filter:blur(10px);position:sticky;top:0;z-index:90}
.header-title h1{font-size:26px;line-height:1.08}.header-title .subtitle{font-size:12px;margin-top:4px}
.header-actions{gap:8px}.header-actions .btn,.header-actions .freshness-pill,.header-save-indicator{min-height:38px}
.review-chip{font-size:11px;padding:3px 7px}
.freshness-banner{padding:12px 14px;border-radius:12px;gap:10px;margin-bottom:16px}
.freshness-intro{font-size:13px}.freshness-item{padding:9px 11px;min-height:58px}
.notice{padding:10px 12px;border-radius:9px;line-height:1.42}
.btn{border-radius:9px;transition:transform .15s ease,box-shadow .15s ease,background .15s ease,border-color .15s ease}
.btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 5px 13px rgba(15,23,42,.09)}
.btn:active:not(:disabled){transform:translateY(0)}
input,select,textarea{border-radius:9px;min-height:40px}.field label{font-size:12px;margin-bottom:6px}
.form-grid{gap:12px}.actions{gap:8px}
.view.active{animation:workspaceViewIn .2s ease both}
@keyframes workspaceViewIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.view.active{animation:none}.btn{transition:none}}


aside{width:246px;transition:width .2s ease;padding:18px 14px}
.brand{margin-bottom:12px}.brand .logo{width:46px;height:38px}.brand small{font-size:11px}
.workspace-sidebar-toggle{width:100%;margin:0 0 10px;justify-content:center;background:rgba(255,255,255,.07);color:var(--accent-soft);border-color:rgba(255,255,255,.12)}
nav button{min-height:39px;padding:9px 11px;border-radius:8px;font-size:13px}
.nav-separator{margin:15px 9px 6px;font-size:10px;letter-spacing:.09em}
.side-note,.side-governance{font-size:11px;line-height:1.4;padding:10px}
.app.workspace-nav-compact aside{width:82px;padding-inline:10px}
.app.workspace-nav-compact .brand>div:last-child,.app.workspace-nav-compact .mode-switch,.app.workspace-nav-compact .nav-separator,.app.workspace-nav-compact .side-note,.app.workspace-nav-compact .side-governance{display:none}
.app.workspace-nav-compact .brand{justify-content:center}.app.workspace-nav-compact .brand .logo{width:54px}
.app.workspace-nav-compact nav button{font-size:0;text-align:center;padding:8px}
.app.workspace-nav-compact nav button:before{font-size:18px;display:block}
.app.workspace-nav-compact nav button[data-view="dashboard"]:before,.app.workspace-nav-compact nav button[data-view="off-dashboard"]:before{content:"⌂"}
.app.workspace-nav-compact nav button[data-view="new-event"]:before,.app.workspace-nav-compact nav button[data-view="new-off"]:before{content:"＋"}
.app.workspace-nav-compact nav button[data-view="history"]:before,.app.workspace-nav-compact nav button[data-view="off-history"]:before{content:"◷"}
.app.workspace-nav-compact nav button[data-view="stats"]:before,.app.workspace-nav-compact nav button[data-view="off-stats"]:before{content:"▤"}
.app.workspace-nav-compact nav button[data-view="manual-history"]:before,.app.workspace-nav-compact nav button[data-view="manual-off-history"]:before{content:"↥"}
.app.workspace-nav-compact nav button[data-view="employees"]:before{content:"♟"}
.app.workspace-nav-compact nav button[data-view="settings"]:before{content:"⚙"}
.app.workspace-nav-compact nav button[data-view="data"]:before{content:"▣"}


.departure-progress,.departure-next{display:none}
.workspace-wizard-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px;padding:15px 17px;border:1px solid var(--line);border-left:5px solid var(--mode-accent);border-radius:13px;background:var(--surface);box-shadow:0 2px 9px rgba(15,23,42,.04)}
.workspace-wizard-head h2{margin:0 0 4px;font-size:19px}.workspace-wizard-head p{margin:0;font-size:12px;color:var(--muted)}
.workspace-wizard-head .actions{flex-shrink:0}
.workspace-step-nav{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:7px;margin:0 0 14px}
.workspace-step-button{display:flex;align-items:center;gap:9px;min-height:52px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--muted);text-align:left;cursor:pointer}
.workspace-step-button span{display:grid;place-items:center;flex:0 0 25px;height:25px;border-radius:50%;background:var(--surface-muted);color:var(--ink-secondary);font-size:11px;font-weight:900}
.workspace-step-button b{display:block;font-size:12px;color:var(--accent)}.workspace-step-button small{display:block;font-size:10px;margin-top:1px}
.workspace-step-button.done{border-color:var(--success-border);background:var(--surface)}.workspace-step-button.done span{background:var(--ink);color:var(--white)}
.workspace-step-button.current{border-color:var(--mode-accent);background:var(--mode-accent-soft);box-shadow:0 0 0 2px color-mix(in srgb,var(--mode-accent) 15%,transparent)}
.workspace-step-button.current span{background:var(--mode-accent);color:var(--ink)}.workspace-step-button:disabled{cursor:not-allowed;opacity:.55}
.workspace-wizard-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:14px;align-items:start}
.workspace-wizard-main>.card{margin:0}.workspace-wizard-main .workflow-section{display:none;padding:0;border:0}
.workspace-wizard-main .workflow-section.workspace-step-active{display:block;animation:workspaceStepIn .2s ease both}
@keyframes workspaceStepIn{from{opacity:0;transform:translateX(7px)}to{opacity:1;transform:none}}
.workspace-wizard-main.workspace-expert .workflow-section{display:block;padding:19px 0;border-top:1px solid var(--line)}
.workspace-wizard-main.workspace-expert .workflow-section:first-child{padding-top:0;border-top:0}
.workspace-wizard-main.workspace-result-step>.card{display:none}
.workspace-wizard-main.workspace-result-step #calculation-result,.workspace-wizard-main.workspace-result-step #off-calculation-result{margin-top:0}
.workspace-wizard-summary{position:sticky;top:94px;border:1px solid var(--line);border-radius:13px;background:var(--surface);padding:15px;box-shadow:var(--workspace-shadow)}
.workspace-wizard-summary h3{margin:0 0 10px;font-size:14px}.workspace-summary-list{display:grid;gap:0}
.workspace-summary-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--surface-muted);font-size:12px}
.workspace-summary-row:last-child{border:0}.workspace-summary-row span{color:var(--muted)}.workspace-summary-row b{text-align:right;color:var(--text)}
.workspace-summary-alert{margin-top:10px;padding:9px;border-radius:8px;background:var(--mode-accent-soft);color:var(--mode-accent-strong);font-size:11px;line-height:1.4}
.workspace-wizard-actions{position:sticky;bottom:8px;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:13px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.96);box-shadow:0 10px 30px rgba(15,23,42,.12);backdrop-filter:blur(10px)}
.workspace-wizard-actions .workspace-step-context{font-size:12px;color:var(--muted)}
.workspace-wizard-actions .actions{margin-left:auto}
.workspace-wizard-main.workspace-expert+.workspace-wizard-summary{display:none}
.workspace-wizard-layout:has(.workspace-wizard-main.workspace-expert){grid-template-columns:1fr}
.workflow-title{margin-bottom:14px}.workflow-title h2{font-size:19px}.workflow-index{width:29px;height:29px}
.guardrail-panel{margin-top:14px}.guard-grid{max-height:52vh;overflow:auto}
.participant-adder{position:relative}.volunteers{max-height:47vh;overflow:auto;overscroll-behavior:contain}
.event-action-dock{display:none}


#employees>.two{grid-template-columns:minmax(0,1fr) 310px;align-items:start}
#employees>.two>div:first-child{min-width:0}
.workspace-employee-overview{display:grid;grid-template-columns:repeat(5,minmax(110px,1fr));gap:8px;margin-bottom:12px}
.workspace-mini-kpi{padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}
.workspace-mini-kpi span{display:block;color:var(--muted);font-size:10px}.workspace-mini-kpi b{display:block;margin-top:3px;font-size:19px}
.workspace-employee-primary{display:flex;align-items:flex-end;gap:9px;margin-bottom:10px}.workspace-employee-primary .field{flex:1}.workspace-employee-primary .field label{font-size:11px}
.workspace-employee-primary input{font-size:15px;padding-left:38px;background:var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Ccircle cx='8' cy='8' r='5'/%3E%3Cpath d='m12 12 4 4'/%3E%3C/svg%3E") no-repeat 12px center}
.workspace-employee-advanced{grid-template-columns:repeat(3,1fr);padding:11px;margin:0 0 11px;border-radius:10px;background:var(--surface)}
.workspace-employee-advanced[hidden]{display:none}
#employee-table{max-height:63vh;border:1px solid var(--line);border-radius:10px}
#employee-table table{margin:0}#employee-table th{position:sticky;top:0;z-index:3;background:var(--surface);font-size:10px;text-transform:uppercase;letter-spacing:.04em}
#employee-table td{padding-top:8px;padding-bottom:8px;font-size:12px}
#employee-table .pager{position:sticky;bottom:0;background:var(--surface);border-top:1px solid var(--line);padding:8px 10px}
.workspace-tool-stack{display:grid;gap:9px}.workspace-tool-stack>.card{margin:0;padding:0;overflow:hidden}
.workspace-tool-stack>.card>h2{display:none}.workspace-tool-details>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 14px;cursor:pointer;font-weight:800;list-style:none}
.workspace-tool-details>summary::-webkit-details-marker{display:none}.workspace-tool-details>summary:after{content:"＋";color:var(--muted)}.workspace-tool-details[open]>summary:after{content:"−"}
.workspace-tool-body{padding:0 14px 14px;border-top:1px solid var(--line)}
#employee-profile{scroll-margin-top:90px}
.workspace-profile-tabs{position:sticky;top:84px;z-index:6;display:flex;gap:5px;margin:14px 0 12px;padding:5px;border:1px solid var(--line);border-radius:11px;background:rgba(255,255,255,.96);backdrop-filter:blur(8px)}
.workspace-profile-tabs button{flex:1;border:0;border-radius:7px;padding:9px;background:transparent;font-weight:750;color:var(--muted);cursor:pointer}.workspace-profile-tabs button.active{background:var(--mode-accent-soft);color:var(--mode-accent-strong)}
.workspace-profile-panel[hidden]{display:none}.workspace-profile-panel{animation:workspaceViewIn .16s ease}
.workspace-profile-summary .profile-kpis{margin-top:10px}.workspace-profile-summary details{margin-top:10px}.workspace-profile-history .employee-scroll{max-height:54vh}


.workspace-section-intro{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.workspace-section-intro h2{margin:0;font-size:18px}.workspace-section-intro p{margin:3px 0 0;font-size:12px;color:var(--muted)}
.workspace-tabbar{display:flex;gap:5px;overflow:auto;padding:5px;margin-bottom:12px;border:1px solid var(--line);border-radius:11px;background:var(--surface);scrollbar-width:thin}
.workspace-tabbar button{white-space:nowrap;border:0;border-radius:7px;padding:9px 13px;background:transparent;color:var(--muted);font-weight:750;cursor:pointer}
.workspace-tabbar button.active{background:var(--mode-accent-soft);color:var(--mode-accent-strong)}
.workspace-group-host{display:grid;gap:11px}.workspace-group-host>.card,.workspace-group-host>.two{margin:0}
.workspace-group-host>.card{box-shadow:none}.workspace-group-host>.card>details:not([open]){min-height:auto}
.workspace-group-host .settings-summary{padding:2px}
.workspace-group-host .settings-section-body{padding-top:13px}
.workspace-group-host[hidden]{display:none}
#settings .form-grid[style*="180px"]{grid-template-columns:190px minmax(0,1fr)}
.threshold-table-wrap,.schedule-weekly{overscroll-behavior:contain}

@media(max-width:1180px){
  .workspace-wizard-layout{grid-template-columns:1fr}.workspace-wizard-summary{position:static;display:none}.workspace-step-nav{grid-template-columns:repeat(5,minmax(95px,1fr))}
  #employees>.two{grid-template-columns:1fr}.workspace-tool-stack{grid-template-columns:1fr 1fr}
}
@media(max-width:900px){
  aside{width:82px;padding-inline:10px}.brand>div:last-child,.mode-switch,.nav-separator,.side-note,.side-governance{display:none}.brand{justify-content:center}.brand .logo{width:54px}nav button{font-size:0;text-align:center}nav button:before{font-size:18px;display:block}.workspace-sidebar-toggle{display:none}
  main{padding:16px}.workspace-step-nav{grid-template-columns:repeat(3,1fr)}.workspace-employee-overview{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:640px){
  main{padding:12px}.app-header{position:static}.header-actions{width:100%}.header-save-indicator,.freshness-pill{display:none}
  .workspace-wizard-head{flex-direction:column}.workspace-step-nav{display:flex;overflow:auto}.workspace-step-button{min-width:145px}.workspace-step-button small{display:none}
  .workspace-wizard-actions{bottom:4px;align-items:stretch}.workspace-wizard-actions .workspace-step-context{display:none}.workspace-wizard-actions .actions{width:100%}.workspace-wizard-actions .btn{flex:1}
  .workspace-employee-overview{grid-template-columns:1fr 1fr}.workspace-tool-stack{grid-template-columns:1fr}.workspace-employee-primary{align-items:stretch;flex-direction:column}.workspace-employee-advanced{grid-template-columns:1fr}
  .workspace-profile-tabs{position:static;overflow:auto}.workspace-profile-tabs button{min-width:120px}
  .workspace-section-intro{align-items:flex-start;flex-direction:column}#settings .form-grid[style*="180px"]{grid-template-columns:1fr}
}





.app{grid-template-columns:246px minmax(0,1fr);transition:grid-template-columns .2s ease}
.app.workspace-nav-compact{grid-template-columns:82px minmax(0,1fr)}
.app>aside{width:auto;min-width:0}
main,.view,.card,.workflow-section,.result-head>*{min-width:0}
input,select,textarea,.btn{max-width:100%;min-width:0}
.form-grid,.two,.grid,.guard-grid,.profile-kpis,.profile-skill-grid,.schedule-simple-grid{grid-template-columns:repeat(var(--columns,1),minmax(0,1fr))}
.form-grid{--columns:3}.two{--columns:2}.grid{--columns:4}.guard-grid{--columns:2}.profile-kpis{--columns:4}.profile-skill-grid{--columns:2}.schedule-simple-grid{--columns:4}
.actions>*{min-width:0}.actions .btn{white-space:normal}
.muted,.reason,.notice,.schedule-inline,.workspace-summary-row b{overflow-wrap:anywhere}


.app.workspace-nav-compact .workspace-sidebar-toggle span:last-child{display:none}
.app.workspace-nav-compact .workspace-sidebar-toggle{padding:7px 4px}
.app.workspace-nav-compact .mode-switch{display:grid;grid-template-columns:1fr;margin:0 0 10px;padding:3px}
.app.workspace-nav-compact .mode-switch button{font-size:9px;padding:7px 2px;letter-spacing:.02em}
.app.workspace-nav-compact nav button::before{
  position:static;inset:auto;width:auto;height:auto;
  background:transparent;border:0;font-size:18px;line-height:1;
}
.app.workspace-nav-compact nav button{min-height:40px;margin:4px 0;transform:none}
.app.workspace-nav-compact nav button.active{box-shadow:inset 3px 0 0 var(--mode-accent)}


.result-head{align-items:flex-start;flex-wrap:wrap}
.result-head>.actions{justify-content:flex-end}
.header-overflow-menu{max-width:min(240px,calc(100vw - 24px))}
.suggestions{left:0;right:0;top:calc(100% + 5px);width:auto;max-width:none}
.suggestion{overflow-wrap:anywhere}
.guard-group summary,.settings-summary,.carpool-panel>summary{min-width:0}
.guard-group summary>*,.settings-summary>*,.carpool-panel>summary>*{min-width:0}
.guard-items .switch{align-items:flex-start;line-height:1.35}
.guard-items .switch input{margin-top:2px;flex:0 0 auto}
.carpool-person{flex-wrap:wrap}.carpool-person select{width:min(160px,100%)}
.workspace-tool-body>.btn,.workspace-tool-body>label.btn,.workspace-tool-body>a.btn{margin:8px 6px 0 0}


.table-table-scroll{width:100%;max-width:100%;overflow-x:auto;overflow-y:visible;overscroll-behavior-x:contain;overscroll-behavior-y:auto;border:1px solid var(--line);border-radius:10px;background:var(--surface);scrollbar-gutter:stable}
.table-table-scroll:focus{outline:3px solid color-mix(in srgb,var(--mode-accent) 28%,transparent);outline-offset:2px}
.table-table-scroll>table{margin:0;min-width:680px}
.table-table-scroll>table th:first-child,.table-table-scroll>table td:first-child{position:sticky;left:0;z-index:1;background:inherit;box-shadow:1px 0 0 var(--line)}
.table-table-scroll>table thead th:first-child{z-index:2;background:var(--surface)}
.threshold-table-wrap,.schedule-weekly,.employee-scroll,#off-participant-list,.volunteers{max-width:100%;overscroll-behavior:contain}


.workspace-wizard-main>.card{overflow:visible}
.workspace-step-nav{max-width:100%;overflow:auto;scrollbar-width:thin;overscroll-behavior-inline:contain}
.workspace-step-button{min-width:0}
.workspace-wizard-actions{max-width:100%}
.workspace-wizard-actions .actions{flex-wrap:nowrap}
.workspace-wizard-actions .btn{white-space:nowrap}
.workspace-wizard-summary{max-height:calc(100vh - 116px);overflow:auto}
.volunteers{scrollbar-gutter:stable}


#employees>.two>.card,#employees>.two>div{min-width:0}
.workspace-employee-primary .field{min-width:0}
.workspace-employee-advanced{--columns:3}
.workspace-profile-tabs{max-width:100%;overflow:auto;overscroll-behavior-inline:contain;scrollbar-width:thin}
.workspace-profile-tabs button{white-space:nowrap}
.workspace-profile-panel details>summary{overflow-wrap:anywhere}
.profile-skill-toolbar input{width:min(330px,100%);min-width:0}
.skill-zone-items{grid-template-columns:repeat(auto-fill,minmax(min(190px,100%),1fr))}
.schedule-profile,.profile-skill-editor{max-width:100%;overflow:hidden}
.schedule-profile>details,.profile-skill-editor>details{max-width:100%}
.schedule-simple-grid .field>div{max-width:100%}


.workspace-tabbar{max-width:100%;overscroll-behavior-inline:contain;scrollbar-width:thin}
.workspace-group-host,.workspace-group-host>.card,.workspace-group-host>.two{min-width:0;max-width:100%}
#settings .settings-summary>span:first-child{flex:1}
#settings .settings-section-body .result-head>.actions{max-width:100%}
.operational-day-heading>*{min-width:0}


@media(max-width:950px){
  .app,.app.workspace-nav-compact{display:block}
  .app>aside,.app.workspace-nav-compact>aside{
    position:sticky;top:0;z-index:150;width:100%;min-height:0;padding:9px 11px;
    display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:10px;
    box-shadow:0 4px 14px rgba(23,59,60,.18)
  }
  .app>aside .brand,.app.workspace-nav-compact>aside .brand{display:flex;justify-content:flex-start;margin:0;padding:0;border:0;gap:8px}
  .app>aside .brand .logo{width:44px;height:36px;flex:0 0 44px;font-size:14px}
  .app>aside .brand>div:last-child{display:block}.app>aside .brand small{display:none}
  .app>aside .workspace-sidebar-toggle{display:none}
  .app>aside .mode-switch,.app.workspace-nav-compact>aside .mode-switch{display:grid;grid-template-columns:1fr 1fr;width:170px;margin:0;padding:3px}
  .app>aside .mode-switch button,.app.workspace-nav-compact>aside .mode-switch button{font-size:10px;padding:7px 5px}
  .app>aside nav{display:flex;flex-wrap:nowrap;gap:4px;min-width:0;overflow:auto;overscroll-behavior-inline:contain;scrollbar-width:none}
  .app>aside nav::-webkit-scrollbar{display:none}
  .app>aside nav button,.app.workspace-nav-compact>aside nav button{
    display:block;width:auto;min-width:max-content;min-height:36px;margin:0;padding:8px 10px;
    font-size:11px;white-space:nowrap;text-align:center;transform:none;box-shadow:none
  }
  .app>aside nav button::before,.app.workspace-nav-compact>aside nav button::before{display:none;content:none}
  .app>aside nav button.active{box-shadow:inset 0 -3px 0 var(--mode-accent)}
  .app>aside .nav-separator,.app>aside .side-note,.app>aside .side-governance{display:none}
  main{padding:18px 20px 28px}
  .app-header{position:static;margin-top:0}
  .profile-kpis{--columns:2}.grid{--columns:2}.two{--columns:1}.form-grid{--columns:2}
  .workspace-employee-overview{grid-template-columns:repeat(3,minmax(0,1fr))}
  .workspace-profile-tabs{position:static}
  .schedule-simple-grid{--columns:2}.schedule-audit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:760px){
  main{padding:14px}
  .app>aside,.app.workspace-nav-compact>aside{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"brand mode" "nav nav";gap:7px 10px}
  .app>aside .brand{grid-area:brand}.app>aside .brand>div:last-child{display:none}
  .app>aside .mode-switch,.app.workspace-nav-compact>aside .mode-switch{grid-area:mode;width:100%;max-width:220px;justify-self:end}
  .app>aside nav{grid-area:nav}
  .header-actions{width:100%;justify-content:flex-start}
  .header-actions>.btn,.header-actions>.header-overflow{flex:1 1 auto}
  .freshness-banner{grid-template-columns:1fr}.freshness-intro{grid-column:auto}
  .freshness-item{align-items:flex-start;flex-direction:column}.freshness-item .btn{width:100%}
  .workspace-wizard-head{padding:13px;align-items:stretch}.workspace-wizard-head>.actions{width:100%}.workspace-wizard-head>.actions .btn{flex:1}
  .workspace-step-nav{display:flex}.workspace-step-button{flex:0 0 145px}.workspace-step-button small{display:none}
  .workspace-wizard-actions{align-items:stretch}.workspace-wizard-actions .workspace-step-context{display:none}.workspace-wizard-actions .actions{width:100%}.workspace-wizard-actions .btn{flex:1;white-space:normal}
  #participant-header,#off-participant-header{display:none}
  #participant-list .vol-row,#historical-participant-list .vol-row,#off-participant-list .vol-row,#off-historical-participant-list .vol-row{
    grid-template-columns:minmax(0,1fr) 42px;gap:8px;align-items:start;padding:12px
  }
  #participant-list .vol-row>div:first-child,#historical-participant-list .vol-row>div:first-child,#off-participant-list .vol-row>div:first-child,#off-historical-participant-list .vol-row>div:first-child{grid-column:1/-1}
  #participant-list .role-select,#historical-participant-list select,#off-participant-list .role-select,#off-historical-participant-list select{grid-column:1/-1;width:100%}
  #participant-list .vol-row>.switch,#historical-participant-list .vol-row>.switch,#off-participant-list .vol-row>.off-constraint,#off-historical-participant-list .vol-row>.switch{grid-column:1}
  #participant-list .vol-row>.remove,#historical-participant-list .vol-row>.remove,#off-participant-list .vol-row>.remove,#off-historical-participant-list .vol-row>.remove{grid-column:2;align-self:end}
  .participant-adder{grid-template-columns:minmax(0,1fr) auto}.participant-adder .btn{padding-inline:11px}
  .result-head{display:grid;grid-template-columns:1fr;align-items:start}.result-head>.actions{justify-content:flex-start;width:100%}
  .confirmation-slot-control{grid-template-columns:1fr}.confirmation-slot-editor{justify-content:flex-start;flex-wrap:wrap}
  .history-event summary{grid-template-columns:1fr;gap:5px;padding:12px}.history-body{padding:12px}
  .operational-day-heading{align-items:flex-start;flex-direction:column}.operational-day-heading .btn{width:100%}
  .settings-summary{align-items:flex-start;flex-direction:column}.settings-summary>.badge{align-self:flex-start}
  #settings .form-grid[style*="2fr"]{grid-template-columns:1fr}
  .workspace-section-intro{align-items:flex-start;flex-direction:column}
  .profile-skill-grid{grid-template-columns:1fr}.profile-hero{grid-template-columns:1fr}.profile-hero>.btn{justify-self:start}
  .table-table-scroll>table{min-width:620px}
}

@media(max-width:520px){
  .card{padding:13px;border-radius:11px}.workflow-title h2{font-size:17px}.workflow-title .muted{font-size:12px}
  .grid,.form-grid,.profile-kpis,.schedule-simple-grid{--columns:1}
  .workspace-employee-overview{grid-template-columns:repeat(2,minmax(0,1fr))}
  .workspace-employee-primary{align-items:stretch;flex-direction:column}.workspace-employee-primary .btn{width:100%}
  .workspace-employee-advanced{grid-template-columns:1fr}
  .workspace-tool-stack{grid-template-columns:1fr}
  .workspace-profile-tabs button{flex:0 0 auto;min-width:120px}
  .guard-grid{--columns:1}.guard-group summary{align-items:flex-start;flex-direction:column}.guard-group summary>span:last-child{width:100%;display:flex;justify-content:space-between;gap:8px}
  .off-mode-switch{display:grid;grid-template-columns:1fr}.off-mode-switch .btn{width:100%;min-width:0}
  .carpool-grid{grid-template-columns:1fr}.carpool-person{align-items:stretch;flex-direction:column}.carpool-person select{width:100%}
  .schedule-simple-grid .field>div{flex-direction:column}.schedule-simple-grid .field>div input{width:100%}
  .schedule-audit-grid{grid-template-columns:1fr}
  .modal-card{width:calc(100vw - 18px);max-height:94vh}.modal-head,.modal-body,.modal-actions{padding-inline:13px}
  .toast-host{left:10px;right:10px;bottom:10px}.toast{min-width:0;max-width:none;width:100%}
}





body[data-mode] .workspace-wizard-summary{
  background:var(--surface);color:var(--text);border-color:var(--line);
  font:inherit;text-align:left
}
body[data-mode] .workspace-wizard-summary h3,body[data-mode] .workspace-wizard-summary b{color:var(--navy-soft)}
body[data-mode] .workspace-wizard-summary .workspace-summary-row span{color:var(--muted)}
body[data-mode] .workspace-wizard-summary .workspace-summary-row{border-bottom-color:var(--surface-muted)}
body[data-mode] .workspace-wizard-summary .workspace-summary-alert{
  background:var(--mode-accent-soft);color:var(--mode-accent-strong);
  border:1px solid var(--mode-accent-border)
}


.workspace-profile-stage{
  position:relative;height:clamp(560px,68vh,780px);min-height:0;overflow:hidden;
  border:1px solid var(--line);border-radius:12px;background:var(--surface)
}
.workspace-profile-panel{
  height:100%;min-height:0;overflow:auto;padding:15px 16px 18px;scrollbar-gutter:stable;
  overscroll-behavior:contain;background:var(--surface)
}
.workspace-profile-panel[hidden]{display:none}
.workspace-profile-panel>.profile-kpis:first-child{margin-top:0}
.workspace-profile-panel>.schedule-profile,.workspace-profile-panel>.profile-skill-editor{margin-top:0;border:0;background:transparent;padding:0;overflow:visible}
.workspace-profile-panel>.schedule-profile>summary,.workspace-profile-panel>.profile-skill-editor>summary{
  position:sticky;top:-15px;z-index:4;margin:0 -16px 12px;padding:13px 16px;border-bottom:1px solid var(--line);background:var(--surface)
}
.workspace-profile-history .employee-scroll{max-height:none;overflow-x:auto;overflow-y:visible}
.workspace-profile-tabs{margin-bottom:8px}
.workspace-profile-tabs button{min-height:38px}


.overview-dashboard{--dash-accent:var(--mode-accent);--dash-soft:var(--mode-accent-soft);--dash-border:var(--mode-accent-border)}
.overview-dashboard-hero{
  position:relative;overflow:hidden;margin-bottom:14px;padding:20px 22px;border:1px solid var(--dash-border);
  border-radius:16px;background:linear-gradient(135deg,var(--dash-soft),var(--surface) 64%);box-shadow:var(--workspace-shadow)
}
.overview-dashboard-hero::after{
  content:"";position:absolute;right:-55px;top:-80px;width:220px;height:220px;border-radius:50%;
  background:color-mix(in srgb,var(--dash-accent) 11%,transparent);pointer-events:none
}
.overview-dashboard-hero-head{position:relative;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.overview-dashboard-eyebrow{display:flex;align-items:center;gap:8px;margin-bottom:5px;color:var(--mode-accent-strong);font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.075em}
.overview-dashboard-eyebrow::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--dash-accent)}
.overview-dashboard-hero h2{margin:0;color:var(--navy);font-size:23px;letter-spacing:-.025em}
.overview-dashboard-hero p{margin:5px 0 0;color:var(--muted);font-size:12px}
.overview-dashboard-hero-actions{position:relative;z-index:1;display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.overview-dashboard-kpis{position:relative;z-index:1;display:grid;grid-template-columns:1.2fr repeat(3,minmax(120px,1fr));gap:9px;margin-top:18px}
.overview-dashboard-kpi{min-width:0;padding:12px 13px;border:1px solid rgba(213,219,219,.9);border-radius:11px;background:rgba(255,255,255,.88)}
.overview-dashboard-kpi:first-child{border-color:var(--dash-border);box-shadow:inset 4px 0 0 var(--dash-accent)}
.overview-dashboard-kpi span{display:block;color:var(--muted);font-size:10px;font-weight:750;text-transform:uppercase;letter-spacing:.045em}
.overview-dashboard-kpi b{display:block;margin-top:4px;color:var(--navy-soft);font-size:22px;line-height:1.15}
.overview-dashboard-kpi:first-child b{font-size:29px}
.overview-dashboard-kpi small{display:block;margin-top:4px;color:var(--muted);font-size:10px;line-height:1.35}
.overview-dashboard-health{display:inline-flex;align-items:center;gap:5px;margin-top:7px;padding:3px 7px;border-radius:99px;background:var(--surface);color:var(--ink-secondary);font-size:10px;font-weight:800}
.overview-dashboard-health.good{background:var(--success-soft);color:var(--ink)}.overview-dashboard-health.warning{background:var(--warning-soft);color:var(--warning)}

.overview-secondary-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:14px}
.overview-secondary-stats .card{padding:12px 14px;box-shadow:none;background:var(--surface)}
.overview-secondary-stats .stat::before{height:3px}.overview-secondary-stats .stat span{font-size:11px}.overview-secondary-stats .stat b{font-size:22px;margin-top:4px}
.overview-secondary-stats .savings-stat{display:none}
.overview-dashboard-main{grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:12px}
.overview-dashboard-bottom{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;margin-top:12px}
.overview-dashboard-main>.card,.overview-dashboard-bottom>.card{min-width:0;padding:16px;box-shadow:none}
.overview-dashboard-main>.card:first-child{border-top:4px solid var(--dash-accent)}
.overview-dashboard-main h2,.overview-dashboard-bottom h2{font-size:16px;margin-bottom:11px}
#attention,#off-attention,#max-credit-alerts,#off-max-credit-alerts{max-height:330px;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding-right:3px}
#attention .notice,#off-attention .notice{margin-bottom:8px;padding:9px 10px}
.overview-priority-card .priority-list{grid-template-columns:1fr 1fr;gap:6px;margin-top:9px}
.overview-priority-card .priority-list li{min-height:42px;padding:7px 9px;font-size:12px}
.overview-priority-card .priority-list li::before{min-width:22px;height:22px;font-size:11px}
.overview-priority-card>.muted{font-size:11px}
.overview-priority-card .notice{margin:9px 0 0;padding:9px 10px;font-size:11px}
.credit-max-list{max-height:220px;overflow:auto}.credit-max-person{padding:7px 9px}

@media(max-width:1120px){
  .overview-dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .overview-dashboard-main{grid-template-columns:1fr}.overview-dashboard-main>.card{min-height:0}
}
@media(max-width:760px){
  .workspace-profile-stage{height:clamp(520px,70vh,720px)}
  .workspace-profile-panel{padding:12px 13px 15px}
  .workspace-profile-panel>.schedule-profile>summary,.workspace-profile-panel>.profile-skill-editor>summary{top:-12px;margin:0 -13px 10px;padding:12px 13px}
  .overview-dashboard-hero{padding:16px}.overview-dashboard-hero-head{flex-direction:column}.overview-dashboard-hero-actions{width:100%;justify-content:flex-start}.overview-dashboard-hero-actions .btn{flex:1}
  .overview-secondary-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .overview-dashboard-bottom{grid-template-columns:1fr}
  .overview-priority-card .priority-list{grid-template-columns:1fr}
}
@media(max-width:480px){
  .overview-dashboard-kpis{grid-template-columns:1fr 1fr}.overview-dashboard-kpi:first-child{grid-column:1/-1}
  .overview-dashboard-kpi b{font-size:19px}.overview-dashboard-kpi:first-child b{font-size:26px}
  .overview-secondary-stats{grid-template-columns:1fr 1fr}.overview-secondary-stats .card{padding:10px}
}





.workspace-profile-stage{height:clamp(470px,56vh,640px)}
.workspace-profile-panel{overscroll-behavior:auto}


.layout-weekly-strip{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;
  margin-bottom:9px;border:1px solid var(--line);border-radius:12px;background:var(--surface);overflow:hidden
}
.layout-weekly-strip .card{
  min-height:0;padding:9px 13px;border:0;border-right:1px solid var(--line);
  border-radius:0;background:transparent;box-shadow:none
}
.layout-weekly-strip .card:last-child{border-right:0}
.layout-weekly-strip .card::before{display:none}
.layout-weekly-strip .stat span{font-size:10px;line-height:1.25}
.layout-weekly-strip .stat b{margin-top:2px;font-size:18px;line-height:1.15}


.layout-decision-note{
  display:flex;align-items:center;gap:8px;margin:0 0 12px;padding:7px 10px;border-radius:9px;
  background:var(--surface);color:var(--muted);font-size:11px;line-height:1.35
}
.layout-decision-note::before{content:"";flex:0 0 auto;width:7px;height:7px;border-radius:50%;background:var(--dash-accent)}

.layout-dashboard-main.layout-attention-hidden{grid-template-columns:minmax(0,1fr)}
.layout-dashboard-main.layout-attention-hidden>.card:first-child{grid-column:1/-1}
.layout-dashboard-bottom{display:block}
.layout-dashboard-bottom[hidden]{display:none}
.layout-dashboard-bottom>.card{width:100%;margin:0}
.layout-dashboard-bottom>.overview-priority-card{display:none}
.layout-dashboard-bottom h2{margin-bottom:8px}


.layout-employee-tools{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:0 0 10px;min-width:0
}
.layout-employee-tools>.card{min-width:0;padding:0;box-shadow:none}
.layout-employee-tools .workspace-tool-details>summary{min-height:48px;padding:10px 13px}
.layout-employee-tools .workspace-tool-details>summary .muted{white-space:nowrap;font-size:10px}
.layout-employee-tools .workspace-tool-body{padding:12px 13px}
.layout-employee-list-shell{display:block}
.layout-employee-list-shell>:first-child{width:100%;max-width:none}

@media(max-width:900px){
  .layout-weekly-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .layout-weekly-strip .card:nth-child(2){border-right:0}
  .layout-weekly-strip .card:nth-child(-n+2){border-bottom:1px solid var(--line)}
}
@media(max-width:760px){
  .workspace-profile-stage{height:clamp(430px,58vh,560px)}
  .layout-employee-tools{grid-template-columns:1fr}
}
@media(max-width:480px){
  .layout-weekly-strip{grid-template-columns:1fr 1fr}
  .layout-weekly-strip .card{padding:8px 10px}
}


#employee-table{overscroll-behavior-y:auto}
#employee-table thead th{
  background:var(--navy-soft);color:var(--white);border-bottom-color:var(--ink);
  box-shadow:inset 0 -3px 0 var(--brand-orange),0 2px 4px rgba(23,59,60,.18)
}
#employee-table thead th .info-tip{background:var(--surface);color:var(--ink);border-color:var(--accent-border)}



#attendance-card{border-top:4px solid var(--brand-orange,var(--warning))}
.usability-attendance-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}
.usability-attendance-kpi{border:1px solid var(--line);border-radius:10px;background:var(--surface);padding:11px 13px}
.usability-attendance-kpi span{display:block;color:var(--muted);font-size:12px}.usability-attendance-kpi b{display:block;margin-top:4px;font-size:20px}
.usability-extra-modal .modal-card{max-width:660px}.usability-extra-person{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}
.usability-extra-person b{display:block}.usability-extra-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:15px}
.usability-extra-actions{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;width:100%}
.usability-parttime-quick{margin:12px 0 15px;padding:14px;border:1px solid var(--accent-border);border-radius:12px;background:var(--surface)}
.usability-parttime-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.usability-parttime-head h3{margin:0 0 4px}
.usability-day-picker{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0}.usability-day-chip{position:relative}.usability-day-chip input{position:absolute;opacity:0;pointer-events:none}.usability-day-chip span{display:flex;align-items:center;justify-content:center;min-width:48px;padding:8px 10px;border:1px solid var(--accent-border);border-radius:999px;background:var(--surface);font-weight:800;cursor:pointer;transition:.16s ease}
.usability-day-chip input:checked+span{border-color:var(--mode-accent,var(--warning));background:var(--mode-accent-soft,var(--surface));color:var(--mode-accent-strong,var(--warning));box-shadow:inset 0 0 0 1px var(--mode-accent,var(--warning))}
.usability-parttime-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.usability-parttime-note{margin-top:10px;color:var(--muted);font-size:13px}
.schedule-inline.usability-extra-schedule{border-color:var(--warning);background:var(--surface)}
@media(max-width:760px){.usability-attendance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.usability-extra-form,.usability-parttime-fields{grid-template-columns:1fr}.usability-parttime-head{display:block}}


  .guard-target-card{margin-top:12px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
  .guard-target-card strong{display:block}.guard-target-card .muted{font-size:12px;margin-top:2px}
  .guard-segmented{display:flex;gap:4px;padding:4px;border-radius:10px;background:var(--accent-soft);flex-wrap:wrap}
  .guard-segmented button{border:0;border-radius:8px;padding:8px 12px;background:transparent;color:var(--text);font-weight:750;cursor:pointer}
  .guard-segmented button.active{background:var(--surface);color:var(--accent);box-shadow:0 1px 5px rgba(15,23,42,.16)}
  .guard-guard-row{display:grid;grid-template-columns:minmax(190px,1fr) minmax(150px,210px) minmax(105px,130px);gap:12px;align-items:center;padding:10px 4px;border-bottom:1px solid var(--surface)}
  .guard-guard-row:last-child{border-bottom:0}.guard-guard-row .switch{min-width:0}.guard-guard-row select,.guard-guard-row input{min-width:0;padding:8px 10px}
  .guard-guard-min[hidden]{display:none}
  .guard-guard-focus{grid-column:1/-1;width:100%}.guard-guard-focus .guard-group{width:100%}.guard-guard-focus .guard-items{padding:8px 18px 14px}
  .guard-focus-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;padding:8px 10px;border:1px solid var(--accent-border);border-radius:10px;background:var(--surface)}
  .guard-focus-toolbar strong{font-size:15px}.guard-focus-toolbar .btn{white-space:nowrap}
  .guard-ws-note{display:inline-flex;margin-left:7px;padding:2px 7px;border-radius:999px;background:var(--surface);color:var(--accent);font-size:11px;font-weight:800;vertical-align:middle}
  .guard-coverage-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:8px;margin-top:10px}
  .guard-coverage-item{border:1px solid var(--line);border-left:4px solid var(--success);border-radius:9px;padding:10px 12px;background:var(--surface)}
  .guard-coverage-item.warning{border-left-color:var(--warning);background:var(--surface)}.guard-coverage-item b{display:block}.guard-coverage-item .muted{font-size:12px;margin-top:3px}
  .guard-population-note{margin-top:8px;display:flex;gap:7px;align-items:center;flex-wrap:wrap}
  .guard-outside-target{outline:2px solid rgba(224,122,23,.22);outline-offset:-2px}
  .guard-override-panel summary{cursor:pointer;font-weight:800;display:flex;justify-content:space-between;gap:10px;align-items:center}
  .guard-override-list{display:grid;gap:8px;margin-top:12px}.guard-override-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:var(--surface)}
  .guard-override-row .reason{font-size:12px;color:var(--muted);margin-top:3px}
  .guard-availability-head{display:grid;grid-template-columns:minmax(220px,1.25fr) minmax(145px,.8fr) minmax(145px,.8fr) minmax(190px,1fr);gap:12px;padding:11px 14px;font-size:13px;font-weight:850;color:var(--ink);background:var(--surface);position:sticky;top:0;z-index:2;border-bottom:1px solid var(--surface-muted)}
  .guard-availability-row{display:grid;grid-template-columns:minmax(220px,1.25fr) minmax(145px,.8fr) minmax(145px,.8fr) minmax(190px,1fr);gap:12px;align-items:center;padding:12px 14px;border-bottom:1px solid var(--line);background:var(--surface)}
  .guard-availability-row:nth-child(odd){background:var(--surface)}.guard-availability-row:last-child{border-bottom:0}
  .guard-av-person b{display:block;font-size:15px;color:var(--ink)}.guard-av-person .muted{font-size:12px;margin-top:2px}
  .guard-av-role{display:flex;align-items:center;min-height:38px;padding:7px 10px;border-radius:8px;background:var(--surface);color:var(--ink);font-weight:750;line-height:1.25}.guard-av-role:before{display:none}
  .guard-av-role.empty{color:var(--ink-secondary);font-weight:600}.guard-av-status select{width:100%;min-width:0;max-width:100%;font-weight:750;background:var(--surface);text-overflow:ellipsis}
  #guard-availability-modal .modal-card{width:min(1080px,calc(100vw - 40px));max-width:1080px;overflow:hidden;display:flex;flex-direction:column}
  #guard-availability-modal .modal-body{min-height:0;overflow:hidden;display:flex;flex-direction:column}
  .guard-availability-list{max-height:50vh;overflow-y:auto;overflow-x:hidden;border:1px solid var(--surface-muted);border-radius:12px;margin-top:14px;overscroll-behavior-y:contain;scrollbar-gutter:stable}
  .guard-availability-summary{margin-top:14px}.guard-auto-source{font-size:12px;line-height:1.35;color:var(--ink-secondary);margin-top:5px}
  .guard-person-card{position:relative;display:flex;flex-direction:column;gap:12px;padding:16px;border-radius:14px;min-width:0;overflow:hidden}
  .guard-person-card .badge{float:none}.guard-card-head{display:flex;align-items:flex-start;gap:10px;min-width:0}.guard-card-rank{display:grid;place-items:center;flex:0 0 34px;height:34px;border-radius:10px;background:var(--success-soft);color:var(--success);font-weight:900;font-size:16px}
  .guard-card-identity{min-width:0;flex:1}.guard-card-identity b{display:block;font-size:17px;line-height:1.25;overflow-wrap:anywhere}.guard-card-identity span{display:block;margin-top:2px;color:var(--muted);font-size:13px}
  .guard-card-status{display:flex;justify-content:flex-end;gap:5px;flex-wrap:wrap;max-width:52%}.guard-card-facts{display:flex;gap:6px;flex-wrap:wrap}.guard-card-fact{display:inline-flex;align-items:center;gap:4px;padding:5px 8px;border:1px solid var(--surface-muted);border-radius:999px;background:var(--surface);color:var(--ink-secondary);font-size:12px;font-weight:700}.guard-card-fact b{font-size:12px;color:var(--ink)}
  .guard-card-role{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start;padding-top:10px;border-top:1px solid var(--surface)}.guard-card-role span{color:var(--muted);font-size:12px;font-weight:700}.guard-card-role b{font-size:13px;line-height:1.35;color:var(--ink);text-align:right;overflow-wrap:anywhere}
  .guard-card-impact{display:grid;grid-template-columns:1fr;gap:6px;margin-top:auto}.guard-card-impact>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 9px;border-radius:9px;background:var(--surface)}.guard-card-impact span{color:var(--ink-secondary);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.025em}.guard-card-impact b{color:var(--ink);font-size:14px;white-space:nowrap}.guard-card-impact .guard-saving{background:var(--surface)}.guard-card-impact .guard-saving b{color:var(--success);font-size:15px}
  .guard-card-source{margin-top:-5px;color:var(--ink-secondary);font-size:11px;line-height:1.3}.guard-card-source:empty{display:none}
  #calculation-result .recommend-grid,#off-calculation-result .recommend-grid{grid-template-columns:repeat(auto-fit,minmax(285px,1fr));gap:14px}
  .guard-modal:not([hidden]){animation:guardFadeIn .14s ease-out}.guard-modal:not([hidden]) .modal-card{animation:guardModalIn .18s cubic-bezier(.2,.8,.2,1)}
  @keyframes guardFadeIn{from{opacity:0}to{opacity:1}}@keyframes guardModalIn{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}
  .guard-hidden-by-target{display:none}
  @media(max-width:900px){.guard-guard-row{grid-template-columns:1fr 150px}.guard-guard-row .guard-guard-min{grid-column:2}.guard-availability-head{display:none}.guard-availability-row{grid-template-columns:1fr 1fr}.guard-availability-row>div:first-child{grid-column:1/-1}.guard-av-role{display:block}.guard-av-role:before{content:attr(data-label);display:block;margin-bottom:3px;color:var(--ink-secondary);font-size:10px;text-transform:uppercase;letter-spacing:.04em}.guard-av-status{grid-column:1/-1}.guard-target-card{align-items:flex-start;flex-direction:column}}
  @media(max-width:560px){#guard-availability-modal .modal-card{width:calc(100vw - 18px)}.guard-guard-row{grid-template-columns:1fr}.guard-guard-row .guard-guard-min{grid-column:1}.guard-focus-toolbar{align-items:flex-start;flex-direction:column}.guard-availability-row{grid-template-columns:1fr}.guard-availability-row>div,.guard-av-status{grid-column:1}.guard-card-head{flex-wrap:wrap}.guard-card-status{max-width:none;width:100%;justify-content:flex-start;padding-left:44px}}



.scope-preflight{margin:12px 0 0;border:1px solid var(--surface-muted);border-radius:12px;background:var(--surface);overflow:hidden}
.scope-preflight summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;cursor:pointer;font-weight:850;list-style:none}
.scope-preflight summary::-webkit-details-marker{display:none}.scope-preflight summary:after{content:'View details';font-size:12px;color:var(--blue)}
.scope-preflight[open] summary:after{content:'Hide'}
.scope-preflight.good{border-color:var(--success-border);background:var(--surface)}.scope-preflight.warning{border-color:var(--warning);background:var(--surface)}.scope-preflight.blocked{border-color:var(--danger-border);background:var(--surface)}
.scope-preflight-body{padding:0 14px 13px;display:grid;gap:7px}.scope-check{display:grid;grid-template-columns:22px minmax(0,1fr);gap:8px;align-items:start;padding:7px 9px;border-radius:8px;background:var(--surface);border:1px solid rgba(0,0,0,.06)}
.scope-check i{font-style:normal;font-weight:900}.scope-check.good i{color:var(--ink)}.scope-check.warning i{color:var(--warning)}.scope-check.blocker i{color:var(--danger)}.scope-check small{display:block;color:var(--muted);margin-top:2px}
.scope-shift-source{display:inline-flex;align-items:center;gap:6px;margin-top:5px;padding:4px 8px;border-radius:999px;background:var(--surface);color:var(--accent);font-size:12px;font-weight:800}
.scope-shift-source.missing{background:var(--warning-soft);color:var(--warning)}
.scope-competency-warning{margin-top:10px}
@media(max-width:700px){.scope-preflight summary{align-items:flex-start;flex-direction:column}.scope-preflight summary:after{align-self:flex-end}}



.employee-scroll,.pool-scroll,.volunteers,#participant-list,#off-participant-list,
.guard-availability-list,.threshold-table-wrap,.schedule-weekly,.suggestions,
#attention,#off-attention,#max-credit-alerts,#off-max-credit-alerts{
  overscroll-behavior-y:auto
}
.skills-quick-add{margin:14px 0;padding:14px;border:1px solid var(--surface-muted);border-radius:14px;background:var(--surface)}
.skills-quick-add-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}
.skills-quick-add-head b{display:block;font-size:15px}.skills-quick-add-head span{font-size:13px;color:var(--muted)}
.skills-conditional{border-color:var(--warning);background:linear-gradient(180deg,var(--surface) 0,var(--surface) 72%)}
.skills-conditional-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(285px,1fr));gap:12px}
.skills-case{border:1px solid var(--warning-border);border-radius:14px;background:var(--surface);padding:14px;display:grid;gap:10px;min-width:0}
.skills-case-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.skills-case-name{font-size:18px;font-weight:800}.skills-case-login{font-size:13px;color:var(--muted)}
.skills-case-needs{display:flex;gap:6px;flex-wrap:wrap}.skills-case-candidates{font-size:13px;color:var(--accent);line-height:1.45}
.skills-case .btn{justify-self:start}.skills-relief-badge{margin-left:6px}
.skills-modal-card{width:min(940px,calc(100vw - 30px));max-height:min(88vh,900px);overflow:hidden;display:flex;flex-direction:column}
.skills-modal-body{padding:18px 22px;overflow:auto;overscroll-behavior-y:auto;scrollbar-gutter:stable}
.skills-modal-intro{margin:0 0 14px}.skills-needs{display:grid;gap:10px;margin-bottom:16px}
.skills-need{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(260px,1.6fr);gap:12px;align-items:end;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.skills-need-label b{display:block}.skills-need-label span{font-size:13px;color:var(--muted)}
.skills-candidate-review{border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-top:14px}
.skills-candidate-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) minmax(210px,1.2fr);gap:12px;align-items:center;padding:12px 14px;border-top:1px solid var(--line)}
.skills-candidate-row:first-child{border-top:0}.skills-candidate-id b{display:block}.skills-candidate-id small{color:var(--muted)}
.skills-assignment-stack{display:grid;gap:10px}.skills-assignment-stack .field{margin:0}.skills-assignment-stack select{width:100%}
.skills-candidate-skills{font-size:13px;color:var(--accent)}.skills-candidate-volunteer{background:var(--surface)}
.skills-volunteer-consent{display:flex;align-items:flex-start;gap:8px;font-size:13px;margin-top:7px;color:var(--ink)}
.skills-volunteer-consent input{margin-top:2px}.skills-modal-foot{padding:14px 22px;border-top:1px solid var(--line);background:var(--surface);display:flex;justify-content:space-between;gap:12px;align-items:center}
.skills-login{display:flex;gap:8px;align-items:center}.skills-login input{width:210px}
@media(max-width:760px){.skills-need,.skills-candidate-row{grid-template-columns:1fr}.skills-modal-foot{align-items:stretch;flex-direction:column}.skills-login{align-items:stretch;flex-direction:column}.skills-login input{width:100%}}



#guard-availability-modal .modal-card{
  max-height:min(90vh,860px);
}
#guard-availability-modal .modal-head,
#guard-availability-modal .modal-actions{
  flex:0 0 auto;
}
#guard-availability-modal .modal-body{
  flex:1 1 auto;
  min-height:0;
  gap:14px;
}
#guard-availability-modal .modal-body>.notice{
  flex:0 0 auto;
  margin:0;
}
#guard-availability-list{
  display:flex;
  flex:1 1 320px;
  min-height:180px;
  overflow:hidden;
}
#guard-availability-list>.guard-availability-list{
  flex:1 1 auto;
  min-height:0;
  max-height:none;
  margin-top:0;
  padding-bottom:14px;
  overflow-y:auto;
  overscroll-behavior-y:auto;
  scroll-padding-bottom:14px;
  background:var(--surface);
}
#guard-availability-summary{
  flex:0 0 auto;
  max-height:18vh;
  margin-top:0;
  overflow:auto;
}
#guard-availability-modal .modal-actions{
  position:relative;
  z-index:3;
  box-shadow:0 -8px 18px rgba(21,37,61,.06);
}


#calculation-result .recommend-grid,
#off-calculation-result .recommend-grid{
  grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr));
  align-items:stretch;
}
.guard-person-card{
  container-name:result-card;
  container-type:inline-size;
  height:100%;
}
.guard-person-card .guard-card-head{
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  grid-template-areas:
    "rank identity"
    ". status";
  column-gap:10px;
  row-gap:7px;
}
.guard-person-card .guard-card-rank{grid-area:rank}
.guard-person-card .guard-card-identity{grid-area:identity}
.guard-person-card .guard-card-status{
  grid-area:status;
  justify-content:flex-start;
  max-width:none;
  min-width:0;
}
.guard-person-card .guard-card-status .badge{
  max-width:100%;
  white-space:normal;
  line-height:1.2;
}
.guard-person-card .guard-card-identity b{
  font-size:clamp(15px,5.2cqi,17px);
  line-height:1.22;
  overflow-wrap:break-word;
  word-break:normal;
  hyphens:none;
}
.guard-person-card .guard-card-role{
  grid-template-columns:1fr;
  gap:4px;
}
.guard-person-card .guard-card-role b{
  text-align:left;
  overflow-wrap:break-word;
  word-break:normal;
}
.guard-person-card .guard-card-facts{align-items:center}
@container result-card (min-width:430px){
  .guard-person-card .guard-card-head{
    grid-template-columns:34px minmax(0,1fr) auto;
    grid-template-areas:"rank identity status";
    row-gap:0;
  }
  .guard-person-card .guard-card-status{justify-content:flex-end}
  .guard-person-card .guard-card-role{
    grid-template-columns:auto minmax(0,1fr);
    gap:10px;
  }
  .guard-person-card .guard-card-role b{text-align:right}
}
@media(max-width:560px){
  #guard-availability-modal .modal-card{max-height:96vh}
  #guard-availability-list{min-height:220px}
}


#historyTime-schedule-modal .modal-card{width:min(720px,calc(100vw - 28px));max-height:min(90vh,760px)}
#historyTime-schedule-modal .modal-body{display:grid;gap:14px;overflow:auto}
.historyTime-schedule-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.historyTime-schedule-preview{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:13px 14px;border:1px solid var(--success-border);border-radius:12px;background:var(--surface)}
.historyTime-schedule-preview strong{font-size:22px;color:var(--success)}
.historyTime-correction-log{margin-top:10px;padding:9px 11px;border-left:3px solid var(--warning);border-radius:8px;background:var(--surface);color:var(--ink);font-size:12px}
.historyTime-sd2-note{display:inline-flex;margin-top:6px;padding:4px 8px;border-radius:999px;background:var(--warning-soft);color:var(--ink);font-size:12px;font-weight:800}
@media(max-width:620px){.historyTime-schedule-grid{grid-template-columns:1fr}.historyTime-schedule-preview{grid-template-columns:1fr}}



.registry-registry-card details>summary{cursor:pointer}
.registry-registry-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) minmax(180px,260px);gap:12px;align-items:end;margin:14px 0}
.registry-registry-health{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}
.registry-registry-list{max-height:520px;overflow:auto;border:1px solid var(--border);border-radius:12px;background:var(--surface);overscroll-behavior-y:auto}
.registry-registry-row{display:grid;grid-template-columns:minmax(190px,1.15fr) minmax(145px,.75fr) minmax(210px,1fr) auto;gap:10px;align-items:center;padding:11px 12px;border-bottom:1px solid var(--border)}
.registry-registry-row:last-child{border-bottom:0}.registry-registry-role small{display:block;margin-top:3px;color:var(--muted)}
.registry-registry-row select{min-width:0;width:100%}.registry-registry-actions{display:flex;gap:6px}
.registry-unknown{background:var(--surface)}.registry-source-details{margin-top:14px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}
.registry-source-details summary{cursor:pointer;padding:12px 14px;font-weight:800}.registry-source-body{padding:0 14px 14px}
.registry-source-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.registry-source-panel{padding:12px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}
.registry-chip-list{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.registry-chip-list .badge{white-space:normal;text-align:left}
.registry-diff-table{max-height:230px;overflow:auto;margin-top:10px}.registry-diff-table table{font-size:13px}
.notice.danger{background:var(--surface);border-color:var(--danger-border);color:var(--danger);border-left-color:var(--danger)}
@media(max-width:900px){.registry-registry-row{grid-template-columns:minmax(0,1fr) minmax(140px,1fr)}.registry-registry-actions{grid-column:1/-1}.registry-source-grid{grid-template-columns:1fr}}
@media(max-width:620px){.registry-registry-toolbar,.registry-registry-row{grid-template-columns:1fr}.registry-registry-actions{grid-column:auto}}



#pattern-pattern-card{border-top:4px solid var(--success)}
.pattern-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:12px 0}
.pattern-kpi{border:1px solid var(--line);border-radius:10px;background:var(--surface);padding:11px 13px}
.pattern-kpi span{display:block;color:var(--muted);font-size:12px}
.pattern-kpi b{display:block;margin-top:4px;font-size:20px}
.pattern-table-wrap{border:1px solid var(--line);border-radius:12px;overflow:auto;max-height:520px}
#pattern-pattern-card table{width:100%;border-collapse:collapse;font-size:14px}
#pattern-pattern-card th{position:sticky;top:0;background:var(--surface);text-align:left;padding:9px 11px;font-size:13px;z-index:1}
#pattern-pattern-card td{padding:8px 11px;border-top:1px solid var(--line);vertical-align:middle}
#pattern-pattern-card tr.pattern-blocked td{background:var(--surface)}
#pattern-pattern-card tr.pattern-auto td{background:var(--surface)}
.pattern-pat{font-family:ui-monospace,Consolas,monospace;font-weight:700}
.pattern-team-input{width:110px;text-transform:uppercase}
.pattern-note{font-size:12px;color:var(--ink-secondary);line-height:1.4}
.pattern-adv>summary{cursor:pointer;font-weight:700;padding:4px 0;color:var(--warning)}
.pattern-adv[open]>summary{margin-bottom:10px}



.guard-grid.shortcuts-ready{display:block;max-height:none;overflow:visible;margin-top:10px}
.shortcuts-guard-shell{display:grid;gap:10px;min-width:0}
.shortcuts-shortcuts{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.shortcuts-shortcut{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--border);background:var(--surface);color:var(--ink);border-radius:999px;padding:8px 11px;font-weight:780;cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .15s ease}
.shortcuts-shortcut:hover{border-color:var(--border);transform:translateY(-1px)}.shortcuts-shortcut.active{border-color:var(--warning);background:var(--surface);color:var(--ink)}
.shortcuts-shortcut .badge{font-size:10px;padding:2px 6px}.shortcuts-shortcut.advanced{margin-left:auto;border-radius:9px}
.shortcuts-panel{border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:10px}
.shortcuts-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:9px}.shortcuts-panel-head b{display:block}.shortcuts-panel-head span{font-size:12px;color:var(--muted)}
.shortcuts-role-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.shortcuts-role{display:grid;grid-template-columns:minmax(155px,1fr) minmax(135px,175px) 90px;gap:9px;align-items:center;padding:10px 11px;border:1px solid var(--line);border-radius:10px;background:var(--surface);min-width:0}
.shortcuts-role.is-active{border-color:var(--warning);background:var(--surface);box-shadow:inset 3px 0 0 var(--orange)}
.shortcuts-role .switch{min-width:0;font-weight:750}.shortcuts-role select,.shortcuts-role input[type=number]{width:100%;min-width:0;padding:8px 9px}
.shortcuts-advanced{max-height:42vh;overflow:auto;overscroll-behavior-y:auto;scrollbar-gutter:stable;padding-right:3px}
.shortcuts-zone+.shortcuts-zone{margin-top:12px}.shortcuts-zone-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 1px 7px}.shortcuts-zone-head b{font-size:12px;color:var(--ink-secondary);letter-spacing:.045em;text-transform:uppercase}
.shortcuts-empty{padding:12px;text-align:center;color:var(--muted);font-size:13px}
@media(max-width:950px){.shortcuts-role-grid{grid-template-columns:1fr}.shortcuts-shortcut.advanced{margin-left:0}}
@media(max-width:580px){.shortcuts-role{grid-template-columns:1fr}.shortcuts-shortcuts{align-items:stretch}.shortcuts-shortcut{justify-content:space-between;flex:1 1 145px}.shortcuts-panel-head{flex-direction:column}}


.plannerLegacy-workforce-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-top:7px}.plannerLegacy-workforce-hint{font-size:12px;color:var(--ink);margin-top:5px}.plannerLegacy-workforce-hint code{font-weight:800;background:var(--warning-soft);padding:1px 5px;border-radius:5px}
.plannerLegacy-role{grid-template-columns:minmax(145px,1fr) minmax(155px,190px) minmax(120px,150px)}.plannerLegacy-auto-target{font-size:12px;line-height:1.35;color:var(--accent);background:var(--surface);border:1px solid var(--accent-border);border-radius:8px;padding:7px 9px}.plannerLegacy-auto-target.warning{color:var(--ink);background:var(--surface);border-color:var(--warning-border)}.plannerLegacy-mode-help{grid-column:1/-1;font-size:12px;color:var(--muted);margin-top:-3px}
.plannerLegacy-plan-card{border:1px solid var(--warning);border-left:5px solid var(--orange);background:var(--surface)}.plannerLegacy-plan-card.accepted{border-color:var(--success);border-left-color:var(--success);background:var(--surface)}.plannerLegacy-plan-card.blocked{border-color:var(--danger-border);border-left-color:var(--danger);background:var(--surface)}.plannerLegacy-plan-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.plannerLegacy-plan-head h2{margin:0}.plannerLegacy-plan-kpis{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}.plannerLegacy-plan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:12px}.plannerLegacy-plan-line{border:1px solid var(--line);border-radius:10px;background:var(--surface);padding:11px}.plannerLegacy-plan-line strong{display:block;margin-bottom:4px}.plannerLegacy-plan-line small{display:block;color:var(--muted);margin-top:4px}.plannerLegacy-plan-line.reinforcement{border-left:4px solid var(--accent)}.plannerLegacy-plan-line.relief{border-left:4px solid var(--warning)}.plannerLegacy-plan-failure{margin-top:10px}.plannerLegacy-plan-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.plannerLegacy-modal-card{width:min(1120px,calc(100vw - 34px));max-height:min(88vh,900px);display:flex;flex-direction:column}.plannerLegacy-modal-body{padding:18px 22px;overflow:auto;overscroll-behavior:contain}.plannerLegacy-modal-foot{display:flex;justify-content:space-between;gap:14px;align-items:end;padding:14px 22px;border-top:1px solid var(--line);background:var(--surface)}.plannerLegacy-assignment-list{display:grid;gap:9px;margin:12px 0}.plannerLegacy-assignment{display:grid;grid-template-columns:minmax(170px,.75fr) minmax(260px,1.5fr) minmax(215px,1fr);gap:10px;align-items:end;padding:11px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.plannerLegacy-assignment .field{margin:0}.plannerLegacy-person-state{font-size:12px;color:var(--muted);margin-top:3px}.plannerLegacy-confirm-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:12px}.plannerLegacy-confirm-person{padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.plannerLegacy-confirm-person select{margin-top:7px}.plannerLegacy-constraint-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}.plannerLegacy-constraint{padding:9px 10px;border:1px solid var(--line);border-radius:9px;background:var(--surface)}.plannerLegacy-constraint.warning{background:var(--surface);border-color:var(--warning-border)}.plannerLegacy-constraint.good{background:var(--surface);border-color:var(--success-border)}.plannerLegacy-disabled{opacity:.55}
@media(max-width:900px){.plannerLegacy-plan-grid,.plannerLegacy-confirm-grid,.plannerLegacy-constraint-grid{grid-template-columns:1fr}.plannerLegacy-assignment{grid-template-columns:1fr}.plannerLegacy-modal-foot{align-items:stretch;flex-direction:column}.plannerLegacy-modal-foot .actions{width:100%;justify-content:flex-end}}


.guardPanel-guard-shell{display:grid;gap:10px}.guardPanel-shortcuts{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.guardPanel-shortcut{border:1px solid var(--border);background:var(--surface);border-radius:999px;padding:8px 13px;font-weight:800;color:var(--ink);cursor:pointer}.guardPanel-shortcut.active{border-color:var(--warning);background:var(--surface);color:var(--warning)}.guardPanel-shortcut.advanced{margin-left:auto;border-radius:9px}.guardPanel-panel{border:1px solid var(--line);border-radius:11px;background:var(--surface);padding:11px}.guardPanel-panel-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:9px}.guardPanel-panel-head span{display:block;color:var(--muted);font-size:12px;margin-top:2px}.guardPanel-role-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.guardPanel-role{display:grid;grid-template-columns:minmax(140px,1fr) minmax(150px,190px) minmax(120px,150px);gap:8px;align-items:center;border:1px solid var(--line);border-radius:9px;background:var(--surface);padding:9px}.guardPanel-role.active{border-color:var(--warning);box-shadow:inset 3px 0 0 var(--orange);background:var(--surface)}.guardPanel-role select,.guardPanel-role input[type=number]{width:100%;min-width:0;padding:8px}.guardPanel-target{font-size:12px;color:var(--accent);background:var(--surface);border:1px solid var(--accent-border);border-radius:7px;padding:7px}.guardPanel-target.warning{color:var(--ink);background:var(--surface);border-color:var(--warning-border)}.guardPanel-help{grid-column:1/-1;color:var(--muted);font-size:12px}.guardPanel-zones{display:grid;gap:11px;max-height:42vh;overflow:auto;overscroll-behavior-y:auto}.guardPanel-zone-head{display:flex;justify-content:space-between;margin-bottom:6px;text-transform:uppercase;font-size:12px;color:var(--ink-secondary);font-weight:800}
@media(max-width:900px){.guardPanel-role-grid{grid-template-columns:1fr}.guardPanel-role{grid-template-columns:1fr}.guardPanel-shortcut.advanced{margin-left:0}}


.calcRecovery-calc-error{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:12000;max-width:min(760px,calc(100vw - 32px));padding:13px 16px;border:1px solid var(--danger-border);border-left:5px solid var(--danger);border-radius:10px;background:var(--surface);color:var(--danger);box-shadow:0 14px 36px rgba(15,23,42,.24);font-weight:700}


.coverageExplain-plan-intro{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:14px 16px;border:1px solid var(--accent-border);border-left:5px solid var(--accent);border-radius:11px;background:var(--surface);margin:12px 0 14px}.coverageExplain-plan-intro strong{display:block;font-size:16px;color:var(--ink)}.coverageExplain-plan-intro span{display:block;color:var(--accent);margin-top:3px}.coverageExplain-plan-status{white-space:nowrap;font-weight:800;color:var(--ink);background:var(--warning-soft);border:1px solid var(--warning-border);border-radius:999px;padding:7px 10px}
.coverageExplain-flow-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px;margin-top:12px}.coverageExplain-flow{border:1px solid var(--surface-muted);border-left:5px solid var(--warning);border-radius:12px;background:var(--surface);padding:14px;display:grid;gap:10px;min-width:0}.coverageExplain-flow.reinforcement{border-left-color:var(--accent)}.coverageExplain-flow-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.coverageExplain-flow-head small{display:block;color:var(--ink-secondary);margin-bottom:3px;font-weight:700}.coverageExplain-flow-head strong{font-size:17px}.coverageExplain-part{font-weight:800;color:var(--accent);background:var(--surface);border-radius:8px;padding:6px 9px;white-space:nowrap}.coverageExplain-replacer{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center;padding:10px 12px;background:var(--surface);border-radius:9px}.coverageExplain-arrow{font-size:20px;color:var(--warning)}.coverageExplain-replacer b{display:block}.coverageExplain-replacer span{display:block;color:var(--ink-secondary);font-size:13px;margin-top:2px}.coverageExplain-impact{color:var(--ink);background:var(--surface);border-radius:9px;padding:10px 12px;line-height:1.4}.coverageExplain-credit{font-size:12px;color:var(--ink-secondary)}.coverageExplain-kpis{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.coverageExplain-kpis .badge{font-size:13px}.coverageExplain-coverage-sequence{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:7px}.coverageExplain-step{padding:8px;border-radius:8px;background:var(--surface);font-size:12px;color:var(--ink-secondary)}.coverageExplain-step b{display:block;color:var(--ink);font-size:15px;margin-top:2px}.coverageExplain-step.danger{background:var(--surface);color:var(--danger)}.coverageExplain-step.good{background:var(--surface);color:var(--ink)}.coverageExplain-modal-summary{margin:0 0 14px}.coverageExplain-modal-impact{font-size:12px;color:var(--accent);margin-top:4px;line-height:1.35}.coverageExplain-beneficiary{color:var(--ink);font-weight:800}
@media(max-width:720px){.coverageExplain-plan-intro{flex-direction:column}.coverageExplain-plan-status{white-space:normal}.coverageExplain-flow-grid{grid-template-columns:1fr}.coverageExplain-coverage-sequence{grid-template-columns:1fr}.coverageExplain-replacer{grid-template-columns:1fr}.coverageExplain-arrow{transform:rotate(90deg)}}


.planner-card{border:1px solid var(--accent-border);border-left:5px solid var(--accent);background:var(--surface)}.planner-card.warning{border-color:var(--warning);border-left-color:var(--warning);background:var(--surface)}.planner-card.accepted{border-color:var(--success);border-left-color:var(--success);background:var(--surface)}.planner-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.planner-head h2{margin:0}.planner-kpis{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0}.planner-section{margin-top:14px}.planner-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:10px;margin-top:9px}.planner-move{border:1px solid var(--line);border-radius:11px;background:var(--surface);padding:12px;display:grid;gap:8px}.planner-move.initial{border-left:4px solid var(--accent)}.planner-move.departure{border-left:4px solid var(--warning)}.planner-move.chain{border-left:4px solid var(--accent)}.planner-move strong{font-size:15px}.planner-route{background:var(--surface);border-radius:8px;padding:8px 10px}.planner-effect{color:var(--accent)}.planner-sequence{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.planner-step{background:var(--surface);border-radius:7px;padding:7px;font-size:12px}.planner-step b{display:block;font-size:14px;margin-top:2px}.planner-step.bad{background:var(--surface);color:var(--danger)}.planner-step.good{background:var(--surface);color:var(--ink)}.planner-decision{border:1px solid var(--surface-muted);border-radius:9px;padding:10px;background:var(--surface)}.planner-decision.kept{border-left:4px solid var(--warning)}.planner-decision.promoted{border-left:4px solid var(--success)}.planner-modal-row{border:1px solid var(--line);border-radius:10px;padding:11px;background:var(--surface);display:grid;grid-template-columns:minmax(190px,.8fr) minmax(260px,1.3fr) minmax(210px,1fr);gap:10px;align-items:end}.planner-modal-list{display:grid;gap:9px}.planner-modal-row .field{margin:0}@media(max-width:850px){.planner-head{flex-direction:column}.planner-modal-row,.planner-sequence{grid-template-columns:1fr}}


.refusal-conditional-card{border-color:var(--warning);border-left:5px solid var(--warning);background:var(--surface)}.refusal-conditional-card .guard-card-rank{background:var(--warning-soft);color:var(--warning)}.refusal-condition{padding:9px 10px;border-radius:9px;background:var(--warning-soft);color:var(--ink);font-size:12px;line-height:1.4}.refusal-condition b{display:block;font-size:13px}.refusal-waiting{padding:8px 10px;border-radius:8px;background:var(--surface);color:var(--ink);line-height:1.35}.refusal-useful-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.refusal-useful-fact{padding:8px;border-radius:8px;background:var(--surface);font-size:11px;color:var(--ink-secondary)}.refusal-useful-fact b{display:block;color:var(--ink);font-size:13px;margin-top:3px;overflow-wrap:anywhere}.refusal-useful-fact.good{background:var(--surface);color:var(--ink)}.refusal-useful-fact.person{background:var(--surface);color:var(--accent)}.refusal-refuse{margin-top:2px;width:100%;border-color:var(--warning);color:var(--warning);background:var(--surface)}.refusal-refuse:hover{background:var(--warning-soft)}.refusal-refused-list{display:grid;gap:8px;margin-top:10px}.refusal-refused-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--warning-border);border-radius:9px;background:var(--surface)}.refusal-refused-row .muted{margin-top:3px}@media(max-width:720px){.refusal-useful-facts{grid-template-columns:1fr}.refusal-refused-row{align-items:flex-start;flex-direction:column}}


.replacementDraw-draw-note{margin:10px 0 0;padding:10px 12px;border:1px solid var(--accent-border);border-radius:10px;background:var(--surface);color:var(--ink);font-size:13px;line-height:1.45}
.replacementDraw-draw-note b{color:var(--ink)}


.workspace-wizard-main:not(.workspace-expert) .workflow-section.workspace-step-active>.actions{display:none}


.saveProgress-save-overlay{position:fixed;inset:0;z-index:5000;display:grid;place-items:center;padding:20px;background:rgba(23,59,60,.54);backdrop-filter:blur(2px)}
.saveProgress-save-overlay[hidden]{display:none}
.saveProgress-save-card{width:min(520px,100%);padding:24px;border-radius:16px;background:var(--surface);box-shadow:0 24px 70px rgba(0,0,0,.32);border-top:5px solid var(--warning)}
.saveProgress-save-head{display:flex;align-items:center;gap:13px}.saveProgress-save-icon{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border-radius:50%;background:var(--warning-soft);color:var(--warning);font-size:21px;font-weight:900}
.saveProgress-save-icon.spinning{animation:saveProgressPulse 1.1s ease-in-out infinite}.saveProgress-save-icon.success{background:var(--success-soft);color:var(--ink)}.saveProgress-save-icon.error{background:var(--surface);color:var(--danger)}
.saveProgress-save-head h2{margin:0;font-size:19px}.saveProgress-save-head p{margin:3px 0 0;color:var(--muted);font-size:12px}
.saveProgress-save-progress{height:12px;margin-top:18px;border-radius:999px;background:var(--surface-muted);overflow:hidden}.saveProgress-save-progress>span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--warning),var(--warning));transition:width .18s ease}
.saveProgress-save-progress.indeterminate>span{width:35%;animation:saveProgressSlide 1.15s ease-in-out infinite}
.saveProgress-save-meta{display:flex;justify-content:space-between;gap:14px;margin-top:9px;color:var(--ink-secondary);font-size:12px}.saveProgress-save-meta b{color:var(--ink)}
.saveProgress-save-slow{margin-top:14px;padding:10px 12px;border-radius:9px;background:var(--surface);color:var(--ink);font-size:12px;line-height:1.4}
.saveProgress-save-actions{display:flex;justify-content:flex-end;margin-top:16px}.saveProgress-save-actions[hidden],.saveProgress-save-slow[hidden]{display:none}
@keyframes saveProgressPulse{50%{transform:scale(.9);opacity:.6}}@keyframes saveProgressSlide{from{transform:translateX(-120%)}to{transform:translateX(330%)}}
@media(max-width:600px){.saveProgress-save-card{padding:20px}.saveProgress-save-meta{flex-direction:column;gap:3px}}
