.listpage{background:var(--bg);padding:var(--sp-8) var(--sp-8) calc(var(--sp-8) * 2);flex-direction:column;grid-area:1/2/2/4;display:flex;overflow-y:auto}.listpage>*{width:100%;max-width:1440px;margin-left:auto;margin-right:auto}.listpage-head{margin-bottom:var(--sp-6);justify-content:space-between;align-items:flex-end;display:flex}.listpage-head .title{font-size:var(--fs-3xl);letter-spacing:-.02em;margin:0;font-weight:700}.listpage-head .subtitle{font-size:var(--fs-md);color:var(--ink-3);margin-top:var(--sp-1-5)}.listpage-head .ctrls{gap:var(--sp-2);display:flex}.toolbar-row{align-items:center;gap:var(--sp-2-5);margin-bottom:var(--sp-4);flex-wrap:wrap;display:flex}.lp-search{align-items:center;gap:var(--sp-2);height:36px;padding:0 var(--sp-3);background:var(--bg-elev);border:1px solid var(--line);color:var(--ink-3);border-radius:9px;flex:1;min-width:280px;max-width:380px;display:flex}.lp-search:focus-within{border-color:var(--sf-300);box-shadow:0 0 0 3px var(--sf-50)}.lp-search input{min-width:0;font:inherit;color:var(--ink);padding:var(--sp-1-5) var(--sp-1);background:0 0;border:0;outline:0;flex:1;margin:0;line-height:1.4}.lp-search input::placeholder{color:var(--ink-3)}.filter-pills{gap:var(--sp-1-5);flex-wrap:wrap;display:flex}.filter-group{gap:var(--sp-1-5);padding-left:var(--sp-3);border-left:1px solid var(--line);flex-direction:column;display:flex}.filter-group:first-of-type{border-left:0;padding-left:0}.filter-group-label{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);font-weight:600}@media (max-width:760px){.filter-group{border-left:0;min-width:0;max-width:100%;padding-left:0}}.fpill{height:30px;padding:0 var(--sp-3);border:1px solid var(--line);background:var(--bg-elev);color:var(--ink-2);font-size:var(--fs-md);align-items:center;gap:var(--sp-1-5);cursor:pointer;border-radius:999px;font-weight:500;display:inline-flex}.fpill:hover:not(:disabled){background:var(--bg-elev);color:var(--ink-2);border-color:var(--line-2)}.fpill.active,.fpill.active:hover:not(:disabled){background:var(--primary);color:#fff;border-color:var(--primary)}.fpill .ct{font-size:var(--fs-xs);font-family:var(--font-mono);background:var(--bg-sunk);color:var(--ink-3);padding:0 var(--sp-1-5);border-radius:3px}.fpill.active .ct{color:#ffffffd9;background:#ffffff2e}.filterbar{gap:var(--sp-2-5);row-gap:var(--sp-2)}.filterbar-spacer{flex:1 1 0;min-width:0}.fseg{align-items:center;gap:var(--sp-half);padding:var(--sp-1);background:var(--bg-sunk);border:1px solid var(--line);border-radius:999px;flex-wrap:nowrap;min-width:0;display:inline-flex}.fseg-item{height:28px;padding:0 var(--sp-3);color:var(--ink-2);font:inherit;font-size:var(--fs-md);white-space:nowrap;align-items:center;gap:var(--sp-1-5);cursor:pointer;background:0 0;border:0;border-radius:999px;font-weight:500;transition:background .12s,color .12s;display:inline-flex}.fseg-item:hover:not(:disabled){background:var(--bg-elev);color:var(--ink)}.fseg-item.active,.fseg-item.active:hover:not(:disabled){background:var(--primary);color:#fff}.fseg-item .ct{font-size:var(--fs-xs);font-family:var(--font-mono);color:var(--ink-3)}.fseg-item.active .ct{color:#ffffffb3}.fdrops{align-items:center;gap:var(--sp-1-5);flex-wrap:wrap;display:flex}.fpill.fdrop{gap:var(--sp-1-5);padding-right:var(--sp-2-5)}.fpill.fdrop .fdrop-key{color:var(--ink-3);font-weight:500}.fpill.fdrop .fdrop-val{color:var(--ink);font-weight:600}.fpill.fdrop svg{color:var(--ink-3);margin-left:var(--sp-half)}.fpill.fdrop.active{background:var(--sf-50);border-color:var(--sf-300)}.fpill.fdrop.active .fdrop-key{color:var(--sf-700);opacity:.75}.fpill.fdrop.active .fdrop-val,.fpill.fdrop.active svg{color:var(--sf-700)}.fpill.fdrop[aria-expanded=true]{border-color:var(--line-2)}.fpill.fdrop.fpill-urgent:not(.active) .fdrop-key{color:var(--bad);opacity:.75}.fpill.fdrop.fpill-urgent:not(.active) .fdrop-val,.fpill.fdrop.fpill-urgent:not(.active) svg{color:var(--bad)}.fpill-reset{color:var(--ink-3);border-style:dashed}.fpill-reset:hover{color:var(--ink);border-color:var(--ink-3)}.lp-card{background:var(--bg-elev);border:1px solid var(--line);border-radius:14px;flex:none;overflow:hidden}.lp-table{border-collapse:collapse;width:100%;font-size:var(--fs-md)}.lp-table th{text-align:left;padding:var(--sp-3) var(--sp-4);background:var(--bg-sunk);color:var(--ink-3);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--line);font-weight:600;position:sticky;top:0}.lp-table td{padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--line);vertical-align:middle}.lp-table tr:last-child td{border-bottom:0}.lp-table tbody tr{cursor:pointer}.lp-table tbody tr:hover td{background:var(--sf-50)}.lp-table td.mono{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--ink-2)}.lp-table .name-cell{align-items:center;gap:var(--sp-2-5);display:flex}.lp-table .av-sm{background:var(--bg-sunk);border:1px solid var(--line);width:28px;height:28px;color:var(--ink-2);font-weight:600;font-size:var(--fs-xs);border-radius:50%;flex:0 0 28px;justify-content:center;align-items:center;display:inline-flex}.lp-table .name-cell .nm{color:var(--ink);font-weight:600}.lp-table .name-cell .id-sub{font-size:var(--fs-xs);color:var(--ink-3);font-family:var(--font-mono)}.lp-table .mrr{font-variant-numeric:tabular-nums;color:var(--ink);font-weight:600}.row-actions{justify-content:flex-end;align-items:center;gap:var(--sp-1-5);white-space:nowrap;display:flex}.row-icon-btn{width:32px;height:32px;color:var(--ink-3);background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;transition:background .12s,color .12s,box-shadow .12s;display:inline-flex}.row-icon-btn:hover:not(:disabled){background:var(--bg-elev);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line)}.row-icon-btn:focus-visible{box-shadow:0 0 0 3px var(--sf-50), inset 0 0 0 1px var(--sf-300);color:var(--sf-700);outline:0}.status-chip{align-items:center;gap:var(--sp-1-5);font-size:var(--fs-xs);padding:var(--sp-1) var(--sp-2);border-radius:999px;font-weight:600;display:inline-flex}.status-chip .d{border-radius:50%;width:6px;height:6px}.status-chip.active{background:var(--ok-bg);color:var(--ok)}.status-chip.active .d{background:var(--ok)}.status-chip.pending{background:var(--warn-bg);color:var(--warn)}.status-chip.pending .d{background:var(--warn)}.status-chip.suspended{background:var(--bad-bg);color:var(--bad)}.status-chip.suspended .d{background:var(--bad)}.pager{padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--line);background:var(--bg-elev);font-size:var(--fs-sm);color:var(--ink-3);justify-content:space-between;align-items:center;display:flex}.pager .pgbtns{gap:var(--sp-1);display:flex}.pager .pgbtn{border:1px solid var(--line);background:var(--bg-elev);width:30px;height:30px;color:var(--ink-2);border-radius:7px;flex:0 0 30px;justify-content:center;align-items:center;padding:0;display:inline-flex}.pager .pgbtn:hover{background:var(--bg-sunk)}.pager .pgbtn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.pager .pgbtn:disabled{opacity:.4;cursor:not-allowed}.pager-info{flex:1}.pager .pgbtn-gap{width:22px;color:var(--ink-4);justify-content:center;align-items:center;font-weight:600;display:inline-flex}.pager-size{align-items:center;gap:var(--sp-2);margin-right:var(--sp-4);display:inline-flex}.pager-size-label{font-size:var(--fs-sm);color:var(--ink-3)}.seg.seg-sm button{height:26px;padding:0 var(--sp-2-5);font-size:var(--fs-sm)}.main-page{grid-template-columns:0 1fr 0}.kpi-grid-spaced{margin-bottom:var(--sp-5)}.kpi .k-value.tone-ok,.kpi .k-delta.tone-ok{color:var(--ok)}.kpi .k-value.tone-warn,.kpi .k-delta.tone-warn{color:var(--warn)}.kpi .k-value.tone-bad,.kpi .k-delta.tone-bad{color:var(--bad)}.kpi .k-delta.tone-muted{color:var(--ink-3)}.kpi.accent .k-delta.tone-amber{color:var(--warn)}.lp-table .plan-mbps{color:var(--ink-3);margin-left:var(--sp-1)}.pager-range{color:var(--ink)}.lp-table td.lp-empty-cell{padding:0}.lp-table .name-cell-top{align-items:flex-start}.lp-table .name-cell-body{flex:1;min-width:0}
.board-hint{align-items:center;gap:var(--sp-1-5);padding:var(--sp-2) var(--sp-3);margin-bottom:var(--sp-2-5);border:1px dashed var(--line);background:var(--bg-sunk);color:var(--ink-3);font-size:var(--fs-sm);border-radius:10px;flex-wrap:wrap;display:flex}.history-toolbar{justify-content:space-between;align-items:center;gap:var(--sp-3);padding:var(--sp-2-5) var(--sp-3);border-bottom:1px solid var(--line);flex-wrap:wrap;display:flex}.history-range{gap:var(--sp-2-5);flex-wrap:wrap;display:flex}.history-range>label{align-items:center;gap:var(--sp-1-5);font-size:var(--fs-sm);color:var(--ink-3);flex-direction:row;flex:none;display:inline-flex}.history-range>label .ui-date-input{width:auto}.history-count{font-size:var(--fs-sm);color:var(--ink-3)}.kanban{gap:var(--sp-4);margin-top:var(--sp-1);grid-template-columns:repeat(4,1fr);display:grid}.kcol{background:var(--bg-sunk);border:1px solid var(--line);padding:var(--sp-3) var(--sp-3) var(--sp-4);gap:var(--sp-2);border-radius:12px;flex-direction:column;min-height:200px;transition:background .15s,border-color .15s,box-shadow .15s;display:flex}.kcol.drag-over{background:var(--sf-50);border-color:var(--sf-300);box-shadow:0 0 0 3px var(--sf-50)}.kcol-empty{font-size:var(--fs-sm);color:var(--ink-4);text-align:center;padding:var(--sp-4);border:2px dashed #0000;border-radius:8px;font-style:normal;transition:border-color .15s,color .15s,background .15s}.kcol.drag-over .kcol-empty{border-color:var(--sf-300);color:var(--sf-700);background:#fff9;font-weight:600}.kcol.drag-over .kcol-empty .ui-empty-title{font-weight:600}.kcol-head{padding:0 var(--sp-half) var(--sp-1-5);justify-content:space-between;align-items:center;display:flex}.kcol-head .nm{font-size:var(--fs-sm);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:var(--sp-1-5);font-weight:600;display:inline-flex}.kcol-head .nm .d{border-radius:50%;width:7px;height:7px}.kcol-head .nm.open .d{background:var(--bad)}.kcol-head .nm.in_progress .d{background:var(--warn)}.kcol-head .nm.waiting .d{background:var(--ink-4)}.kcol-head .nm.resolved .d{background:var(--ok)}.kcol-head .ct{font-family:var(--font-mono);font-size:var(--fs-xs);background:var(--bg-elev);color:var(--ink-3);padding:var(--sp-half) var(--sp-1-5);border:1px solid var(--line);border-radius:4px}.kcard{background:var(--bg-elev);border:1px solid var(--line);padding:var(--sp-3) var(--sp-3) var(--sp-3);cursor:grab;border-radius:8px;transition:border-color .12s,transform 80ms,box-shadow .12s,opacity .12s;position:relative;overflow:hidden}.kcard:hover{border-color:#d7dbe0;transform:translateY(-1px);box-shadow:0 8px 22px #0a0a0a0f}.kcard:active{cursor:grabbing}.kcard.dragging{opacity:.5;box-shadow:var(--shadow-pop);border-color:var(--sf-500);transform:rotate(-1.2deg)scale(1.02)}.kcard .kc-accent{background:var(--ink-4);width:3px;position:absolute;top:0;bottom:0;left:0}.kcard .kc-accent.high{background:var(--bad)}.kcard .kc-accent.med{background:var(--warn)}.kcard .kc-accent.low{background:var(--ink-4)}.kcard .kc-top{justify-content:space-between;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-2);display:flex}.kcard .kc-spacer{flex:1}.kcard .kc-id{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--ink-3);font-weight:600}.kcard .kc-age{max-width:88px;height:18px;padding:0 var(--sp-1-5);color:var(--ink-3);font-size:var(--fs-xs);white-space:nowrap;background:0 0;border-radius:999px;align-items:center;font-weight:700;display:inline-flex}.kcard .kc-age.hot{color:var(--bad)}.kcard .kc-subj{font-size:var(--fs-lg);color:var(--ink);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-weight:700;line-height:1.32;display:-webkit-box;overflow:hidden}.kcard .kc-cust{margin-top:var(--sp-1-5);color:var(--ink-3);font-size:var(--fs-sm);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:600;overflow:hidden}.kcard .kc-meta{align-items:center;gap:var(--sp-2);margin-top:var(--sp-2);min-width:0;color:var(--ink-3);font-size:var(--fs-xs);font-weight:700;display:flex}.kcard .kc-category,.kcard .kc-odp{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.kcard .kc-category{align-items:center;gap:var(--sp-1-5);text-transform:lowercase;max-width:110px;color:var(--ink-2);flex:0 auto;display:inline-flex}.kcard .kc-category-dot{background:var(--ink-3);border-radius:50%;flex-shrink:0;width:7px;height:7px}.kcard .kc-odp{color:var(--ink-4);flex:auto}.kcard .kc-foot{justify-content:space-between;align-items:center;gap:var(--sp-2-5);margin-top:var(--sp-3);padding-top:var(--sp-2-5);border-top:1px solid var(--line);font-size:var(--fs-xs);color:var(--ink-3);display:flex}.kc-prio{align-items:center;gap:var(--sp-1);font-weight:700;display:inline-flex}.kc-prio.high{color:var(--bad)}.kc-prio.med{color:var(--warn)}.kc-prio.low{color:var(--ink-3)}.kc-prio .d{background:currentColor;border-radius:50%;width:5px;height:5px}.kcard .kc-tech{max-width:60%;height:22px;padding:0 var(--sp-2-5);color:var(--ink-2);font-size:var(--fs-xs);border:1px solid var(--line);white-space:nowrap;text-overflow:ellipsis;background:#f3f4f6;border-radius:999px;justify-content:center;align-items:center;font-weight:600;display:inline-flex;overflow:hidden}.kcard .kc-tech.unassigned{color:var(--ink-4);border-color:var(--line);background:0 0}.kcard .kc-addr{margin-top:var(--sp-1);align-items:center;gap:var(--sp-1);font-size:var(--fs-xs);color:var(--ink-4);min-width:0;display:flex}.kcard .kc-addr svg{flex-shrink:0}.kcard .kc-addr span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.kcard .kc-wait{margin-top:var(--sp-2);align-items:center;gap:var(--sp-1-5);padding:var(--sp-1) var(--sp-2);border:1px dashed var(--line-2);background:var(--bg-sunk);font-size:var(--fs-xs);color:var(--ink-3);border-radius:6px;min-width:0;display:flex}.kcard .kc-wait svg{flex-shrink:0}.kcard .kc-wait span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.kcard .kc-top .tk-status{flex-shrink:0}.tech-lanes{gap:var(--sp-4);margin-top:var(--sp-1);flex-direction:column;display:flex}.tech-lane{background:var(--bg-sunk);border:1px solid var(--line);padding:var(--sp-3);border-radius:12px}.tl-head{align-items:center;gap:var(--sp-2-5);padding:0 var(--sp-half) var(--sp-2-5);display:flex}.tl-av{background:var(--bg-elev);border:1px solid var(--line);width:28px;height:28px;font-size:var(--fs-xs);color:var(--ink-2);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex}.tl-av.unassigned{background:var(--warn-bg);border:1px dashed var(--warn);color:var(--warn);font-size:var(--fs-lg)}.tl-name{font-size:var(--fs-md);color:var(--ink);font-weight:700}.tl-meta{font-size:var(--fs-sm);color:var(--ink-3);white-space:nowrap;margin-left:auto}.tl-meta b.hot{color:var(--bad);font-weight:700}.tl-cards{gap:var(--sp-2-5);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));display:grid}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.ticket-form-grid textarea{min-height:118px}.field .hint.is-error,.hint.is-error{color:var(--bad)}.field.field-spaced{margin-top:var(--sp-3)}
.confirm-body{gap:var(--sp-1-5);font-size:var(--fs-md);color:var(--ink-2);flex-direction:column;display:flex}.move-confirm-text{font-size:var(--fs-lg);color:var(--ink-2);margin:0}.move-skip{align-items:center;gap:var(--sp-2);font-size:var(--fs-sm);color:var(--ink-3);cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-flex}.move-skip input[type=checkbox]{width:14px;height:14px;accent-color:var(--ink);cursor:pointer}.move-skip input[type=checkbox]:disabled{cursor:not-allowed}.move-skip:has(input:disabled){opacity:.5;cursor:not-allowed}.confirm-body p{color:var(--ink);font-size:var(--fs-lg);margin:0}.confirm-body span{color:var(--ink-3);line-height:1.45}.form-grid{gap:var(--sp-3) var(--sp-4);grid-template-columns:1fr 1fr;display:grid}.form-grid .full{grid-column:1/-1}.form-section{gap:var(--sp-2-5);padding:var(--sp-3) 0 var(--sp-4);border-bottom:1px solid var(--line);flex-direction:column;display:flex}.form-section:first-child{padding-top:0}.form-section:last-child{border-bottom:0;padding-bottom:0}.form-section-title{font-size:var(--fs-xs);color:var(--ink-2);text-transform:uppercase;letter-spacing:.08em;font-weight:700}.field{gap:var(--sp-1-5);flex-direction:column;display:flex}.field.ui-field,.field>.ui-field-label{margin-bottom:0}.field-stacked{margin-top:var(--sp-2)}.field>.ui-seg{width:fit-content}.loc-pick{justify-content:space-between;align-items:center;gap:var(--sp-2-5);height:var(--ctl-h);padding:0 var(--sp-1-5) 0 var(--sp-2-5);border:1px solid var(--line);border-radius:var(--radius-ctl);background:var(--bg-sunk);display:flex}.loc-coords{font-size:var(--fs-md);color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.field label{font-size:var(--fs-xs);color:var(--ink-3);text-transform:uppercase;letter-spacing:.08em;font-weight:600}.field input:where(:not(.ui-date-input,[type=checkbox],[type=radio])),.field select,.field textarea{height:var(--ctl-h);padding:0 var(--sp-2-5);border:1px solid var(--line);border-radius:var(--radius-ctl);font:inherit;color:var(--ink);background:var(--bg-elev);font-size:var(--fs-md);outline:0}.field .ui-date-input{height:var(--ctl-h);padding:0 var(--sp-2-5);font-size:var(--fs-md)}.field textarea{height:auto;padding:var(--sp-2) var(--sp-2-5);resize:vertical;min-height:64px}.field input:where(:not(.ui-date-input,[type=checkbox],[type=radio])):focus,.field select:focus,.field textarea:focus{border-color:var(--sf-300);box-shadow:0 0 0 3px var(--sf-50)}.modal-password-wrap{align-items:center;display:flex;position:relative}.modal-password-wrap input{width:100%;padding-right:calc(var(--sp-8) + var(--sp-2))}.modal-password-toggle{right:var(--sp-1-5);width:28px;height:28px;position:absolute;top:50%;transform:translateY(-50%)}.field .fibero-select-frame,.field .fibero-select{width:100%;min-width:0}.hint{font-size:var(--fs-xs);color:var(--ink-3)}.hint.error{color:var(--bad);font-weight:600}.hint.ok{color:var(--ok);font-weight:600}.hint.warn{color:var(--warn);font-weight:600}.field>.link-btn{margin-top:var(--sp-half);align-self:flex-start}.new-home-card{gap:var(--sp-2-5);border:1px solid var(--line);background:var(--bg-elev);border-radius:var(--radius-ctl);padding:var(--sp-3);flex-direction:column;display:flex}.new-home-head{justify-content:space-between;align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.new-home-title{align-items:center;gap:var(--sp-1-5);font-size:var(--fs-md);color:var(--ink);font-weight:700;display:inline-flex}.new-home-coords{font-size:var(--fs-xs);color:var(--ink-3)}.new-home-grid{gap:var(--sp-2-5);grid-template-columns:minmax(0,1fr) 90px;display:grid}.new-home-actions{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.field .seg-mini{background:var(--bg-sunk);border:1px solid var(--line);border-radius:var(--radius-ctl);padding:var(--sp-half);gap:var(--sp-half);width:fit-content;display:inline-flex}.field .seg-mini button{height:26px;padding:0 var(--sp-2-5);color:var(--ink-2);border-radius:var(--radius-sm);font-size:var(--fs-sm);background:0 0;border:0;font-weight:500}.field .seg-mini button.active{background:var(--primary);color:var(--on-primary)}
.drawer-avatar{background:var(--ink);width:48px;height:48px;color:var(--bg);font-weight:700;font-size:var(--fs-xl);box-shadow:var(--shadow);border-radius:12px;flex:0 0 48px;justify-content:center;align-items:center;display:inline-flex}.dot-sep{background:var(--line-2);border-radius:50%;flex:0 0 4px;width:4px;height:4px}.ui-drawer-sub .mono{color:var(--ink-2)}.drawer-badges,.drawer-quick-actions{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.drawer-quick-actions .qa{padding:0 var(--sp-3);flex:none}.dirty-chip{height:25px;padding:0 var(--sp-2);background:var(--sf-50);color:var(--sf-700);font-size:var(--fs-xs);border-radius:999px;align-items:center;font-weight:700;display:inline-flex}.qa-link.disabled{opacity:.45;pointer-events:none}.drawer-tabs{padding:0}.drawer-summary-grid{gap:var(--sp-2-5);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.drawer-summary-grid>div,.drawer-audit>div{border:1px solid var(--line);background:var(--bg-elev);border-radius:var(--radius-ctl);padding:var(--sp-3)}.drawer-summary-grid span,.drawer-audit span{font-size:var(--fs-xs);color:var(--ink-3);text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--sp-1);font-weight:700;display:block}.drawer-summary-grid strong,.drawer-audit strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink);font-size:var(--fs-xl);font-weight:700;display:block;overflow:hidden}.drawer-summary-grid small{margin-top:var(--sp-1);font-size:var(--fs-sm);color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;font-weight:500;display:block;overflow:hidden}.drawer-summary-grid>div.is-overdue{border-color:var(--bad-bg);background:var(--bad-bg)}.drawer-summary-grid>div.is-overdue strong,.drawer-summary-grid>div.is-overdue small{color:var(--bad)}.billing-note{align-items:center;gap:var(--sp-1-5);font-size:var(--fs-sm);color:var(--ink-3);font-weight:600;display:inline-flex}.billing-note.overdue{color:var(--bad)}.drawer-callout{gap:var(--sp-2-5);border:1px solid var(--sf-100);background:var(--sf-50);color:var(--sf-700);border-radius:var(--radius-ctl);padding:var(--sp-3);font-size:var(--fs-md);align-items:flex-start;line-height:1.45;display:flex}.drawer-callout strong{color:var(--sf-700);margin-bottom:var(--sp-half);display:block}.drawer-callout.full{grid-column:1/-1}.drawer-callout.warn{border-color:var(--warn);background:var(--warn-bg);color:var(--ink)}.drawer-callout.warn strong{color:var(--warn)}.drawer-callout .callout-link{height:auto;color:var(--sf-700);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:700;text-decoration:underline;display:inline}.drawer-callout .callout-link:hover{color:var(--sf-600);background:0 0}.drawer-callout .callout-check{margin-top:var(--sp-1-5)}.drawer-audit{gap:var(--sp-2-5);grid-template-columns:1fr 1fr;display:grid}.drawer-view{gap:var(--sp-4);flex-direction:column;display:flex}.drawer-view-section{border-bottom:1px solid var(--line);padding:var(--sp-half) 0 var(--sp-4)}.drawer-view-section:last-child{border-bottom:0;padding-bottom:0}.drawer-view-section .sec-head{justify-content:space-between;align-items:center;gap:var(--sp-2-5);margin-bottom:var(--sp-2-5);display:flex}.drawer-view-section .sec-head h3{font-size:var(--fs-md);margin:0}.drawer-view-section .sec-head .meta{font-size:var(--fs-sm);color:var(--ink-3)}.drawer-view-section .note-card{margin-top:0}.drawer-view .ticket:first-of-type{padding-top:0}.ticket-clickable{width:100%;height:auto;color:inherit;font-size:inherit;font-weight:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:0;justify-content:flex-start}.ticket-clickable:hover{background:var(--bg-sunk);margin-left:calc(var(--sp-2) * -1);margin-right:calc(var(--sp-2) * -1);padding-left:var(--sp-2);padding-right:var(--sp-2);border-radius:var(--radius-ctl)}.drawer-inline-back{width:fit-content;height:auto;margin-bottom:var(--sp-1)}.net-path{align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-3);display:flex}.net-node{align-items:center;gap:var(--sp-2);min-width:0;display:flex}.net-glyph{border-radius:var(--radius-ctl);flex:none;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex}.net-glyph.rumah{color:var(--sf-600);background:var(--sf-50);border:1px solid var(--sf-100)}.net-glyph.odp{background:var(--bg-sunk);border:1px solid var(--line)}.net-glyph.odp .net-odp-dot{background:var(--ok);border-radius:999px;width:11px;height:11px}.net-glyph.odp.warn .net-odp-dot{background:var(--warn)}.net-glyph.odp.bad .net-odp-dot{background:var(--bad)}.net-node-text{gap:var(--sp-half);flex-direction:column;min-width:0;display:flex}.net-k{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-4);font-weight:700}.net-v{font-size:var(--fs-md);color:var(--ink);align-items:center;gap:var(--sp-1-5);white-space:nowrap;font-weight:600;display:inline-flex}.net-port{font-size:var(--fs-xs);color:var(--sf-700);background:var(--sf-50);border:1px solid var(--sf-100);padding:var(--sp-half) var(--sp-1-5);border-radius:999px;font-weight:700}.net-link{flex:1;justify-content:center;align-items:center;min-width:28px;height:32px;display:flex;position:relative}.net-link:before{content:"";border-top:2px dashed var(--sf-300);position:absolute;top:50%;left:2px;right:2px}.net-dist{font-size:var(--fs-xs);color:var(--sf-700);background:var(--bg);border:1px solid var(--sf-100);padding:var(--sp-half) var(--sp-2);white-space:nowrap;border-radius:999px;font-weight:600;position:relative}.net-address{align-items:flex-start;gap:var(--sp-2);margin-bottom:var(--sp-2-5);font-size:var(--fs-md);color:var(--ink-2);line-height:1.45;display:flex}.net-address svg{margin-top:var(--sp-half);color:var(--ink-4);flex:none}.contact-rows{gap:var(--sp-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.contact-row{align-items:center;gap:var(--sp-2-5);padding:var(--sp-2) var(--sp-3);border:1px solid var(--line);border-radius:var(--radius-ctl);background:var(--bg-elev);min-width:0;color:inherit;text-decoration:none;display:flex}a.contact-row:hover{border-color:var(--sf-200);background:var(--sf-50)}a.contact-row:hover .c-ic{background:var(--sf-100);color:var(--sf-700)}.contact-row .c-ic{border-radius:var(--radius-sm);background:var(--bg-sunk);width:28px;height:28px;color:var(--ink-3);flex:none;justify-content:center;align-items:center;display:inline-flex}.contact-row .c-text{gap:var(--sp-half);flex-direction:column;min-width:0;display:flex}.contact-row .c-k{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-4);font-weight:700}.contact-row .c-v{font-size:var(--fs-sm);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.contact-row.is-empty .c-v{color:var(--ink-4)}.drawer-ticket-actions{gap:var(--sp-2);grid-template-columns:repeat(auto-fit,minmax(130px,1fr));display:grid}.drawer-ticket-actions .qa{flex:initial}.inv-list{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-elev);overflow:hidden}.inv-list>.ui-empty{padding:var(--sp-6) var(--sp-3);background:0 0;border:0;border-radius:0}.inv-row{align-items:center;gap:var(--sp-2);padding:var(--sp-1) var(--sp-2) var(--sp-1) var(--sp-1);border-bottom:1px solid var(--line);display:flex}.inv-list>.inv-row:last-child{border-bottom:0}.inv-row.expanded{background:var(--bg-sunk);border-bottom:0}.inv-main{justify-content:flex-start;align-items:center;gap:var(--sp-2);min-width:0;height:auto;padding:var(--sp-2) var(--sp-2);border-radius:var(--radius-ctl);font:inherit;color:var(--ink-2);text-align:left;cursor:pointer;background:0 0;border:0;flex:1;display:flex}.inv-main:hover{background:var(--bg-sunk)}.inv-main:focus-visible{outline:2px solid var(--sf-300);outline-offset:-2px}.inv-main>svg{color:var(--ink-3);flex:none}.inv-body{flex:1;min-width:0;display:block}.inv-top{align-items:center;gap:var(--sp-2);min-width:0;display:flex}.inv-id{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.inv-meta{margin-top:var(--sp-1);font-size:var(--fs-sm);color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.inv-amount{font-size:var(--fs-lg);color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap;flex:none;font-weight:800}.inv-actions{justify-content:flex-end;align-items:center;gap:var(--sp-half);flex:none;min-width:122px;display:flex}.inv-actions .row-icon-btn{width:28px;height:28px}.inv-list>.invoice-detail{margin:0 var(--sp-2) var(--sp-2-5) var(--sp-8)}.invoice-period-nav{align-items:center;gap:var(--sp-2);margin:var(--sp-2-5) 0 var(--sp-2);padding:var(--sp-1-5) var(--sp-2);border:1px solid var(--line);border-radius:var(--radius-ctl);background:var(--bg-elev);display:flex}.invoice-period-nav strong{text-align:center;min-width:130px;font-size:var(--fs-md);color:var(--ink);text-transform:capitalize}.invoice-period-meta{color:var(--ink-3);font-size:var(--fs-sm);margin-left:auto}.invoice-detail{gap:var(--sp-3);padding:var(--sp-3);background:var(--bg-elev);border:1px solid var(--line);border-radius:var(--radius-ctl);display:grid}.invoice-detail-lines{gap:var(--sp-1);font-size:var(--fs-md);display:grid}.invoice-detail-lines-head,.invoice-detail-line{gap:var(--sp-2-5);grid-template-columns:minmax(0,1fr) 56px 110px 110px;align-items:center;display:grid}.invoice-detail-lines-head{color:var(--ink-3);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.08em;padding:var(--sp-1) var(--sp-1-5);border-bottom:1px solid var(--line);font-weight:800}.invoice-detail-line{padding:var(--sp-1-5);border-radius:var(--radius-sm)}.invoice-detail-line:nth-child(odd){background:var(--bg-sunk)}.invoice-detail-line .num,.invoice-detail-lines-head .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.invoice-detail-line .strong{color:var(--ink);font-weight:800}.invoice-detail-meta{gap:var(--sp-2-5);padding-top:var(--sp-2);border-top:1px dashed var(--line);font-size:var(--fs-sm);display:grid}.invoice-detail-notes,.invoice-detail-payments{gap:var(--sp-1);display:grid}.invoice-detail-notes .k,.invoice-detail-payments .k{color:var(--ink-3);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.08em;font-weight:800}.invoice-detail-payment{gap:var(--sp-2-5);padding:var(--sp-1) 0;font-variant-numeric:tabular-nums;grid-template-columns:90px minmax(0,1fr) minmax(0,1fr) 110px;display:grid}.invoice-detail-payment .num{text-align:right}@media (max-width:760px){.invoice-detail-lines-head{display:none}.invoice-detail-line,.invoice-detail-payment{gap:var(--sp-1);grid-template-columns:1fr}.invoice-detail-line .num,.invoice-detail-payment .num{text-align:left}}.invoice-create-modal{max-width:760px}.invoice-create-modal .modal-body{gap:0;padding:0}.invoice-create-modal .modal-body>*{padding:var(--sp-4) var(--sp-6)}.invoice-create-modal .modal-body>*+*{border-top:1px solid var(--line)}.customer-location-map{border-radius:var(--radius);border:1px solid var(--line);height:200px;overflow:hidden}.customer-location-map .clm-label{color:#fff;font-size:var(--fs-xs);padding:var(--sp-half) var(--sp-1-5);box-shadow:none;background:#1c1a16d9;border:none;border-radius:4px;font-weight:600}.customer-location-map .clm-label:before{display:none}
.record-payment-modal{max-width:520px}.billing-block{gap:var(--sp-3);flex-direction:column;display:flex}.billing-block-head{justify-content:space-between;align-items:center;gap:var(--sp-2-5);min-height:26px;display:flex}.billing-block-head h3{font-size:var(--fs-lg);letter-spacing:-.01em;color:var(--ink);margin:0;font-weight:700}.billing-line-table{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.billing-line-head,.billing-line-row{gap:var(--sp-2);grid-template-columns:minmax(0,1fr) 62px 132px 108px 32px;align-items:center;display:grid}.billing-line-head{min-height:var(--sp-8);padding:0 var(--sp-2-5);background:var(--bg-sunk);color:var(--ink-3);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--line);font-weight:800}.billing-line-head>span:nth-child(2){text-align:center}.billing-line-head>span:nth-child(3),.billing-line-head>span:nth-child(4){text-align:right}.billing-line-row{padding:var(--sp-2) var(--sp-2-5);border-bottom:1px solid var(--line)}.billing-line-row>input{width:100%;min-width:0;height:var(--ctl-h);padding:0 var(--sp-2);border:1px solid var(--line);border-radius:var(--radius-ctl);background:var(--bg-elev);color:var(--ink);font:inherit;font-size:var(--fs-md);outline:0}.billing-line-row>input:focus{border-color:var(--sf-300);box-shadow:0 0 0 3px var(--sf-50)}.billing-line-row .cell-num{text-align:center;font-family:var(--font-mono);font-size:var(--fs-md);font-variant-numeric:tabular-nums}.billing-line-row>strong{font-family:var(--font-mono);color:var(--ink);font-size:var(--fs-md);text-align:right;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:800;overflow:hidden}.money-input{height:var(--ctl-h);border:1px solid var(--line);border-radius:var(--radius-ctl);background:var(--bg-elev);align-items:center;display:flex;overflow:hidden}.money-input:focus-within{border-color:var(--sf-300);box-shadow:0 0 0 3px var(--sf-50)}.money-input>span{padding:0 var(--sp-1) 0 var(--sp-2);color:var(--ink-4);font-size:var(--fs-xs);flex:none;font-weight:700}.money-input input{min-width:0;height:100%;padding:0 var(--sp-2) 0 0;text-align:right;color:var(--ink);font-family:var(--font-mono);font-size:var(--fs-md);font-variant-numeric:tabular-nums;background:0 0;border:0;border-radius:0;outline:0;flex:auto}.money-input input:focus{box-shadow:none}.field .interval-input{gap:var(--sp-2);display:flex}.field .interval-input>input{text-align:center;flex:0 0 64px;width:64px;min-width:0}.field .interval-input .fibero-select-frame{flex:auto;min-width:0}.field .discount-input{gap:var(--sp-2);display:flex}.field .discount-input>input{flex:auto;min-width:0}.field .discount-input .fibero-select-frame{flex:0 0 72px;min-width:0}.field .affix-input{height:var(--ctl-h);border:1px solid var(--line);border-radius:var(--radius-ctl);background:var(--bg-elev);align-items:center;display:flex;overflow:hidden}.field .affix-input:focus-within{border-color:var(--sf-300);box-shadow:0 0 0 3px var(--sf-50)}.field .affix-input input{background:0 0;border:0;border-radius:0;flex:auto;min-width:0;height:100%}.field .affix-input input:focus{box-shadow:none;border:0}.field .affix-input>span{padding:0 var(--sp-2-5) 0 var(--sp-1-5);color:var(--ink-4);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.05em;flex:none;font-weight:700}.invoice-preview-table{border:1px solid var(--line);border-radius:var(--radius);max-height:236px;overflow-y:auto}.invoice-preview-head,.invoice-preview-row{gap:var(--sp-2);padding:0 var(--sp-2-5);grid-template-columns:26px minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) 96px;align-items:center;display:grid}.invoice-preview-head{z-index:1;background:var(--bg-sunk);min-height:30px;color:var(--ink-3);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--line);font-weight:800;position:sticky;top:0}.invoice-preview-head>span:last-child{text-align:right}.invoice-preview-row{min-height:30px;font-size:var(--fs-md);color:var(--ink-2);border-bottom:1px solid var(--line);background:var(--bg-elev)}.invoice-preview-row:last-child{border-bottom:0}.invoice-preview-row .idx{color:var(--ink-4);font-size:var(--fs-xs);font-variant-numeric:tabular-nums}.invoice-preview-row>strong{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--ink);text-align:right;font-variant-numeric:tabular-nums;font-weight:700}.auto-invoice-actions{align-items:center;gap:var(--sp-3);padding-top:var(--sp-half);grid-column:1/-1;display:flex}.auto-invoice-actions .btn-save{height:var(--ctl-h);padding:0 var(--sp-4)}.auto-invoice-actions .saved-note{align-items:center;gap:var(--sp-1-5);font-size:var(--fs-sm);color:var(--ok);font-weight:600;display:inline-flex}.auto-invoice-actions .dirty-note{font-size:var(--fs-sm);color:var(--ink-3)}.auto-invoice-actions .qa.danger{height:var(--ctl-h);padding:0 var(--sp-3);flex:none;margin-left:auto}.billing-line-total{justify-content:space-between;align-items:baseline;gap:var(--sp-4);padding:var(--sp-3);background:var(--bg-sunk);display:flex}.billing-line-total span{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);font-weight:800}.billing-line-total strong{font-family:var(--font-mono);font-size:var(--fs-2xl);color:var(--ink);font-variant-numeric:tabular-nums;font-weight:800;line-height:1}.billing-field-row{gap:var(--sp-3);grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;display:grid}.billing-field-row.three{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr) minmax(0,1fr)}.billing-field-row.one{grid-template-columns:minmax(0,1fr)}.billing-mode-note{align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-ctl);background:var(--ok-bg);color:var(--ok);font-size:var(--fs-md);margin:0;display:flex}.billing-mode-note svg{color:var(--ok)}.billing-mode-note strong{font-family:var(--font-mono);font-weight:800}.billing-remainder{height:var(--ctl-h);padding:0 var(--sp-3);border:1px solid var(--line);border-radius:var(--radius-ctl);background:var(--bg-sunk);color:var(--ink);font-family:var(--font-mono);font-size:var(--fs-md);font-variant-numeric:tabular-nums;align-items:center;font-weight:800;display:flex}.invoice-create-modal .modal-body>.billing-notes{padding-top:var(--sp-4);padding-bottom:var(--sp-4)}.billing-notes>summary{align-items:center;gap:var(--sp-2);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:var(--fs-lg);color:var(--ink);font-weight:700;list-style:none;display:flex}.billing-notes>summary::-webkit-details-marker{display:none}.billing-notes>summary:before{content:"";border-right:2px solid var(--ink-3);border-bottom:2px solid var(--ink-3);width:6px;height:6px;transition:transform .15s;transform:rotate(-45deg)}.billing-notes[open]>summary:before{transform:rotate(45deg)}.billing-notes>summary span{font-size:var(--fs-sm);color:var(--ink-3);font-weight:500}.billing-notes .billing-field-row{margin-top:var(--sp-3)}@media (max-width:760px){.billing-field-row,.billing-field-row.three{grid-template-columns:minmax(0,1fr)}.billing-line-head{display:none}.billing-line-table{gap:var(--sp-2);border:0;border-radius:0;display:grid;overflow:visible}.billing-line-row{padding:var(--sp-2-5);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:76px minmax(0,1fr) 32px;grid-template-areas:"name name del""qty price price""sub sub sub"}.billing-line-row>input:first-child{grid-area:name}.billing-line-row .cell-num{grid-area:qty}.billing-line-row .money-input{grid-area:price}.billing-line-row>strong{grid-area:sub}.billing-line-row .row-icon-btn{grid-area:del}.billing-line-total{border:1px solid var(--line);border-radius:var(--radius)}}.ticket-timeline{gap:var(--sp-3);flex-direction:column;display:flex}.ticket-timeline>div{gap:var(--sp-2);grid-template-columns:12px 1fr;align-items:start;display:grid}.ticket-timeline .dot{width:8px;height:8px;margin-top:var(--sp-1);background:var(--sf-500);border-radius:50%}.ticket-timeline b{font-size:var(--fs-sm);color:var(--ink);display:block}.ticket-timeline p{margin:var(--sp-half) 0 0;font-size:var(--fs-md);color:var(--ink-3)}.ticket-activity-details{margin:var(--sp-2) 0 0;padding-left:var(--sp-4);color:var(--ink-3);font-size:var(--fs-sm);line-height:1.45}.ticket-activity-details li+li{margin-top:var(--sp-1)}
.place-banner{z-index:4;background:var(--ink);color:#fff;padding:var(--sp-2) var(--sp-4);font-size:var(--fs-md);align-items:center;gap:var(--sp-2-5);box-shadow:var(--shadow-pop);border-radius:999px;font-weight:500;display:inline-flex;position:absolute;top:64px;left:50%;transform:translate(-50%)}.place-banner .ui-btn{color:#fff;height:auto;padding:var(--sp-1) var(--sp-2-5);font-size:var(--fs-sm);background:#ffffff26;border:0;border-radius:6px;font-weight:500}.place-banner .ui-btn:hover:not(:disabled){color:#fff;background:#ffffff40}.canvas-wrap.placing{cursor:crosshair}.canvas-wrap.placing .leaflet-grab,.canvas-wrap.placing .leaflet-container{cursor:crosshair!important}.canvas-wrap .leaflet-container{background:var(--bg);z-index:0;font-family:inherit;position:absolute;inset:0;width:100%!important;height:100%!important}.canvas-wrap .leaflet-control-attribution{font-size:var(--fs-xs);color:var(--ink-3);padding:var(--sp-half) var(--sp-1-5);background:#ffffffd9}.canvas-wrap .leaflet-control-attribution a{color:var(--sf-600)}.canvas-wrap .map-toolbar,.canvas-wrap .place-banner,.canvas-wrap .coords,.canvas-wrap .legend,.canvas-wrap .zoom{z-index:1000}.canvas-wrap .marker{background:0 0;border:0}
.search.search-trigger{cursor:pointer;text-align:left;background:var(--bg-sunk);color:var(--ink-3);border:1px solid #0000;align-items:center;display:flex}.search.search-trigger:hover:not(:disabled){background:var(--bg-elev);border-color:var(--line)}.search-placeholder{font-size:var(--fs-md);color:var(--ink-3);flex:1}.cmd-backdrop{z-index:70;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0a0c1073;justify-content:center;align-items:flex-start;padding-top:12vh;animation:.12s ease-out fadeIn;display:flex;position:fixed;inset:0}.cmd-palette{background:var(--bg-elev);border:1px solid var(--line);border-radius:var(--radius-lg);flex-direction:column;width:100%;max-width:640px;max-height:70vh;animation:.18s cubic-bezier(.2,.8,.2,1) cmdIn;display:flex;overflow:hidden;box-shadow:0 30px 80px #0a0a0a52,0 4px 14px #0a0a0a14}@keyframes cmdIn{0%{opacity:0;transform:translateY(-12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.cmd-input-row{align-items:center;gap:var(--sp-2-5);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--line);color:var(--ink-3);display:flex}.cmd-input-row input{font:inherit;font-size:var(--fs-xl);color:var(--ink);background:0 0;border:0;outline:0;flex:1}.cmd-input-row input::placeholder{color:var(--ink-3)}.cmd-esc{font-family:var(--font-mono);font-size:var(--fs-xs);padding:var(--sp-half) var(--sp-1-5);border:1px solid var(--line);color:var(--ink-3);border-radius:4px;font-weight:600}.cmd-list{padding:var(--sp-1-5);flex:1;min-height:100px;overflow-y:auto}.cmd-section{font-size:var(--fs-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);padding:var(--sp-2-5) var(--sp-3) var(--sp-1-5);font-weight:600}.cmd-row{align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);cursor:pointer;color:var(--ink-2);border-radius:9px;transition:background 80ms;display:flex}.cmd-row.active{background:var(--sf-50);color:var(--ink)}.cmd-glyph{border-radius:var(--radius-ctl);background:var(--bg-sunk);width:30px;height:30px;color:var(--ink-2);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;position:relative}.cmd-glyph.odc:before{content:"";background:var(--ink);border-radius:3px;width:14px;height:14px}.cmd-glyph.odp:before{content:"";background:var(--ink);border-radius:50%;width:12px;height:12px}.cmd-glyph.rumah:before{content:"";background:var(--ink);border-radius:50%;width:6px;height:6px}.cmd-glyph .d{border:2px solid var(--bg-elev);border-radius:50%;width:8px;height:8px;position:absolute;bottom:4px;right:4px}.cmd-glyph .d.ok{background:var(--ok)}.cmd-glyph .d.warn{background:var(--warn)}.cmd-glyph .d.bad{background:var(--bad)}.cmd-glyph.ticket{color:var(--sf-700);background:var(--sf-50)}.cmd-glyph.ticket.prio-high{color:var(--bad);background:var(--bad-bg)}.cmd-glyph.ticket.prio-med{color:var(--warn);background:var(--warn-bg)}.cmd-glyph.action{background:var(--bg-sunk);color:var(--sf-700)}.cmd-glyph.location{background:var(--sf-50);color:var(--sf-700)}.cmd-glyph.location.failed{background:var(--bad-bg);color:var(--bad)}.cmd-spinner{opacity:.7;border:2px solid;border-top-color:#0000;border-radius:50%;width:13px;height:13px;animation:.7s linear infinite cmd-spin}@keyframes cmd-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.cmd-spinner{animation-duration:2.4s}}.cmd-avatar{color:#fff;width:30px;height:30px;font-size:var(--fs-xs);background:#16181c;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.cmd-body{flex:1;min-width:0}.cmd-title{align-items:center;gap:var(--sp-2);font-size:var(--fs-lg);color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-weight:500;display:flex;overflow:hidden}.cmd-title .mono{font-size:var(--fs-md);color:var(--ink);font-weight:600}.cmd-sub{font-size:var(--fs-sm);color:var(--ink-3);margin-top:var(--sp-half);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.cmd-meta{font-size:var(--fs-xs);color:var(--ink-3);flex-shrink:0}.cmd-meta-badge{flex-shrink:0}.cmd-footer{align-items:center;gap:var(--sp-4);padding:var(--sp-2-5) var(--sp-4);border-top:1px solid var(--line);background:var(--bg-sunk);font-size:var(--fs-xs);color:var(--ink-3);display:flex}.cmd-footer span{align-items:center;gap:var(--sp-1-5);display:inline-flex}.cmd-footer-count{margin-left:auto}.cmd-footer kbd{font-family:var(--font-mono);font-size:var(--fs-xs);padding:var(--sp-half) var(--sp-1);border:1px solid var(--line);background:var(--bg-elev);color:var(--ink-2);text-align:center;border-radius:4px;min-width:18px;font-weight:600}
.notif-anchor{position:relative}.icon-btn.active{background:var(--bg-sunk);color:var(--ink)}.notif-panel{background:var(--bg-elev);border:1px solid var(--line);border-radius:var(--radius-lg);width:380px;max-height:76vh;box-shadow:var(--shadow-pop);z-index:50;flex-direction:column;animation:.16s cubic-bezier(.2,.8,.2,1) notifIn;display:flex;position:absolute;top:44px;right:0;overflow:hidden}@keyframes notifIn{0%{opacity:0;transform:translateY(-6px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.notif-head{padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;display:flex}.notif-title{font-size:var(--fs-lg);letter-spacing:-.01em;font-weight:700}.notif-sub{font-size:var(--fs-sm);color:var(--ink-3);margin-top:var(--sp-half)}.notif-list{padding:var(--sp-1-5) var(--sp-2) var(--sp-2-5);flex:1;overflow-y:auto}.notif-group+.notif-group{margin-top:var(--sp-1-5)}.notif-group-head{align-items:center;gap:var(--sp-2);font-size:var(--fs-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);padding:var(--sp-2-5) var(--sp-2-5) var(--sp-1-5);font-weight:600;display:flex}.notif-group-head .d{border-radius:50%;width:6px;height:6px}.notif-group-head.high .d{background:var(--bad)}.notif-group-head.med .d{background:var(--warn)}.notif-group-head.low .d{background:var(--ok)}.notif-group-head .ct{letter-spacing:0;margin-left:auto}.notif-item{align-items:center;gap:var(--sp-2-5);width:100%;padding:var(--sp-2-5);text-align:left;color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:9px;display:flex;position:relative}.notif-item:before{content:"";background:0 0;border-radius:2px;width:2px;position:absolute;top:12px;bottom:12px;left:4px}.notif-item.high:before{background:var(--bad)}.notif-item.med:before{background:var(--warn)}.notif-item.low:before{background:var(--ok)}.notif-item:hover{background:var(--bg-sunk)}.notif-glyph{border-radius:var(--radius-ctl);background:var(--bg-sunk);width:32px;height:32px;color:var(--ink-2);font-size:var(--fs-xs);flex-shrink:0;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.notif-glyph.cust{color:#fff;background:#16181c}.notif-glyph.node.odc{background:var(--bg-sunk);color:var(--ink)}.notif-item.high .notif-glyph{background:var(--bad-bg);color:var(--bad)}.notif-item.med .notif-glyph{background:var(--warn-bg);color:var(--warn)}.notif-body{gap:var(--sp-half);flex-direction:column;flex:1;min-width:0;display:flex}.notif-row1{align-items:center;gap:var(--sp-2);font-size:var(--fs-md);display:flex}.notif-strong{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.notif-mono{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--ink-3);font-weight:600}.notif-row2{font-size:var(--fs-sm);color:var(--ink-3);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.topology-view{background:var(--bg);z-index:80;flex-direction:column;animation:.16s ease-out fadeIn;display:flex;position:fixed;inset:0}.topo-head{align-items:center;gap:var(--sp-6);padding:var(--sp-4) var(--sp-6);border-bottom:1px solid var(--line);background:var(--bg-elev);display:flex}.topo-back{flex:none}.topo-titles h1{font-size:var(--fs-2xl);letter-spacing:-.02em;margin:0;font-weight:700}.topo-sub{font-size:var(--fs-md);color:var(--ink-3);margin-top:var(--sp-half)}.topo-stats{gap:var(--sp-2-5);margin-left:auto;display:flex}.topo-stat{background:var(--bg-sunk);border:1px solid var(--line);border-radius:var(--radius);padding:var(--sp-2) var(--sp-3);text-align:center;min-width:90px}.topo-stat .k{font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-weight:600}.topo-stat .v{font-size:var(--fs-2xl);margin-top:var(--sp-half);font-variant-numeric:tabular-nums;font-weight:700}.topo-stat.accent{background:var(--sf-50);border-color:var(--sf-100)}.topo-stat.accent .v{color:var(--sf-700)}.topo-canvas-wrap{background:var(--bg);background-image:linear-gradient(to right, color-mix(in srgb, var(--ink) 3.5%, transparent) 1px, transparent 1px), linear-gradient(to bottom, color-mix(in srgb, var(--ink) 3.5%, transparent) 1px, transparent 1px);background-size:64px 64px;flex:1;overflow:auto}.topo-canvas{height:720px;margin:0 auto;position:relative}.topo-edges{pointer-events:none;position:absolute;inset:0}.topo-node{background:var(--bg-elev);border:1px solid var(--line);padding:var(--sp-3) var(--sp-3);min-width:200px;max-width:230px;box-shadow:var(--shadow-sm);cursor:pointer;z-index:2;border-radius:12px;transition:transform .14s ease-out,box-shadow .14s ease-out,border-color .14s;position:absolute;transform:translate(-50%)}.topo-node.odc{top:var(--sp-8)}.topo-node.odp{top:290px}.topo-node:hover{box-shadow:var(--shadow);border-color:var(--sf-300);transform:translate(-50%,-2px)}.topo-node.ok{border-left:3px solid var(--ok)}.topo-node.warn{border-left:3px solid var(--warn)}.topo-node.bad{border-left:3px solid var(--bad);box-shadow:0 0 0 4px color-mix(in srgb, var(--bad) 8%, transparent), var(--shadow-sm)}.topo-node-chip{font-size:var(--fs-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);padding:var(--sp-half) var(--sp-1-5);background:var(--bg-sunk);border-radius:3px;font-weight:700;display:inline-block}.topo-node-id{margin-top:var(--sp-1-5);font-size:var(--fs-lg);letter-spacing:-.01em;font-weight:700;font-family:var(--font-mono)}.topo-node-meta{margin-top:var(--sp-half);font-size:var(--fs-sm);color:var(--ink-3);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.topo-util{margin-top:var(--sp-2-5);align-items:center;gap:var(--sp-2);display:flex}.topo-util-bar{background:var(--bg-sunk);border-radius:3px;flex:1;height:5px;overflow:hidden}.topo-util-bar .fill{background:var(--sf-500);border-radius:3px;height:100%;transition:width .4s ease-out}.topo-util-bar .fill.danger{background:var(--bad)}.topo-util-txt{font-size:var(--fs-xs);color:var(--ink-2);font-variant-numeric:tabular-nums;font-weight:600}.topo-cust-count{margin-top:var(--sp-1-5);font-size:var(--fs-xs);color:var(--sf-700);font-weight:600}.topo-leaf{text-align:center;cursor:pointer;align-items:center;gap:var(--sp-half);z-index:2;flex-direction:column;width:44px;transition:transform .14s ease-out;display:flex;position:absolute;transform:translate(-50%)}.topo-leaf.tier-home{top:535px}.topo-leaf.tier-cust{top:640px}.topo-leaf:hover{transform:translate(-50%,-3px)}.topo-leaf-av{background:var(--ink);color:#fff;width:36px;height:36px;font-size:var(--fs-xs);box-shadow:0 2px 6px color-mix(in srgb, var(--ink) 12%, transparent);border:2px solid var(--bg-elev);border-radius:50%;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.topo-leaf.overdue .topo-leaf-av{background:var(--bad);box-shadow:0 0 0 3px var(--bad-bg), 0 2px 6px color-mix(in srgb, var(--bad) 30%, transparent)}.topo-leaf-name{font-size:var(--fs-xs);color:var(--ink-2);text-align:center;-webkit-line-clamp:2;line-clamp:2;word-break:break-word;overflow-wrap:anywhere;-webkit-box-orient:vertical;width:100%;max-width:46px;font-weight:500;line-height:1.25;display:-webkit-box;overflow:hidden}.topo-leaf-mbps{font-size:var(--fs-xs);color:var(--ink-3);letter-spacing:.04em;font-weight:700}.topo-legend{align-items:center;gap:var(--sp-4);padding:var(--sp-3) var(--sp-6);border-top:1px solid var(--line);background:var(--bg-elev);font-size:var(--fs-sm);color:var(--ink-3);display:flex}.topo-legend .li{align-items:center;gap:var(--sp-1-5);display:inline-flex}.topo-legend .sw{border-radius:50%;width:10px;height:10px}.topo-legend .sw.ok{background:var(--ok)}.topo-legend .sw.warn{background:var(--warn)}.topo-legend .sw.bad{background:var(--bad)}.topo-legend .ln{border-top:2px solid var(--sf-500);width:18px;height:0}.topo-legend .ln.overdue{border-top:2px dashed var(--bad)}.topo-legend .li.div{background:var(--line);width:1px;height:16px;padding:0}.topo-empty{margin:auto}@media (max-width:768px){.topo-head{align-items:flex-start;gap:var(--sp-2-5);padding:calc(var(--sp-3) + var(--safe-top)) var(--sp-3) var(--sp-3);flex-wrap:wrap}.topo-back{height:30px}.topo-titles{flex:1 1 0;min-width:0}.topo-titles h1{font-size:var(--fs-xl);line-height:1.25}.topo-sub{font-size:var(--fs-sm);line-height:1.35}.topo-stats{gap:var(--sp-2);order:3;width:100%;margin-left:0}.topo-stat{min-width:0;padding:var(--sp-1-5) var(--sp-2);flex:1 1 0}.topo-stat .k{font-size:var(--fs-xs);letter-spacing:.06em}.topo-stat .v{font-size:var(--fs-xl)}.topo-legend{gap:var(--sp-2) var(--sp-3);padding:var(--sp-2-5) var(--sp-3) calc(var(--sp-2-5) + var(--safe-bottom));font-size:var(--fs-sm);flex-wrap:wrap}.topo-legend .li.div{display:none}}
.admin-grid{gap:var(--sp-5);grid-template-columns:1fr;display:grid}.admin-stack{gap:var(--sp-5);flex-direction:column;display:flex}.admin-tabs-bar{margin-bottom:var(--sp-4)}.admin-inline-create{gap:var(--sp-2);flex-wrap:wrap;align-items:center;display:flex}.admin-inline-create input{border:1px solid var(--line-2);border-radius:var(--radius-sm);background:var(--bg);color:var(--ink);font:inherit;font-size:var(--fs-md);padding:var(--sp-2) var(--sp-2-5);width:190px}.admin-inline-create input:focus{border-color:var(--sf-500);outline:none}.monitor-meta{gap:var(--sp-4);padding:var(--sp-4) var(--sp-5) var(--sp-5);border-top:1px solid var(--line);grid-template-columns:1fr 1fr;display:grid}.monitor-meta-block h3{margin:0 0 var(--sp-2);font-size:var(--fs-md);color:var(--ink-2);font-weight:600}.monitor-chip-row{gap:var(--sp-1-5);flex-wrap:wrap;display:flex}.monitor-events{gap:var(--sp-1-5);flex-direction:column;max-height:200px;margin:0;padding:0;list-style:none;display:flex;overflow:auto}.monitor-events li{align-items:baseline;gap:var(--sp-2);font-size:var(--fs-sm);display:flex}.monitor-events li .d{border-radius:50%;flex:0 0 7px;width:7px;height:7px;transform:translateY(-1px)}.monitor-events li.down .d{background:var(--bad)}.monitor-events li.up .d{background:var(--ok)}.monitor-events .ev-msg{flex:1;min-width:0}.monitor-events .ev-time{color:var(--ink-3);font-size:var(--fs-xs);white-space:nowrap}.monitor-token{font-family:var(--font-mono);font-size:var(--fs-sm);background:var(--bg-sunk);border:1px solid var(--line);border-radius:var(--radius-ctl);padding:var(--sp-2-5) var(--sp-3);margin:var(--sp-2-5) 0;word-break:break-all;-webkit-user-select:all;user-select:all;display:block}@media (max-width:720px){.monitor-meta{grid-template-columns:1fr}}.admin-card{background:var(--bg-elev);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden}.admin-card-head{justify-content:space-between;align-items:center;gap:var(--sp-4);padding:var(--sp-4) var(--sp-5) var(--sp-3);border-bottom:1px solid var(--line);display:flex}.admin-card-head h2{font-size:var(--fs-xl);margin:0;font-weight:600}.admin-card-head p{margin:var(--sp-half) 0 0;font-size:var(--fs-md);color:var(--ink-3)}.admin-table-wrap{overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:var(--fs-md)}.admin-table th,.admin-table td{text-align:left;padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--line);vertical-align:top}.admin-table th{font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);background:var(--bg);font-weight:600}.admin-table tr:last-child td{border-bottom:none}.admin-user-name{align-items:center;gap:var(--sp-2);display:flex}.admin-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:var(--fs-md);color:var(--ink-2)}.admin-sub{margin-top:var(--sp-1);font-size:var(--fs-sm);color:var(--ink-3);display:block}.admin-empty{text-align:center;padding:var(--sp-6) var(--sp-4)}.radius-card{overflow:hidden}.radius-card .admin-card-head{padding:var(--sp-6) var(--sp-6) var(--sp-4)}.radius-body{padding:var(--sp-6) var(--sp-6) var(--sp-6);gap:var(--sp-4);flex-direction:column;display:flex}.radius-enable{padding:var(--sp-2) var(--sp-4);border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-sunk);color:var(--ink)}.radius-enable .ui-check{align-items:flex-start;gap:var(--sp-3)}.radius-enable strong{font-size:var(--fs-lg);color:var(--ink);display:block}.radius-enable small{margin-top:var(--sp-1);color:var(--ink-3);font-size:var(--fs-md);line-height:1.45;display:block}.radius-section{padding:var(--sp-4);border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-elev)}.radius-section-head{margin-bottom:var(--sp-4)}.radius-section-head h3{font-size:var(--fs-lg);margin:0;font-weight:700}.radius-section-head p{margin:var(--sp-1) 0 0;color:var(--ink-3);font-size:var(--fs-md)}.radius-grid{gap:var(--sp-4) var(--sp-4)}.radius-grid .field label{margin-bottom:var(--sp-2)}.radius-grid .field input,.radius-grid .field select{height:42px}.radius-grid .fibero-select__control{min-height:42px}.radius-grid .field textarea{min-height:84px;padding:var(--sp-3) var(--sp-3)}.radius-grid .ui-check{align-self:end;min-height:42px}.radius-callout{margin:0}.radius-footer{justify-content:flex-end;gap:var(--sp-2);margin-top:var(--sp-half);padding-top:var(--sp-half);display:flex}.radius-test{margin:0}.radius-test-testing{background:var(--bg);border-color:var(--line)}.radius-test-success{background:var(--ok-bg);border-color:var(--ok)}.radius-test-success strong{color:var(--ok)}.radius-test-error{background:var(--bad-bg);border-color:var(--bad)}.radius-test-error strong{color:var(--bad)}.plan-price-check,.plan-price-note{margin-top:var(--sp-1)}.admin-actions{text-align:right;white-space:nowrap}.admin-actions .ui-btn+.ui-btn{margin-left:var(--sp-1-5)}.admin-policies{gap:var(--sp-1);flex-wrap:wrap;max-width:580px;display:flex}.admin-policies-inline{margin-top:var(--sp-2)}.admin-policy-chip{padding:var(--sp-half) var(--sp-2);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:var(--fs-xs);color:var(--ink-2);background:var(--bg);border:1px solid var(--line);border-radius:4px;display:inline-block}.pop-access-radio{gap:var(--sp-4);margin-bottom:var(--sp-2);align-items:center;display:flex}.pop-access-list{gap:var(--sp-1-5) var(--sp-3);padding:var(--sp-2-5) var(--sp-3);border:1px solid var(--line);border-radius:var(--radius-ctl);background:var(--bg-sunk);grid-template-columns:repeat(auto-fit,minmax(120px,1fr));max-height:180px;display:grid;overflow-y:auto}.pop-access-row{align-items:center;gap:var(--sp-1-5);font-size:var(--fs-sm);cursor:pointer;display:flex}.role-policy-section{margin-top:var(--sp-5);padding-top:var(--sp-4);border-top:1px solid var(--line)}.role-policy-head{margin-bottom:var(--sp-4);justify-content:space-between;align-items:baseline;display:flex}.role-policy-head h3{font-size:var(--fs-lg);margin:0;font-weight:600}.role-policy-head span{font-size:var(--fs-sm);color:var(--ink-3)}.role-policy-group{margin-bottom:var(--sp-4);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.role-policy-subscope{padding:var(--sp-2-5) var(--sp-3) var(--sp-3) calc(var(--sp-8) + var(--sp-1-5));border-top:1px dashed var(--line);background:var(--bg-sunk)}.role-policy-subscope-head{font-size:var(--fs-sm);color:var(--ink-2);margin-bottom:var(--sp-2);font-weight:600}.role-policy-subscope-radio{gap:var(--sp-4);margin-bottom:var(--sp-2);display:flex}.role-policy-subscope-list{gap:var(--sp-1-5) var(--sp-3);padding:var(--sp-2) var(--sp-2-5);border:1px solid var(--line);border-radius:var(--radius-ctl);background:var(--bg);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));max-height:200px;display:grid;overflow-y:auto}.role-policy-subscope-row{align-items:center;gap:var(--sp-1-5);font-size:var(--fs-sm);cursor:pointer;display:flex}.role-policy-group-head{align-items:center;gap:var(--sp-2-5);padding:var(--sp-2) var(--sp-3);background:var(--bg);border-bottom:1px solid var(--line);display:flex}.role-policy-group-toggle{padding:0}.role-policy-group-name{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:var(--fs-sm);text-transform:lowercase;color:var(--ink-1);font-weight:600}.role-policy-options{flex-direction:column;display:flex}.role-policy-option{grid-template-columns:var(--sp-5) 1fr;align-items:baseline;gap:var(--sp-2-5);padding:var(--sp-2-5) var(--sp-3);border-top:1px solid var(--line);cursor:pointer;font-size:var(--fs-md);display:grid}.role-policy-option:has(.ui-check-hint){align-items:baseline}.role-policy-option:first-child{border-top:none}.role-policy-option:hover{background:var(--bg)}.role-policy-option input{cursor:pointer;margin:0}.role-policy-option.on .role-policy-name{color:var(--ink-1);font-weight:600}.role-policy-name{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:var(--fs-sm);color:var(--ink-2)}.role-policy-option .ui-check-hint{color:var(--ink-3);font-size:var(--fs-sm)}@media (min-width:900px){.role-policy-option .ui-check-text{gap:var(--sp-half) var(--sp-2-5);grid-template-columns:180px 1fr;align-items:baseline}}.modal.cimp-modal{background:var(--bg);max-width:min(760px,94vw);max-height:88vh}.cimp-drop{align-items:center;gap:var(--sp-2);width:100%;padding:var(--sp-5) var(--sp-4) var(--sp-6);border:1px dashed var(--line-2);border-radius:var(--radius-lg);background:var(--bg-sunk);color:var(--ink);font:inherit;cursor:pointer;flex-direction:column;transition:border-color .14s,background .14s;display:flex}.cimp-drop:hover{border-color:var(--sf-300)}.cimp-drop.over{border-color:var(--sf-500);background:var(--sf-50);border-style:solid}.dimp-loop{aspect-ratio:372/132;width:100%;max-width:460px;display:block}.cimp-drop.over .dimp-loop{opacity:.55}.dimp-sheet-card{fill:var(--bg-elev);stroke:var(--line);stroke-width:1.1px}.dimp-sheet-head{fill:var(--bg-sunk)}.dimp-sheet-rule{stroke:var(--line-2);stroke-width:1px}.dimp-sheet-hd{fill:var(--ink-3);letter-spacing:.06em;text-anchor:middle;font-size:8px;font-weight:700}.dimp-sheet-cell{fill:var(--ink-3);text-anchor:middle;font-size:8.5px}.dimp-sheet-cell.is-picked{fill:var(--sf-700);font-weight:600}.dimp-sheet-pick{fill:var(--sf-50);stroke:var(--sf-200);stroke-width:1px;animation:5.4s ease-in-out infinite dimpPick}.dimp-loop-arrow{fill:none;stroke:var(--sf-500);stroke-width:1.5px;stroke-linecap:round;stroke-dasharray:1;animation:5.4s ease-in-out infinite dimpArrow}.dimp-loop-card{transform-box:fill-box;transform-origin:50%;animation:5.4s ease-in-out infinite dimpLand}.dimp-target-card{fill:var(--bg-elev);stroke:var(--line);stroke-width:1.1px}.dimp-target-tx{fill:var(--ink-2);font-size:10.5px;font-weight:600}.dimp-mini-odp{fill:var(--ok)}.dimp-mini-cable{stroke:var(--sf-500);stroke-width:1.8px;stroke-linecap:round}.dimp-mini-dot{fill:var(--sf-700)}.dimp-mini-person circle{fill:var(--sf-500)}.dimp-mini-person path{fill:none;stroke:var(--sf-500);stroke-width:2px;stroke-linecap:round}@keyframes dimpPick{0%,4%{opacity:0}10%,86%{opacity:1}96%,to{opacity:0}}@keyframes dimpArrow{0%{stroke-dashoffset:1px;opacity:0}6%{opacity:1}20%,86%{stroke-dashoffset:0;opacity:1}96%,to{stroke-dashoffset:0;opacity:0}}@keyframes dimpLand{0%,16%{opacity:0;transform:scale(.88)}26%,86%{opacity:1;transform:scale(1)}96%,to{opacity:0;transform:scale(1)}}.dimp-drop-cta{align-items:center;gap:var(--sp-2);font-size:var(--fs-xl);color:var(--ink);font-weight:700;display:inline-flex}.dimp-drop-sub{font-size:var(--fs-sm);color:var(--ink-3)}.dimp-fmts{gap:var(--sp-1-5);flex-wrap:wrap;justify-content:center;display:flex}.dimp-sell{gap:var(--sp-2);margin-top:var(--sp-2-5);grid-template-columns:repeat(3,1fr);display:grid}.dimp-sell-card{gap:var(--sp-1);padding:var(--sp-3);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-elev);display:grid}.dimp-sell-card svg{color:var(--sf-500)}.dimp-sell-card b{font-size:var(--fs-md);font-weight:700}.dimp-sell-card em{font-style:normal;font-size:var(--fs-sm);color:var(--ink-3);line-height:1.45}@media (max-width:640px){.dimp-sell{grid-template-columns:1fr}.dimp-drop-cta{font-size:var(--fs-xl)}}@media (prefers-reduced-motion:reduce){.dimp-sheet-pick,.dimp-loop-arrow,.dimp-loop-card,.dimp-write-line,.dimp-stream path{animation:none!important}.dimp-write-pen{display:none}.cimp-drop{transition:none}}.cimp-note{font-size:var(--fs-sm);color:var(--ink-3);margin:var(--sp-2-5) 0 0;line-height:1.5}.cimp-note-flush{margin-top:0}.dimp-busy{align-items:center;gap:var(--sp-1);padding:var(--sp-8) var(--sp-2);text-align:center;flex-direction:column;display:flex}.dimp-busy-scene{align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-2-5);color:var(--ink);display:flex}.dimp-stream{flex:none;width:44px;height:16px}.dimp-stream path{fill:none;stroke:var(--sf-400);stroke-width:3px;stroke-linecap:round;stroke-dasharray:.09 .13;animation:.8s linear infinite dimpStream}.dimp-busy.analyzing .dimp-stream path{animation-direction:reverse}@keyframes dimpStream{to{stroke-dashoffset:-.22px}}.dimp-write{flex:none;width:84px}.dimp-write-card{fill:var(--bg-elev);stroke:var(--line);stroke-width:1.2px}.dimp-write-head{fill:var(--bg-sunk)}.dimp-write-line{stroke:var(--sf-300);stroke-width:5px;stroke-linecap:round;stroke-dasharray:1;animation:none}.dimp-write-line.l1{animation-name:dimpWr1}.dimp-write-line.l2{animation-name:dimpWr2}.dimp-write-line.l3{animation-name:dimpWr3}.dimp-write-line.l4{animation-name:dimpWr4}.dimp-write-pen path{fill:var(--sf-600)}.dimp-write-pen{animation:5.2s ease-in-out infinite dimpPen}@keyframes dimpWr1{0%,4%{stroke-dashoffset:1px;opacity:1}22%,96%{stroke-dashoffset:0;opacity:1}to{stroke-dashoffset:0;opacity:0}}@keyframes dimpWr2{0%,26%{stroke-dashoffset:1px;opacity:1}44%,96%{stroke-dashoffset:0;opacity:1}to{stroke-dashoffset:0;opacity:0}}@keyframes dimpWr3{0%,48%{stroke-dashoffset:1px;opacity:1}66%,96%{stroke-dashoffset:0;opacity:1}to{stroke-dashoffset:0;opacity:0}}@keyframes dimpWr4{0%,70%{stroke-dashoffset:1px;opacity:1}88%,96%{stroke-dashoffset:0;opacity:1}to{stroke-dashoffset:0;opacity:0}}@keyframes dimpPen{0%{opacity:0;transform:translate(22px,38px)}4%{opacity:1;transform:translate(22px,38px)}22%{transform:translate(90px,38px)}26%{transform:translate(22px,52px)}44%{transform:translate(78px,52px)}48%{transform:translate(22px,66px)}66%{transform:translate(86px,66px)}70%{transform:translate(22px,80px)}88%{opacity:1;transform:translate(64px,80px)}94%,to{opacity:0;transform:translate(64px,80px)}}.dimp-busy-title{font-size:var(--fs-lg);color:var(--ink);font-weight:600}.dimp-busy-stage{font-size:var(--fs-sm);color:var(--ink-3);min-height:18px}.dimp-busy-bar-row{align-items:center;gap:var(--sp-2-5);width:min(340px,82%);margin-top:var(--sp-2);display:flex}.dimp-busy-bar{background:var(--bg-sunk);border:1px solid var(--line);border-radius:999px;flex:1;height:8px;overflow:hidden}.dimp-busy-fill{background:var(--sf-500);border-radius:999px;height:100%;transition:width .35s}.dimp-busy-pct{font-size:var(--fs-sm);color:var(--ink-2);font-variant-numeric:tabular-nums;text-align:right;min-width:34px;font-weight:600}.cimp-badge-row{margin-bottom:var(--sp-2-5)}.cimp-warn{background:var(--warn-bg);color:var(--warn);padding:var(--sp-2) var(--sp-2-5);border-radius:var(--radius-sm);font-size:var(--fs-sm);margin:var(--sp-2-5) 0;gap:var(--sp-half);display:grid}.cimp-warn-scroll{max-height:180px;overflow:auto}.cimp-section-title{font-size:var(--fs-sm);color:var(--ink-2);letter-spacing:.03em;text-transform:uppercase;margin:var(--sp-4) 0 var(--sp-1-5);font-weight:600}.cimp-map-scroll{border:1px solid var(--line);border-radius:var(--radius-sm);max-height:260px;overflow:auto}.cimp-table{border-collapse:collapse;width:100%;font-size:var(--fs-md)}.cimp-table th{text-align:left;font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.03em;color:var(--ink-3);padding:var(--sp-2) var(--sp-2-5);border-bottom:1px solid var(--line);background:var(--bg);position:sticky;top:0}.cimp-table td{padding:var(--sp-1-5) var(--sp-2-5);border-bottom:1px solid var(--line);vertical-align:middle}.cimp-table tr:last-child td{border-bottom:none}.cimp-colname{white-space:nowrap;font-weight:600}.cimp-sample{color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;max-width:220px;overflow:hidden}.cimp-dim{color:var(--ink-3);font-style:italic}.cimp-select-wrap{align-items:center;gap:var(--sp-1-5);display:inline-flex}.cimp-select-wrap .fibero-select-frame{max-width:220px}.cimp-conf{border-radius:50%;flex:none;width:8px;height:8px}.cimp-conf.high{background:var(--ok)}.cimp-conf.medium{background:var(--warn)}.cimp-conf.low{background:var(--bad)}.cimp-actions{justify-content:flex-end;gap:var(--sp-2);margin-top:var(--sp-4);display:flex}.cimp-actions-start{justify-content:flex-start}.cimp-done-grid{gap:var(--sp-2);margin-bottom:var(--sp-3);grid-template-columns:repeat(3,1fr);display:grid}.cimp-stat{border:1px solid var(--line);border-radius:var(--radius-sm);padding:var(--sp-3);text-align:center}.cimp-stat-num{font-size:var(--fs-3xl);font-weight:700}.cimp-stat-label{font-size:var(--fs-xs);color:var(--ink-3)}.dimp-plan{gap:var(--sp-1-5);flex-wrap:wrap;display:flex}.dimp-modes{margin-top:var(--sp-1)}.dimp-sheets{gap:var(--sp-2);margin-top:var(--sp-2-5);display:grid}.dimp-sheet{gap:var(--sp-1);text-align:left;font:inherit;padding:var(--sp-3);border:1px solid var(--line-2);border-radius:var(--radius-sm);background:var(--bg);color:var(--ink);cursor:pointer;display:grid}.dimp-sheet:hover{border-color:var(--sf-500);background:var(--sf-50)}.dimp-sheet b{font-size:var(--fs-md);font-weight:600}.dimp-sheet em{font-style:normal;font-size:var(--fs-sm);color:var(--ink-3)}.dimp-sheet-cols{font-size:var(--fs-xs);color:var(--ink-4);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}
.hide-desktop{display:none}.hide-wide{display:revert}@media (min-width:769px) and (max-width:1240px){.topbar{padding:0 var(--sp-3);gap:var(--sp-2)}.brand{padding-right:var(--sp-3);margin-right:0}.nav-tabs{gap:1px}.nav-tabs .nav-tab{padding:0 var(--sp-2);font-size:var(--fs-sm)}.topbar .search{min-width:180px;max-width:340px;margin:0 var(--sp-1)}.search .search-placeholder{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.shortcut-btn{display:none}.topbar-menu{width:var(--tap);height:var(--tap);color:var(--ink-2);background:0 0;border:0;border-radius:8px;flex:none;justify-content:center;align-items:center;display:inline-flex}.main{--tablet-sheet-height:min(46dvh, 420px);flex-direction:column;position:relative;grid-template-columns:none!important;display:flex!important}.main-page .listpage{flex:auto;min-height:0}.rail{z-index:76;width:min(60vw,320px);padding-top:calc(var(--sp-4-5) + var(--safe-top));padding-bottom:calc(var(--sp-3-5) + var(--safe-bottom));will-change:transform;transition:transform .22s ease-out;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%);box-shadow:4px 0 24px #0a0a0a38}.rail.rail-open{transform:translate(0)}.canvas-wrap{flex:auto;width:100%;min-height:0}.panel{max-height:var(--tablet-sheet-height);border-left:0;border-top:1px solid var(--line);z-index:35;padding-bottom:var(--safe-bottom);border-radius:16px 16px 0 0;position:fixed;inset:auto 0 0;box-shadow:0 -10px 30px #0a0a0a1f}.panel:before{content:"";width:36px;height:4px;margin:var(--sp-2) auto 0;background:var(--line-2);border-radius:999px;display:block;position:sticky;top:0}.panel-head{padding:var(--sp-2-5) var(--sp-4-5) var(--sp-3)}.panel-head h2{font-size:var(--fs-xl)}.panel-section{padding-left:var(--sp-4-5);padding-right:var(--sp-4-5)}.map-toolbar{scrollbar-width:none;max-width:calc(100% - 24px);top:12px;left:12px;overflow-x:auto}.map-toolbar::-webkit-scrollbar{display:none}.coords{top:12px;right:12px}.legend{display:none}.zoom{right:12px;bottom:calc(var(--tablet-sheet-height) + 12px + var(--safe-bottom))}.place-banner{padding:var(--sp-2) var(--sp-3);font-size:var(--fs-sm);white-space:nowrap;text-overflow:ellipsis;top:62px;left:12px;right:12px;overflow:hidden;transform:none}.toolbar-row .fpill-popover{width:100%;min-width:0;max-width:100%;max-height:70dvh;padding:var(--sp-2-5) var(--sp-2-5) calc(var(--sp-2-5) + var(--safe-bottom));z-index:90;border-radius:16px 16px 0 0;position:fixed;inset:auto 0 0;box-shadow:0 -10px 30px #0a0a0a2e}.toolbar-row .fpill-popover:before{content:"";width:36px;height:4px;margin:var(--sp-1) auto var(--sp-2);background:var(--line-2);border-radius:999px;display:block}.toolbar-row .fpop-row{padding:var(--sp-3);font-size:var(--fs-lg);min-height:44px}}@media (max-width:768px){.hide-desktop{display:revert}body{font-size:var(--fs-lg)}.app{height:100dvh;min-height:100dvh}.topbar{height:auto;min-height:calc(52px + var(--safe-top));padding:var(--safe-top) var(--sp-2-5) 0;gap:var(--sp-2);flex:none}.brand{padding-right:var(--sp-2-5);margin-right:0}.brand-by,.brand-letters,.nav-tabs{display:none}.topbar-menu{width:var(--tap);height:var(--tap);color:var(--ink-2);background:0 0;border:0;border-radius:8px;flex:none;justify-content:center;align-items:center;display:inline-flex}.topbar-menu:hover{background:var(--bg-sunk);color:var(--ink)}.topbar .search{border-radius:8px;flex:none;justify-content:center;width:36px;height:36px;margin:0;padding:0}.topbar .search .search-placeholder,.topbar .search .kbd,.shortcut-btn{display:none}.top-right{gap:var(--sp-half)}.avatar{margin-left:var(--sp-half)}.main{flex-direction:column;min-height:0;position:relative;grid-template-columns:none!important;display:flex!important}.main-page .listpage{-webkit-overflow-scrolling:touch;min-height:0;padding-bottom:calc(var(--sp-8) + var(--sp-6) + var(--sp-1) + var(--safe-bottom));flex:1 1 0}.rail{z-index:76;width:min(86vw,320px);padding-top:calc(var(--sp-4-5) + var(--safe-top));padding-bottom:calc(var(--sp-3-5) + var(--safe-bottom));will-change:transform;transition:transform .22s ease-out;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%);box-shadow:4px 0 24px #0a0a0a38}.rail.rail-open{transform:translate(0)}.canvas-wrap{flex:1 1 0;width:100%;height:auto;min-height:0}.canvas-wrap .leaflet-container{min-height:100%;position:absolute;inset:0}.panel{border-left:0;border-top:1px solid var(--line);z-index:35;max-height:55dvh;padding-bottom:var(--safe-bottom);border-radius:16px 16px 0 0;position:fixed;inset:auto 0 0;box-shadow:0 -10px 30px #0a0a0a1f}.panel:before{content:"";width:36px;height:4px;margin:var(--sp-2) auto 0;background:var(--line-2);border-radius:999px;display:block;position:sticky;top:0}.panel-head{padding:var(--sp-2-5) var(--sp-4) var(--sp-3)}.panel-head h2{font-size:var(--fs-xl)}.panel-section{padding-left:var(--sp-4);padding-right:var(--sp-4)}.map-toolbar{scrollbar-width:none;padding:var(--sp-1);gap:var(--sp-1);border-radius:10px;top:8px;left:8px;right:8px;overflow-x:auto}.map-toolbar::-webkit-scrollbar{display:none}.map-btn{height:36px;padding:0 var(--sp-2-5);font-size:var(--fs-sm);flex:none}.legend{display:none}.zoom{right:8px;bottom:calc(56dvh + 12px + var(--safe-bottom))}.coords{display:none}.place-banner{padding:var(--sp-2) var(--sp-3);font-size:var(--fs-sm);white-space:nowrap;text-overflow:ellipsis;top:56px;left:8px;right:8px;overflow:hidden;transform:none}.modal-backdrop{align-items:flex-end;padding:0}.modal{max-width:100%;max-height:92dvh;padding-bottom:var(--safe-bottom);border-radius:16px 16px 0 0;animation:.2s ease-out sheetUp}@keyframes sheetUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.modal:before{content:"";width:36px;height:4px;margin:var(--sp-2) auto var(--sp-1);background:var(--line-2);border-radius:999px;flex-shrink:0;display:block}.modal-head{padding:var(--sp-2-5) var(--sp-4) var(--sp-3-5)}.modal-head .modal-title{font-size:var(--fs-xl)}.modal-body{padding:var(--sp-3-5) var(--sp-4)}.modal-foot{gap:var(--sp-2);padding:var(--sp-3) var(--sp-4) calc(var(--sp-3) + var(--safe-bottom));flex-wrap:wrap}.modal-foot .actions{justify-content:flex-end;width:100%;margin-left:0}.modal-foot .btn-cancel,.modal-foot .btn-save,.modal-foot .danger{height:var(--tap);min-width:0;font-size:var(--fs-lg);flex:1 1 0}.cmd-backdrop{align-items:flex-start;padding-top:0}.cmd-palette{border-radius:0;max-width:100%;height:100dvh;max-height:100dvh;margin-top:0}.cmd-input-row{padding:var(--sp-3-5) var(--sp-3-5) calc(var(--sp-3-5) + var(--safe-top)) var(--sp-3-5);padding-top:calc(var(--sp-3-5) + var(--safe-top))}.cmd-input-row input{font-size:var(--fs-xl)}.cmd-list{padding-bottom:calc(var(--sp-5) + var(--safe-bottom))}.form-grid{gap:var(--sp-3);grid-template-columns:1fr}.form-grid .full{grid-column:1/-1}.field input,.field select,.field textarea{height:var(--tap);font-size:var(--fs-xl);padding:0 var(--sp-3);border-radius:9px}.field .fibero-select{font-size:var(--fs-xl)}.field .fibero-select__control{min-height:var(--tap);border-radius:9px}.field textarea{height:auto;padding:var(--sp-2-5) var(--sp-3)}.field label{font-size:var(--fs-xs)}.drawer-avatar{border-radius:10px;flex-basis:42px;width:42px;height:42px}.drawer-summary-grid,.drawer-audit,.contact-rows{grid-template-columns:1fr}.net-link{min-width:20px}.net-dist{padding:var(--sp-half) var(--sp-1-5)}.inv-row{padding:var(--sp-1-5);flex-wrap:wrap}.inv-main{flex-wrap:wrap;flex:100%}.inv-amount{width:100%;margin-top:var(--sp-1);padding-left:var(--sp-5)}.inv-actions{width:100%;min-width:0;padding-bottom:var(--sp-1);justify-content:flex-end}.inv-list>.invoice-detail{margin:0 var(--sp-1-5) var(--sp-2)}.ui-drawer-foot{flex-wrap:wrap}.ui-drawer-foot .actions{width:100%}.ui-drawer-foot .btn-cancel,.ui-drawer-foot .btn-save,.ui-drawer-foot .danger{height:var(--tap);min-width:0;font-size:var(--fs-lg);flex:1 1 0}.role-policy-option{grid-template-columns:var(--sp-5) 1fr}.listpage{padding-left:var(--sp-3);padding-right:var(--sp-3)}.listpage-head{align-items:flex-start;gap:var(--sp-2-5);flex-direction:column}.listpage-head .title{font-size:var(--fs-2xl)}.admin-grid{gap:var(--sp-3)}.admin-card{border-radius:12px}.admin-card-head{align-items:stretch;gap:var(--sp-2-5);padding:var(--sp-3-5) var(--sp-3-5) var(--sp-3);flex-direction:column}.admin-card-head .pill-btn{align-self:flex-start}.admin-table thead{display:none}.admin-table,.admin-table tbody,.admin-table tr{width:100%;display:block}.admin-table tr{padding:var(--sp-3) var(--sp-3-5);border-bottom:1px solid var(--line)}.admin-table tr:last-child{border-bottom:0}.admin-table td{align-items:baseline;gap:var(--sp-2);padding:var(--sp-1) 0;text-align:left;font-size:var(--fs-md);border:0;display:flex}.admin-table td:before{content:attr(data-label);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);flex:0 0 88px;font-weight:600;line-height:1.6}.admin-table td:empty{display:none}.admin-table td.admin-actions{padding-top:var(--sp-2-5);margin-top:var(--sp-1);border-top:1px dashed var(--line);flex-wrap:wrap;justify-content:flex-end}.admin-table td.admin-actions:before{display:none}.admin-actions button{min-height:36px;padding:var(--sp-2) var(--sp-3);font-size:var(--fs-md);flex:auto}.listpage .pill-btn,.reports .pill-btn,.modal-body .pill-btn,.ui-drawer-body .pill-btn{min-height:var(--tap)}.listpage .seg button,.reports .seg button{min-height:0}.listpage-head .ctrls{flex-wrap:wrap;width:100%}.listpage-head .ctrls .pill-btn{flex:1 1 0;justify-content:center}.kpi-grid{gap:var(--sp-2-5);margin-bottom:var(--sp-3-5);grid-template-columns:repeat(2,minmax(0,1fr))}.kpi{padding:var(--sp-3) var(--sp-3-5) var(--sp-2-5)}.kpi .k-label{font-size:var(--fs-xs);letter-spacing:.08em}.kpi .k-value{font-size:var(--fs-2xl);margin:var(--sp-1) 0 var(--sp-half)}.kpi .k-value.k-value-full-money{font-size:var(--fs-xl)}.kpi .k-value small{font-size:var(--fs-md)}.kpi .k-delta{font-size:var(--fs-xs)}.kpi .k-delta .vs{display:none}.toolbar-row{align-items:stretch;gap:var(--sp-2);flex-direction:column}.toolbar-row>div[style*="flex: 1"]{display:none}.lp-search{width:100%;min-width:0;max-width:100%;height:40px;padding:0 var(--sp-4);gap:var(--sp-2-5);border-radius:999px}.lp-search input{font-size:var(--fs-xl);min-width:0}.filter-pills{scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:var(--sp-half) var(--sp-half) var(--sp-1);margin:0 calc(-1 * var(--sp-half));gap:var(--sp-2-5);flex-wrap:nowrap;width:100%;min-width:0;max-width:100%;overflow:auto visible}.filter-pills::-webkit-scrollbar{display:none}.fpill{flex:none;height:32px}.filter-pills .fpill-anchor{flex:none}.filterbar-spacer{display:none}.fseg,.fdrops{scrollbar-width:none;flex-wrap:nowrap;width:100%;max-width:100%;overflow-x:auto}.fseg::-webkit-scrollbar{display:none}.fdrops::-webkit-scrollbar{display:none}.fseg{border-radius:999px}.fseg-item{flex:none;height:32px}.fdrops .fpill-anchor{flex:none}.lp-card{border-radius:12px}.lp-table thead{display:none}.lp-table,.lp-table tbody,.lp-table tr{width:100%;display:block}.lp-table tr{padding:var(--sp-3) var(--sp-3-5) var(--sp-2-5);border-bottom:1px solid var(--line);position:relative}.lp-table tbody tr:hover td{background:0 0}.lp-table tr:last-child{border-bottom:0}.lp-table td{gap:var(--sp-2);padding:var(--sp-1-5) 0;font-size:var(--fs-md);border:0;align-items:center;display:flex}.lp-table td[data-label]:before{content:attr(data-label);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);flex:0 0 72px;font-weight:600}.lp-table td.cb-cell{padding:0;position:absolute;top:10px;right:10px}.lp-table td.cb-cell .cb input{width:20px;height:20px}.lp-table td:has(.name-cell){padding:0 var(--sp-8) var(--sp-2) 0;margin-bottom:var(--sp-1);border-bottom:1px solid var(--line)}.lp-table .name-cell .av-sm{width:36px;height:36px;font-size:var(--fs-sm);flex-basis:36px}.lp-table .name-cell .nm{font-size:var(--fs-lg)}.lp-table .name-cell .id-sub{font-size:var(--fs-xs)}.lp-table td.mono{font-size:var(--fs-sm)}.lp-table td.mrr{font-weight:700}.lp-table td:has(>.row-actions){padding-top:var(--sp-2);margin-top:var(--sp-1);border-top:1px dashed var(--line);justify-content:flex-end;text-align:right!important}.lp-table td:has(>.row-actions) .row-icon-btn{width:36px;height:36px}.pager{gap:var(--sp-2-5);padding:var(--sp-2-5) var(--sp-3-5) calc(var(--sp-2-5) + var(--safe-bottom));flex-wrap:wrap}.pager-info{text-align:center;flex-basis:100%}.pager-size{margin-right:0}.pager .pgbtn{width:34px;height:34px}.reports{padding:var(--sp-3-5) var(--sp-3) calc(2 * var(--sp-8) + var(--sp-4))}.reports-head{align-items:stretch;gap:var(--sp-3);margin-bottom:var(--sp-4);padding-bottom:var(--sp-3-5);flex-direction:column}.reports-head .title{font-size:var(--fs-2xl)}.panel-card{padding:var(--sp-3-5);border-radius:12px}.panel-card .pc-head{gap:var(--sp-2);margin-bottom:var(--sp-3);flex-wrap:wrap}.panel-card h3{font-size:var(--fs-lg)}.panel-card .pc-head .pc-sub{font-size:var(--fs-xs)}.panel-card .data-table thead{display:none}.panel-card .data-table,.panel-card .data-table tbody,.panel-card .data-table tr{width:100%;display:block}.panel-card .data-table tr{padding:var(--sp-2-5) 0;border-bottom:1px solid var(--line)}.panel-card .data-table tr:last-child{border-bottom:0}.panel-card .data-table tbody tr:hover td{background:0 0}.panel-card .data-table td{gap:var(--sp-2);padding:var(--sp-1) 0;font-size:var(--fs-md);color:var(--ink);border:0;align-items:center;display:flex}.panel-card .data-table td[data-label]:before{content:attr(data-label);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);flex:0 0 80px;font-weight:600}.panel-card .data-table td:first-child{padding-bottom:var(--sp-1-5);margin-bottom:var(--sp-1);border-bottom:1px solid var(--line);font-weight:600;font-size:var(--fs-lg)}.panel-card .data-table td:first-child:before{display:none}.kanban{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:var(--sp-2-5);margin:var(--sp-1) calc(-1 * var(--sp-3)) 0;padding:0 var(--sp-3);grid-template-columns:none;display:flex;overflow-x:auto}.kanban::-webkit-scrollbar{display:none}.kcol{scroll-snap-align:start;flex:0 0 82vw;min-height:0}.tech-lane{padding:var(--sp-2-5)}.tl-cards{grid-template-columns:1fr}.tl-meta{white-space:normal;text-align:right}.fpill-popover{width:100%;min-width:0;max-width:100%;max-height:70dvh;padding:var(--sp-2-5) var(--sp-2-5) calc(var(--sp-2-5) + var(--safe-bottom));z-index:90;border-radius:16px 16px 0 0;position:fixed;inset:auto 0 0;box-shadow:0 -10px 30px #0a0a0a2e}.fpill-popover:before{content:"";width:36px;height:4px;margin:var(--sp-1) auto var(--sp-2);background:var(--line-2);border-radius:999px;display:block}.fpop-row{padding:var(--sp-3);font-size:var(--fs-lg);min-height:44px}.lp-status-row{scrollbar-width:none;padding:var(--sp-2-5) var(--sp-3);-webkit-overflow-scrolling:touch;flex-wrap:nowrap;min-width:0;max-width:100%;overflow:auto hidden}.lp-status-row::-webkit-scrollbar{display:none}.lp-status-row .fpill{flex:none}.lp-table .tk-status{padding:var(--sp-half) var(--sp-2);font-size:var(--fs-xs);border-radius:999px;align-items:center;font-weight:600;display:inline-flex}.bulkbar{padding:var(--sp-2-5) var(--sp-3-5) calc(var(--sp-2-5) + var(--safe-bottom));justify-content:center;gap:var(--sp-1-5);border-radius:16px 16px 0 0;flex-wrap:wrap;bottom:0;left:0;right:0;transform:none}.bulk-count{text-align:center;padding-bottom:var(--sp-half);flex-basis:100%}.bulk-sep{display:none}.bulk-btn{font-size:var(--fs-md);padding:var(--sp-2) var(--sp-3-5)}.notif-panel,.profile-popover{max-height:80dvh;padding-bottom:var(--safe-bottom);z-index:90;border-radius:16px 16px 0 0;margin:0;animation:.2s ease-out sheetUp;overflow-y:auto;box-shadow:0 -10px 30px #0a0a0a2e;width:100%!important;max-width:100%!important;position:fixed!important;inset:auto 0 0!important}.notif-panel:before,.profile-popover:before{content:"";width:36px;height:4px;margin:var(--sp-2) auto var(--sp-1);background:var(--line-2);border-radius:999px;flex-shrink:0;display:block}}@media (min-width:769px){.hide-desktop{display:none!important}}@media (min-width:1241px){.hide-wide{display:none!important}}.nav-sheet-backdrop{z-index:75;background:#1c1a166b;align-items:flex-end;animation:.14s ease-out fadeIn;display:flex;position:fixed;inset:0}.nav-sheet{background:var(--bg-elev);width:100%;padding:var(--sp-2) var(--sp-2) calc(var(--sp-2) + var(--safe-bottom));border-radius:16px 16px 0 0;flex-direction:column;animation:.2s ease-out sheetUp;display:flex;box-shadow:0 -10px 30px #0a0a0a2e}.nav-sheet:before{content:"";width:36px;height:4px;margin:var(--sp-1) auto var(--sp-2);background:var(--line-2);border-radius:999px;display:block}.nav-sheet-row{justify-content:flex-start;align-items:center;gap:var(--sp-3);padding:var(--sp-3-5) var(--sp-4);border-radius:var(--radius);font-size:var(--fs-lg);color:var(--ink-2);text-align:left;height:auto;min-height:var(--tap);background:0 0;border:0;font-weight:500;display:flex}.nav-sheet-row:hover{background:var(--bg-sunk);color:var(--ink)}.nav-sheet-row.active,.nav-sheet-row.active:hover{background:var(--bg-sunk);color:var(--ink);font-weight:600}.nav-sheet-row .dot{background:var(--sf-500);border-radius:50%;flex:0 0 6px;width:6px;height:6px}.nav-sheet-row:not(.active) .nav-sheet-label{padding-left:var(--sp-4-5)}.rail-backdrop{z-index:75;background:#1c1a166b;animation:.14s ease-out fadeIn;position:fixed;inset:0}.rail-close{top:calc(8px + var(--safe-top));background:var(--bg-sunk);width:32px;height:32px;color:var(--ink-2);z-index:1;border:0;border-radius:8px;justify-content:center;align-items:center;display:inline-flex;position:absolute;right:8px}.rail-close:hover{color:var(--ink)}
.fibi-root{color:var(--ink);display:block}.fibi-root rect[stroke],.fibi-root path[stroke],.fibi-root circle[stroke]{fill:none}.fibi-root .fibi-port,.fibi-root .fibi-pupil{fill:currentColor}.fibi-root .fibi-tip{fill:var(--sf-500);animation:3.2s ease-in-out infinite fibi-pulse}.fibi-root .fibi-head{transform-origin:64px 57px}.fibi-root .fibi-pupils{transform-origin:64px 54px}.fibi-root .fibi-mouth-o{opacity:0}.fibi-idle .fibi-pupils{animation:5.2s ease-in-out infinite fibi-blink,7s ease-in-out infinite fibi-glance}.fibi-thinking .fibi-pupils{animation:.9s ease-in-out infinite alternate fibi-scan;transform:translateY(-4px)}.fibi-thinking .fibi-head{animation:2.2s ease-in-out infinite fibi-wobble}.fibi-thinking .fibi-mouth-smile{opacity:0}.fibi-thinking .fibi-mouth-o{opacity:1}.fibi-thinking .fibi-tip{animation:.7s steps(2,jump-none) infinite fibi-flicker}@keyframes fibi-pulse{0%,to{opacity:.55}50%{opacity:1}}@keyframes fibi-flicker{0%{opacity:.3}to{opacity:1}}@keyframes fibi-blink{0%,92%,to{transform:scaleY(1)}95%,97%{transform:scaleY(.08)}}@keyframes fibi-glance{0%,55%,to{translate:0}62%,78%{translate:5px}}@keyframes fibi-scan{0%{transform:translateY(-4px)translate(-4px)}to{transform:translateY(-4px)translate(4px)}}@keyframes fibi-wobble{0%,to{transform:rotate(0)}30%{transform:rotate(-2.5deg)}70%{transform:rotate(2.5deg)}}.fibi-fab{right:18px;bottom:calc(18px + var(--safe-bottom));z-index:60;align-items:center;gap:var(--sp-2);padding:var(--sp-2-5) var(--sp-4) var(--sp-2-5) var(--sp-3);border:1px solid var(--line-2);background:var(--bg-elev);color:var(--ink);font-weight:600;font-size:var(--fs-md);box-shadow:var(--shadow-pop);border-radius:999px;transition:opacity .15s,transform .15s;display:inline-flex;position:fixed}.fibi-fab:hover{border-color:var(--sf-500);color:var(--sf-600)}.fibi-fab.is-hidden{opacity:0;pointer-events:none;transform:translateY(6px)}.fibi-panel{z-index:70;background:var(--bg-elev);border-left:1px solid var(--line);width:min(430px,100vw);box-shadow:var(--shadow-pop);flex-direction:column;transition:transform .22s,width .22s;display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(102%)}.fibi-panel.is-open{transform:translate(0)}.fibi-panel.is-expanded{width:min(980px,94vw)}.fibi-panel-header{padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--line);flex:none;justify-content:space-between;align-items:center;display:flex}.fibi-panel-brand{align-items:center;gap:var(--sp-2-5);display:flex}.fibi-panel-title{font-family:var(--font-inter-tight), var(--font-inter), sans-serif;font-weight:700;font-size:var(--fs-lg);letter-spacing:.08em;color:var(--sf-600)}.fibi-panel-subtitle{font-size:var(--fs-xs);color:var(--ink-3)}.fibi-panel-actions{gap:var(--sp-1);display:flex}.fibi-chat{flex-direction:column;flex:1;min-height:0;display:flex}.fibi-chat-toolbar{gap:var(--sp-2);padding:var(--sp-2) var(--sp-4);border-bottom:1px solid var(--line);flex:none;display:flex}.fibi-scroll{padding:var(--sp-4);flex:1;min-height:0;overflow-y:auto}.fibi-muted{color:var(--ink-3);font-size:var(--fs-md)}.fibi-empty{padding:var(--sp-8) var(--sp-3) var(--sp-3)}.fibi-empty .ui-empty-title h3{font:inherit;margin:0}.fibi-empty .ui-empty-icon{width:auto;height:auto;color:inherit;background:0 0}.fibi-booting{padding:var(--sp-8) var(--sp-3);justify-content:center;display:flex}.fibi-turn{margin-bottom:var(--sp-6)}.fibi-question{background:var(--sf-50);border:1px solid var(--sf-100);border-radius:var(--radius);padding:var(--sp-2) var(--sp-3);margin-bottom:var(--sp-2-5);border-bottom-right-radius:4px;max-width:90%;font-weight:500;display:inline-block}.fibi-error{background:var(--bad-bg);color:var(--bad);border-radius:var(--radius-sm);padding:var(--sp-2) var(--sp-3);font-size:var(--fs-md);margin:var(--sp-1-5) 0}.fibi-dots{gap:var(--sp-1);padding:var(--sp-2) var(--sp-half);display:inline-flex}.fibi-dots span{background:var(--ink-4);border-radius:50%;width:7px;height:7px;animation:1.1s ease-in-out infinite fibi-bounce}.fibi-dots span:nth-child(2){animation-delay:.15s}.fibi-dots span:nth-child(3){animation-delay:.3s}@keyframes fibi-bounce{0%,60%,to{transform:none}30%{transform:translateY(-5px)}}.fibi-trace{margin:var(--sp-1) 0;padding:0;list-style:none}.fibi-trace-step{gap:var(--sp-2);padding:var(--sp-1) 0;font-size:var(--fs-md);color:var(--ink-3);align-items:flex-start;display:flex}.fibi-trace-step.is-active{color:var(--ink)}.fibi-trace-step.is-note span:last-child{font-style:italic}.fibi-trace-icon{text-align:center;color:var(--ok);font-size:var(--fs-sm);padding-top:var(--sp-half);flex:0 0 16px}.fibi-spinner{border:2px solid var(--line-2);border-top-color:var(--sf-500);border-radius:50%;width:11px;height:11px;animation:.8s linear infinite fibi-spin;display:inline-block}@keyframes fibi-spin{to{transform:rotate(360deg)}}.fibi-trace-done{margin:var(--sp-1) 0 var(--sp-2-5)}.fibi-trace-done summary{font-size:var(--fs-sm);color:var(--ink-4);cursor:pointer;-webkit-user-select:none;user-select:none}.fibi-md{font-size:var(--fs-lg);max-width:75ch;line-height:1.55}.fibi-md p{margin:0 0 var(--sp-2-5)}.fibi-md h1,.fibi-md h2,.fibi-md h3{font-size:var(--fs-lg);margin:var(--sp-3) 0 var(--sp-1-5)}.fibi-md ul,.fibi-md ol{margin:0 0 var(--sp-2-5);padding-left:var(--sp-5)}.fibi-md li{margin:var(--sp-half) 0}.fibi-md code{background:var(--bg-sunk);padding:var(--sp-half) var(--sp-1);font-family:var(--font-mono);font-size:var(--fs-sm);border-radius:4px}.fibi-md pre{background:var(--bg-sunk);border-radius:var(--radius-sm);padding:var(--sp-2-5);overflow-x:auto}.fibi-md a{color:var(--sf-600)}.fibi-table-wrap{border:1px solid var(--line);border-radius:var(--radius-sm);margin:0 0 var(--sp-2-5);overflow-x:auto}.fibi-md table{border-collapse:collapse;width:100%;font-size:var(--fs-md)}.fibi-md th,.fibi-md td{border-bottom:1px solid var(--line);padding:var(--sp-1-5) var(--sp-2-5);text-align:left}.fibi-md th{background:var(--bg-sunk);font-weight:600}.fibi-md tr:last-child td{border-bottom:none}.fibi-map{border-radius:var(--radius-sm);border:1px solid var(--line);height:240px;margin:0 0 var(--sp-2-5);overflow:hidden}.fibi-map-fallback{font-size:var(--fs-sm);color:var(--ink-4);padding:var(--sp-2) 0}.fibi-downloads{gap:var(--sp-1-5);margin-top:var(--sp-2);flex-direction:column;display:flex}.fibi-download-card{gap:var(--sp-half);padding:var(--sp-2) var(--sp-3);border:1px solid var(--line-2);border-radius:var(--radius-sm);background:var(--bg);color:var(--ink);flex-direction:column;text-decoration:none;display:flex}.fibi-download-card:hover{border-color:var(--sf-500)}.fibi-download-name{font-weight:600;font-size:var(--fs-md);color:var(--sf-600)}.fibi-download-meta{font-size:var(--fs-sm);color:var(--ink-3)}.fibi-composer{align-items:flex-end;gap:var(--sp-2);padding:var(--sp-2-5) var(--sp-3) var(--sp-1);border-top:1px solid var(--line);flex:none;display:flex}.fibi-composer textarea{resize:none;border:1px solid var(--line-2);border-radius:var(--radius);padding:var(--sp-2) var(--sp-3);font:inherit;background:var(--bg);max-height:160px;color:var(--ink);flex:1;line-height:1.4}.fibi-composer textarea:focus{border-color:var(--sf-500);outline:none}.fibi-disclaimer{padding:var(--sp-1-5) var(--sp-4) calc(var(--sp-2-5) + var(--safe-bottom));font-size:var(--fs-xs);color:var(--ink-4);text-align:center;flex:none;margin:0}.fibi-consent{text-align:center;align-items:center;gap:var(--sp-2-5);padding:calc(var(--sp-8) + var(--sp-4)) var(--sp-8);flex-direction:column;max-width:380px;margin:auto;display:flex}.fibi-consent h3{margin:var(--sp-1-5) 0 0}.fibi-consent p{font-size:var(--fs-md);color:var(--ink-2);margin:0;line-height:1.55}.fibi-history{gap:var(--sp-2);flex-direction:column;display:flex}.fibi-history-row{align-items:center;gap:var(--sp-1-5);display:flex}.fibi-history-open{align-items:flex-start;gap:var(--sp-half);text-align:left;padding:var(--sp-2) var(--sp-3);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg);color:var(--ink);flex-direction:column;flex:1;display:flex}.fibi-history-open:hover{border-color:var(--sf-500)}.fibi-history-title{font-weight:500;font-size:var(--fs-md);text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.fibi-history-meta{font-size:var(--fs-xs);color:var(--ink-3)}@media (max-width:768px){.fibi-panel,.fibi-panel.is-expanded{width:100vw}.fibi-fab{bottom:calc(76px + var(--safe-bottom));padding:var(--sp-2-5) var(--sp-3)}.fibi-fab span{display:none}}@media (prefers-reduced-motion:reduce){.fibi-root .fibi-pupils,.fibi-root .fibi-head,.fibi-root .fibi-tip,.fibi-dots span,.fibi-spinner{animation:none!important}.fibi-panel{transition:none}}
a.pill-btn{text-decoration:none}
.onb-backdrop{z-index:90;padding:var(--sp-6);background:#0a0c1085;justify-content:center;align-items:center;animation:.14s ease-out fadeIn;display:flex;position:fixed;inset:0;overflow-y:auto}.onb-modal{background:var(--bg-elev);width:100%;max-width:560px;box-shadow:var(--shadow-pop);border-radius:18px;flex-direction:column;animation:.2s ease-out cmdIn;display:flex;position:relative;overflow:hidden}.onb-modal:focus{outline:none}.onb-skip{top:var(--sp-3);right:var(--sp-3);z-index:2;position:absolute}.onb-hero{aspect-ratio:480/234;background:var(--sf-50);border-bottom:1px solid var(--sf-100);position:relative;overflow:hidden}.onb-svg{width:100%;height:100%;display:block}.onb-grid line{stroke:var(--sf-100);stroke-width:1px}.onb-node{stroke:#fff;stroke-width:2.5px}.onb-node-pop{fill:var(--sf-700)}.onb-node-olt{fill:var(--sf-500)}.onb-node-odc,.onb-node-odp,.onb-node.is-ok{fill:var(--ok)}.onb-node.is-warn{fill:var(--warn)}.onb-node.is-bad{fill:var(--bad)}.onb-node-tx{fill:#fff;font-family:var(--font-mono);text-anchor:middle;letter-spacing:.02em;font-size:8px;font-weight:700}.onb-cable-dim,.onb-trace,.onb-flow{fill:none;stroke-linecap:round;stroke-linejoin:round}.onb-cable-dim{stroke:var(--line-2);stroke-width:1.8px}.onb-dim{opacity:.4}.onb-trace{stroke:var(--sf-400);stroke-width:3.4px;stroke-dasharray:1;animation:.9s cubic-bezier(.4,0,.2,1) both onbDraw}.onb-trace-drop{stroke-width:2.2px;animation-duration:.4s}.onb-flow{stroke:var(--sf-700);stroke-width:3.4px;stroke-dasharray:5 190;animation:1.9s linear .9s infinite onbFlow}.onb-house-box{fill:var(--bg);stroke:var(--line-2);stroke-width:1px}.onb-house-roof{fill:none;stroke:var(--ok);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.onb-house.is-bad .onb-house-box{fill:var(--bad-bg);stroke:var(--bad)}.onb-house.is-bad .onb-house-roof{stroke:var(--bad)}.onb-select-ring{fill:none;stroke:var(--sf-400);stroke-width:2px;transform-box:fill-box;transform-origin:50%;animation:2s ease-out infinite onbSelectRing}.onb-select-ring-2{animation-delay:1s}.onb-tag rect{fill:var(--bg-elev);stroke:var(--sf-300);stroke-width:1px}.onb-tag text{fill:var(--sf-700);font-family:var(--font-mono);text-anchor:middle;font-size:10px;font-weight:600}.onb-tag{animation:.36s ease-out both onbRise}.onb-enclosure rect{fill:var(--bg);stroke:var(--line-2);stroke-width:1.6px}.onb-enclosure line{stroke:var(--line);stroke-width:1px}.onb-enclosure-tx{fill:var(--ink-3);font-family:var(--font-mono);font-size:10.5px;font-weight:600}.onb-port-in{transform-box:fill-box;transform-origin:50%;animation:.4s cubic-bezier(.2,1.2,.4,1) both onbPortIn}.onb-port-body{fill:var(--bg-sunk);stroke:var(--line-2);stroke-width:1.2px}.onb-port-eye{fill:var(--bg);stroke:var(--line-2);stroke-width:1.2px}.onb-port-x{stroke:#fff;stroke-width:1.8px;stroke-linecap:round}.onb-port.is-used .onb-port-body{fill:var(--ok-bg);stroke:var(--ok)}.onb-port.is-used .onb-port-eye{fill:var(--ok);stroke:none}.onb-port.is-fault .onb-port-body{fill:var(--bad-bg);stroke:var(--bad)}.onb-port.is-fault .onb-port-eye{fill:var(--bad);stroke:none}.onb-chip{animation:.4s ease-out both onbRise}.onb-chip rect{fill:var(--bg-elev);stroke:var(--line);stroke-width:1px}.onb-chip text{fill:var(--ink-2);text-anchor:middle;font-size:12px;font-weight:600}.onb-chip-warn rect{fill:var(--warn-bg);stroke:none}.onb-chip-warn text{fill:var(--warn-tx)}.onb-chip-bad rect{fill:var(--bad-bg);stroke:none}.onb-chip-bad text{fill:var(--bad)}.onb-ripple{fill:none;stroke:var(--bad);stroke-width:2px;transform-box:fill-box;transform-origin:50%;animation:1.65s ease-out infinite onbRipple}.onb-cable-affected{stroke:var(--bad);stroke-dasharray:4 5;animation:.4s ease-out both onbFade}.onb-alert{transform-box:fill-box;transform-origin:50%;animation:1.5s ease-in-out infinite onbAlert}.onb-alert circle{fill:var(--bad);stroke:#fff;stroke-width:2px}.onb-alert text{fill:#fff;text-anchor:middle;font-size:13px;font-weight:800}.onb-wa{animation:.55s cubic-bezier(.2,1.1,.4,1) both onbFloat}.onb-wa path{fill:var(--ok-bg);stroke:var(--wa-green);stroke-width:1.4px}.onb-wa-lines line{stroke:var(--wa-green);stroke-width:1.6px;stroke-linecap:round;opacity:.55}.onb-sheet-card{fill:var(--bg-elev);stroke:var(--line);stroke-width:1.2px}.onb-sheet-head{fill:var(--bg-sunk)}.onb-sheet-rule{stroke:var(--line-2);stroke-width:1px}.onb-sheet-hd{fill:var(--ink-3);letter-spacing:.06em;text-anchor:middle;font-size:9.5px;font-weight:700}.onb-sheet-cell{fill:var(--ink-3);text-anchor:middle;font-size:10px}.onb-sheet-cell.is-picked{fill:var(--sf-700);font-weight:600}.onb-sheet-pick{fill:var(--sf-50);stroke:var(--sf-200);stroke-width:1px;animation:.4s ease-out both onbFade}.onb-map-arrow{fill:none;stroke:var(--sf-500);stroke-width:1.6px;stroke-linecap:round;stroke-dasharray:1;marker-end:none}.onb-target-card{fill:var(--bg-elev);stroke:var(--line);stroke-width:1.2px}.onb-target-tx{fill:var(--ink-2);font-size:12px;font-weight:600}.onb-mini-cable{stroke:var(--cable-drop);stroke-width:2px;stroke-linecap:round}.onb-mini-dot{fill:var(--sf-700)}.onb-mini-person circle{fill:var(--sf-500)}.onb-mini-person path{fill:none;stroke:var(--sf-500);stroke-width:2.2px;stroke-linecap:round}.onb-draw{stroke-dasharray:1;animation:.45s ease-out both onbDraw}.onb-pop-in{transform-box:fill-box;transform-origin:50%;animation:.42s cubic-bezier(.2,1.3,.4,1) both onbPop}@keyframes onbDraw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}@keyframes onbFlow{0%{stroke-dashoffset:195px}to{stroke-dashoffset:0}}@keyframes onbPop{0%{opacity:0;transform:scale(.3)}to{opacity:1;transform:scale(1)}}@keyframes onbPortIn{0%{opacity:0;transform:scale(.55)}to{opacity:1;transform:scale(1)}}@keyframes onbRise{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@keyframes onbFade{0%{opacity:0}to{opacity:1}}@keyframes onbFloat{0%{opacity:0;transform:translateY(10px)scale(.85)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes onbSelectRing{0%{opacity:.65;transform:scale(.72)}70%{opacity:0;transform:scale(1.5)}to{opacity:0;transform:scale(1.5)}}@keyframes onbRipple{0%{opacity:.55;transform:scale(.5)}80%{opacity:0;transform:scale(2.6)}to{opacity:0;transform:scale(2.6)}}@keyframes onbAlert{0%,55%,to{transform:translateY(0)}70%{transform:translateY(-4px)}85%{transform:translateY(-2px)}}.onb-fibi{justify-content:center;align-items:center;gap:var(--sp-5);padding:0 var(--sp-8);display:flex;position:absolute;inset:0}.onb-fibi-grid{width:100%;height:100%;position:absolute;inset:0}.onb-fibi .fibi-root{flex:none;animation:.45s cubic-bezier(.2,1.3,.4,1) both onbPop;position:relative}.onb-bubble{background:var(--bg-elev);border:1px solid var(--line);border-radius:var(--radius);width:min(268px,58%);box-shadow:var(--shadow-sm);padding:var(--sp-2-5);animation:.4s ease-out .12s both onbRise;position:relative}.onb-bubble-q{font-size:var(--fs-sm);color:var(--ink-3);background:var(--bg-sunk);border-radius:var(--radius-ctl);padding:var(--sp-1-5) var(--sp-2);margin-bottom:var(--sp-2)}.onb-line{background:var(--sf-100);height:8px;margin-bottom:var(--sp-1-5);transform-origin:0;border-radius:4px;animation:2.4s ease-out both onbSkel}.onb-line-1{width:92%}.onb-line-2{width:64%;animation-delay:.1s}.onb-answer{align-items:center;gap:var(--sp-1-5);font-size:var(--fs-sm);color:var(--ink-2);background:var(--bg-sunk);border-radius:var(--radius-ctl);padding:var(--sp-1-5) var(--sp-2);margin-top:var(--sp-1-5);animation:.36s ease-out 1.5s both onbRise;display:flex}.onb-answer-2{animation-delay:1.64s}.onb-answer-dot{background:var(--warn);border-radius:50%;flex:none;width:7px;height:7px}.onb-answer-dot.is-full{background:var(--bad)}.onb-answer-meta{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--ink-3);margin-left:auto}@keyframes onbSkel{0%{opacity:0;transform:scaleX(.3)}14%{opacity:1;transform:scaleX(1)}55%{opacity:1;height:8px;margin-bottom:var(--sp-1-5)}64%,to{opacity:0;height:0;margin-bottom:0}}.onb-copy{padding:var(--sp-5) var(--sp-6) 0}.onb-eyebrow{font-size:var(--fs-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--sf-600);font-weight:600}.onb-title{font-family:var(--font-inter-tight), var(--font-inter), system-ui, sans-serif;font-size:var(--fs-3xl);letter-spacing:-.022em;margin:var(--sp-1-5) 0 var(--sp-2);color:var(--ink);font-weight:700}.onb-body{font-size:var(--fs-lg);color:var(--ink-2);margin:0;line-height:1.6}.onb-chips{gap:var(--sp-1-5);margin-top:var(--sp-3);flex-wrap:wrap;display:flex}.onb-foot{justify-content:space-between;align-items:center;gap:var(--sp-3);padding:var(--sp-4) var(--sp-6) var(--sp-5);display:flex}.onb-dots{align-items:center;gap:var(--sp-1-5);display:flex}.onb-dot{background:var(--line-2);border:none;border-radius:50%;width:7px;height:7px;padding:0;transition:width .18s,background .18s,border-radius .18s}.onb-dot.seen{background:var(--sf-200)}.onb-dot.active{background:var(--sf-500);border-radius:4px;width:22px}.onb-actions{align-items:center;gap:var(--sp-2);display:flex}@media (max-width:768px){.onb-backdrop{padding:var(--sp-3);align-items:flex-start}.onb-modal{max-width:100%;margin:auto 0}.onb-copy{padding:var(--sp-4) var(--sp-4) 0}.onb-title{font-size:var(--fs-2xl)}.onb-body{font-size:var(--fs-md)}.onb-foot{padding:var(--sp-3) var(--sp-4) var(--sp-4);flex-wrap:wrap}.onb-actions{flex:1;justify-content:flex-end}.onb-fibi{gap:var(--sp-3);padding:0 var(--sp-3)}.onb-bubble{padding:var(--sp-2)}.onb-node-tx{font-size:9px}.onb-tag text{font-size:11.5px}.onb-enclosure-tx{font-size:12px}.onb-chip text{font-size:13.5px}.onb-sheet-hd{font-size:10.5px}.onb-sheet-cell{font-size:11px}.onb-target-tx{font-size:13px}}@media (prefers-reduced-motion:reduce){.onb-backdrop,.onb-modal,.onb-draw,.onb-pop-in,.onb-trace,.onb-flow,.onb-port-in,.onb-chip,.onb-tag,.onb-wa,.onb-alert,.onb-ripple,.onb-select-ring,.onb-cable-affected,.onb-sheet-pick,.onb-map-arrow,.onb-fibi .fibi-root,.onb-bubble,.onb-answer,.onb-line{animation:none!important}.onb-ripple,.onb-select-ring{opacity:.35}.onb-dot{transition:none}}
