.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.grid-3{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.grid-4{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.row-start{align-items:center;gap:8px;display:flex}.row-start.wrap{flex-wrap:wrap}.chips{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.label-text{color:var(--text-2);margin-bottom:5px;font-size:13px;font-weight:500;display:block}.check-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:6px 12px;display:grid}.icon-btn.xs{width:22px;height:22px;padding:0}.icon-btn.on,.btn.on{background:var(--accent-soft);color:var(--accent);border-color:color-mix(in srgb, var(--accent) 35%, transparent)}.badge.tiny{padding:0 5px;font-size:10.5px}.ok-badge{color:#166534;background:#dcfce7}.crit-badge{color:#b91c1c;background:#fee2e2}.sheet-title h1{text-overflow:ellipsis;white-space:nowrap;max-width:380px;overflow:hidden}.sheet-head .actions{flex-wrap:wrap;gap:4px;display:flex}.grid-shell{flex-direction:column;flex:1;min-width:0;display:flex}.formula-bar{border-bottom:1px solid var(--line);background:#fbfcfd;align-items:center;gap:6px;padding:5px 12px;display:flex}.fmt-tools{align-items:center;gap:2px;display:flex}.fmt-tools .icon-btn{width:28px;height:28px}.fmt-a{border-bottom:3px solid;padding:0 2px;font-weight:700;line-height:1;display:inline-block}.formula-bar .sep,.fp-sep{background:var(--line);align-self:stretch;width:1px;margin:2px 6px}.cell-ref{text-overflow:ellipsis;white-space:nowrap;min-width:90px;max-width:180px;color:var(--muted);background:var(--surface);border:1px solid var(--line);border-radius:5px;padding:4px 8px;font-size:12px;overflow:hidden}.fx{color:var(--muted);padding:0 2px;font-family:Georgia,serif;font-style:italic;font-weight:600}.bar-input{flex:1;height:30px;font-size:13px}.bar-input.formula,.cell-input.formula{font-family:var(--mono);color:#1d4ed8}.swatch-row{font-family:var(--mono);align-items:center;gap:8px;font-size:12px;display:inline-flex}.swatch-row .swatch{border:1px solid #0000001a;border-radius:4px;width:16px;height:16px;display:inline-block}.grid td.cell.insel{background:#eff6ff!important}.grid td.cell.insel.sel{background:var(--surface)!important}.grid td.cell.hl{background-color:#fffbeb;box-shadow:inset 3px 0 #f59e0b}.grid td.cell.hl.sel{box-shadow:inset 0 0 0 2px var(--sel)}.grid tr.hl-row td.rownum{background:#fef3c7;box-shadow:inset 3px 0 #f59e0b}.grid th.is-hidden,.grid td.is-hidden{opacity:.55;background-image:repeating-linear-gradient(45deg,#0000 0 6px,#64748b0f 6px 12px)}.grid tr.locked td.cell .cell-inner{color:var(--text-2)}.grid tr.locked td.rownum{background:#f1f5f9}.fx-badge{color:#1d4ed8;background:#dbeafe;border-radius:3px;padding:0 3px;font-size:10px;font-style:italic;font-weight:700}.fx-dot{background:#3b82f6;border-radius:50%;width:5px;height:5px;position:absolute;top:3px;right:3px}.crit-dot{background:#dc2626;border-radius:50%;width:7px;height:7px;display:inline-block}.cell-error{color:var(--danger);font-size:12px;font-weight:600;font-family:var(--mono)}.late-text{color:var(--danger)}.cb-flag,.cb-star{color:#cbd5e1;font-size:15px;line-height:1}.cb-flag.on{color:#dc2626}.cb-star.on{color:#f59e0b}.pills{gap:4px;display:inline-flex;overflow:hidden}.sym{align-items:center;display:inline-flex}.context-menu{z-index:200;min-width:220px;position:fixed}.menu-label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:6px 12px 2px;font-size:11px;font-weight:600}.multi-picker{z-index:30;background:var(--surface);border:1px solid var(--line-2);border-radius:var(--radius);min-width:240px;box-shadow:var(--shadow-lg);flex-direction:column;gap:6px;padding:8px;display:flex;position:absolute;top:0;left:0}.multi-list{flex-direction:column;gap:2px;max-height:240px;display:flex;overflow:auto}.multi-list label.check{border-radius:5px;padding:4px 6px}.multi-list label.check:hover{background:var(--hover)}.multi-list .swatch{border-radius:50%;width:10px;height:10px;display:inline-block}.hl-select{color:var(--muted);flex-direction:row;align-items:center;gap:4px;font-weight:400;display:inline-flex}.hl-select select{border-color:var(--line);height:30px;padding:2px 6px;font-size:12.5px}.split-btn{align-items:center;gap:0;display:inline-flex}.btn-filter-on{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.filter-pop{z-index:40;flex-direction:column;gap:12px;width:min(640px,92vw);padding:14px;display:flex}.filter-pop h3{margin-bottom:2px}.filter-save{border-top:1px solid var(--line);flex-direction:column;gap:6px;padding-top:10px;display:flex}.saved-filters{z-index:40;min-width:260px}.saved-filter{cursor:pointer;align-items:center;gap:8px;display:flex!important}.saved-filter span:first-child{flex:1}.saved-filter.on{background:var(--accent-soft)}.conditions{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.cond-match{color:var(--text-2);align-items:center;gap:6px;font-size:13px;display:flex}.cond-match select{padding:3px 6px}.cond-row{grid-template-columns:minmax(130px,1.2fr) minmax(130px,1fr) minmax(120px,1fr) 28px;align-items:center;gap:6px;width:100%;display:grid}.details .field{flex-direction:column;gap:5px;display:flex}.details .field.t-checkbox{flex-direction:column;align-items:stretch}.field-label{color:var(--text-2);align-items:center;gap:6px;font-size:13px;font-weight:500;display:flex}.field-label label{font-size:13px;display:inline}.field-hist{opacity:0;margin-left:auto;transition:opacity .15s}.field:hover .field-hist,.field-hist:focus{opacity:1}.field-ro{background:var(--hover);border-radius:6px;flex-direction:column;justify-content:center;gap:3px;min-height:30px;padding:4px 10px;display:flex}.field-formula{color:#1d4ed8;word-break:break-all;background:#eff6ff;border-radius:4px;align-self:flex-start;padding:1px 5px;font-size:11.5px}.details input:not([type=checkbox]),.details select,.details textarea{width:100%}.summary-panel .field{border:1px solid var(--line);border-radius:var(--radius);padding:10px 12px}.empty-mini{text-align:center;color:var(--muted);flex-direction:column;align-items:center;gap:10px;padding:18px 8px;display:flex}.link{color:var(--accent);cursor:pointer;font:inherit;background:0 0;border:0;padding:0}.symbol-sets{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;display:grid}.symbol-set{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);cursor:pointer;text-align:left;flex-direction:column;align-items:flex-start;gap:4px;padding:8px 10px;display:flex}.symbol-set:hover{background:var(--hover)}.symbol-set.on{border-color:var(--accent);box-shadow:0 0 0 2px #0d94882e}.symbol-row{align-items:center;gap:4px;display:inline-flex}.cf-rule{border:1px solid var(--line);border-radius:var(--radius);background:#fbfcfd;flex-direction:column;gap:8px;padding:12px;display:flex}.cf-rule.off{opacity:.6}.format-picker{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.format-picker .icon-btn{width:28px;height:28px}.swatch-btn{cursor:pointer;border:1px solid #00000026;border-radius:5px;width:20px;height:20px;padding:0}.swatch-btn.on{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--sel)}.fp-preview{border:1px dashed var(--line-2);border-radius:5px;margin-left:8px;padding:3px 10px;font-size:13px}.pick-list{border:1px solid var(--line);border-radius:var(--radius);max-height:300px;overflow:auto}.pick-item{border-bottom:1px solid var(--line);cursor:pointer;align-items:center;gap:8px;padding:8px 12px;flex-direction:row!important;font-weight:400!important;display:flex!important}.pick-item:last-child{border-bottom:0}.pick-item span:first-of-type{flex:1}.pick-item:hover{background:var(--hover)}.pick-item.on{background:var(--accent-soft)}.fn-list{flex-direction:column;max-height:55vh;display:flex;overflow:auto}.fn-item{border-bottom:1px solid var(--line);grid-template-columns:minmax(220px,1fr) 1.3fr 26px;align-items:center;gap:10px;padding:7px 4px;display:grid}.fn-sig{color:#1d4ed8;word-break:break-word;font-size:12px}.syntax-help td{vertical-align:top}.syntax-help code{color:#1d4ed8;font-size:12px}.xref-item{border:1px solid var(--line);border-radius:var(--radius);align-items:center;gap:10px;padding:8px 10px;display:flex}.xref-item code{color:#7c3aed;font-weight:600}.gantt-legend{color:var(--muted);align-items:center;gap:12px;display:inline-flex}.lg{align-items:center;gap:5px;display:inline-flex}.lg i{display:inline-block}.lg-crit{background:#fecaca;border:1px solid #dc2626;border-radius:3px;width:18px;height:8px}.lg-base{background:#94a3b8;border-radius:2px;width:18px;height:4px}.lg-ms{background:#0f172a;width:9px;height:9px;transform:rotate(45deg)}.gantt-left-head .gdur,.gantt-left-row .gdur{text-align:right;font-variant-numeric:tabular-nums;width:56px;color:var(--muted);flex-shrink:0;padding-right:10px;font-size:12px}.gantt-left-row.hover{background:var(--hover)}.gantt-left-row.crit .gn{color:#dc2626;font-weight:600}.gantt-left-row .twisty{margin-right:2px}.gantt-row-band{border-bottom:1px solid var(--line);position:absolute;left:0;right:0}.gantt-row-band.hover{background:#2563eb0a}.gbar.crit{--bar:#dc2626}.gbar.err{outline-offset:1px;outline:2px dashed #f59e0b}.gbar.summary.crit{background:#b91c1c;border-color:#7f1d1d}.gbar.summary:before,.gbar.summary:after{content:"";border-top:5px solid #1e293b;width:0;height:0;position:absolute;bottom:-5px}.gbar.summary:before{border-right:5px solid #0000;left:-1px}.gbar.summary:after{border-left:5px solid #0000;right:-1px}.gbar.summary .glabel{color:var(--text);font-weight:600}.gbase{z-index:2;opacity:.85;background:#94a3b8;border-radius:2px;height:4px;position:absolute}.gms{z-index:3;background:#0f172a;border-radius:2px;width:14px;height:14px;position:absolute;transform:rotate(45deg)}.gms.crit{background:#dc2626}.gms.editable{cursor:grab}.gms .glabel.ms{transform-origin:0;white-space:nowrap;color:var(--text-2);pointer-events:none;font-size:12px;position:absolute;top:-2px;left:18px;transform:rotate(-45deg)}.lane.closed{width:52px}.lane.closed .lane-head{flex-direction:column;gap:10px}.lane.closed .lane-head h3{writing-mode:vertical-rl;transform:rotate(180deg)}.lane-head .icon-btn{width:24px;height:24px}.card-k.locked{background:#f8fafc}.card-k-field{flex-direction:column;gap:1px;font-size:12.5px;display:flex}.card-k-field.late{color:var(--danger)}.card-k-label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:10.5px}.calendar{background:var(--surface);flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.cal-title{text-align:center;min-width:150px;font-size:16px}.cal-grid{flex-direction:column;flex:1;display:flex;overflow:auto}.cal-dow{border-bottom:1px solid var(--line-2);z-index:4;background:#f8fafc;grid-template-columns:repeat(7,1fr);display:grid;position:sticky;top:0}.cal-dow span{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;padding:6px 8px;font-size:12px;font-weight:600}.cal-week{min-height:calc(34px + var(--lanes,1) * 22px + 12px);border-bottom:1px solid var(--line);flex:1 0 auto;grid-template-columns:repeat(7,1fr);display:grid;position:relative}.cal-day{border-right:1px solid var(--line);grid-row:1;min-height:100%;padding:4px 6px;position:relative}.cal-day:last-child{border-right:0}.cal-day.other{background:#fafbfc}.cal-day.other .cal-num{color:#cbd5e1}.cal-day.over{background:var(--accent-soft)}.cal-num{min-width:22px;height:22px;color:var(--text-2);place-items:center;padding:0 5px;font-size:12px;font-weight:600;display:inline-grid}.cal-more,.cal-less{color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0;font-size:11.5px;position:absolute;bottom:2px;right:6px}.cal-less{grid-area:1/7;right:6px}.cal-ev{--ev:#2563eb;border:0;border-left:3px solid var(--ev);background:color-mix(in srgb, var(--ev) 16%, #fff);color:#0f172a;text-align:left;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;z-index:2;border-radius:4px;grid-row:1;height:19px;margin:0 4px;padding:0 6px;font-size:12px;position:absolute;left:0;right:0;overflow:hidden}.cal-ev:hover{background:color-mix(in srgb, var(--ev) 28%, #fff)}.cal-ev.cl{border-top-left-radius:0;border-bottom-left-radius:0;margin-left:0}.cal-ev.cr{border-top-right-radius:0;border-bottom-right-radius:0;margin-right:0}@media (width<=800px){.grid-3,.grid-4{grid-template-columns:1fr 1fr}.formula-bar .fmt-tools{display:none}.cond-row{grid-template-columns:1fr 1fr}.fn-item{grid-template-columns:1fr 26px}.fn-item .muted{grid-column:1/-1}.sheet-head .actions .btn-ghost{padding:0 8px}}@media print{.sidebar,.toolbar,.formula-bar,.view-tabs,.sheet-head .actions,.row-panel,.add-row,.rownum-inner input,.row-menu,.th-menu{display:none!important}.main,.sheet-page,.sheet-body,.grid-wrap{height:auto!important;overflow:visible!important}}.cal-day.cal-today .cal-num{background:var(--accent);color:#fff;border-radius:999px}.details .wf-num{align-items:center;gap:8px;display:flex}.details .wf-num input{flex:1;width:auto}.gantt-left-row .gt{align-items:center;gap:2px;min-width:0;display:flex}.gantt-left-head .gdur{text-overflow:ellipsis;overflow:hidden}.gantt-bar .seg button{white-space:nowrap}.gantt-bar{flex-wrap:wrap}.nb-btn{color:#cbd5e1;cursor:pointer;background:0 0;border:0;border-radius:8px;flex:none;justify-content:center;align-items:center;width:34px;height:34px;transition:background .12s,color .12s;display:inline-flex;position:relative}.nb-btn:hover,.nb-btn.on{color:#fff;background:#ffffff14}.nb-btn:focus-visible{outline:2px solid var(--accent-2);outline-offset:1px}.nb-badge{color:#fff;text-align:center;min-width:17px;height:17px;box-shadow:0 0 0 2px var(--navy);background:#ef4444;border-radius:999px;padding:0 4px;font-size:10.5px;font-weight:700;line-height:17px;position:absolute;top:2px;right:1px}.nb-panel{z-index:1000;background:var(--surface);color:var(--text);border:1px solid var(--line);box-shadow:var(--shadow-lg);border-radius:10px;flex-direction:column;animation:.12s ease-out nb-in;display:flex;position:fixed;overflow:hidden}@keyframes nb-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.nb-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;padding:10px 10px 8px 14px;display:flex}.nb-head-actions{align-items:center;gap:2px;display:flex}.nb-head .btn{gap:5px}.nb-requests{border-bottom:1px solid var(--line);color:var(--text-2);align-items:center;gap:8px;padding:9px 14px;font-size:13px;font-weight:500;display:flex;text-decoration:none!important}.nb-requests:hover{background:var(--hover)}.nb-requests>svg:last-child{margin-left:auto}.nb-requests .nb-req-count{color:var(--muted);font-size:12px;font-weight:400}.nb-requests.has{background:#fffbeb}.nb-requests.has:hover{background:#fef3c7}.nb-requests.has .nb-req-count{color:#92400e;font-weight:600}.nb-alert{margin:8px 12px 0}.nb-list{flex:1;min-height:60px;margin:0;padding:4px 0;list-style:none;overflow:auto}.nb-item{text-align:left;cursor:pointer;background:0 0;border:0;align-items:flex-start;gap:10px;width:100%;padding:10px 14px;display:flex}.nb-item:hover,.nb-item:focus-visible{background:var(--hover);outline:none}.nb-item.unread{background:#f4fbfa}.nb-item.unread:hover{background:var(--accent-soft)}.nb-icon{background:var(--hover);width:28px;height:28px;color:var(--muted);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.nb-icon.tone-accent{background:var(--accent-soft);color:var(--accent)}.nb-icon.tone-warn{color:var(--warn);background:#fef3c7}.nb-icon.tone-danger{color:var(--danger);background:#fee2e2}.nb-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.nb-title{color:var(--text);font-size:13px;line-height:1.35}.nb-item.unread .nb-title{font-weight:600}.nb-body{color:var(--muted);-webkit-line-clamp:2;white-space:pre-line;-webkit-box-orient:vertical;font-size:12px;display:-webkit-box;overflow:hidden}.nb-meta{color:var(--muted);font-size:11.5px}.nb-dot{background:var(--accent);border-radius:50%;flex:none;width:8px;height:8px;margin-top:6px}.nb-empty{color:var(--muted);text-align:center;flex-direction:column;align-items:center;gap:6px;padding:28px 16px;display:flex}.wf-count{background:var(--hover);min-width:18px;color:var(--muted);text-align:center;border-radius:999px;margin-left:6px;padding:0 6px;font-size:11px;font-weight:600;line-height:18px;display:inline-block}.tabs button.on .wf-count{background:var(--accent-soft);color:var(--accent)}.tabs button:disabled{opacity:.5;cursor:not-allowed}.wf-status{white-space:nowrap;background:var(--hover);color:var(--text-2);border:1px solid var(--line);border-radius:999px;align-items:center;gap:4px;padding:2px 9px 2px 7px;font-size:12px;font-weight:600;display:inline-flex}.wf-status.st-pending{color:#92400e;background:#fffbeb;border-color:#fde68a}.wf-status.st-approved{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.wf-status.st-declined{color:#991b1b;background:#fef2f2;border-color:#fecaca}.wf-status.st-cancelled{color:var(--muted)}.wf-type{color:var(--text-2);align-items:center;gap:5px;font-size:12.5px;font-weight:500;display:inline-flex}.wf-type.approval svg{color:var(--accent)}.wf-type.update svg{color:#2563eb}.wf-crumbs a{color:var(--muted);align-items:center;gap:2px;display:inline-flex}.wf-crumbs a:hover{color:var(--accent);text-decoration:none}.wf-skel{background:linear-gradient(90deg, var(--hover), var(--line), var(--hover));vertical-align:middle;background-size:200% 100%;border-radius:4px;width:120px;height:10px;animation:1.2s infinite wf-shimmer;display:inline-block}@keyframes wf-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.wf-ellipsis{text-overflow:ellipsis;white-space:nowrap;max-width:360px;overflow:hidden}.swatch{border-radius:3px;flex:none;width:10px;height:10px;display:inline-block}.wf-tabs{padding:0 8px}.wf-table tr.wf-pending td:first-child{box-shadow:inset 3px 0 0 var(--warn)}.wf-row-cell{min-width:180px}.wf-row-cell a.strong{color:var(--text)}.wf-request .page-head{align-items:flex-start;margin-bottom:12px}.wf-crumbs{margin-bottom:10px}.wf-title{align-items:flex-start;gap:12px;min-width:0;display:flex}.wf-title h1{word-break:break-word}.wf-type-icon{border-radius:10px;flex:none;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex}.wf-type-icon.approval{background:var(--accent-soft);color:var(--accent)}.wf-type-icon.update{color:#2563eb;background:#eff6ff}.wf-message{border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--accent);color:var(--text-2);gap:10px;margin-bottom:6px;padding:12px 14px;display:flex}.wf-message svg{color:var(--muted);flex:none;margin-top:2px}.wf-message p{white-space:pre-line;margin:0}.wf-sent{margin:0 0 14px}.wf-outcome{border-radius:var(--radius);background:var(--hover);border:1px solid var(--line);align-items:flex-start;gap:10px;margin-bottom:16px;padding:12px 14px;display:flex}.wf-outcome p{margin:4px 0 0}.wf-outcome.st-approved{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.wf-outcome.st-declined{color:#991b1b;background:#fef2f2;border-color:#fecaca}.wf-outcome svg{flex:none;margin-top:1px}.wf-card{flex-direction:column;gap:14px;display:flex}.wf-card h2{margin:0}.wf-dl{grid-template-columns:minmax(120px,34%) 1fr;margin:0;display:grid}.wf-dl>div{display:contents}.wf-dl dt{color:var(--muted);border-bottom:1px solid var(--line);padding:9px 12px 9px 0;font-size:13px}.wf-dl dd{border-bottom:1px solid var(--line);word-break:break-word;min-width:0;margin:0;padding:9px 0}.wf-dl>div:last-child dt,.wf-dl>div:last-child dd{border-bottom:0}.wf-ro h4{margin-bottom:4px}.wf-note{margin-top:2px}.wf-decline{color:var(--danger);border-color:#fecaca}.wf-decline:hover{background:#fef2f2}.wf-fields{flex-direction:column;gap:14px;display:flex}.wf-field{flex-direction:column;gap:5px;min-width:0;display:flex}.wf-field>label{color:var(--text-2);flex-direction:row;gap:2px;font-size:13px;font-weight:500}.wf-field.t-checkbox{flex-direction:row-reverse;justify-content:flex-end;align-items:center;gap:8px}.wf-field.invalid input:not([type=checkbox]),.wf-field.invalid select,.wf-field.invalid textarea,.wf-field.invalid .wf-checklist{border-color:var(--danger)}.wf-field-err{color:var(--danger);font-size:12px}.wf-field.ro .wf-ro-value{min-height:22px;padding:2px 0}.wf-req{color:var(--danger);margin-left:2px}.wf-num{align-items:center;gap:8px;display:flex}.wf-num input{width:160px}.wf-checklist{border:1px solid var(--line-2);background:var(--surface);border-radius:6px;flex-direction:column;gap:6px;padding:6px 8px;display:flex}.wf-checklist-items{flex-direction:column;gap:4px;max-height:180px;display:flex;overflow:auto}.wf-checklist label.check{color:var(--text);font-size:13px}.dv-intro{margin:0 0 12px}.dv-empty{padding:28px 12px}.dv-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.dv-item{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);justify-content:space-between;align-items:flex-start;gap:12px;padding:12px 14px;display:flex}.dv-item-main{flex-direction:column;gap:4px;min-width:0;display:flex}.dv-item-main p{margin:0}.dv-item-title{align-items:center;gap:8px;display:flex}.dv-meta{flex-wrap:wrap;gap:4px 12px;display:flex}.dv-sharers{align-items:center;gap:2px;margin-top:4px;display:flex}.dv-sharers .tiny{margin-left:6px}.dv-item-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:4px;display:flex}.dv-item-actions .btn{gap:5px}.dv-tabs{margin:-4px -4px 14px;padding:0}.dv-err{margin-bottom:12px}.dv-form fieldset{gap:10px}.dv-fields-wrap{border:1px solid var(--line);border-radius:6px;max-height:300px}.dv-fields th{z-index:1;position:sticky;top:0}.dv-fields td.center,.dv-fields th.center{width:90px}.dv-th-check{color:var(--muted);justify-content:center;font-size:12px;font-weight:600}.dv-badge{margin-left:6px;padding:0 6px;font-size:10.5px}.dv-switch{align-items:flex-start}.dv-switch .switch{flex:none;margin-top:2px}.dv-search{flex:1;max-width:320px}.dv-people{border:1px solid var(--line);border-radius:6px;max-height:380px;margin:0;padding:0;list-style:none;overflow:auto}.dv-people li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:8px 12px;display:flex}.dv-people li:last-child{border-bottom:0}.dv-people li.on{background:#f7fcfb}.dv-person{cursor:pointer;flex:1;gap:10px;min-width:0}.dv-person-text{flex-direction:column;min-width:0;display:flex}.dv-person-text .tiny{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dv-none{justify-content:center!important;padding:18px!important}.dv-tile h3{margin-top:4px}.badge.dv-can-edit{background:var(--accent-soft);color:#0f5f58;border-color:#b7e4de}.dvp{flex:1;height:100%;min-height:0;display:flex;position:relative}.dvp-main{flex-direction:column;flex:1;min-width:0;display:flex;overflow:auto}.dvp-head{padding:20px 24px 14px}.dvp-title-row{flex-wrap:wrap;align-items:flex-start;gap:12px}.dvp-desc{white-space:pre-line;max-width:760px;margin:4px 0 0}.dvp-toolbar{z-index:3;padding:8px 24px;position:sticky;top:0}.dvp-search{border:1px solid var(--line-2);background:var(--surface);color:var(--muted);border-radius:6px;align-items:center;gap:6px;padding-left:10px;display:flex}.dvp-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #0d948826}.dvp-search input{background:0 0;border:0;width:240px;max-width:50vw;padding:5px 10px 5px 0;box-shadow:none!important}.dvp-table-wrap{flex:1}.dvp-table th{z-index:2;padding:0;position:sticky;top:0}.dvp-sort{width:100%;font:inherit;text-transform:inherit;letter-spacing:inherit;color:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;align-items:center;gap:5px;padding:10px 14px;display:inline-flex}.dvp-sort:hover{color:var(--text)}.dvp-edit-hint{opacity:.55}.dvp-table td{text-overflow:ellipsis;white-space:nowrap;max-width:320px;overflow:hidden}.dvp-table td.dvp-primary{font-weight:500}.dvp-table tr.sel td{background:var(--accent-soft)!important}.dvp-table tr:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.dvp-lock{vertical-align:-1px;margin-right:4px}.dvp-panel{background:var(--surface);border-left:1px solid var(--line);flex-direction:column;flex:none;width:420px;max-width:100%;min-height:0;display:flex;box-shadow:-8px 0 30px #0f172a0f}.dvp-panel>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:10px;padding:16px 16px 10px;display:flex}.dvp-panel h2{word-break:break-word;margin-top:2px}.dvp-panel-body{flex-direction:column;flex:1;gap:14px;padding:16px;display:flex;overflow:auto}.dvp-panel-foot{background:var(--surface);border-top:1px solid var(--line);align-items:center;gap:8px;margin:auto -16px -16px;padding:12px 16px;display:flex;position:sticky;bottom:-16px}@media (width<=900px){.dvp-panel{z-index:50;width:min(440px,100%);box-shadow:var(--shadow-lg);position:fixed;top:0;bottom:0;right:0}.dvp-head{padding:16px}.dvp-toolbar{padding:8px 16px}}@media (width<=640px){.dv-item{flex-direction:column}.dv-item-actions{justify-content:flex-start}.dv-grid,.wf-dl{grid-template-columns:1fr}.wf-dl dt{border-bottom:0;padding-bottom:0}.wf-request .page-head{flex-direction:column}}:is(.conversations,.attachments,.proofs,.proof-viewer,.reviewer-picker,.cell-history,.modal) .grow{flex:1;min-width:0}:is(.conversations,.attachments,.proofs,.proof-viewer,.modal) .ellipsis{text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:block;overflow:hidden}.proof-viewer .sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}:is(.conversations,.attachments,.proofs,.proof-viewer) .icon-btn.sm{width:24px;height:24px}.toast-warn{background:#92400e}.collab-empty{text-align:center;color:var(--muted);flex-direction:column;align-items:center;gap:4px;padding:24px 12px;display:flex}.collab-empty p{margin:0}.collab-empty .btn{margin-top:6px}.conversations{flex-direction:column;gap:14px;display:flex}.threads{flex-direction:column;gap:10px;display:flex}.thread{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);flex-direction:column;gap:10px;padding:10px 12px;display:flex}.thread-row{align-items:center;gap:4px;display:inline-flex}.replies{border-left:2px solid var(--line);flex-direction:column;gap:10px;margin-left:20px;padding-left:12px;display:flex}.collab-comment .comment-meta{flex-wrap:wrap;column-gap:6px}.collab-comment .edited{font-style:italic}.comment-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:4px;display:flex}.comment-actions .link{color:var(--muted)}.comment-actions .link:hover{color:var(--accent)}.comment-actions .link.danger:hover{color:var(--danger)}.comment-body a{word-break:break-all}.mention{background:var(--accent-soft);color:#0f5f58;white-space:nowrap;border-radius:4px;padding:0 5px;font-weight:500;display:inline-block}.mention.me{color:#92400e;background:#fef3c7}.collab-composer{border-top:0;padding-top:0}.conversations>.collab-composer{border-top:1px solid var(--line);padding-top:12px}.collab-composer.compact textarea{min-height:52px}.collab-readonly{align-items:center;gap:6px;display:flex}.mention-input{flex-direction:column;display:flex;position:relative}.mention-input textarea{width:100%}.mention-list{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:60;max-height:240px;margin:4px 0 0;padding:4px;list-style:none;position:absolute;top:100%;left:0;right:0;overflow:auto}.mention-list li{cursor:pointer;border-radius:6px;align-items:center;gap:8px;min-width:0;padding:6px 8px;display:flex}.mention-list li .tiny{text-overflow:ellipsis;white-space:nowrap;margin-left:auto;overflow:hidden}.mention-list li.on{background:var(--hover)}.mention-name{white-space:nowrap;font-weight:500}.reactions{flex-wrap:wrap;align-items:center;gap:4px;display:inline-flex}.reaction{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:999px;align-items:center;gap:4px;height:24px;padding:0 7px;font-size:12.5px;display:inline-flex}.reaction:hover:not(:disabled){background:var(--hover)}.reaction:disabled{cursor:default}.reaction.mine{border-color:var(--accent);background:var(--accent-soft);color:#0f5f58}.reaction .emoji{font-size:13px;line-height:1}.reaction .count{font-weight:600}.reaction-add{display:inline-flex;position:relative}.reaction-picker{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-lg);z-index:50;border-radius:999px;gap:2px;padding:4px;display:flex;position:absolute;bottom:calc(100% + 4px);left:0}.reaction-picker button{cursor:pointer;background:0 0;border:0;border-radius:50%;width:30px;height:30px;font-size:16px;line-height:1;transition:transform 80ms}.reaction-picker button:hover,.reaction-picker button:focus-visible{background:var(--hover);transform:scale(1.15)}.reaction-picker button.mine{background:var(--accent-soft)}.attachments{flex-direction:column;display:flex}.att-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.att-list li{border-bottom:1px solid var(--line);align-items:center;gap:10px;min-width:0;padding:8px 0;display:flex}.att-list li.uploading{opacity:.7}.att-thumb{border:1px solid var(--line);background:var(--hover);border-radius:6px;flex-shrink:0;place-items:center;width:48px;height:48px;padding:0;display:grid;overflow:hidden}button.att-thumb{cursor:zoom-in}button.att-thumb:hover{border-color:var(--accent)}.att-thumb img{object-fit:cover;width:100%;height:100%;display:block}.att-thumb .spinner.sm{margin:0}.att-ext{color:var(--text-2);letter-spacing:.03em;font-size:11px;font-weight:700}.att-ext.pdf{color:#b91c1c}.att-main{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.att-name{text-align:left;justify-content:flex-start;font-weight:500}.att-preview{background:var(--hover);border-radius:6px;place-items:center;min-height:200px;display:grid}.att-preview img{object-fit:contain;max-width:100%;max-height:70vh;display:block}.att-pdf{border:0;width:100%;height:70vh;display:block}.proofs{flex-direction:column;gap:10px;display:flex}.proof-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.proof-list li{border:1px solid var(--line);border-radius:var(--radius);align-items:center;gap:4px;padding-right:4px;display:flex}.proof-list li:hover{border-color:var(--line-2)}.proof-item{cursor:pointer;text-align:left;background:0 0;border:0;flex:1;align-items:center;gap:10px;min-width:0;padding:8px 10px;display:flex}.proof-icon{background:var(--accent-soft);width:32px;height:32px;color:var(--accent);border-radius:6px;flex-shrink:0;place-items:center;display:grid}.proof-main{flex-direction:column;flex:1;min-width:0;display:flex}.proof-status{white-space:nowrap;background:var(--hover);color:var(--text-2);border:1px solid var(--line);border-radius:999px;align-items:center;padding:1px 8px;font-size:12px;font-weight:600;display:inline-flex}.proof-status.st-review{color:#1e40af;background:#eff6ff;border-color:#bfdbfe}.proof-status.st-approved{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.proof-status.st-changes{color:#92400e;background:#fffbeb;border-color:#fde68a}.proof-status.st-complete{color:#334155;background:#f1f5f9;border-color:#cbd5e1}.st-btn-changes{color:#92400e;border-color:#fcd34d}.st-btn-changes:hover{background:#fffbeb}.btn[aria-pressed=true]{box-shadow:inset 0 0 0 2px #0f172a26}.proof-src{border:1px solid var(--line);background:var(--hover);border-radius:6px;align-items:center;gap:6px;padding:10px 12px;display:flex}.reviewer-picker{flex-direction:column;gap:6px;display:flex}.reviewer-options{border:1px solid var(--line);border-radius:6px;flex-direction:column;max-height:200px;padding:4px;display:flex;overflow:auto}.reviewer-option{cursor:pointer;border-radius:4px;padding:4px 6px}.reviewer-option:hover{background:var(--hover)}.proof-viewer{grid-template-columns:minmax(0,1fr) 320px;gap:16px;min-height:60vh;display:grid}.proof-left{flex-direction:column;gap:8px;min-width:0;display:flex}.proof-toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.proof-version{flex-direction:row}.proof-version select{height:30px;padding:2px 8px}.proof-stage{background:repeating-conic-gradient(var(--hover) 0 25%, var(--surface) 0 50%) 0 0 / 20px 20px;border:1px solid var(--line);border-radius:var(--radius);flex:1;place-items:center;min-height:360px;padding:16px;display:grid;overflow:auto}.proof-canvas{-webkit-user-select:none;user-select:none;max-width:100%;line-height:0;display:inline-block;position:relative}.proof-canvas.pinnable{cursor:crosshair}.proof-canvas img{max-width:100%;max-height:68vh;box-shadow:var(--shadow);display:block}.proof-pin{background:var(--danger);color:#fff;width:24px;height:24px;font:700 11.5px/1 var(--font);font-variant-numeric:tabular-nums;cursor:pointer;border:2px solid #fff;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 2px 6px #00000059}.proof-pin:focus-visible{outline:2px solid var(--sel);outline-offset:2px}.proof-pin.resolved{background:var(--ok);opacity:.75}.proof-pin.hot{background:var(--sel);z-index:2;scale:1.15}.proof-pin.draft{background:var(--accent);cursor:default;animation:1.2s ease-in-out infinite pin-pulse}@keyframes pin-pulse{50%{box-shadow:0 0 0 6px #0d948840}}.proof-pdf{background:var(--surface);border:0;width:100%;height:68vh}.proof-side{flex-direction:column;gap:16px;min-width:0;max-height:calc(100vh - 160px);display:flex;overflow:auto}.proof-side section{flex-direction:column;gap:8px;display:flex}.proof-side section+section{border-top:1px solid var(--line);padding-top:12px}.reviewer-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.reviewer-list li{align-items:center;gap:8px;font-size:13px;display:flex}.proof-decision textarea{width:100%}.proof-comment-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.proof-comment-list li{border-radius:6px;align-items:flex-start;gap:8px;padding:6px;display:flex}.proof-comment-list li.hot{background:var(--hover)}.proof-comment-list li.resolved .comment-body{color:var(--muted);text-decoration:line-through}.proof-comment-list .icon-btn.on{color:var(--ok)}.pin-num{background:var(--danger);color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:22px;height:22px;font-size:11px;font-weight:700;display:grid}.proof-comment-list li.resolved .pin-num{background:var(--ok)}.proof-comments .comment-form{border-top:0;padding-top:4px}.cell-history{border-left:2px solid var(--line);flex-direction:column;gap:4px;margin:0;padding:0 0 0 14px;list-style:none;display:flex}.cell-history li{border-radius:6px;flex-direction:column;gap:4px;padding:8px 10px;display:flex;position:relative}.cell-history li:hover{background:var(--hover)}.cell-history li:before{content:"";background:var(--surface);border:2px solid var(--line-2);border-radius:50%;width:10px;height:10px;position:absolute;top:14px;left:-20px}.cell-history li.current:before{background:var(--accent);border-color:var(--accent)}.hist-val{word-break:break-word;flex-direction:column;gap:3px;min-width:0;display:flex}.hist-val .text-cell{white-space:pre-wrap}.hist-formula{color:var(--text-2);background:var(--hover);border-radius:4px;align-self:flex-start;padding:1px 5px}.hist-prev{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.hist-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.hist-who{align-items:center;gap:5px;display:inline-flex}.hist-now{background:var(--accent-soft);color:#0f5f58;border-color:#0000}.hist-current{color:var(--text-2);align-items:center;gap:6px;margin-top:6px;display:flex}@media (width<=860px){.proof-viewer{grid-template-columns:1fr}.proof-side{max-height:none}.proof-stage{min-height:240px}}@media (width<=480px){.replies{margin-left:8px}.reaction-picker{border-radius:12px;flex-wrap:wrap;width:170px}}.fr{--fa:var(--form-accent,var(--accent));flex-direction:column;display:flex}.fr input:focus,.fr select:focus,.fr textarea:focus{border-color:var(--fa);box-shadow:0 0 0 3px color-mix(in srgb, var(--fa) 18%, transparent)}.fr input[type=checkbox],.fr input[type=radio]{accent-color:var(--fa)}.fr-head{border-top:6px solid var(--form-accent,var(--accent));border-bottom:1px solid var(--line);flex-direction:column;gap:6px;padding:26px 32px 18px;display:flex}.fr-head-slim{padding-bottom:14px}.fr-brand{color:var(--muted);align-items:center;gap:10px;margin-bottom:6px;font-size:13px;font-weight:500;display:flex}.fr-brand img{object-fit:contain;max-width:180px;max-height:40px}.fr-head h1{overflow-wrap:anywhere;font-size:24px;font-weight:650}.fr-desc{color:var(--text-2);white-space:pre-wrap;overflow-wrap:anywhere;margin:2px 0 0}.fr-signed{align-items:center;gap:5px;margin:4px 0 0;display:flex}.fr-req-note{margin:6px 0 0}.fr-star{color:var(--danger);margin-left:3px;font-weight:600}.fr-body{flex-direction:column;gap:20px;padding:22px 32px 6px;display:flex}.fr-heading{padding-top:6px}.fr-heading h2{color:var(--text);font-size:17px}.fr-heading p{color:var(--muted);white-space:pre-wrap;margin:4px 0 0}.fr-divider{border:0;border-top:1px solid var(--line);width:100%;margin:2px 0}.fr-field{border:0;flex-direction:column;gap:6px;min-width:0;margin:0;padding:0;display:flex}fieldset.fr-field{gap:6px}.fr-label{color:var(--text);flex-direction:row;padding:0;font-size:14px;font-weight:600;display:block}.fr-help{color:var(--muted);white-space:pre-wrap;margin:-2px 0 2px;font-size:12.5px}.fr-field input:not([type=checkbox]):not([type=radio]),.fr-field select,.fr-field textarea{width:100%;max-width:560px;min-height:38px}.fr-field textarea{max-width:100%}.fr-field.has-error input:not([type=checkbox]):not([type=radio]),.fr-field.has-error select,.fr-field.has-error textarea{border-color:var(--danger)}.fr-error{color:var(--danger);align-items:center;gap:5px;margin:0;font-size:12.5px;display:flex}.fr-check{color:var(--text);font-size:14px;font-weight:500}.fr-check input{width:17px;height:17px}.fr-affix{align-items:center;gap:8px;max-width:260px;display:flex}.fr-affix input{max-width:200px!important}.fr-suffix{color:var(--muted);font-size:13px}.fr-options{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.fr-option{color:var(--text);border-radius:6px;padding:5px 8px 5px 4px;font-size:14px;font-weight:400}.fr-option:hover{background:var(--hover)}.fr-option input{width:16px;height:16px}.fr-sym{align-items:center;gap:7px;display:inline-flex}.fr-clear{margin:2px 0 0 4px}.fr-multi{flex-direction:column;gap:6px;display:flex}.fr-chips{flex-wrap:wrap;gap:6px;display:flex}.fr-drop{max-width:560px;margin:0}.fr-drop:focus-visible{outline:2px solid var(--fa);outline-offset:2px}.fr-drop:hover,.fr-drop.over{border-color:var(--fa);color:var(--fa)}.fr-drop b{color:var(--text)}.fr-files{flex-direction:column;gap:4px;max-width:560px;margin:0;padding:0;list-style:none;display:flex}.fr-files li{border:1px solid var(--line);border-radius:6px;align-items:center;gap:8px;padding:5px 4px 5px 10px;font-size:13px;display:flex}.fr-fname{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.fr-hp{width:1px;height:1px;top:auto;left:-10000px;overflow:hidden;position:absolute!important}.fr-foot{flex-direction:column;align-items:flex-start;gap:10px;padding:18px 32px 28px;display:flex}.fr-foot .alert{align-self:stretch}.btn.fr-submit{background:var(--form-accent,var(--accent));border-color:var(--form-accent,var(--accent));color:#fff;height:40px;padding:0 22px;font-size:14.5px;font-weight:600}.btn.fr-submit:hover{filter:brightness(.92);background:var(--form-accent,var(--accent))}.fr-done{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:44px 32px;display:flex}.fr-done h1{outline:none;font-size:22px}.fr-done p{margin:0}.fr-done-icon{color:#fff;background:var(--form-accent,var(--ok));border-radius:50%;place-items:center;width:58px;height:58px;margin-bottom:6px;display:grid}.fr-done-msg{white-space:pre-wrap;max-width:520px;color:var(--text-2);overflow-wrap:anywhere}.fr-another{margin-top:12px}.pf-page{background:linear-gradient(180deg, color-mix(in srgb, var(--form-accent,var(--accent)) 14%, var(--bg)) 0, var(--bg) 320px);min-height:100%;padding:32px 16px}.pf-main{flex-direction:column;gap:14px;max-width:720px;margin:0 auto;display:flex}.pf-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:12px;overflow:hidden}.pf-state{text-align:center;border-top:6px solid var(--form-accent,var(--accent));flex-direction:column;align-items:center;gap:10px;padding:44px 28px;display:flex}.pf-state .spinner{margin:10px auto}.pf-state h1{font-size:20px}.pf-state p{max-width:460px;margin:0}.pf-state .btn{margin-top:8px}.pf-state-icon{background:var(--hover);width:56px;height:56px;color:var(--text-2);border-radius:50%;place-items:center;display:grid}.pf-foot{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:8px;padding:0 4px;display:flex}.pf-foot span{align-items:center;gap:5px;display:inline-flex}@media (width<=600px){.pf-page{padding:12px 10px}.fr-head,.fr-body,.fr-foot{padding-left:18px;padding-right:18px}.fr-head h1{font-size:20px}.btn.fr-submit{width:100%}}.fm-list{flex-direction:column;gap:14px;min-height:280px;display:flex}.fm-list-head h2{margin-bottom:2px}.fm-empty{border:1px dashed var(--line-2);border-radius:var(--radius);padding:44px 20px}.fm-table{border:1px solid var(--line);border-radius:var(--radius)}.fm-table td{vertical-align:middle}.fm-name{color:var(--text);text-align:left;align-items:center;gap:7px;font-weight:600;display:inline-flex}.fm-badge-public{color:#1e40af;background:#eff6ff;border-color:#bfdbfe}.badge .icon{vertical-align:-2px}.fm-foot-error{color:var(--danger);align-items:center;gap:5px;max-width:480px;display:inline-flex}.fm-builder{flex-direction:column;height:min(72vh,760px);min-height:440px;margin:-18px;display:flex}.fm-tabs{flex-shrink:0;align-items:center;gap:6px;padding-right:14px}.fm-tabs button{align-items:center;gap:6px;padding:11px 10px;display:inline-flex}.fm-status.on{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.fm-build{flex:1;grid-template-columns:230px minmax(0,1fr) 320px;min-height:0;display:grid}.fm-palette,.fm-props{background:#fafbfc;padding:14px;overflow:auto}.fm-palette{border-right:1px solid var(--line)}.fm-props{border-left:1px solid var(--line);background:var(--surface)}.fm-palette h4{margin-bottom:2px}.fm-pal-sep{margin-top:18px}.fm-pal-note{margin-top:8px}.fm-pal-list{flex-direction:column;gap:4px;margin:8px 0;padding:0;list-style:none;display:flex}.fm-pal-item{border:1px solid var(--line);background:var(--surface);cursor:grab;text-align:left;width:100%;color:var(--text-2);border-radius:6px;align-items:center;gap:8px;padding:7px 9px;font-size:13px;display:flex}.fm-pal-item:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.fm-pal-item.used{cursor:default;opacity:.55;background:0 0}.fm-pal-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.fm-canvas{background:var(--bg);padding:20px;overflow:auto}.fm-canvas-inner{background:var(--surface);border:1px solid var(--line);border-top:5px solid var(--form-accent,var(--accent));max-width:620px;box-shadow:var(--shadow);border-radius:10px;margin:0 auto;padding:6px 0 14px}.fm-canvas-head{text-align:left;border:0;border-bottom:1px solid var(--line);cursor:pointer;background:0 0;flex-direction:column;gap:3px;width:100%;padding:14px 20px;display:flex}.fm-canvas-head strong{font-size:17px}.fm-canvas-head:hover{background:var(--hover)}.fm-drop-empty{border:1.5px dashed var(--line-2);color:var(--muted);border-radius:8px;justify-content:center;align-items:center;gap:8px;margin:16px 20px 4px;padding:26px;display:flex}.fm-fields{flex-direction:column;gap:4px;margin:0;padding:10px 12px 0;list-style:none;display:flex}.fm-item{background:var(--surface);border:1px solid #0000;border-radius:8px;align-items:center;gap:4px;padding:2px 4px 2px 2px;display:flex;position:relative}.fm-item:hover{border-color:var(--line);background:#fafbfc}.fm-item.sel{border-color:var(--form-accent,var(--accent));background:color-mix(in srgb, var(--form-accent,var(--accent)) 6%, var(--surface));box-shadow:0 0 0 2px color-mix(in srgb, var(--form-accent,var(--accent)) 18%, transparent)}.fm-item.drop-before:before,.fm-item.drop-after:after{content:"";background:var(--form-accent,var(--accent));border-radius:3px;height:3px;position:absolute;left:6px;right:6px}.fm-item.drop-before:before{top:-4px}.fm-item.drop-after:after{bottom:-4px}.fm-grip{cursor:grab;color:var(--line-2);letter-spacing:-2px;-webkit-user-select:none;user-select:none;padding:0 4px;font-size:12px}.fm-item:hover .fm-grip{color:var(--muted)}.fm-item-main{text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;gap:3px;min-width:0;padding:9px 6px;display:flex}.fm-item-title{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.fm-item-title.fm-h{font-size:15.5px}.fm-item-sub{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.fm-item-meta{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.fm-item-meta .icon{vertical-align:-2px}.fm-tag{background:var(--hover);color:var(--text-2);border:1px solid var(--line);border-radius:4px;align-items:center;gap:3px;padding:0 6px;font-size:11px;line-height:17px;display:inline-flex}.fm-divider-line{background:var(--line-2);width:100%;height:1px;margin:8px 0;display:block}.fm-item.k-divider .fm-item-main{padding:12px 6px}.fm-item-actions{opacity:0;transition:opacity .1s;display:flex}.fm-item:hover .fm-item-actions,.fm-item.sel .fm-item-actions,.fm-item:focus-within .fm-item-actions{opacity:1}.fm-item-actions .icon-btn{width:26px;height:26px}.fm-canvas-foot{flex-direction:column;align-items:flex-start;gap:10px;padding:14px 20px 4px;display:flex}.fm-fake-submit{background:var(--form-accent,var(--accent));color:#fff;pointer-events:none;border-color:#0000}.fm-props h3{font-size:14px}.fm-props-empty{text-align:center;color:var(--muted);flex-direction:column;align-items:center;gap:8px;padding:40px 12px;display:flex}.fm-props-empty p{margin:0}.fm-fieldprops textarea{min-height:52px}.fm-colname{margin:-4px 0 0}.fm-toggles{gap:18px;display:flex}.fm-seg{align-self:flex-start}.fm-seg button{padding:5px 12px}.fm-default{flex-direction:column;gap:5px;display:flex}.fm-default .fr-affix{max-width:none}.fm-sublabel{color:var(--text-2);font-size:13px;font-weight:500}.fm-group{gap:8px}.fm-group select,.fm-group input:not([type=checkbox]){width:100%}.fm-logic-match{color:var(--text-2);flex-wrap:wrap;align-items:center;gap:6px;display:flex}.fm-logic-match select{padding:3px 6px;width:auto!important}.fm-cond{background:var(--hover);border-radius:6px;flex-direction:column;gap:4px;padding:8px;display:flex}.fm-cond-row{align-items:center;gap:4px;display:flex}.fm-cond-row select:first-child{flex:0 0 104px;width:104px!important}.fm-cond-row>input,.fm-cond-row>select:nth-child(2){flex:1}.fm-remove{color:var(--danger);align-self:flex-start;margin-top:4px}.fm-settings{flex:1;padding:20px 24px;overflow:auto}.fm-settings-grid{grid-template-columns:1fr 1fr;gap:32px;max-width:980px;display:grid}.fm-settings h3{font-size:14px}.fm-sep{border-top:1px solid var(--line);margin-top:8px;padding-top:14px}.fm-access{flex-direction:column;gap:8px;display:flex}.fm-access-opt{border:1px solid var(--line-2);cursor:pointer;border-radius:8px;flex-direction:row;align-items:flex-start;gap:10px;padding:11px 12px;font-weight:400}.fm-access-opt>span{flex-direction:column;gap:2px;display:flex}.fm-access-opt b{color:var(--text);font-weight:600}.fm-access-opt input{margin-top:2px}.fm-access-opt .icon{color:var(--muted);margin-top:1px}.fm-access-opt.on{border-color:var(--accent);background:var(--accent-soft)}.fm-access-opt.on .icon{color:var(--accent)}.fm-access-opt.disabled{opacity:.6;cursor:not-allowed}.fm-linkbox{gap:6px;display:flex}.fm-linkbox input{font-family:var(--mono);background:var(--hover);flex:1;font-size:12px}.fm-accent{align-items:center;gap:10px;display:flex}.fm-preview{background:linear-gradient(180deg, color-mix(in srgb, var(--form-accent,var(--accent)) 10%, var(--bg)) 0, var(--bg) 260px);flex:1;padding:24px 16px;overflow:auto}.fm-preview-card{max-width:700px;margin:0 auto}@media (width<=960px){.fm-builder{height:auto;min-height:0}.fm-build{grid-template-columns:1fr}.fm-palette,.fm-props{border:0;border-top:1px solid var(--line);max-height:none}.fm-palette{order:2}.fm-props{order:3}.fm-canvas{order:1;padding:12px}.fm-item-actions{opacity:1}.fm-settings-grid{grid-template-columns:1fr;gap:20px}}.wf-root{--wf-trigger:var(--accent);--wf-cond:var(--warn);--wf-action:#2563eb;--wf-approval:#7c3aed;min-height:240px}.wf-gap{margin:8px 0}.wf-back{color:var(--muted);align-self:flex-start;margin:-6px 0 6px -8px}.wf-intro{max-width:620px;margin:0}.wf-list-head{flex-wrap:wrap;align-items:flex-start}.wf-section-title{color:var(--text-2);margin:0 0 8px;font-size:13px}.wf-templates{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px;display:grid}.wf-template{text-align:left;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);cursor:pointer;align-items:flex-start;gap:10px;padding:12px;transition:border-color .12s,box-shadow .12s;display:flex}.wf-template:hover,.wf-template:focus-visible{border-color:var(--accent);box-shadow:var(--shadow);outline:none}.wf-template-icon{background:var(--accent-soft,#e6f6f4);width:32px;height:32px;color:var(--accent);border-radius:8px;flex-shrink:0;place-items:center;display:grid}.wf-template-text{flex-direction:column;gap:2px;min-width:0;display:flex}.wf-template-text strong{font-size:13px;font-weight:600}.wf-list{border:1px solid var(--line);border-radius:var(--radius);margin:0;padding:0;list-style:none;overflow:hidden}.wf-item{background:var(--surface);grid-template-columns:auto 1fr auto auto;align-items:center;gap:14px;padding:12px 14px;display:grid}.wf-item+.wf-item{border-top:1px solid var(--line)}.wf-item:hover{background:#fafcff}.wf-item.off .wf-item-main{opacity:.7}.wf-item-main{flex-direction:column;gap:4px;min-width:0;display:flex}.wf-item-name{align-items:center;gap:8px;font-weight:600;display:flex}.wf-name-link{color:var(--text);text-align:left;font-size:14px;font-weight:600}.wf-name-link:hover{color:var(--accent)}.wf-sentence{flex-wrap:wrap;gap:6px;display:flex}.wf-part{border:1px solid var(--line);background:var(--hover);color:var(--text-2);border-radius:999px;align-items:center;gap:5px;max-width:100%;padding:2px 8px;font-size:12px;display:inline-flex}.wf-part.trig{border-color:color-mix(in srgb, var(--wf-trigger) 30%, #fff);background:color-mix(in srgb, var(--wf-trigger) 8%, #fff)}.wf-part.cond{border-color:color-mix(in srgb, var(--wf-cond) 30%, #fff);background:color-mix(in srgb, var(--wf-cond) 8%, #fff)}.wf-part.act{border-color:color-mix(in srgb, var(--wf-action) 25%, #fff);background:color-mix(in srgb, var(--wf-action) 6%, #fff)}.wf-meta{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.wf-meta svg{vertical-align:-1px}.wf-last-error{color:var(--danger);align-items:flex-start;gap:4px;display:flex}.wf-item-tools{gap:2px;display:flex}.wf-del:hover{color:var(--danger)}.wf-dot{background:var(--line-2);border-radius:50%;width:10px;height:10px}.wf-dot.on{background:var(--ok)}.wf-empty{padding:36px 20px}.wf-empty h3{color:var(--text);margin:0}.au-status{white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:12px;font-weight:500;display:inline-flex}.au-status.ok{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.au-status.err{color:#991b1b;background:#fef2f2;border-color:#fecaca}.au-status.skip{color:var(--text-2);background:var(--hover);border-color:var(--line)}.wf-editor{flex-direction:column;display:flex}.wf-flow{flex-direction:column;gap:0;display:flex}.wf-name{max-width:520px;margin-bottom:16px}.wf-name input{font-size:15px;font-weight:500}.wf-block{--wf-c:var(--wf-action);border:1px solid var(--line);border-left:4px solid var(--wf-c);border-radius:var(--radius);background:var(--surface);position:relative;box-shadow:0 1px 2px #0f172a0a}.wf-step{margin-top:26px}.wf-step.first{margin-top:0}.wf-step:not(.first):before{content:"";background:var(--line-2);width:2px;height:22px;position:absolute;top:-27px;left:25px}.wf-step:not(.first):after{content:"";border:5px solid #0000;border-top-color:var(--line-2);position:absolute;top:-9px;left:21px}.wf-trigger{--wf-c:var(--wf-trigger)}.wf-condition{--wf-c:var(--wf-cond)}.wf-approval{--wf-c:var(--wf-approval)}.wf-block-head{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:10px 12px;display:flex}.wf-block-icon{width:28px;height:28px;color:var(--wf-c);background:color-mix(in srgb, var(--wf-c) 12%, #fff);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.wf-block-title{flex-direction:column;flex:1;min-width:0;display:flex}.wf-block-title strong{font-size:13.5px}.wf-block-tools{align-items:center;gap:2px;display:flex}.wf-type-select{max-width:200px;margin-right:4px;padding:3px 6px;font-size:12.5px}.wf-block-body{padding:12px}.wf-block-body .conditions{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.wf-trigger-types{flex-wrap:wrap;gap:6px;display:flex}.wf-choice{border:1px solid var(--line-2);background:var(--surface);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:6px 11px;font-size:13px;display:inline-flex}.wf-choice:hover{background:var(--hover)}.wf-choice.on{border-color:var(--wf-trigger);background:color-mix(in srgb, var(--wf-trigger) 10%, #fff);color:color-mix(in srgb, var(--wf-trigger) 75%, #000);font-weight:500}.wf-inline{flex-flow:wrap;align-items:center;gap:8px;font-weight:400}.wf-inline-row{flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:flex}.au-num{width:72px}.wf-days{gap:4px;display:inline-flex}.wf-day{border:1px solid var(--line-2);background:var(--surface);cursor:pointer;border-radius:6px;width:40px;height:30px;font-size:12.5px}.wf-day.on{background:var(--accent);border-color:var(--accent);color:#fff}.wf-advanced summary{cursor:pointer;color:var(--muted);font-size:12.5px}.wf-sources{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:6px 12px;margin:8px 0 4px;display:grid}.wf-actions{flex-direction:column;display:flex}.wf-actions.nested{gap:8px}.wf-empty-actions{border:1px dashed var(--line-2);border-radius:var(--radius);color:var(--muted);text-align:center;margin:14px 0 0;padding:14px;font-size:13px}.wf-add-row{margin-top:12px}.wf-actions.nested .wf-add-row{margin-top:0}.wf-add{border-style:dashed}.wf-menu-item{align-items:center;gap:8px;display:inline-flex}.wf-grid-4{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.wf-recipients{gap:8px}.wf-recipient-row{grid-template-columns:90px 1fr;align-items:start;gap:8px;display:grid}.wf-rlabel{color:var(--muted);padding-top:5px;font-size:12.5px}.wf-chips{flex-wrap:wrap;align-items:center;gap:6px;min-height:28px;display:flex}.wf-add-person{max-width:220px;padding:3px 8px;font-size:12.5px}.wf-tog{border:1px solid var(--line-2);background:var(--surface);cursor:pointer;border-radius:999px;align-items:center;gap:4px;padding:3px 10px;font-size:12.5px;display:inline-flex}.wf-tog:hover:not(:disabled){background:var(--hover)}.wf-tog.on{background:var(--accent-soft,#e6f6f4);border-color:var(--accent);color:#0f5f58}.wf-tog:disabled{opacity:.45;cursor:not-allowed}.wf-colpick{flex-direction:column;gap:6px;display:flex}.wf-colpick-label{color:var(--text-2);font-size:13px;font-weight:500}.wf-branches{grid-template-columns:1fr 1fr;gap:12px;margin-top:4px;display:grid}.wf-branch{--b:var(--ok);border:1px solid color-mix(in srgb, var(--b) 30%, #fff);background:color-mix(in srgb, var(--b) 4%, #fff);border-radius:var(--radius);flex-direction:column;gap:8px;min-width:0;padding:10px;display:flex}.wf-branch.no{--b:var(--danger)}.wf-branch-head{color:color-mix(in srgb, var(--b) 80%, #000);align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex}.wf-branch .wf-block{box-shadow:none}.wf-branch .wf-block-head{padding:8px 10px}.wf-branch .wf-block-body{padding:10px}.wf-branch .wf-type-select{max-width:150px}.wf-foot-enable{margin-right:auto}.wf-foot-enable .switch{margin-right:4px}.wf-runs-head{flex-wrap:wrap;align-items:flex-end}.wf-runs-title{margin:0;font-size:15px}.wf-runs-table{border:1px solid var(--line);border-radius:var(--radius);max-height:460px}.wf-run-msg{white-space:pre-wrap;word-break:break-word;max-width:420px}@media (width<=760px){.wf-item{grid-template-columns:auto 1fr}.wf-item-status,.wf-item-tools{grid-column:2}.wf-branches,.wf-grid-4,.wf-recipient-row{grid-template-columns:1fr}.wf-block-head{flex-wrap:wrap}.wf-block-tools{width:100%}}.dbl-filters{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}.dbl-search{max-width:360px;color:var(--muted);flex-direction:row;flex:1;align-items:center;gap:6px;position:relative}.dbl-search svg{pointer-events:none;position:absolute;left:10px}.dbl-search input{width:100%;padding-left:32px}.dbl-tile{padding:0;position:relative}.dbl-link{color:var(--text);flex-direction:column;gap:6px;height:100%;padding:14px 16px 16px;display:flex;text-decoration:none!important}.dbl-link h3{overflow-wrap:anywhere;padding-right:28px}.dbl-link .badge{align-self:flex-start}.dbl-link p{margin:0}.dbl-thumb{background:var(--bg);border:1px solid var(--line);border-radius:6px;height:72px;margin-bottom:6px;position:relative;overflow:hidden}.dbl-thumb span{box-sizing:border-box;background:var(--surface);border:1px solid var(--line);border-radius:2px;max-width:calc(100% - 2px);margin:2px;position:absolute;transform:translate(-2px)}.dbl-menu{position:absolute;bottom:10px;right:8px}.dbl-starters{border:0;flex-direction:column;gap:8px;margin:0;padding:0;display:flex}.dbl-starter{border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;align-items:flex-start;padding:10px 12px}.dbl-starter.on{border-color:var(--accent);background:var(--accent-soft)}.dbl-starter>span{flex-direction:column;gap:2px;display:flex}.db-page{padding-bottom:32px}.db-head-title{flex:1;min-width:0}.db-head-title h1{overflow-wrap:anywhere}.db-head-title p{margin:4px 0 0}.db-name-input{width:min(100%,520px);padding:4px 8px;font-size:22px;font-weight:650}.db-unsaved{color:#92400e;background:#fffbeb;border-color:#fde68a}.db-spin{animation:.8s linear infinite spin}.db-palette{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);z-index:6;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:12px;padding:8px 10px;display:flex;position:sticky;top:0}.db-palette-sep{flex:1}.db-edit-layout{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:16px;display:grid}.db-canvas{background:var(--db-bg,transparent);border-radius:10px;min-width:0}:is(.db-page:has(.db-canvas[style*=--db-bg]) .db-canvas,.db-canvas[style*=--db-bg]){padding:14px}.db-grid{grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:80px;gap:12px;display:grid;position:relative}.db-guide{background:color-mix(in srgb, var(--accent) 5%, transparent);pointer-events:none;border-radius:4px}.db-w{background:var(--db-card,var(--surface));border:1px solid var(--line);min-width:0;min-height:0;color:var(--db-fg,var(--text));border-radius:10px;flex-direction:column;gap:6px;padding:12px 14px;display:flex;position:relative;overflow:hidden}.db-w.db-t-title{background:var(--db-card-title,transparent);border-color:#0000;justify-content:center}.db-w.db-t-title[style*=background]{border-color:var(--line)}.db-w-title{color:inherit;white-space:nowrap;text-overflow:ellipsis;flex-shrink:0;font-size:14px;font-weight:600;overflow:hidden}.db-body{flex-direction:column;flex:1;min-height:0;display:flex;overflow:auto}.db-w.editable{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;border-style:dashed;border-color:var(--line-2);outline:none}.db-w.editable.db-t-title{border-color:var(--line-2)}.db-w.editable .db-body{pointer-events:none}.db-w.editable:hover{box-shadow:var(--shadow)}.db-w.editable:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 35%, transparent)}.db-w.selected{border:2px solid var(--accent);padding:11px 13px}.db-w.dragging{cursor:grabbing;z-index:5;box-shadow:var(--shadow-lg);opacity:.92}.db-tools{background:var(--surface);border:1px solid var(--line);z-index:2;opacity:0;border-radius:6px;align-items:center;gap:1px;padding:1px 2px;transition:opacity .12s;display:flex;position:absolute;top:4px;right:4px}.db-w.editable:hover .db-tools,.db-w.selected .db-tools,.db-w.editable:focus-within .db-tools{opacity:1}.db-tools .icon-btn{width:24px;height:24px}.db-type-tag{color:var(--muted);padding:0 6px;font-size:11px}.db-stale{color:#92400e;background:#fffbeb;border-radius:4px;padding:0 5px;font-size:10.5px}.db-resize{cursor:nwse-resize;z-index:3;touch-action:none;width:18px;height:18px;position:absolute;bottom:0;right:0}.db-resize:after{content:"";border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);border-radius:0 0 2px;width:8px;height:8px;position:absolute;bottom:4px;right:4px}.db-panel{background:var(--surface);border:1px solid var(--line);border-radius:10px;max-height:calc(100vh - 88px);padding:14px;position:sticky;top:64px;overflow:auto}.db-panel h3{align-items:center;gap:6px;font-size:15px;display:flex}.db-panel-empty{text-align:center;color:var(--muted);flex-direction:column;align-items:center;gap:8px;padding:24px 8px;display:flex}.db-panel-empty p{margin:0}.db-editor .actions{gap:0}.db-fieldset{border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:10px;min-width:0;margin:0;padding:10px 12px 12px;display:flex}.db-fieldset legend{align-items:center;gap:6px;display:flex}.db-fieldset .conditions{flex-direction:column;gap:8px;display:flex}.db-fieldset .cond-row{grid-template-columns:1fr 1fr;align-items:center;gap:6px;display:grid}.db-fieldset .cond-row>:nth-child(3){grid-column:1/2}.db-fieldset .cond-row>.icon-btn{grid-column:2;justify-self:end}.db-fieldset .cond-row select,.db-fieldset .cond-row input{width:100%;min-width:0}.db-grid2{grid-template-columns:1fr 1fr;gap:8px;display:grid}.db-grid3{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.db-grid4{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.db-grid2>*,.db-grid3 input,.db-grid4 input,.db-grid3 select{width:100%;min-width:0}.db-checks{grid-template-columns:1fr 1fr;gap:4px 10px;max-height:180px;display:grid;overflow:auto}.db-checks label{overflow-wrap:anywhere;min-width:0;font-size:12.5px}.db-seg-field{color:var(--text-2);flex-direction:column;gap:5px;font-size:13px;font-weight:500;display:flex}.db-seg-field .seg{flex-wrap:wrap;align-self:flex-start}.db-color{color:var(--text-2);align-items:center;gap:8px;font-size:13px;display:flex}.db-color>span:first-child{flex:1;font-weight:500}.db-invalid{color:var(--danger);font-size:12px;font-weight:400}.db-img-preview{border-radius:4px;max-width:100%;max-height:110px}.db-link-edit{border-bottom:1px dashed var(--line);flex-direction:column;gap:6px;padding-bottom:10px;display:flex}.db-link-tools{justify-content:flex-end;display:flex}.db-link-tools .icon-btn{width:26px;height:26px}.db-swatches{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.db-swatch{border:1px solid var(--line);background:var(--surface);cursor:pointer;color:var(--text-2);border-radius:6px;flex-direction:column;align-items:center;gap:4px;padding:6px 4px;font-size:11.5px;display:flex}.db-swatch:hover{border-color:var(--accent)}.db-swatch>span{border:1px solid var(--line);border-radius:4px;width:100%;height:30px;position:relative;overflow:hidden}.db-swatch i{border-radius:2px;position:absolute;inset:6px}.db-swatch b{border-radius:2px;width:40%;height:4px;position:absolute;bottom:10px;left:10px}.db-share-row{align-items:center;gap:12px;display:flex}.db-share-row>div{flex:1}.db-share-row p{margin:2px 0 0}.db-copy-link{gap:6px;display:flex}.db-copy-link input{flex:1;min-width:0;font-weight:400}.db-empty{color:var(--muted);text-align:center;flex:1;justify-content:center;align-items:center;gap:8px;padding:8px;font-size:13px;display:flex}.db-src{color:var(--muted);align-self:flex-start;margin-top:auto;padding-top:4px;font-size:11.5px}.db-foot{color:var(--muted);justify-content:space-between;align-items:center;gap:8px;margin-top:auto;padding-top:4px;font-size:11.5px;display:flex}.db-foot .db-src{margin:0;padding:0}.db-titlew{flex-direction:column;justify-content:center;gap:2px;height:100%;display:flex}.db-titlew h2{color:inherit;overflow-wrap:anywhere;font-size:22px;font-weight:650}.db-titlew p{color:var(--db-fg,var(--muted));opacity:.85;margin:0}.db-richtext{overflow-wrap:anywhere;font-size:13.5px;line-height:1.55}.db-richtext>:first-child{margin-top:0}.db-richtext p,.db-richtext ul,.db-richtext ol{margin:0 0 8px}.db-richtext ul,.db-richtext ol{padding-left:20px}.db-richtext h3,.db-richtext h4{color:inherit;margin:4px 0 6px}.db-metric{flex-direction:column;flex:1;justify-content:center;min-width:0;display:flex}.db-metric-value{font-size:clamp(26px, calc(var(--h,2) * 14px), 56px);letter-spacing:-.02em;color:var(--db-fg,var(--navy));font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;font-weight:650;line-height:1.1;overflow:hidden}.db-metric-suffix{margin-left:2px;font-size:.55em;font-weight:600}.db-metric-sub{color:var(--db-fg,var(--muted));opacity:.85;font-size:12.5px}.db-progress{flex-direction:column;flex:1;justify-content:center;gap:8px;display:flex}.db-progress-top{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.db-progress-value{color:var(--db-fg,var(--navy));font-variant-numeric:tabular-nums;font-size:30px;font-weight:650}.db-progress-track{background:var(--hover);border-radius:999px;height:12px;overflow:hidden}.db-progress-track>div{background:var(--accent);border-radius:999px;height:100%;transition:width .4s}.db-chart{flex-direction:column;flex:1;min-height:0;display:flex}.db-chart-area{flex:1;min-height:0;overflow:auto}.db-chart-column .db-chart-area,.db-chart-line .db-chart-area{display:flex;overflow:hidden}.db-chart-area .chart-svg{display:block}.db-chart-donut .donut-wrap{justify-content:center}.db-table{flex-direction:column;flex:1;min-height:0;display:flex}.db-table .table-wrap{border:1px solid var(--line);border-radius:6px;flex:1;min-height:0}.db-table .table th{z-index:1;position:sticky;top:0}.db-table .table td{text-overflow:ellipsis;white-space:nowrap;max-width:260px;font-size:13px;overflow:hidden}.db-img{width:100%;height:100%;min-height:0;display:block}.db-img-link{flex:1;min-height:0;display:block}.db-t-image .db-body{overflow:hidden}.db-links{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.db-links a,.db-link-off{overflow-wrap:anywhere;border-radius:6px;align-items:center;gap:8px;padding:6px 8px;font-size:13.5px;display:flex}.db-links a:hover{background:var(--hover);text-decoration:none}.db-link-off{color:var(--muted);cursor:not-allowed}.db-iframe{background:var(--hover);border:0;border-radius:6px;flex:1;width:100%;height:100%}.db-t-web .db-body{overflow:hidden}.db-timeline{flex-direction:column;flex:1;min-height:0;font-size:12.5px;display:flex}.db-tl-head{color:var(--muted);border-bottom:1px solid var(--line);justify-content:space-between;margin-left:38%;padding-bottom:4px;font-size:11px;display:flex}.db-tl-rows{flex:1;min-height:0;position:relative;overflow:auto}.db-tl-row{align-items:center;height:24px;display:flex}.db-tl-row.parent .db-tl-name{font-weight:600}.db-tl-name{text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;width:38%;padding-right:8px;overflow:hidden}.db-tl-track{flex:1;height:100%;position:relative}.db-tl-bar{background:color-mix(in srgb, var(--accent) 35%, transparent);border-radius:3px;min-width:3px;height:12px;position:absolute;top:6px;overflow:hidden}.db-tl-row.parent .db-tl-bar{background:color-mix(in srgb, var(--navy) 35%, transparent);height:8px;top:8px}.db-tl-pct{background:var(--accent);position:absolute;inset:0 auto 0 0}.db-tl-row.parent .db-tl-pct{background:var(--navy)}.db-tl-today{border-left:2px dashed var(--danger);opacity:.6;z-index:1;pointer-events:none;width:0;position:absolute;top:0;bottom:0}@media (width<=1100px){.db-edit-layout{grid-template-columns:minmax(0,1fr) 300px}}@media (width<=760px){.db-edit-layout{grid-template-columns:1fr}.db-panel{max-height:none;position:static}.db-grid{grid-template-columns:1fr;grid-auto-rows:auto;grid-template-rows:none!important}.db-w{height:calc(min(var(--h,3), 6) * 80px + (min(var(--h,3), 6) - 1) * 12px);grid-area:auto/1/auto/-1!important}.db-w.db-t-title{height:auto;min-height:60px}.db-guide,.db-resize{display:none}.db-w.editable{cursor:pointer;touch-action:auto}.db-palette{position:static}.dbl-search{max-width:none}}.db-metric-symbol{align-items:center;gap:10px;font-size:.6em;display:inline-flex}.rp-sr{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.rp-link{color:var(--accent);cursor:pointer;font:inherit;background:0 0;border:0;padding:0}.rp-link:hover{text-decoration:underline}.rp-dot{background:var(--warn);vertical-align:middle;border-radius:50%;width:7px;height:7px;margin-left:4px;display:inline-block}.rp-listbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.rp-search{flex:0 320px;align-items:center;min-width:220px;display:flex;position:relative}.rp-search .icon{color:var(--muted);pointer-events:none;position:absolute;left:9px}.rp-search input{width:100%;padding-left:30px}.rp-list td{vertical-align:middle}.rp-name{align-items:center;gap:8px;display:inline-flex;color:var(--text)!important}.rp-private{align-items:center;gap:3px;margin-left:8px;display:inline-flex}.rp-type-pick{gap:8px;display:grid}.rp-type-opt{border:1px solid var(--line-2);border-radius:var(--radius);cursor:pointer;flex-direction:row;align-items:flex-start;gap:10px;padding:11px 12px;font-weight:400;transition:border-color .12s,background .12s}.rp-type-opt:hover{background:var(--hover)}.rp-type-opt.on{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 1px var(--accent) inset}.rp-type-opt input{margin-top:3px}.rp-type-ico{background:var(--surface);border:1px solid var(--line);width:34px;height:34px;color:var(--accent);border-radius:8px;flex:none;place-items:center;display:grid}.rp-type-text{color:var(--text);flex-direction:column;gap:2px;display:flex}@media (width<=760px){.rp-hide-sm{display:none}}.rp-head{align-items:flex-start}.rp-title{min-width:0}.rp-h1{align-items:center;gap:8px;display:flex}.rp-name-btn{font:inherit;cursor:text;text-align:left;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:8px;margin-left:-6px;padding:1px 6px;display:inline-flex}.rp-name-btn .icon{color:var(--muted);opacity:0;transition:opacity .12s}.rp-name-btn:hover,.rp-name-btn:focus-visible{border-color:var(--line-2)}.rp-name-btn:hover .icon,.rp-name-btn:focus-visible .icon{opacity:1}.rp-rename{width:min(520px,100%);padding:3px 8px;font-size:20px;font-weight:650}.rp-meta{flex-wrap:wrap;align-items:center;gap:4px 14px;margin:6px 0 0;display:flex}.rp-meta span{align-items:center;gap:4px;display:inline-flex}.btn.rp-on{background:var(--accent-soft);border-color:var(--accent);color:#0f5f58}.rp-unsaved{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.rp-unsaved .btn:first-of-type{margin-left:auto}.rp-builder{overflow:visible}.rp-builder-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding-right:8px;display:flex}.rp-tabs{scrollbar-width:none;border-bottom:0;flex:1;overflow-x:auto}.rp-tabs button{white-space:nowrap;align-items:center;gap:6px;padding:11px 10px;display:inline-flex}.rp-count{background:var(--accent);color:#fff;border-radius:9px;place-items:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;display:inline-grid}.rp-builder-body{max-height:420px;padding:16px 18px;overflow:auto}.rp-builder-foot{border-top:1px solid var(--line);border-radius:0 0 var(--radius) var(--radius);background:#fafbfc;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 16px;display:flex}.rp-note{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.rp-line{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.rp-line select{min-width:200px;max-width:100%}.rp-line-label{min-width:56px;color:var(--text-2);font-size:13px}.rp-sheets{flex-direction:column;gap:10px;display:flex}.rp-sheets-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.rp-typeseg{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.rp-sheet-list{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;display:grid}.rp-ws{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.rp-ws-head{border-bottom:1px solid var(--line);background:#f8fafc;flex-direction:row;align-items:center;gap:7px;padding:8px 10px;font-size:13px;display:flex}.rp-ws-head b{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text);flex:1;font-weight:600;overflow:hidden}.rp-ws-sheets{flex-direction:column;max-height:190px;padding:4px 0;display:flex;overflow:auto}.rp-sheet{padding:4px 10px 4px 14px;font-size:13px}.rp-sheet:hover{background:var(--hover)}.rp-sheet.via{color:var(--muted)}.rp-sheet-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.rp-cols{grid-template-columns:1fr 1fr;gap:18px;display:grid}@media (width<=760px){.rp-cols{grid-template-columns:1fr}}.rp-cols-pane{flex-direction:column;gap:8px;min-width:0;display:flex}.rp-cols-empty{border:1px dashed var(--line-2);border-radius:var(--radius);flex-direction:column;align-items:flex-start;gap:8px;padding:14px;display:flex}.rp-cols-empty p{margin:0}.rp-col-list{border:1px solid var(--line);border-radius:var(--radius);max-height:300px;margin:0;padding:0;list-style:none;overflow:auto}.rp-col-list li{border-bottom:1px solid var(--line);background:var(--surface);align-items:center;gap:6px;padding:2px 4px 2px 8px;font-size:13px;display:flex}.rp-col-list li:last-child{border-bottom:0}.rp-col-list li.dragging{opacity:.5;background:var(--accent-soft)}.rp-col-list .icon-btn{width:24px;height:24px}.rp-grip{cursor:grab;color:var(--line-2);letter-spacing:-2px;-webkit-user-select:none;user-select:none;font-size:12px}.rp-col-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.rp-avail{border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;max-height:300px;padding:4px 0;display:flex;overflow:auto}.rp-avail label{padding:4px 10px;font-size:13px}.rp-avail label:hover{background:var(--hover)}.rp-avail .hint{padding:6px 10px}.rp-mini-search{width:140px;padding:3px 8px;font-size:12.5px}.rp-results{position:relative}.rp-results-head{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;padding:10px 14px;display:flex}.rp-results-count{align-items:center;gap:6px;display:flex}.rp-inline-spin{border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;width:14px;height:14px;animation:.8s linear infinite spin}.rp-notice{align-items:center;gap:6px;margin:10px 14px 0;display:flex}.rp-results-foot{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;padding:8px 14px;display:flex}.rp-empty{padding:48px 20px}.rp-chip{background:var(--hover);border:1px solid var(--line);color:var(--text-2);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:1px 8px;font-size:12px;display:inline-flex}.rp-grid-wrap{border-top:1px solid var(--line);min-height:160px;max-height:calc(100vh - 230px);margin-top:10px;overflow:auto}.rp-grid{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;font-size:13.5px}.rp-grid th{z-index:3;border-bottom:1px solid var(--line-2);border-right:1px solid var(--line);text-align:left;height:34px;color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;background:#f8fafc;min-width:120px;max-width:320px;padding:0 10px;font-size:12.5px;font-weight:600;position:sticky;top:0;overflow:hidden}.rp-grid th.rp-num{text-align:right}.rp-grid td{border-bottom:1px solid var(--line);border-right:1px solid var(--line);background:var(--surface);max-width:320px;height:34px;padding:0}.rp-grid .rp-gutter{z-index:2;text-align:right;width:52px;min-width:52px;max-width:52px;color:var(--muted);white-space:nowrap;background:#f8fafc;padding:0 8px;font-size:12px;position:sticky;left:0}.rp-grid th.rp-gutter{z-index:4}.rp-open{color:var(--muted);align-items:center;gap:3px;display:inline-flex}.rp-open:hover{color:var(--accent)}.rp-grid td.rp-gutter .icon.muted{vertical-align:middle;margin-left:3px}.rp-row:hover td{background:#fafcff}.rp-row:hover td.rp-gutter{background:#f1f5f9}.rp-cell .cell-inner{max-width:320px}.rp-cell.rp-num .cell-inner{justify-content:flex-end}.rp-cell.t-checkbox .cell-inner{justify-content:center}.rp-cell.rp-na{background:repeating-linear-gradient(135deg, transparent 0 6px, #94a3b814 6px 12px), var(--surface)}.rp-cell.rp-editable{cursor:cell;outline:none}.rp-cell.rp-editable:focus{box-shadow:inset 0 0 0 2px var(--sel)}.rp-cell.rp-editable.t-checkbox .cell-inner{cursor:pointer}.rp-cell.editing{box-shadow:inset 0 0 0 2px var(--sel);z-index:2;background:#fff;position:relative;overflow:visible}.rp-cell.editing .multi-picker{z-index:30;position:absolute;top:100%;left:0}.rp-sheetlink{color:var(--accent)}.rp-group td{background:#eef2f7;border-right:0;height:34px}.rp-group.rp-d1 td{background:#f3f6f9}.rp-group.rp-d2 td{background:#f7f9fb}.rp-group-inner{flex-wrap:wrap;align-items:center;gap:7px;max-width:min(100vw - 300px,1200px);padding:4px 10px 4px 8px;display:flex;position:sticky;left:0}.rp-twisty{cursor:pointer;width:22px;height:22px;color:var(--text-2);background:0 0;border:0;border-radius:4px;place-items:center;display:grid}.rp-twisty:hover{background:#0f172a12}.rp-glabel{align-items:center;display:inline-flex}.rp-gcount{background:var(--surface);border:1px solid var(--line-2);min-width:20px;height:18px;color:var(--muted);border-radius:9px;place-items:center;padding:0 6px;font-size:11px;display:inline-grid}.rp-sumrow td{background:#fbfcfd;height:28px;font-size:12.5px}.rp-sumrow td.rp-gutter{color:var(--accent);text-align:center}.rp-sumcell{white-space:nowrap;padding:0 8px!important}.rp-sumcell.rp-num{text-align:right}.rp-sum{font-variant-numeric:tabular-nums;align-items:baseline;gap:4px;font-weight:600;display:inline-flex}.rp-sum+.rp-sum{margin-left:10px}.rp-total td{z-index:2;border-top:1px solid var(--line-2);background:#eef6f5;height:32px;position:sticky;bottom:0}.rp-total td.rp-gutter{z-index:3}.rp-more td{background:var(--surface);border-right:0;padding:10px 12px}@media (width<=760px){.rp-builder-body{max-height:60vh;padding:12px}.rp-line select{flex:1;min-width:0}.rp-grid-wrap{max-height:none}.rp-group-inner{max-width:calc(100vw - 40px)}}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.adm-filters{align-items:center}.adm-name{color:var(--text);align-items:center;gap:8px;display:inline-flex}.adm-name .icon{color:var(--muted)}a.adm-name:hover{color:var(--accent)}.adm-days{font-weight:500}.adm-days.soon{color:var(--danger)}.adm-foot{border-top:1px solid var(--line);margin:0;padding:8px 14px}.btn-ghost.danger{color:var(--danger)}.adm-stats{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:16px;display:grid}.adm-stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:2px;padding:12px 16px;display:flex}.adm-stat b{letter-spacing:-.02em;font-size:22px;font-weight:650}.adm-stat span{color:var(--muted);font-size:12.5px}.adm-stat.warn b{color:var(--warn)}.gov-section{flex-direction:column;gap:14px;display:flex}.gov-section+.gov-section{border-top:1px solid var(--line);margin-top:4px;padding-top:16px}.gov-section h3{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:0;font-size:13px}.gov-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.gov-row>div{flex-direction:column;gap:2px;min-width:0;display:flex}.gov-row>div b{color:var(--text-2);font-size:13px;font-weight:550}.gov-readonly{color:var(--text-2);flex-wrap:wrap;gap:6px;font-size:13px;display:flex}.gov-num{align-items:center;gap:8px;display:flex}.gov-num input{width:96px}.logo-box{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.logo-preview{border:1px solid var(--line);width:120px;height:56px;color:var(--muted);background:repeating-conic-gradient(#f1f5f9 0% 25%,#fff 0% 50%) 50%/14px 14px;border-radius:8px;justify-content:center;align-items:center;display:flex;overflow:hidden}.logo-preview img{object-fit:contain;max-width:100%;max-height:100%}.logo-preview.dark{background:var(--navy);color:#8aa4bf}.color-field{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.color-field input[type=color]{border:1px solid var(--line-2);background:var(--surface);cursor:pointer;border-radius:6px;width:40px;height:34px;padding:2px}.color-field input[type=text]{width:110px;font-family:var(--mono);font-size:12.5px}.swatches{flex-wrap:wrap;gap:6px;display:flex}.swatches button{border:2px solid var(--surface);width:22px;height:22px;box-shadow:0 0 0 1px var(--line-2);cursor:pointer;border-radius:50%;padding:0}.swatches button.on{box-shadow:0 0 0 2px var(--text)}.org-swatch{vertical-align:middle;border:1px solid #0000001a;border-radius:3px;width:12px;height:12px;margin-right:6px;display:inline-block}.org-logo-mini{object-fit:contain;vertical-align:middle;max-width:60px;height:20px;margin-right:8px}.brand-layout{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:16px;display:grid}.brand-preview{position:sticky;top:16px}.brand-preview-side{background:var(--navy);border-radius:var(--radius);color:#cbd5e1;overflow:hidden}.brand-preview-side .brand{padding:18px 16px 14px}.brand-preview-side .brand img{object-fit:contain;border-radius:6px;width:28px;height:28px}.brand-preview-nav{flex-direction:column;gap:1px;padding:4px 8px 14px;display:flex}.brand-preview-nav span{border-radius:6px;align-items:center;gap:10px;padding:8px 10px;font-size:13.5px;font-weight:500;display:flex}.brand-preview-nav span.active{background:color-mix(in srgb, var(--pv-accent) 18%, transparent);color:#fff;box-shadow:inset 3px 0 0 var(--pv-accent)}.brand-preview-btn{align-items:center;gap:8px;margin:14px 0 0;display:flex}.brand-preview-btn .fake-btn{background:var(--pv-accent);color:#fff;border-radius:6px;padding:6px 12px;font-size:13px;font-weight:500}.brand-preview-btn .fake-link{color:var(--pv-accent);font-size:13px;font-weight:500}.notif-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:16px;padding:12px 0;display:flex}.notif-row:last-of-type{border-bottom:0}.notif-row>div{flex-direction:column;gap:2px;display:flex}@media (width<=860px){.brand-layout{grid-template-columns:1fr}.brand-preview{position:static}.gov-row{flex-direction:column;align-items:flex-start}}.brand{position:relative}.brand-text{flex:1;min-width:0}.brand-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.brand-logo{object-fit:contain;background:#ffffff14;border-radius:6px;width:28px;height:28px}.btn-primary:hover{filter:brightness(.92);background:var(--accent)}:root{--navy:#0f2a44;--navy-2:#163a5c;--accent:#0d9488;--accent-2:#2dd4bf;--accent-soft:#e6f6f4;--bg:#f5f7fa;--surface:#fff;--text:#0f172a;--text-2:#334155;--muted:#64748b;--line:#e2e8f0;--line-2:#cbd5e1;--hover:#f1f5f9;--sel:#2563eb;--danger:#dc2626;--warn:#d97706;--ok:#16a34a;--radius:8px;--shadow:0 1px 2px #0f172a0f, 0 4px 16px #0f172a0f;--shadow-lg:0 10px 40px #0f172a2e;--font:"Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{font:14px/1.45 var(--font);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;margin:0}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4{letter-spacing:-.01em;margin:0;line-height:1.25}h1{font-size:22px;font-weight:650}h2{font-size:16px;font-weight:600}h3{font-size:14px;font-weight:600}h4{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:13px;font-weight:600}code,.mono{font-family:var(--mono)}button{font:inherit;color:inherit}input,select,textarea{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--line-2);border-radius:6px;outline:none;min-width:0;padding:7px 10px}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #0d948826}input:disabled,select:disabled,textarea:disabled{background:var(--hover);color:var(--muted)}input[type=checkbox],input[type=radio]{width:15px;height:15px;accent-color:var(--accent);box-shadow:none;padding:0}input[type=color]{width:34px;height:32px;padding:2px}textarea{resize:vertical}label{color:var(--text-2);flex-direction:column;gap:5px;font-size:13px;font-weight:500;display:flex}label.check{flex-direction:row;align-items:center;gap:8px;font-weight:400}fieldset{border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:8px;margin:0;padding:10px 12px 12px;display:flex}legend{color:var(--text-2);padding:0 4px;font-size:13px;font-weight:600}.muted{color:var(--muted)}.small{font-size:12.5px}.tiny{font-size:11.5px}.strong{font-weight:600}.center{text-align:center}.right{text-align:right}.nowrap{white-space:nowrap}.pad{padding:16px}.danger{color:var(--danger)!important}.accent{color:var(--accent)}.ok{color:var(--ok)}.spacer{flex:1}.hint{color:var(--muted);margin:0;font-size:12px;font-weight:400}.stack{flex-direction:column;gap:14px;display:flex}.stack.sm{gap:8px}.row-end{justify-content:flex-end;align-items:center;gap:8px;display:flex}.row-between{justify-content:space-between;align-items:center;gap:8px;display:flex}.grid-2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.center-col{flex-direction:column;align-items:center;gap:4px;display:flex}.icon{vertical-align:middle;flex-shrink:0}.btn{border:1px solid var(--line-2);background:var(--surface);height:34px;color:var(--text);cursor:pointer;white-space:nowrap;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-weight:500;display:inline-flex;text-decoration:none!important}.btn:hover{background:var(--hover)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{background:#0b7f75}.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn-danger:hover{background:#b91c1c}.btn-ghost{background:0 0;border-color:#0000}.btn-sm{height:28px;padding:0 9px;font-size:13px}.btn-block{width:100%}.icon-btn{cursor:pointer;width:30px;height:30px;color:var(--muted);background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover{background:var(--hover);color:var(--text)}.icon-btn:disabled{opacity:.35}.link{color:var(--accent);cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:0;display:inline-flex}.link:hover{text-decoration:underline}.badge{background:var(--hover);color:var(--text-2);border:1px solid var(--line);white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:12px;font-weight:500;display:inline-block}.pill{--pill:#64748b;max-width:100%;color:color-mix(in srgb, var(--pill) 80%, #000);background:color-mix(in srgb, var(--pill) 14%, #fff);border:1px solid color-mix(in srgb, var(--pill) 30%, #fff);white-space:nowrap;text-overflow:ellipsis;border-radius:999px;align-items:center;padding:1px 9px;font-size:12.5px;font-weight:500;display:inline-flex;overflow:hidden}.chip{background:var(--accent-soft);color:#0f5f58;white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:3px 4px 3px 10px;font-size:12.5px;display:inline-flex}.chip button{cursor:pointer;background:#0000000f;border:0;border-radius:50%;width:18px;height:18px;line-height:1}.avatar{color:#fff;letter-spacing:.02em;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.alert{border-radius:6px;padding:9px 12px;font-size:13px}.alert-error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.alert-info{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe}.alert-warn{color:#92400e;background:#fffbeb;border:1px solid #fde68a}.spinner{border:3px solid var(--line);border-top-color:var(--accent);border-radius:50%;width:26px;height:26px;margin:40px auto;animation:.8s linear infinite spin}.spinner.sm{border-width:2px;width:18px;height:18px;margin:20px auto}@keyframes spin{to{transform:rotate(360deg)}}.splash{place-items:center;height:100%;display:grid}.app{grid-template-columns:236px 1fr;height:100%;display:grid}.sidebar{background:var(--navy);color:#cbd5e1;flex-direction:column;min-height:0;display:flex}.brand{align-items:center;gap:10px;padding:18px 16px 14px;display:flex}.brand-name{color:#fff;letter-spacing:-.01em;font-size:15px;font-weight:650}.brand-sub{color:#8aa4bf;font-size:11px}.org-switch{flex-direction:column;gap:4px;padding:4px 12px 12px;display:flex}.org-switch label{text-transform:uppercase;letter-spacing:.06em;color:#8aa4bf;font-size:10.5px}.org-switch select{background:var(--navy-2);color:#fff;border-color:#24507a}.org-name{background:var(--navy-2);color:#e2e8f0;border-radius:6px;align-items:center;gap:8px;margin:0 12px 10px;padding:7px 10px;font-size:13px;display:flex}.sidebar nav{flex-direction:column;flex:1;gap:1px;padding:4px 8px;display:flex;overflow:auto}.sidebar nav a{color:#cbd5e1;border-radius:6px;align-items:center;gap:10px;padding:8px 10px;font-weight:500;text-decoration:none;display:flex}.sidebar nav a:hover{color:#fff;background:#ffffff0f}.sidebar nav a.active{color:#fff;box-shadow:inset 3px 0 0 var(--accent-2);background:#2dd4bf24}.nav-section{text-transform:uppercase;letter-spacing:.07em;color:#7f98b3;margin:16px 10px 6px;font-size:10.5px}.sidebar-foot{border-top:1px solid #ffffff14;padding:10px 8px}.sidebar-foot .menu-wrap{display:block}.me{cursor:pointer;color:#cbd5e1;text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:10px;width:100%;padding:6px;display:flex}.me:hover{background:#ffffff0f}.me-text{flex-direction:column;flex:1;min-width:0;display:flex}.me-text b{color:#fff;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.me-text small{color:#8aa4bf;font-size:11px}.main{flex-direction:column;min-width:0;display:flex;overflow:auto}.page{width:100%;max-width:1240px;margin:0 auto;padding:24px 28px 48px}.page.wide{max-width:1500px}.page.narrow{max-width:760px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px;display:flex}.page-head .actions,.actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.crumb{color:var(--muted);align-items:center;gap:2px;margin-bottom:4px;font-size:12.5px;display:inline-flex}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:16px;padding:18px 20px;box-shadow:0 1px 2px #0f172a08}.card.flush{padding:0;overflow:hidden}.card h2{margin-bottom:12px}.card-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.empty-page{text-align:center;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:64px 20px;display:flex}.empty-page h2{color:var(--text)}.empty-page p{max-width:440px;margin:0}.search{border:1px solid var(--line-2);background:var(--surface);color:var(--muted);border-radius:6px;align-items:center;gap:6px;height:34px;padding:0 8px;display:flex}.search input{background:0 0;border:0;width:180px;height:100%;padding:0;box-shadow:none!important}.search.sm{height:28px}.search.sm input{width:150px;font-size:13px}.kv{grid-template-columns:170px 1fr;gap:10px 16px;margin:0;display:grid}.kv dt{color:var(--muted)}.kv dd{margin:0}.table-wrap{overflow:auto}.table{border-collapse:collapse;background:var(--surface);width:100%}.table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);border-bottom:1px solid var(--line);white-space:nowrap;background:#fafbfc;padding:10px 14px;font-size:12px;font-weight:600}.table td{border-bottom:1px solid var(--line);vertical-align:middle;padding:10px 14px}.table tr:last-child td{border-bottom:0}.table.compact td,.table.compact th{padding:7px 12px}.table tr.clickable{cursor:pointer}.table tr.clickable:hover td{background:#fafcff}.table tr.inactive td{opacity:.6}.table td a.strong{color:var(--text);align-items:center;gap:8px;display:inline-flex}.table .detail-row td{background:#fafbfc}.table pre{white-space:pre-wrap;margin:0;font-size:12px}.user-cell{align-items:center;gap:10px;display:flex}.user-cell div{flex-direction:column;display:flex}.role{font-size:12.5px;font-weight:500}.role-sysadmin{color:#7c3aed}.role-client_admin{color:#0369a1}.evt{background:var(--hover);border-radius:4px;padding:2px 6px;font-size:12px}.evt.bad{color:var(--danger);background:#fef2f2}.pager{border-top:1px solid var(--line);justify-content:flex-end;align-items:center;gap:10px;padding:10px 14px;display:flex}.filters-bar{flex-wrap:wrap;align-items:flex-end;gap:10px;margin-bottom:12px;display:flex}.inline-label{flex-direction:row;align-items:center;gap:6px;font-weight:400}.ws-group{margin-bottom:22px}.ws-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.ws-head h2{color:var(--text-2);align-items:center;gap:8px;font-size:14px;display:flex}.count{color:var(--muted);background:var(--hover);border-radius:999px;padding:0 7px;font-size:12px;font-weight:500}.ws-group .table-wrap{border:1px solid var(--line);border-radius:var(--radius)}.cards{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;display:grid}.tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);color:var(--text);flex-direction:column;gap:6px;padding:18px;transition:box-shadow .15s,border-color .15s;display:flex;text-decoration:none!important}.tile:hover{box-shadow:var(--shadow);border-color:var(--line-2)}.tile p{margin:0}.tile .badge{align-self:flex-start}.menu-wrap{display:inline-block;position:relative}.menu{z-index:60;background:var(--surface);border:1px solid var(--line);min-width:190px;box-shadow:var(--shadow-lg);border-radius:8px;flex-direction:column;padding:5px;display:flex;position:absolute;top:calc(100% + 4px)}.menu-left{left:0}.menu-right{right:0}.menu-up{inset:auto 0 calc(100% + 6px)}.menu.popover{min-width:260px;padding:12px;left:0}.menu-item{text-align:left;cursor:pointer;white-space:nowrap;color:var(--text);background:0 0;border:0;border-radius:5px;padding:7px 10px;font-size:13.5px}.menu-item:hover{background:var(--hover)}.menu-item.danger{color:var(--danger)}.menu-item:disabled{color:var(--muted);cursor:default}.menu-divider{background:var(--line);height:1px;margin:4px 0}.modal-backdrop{z-index:100;background:#0f172a73;place-items:center;padding:20px;animation:.12s ease-out fade;display:grid;position:fixed;inset:0}.modal{background:var(--surface);box-shadow:var(--shadow-lg);border-radius:10px;flex-direction:column;max-width:100%;max-height:calc(100vh - 40px);display:flex}.modal-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.modal-head h3{font-size:15px}.modal-body{padding:18px;overflow:auto}.modal-foot{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;padding:12px 18px;display:flex}@keyframes fade{0%{opacity:0}}.toasts{z-index:200;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:20px;right:20px}.toast{background:var(--navy);color:#fff;box-shadow:var(--shadow-lg);border-radius:8px;max-width:380px;padding:10px 14px;font-size:13.5px;animation:.15s fade}.toast-error{background:#991b1b}.toast-success{background:#0f766e}.auth-page{background:radial-gradient(1200px 600px at 10% -10%,#1d4e7a 0%,#0000 60%),linear-gradient(160deg,#0b1f33,#0f2a44 60%,#0f3b4a);flex-direction:column;justify-content:center;align-items:center;min-height:100%;padding:24px;display:flex}.auth-card{background:var(--surface);width:400px;max-width:100%;box-shadow:var(--shadow-lg);border-radius:12px;flex-direction:column;gap:16px;padding:28px;display:flex}.auth-brand{align-items:center;gap:12px;margin-bottom:4px;display:flex}.auth-brand h1{font-size:20px}.auth-brand p{color:var(--muted);margin:0;font-size:13px}.auth-foot{color:#8aa4bf;margin-top:16px;font-size:12px}.auth-card .link{align-self:center;font-size:13px}.qr{border:1px solid var(--line);border-radius:8px;align-self:center;width:200px;height:200px;padding:6px}.secret{background:var(--hover);word-break:break-all;border-radius:6px;margin-top:6px;padding:8px;font-size:13px;display:block}.recovery-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.recovery-grid code{background:var(--hover);text-align:center;letter-spacing:.05em;border-radius:6px;padding:8px;font-size:14px}details summary{cursor:pointer;color:var(--accent);font-size:13px}.sheet-page{flex-direction:column;height:100%;min-height:0;display:flex}.sheet-head{background:var(--surface);flex-wrap:wrap;align-items:center;gap:16px;padding:12px 20px 0;display:flex}.sheet-title{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.sheet-title .crumb{margin:0}.sheet-title h1{white-space:nowrap;text-overflow:ellipsis;font-size:18px;overflow:hidden}.view-tabs{align-self:flex-end;gap:2px;display:flex}.view-tabs button{cursor:pointer;color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:6px;padding:9px 14px;font-weight:500;display:flex}.view-tabs button:hover{color:var(--text)}.view-tabs button.on{color:var(--accent);border-bottom-color:var(--accent)}.sheet-head .actions{padding-bottom:6px}.toolbar{background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;padding:8px 20px;display:flex}.sheet-body{flex:1;min-height:0;display:flex;position:relative}.grid-wrap{background:var(--surface);flex:1;position:relative;overflow:auto}.grid{border-collapse:separate;border-spacing:0;table-layout:fixed;width:max-content;min-width:100%}.grid th{z-index:3;border-bottom:1px solid var(--line-2);border-right:1px solid var(--line);text-align:left;height:34px;color:var(--text-2);-webkit-user-select:none;user-select:none;background:#f8fafc;padding:0;font-size:12.5px;font-weight:600;position:sticky;top:0}.grid th.primary{background:#f1f5f9}.grid th.dragging{opacity:.5}.th-inner{align-items:center;gap:4px;height:100%;padding:0 4px 0 10px;display:flex}.th-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.th-menu{cursor:pointer;width:22px;height:22px;color:var(--muted);opacity:0;background:0 0;border:0;border-radius:4px;place-items:center;display:grid}.grid th:hover .th-menu,.th-menu:focus{opacity:1}.th-menu:hover{background:var(--line)}.resizer{cursor:col-resize;z-index:4;width:6px;position:absolute;top:0;bottom:0;right:-3px}.resizer:hover{background:var(--accent-2)}.grid th{position:sticky}.rownum-h,.rownum{z-index:2;position:sticky;left:0}.grid th.rownum-h{z-index:5;text-align:center}.grid td{border-bottom:1px solid var(--line);border-right:1px solid var(--line);background:var(--surface);height:34px;padding:0}.grid td.rownum{color:var(--muted);background:#f8fafc;font-size:12px}.rownum-inner{align-items:center;gap:3px;height:17px;padding:0 2px 0 6px;display:flex}.rownum-inner input{opacity:0;width:13px;height:13px}.grid tr:hover .rownum-inner input,.rownum-inner input:checked{opacity:1}.rownum-inner .num{text-align:right;font-variant-numeric:tabular-nums;flex:1}.row-menu{cursor:pointer;color:var(--muted);opacity:0;background:0 0;border:0;place-items:center;width:16px;height:16px;padding:0;display:grid}.grid tr:hover .row-menu{opacity:1}.row-open{cursor:pointer;width:100%;height:16px;color:var(--muted);background:0 0;border:0;justify-content:flex-end;align-items:center;gap:5px;padding:0 6px;font-size:11px;display:flex}.row-open .icon{opacity:.6}.grid tr:not(:hover) .row-open>.icon:only-child{opacity:0}.ind{color:var(--accent);align-items:center;gap:2px;display:inline-flex}.grid tr.checked td{background:#eff6ff}.grid td.cell{cursor:default;outline:none;position:relative}.grid td.cell.sel{box-shadow:inset 0 0 0 2px var(--sel);z-index:1}.grid td.cell.editing{box-shadow:inset 0 0 0 2px var(--sel);background:#fff}.cell-inner{white-space:nowrap;align-items:center;gap:4px;height:33px;padding:0 8px;display:flex;overflow:hidden}.cell-inner .text-cell{text-overflow:ellipsis;overflow:hidden}.t-number .cell-inner,.t-percent .cell-inner{justify-content:flex-end}.t-checkbox .cell-inner{justify-content:center}.num{font-variant-numeric:tabular-nums}.cell-input{background:#fff;border:0;border-radius:0;width:100%;height:33px;padding:0 8px;box-shadow:none!important}.cell-input.num{text-align:right}.cb{border:1.5px solid var(--line-2);color:#fff;border-radius:4px;place-items:center;width:16px;height:16px;font-size:11px;display:inline-grid}.cb.on{background:var(--accent);border-color:var(--accent)}.pct{justify-content:flex-end;align-items:center;gap:8px;width:100%;display:flex}.pct-bar{background:var(--line);border-radius:3px;flex:1;max-width:70px;height:6px;overflow:hidden}.pct-bar span{background:var(--accent);height:100%;display:block}.contact{text-overflow:ellipsis;align-items:center;gap:6px;display:inline-flex;overflow:hidden}.twisty{cursor:pointer;width:16px;height:16px;color:var(--muted);background:0 0;border:0;place-items:center;margin-left:-2px;padding:0;display:grid}.parent-mark{display:none}.t-text .cell-inner:has(.twisty) .text-cell{font-weight:600}.grid td.filler,.grid th.add-col{border-right:0}.add-col{text-align:center!important}.add-row td{background:0 0!important;border-bottom:0!important;border-right:0!important;position:static!important}.add-row .link{padding:8px 12px;font-size:13px;position:sticky;left:0}.bulk-bar{z-index:10;background:#eff6ff;border-bottom:1px solid #bfdbfe;align-items:center;gap:10px;padding:6px 12px;display:flex;position:sticky;top:0;left:0}.row-panel{background:var(--surface);border-left:1px solid var(--line);z-index:20;flex-direction:column;width:440px;max-width:100%;animation:.15s ease-out slide;display:flex;position:absolute;top:0;bottom:0;right:0;box-shadow:-8px 0 30px #0f172a14}@keyframes slide{0%{opacity:0;transform:translate(20px)}}.row-panel>header{justify-content:space-between;align-items:flex-start;gap:10px;padding:14px 16px 8px;display:flex}.row-panel h2{word-break:break-word;margin-top:2px;font-size:16px}.tabs{border-bottom:1px solid var(--line);gap:2px;padding:0 12px;display:flex}.tabs button{cursor:pointer;color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;padding:9px 8px;font-size:13px;font-weight:500}.tabs button.on{color:var(--accent);border-bottom-color:var(--accent)}.row-panel-body{flex:1;padding:16px;overflow:auto}.details{flex-direction:column;gap:12px;display:flex}.field.t-checkbox{flex-direction:row-reverse;justify-content:flex-end;align-items:center;gap:8px}.comments{flex-direction:column;gap:14px;display:flex}.comment{gap:10px;display:flex}.comment-main{flex:1;min-width:0}.comment-meta{align-items:baseline;gap:8px;display:flex}.comment-meta .link{margin-left:auto}.comment-body{white-space:pre-wrap;word-break:break-word;margin-top:2px}.comment-form{border-top:1px solid var(--line);flex-direction:column;gap:6px;padding-top:12px;display:flex}.dropzone{border:1.5px dashed var(--line-2);color:var(--muted);cursor:pointer;border-radius:8px;flex-direction:column;align-items:center;gap:6px;margin-bottom:12px;padding:18px;display:flex}.dropzone:hover{border-color:var(--accent);color:var(--accent)}.file-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.file-list li{border-bottom:1px solid var(--line);align-items:flex-start;gap:10px;padding:10px 0;display:flex}.file-main{flex-direction:column;flex:1;min-width:0;display:flex}.file-main a{word-break:break-all;font-weight:500}.activity{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.activity li{align-items:flex-start;gap:10px;font-size:13px;display:flex}.changes{color:var(--text-2);margin:4px 0 0;padding-left:16px}.changes s{color:var(--muted)}.share-add{grid-template-columns:1fr 110px auto;gap:8px;display:grid}.share-list{margin:0;padding:0;list-style:none}.share-list li{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:8px 0;display:flex}.share-list li>div{flex-direction:column;flex:1;min-width:0;display:flex}.share-list select{width:110px}.info-box{border:1px solid var(--line);background:#f8fafc;border-radius:8px;padding:12px 14px}.info-box p{margin:4px 0 8px}.levels{grid-template-columns:70px 1fr;gap:3px 10px;margin:0;display:grid}.levels dt{font-weight:600}.levels dd{color:var(--muted);margin:0}.template-pick{flex-flow:wrap}.tpl{border:1px solid var(--line-2);cursor:pointer;border-radius:8px;flex-direction:row;flex:140px;align-items:center;gap:8px;padding:10px;font-weight:500}.tpl input{display:none}.tpl.on{border-color:var(--accent);background:var(--accent-soft);color:#0f5f58}.choices .choice{align-items:center;gap:6px;display:flex}.choices .choice input:not([type=color]){flex:1}.copy-row{gap:8px;display:flex}.copy-row input{font-family:var(--mono);flex:1;font-size:12.5px}.gantt{background:var(--surface);flex-direction:column;flex:1;min-width:0;display:flex}.gantt-bar{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:8px 16px;display:flex}.seg{border:1px solid var(--line-2);border-radius:6px;display:inline-flex;overflow:hidden}.seg button{background:var(--surface);cursor:pointer;border:0;padding:4px 10px;font-size:13px}.seg button+button{border-left:1px solid var(--line-2)}.seg button.on{background:var(--accent);color:#fff}.gantt-body{flex:1;align-items:flex-start;min-height:0;display:flex;overflow:hidden auto}.gantt-left{border-right:1px solid var(--line-2);background:var(--surface);z-index:2;flex-shrink:0;width:440px;position:sticky;left:0}.gantt-left-head{border-bottom:1px solid var(--line-2);color:var(--muted);text-transform:uppercase;letter-spacing:.03em;background:#f8fafc;align-items:flex-end;padding:0 0 8px;font-size:12px;font-weight:600;display:flex}.gantt-left-row{border-bottom:1px solid var(--line);cursor:pointer;align-items:center;font-size:13px;display:flex}.gantt-left-row:hover{background:var(--hover)}.gn{text-align:right;width:38px;color:var(--muted);flex-shrink:0;padding-right:10px;font-size:12px}.gt{text-overflow:ellipsis;white-space:nowrap;flex:1;padding-right:8px;overflow:hidden}.gd{width:96px;color:var(--text-2);white-space:nowrap;flex-shrink:0;font-size:12.5px}.gantt-right{flex:1;min-width:0;overflow:auto hidden}.gantt-head{border-bottom:1px solid var(--line-2);background:#f8fafc;height:52px;position:relative}.gh-months,.gh-ticks{height:26px;position:relative}.gh-months span{color:var(--text-2);white-space:nowrap;border-left:1px solid var(--line-2);height:20px;padding-left:6px;font-size:12px;font-weight:600;position:absolute;top:6px}.gh-ticks span{color:var(--muted);padding-left:3px;font-size:11px;position:absolute;top:4px}.gh-ticks span.we{color:#94a3b8}.gantt-canvas{position:relative}.gridline{background:var(--line);width:1px;position:absolute;top:0;bottom:0}.gridline.month{background:var(--line-2)}.weekend{background:#f8fafc;position:absolute;top:0;bottom:0}.gantt-row-line{background:var(--line);height:1px;position:absolute;left:0;right:0}.today{opacity:.7;z-index:1;background:#ef4444;width:2px;position:absolute;top:0;bottom:0}.deps{color:#64748b;pointer-events:none;z-index:2;position:absolute;inset:0;overflow:visible}.gbar{--bar:#3b82f6;background:color-mix(in srgb, var(--bar) 35%, #fff);border:1px solid color-mix(in srgb, var(--bar) 70%, #000);z-index:3;-webkit-user-select:none;user-select:none;border-radius:5px;height:20px;position:absolute;overflow:visible}.gbar.editable{cursor:grab}.gbar.dragging{cursor:grabbing;box-shadow:0 4px 14px #0000002e}.gbar.summary{background:#334155;border-color:#1e293b;border-radius:2px;height:12px;margin-top:4px}.gprog{background:var(--bar);border-radius:4px 0 0 4px;position:absolute;top:0;bottom:0;left:0}.summary .gprog{background:#0f172a}.glabel{white-space:nowrap;color:var(--text-2);pointer-events:none;padding-left:8px;font-size:12px;font-weight:500;position:absolute;top:50%;left:100%;transform:translateY(-50%)}.ghandle{cursor:ew-resize;z-index:2;width:7px;position:absolute;top:0;bottom:0}.ghandle.l{left:-3px}.ghandle.r{right:-3px}.kanban{flex:1;align-items:flex-start;gap:14px;padding:16px 20px;display:flex;overflow-x:auto}.lane{--lane:#94a3b8;background:#eef2f6;border:2px solid #0000;border-radius:10px;flex-direction:column;flex-shrink:0;width:290px;max-height:100%;display:flex}.lane.over{border-color:var(--accent);background:var(--accent-soft)}.lane-head{align-items:center;gap:8px;padding:12px 12px 8px;display:flex}.lane-head h3{flex:1;font-size:13.5px}.lane-dot{background:var(--lane);border-radius:50%;width:10px;height:10px}.lane-cards{flex-direction:column;gap:8px;padding:0 10px 12px;display:flex;overflow-y:auto}.card-k{background:var(--surface);border:1px solid var(--line);cursor:pointer;border-radius:8px;flex-direction:column;gap:6px;padding:10px 12px;display:flex;box-shadow:0 1px 2px #0f172a14}.card-k:hover{border-color:var(--line-2);box-shadow:var(--shadow)}.card-k.dragging{opacity:.4}.card-k-top{justify-content:space-between;display:flex}.inds{align-items:center;gap:3px;display:inline-flex}.card-k-title{word-break:break-word;font-weight:550}.card-k-field{font-size:12.5px}.card-k-field .pct{justify-content:flex-start}.card-k-field .pct-bar{max-width:none}.card-k-foot{justify-content:space-between;align-items:center;display:flex}.due{color:var(--muted);align-items:center;gap:4px;font-size:12px;display:inline-flex}.due.late{color:var(--danger)}.lane-add{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:4px;padding:6px;display:flex}.lane-add:hover{color:var(--text);background:#0000000d}.add-card{flex-direction:column;gap:6px;display:flex}.dash-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.widget{background:var(--surface);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:10px;min-height:170px;padding:14px 16px;display:flex}.widget.w2{grid-column:span 2}.widget.w3{grid-column:span 3}.widget>header{justify-content:space-between;align-items:center;display:flex}.widget-tools{display:flex}.widget-tools .icon-btn{width:24px;height:24px}.widget-text{white-space:pre-wrap;color:var(--text-2)}.widget-src{margin-top:6px;display:inline-block}.metric{flex-direction:column;flex:1;justify-content:center;display:flex}.metric-value{letter-spacing:-.02em;color:var(--navy);font-variant-numeric:tabular-nums;font-size:40px;font-weight:650}.ring-text{fill:var(--navy);font-size:22px;font-weight:650}.bar-chart{flex-direction:column;gap:7px;display:flex}.bar-row{grid-template-columns:minmax(70px,34%) 1fr 44px;align-items:center;gap:8px;font-size:12.5px;display:grid}.bar-label{text-overflow:ellipsis;white-space:nowrap;color:var(--text-2);overflow:hidden}.bar-track{background:var(--hover);border-radius:3px;height:14px;overflow:hidden}.bar-fill{border-radius:3px;min-width:2px;height:100%}.bar-value{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.donut-wrap{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.donut-total{fill:var(--navy);font-size:20px;font-weight:650}.donut-sub{fill:var(--muted);font-size:10px}.legend{flex-direction:column;flex:1;gap:4px;min-width:120px;margin:0;padding:0;font-size:12.5px;list-style:none;display:flex}.legend li{align-items:center;gap:6px;display:flex}.legend b{font-variant-numeric:tabular-nums;margin-left:auto}.swatch{border-radius:2px;width:10px;height:10px}.checks{flex-direction:column;gap:4px;font-weight:400;display:flex}.checks.scroll{border:1px solid var(--line);border-radius:6px;max-height:220px;padding:8px;overflow:auto}.filters .filter-row{grid-template-columns:1fr 1fr 1fr 30px;align-items:center;gap:6px;display:grid}select.inline{margin-left:6px;padding:2px 6px;font-size:12px}.builder{grid-template-columns:1fr 1fr 1.6fr;gap:18px;display:grid}.builder-col{flex-direction:column;gap:8px;min-width:0;display:flex}.switch{width:36px;height:20px;display:inline-block;position:relative}.switch input{opacity:0;width:0;height:0}.switch span{background:var(--line-2);cursor:pointer;border-radius:999px;transition:all .15s;position:absolute;inset:0}.switch span:before{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:all .15s;position:absolute;top:2px;left:2px}.switch input:checked+span{background:var(--accent)}.switch input:checked+span:before{transform:translate(16px)}@media (width<=1100px){.dash-grid{grid-template-columns:1fr 1fr}.widget.w3{grid-column:span 2}.builder{grid-template-columns:1fr}.gantt-left{width:280px}.gd{display:none}}@media (width<=760px){.app{grid-template-rows:auto 1fr;grid-template-columns:1fr}.sidebar{flex-flow:wrap;align-items:center}.sidebar nav{flex-direction:row;flex:100%;order:3;overflow-x:auto}.sidebar .nav-section,.brand-sub,.org-name{display:none}.sidebar-foot{border:0;margin-left:auto}.me-text{display:none}.page{padding:16px}.dash-grid{grid-template-columns:1fr}.widget.w2,.widget.w3{grid-column:auto}.grid-2{grid-template-columns:1fr}.row-panel{width:100%}.search input{width:120px}}.dropzone.big{gap:8px;margin:0;padding:36px 20px}.dropzone.big b{color:var(--text)}.dropzone.over{border-color:var(--accent);background:var(--accent-soft)}.import-bar{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.file-chip{background:var(--hover);border:1px solid var(--line);text-overflow:ellipsis;white-space:nowrap;border-radius:6px;align-items:center;gap:6px;max-width:320px;padding:4px 10px;font-weight:500;display:inline-flex;overflow:hidden}.import-table-wrap{border:1px solid var(--line);border-radius:8px;max-height:46vh;overflow:auto}.import-table th{z-index:1;position:sticky;top:0}.import-table td input:not([type=checkbox]),.import-table td select{width:100%;padding:5px 8px}.name-cell{align-items:center;gap:6px;display:flex}.import-table td .tiny-badge{padding:0 6px;font-size:10.5px}.import-table.table tr td{vertical-align:middle}.samples span{background:var(--hover);color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;border-radius:4px;max-width:220px;margin:1px 4px 1px 0;padding:1px 6px;font-size:12px;display:inline-block;overflow:hidden}.import-result{align-items:flex-start;gap:12px;display:flex}
