.page-tabs{border-bottom:1px solid var(--border);gap:.25rem;margin-bottom:.5rem;display:flex}.page-tab{cursor:pointer;color:var(--muted);font:inherit;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:.35rem .75rem;font-size:.82rem}.page-tab:hover{color:var(--ink)}.page-tab.active{color:var(--ink);border-bottom-color:var(--accent);font-weight:600}.wb-toolbar{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.65rem;margin-bottom:.75rem;padding:.65rem 0;font-size:.88rem;display:flex}.wb-toolbar-left{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.wb-toolbar-right{align-items:center;gap:.45rem;display:flex}.wb-greet{color:var(--ink);font-size:.95rem;font-weight:600}.wb-date{color:var(--muted);font-size:.82rem}.wb-sep{color:var(--border)}.wb-stat{color:var(--muted);font-size:.85rem}.wb-stat strong{color:var(--ink);margin-left:.2rem;font-weight:600}.wb-stat-danger,.wb-stat-danger strong{color:var(--danger)}.wb-quick-btn{height:var(--control-h);padding:0 var(--gap-md);border:1px solid var(--chrome-border);border-radius:var(--radius-sm);font-size:var(--font-label);color:var(--ink);background:var(--btn-bg);align-items:center;font-weight:600;text-decoration:none;display:inline-flex}.wb-quick-btn:hover{border-color:var(--accent);background:var(--btn-hover)}.wb-kpi-strip{border:1px solid var(--border);background:var(--surface);border-radius:12px;gap:0;margin-bottom:.75rem;display:flex;overflow:hidden}.wb-kpi-item{border-right:1px solid var(--border);color:inherit;flex-direction:column;flex:1;align-items:center;min-width:0;padding:.65rem .75rem;text-decoration:none;display:flex}.wb-kpi-item:last-child{border-right:none}.wb-kpi-item:hover{background:#f5fafa}.wb-kpi-val{color:var(--sea-deep);font-size:1.35rem;font-weight:700;line-height:1.2}.wb-kpi-label{color:var(--muted);text-align:center;white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:.78rem;line-height:1.3;overflow:hidden}.wb-desk{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-bottom:.75rem;display:grid}@media (max-width:1100px){.wb-desk{grid-template-columns:1fr}}.wb-col{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;display:flex;overflow:hidden}.wb-col-head{border-bottom:1px solid var(--border);background:#f4f7f9;justify-content:space-between;align-items:center;padding:.55rem .85rem;display:flex}.wb-col-head h2{color:var(--ink);margin:0;font-size:.88rem;font-weight:600}.wb-more{color:var(--muted);font-size:.78rem;text-decoration:none}.wb-more:hover{color:var(--accent-text)}.wb-task-list{flex-direction:column;max-height:360px;display:flex;overflow-y:auto}.wb-task{cursor:pointer;border-bottom:1px solid #f0f2f4;align-items:center;gap:.45rem;min-width:0;padding:.4rem .85rem;font-size:.85rem;display:flex}.wb-task:last-child{border-bottom:none}.wb-task:hover{background:#f8fbfa}.wb-task .task-check{width:15px;height:15px;accent-color:var(--accent);cursor:pointer;flex:none;margin:0}.wb-task-pri{border-radius:4px;flex:none;justify-content:center;align-items:center;width:18px;height:18px;font-size:.65rem;font-weight:700;line-height:1;display:inline-flex}.pill-high,.pill-critical,.pill-urgent{color:#9b1c1c;background:#fde8e6}.pill-normal{color:#2456a6;background:#e3ecfd}.pill-low,.pill-pending{color:#5a6e7d;background:#e7f0f3}.wb-task-title{min-width:0;font-size:var(--font-ui);overflow-wrap:anywhere;flex:160px;line-height:1.3}.wb-task-due{color:var(--muted);white-space:nowrap;flex:none;font-size:.75rem}.wb-alert-list{flex-direction:column;max-height:360px;display:flex;overflow-y:auto}.wb-alert-item{color:inherit;border-bottom:1px solid #f0f2f4;border-left:3px solid #0000;justify-content:space-between;align-items:center;gap:.45rem;padding:.4rem .85rem;font-size:.85rem;text-decoration:none;display:flex}.wb-alert-item:last-child{border-bottom:none}.wb-alert-danger{border-left-color:var(--danger);background:#fef6f5}.wb-alert-danger:hover{background:#fdeeed}.wb-alert-warn{border-left-color:var(--warn)}.wb-alert-info{border-left-color:var(--accent)}.wb-alert-detail{color:var(--muted);flex:none;font-size:.75rem}.wb-alert-badges{flex:none;gap:.25rem;display:flex}.wb-sched-list{flex-direction:column;max-height:360px;display:flex;overflow-y:auto}.wb-sched-row{color:inherit;border-bottom:1px solid #f0f2f4;align-items:baseline;gap:.5rem;padding:.4rem .85rem;font-size:.85rem;text-decoration:none;display:flex}.wb-sched-row:last-child{border-bottom:none}.wb-sched-time{color:var(--muted);font-variant-numeric:tabular-nums;flex:none;min-width:5.5rem;font-size:.78rem}.wb-sched-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:500;overflow:hidden}.wb-empty{color:var(--muted);text-align:center;padding:.85rem;font-size:.85rem}.wb-links-head{color:var(--muted);margin-bottom:.5rem;font-size:.82rem;font-weight:600}.wb-links{flex-wrap:wrap;gap:.5rem;display:flex}.wb-link-tile{border:1px solid var(--border);color:var(--ink);background:var(--surface);border-radius:8px;align-items:center;gap:.35rem;padding:.4rem .7rem;font-size:.85rem;line-height:1.3;text-decoration:none;display:inline-flex}.wb-link-tile:hover{border-color:var(--accent);color:var(--accent-text);background:#f5fafa}.wb-link-tile svg{flex:none}.home-greet{border-left:4px solid var(--accent);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1.5rem;margin-bottom:1rem;display:flex}.home-greet-summary{color:var(--muted);margin:0;font-size:.92rem}.home-kpi-row .kpi-card{min-width:0}.kpi-link{color:inherit}.kpi-link:hover{border-color:var(--accent)}.kpi-card small{margin-top:.15rem;font-size:.75rem;display:block}.desk-grid-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:1rem;display:grid}@media (max-width:1100px){.desk-grid-3{grid-template-columns:1fr}}.desk-card h2{margin:0;font-size:1rem}.desk-card-head{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.task-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.6rem;padding:.5rem 0;display:flex}.task-row:last-child{border-bottom:none}.task-row-main{flex-direction:column;flex:auto;gap:.15rem;min-width:0;display:flex}.task-row-title{word-break:break-all;font-size:.9rem}.task-row-ops{flex:none;gap:.35rem;display:flex}.task-check{width:16px;height:16px;accent-color:var(--accent);cursor:pointer;flex:none}.task-done .task-row-title{color:var(--muted);text-decoration:line-through}.overdue{color:var(--danger);font-weight:600}.approval-row{border:1px solid var(--border);border-radius:8px;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.5rem;padding:.5rem .65rem;font-size:.9rem;display:flex}.approval-row:hover{border-color:var(--accent)}.alert-row{border-left:3px solid var(--border);border-radius:8px;flex-direction:column;gap:.1rem;margin-bottom:.35rem;padding:.5rem .65rem;font-size:.88rem;display:flex}.alert-row.warning{border-left-color:var(--warn);background:#fff8ec}.alert-row.critical{border-left-color:var(--danger);background:#fdeeed}.alert-row-title{font-weight:600}.schedule-row{border-bottom:1px solid var(--border);align-items:baseline;gap:.65rem;padding:.5rem 0;font-size:.88rem;display:flex}.schedule-row:last-child{border-bottom:none}.schedule-when{color:var(--muted);flex:none;min-width:6.5rem;font-size:.78rem}.schedule-main{flex-direction:column;gap:.1rem;min-width:0;display:flex}.home-quick-title{margin:0 0 .75rem;font-size:1rem}.wb-queues{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.75rem;margin-bottom:.75rem;display:grid}.wb-queue .wb-col-head h2{font-size:.92rem}.wb-queue-list{flex-direction:column;display:flex}.wb-queue-item{border-left:3px solid var(--border);color:inherit;border-radius:6px;justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:.3rem;padding:.4rem .5rem;font-size:.86rem;text-decoration:none;display:flex}.wb-queue-critical{border-left-color:var(--danger);background:#fdeeed}.wb-queue-warning{border-left-color:var(--warn);background:#fff8ec}.wb-queue-title{font-weight:600}.wb-queue-meta{color:var(--muted);flex:none;font-size:.78rem}@media print{.nav-col,.statusbar,.wb-toolbar,.quick-row,.page-header-actions,.record-modal-backdrop{display:none!important}.main-col,.content{width:100%!important;margin:0!important;padding:0!important}}.wb-statusbar{align-items:center;gap:var(--gap-md);padding:var(--gap-xs) 0;margin-bottom:var(--gap-sm);border-bottom:1px solid var(--border-light);display:flex}.wb-statusbar-left{align-items:center;gap:var(--gap-sm);display:flex}.wb-statusbar-kpis{gap:var(--gap-xs);margin-left:auto;display:flex}.wb-statusbar-right{gap:var(--gap-xs);align-items:center;display:flex}.wb-kpi-chip{align-items:center;gap:var(--gap-xs);padding:var(--gap-xs) var(--gap-sm);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--font-label);color:var(--ink);text-decoration:none;display:inline-flex}.wb-kpi-chip:hover{border-color:var(--accent)}.wb-kpi-chip-val{font-weight:700;font-size:var(--font-ui)}.wb-kpi-chip-label{color:var(--muted)}.wb-kpi-danger{border-color:var(--danger);background:#c0392b0f}.wb-kpi-danger .wb-kpi-chip-val{color:var(--danger)}.wb-grid{gap:var(--gap-sm);grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;display:grid}.wb-span-4{grid-column:span 4}.wb-span-8{grid-column:span 8}@media (max-width:1440px){.wb-span-4{grid-column:span 6}.wb-span-8{grid-column:span 12}}@media (max-width:900px){.wb-span-4,.wb-span-8{grid-column:span 12}}.wb-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.wb-panel-head{justify-content:space-between;align-items:center;gap:var(--gap-sm);padding:var(--gap-xs) var(--gap-sm);background:var(--panel-header-bg);border-bottom:1px solid var(--border-light);display:flex}.wb-panel-title{align-items:center;gap:var(--gap-xs);font-size:var(--font-label);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:0;font-weight:700;display:flex}.wb-panel-actions{gap:var(--gap-xs);align-items:center;display:flex}.wb-panel-foot{padding:var(--gap-xs) var(--gap-sm);border-top:1px solid var(--border-light);text-align:center}.wb-task-filters{gap:0;display:flex}.wb-filter-btn{padding:1px var(--gap-sm);border:1px solid var(--border);background:var(--surface);color:var(--muted);cursor:pointer;margin-left:-1px;font-size:9px}.wb-filter-btn:first-child{border-radius:var(--radius-sm) 0 0 var(--radius-sm);margin-left:0}.wb-filter-btn:last-child{border-radius:0 var(--radius-sm) var(--radius-sm) 0}.wb-filter-btn.active{background:var(--accent);color:#fff;border-color:var(--accent);z-index:1}.wb-new-task{gap:var(--gap-xs);padding:var(--gap-xs) var(--gap-sm);border-bottom:1px solid var(--border-light);background:var(--toolbar-bg);display:flex}.wb-new-task-input{height:var(--input-h);padding:0 var(--gap-sm);border:1px solid var(--input-border);border-radius:var(--radius-sm);font-size:var(--font-ui);flex:1}.wb-new-task-pri,.wb-new-task-due{height:var(--input-h);border:1px solid var(--input-border);border-radius:var(--radius-sm);font-size:var(--font-label);padding:0 var(--gap-xs)}.wb-task-list{max-height:420px;overflow-y:auto}.wb-task-row{align-items:center;gap:var(--gap-sm);padding:var(--gap-xs) var(--gap-sm);border-bottom:1px solid var(--border-light);flex-wrap:wrap;min-height:26px;display:flex}.wb-task-row:hover{background:var(--row-hover)}.wb-task-row.done{opacity:.55}.wb-task-row.done .wb-task-title{text-decoration:line-through}.wb-task-check{border:1px solid var(--chrome-border);background:var(--surface);cursor:pointer;width:16px;height:16px;color:var(--ok);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:10px;display:flex}.wb-task-check:hover{border-color:var(--ok)}.wb-task-pri-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.wb-task-pri-dot[data-priority=urgent]{background:var(--danger)}.wb-task-pri-dot[data-priority=high]{background:var(--warn-text)}.wb-task-pri-dot[data-priority=normal]{background:var(--accent)}.wb-task-pri-dot[data-priority=low]{background:var(--muted)}.wb-task-title{cursor:pointer}.wb-task-title:hover{text-decoration:underline}.wb-task-group{border-bottom:1px solid var(--border-light)}.wb-task-group-head{justify-content:space-between;align-items:center;gap:var(--gap-sm);padding:2px var(--gap-sm);background:var(--toolbar-bg);font-size:var(--font-label);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;display:flex}.wb-task-group-more{padding:3px var(--gap-sm);color:var(--muted);font-size:.74rem;text-decoration:none;display:block}.wb-task-group-more:hover{color:var(--accent-text)}.wb-task-due{color:var(--muted);flex-shrink:0;font-size:9px}.wb-task-due.overdue{color:var(--danger);font-weight:700}.wb-task-assignee{color:var(--muted);flex-shrink:0;font-size:9px}.wb-alert-list{max-height:200px;overflow-y:auto}.wb-alert-item{justify-content:space-between;align-items:center;gap:var(--gap-sm);padding:var(--gap-xs) var(--gap-sm);border-bottom:1px solid var(--border-light);color:var(--ink);font-size:var(--font-ui);text-decoration:none;display:flex}.wb-alert-item:hover{background:var(--row-hover)}.wb-alert-danger{color:var(--danger)}.wb-alert-warn{color:var(--warn-text)}.wb-alert-info{color:#1d4ed8}.wb-alert-title{overflow-wrap:anywhere;flex:1;min-width:0}.wb-alert-detail{color:var(--muted);font-size:9px}.wb-activity-action{color:var(--accent-text);font-weight:600}.wb-activity-time{color:var(--muted);flex-shrink:0;font-size:9px}.record-attribution{white-space:nowrap;font-size:11px}.wb-alert-badges{gap:2px;display:flex}.wb-sched-list{max-height:160px;overflow-y:auto}.wb-sched-row{align-items:center;gap:var(--gap-sm);padding:var(--gap-xs) var(--gap-sm);border-bottom:1px solid var(--border-light);color:var(--ink);font-size:var(--font-ui);text-decoration:none;display:flex}.wb-sched-row:hover{background:var(--row-hover)}.wb-sched-time{color:var(--muted);flex-shrink:0;width:60px;font-size:9px}.wb-sched-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.wb-queue-list{max-height:200px;overflow-y:auto}.wb-queue-group{padding:var(--gap-xs) 0}.wb-queue-group+.wb-queue-group{border-top:1px solid var(--border-light)}.wb-queue-group-head{padding:1px var(--gap-sm);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;justify-content:space-between;align-items:center;font-size:9px;font-weight:700;display:flex}.wb-queue-count{background:var(--border-light);border-radius:6px;padding:0 4px}.wb-queue-item{padding:var(--gap-xs) var(--gap-sm) var(--gap-xs) calc(var(--gap-sm) + 8px);color:var(--ink);font-size:var(--font-ui);justify-content:space-between;align-items:center;text-decoration:none;display:flex}.wb-queue-item:hover{background:var(--row-hover)}.wb-queue-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.wb-queue-meta{color:var(--muted);font-size:9px}.wb-queue-critical{border-left:2px solid var(--danger)}.wb-queue-warning{border-left:2px solid var(--warn)}.wb-links-head{margin:var(--gap-sm) 0 var(--gap-xs);font-size:var(--font-label);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-weight:700}.wb-links{gap:var(--gap-xs);flex-wrap:wrap;display:flex}.wb-link-tile{align-items:center;gap:var(--gap-xs);padding:var(--gap-xs) var(--gap-sm);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--ink);font-size:var(--font-label);text-decoration:none;display:inline-flex}.wb-link-tile:hover{border-color:var(--accent);background:var(--accent-bg)}
.tk-stat-strip{gap:var(--gap-lg);padding:var(--gap-sm) var(--gap-md);margin-bottom:var(--gap-md);background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-md);font-size:var(--font-ui);color:var(--muted);flex-wrap:wrap;align-items:center;display:flex}.tk-stat strong{color:var(--ink);margin-right:2px;font-size:1.05em}.tk-stat-danger strong{color:var(--danger)}.tk-filters{gap:var(--gap-md);padding:var(--gap-sm) var(--gap-md);margin-bottom:var(--gap-md);background:var(--toolbar-bg);border:1px solid var(--border-light);border-radius:var(--radius-md);flex-wrap:wrap;align-items:center;display:flex}.tk-filter-input,.tk-filter-select{height:var(--control-h);border:1px solid var(--border);border-radius:var(--radius-md);padding:0 var(--gap-md);background:var(--surface);color:var(--ink);font-size:var(--font-ui);min-width:120px}.tk-filter-input{flex:200px;min-width:200px;max-width:320px}.tk-filter-check{align-items:center;gap:var(--gap-sm);font-size:var(--font-ui);color:var(--muted);white-space:nowrap;display:inline-flex}.tk-card-grid{gap:var(--gap-md);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.tk-card{gap:var(--gap-sm);padding:var(--gap-md);background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-md);flex-direction:column;display:flex}.tk-card.active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.tk-card-head{align-items:center;gap:var(--gap-sm);flex-wrap:wrap;display:flex}.tk-card-foot{justify-content:space-between;align-items:center;gap:var(--gap-sm);display:flex}.tk-badge{padding:0 var(--gap-sm);border-radius:var(--radius-sm);background:var(--foam);color:var(--accent-text);font-family:var(--font-mono);font-size:var(--font-label);letter-spacing:.02em;display:inline-block}.tk-badge-action{background:var(--accent-soft);color:var(--sea-deep)}.tk-badge-entity{background:var(--foam);color:var(--accent-text);text-underline-offset:2px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.tk-badge-entity:hover{background:var(--accent-soft);color:var(--sea-deep)}.tk-okr-tree{gap:var(--gap-md);flex-direction:column;display:flex}.tk-okr-node{gap:var(--gap-sm);padding:var(--gap-md);background:var(--surface);border:1px solid var(--border-light);border-left:3px solid var(--border);border-radius:var(--radius-md);flex-direction:column;display:flex}.tk-okr-node>.btn{align-self:flex-start}.tk-okr-node.active{border-left-color:var(--accent)}.tk-okr-head{align-items:center;gap:var(--gap-sm);flex-wrap:wrap;display:flex}.tk-kr-list{padding:0 0 0 var(--gap-lg);gap:var(--gap-xs);flex-direction:column;margin:0;list-style:none;display:flex}.tk-kr{align-items:baseline;gap:var(--gap-sm);font-size:var(--font-ui);flex-wrap:wrap;display:flex}.tk-kr-title{color:var(--ink)}.tk-progress{width:100%;height:6px;accent-color:var(--accent);background:var(--skeleton);border-radius:var(--radius-sm);border:none}.tk-pager{align-items:center;gap:var(--gap-md);padding:var(--gap-sm) var(--gap-md);border-top:1px solid var(--border-light);font-size:var(--font-ui);justify-content:flex-end;display:flex}.tk-hint{padding:var(--gap-sm) var(--gap-md);background:var(--foam);border-left:3px solid var(--accent);border-radius:var(--radius-sm);color:var(--muted);font-size:var(--font-label);margin:0}.tk-link{color:var(--accent-text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;padding:0}.tk-link:hover{text-decoration:underline}.tk-pill-auto{background:var(--accent-soft);color:var(--sea-deep)}.tk-board{gap:var(--gap-md);padding-bottom:var(--gap-sm);align-items:flex-start;display:flex;overflow-x:auto}.tk-board-col{gap:var(--gap-sm);min-width:280px;max-width:420px;padding:var(--gap-md);background:var(--bg);border:1px solid var(--border-light);border-radius:var(--radius-md);flex-direction:column;flex:280px;display:flex}.tk-board-head{justify-content:space-between;align-items:baseline;gap:var(--gap-sm);padding-bottom:var(--gap-xs);border-bottom:1px solid var(--border-light);color:var(--ink);flex-wrap:wrap;display:flex}.tk-board-person{flex-direction:column;gap:2px;display:flex}.tk-board-person-head{align-items:baseline;gap:var(--gap-sm);font-size:var(--font-label);flex-wrap:wrap;display:flex}.tk-board-person-name{color:var(--ink);font-weight:600}.tk-board-empty{font-size:var(--font-label);margin:0}.tk-modal-backdrop{z-index:60;padding:var(--gap-lg);background:#0b1f2a73;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.tk-modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:min(760px,100%);max-height:90vh;box-shadow:var(--shadow-md);flex-direction:column;display:flex}.tk-modal-head{justify-content:space-between;align-items:center;gap:var(--gap-md);padding:var(--gap-md) var(--gap-lg);border-bottom:1px solid var(--border-light);display:flex}.tk-modal-title{align-items:center;gap:var(--gap-sm);color:var(--ink);font-weight:600;display:flex}.tk-modal-body{padding:var(--gap-lg);gap:var(--gap-md);flex-direction:column;flex:auto;display:flex;overflow-y:auto}.tk-modal-foot{align-items:center;gap:var(--gap-md);padding:var(--gap-md) var(--gap-lg);border-top:1px solid var(--border-light);display:flex}.tk-detail-grid{gap:var(--gap-md);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}.tk-detail-grid>div{flex-direction:column;gap:2px;display:flex}.tk-k{font-size:var(--font-label);color:var(--muted)}.tk-v{color:var(--ink)}.tk-detail-desc{color:var(--muted);margin:0}.tk-section{gap:var(--gap-sm);padding-top:var(--gap-sm);border-top:1px solid var(--border-light);flex-direction:column;display:flex}.tk-section-title{font-size:var(--font-ui);color:var(--ink);margin:0;font-weight:600}.tk-action-box{gap:var(--gap-sm);padding:var(--gap-md);background:var(--foam);border-radius:var(--radius-md);flex-direction:column;align-items:flex-start;display:flex}.tk-action-head{align-items:center;gap:var(--gap-sm);color:var(--ink);display:flex}.tk-child-list,.tk-comment-list{gap:var(--gap-xs);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.tk-child{align-items:center;gap:var(--gap-sm);padding:var(--gap-xs) var(--gap-sm);border-bottom:1px solid var(--border-light);font-size:var(--font-ui);display:flex}.tk-child.done .tk-child-title{color:var(--muted);text-decoration:line-through}.tk-child-title{color:var(--ink);flex:auto}.tk-comment{padding:var(--gap-sm);background:var(--bg);border-radius:var(--radius-sm);font-size:var(--font-ui);color:var(--ink)}.tk-comment-head{align-items:baseline;gap:var(--gap-sm);margin-bottom:2px;display:flex}.tk-inline-form{gap:var(--gap-sm);flex-wrap:wrap;align-items:center;display:flex}.tk-inline-form input,.tk-inline-form select,.tk-inline-form textarea{height:var(--control-h);border:1px solid var(--border);border-radius:var(--radius-md);padding:0 var(--gap-md);background:var(--surface);color:var(--ink);font-size:var(--font-ui);min-width:120px}.tk-inline-form textarea{height:auto;padding:var(--gap-sm) var(--gap-md);width:100%}
.activity-modal-backdrop{z-index:90;padding:var(--gap-md);background:#0b1f2a59;place-items:center;display:grid;position:fixed;inset:0}.activity-modal{background:var(--surface);border-radius:var(--radius-md);border:1px solid var(--chrome-border);flex-direction:column;width:min(1080px,96vw);max-height:min(88vh,860px);display:flex;overflow:hidden;box-shadow:0 8px 32px #0b1f2a40}.activity-modal.activity-modal-full{border:0;border-radius:0;width:100vw;height:100vh;max-height:100vh}.activity-modal-head{justify-content:space-between;align-items:center;gap:var(--gap-sm);padding:var(--gap-sm) var(--gap-md);border-bottom:1px solid var(--border);background:var(--panel-header-bg);flex-shrink:0;display:flex}.activity-modal-head h2{font-size:var(--font-ui);margin:0;font-weight:700}.activity-modal-head-actions{align-items:center;gap:var(--gap-xs);display:flex}.activity-modal-fs,.activity-modal-x{width:24px;height:24px;color:var(--muted);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:1px solid #0000;font-size:14px;line-height:1}.activity-modal-fs:hover,.activity-modal-x:hover{background:var(--row-hover);color:var(--accent)}.activity-modal-toolbar{align-items:center;gap:var(--gap-sm);padding:var(--gap-sm) var(--gap-md);border-bottom:1px solid var(--border-light);flex-shrink:0;display:flex}.activity-modal-search{min-width:0;height:var(--input-h);padding:0 var(--gap-sm);border:1px solid var(--input-border);border-radius:var(--radius-sm);font-size:var(--font-ui);background:var(--surface);color:var(--ink);flex:1}.activity-modal-total{font-size:var(--font-label);white-space:nowrap}.activity-modal-body{flex:auto;min-height:0;overflow:auto}.activity-modal-table{width:100%}.activity-modal-table th{z-index:1;background:var(--panel-header-bg);position:sticky;top:0}.activity-modal-when{white-space:nowrap;color:var(--muted);font-variant-numeric:tabular-nums}.activity-modal-entity{overflow-wrap:anywhere}.activity-modal-action-full{margin-left:var(--gap-xs);font-size:9px}.activity-modal-err{color:var(--danger);padding:var(--gap-sm) var(--gap-md);text-align:left}.activity-modal-foot{justify-content:space-between;align-items:center;gap:var(--gap-sm);padding:var(--gap-xs) var(--gap-md);border-top:1px solid var(--border-light);background:var(--toolbar-bg);font-size:var(--font-label);flex-shrink:0;display:flex}.activity-modal-pager{align-items:center;gap:var(--gap-sm);display:flex}@media (max-width:720px){.activity-modal-foot{align-items:stretch;gap:var(--gap-xs);flex-direction:column}.activity-modal-pager{justify-content:space-between}.activity-modal-action-full{display:none}}
.notify-wrap{position:relative}.notify-btn{border:1px solid var(--chrome-border);border-radius:var(--radius-sm);background:var(--surface);width:28px;height:28px;color:var(--ink);cursor:pointer;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.notify-btn:hover{background:var(--toolbar-bg);border-color:var(--accent)}.notify-badge{background:var(--danger);color:#fff;text-align:center;pointer-events:none;border:1.5px solid var(--surface);border-radius:999px;min-width:15px;height:15px;padding:0 3px;font-size:9px;font-weight:700;line-height:15px;position:absolute;top:-5px;right:-5px}.notify-pop{width:340px;max-width:calc(100vw - 2rem);max-height:70vh;color:var(--ink,#0f1c28);border:1px solid var(--border);z-index:60;background:#fff;border-radius:10px;flex-direction:column;gap:.15rem;padding:.4rem;display:flex;position:absolute;top:calc(100% + 8px);right:0;overflow-y:auto;box-shadow:0 12px 28px #0f1c282e}.notify-pop-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.2rem;padding:.45rem .65rem .6rem;display:flex}.notify-pop-head strong{font-size:.9rem}.notify-item{text-align:left;width:100%;color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:flex-start;gap:.55rem;padding:.55rem .65rem;display:flex}.notify-item:hover{background:var(--accent-bg)}.notify-item.unread{background:var(--row-selected)}.notify-item.unread:hover{background:var(--accent-bg-strong)}.notify-dot{border-radius:999px;flex:none;width:8px;height:8px;margin-top:.35rem}.notify-item-body{flex-direction:column;gap:.1rem;min-width:0;display:flex}.notify-item-title{word-break:break-all;font-size:.86rem;font-weight:600}.notify-item-text{color:var(--muted);word-break:break-all;font-size:.8rem}.notify-item-time{color:var(--muted);font-size:.74rem}.notify-go{color:var(--accent-text);font-weight:700}.notify-empty{margin:0;padding:1rem .65rem;font-size:.86rem}
.toast-container{top:calc(var(--topbar) + 16px);z-index:200;pointer-events:none;flex-direction:column;gap:.5rem;max-width:min(400px,100vw - 32px);display:flex;position:fixed;right:16px}.toast{background:var(--surface);border:1px solid var(--border);pointer-events:auto;border-radius:10px;align-items:flex-start;gap:.65rem;padding:.75rem .9rem;animation:.2s ease-out toast-in;display:flex;position:relative;box-shadow:0 8px 28px #0b1f2a26}.toast.toast-exit{animation:.15s ease-in forwards toast-out}.toast-success{border-left:3px solid var(--ok)}.toast-error{border-left:3px solid var(--danger)}.toast-warning{border-left:3px solid var(--warn)}.toast-info{border-left:3px solid #2563eb}.toast-icon{color:#fff;border-radius:50%;flex:none;place-items:center;width:20px;height:20px;margin-top:1px;font-size:.72rem;font-weight:700;display:grid}.toast-success .toast-icon{background:var(--ok)}.toast-error .toast-icon{background:var(--danger)}.toast-warning .toast-icon{background:var(--warn)}.toast-info .toast-icon{background:#2563eb}.toast-body{flex-direction:column;flex:auto;gap:.2rem;min-width:0;display:flex}.toast-msg{color:var(--ink);word-break:break-word;font-size:.88rem;line-height:1.4}.toast-action{color:var(--accent-text);cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0;font-size:.82rem;font-weight:600;text-decoration:underline}.toast-action:hover{color:var(--accent-soft)}.toast-close{width:24px;height:24px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;flex:none;place-items:center;padding:0;font-size:1rem;line-height:1;display:grid}.toast-close:hover{color:var(--ink);background:#0000000d}@keyframes toast-in{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}@keyframes toast-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(40px)}}
.skeleton{background:linear-gradient(90deg, var(--skeleton) 25%, var(--skeleton-shine) 50%, var(--skeleton) 75%);background-size:200% 100%;border-radius:6px;animation:1.5s ease-in-out infinite skeleton-shimmer;display:block}@keyframes skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:.65rem;padding:1rem 1.1rem;display:flex}.skeleton-table{border-collapse:collapse;width:100%}.skeleton-table th,.skeleton-table td{text-align:left;border-bottom:1px solid var(--border);padding:.65rem .5rem}.skeleton-form{gap:.75rem;display:grid}.skeleton-form-row{grid-template-columns:100px 1fr;align-items:center;gap:.75rem;display:grid}
.pnl-fleet-summary{flex-wrap:wrap;gap:1rem;margin-bottom:1.25rem;display:flex}.pnl-summary-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);flex:1;min-width:160px;padding:.75rem 1rem}.pnl-summary-label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:.35rem;font-size:.75rem;display:block}.pnl-summary-value{color:var(--ink);font-size:1.25rem;font-weight:600}.pnl-summary-row{color:var(--ink);justify-content:space-between;font-size:.85rem;line-height:1.6;display:flex}.pnl-fav{color:var(--ok);font-weight:500}.pnl-adv{color:var(--danger);font-weight:500}.pnl-col-estimate{background:#2bb5b00a}.pnl-col-actual{background:#3b82f60a}.pnl-col-posted{background:#a855f70a}.pnl-col-variance{background:#f59e0b0a}.pnl-col-header{text-align:center;border-bottom:2px solid var(--border);font-weight:600}.pnl-col-header.pnl-col-estimate{border-bottom-color:var(--accent)}.pnl-col-header.pnl-col-actual{border-bottom-color:#3b82f6}.pnl-col-header.pnl-col-posted{border-bottom-color:#a855f7}.pnl-col-header.pnl-col-variance{border-bottom-color:#f59e0b}.pnl-table th,.pnl-detail-table th{white-space:nowrap;-webkit-user-select:none;user-select:none}.pnl-table th[onclick],.pnl-detail-table th[onclick]{cursor:pointer}.pnl-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.pnl-sticky-col{z-index:1;background:var(--foam);min-width:120px;position:sticky;left:0}.pnl-total-row td{border-top:2px solid var(--border);background:var(--surface)}.pnl-kpi-row{flex-wrap:wrap;gap:.75rem;margin-bottom:1.25rem;display:flex}.pnl-kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);text-align:center;flex:1;min-width:140px;padding:.75rem 1rem}.pnl-kpi-label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:.25rem;font-size:.75rem;display:block}.pnl-kpi-value{color:var(--ink);font-variant-numeric:tabular-nums;font-size:1.15rem;font-weight:600;display:block}.pnl-kpi-sub{color:var(--muted);margin-top:.15rem;font-size:.75rem;display:block}.pnl-detail-table .pnl-line-row:hover{background:#2bb5b00f}.pnl-expand{width:1.2em;color:var(--muted);font-size:.8em;display:inline-block}.pnl-subtotal-row td{background:var(--surface);border-top:1px solid var(--border)}.btn-group{gap:0;display:inline-flex}.btn-group .btn{border-radius:0}.btn-group .btn:first-child{border-radius:var(--radius-sm) 0 0 var(--radius-sm)}.btn-group .btn:last-child{border-radius:0 var(--radius-sm) var(--radius-sm) 0}.btn-group .btn+.btn{margin-left:-1px}.skeleton-table{background:repeating-linear-gradient(180deg, var(--skeleton) 0px, var(--skeleton) 28px, transparent 28px, transparent 36px);border-radius:var(--radius-sm);height:300px;animation:1.5s ease-in-out infinite skeleton-pulse}@keyframes skeleton-pulse{0%,to{opacity:.5}50%{opacity:1}}@media (max-width:900px){.pnl-fleet-summary,.pnl-kpi-row{flex-direction:column}.pnl-sticky-col{position:static}}
.tornado-chart{flex-direction:column;gap:.75rem;margin-top:1rem;display:flex}.tornado-bar{grid-template-columns:150px 1fr 100px;align-items:center;gap:1rem;display:grid}.tornado-label{text-align:right;color:var(--ink);font-size:.875rem;font-weight:500}.tornado-track{background:var(--chrome-bg);border-radius:var(--radius-sm);height:32px;position:relative;overflow:hidden}.tornado-fill{border-radius:var(--radius-sm);height:100%;transition:width .3s;position:absolute;top:0;left:0}.tornado-fill.positive{background:linear-gradient(90deg, var(--ok), color-mix(in srgb, var(--ok) 40%, white))}.tornado-fill.negative{background:linear-gradient(90deg, var(--danger), color-mix(in srgb, var(--danger) 40%, white))}.tornado-value{color:var(--ink);text-align:left;font-size:.875rem;font-weight:600}.slider{background:var(--border);-webkit-appearance:none;border-radius:3px;width:150px;height:6px}.slider:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.slider::-webkit-slider-thumb{appearance:none;background:var(--accent);cursor:pointer;border-radius:50%;width:18px;height:18px}.slider::-moz-range-thumb{background:var(--accent);cursor:pointer;border:none;border-radius:50%;width:18px;height:18px}.btn-group{align-items:center;gap:.75rem;display:flex}.btn-group label{color:var(--muted);font-size:.875rem;font-weight:500}.kpi-sub{color:var(--muted);margin-top:.25rem;font-size:.75rem}.text-success{color:var(--ok)}.text-danger{color:var(--danger)}.skeleton-table{flex-direction:column;gap:1rem;padding:2rem;display:flex}.skeleton-row{background:linear-gradient(90deg, var(--chrome-bg) 25%, var(--foam) 50%, var(--chrome-bg) 75%);border-radius:var(--radius-md);background-size:200% 100%;height:60px;animation:1.5s ease-in-out infinite skeleton-pulse}@keyframes skeleton-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}@media (max-width:900px){.tornado-bar{grid-template-columns:1fr;gap:.5rem}.tornado-label{text-align:left}.tornado-track{height:24px}}
.tc-toolbar{gap:var(--gap-sm);flex-wrap:wrap;align-items:center;display:flex}.tc-toolbar select,.tc-toolbar input{height:var(--control-h);border:1px solid var(--border);border-radius:var(--radius-md);padding:0 var(--gap-md);background:var(--bg);color:var(--ink);font-size:var(--font-ui)}.tc-head{gap:var(--gap-md);margin-bottom:var(--gap-md);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;display:flex}.tc-head-title{align-items:center;gap:var(--gap-sm);flex-wrap:wrap;display:flex}.tc-head-title h1{margin:0;font-size:1.25rem}.tc-head-actions{gap:var(--gap-sm);flex-wrap:wrap;align-items:center;display:flex}.tc-kpis{gap:var(--gap-sm);margin-bottom:var(--gap-md);grid-template-columns:repeat(auto-fit,minmax(120px,1fr));display:grid}.tc-kpi{border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--gap-sm) var(--gap-md);background:var(--bg);min-width:0}.tc-kpi span{color:var(--muted);font-size:var(--font-label);white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.tc-kpi strong{font-variant-numeric:tabular-nums;color:var(--sea-deep);margin-top:2px;font-size:1.05rem;display:block}.tc-tab-body{gap:var(--gap-md);display:grid}.tc-split{gap:var(--gap-md);grid-template-columns:repeat(auto-fit,minmax(320px,1fr));align-items:start;display:grid}.tc-panel{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg);min-width:0}.tc-panel-head{gap:var(--gap-sm);padding:var(--gap-sm) var(--gap-md);border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}.tc-panel-head h3{margin:0;font-size:.95rem}.tc-panel-body{padding:var(--gap-sm) var(--gap-md) var(--gap-md)}.tc-panel-body .grid-wrapper{border:0}.tc-inline-form{gap:var(--gap-sm);margin-bottom:var(--gap-sm);grid-template-columns:repeat(auto-fit,minmax(130px,1fr));align-items:end;display:grid}.tc-inline-form label{gap:var(--gap-xs);font-size:var(--font-label);color:var(--muted);flex-direction:column;display:flex}.tc-inline-form input,.tc-inline-form select{height:var(--input-h);border:1px solid var(--border);border-radius:var(--radius-md);padding:0 var(--gap-md);background:var(--bg);color:var(--ink);font-size:var(--font-ui)}.tc-status-draft{color:var(--muted);background:#eef2f5}.tc-status-active{color:var(--sea-deep);background:#dff3f2}.tc-status-completed{color:#1e7a3c;background:#e6f4ea}.tc-status-cancelled{color:#b3261e;background:#fdecea}
.coa-toolbar{gap:var(--gap-sm);flex-wrap:wrap;align-items:center;display:flex}.coa-toolbar select,.coa-toolbar input{height:var(--control-h);border:1px solid var(--border);border-radius:var(--radius-md);padding:0 var(--gap-md);background:var(--bg);color:var(--ink);font-size:var(--font-ui)}.coa-head{gap:var(--gap-md);margin-bottom:var(--gap-md);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;display:flex}.coa-head-title{align-items:center;gap:var(--gap-sm);flex-wrap:wrap;display:flex}.coa-head-title h1{margin:0;font-size:1.25rem}.coa-head-actions{gap:var(--gap-sm);flex-wrap:wrap;align-items:center;display:flex}.coa-kpis{gap:var(--gap-sm);margin-bottom:var(--gap-md);grid-template-columns:repeat(auto-fit,minmax(130px,1fr));display:grid}.coa-kpi{border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--gap-sm) var(--gap-md);background:var(--bg);min-width:0}.coa-kpi span{color:var(--muted);font-size:var(--font-label);white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.coa-kpi strong{font-variant-numeric:tabular-nums;color:var(--sea-deep);margin-top:2px;font-size:1.05rem;display:block}.coa-kpi.coa-kpi-pos strong{color:#1e7a3c}.coa-kpi.coa-kpi-neg strong{color:#b3261e}.coa-tab-body{gap:var(--gap-md);display:grid}.coa-panel{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg);min-width:0}.coa-panel-head{gap:var(--gap-sm);padding:var(--gap-sm) var(--gap-md);border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}.coa-panel-head h3{margin:0;font-size:.95rem}.coa-panel-body{padding:var(--gap-sm) var(--gap-md) var(--gap-md)}.coa-panel-body .grid-wrapper{border:0}.coa-alloc-bar{border:1px solid var(--border);height:12px;margin:var(--gap-sm) 0;background:#eef2f5;border-radius:6px;display:flex;overflow:hidden}.coa-alloc-bar .alloc-done{background:var(--accent)}.coa-alloc-bar .alloc-open{background:#d7e0e6}.coa-pnl-table{border-collapse:collapse;width:100%;font-size:var(--font-table)}.coa-pnl-table th,.coa-pnl-table td{padding:var(--gap-xs) var(--gap-md);border-bottom:1px solid var(--border);text-align:left}.coa-pnl-table td.num{text-align:right;font-variant-numeric:tabular-nums}.coa-pnl-table tr.coa-pnl-total td{border-top:2px solid var(--border);font-weight:700}
.rates-toolbar{gap:var(--gap-sm);margin-bottom:var(--gap-md);flex-wrap:wrap;align-items:center;display:flex}.rates-toolbar .spacer{flex:auto}.rates-toolbar select{height:var(--control-h);padding:0 var(--gap-sm);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--ink);font-size:var(--font-ui)}.rates-layout{gap:var(--gap-md);grid-template-columns:minmax(230px,270px) minmax(0,1fr);align-items:start;display:grid}.rates-side-list{min-width:0;max-height:calc(100vh - 250px);padding:0;overflow-y:auto}.rates-side-item{text-align:left;border:0;border-bottom:1px solid var(--border);width:100%;padding:var(--gap-sm) var(--gap-md);cursor:pointer;font-size:var(--font-ui);color:var(--ink);background:0 0;border-left:3px solid #0000;display:block}.rates-side-item:hover{background:var(--row-hover)}.rates-side-item.active{background:var(--accent-bg);border-left-color:var(--accent)}.rates-side-item .rates-side-name{white-space:nowrap;text-overflow:ellipsis;font-weight:600;display:block;overflow:hidden}.rates-side-item .rates-side-meta{gap:var(--gap-sm);font-size:var(--font-label);color:var(--muted);align-items:center;margin-top:1px;display:flex}.rates-main{min-width:0}.rates-head{gap:var(--gap-sm);padding:var(--gap-sm) var(--gap-md);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-md) var(--radius-md) 0 0;border-bottom:0;flex-wrap:wrap;align-items:center;display:flex}.rates-head .rates-head-title{font-weight:700;font-size:var(--font-ui)}.rates-head .rates-head-meta{font-size:var(--font-label);color:var(--muted)}.rates-head .spacer{flex:auto}.rates-body{border:1px solid var(--border);border-radius:0 0 var(--radius-md) var(--radius-md);background:var(--bg);min-height:260px;overflow:hidden}.seg{border:1px solid var(--border);border-radius:var(--radius-md);display:inline-flex;overflow:hidden}.seg button{height:var(--control-h);padding:0 var(--gap-md);background:var(--bg);color:var(--muted);font-size:var(--font-ui);cursor:pointer;border:0}.seg button+button{border-left:1px solid var(--border)}.seg button:hover{background:var(--foam);color:var(--ink)}.seg button.active{background:var(--accent-bg-strong);color:var(--ink);font-weight:600}.rate-matrix-wrap{max-height:calc(100vh - 330px);overflow:auto}.rate-matrix{border-collapse:collapse;font-size:var(--font-table);min-width:100%}.rate-matrix th,.rate-matrix td{border:1px solid var(--border);padding:0 var(--gap-sm);height:var(--row-h);white-space:nowrap;font-variant-numeric:tabular-nums}.rate-matrix thead th{z-index:2;background:var(--foam);color:var(--muted);font-size:var(--font-label);text-transform:uppercase;letter-spacing:.03em;font-weight:600;position:sticky;top:0}.rate-matrix th.matrix-corner{z-index:3;text-align:left;left:0}.rate-matrix th.matrix-row-head{z-index:1;background:var(--foam);text-align:left;font-weight:600;position:sticky;left:0}.rate-matrix td{text-align:right;background:var(--bg)}.rate-matrix td.matrix-empty{background:repeating-linear-gradient(45deg,#0000,#0000 4px,#00000005 4px 8px)}.rate-matrix td input{width:100%;min-width:64px;height:calc(var(--row-h) - 2px);color:var(--ink);text-align:right;font-size:var(--font-table);font-variant-numeric:tabular-nums;padding:0 var(--gap-xs);background:0 0;border:1px solid #0000;border-radius:0}.rate-matrix td input:hover{border-color:var(--border);background:var(--bg)}.rate-matrix td input:focus{border-color:var(--accent);background:var(--bg)}.rate-matrix .matrix-total{background:var(--foam);color:var(--muted);font-weight:600}.dim-editor{gap:var(--gap-xs);display:grid}.dim-editor-row{grid-template-columns:minmax(90px, 1fr) minmax(90px, 1fr) var(--control-h);gap:var(--gap-sm);align-items:center;display:grid}.dim-editor-row input{height:var(--input-h);padding:0 var(--gap-sm);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--ink);font-size:var(--font-ui)}.icon-btn-sm{width:var(--control-h);height:var(--control-h);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--muted);cursor:pointer;font-size:var(--font-ui);background:0 0;line-height:1}.icon-btn-sm:hover{background:var(--foam);color:var(--danger)}.rates-templates{margin-top:var(--gap-lg)}.rates-templates h3{margin:0 0 var(--gap-sm);font-size:1rem}.tpl-ref-row{grid-template-columns:minmax(100px, 140px) minmax(0, 1fr) var(--control-h);gap:var(--gap-sm);align-items:center;display:grid}.tpl-ref-row select{height:var(--input-h);padding:0 var(--gap-sm);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--ink);font-size:var(--font-ui)}
.trading-toolbar{gap:var(--gap-sm);margin-bottom:var(--gap-md);flex-wrap:wrap;align-items:center;display:flex}.trading-toolbar .spacer{flex:auto}.trading-toolbar .field-inline{align-items:center;gap:var(--gap-xs);font-size:var(--font-label);color:var(--muted);display:inline-flex}.trading-toolbar .field-inline input,.trading-toolbar .field-inline select{height:var(--control-h);padding:0 var(--gap-sm);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--ink);font-size:var(--font-ui)}.trading-tabs{gap:var(--gap-sm);margin-bottom:var(--gap-md);flex-wrap:wrap;display:flex}.trading-tab{height:28px;padding:0 var(--gap-md);color:var(--muted);font-size:var(--font-ui);cursor:pointer;white-space:nowrap;border-radius:var(--radius-sm) var(--radius-sm) 0 0;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;font-weight:600}.trading-tab:hover{color:var(--ink);background:var(--foam)}.trading-tab.active{color:var(--accent-text);border-bottom-color:var(--accent);font-weight:600}.trading-grid-wrap{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg);overflow:hidden}.trading-grid-wrap .grid-scroll{max-height:calc(100vh - 300px)}.mtm-tiles{gap:var(--gap-md);margin-bottom:var(--gap-md);flex-wrap:wrap;display:flex}.mtm-tile{min-width:150px;padding:var(--gap-sm) var(--gap-md);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg)}.mtm-tile span{font-size:var(--font-label);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;display:block}.mtm-tile strong{font-variant-numeric:tabular-nums;font-size:1.15rem}.mtm-tile.pos strong{color:var(--ok)}.mtm-tile.neg strong{color:var(--danger)}.exposure-alert{gap:var(--gap-sm);padding:var(--gap-sm) var(--gap-md);margin-bottom:var(--gap-md);border-radius:var(--radius-md);color:var(--danger);font-size:var(--font-ui);background:#fde8e6;border:1px solid #c0392b59;flex-wrap:wrap;align-items:center;font-weight:600;display:flex}.exposure-alert .spacer{flex:auto}.pnl-pos{color:var(--ok)}.pnl-neg{color:var(--danger)}.num-cell{text-align:right;font-variant-numeric:tabular-nums}
.rb-toolbar{gap:var(--gap-sm);margin-bottom:var(--gap-md);flex-wrap:wrap;align-items:center;display:flex}.rb-toolbar input[type=text]{height:var(--control-h);border:1px solid var(--border);border-radius:var(--radius-md);padding:0 var(--gap-md);background:var(--bg);color:var(--ink);font-size:var(--font-ui);min-width:12rem}.rb-layout{gap:var(--gap-md);grid-template-columns:minmax(220px,260px) minmax(320px,1fr) minmax(320px,1fr);align-items:start;display:grid}@media (max-width:1200px){.rb-layout{grid-template-columns:1fr 1fr}.rb-preview{grid-column:1/-1}}@media (max-width:800px){.rb-layout{grid-template-columns:1fr}}.rb-panel{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg);flex-direction:column;min-width:0;max-height:calc(100vh - 210px);display:flex}.rb-panel-head{justify-content:space-between;align-items:center;gap:var(--gap-sm);padding:var(--gap-sm) var(--gap-md);border-bottom:1px solid var(--border);display:flex}.rb-panel-head h3{margin:0;font-size:.95rem}.rb-panel-body{padding:var(--gap-sm) var(--gap-md) var(--gap-md);min-height:0;overflow:auto}.rb-ds-item{border-bottom:1px solid var(--border);padding:var(--gap-xs) 0}.rb-ds-head{justify-content:space-between;align-items:center;gap:var(--gap-sm);width:100%;padding:var(--gap-xs) 0;display:flex}.rb-ds-toggle{min-width:0;color:var(--ink);cursor:pointer;font-weight:600;font-size:var(--font-ui);text-align:left;background:0 0;border:0;flex:1;padding:0}.rb-ds-toggle:hover{color:var(--accent-text)}.rb-ds-desc{color:var(--muted);font-size:var(--font-label);margin:0 0 var(--gap-xs)}.rb-field-list{padding:0 0 var(--gap-xs);margin:0;list-style:none}.rb-field-list li button{justify-content:space-between;align-items:center;gap:var(--gap-sm);width:100%;color:var(--ink);cursor:pointer;font-size:var(--font-table);text-align:left;background:0 0;border:0;padding:2px 0;display:flex}.rb-field-list li button:hover{color:var(--accent-text)}.rb-field-list li button.selected{color:var(--accent-text);font-weight:600}.rb-field-type{color:var(--muted);font-size:11px}.rb-block{margin-bottom:var(--gap-md)}.rb-block h4{margin:0 0 var(--gap-xs);font-size:var(--font-label);color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.rb-chips{gap:var(--gap-xs);flex-wrap:wrap;display:flex}.rb-chip{align-items:center;gap:var(--gap-xs);border:1px solid var(--border);padding:2px var(--gap-sm);font-size:var(--font-table);background:#f7fafb;border-radius:999px;display:inline-flex}.rb-chip button{cursor:pointer;color:var(--muted);background:0 0;border:0;padding:0;font-size:12px;line-height:1}.rb-chip button:hover{color:#b3261e}.rb-row-grid{gap:var(--gap-xs);grid-template-columns:repeat(auto-fit,minmax(110px,1fr));align-items:center;display:grid}.rb-row-grid+.rb-row-grid{margin-top:var(--gap-xs)}.rb-row-grid select,.rb-row-grid input{height:var(--control-h);border:1px solid var(--border);border-radius:var(--radius-md);width:100%;min-width:0;padding:0 var(--gap-sm);background:var(--bg);color:var(--ink);font-size:var(--font-table)}.rb-row-del{border:1px solid var(--border);color:var(--muted);border-radius:var(--radius-md);height:var(--control-h);cursor:pointer;font-size:var(--font-table);background:0 0}.rb-row-del:hover{color:#b3261e;border-color:#b3261e}.rb-field-row{gap:var(--gap-sm);font-size:var(--font-table);grid-template-columns:18px minmax(0,1fr) 96px;align-items:center;padding:2px 0;display:grid}.rb-field-row input[type=checkbox]{margin:0}.rb-field-row select{height:var(--control-h);border:1px solid var(--border);border-radius:var(--radius-md);padding:0 var(--gap-xs);background:var(--bg);color:var(--ink);font-size:var(--font-table)}.rb-field-row label{display:contents}.rb-group-list{gap:var(--gap-sm);font-size:var(--font-table);flex-wrap:wrap;display:flex}.rb-group-list label{align-items:center;gap:4px;display:inline-flex}.rb-preview .grid-wrapper{border:0}.rb-preview-meta{color:var(--muted);font-size:var(--font-label)}.rb-join-line{align-items:center;gap:var(--gap-xs);color:var(--muted);font-size:var(--font-table);margin:var(--gap-xs) 0;display:flex}.rb-join-line:before,.rb-join-line:after{content:"";background:var(--border);flex:1;height:1px}
.rg-wrap{gap:var(--gap-lg);flex-direction:column;display:flex}.rg-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--gap-md)}.rg-section-head{justify-content:space-between;align-items:center;gap:var(--gap-md);margin-bottom:var(--gap-sm);flex-wrap:wrap;display:flex}.rg-section-head h2{font-size:var(--font-ui);margin:0;font-weight:600}.rg-section-head .sub{color:var(--muted);font-size:var(--font-label)}.rg-cat{margin-top:var(--gap-md)}.rg-cat:first-of-type{margin-top:var(--gap-sm)}.rg-cat-head{margin-bottom:var(--gap-sm);color:var(--sea-deep);font-size:var(--font-label);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:6px;font-weight:700;display:flex}.rg-cat-head .count{color:var(--muted);letter-spacing:0;text-transform:none;font-weight:500}.rg-grid{gap:var(--gap-md);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}@media (max-width:1200px){.rg-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.rg-grid{grid-template-columns:minmax(0,1fr)}}.rg-card{gap:var(--gap-sm);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--gap-sm) var(--gap-md);background:var(--surface);flex-direction:column;min-height:108px;display:flex}.rg-card:hover{border-color:color-mix(in srgb, var(--accent) 55%, var(--border));box-shadow:0 1px 4px #0b1f2a12}.rg-card-top{align-items:flex-start;gap:var(--gap-sm);display:flex}.rg-card-icon{border-radius:var(--radius-sm);background:var(--foam);width:26px;height:26px;color:var(--accent-text);border:1px solid var(--border);flex:none;justify-content:center;align-items:center;display:inline-flex}.rg-card-name{font-size:var(--font-ui);color:var(--ink);margin:0;font-weight:600;line-height:1.3}.rg-card-tag{background:color-mix(in srgb, var(--accent) 12%, var(--surface));height:15px;color:var(--accent-text);border:1px solid color-mix(in srgb, var(--accent) 35%, var(--border));vertical-align:1px;border-radius:7px;margin-left:6px;padding:0 5px;font-size:10px;font-weight:600;line-height:15px;display:inline-block}.rg-card-desc{color:var(--muted);font-size:var(--font-label);-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:auto;margin:0;line-height:1.45;display:-webkit-box;overflow:hidden}.rg-card-actions{align-items:center;gap:var(--gap-sm);margin-top:auto;display:flex}.rg-card-actions .btn{height:22px;font-size:var(--font-label);padding:0 10px}.rg-filter{gap:var(--gap-xs);flex-wrap:wrap;display:flex}.rg-filter button{border:1px solid var(--border);background:var(--surface);height:22px;color:var(--muted);font-size:var(--font-label);cursor:pointer;border-radius:11px;padding:0 10px}.rg-filter button:hover{color:var(--ink);border-color:var(--accent)}.rg-filter button.active{background:var(--accent);border-color:var(--accent);color:#fff}.rg-result{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);padding:var(--gap-md)}.rg-result-head{justify-content:space-between;align-items:center;gap:var(--gap-md);margin-bottom:var(--gap-sm);flex-wrap:wrap;display:flex}.rg-result-head h3{font-size:var(--font-ui);margin:0;font-weight:600}.rg-result-head .meta{color:var(--muted);font-size:var(--font-label);margin-left:8px;font-weight:400}.rg-toolbar{align-items:center;gap:var(--gap-sm);margin-bottom:var(--gap-sm);flex-wrap:wrap;display:flex}.rg-toolbar .spacer{flex:auto}.rg-empty{padding:var(--gap-lg);text-align:center;color:var(--muted);font-size:var(--font-ui)}.rg-pill{height:18px;font-size:var(--font-label);border:1px solid var(--border);background:var(--foam);color:var(--muted);white-space:nowrap;border-radius:9px;align-items:center;gap:4px;padding:0 7px;display:inline-flex}.rg-pill.on{border-color:color-mix(in srgb, var(--ok) 45%, var(--border));color:var(--ok);background:color-mix(in srgb, var(--ok) 8%, var(--surface))}.rg-pill.off{border-color:color-mix(in srgb, var(--muted) 45%, var(--border));color:var(--muted)}.rg-actions{gap:var(--gap-xs);align-items:center;display:inline-flex}.rg-actions button{height:20px;font-size:var(--font-label);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);cursor:pointer;white-space:nowrap;padding:0 8px}.rg-actions button:hover{border-color:var(--accent);color:var(--accent-text)}.rg-actions button.danger:hover{border-color:var(--danger);color:var(--danger)}
.ai-shell{gap:var(--gap-md);flex-direction:column;display:flex}.ai-tabs{border-bottom:1px solid var(--border);background:var(--surface);border-radius:var(--radius-md) var(--radius-md) 0 0;align-items:stretch;gap:2px;padding:0 .5rem;display:flex}.ai-tab{height:28px;color:var(--muted);font-size:var(--font-ui);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:0 12px;font-weight:500}.ai-tab:hover{color:var(--ink);background:var(--foam)}.ai-tab.active{color:var(--accent-text);border-bottom-color:var(--accent);font-weight:600}.ai-tab:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.ai-toolbar{align-items:center;gap:var(--gap-sm);min-height:var(--control-h);flex-wrap:wrap;display:flex}.ai-toolbar .spacer{flex:auto}.ai-toolbar .hint{color:var(--muted);font-size:var(--font-label)}.ai-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--gap-md)}.ai-panel-head{justify-content:space-between;align-items:center;gap:var(--gap-md);margin-bottom:var(--gap-sm);display:flex}.ai-panel-head h3{font-size:var(--font-ui);margin:0;font-weight:600}.ai-panel-head .sub{color:var(--muted);font-size:var(--font-label)}.ai-split{gap:var(--gap-lg);grid-template-columns:minmax(0,1fr) 320px;align-items:start;display:grid}@media (max-width:1100px){.ai-split{grid-template-columns:minmax(0,1fr)}}.ai-test-result{border:1px solid var(--border);border-left:3px solid var(--ok);background:var(--foam);border-radius:var(--radius-sm);padding:var(--gap-sm) var(--gap-md);font-size:var(--font-table);margin-bottom:var(--gap-md)}.ai-test-result.fail{border-left-color:var(--danger)}.ai-test-result .row{gap:var(--gap-lg);flex-wrap:wrap;align-items:baseline;display:flex}.ai-test-result .label{color:var(--muted);font-size:var(--font-label)}.ai-test-result .value{font-variant-numeric:tabular-nums;font-weight:600}.ai-test-result .models{margin-top:var(--gap-xs);gap:var(--gap-xs);flex-wrap:wrap;display:flex}.ai-model-chips{gap:var(--gap-xs);flex-wrap:wrap;display:flex}.ai-chip{border:1px solid var(--border);background:var(--foam);height:20px;color:var(--ink);font-size:var(--font-label);cursor:pointer;border-radius:10px;align-items:center;padding:0 8px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;display:inline-flex}.ai-chip:hover{border-color:var(--accent);color:var(--accent-text)}.ai-chip.selected{background:var(--accent);border-color:var(--accent);color:#fff}.ai-kpi-row{gap:var(--gap-md);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}@media (max-width:900px){.ai-kpi-row{grid-template-columns:repeat(2,minmax(0,1fr))}}.ai-kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--gap-sm) var(--gap-md)}.ai-kpi span{color:var(--muted);font-size:var(--font-label);display:block}.ai-kpi strong{font-variant-numeric:tabular-nums;color:var(--sea-deep);margin-top:2px;font-size:1.15rem;display:block}.ai-form-grid{gap:var(--gap-sm) var(--gap-md);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.ai-agent-bar{align-items:center;gap:var(--gap-sm);margin-bottom:var(--gap-sm);flex-wrap:wrap;display:flex}.ai-agent-bar label{font-size:var(--font-label);color:var(--muted)}.ai-pill{height:18px;font-size:var(--font-label);border:1px solid var(--border);background:var(--foam);color:var(--muted);white-space:nowrap;border-radius:9px;align-items:center;gap:4px;padding:0 7px;display:inline-flex}.ai-pill.on{border-color:color-mix(in srgb, var(--ok) 45%, var(--border));color:var(--ok);background:color-mix(in srgb, var(--ok) 8%, var(--surface))}.ai-pill.off{border-color:color-mix(in srgb, var(--muted) 45%, var(--border));color:var(--muted)}.ai-provider-name{align-items:center;gap:6px;display:inline-flex}.ai-provider-name .dot{background:var(--muted);border-radius:50%;flex:none;width:7px;height:7px}.ai-provider-name .dot.active{background:var(--ok)}.ai-provider-name .dot.error{background:var(--danger)}.ai-provider-name .dot.testing{background:var(--warn)}.ai-actions{gap:var(--gap-xs);align-items:center;display:inline-flex}.ai-actions button{height:18px;padding:0 var(--gap-sm);border:1px solid var(--chrome-border);border-radius:var(--radius-sm);background:var(--btn-bg);color:var(--ink);cursor:pointer;white-space:nowrap;align-items:center;font-size:9.5px;font-weight:600;display:inline-flex}.ai-actions button:hover{border-color:var(--accent);background:var(--btn-hover)}.ai-actions button.danger:hover{border-color:var(--danger);color:var(--danger)}.ai-panel input[type=password],.record-modal input[type=password]{height:var(--input-h)}
.statusbar-ai{color:var(--muted);font:inherit;font-size:var(--font-label);cursor:pointer;white-space:nowrap;background:0 0;border:0;margin-left:auto;padding:0 4px}.statusbar-ai:hover{color:var(--accent-text);text-decoration:underline}.statusbar-ai[aria-expanded=true]{color:var(--accent-text);font-weight:600}.ai-dock{right:12px;bottom:calc(var(--statusbar) + 8px);z-index:86;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);width:min(392px,100vw - 24px);max-height:min(70vh,620px);box-shadow:var(--shadow-md);flex-direction:column;display:flex;position:fixed;overflow:hidden}.ai-dock-head{align-items:center;gap:var(--gap-sm);padding:var(--gap-xs) var(--gap-sm);background:var(--panel-header-bg);border-bottom:1px solid var(--border-light);display:flex}.ai-dock-title{font-weight:700;font-size:var(--font-ui)}.ai-dock-meta{color:var(--muted);font-size:var(--font-label);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.ai-dock-ctx{padding:4px var(--gap-sm);border-bottom:1px solid var(--border-light);color:var(--muted);font-size:var(--font-label);background:var(--chrome-bg)}.ai-dock-list{min-height:120px;padding:var(--gap-sm);gap:var(--gap-xs);flex-direction:column;flex:1;display:flex;overflow-y:auto}.ai-dock-empty{color:var(--muted);font-size:var(--font-label);margin:0;line-height:1.5}.ai-msg{border-radius:var(--radius-sm);max-width:92%;font-size:var(--font-label);white-space:pre-wrap;word-break:break-word;padding:5px 8px;line-height:1.5}.ai-msg-user{background:var(--accent-bg);border:1px solid var(--border-light);align-self:flex-end}.ai-msg-assistant{background:var(--chrome-bg);border:1px solid var(--border-light);align-self:flex-start}.ai-msg-busy{color:var(--muted)}.ai-msg-src{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-top:2px;font-size:9px}.ai-dock-actions{gap:var(--gap-xs);padding:var(--gap-xs) var(--gap-sm);border-top:1px solid var(--border-light);flex-wrap:wrap;display:flex}.ai-dock-form{gap:var(--gap-xs);padding:var(--gap-xs) var(--gap-sm) var(--gap-sm);border-top:1px solid var(--border-light);display:flex}.ai-dock-form input{min-width:0;height:var(--input-h);border:1px solid var(--input-border);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font-size:var(--font-label);flex:1;padding:0 6px}.ai-dock-form input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--focus-ring)}.ai-dock-billing{padding:3px var(--gap-sm) var(--gap-xs);color:var(--muted);font-size:var(--font-label);border-top:1px solid var(--border-light)}.ai-fill{align-items:center;display:inline-flex;position:relative}.ai-fill-btn{white-space:nowrap}.ai-fill-error{margin-left:var(--gap-xs);color:var(--danger);font-size:var(--font-label)}.ai-fill-pop{z-index:95;width:min(340px,80vw);padding:var(--gap-xs) var(--gap-sm);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);flex-direction:column;gap:4px;display:flex;position:absolute;top:calc(100% + 4px);left:0}.ai-fill-pop-head{font-weight:700;font-size:var(--font-label);color:var(--ink);justify-content:space-between;align-items:center;display:flex}.ai-fill-src{color:var(--muted);text-transform:uppercase;font-size:9px;font-weight:400}.ai-fill-rows{flex-direction:column;gap:2px;max-height:220px;display:flex;overflow-y:auto}.ai-fill-row{gap:var(--gap-xs);font-size:var(--font-label);align-items:baseline;display:flex}.ai-fill-key{min-width:78px;color:var(--muted);font-family:var(--font-mono,monospace);flex-shrink:0}.ai-fill-val{color:var(--ink);word-break:break-word}.ai-fill-narrative{color:var(--ink);font-size:var(--font-label);white-space:pre-wrap;line-height:1.5}.ai-fill-actions{gap:var(--gap-xs);margin-top:2px;display:flex}.ai-extract-list{margin:var(--gap-xs) 0;border:1px solid var(--border-light);border-radius:var(--radius-sm);max-height:320px;padding:0;padding:var(--gap-xs);flex-direction:column;gap:3px;list-style:none;display:flex;overflow-y:auto}.ai-extract-row{align-items:center;gap:var(--gap-xs);font-size:var(--font-label);display:flex}.ai-extract-row.info-only{opacity:.62}.ai-extract-ref{text-align:center;width:14px;color:var(--muted)}.ai-extract-key{min-width:110px;color:var(--muted);flex-shrink:0}.ai-extract-val{min-width:0;height:var(--input-h,28px);border:1px solid var(--input-border,var(--border));border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font-size:var(--font-label);flex:1;padding:0 6px}.ai-extract-val:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--focus-ring)}.ai-extract-val:disabled{background:var(--chrome-bg)}.ai-extract-json{border:1px solid var(--input-border,var(--border));border-radius:var(--radius-sm);background:var(--chrome-bg);min-width:0;max-height:120px;color:var(--ink);font-family:var(--font-mono,ui-monospace, monospace);font-size:var(--font-label);white-space:pre-wrap;word-break:break-word;flex:1;margin:0;padding:4px 6px;overflow-y:auto}.ai-rec{align-items:center;gap:var(--gap-xs);border:1px solid var(--accent);background:var(--accent-bg);font-size:var(--font-label);border-radius:999px;padding:2px 8px;display:inline-flex}.ai-rec-conf{color:var(--muted)}.ai-notice{align-items:baseline;gap:var(--gap-xs);margin-bottom:var(--gap-sm);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--radius-sm);background:var(--chrome-bg);color:var(--ink);font-size:var(--font-label);flex-wrap:wrap;padding:6px 10px;line-height:1.5;display:flex}.ai-notice strong{font-weight:700}.ai-notice-warn{border-left-color:var(--warn);background:#fff8ec}.ai-dock-fallback-note{padding:4px var(--gap-sm);border-bottom:1px solid var(--border-light);color:var(--muted);font-size:var(--font-label);background:#fff8ec;line-height:1.5}.ai-fill-note{color:var(--muted);font-size:var(--font-label);margin-top:2px;font-weight:400;line-height:1.4;display:block}.ai-rec-note{color:var(--muted);font-size:var(--font-label);margin:4px 0 0}.ai-chat{flex-direction:column;display:flex}.ai-chat-side{gap:var(--gap-sm);flex-direction:column;min-width:0;display:flex}.ai-chat-side .panel{margin-bottom:0}.ai-chat-list{flex-direction:column;gap:2px;max-height:220px;display:flex;overflow-y:auto}.ai-chat-hist{max-height:260px;margin-top:var(--gap-xs)}.ai-chat-hist-meta{color:var(--muted);font-size:10px}.ai-chat-pick{text-align:left;border-radius:var(--radius-sm);width:100%;color:var(--ink);font-size:var(--font-label);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:1px solid #0000;padding:4px 8px;display:block;overflow:hidden}.ai-chat-pick:hover{background:var(--foam)}.ai-chat-pick.active{background:var(--accent-bg);border-color:var(--accent);color:var(--accent-text);font-weight:600}.ai-chat-main{flex-direction:column;min-width:0;min-height:480px;margin-bottom:0;display:flex}.ai-chat-agent-head{flex-direction:column;gap:2px;min-width:0;display:flex}.ai-chat-agent-desc{color:var(--muted);text-transform:none;letter-spacing:0;font-size:11.5px;font-weight:400}.ai-chat-tools{padding:var(--gap-xs) var(--gap-md);border-bottom:1px solid var(--border-light)}.ai-chat-body{gap:var(--gap-xs);min-height:300px;max-height:58vh;padding:var(--gap-sm) var(--gap-md);flex-direction:column;flex:1;display:flex;overflow-y:auto}.ai-chat-empty{text-align:center;margin:auto}.ai-chat-line{max-width:100%;display:flex}.ai-chat-line.right{justify-content:flex-end}.ai-chat-line.left{justify-content:flex-start}.ai-chat-bubble{border:1px solid var(--border-light);border-radius:var(--radius-sm);max-width:85%;font-size:var(--font-ui);padding:6px 10px;line-height:1.5}.ai-chat-bubble.user{background:var(--accent-bg)}.ai-chat-bubble.assistant{background:var(--chrome-bg)}.ai-chat-bubble.tool{background:#fff8ec}.ai-chat-text{white-space:pre-wrap;word-break:break-word;margin:0;font-family:inherit}.ai-chat-tools-details{opacity:.75;margin-top:4px;font-size:10px}.ai-chat-tools-details pre{max-height:180px;margin:4px 0 0;font-size:10px;overflow:auto}.ai-chat-form{gap:var(--gap-xs);padding:var(--gap-xs) var(--gap-sm);border-top:1px solid var(--border-light);display:flex}.ai-chat-form input{flex:1;min-width:0}.ai-chat-form .btn{flex-shrink:0}
.tpl-layout{gap:var(--gap-sm);grid-template-columns:190px minmax(320px,1fr) minmax(360px,1.1fr);align-items:start;min-height:0;display:grid}.tpl-types{border:1px solid var(--chrome-border);border-radius:var(--radius-sm);background:var(--surface);position:sticky;top:0;overflow:hidden}.tpl-types-head{padding:4px var(--cell-pad-x);font-size:var(--font-label);text-transform:uppercase;letter-spacing:.03em;color:var(--muted);background:var(--panel-header-bg);border-bottom:1px solid var(--border-light);align-items:center;height:22px;font-weight:700;display:flex}.tpl-type{justify-content:space-between;align-items:center;gap:var(--gap-xs);text-align:left;width:100%;padding:3px var(--cell-pad-x);border:none;border-bottom:1px solid var(--border-light);cursor:pointer;font-size:var(--font-table);color:var(--ink);min-height:var(--row-h);background:0 0;display:flex}.tpl-type:last-child{border-bottom:none}.tpl-type:hover{background:var(--row-hover)}.tpl-type.active{background:var(--row-selected);font-weight:600}.tpl-type-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tpl-dot{background:var(--accent);border-radius:50%;flex:none;width:6px;height:6px}.tpl-editor{border:1px solid var(--chrome-border);border-radius:var(--radius-sm);background:var(--surface);flex-direction:column;min-width:0;display:flex}.tpl-code{resize:vertical;width:100%;min-height:340px;padding:var(--gap-xs) var(--cell-pad-x);font-family:var(--font-mono,ui-monospace, "Cascadia Mono", Consolas, monospace);background:var(--surface);color:var(--ink);tab-size:2;white-space:pre;overflow-wrap:normal;border:none;font-size:12px;line-height:1.5;overflow-x:auto}.tpl-editor-foot{align-items:center;gap:var(--gap-sm);padding:3px var(--cell-pad-x);border-top:1px solid var(--border-light);font-size:var(--font-label);color:var(--muted);min-height:22px;display:flex}.tpl-editor-foot .spacer{flex:1}.tpl-side{gap:var(--gap-sm);flex-direction:column;min-width:0;display:flex;position:sticky;top:0}.tpl-preview{border:1px solid var(--chrome-border);border-radius:var(--radius-sm);background:var(--surface);overflow:hidden}.tpl-preview-head{align-items:center;gap:var(--gap-sm);padding:3px var(--cell-pad-x);background:var(--panel-header-bg);border-bottom:1px solid var(--border-light);font-size:var(--font-label);text-transform:uppercase;letter-spacing:.03em;color:var(--muted);min-height:22px;font-weight:700;display:flex}.tpl-preview-head .spacer{flex:1}.tpl-frame{background:#fff;border:none;width:100%;height:62vh;min-height:420px;display:block}.tpl-empty{padding:var(--gap-lg);text-align:center;color:var(--muted);font-size:var(--font-ui)}.tpl-vars{border:1px solid var(--chrome-border);border-radius:var(--radius-sm);background:var(--surface);overflow:hidden}.tpl-vars-head{padding:3px var(--cell-pad-x);background:var(--panel-header-bg);border-bottom:1px solid var(--border-light);font-size:var(--font-label);text-transform:uppercase;letter-spacing:.03em;color:var(--muted);align-items:center;gap:var(--gap-xs);min-height:22px;font-weight:700;display:flex}.tpl-vars-body{max-height:220px;font-size:var(--font-label);overflow:auto}.tpl-var{gap:var(--gap-sm);padding:2px var(--cell-pad-x);border-bottom:1px solid var(--border-light);cursor:pointer;align-items:baseline;display:flex}.tpl-var:last-child{border-bottom:none}.tpl-var:hover{background:var(--accent-bg)}.tpl-var-name{font-family:var(--font-mono,ui-monospace, Consolas, monospace);color:var(--accent-text);text-overflow:ellipsis;white-space:nowrap;flex:none;max-width:60%;overflow:hidden}.tpl-var-desc{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tpl-note{font-size:var(--font-label);color:var(--muted);line-height:1.5}.tpl-note code{font-family:var(--font-mono,ui-monospace, Consolas, monospace);background:var(--toolbar-bg);border-radius:2px;padding:0 3px}@media (max-width:1280px){.tpl-layout{grid-template-columns:1fr}.tpl-types,.tpl-side{position:static}.tpl-types-body{flex-wrap:wrap;display:flex}.tpl-type{border-bottom:none;width:auto}}
.content:has(>.ws-shell){background:var(--foam);flex-direction:column;padding:0;display:flex;overflow:hidden}.ws-shell{flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden}.ws-header{background:var(--surface);border-bottom:1px solid var(--border);flex:none;padding:.5rem .85rem .45rem}.ws-header>.page-header{margin-bottom:0;padding:0}.ws-header-top{justify-content:space-between;align-items:flex-start;gap:var(--gap-md);flex-wrap:wrap;display:flex}.ws-title{flex-wrap:wrap;align-items:center;gap:.55rem;margin:0;font-size:1.12rem;line-height:1.25;display:flex}.ws-sub{margin:var(--gap-xs) 0 0;color:var(--muted);font-size:var(--font-ui);max-width:60rem}.ws-actions{align-items:center;gap:var(--gap-sm);flex-wrap:wrap;display:flex}.ws-status{align-items:center;gap:.3rem;display:inline-flex}.ws-crumb{font-size:var(--font-label);margin:0 0 .25rem}.ws-crumb a{color:var(--muted)}.ws-crumb a:hover{color:var(--accent-text)}.ws-body{gap:var(--gap-md);flex-direction:column;flex:auto;min-height:0;padding:.65rem .85rem .95rem;display:flex;overflow:auto}.ws-main{gap:var(--gap-md);flex-direction:column;flex:auto;min-width:0;min-height:0;display:flex}.ws-shell.has-sidebar .ws-body{flex-direction:row;overflow:hidden}.ws-shell.has-sidebar .ws-main{overflow:auto}.ws-sidebar{border-left:1px solid #0000;flex:none;width:0;transition:width .12s;overflow:hidden}.ws-shell.sidebar-open .ws-sidebar{border-left-color:var(--border-light);width:250px;overflow-y:auto}.ws-sidebar-head{padding:0 0 var(--gap-xs);justify-content:flex-end;display:flex}.ws-sidebar-body{gap:var(--gap-sm);flex-direction:column;width:244px;display:flex}.ws-grid-2{align-items:stretch;gap:var(--gap-md);grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr);display:grid}@media (max-width:1100px){.ws-grid-2{grid-template-columns:1fr}}.ws-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;min-width:0;display:flex}.ws-panel-head{align-items:center;gap:var(--gap-sm);min-height:var(--control-h);padding:var(--gap-xs) var(--gap-md);border-bottom:1px solid var(--border);background:linear-gradient(180deg, #f8fbfc, var(--surface));border-radius:var(--radius-md) var(--radius-md) 0 0;flex:none;display:flex}.ws-panel-title{font-size:var(--font-ui);color:var(--sea-deep);white-space:nowrap;text-overflow:ellipsis;margin:0;font-weight:700;overflow:hidden}.ws-panel-actions{align-items:center;gap:var(--gap-sm);margin-left:auto;display:flex}.ws-panel-toggle{width:18px;height:18px;color:var(--muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.ws-panel-toggle:hover{background:var(--accent-bg);color:var(--accent-text)}.ws-panel-toggle svg{transition:transform .12s}.ws-panel.collapsed .ws-panel-toggle svg{transform:rotate(-90deg)}.ws-panel-body{padding:var(--gap-md);min-width:0}.ws-panel.collapsed .ws-panel-body{display:none}.ws-panel-body.ws-panel-flush{padding:0}.ws-tabs{border-bottom:1px solid var(--border);background:var(--surface);flex-wrap:wrap;align-items:center;gap:2px;padding:0 .35rem;display:flex}.ws-tab{appearance:none;height:28px;font-size:var(--font-ui);color:var(--muted);cursor:pointer;border-radius:var(--radius-sm) var(--radius-sm) 0 0;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;padding:0 .75rem;font-weight:600}.ws-tab:hover{color:var(--ink);background:var(--accent-bg)}.ws-tab.active{color:var(--sea-deep);border-bottom-color:var(--accent);background:var(--accent-bg-strong)}.ws-tab:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.ws-tab-body{min-width:0;padding:.65rem 0 0}.ws-main>.ws-tabs-wrap{flex-direction:column;flex:1 0 auto;min-height:0;display:flex}.ws-tabs-wrap .ui-tabs{flex:1 0 auto;margin-bottom:0}.ws-tabs-wrap .ws-tab-body{flex-direction:column;flex:1 0 auto;display:flex}.ws-tabs-wrap .ws-tab-body>*{flex:1 0 auto;min-width:0}.ws-tab-col{gap:var(--gap-md);flex-direction:column;display:flex}.ws-tab-col>.ws-panel:last-child{flex:1 0 auto;min-height:0}.ws-tabs-wrap .ui-tabs-bar{background:var(--surface);gap:2px;padding:0 .35rem}.ws-tabs-wrap .ui-tabs-list{gap:2px}.ws-tabs-wrap .ui-tab{height:28px;font-size:var(--font-ui);padding:0 .75rem}.ws-tabs-wrap .ui-tab:hover:not(:disabled){background:var(--accent-bg)}.ws-tabs-wrap .ui-tab.active{color:var(--sea-deep);background:var(--accent-bg-strong)}.ws-tab-badge{font-variant-numeric:tabular-nums;background:var(--row-selected);min-width:16px;height:16px;color:var(--sea-mid);vertical-align:1px;border-radius:999px;justify-content:center;align-items:center;margin-left:.4rem;padding:0 .32rem;font-size:10.5px;font-weight:700;line-height:1;display:inline-flex}.ws-tab-badge.unread{background:var(--danger,#d64545);color:#fff;box-shadow:0 0 0 2px var(--surface)}.ws-tab.active .ws-tab-badge:not(.unread){background:color-mix(in srgb, var(--accent) 22%, transparent);color:var(--sea-deep)}.ws-kv-grid{gap:var(--gap-md) var(--gap-lg);grid-template-columns:repeat(auto-fill,minmax(150px,1fr));display:grid}.ws-kv{min-width:0}.ws-kv span{color:var(--muted);font-size:var(--font-label);text-transform:uppercase;letter-spacing:.02em;display:block}.ws-kv strong{font-size:var(--font-ui);text-overflow:ellipsis;white-space:nowrap;margin-top:1px;font-weight:600;display:block;overflow:hidden}.ws-timeline{padding:.35rem 0 .15rem;overflow:auto hidden}.ws-timeline-track{min-width:100%;height:132px;position:relative}.ws-timeline-axis{background:linear-gradient(90deg, var(--sea-mid), var(--accent));border-radius:2px;height:3px;position:absolute;top:62px;left:0;right:0}.ws-tl-tick{background:var(--border);width:1px;height:12px;position:absolute;top:46px}.ws-tl-tick-label{color:var(--muted);white-space:nowrap;font-size:10px;position:absolute;top:32px;transform:translate(-50%)}.ws-tl-port{background:var(--surface);border:3px solid var(--accent);cursor:default;z-index:2;border-radius:999px;width:13px;height:13px;position:absolute;top:62px;transform:translate(-50%,-50%)}.ws-tl-port.port-load{border-color:var(--accent)}.ws-tl-port.port-disch{border-color:var(--sea-mid)}.ws-tl-port.port-pass{border-color:var(--muted)}.ws-tl-port-label{white-space:nowrap;text-overflow:ellipsis;text-align:center;max-width:130px;font-size:11px;font-weight:600;position:absolute;overflow:hidden;transform:translate(-50%)}.ws-tl-port-label.above{top:30px}.ws-tl-port-label.below{top:78px}.ws-tl-port-label small{color:var(--muted);font-size:10px;font-weight:400;display:block}.ws-tl-event{background:var(--warn);z-index:3;border-radius:2px;width:7px;height:7px;position:absolute;top:62px;transform:translate(-50%,-50%)}.ws-tl-event-label{color:var(--warn-text);white-space:nowrap;font-size:10px;position:absolute;top:8px;transform:translate(-50%)}.ws-tl-event-label.alt{color:var(--sea-mid);top:104px}.ws-tl-today{background:var(--danger);z-index:1;width:1px;position:absolute;top:22px;bottom:20px}.ws-tl-today span{color:var(--danger);white-space:nowrap;font-size:9px;position:absolute;top:-14px;left:2px}.ws-note-list{gap:var(--gap-sm);flex-direction:column;display:flex}.ws-note{border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--gap-sm) var(--gap-md);background:#fafcfd}.ws-note-head{align-items:center;gap:var(--gap-sm);justify-content:space-between;display:flex}.ws-note-head small{color:var(--muted);font-size:var(--font-label)}.ws-note-body{font-size:var(--font-ui);white-space:pre-wrap;word-break:break-word;margin:.25rem 0 0}.ws-activity{margin:0;padding:0;list-style:none}.ws-activity li{gap:var(--gap-md);padding:var(--gap-xs) 0;border-bottom:1px dashed var(--border);font-size:var(--font-ui);align-items:baseline;display:flex}.ws-activity li:last-child{border-bottom:none}.ws-activity time{color:var(--muted);font-size:var(--font-label);font-variant-numeric:tabular-nums;flex:none}.ws-activity .ws-act-kind{text-transform:uppercase;letter-spacing:.03em;color:var(--sea-mid);background:#e7f0f3;border-radius:999px;flex:none;padding:.05rem .35rem;font-size:10px}.ws-map{background:var(--map-sea);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;overflow:auto}.ws-map svg{width:100%;min-width:720px;height:auto;display:block}.ws-map-sea{fill:var(--map-sea-solid)}.ws-map-land path{fill:var(--map-land);stroke:var(--map-land-stroke);stroke-width:.5px;stroke-linejoin:round}.ws-map-grid line{stroke:var(--map-grid);stroke-width:1px}.ws-map-equator{stroke:var(--map-equator);stroke-width:1px;stroke-dasharray:6 4}.ws-map-route{fill:none;stroke:var(--map-route);stroke-width:2.5px;stroke-linecap:round}.ws-map-track{fill:none;stroke:var(--map-track);stroke-width:2px;stroke-dasharray:3 3;opacity:.8}.ws-map-port{fill:var(--map-port-fill);stroke:var(--map-port-stroke);stroke-width:2.5px}.ws-map-port-label{fill:var(--map-label);font-size:11px;font-weight:600}.ws-map-pos{fill:var(--map-track);opacity:.7}.ws-map-legend{gap:var(--gap-md);margin-top:var(--gap-sm);font-size:var(--font-label);color:var(--muted);flex-wrap:wrap;display:flex}.ws-map-legend i{vertical-align:middle;width:18px;height:3px;margin-right:4px;display:inline-block}.ws-map-swatch-route{background:var(--map-route)}.ws-map-swatch-track{background:var(--map-track)}
.master-detail{grid-template-columns:var(--md-rail-w,240px) minmax(0, 1fr);background:var(--surface);flex:auto;min-height:0;display:grid;overflow:hidden}.content:has(>.master-detail){flex-direction:column;padding:0;display:flex;overflow:hidden}.content:has(>.master-detail)>.breadcrumb{padding:var(--gap-sm) var(--gap-md);border-bottom:1px solid var(--border-light);flex:none;margin:0}.md-rail{background:var(--chrome-bg);border-right:1px solid var(--chrome-border);flex-direction:column;min-width:0;min-height:0;display:flex}.md-rail-head{align-items:center;gap:var(--gap-sm);padding:var(--gap-sm) var(--gap-md);background:var(--toolbar-bg);border-bottom:1px solid var(--chrome-border);flex:none;display:flex}.md-back{border-radius:var(--radius-sm);font-size:var(--font-ui);color:var(--accent-text);white-space:nowrap;align-items:center;gap:3px;padding:2px 6px;text-decoration:none;display:inline-flex}.md-back:hover{background:var(--accent-bg)}.md-rail-title{color:var(--muted);font-size:var(--font-label);white-space:nowrap;text-overflow:ellipsis;margin-left:auto;overflow:hidden}.md-rail-body{min-height:0;padding:var(--gap-xs) 0;flex:auto;overflow:hidden auto}.md-rail-note{padding:var(--gap-sm) var(--gap-md);color:var(--muted);font-size:var(--font-label);margin:0}.md-rail-err{justify-content:space-between;align-items:center;gap:var(--gap-sm);color:var(--danger);display:flex}.md-list{margin:0;padding:0;list-style:none}.md-card{padding:var(--gap-sm) var(--gap-md);border-left:2px solid #0000;border-bottom:1px solid var(--border-light);color:var(--ink);text-decoration:none;display:block}.md-card:hover{background:var(--row-hover)}.md-card:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.md-card[aria-current=page]{background:var(--row-selected);border-left-color:var(--accent)}.md-card-title{font-weight:600;font-size:var(--font-ui);text-overflow:ellipsis;white-space:nowrap;line-height:1.35;display:block;overflow:hidden}.md-card-meta{color:var(--muted);font-size:var(--font-label);text-overflow:ellipsis;white-space:nowrap;line-height:1.4;display:block;overflow:hidden}.md-detail{background:var(--surface);flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.md-detail-head{padding:var(--gap-sm) var(--gap-md) 0;flex:none}.md-detail-head>.page-header{margin-bottom:0}.md-detail-head>.ui-tabs{margin:var(--gap-xs) 0 var(--gap-sm)}.md-detail-body{min-height:0;padding:var(--gap-sm) var(--gap-md);flex:auto;overflow:hidden auto}.md-detail:has(>.ws-shell){background:var(--foam)}.md-detail>.ws-shell{flex:auto;min-height:0}@media (max-width:1000px){.master-detail{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.md-rail{border-right:none;border-bottom:1px solid var(--chrome-border);max-height:140px}.md-rail-body{gap:var(--gap-xs);padding:var(--gap-xs);display:flex;overflow:auto hidden}.md-list{gap:var(--gap-xs);display:flex}.md-card{border-bottom:none;border-right:1px solid var(--border-light);border-left:none;min-width:190px}.md-card[aria-current=page]{border-bottom:2px solid var(--accent)}}@media print{.content:has(>.master-detail){padding:0;display:block;overflow:visible}.master-detail{height:auto;display:block;overflow:visible}.md-rail{display:none}.md-detail,.md-detail-body{height:auto;padding:0;overflow:visible}}
.gantt-board{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;min-width:0;display:flex;overflow:hidden}.gantt-board-toolbar{align-items:center;gap:var(--gap-md);padding:var(--gap-sm) var(--gap-md);border-bottom:1px solid var(--border);background:linear-gradient(180deg, #f8fbfc, var(--surface));flex-wrap:wrap;flex:none;display:flex}.gantt-board-title{font-size:var(--font-ui);color:var(--sea-deep);margin:0;font-weight:700}.gantt-zoom{border:1px solid var(--border);border-radius:var(--radius-sm);display:inline-flex;overflow:hidden}.gantt-zoom button{appearance:none;background:var(--surface);height:24px;font-size:var(--font-label);color:var(--muted);cursor:pointer;border:none;border-right:1px solid var(--border);padding:0 .65rem;font-weight:600}.gantt-zoom button:last-child{border-right:none}.gantt-zoom button.active{background:var(--accent);color:#fff}.gantt-zoom button:not(.active):hover{background:var(--accent-bg);color:var(--ink)}.gantt-board-grid{min-height:0;position:relative;overflow:auto}.gantt-row{align-items:stretch;min-width:max-content;display:flex}.gantt-row-label{z-index:2;flex:0 0 var(--gantt-label-w,170px);width:var(--gantt-label-w,170px);border-right:1px solid var(--border);background:#f7fafb;position:sticky;left:0;box-shadow:2px 0 4px #0a16280d}.gantt-row-time{flex:none;position:relative}.gantt-axis{z-index:3;border-bottom:1px solid var(--border);background:#f2f7f9;height:30px;position:sticky;top:0}.gantt-axis-canvas{height:100%;position:relative}.gantt-axis-tick{border-left:1px solid var(--border);color:var(--muted);white-space:nowrap;pointer-events:none;padding-left:3px;font-size:10px;position:absolute;top:0;bottom:0;overflow:hidden}.gantt-axis-tick.major{color:var(--ink);border-left-color:#b9c8d2;font-weight:600}.gantt-axis-tick.month-start{border-left-color:var(--sea-mid);background:var(--accent-bg)}.gantt-today-line{border-left:2px dashed var(--danger);z-index:4;pointer-events:none;width:0;position:absolute;top:0;bottom:0}.gantt-today-line span{color:var(--danger);white-space:nowrap;background:#ffffffd9;border-radius:2px;padding:0 2px;font-size:9px;position:absolute;top:1px;left:3px}.gantt-lane-label{height:var(--gantt-lane-h,34px);padding:0 var(--gap-md);border-bottom:1px solid var(--border);font-size:var(--font-table);align-items:center;gap:.35rem;display:flex;overflow:hidden}.gantt-lane-label strong{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.gantt-lane-label .gantt-lane-sub{color:var(--muted);white-space:nowrap;font-size:10px}.gantt-lane{height:var(--gantt-lane-h,34px);border-bottom:1px solid var(--border);position:relative}.gantt-lane-grid{pointer-events:none;position:absolute;inset:0}.gantt-gridline{border-left:1px solid #0f1c2812;position:absolute;top:0;bottom:0}.gantt-gridline.week{border-left-color:#0f1c2824}.gantt-gridline.month{border-left-color:color-mix(in srgb, var(--accent) 35%, transparent);background:var(--row-hover)}.gantt-weekend{background:#5a6e7d0f;position:absolute;top:0;bottom:0}.gantt-lane-blocks{position:absolute;inset:0}.gantt-bar{height:calc(var(--gantt-lane-h,34px) - 12px);border-radius:var(--radius-sm);background:var(--accent);color:#fff;cursor:grab;-webkit-user-select:none;user-select:none;border:1px solid #0000001f;align-items:center;min-width:6px;padding:0 6px;font-size:10px;line-height:1.25;display:flex;position:absolute;top:5px;overflow:hidden;box-shadow:0 1px 2px #0a16282e}.gantt-bar:hover{filter:brightness(1.06)}.gantt-bar.dragging{cursor:grabbing;opacity:.85;z-index:5}.gantt-bar.block-voyage{background:#1a9b96}.gantt-bar.block-offhire{background:#b7791f}.gantt-bar.block-repair{background:#8a5a00}.gantt-bar.block-cargo{background:#2f6fb0}.gantt-bar.block-berth{background:#6b46c1}.gantt-bar.block-gap{color:var(--ink);background:repeating-linear-gradient(45deg,#5a6e7d2e 0 6px,#5a6e7d14 6px 12px);border-style:dashed}.gantt-bar.hard_conflict{outline:2px solid var(--danger);outline-offset:-1px}.gantt-bar-label{text-overflow:ellipsis;white-space:nowrap;pointer-events:none;overflow:hidden}.gantt-bar-handle{cursor:ew-resize;width:6px;position:absolute;top:0;bottom:0}.gantt-bar-handle.left{left:0}.gantt-bar-handle.right{right:0}.gantt-bar-handle:hover{background:#ffffff59}.gantt-pos-list{margin:0;padding:0;list-style:none}.gantt-pos-list li{padding:var(--gap-xs) 0;border-bottom:1px dashed var(--border);font-size:var(--font-table)}.gantt-pos-list li:last-child{border-bottom:none}.gantt-pos-gap{color:var(--sea-mid);background:#e5f3f2;border-radius:999px;margin:.15rem .25rem 0 0;padding:.05rem .45rem;font-size:10px;display:inline-block}.sched-layout{gap:var(--gap-md);grid-template-columns:minmax(0,1fr) 280px;align-items:start;display:grid}@media (max-width:1100px){.sched-layout{grid-template-columns:1fr}}.sched-controls{align-items:center;gap:var(--gap-md);padding:var(--gap-sm) var(--gap-md);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);flex-wrap:wrap;display:flex}.sched-seg{border:1px solid var(--border);border-radius:var(--radius-sm);display:inline-flex;overflow:hidden}.sched-seg button{appearance:none;background:var(--surface);height:var(--control-h);font-size:var(--font-ui);color:var(--muted);cursor:pointer;border:none;border-right:1px solid var(--border);white-space:nowrap;padding:0 .75rem;font-weight:600}.sched-seg button:last-child{border-right:none}.sched-seg button.active{background:var(--sea-mid);color:#fff}.sched-seg button:not(.active):hover{background:var(--accent-bg);color:var(--ink)}.sched-range{align-items:center;gap:var(--gap-sm);font-size:var(--font-ui);color:var(--muted);display:flex}
.cert-filter-bar{align-items:end;margin-bottom:.75rem}.cert-filter-bar label{color:var(--muted);gap:.25rem;font-size:.85rem;display:grid}.cert-filter-toggle{cursor:pointer;flex-direction:row;align-items:center;padding-bottom:.45rem;grid-template-columns:none!important;gap:.4rem!important;display:flex!important}.cert-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:.6rem;padding:.55rem 0;display:flex}.cert-row:last-child{border-bottom:none}.cert-row-main{flex-direction:column;gap:.15rem;min-width:0;display:flex}.cert-row-title{font-size:.9rem}.cert-row-ops{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:.35rem;display:flex}.cert-file-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:.6rem;padding:.55rem 0;display:flex}.cert-file-row:last-child{border-bottom:none}.cert-file-main{flex-direction:column;gap:.15rem;min-width:0;display:flex}.cert-file-name{word-break:break-all;font-size:.9rem}.guide-backdrop{z-index:80;background:#0b1f2a73;position:fixed;inset:0}.guide-panel{background:var(--surface);border-left:1px solid var(--border);flex-direction:column;width:min(420px,92vw);display:flex;position:fixed;top:0;bottom:0;right:0;overflow:auto;box-shadow:-18px 0 50px #0b1f2a47}.guide-body{align-content:start;gap:.9rem;padding:1rem 1.15rem 1.15rem;display:grid}.guide-section h3{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:0 0 .35rem;font-size:.82rem;font-weight:700}.guide-text{margin:0;font-size:.9rem;line-height:1.55}.guide-steps{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.guide-steps li{align-items:flex-start;gap:.55rem;font-size:.9rem;line-height:1.5;display:flex}.guide-step-no{background:var(--accent);color:#fff;border-radius:999px;flex:none;place-items:center;width:22px;height:22px;margin-top:.05rem;font-size:.74rem;font-weight:700;display:grid}.guide-flow{flex-wrap:wrap;align-items:center;gap:.4rem;font-size:.85rem;display:flex}.guide-flow-node{border:1px solid var(--border);background:var(--surface);color:var(--ink);border-radius:8px;padding:.3rem .55rem}.guide-flow-node.current{border-color:var(--accent);color:var(--accent-text);font-weight:600}.guide-flow-arrow{color:var(--muted)}.guide-links{gap:.35rem;display:grid}.guide-link{color:var(--accent-text);font-size:.88rem}.onboard-card{border-left:4px solid var(--accent);margin-bottom:1rem}.onboard-head{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.onboard-head h2{font-size:1.05rem}.onboard-progress{background:#e7f0f3;border-radius:999px;height:6px;margin:.55rem 0 .75rem;overflow:hidden}.onboard-progress>span{background:var(--accent);border-radius:999px;height:100%;display:block}.onboard-list{gap:.45rem;display:grid}.onboard-item{color:inherit;align-items:flex-start;gap:.55rem;text-decoration:none;display:flex}.onboard-check{border:1px solid var(--border);color:#0000;border-radius:999px;flex:none;place-items:center;width:20px;height:20px;margin-top:.05rem;font-size:.7rem;display:grid}.onboard-item.done .onboard-check{background:var(--ok);border-color:var(--ok);color:#fff}.onboard-item.done .onboard-label{color:var(--muted);text-decoration:line-through}.onboard-item-main{gap:.1rem;min-width:0;display:grid}.onboard-label{font-size:.9rem}.onboard-hint{color:var(--muted);font-size:.78rem}.onboard-more{color:var(--muted);margin:.4rem 0 0;font-size:.8rem}.land-hero{text-align:center;min-height:calc(100dvh - var(--topbar,64px));background:radial-gradient(62% 46% at 50% -6%,#2bb5b033,#0000 62%),radial-gradient(42% 38% at 88% 78%,#2ea8ff1f,#0000 60%),radial-gradient(46% 42% at 8% 88%,#12304799,#0000 58%),linear-gradient(#07111d00 55%,#07111d99 100%);justify-content:center;align-items:center;padding:4.5rem 1.5rem 5.5rem;display:flex;position:relative}.land-hero-inner{max-width:46rem}.land-logo{filter:drop-shadow(0 10px 28px #2bb5b059);width:64px;height:64px;margin:0 auto 1.5rem;display:block}.land-eyebrow{letter-spacing:.3em;text-transform:uppercase;color:var(--portal-accent,#1a9b96);margin:0 0 1.1rem;font-size:.8rem;font-weight:700}.land-hero h1{letter-spacing:-.02em;color:#f2f7fa;margin:0 0 1.3rem;font-size:clamp(2.4rem,5.6vw,4.4rem);font-weight:800;line-height:1.16}.land-lead{color:#e8f1f5b8;max-width:40rem;margin:0 auto 2.5rem;font-size:clamp(1rem,1.5vw,1.18rem);line-height:1.75}.land-ctas{flex-wrap:wrap;justify-content:center;gap:.9rem;display:flex}.land-btn{border-radius:12px;padding:.85rem 2.3rem;font-size:1.02rem;font-weight:600;transition:transform .2s,box-shadow .2s,border-color .2s}.land-btn-primary{background:var(--portal-accent,#1a9b96);color:#0b1f2a;border:none;box-shadow:0 10px 32px #2bb5b047}.land-btn-primary:hover{transform:translateY(-2px);box-shadow:0 14px 40px #2bb5b06b}.land-btn-ghost{color:#eef3f6;background:#0a162866;border:1px solid #ffffff38}.land-btn-ghost:hover{border-color:var(--portal-accent,#1a9b96);color:var(--portal-accent,#1a9b96)}.land-stats{box-sizing:border-box;border-top:1px solid #ffffff14;grid-template-columns:repeat(4,1fr);gap:1.5rem;width:100%;max-width:1100px;margin:0 auto;padding:3.2rem 1.5rem;display:grid}.land-stat b{letter-spacing:-.02em;color:var(--portal-accent,#1a9b96);font-variant-numeric:tabular-nums;margin-bottom:.3rem;font-size:clamp(1.9rem,3.2vw,2.6rem);font-weight:800;display:block}.land-stat span{color:#e8f1f599;font-size:.92rem}.land-h2{text-align:center;letter-spacing:-.01em;color:#f2f7faf2;margin:0 0 2.2rem;font-size:clamp(1.4rem,2.6vw,2rem);font-weight:700}.land-flow{box-sizing:border-box;width:100%;max-width:1100px;margin:0 auto;padding:1rem 1.5rem 3.6rem}.land-flow-track{grid-template-columns:repeat(6,1fr);gap:.6rem;margin:0;padding:0;list-style:none;display:grid;position:relative}.land-flow-track:before{content:"";background:linear-gradient(90deg,#0000,#2bb5b08c 18% 82%,#0000);height:1px;position:absolute;top:22px;left:9%;right:9%}.land-node{text-align:center;position:relative}.land-node i{z-index:1;width:44px;height:44px;color:var(--portal-accent,#1a9b96);background:#0a1628;border:1px solid #2bb5b080;border-radius:50%;place-items:center;margin:0 auto .65rem;font-size:.86rem;font-style:normal;font-weight:700;display:grid;position:relative}.land-node strong{color:#eef3f6;font-size:1rem;display:block}.land-node small{letter-spacing:.1em;text-transform:uppercase;color:#e8f1f573;font-size:.72rem}.land-zones{box-sizing:border-box;width:100%;max-width:1100px;margin:0 auto;padding:0 1.5rem 4.5rem}.land-zone-grid{grid-template-columns:repeat(2,1fr);gap:1.2rem;display:grid}.land-zone{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0a16288c;border:1px solid #ffffff1a;border-radius:16px;padding:1.6rem 1.7rem;transition:border-color .2s,transform .2s}.land-zone:hover{border-color:#2bb5b080;transform:translateY(-3px)}.land-zone h3{color:#f2f7fa;margin:0 0 .15rem;font-size:1.12rem}.land-zone-en{letter-spacing:.16em;text-transform:uppercase;color:#e8f1f573;margin:0 0 .95rem;font-size:.72rem}.land-zone ul{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.land-zone li{color:#e8f1f5c7;padding-left:1.1rem;font-size:.92rem;line-height:1.55;position:relative}.land-zone li:before{content:"";background:var(--portal-accent,#1a9b96);border-radius:2px;width:6px;height:6px;position:absolute;top:.52em;left:0}.land-foot{box-sizing:border-box;color:#e8f1f580;border-top:1px solid #ffffff14;flex-wrap:wrap;justify-content:space-between;gap:.8rem;width:100%;max-width:1100px;margin:auto auto 0;padding:1.5rem;font-size:.85rem;display:flex}.land-foot-links{gap:1.4rem;display:flex}.land-foot a{color:var(--portal-accent,#1a9b96);font-weight:600}@media (max-width:860px){.land-hero{min-height:auto;padding:4rem 1.25rem}.land-stats{grid-template-columns:repeat(2,1fr);gap:1.2rem}.land-flow-track{grid-template-columns:repeat(3,1fr);row-gap:1.6rem}.land-flow-track:before{display:none}.land-zone-grid{grid-template-columns:1fr}}.currency-field{gap:var(--gap-sm);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.form-grid>.currency-field{grid-column:1/-1}.currency-field .field-row{margin:0}.cur-ccy{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--chrome-bg,var(--surface-2,#0000000a));color:var(--muted);margin-left:4px;padding:0 4px;font-size:10px;font-weight:700}.cur-ro{height:var(--input-h,26px);line-height:var(--input-h,26px);border:1px dashed var(--border);border-radius:var(--radius-sm);font-variant-numeric:tabular-nums;text-align:right;color:var(--ink);background:0 0;padding:0 6px;display:block}.cur-hint{color:var(--muted);grid-column:1/-1;font-size:10.5px}.port-time{font-variant-numeric:tabular-nums;white-space:nowrap}.port-time-tz{color:var(--muted);margin-left:4px;font-size:10px;font-weight:600}.market-page{gap:var(--gap-sm);flex-direction:column;display:flex}.market-page .panel{margin-bottom:0}.market-tiles{gap:var(--gap-sm);grid-template-columns:repeat(auto-fill,minmax(150px,1fr));display:grid}.market-tiles-3{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.market-tile{padding:var(--gap-sm);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);text-align:center;cursor:pointer;flex-direction:column;gap:2px;display:flex}.market-tile:hover{background:var(--foam)}.market-tile.active{border-color:var(--accent);background:var(--accent-bg)}.market-tile-label{color:var(--muted);font-size:var(--font-label)}.market-tile-value{color:var(--ink);font-size:1.15rem;font-weight:700}.market-tile-date{color:var(--muted);font-size:10px}.market-bars{gap:var(--gap-xs);flex-direction:column;display:flex}.market-bar-row{align-items:center;gap:var(--gap-sm);grid-template-columns:120px 64px minmax(0,1fr) 72px;display:grid}.market-bar-port{font-size:var(--font-ui);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.market-bar-fuel{color:var(--muted);font-size:var(--font-label)}.market-bar-track{border-radius:var(--radius-sm);background:var(--foam);height:16px;overflow:hidden}.market-bar-fill{border-radius:var(--radius-sm);height:100%;transition:width .3s;display:block}.market-bar-fill.vlsfo{background:var(--accent)}.market-bar-fill.other{background:var(--ok)}.market-bar-val{text-align:right;font-size:var(--font-ui);font-weight:600}.market-spark{border-bottom:1px solid var(--border-light);align-items:flex-end;gap:2px;height:160px;display:flex}.market-spark-bar{background:var(--accent);opacity:.85;border-radius:2px 2px 0 0;flex:1;min-width:2px;transition:opacity .15s}.market-spark-bar:hover{opacity:1;background:var(--accent)}.market-spark-foot{justify-content:space-between;gap:var(--gap-sm);margin-top:var(--gap-xs);color:var(--muted);font-size:10px;display:flex}.twin-alerts{margin:0;padding:0;list-style:none}.twin-alerts li{align-items:baseline;gap:var(--gap-xs) var(--gap-sm);padding:var(--gap-xs) 0;border-bottom:1px solid var(--border-light);flex-wrap:wrap;display:flex}.twin-alerts li:last-child{border-bottom:none}.twin-alert-title{font-size:var(--font-ui)}.twin-alert-body{font-size:var(--font-label)}.pool-dist{font-size:var(--font-label);gap:1px;display:grid}.pool-dist-row{justify-content:space-between;align-items:baseline;gap:var(--gap-sm);white-space:nowrap;display:flex}.pool-dist-row.muted{color:var(--muted)}.error-boundary{justify-content:center;align-items:center;gap:var(--gap-sm);min-height:50vh;color:var(--ink);flex-direction:column;padding:3rem 1.5rem;display:flex}.error-boundary-icon{width:48px;height:48px;color:var(--danger);background:#fde8e6;border-radius:50%;place-items:center;font-size:1.4rem;font-weight:700;display:grid}.error-boundary-title{margin:0;font-size:1.15rem}.error-boundary-msg{color:var(--muted);text-align:center;max-width:32rem;margin:0;font-size:.92rem}.error-boundary-actions{gap:.5rem;margin-top:.5rem;display:flex}.acct-inline-form{gap:.5rem;display:flex}.acct-unlink-btn{margin-left:.75rem}
.ui-tabs{min-width:0;margin-bottom:var(--gap-sm);flex-direction:column;display:flex}.ui-tabs-bar{justify-content:space-between;align-items:flex-end;gap:var(--gap-md);min-width:0;display:flex}.ui-tabs-list{scrollbar-width:thin;align-items:stretch;gap:0;min-width:0;display:flex;overflow-x:auto}.ui-tab{padding:0 var(--gap-md);height:var(--control-h);font-size:var(--font-label);color:var(--muted);cursor:pointer;white-space:nowrap;border-radius:var(--radius-sm) var(--radius-sm) 0 0;background:0 0;border:none;align-items:center;gap:4px;font-weight:600;display:inline-flex}.ui-tab:disabled{opacity:.45;cursor:not-allowed}.ui-tabs--line .ui-tabs-bar{border-bottom:1px solid var(--border)}.ui-tabs--line .ui-tab{border-bottom:2px solid #0000;border-radius:0;margin-bottom:-1px}.ui-tabs--line .ui-tab:hover:not(:disabled){color:var(--ink);background:var(--toolbar-bg)}.ui-tabs--line .ui-tab.active{color:var(--accent-text);border-bottom-color:var(--accent);background:0 0}.ui-tabs--pill .ui-tab{border-radius:var(--radius-sm);border:1px solid #0000;margin-right:2px}.ui-tabs--pill .ui-tab:hover:not(:disabled){color:var(--ink);background:var(--toolbar-bg)}.ui-tabs--pill .ui-tab.active{color:var(--ink);background:var(--surface);border-color:var(--border);box-shadow:inset 0 -2px 0 var(--accent)}.ui-tab-badge{background:var(--border-light);min-width:14px;height:13px;color:var(--muted);border-radius:7px;justify-content:center;align-items:center;padding:0 3px;font-size:9px;font-weight:700;line-height:1;display:inline-flex}.ui-tab.active .ui-tab-badge{background:var(--accent);color:#fff}.ui-tabs--md .ui-tab{height:calc(var(--control-h) + 4px);font-size:var(--font-ui)}.ui-tabs-right{align-items:center;gap:var(--gap-xs);flex-shrink:0;padding-bottom:2px;display:flex}
.status-badge{letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;vertical-align:middle;border:1px solid #0000;border-radius:8px;align-items:center;gap:4px;height:15px;padding:0 5px;font-size:9.5px;font-weight:700;line-height:1;display:inline-flex}.status-badge:before{content:"";background:currentColor;border-radius:50%;flex-shrink:0;width:6px;height:6px}.status-badge--dot{text-transform:none;font-size:var(--font-label);border:none;padding:0;font-weight:600;background:0 0!important}.status-badge--ok{color:var(--ok);background:color-mix(in srgb, var(--ok) 10%, transparent);border-color:color-mix(in srgb, var(--ok) 35%, transparent)}.status-badge--warn{color:var(--warn-text,var(--warn));background:color-mix(in srgb, var(--warn) 12%, transparent);border-color:color-mix(in srgb, var(--warn) 35%, transparent)}.status-badge--danger{color:var(--danger);background:color-mix(in srgb, var(--danger) 10%, transparent);border-color:color-mix(in srgb, var(--danger) 35%, transparent)}.status-badge--info{color:#1f6fb2;background:#1f6fb21a;border-color:#1f6fb259}.status-badge--muted{color:var(--muted);background:var(--border-light);border-color:var(--border)}[data-theme=slate] .status-badge--info{color:#6db3f2}.val-manual{color:var(--danger)}.val-projected{color:#1f6fb2}[data-theme=slate] .val-projected{color:#6db3f2}.val-actual{color:var(--ink)}.row-has-remark{background:#b7791f1f!important}.val-broken{color:var(--danger);text-decoration:line-through}.draft-watermark{position:relative}.draft-watermark:after{content:"DRAFT";letter-spacing:.2em;color:#c0392b1a;pointer-events:none;z-index:1;-webkit-user-select:none;user-select:none;font-size:64px;font-weight:800;position:absolute;top:42%;left:50%;transform:translate(-50%,-50%)rotate(-24deg)}.status-legend{align-items:center;gap:var(--gap-xs);margin:var(--gap-xs) 0 var(--gap-sm);flex-wrap:wrap;display:flex}.status-legend-title{font-size:var(--font-label);color:var(--muted);margin-right:var(--gap-xs);font-weight:600}.validate-wrap{display:inline-flex;position:relative}.validate-btn{font-variant-numeric:tabular-nums}.validate-btn--ok{color:var(--ok);border-color:color-mix(in srgb, var(--ok) 55%, transparent);background:color-mix(in srgb, var(--ok) 8%, transparent)}.validate-btn--warn{color:var(--warn-text);border-color:color-mix(in srgb, var(--warn) 55%, transparent);background:color-mix(in srgb, var(--warn) 8%, transparent)}.validate-btn--danger{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 55%, transparent);background:color-mix(in srgb, var(--danger) 8%, transparent)}.validate-pop{z-index:60;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);border-left-width:3px;min-width:240px;max-width:380px;padding:6px 8px;font-size:11.5px;line-height:1.5;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 6px 20px #00000024}.validate-pop--ok{border-left-color:var(--ok)}.validate-pop--warn{border-left-color:var(--warn)}.validate-pop--danger{border-left-color:var(--danger)}.validate-pop--info{border-left-color:#1f6fb2}.validate-line{padding:1px 0}.validate-line--error{color:var(--danger);font-weight:600}.validate-line--warn{color:var(--warn-text)}
.toolbar{align-items:center;gap:var(--gap-sm);display:flex}.toolbar-left{align-items:center;gap:var(--gap-xs);flex-wrap:nowrap;flex-shrink:0;display:flex}.toolbar-right{align-items:center;gap:var(--gap-xs);flex-shrink:0;margin-left:auto;display:flex}.toolbar-sep{flex-shrink:0}.toolbar-filter-count{color:#fff;background:#e67e22;border-radius:8px;flex-shrink:0;align-items:center;gap:2px;min-width:15px;height:15px;padding:0 4px;font-size:9.5px;font-weight:700;line-height:1;display:inline-flex}.toolbar-filter-clear{color:#fff;cursor:pointer;background:0 0;border:none;margin-left:1px;padding:0;font-size:9px;line-height:1}.toolbar-filter-clear:hover{color:#ffe0c2}a.row-link{color:inherit;text-decoration:none}a.row-link:hover{text-decoration:underline}.linklike,.btn-link{font-size:inherit;color:var(--accent-text);cursor:pointer;text-align:left;background:0 0;border:none;padding:0;font-family:inherit}.linklike:hover,.btn-link:hover{text-decoration:underline}.context-menu{z-index:300;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);flex-direction:column;min-width:120px;padding:2px;display:flex;position:fixed}.context-menu-item{width:100%;height:var(--control-h);font-size:var(--font-ui);color:var(--ink);text-align:left;cursor:pointer;border-radius:var(--radius-sm);white-space:nowrap;background:0 0;border:none;align-items:center;gap:6px;padding:0 8px;display:flex}.context-menu-item:hover:not(:disabled){background:var(--toolbar-bg)}.context-menu-item:disabled{opacity:.45;cursor:not-allowed}.context-menu-item.danger{color:var(--danger)}.context-menu-icon{text-align:center;opacity:.8;flex-shrink:0;width:14px}.context-menu-divider{background:var(--border-light);height:1px;margin:2px 4px}.card-group{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:var(--gap-sm)}.card-group-head{align-items:center;gap:var(--gap-sm);padding-right:var(--gap-sm);background:var(--panel-header-bg);border-bottom:1px solid #0000;display:flex}.card-group.open .card-group-head{border-bottom-color:var(--border-light)}.card-group-toggle{min-width:0;height:var(--control-h);padding:0 var(--gap-sm);font-size:var(--font-label);color:var(--ink);text-transform:uppercase;letter-spacing:.03em;cursor:pointer;text-align:left;background:0 0;border:none;flex:1;align-items:center;gap:5px;font-weight:700;display:flex}.card-group-caret{color:var(--muted);font-size:9px;transition:transform .1s;display:inline-block}.card-group-caret.open{transform:rotate(90deg)}.card-group-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.card-group-err,.card-group-warn{color:#fff;border-radius:7px;justify-content:center;align-items:center;min-width:14px;height:13px;padding:0 3px;font-size:9px;font-weight:700;line-height:1;display:inline-flex}.card-group-err{background:var(--danger)}.card-group-warn{background:var(--warn)}.card-group-issue-dot{background:var(--danger);border-radius:50%;flex-shrink:0;width:7px;height:7px;margin-left:auto}.card-group-right{align-items:center;gap:var(--gap-xs);flex-shrink:0;display:flex}.card-group-body{padding:var(--gap-sm) var(--gap-md)}.page-list{flex-direction:column;min-height:0;display:flex}.page-list-body{gap:var(--gap-sm);flex-direction:column;min-height:0;display:flex}.page-list-footer{margin-top:var(--gap-xs);font-size:var(--font-label);color:var(--muted);align-items:center;gap:var(--gap-md);display:flex}.page-detail{gap:var(--gap-md);grid-template-columns:minmax(0,1fr) auto;min-height:0;display:grid}.page-detail-main{min-width:0}.page-detail-cards{margin-bottom:var(--gap-sm)}.page-detail-tabs{margin-top:var(--gap-sm)}.page-detail-panels{padding-top:var(--gap-sm)}.page-detail-sidebar{border-left:1px solid #0000;width:0;transition:width .12s;overflow:hidden}.page-detail-sidebar.open{border-left-color:var(--border-light);width:240px;overflow:visible}.page-detail-sidebar-head{margin-bottom:var(--gap-xs);justify-content:flex-end;display:flex}.page-detail-sidebar-body{gap:var(--gap-sm);flex-direction:column;width:240px;display:flex}.revisions-list{gap:var(--gap-sm);flex-direction:column;max-height:320px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.revisions-list li{border-bottom:1px solid var(--border-light);padding-bottom:var(--gap-xs)}.revisions-line{justify-content:space-between;gap:var(--gap-sm);font-size:var(--font-label);display:flex}.revisions-fields{font-size:var(--font-label);word-break:break-all}.nav-popup-item.locked{opacity:.55;cursor:pointer}.nav-popup-item.locked:hover{opacity:.85;background:var(--toolbar-bg)}.nav-popup-item .nav-lock{filter:grayscale(.2);margin-left:auto;font-size:10px}.denied-panel{max-width:640px}.denied-reasons{margin:var(--gap-sm) 0;font-size:var(--font-ui);color:var(--muted);padding-left:1.25rem}.denied-reasons li{margin-bottom:4px}.denied-actions{gap:var(--gap-sm);margin-top:var(--gap-md);display:flex}.file-picker{align-items:center;gap:var(--gap-xs);min-width:0;display:inline-flex}.file-picker-input{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.file-picker-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:220px;color:var(--muted);font-size:var(--font-label);overflow:hidden}

