@import url('https://fonts.googleapis.com/css2?family=Sora:wght@400;500;600;700&display=swap');
:root{--ink:#252525;--muted:#666666;--green:#343434;--pale:#f0f0f0;--line:#d8d8d8;--canvas:#f1f1f1;--paper:#fff;--ginger:#787878;--red:#393939;font-family:Sora,system-ui,sans-serif;color:var(--ink);background:var(--canvas);font-size:15px}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit;color:inherit}button,a{touch-action:manipulation}button{cursor:pointer;background:var(--paper);border:1px solid var(--line);border-radius:5px;padding:9px 12px;font-size:14px}button:hover{border-color:var(--green);background:var(--pale)}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--green);color:#fff;border-color:var(--green)}button.primary:hover{background:#153b30}button.link{border:0;padding:6px 0;background:none;color:var(--green);text-decoration:underline;text-underline-offset:3px}button.warning{color:var(--red)}a{color:var(--green);text-underline-offset:3px}header{padding:19px 28px;background:#fff;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;border-bottom:1px solid var(--line)}.wordmark{text-decoration:none;font-size:25px;font-weight:600;letter-spacing:-1.2px;color:var(--ink)}.wordmark span{color:var(--ginger)}.top-context{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.top-context a{font-size:13px}select,input,textarea{background:#fff;border:1px solid var(--line);border-radius:4px;padding:10px;width:100%;font-size:16px}select{width:auto;max-width:100%}input[type=checkbox]{width:auto}label{display:block;font-size:14px}label input,label select,label textarea{display:block;margin-top:7px}textarea{min-height:104px;resize:vertical}.shell{display:grid;grid-template-columns:200px minmax(0,1fr);max-width:1700px;margin:auto}#nav{padding:28px 15px;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:9px}#nav .nav-label{font-size:11px;letter-spacing:.11em;color:var(--muted);padding:0 12px 10px}#nav button{text-align:left;border:0;padding:12px}#nav button.active{background:var(--pale);color:var(--green);font-weight:600}#nav .nav-foot{border-top:1px solid var(--line);margin-top:25px;padding-top:15px}main{padding:20px 30px 50px;min-width:0}#savebar{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap;margin-bottom:22px}#savebar>div{display:flex;gap:8px}#save-status{font-size:12px;color:var(--muted)}#message{border-left:3px solid var(--ginger);padding:12px 15px;background:#f6f6f6;margin-bottom:18px;line-height:1.5}.heading{display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap;margin-bottom:22px}h1{font-size:28px;font-weight:600;letter-spacing:-.9px;margin:0 0 8px}h2{font-size:18px;font-weight:500;margin:0 0 17px}h3{font-size:16px;font-weight:500;margin:0 0 12px}p{font-size:14px;line-height:1.65;margin:6px 0}.muted{color:var(--muted);font-size:13px;line-height:1.6}.eyebrow{font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--ginger);margin-bottom:8px}.tabs,.toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:20px}.tabs button.active{background:var(--green);color:#fff;border-color:var(--green)}.panel{background:#fff;border:1px solid var(--line);border-radius:7px;padding:22px;margin-bottom:20px;min-width:0}.panel.accent{border-top:3px solid var(--green)}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.grid>.panel{margin-bottom:0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.row{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}.actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-top:18px}.pill{display:inline-block;padding:4px 8px;background:var(--pale);color:var(--green);font-size:12px;border-radius:4px}.pill.draft{background:#eeeeee;color:#595959}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}th{text-align:left;color:var(--muted);font-size:12px;font-weight:500;padding:12px 10px;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:14px 10px;border-bottom:1px solid var(--line)}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}tbody tr:last-child td{border-bottom:0}tfoot td{border-top:2px solid var(--line);font-weight:600}.allocation input{min-width:100px}.allocation select{min-width:84px}.allocation .loc{min-width:120px}.rates input{min-width:90px}.stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px 0}.stat{background:var(--pale);border-radius:6px;padding:18px}.stat strong{display:block;font-size:29px;font-weight:500;letter-spacing:-1px;margin:6px 0}.stat span{font-size:13px;color:var(--muted)}.balance{padding:14px;background:var(--pale);margin-top:14px;border-radius:5px;font-size:14px}.balance.bad{background:#eeeeee;color:var(--red)}details{margin-top:20px;border-top:1px solid var(--line);padding-top:16px}summary{cursor:pointer;font-size:14px}details>div{margin-top:18px}.empty{padding:26px 0;color:var(--muted);font-size:14px;line-height:1.7}.notes{padding:12px 0;border-bottom:1px solid var(--line)}.mini{font-size:12px}.calendar-days{display:flex;gap:13px;flex-wrap:wrap;margin-top:10px}.calendar-days label{display:flex;align-items:center;gap:6px}.calendar-days input{margin:0}.meeting{display:grid;grid-template-columns:230px minmax(0,1fr);gap:20px}.agenda{display:flex;flex-direction:column;gap:8px}.agenda button{text-align:left}.agenda button.active{background:var(--pale);border-color:var(--green)}.agenda small{display:block;color:var(--muted);margin-bottom:3px}.meeting-fields label{margin-top:15px}.meeting-fields textarea{min-height:115px}dialog{width:min(660px,calc(100% - 30px));max-height:90vh;border:1px solid var(--line);border-radius:10px;padding:27px;color:var(--ink);background:#fff}dialog::backdrop{background:#00000088}.close{float:right;border:0;font-size:22px;padding:0 3px}.scope{max-width:240px}.role-note{padding:12px 0;border-bottom:1px solid var(--line)}.shared-view #savebar,.shared-view .nav-foot{display:none}.shared-view .shell{grid-template-columns:1fr}.shared-view #nav{display:none}.shared-view main{max-width:1200px;width:100%;margin:auto}.goal-cell{font-weight:600;color:var(--green)}.total-input{max-width:320px;font-size:26px;letter-spacing:-.5px}.inline-fields{display:flex;gap:15px;align-items:end;flex-wrap:wrap}.inline-fields label{flex:1;min-width:170px}.separator{margin:25px 0;border:0;border-top:1px solid var(--line)}[hidden]{display:none!important}:focus-visible{outline:3px solid var(--green);outline-offset:3px}
@media(max-width:1000px){.shell{grid-template-columns:165px minmax(0,1fr)}main{padding:20px}.grid{grid-template-columns:1fr}.stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.meeting{grid-template-columns:1fr}.agenda{flex-direction:row;flex-wrap:wrap}}
@media(max-width:650px){header{padding:16px}.shell{grid-template-columns:1fr}#nav{flex-direction:row;flex-wrap:wrap;padding:10px;border-right:0;border-bottom:1px solid var(--line)}#nav .nav-label,#nav .nav-foot{display:none}main{padding:17px}.form-grid{grid-template-columns:1fr}.stat-grid{grid-template-columns:1fr}.panel{padding:17px}.top-context{gap:8px}h1{font-size:25px}.heading{align-items:flex-start}.total-input{max-width:100%}}
@media print{header,#nav,#savebar,.tabs,.actions,.toolbar,.close{display:none!important}.shell{display:block}main{padding:0}.panel{break-inside:avoid;border:0}.table-wrap{overflow:visible}body{background:#fff}button{display:none}.stat-grid{grid-template-columns:repeat(3,1fr)}}
/* Meeting follow-through */
.workflow-tabs{border-bottom:1px solid var(--line);padding-bottom:18px}.issue-row{display:flex;align-items:center;gap:16px;padding:18px 0;border-bottom:1px solid var(--line)}.issue-row:last-child{border-bottom:0}.issue-rank{display:grid;place-items:center;flex:0 0 32px;height:32px;border-radius:50%;background:var(--pale);font-variant-numeric:tabular-nums}.issue-main{flex:1;min-width:120px}.issue-main .link{text-align:left;font-size:16px;font-weight:500;text-decoration:none}.issue-controls{display:flex;gap:6px;flex-wrap:wrap}.issue-title{margin-top:18px;max-width:800px}.ids-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.ids-grid .panel{margin:0}.ids-grid textarea{min-height:210px}.check-label{display:flex;align-items:center;gap:10px;margin-top:18px}.check-label input{margin:0}.preserve{white-space:pre-wrap}#modal-content form>label,#modal-content form>.form-grid{margin-top:16px}.org-scroll{overflow:auto;min-height:220px}.org-level{display:flex;justify-content:center;list-style:none;padding:24px 0 0;margin:0;gap:24px;width:max-content;min-width:100%}.org-level>li{display:flex;flex-direction:column;align-items:center;position:relative}.org-level .org-level{border-top:1px solid var(--line);margin-top:24px}.org-level .org-level>li:before{content:'';position:absolute;height:24px;top:-24px;border-left:1px solid var(--line)}.org-level>li:has(>.org-level)>.seat-card:after{content:'';position:absolute;height:24px;bottom:-25px;left:50%;border-left:1px solid var(--line)}.seat-card{background:var(--paper);border:1px solid var(--line);border-top:3px solid var(--green);border-radius:5px;width:245px;padding:18px;position:relative}.seat-card h3{margin:8px 0}.responsibilities{padding-left:18px;font-size:13px;line-height:1.6}.seat-card .actions{gap:6px}.seat-card button{font-size:12px;padding:6px 8px}.form-error{margin-top:15px}
@media(max-width:1000px){.ids-grid{grid-template-columns:1fr}.ids-grid textarea{min-height:120px}.issue-row{flex-wrap:wrap}.issue-controls{margin-left:48px}}
@media(max-width:650px){.issue-main{flex-basis:70%}.issue-controls{margin-left:0}.issue-row{gap:10px}.workflow-tabs button{flex:1 1 40%}.org-scroll{padding:10px}}
@media print{.org-scroll{overflow:visible}.org-level{flex-wrap:wrap;width:auto;gap:12px}.seat-card{width:210px}.workflow-tabs{display:none}.ids-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Category colors sampled from the USA IDS Google Sheet. */
.category-pill{display:inline-block;max-width:100%;padding:4px 10px;border-radius:999px;background:#e6e8ea;color:#25312c;font-size:12px;font-weight:600;line-height:1.45;vertical-align:middle;white-space:normal;overflow-wrap:anywhere}
.category-pill[data-category="cat-0"]{background:#cc0000;color:#fff}
.category-pill[data-category="cat-1"]{background:#ff9900;color:#241600}
.category-pill[data-category="cat-2"]{background:#38761d;color:#fff}
.category-pill[data-category="cat-3"]{background:#6d9eeb;color:#10213d}
.category-pill[data-category="cat-4"]{background:#0000ff;color:#fff}
.category-pill[data-category="cat-5"]{background:#9900ff;color:#fff}
.category-pill[data-category="cat-6"]{background:#93c47d;color:#172512}
.category-pill[data-category="cat-7"]{background:#999999;color:#171717}
@media print{.category-pill{print-color-adjust:exact;-webkit-print-color-adjust:exact}}

/* Shared Sora identity. Each company supplies only its logo and accents. */
:root{--brand-primary:#343434;--brand-secondary:#787878;--brand-on-primary:#ffffff;--brand-hover:#2c2c2c;--brand-on-hover:#ffffff}
button.primary,.tabs button.active{background:var(--brand-primary);border-color:var(--brand-primary);color:var(--brand-on-primary)}button.primary:hover{background:var(--brand-hover);border-color:var(--brand-hover);color:var(--brand-on-hover)}.wordmark span{color:var(--brand-secondary)}.panel.accent,.seat-card{border-top-color:var(--brand-primary)}.pill{background:#ededed;color:#444444}.category-pill{ /* Category colors remain independent of brand accents. */ }
#brand-logo{max-width:140px;height:42px;object-fit:contain}#brand-settings{font-size:12px;background:transparent}.shared-view #brand-settings{display:none}.brand-example{display:flex;justify-content:space-between;align-items:center;gap:20px;background:var(--canvas);border:1px solid var(--line);padding:22px;margin:20px 0;border-radius:6px}.brand-example img{max-width:180px;max-height:70px;object-fit:contain}.color-field{display:flex;gap:8px;align-items:center}.color-field input[type=color]{width:52px;min-width:52px;height:44px;padding:3px}.color-field input:not([type=color]){min-width:0;font-family:monospace}.color-field+small{display:block;margin-top:7px}
@media(max-width:650px){#brand-logo{max-width:100px;height:32px}.brand-example{flex-wrap:wrap}.top-context{width:100%}}
