:root{--primary:#1f8a5b;--primary-hover:#196f49;--primary-soft:#ecf4ef;--primary-soft-2:#dcebe2;--progress:#2bb673;--progress-track:#eef0f3;--progress-border:#d6d9de;--ink:#0a0a0a;--text:#1f2328;--text-2:#3a3f47;--text-muted:#6b7280;--text-faint:#9aa1ab;--label:#8a8f99;--bg-page:#f3f4f6;--bg-subtle:#f7f8fa;--table-header-bg:#f6f7f9;--surface:#fff;--rule:#e6e8eb;--rule-soft:#eef0f3;--edit-border:#d6d9de;--icon-action:#9aa1ab;--icon-decorative:#d6d9de;--toggle-off-bg:#c7cbd2;--amber:#c98a1c;--amber-soft:#fcf3e0;--blue:#1f5bae;--blue-soft:#eaf2fb;--red:#a8331f;--red-soft:#fbeaea;--gray:#5a6068;--gray-soft:#eeeff2;--status-active-bg:#e6f4ec;--status-active-text:#1f8a5b;--status-shipped-bg:var(--blue-soft);--status-shipped-text:var(--blue);--status-warning-bg:var(--amber-soft);--status-warning-text:var(--amber);--status-cancelled-bg:var(--red-soft);--status-cancelled-text:var(--red);--status-closed-bg:var(--gray-soft);--status-closed-text:var(--gray);--danger-hover-text:#a40800;--danger-hover-bg:#fed1cfb3;--bubble-sent-bg:var(--edit-border);--font-family:Arial, "Helvetica Neue", Helvetica, sans-serif;--fw-regular:400;--fw-bold:700;--fs-10:10pt;--fs-11:11pt;--fs-12:12pt;--fs-13:13pt;--fs-14:14pt;--fs-15:15pt;--fs-22:22pt;--fs-26:26pt;--fs-28:28pt;--tracking-upper:.04em;--sp-1:5pt;--sp-2:10pt;--sp-3:15pt;--sp-4:20pt;--sp-5:25pt;--sp-6:30pt;--sp-7:35pt;--sp-8:40pt;--sp-9:45pt;--layout-min-width:1400pt;--layout-margin:20pt;--radius-sm:5pt;--radius-md:10pt;--radius-pill:999px;--shadow-card:1pt 1pt 1pt #0000000d;--shadow-popover:var(--shadow-card);--shadow-focus:0 0 2pt 3pt var(--primary-soft-2)}html{zoom:.75}*{box-sizing:border-box}body{font-family:var(--font-family);font-size:var(--fs-13);font-weight:var(--fw-regular);color:var(--text);background:var(--bg-page);margin:0}.upper{text-transform:uppercase;letter-spacing:var(--tracking-upper)}.layout-shell{width:var(--layout-min-width);padding:0 var(--layout-margin);margin:0 auto}.layout-header{height:75pt;position:relative}.layout-hamburger{border-radius:var(--radius-md);background:var(--primary);color:#fff;cursor:pointer;border:none;justify-content:center;align-items:center;width:35pt;height:35pt;display:flex;position:absolute;top:20pt;left:20pt}.layout-hamburger:hover{background:var(--primary-hover)}.layout-hamburger svg{width:19pt;height:19pt}.layout-heading{min-width:250pt;height:25pt;font-family:var(--font-family);font-size:var(--fs-22);font-weight:var(--fw-regular);color:var(--ink);white-space:nowrap;margin:0;line-height:25pt;position:absolute;top:15pt;left:65pt}.layout-subtext{height:20pt;font-family:var(--font-family);font-size:var(--fs-13);color:var(--text-muted);align-items:center;margin:0;display:flex;position:absolute;top:40pt;left:65pt}.card{background:var(--surface);border:1pt solid var(--rule);border-radius:var(--radius-md);box-shadow:var(--shadow-card)}.btn{height:35pt;font-family:var(--font-family);font-size:var(--fs-13);font-weight:var(--fw-regular);border-radius:var(--radius-sm);cursor:pointer;justify-content:center;align-items:center;gap:var(--sp-1);border:1pt solid #0000;padding:4pt 16pt;display:inline-flex}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover)}.btn-outline{border-color:var(--primary);color:var(--primary);background:0 0}.btn-outline:hover{background:var(--primary-soft)}.btn-outline .icon-plus{width:15pt;height:15pt;color:var(--primary)}.btn-plain-danger{background:var(--surface);border-color:var(--rule);color:var(--label)}.btn-plain-danger:hover{background:var(--danger-hover-bg);color:var(--danger-hover-text);border-color:#0000}.icon-btn{border:1.15pt solid var(--rule);border-radius:var(--radius-sm);background:var(--surface);width:35pt;height:35pt;color:var(--text);justify-content:center;align-items:center;display:inline-flex}.icon-btn svg{width:20pt;height:20pt}.icon-btn+.icon-btn{margin-left:var(--sp-2)}.icon-btn:hover,.icon-btn:active{background:var(--bg-subtle)}.icon-btn-edit{border-radius:var(--radius-sm);width:30pt;height:30pt;color:var(--icon-action);justify-content:center;align-items:center;display:inline-flex}.icon-btn-edit svg{width:17pt;height:17pt}.icon-btn-edit:hover,.icon-btn-edit:active{background:var(--primary-soft);color:var(--primary)}.icon-btn-edit+.icon-btn-edit{margin-left:var(--sp-1)}.icon-btn-kebab{width:30pt;height:30pt;color:var(--icon-action);justify-content:center;align-items:center;display:inline-flex}.icon-btn-kebab svg{width:23pt;height:23pt}.icon-btn-clear{width:25pt;height:25pt;color:var(--icon-action);justify-content:center;align-items:center;display:inline-flex}.icon-btn-clear svg{width:17pt;height:17pt}.icon-btn-close{border:1.15pt solid var(--rule);border-radius:var(--radius-sm);width:35pt;height:35pt;color:var(--text);justify-content:center;align-items:center;display:inline-flex}.icon-btn-close:hover,.icon-btn-close:active{background:var(--bg-subtle)}.search-bar{border:1pt solid var(--rule);border-radius:var(--radius-sm);background:var(--surface);width:380pt;height:35pt;padding:0 var(--sp-4);align-items:center;gap:var(--sp-2);display:inline-flex}.search-bar input{font-family:var(--font-family);font-size:var(--fs-13);color:var(--text);background:0 0;border:none;outline:none;flex:1}.search-bar input::placeholder{color:var(--text-faint)}.search-bar .icon-search{width:22pt;height:22pt;color:var(--text-faint)}.icon-search-header{width:20pt;height:20pt}.btn-text{justify-content:center;align-items:center;gap:var(--sp-1);font-family:var(--font-family);font-size:var(--fs-13);font-weight:var(--fw-regular);color:var(--primary);cursor:pointer;background:0 0;border:none;display:inline-flex}.btn-text:hover{color:var(--primary-hover)}.btn-text svg{width:15pt;height:15pt}.btn-reset{width:80pt;height:35pt;padding:4pt 16pt}.btn-reset svg{flex-shrink:0;width:20pt;height:20pt}.filter-bar{background:var(--surface);border:1pt solid var(--rule);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:var(--sp-1);display:inline-flex}.pill-filter{height:40pt;padding:0 var(--sp-1);border-radius:var(--radius-md);font-size:var(--fs-13);font-weight:var(--fw-regular);background:var(--surface);color:var(--text-muted);flex:1;justify-content:center;align-items:center;display:inline-flex}.pill-filter:not(.is-active):hover{color:var(--text)}.pill-filter.is-active{background:var(--primary-soft);color:var(--primary)}.view-toggle{display:inline-flex}.view-toggle-btn{height:35pt;font-family:var(--font-family);font-size:var(--fs-13);font-weight:var(--fw-regular);background:var(--surface);border:1pt solid var(--rule);color:var(--text-muted);cursor:pointer;padding:4pt 16pt}.view-toggle-btn+.view-toggle-btn{margin-left:-1pt}.view-toggle-btn:first-child{border-radius:var(--radius-sm) 0 0 var(--radius-sm)}.view-toggle-btn:last-child{border-radius:0 var(--radius-sm) var(--radius-sm) 0}.view-toggle-btn.is-active{background:var(--primary-soft);color:var(--primary)}.pill-status{align-items:center;gap:var(--sp-1);min-width:80pt;height:30pt;padding:0 var(--sp-2);border-radius:var(--radius-pill);font-size:var(--fs-12);font-weight:var(--fw-regular);justify-content:center;display:inline-flex}.pill-status svg{flex-shrink:0;width:14pt;height:14pt}.pill-status.is-active{background:var(--status-active-bg);color:var(--status-active-text)}.pill-status.is-shipped{background:var(--status-shipped-bg);color:var(--status-shipped-text)}.pill-status.is-warning{background:var(--status-warning-bg);color:var(--status-warning-text)}.pill-status.is-cancelled{background:var(--status-cancelled-bg);color:var(--status-cancelled-text)}.pill-status.is-closed{background:var(--status-closed-bg);color:var(--status-closed-text)}.tbl{border-collapse:collapse;width:100%}.tbl thead th{background:var(--table-header-bg);height:35pt;font-size:var(--fs-10);font-weight:var(--fw-regular);color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--tracking-upper);padding:2pt var(--sp-1);text-align:left;vertical-align:middle}.tbl thead th.is-sortable{cursor:pointer}.th-label{align-items:center;gap:4pt;display:inline-flex}.icon-sort{vertical-align:middle;flex-shrink:0;width:18pt;height:18pt}.icon-sort.is-idle{color:var(--label)}.icon-sort.is-active,.tbl thead th.is-sortable:hover .icon-sort{color:var(--primary)}.tbl tbody td{height:45pt;padding:2pt var(--sp-1);font-size:var(--fs-12);color:var(--text);font-weight:var(--fw-regular);border-bottom:1pt solid var(--rule-soft)}.tbl tbody td:first-child{border-left:2pt solid #0000}.tbl th.is-numeric,.tbl td.is-numeric{text-align:right}.tbl tbody tr.is-selected{background:var(--primary-soft-2)}.tbl tbody tr:hover:not(.tbl-group-label):not(.tbl-group-totals):not(:has(.icon-btn-edit:hover)){background:var(--primary-soft)}.tbl tbody tr:hover:not(.tbl-group-label):not(.tbl-group-totals):not(:has(.icon-btn-edit:hover)) td:first-child{border-left-color:var(--primary-hover)}.row-index{background:var(--table-header-bg);width:30pt;height:30pt;color:var(--text);font-weight:var(--fw-bold);font-size:var(--fs-12);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.item-row-primary{font-size:var(--fs-12);font-weight:var(--fw-bold);color:var(--ink)}.item-row-secondary{font-size:var(--fs-12);font-weight:var(--fw-regular);color:var(--text-muted)}.tbl tbody tr.tbl-group-label td,.tbl tbody tr.tbl-group-totals td{vertical-align:middle;background:#e6f4ec33;border-bottom:none;height:40pt}.tbl tbody tr.tbl-group-label td{border-bottom:1pt solid var(--rule)}.tbl tbody tr.tbl-group-label td:first-child,.tbl tbody tr.tbl-group-totals td:first-child{border-left:2pt solid var(--primary);padding-left:var(--sp-2)}.tbl tbody tr.tbl-group-label td{font-size:var(--fs-13);font-weight:var(--fw-bold);color:var(--primary-hover)}.tbl tbody tr.tbl-group-totals td.totals-label{font-size:var(--fs-12);font-weight:var(--fw-bold);color:var(--primary-hover)}.tbl tbody tr.tbl-group-totals td.totals-value{font-size:var(--fs-12);font-weight:var(--fw-bold);color:var(--text);text-align:right;padding-right:var(--sp-2)}.order-title{font-size:var(--fs-26);font-weight:var(--fw-bold);color:var(--ink);min-width:150pt}.order-subtitle{font-size:var(--fs-14);color:var(--text-muted)}.order-meta{font-size:var(--fs-13);color:var(--label)}.order-meta a{color:var(--primary)}.order-meta .meta-name{color:var(--text)}.summary-label{font-size:var(--fs-11);font-weight:var(--fw-regular);color:var(--label);text-transform:uppercase;letter-spacing:var(--tracking-upper)}.summary-date{font-size:var(--fs-13);color:var(--text)}.summary-total{font-size:var(--fs-28);font-weight:var(--fw-bold);color:var(--ink)}.summary-qty{font-size:var(--fs-13);color:var(--text-muted)}.summary-qty .qty-value{color:var(--primary)}.stepper{align-items:center;display:flex}.stepper-circle{border-radius:50%;justify-content:center;align-items:center;width:20pt;height:20pt;display:inline-flex}.stepper-circle.is-done svg,.checkbox.is-checked svg{width:12pt;height:12pt}.stepper-circle.is-done{background:var(--progress);color:#fff}.stepper-circle.is-todo{background:var(--surface);border:1pt solid var(--progress-border);color:var(--progress-border)}.stepper-line{flex:1;height:1.5pt}.stepper-line.is-done{background:var(--progress)}.stepper-line.is-todo{background:var(--progress-track)}.stepper-label{font-size:var(--fs-13);color:var(--text-muted)}.tabs-pill{background:var(--surface);border:1pt solid var(--rule);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:var(--sp-1);display:inline-flex}.tab-pill{height:40pt;padding:0 var(--sp-3);border-radius:var(--radius-md);font-size:var(--fs-13);font-weight:var(--fw-regular);color:var(--text-muted);background:var(--surface);justify-content:center;align-items:center;display:inline-flex}.tab-pill.is-secondary{height:35pt}.tab-pill.is-active{color:var(--primary);background:var(--primary-soft)}.tab-pill:hover{color:var(--text);background:var(--surface)}.tab-pill.is-disabled{color:#cdcdcd}.tabs-underline{display:flex}.tab-underline{height:40pt;font-size:var(--fs-13);font-weight:var(--fw-regular);color:var(--text-muted);background:var(--surface);border-bottom:2pt solid #0000;align-items:center;display:inline-flex}.tab-underline.is-active{color:var(--primary);border-bottom-color:var(--primary)}.info-grid{column-gap:var(--sp-4);grid-template-columns:repeat(4,minmax(110pt,360pt));row-gap:0;display:grid}.info-label{font-size:var(--fs-11);font-weight:var(--fw-regular);color:var(--label);text-transform:uppercase;letter-spacing:var(--tracking-upper);align-items:center;height:30pt;display:flex}.info-value{font-size:var(--fs-13);color:var(--text);height:30pt}.sidebar-section+.sidebar-section{margin-top:var(--sp-3)}.sidebar-section-header{font-size:var(--fs-13);font-weight:var(--fw-bold);color:var(--text)}.sidebar-row{height:20pt;margin-top:var(--sp-1);justify-content:space-between;display:flex}.sidebar-row-label{font-size:var(--fs-12);color:var(--label)}.sidebar-row-value{font-size:var(--fs-12);color:var(--text)}.summary-footer{background:var(--surface);align-items:center;height:90pt;display:flex}.summary-footer-field{border-right:1.25pt solid var(--rule-soft);padding:0 var(--sp-4)}.summary-footer-field:last-child{border-right:none}.summary-footer-label{font-size:var(--fs-11);color:var(--label);text-transform:uppercase;letter-spacing:var(--tracking-upper)}.summary-footer-value{font-size:var(--fs-15);font-weight:var(--fw-regular);color:var(--text)}.summary-footer-value.is-total{font-weight:var(--fw-bold)}.field-label{font-size:var(--fs-10);font-weight:var(--fw-regular);color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--tracking-upper)}.input{border:1pt solid var(--edit-border);border-radius:var(--radius-sm);background:var(--surface);width:100%;height:35pt;font-family:var(--font-family);font-size:var(--fs-13);color:var(--text);padding:0 var(--sp-2)}.input:hover{border-color:var(--primary)}.input:focus{border-color:var(--primary);box-shadow:var(--shadow-focus);outline:none}.input::placeholder{color:var(--text-faint)}.input-sm{border:1pt solid var(--edit-border);border-radius:var(--radius-sm);height:25pt;font-size:var(--fs-12);color:var(--text);background:var(--surface)}.input-sm:hover{border-color:var(--primary)}.input-sm:focus{border-color:var(--primary);box-shadow:var(--shadow-focus);outline:none}.input-fixed-55{width:55pt;height:25pt}.input-empty-lg{height:45pt}.input.is-h30,.select.is-h30 select{height:30pt}.select{position:relative}.select select{border:1pt solid var(--edit-border);border-radius:var(--radius-sm);background:var(--surface);width:100%;height:35pt;font-family:var(--font-family);font-size:var(--fs-13);color:var(--text);padding:0 var(--sp-2);appearance:none}.select select:hover{border-color:var(--primary)}.select select:focus{border-color:var(--primary);box-shadow:var(--shadow-focus);outline:none}.select .chevron{right:var(--sp-1);width:10pt;height:10pt;color:var(--icon-decorative);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.date-field{position:relative}.date-field .icon-calendar{right:var(--sp-1);width:12pt;height:12pt;color:var(--icon-decorative);position:absolute;top:50%;transform:translateY(-50%)}.icon-refresh{width:20pt;height:20pt;color:var(--primary);margin-left:var(--sp-1)}.checkbox{border:1pt solid var(--edit-border);border-radius:3pt;width:20pt;height:20pt}.checkbox:not(.is-checked):hover{border-color:var(--primary)}.checkbox:focus{border-color:var(--primary);box-shadow:var(--shadow-focus);outline:none}.checkbox.is-checked{background:var(--primary);border-color:var(--primary)}.checkbox-label{font-size:var(--fs-10);color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--tracking-upper)}.checkbox-row+.checkbox-row{margin-top:var(--sp-2)}.textarea{border:1pt solid var(--edit-border);border-radius:var(--radius-sm);background:var(--surface);width:100%;font-family:var(--font-family);font-size:var(--fs-12);color:var(--text);padding:var(--sp-1)}.textarea:hover{border-color:var(--primary)}.textarea:focus{border-color:var(--primary);box-shadow:var(--shadow-focus);outline:none}.textarea.h-60{height:60pt}.textarea.h-160{height:160pt}.popover{background:var(--surface);border:1pt solid var(--rule);border-radius:var(--radius-md);width:max-content;box-shadow:var(--shadow-popover);padding:0 15pt;display:inline-block;overflow:hidden}.popover-item{height:40pt;color:var(--text);align-items:center;gap:var(--sp-1);cursor:pointer;font-family:Arial,sans-serif;font-size:12pt;display:flex}.popover-item+.popover-item{border-top:1pt solid var(--rule)}.popover-item svg{flex-shrink:0;width:16pt;height:16pt}.popover-item:hover{color:var(--primary)}.popover.is-icon-grid{flex-direction:column;gap:10pt;width:65pt;padding:10pt;display:flex}.popover-item.is-stacked{border-radius:var(--radius-sm);text-align:center;width:100%;height:45pt;color:var(--icon-action);text-transform:capitalize;flex-direction:column;justify-content:center;gap:4pt;padding:0;font-size:10pt}.popover-item.is-stacked svg{width:18pt;height:18pt}.popover-item.is-stacked+.popover-item.is-stacked{border-top:none}.popover-item.is-stacked:hover{background:var(--primary-soft);color:var(--primary)}.chat-panel{background:var(--surface);width:750pt}.chat-header{border-bottom:1pt solid var(--rule);justify-content:space-between;align-items:center;gap:var(--sp-2);height:90pt;padding:0 var(--sp-3);display:flex}.chat-header-icon{border-radius:var(--radius-md);background:var(--primary-soft);width:40pt;height:40pt;color:var(--primary);justify-content:center;align-items:center;display:flex}.chat-header-icon svg{width:25pt;height:25pt}.chat-eyebrow{font-size:var(--fs-13);color:var(--label);text-transform:capitalize}.chat-title{font-size:var(--fs-13);font-weight:var(--fw-bold);color:var(--primary)}.chat-subtext{font-size:var(--fs-13);color:var(--label)}.chat-bubble{border-radius:var(--radius-md);max-width:70%;padding:var(--sp-2);font-size:var(--fs-11);color:var(--text)}.chat-bubble.is-received{background:var(--primary-soft);border-bottom-left-radius:3pt;align-self:flex-start}.chat-bubble.is-sent{background:var(--bubble-sent-bg);border-bottom-right-radius:3pt;align-self:flex-end}.chat-bubble-meta{font-size:var(--fs-10);color:var(--text-muted);margin-top:2pt}.chat-messages{gap:var(--sp-4);flex-direction:column;display:flex}.chat-composer{border-top:1pt solid var(--rule);align-items:center;gap:var(--sp-3);height:95pt;padding:0 var(--sp-2);display:flex}.chat-composer textarea{border:1pt solid var(--edit-border);border-radius:var(--radius-md);background:var(--surface);min-height:65pt;padding:var(--sp-1);font-family:var(--font-family);font-size:var(--fs-12);color:var(--text);flex:1}.chat-composer textarea::placeholder{color:var(--text-faint)}.chat-composer textarea:focus{border-color:var(--primary);box-shadow:var(--shadow-focus);outline:none}.chat-send-btn{border-radius:var(--radius-md);background:var(--surface);width:45pt;height:45pt;color:var(--icon-action);justify-content:center;align-items:center;display:flex}.chat-send-btn svg{width:15pt;height:15pt}.chat-send-btn:hover{background:var(--primary-soft);color:var(--primary)}.cv-panel{background:var(--surface);width:750pt}.cv-topnav{height:70pt;padding:0 var(--sp-4);justify-content:space-between;align-items:center;display:flex}.cv-topnav-icon{border-radius:var(--radius-md);background:var(--primary-soft);width:40pt;height:40pt;color:var(--primary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.cv-topnav-icon svg{width:25pt;height:25pt}.cv-heading{font-size:var(--fs-13);font-weight:var(--fw-bold);color:var(--primary)}.btn-add{width:75pt;height:35pt}.btn-add svg{flex-shrink:0;width:14pt;height:14pt}.cv-header{background:var(--table-header-bg);height:35pt}.cv-row{border-bottom:1pt solid var(--rule-soft);align-items:center;height:45pt;display:flex}.cv-divider{background:var(--rule);flex-shrink:0;width:1pt;height:20pt}.layout-header-actions{align-items:center;gap:var(--sp-2);display:flex;position:absolute;top:20pt;right:20pt}.btn-header-primary{white-space:nowrap;width:185pt}.btn-header-outline{white-space:nowrap;width:120pt}.btn-header-primary svg,.btn-header-outline svg{flex-shrink:0;width:14pt;height:14pt}.kpi-row{gap:var(--sp-4);display:flex;overflow-x:auto}.kpi-row.is-compact .kpi-card{width:255pt}.kpi-card{background:var(--surface);border-radius:var(--radius-md);border-left:2.5pt solid var(--primary);width:325pt;height:120pt;box-shadow:var(--shadow-card);flex-shrink:0;position:relative}.kpi-card.is-warning{border-left-color:var(--amber)}.kpi-card.is-danger{border-left-color:var(--red)}.kpi-icon{border-radius:var(--radius-md);background:var(--primary-soft);width:30pt;height:30pt;color:var(--primary);justify-content:center;align-items:center;display:flex;position:absolute;top:15pt;left:15pt}.kpi-icon svg{width:18pt;height:18pt}.kpi-card.is-warning .kpi-icon{background:var(--amber-soft);color:var(--amber)}.kpi-card.is-danger .kpi-icon{background:var(--red-soft);color:var(--red)}.kpi-heading{left:calc(15pt + 30pt + var(--sp-2));height:30pt;font-family:var(--font-family);font-size:var(--fs-10);font-weight:var(--fw-regular);color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--tracking-upper);align-items:center;display:flex;position:absolute;top:15pt;right:45pt}.kpi-value{height:30pt;font-family:var(--font-family);font-size:var(--fs-22);font-weight:var(--fw-bold);color:var(--ink);align-items:center;display:flex;position:absolute;top:50pt;left:15pt}.kpi-subtext{align-items:center;gap:var(--sp-2);height:30pt;font-family:var(--font-family);font-size:var(--fs-11);font-weight:var(--fw-regular);color:var(--text-muted);display:flex;position:absolute;top:85pt;left:15pt}.kpi-delta{height:20pt;padding:0 var(--sp-1);border-radius:var(--radius-md);background:var(--primary-soft);color:var(--primary);font-family:var(--font-family);font-size:var(--fs-11);font-weight:var(--fw-bold);flex-shrink:0;align-items:center;gap:2pt;display:inline-flex}.kpi-delta svg{width:12pt;height:12pt}.kpi-delta.is-down{background:var(--red-soft);color:var(--red)}.kpi-arrow-btn{border-radius:var(--radius-sm);width:30pt;height:30pt;color:var(--icon-action);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:absolute;top:15pt;right:15pt}.kpi-arrow-btn svg{width:20pt;height:20pt}.kpi-arrow-btn:hover{background:var(--primary-soft);color:var(--primary)}.kpi-card.is-warning .kpi-arrow-btn:hover{background:var(--amber-soft);color:var(--amber)}.kpi-card.is-danger .kpi-arrow-btn:hover{background:var(--red-soft);color:var(--red)}.cpm-row{gap:var(--sp-4);display:flex;overflow-x:auto}.cpm-card{background:var(--surface);border-radius:var(--radius-md);width:255pt;height:200pt;box-shadow:var(--shadow-card);flex-direction:column;flex-shrink:0;padding:15pt;display:flex;position:relative}.cpm-heading{align-items:center;gap:var(--sp-1);font-family:var(--font-family);font-size:var(--fs-10);font-weight:var(--fw-bold);color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--tracking-upper);display:flex}.cpm-heading svg{width:14pt;height:14pt;color:var(--text-muted);flex-shrink:0}.cpm-value-row{align-items:baseline;gap:var(--sp-2);margin-top:15pt;display:flex}.cpm-value{font-family:var(--font-family);font-size:var(--fs-28);font-weight:var(--fw-bold);color:var(--ink);align-items:center;height:30pt;display:flex}.cpm-all-due{font-family:var(--font-family);font-size:var(--fs-10);font-weight:var(--fw-regular);color:var(--text-muted);align-items:center;gap:4pt;display:inline-flex}.cpm-all-due svg{width:14pt;height:14pt;color:var(--text-muted)}.cpm-divider{border-top:1pt solid var(--rule);margin:15pt 0}.cpm-stats{gap:var(--sp-2);flex-direction:column;display:flex}.cpm-stat-row{align-items:center;height:15pt;display:flex}.cpm-stat-dot{width:8pt;height:8pt;margin-right:var(--sp-1);border-radius:50%;flex-shrink:0}.cpm-stat-label{font-family:var(--font-family);font-size:var(--fs-12);font-weight:var(--fw-regular);color:var(--text)}.cpm-stat-value{font-family:var(--font-family);font-size:var(--fs-12);font-weight:var(--fw-bold);margin-left:auto;margin-right:var(--sp-2)}.cpm-stat-chevron{width:10pt;height:10pt;color:var(--icon-decorative);flex-shrink:0}.cpm-stat-row.is-due-today .cpm-stat-dot{background:var(--amber)}.cpm-stat-row.is-due-today .cpm-stat-value{color:var(--amber)}.cpm-stat-row.is-past-due .cpm-stat-dot{background:var(--red)}.cpm-stat-row.is-past-due .cpm-stat-value{color:var(--red)}.cpm-stat-row.is-completed-late .cpm-stat-dot{background:var(--blue)}.cpm-stat-row.is-completed-late .cpm-stat-value{color:var(--blue)}.dash-portal{overflow:hidden}.dash-portal-head{height:50pt;padding:0 var(--sp-3);align-items:center;gap:var(--sp-3);display:flex}.dash-portal-title{font-family:var(--font-family);font-size:var(--fs-15);font-weight:var(--fw-bold);color:var(--ink)}.dash-portal-subtext{font-family:var(--font-family);font-size:var(--fs-13);color:var(--text-muted)}.dash-portal-controls{align-items:center;gap:var(--sp-2);margin-left:auto;display:flex}.dash-selected-count{font-family:var(--font-family);font-size:var(--fs-13);font-weight:var(--fw-regular);color:var(--text-muted)}.btn-portal-link{cursor:pointer;font-family:var(--font-family);font-size:var(--fs-11);font-weight:var(--fw-regular);color:var(--primary);text-transform:uppercase;letter-spacing:var(--tracking-upper);background:0 0;border:none;align-items:center;gap:4pt;display:inline-flex}.btn-portal-link:hover{color:var(--primary-hover)}.btn-portal-link svg{width:12pt;height:12pt}.dash-portal .tbl thead th:first-child,.dash-portal .tbl tbody td:first-child{padding-left:var(--sp-3)}.dash-portal .tbl thead th:last-child,.dash-portal .tbl tbody td:last-child{padding-right:var(--sp-3)}.dash-portal .tbl thead th{border-top:1pt solid var(--rule);border-bottom:1pt solid var(--rule)}.pill-status.is-booking-ref{border-radius:var(--radius-sm);border:1pt solid var(--primary-soft-2)}.date-range{align-items:center;gap:var(--sp-1);display:inline-flex}.date-range-arrow{width:14pt;height:14pt;color:var(--icon-action);flex-shrink:0}.doc-chip-row{gap:var(--sp-2);flex-wrap:nowrap;display:flex}.doc-chip{align-items:center;gap:var(--sp-1);height:30pt;padding:0 var(--sp-2);border:1pt solid var(--rule);border-radius:var(--radius-sm);font-size:var(--fs-12);color:var(--text);flex-shrink:0;display:inline-flex}.tbl tbody td.etd-warning{color:var(--red)}.btn-dash-primary{white-space:nowrap;width:185pt;height:30pt}.btn-dash-outline{height:30pt;padding:0 var(--sp-3);white-space:nowrap}.btn-dash-primary svg,.btn-dash-outline svg{flex-shrink:0;width:14pt;height:14pt}.icon-16{width:16pt;height:16pt}.load-bar{background:0 0;border-radius:999px;height:3pt;position:relative;overflow:hidden}.load-bar.on{background:var(--progress-track)}.load-bar-fill{background:var(--progress);border-radius:999px;display:none;position:absolute;inset:0}.load-bar.on .load-bar-fill{display:block}.load-bar-fill:after{content:"";will-change:transform;background:linear-gradient(90deg,#fff0,#ffffffa6,#fff0);width:35%;animation:1.2s ease-in-out infinite load-bar-sweep;position:absolute;top:0;bottom:0;left:0}@keyframes load-bar-sweep{0%{transform:translate(-100%)}to{transform:translate(300%)}}@media (prefers-reduced-motion:reduce){.load-bar-fill:after{animation:none;display:none}}.busy-msg{font-size:var(--fs-12);color:var(--text-muted);white-space:nowrap;display:none}.busy-msg.on{display:inline}.page-loading{gap:var(--sp-2);padding-top:var(--sp-2);flex-direction:column;display:flex}.page-loading .busy-msg a{color:var(--primary)}:root{--primary:#dc4405;--primary-hover:#b83703;--primary-soft:#fdf2ea;--primary-soft-2:#fbe2d3;--primary-300:#f08755;--progress:#dc4405;--shadow-focus:0 0 2pt 3pt var(--primary-soft-2);--status-active-bg:#e6f4ec;--status-active-text:#1e8e5a}.tbl tbody tr.tbl-group-label td,.tbl tbody tr.tbl-group-totals td{background:#fdf2ea99}:root{--primary-text:#b83703;--text-muted:#5f6672;--text-faint:#6e747e;--label:#6e747e;--status-active-text:#17734a;--status-warning-text:#8a5b00;--amber-text:#8a5b00;--primary-fill:#b83703;--primary-fill-hover:#9a2e02}.bi-kpi-row{grid-template-columns:repeat(6,1fr);gap:12pt;display:grid}.bi-kpi-row.cols-4{grid-template-columns:repeat(4,1fr)}.bi-kpi{background:#fff;border:1pt solid #e8eaed;border-radius:8pt;padding:13pt 15pt}.bi-kpi .lbl{color:#888;text-transform:uppercase;letter-spacing:.5pt;margin-bottom:5pt;font-size:10pt}.bi-kpi .val{color:#1a3a4a;font-size:24pt;font-weight:700;line-height:1}.bi-kpi .sub{color:#aaa;margin-top:4pt;font-size:11pt}.bi-kpi.hl .val{color:var(--primary)}.bi-kpi.gr .val{color:#1e8e5a}.bi-kpi.is-click{cursor:pointer}.bi-kpi.is-click:hover{border-color:var(--primary-300)}.bi-card{background:#fff;border:1pt solid #e8eaed;border-radius:8pt;min-width:0;padding:14pt}.bi-card-title{text-transform:uppercase;letter-spacing:.6pt;color:#666;align-items:center;gap:6pt;margin-bottom:12pt;font-size:10pt;font-weight:700;display:flex}.bi-card-title .spacer{flex:1}.bi-two-col{grid-template-columns:1fr 1fr;gap:14pt;display:grid}.bi-three-col{grid-template-columns:1fr 1fr 1fr;gap:14pt;display:grid}.bi-panel-note{color:#999;font-size:11pt}.bi-bars{flex-direction:column;gap:7pt;font-size:11pt;display:flex}.bi-bar{grid-template-columns:170pt 1fr 44pt 40pt;align-items:center;gap:8pt;display:grid}.bi-bar-label{color:#334;white-space:normal;overflow-wrap:anywhere;line-height:1.3}.bi-bar-track{background:#eef1f4;border-radius:3pt;height:14pt;display:flex;overflow:hidden}.bi-bar-fill{background:var(--primary);height:100%}.bi-bar-val{text-align:right;color:#1a3a4a;font-weight:700}.bi-bar-pct{text-align:right;color:#999}.bi-otl-scroll{border:1pt solid #e8eaed;border-radius:5pt;overflow:auto}table.bi-otl{border-collapse:collapse;width:100%;font-size:11pt}table.bi-otl thead th{color:#666;text-transform:uppercase;letter-spacing:.4pt;text-align:left;white-space:nowrap;background:#f6f7f9;border-bottom:1pt solid #e2e6ea;padding:7pt 8pt;font-size:10pt;font-weight:700;position:sticky;top:0}table.bi-otl tbody tr:hover{background:var(--primary-soft)}table.bi-otl tbody td{vertical-align:top;border-bottom:1pt solid #f0f2f5;padding:6pt 8pt}table.bi-otl td.r,table.bi-otl th.r{text-align:right}table.bi-otl td.late{color:#c0392b;font-weight:700}table.bi-otl tr.is-click{cursor:pointer}.bi-badge{white-space:nowrap;border-radius:10pt;padding:2pt 7pt;font-size:10pt;font-weight:700;display:inline-block}.bi-badge.late{color:#c0392b;background:#fde8e8}.bi-badge.client{color:#453089;background:#e4e0f2}.bi-badge.hold{background:var(--amber-soft);color:var(--amber)}.bi-badge.ok{color:#155724;background:#d4edda}.bi-badge.grey{color:#4a5568;background:#e2e8f0}.bi-badge.brand{background:var(--primary-soft);color:var(--primary-hover)}.bi-filters{background:#fff;border:1pt solid #e8eaed;border-radius:8pt;flex-wrap:wrap;align-items:flex-end;gap:16pt;padding:10pt 14pt;display:flex}.bi-filters label{color:#666;text-transform:uppercase;letter-spacing:.5pt;margin-bottom:3pt;font-size:10pt;font-weight:700;display:block}.bi-filters select,.bi-filters input{height:28pt;font-size:12pt;font-family:var(--font-family);background:#fff;border:1pt solid #d0d5dd;border-radius:5pt;padding:0 8pt}.bi-filters select:focus,.bi-filters input:focus{border-color:var(--primary);outline:none}.bi-filters .count{color:#999;align-self:center;margin-left:auto;font-size:11pt}.bi-btn-reset{cursor:pointer;color:#444;height:28pt;font-size:11pt;font-weight:700;font-family:var(--font-family);background:#f0f2f5;border:1pt solid #d0d5dd;border-radius:5pt;padding:0 12pt}.bi-btn-reset:hover{background:#e0e3e8}.bi-seg{display:inline-flex}.bi-seg button{color:#555;cursor:pointer;height:28pt;font-size:11pt;font-family:var(--font-family);background:#fff;border:1pt solid #d0d5dd;margin-left:-1pt;padding:0 10pt}.bi-seg button:first-child{border-radius:5pt 0 0 5pt;margin-left:0}.bi-seg button:last-child{border-radius:0 5pt 5pt 0}.bi-seg button.on{background:var(--primary-soft);color:var(--primary-hover);border-color:var(--primary-300);position:relative}.bi-check{color:#555;cursor:pointer;align-items:center;gap:5pt;height:28pt;font-size:11pt;display:inline-flex}body{background:var(--bg-page);min-width:1400pt}button{font-family:var(--font-family)}a{color:var(--primary);text-decoration:none}.topbar{background:var(--surface);border-bottom:1pt solid var(--rule);z-index:30;position:sticky;top:0}.topbar-inner{width:var(--layout-min-width);padding:0 var(--layout-margin);align-items:center;gap:var(--sp-6);height:65pt;margin:0 auto;display:flex}.topbar-logo{cursor:pointer;height:32pt;display:block}.topbar-product{font-size:var(--fs-13);color:var(--text-muted);border-left:1pt solid var(--rule);padding-left:var(--sp-3);align-items:center;height:25pt;display:flex}.topbar .tabs-pill{box-shadow:none}.topbar .tab-pill{cursor:pointer;height:35pt}.topbar-right{align-items:center;gap:var(--sp-2);font-size:var(--fs-12);color:var(--text-muted);margin-left:auto;display:flex}.env-chip{border-radius:var(--radius-pill);background:var(--primary-soft);color:var(--primary-hover);font-size:var(--fs-11);padding:3pt 10pt;font-weight:700}.page{width:var(--layout-min-width);padding:var(--sp-4) var(--layout-margin) var(--sp-9);margin:0 auto}.ph{align-items:center;gap:var(--sp-3);min-height:75pt;margin-bottom:var(--sp-3);display:flex}.ph-logo{flex-shrink:0;width:60pt;height:60pt}.ph-text{flex:1;min-width:0}.ph-title{font-size:var(--fs-22);color:var(--ink);margin:0;font-weight:400;line-height:28pt}.ph-sub{font-size:var(--fs-13);color:var(--text-muted);gap:var(--sp-2);flex-wrap:wrap;align-items:center;margin-top:4pt;display:flex}.ph-actions{gap:var(--sp-2);align-items:center;display:flex}.crumb{color:var(--text-muted);cursor:pointer}.crumb:hover{color:var(--primary)}.logo-tile{border:1pt solid var(--rule);border-radius:var(--radius-md);background:#fff;justify-content:center;align-items:center;display:flex;overflow:hidden}.logo-tile img{object-fit:contain;max-width:86%;max-height:86%}.logo-tile.is-empty{background:var(--primary-soft);color:var(--primary-hover);border-color:var(--primary-soft-2);font-weight:700}.card-grid{gap:var(--sp-4);grid-template-columns:repeat(3,1fr);display:grid}.proj-card{padding:var(--sp-4);cursor:pointer;gap:var(--sp-3);flex-direction:column;transition:border-color .15s;display:flex}.proj-card:hover{border-color:var(--primary-300)}.proj-card-head{gap:var(--sp-3);align-items:center;display:flex}.proj-card-title{font-size:var(--fs-15);color:var(--ink);font-weight:700}.proj-card-client{font-size:var(--fs-12);color:var(--text-muted);margin-top:3pt}.proj-card-stats{gap:var(--sp-2);flex-wrap:wrap;display:flex}.progress{background:var(--progress-track);border-radius:var(--radius-pill);height:8pt;overflow:hidden}.progress>span{background:var(--progress);border-radius:var(--radius-pill);height:100%;display:block}.progress-row{align-items:center;gap:var(--sp-2);font-size:var(--fs-12);color:var(--text-muted);display:flex}.progress-row .progress{flex:1}.empty-card{padding:var(--sp-8);text-align:center;color:var(--text-muted)}.section-title{font-size:var(--fs-15);color:var(--ink);margin:var(--sp-6) 0 var(--sp-3);align-items:center;gap:var(--sp-2);font-weight:700;display:flex}.stack{gap:var(--sp-4);flex-direction:column;display:flex}.row{gap:var(--sp-2);align-items:center;display:flex}.muted{color:var(--text-muted)}.small{font-size:var(--fs-11)}.btn-sm{height:30pt;font-size:var(--fs-12);padding:0 12pt}.btn-ghost{border:1pt solid var(--rule);color:var(--text-2);background:0 0}.btn-ghost:hover{border-color:var(--primary);color:var(--primary)}.link-btn{color:var(--primary);cursor:pointer;font-size:inherit;background:0 0;border:none;padding:0}.link-btn.danger{color:var(--red)}.pill-status.is-sm{min-width:0;height:22pt;font-size:var(--fs-11);padding:0 8pt}.dot{border-radius:50%;flex-shrink:0;width:10pt;height:10pt;display:inline-block}.ptabs{align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-4);display:flex}.ptabs .tab-pill{cursor:pointer}.list-card{padding:0;overflow:hidden}.tbl td .req-title{color:var(--ink);font-weight:700;font-size:var(--fs-12)}.tbl td .req-sub{color:var(--text-muted);font-size:var(--fs-11);margin-top:2pt}.tbl .gate-strip{gap:3pt;display:flex}.gate-pip{box-sizing:border-box;border:2pt solid;border-radius:50%;width:13pt;height:13pt}.gate-pip.na{opacity:.35;border-style:dashed}.gate-pip.late{box-shadow:0 0 0 2pt #fde8e8}.board{gap:var(--sp-3);padding-bottom:var(--sp-3);align-items:flex-start;display:flex;overflow-x:auto}.board-col{border-radius:var(--radius-md);width:235pt;padding:var(--sp-2);background:#eceef1;flex-shrink:0}.board-col-head{font-size:var(--fs-12);color:var(--text);align-items:center;gap:6pt;padding:4pt 4pt 10pt;font-weight:700;display:flex}.board-col-head .count{color:var(--text-muted);margin-left:auto;font-weight:400}.board-card{border:1pt solid var(--rule);cursor:pointer;box-shadow:var(--shadow-card);border-left:3pt solid var(--rule);background:#fff;border-radius:8pt;margin-bottom:8pt;padding:10pt}.board-card:hover{border-color:var(--primary-300)}.board-card.is-hold{border-left-color:var(--amber)}.board-card-title{font-size:var(--fs-12);color:var(--ink);font-weight:700;line-height:1.3}.board-card-meta{font-size:var(--fs-11);color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:5pt;margin-top:7pt;display:flex}.gantt-card{padding:0;overflow:hidden}.gantt{display:flex;position:relative}.gantt-left{z-index:2;background:#fff;border-right:1pt solid #e2e6ea;flex-shrink:0;width:400pt}.gantt-right{flex:1;position:relative;overflow-x:auto}.gantt-head{box-sizing:border-box;background:#f6f7f9;border-bottom:1pt solid #e2e6ea;height:46pt}.gantt-left .gantt-head{color:#666;text-transform:uppercase;letter-spacing:.4pt;align-items:flex-end;gap:8pt;padding:0 10pt 7pt;font-size:10pt;font-weight:700;display:flex}.gantt-row{box-sizing:border-box;border-bottom:1pt solid #f0f2f5;align-items:center;height:34pt;display:flex}.gantt-row.even{background:#fafbfc}.gantt-row.hover{background:var(--primary-soft)}.gantt-row.group{color:var(--primary-hover);font-weight:700;font-size:var(--fs-12);border-left:2pt solid var(--primary);background:#fdf2ea99}.gantt-left .gantt-row{cursor:pointer;gap:8pt;padding:0 10pt;font-size:11pt}.gantt-left .gantt-row .ref{width:46pt;color:var(--text-muted);flex-shrink:0;font-size:10pt}.gantt-left .gantt-row .t{text-overflow:ellipsis;white-space:nowrap;color:var(--text);flex:1;overflow:hidden}.gantt-svg text{font-family:var(--font-family)}.gantt-legend{color:#555;flex-wrap:wrap;align-items:center;gap:12pt;font-size:11pt;display:flex}.gantt-legend .lg{align-items:center;gap:5pt;display:inline-flex}.gantt-tip{z-index:50;pointer-events:none;color:#fff;background:#1a2230;border-radius:6pt;max-width:300pt;padding:8pt 10pt;font-size:11pt;line-height:1.45;position:fixed;box-shadow:0 4pt 14pt #0000002e}.gantt-tip b{font-weight:700}.gantt-tip .late{color:#ff9b8a}.scrim{z-index:40;background:#0a0a0a40;position:fixed;inset:0}.drawer{background:var(--bg-page);z-index:41;flex-direction:column;width:760pt;display:flex;position:fixed;top:0;bottom:0;right:0;box-shadow:-6pt 0 20pt #00000014}.drawer-head{border-bottom:1pt solid var(--rule);padding:var(--sp-3) var(--sp-4);gap:var(--sp-3);background:#fff;align-items:flex-start;display:flex}.drawer-body{padding:var(--sp-4);gap:var(--sp-4);flex-direction:column;flex:1;display:flex;overflow-y:auto}.modal{border-radius:var(--radius-md);z-index:41;background:#fff;width:560pt;max-height:85vh;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%);box-shadow:0 10pt 40pt #00000026}.modal-head{padding:var(--sp-4) var(--sp-4) 0;font-size:var(--fs-15);color:var(--ink);font-weight:700}.modal-body{padding:var(--sp-4);gap:var(--sp-3);flex-direction:column;display:flex}.modal-foot{padding:0 var(--sp-4) var(--sp-4);justify-content:flex-end;gap:var(--sp-2);display:flex}.icon-x{border-radius:var(--radius-sm);width:30pt;height:30pt;color:var(--text-muted);cursor:pointer;background:0 0;border:none;font-size:18pt;line-height:1}.icon-x:hover{background:var(--bg-subtle);color:var(--text)}.form-grid{gap:var(--sp-3) var(--sp-4);grid-template-columns:1fr 1fr;display:grid}.form-grid.cols-3{grid-template-columns:1fr 1fr 1fr}.form-grid .span-2{grid-column:span 2}.form-grid .span-all{grid-column:1/-1}.fld{flex-direction:column;gap:5pt;display:flex}.fld .textarea,.fld textarea{border:1pt solid var(--edit-border);border-radius:var(--radius-sm);min-height:70pt;font-family:var(--font-family);font-size:var(--fs-13);color:var(--text);resize:vertical;padding:8pt 10pt}.fld textarea:focus{border-color:var(--primary);box-shadow:var(--shadow-focus);outline:none}.title-input{font-size:var(--fs-15);font-weight:700}.err{color:var(--red);font-size:var(--fs-12)}.gate-tbl{border-collapse:collapse;width:100%;font-size:var(--fs-12)}.gate-tbl th{font-size:var(--fs-10);color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--tracking-upper);text-align:left;padding:0 5pt 6pt;font-weight:400}.gate-tbl td{border-top:1pt solid var(--rule-soft);vertical-align:middle;padding:4pt 5pt}.gate-tbl tr.is-na td{opacity:.45}.gate-tbl tr.is-late .gate-name{color:#c0392b}.gate-tbl .input-sm{width:100%;font-family:var(--font-family);padding:0 6pt}.gate-name{color:var(--ink);white-space:nowrap;align-items:center;gap:7pt;font-weight:700;display:flex}.manual-flag{font-size:var(--fs-10);color:var(--amber);cursor:pointer;white-space:nowrap}.side-tag{font-size:var(--fs-10);color:var(--text-muted)}.edit-tbl{border-collapse:collapse;width:100%}.edit-tbl th{font-size:var(--fs-10);color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--tracking-upper);text-align:left;padding:0 5pt 6pt;font-weight:400}.edit-tbl td{border-top:1pt solid var(--rule-soft);padding:4pt 5pt}.edit-tbl .input-sm{width:100%;font-family:var(--font-family);padding:0 6pt}.edit-tbl input[type=color]{border:1pt solid var(--edit-border);border-radius:var(--radius-sm);background:#fff;width:30pt;height:25pt;padding:1pt}.tpl-layout{gap:var(--sp-4);grid-template-columns:300pt 1fr;align-items:start;display:grid}.tpl-item{border-bottom:1pt solid var(--rule-soft);cursor:pointer;padding:12pt 14pt}.tpl-item:hover{background:var(--primary-soft)}.tpl-item.is-active{background:var(--primary-soft);border-left:3pt solid var(--primary)}.tpl-chain{flex-wrap:wrap;gap:4pt;margin-top:6pt;display:flex}.chip{font-size:var(--fs-10);border-radius:var(--radius-pill);background:var(--bg-subtle);color:var(--text-2);border:1pt solid var(--rule);align-items:center;gap:4pt;padding:2pt 7pt;display:inline-flex}.logo-drop{gap:var(--sp-3);align-items:center;display:flex}.toast{color:#fff;z-index:60;font-size:var(--fs-12);background:#1a2230;border-radius:8pt;padding:10pt 16pt;position:fixed;bottom:20pt;left:50%;transform:translate(-50%)}button.icon-btn-edit,button.icon-btn-kebab,button.icon-btn-clear{cursor:pointer;background:0 0;border:none;padding:0}button.icon-btn-close,button.icon-btn{cursor:pointer;background:var(--surface);padding:0}svg.i{flex-shrink:0;width:15pt;height:15pt}.topbar-inner{gap:var(--sp-8);height:60pt}.topbar-logo{height:25pt}.topnav{gap:var(--sp-6);align-self:stretch;display:flex}.topnav .tab-underline{cursor:pointer;background:0 0;height:60pt;text-decoration:none}.env-chip{padding:0 var(--sp-2);align-items:center;height:20pt;display:inline-flex}.btn-sm{padding:0 var(--sp-2)}.chip{padding:0 var(--sp-1);gap:var(--sp-1);height:20pt}.bi-badge{padding:0 var(--sp-1);height:20pt;line-height:20pt}.fld textarea,.fld .textarea,textarea.textarea{padding:var(--sp-2);font-family:var(--font-family);font-size:var(--fs-13)}.tbl tbody td,.tbl thead th{padding-top:0;padding-bottom:0}.user-chip{align-items:center;gap:var(--sp-2);font-size:var(--fs-13);color:var(--text);display:inline-flex}.avatar{background:var(--primary-soft);width:30pt;height:30pt;color:var(--primary-hover);font-size:var(--fs-11);border-radius:50%;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.ph{min-height:75pt;margin-bottom:var(--sp-3);gap:var(--sp-4)}.ph-crumb{font-size:var(--fs-12);color:var(--text-muted);margin-bottom:var(--sp-1)}.ph-crumb a{color:var(--text-muted)}.ph-title{line-height:25pt}.ph-meta{font-size:var(--fs-13);color:var(--text-muted);margin-top:var(--sp-1);gap:var(--sp-2);align-items:center;display:flex}.ph-meta .sep{color:var(--text-faint)}.code-chip{font-size:var(--fs-11);color:var(--primary-hover);background:var(--primary-soft);border-radius:var(--radius-sm);padding:0 var(--sp-1);align-items:center;height:20pt;font-weight:700;display:inline-flex}.view-row{align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-3);display:flex}.view-row .tab-pill{cursor:pointer;text-decoration:none}.view-row .sp{flex:1}.toolbar-row{align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-3);display:flex}.toolbar-spacer{flex:1}.toolbar-actions{align-items:center;gap:var(--sp-2);display:flex}.search-bar{border:1pt solid var(--rule);background:var(--surface);width:300pt;height:35pt;padding:0 var(--sp-3);align-items:center;gap:var(--sp-2);border-radius:8pt;display:inline-flex;box-shadow:0 1pt 2pt #1018280a}.search-bar input{font-family:var(--font-family);font-size:var(--fs-13);color:var(--text);background:0 0;border:none;outline:none;flex:1;min-width:0;height:100%;padding:0}.search-bar input::placeholder{color:var(--text-muted);opacity:1}.search-bar .icon-search{width:15pt;height:15pt;color:var(--text-muted);flex-shrink:0}.sort-select{appearance:none;height:35pt;padding:0 var(--sp-6) 0 var(--sp-3);font-family:var(--font-family);font-size:var(--fs-13);color:var(--text);background:var(--surface);border:1pt solid var(--rule);cursor:pointer;text-overflow:ellipsis;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239AA1AB' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right 10pt center;background-repeat:no-repeat;background-size:12pt 12pt;border-radius:8pt;max-width:200pt;box-shadow:0 1pt 2pt #1018280a}.search-bar{flex-shrink:0}.sort-select.is-set{border-color:var(--primary-300);color:var(--primary-hover);background-color:var(--primary-soft)}.toolbar-count{font-size:var(--fs-13);color:var(--text-muted);white-space:nowrap}.toolbar-count b{color:var(--text);font-weight:400}.view-toggle-btn{white-space:nowrap}.btn-sm svg,.btn svg{width:14pt;height:14pt}.btn-ghost{border-color:var(--edit-border);background:var(--surface)}.bi-kpi-row{gap:var(--sp-4)}.bi-kpi{padding:var(--sp-3) var(--sp-4);border-color:var(--rule);border-radius:var(--radius-md);box-shadow:var(--shadow-card)}.bi-kpi .lbl{color:var(--text-muted);letter-spacing:var(--tracking-upper);margin-bottom:var(--sp-1)}.bi-kpi .val{font-size:var(--fs-26);color:var(--ink);line-height:30pt}.bi-kpi.rd .val{color:var(--red)}.bi-kpi.am .val{color:var(--amber)}.bi-kpi.hl .val,.bi-kpi.gr .val{color:var(--ink)}.bi-kpi .sub{font-size:var(--fs-12);color:var(--text-muted);margin-top:var(--sp-1)}.bi-kpi .sub .od{color:var(--red)}.bi-card{padding:var(--sp-4);border-color:var(--rule);border-radius:var(--radius-md);box-shadow:var(--shadow-card)}.bi-two-col,.bi-three-col{gap:var(--sp-4)}.bi-card-title{color:var(--text-muted);margin-bottom:var(--sp-3);gap:var(--sp-1);letter-spacing:var(--tracking-upper)}.bi-card-note{font-size:var(--fs-12);color:var(--text-muted);text-transform:none;letter-spacing:0;font-weight:400}.bi-card-title .link{font-size:var(--fs-12);color:var(--primary);text-transform:none;letter-spacing:0;font-weight:400}.bi-bars{gap:var(--sp-2);font-size:var(--fs-12)}.bi-bar{gap:var(--sp-2);grid-template-columns:170pt 1fr 45pt 40pt}.bi-bar-label{color:var(--text)}.bi-bar-track{background:var(--progress-track);height:15pt}.bi-bar-val{color:var(--ink)}.bi-bar-pct{color:var(--text-muted)}.bi-bar-fill.prog{background:var(--blue)}.bi-bar-fill.warn{background:var(--amber)}.bi-bar-fill.done{background:var(--status-active-text)}.bi-bar-fill.muted{background:var(--toggle-off-bg)}.bi-bar-fill.late{background:var(--red)}.bi-otl-scroll{border-color:var(--rule)}table.bi-otl{font-size:var(--fs-12)}table.bi-otl thead th{background:var(--table-header-bg);color:var(--text-muted);padding:var(--sp-2);border-bottom-color:var(--rule);letter-spacing:var(--tracking-upper);font-weight:400}table.bi-otl tbody td{padding:var(--sp-2);border-bottom-color:var(--rule-soft);vertical-align:middle}table.bi-otl tbody tr:nth-child(2n){background:0 0}table.bi-otl td.late{color:var(--red)}table.bi-otl .t{color:var(--ink)}table.bi-otl .s{color:var(--text-muted);font-size:var(--fs-11);margin-top:var(--sp-1)}.od{color:var(--red)}.soon{color:var(--amber)}.faint{color:var(--text-faint)}.pips{display:flex}.pips>span{flex-shrink:0;justify-content:center;align-items:center;width:30pt;display:inline-flex}.pips-head>span{font-size:var(--fs-10);color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--tracking-upper)}.pip{border:2pt solid var(--toggle-off-bg);background:var(--surface);border-radius:50%;width:10pt;height:10pt;display:inline-block}.pip.is-done{background:var(--status-active-text);border-color:var(--status-active-text)}.pip.is-late{background:var(--red);border-color:var(--red)}.pip.is-soon{border-color:var(--amber)}.pip.is-todo{border-color:var(--text-faint)}.pip.is-na{border-style:dashed;border-color:var(--edit-border);background:0 0}.pip.is-unsched{background:var(--edit-border);border:none;width:5pt;height:5pt}.pip.is-skip{background:var(--edit-border);border-color:var(--edit-border)}.legend{gap:var(--sp-3);font-size:var(--fs-12);color:var(--text-muted);flex-wrap:wrap;align-items:center;display:flex}.legend>span{align-items:center;gap:var(--sp-1);display:inline-flex}.pill-status.is-sm{height:25pt;padding:0 var(--sp-2)}.dash-portal .tbl tbody td,.dash-portal .tbl thead th{padding-left:0;padding-right:var(--sp-2)}.dash-portal .tbl tbody td{height:45pt}.dash-portal.is-roomy .tbl tbody td{height:60pt}.tbl td.nw,.tbl th.nw{white-space:nowrap}.dl-title{font-size:var(--fs-13);color:var(--ink);line-height:1.35}.dl-sub{font-size:var(--fs-12);color:var(--text-muted);margin-top:var(--sp-1);gap:var(--sp-2);display:flex}.dl-sub .ref{color:var(--text-2)}.tbl td .next{font-size:var(--fs-12)}.tbl td .next b{color:var(--text);font-weight:400}.tbl tbody tr.tbl-group-label td .grp-meta{float:right;font-size:var(--fs-12);color:var(--text-muted);padding-right:var(--sp-3);font-weight:400}.tbl tbody tr.tbl-group-label td .grp-meta .od{color:var(--red)}.grp-chev{vertical-align:-1pt;width:12pt;height:12pt;margin-right:var(--sp-1);color:var(--primary-hover)}.tbl tbody tr.tbl-group-label.is-collapsed td{background:var(--surface);color:var(--text)}.tbl tbody tr.tbl-group-label.is-collapsed .grp-chev{color:var(--text-muted)}.board-grid{gap:var(--sp-4);grid-template-columns:repeat(6,210pt);align-items:start;display:grid}.board-col{background:var(--bg-subtle);border:1pt solid var(--rule);width:auto;padding:var(--sp-2)}.board-col-head{font-size:var(--fs-13);padding:var(--sp-1) var(--sp-1) var(--sp-2);gap:var(--sp-1)}.board-card{border-radius:var(--radius-md);padding:var(--sp-3);margin-bottom:var(--sp-2);border-left-width:2.5pt}.board-card.is-late{border-left-color:var(--red)}.board-card-title{line-height:15pt}.board-card-meta{margin-top:var(--sp-2);gap:var(--sp-2);font-size:var(--fs-12)}.board-card .who{color:var(--text-muted);font-size:var(--fs-12);margin-top:var(--sp-1)}.board-empty{border:1pt dashed var(--edit-border);border-radius:var(--radius-md);padding:var(--sp-3);text-align:center;font-size:var(--fs-12);color:var(--text-faint)}.gx{grid-template-columns:380pt 980pt;display:grid}.gx-left{border-right:1pt solid var(--rule)}.gx-head{background:var(--table-header-bg);border-bottom:1pt solid var(--rule);height:50pt;position:relative}.gx-left .gx-head{padding:0 var(--sp-3) var(--sp-2);font-size:var(--fs-10);color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--tracking-upper);align-items:flex-end;gap:var(--sp-2);display:flex}.gx-row{border-bottom:1pt solid var(--rule-soft);content-visibility:auto;contain-intrinsic-size:auto 35pt;align-items:center;height:35pt;display:flex;position:relative}.gx-left .gx-row{padding:0 var(--sp-3);gap:var(--sp-2);font-size:var(--fs-12)}.gx-left .gx-row .ref{width:45pt;color:var(--text-muted);font-size:var(--fs-11);flex-shrink:0}.gx-left .gx-row .t{text-overflow:ellipsis;white-space:nowrap;color:var(--ink);flex:1;overflow:hidden}.gx-row.grp{color:var(--primary-hover);font-weight:700;font-size:var(--fs-13);background:#fdf2ea99}.gx-left .gx-row.grp{border-left:2pt solid var(--primary)}.gx-row.grp.is-collapsed{background:var(--surface);color:var(--text)}.gx-month{border-left:1pt solid var(--rule);position:absolute;top:0;bottom:0}.gx-month span{font-size:var(--fs-11);color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--tracking-upper);white-space:nowrap;font-weight:700;position:absolute;top:8pt;left:5pt}.gx-week{border-left:1pt solid var(--rule-soft);height:15pt;position:absolute;bottom:0}.gx-week span{font-size:var(--fs-10);color:var(--text-faint);position:absolute;bottom:3pt;left:3pt}.gx-grid{border-left:1pt solid var(--rule-soft);position:absolute;top:0;bottom:0}.gx-today{background:var(--primary);z-index:3;width:2pt;position:absolute;top:0;bottom:0}.gx-today-label{background:var(--primary);color:#fff;font-size:var(--fs-10);z-index:4;white-space:nowrap;border-radius:3pt;height:20pt;padding:0 5pt;font-weight:700;line-height:20pt;position:absolute;top:30pt;transform:translate(-50%)}.gx-span{background:var(--rule);border-radius:999px;height:5pt;position:absolute;top:50%;transform:translateY(-50%)}.gx-span.is-slip{background:var(--red-soft)}.gx-m{border:2pt solid var(--text-faint);background:var(--surface);z-index:2;border-radius:50%;width:12pt;height:12pt;position:absolute;top:50%;transform:translate(-50%,-50%)}.gx-m.is-prod{border-radius:2pt;width:11pt;height:11pt;transform:translate(-50%,-50%)rotate(45deg)}.gx-m.is-so{border-radius:2pt}.gx-m.is-done{background:var(--status-active-text);border-color:var(--status-active-text)}.gx-m.is-late{background:var(--red);border-color:var(--red)}.gx-m.is-soon{border-color:var(--amber)}.gx-m.is-skip{background:var(--edit-border);border-color:var(--edit-border)}.gx-tip{z-index:10;color:#fff;border-radius:var(--radius-sm);padding:var(--sp-2) var(--sp-3);font-size:var(--fs-12);background:#1f2328;width:240pt;line-height:1.5;position:absolute;box-shadow:0 5pt 15pt #0000002e}.gx-tip b{font-weight:700}.gx-tip .od{color:#ff9b8a}.gx-dep{border-top:1.5pt dashed var(--red);z-index:1;position:absolute}.drawer{background:var(--surface);width:700pt}.drawer-head{padding:var(--sp-4) var(--sp-4) 0;border-bottom:1pt solid var(--rule);display:block}.drawer-top{gap:var(--sp-3);align-items:flex-start;display:flex}.drawer-top .title{flex:1;min-width:0}.drawer-crumb{font-size:var(--fs-12);color:var(--text-muted);margin-bottom:var(--sp-1);gap:var(--sp-2);display:flex}.drawer-title{font-size:var(--fs-15);color:var(--ink);border-radius:var(--radius-sm);padding:5pt var(--sp-2);margin-left:calc(var(--sp-2) * -1);border:1pt solid #0000;font-weight:700;line-height:20pt}.drawer-title:hover{border-color:var(--edit-border)}.drawer-meta{gap:var(--sp-2);margin-top:var(--sp-2);font-size:var(--fs-12);color:var(--text-muted);align-items:center;display:flex}.drawer-head .tabs-underline{gap:var(--sp-6);margin-top:var(--sp-3)}.drawer-head .tab-underline{background:0 0}.tab-count{font-size:var(--fs-11);color:var(--text-muted);background:var(--bg-subtle);border-radius:999px;margin-left:5pt;padding:0 5pt}.drawer-body{padding:var(--sp-4);gap:var(--sp-6);background:var(--surface)}.drawer-foot{border-top:1pt solid var(--rule);padding:var(--sp-3) var(--sp-4);gap:var(--sp-2);background:var(--surface);align-items:center;display:flex}.dsec-head{align-items:baseline;gap:var(--sp-2);margin-bottom:var(--sp-2);display:flex}.dsec-title{font-size:var(--fs-13);color:var(--ink);font-weight:700}.dsec-note{font-size:var(--fs-12);color:var(--text-muted)}.dsec-head .sp{flex:1}.gt .tbl thead th{height:30pt}.gt .tbl tbody td{height:45pt;padding-right:var(--sp-2);padding-left:0}.gt .tbl thead th{padding-left:0;padding-right:var(--sp-2)}.gt .gname{align-items:center;gap:var(--sp-2);font-size:var(--fs-13);color:var(--ink);white-space:nowrap;display:flex}.gt .gside{font-size:var(--fs-11);color:var(--text-muted);margin-left:20pt}.gt .date-field{width:120pt}.gt .date-field .input{padding-right:25pt}.gt tr.is-na td{color:var(--text-faint)}.gt tr.is-na .input{background:var(--bg-subtle);color:var(--text-faint)}.swatch{border-radius:50%;flex-shrink:0;width:10pt;height:10pt;display:inline-block}.pin-ico{width:12pt;height:12pt;color:var(--amber);position:absolute;top:50%;right:25pt;transform:translateY(-50%)}.btn-signoff{height:30pt;padding:0 var(--sp-2);font-size:var(--fs-12)}.signed{font-size:var(--fs-12);color:var(--status-active-text);white-space:nowrap}.dep-list{border-top:1pt solid var(--rule-soft)}.dep-item{gap:var(--sp-2);padding:var(--sp-2) 0;border-bottom:1pt solid var(--rule-soft);font-size:var(--fs-13);align-items:flex-start;line-height:20pt;display:flex}.dep-item .txt{color:var(--text-2);flex:1}.dep-item .txt b{color:var(--ink);font-weight:700}.dep-item .state{font-size:var(--fs-12);white-space:nowrap;align-items:center;gap:var(--sp-1);display:inline-flex}.dep-item .mode{font-size:var(--fs-11);color:var(--text-muted);border:1pt solid var(--rule);padding:0 var(--sp-1);white-space:nowrap;border-radius:999px}.dep-ico{width:15pt;height:15pt;color:var(--icon-action);margin-top:var(--sp-1);flex-shrink:0}.dep-builder{background:var(--bg-subtle);border:1pt solid var(--rule);border-radius:var(--radius-md);padding:var(--sp-3);margin-top:var(--sp-3)}.dep-builder .lbl{font-size:var(--fs-10);color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--tracking-upper);margin-bottom:var(--sp-2)}.dep-sentence{align-items:center;gap:var(--sp-2);font-size:var(--fs-13);color:var(--text);flex-wrap:wrap;line-height:30pt;display:flex}.dep-sentence .select{display:inline-block}.dep-sentence .select select{height:30pt;padding-right:var(--sp-5)}.dep-sentence .input{text-align:center;width:55pt;height:30pt}.dep-pick{align-items:center;gap:var(--sp-1);min-width:260pt;height:30pt;padding:0 var(--sp-2);border:1pt solid var(--primary);box-shadow:var(--shadow-focus);border-radius:var(--radius-sm);background:var(--surface);font-size:var(--fs-13);color:var(--text);display:inline-flex;position:relative}.dep-pick svg{width:14pt;height:14pt;color:var(--text-muted)}.dep-pick .caret{background:var(--text);width:1pt;height:15pt}.dep-pop{z-index:20;width:460pt;padding:0;display:block;position:absolute;top:35pt;left:0;box-shadow:0 10pt 30pt #1018281f}.dep-pop .grp{font-size:var(--fs-10);color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--tracking-upper);padding:var(--sp-2) var(--sp-3) var(--sp-1);background:var(--bg-subtle);border-top:1pt solid var(--rule)}.dep-pop .grp:first-child{border-top:none}.dep-opt{gap:var(--sp-1) var(--sp-2);padding:var(--sp-2) var(--sp-3);border-top:1pt solid var(--rule-soft);cursor:pointer;grid-template-columns:1fr auto;display:grid}.dep-opt:hover,.dep-opt.is-hover{background:var(--primary-soft)}.dep-opt .t{font-size:var(--fs-13);color:var(--ink)}.dep-opt .t mark{background:var(--primary-soft-2);color:inherit}.dep-opt .r{font-size:var(--fs-12);color:var(--text-muted);text-align:right;white-space:nowrap}.dep-opt .s{font-size:var(--fs-12);color:var(--text-muted);grid-column:1/-1}.dep-mode{align-items:center;gap:var(--sp-4);margin-top:var(--sp-3);font-size:var(--fs-13);display:flex}.dep-mode .q{color:var(--text-muted);font-size:var(--fs-12)}.dep-actions{gap:var(--sp-2);margin-top:var(--sp-3);align-items:center;display:flex}.dep-preview{font-size:var(--fs-12);color:var(--text-muted);margin-left:auto}.radio{align-items:center;gap:var(--sp-1);cursor:pointer;display:inline-flex}.radio i{border:1pt solid var(--edit-border);background:var(--surface);border-radius:50%;justify-content:center;align-items:center;width:20pt;height:20pt;display:inline-flex}.radio.is-on i{border-color:var(--primary)}.radio.is-on i:after{content:"";background:var(--primary);border-radius:50%;width:10pt;height:10pt}.modal{width:600pt}.modal-head{padding:var(--sp-4) var(--sp-4) 0;align-items:center;display:flex}.modal-head .sp{flex:1}.modal-sub{font-size:var(--fs-13);color:var(--text-muted);padding:var(--sp-1) var(--sp-4) 0}.modal-foot{border-top:1pt solid var(--rule);padding:var(--sp-3) var(--sp-4)}.form-grid{gap:var(--sp-3) var(--sp-4)}.fld .hint{font-size:var(--fs-12);color:var(--text-muted)}.input.is-h30,.select.is-h30 select{font-size:var(--fs-13)}.logo-zone{gap:var(--sp-4);grid-template-columns:160pt 1fr;align-items:stretch;display:grid}.dropzone{border:1.5pt dashed var(--edit-border);border-radius:var(--radius-md);background:var(--bg-subtle);justify-content:center;align-items:center;gap:var(--sp-1);padding:var(--sp-3);text-align:center;flex-direction:column;height:110pt;display:flex}.dropzone img{object-fit:contain;max-width:90pt;max-height:60pt}.dropzone .hint{font-size:var(--fs-11);color:var(--text-muted)}.logo-previews{gap:var(--sp-2);flex-direction:column;justify-content:center;display:flex}.logo-previews .lp{align-items:center;gap:var(--sp-2);font-size:var(--fs-12);color:var(--text-muted);display:flex}.logo-previews .lp-name{font-size:var(--fs-13);color:var(--ink)}.logo-actions{gap:var(--sp-2);display:flex}.toggle{background:var(--toggle-off-bg);border-radius:999px;flex-shrink:0;width:35pt;height:20pt;display:inline-block;position:relative}.toggle:after{content:"";background:#fff;border-radius:50%;width:16pt;height:16pt;position:absolute;top:2pt;left:2pt}.toggle.is-on{background:var(--primary)}.toggle.is-on:after{left:17pt}.tpl-layout{gap:var(--sp-4);grid-template-columns:300pt 1040pt}.tpl-item{padding:var(--sp-3) var(--sp-4)}.tpl-item .n{font-size:var(--fs-13);color:var(--ink);font-weight:700}.tpl-item .m{font-size:var(--fs-12);color:var(--text-muted);margin-top:var(--sp-1)}.tpl-chain{gap:var(--sp-1);margin-top:var(--sp-1)}.ed-card{padding:var(--sp-4)}.ed-tbl .tbl thead th{height:30pt;padding-left:0;padding-right:var(--sp-2)}.ed-tbl .tbl tbody td{height:45pt;padding-left:0;padding-right:var(--sp-2)}.ed-tbl .tbl tbody td:first-child,.ed-tbl .tbl thead th:first-child{padding-left:var(--sp-1)}.drag{width:15pt;height:15pt;color:var(--icon-decorative);cursor:grab}.colour-btn{border:1pt solid var(--edit-border);border-radius:var(--radius-sm);background:var(--surface);justify-content:center;align-items:center;width:30pt;height:30pt;display:inline-flex}.colour-btn span{border-radius:50%;width:15pt;height:15pt}.rule-sent{align-items:center;gap:var(--sp-1);font-size:var(--fs-13);color:var(--text-muted);white-space:nowrap;display:flex}.rule-sent .input{text-align:center;width:50pt}.anchor-tag{align-items:center;gap:var(--sp-1);height:30pt;padding:0 var(--sp-2);border-radius:var(--radius-sm);background:var(--primary-soft);color:var(--primary-hover);font-size:var(--fs-13);font-weight:700;display:inline-flex}.tl{margin-top:var(--sp-2)}.tl-row{height:25pt;font-size:var(--fs-12);align-items:center;gap:var(--sp-2);grid-template-columns:170pt 1fr 70pt;display:grid}.tl-row .nm{color:var(--text);align-items:center;gap:var(--sp-1);display:flex}.tl-row .d{color:var(--text-muted);text-align:right}.tl-track{height:25pt;position:relative}.tl-track:before{content:"";border-top:1pt solid var(--rule-soft);position:absolute;top:50%;left:0;right:0}.tl-dot{width:12pt;height:12pt;box-shadow:0 0 0 1pt var(--rule);border:2pt solid #fff;border-radius:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.tl-anchor{border-left:1.5pt dashed var(--primary);position:absolute;top:0;bottom:0}.tl-axis{gap:var(--sp-2);font-size:var(--fs-10);color:var(--text-faint);margin-top:var(--sp-1);grid-template-columns:170pt 1fr 70pt;display:grid}.tl-axis .ticks{height:15pt;position:relative}.tl-axis .ticks span{position:absolute;transform:translate(-50%)}.btn{white-space:nowrap}.bi-card-title .legend{text-transform:none;letter-spacing:0;font-weight:400}.pip.is-skip{background:var(--edit-border);border:none;width:6pt;height:6pt}.pips.is-compact>span{width:15pt}.pips.is-compact .pip{border-width:1.5pt;width:8pt;height:8pt}.pips.is-compact .pip.is-skip{width:5pt;height:5pt}.board-card.is-done{border-left-color:var(--status-active-text)}.board-done-strip{margin-top:var(--sp-6);opacity:.9}.gx-bar-head{align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);border-bottom:1pt solid var(--rule-soft);display:flex}.gx-bar-head .view-toggle-btn{align-items:center;text-decoration:none;display:inline-flex}.gx-legend-row{gap:var(--sp-4);padding:var(--sp-2) var(--sp-3);border-bottom:1pt solid var(--rule);flex-wrap:wrap;align-items:center;display:flex}.gx-chip{border-radius:3pt;width:15pt;height:10pt;display:inline-block}.gx-chip.is-done{background:#a8d5be}.gx-chip.is-overdue{background:repeating-linear-gradient(135deg,#a8331f59 0 3pt,#a8331f1a 3pt 6pt)}.gx-chip.is-base{border:1.5pt solid var(--text-faint);background:0 0;height:5pt}.gx-chip.is-open{background:var(--blue);height:8pt}.gx-seg{opacity:.85;height:10pt;position:absolute;top:50%;transform:translateY(-50%)}.gx-seg.is-hold{opacity:.3}.gx-sbar{border-radius:3pt;height:10pt;position:absolute;top:50%;transform:translateY(-50%)}.gx-sbar.is-done{background:#a8d5be}.gx-overdue{z-index:1;background:repeating-linear-gradient(135deg,#a8331f40 0 3pt,#a8331f0f 3pt 6pt);border-radius:3pt;height:16pt;position:absolute;top:50%;transform:translateY(-50%)}.gx-note{font-size:var(--fs-11);white-space:nowrap;color:var(--text-muted);z-index:2;position:absolute;top:50%;transform:translateY(-50%)}.gx-m.is-sm{border-width:2pt;width:9pt;height:9pt}.gx-m.is-sm.is-skip{border:none;width:5pt;height:5pt}.gx-m.is-prod.is-todo{border-color:var(--ink);background:var(--surface)}.gx-rel{border-left:1.5pt dashed var(--rule);position:absolute;top:0;bottom:0}.gx-rel.is-live{border-color:var(--status-active-text)}.gx-rel.is-missed{border-color:var(--red)}.gx-rel.is-planned{border-color:var(--ink)}.rel-chip{height:25pt;padding:0 var(--sp-2);border:1pt solid var(--rule);font-size:var(--fs-12);color:var(--text-muted);border-radius:999px;align-items:center;gap:5pt;display:inline-flex}.rel-chip b{color:var(--ink);font-weight:700}.rel-chip.is-live{background:var(--status-active-bg);border-color:#0000}.rel-chip.is-missed{background:var(--red-soft);border-color:#0000}.rel-chip.is-missed b{color:var(--red)}.gx-pb{border-radius:3pt;height:6pt;position:absolute}.gx-pb.is-base{border:1.5pt solid var(--text-faint);background:0 0;height:6pt;top:8pt}.gx-pb.is-open{background:var(--blue);height:8pt;top:19pt}.gx-pb.is-done{background:var(--status-active-text);height:8pt;top:19pt}.board-gates{gap:var(--sp-2);align-items:flex-start;display:flex}.board-gates .board-col{flex-shrink:0;width:210pt}.board-col.is-slim{align-items:center;gap:var(--sp-2);width:45pt;min-height:300pt;padding:var(--sp-2) 0;flex-direction:column;display:flex}.slim-label{writing-mode:vertical-rl;font-size:var(--fs-12);color:var(--text-muted);white-space:nowrap;font-weight:700;transform:rotate(180deg)}.board-col.is-slim .count{font-size:var(--fs-11);color:var(--text-faint)}.board-col.is-droppable{border-style:dashed;border-color:var(--edit-border)}.board-col.is-target{background:var(--primary-soft);border:1.5pt dashed var(--primary)}.drop-hint{font-size:var(--fs-12);color:var(--primary-hover);padding:var(--sp-3) var(--sp-2);text-align:center;border-radius:var(--radius-md);background:var(--surface);margin-bottom:var(--sp-2);line-height:1.45}.board-card{position:relative}.board-card .grab{color:var(--icon-decorative);position:absolute;top:10pt;right:5pt}.board-card .grab svg{width:12pt;height:12pt}.board-card.is-placeholder{border:1.5pt dashed var(--edit-border);box-shadow:none;background:0 0;height:100pt}.board-card.is-lifted{z-index:30;cursor:grabbing;width:210pt;position:absolute;transform:rotate(2deg);box-shadow:0 15pt 30pt #10182838}.board-more{font-size:var(--fs-12);color:var(--primary);padding:var(--sp-1) var(--sp-2)}.board-col.is-done-col{background:var(--status-active-bg)}.modal-sub{line-height:1.5}.gt tr.is-err td{background:#fbeaea80}.input.is-invalid{border-color:var(--red);box-shadow:0 0 0 2pt var(--red-soft)}.fld-err{font-size:var(--fs-11);color:var(--red);margin-top:var(--sp-1)}.gt .tbl tbody tr.is-err td{height:60pt}.anchor-mini{font-size:var(--fs-10);color:var(--primary-hover);background:var(--primary-soft);text-transform:uppercase;border-radius:3pt;padding:0 5pt;font-weight:700}.cg-note{font-size:var(--fs-12);color:var(--text-muted);line-height:1.6}.btn[disabled]{opacity:.45;cursor:default}.client-layout{gap:var(--sp-4);grid-template-columns:1020pt 320pt;align-items:start;display:grid}.info-grid.is-3{row-gap:var(--sp-3);grid-template-columns:repeat(3,1fr)}.info-cell .info-label{height:auto;margin-bottom:var(--sp-1)}.info-cell .info-value{height:auto;line-height:1.45}.sample{font-size:var(--fs-10);color:var(--amber);border:1pt solid var(--amber-soft);background:var(--amber-soft);text-transform:uppercase;vertical-align:1pt;border-radius:3pt;margin-left:5pt;padding:0 5pt}.brand-grid{gap:var(--sp-4);grid-template-columns:1fr 2fr;display:grid}.brand-grid .info-label{height:auto;margin-bottom:var(--sp-2)}.logo-tile.is-dark{background:#1f2328;border-color:#1f2328}.logo-tile.client-accent{box-shadow:-5pt 0 0 -2.5pt #2e5c7a}.tags{gap:var(--sp-1);margin-bottom:var(--sp-3);flex-wrap:wrap;display:flex}.tags.is-sm{margin:var(--sp-1) 0 0}.note-item{border-top:1pt solid var(--rule-soft);padding:var(--sp-2) 0;font-size:var(--fs-13);line-height:1.5}.note-meta{font-size:var(--fs-11);color:var(--text-muted);margin-bottom:var(--sp-1)}.glance{gap:var(--sp-3);grid-template-columns:1fr 1fr;display:grid}.glance .info-label{height:auto}.g-val{font-size:var(--fs-22);color:var(--ink);font-weight:700}.contact-mini{gap:var(--sp-2);align-items:flex-start;display:flex}.card.is-editing{border-left:2.5pt solid var(--primary)}.view-row .tab-pill .tab-count{margin-left:5pt}.toast{padding:var(--sp-2) var(--sp-4)}.toolbar-row.is-section{margin-top:var(--sp-6);margin-bottom:var(--sp-4)}.dash-portal.is-spacious .tbl thead th{height:40pt;padding-right:var(--sp-4)}.dash-portal.is-spacious .tbl tbody td{height:70pt;padding-right:var(--sp-4)}.dash-portal.is-spacious .tbl thead th:first-child,.dash-portal.is-spacious .tbl tbody td:first-child{padding-left:var(--sp-4)}.dash-portal.is-spacious .tbl thead th:last-child,.dash-portal.is-spacious .tbl tbody td:last-child{padding-right:var(--sp-3)}.dash-portal.is-spacious .item-row-secondary{margin-top:var(--sp-1)}.dash-portal.is-spacious .c-logo{width:60pt}.dash-portal.is-spacious .c-act{width:45pt}.dash-portal.is-spacious .c-prog .progress-row{width:170pt}.dash-portal.is-spacious .item-row-primary{font-size:var(--fs-13)}body{min-width:0}.topbar-inner,.page{width:auto;max-width:var(--layout-min-width)}.dash-portal{overflow-x:auto}.board-grid,.board-gates{padding-bottom:var(--sp-2);overflow-x:auto}.gx{grid-template-columns:380pt minmax(0,1fr)}.gx-scroll{min-width:0;overflow-x:auto}.gx-canvas{min-width:980pt;position:relative}.drawer{width:min(700pt,100vw)}.modal{max-width:calc(100vw - 30pt)}.client-layout{grid-template-columns:minmax(0,1fr) 320pt}.tpl-layout{grid-template-columns:300pt minmax(0,1fr)}.ed-tbl,.gt{overflow-x:auto}@media (width<=1099px){.bi-kpi-row:not(.cols-4){grid-template-columns:repeat(3,1fr)}.bi-two-col,.bi-three-col,.client-layout,.tpl-layout{grid-template-columns:minmax(0,1fr)}.toolbar-row{flex-wrap:wrap}.toolbar-row .search-bar{flex:260pt;width:auto}.toolbar-spacer{display:none}.toolbar-count{margin-left:auto}.view-row .tabs-pill{max-width:100%;overflow-x:auto}.topnav,.topbar-inner{gap:var(--sp-4)}.c-sign,.c-live,.c-resp{display:none}.gx{grid-template-columns:260pt minmax(0,1fr)}.gx-bar-head{flex-wrap:wrap}.info-grid.is-3{grid-template-columns:repeat(2,1fr)}.brand-grid{grid-template-columns:1fr 1fr}.board-gates .board-col.is-slim{min-height:200pt}}@media (width<=899px){.bi-kpi-row.cols-4{grid-template-columns:repeat(2,1fr)}}@media (width<=759px){html{zoom:1}:root{--layout-margin:15pt}.topbar-inner{height:auto;padding-top:var(--sp-2);flex-wrap:wrap;row-gap:0}.topbar-right .env-chip,.user-chip>:not(.avatar){display:none}.topbar-right{margin-left:auto}.topnav{gap:var(--sp-4);order:3;width:100%;overflow-x:auto}.topnav .tab-underline{white-space:nowrap;height:40pt}.page{padding-top:var(--sp-3)}.ph{gap:var(--sp-2);flex-wrap:wrap;min-height:0}.ph .logo-tile{width:45pt!important;height:45pt!important}.ph-title{font-size:var(--fs-22)}.ph-meta{flex-wrap:wrap;row-gap:0}.ph-actions,.ph-actions .btn{width:100%}.view-row{flex-wrap:wrap}.view-row .btn{width:100%}.bi-kpi-row,.bi-kpi-row.cols-4,.bi-kpi-row:not(.cols-4){gap:var(--sp-2);grid-template-columns:repeat(2,1fr)}.bi-kpi{padding:var(--sp-2) var(--sp-3)}.bi-kpi .val{font-size:var(--fs-22);line-height:25pt}.toolbar-row .search-bar{flex-basis:100%}.sort-select{flex:40%;max-width:none}.form-grid,.form-grid.cols-3{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}.info-grid.is-3,.brand-grid,.glance{grid-template-columns:1fr}.bi-bar{grid-template-columns:110pt 1fr 35pt}.bi-bar-pct{display:none}.gx{grid-template-columns:150pt minmax(0,1fr)}.gx-left .gx-row .ref{display:none}.drawer{width:100vw}.modal{border-radius:var(--radius-md) var(--radius-md) 0 0;max-width:100vw;bottom:0;overflow-y:auto;width:100vw!important;max-height:90vh!important;top:auto!important;left:0!important;transform:none!important}.board-grid{scroll-snap-type:x mandatory;grid-template-columns:repeat(6,260pt)}.board-grid .board-col{scroll-snap-align:start}.dash-portal.is-cards-sm .tbl thead{display:none}.dash-portal.is-cards-sm .tbl,.dash-portal.is-cards-sm .tbl tbody{display:block}.dash-portal.is-cards-sm .tbl tbody tr{gap:var(--sp-2) var(--sp-2);padding:var(--sp-3);border-bottom:1pt solid var(--rule);grid-template-columns:45pt 1fr auto;display:grid}.dash-portal.is-cards-sm .tbl tbody td{border:none;display:block;height:auto!important;padding:0!important}.dash-portal.is-cards-sm .c-logo{grid-row:span 1}.dash-portal.is-cards-sm .c-status{grid-area:1/3;place-self:start end}.dash-portal.is-cards-sm .c-logo{grid-area:1/1}.dash-portal.is-cards-sm .c-name{grid-area:1/2}.dash-portal.is-cards-sm .c-act{display:none!important}.dash-portal.is-cards-sm .c-prog,.dash-portal.is-cards-sm .c-od,.dash-portal.is-cards-sm .c-wait,.dash-portal.is-cards-sm .c-sign,.dash-portal.is-cards-sm .c-live{grid-column:1/-1;grid-template-columns:110pt 1fr;align-items:start;display:grid!important}.dash-portal.is-cards-sm [data-label]:before{content:attr(data-label);font-size:var(--fs-10);text-transform:uppercase;letter-spacing:var(--tracking-upper);color:var(--text-muted);padding-top:2pt}.dash-portal.is-cards-sm [data-label] .item-row-secondary{grid-column:2;margin-top:0}.dash-portal.is-cards-sm .c-prog .progress-row{width:auto}.dash-portal.is-list .tbl thead{display:none}.dash-portal.is-list .dash-portal-head{height:auto;padding:var(--sp-2) var(--sp-3);flex-wrap:wrap}.dash-portal.is-list .dash-portal-controls{margin-left:0}.dash-portal.is-list .tbl,.dash-portal.is-list .tbl tbody{display:block}.dash-portal.is-list .tbl tbody tr{gap:var(--sp-1) var(--sp-2);padding:var(--sp-2) var(--sp-3);border-bottom:1pt solid var(--rule-soft);grid-template-columns:1fr auto;display:grid}.dash-portal.is-list .tbl tbody tr.tbl-group-label{padding:0;display:block}.dash-portal.is-list .tbl tbody td{border:none;display:block;height:auto!important;padding:0!important}.dash-portal.is-list .c-pips,.dash-portal.is-list .c-resp,.dash-portal.is-list .c-live{display:none!important}.dash-portal.is-list .c-next{grid-column:1/-1}.dash-portal.is-list .tbl tbody tr.tbl-group-label td{padding:var(--sp-2) var(--sp-3)!important}}.toolbar-row{row-gap:var(--sp-2);flex-wrap:wrap}.view-row .tabs-pill,.gx-bar-head .view-toggle{flex-shrink:1;min-width:0;max-width:100%;overflow-x:auto}.tab-pill,.view-toggle-btn{white-space:nowrap;flex-shrink:0}.sort-select{min-width:0}@media (width<=1099px){.board-card.is-lifted{right:20pt;left:auto!important}}@media (width<=759px){.info-cell{grid-column:auto!important}.tl-row,.tl-axis{grid-template-columns:100pt 1fr 55pt}.tl-row .d{font-size:var(--fs-11)}.gx-bar-head .view-toggle,.view-row .tabs-pill{width:100%}}.form-actions{gap:var(--sp-2);flex-wrap:wrap;display:flex}.ov-row{margin-top:var(--sp-4)}.ov-split{gap:var(--sp-4);grid-template-columns:minmax(0,2fr) minmax(0,3fr);align-items:stretch;display:grid}.bi-bars.is-wide-label .bi-bar{grid-template-columns:260pt 1fr 45pt 60pt}.bi-bars.is-wide-label .bi-bar-label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}table.bi-otl.is-roomy thead th{padding:var(--sp-2) var(--sp-4) var(--sp-2) 0}table.bi-otl.is-roomy tbody td{padding:var(--sp-3) var(--sp-4) var(--sp-3) 0}table.bi-otl.is-roomy th:first-child,table.bi-otl.is-roomy td:first-child{padding-left:var(--sp-3)}table.bi-otl.is-roomy th:last-child,table.bi-otl.is-roomy td:last-child{padding-right:var(--sp-3)}table.bi-otl.is-roomy td.r .s{text-align:right}table.bi-otl.is-roomy .t{font-size:var(--fs-13);line-height:1.4}@media (width<=1099px){.ov-split{grid-template-columns:minmax(0,1fr)}.bi-bars.is-wide-label .bi-bar{grid-template-columns:180pt 1fr 45pt 60pt}}@media (width<=759px){.bi-bars.is-wide-label .bi-bar{grid-template-columns:120pt 1fr 40pt}.bi-bars.is-wide-label .bi-bar-pct{display:none}}table.bi-otl .nw,table.bi-otl td.r{white-space:nowrap}.tpl-switch{align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-4);flex-wrap:wrap;display:flex}.tpl-switch .tab-pill{cursor:pointer}.tl-row,.tl-axis{gap:var(--sp-4);grid-template-columns:220pt minmax(0,1fr) 200pt}.tl-row{height:35pt;font-size:var(--fs-13);border-bottom:1pt solid var(--rule-soft)}.tl-row .d{white-space:nowrap;color:var(--text-2)}.tl-track{height:35pt}.tl-dot{width:14pt;height:14pt}.tl-axis{font-size:var(--fs-11);margin-top:var(--sp-2)}@media (width<=759px){.tl-row,.tl-axis{gap:var(--sp-2);grid-template-columns:110pt minmax(0,1fr)}.tl-row .d{font-size:var(--fs-11);grid-column:1/-1;margin-top:-10pt;padding-bottom:5pt}.tl-row{height:auto}.tl-axis>span:last-child{display:none}}.tpl-switch .tabs-pill{min-width:0;max-width:100%;overflow-x:auto}.dash-portal.is-tpl .c-name{width:45%}.dash-portal.is-tpl .c-name a{color:inherit}@media (width<=759px){.dash-portal.is-tpl .tbl tbody tr{grid-template-columns:1fr auto}.dash-portal.is-tpl .c-name{grid-area:1/1;width:auto}.dash-portal.is-tpl .c-act{grid-area:1/2;display:block!important}.dash-portal.is-cards-sm .c-gates,.dash-portal.is-cards-sm .c-anchor,.dash-portal.is-cards-sm .c-used{grid-column:1/-1;grid-template-columns:110pt 1fr;align-items:start;display:grid!important}}.bl-new{align-items:center;gap:var(--sp-2);padding:var(--sp-2);border:1pt dashed var(--primary-300);border-radius:var(--radius-md);background:var(--primary-soft);flex-wrap:wrap;display:flex}.bl-new .field-label{white-space:nowrap}.bl-hint{font-size:var(--fs-12);color:var(--text-muted);margin:var(--sp-1) 0 var(--sp-3)}.bl-tbl thead th{height:30pt;padding:0 var(--sp-2) 0 0}.bl-tbl tbody td{height:55pt;padding:0 var(--sp-2) 0 0}.bl-tbl .radio{justify-content:center}.date-field .date-btn{cursor:pointer;background:0 0;border:none;width:25pt;padding:0;position:absolute;top:0;bottom:0;right:0}.date-field .date-btn .icon-calendar{right:var(--sp-1)}.date-field .date-btn.is-open .icon-calendar,.date-field .date-btn:hover .icon-calendar{color:var(--primary)}.cal-pop{z-index:70;background:var(--surface);border:1pt solid var(--rule);border-radius:var(--radius-md);width:225pt;padding:var(--sp-2);font-size:var(--fs-12);position:fixed;box-shadow:0 6pt 20pt #0a0a0a1f}.cal-head{margin-bottom:var(--sp-1);justify-content:space-between;align-items:center;display:flex}.cal-title{color:var(--ink);font-weight:700;font-size:var(--fs-13)}.cal-nav{border-radius:var(--radius-sm);width:30pt;height:30pt;font-size:var(--fs-15);color:var(--text-muted);cursor:pointer;background:0 0;border:none}.cal-nav:hover{background:var(--primary-soft);color:var(--primary)}.cal-grid{grid-template-columns:repeat(7,1fr);gap:0;display:grid}.cal-dow{height:20pt;font-size:var(--fs-10);color:var(--text-faint);text-transform:uppercase;justify-content:center;align-items:center;display:flex}.cal-day{border-radius:var(--radius-sm);cursor:pointer;height:30pt;color:var(--text);font-size:var(--fs-12);background:0 0;border:none}.cal-day:hover{background:var(--primary-soft);color:var(--primary-hover)}.cal-day.is-out{color:var(--text-faint)}.cal-day.is-today{box-shadow:inset 0 0 0 1pt var(--primary)}.cal-day.is-sel{background:var(--primary);color:#fff;font-weight:700}.cal-foot{border-top:1pt solid var(--rule-soft);margin-top:var(--sp-1);padding-top:var(--sp-1);justify-content:space-between;display:flex}.gt tr.is-na .gname{color:var(--text-faint)}.gt tr.is-na .swatch{box-shadow:inset 0 0 0 1.5pt var(--edit-border);background:0 0!important}.na-cell{align-items:center;gap:var(--sp-2);height:30pt;display:flex}.na-badge{height:22pt;padding:0 var(--sp-2);border-radius:var(--radius-pill);border:1pt dashed var(--edit-border);background:var(--bg-subtle);color:var(--text-muted);font-size:var(--fs-11);align-items:center;font-weight:700;display:inline-flex}.date-field .input{width:100%;padding-right:25pt}.date-field .pin-ico{right:25pt}button.toggle{cursor:pointer;border:none;padding:0}button.toggle[disabled]{opacity:.45;cursor:default}button.radio{font:inherit;font-size:var(--fs-13);color:var(--text);background:0 0;border:none;padding:0}.kebab-wrap{display:inline-flex;position:relative}.kebab-menu{z-index:35;min-width:180pt;position:absolute;top:30pt;right:0}.kebab-menu .popover-item{text-align:left;width:100%;font:inherit;font-size:var(--fs-13);cursor:pointer;background:0 0;border:none}.kebab-menu .popover-item[disabled]{color:var(--text-faint);cursor:default}.popover-item.is-danger{color:var(--red)}.toast{align-items:center;gap:var(--sp-3);display:flex}.toast.is-error{background:var(--red)}.toast-action{color:var(--primary-300);font:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-weight:700}.search-bar .icon-btn-clear{width:20pt;height:20pt}.search-bar .icon-btn-clear svg{width:12pt;height:12pt}.sp{flex:1}.empty-state{padding:var(--sp-8);text-align:center;color:var(--text-muted);font-size:var(--fs-13)}.warn-badge{align-items:center;gap:var(--sp-1);font-size:var(--fs-12);color:var(--amber);display:inline-flex}.warn-badge svg{width:12pt;height:12pt}.dirty-note{font-size:var(--fs-12);color:var(--amber)}.err-box{background:var(--red-soft);color:var(--red);border-radius:var(--radius-sm);padding:var(--sp-2) var(--sp-3);font-size:var(--fs-12)}.drawer{flex-direction:column;display:flex}.drawer-body{flex-direction:column;flex:1;display:flex;overflow-y:auto}.drawer-title-input{width:100%;font-family:var(--font-family);background:0 0;outline:none}.drawer-title-input:focus{border-color:var(--primary);box-shadow:var(--shadow-focus)}.tbl tbody tr.is-click{cursor:pointer}.board-card{cursor:grab;-webkit-user-select:none;user-select:none}.board-card:active{cursor:grabbing}.board-card.is-dragging{opacity:.35}.grp-toggle{cursor:pointer;-webkit-user-select:none;user-select:none}.history-tbl td{vertical-align:top}button.tab-underline{font-family:var(--font-family);cursor:pointer;background:0 0;border-top:none;border-left:none;border-right:none;padding:0}.signed svg{vertical-align:-2pt;width:12pt;height:12pt}.btn-signoff-select{width:90pt}.btn-signoff-select select{font-size:var(--fs-12)}.dep-pick input{height:28pt;font-size:var(--fs-13);color:var(--text)}.dep-pop{position:absolute;top:35pt;left:0}.dep-opt .pill-status.is-sm{height:20pt}.drawer-title-input.drawer-title{width:calc(100% + 10pt)}.colour-btn{cursor:pointer;position:relative}.tags .chip .icon-btn-clear{font-size:var(--fs-13);line-height:1}textarea.drawer-title-input{resize:none;display:block;overflow:hidden}.login-wrap{background:var(--bg-page);min-height:100vh;padding:var(--sp-6);justify-content:center;align-items:center;min-width:0;display:flex}.login-card{background:var(--surface);border:1pt solid var(--rule);border-radius:var(--radius-md);width:440pt;max-width:100%;box-shadow:var(--shadow-card);padding:var(--sp-8) var(--sp-7);text-align:center}.login-logo{height:35pt;margin-bottom:var(--sp-5)}.login-title{font-size:var(--fs-22);color:var(--ink);margin:0 0 var(--sp-2);font-weight:400}.login-sub{font-size:var(--fs-13);color:var(--text-muted);margin:0 0 var(--sp-5);line-height:1.5}.login-err{text-align:left;margin-bottom:var(--sp-4)}.login-buttons{gap:var(--sp-2);flex-direction:column;display:flex}.login-btn{justify-content:center;align-items:center;gap:var(--sp-2);border:1pt solid var(--edit-border);border-radius:var(--radius-sm);background:var(--surface);height:45pt;color:var(--ink);font-size:var(--fs-14);font-weight:700;text-decoration:none;display:flex}.login-btn:hover{border-color:var(--primary);background:var(--primary-soft)}.login-foot{margin:var(--sp-5) 0 0;font-size:var(--fs-12);color:var(--text-faint)}body:has(.login-wrap){min-width:0}.user-menu{position:relative}.user-menu .user-chip{cursor:pointer;font-family:var(--font-family);background:0 0;border:none;padding:0}.user-menu .user-chip:hover{color:var(--primary)}.user-pop{z-index:50;min-width:240pt;position:absolute;top:calc(100% + 5pt);right:0}.user-pop-head{padding:var(--sp-2) var(--sp-3);border-bottom:1pt solid var(--rule-soft);font-size:var(--fs-12);flex-direction:column;gap:3pt;display:flex}.user-pop-head b{font-size:var(--fs-13);color:var(--ink)}.copy-row{gap:var(--sp-2);align-items:center;display:flex}.copy-row .input{font-size:var(--fs-12);flex:1}.kebab-menu.is-floating{z-index:70;margin:0;position:fixed;bottom:auto;right:auto}.plain-fieldset{border:0;min-width:0;margin:0;padding:0}.plain-fieldset:disabled .date-btn,.plain-fieldset:disabled .icon-btn-kebab,.plain-fieldset:disabled .icon-btn-clear{display:none}.scrim.is-top{z-index:60}.modal.is-top{z-index:61}.btn-danger{color:#fff;background:#c8321c;border:1pt solid #c8321c}.btn-danger:hover{background:#a40800;border-color:#a40800}.btn-danger:focus-visible,.btn-primary:focus-visible,.btn-ghost:focus-visible,.btn-outline:focus-visible{outline:2pt solid var(--primary,#dc4405);outline-offset:2pt}.reorder{align-items:center;gap:2pt;display:flex}.reorder-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:3pt;padding:2pt;font-size:9pt;line-height:1}.reorder-btn:hover:not(:disabled){color:var(--ink);background:#f2f2f2}.reorder-btn:disabled{opacity:.3;cursor:default}.reorder-btn:focus-visible{outline-offset:1pt;outline:2pt solid #dc4405}.grp-btn{all:unset;cursor:pointer;font:inherit;color:inherit;align-items:center;gap:4pt;display:inline-flex}.grp-btn:focus-visible,.bi-otl-scroll:focus-visible,.gx-scroll:focus-visible{outline-offset:2pt;outline:2pt solid #dc4405}a,.link-btn,.board-more,.btn-text,.btn-outline,.tab-underline.is-active,.tab-pill.is-active,.view-toggle-btn.is-active,.pill-filter.is-active,.popover-item:hover,.popover-item.is-stacked:hover,.bi-card-title .link,.order-meta a{color:var(--primary-text)}.soon,.warn-badge,.bi-badge.hold,.pill-status.is-warning{color:var(--amber-text)}.ok{color:var(--status-active-text)}.btn-plain-danger{color:var(--text-muted)}.ph-crumb a,.ph-meta a,.hint a,.dsec-note a,.muted a,p a{text-underline-offset:2pt;text-decoration:underline}.gx-week span{color:var(--text-muted)}.inline-link{text-underline-offset:2pt;text-decoration:underline}.gx-today-label{background:var(--primary-hover)}.btn-primary,.layout-hamburger,.cal-day.is-sel,.gx-today-label{background:var(--primary-fill);border-color:var(--primary-fill)}.btn-primary:hover{background:var(--primary-fill-hover);border-color:var(--primary-fill-hover)}.user-pop{padding:0;overflow:hidden}.user-pop-head{padding:var(--sp-3)}.user-pop .popover-item{width:100%;height:36pt;padding:0 var(--sp-3);text-align:left;font-size:var(--fs-13);color:var(--ink);background:0 0;border:0;border-radius:0}.user-pop .popover-item:hover,.user-pop .popover-item:focus-visible{background:var(--primary-soft);color:var(--primary-text);outline:none}.gx-left .gx-row{content-visibility:visible;height:auto;min-height:35pt;padding-top:6pt;padding-bottom:6pt}.gx-left .gx-row .t{white-space:normal;text-overflow:clip;overflow-wrap:anywhere;line-height:1.35;overflow:visible}.gx-left .gx-row .ref{align-self:center}tr[draggable] .reorder svg{cursor:grab}tr.is-dragging{opacity:.4}.dlg-choice{font-size:var(--fs-13);flex-direction:column;gap:6pt;margin-top:12pt;display:flex}.dlg-choice label{cursor:pointer;align-items:flex-start;gap:6pt;display:flex}.dlg-choice .hint{color:var(--text-muted);font-size:var(--fs-12)}.rel-strip{flex-wrap:wrap;gap:6pt;margin-bottom:10pt;display:flex}.rel-chip{border:1px solid var(--border,#e6e6e6);font-size:var(--fs-12);color:var(--ink);background:#fff;border-radius:20pt;align-items:center;gap:6pt;padding:4pt 8pt;text-decoration:none;display:inline-flex}.rel-chip span{color:var(--text-muted)}.rel-chip:hover{border-color:#dc4405}.rel-chip.is-past b{color:var(--red)}.rel-chip.is-none{border-style:dashed}.rel-opts{flex-wrap:wrap;gap:6pt 20pt;display:flex}.rel-bar{z-index:5;border-left:3pt solid #dc4405;flex-wrap:wrap;align-items:center;gap:10pt;padding:10pt 15pt;display:flex;position:sticky;top:8pt}.rel-group-row{flex-wrap:wrap;align-items:center;gap:8pt;display:flex}.rel-group-row .grp-count{font-weight:400}.rel-move{align-items:center;gap:6pt;font-weight:400;display:inline-flex}.rel-tbl .tbl tbody tr.is-selected td{background:#fdf2ea}.rel-tbl .link-plain{color:inherit;text-decoration:none}.rel-tbl .link-plain:hover{text-decoration:underline}.rel-opt{font-size:var(--fs-13);cursor:pointer;align-items:center;gap:6pt;display:inline-flex}
