:root{--jade: #0F5C4A;--jade-deep: #0B3B30;--jade-soft: #E3EFEA;--plate-yellow: #F2C230;--paper: #F7F6F1;--card: #FFFFFF;--ink: #14201B;--ink-2: #4E5D55;--ink-3: #85918A;--rule: #E2E1D8;--primary: var(--jade);--primary-hover: var(--jade-deep);--sidebar: var(--jade-deep);--sidebar-active: var(--jade);--canvas: var(--paper);--surface: var(--card);--border: var(--rule);--ink-muted: var(--ink-2);--status-ok: #2E7D52;--status-due: #C47A00;--status-overdue: #C2362A;--status-progress: #2D63A6;--status-muted: #8A8F86;--status-ok-bg: #e9f5eb;--status-due-bg: #fff4e1;--status-overdue-bg: #fcebec;--status-progress-bg: #e8f2f9;--status-muted-bg: #edf1ee;--plate-black: #14201B;--plate-yellow-border: #967219;--e1: none;--e2: 0 12px 32px rgba(11,59,48,.14);--r-control: 4px;--r-card: 8px;--r-panel: 12px;--control-h: 36px;--row-h: 48px;--font-body: -apple-system, "PingFang TC", "Microsoft JhengHei", "Noto Sans TC", sans-serif;--canvas-ink: #eff7f0;--canvas-secondary: #b6d5c4;--canvas-line: rgba(205,238,218,.15);--canvas-tick: var(--plate-yellow);--scrim: rgba(11,59,48,.4);--ripple: rgba(255,255,255,.28)}*{box-sizing:border-box}body{margin:0;background:var(--canvas);color:var(--ink);font:14px/1.5 var(--font-body)}button,input,select,textarea{font:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--plate-yellow);outline-offset:2px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.m-surface,.m-float,.m-pill{background:var(--surface);border:1px solid var(--border);box-shadow:var(--e1)}.m-float{box-shadow:var(--e2)}.m-groove{background:var(--canvas);border:1px solid var(--border)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--control-h);padding:0 14px;border:1px solid var(--border);border-radius:var(--r-control);background:var(--surface);color:var(--ink);font-weight:600;white-space:nowrap}.btn-primary{color:var(--surface);background:var(--primary);border-color:var(--primary)}.btn-primary:hover{background:var(--primary-hover)}.btn-danger{color:var(--surface);background:var(--status-overdue);border-color:var(--status-overdue)}.btn-text,.btn-ghost{border-color:transparent;background:transparent}.btn-sm{min-height:30px;padding:0 9px;font-size:12px}.btn-primary,.btn-danger{position:relative;isolation:isolate}.ripple-clip{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;overflow:hidden;border-radius:inherit;pointer-events:none}.ripple-dot{position:absolute;border-radius:50%;background:var(--ripple);pointer-events:none}.morph-ghost{position:fixed;z-index:201;border:1px solid var(--border);border-radius:var(--r-card);background:var(--surface);box-shadow:var(--e2);pointer-events:none}@media (prefers-reduced-motion: reduce){.ripple-clip,.morph-ghost{display:none}}.btn-block{width:100%}.btn:disabled{opacity:.6;cursor:not-allowed}.field{display:grid;gap:6px}.field-label{color:var(--ink);font-weight:600}.field-error{color:var(--status-overdue);font-size:12px}.input-shell{display:flex;align-items:center;min-height:var(--control-h);border:1px solid var(--border);border-radius:var(--r-control);background:var(--surface);padding:0 10px}.input-shell.is-disabled{opacity:.6;cursor:not-allowed}.phone-input{display:grid;grid-template-columns:132px minmax(0,1fr);gap:8px}.input-shell.is-invalid{border-color:var(--status-overdue)}.input-shell:focus-within{border-color:var(--plate-yellow);outline:2px solid var(--plate-yellow);outline-offset:1px}.switch input:focus-visible+.switch-track{outline-color:var(--plate-yellow)}.input-shell input,.input-shell textarea{width:100%;border:0;outline:0;background:transparent;min-width:0}.input-shell .input-clear{display:inline-grid;place-items:center;flex:none;border:0;background:transparent;color:var(--ink-2)}.field-hint{color:var(--ink-2);font-size:12px}.req{color:var(--status-overdue);margin-left:3px}.select-trigger{width:100%;justify-content:space-between;text-align:left;cursor:pointer;color:var(--ink)}.select-value{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.select-value.is-placeholder,.select-caret{color:var(--ink-3)}.select-menu{position:fixed;min-width:160px;max-height:300px;display:flex;flex-direction:column;padding:6px;border-radius:var(--r-card);overflow:hidden}.select-search{padding:2px 2px 6px}.select-options{overflow-y:auto;overscroll-behavior:contain}.select-option{display:flex;align-items:center;gap:8px;min-height:34px;padding:0 10px;border-radius:var(--r-control);cursor:pointer}.select-option .opt-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-option.is-active{background:var(--jade-soft)}.select-option.is-selected{color:var(--jade);font-weight:600}.select-option.is-disabled{color:var(--ink-3);cursor:not-allowed}.select-option .faint,.select-empty{color:var(--ink-2);font-size:12px}.select-empty{padding:14px;text-align:center}.checkbox{display:inline-flex;align-items:center;gap:8px;cursor:pointer}.checkbox input{accent-color:var(--primary)}.checkbox-box{display:none}.checkbox-mark{display:inline-flex}.switch{display:inline-flex;align-items:center;gap:8px;cursor:pointer;white-space:nowrap}.switch input{position:absolute;opacity:0;width:1px;height:1px}.switch-track{width:34px;height:20px;border-radius:999px;background:var(--status-muted);display:inline-flex;align-items:center;padding:2px}.switch-knob{width:16px;height:16px;border-radius:999px;background:var(--surface);transition:transform .2s}.switch.is-on .switch-track{background:var(--primary)}.switch.is-on .switch-knob{transform:translate(14px)}.switch input:focus-visible+.switch-track{outline:2px solid var(--primary);outline-offset:2px}.spinner{width:15px;height:15px;border:2px solid currentColor;border-right-color:transparent;border-radius:999px;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.segmented{display:inline-flex;position:relative;align-items:center;gap:2px;padding:3px;border-radius:var(--r-card);overflow-x:auto;max-width:100%}.segmented button{position:relative;z-index:1;border:0;background:none;white-space:nowrap;padding:7px 12px;color:var(--ink-muted)}.segmented button.is-active{color:var(--primary);font-weight:700}.seg-thumb{position:absolute;left:0;top:0;height:0;border-radius:var(--r-control);pointer-events:none}.plate-chip{display:inline-flex;align-items:center;padding:2px 7px;border:1px solid var(--border);border-radius:var(--r-control);font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.04em;white-space:nowrap}.plate-chip-mainland{background:var(--plate-black);color:var(--surface);border-color:var(--plate-black)}.plate-chip-hongkong{background:var(--plate-yellow);color:var(--plate-black);border-color:var(--plate-yellow-border)}.plate-chip-macau{background:var(--surface);color:var(--plate-black);border-color:var(--plate-black)}.plate-chip-unknown{background:var(--canvas);color:var(--ink-muted)}.avatar{display:inline-grid;place-items:center;flex:none;border:2px double var(--border);border-radius:50%;background:var(--jade-soft);color:var(--jade-deep);font-weight:700;font-size:12px}.hovercard{position:fixed;z-index:190;max-width:calc(100vw - 24px);padding:12px;border-radius:var(--r-card);color:var(--ink)}.hovercard p{margin:4px 0 0;color:var(--ink-muted)}.date-input{min-height:var(--control-h);padding:0 8px;border:1px solid var(--border);border-radius:var(--r-control);background:var(--surface);font-variant-numeric:tabular-nums}.due-date{display:inline-flex;align-items:center;gap:6px;padding-left:8px;border-left:3px solid currentColor;white-space:nowrap;color:var(--status-ok);font-variant-numeric:tabular-nums}.due-body{display:inline-grid;gap:1px;text-align:left;border:0;background:none;padding:0;color:inherit;font:inherit}button.due-body{cursor:pointer}button.due-body:hover .due-day{text-decoration:underline dotted;text-underline-offset:3px}.due-day{color:var(--ink);font-weight:650;letter-spacing:.02em}.due-date.due-muted .due-day{color:var(--ink-3);font-weight:500}.due-left{font-size:12px;font-weight:600}.due-action{border:0;background:none;color:var(--primary);padding:3px 4px}.due-date.due-due{color:var(--status-due)}.due-date.due-overdue{color:var(--status-overdue)}.due-date.due-muted{color:var(--status-muted)}.stat-card{display:grid;gap:3px;text-align:left;border:1px solid var(--border);border-radius:var(--r-card);background:var(--surface);box-shadow:var(--e1);padding:14px;color:var(--ink)}.stat-card.is-active{border-left:3px solid var(--primary)}.stat-card strong{font-size:28px;font-variant-numeric:tabular-nums}.stat-card small{color:var(--ink-muted)}.odometer{display:inline-flex;overflow:hidden;font-variant-numeric:tabular-nums}.odo-cell{display:inline-block;height:1.2em;overflow:hidden}.odo-strip{display:flex;flex-direction:column;height:12em;transition:transform .7s cubic-bezier(.2,.8,.2,1)}.odo-strip>span{flex:none;height:1.2em;line-height:1.2}.odo-cell.is-sep{overflow:visible}@media (prefers-reduced-motion: reduce){.odo-strip{transition:none}}.key-value{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.key-value div{display:grid;gap:3px}.key-value dt{color:var(--ink-muted);font-size:12px}.key-value dd{margin:0}.panel-heading-inner{display:flex;align-items:baseline;gap:12px;min-width:0}.panel-meta{color:var(--ink-muted);font-size:12px}.panel-tools{display:flex;gap:8px;align-items:center}.icon-btn{display:inline-grid;place-items:center;width:var(--control-h);height:var(--control-h);border:1px solid var(--border);border-radius:var(--r-control);background:var(--surface);color:var(--ink)}.table{width:100%;border-collapse:collapse;font-size:13px}.table th,.table td{padding:9px 12px;border-bottom:1px solid var(--border);text-align:left;vertical-align:middle}.table th{color:var(--ink-muted);font-weight:650;white-space:nowrap}.table .data-row{min-height:var(--row-h)}.table small{display:block;color:var(--ink-muted)}.table td.col-actions,.table th.col-actions{position:sticky;right:0;background:var(--surface);white-space:nowrap;box-shadow:-1px 0 var(--border)}.table .col-check{width:42px}.table .data-row:hover{background:var(--canvas)}.skeleton{display:block;min-height:14px;background:var(--canvas)}.empty-state{text-align:center;padding:24px;color:var(--ink-muted)}.skeleton-check{width:17px;height:17px;border-radius:var(--r-control)}.pager{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px;border-top:1px solid var(--border)}.pager-info{color:var(--ink-muted);font-size:12px}.pager-ctrl{display:flex;align-items:center;gap:4px}.pager-size{width:112px}.pg-btn{min-width:30px;height:30px;border:1px solid var(--border);border-radius:var(--r-control);background:var(--surface)}.pg-btn.is-active{color:var(--primary)}.tag{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:999px;background:var(--canvas);color:var(--ink-muted);font-size:12px;white-space:nowrap}.tag.tone-ok{color:var(--status-ok);background:var(--status-ok-bg)}.tag.tone-danger{color:var(--status-overdue);background:var(--status-overdue-bg)}.tag.tone-info{color:var(--status-progress);background:var(--status-progress-bg)}.tag-dot{width:6px;height:6px;border-radius:999px;background:currentColor}.tag.tone-warning{color:var(--status-due);background:var(--status-due-bg)}.stat-card.tone-danger strong{color:var(--status-overdue)}.stat-card.tone-warning strong{color:var(--status-due)}.stat-card.tone-ok strong{color:var(--status-ok)}.stat-card.tone-info strong{color:var(--status-progress)}.stat-card.tone-neutral strong{color:var(--status-muted)}.table-wrap{max-width:100%;min-width:0;overflow-x:auto}.table-cards{display:none}.table-card{padding:16px;border:1px solid var(--border);border-radius:var(--r-card);background:var(--surface)}.table-card+.table-card{margin-top:12px}.table-card-field{display:grid;grid-template-columns:96px minmax(0,1fr);align-items:start;gap:8px;padding:8px 0;border-bottom:1px solid var(--border)}.table-card-field:last-child{border:0}.table-card-field>strong{color:var(--ink-muted);font-size:12px}.table-card-field>div{min-width:0;overflow-wrap:anywhere}.table-card-select{display:flex;align-items:center;gap:8px}@media (max-width: 600px){.has-mobile-cards>.table{display:none}.table-cards{display:block}.table-wrap.has-mobile-cards{overflow:visible}.table-card .due-date{white-space:normal}}.toast-host{--toast-h: 44px;position:fixed;left:50%;bottom:28px;z-index:300;width:min(460px,calc(100vw - 32px));height:var(--toast-h);translate:-50% 0;pointer-events:none}.toast-host:empty{display:none}.toast-slot{position:absolute;inset-inline:0;bottom:0;display:flex;justify-content:center;pointer-events:auto;transform-origin:50% 100%;transform:translateY(calc(var(--depth) * -9px)) scale(calc(1 - var(--depth) * .05));opacity:calc(1 - var(--depth) * .28);z-index:calc(10 - var(--depth));transition:transform .42s ease,opacity .3s ease}.toast-host.is-expanded .toast-slot{transform:translateY(calc(var(--depth) * (var(--toast-h) + 8px) * -1));opacity:1}.toast{display:inline-flex;align-items:center;gap:10px;max-width:100%;min-height:var(--toast-h);padding:8px 8px 8px 14px;border-radius:var(--r-card);font-size:13px;color:var(--ink)}.toast-msg{min-width:0;overflow-wrap:anywhere}.toast-dot{width:8px;height:8px;border-radius:50%;flex:none;background:var(--status-ok)}.toast.tone-danger .toast-dot{background:var(--status-overdue)}.toast.tone-info .toast-dot{background:var(--status-progress)}.toast-close{display:inline-flex;justify-content:center;align-items:center;width:26px;height:26px;flex:none;border:0;background:transparent;color:var(--ink-2)}.toast-ring circle{fill:none;stroke-width:1.6}.toast-ring .ring-track{stroke:var(--rule)}.toast-ring .ring-time{stroke:currentColor;stroke-dasharray:44;transform:rotate(-90deg);transform-origin:center;animation:toast-count linear forwards}.toast.is-paused .ring-time{animation-play-state:paused}.toast-ring path{fill:none;stroke:currentColor;stroke-width:1.5}@keyframes toast-count{to{stroke-dashoffset:44}}.confirm-body{display:flex;align-items:flex-start;gap:12px}.confirm-icon{color:var(--status-progress)}.confirm-icon.is-danger{color:var(--status-overdue)}.confirm-text{margin:0}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:grid;place-items:center;padding:24px;background:var(--scrim)}.modal,.drawer{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);box-shadow:var(--e2)}.modal{width:100%;max-height:calc(100dvh - 48px)}.modal-head,.drawer-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:20px 22px 8px}.modal-heading-inner{min-width:0}.modal-title{margin:0;font-size:16px}.modal-sub{color:var(--ink-muted);font-size:12px}.modal-body,.drawer-body{overflow-y:auto;padding:12px 22px 20px}.modal-foot,.drawer-foot{display:flex;justify-content:flex-end;gap:8px;padding:12px 22px;border-top:1px solid var(--border)}.drawer-overlay{place-items:stretch end;grid-template-rows:minmax(0,1fr);padding:8px}.drawer{width:520px;max-width:calc(100vw - 16px);height:100%}.drawer-body{flex:1;min-height:0}.float-bar{position:fixed;left:50%;bottom:24px;z-index:140;display:flex;align-items:center;gap:8px;max-width:calc(100vw - 24px);overflow-x:auto;padding:8px 14px;transform:translate(-50%);border:1px solid var(--border);border-radius:999px;background:var(--sidebar);color:var(--canvas-ink);box-shadow:var(--e2);white-space:nowrap}.float-bar .btn{flex:none}.float-bar label{display:flex;align-items:center;gap:6px}.float-bar-sep{width:1px;height:20px;background:var(--canvas-line)}.command-panel{width:min(100%,520px);max-height:min(80dvh,600px);overflow:hidden;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);box-shadow:var(--e2)}.command-input{width:100%;height:56px;border:0;border-bottom:1px solid var(--border);padding:0 20px;outline:0}.command-results{position:relative;overflow-y:auto;padding:8px}.command-results button{position:relative;z-index:1;width:100%;display:flex;justify-content:space-between;gap:12px;border:0;border-radius:var(--r-control);padding:9px 12px;text-align:left;background:none;color:var(--ink)}.command-results button.is-active{color:var(--primary)}.command-results small,.command-panel footer{color:var(--ink-muted)}.command-panel footer{padding:12px;border-top:1px solid var(--border);font-size:12px}.command-thumb{position:absolute;z-index:0;border:1px solid var(--border);border-radius:var(--r-control);background:var(--canvas);pointer-events:none}.import-steps{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}.import-summary{display:flex;gap:12px;flex-wrap:wrap;padding:12px;background:var(--canvas)}.file-button input{position:absolute;opacity:0;width:1px;height:1px}.record-form{display:grid;gap:8px}.record-form>label{font-weight:600}.record-form input,.record-form select,.record-form textarea,.form-grid .field>input,.form-grid .field>select{width:100%;min-height:var(--control-h);border:1px solid var(--border);border-radius:var(--r-control);padding:7px 10px;background:var(--surface);color:var(--ink)}.record-form .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.record-form .form-grid>div{display:grid;gap:6px}.record-form>.button.full,.form-grid>.button.full{display:none}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-grid .field{min-width:0}@media (max-width: 600px){.key-value,.form-grid,.record-form .form-grid{grid-template-columns:1fr}.pager-ctrl{flex-wrap:wrap}.float-bar{width:calc(100vw - 24px);border-radius:var(--r-card)}.command-panel{max-height:85dvh}}.stamp-mark{display:inline-flex;width:56px;height:56px;padding:3px;border:2px solid currentColor;border-radius:50%;color:var(--status-ok);transform:rotate(-12deg);opacity:.9}.stamp-ring{flex:1;display:grid;place-items:center;border:1px solid currentColor;border-radius:50%;font-size:12px;font-weight:800;letter-spacing:.08em}.stamp-jade{color:var(--jade)}.stamp-danger{color:var(--status-overdue)}.stamp-mark.is-playing{animation:stamp-press .52s cubic-bezier(.2,.9,.25,1.2) both}.step-spine{position:relative;margin-left:12px;padding-left:12px;border-left:2px solid var(--border);transition:border-color .16s ease}.step-spine.step-finished{border-left-color:var(--status-ok)}.step-spine .task-number.done{background:var(--status-ok);color:var(--surface)}.step-spine:not(.step-finished) .task-number{border-color:var(--status-progress)}.step-spine .task-number{transition:background .16s ease,border-color .16s ease}.step-spine.step-current{border-left-color:var(--status-progress)}.step-spine.step-current .task-number{animation:step-pulse 1.6s ease-in-out infinite}@keyframes step-pulse{50%{box-shadow:0 0 0 4px var(--status-progress-bg)}}.float-bar.in-drawer{z-index:250}.scope-matrix-scroll{max-width:100%;overflow-x:auto;border:1px solid var(--border);border-radius:var(--r-card)}.scope-matrix{min-width:800px;background:var(--surface)}.scope-matrix-row{display:grid;grid-template-columns:200px repeat(6,minmax(100px,1fr));border-bottom:1px solid var(--border)}.scope-matrix-row:last-child{border-bottom:0}.scope-matrix-row>div{display:flex;align-items:center;min-width:0;padding:8px;border-right:1px solid var(--border)}.scope-matrix-row>div:last-child{border-right:0}.scope-matrix-head{background:var(--paper);font-weight:700}.scope-matrix-owner{gap:8px}.scope-matrix-slot,.scope-matrix-row.is-row-hover>div,.scope-matrix-slot.is-col-hover{background:var(--paper)}.scope-matrix-cell{width:100%;border:0;padding:8px 0;background:transparent;cursor:pointer}.scope-matrix-cell:focus-visible{outline:2px solid var(--plate-yellow);outline-offset:-2px}.scope-matrix-cell:disabled{cursor:wait}.scope-matrix-empty{color:var(--ink-3)}.company-card>.button{justify-self:start}.filter-bar>label{flex:0 0 auto;min-width:0;max-width:none;white-space:nowrap}.filter-bar>label:has(input[type=checkbox]){display:inline-flex;align-items:center;gap:8px}.board{display:grid;grid-template-columns:repeat(5,minmax(180px,1fr));gap:12px;overflow-x:auto;margin-top:16px}.board-col{min-width:0;padding:12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card)}.board-col-head{display:flex;align-items:center;gap:8px;padding:8px 0 12px;border-bottom:1px solid var(--border);font-weight:700}.board-col-count{margin-left:auto;color:var(--ink-2)}.board-dot{width:8px;height:8px;border-radius:50%;background:var(--status-progress)}.board-col-body{display:grid;align-content:start;gap:8px;padding-top:12px;min-height:140px}.board-card{position:relative;padding:12px;border:1px solid var(--border);border-radius:var(--r-control);background:var(--paper)}.board-card p{margin:8px 0;color:var(--ink-2)}.board-card .record-row{padding:8px 0 0}.board-card-menu{display:flex;justify-content:flex-end}.board-menu{position:absolute;z-index:5;right:8px;display:grid;padding:8px;border:1px solid var(--border);border-radius:var(--r-control);background:var(--surface);box-shadow:var(--e2)}.board-menu .menu-item{padding:8px;border:0;background:transparent;color:var(--ink);text-align:left}.board-empty{color:var(--ink-2)}.filter-bar{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin-top:12px}.filter-bar .field{flex:0 1 170px}.filter-bar label{display:grid;gap:8px}.filter-bar>label{display:flex;align-items:center;gap:8px}.board-col.is-over{border-color:var(--status-progress)}.board-card.is-placeholder{opacity:.35}.board-ghost{position:fixed;top:0;left:0;z-index:180;pointer-events:none;box-shadow:var(--e2)}.board-card-menu .board-menu-btn{min-height:28px;border:1px solid var(--border);border-radius:var(--r-control);background:var(--surface);color:var(--ink)}.board-menu .menu-item:hover{background:var(--jade-soft)}.board-card select{width:100%;margin-top:8px}@media (max-width: 820px){.board{display:flex;scroll-snap-type:x mandatory}.board-col{flex:0 0 min(85vw,300px);scroll-snap-align:start}.filter-bar .field{flex-basis:calc(50% - 6px)}}@keyframes stamp-press{0%{transform:rotate(-12deg) scale(1.9);opacity:0}55%{transform:rotate(-12deg) scale(.92);opacity:1}75%{transform:rotate(-12deg) scale(1.04)}to{transform:rotate(-12deg) scale(1);opacity:.9}}@media (prefers-reduced-motion: reduce){.stamp-mark.is-playing{animation:none}}@media (prefers-reduced-motion: reduce){.step-spine,.step-spine .task-number{transition:none;animation:none}}.stamp-float{position:fixed;z-index:260;pointer-events:none}.table td{overflow-wrap:anywhere}@media (max-width: 600px){.overlay{padding:12px}.modal-head,.drawer-head{padding:18px 18px 4px}.modal-body,.drawer-body{padding:12px 18px 18px}.modal-foot,.drawer-foot{padding:12px 18px}}.switch.is-disabled{opacity:.45;cursor:not-allowed}.record-form .input-shell input,.record-form .input-shell textarea{width:100%;min-height:0;border:0;border-radius:0;padding:0;background:transparent}.seg-thumb{top:3px;bottom:3px;height:auto}.page>.segmented,.stack>.segmented{justify-self:start}select:not([multiple]){-moz-appearance:none;appearance:none;-webkit-appearance:none;min-height:var(--control-h);padding:6px 30px 6px 10px;border:1px solid var(--border);border-radius:var(--r-control);background:var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3 4.5 6 7.5 9 4.5' fill='none' stroke='%234E5D55' stroke-width='1.4'/%3E%3C/svg%3E") no-repeat right 10px center / 12px 12px;color:var(--ink);font:inherit;cursor:pointer}select:not([multiple]):focus-visible{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #f2c23073}.filter-bar>.field{flex:0 1 200px;min-width:160px;max-width:240px}.filter-bar>.field:first-child{flex-basis:260px;max-width:320px}.date-input{position:relative;display:inline-flex;align-items:center;gap:4px;min-width:150px;padding:0 4px 0 10px}.date-input:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px #f2c23073}.date-input>input.date-text.date-text:not([type=file]){flex:1;min-width:0;width:100%;min-height:calc(var(--control-h) - 2px);padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;outline:none;color:var(--ink);font:inherit;font-variant-numeric:tabular-nums}.date-input .date-pick{display:inline-flex;align-items:center;justify-content:center;flex:none;width:28px;height:28px;border:0;border-radius:var(--r-control);background:none;color:var(--ink-muted);cursor:pointer}.date-input .date-pick:hover{background:var(--canvas);color:var(--primary)}.date-input .date-native{position:absolute;right:0;bottom:0;width:1px;height:1px;padding:0;border:0;opacity:0;pointer-events:none}.date-input.is-disabled{opacity:.6}.board-dot.tone-ok{background:var(--status-ok)}.board-dot.tone-due{background:var(--status-due)}.board-dot.tone-overdue{background:var(--status-overdue)}.board-dot.tone-muted{background:var(--status-muted)}.board .text-button{text-align:left}.plate-chip-pair{display:inline-flex;flex-wrap:nowrap;gap:4px;white-space:nowrap;vertical-align:middle}@media (max-width: 600px){.segmented button{padding:7px 8px}}@media (max-width: 600px){.table-card{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px;padding:12px 16px}.table-card-select,.table-card-field.is-wide{grid-column:1 / -1}.table-card-field{grid-template-columns:1fr;gap:2px;padding:8px 0;border-bottom:0}.table-card-field.is-wide:first-of-type{border-bottom:1px solid var(--border);padding-bottom:8px;margin-bottom:4px}.table-card-field.is-wide:not(:first-of-type){border-top:1px solid var(--border);margin-top:4px}.table-card-field:has(.fee-actions:empty),.table-card-field:has(.row-actions:empty){display:none}}.app-shell{display:flex;min-width:0;min-height:100dvh}.sidebar{width:232px;flex:none;position:sticky;top:0;height:100dvh;display:flex;flex-direction:column;padding:24px 12px;background:var(--sidebar);color:var(--canvas-ink)}.brand{display:flex;align-items:center;gap:12px;padding:0 12px 32px}.brand strong,.brand small{display:block}.brand small{color:var(--canvas-secondary);font-size:12px}.brand-icon{flex:none;display:grid;place-items:center;width:44px;height:44px;border:3px double var(--canvas-secondary);border-radius:50%;color:var(--canvas-ink);font-size:16px;font-weight:700;line-height:1;text-align:center}.nav-group-title{color:var(--canvas-secondary);font-size:12px;padding:0 12px 12px}.nav-item{display:flex;align-items:center;gap:12px;width:100%;min-height:44px;margin-bottom:4px;padding:8px 12px;border:0;border-radius:var(--r-control);background:transparent;color:var(--canvas-secondary);text-align:left}.nav-item:hover,.nav-item.active{background:var(--sidebar-active);color:var(--canvas-ink)}.nav-symbol{flex:none}.nav-count{margin-left:auto;padding:2px 6px;border-radius:var(--r-control);background:var(--status-due);color:var(--surface);font-size:12px}.sidebar-bottom{margin-top:auto}.source-mini{display:flex;align-items:center;gap:8px;padding:12px;color:var(--canvas-secondary);font-size:12px;border-top:1px solid var(--canvas-line)}.profile{display:flex;align-items:center;gap:8px;width:100%;padding:12px;border:0;border-top:1px solid var(--canvas-line);background:transparent;color:var(--canvas-ink);text-align:left}.profile small{display:block;color:var(--canvas-secondary)}.logout-icon{margin-left:auto}.content{flex:1;min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:60px;padding:0 24px;border-bottom:1px solid var(--border)}.breadcrumbs{min-width:0;color:var(--ink-2)}.today{color:var(--ink-3);font-size:12px}.workspace{width:100%;max-width:1450px;min-width:0;margin:0 auto;padding:24px}.page-transition,.workspace{min-width:0}.page>div,.page>section,.page-transition>div{min-width:0}.page{min-width:0;display:grid;gap:16px}.page-head{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:16px}.page-title{font-size:22px;margin:0}.page-desc{margin:4px 0 0;color:var(--ink-muted)}.page-actions{display:flex;gap:8px;flex-wrap:wrap}.stack{min-width:0;display:grid;gap:16px}.search-form{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap;padding:16px;border-radius:var(--r-card)}.search-form .field{width:min(100%,220px)}.search-actions{display:flex;gap:8px;margin-left:auto}.panel-head{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}.content{min-width:0}.workspace{padding:24px}.topbar{background:var(--surface);border-color:var(--border)}.cmd-trigger{min-height:var(--control-h);padding:0 12px;border:1px solid var(--border);border-radius:var(--r-control);background:var(--surface);color:var(--ink)}.nav-item.active{box-shadow:inset 3px 0 var(--canvas-tick)}.sidebar{position:sticky}.nav-thumb{position:absolute;left:0;top:0;width:3px;height:0;background:var(--canvas-tick);pointer-events:none}.nav-item.active{background:var(--sidebar-active);border-radius:var(--r-control);box-shadow:none}.top-actions{display:flex;align-items:center;gap:10px}.page-transition{min-width:0}.topbar .mobile-logout{display:none}@media (max-width: 820px){.sidebar{position:fixed;left:0;top:0;z-index:30;width:min(280px,85vw);padding:25px 14px 18px;transform:translate(-100%);transition:transform .25s;box-shadow:var(--e2)}.sidebar.is-open{transform:translate(0)}.sidebar .brand{justify-content:flex-start;padding-bottom:38px}.sidebar .brand>div:last-child,.sidebar .nav-group-title,.sidebar .sidebar-bottom{display:block}.sidebar .nav-item{justify-content:flex-start;gap:13px;padding:11px 15px;font-size:13px}.sidebar .nav-item>span{display:inline}.sidebar .nav-item>.nav-count{display:inline-flex}.sidebar .nav-symbol{width:19px!important}.sidebar .nav-count{display:inline-flex}.sidebar-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:29;background:var(--scrim)}.mobile-menu{display:inline-flex!important}.content{width:100%;min-width:0}.workspace{padding:16px}.topbar{padding:0 16px;gap:8px}.topbar .today,.topbar .topbar-divider,.topbar .topbar-avatar{display:none}.topbar .mobile-logout{display:inline-grid}.breadcrumbs{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmd-trigger{white-space:nowrap}}@media (max-width: 450px){.sidebar{width:min(280px,85vw);padding:25px 14px 18px}.content{width:100%}}.login{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(400px,1fr);min-height:100dvh;padding:14px;background:var(--canvas)}.login:not(.is-entrance-ready) .login-brand,.login:not(.is-entrance-ready) .hero-line,.login:not(.is-entrance-ready) .cap-item,.login:not(.is-entrance-ready) .login-card,.login:not(.is-entrance-ready) .login-plate,.login:not(.is-entrance-ready) .login-dial{opacity:0}.login-canvas{position:relative;isolation:isolate;display:flex;flex-direction:column;min-height:calc(100dvh - 28px);padding:34px 40px 28px;overflow:hidden;border-radius:var(--r-panel);background:var(--sidebar);color:var(--canvas-ink)}.login-canvas:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20360%20180'%3e%3cg%20fill='none'%20stroke='%23F2C230'%20stroke-width='1'%3e%3cpath%20d='M-20%2060c60-90%20120%2090%20180%200s120%2090%20180%200%20120%2090%20180%200M-20%2068c60-90%20120%2090%20180%200s120%2090%20180%200%20120%2090%20180%200M-20%2076c60-90%20120%2090%20180%200s120%2090%20180%200%20120%2090%20180%200M-20%2084c60-90%20120%2090%20180%200s120%2090%20180%200%20120%2090%20180%200'/%3e%3cpath%20d='M-20%20120c60-90%20120%2090%20180%200s120%2090%20180%200%20120%2090%20180%200M-20%20128c60-90%20120%2090%20180%200s120%2090%20180%200%20120%2090%20180%200M-20%20136c60-90%20120%2090%20180%200s120%2090%20180%200%20120%2090%20180%200'/%3e%3c/g%3e%3c/svg%3e") repeat;background-size:360px 180px;opacity:.05;pointer-events:none}.canvas-grid{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background-image:linear-gradient(var(--canvas-line) 1px,transparent 1px),linear-gradient(90deg,var(--canvas-line) 1px,transparent 1px);background-size:56px 56px}.login-canvas .neural-net{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none}.login-brand{display:flex;align-items:center;gap:12px;position:relative;z-index:1}.login-brand strong,.login-brand small{display:block}.login-brand small{color:var(--canvas-secondary)}.login-brand .brand-mark{display:grid;place-items:center;width:44px;height:44px;border:3px double var(--canvas-secondary);border-radius:50%;font-size:16px;line-height:1;font-weight:700;text-align:center}.canvas-main{position:relative;z-index:1;flex:1;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:32px;padding:40px 0 24px}.canvas-copy{display:grid;gap:18px}.login-title{color:var(--canvas-ink);font-size:36px;line-height:1.2;margin:0}.login-lead{color:var(--canvas-secondary);margin:0;font-size:16px}.login-dial{position:relative;width:clamp(200px,21vw,300px);aspect-ratio:1}.login-dial svg{width:100%;height:100%}.dial-tick{stroke:var(--canvas-line);stroke-width:.7}.dial-tick.is-major{stroke-width:1.1}.dial-tick.is-on{stroke:var(--canvas-tick)}.dial-center{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;text-align:center;gap:6px}.dial-time{font-size:26px;font-variant-numeric:tabular-nums}.dial-date{font-size:12px;color:var(--canvas-secondary)}.canvas-plates{position:relative;z-index:1;display:flex;gap:14px;flex-wrap:wrap}.login-plate{border:1px solid var(--canvas-line);background:var(--sidebar-active);border-radius:var(--r-card)}.login-plate.is-health{display:grid;grid-template-columns:auto auto;align-content:center;align-items:center;gap:6px 10px;padding:14px 18px}.login-plate.is-health>span:first-child,.login-plate.is-health small{grid-column:1 / -1}.login-plate small{color:var(--canvas-secondary)}.health-dot{width:8px;height:8px;border-radius:999px;background:var(--status-overdue)}.health-dot.is-ok{background:var(--canvas-tick)}.cap-list{list-style:none;margin:0;padding:14px 16px;display:grid;grid-template-columns:repeat(2,minmax(0,220px));gap:12px 20px;flex:1}.cap-item strong,.cap-item small{display:block}.login-side{display:grid;place-items:center;padding:32px clamp(20px,4vw,64px);perspective:1200px}.login-side .login-card{width:100%;max-width:420px;padding:0;border:1px solid var(--border);border-radius:var(--r-card);background:var(--surface);box-shadow:var(--e2);transform-style:preserve-3d}.login-side .login-card .field-label{margin:0;color:var(--ink);font-size:14px;font-weight:600}.login-side .login-card .checkbox{display:inline-flex;justify-self:start;align-items:center;white-space:nowrap;font-weight:400}.login-side .login-card .input-shell input{border:0;border-radius:0;padding:0;height:40px;background:transparent}.login-side .login-card .field-error{color:var(--status-overdue);font-size:12px}.login-side .login-card .btn{width:100%}.login-card-inner{padding:32px}.login-card-inner h2{font-size:22px;margin:0}.login-card-inner p{color:var(--ink-muted);margin:6px 0 0}.login-form{display:grid;gap:16px;margin-top:24px}.login-form .input-shell{min-height:42px}.login-submit-slot{display:flex;justify-content:center;min-height:46px}.success-orb{display:grid;place-items:center;width:46px;height:46px;border-radius:999px;background:var(--primary);color:var(--surface)}.success-orb circle,.success-orb path{fill:none;stroke:currentColor;stroke-width:2.5}@media (max-width: 1180px){.canvas-main{grid-template-columns:1fr}.login-dial{display:none}}@media (max-width: 819px){.login{grid-template-columns:minmax(0,1fr);padding:0}.login-canvas{min-height:220px;padding:20px 24px;border-radius:0}.canvas-main{padding:24px 0 0}.canvas-plates,.login-dial{display:none}.login-title{font-size:22px}.login-lead{font-size:14px}.login-side{min-height:calc(100dvh - 220px);padding:24px 16px}.login-card-inner{padding:24px}}body{background:var(--canvas);color:var(--ink);font-family:var(--font-body)}.sidebar{background:var(--sidebar)}.nav-item.active{background:var(--sidebar-active)}.panel,.customer-card,.source-card{background:var(--surface);border-color:var(--border);border-radius:var(--r-card);box-shadow:var(--e1)}.button.primary{background:var(--primary);border-color:var(--primary)}.page-heading .eyebrow{display:none}.page-heading h1{font-size:22px}.panel-head h2{font-size:16px}.page-heading:has(.plate-chip){position:relative;isolation:isolate;overflow:hidden}.page-heading:has(.plate-chip):before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20360%20180'%3e%3cg%20fill='none'%20stroke='%23F2C230'%20stroke-width='1'%3e%3cpath%20d='M-20%2060c60-90%20120%2090%20180%200s120%2090%20180%200%20120%2090%20180%200M-20%2068c60-90%20120%2090%20180%200s120%2090%20180%200%20120%2090%20180%200M-20%2076c60-90%20120%2090%20180%200s120%2090%20180%200%20120%2090%20180%200M-20%2084c60-90%20120%2090%20180%200s120%2090%20180%200%20120%2090%20180%200'/%3e%3cpath%20d='M-20%20120c60-90%20120%2090%20180%200s120%2090%20180%200%20120%2090%20180%200M-20%20128c60-90%20120%2090%20180%200s120%2090%20180%200%20120%2090%20180%200M-20%20136c60-90%20120%2090%20180%200s120%2090%20180%200%20120%2090%20180%200'/%3e%3c/g%3e%3c/svg%3e") repeat;background-size:360px 180px;opacity:.05;pointer-events:none}.table-wrap{max-width:100%;overflow-x:auto}.table-wrap th,.table-wrap td{height:var(--row-h)}.mobile-menu{display:none;border:0;background:none;color:var(--ink)}.approval-admin-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(320px,1fr);gap:28px;align-items:start}.card-form-grid{max-height:800px;overflow:auto;margin-bottom:18px}.card-field-status{display:inline-block;margin-left:8px;color:var(--status-due);font-size:12px;font-weight:650}.card-field-status.failed{color:var(--status-overdue)}.preview-note{font-size:12px;color:var(--ink-muted);margin:12px 0}.scan-details{border-top:1px solid var(--border);margin-top:26px;padding-top:18px}.scan-details summary{cursor:pointer;font-weight:650;margin-bottom:16px}@media (max-width: 1100px){.approval-admin-grid{grid-template-columns:1fr}}@media (max-width: 600px){.modal{max-width:calc(100vw - 24px)!important}.page-heading{min-width:0}.page-heading h1{overflow-wrap:anywhere}.heading-actions{display:flex;flex-wrap:wrap}.request-form{min-width:0}.form-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px}}.page-heading{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:20px;min-width:0}.page-heading h1{margin:4px 0;color:var(--ink)}.page-heading p{margin:0;color:var(--ink-2)}.heading-actions{display:flex;gap:8px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;min-height:var(--control-h);padding:0 12px;border:1px solid var(--border);border-radius:var(--r-control);background:var(--surface);color:var(--ink);font-weight:600;white-space:nowrap}.button.primary{color:var(--surface)}.button:hover,.btn:hover{border-color:var(--primary)}.button:disabled{opacity:.5;cursor:not-allowed}.back,.text-button,.phase-link{border:0;background:transparent;color:var(--primary);padding:4px 0;font-weight:600;text-decoration:none}.text-button:hover,.back:hover,.phase-link:hover{text-decoration:underline}.row-actions{display:inline-flex;align-items:center;gap:12px;white-space:nowrap}.panel{min-width:0;padding:20px;margin-bottom:16px;border:1px solid var(--border);border-radius:var(--r-card)}.panel-head{margin-bottom:16px}.panel-head h2{margin:0}.panel-head p{margin:4px 0 0;color:var(--ink-2);font-size:12px}.grid-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:24px 0}.stat-card{min-width:0}.stat-card:focus-visible{outline-color:var(--plate-yellow)}.filter-bar{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin-bottom:16px}.filter-bar label{display:grid;gap:4px;min-width:160px;max-width:240px}.filter-bar select{width:100%}.filter-bar .segmented{margin-right:auto}.badge{display:inline-flex;align-items:center;align-self:center;justify-self:start;flex:none;width:fit-content;padding:3px 8px;border-radius:var(--r-control);background:var(--status-ok-bg);color:var(--status-ok);font-size:12px;white-space:nowrap}.badge.amber,.badge.warning{background:var(--status-due-bg);color:var(--status-due)}.badge.danger{background:var(--status-overdue-bg);color:var(--status-overdue)}.badge.muted,.badge.gray{background:var(--status-muted-bg);color:var(--status-muted)}.badge.success{background:var(--status-ok-bg);color:var(--status-ok)}.customer-summary{display:flex;align-items:center;flex-wrap:wrap;gap:0;padding:12px 16px;margin:0 0 16px;border:1px solid var(--border);border-radius:var(--r-card);background:var(--surface)}.customer-summary>span{display:inline-flex;align-items:baseline;gap:4px;padding:4px 16px;border-right:1px solid var(--border);white-space:nowrap}.customer-summary>span:last-child{border:0}.customer-summary strong{font-variant-numeric:tabular-nums}.record-row,.task-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;min-height:var(--row-h);padding:10px 0;border-top:1px solid var(--border)}.record-row>div:first-child,.task-main{flex:1;min-width:160px}.record-row strong,.task-main strong{display:block}.record-row small,.task-main small{display:block;color:var(--ink-2);font-size:12px}.list-row{display:flex;align-items:center;gap:12px;width:100%;min-height:var(--row-h);padding:8px 0;border:0;border-top:1px solid var(--border);background:transparent;color:var(--ink);text-align:left}.list-main{flex:1;min-width:0}.list-main strong,.list-main small{display:block}.list-main small{color:var(--ink-2);font-size:12px}.list-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:var(--r-control);background:var(--jade-soft);color:var(--jade)}.empty{padding:24px;text-align:center;color:var(--ink-2)}.table-panel{overflow:hidden}.table-wrap table:not(.table){min-width:850px;width:100%;border-collapse:collapse}.table-wrap th,.table-wrap td{padding:8px 12px;border-bottom:1px solid var(--border);text-align:left}.table-wrap th{color:var(--ink-2);font-size:12px}.table-wrap td{font-size:13px}.table-wrap td:has(.due-date){font-variant-numeric:tabular-nums}.customer-grid,.source-grid,.company-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.customer-card,.source-card,.company-card{display:grid;gap:8px;min-width:0;padding:16px;border:1px solid var(--border);border-radius:var(--r-card);background:var(--surface);text-align:left}.customer-card p,.source-card p{margin:0;color:var(--ink-2)}.company-group-block,.rule-group{min-width:0;margin-top:20px}.company-group-block h3,.rule-group h3{margin:0 0 12px;font-size:16px}.company-card-actions,.form-actions,.import-steps{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.description,.dialog-note,.guidance{color:var(--ink-2)}.error{color:var(--status-overdue)}.inline-date{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.rule-group .table-wrap{width:100%}.rule-group .table th:first-child,.rule-group .table td:first-child{min-width:170px}.rule-group .table th:nth-child(2),.rule-group .table td:nth-child(2){min-width:240px}.rule-group .table th:nth-child(3),.rule-group .table td:nth-child(3){min-width:220px}.missing-note{color:var(--status-muted)}.filter-bar select,.panel select,.panel input:not([type=checkbox]):not([type=file]),.panel textarea{min-height:var(--control-h);max-width:100%;padding:6px 10px;border:1px solid var(--border);border-radius:var(--r-control);background:var(--surface);color:var(--ink)}.filter-bar select:focus-visible,.panel select:focus-visible,.panel input:focus-visible{border-color:var(--plate-yellow)}.panel .input-shell input{padding:0;border:0;background:transparent}.panel .date-input{font-variant-numeric:tabular-nums}.panel .input-shell input:not([type=checkbox]):not([type=file]){padding:0;border:0;background:transparent}.detail-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:16px;align-items:start}.detail-grid>*{min-width:0}.task-number{display:grid;place-items:center;flex:none;width:28px;height:28px;border:1px solid var(--border);border-radius:50%;font-variant-numeric:tabular-nums}.task-number.done{border-color:var(--status-ok);color:var(--status-ok)}.activity-row{display:flex;gap:12px;padding:12px 0;border-top:1px solid var(--border)}.activity-dot{width:8px;height:8px;margin-top:6px;border-radius:50%;background:var(--status-progress)}.activity-row strong,.activity-row small{display:block}.activity-row small{color:var(--ink-2);font-size:12px}.company-card-title,.company-card-actions,.source-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.company-card>span,.lookup-result>span{display:block}.company-status{display:inline-flex;width:fit-content;padding:2px 8px;border-radius:var(--r-control);background:var(--status-ok-bg);color:var(--status-ok)}.company-status.warning{background:var(--status-due-bg);color:var(--status-due)}.company-status.dissolved,.company-dissolved{color:var(--status-overdue)}.group-plates{border-top:1px dashed var(--rule);padding-top:12px}.lookup-box,.lookup-result{display:grid;gap:8px;padding:12px;border:1px solid var(--border);background:var(--canvas)}.source-code,.source-foot{color:var(--ink-2);font-size:12px}.source-card h2{margin:0;font-size:16px}.workspace-message{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;margin-bottom:16px;border:1px solid var(--status-overdue);border-radius:var(--r-control);background:var(--status-overdue-bg)}.workspace-message button{border:0;background:transparent;color:inherit}.health-state{display:inline-flex;align-items:center;gap:6px}.health-dot{flex:none;width:8px;height:8px;border-radius:50%}.health-red{background:var(--status-overdue)}.health-amber{background:var(--status-due)}.health-green{background:var(--status-ok)}.deadline-row,.health-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--border)}.deadline-head{color:var(--ink-2);font-size:12px}.deadline-field{min-width:0}.deadline-operation,.record-right{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.deadline-label,.rule-source-note{color:var(--ink-2);font-size:12px}.phase-filters,.company-status-list{display:flex;gap:8px;flex-wrap:wrap}.source-link{display:grid;gap:4px;color:var(--primary)}.source-link small{color:var(--ink-2)}.health-button{display:inline-flex;align-items:center;gap:8px;border:0;background:transparent;color:var(--ink)}.expiry-edit input{max-width:180px}.badge.large{padding:6px 12px}.metric-action{text-align:left}.metric-label{color:var(--ink-2);font-size:12px}@media (max-width: 600px){.deadline-row,.health-row{grid-template-columns:1fr 1fr}.deadline-head{display:none}.expiry-edit input{width:100%;max-width:none}}@media (max-width: 900px){.detail-grid{grid-template-columns:1fr}}.card-upload-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.card-upload-grid>div{min-width:0}.card-upload-grid strong{display:block}.card-image{max-width:100%}.card-placeholder{display:grid;place-items:center;min-height:160px;border:1px dashed var(--border);background:var(--canvas)}.card-upload-grid input{max-width:100%}@media (max-width: 900px){.grid-two{grid-template-columns:1fr}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 600px){.workspace{padding:16px}.page-head,.page-heading{align-items:start;flex-direction:column}.page-head-side,.page-actions{width:100%;flex-wrap:wrap}.page-actions .btn{flex:0 1 auto}.metrics{margin-top:16px}.panel{padding:16px}.customer-grid,.source-grid,.company-columns,.card-upload-grid{grid-template-columns:1fr}.customer-summary>span{width:50%;border-right:0}.filter-bar label{flex:1 1 160px}.filter-bar .segmented,.heading-actions{width:100%}.table-wrap:not(.has-mobile-cards){overflow-x:auto}}.guilloche-panel{position:relative;isolation:isolate;overflow:hidden}.guilloche-panel:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20360%20180'%3e%3cg%20fill='none'%20stroke='%23F2C230'%20stroke-width='1'%3e%3cpath%20d='M-20%2060c60-90%20120%2090%20180%200s120%2090%20180%200%20120%2090%20180%200M-20%2068c60-90%20120%2090%20180%200s120%2090%20180%200%20120%2090%20180%200M-20%2076c60-90%20120%2090%20180%200s120%2090%20180%200%20120%2090%20180%200M-20%2084c60-90%20120%2090%20180%200s120%2090%20180%200%20120%2090%20180%200'/%3e%3cpath%20d='M-20%20120c60-90%20120%2090%20180%200s120%2090%20180%200%20120%2090%20180%200M-20%20128c60-90%20120%2090%20180%200s120%2090%20180%200%20120%2090%20180%200M-20%20136c60-90%20120%2090%20180%200s120%2090%20180%200%20120%2090%20180%200'/%3e%3c/g%3e%3c/svg%3e") repeat;background-size:360px 180px;opacity:.08;pointer-events:none}.holder-card{display:grid;grid-template-columns:minmax(200px,1fr) auto minmax(0,max-content);align-items:center;gap:24px;margin:8px 0 16px;padding:20px 24px;border-radius:var(--r-panel);background:var(--jade-deep);color:var(--canvas-ink)}.holder-kicker{color:var(--plate-yellow);font-size:12px;font-weight:700;letter-spacing:.2em}.holder-main h1{margin:4px 0 2px;color:var(--card);font-size:22px}.holder-main p{margin:0;color:var(--canvas-secondary)}.holder-counts{display:flex;margin:0}.holder-counts>div{padding:0 20px;border-left:1px solid var(--canvas-line);text-align:center}.holder-counts dt{color:var(--canvas-secondary);font-size:12px}.holder-counts dd{margin:2px 0 0;color:var(--card);font-size:22px;font-weight:700}.holder-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.danger-zone{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.danger-zone p{margin:4px 0 0;color:var(--ink-2)}@media (max-width: 600px){.danger-zone{flex-direction:column;align-items:flex-start}}.button.on-dark{background:transparent;border-color:var(--canvas-line);color:var(--card)}.button.on-dark option{color:var(--ink)}.stat-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.num{font-variant-numeric:tabular-nums;letter-spacing:.02em}@media (max-width: 900px){.holder-card{grid-template-columns:1fr;gap:16px}.holder-actions{justify-content:flex-start}.holder-counts>div:first-child{border-left:0;padding-left:0}.stat-row{grid-template-columns:repeat(2,minmax(0,1fr))}}.panel .input-shell input,.panel .input-shell textarea{min-height:0;padding:0;border:0;background:transparent}.card-form-grid>div{display:grid;gap:4px;align-content:start}.card-form-grid label{display:flex;align-items:center;gap:6px}.card-form-grid input,.card-form-grid select,.card-form-grid textarea{width:100%}.cell-sub{display:block;margin-top:4px;color:var(--ink-3);font-size:12px}.back{display:inline-flex;align-self:flex-start;justify-self:start;margin-right:auto}.field select,.search-form select,.form-panel select,.record-row select,.task-row select{min-height:var(--control-h);padding:6px 28px 6px 10px;border:1px solid var(--border);border-radius:var(--r-control);background:var(--surface);color:var(--ink)}.form-actions,.form-panel .actions{display:flex;gap:8px;margin-top:12px}.source-link{grid-template-columns:minmax(0,1fr) auto;column-gap:8px}.source-link strong,.source-link small{grid-column:1}.source-link>span{grid-column:2;grid-row:1 / span 2;align-self:center}.attachment-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.file-size{white-space:nowrap}.account-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.driver-plate,.driver-document{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:4px 0}.driver-document>span:first-child{min-width:104px;color:var(--ink-2)}.attachment-note{display:block;margin-top:4px;color:var(--ink-2);font-size:12px}.attachment-confirmed{display:flex;align-items:center;gap:12px;color:var(--status-ok)}.attachment-preview{display:block;width:100%;max-height:70vh;object-fit:contain}.filing-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.filing-head .select{min-width:200px;max-width:260px}.filing-matrix .scope-matrix-row{grid-template-columns:240px repeat(var(--months, 6),minmax(92px,1fr))}.filing-matrix{min-width:0}.filing-matrix .scope-matrix-row>div[role=cell]{justify-content:center}.filing-owner{flex-direction:column;align-items:flex-start!important;gap:2px}.filing-owner span,.cell-sub{color:var(--ink-2);font-size:12px}.filing-none{color:var(--ink-3);font-size:12px}.filing-status{display:flex;align-items:center;gap:12px;min-height:40px}.filing-steps{display:grid;gap:8px;margin:8px 0 16px;padding:12px;border:1px dashed var(--border);border-radius:var(--r-card)}.filing-step{display:grid;grid-template-columns:minmax(0,1fr) 170px 56px;align-items:center;gap:12px}.filing-step-name{display:flex;align-items:center;gap:8px;font-weight:600}.filing-step-name small{color:var(--ink-3);font-weight:400;font-size:12px}.filing-step-mark{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--paper);border:1px solid var(--border);color:var(--ink-2);font-size:12px;font-variant-numeric:tabular-nums}.filing-step.done .filing-step-mark{background:var(--status-ok);border-color:var(--status-ok);color:var(--surface)}.filing-step.off{opacity:.55}.filing-receipt{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.filing-receipt span{color:var(--ink-2);font-size:13px;margin-right:auto}.firm-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--border)}.firm-add{margin-top:16px}.drawer-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}@media (max-width: 720px){.filing-matrix .scope-matrix-row{grid-template-columns:116px repeat(var(--months, 3),minmax(68px,1fr))}.filing-head{flex-direction:column}.filing-head .select{max-width:none;width:100%}.filing-step{grid-template-columns:minmax(0,1fr) 56px;gap:4px 8px}.filing-step .date-input{grid-column:1 / -1;grid-row:2}}.hint{margin:8px 0;color:var(--ink-2);font-size:13px}.report-filters{display:flex;gap:8px}.report-filters .select{min-width:150px}.report-metrics{grid-template-columns:repeat(2,minmax(0,260px))}.report-net{font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}.report-net.is-pay,.report-net-line.is-pay strong{color:var(--status-ok)}.report-net.is-due,.report-net-line.is-due strong{color:var(--status-due)}.report-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}.report-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.report-versions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:8px 0 12px;color:var(--ink-2);font-size:13px}.report-versions button{border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--ink-2);padding:4px 10px;cursor:pointer}.report-versions button.active{border-color:var(--jade);color:var(--jade);font-weight:700}.report-sheet{max-width:794px;margin:0 auto 32px;padding:32px 40px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-panel);box-shadow:var(--shadow-sm, none)}.report-cover{position:relative;display:flex;align-items:center;justify-content:space-between;gap:16px;margin:-32px -40px 0;padding:32px 40px;border-radius:var(--r-panel) var(--r-panel) 0 0;background:var(--jade-deep);color:var(--canvas-ink)}.report-cover h1{margin:6px 0 4px;font-size:28px;color:var(--surface)}.report-cover p{margin:0;color:var(--canvas-ink);opacity:.8}.report-kicker{color:var(--plate-yellow);font-size:12px;font-weight:800;letter-spacing:3px}.report-seal{display:flex;align-items:center;justify-content:center;width:72px;height:72px;border-radius:50%;border:3px solid var(--plate-yellow)}.report-seal span{color:var(--surface);font-size:30px;font-weight:900}.report-stamp{position:absolute;right:120px;top:24px}.report-rule{position:relative;height:0;margin:24px -40px;border-top:2px dashed var(--border)}.report-rule:before,.report-rule:after{content:"";position:absolute;top:-11px;width:20px;height:20px;border-radius:50%;background:var(--paper);border:1px solid var(--border)}.report-rule:before{left:-11px}.report-rule:after{right:-11px}.report-label{color:var(--ink-2);font-size:12px;font-weight:700}.report-net-line{display:flex;align-items:baseline;gap:12px;margin-top:6px}.report-net-line strong{font-size:24px}.report-muted{color:var(--ink-2);font-size:13px;margin:8px 0 0}.report-breakdown{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}.report-breakdown div{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:var(--r-control);background:var(--paper)}.report-breakdown span{color:var(--ink-2);font-size:12px}.report-section{margin-top:24px}.report-section h2{margin:0 0 8px;font-size:16px;color:var(--jade-deep)}.report-section h2 small{color:var(--ink-3);font-size:12px;font-weight:400;margin-left:6px}.report-table{width:100%;border-collapse:collapse;font-size:13px}.report-table th,.report-table td{padding:8px 6px;border-bottom:1px solid var(--border);text-align:left;vertical-align:middle}.report-table th{color:var(--ink-2);font-size:12px;font-weight:600}.report-table .n{text-align:right;white-space:nowrap}.report-foot{margin-top:32px;padding-top:12px;border-top:1px solid var(--border);color:var(--ink-3);font-size:12px}@media (max-width: 720px){.report-sheet{padding:20px 16px;border-radius:var(--r-card)}.report-cover{margin:-20px -16px 0;padding:20px 16px;border-radius:var(--r-card) var(--r-card) 0 0}.report-seal{width:52px;height:52px}.report-seal span{font-size:22px}.report-stamp{right:76px;top:12px;transform:scale(.8)}.report-rule{margin:20px -16px}.report-breakdown{grid-template-columns:1fr}.report-table{display:block;overflow-x:auto}.report-table th,.report-table td{white-space:nowrap}.report-filters{flex-direction:column;width:100%}.report-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media print{@page{size:A4;margin:14mm}.sidebar,.topbar,.no-print,.toast-host{display:none!important}.app-shell,.content,.workspace{display:block!important;padding:0!important;margin:0!important;background:none!important}.report-sheet{max-width:none;margin:0;border:0;box-shadow:none;padding:0}.report-cover{margin:0;border-radius:var(--r-card);-webkit-print-color-adjust:exact;print-color-adjust:exact}.report-rule{margin:18px 0}.report-section{break-inside:avoid}}.rental-tabs{margin:8px 0 16px}.period-pick{width:240px;flex:none}@media (max-width: 720px){.period-pick{width:100%}}.renter-link{margin-top:20px;padding-top:16px;border-top:1px dashed var(--border)}.renter-link-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.renter-link-head p{margin:4px 0 0;color:var(--ink-2);font-size:12px}.renter-link-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.renter-link-share{margin-top:12px;padding:12px;border-radius:var(--r-card);background:var(--paper)}.renter-link-share pre{margin:8px 0 12px;white-space:pre-wrap;word-break:break-all;font-family:inherit;font-size:13px}.template-tokens{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.template-token{border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--jade);padding:4px 10px;font-size:12px;cursor:pointer}.audit-lanes{margin-top:8px;padding:12px 0 4px}.audit-axis,.audit-lane{display:grid;grid-template-columns:96px minmax(0,1fr);align-items:center;gap:12px;min-height:32px}.audit-lane{border-top:1px solid var(--border)}.audit-lane strong{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.audit-track{position:relative;height:28px}.audit-hour{position:absolute;top:6px;transform:translate(-50%);color:var(--ink-3);font-size:11px;font-variant-numeric:tabular-nums}.audit-dot{position:absolute;top:8px;width:12px;height:12px;margin-left:-6px;border-radius:50%;border:2px solid var(--surface);background:var(--status-ok);cursor:pointer;padding:0;transition:transform .15s ease}.audit-dot.tone-info{background:var(--jade)}.audit-dot.tone-danger{background:var(--status-overdue)}.audit-dot:hover,.audit-dot.active{transform:scale(1.5);outline:2px solid var(--plate-yellow)}.audit-focus{margin:12px 0 0;font-size:13px}.account-panel{max-width:640px}@media (prefers-reduced-motion: reduce){.audit-dot{transition:none}}@media (max-width: 720px){.audit-axis,.audit-lane{grid-template-columns:64px minmax(0,1fr);gap:8px}}.guide-body{margin:0;color:var(--ink);font-size:14px;line-height:1.75}.guide-dots{display:flex;gap:6px;margin-top:16px}.guide-dots span{width:8px;height:8px;border-radius:50%;background:var(--border);transition:width .2s ease}.guide-dots span.active{width:20px;border-radius:999px;background:var(--jade)}@media (prefers-reduced-motion: reduce){.guide-dots span{transition:none}}.fee-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.fee-filters{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin:16px 0}.fee-filters label{display:grid;gap:4px;color:var(--ink-2);font-size:12px}.fee-filters select{width:min(220px,100%)}.fee-filters .fee-check,.fee-check{display:inline-flex;align-items:center;gap:8px}.fee-filters select,.fee-part input:not([type=checkbox]),.fee-part select,.fee-close input:not([type=checkbox]),.fee-close select,.modal-body .field>input:not([type=checkbox]),.modal-body .field>select,.drawer-body .field>input:not([type=checkbox]),.drawer-body .field>select{min-height:var(--control-h);border:1px solid var(--border);border-radius:var(--r-control);padding:7px 10px;background:var(--surface);color:var(--ink);max-width:100%}.fee-check input[type=checkbox],.modal-body .field>input[type=checkbox],.fee-close input[type=checkbox]{width:16px;height:16px;min-height:0;padding:0;accent-color:var(--jade)}.fee-part input:not([type=checkbox]),.fee-part select,.fee-close input:not([type=checkbox]),.fee-close select,.modal-body .field>input:not([type=checkbox]),.modal-body .field>select,.drawer-body .field>input:not([type=checkbox]),.drawer-body .field>select{width:100%}.fee-filters select:focus-visible,.fee-part input:focus-visible,.fee-part select:focus-visible,.fee-close input:focus-visible,.fee-close select:focus-visible,.modal-body .field>input:focus-visible,.modal-body .field>select:focus-visible,.drawer-body .field>input:focus-visible,.drawer-body .field>select:focus-visible{outline:2px solid var(--plate-yellow);outline-offset:1px}.fee-totals{display:flex;flex-wrap:wrap;gap:16px;margin:16px 0;padding:16px 0;border-top:1px dashed var(--rule);border-bottom:1px dashed var(--rule)}.fee-totals>div{display:grid;gap:4px;min-width:180px}.fee-totals span{color:var(--ink-2);font-size:12px}.fee-totals strong{font-size:16px;color:var(--jade)}.fee-part{display:grid;gap:8px;padding:16px 0;border-top:1px dashed var(--rule)}.fee-part h3,.fee-close h3{font-size:16px;margin:0}.fee-close{display:grid;gap:12px;margin-top:16px;padding-top:16px;border-top:1px dashed var(--rule)}.fee-summary{padding:12px 0;border-top:1px dashed var(--rule);font-variant-numeric:tabular-nums}.fee-stamp{position:fixed;z-index:190;right:24px;bottom:24px;display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--surface);border:1px solid var(--rule);border-radius:var(--r-card)}@media (max-width: 600px){.fee-totals>div{min-width:0;width:100%}.fee-actions{justify-content:flex-start}.fee-stamp{right:12px;bottom:12px}}.ready-to-close{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px;padding:10px 14px;border-radius:var(--r-card);background:var(--status-ok-bg);color:var(--status-ok);font-weight:600;font-size:13px}.badge.blue,.badge.info{background:var(--status-progress-bg);color:var(--status-progress)}.section-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px}.section-row h2{margin:0;font-size:16px}.rent-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.rent-cell{display:grid;gap:4px;padding:12px;border:1px solid var(--border);border-radius:var(--r-card);background:var(--canvas)}.rent-cell span{color:var(--ink-muted);font-size:12px}.rent-cell strong{font-size:16px}.rent-cell.is-overdue strong{color:var(--status-overdue)}.rent-cell.is-received strong{color:var(--status-ok)}.week-empty{margin:24px 0;text-align:center;color:var(--ink-muted)}@media (max-width: 600px){.rent-strip{grid-template-columns:1fr}}.text-button.show-all{display:block;margin:12px auto 0}.search-actions{margin-left:0}.search-form .field:first-child{width:min(100%,280px)}a{color:var(--primary)}.text-link{color:var(--primary);font-weight:700;text-decoration:none}.text-link:hover{text-decoration:underline}.label-due{display:inline-flex;align-items:center;gap:8px}.expiry-note{color:var(--ink-muted);font-size:12px}.heading-actions{display:flex;flex-wrap:wrap;gap:8px}.fee-actions{display:grid;grid-template-columns:repeat(3,max-content);justify-content:end;gap:8px}.fee-actions .act-pay{grid-column:1}.fee-actions .act-edit{grid-column:2}.fee-actions .act-void{grid-column:3}@media (max-width: 600px){.fee-actions{justify-content:start}}.fee-totals .is-amount strong{color:var(--ink)}.fee-totals .is-paid strong{color:var(--status-ok)}.fee-totals .is-outstanding strong{color:var(--status-due)}.muted-dash{color:var(--ink-muted)}.rule-group .table{table-layout:fixed}.rule-group .table.table th,.rule-group .table.table td{min-width:0}small{font-size:12px}.panorama,.port-star{min-width:0}.port-star>.segmented{margin-bottom:12px}.rg{--graph-ink: 11, 59, 48;--graph-1: 15, 92, 74;--graph-2: 150, 114, 25;--graph-3: 45, 99, 166;--graph-accent: 242, 194, 48;--graph-lime: 242, 194, 48;--graph-danger: 194, 54, 42;--graph-paper: 255, 255, 255;position:relative;height:min(680px,72vh);min-height:560px;overflow:hidden;border:1px solid var(--rule);border-radius:var(--r-panel);background:var(--paper) url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20360%20180'%3e%3cg%20fill='none'%20stroke='%23F2C230'%20stroke-width='1'%3e%3cpath%20d='M-20%2060c60-90%20120%2090%20180%200s120%2090%20180%200%20120%2090%20180%200M-20%2068c60-90%20120%2090%20180%200s120%2090%20180%200%20120%2090%20180%200M-20%2076c60-90%20120%2090%20180%200s120%2090%20180%200%20120%2090%20180%200M-20%2084c60-90%20120%2090%20180%200s120%2090%20180%200%20120%2090%20180%200'/%3e%3cpath%20d='M-20%20120c60-90%20120%2090%20180%200s120%2090%20180%200%20120%2090%20180%200M-20%20128c60-90%20120%2090%20180%200s120%2090%20180%200%20120%2090%20180%200M-20%20136c60-90%20120%2090%20180%200s120%2090%20180%200%20120%2090%20180%200'/%3e%3c/g%3e%3c/svg%3e") repeat;background-size:360px 180px;isolation:isolate}.rg:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--paper);opacity:.91;pointer-events:none}.rg-stage-canvas,.rg-layer{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.rg-links{position:absolute;top:0;right:0;bottom:0;left:0;overflow:visible;pointer-events:none}.rg-path{fill:none;stroke:var(--rule);stroke-width:1.3}.rg-pulse{fill:var(--plate-yellow);opacity:0}.rg-layer{transform-origin:0 0}.rg-node{position:absolute;width:0;height:0;padding:0;border:0;background:transparent;font:inherit;cursor:pointer;color:var(--ink);z-index:1}.rg-node.is-static{cursor:default}.rg-node:focus-visible{outline:2px solid var(--plate-yellow);outline-offset:12px}.rg-body{position:absolute;left:0;top:0;display:inline-flex;align-items:center;gap:8px;white-space:nowrap;transform:translate(-50%,-50%)}.rg-node.align-left .rg-body{transform:translateY(-50%)}.rg-node.is-core .rg-body{transform:translate(-50%,64px);flex-direction:column;gap:0}.rg-node.is-core .rg-label{font-size:14px;font-weight:700}.rg-node.is-core .rg-sub{font-size:12px}.rg-node.is-core .rg-dot,.rg-node.is-hub .rg-dot{display:none}.rg-node.is-hub .rg-body{width:var(--size, 104px);height:var(--size, 104px);flex-direction:column;justify-content:center;gap:0}.rg-node.is-hub .rg-count{font-size:22px;font-weight:700}.rg-node.is-hub .rg-text{position:absolute;top:calc(100% + 12px);left:50%;transform:translate(-50%);text-align:center}.rg-node.is-hub .rg-label{font-weight:700}.rg-node.is-hub .rg-sub{color:var(--ink-2);font-size:12px}.rg-node.is-item .rg-body{max-width:220px;padding:6px 12px;border:1px solid var(--rule);border-radius:999px;background:var(--card)}.rg-node.is-item.tone-danger .rg-body{border-color:var(--status-overdue)}.rg-node.is-item:hover .rg-label,.rg-node.is-item:focus-visible .rg-label,.rg-node.is-item.is-active .rg-label{max-width:none;overflow:visible;background:var(--card);position:relative;z-index:2}.rg-node.is-dot.tone-danger .rg-dot{border-color:var(--status-overdue)}.rg-text{display:flex;flex-direction:column;gap:2px}.rg-label{font-size:13px;overflow:hidden;text-overflow:ellipsis;max-width:170px}.rg-sub{color:var(--ink-2);font-size:12px;overflow:hidden;text-overflow:ellipsis;max-width:170px}.rg-dot{display:block;width:10px;height:10px;flex:none;border:1px solid var(--jade);border-radius:50%;background:var(--card)}.rg-node.is-dot .rg-text{display:none;position:absolute;left:20px;top:-18px;background:var(--card);padding:4px 8px;border:1px solid var(--rule);border-radius:var(--r-control)}.rg-node.is-dot:hover .rg-text,.rg-node.is-dot:focus-visible .rg-text{display:block}.rg-corner{position:absolute;z-index:3;display:flex;gap:8px}.rg-corner.is-tl{top:16px;left:16px}.rg-corner.is-tr{top:16px;right:16px;align-items:end;flex-direction:column}.rg-corner.is-bl{bottom:16px;left:16px}.rg-corner.is-br{bottom:16px;right:16px}.rg-tools{display:flex;gap:8px;padding:4px;border:1px solid var(--rule);border-radius:999px;background:var(--card)}.rg-tools button,.panorama-crumb button{border:0;background:none;color:var(--jade);cursor:pointer}.rg-tools button{display:inline-flex;align-items:center;gap:4px;padding:4px 8px}.panorama-crumb,.panorama-hint{padding:8px 12px;border:1px solid var(--rule);border-radius:var(--r-control);background:var(--card);color:var(--ink-2);font-size:12px}.panorama-summary{display:flex;gap:12px;padding:10px 12px;background:var(--card);border:1px solid var(--rule);border-radius:var(--r-card)}.panorama-summary span{display:flex;flex-direction:column;min-width:48px}.panorama-summary small{color:var(--ink-2);font-size:12px}.panorama-summary strong{font-variant-numeric:tabular-nums}.panorama-summary .is-danger{color:var(--status-due)}.panorama.is-permission .panorama-summary .is-danger{color:var(--status-overdue)}.panorama-summary.is-mobile,.panorama-insight.is-mobile{display:none}.panorama-insight{max-height:390px;width:255px;overflow-y:auto;padding:16px;border:1px solid var(--rule);border-radius:var(--r-card);background:var(--card)}.panorama-insight h2{font-size:16px;margin:0}.panorama-insight p{color:var(--ink-2)}.tag.tone-neutral{color:var(--status-muted);background:var(--status-muted-bg)}.panorama-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.panorama-due{display:flex;justify-content:space-between;gap:8px;border-top:1px solid var(--rule);padding-top:8px;margin-top:8px}.panorama-index{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px;max-height:96px;overflow-y:auto}.panorama-index button{border:1px solid var(--rule);border-radius:999px;background:var(--card);color:var(--ink-2);padding:4px 8px;cursor:pointer}.port-results{margin-top:12px}.port-hover{display:grid;gap:8px;padding:12px;border:1px solid var(--rule);border-radius:var(--r-card);background:var(--card);font-size:12px}@media (max-width: 820px){.rg{height:650px}.panorama .rg-corner.is-tr .panorama-summary,.panorama .rg-corner.is-br,.customer-structure .rg-corner.is-br{display:none}.panorama-summary.is-mobile{display:flex;flex-wrap:wrap;margin-top:8px}.panorama-insight.is-mobile{display:block;width:100%;max-height:none;margin-top:8px}.panorama-summary{max-width:100%;flex-wrap:wrap;gap:4px 8px}.rg-corner.is-bl{display:none}}.today-visuals{display:grid;grid-template-columns:minmax(220px,1fr) minmax(0,2fr);gap:16px;margin:16px 0}.today-visuals .tick-ring{margin:auto;position:relative}.tick-ring svg{display:block}.ring-tick{stroke:var(--rule);stroke-width:.008}.ring-tick.is-on{stroke:var(--jade)}.ring-cap{fill:var(--plate-yellow)}.tick-ring-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;justify-content:center;align-items:center;flex-direction:column}.tick-ring-value{font-size:28px;font-weight:700}.tick-ring-value sup,.tick-ring-label{font-size:12px;color:var(--ink-2)}.trend{--trend-ink: var(--jade);position:relative;width:100%;min-width:0;overflow:hidden}.trend svg{display:block;max-width:100%}.trend-line{stroke:var(--jade);stroke-width:2;fill:none}.trend-stop{stop-color:var(--jade)}.trend-grid line{stroke:var(--rule)}.trend-axis text{fill:var(--ink-2)}.trend-months{display:flex;gap:8px;justify-content:space-around}.today-visuals .panel{min-width:0;overflow:hidden}.trend-months button{color:var(--jade);background:none;border:0;cursor:pointer}.week-empty-ring{width:140px;height:140px;margin:auto;display:grid;place-content:center;text-align:center;border:10px solid var(--jade);border-radius:50%;color:var(--jade);font-weight:700}.due-heat{padding:16px;margin:12px 0;border:1px solid var(--rule);background:var(--card);border-radius:var(--r-card)}.heat-head,.swim-head{display:flex;justify-content:space-between;color:var(--ink-2);font-size:12px;margin-bottom:12px}.heat-grid{display:grid;grid-template-columns:48px repeat(7,minmax(0,1fr));gap:4px}.heat-weekday{grid-row:1;text-align:center;color:var(--ink-2);font-size:12px}.heat-week-spacer{grid-row:1;grid-column:1}.heat-week-start{grid-column:1;align-self:center;font-size:12px;color:var(--ink-2)}.heat-day-cell{min-height:35px;background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-control);cursor:pointer;font-variant-numeric:tabular-nums}.heat-day-cell .heat-count{display:inline-block;margin-left:6px;padding:0 6px;border-radius:999px;background:var(--card);font-size:11px;font-weight:700;line-height:16px}.heat-day-cell.tone-ok:not(.is-past){background:var(--status-ok-bg);color:var(--status-ok)}.heat-day-cell.tone-due:not(.is-past){background:var(--status-due-bg);color:var(--status-due)}.heat-day-cell.tone-overdue:not(.is-past){background:var(--status-overdue-bg);color:var(--status-overdue)}.heat-day-cell.tone-ok:not(.is-past):has(small){background:var(--jade-soft);color:var(--jade)}.heat-day-cell.is-today{border:2px solid var(--jade);font-weight:700}.heat-day-cell.is-past{opacity:.45;cursor:default}.heat-overdue{background:none;border:0;color:var(--status-overdue);cursor:pointer;font-weight:700;margin-bottom:12px}.heat-day-cell.is-cross{outline:2px solid var(--plate-yellow)}.date-filter{margin:8px 16px}.swim-row{display:grid;grid-template-columns:130px minmax(0,1fr);gap:12px;min-height:72px;padding:12px 0;border-top:1px solid var(--rule)}.swim-row>button{border:0;background:none;cursor:pointer}.swim-track{position:relative;min-height:50px;border-bottom:1px solid var(--rule)}.swim-today{position:absolute;top:0;bottom:0;border-left:2px solid var(--plate-yellow)}.swim-block{position:absolute;top:4px;padding:4px 8px;border:1px solid var(--jade);border-radius:var(--r-control);background:var(--jade-soft);white-space:nowrap;font-size:12px}.swim-block.is-overdue{border-color:var(--status-overdue)}.swim-empty{display:inline-block;position:relative;margin:12px 0 0 18%;color:var(--ink-2);font-size:12px;cursor:pointer}.detail-view-head{margin-top:12px;padding:12px 16px;border:1px solid var(--rule);border-radius:var(--r-card);background:var(--card)}@media (max-width: 650px){.panorama .rg-node.is-core .rg-body{transform:translate(-50%,48px)}.panorama .rg-node.is-hub .rg-text{top:calc(100% + 2px)}.heat-grid{grid-template-columns:38px repeat(7,minmax(0,1fr));gap:2px}.heat-day-cell{min-height:32px;padding:0;font-size:10px}.heat-day-cell small{margin-left:1px}.heat-head{flex-wrap:wrap;gap:4px}}@media (max-width: 650px){.panorama.is-drilled .rg-corner.is-tl{top:60px;max-width:calc(100% - 32px)}.panorama.is-drilled .panorama-crumb{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media (max-width: 820px){.today-visuals{grid-template-columns:1fr}.trend-months{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.swim-row{grid-template-columns:96px minmax(0,1fr)}.due-swimlane{overflow-x:auto}.swim-track{min-width:540px}}.csv-pipeline .rg{height:390px;min-height:390px}.pipeline-fields{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.pipeline-fields label{display:inline-flex;align-items:center;gap:8px;color:var(--ink-2)}.pipeline-fields select{max-width:170px}@media (max-width: 600px){.heat-day-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:2px 0}.heat-day-cell .heat-count{margin-left:0;padding:0 5px}.heat-unit{display:none}}
