.app{grid-template-columns:var(--sb-w,220px) 1fr var(--feed-w,340px);height:100vh;transition:grid-template-columns .25s;display:grid}.app.sidebar-collapsed{--sb-w:0px}.app.feed-collapsed{--feed-w:0px}.sidebar{background:var(--bg-surface);border-right:1px solid var(--line);flex-direction:column;display:flex;overflow:hidden}.brand{height:var(--header-h);padding:0 calc(18px * var(--density));border-bottom:1px solid var(--line);flex-shrink:0;align-items:center;gap:10px;display:flex}.brand-mark{border-radius:var(--radius);background:linear-gradient(135deg, var(--em), var(--cy));color:#fff;width:30px;height:30px;box-shadow:0 0 16px var(--em-bg);justify-content:center;align-items:center;display:flex}.brand-mark svg{width:18px;height:18px}.brand-text{flex-direction:column;line-height:1.2;display:flex}.brand-text .n{font-size:calc(13px * var(--font-scale));color:var(--ink);font-weight:700}.brand-text .m{font-size:calc(9px * var(--font-scale));color:var(--ink-muted);letter-spacing:.05em}.nav-section{padding:calc(14px * var(--density)) calc(12px * var(--density)) calc(6px * var(--density));font-size:calc(9px * var(--font-scale));color:var(--ink-subtle);letter-spacing:.12em;text-transform:uppercase;font-weight:700}.nav-item{padding:calc(8px * var(--density)) calc(14px * var(--density));border-radius:var(--radius-sm);font-size:calc(12.5px * var(--font-scale));color:var(--ink-muted);cursor:pointer;text-align:left;white-space:nowrap;background:0 0;border:none;align-items:center;gap:10px;width:calc(100% - 16px);margin:1px 8px;font-family:inherit;font-weight:500;display:flex;position:relative;overflow:hidden}.nav-item:hover{background:var(--bg-sunken);color:var(--ink)}.nav-item.on{background:var(--em-bg);color:var(--em);font-weight:600}.nav-item.on:before{content:"";background:var(--em);border-radius:0 2px 2px 0;width:3px;height:18px;position:absolute;left:0}.nav-item svg{flex-shrink:0;width:15px;height:15px}.nav-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.nav-item .badge{font-size:calc(9px * var(--font-scale));background:var(--critical);color:#fff;text-align:center;border-radius:99px;min-width:16px;margin-left:auto;padding:1px 6px;font-weight:700}.nav-scroll{min-height:0;padding-bottom:calc(4px * var(--density));flex:1;overflow-y:auto}.sb-status{padding:calc(10px * var(--density)) calc(14px * var(--density)) calc(8px * var(--density));border-top:1px solid var(--line);font-size:calc(10px * var(--font-scale));color:var(--ink-subtle);background:var(--bg-surface);flex-shrink:0}.sb-status .h{color:var(--em);font-weight:600;font-size:calc(10.5px * var(--font-scale));align-items:center;gap:6px;display:flex}.sb-user{padding:calc(10px * var(--density)) calc(12px * var(--density));border-top:1px solid var(--line);cursor:pointer;background:var(--bg-surface);flex-shrink:0;align-items:center;gap:9px;transition:background .12s;display:flex}.sb-user:hover{background:var(--bg-sunken)}.sb-user-av{background:linear-gradient(135deg, var(--vi), var(--cy));color:#fff;width:30px;height:30px;font-size:calc(11px * var(--font-scale));border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex}.sb-user-meta{flex:1;min-width:0;line-height:1.25}.sb-user-name{font-size:calc(12px * var(--font-scale));color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.sb-user-role{font-size:calc(10px * var(--font-scale));color:var(--ink-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sb-user select{color:var(--ink-muted);font-size:calc(10px * var(--font-scale));cursor:pointer;background:0 0;border:none;outline:none;max-width:100%;font-family:inherit}.more-item{width:100%;padding:calc(7px * var(--density)) calc(9px * var(--density));color:var(--ink);cursor:pointer;font-size:calc(12px * var(--font-scale));text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;text-decoration:none;display:flex}.more-item:hover{background:var(--bg-sunken)}.workspace{flex-direction:column;display:flex;overflow:hidden}.topbar{background:var(--bg-surface);border-bottom:1px solid var(--line);height:var(--header-h);padding:0 calc(18px * var(--density));align-items:center;gap:calc(14px * var(--density));flex-shrink:0;display:flex}.crumbs{flex-direction:column;justify-content:center;gap:0;line-height:1.2;display:flex}.crumbs .h{font-weight:700;font-size:calc(14px * var(--font-scale));color:var(--ink)}.crumbs .s{font-size:calc(10.5px * var(--font-scale));color:var(--ink-subtle);margin-top:2px}html[data-header-skin=inline] .topbar .crumbs .s,html[data-header-skin=inline] .topbar .drp,html:not([data-header-skin=inline]) .inline-header{display:none}.inline-header{align-items:center;margin:0 0 12px}.inline-header .dh-sub{font-size:calc(13px * var(--font-scale));color:var(--ink);align-items:center;gap:6px;display:inline-flex}.inline-header .dh-sub svg{width:15px;height:15px;color:var(--em);flex-shrink:0}.spacer{flex:1}.search-box{width:300px;position:relative}.search-box input{background:var(--bg-sunken);border:1px solid var(--line);border-radius:var(--radius-sm);width:100%;color:var(--ink);font-size:calc(12px * var(--font-scale));outline:none;padding:7px 10px 7px 32px;font-family:inherit}.search-box input:focus{border-color:var(--em)}.search-box svg{width:14px;height:14px;color:var(--ink-subtle);position:absolute;top:50%;left:10px;transform:translateY(-50%)}.search-box .kbd{font-size:calc(9px * var(--font-scale));border:1px solid var(--line-strong);border-radius:var(--radius-sm);color:var(--ink-muted);font-family:var(--font-mono);padding:1px 5px;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.icon-btn{border:1px solid var(--line-strong);background:var(--bg-elevated);color:var(--ink);border-radius:var(--radius-sm);cursor:pointer;justify-content:center;align-items:center;width:32px;height:32px;display:flex;position:relative}.icon-btn:hover{background:var(--bg-sunken)}.icon-btn svg{width:15px;height:15px}.icon-btn .nbadge{background:var(--ro);color:#fff;min-width:15px;height:15px;font-size:calc(9px * var(--font-scale));border:2px solid var(--bg-surface);border-radius:99px;justify-content:center;align-items:center;padding:0 3px;font-weight:700;display:flex;position:absolute;top:-4px;right:-4px}.main{padding:var(--gap-page);flex:1;min-width:0;overflow-y:auto}.live-side{background:var(--bg-surface);border-left:1px solid var(--line);flex-direction:column;display:flex;overflow:hidden}.live-side .live-head{height:var(--header-h);padding:0 calc(16px * var(--density));border-bottom:1px solid var(--line);font-size:calc(12px * var(--font-scale));color:var(--ink);flex-shrink:0;align-items:center;gap:8px;font-weight:700;display:flex}.live-side .live-body{padding:calc(16px * var(--density));font-size:calc(12px * var(--font-scale));color:var(--ink-subtle);flex:1}
.tset-wrap{grid-template-columns:repeat(auto-fill,minmax(380px,1fr));align-items:stretch;gap:16px;display:grid}.tset-wrap .tset-row.actions{grid-column:1/-1}.tset-card{background:var(--bg-surface);border:1px solid var(--line);border-radius:var(--radius);padding:calc(16px * var(--density)) calc(18px * var(--density));box-shadow:var(--shadow-1)}.tset-card h3{font-size:calc(13px * var(--font-scale));color:var(--ink);margin:0 0 2px;font-weight:700}.tset-card .desc{font-size:calc(11.5px * var(--font-scale));color:var(--ink-subtle);margin:0 0 12px}.tset-row{gap:var(--gap-grid);flex-wrap:wrap;align-items:center;display:flex}.theme-colors-row{gap:var(--gap-grid);flex-wrap:wrap;align-items:center;padding:2px;display:flex}.theme-color{cursor:pointer;outline-offset:2px;border:none;border-radius:50%;outline:2px solid #0000;flex-shrink:0;width:28px;height:28px;transition:transform .12s}.theme-color:hover{transform:scale(1.08)}.theme-color.on{outline-color:var(--ink);outline-offset:2px;box-shadow:0 0 0 2px var(--bg-surface)}.theme-opt{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--ink-muted);cursor:pointer;font-size:calc(12px * var(--font-scale));flex-direction:column;align-items:center;gap:4px;min-width:62px;padding:9px 13px;font-family:inherit;transition:border-color .12s,transform .12s,background .12s;display:flex}.theme-opt:hover{border-color:var(--em);transform:translateY(-1px)}.theme-opt.on{border-color:var(--em);background:var(--em-bg);color:var(--em);box-shadow:0 0 0 2px var(--em-bg);font-weight:600}.theme-opt .k{font-size:calc(15px * var(--font-scale));line-height:1}.theme-opt .l{font-size:calc(11px * var(--font-scale))}.theme-opt .prev{border:1px solid var(--line-strong);width:30px;height:16px}.tset-input{background:var(--bg-sunken);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink);font-size:calc(12px * var(--font-scale));outline:none;min-width:160px;padding:7px 10px;font-family:inherit}.tset-input:focus{border-color:var(--em)}.tset-btn{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--ink);font-size:calc(12px * var(--font-scale));cursor:pointer;padding:8px 14px;font-family:inherit;font-weight:600}.tset-btn:hover{background:var(--bg-sunken)}.tset-btn.primary{background:var(--em);border-color:var(--em);color:#fff}.tprev-grid{gap:var(--gap-grid);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));display:grid}.tprev-card{background:var(--bg-surface);border:1px solid var(--line);border-radius:var(--radius);padding:var(--card-py) var(--card-px);box-shadow:var(--shadow-1)}.tprev-card .ch{font-size:calc(11px * var(--font-scale));color:var(--ink-subtle);letter-spacing:.04em;text-transform:uppercase;margin-bottom:8px;font-weight:700}.tprev-kpi{font-size:calc(26px * var(--font-scale));color:var(--ink);font-variant-numeric:tabular-nums;font-weight:700;line-height:1.1}.tprev-kpi.em{color:var(--em)}.tprev-sub{font-size:calc(11px * var(--font-scale));color:var(--ink-muted);margin-top:2px}.sev-badge{font-size:calc(11px * var(--font-scale));border-radius:99px;align-items:center;gap:5px;padding:3px 9px;font-weight:700;display:inline-flex}.sev-badge.critical{background:var(--critical-bg);color:var(--critical)}.sev-badge.high{background:var(--high-bg);color:var(--high)}.sev-badge.medium{background:var(--medium-bg);color:var(--medium)}.sev-badge.low{background:var(--low-bg);color:var(--low)}.sev-badge.success{background:var(--success-bg);color:var(--success)}.tprev-btn{border-radius:var(--radius-sm);font-size:calc(12px * var(--font-scale));cursor:pointer;border:1px solid var(--line-strong);background:var(--bg-elevated);color:var(--ink);padding:7px 13px;font-weight:600}.tprev-btn.em{background:var(--em);border-color:var(--em);color:#fff}.tprev-btn.ghost{color:var(--em);border-color:var(--em);background:0 0}.tprev-table{border-collapse:collapse;width:100%;font-size:calc(12px * var(--font-scale))}.tprev-table th{text-align:left;padding:var(--table-py) calc(10px * var(--density));color:var(--ink-subtle);border-bottom:1px solid var(--line);font-weight:600}.tprev-table td{padding:var(--table-py) calc(10px * var(--density));color:var(--ink);border-bottom:1px solid var(--line)}.tprev-swatches{flex-wrap:wrap;gap:6px;display:flex}.tprev-swatches span{border-radius:var(--radius-sm);border:1px solid var(--line);width:26px;height:26px}
.toast-stack{z-index:1000;pointer-events:none;flex-direction:column;gap:10px;width:340px;display:flex;position:fixed;bottom:24px;right:24px}.toast{background:var(--bg-surface);border:1px solid var(--line-strong);border-radius:var(--radius-lg);padding:calc(12px * var(--density)) calc(14px * var(--density));box-shadow:var(--shadow-2);pointer-events:auto;gap:10px;animation:.25s ease-out toast-in;display:flex;position:relative}@keyframes toast-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.toast.critical{border-left:4px solid var(--critical)}.toast.high{border-left:4px solid var(--high)}.toast.medium{border-left:4px solid var(--medium)}.toast.info,.toast.low{border-left:4px solid var(--low)}.toast.success{border-left:4px solid var(--success)}.toast .ic{border-radius:var(--radius-sm);flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.toast.critical .ic{background:var(--critical-bg);color:var(--critical)}.toast.high .ic{background:var(--high-bg);color:var(--high)}.toast.medium .ic{background:var(--medium-bg);color:var(--medium)}.toast.info .ic,.toast.low .ic{background:var(--low-bg);color:var(--low)}.toast.success .ic{background:var(--success-bg);color:var(--success)}.toast .ic svg{width:16px;height:16px}.toast .b{flex:1;min-width:0}.toast .t{font-size:calc(12px * var(--font-scale));color:var(--ink);margin-bottom:2px;font-weight:700}.toast .m{font-size:calc(11px * var(--font-scale));color:var(--ink-muted);line-height:1.4}.toast .a{gap:6px;margin-top:8px;display:flex}.toast .a button,.toast .a a{font-size:calc(10.5px * var(--font-scale));border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--bg-elevated);color:var(--ink);cursor:pointer;padding:4px 10px;font-family:inherit;font-weight:500;text-decoration:none}.toast .a button.p,.toast .a a.p{background:var(--em);border-color:var(--em);color:#fff}.toast .x{width:20px;height:20px;color:var(--ink-subtle);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:absolute;top:8px;right:8px}.toast .x svg{width:12px;height:12px}.drawer-backdrop{z-index:990;background:#0006;position:fixed;inset:0}.drawer{background:var(--bg-surface);border-left:1px solid var(--line);z-index:991;width:380px;max-width:90vw;box-shadow:var(--shadow-2);flex-direction:column;transition:transform .25s ease-out;display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(100%)}.drawer.on{transform:translate(0)}.drawer-head{padding:calc(14px * var(--density)) calc(18px * var(--density));border-bottom:1px solid var(--line);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.drawer-head .h{font-size:calc(14px * var(--font-scale));align-items:center;gap:var(--gap-grid);color:var(--ink);font-weight:700;display:flex}.drawer-head .h svg{width:16px;height:16px;color:var(--em)}.drawer-list{padding:calc(4px * var(--density)) 0;flex:1;overflow-y:auto}.drawer-item{padding:calc(12px * var(--density)) calc(18px * var(--density));border-bottom:1px solid var(--line);cursor:pointer;color:inherit;gap:10px;text-decoration:none;display:flex}.drawer-item:hover{background:var(--bg-sunken)}.drawer-item.unread{background:var(--em-bg)}.drawer-item .ic{border-radius:var(--radius);flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.drawer-item .ic.critical{background:var(--critical-bg);color:var(--critical)}.drawer-item .ic.high{background:var(--high-bg);color:var(--high)}.drawer-item .ic.medium{background:var(--medium-bg);color:var(--medium)}.drawer-item .ic.info,.drawer-item .ic.low{background:var(--low-bg);color:var(--low)}.drawer-item .ic.success{background:var(--success-bg);color:var(--success)}.drawer-item .ic svg{width:16px;height:16px}.drawer-item .b{flex:1;min-width:0}.drawer-item .b .t{font-size:calc(12px * var(--font-scale));color:var(--ink);font-weight:600}.drawer-item .b .m{font-size:calc(11px * var(--font-scale));color:var(--ink-muted);text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:2px;line-height:1.4;display:-webkit-box;overflow:hidden}.drawer-item .b .ts{font-size:calc(10px * var(--font-scale));color:var(--ink-subtle);font-family:var(--font-mono);margin-top:3px}.drawer-foot{padding:calc(12px * var(--density)) calc(16px * var(--density));border-top:1px solid var(--line);flex-shrink:0}.drawer-empty{padding:calc(40px * var(--density)) calc(20px * var(--density));text-align:center;color:var(--ink-subtle);font-size:calc(12px * var(--font-scale))}
.dashboard-grid{width:100%}.dashboard-header{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.dashboard-header .dh-title{font-size:calc(16px * var(--font-scale));color:var(--ink);font-weight:700;line-height:1.2}.dashboard-header .dh-sub{font-size:calc(12px * var(--font-scale));color:var(--ink-muted)}.tprev-card.w-kpi,.tprev-card.w-chart,.tprev-card.w-grid{flex-direction:column;height:100%;display:flex}.w-kpi>.ch,.w-chart>.ch,.w-grid>.ch{align-items:center;gap:6px;display:flex}.ch svg{color:var(--em);flex-shrink:0}.ch .w-meta{text-transform:none;letter-spacing:0;color:var(--ink-muted);margin-left:auto;font-weight:500}.chart-body{flex:1;min-height:200px;position:relative}.w-skel{border-radius:var(--radius);background:var(--line);width:60%;height:26px;animation:1.2s ease-in-out infinite w-skel}.w-skel.chart{width:100%;height:100%;min-height:180px}.w-muted{height:180px;color:var(--ink-muted);font-size:calc(13px * var(--font-scale));justify-content:center;align-items:center;display:flex}.w-status{text-align:center;height:100%;min-height:120px;color:var(--ink-subtle);flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:20px 14px;display:flex}.w-status svg{opacity:.85}.w-status-label{font-size:calc(12px * var(--font-scale));font-weight:600}.w-status-why{font-size:calc(10.5px * var(--font-scale));color:var(--ink-subtle);max-width:22ch;line-height:1.35}.w-status.muted svg{color:var(--ink-subtle);opacity:.6}.w-status.muted .w-status-label{color:var(--ink-muted);font-weight:500}.w-status.err svg{color:var(--ro);opacity:1}.w-status.err .w-status-label{color:var(--ro)}.w-status.gate svg{color:var(--am);opacity:1}.w-status.gate .w-status-label{color:var(--am)}.w-status.compact{flex-direction:row;justify-content:flex-start;gap:5px;height:auto;min-height:0;padding:2px 0}.w-status.compact .w-status-label{font-size:calc(12.5px * var(--font-scale));font-weight:600}.w-link{color:inherit;height:100%;text-decoration:none;display:block}.w-link:hover .tprev-card{border-color:var(--em)}@keyframes w-skel{0%,to{opacity:1}50%{opacity:.5}}
