:root{--bg: #e9eef1;--bg-wash: #dfe8e6;--bg-elevated: #ffffff;--ink: #14181f;--muted: #5a6570;--line: #d0d7dd;--accent: #0f5c63;--accent-hover: #0a474c;--accent-soft: #e4f1f2;--danger: #9b2c2c;--ok: #1f6b45;--p1: #b45309;--p1-bg: #fff4e5;--p2: #a16207;--p2-bg: #fffbeb;--p3: #64748b;--p3-bg: #f1f5f9;--radius: 8px;--radius-sm: 5px;--shell-max: 1400px;--shell-pad-x: 1.5rem;--topbar-h: 3.75rem;--shadow-soft: 0 1px 0 rgba(20, 24, 31, .04), 0 8px 24px rgba(20, 24, 31, .04);--font: "Outfit", system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;font-family:var(--font);color:var(--ink);background:var(--bg);line-height:1.45}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(900px 420px at 8% -8%,var(--bg-wash) 0%,transparent 55%),radial-gradient(700px 380px at 100% 0%,#e4ebf0 0%,transparent 50%),linear-gradient(180deg,#f3f6f7 0%,var(--bg) 40%,#e7ecef 100%);background-attachment:fixed}button,input,select,textarea{font:inherit}a{color:inherit}.app-frame{min-height:100vh;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:30;background:#ffffffdb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);animation:topbar-in .32s ease-out}@keyframes topbar-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.topbar-inner{width:min(var(--shell-max),100%);margin:0 auto;padding:.75rem var(--shell-pad-x);min-height:var(--topbar-h);display:flex;align-items:center;justify-content:space-between;gap:1rem}.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;flex-shrink:0}.brand-mark{width:1.65rem;height:1.65rem;border-radius:6px;background:linear-gradient(155deg,#1d858e 0%,var(--accent) 48%,#08363a 100%);box-shadow:inset 0 0 0 1px #ffffff29;position:relative;flex-shrink:0}.brand-mark:before,.brand-mark:after{content:"";position:absolute;background:#ffffffeb;border-radius:1px}.brand-mark:before{left:.42rem;top:.38rem;width:2px;height:.9rem}.brand-mark:after{left:.42rem;top:.38rem;width:.78rem;height:2px;box-shadow:0 .34rem #ffffffeb}.brand-text{display:flex;flex-direction:column;gap:.05rem}.brand-text strong{font-size:1.05rem;font-weight:650;letter-spacing:-.02em;line-height:1.1}.brand-text span{color:var(--muted);font-size:.72rem;font-weight:500;letter-spacing:.02em}.nav{display:flex;align-items:center;gap:.85rem 1.1rem;flex-wrap:wrap;justify-content:flex-end;min-width:0}.nav-links,.nav-actions{display:flex;align-items:center;gap:.2rem .35rem;flex-wrap:wrap}.nav-actions{gap:.45rem;padding-left:.85rem;border-left:1px solid var(--line)}.nav-account{display:flex;align-items:center;gap:.45rem;padding-left:.55rem;border-left:1px solid var(--line);margin-left:.15rem}.nav-link{text-decoration:none;font-size:.9rem;font-weight:500;color:var(--muted);padding:.4rem .55rem;border-radius:var(--radius-sm);transition:color .16s ease,background .16s ease}.nav-link:hover{color:var(--ink);background:#0f5c630f}.nav-link.active{color:var(--accent);background:var(--accent-soft);font-weight:600}.nav-user{font-size:.78rem;color:var(--ink);max-width:9.5rem;line-height:1.15;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.nav-sync-btn{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--muted);cursor:pointer;transition:color .16s ease,background .16s ease}.nav-sync-btn:hover:not(:disabled){color:var(--ink);background:#0f5c630f}.nav-sync-btn:disabled{opacity:.65;cursor:wait}.nav-sync-icon.spinning{animation:nav-sync-spin .85s linear infinite}@keyframes nav-sync-spin{to{transform:rotate(360deg)}}.app-banner{width:min(var(--shell-max),100%);margin:.75rem auto 0;padding:0 var(--shell-pad-x)}.app-banner.error{color:var(--danger);font-size:.9rem}.app-banner.ok{color:var(--ok);font-size:.9rem}.app-main{width:min(var(--shell-max),100%);margin:0 auto;padding:1.35rem var(--shell-pad-x) 3rem;flex:1;display:flex;flex-direction:column;gap:1rem;animation:main-in .28s ease-out}@keyframes main-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.muted{color:var(--muted)}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--accent);background:var(--accent);color:#fff;padding:.5rem .9rem;cursor:pointer;font-weight:560;text-decoration:none;display:inline-block;border-radius:var(--radius-sm);transition:background .15s ease,border-color .15s ease,transform .12s ease}.btn:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn:active:not(:disabled){transform:translateY(1px)}.btn.secondary{background:transparent;color:var(--accent)}.btn.secondary:hover:not(:disabled){background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.btn.danger{border-color:var(--danger);background:var(--danger);color:#fff}.btn-row{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:.75rem}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-compact{padding:.35rem .65rem;font-size:.82rem}.nav a.btn{color:#fff}.nav a.btn-nav{padding:.35rem .7rem;font-size:.82rem}.nav a.btn.secondary{color:var(--accent)}.panel{background:var(--bg-elevated);border:1px solid var(--line);padding:1.15rem 1.25rem;border-radius:var(--radius);box-shadow:var(--shadow-soft)}.meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem 1rem;margin-top:1rem}.meta-grid dt{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:0;font-weight:600}.meta-grid dd{margin:.15rem 0 0;font-family:var(--font-mono);font-size:.9rem}.login-page{min-height:100vh;display:grid;place-items:center;padding:1.5rem;background:radial-gradient(800px 400px at 20% 0%,var(--bg-wash) 0%,transparent 55%),radial-gradient(600px 360px at 90% 10%,#d9e4ea 0%,transparent 50%),var(--bg)}.login-card{width:min(420px,100%);background:var(--bg-elevated);border:1px solid var(--line);padding:2rem 1.75rem;border-radius:var(--radius);box-shadow:var(--shadow-soft);animation:main-in .34s ease-out}.login-brand{display:flex;align-items:center;gap:.85rem;margin-bottom:1rem}.login-brand .brand-mark{width:2.25rem;height:2.25rem}.login-eyebrow{margin:0;font-size:.78rem;font-weight:560;color:var(--muted);letter-spacing:.04em;text-transform:uppercase}.login-card h1{margin:.1rem 0 0;font-size:1.85rem;letter-spacing:-.03em;font-weight:700}.login-lead{margin:0}.login-actions{margin-top:1.5rem}.login-foot{margin-top:1.25rem;font-size:.85rem}.login-back{margin-top:1rem;font-size:.85rem}.login-back a{color:var(--accent);text-decoration:none;font-weight:500}.error{color:var(--danger);font-size:.9rem;margin:.75rem 0 0}.page-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.page-head h1{margin:.15rem 0;font-size:1.45rem;letter-spacing:-.025em;font-weight:650}.filters .filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem}.filters label,.form label{display:flex;flex-direction:column;gap:.3rem;font-size:.8rem;color:var(--muted);font-weight:500}.filters input,.filters select,.form input,.form select,.form textarea{border:1px solid var(--line);background:#fff;padding:.5rem .6rem;color:var(--ink);border-radius:var(--radius-sm);transition:border-color .14s ease,box-shadow .14s ease}.filters input:focus,.filters select:focus,.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #0f5c631f}.filter-actions,.form-actions,.actions{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center;margin-top:.85rem}.table-wrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:.9rem}.data-table th,.data-table td{text-align:left;padding:.65rem .5rem;border-bottom:1px solid var(--line);vertical-align:top}.data-table th{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:650}.data-table tbody tr{transition:background .12s ease}.data-table tbody tr:hover{background:#0f5c6309}.data-table a{text-decoration:none;color:var(--accent);font-weight:560}.data-table a:hover{text-decoration:underline}.mono{font-family:var(--font-mono);font-size:.85rem}.status{display:inline-block;font-size:.75rem;padding:.15rem .45rem;background:var(--accent-soft);border:1px solid var(--line);border-radius:var(--radius-sm);font-weight:550}.status-open,.status-partially_staffed,.status-coverage-ouvert{background:#e8f0e8}.status-fully_staffed,.status-coverage-couvert{background:#e5f3ea}.status-coverage-partiel{background:#f3eee0}.status-cancelled,.status-closed{opacity:.75}.form fieldset{border:1px solid var(--line);margin:0 0 1rem;padding:.85rem 1rem 1rem;border-radius:var(--radius-sm)}.form legend{padding:0 .35rem;font-weight:600}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem}.form .full,.form-grid>.mission-timing{grid-column:1 / -1;margin-top:.75rem}.req-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.65rem;padding:.75rem 0;border-bottom:1px solid var(--line);margin-bottom:.5rem}.field-label{display:block;font-size:.8rem;color:var(--muted);margin-bottom:.3rem}.optional-mark{font-weight:400;text-transform:none;letter-spacing:0;color:var(--muted)}.form-hint{margin:0 0 .85rem;font-size:.8rem;color:var(--muted)}.date-row{margin-top:.75rem}.choice-row{display:flex;flex-wrap:wrap;gap:.4rem}.priority-choice-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem}.choice{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line);background:#fff;color:var(--ink);padding:.4rem .7rem;cursor:pointer;font:inherit;font-size:.85rem;border-radius:var(--radius-sm);transition:border-color .14s ease,background .14s ease}.priority-choice-row .choice{text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.choice.selected,.choice[aria-checked=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);font-weight:600}.mission-timing{display:grid;grid-template-columns:minmax(150px,1fr) minmax(120px,.7fr) auto minmax(120px,.8fr);gap:.75rem;align-items:end;margin-top:.75rem}@media(max-width:720px){.priority-choice-row{grid-template-columns:1fr}.mission-timing{grid-template-columns:1fr 1fr}.mission-timing .check-inline{grid-column:1 / -1;padding-top:.2rem}}.choice:disabled{opacity:.45;cursor:not-allowed}.stepper{display:flex;align-items:center;gap:.35rem}.stepper input{width:4.75rem;text-align:center}.stepper-suffix{font-size:.85rem;color:var(--muted)}.macro-role-list{border:1px solid var(--line);background:#fff;margin:.35rem 0 .85rem;border-radius:var(--radius-sm)}.macro-role-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:1rem;padding:.9rem 1rem}.macro-role-row+.macro-role-row{border-top:1px solid var(--line)}.macro-role-row h3{margin:0;font-size:.95rem;font-weight:600}.macro-role-row p{margin:.2rem 0 0;font-size:.85rem;color:var(--muted)}@media(max-width:640px){.macro-role-row{grid-template-columns:1fr;align-items:start}}.optional-toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;color:var(--accent);cursor:pointer;font:inherit;padding:.15rem 0 .85rem;text-align:left;font-weight:550}.section-title{font-size:.95rem;margin:1.25rem 0 .5rem}.rec-list{display:flex;flex-direction:column;gap:1rem}.need-review{margin-bottom:1.25rem}.need-review h2{margin:.1rem 0 0;font-size:1.2rem}.need-review-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;flex-wrap:wrap}.coverage-bar{height:8px;background:var(--line);overflow:hidden;margin:.75rem 0 0;border-radius:999px}.coverage-fill{height:100%;background:var(--ok);border-radius:inherit;transition:width .22s ease}.coverage-fill.partial{background:#b8860b}.need-instructions{margin:.85rem 0 0;white-space:pre-wrap}.req-block{margin-top:1.1rem;padding-top:.85rem;border-top:1px solid var(--line)}.req-block h3{margin:0;font-size:1rem}.unmet-list{margin:.85rem 0 0}.rec-card{border:1px solid var(--line);padding:.85rem 1rem;background:var(--bg-elevated);border-radius:var(--radius-sm)}.rec-card-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:.5rem}.score-row{display:flex;flex-wrap:wrap;gap:.75rem;font-size:.85rem;color:var(--muted);margin:.5rem 0}.status-proposed{background:#eef2f6}.status-accepted,.status-adjusted{background:#e5f3ea}.status-rejected{background:#f3e5e5}.staffing-board th:nth-child(2),.staffing-board th:nth-child(3),.staffing-board td:nth-child(2),.staffing-board td:nth-child(3){min-width:18rem}.staffing-board-project{min-width:13rem;max-width:18rem}.staffing-board-coverage{min-width:9.5rem}.staffing-board-actions{display:flex;flex-direction:column;align-items:flex-start;gap:.4rem;margin-top:.65rem}.staffing-board-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.85rem;margin-top:1rem;padding-top:.9rem;border-top:1px solid var(--line)}.ranking-stack{display:flex;flex-direction:column;gap:.85rem}.ranking-label{margin:0 0 .4rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:600}.ranking-plan{margin:.4rem 0 0;font-size:.8rem}.person-chip-row{display:flex;flex-wrap:wrap;gap:.35rem}.person-chip-wrap{display:inline-flex;align-items:stretch}.person-chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:baseline;gap:.3rem;border:1px solid var(--line);background:#fff;color:var(--ink);padding:.28rem .5rem;cursor:pointer;font:inherit;font-size:.8rem;text-align:left;border-radius:var(--radius-sm) 0 0 var(--radius-sm)}.person-chip-wrap .person-chip{border-right:0}.person-chip-info{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line);background:#fff;color:var(--muted);cursor:pointer;font:inherit;font-size:.72rem;font-weight:700;font-style:italic;padding:0 .42rem;min-width:1.5rem;border-radius:0 var(--radius-sm) var(--radius-sm) 0}.person-chip-info:hover,.person-chip-info:focus-visible{color:var(--accent);background:var(--accent-soft)}.person-chip-wrap.selected .person-chip,.person-chip-wrap.selected .person-chip-info{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);font-weight:600}.person-chip-wrap.proposed:not(.selected) .person-chip,.person-chip-wrap.proposed:not(.selected) .person-chip-info{border-color:#b7c9b8;background:#f3f8f3}.person-chip:disabled{cursor:default;opacity:.85}.person-chip-rank{font-family:var(--font-mono);font-size:.7rem;color:var(--muted)}.person-chip-score,.person-chip-plan{font-size:.7rem;color:var(--muted)}.person-chip-wrap.selected .person-chip-score,.person-chip-wrap.selected .person-chip-plan,.person-chip-wrap.selected .person-chip-rank{color:var(--accent)}.fit-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#14181f66;display:flex;align-items:flex-start;justify-content:center;padding:8vh 1rem 2rem;z-index:40;overflow:auto;animation:fade-in .16s ease-out}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.fit-dialog{width:min(36rem,100%);background:var(--bg-elevated);border:1px solid var(--line);padding:1.15rem 1.25rem 1.25rem;box-shadow:0 16px 40px #14181f2e;border-radius:var(--radius);animation:main-in .2s ease-out}.fit-dialog-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.fit-dialog-head h2{margin:.15rem 0 0;font-size:1.2rem}.fit-dialog-outcome{margin:.85rem 0;font-size:.9rem}.fit-dialog-evidence{margin:.75rem 0 0;padding-left:1.1rem}.fit-dialog-links{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:1rem;padding-top:.85rem;border-top:1px solid var(--line)}.fit-dialog-links a{color:var(--accent)}.row-selected{background:var(--accent-soft)}.row-selected td{font-weight:500}.stat-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.stat-card{background:var(--bg-elevated);border:1px solid var(--line);border-radius:var(--radius);padding:.9rem 1rem;display:flex;flex-direction:column;gap:.25rem;box-shadow:var(--shadow-soft)}.stat-card strong{font-size:1.5rem;letter-spacing:-.03em;font-weight:650}.stat-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:600}.priority-badge{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.04em;padding:.12rem .4rem;border-radius:var(--radius-sm);border:1px solid var(--line);vertical-align:middle}.priority-P1{color:var(--p1);background:var(--p1-bg);border-color:#f0c48a}.priority-P2{color:var(--p2);background:var(--p2-bg);border-color:#e8d48a}.priority-P3{color:var(--p3);background:var(--p3-bg)}.profile-card{border:1px solid var(--line);border-radius:var(--radius);padding:1rem;margin-bottom:.85rem;background:#fff}.profile-card-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:.75rem}.profile-card-head h3{margin:0;font-size:.95rem}.skill-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.65rem;margin:.75rem 0}.need-type-tabs{display:grid;grid-template-columns:1fr 1fr;gap:.35rem;margin:0 0 1rem;padding:.25rem;background:#0f5c630f;border:1px solid var(--line);border-radius:var(--radius-sm)}.need-type-tabs-compact{margin:0 0 .75rem;max-width:22rem}.need-type-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--muted);font:inherit;font-weight:600;padding:.4rem .65rem;border-radius:calc(var(--radius-sm) - 2px);cursor:pointer;transition:background .14s ease,color .14s ease}.need-type-tab.is-active{background:#fff;color:var(--accent);box-shadow:0 1px 2px #0f1e280f}.page-head-compact h1{margin-bottom:.15rem}.page-head-compact .muted{margin:.15rem 0}.need-sheet{padding:.85rem 1rem 1rem}.need-sheet-grid{display:grid;gap:.4rem .5rem;align-items:end;margin-bottom:.4rem}.need-sheet-main{grid-template-columns:minmax(180px,1.5fr) minmax(170px,1.4fr) minmax(160px,1fr)}.need-sheet-timing{grid-template-columns:minmax(140px,1fr) minmax(90px,.55fr) auto minmax(100px,.7fr);max-width:36rem}.need-sheet-hors{grid-template-columns:minmax(140px,1fr) minmax(100px,.7fr);max-width:22rem}.need-sheet-grid>label,.need-sheet-desc{gap:.15rem;font-size:.72rem}.need-sheet-desc{display:flex;flex-direction:column;margin-bottom:.15rem}.need-sheet input,.need-sheet select,.need-sheet textarea,.need-sheet .combobox input{padding:.32rem .45rem;font-size:.86rem;min-height:1.9rem}.need-sheet-divider{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;margin:.85rem 0 .5rem;padding-top:.65rem;border-top:1px solid var(--line);font-size:.78rem;font-weight:650;color:var(--ink)}.need-sheet-divider .muted{font-weight:500;font-size:.72rem}.check-inline{display:flex!important;flex-direction:row!important;align-items:center;gap:.45rem!important;padding-bottom:.35rem}.check-inline-sheet{min-height:2rem;padding-bottom:.2rem;color:var(--muted);font-size:.78rem}.check-inline input[type=checkbox]{width:.95rem;height:.95rem;accent-color:var(--accent)}.btn-compact{padding:.3rem .65rem;font-size:.82rem}.profile-rows{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.5rem}.profile-row{display:grid;grid-template-columns:minmax(130px,.85fr) minmax(95px,.5fr) minmax(180px,1.7fr) 2rem;gap:.35rem;align-items:center}.profile-row-head{font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:650;padding:0 .1rem}.profile-row select,.profile-row input{width:100%}.profile-remove{min-width:1.9rem;padding:.2rem .35rem;line-height:1}.profile-remove-spacer{display:block;width:1.9rem}@media(max-width:900px){.need-sheet-main,.need-sheet-timing,.need-sheet-hors{grid-template-columns:1fr 1fr;max-width:none}}@media(max-width:640px){.need-sheet-main,.need-sheet-timing,.need-sheet-hors{grid-template-columns:1fr}}.combobox{position:relative}.combobox input{width:100%;padding-right:3.2rem}.combobox-linked{position:absolute;right:.45rem;top:50%;transform:translateY(-50%);font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--accent);background:var(--accent-soft);border:1px solid var(--line);border-radius:var(--radius-sm);padding:.1rem .35rem;pointer-events:none}.combobox-list{position:absolute;z-index:20;left:0;right:0;top:calc(100% + .25rem);margin:0;padding:.25rem;list-style:none;max-height:220px;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:0 8px 24px #0f1e281a}.combobox-option{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;text-align:left;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;font:inherit;color:var(--ink);padding:.45rem .55rem;border-radius:calc(var(--radius-sm) - 2px);cursor:pointer}.combobox-option-meta{font-size:.78rem;color:var(--muted)}.combobox-option.is-active,.combobox-option:hover{background:var(--accent-soft);color:var(--accent)}.combobox-option.is-active .combobox-option-meta,.combobox-option:hover .combobox-option-meta{color:inherit;opacity:.85}.combobox-empty{padding:.55rem .65rem;color:var(--muted);font-size:.85rem}.combobox-loading{display:flex;align-items:center;gap:.5rem}.combobox-spinner{width:.85rem;height:.85rem;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:combobox-spin .7s linear infinite;flex-shrink:0}@keyframes combobox-spin{to{transform:rotate(360deg)}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:720px){.profile-row,.profile-row-head{grid-template-columns:1fr 1fr}.profile-row-head span:nth-child(3),.profile-row-head span:nth-child(4){display:none}.profile-row input{grid-column:1 / -1}.profile-remove,.profile-remove-spacer{grid-column:2;justify-self:end}.check-inline{padding-top:.35rem}}.flash.ok{background:#e6fffa;border:1px solid #9ae6b4;color:var(--ok);padding:.65rem .85rem;border-radius:var(--radius-sm)}.decision-row{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;flex-wrap:wrap;padding:.65rem 0;border-top:1px solid var(--line)}.audit-list{margin:0;padding-left:1.1rem;display:flex;flex-direction:column;gap:.35rem;font-size:.9rem}.consultant-pick-list{display:flex;flex-direction:column;gap:.4rem;margin-top:.85rem;max-height:50vh;overflow:auto}.consultant-pick{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:flex;justify-content:space-between;gap:1rem;align-items:center;width:100%;text-align:left;border:1px solid var(--line);background:#fff;padding:.65rem .75rem;border-radius:var(--radius-sm);cursor:pointer;font:inherit;transition:border-color .14s ease,background .14s ease}.consultant-pick-text{display:flex;flex-direction:column;gap:.1rem;min-width:0;text-align:left}.consultant-pick-sublabel{display:block;font-size:.78rem;line-height:1.3}.consultant-pick:hover{border-color:var(--accent);background:var(--accent-soft)}.avail{font-size:.75rem;white-space:nowrap}.avail-ok{color:var(--ok)}.avail-warn{color:var(--p2)}.avail-bad{color:var(--danger)}.avail-muted{color:var(--muted)}.meeting-table-panel{padding-top:.85rem;flex:1 1 auto;width:100%;overflow:visible}.meeting-table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.65rem}.meeting-needs-table th.filterable-th:last-child .th-filter-panel{left:auto;right:0}.meeting-needs-table tbody tr.meeting-row,.meeting-needs-table tbody tr.meeting-row-active{cursor:pointer}.meeting-needs-table tbody tr.meeting-row:focus-visible,.meeting-needs-table tbody tr.meeting-row-active:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.meeting-item-top{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.35rem}.chip{font-size:.68rem;padding:.1rem .35rem;border-radius:var(--radius-sm);background:var(--line);color:var(--muted);font-weight:560}.chip-new{background:#c6f6d5;color:var(--ok)}.chip-warn{background:#feebc8;color:#9c4221}.filterable-th{vertical-align:top;min-width:7.5rem}.th-sort-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;gap:.35rem;border:0;background:transparent;padding:0;margin:0 0 .35rem;font:inherit;font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:650;cursor:pointer}.th-sort-btn:hover{color:var(--ink)}.th-sort-indicator{font-size:.65rem;opacity:.7}.th-filter{position:relative}.th-filter-trigger,.th-filter-input{width:100%;min-width:0;font:inherit;font-size:.78rem;text-transform:none;letter-spacing:normal;font-weight:500;color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;padding:.28rem .4rem}.th-filter-trigger{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:flex;align-items:center;justify-content:space-between;gap:.35rem;cursor:pointer;text-align:left}.th-filter.is-active .th-filter-trigger{border-color:var(--accent);background:var(--accent-soft)}.th-filter-summary{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.th-filter-panel{position:absolute;top:calc(100% + .25rem);left:0;z-index:20;min-width:12rem;max-width:18rem;max-height:16rem;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 10px 28px #14181f1f;padding:.4rem}.th-filter-actions{display:flex;justify-content:flex-end;margin-bottom:.25rem}.th-filter-clear{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--accent);font:inherit;font-size:.75rem;cursor:pointer;padding:.15rem .25rem}.th-filter-clear:disabled{opacity:.45;cursor:default}.th-filter-options{list-style:none;margin:0;padding:0}.th-filter-option{display:flex;align-items:flex-start;gap:.4rem;padding:.28rem .3rem;font-size:.8rem;font-weight:500;text-transform:none;letter-spacing:normal;color:var(--ink);cursor:pointer;border-radius:var(--radius-sm)}.th-filter-option:hover{background:#0f5c630d}.meeting-drawer-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:45;pointer-events:none}.meeting-drawer-backdrop{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;padding:0;position:absolute;top:0;right:0;bottom:0;left:0;background:#14181f59;cursor:pointer;pointer-events:auto;animation:fade-in .16s ease-out}.meeting-drawer{position:absolute;top:0;right:0;bottom:0;width:min(36rem,100%);background:var(--bg, #f4f6f7);border-left:1px solid var(--line);box-shadow:-12px 0 36px #14181f24;overflow:auto;pointer-events:auto;padding:.85rem 1rem 1.5rem;animation:meeting-drawer-in .2s ease-out}@keyframes meeting-drawer-in{0%{opacity:.6;transform:translate(1.25rem)}to{opacity:1;transform:translate(0)}}.meeting-drawer-head{display:flex;justify-content:flex-end;margin-bottom:.65rem}.meeting-drawer .meeting-detail{margin:0;box-shadow:none}.ms-select{position:relative;display:flex;flex-direction:column;gap:.35rem;min-width:0}.ms-select.disabled{opacity:.6;pointer-events:none}.ms-select-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:600}.ms-select-trigger{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:flex;justify-content:space-between;align-items:center;gap:.5rem;width:100%;text-align:left;border:1px solid var(--line);background:#fff;border-radius:var(--radius-sm);padding:.55rem .7rem;font:inherit;cursor:pointer;min-height:2.4rem}.ms-select.open .ms-select-trigger,.ms-select-trigger:hover{border-color:var(--accent)}.ms-select-caret{color:var(--muted);font-size:.75rem}.ms-select-chips{display:flex;flex-wrap:wrap;gap:.3rem;align-items:center}.ms-chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:var(--accent-soft);color:var(--accent);font:inherit;font-size:.75rem;font-weight:560;padding:.15rem .4rem;border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;gap:.3rem;align-items:center}.ms-clear{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--muted);font:inherit;font-size:.75rem;cursor:pointer;text-decoration:underline;padding:0}.ms-select-panel{position:absolute;z-index:40;top:calc(100% + .25rem);left:0;right:0;max-width:100%;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft);padding:.55rem;display:flex;flex-direction:column;gap:.45rem}.meeting-profile .ms-select-panel{max-height:min(420px,55vh)}.meeting-profile .ms-select-options{max-height:min(220px,28vh)}.ms-select-search{width:100%;border:1px solid var(--line);border-radius:var(--radius-sm);padding:.45rem .55rem;font:inherit}.ms-facet{display:flex;flex-direction:column;gap:.35rem;padding-bottom:.35rem;border-bottom:1px solid var(--line)}.ms-facet-head{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem}.ms-facet-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:600}.ms-facet-chips{display:flex;flex-wrap:wrap;gap:.3rem}.ms-facet-chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line);background:#fff;color:var(--ink);font:inherit;font-size:.75rem;font-weight:520;padding:.2rem .45rem;border-radius:var(--radius-sm);cursor:pointer;line-height:1.2}.ms-facet-chip:hover{border-color:var(--accent)}.ms-facet-chip.on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);font-weight:600}.ms-select-options{max-height:220px;overflow:auto;display:flex;flex-direction:column;gap:.2rem}.ms-select-empty{margin:.35rem 0;font-size:.85rem}.ms-option{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:flex;justify-content:space-between;align-items:center;gap:.65rem;width:100%;text-align:left;border:0;background:transparent;border-radius:var(--radius-sm);padding:.45rem .5rem;font:inherit;cursor:pointer}.ms-option:hover,.ms-option.selected{background:var(--accent-soft)}.ms-option-main{display:flex;align-items:flex-start;gap:.45rem;min-width:0}.ms-option-text{display:flex;flex-direction:column;gap:.1rem;min-width:0}.ms-option-title{line-height:1.25}.ms-option-sublabel{display:block;font-size:.78rem;line-height:1.3;white-space:normal}.ms-check{width:1rem;flex:0 0 auto;color:var(--accent);font-size:.85rem;line-height:1.3}.meeting-profiles{margin-top:.5rem}.meeting-profile .ms-select{margin:.75rem 0}.meeting-profile-requirements{margin:.35rem 0 0;white-space:pre-wrap}.meeting-option-list{list-style:none;margin:.75rem 0 0;padding:0;display:flex;flex-direction:column;gap:.5rem}.meeting-option-row{display:flex;justify-content:space-between;gap:.75rem;align-items:center;flex-wrap:wrap;padding:.65rem .75rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff}.meeting-detail-actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--line)}.page-head-matching{align-items:center;justify-content:center;flex-wrap:wrap;row-gap:.75rem}.week-nav{display:flex;flex-wrap:nowrap;align-items:center;justify-content:center;gap:.65rem;flex:0 1 auto;width:min(100%,36rem);margin:0 auto}.week-nav-step{min-width:2.4rem;padding-left:.55rem;padding-right:.55rem;text-align:center}.week-nav-range{flex:1 1 auto;min-width:14rem;text-align:center;font-size:1.05rem;font-weight:650;white-space:nowrap;letter-spacing:-.01em}.matching-feedback{margin:-.35rem 0 0;font-size:.9rem;line-height:1.35}.matching-feedback.ok{color:var(--ok)}.matching-feedback.error{color:var(--danger)}.matching-layout{display:grid;grid-template-columns:minmax(280px,1fr) minmax(320px,1.15fr);gap:1rem;align-items:start}.matching-column{position:sticky;top:calc(var(--topbar-h) + .75rem);max-height:calc(100vh - var(--topbar-h) - 1.5rem);overflow:auto}.matching-pool{border:1px solid transparent;overflow:visible;display:flex;flex-direction:column;transition:border-color .14s ease,background .14s ease,box-shadow .14s ease}.matching-pool.is-targetable{border-color:#9bb4b8;background:#f7fbfb}.matching-pool.is-over{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 3px #0f5c631f}.matching-pool-filters{margin:0 0 .75rem;position:relative;z-index:2;display:flex;flex-direction:column;gap:.45rem}.matching-pool-filter-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.45rem;align-items:start}.matching-pool-name-filter{display:flex;flex-direction:column;gap:.35rem;min-width:0}.matching-pool-name-filter input{width:100%;border:1px solid var(--line);background:#fff;border-radius:var(--radius-sm);padding:.55rem .7rem;color:var(--ink);min-height:2.4rem;transition:border-color .14s ease,box-shadow .14s ease}.matching-pool-name-filter input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #0f5c631f}.matching-pool-name-filter input:disabled{opacity:.6}.matching-pool-toggle{margin:0;padding-bottom:0;color:var(--muted);font-size:.78rem}.matching-pool-filters .ms-select-panel{max-height:min(320px,45vh)}.matching-pool-filters .ms-select-options{max-height:min(220px,32vh);overflow:auto}.matching-pool-body{flex:1 1 auto;min-height:0;overflow:auto}.matching-pool-hint{margin:0 0 .75rem}.matching-column-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.75rem}.matching-column-head h2{margin:0;font-size:1.05rem}.matching-card-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.55rem}.matching-consultant-card{border:1px solid var(--line);background:#fff;border-radius:var(--radius);padding:.75rem .85rem;cursor:grab;touch-action:none;transition:border-color .14s ease,background .14s ease,box-shadow .14s ease,transform .14s ease;animation:matching-card-in .28s ease-out}.matching-consultant-card:hover{border-color:#b8c5cc}.matching-consultant-card:active{cursor:grabbing}.matching-consultant-card.is-selected{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}.matching-consultant-card.is-dragging{opacity:.4}.matching-consultant-card--overlay{box-shadow:var(--shadow-soft);cursor:grabbing;max-width:320px}.matching-card-top{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin-bottom:.3rem}.matching-card-meta{font-size:.8rem}.matching-card-empty{margin:.35rem 0 0;font-size:.78rem}.matching-assign-list{list-style:none;margin:.4rem 0 0;padding:0;font-size:.78rem;color:var(--muted);display:flex;flex-direction:column;gap:.15rem}.matching-drop-hint{margin:.55rem 0 0;font-size:.75rem;font-weight:560;color:var(--accent)}.matching-need-groups{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.matching-need-group{border:1px solid var(--line);border-radius:var(--radius);background:#fff;overflow:hidden;animation:matching-card-in .32s ease-out}.matching-need-group.is-covered{border-color:#c5d4c8;background:#f7faf7}.matching-need-group.is-open{border-color:var(--line)}.matching-need-group-head{position:relative;padding:.65rem .85rem .55rem;border-bottom:1px solid var(--line)}.matching-need-group.is-covered .matching-need-group-head{border-bottom-color:#d5e0d8}.matching-need-group-head strong{display:block;margin-top:.15rem}.matching-need-group-link{position:absolute;top:.65rem;right:.85rem;font-size:.78rem;text-decoration:underline;text-underline-offset:2px}.chip-ok{background:#e5f0e8;color:#1f5c36}.chip-pace{background:#eef3f5;color:#2a4a52}.chip-continuity{background:#f3eee6;color:#6a4e2c;font-size:.72rem}.matching-continuity-row{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .75rem;margin-top:.35rem;padding-right:3.5rem}.matching-continuity{margin:0;font-size:.82rem;color:#6a4e2c}.matching-renew-team{flex-shrink:0;border-color:#c4a882;color:#6a4e2c}.matching-renew-team:hover:not(:disabled){background:#f3eee6;border-color:#b8956a;color:#5a4024}.matching-slot-list{list-style:none;margin:0;padding:.4rem .55rem .55rem;display:flex;flex-direction:column;gap:.35rem}.matching-slot-row{display:grid;grid-template-columns:minmax(7rem,.9fr) minmax(0,1.4fr);gap:.45rem;align-items:center;padding:.35rem .4rem;border:1px dashed transparent;border-radius:var(--radius-sm);transition:border-color .14s ease,background .14s ease,box-shadow .14s ease}.matching-slot-row.is-empty{border-color:var(--line);background:#fafbfc}.matching-slot-row.is-empty.is-targetable{border-color:#9bb4b8;background:#f7fbfb}.matching-slot-row.is-empty.is-over{border-color:var(--accent);border-style:solid;background:var(--accent-soft);box-shadow:0 0 0 3px #0f5c631f}.matching-slot-row.is-filled{border-color:transparent;background:transparent}.matching-slot-meta{display:flex;flex-direction:column;gap:.1rem;min-width:0}button.matching-slot-meta-filter{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;padding:.15rem .2rem;margin:-.15rem -.2rem;border-radius:var(--radius-sm);text-align:left;font:inherit;color:inherit;cursor:pointer}button.matching-slot-meta-filter:hover:not(:disabled){background:#0f5c630f}button.matching-slot-meta-filter:focus-visible{outline:2px solid var(--accent);outline-offset:1px}button.matching-slot-meta-filter:disabled{cursor:default;opacity:.7}.matching-slot-role{font-size:.85rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.matching-slot-comment{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:.72rem;line-height:1.25;margin-top:.05rem;white-space:normal}.matching-slot-dropzone{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;text-align:left;border:0;background:transparent;padding:.45rem .5rem;cursor:pointer;font:inherit;font-size:.78rem;font-weight:560;color:var(--accent);min-height:2.35rem}.matching-assigned-row{display:flex;justify-content:space-between;align-items:center;gap:.5rem;flex-wrap:wrap;padding:.4rem .5rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;font-size:.85rem;cursor:grab;touch-action:none;transition:border-color .14s ease,background .14s ease,opacity .14s ease}.matching-need-group.is-covered .matching-assigned-row{background:#fff;border-color:#cfdcd2}.matching-assigned-row:active{cursor:grabbing}.matching-assigned-row.is-dragging{opacity:.4}.matching-assigned-row:hover{border-color:#b8c5cc}@keyframes matching-card-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media(max-width:900px){.stat-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.meeting-drawer{width:100%}.matching-layout{grid-template-columns:1fr}.matching-column{position:static;max-height:none}.matching-slot-row{grid-template-columns:1fr}.topbar-inner{align-items:flex-start;flex-direction:column}.nav{justify-content:flex-start;width:100%}.nav-actions{padding-left:0;border-left:0}.nav-account{padding-left:0;border-left:0;margin-left:0}}@media(max-width:640px){:root{--shell-pad-x: 1rem}.page-head{flex-direction:column}.stat-strip{grid-template-columns:1fr 1fr}}
