@import "https://fonts.googleapis.com/css2?family=Inter+Tight:wght@400;600;700;800&family=Inter:wght@400;500;600;700&family=IBM+Plex+Mono:ital,wght@0,400;0,500;0,600;0,700;1,400&display=swap";:root{--font-display:"Inter Tight", "Inter", -apple-system, system-ui, sans-serif;--font-sans:"Inter", -apple-system, system-ui, sans-serif;--font-mono:"Berkeley Mono", "IBM Plex Mono", "SF Mono", ui-monospace, monospace;--font-alt:var(--font-mono);--text-xxs:10px;--text-xs:11px;--text-sm:12px;--text-base:13px;--text-md:14px;--text-lg:15px;--text-xl:16px;--text-2xl:18px;--sp-1:2px;--sp-2:4px;--sp-3:6px;--sp-4:8px;--sp-5:10px;--sp-6:12px;--sp-7:16px;--sp-8:20px;--radius:6px;--radius-sm:3px;--radius-lg:10px;--radius-full:50%;--shadow:0 1px 2px #0000000a;--shadow-hover:0 2px 8px #00000014;--shadow-modal:0 24px 60px #0000004d;--shadow-kbd:0px 2px 0px 0px #00000012;--shadow-focus:0 0 0 3px #3f734029;--icon-nav:18px;--icon-action:14px;--icon-badge:12px;--grid:36px;--paper:#f8f8f5;--paper-card:#fff;--paper-tint:#f1f1ec;--paper-grid:#0000000b;--rule:#0000001a;--rule-strong:#0003;--ink:#0f0f10;--ink-soft:#2a2a2c;--ink-mid:#555558;--ink-dim:#8b8b8e;--ink-faint:#b8b8b3;--green:#3f7340;--green-mid:#6a9a6c;--green-deep:#2e4730;--warn:#b8830a;--danger:#b03030;--info:#3a5e8c;--teal:#1b8073;--plum:#5b4b8a;--chrome:#edebe4;--skel-hi:#e9e9e2;--grad-cell:linear-gradient(to bottom, #87ba87, #4c8c4c);--grad-primary:linear-gradient(to bottom, #4c8147, #3f7340);--grad-primary-hover:linear-gradient(to bottom, #3f7340, #346134);--grad-card:linear-gradient(to bottom, var(--paper-card), color-mix(in srgb, var(--paper-card) 86%, var(--paper-tint)));--grad-header:linear-gradient(to bottom, color-mix(in srgb, var(--paper-card) 55%, var(--paper-tint)), var(--paper-tint));--background:var(--paper-card);--background-alt:var(--paper-card);--muted:var(--paper);--foreground:var(--ink);--foreground-alt:var(--ink-soft);--muted-foreground:var(--ink-dim);--border:var(--rule-strong);--border-input:var(--rule-strong);--border-input-hover:var(--ink-faint);--border-card:var(--rule);--dark:var(--ink);--dark-04:#0000000a;--dark-10:#00000014;--dark-40:var(--ink-dim);--accent:var(--green);--accent-foreground:var(--green-deep);--destructive:var(--danger);--tertiary:var(--warn);--contrast:var(--ink);--sparkline-color:var(--green)}.dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paper:#171814;--paper-card:#1f211b;--paper-tint:#272921;--paper-grid:#ffffff0d;--rule:#ffffff1f;--rule-strong:#ffffff3d;--ink:#f0f0ea;--ink-soft:#d7d7d0;--ink-mid:#a7a7a0;--ink-dim:#82827b;--ink-faint:#575751;--green:#5f975f;--green-mid:#82b382;--green-deep:#22381f;--warn:#d3a338;--danger:#d05c5c;--info:#7c9fc8;--teal:#4fa99c;--plum:#9b8ac2;--chrome:#1b1c17;--skel-hi:#2e3029;--grad-primary:linear-gradient(to bottom, #69a169, #578f57);--grad-primary-hover:linear-gradient(to bottom, #79b179, #69a169);--shadow:0 1px 2px #0000004d;--shadow-hover:0 2px 8px #0006;--shadow-modal:0 24px 60px #0000008c;--shadow-kbd:0px 2px 0px 0px #ffffff12;--shadow-focus:0 0 0 3px #5f975f38}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);font-size:var(--text-base);background-color:var(--paper);background-image:linear-gradient(to right, var(--paper-grid) 1px, transparent 1px), linear-gradient(to bottom, var(--paper-grid) 1px, transparent 1px);background-size:var(--grid) var(--grid);color:var(--ink);letter-spacing:-.004em;-webkit-font-smoothing:antialiased;font-feature-settings:"cv05" 1, "calt" 1;overscroll-behavior:none;background-attachment:fixed;line-height:1.5}img,svg{display:block}::selection{background:#3f734038}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);font-weight:700;line-height:1.15}.eyebrow{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.24em;text-transform:uppercase;color:var(--ink-dim);font-weight:700;display:inline-block}.app-shell{grid-template-rows:56px 1fr;grid-template-columns:240px 1fr;height:100vh;display:grid;overflow:hidden}.topbar{padding:0 var(--sp-7);background:var(--paper-card);border-bottom:1px solid var(--rule);grid-column:1/-1;justify-content:space-between;align-items:center;height:56px;display:flex}.topbar-left{align-items:center;gap:var(--sp-5);display:flex}.topbar-meta{align-items:center;gap:var(--sp-6);font-size:var(--text-sm);color:var(--ink-mid);display:flex}.logo{align-items:center;gap:var(--sp-4);font-family:var(--font-display);font-size:var(--text-xl);letter-spacing:-.01em;text-transform:uppercase;color:var(--ink);font-weight:800;display:flex}.logo img{width:26px;height:26px}.logo span{color:var(--ink-dim);text-transform:none;letter-spacing:0;font-weight:600}.sidebar{background:var(--chrome);border-right:1px solid var(--rule-strong);padding:var(--sp-5) var(--sp-4);overflow-y:auto}.sidebar-section{margin-bottom:var(--sp-6)}.sidebar-section-title{padding:var(--sp-3) var(--sp-5) var(--sp-2);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.2em;color:var(--ink-faint);font-size:9px;font-weight:700}.sidebar-item{align-items:center;gap:var(--sp-4);padding:var(--sp-4) var(--sp-5);font-size:var(--text-md);color:var(--ink-mid);cursor:pointer;border-radius:var(--radius);margin:1px 0;font-weight:500;text-decoration:none;transition:background .13s,color .13s;display:flex;position:relative}.sidebar-item:hover{color:var(--ink);background:#0000000a}.dark .sidebar-item:hover{background:#ffffff0d}.sidebar-item.active{color:var(--ink);background:var(--paper-card);box-shadow:0 1px 2px #0000000f, inset 0 0 0 1px var(--rule);font-weight:600}.sidebar-item .nav-ico{color:var(--ink-dim);font-size:var(--icon-nav);width:18px;display:inline-flex}.sidebar-item.active .nav-ico{color:var(--green)}.sidebar-item:before,.sidebar-item:after{content:"";opacity:0;pointer-events:none;width:9px;height:9px;transition:opacity .14s;position:absolute}.sidebar-item:before{border-left:1.5px solid var(--green);border-top:1.5px solid var(--green);border-top-left-radius:calc(var(--radius) + 2px);top:-3px;left:-3px}.sidebar-item:after{border-right:1.5px solid var(--green);border-bottom:1.5px solid var(--green);border-bottom-right-radius:calc(var(--radius) + 2px);bottom:-3px;right:-3px}.sidebar-item:hover:before,.sidebar-item:hover:after{opacity:1}.main{padding:var(--sp-8);gap:var(--sp-8);background-color:var(--paper);background-image:linear-gradient(90deg,#00000006 1px,#0000 1px),linear-gradient(#00000006 1px,#0000 1px);background-size:var(--grid) var(--grid);flex-direction:column;display:flex;overflow-y:auto}.dark .main{background-image:linear-gradient(90deg,#ffffff08 1px,#0000 1px),linear-gradient(#ffffff08 1px,#0000 1px)}.page-header{justify-content:space-between;align-items:flex-end;gap:var(--sp-6);display:flex}.page-title{font-family:var(--font-display);letter-spacing:-.025em;color:var(--ink);font-size:1.5rem;font-weight:800;line-height:1.1}.page-subtitle{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.04em;color:var(--ink-dim);margin-top:4px;line-height:1.4}.panel{background:var(--paper-card);border:1px solid var(--rule);border-radius:var(--radius);box-shadow:var(--shadow);position:relative}.panel-header{padding:var(--sp-5) var(--sp-6);border-bottom:1px solid var(--rule);background:var(--grad-header);border-radius:calc(var(--radius) - 1px) calc(var(--radius) - 1px) 0 0;justify-content:space-between;align-items:center;display:flex}.panel-title{font-family:var(--font-display);font-size:var(--text-md);letter-spacing:-.01em;color:var(--ink);align-items:center;font-weight:700;display:flex}.panel-actions{gap:var(--sp-4);display:flex}.stats-row{gap:var(--sp-4);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));display:grid}.stat-card{background:var(--paper-card);border:1px solid var(--rule);border-radius:var(--radius);padding:var(--sp-5) var(--sp-6);box-shadow:var(--shadow);flex-direction:column;gap:4px;display:flex;position:relative}.stat-label{font-family:var(--font-mono);font-size:var(--text-xxs);text-transform:uppercase;letter-spacing:.16em;color:var(--ink-dim);font-weight:700}.stat-value{font-family:var(--font-display);letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--ink);font-size:1.4rem;font-weight:800;line-height:1}.stat-value.success{color:var(--green)}.stat-value.warning{color:var(--warn)}.stat-value.error{color:var(--danger)}.stat-change{font-size:var(--text-xxs);font-family:var(--font-mono);color:var(--ink-dim)}.stat-strip{grid-template-columns:repeat(var(--cols,4), 1fr);background:var(--paper-card);border:1px solid var(--rule);border-radius:var(--radius);box-shadow:var(--shadow);display:grid;overflow:hidden}.stat-strip .cell{padding:var(--sp-6) var(--sp-7);border-right:1px solid var(--rule);position:relative}.stat-strip .cell:last-child{border-right:none}.stat-strip .cell .l{font-family:var(--font-mono);font-size:var(--text-xxs);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-dim);margin-bottom:var(--sp-4);font-weight:700}.stat-strip .cell .v{font-family:var(--font-display);letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--ink);font-size:1.7rem;font-weight:800;line-height:1}.stat-strip .cell .v.pos{color:var(--green)}.stat-strip .cell .v.neg{color:var(--danger)}.stat-strip .cell .h{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--ink-dim);margin-top:var(--sp-3)}@media (width<=760px){.stat-strip{grid-template-columns:repeat(2,1fr)}.stat-strip .cell:nth-child(2n){border-right:none}}.section-title{font-family:var(--font-mono);font-size:var(--text-xxs);text-transform:uppercase;letter-spacing:.16em;color:var(--ink-dim);font-weight:700}.section-header{width:100%;padding:var(--sp-4) var(--sp-5);cursor:pointer;justify-content:space-between;align-items:center;transition:background .1s;display:flex}.section-header:hover{background:var(--paper-tint)}.btn{font-family:var(--font-display);font-size:var(--text-sm);letter-spacing:-.004em;border-radius:var(--radius);cursor:pointer;border:1px solid var(--rule-strong);color:var(--ink);background:var(--grad-card);justify-content:center;align-items:center;gap:7px;font-weight:600;text-decoration:none;transition:all .13s;display:inline-flex;position:relative}.btn-sm{font-size:var(--text-xs);padding:5px 11px}.btn-md{padding:7px 14px}.btn-lg{font-size:var(--text-md);padding:9px 18px}.btn:hover{border-color:var(--ink)}.btn-primary{background:var(--grad-primary);color:#fff;border-color:#2c5430}.btn-primary:hover{background:var(--grad-primary-hover);border-color:#24432a}.btn-secondary{background:var(--grad-card);color:var(--ink);border:1px solid var(--rule-strong)}.btn-secondary:hover{border-color:var(--ink)}.btn-ghost{color:var(--ink-mid);background:0 0;border:1px solid #0000;padding:5px 8px}.btn-ghost:hover{background:var(--paper-tint);color:var(--ink);border-color:#0000}.btn-danger{color:#fff;background:linear-gradient(#bd3d3d,#a82c2c);border:1px solid #7e2222}.btn-danger:hover{background:linear-gradient(#a83232,#8f2626)}.btn:focus-visible{outline:2px solid var(--green);outline-offset:2px}.btn:before,.btn:after{content:"";opacity:0;pointer-events:none;width:10px;height:10px;transition:opacity .14s;position:absolute}.btn:before{border-left:1.5px solid var(--green);border-top:1.5px solid var(--green);border-top-left-radius:calc(var(--radius) + 3px);top:-4px;left:-4px}.btn:after{border-right:1.5px solid var(--green);border-bottom:1.5px solid var(--green);border-bottom-right-radius:calc(var(--radius) + 3px);bottom:-4px;right:-4px}.btn:hover:before,.btn:hover:after{opacity:1}.btn-sm:not(.btn){font-family:var(--font-display);font-size:var(--text-xs);background:var(--grad-card);border:1px solid var(--rule-strong);border-radius:var(--radius);color:var(--ink);cursor:pointer;padding:5px 11px;font-weight:600;transition:all .13s;position:relative}.btn-sm:not(.btn):hover{color:var(--ink);border-color:var(--ink)}.btn-sm:not(.btn):focus-visible{outline:2px solid var(--green);outline-offset:2px}.btn-sm.primary:not(.btn){background:var(--grad-primary);color:#fff;border-color:#2c5430}.btn-sm.primary:not(.btn):hover{background:var(--grad-primary-hover);border-color:#24432a}.btn-sm.danger:not(.btn){background:var(--paper-card);color:var(--danger);border-color:#b0303066}.btn-sm.danger:not(.btn):hover{border-color:var(--danger);background:#b0303014}.seg{border:1px solid var(--rule);background:var(--paper-tint);border-radius:999px;align-items:center;gap:2px;padding:3px;display:inline-flex}.seg button{font-family:var(--font-display);font-size:var(--text-xxs);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-mid);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:4px 12px;font-family:inherit;font-weight:700;transition:all .14s}.seg button.on{background:var(--grad-primary);color:#fff;box-shadow:0 1px 2px #0000001f}.seg button:not(.on):hover{color:var(--ink)}.dense-table{border-collapse:separate;border-spacing:0;width:100%;font-size:var(--text-xs);font-variant-numeric:tabular-nums}.dense-table th{text-align:left;padding:var(--sp-3) var(--sp-6);font-family:var(--font-mono);font-size:var(--text-xxs);text-transform:uppercase;letter-spacing:.14em;color:var(--ink-mid);background:var(--grad-header);border-bottom:1px solid var(--rule-strong);z-index:1;font-weight:700;position:sticky;top:0}.dense-table td{padding:var(--sp-3) var(--sp-6);border-bottom:1px solid var(--rule);color:var(--ink-soft);white-space:nowrap}.dense-table tbody tr:last-child td{border-bottom:none}.dense-table tr:hover td{background:var(--paper-tint)}.dense-table .cell-name{color:var(--ink);font-weight:600}.dense-table .cell-link{color:var(--green)}.dense-table .cell-mono{font-family:var(--font-mono);font-size:var(--text-xxs);color:var(--ink-dim)}.num-pos{color:var(--green);font-weight:600}.num-neg{color:var(--danger);font-weight:600}.tag{font-family:var(--font-mono);font-size:var(--text-xxs);letter-spacing:.04em;border:1px solid var(--rule-strong);color:var(--ink-mid);border-radius:999px;align-items:center;gap:5px;padding:2px 10px;font-weight:600;display:inline-flex}.tag-green{color:var(--green);background:linear-gradient(#3f734008,#3f73401f);border-color:#3f734066}.tag-amber{color:var(--warn);background:linear-gradient(#b8830a0a,#b8830a24);border-color:#b8830a73}.tag-red{color:var(--danger);background:linear-gradient(#b0303008,#b030301c);border-color:#b0303066}.tag-blue{color:var(--info);background:linear-gradient(#3a5e8c08,#3a5e8c1c);border-color:#3a5e8c59}.tag-teal{color:var(--teal);background:linear-gradient(#1b807308,#1b80731f);border-color:#1b807359}.tag-purple{color:var(--plum);background:linear-gradient(#5b4b8a08,#5b4b8a1f);border-color:#5b4b8a59}.tag-gray{color:var(--ink-mid);border-color:var(--rule-strong);background:var(--paper-tint)}.badge{font-family:var(--font-mono);font-size:var(--text-xxs);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-mid);border:1px solid var(--rule-strong);border-radius:999px;align-items:center;gap:6px;padding:3px 11px;font-weight:700;display:inline-flex}.badge-count{font-family:var(--font-mono);font-size:var(--text-xxs);letter-spacing:0;text-transform:none}.badge-success{color:var(--green);background:linear-gradient(#3f734008,#3f73401f);border-color:#3f734066}.badge-warning{color:var(--warn);background:linear-gradient(#b8830a0a,#b8830a24);border-color:#b8830a73}.badge-danger{color:var(--danger);background:linear-gradient(#b0303008,#b030301c);border-color:#b0303066}.dot{background:linear-gradient(to bottom, color-mix(in srgb, currentColor 55%, #fff), currentColor);border-radius:50%;width:7px;height:7px}.status-dot{border-radius:var(--radius-full);flex-shrink:0;width:7px;height:7px}.status-dot.up,.status-dot.active{background:var(--green)}.status-dot.warn,.status-dot.warning{background:var(--warn)}.status-dot.down,.status-dot.error{background:var(--danger)}.online-dot{border-radius:var(--radius-full);background:var(--green);width:7px;height:7px;display:inline-block;box-shadow:0 0 0 3px #3f734029}.input,.textarea{font-family:var(--font-sans);font-size:var(--text-base);border:1px solid var(--rule-strong);border-radius:var(--radius);background:var(--paper-card);color:var(--ink);outline:none;padding:8px 11px;transition:border-color .14s,box-shadow .14s}.textarea{resize:vertical}.input:hover,.textarea:hover{border-color:var(--ink-faint)}.input:focus,.textarea:focus{border-color:var(--green);box-shadow:var(--shadow-focus)}.input::placeholder,.textarea::placeholder{color:var(--ink-faint)}.label{font-family:var(--font-mono);font-size:var(--text-xxs);text-transform:uppercase;letter-spacing:.12em;color:var(--ink-dim);font-weight:700}.field-group{flex-direction:column;gap:6px;display:flex}.alert{border-radius:var(--radius);padding:var(--sp-5) var(--sp-6);border:1px solid}.alert-title{font-family:var(--font-display);font-weight:700;font-size:var(--text-base);margin-bottom:2px}.alert-text{font-size:var(--text-sm)}.alert-warning{background:#b8830a17;border-color:#b8830a73}.alert-warning .alert-title,.alert-warning .alert-text{color:var(--warn)}.alert-info{background:#3a5e8c0f;border-color:#3a5e8c59}.alert-info .alert-title,.alert-info .alert-text{color:var(--info)}.alert-error{background:#b030300f;border-color:#b0303066}.alert-error .alert-title,.alert-error .alert-text{color:var(--danger)}.alert-success{background:#3f734012;border-color:#3f734066}.alert-success .alert-title,.alert-success .alert-text{color:var(--green)}.modal-overlay{z-index:100;background:#0f0f1080;position:fixed;inset:0}.modal{background:var(--paper-card);border:1px solid var(--rule-strong);border-radius:var(--radius);width:420px;max-width:90vw;box-shadow:var(--shadow-modal);padding:var(--sp-7);z-index:101;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.modal-title{font-family:var(--font-display);font-size:var(--text-xl);margin-bottom:var(--sp-6);font-weight:700}.kv-list{padding:var(--sp-3) var(--sp-6)}.kv-row{justify-content:space-between;gap:var(--sp-6);padding:var(--sp-3) 0;border-bottom:1px solid var(--rule);font-size:var(--text-xs);display:flex}.kv-row:last-child{border-bottom:none}.kv-key{font-family:var(--font-mono);color:var(--ink-dim);font-size:var(--text-xxs);letter-spacing:.1em;text-transform:uppercase;font-weight:700}.kv-val{color:var(--ink);font-weight:500}.chip{font-family:var(--font-mono);font-size:var(--text-xxs);letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--rule-strong);color:var(--ink-mid);border-radius:999px;align-items:center;gap:6px;padding:3px 11px;font-weight:700;display:inline-flex}.chip.green{color:var(--green);background:linear-gradient(#3f734008,#3f73401f);border-color:#3f734066}.chip.info{color:var(--info);background:linear-gradient(#3a5e8c08,#3a5e8c1c);border-color:#3a5e8c59}.chip.teal{color:var(--teal);background:linear-gradient(#1b807308,#1b80731f);border-color:#1b807359}.chip.warn{color:var(--warn);background:linear-gradient(#b8830a0a,#b8830a24);border-color:#b8830a73}.chip.plum{color:var(--plum);background:linear-gradient(#5b4b8a08,#5b4b8a1f);border-color:#5b4b8a59}.chip.gray{color:var(--ink-mid);border-color:var(--rule-strong);background:var(--paper-tint)}.log-entries{font-family:var(--font-mono);font-size:var(--text-xs);padding:var(--sp-4) var(--sp-6);line-height:1.7}.log-entry{gap:var(--sp-5);display:flex}.log-time{color:var(--ink-dim);flex-shrink:0}.log-level{text-align:right;flex-shrink:0;width:36px;font-weight:600}.log-level.info{color:var(--info)}.log-level.warn{color:var(--warn)}.log-level.err{color:var(--danger)}.log-service{color:var(--plum);flex-shrink:0;width:80px}.log-msg{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sparkline{align-items:flex-end;gap:1px;height:16px;display:flex}.sparkline .bar{background:var(--sparkline-color);opacity:.7;border-radius:1px 1px 0 0;width:3px}.cmd-hint{font-size:var(--text-xs);color:var(--ink-dim);align-items:center;gap:var(--sp-2);display:flex}.kbd{background:var(--paper-card);border:1px solid var(--rule-strong);border-radius:var(--radius-sm);font-size:9px;font-family:var(--font-mono);color:var(--ink-soft);border-bottom-width:2px;padding:2px 6px;line-height:1.6;display:inline-block}.grid-2{gap:var(--sp-8);grid-template-columns:1fr 1fr;display:grid}.grid-3{gap:var(--sp-8);grid-template-columns:1fr 1fr 1fr;display:grid}.text-muted{color:var(--ink-dim)}.text-mono{font-family:var(--font-mono)}.panel,.stat-card,.stat-strip .cell{position:relative}.panel:before,.stat-card:before,.stat-strip .cell:before{content:"";border-left:1.5px solid var(--green);border-top:1.5px solid var(--green);border-top-left-radius:calc(var(--radius) + 3px);opacity:0;pointer-events:none;z-index:2;width:10px;height:10px;transition:opacity .14s;position:absolute;top:-4px;left:-4px}.panel:after,.stat-card:after,.stat-strip .cell:after{content:"";border-right:1.5px solid var(--green);border-bottom:1.5px solid var(--green);border-bottom-right-radius:calc(var(--radius) + 3px);opacity:0;pointer-events:none;z-index:2;width:10px;height:10px;transition:opacity .14s;position:absolute;bottom:-4px;right:-4px}.stat-card:hover:before,.stat-card:hover:after,.stat-strip .cell:hover:before,.stat-strip .cell:hover:after{opacity:1}.panel:hover:not(:has(.panel:hover,button:hover,a:hover,input:hover,textarea:hover)):before{opacity:1}.panel:hover:not(:has(.panel:hover,button:hover,a:hover,input:hover,textarea:hover)):after{opacity:1}:focus-visible{outline:2px solid var(--green);outline-offset:2px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes scale-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=640px){.app-shell{grid-template-columns:1fr}.sidebar{display:none}.topbar{padding:0 var(--sp-5)}.topbar-meta{gap:var(--sp-3);font-size:var(--text-xs)}.topbar-meta>span:first-child{display:none}.main{padding:var(--sp-5);gap:var(--sp-5)}.page-header{gap:var(--sp-3);flex-wrap:wrap}.panel-header{padding:var(--sp-3) var(--sp-4);row-gap:var(--sp-1);flex-wrap:wrap}.dense-table th,.dense-table td{padding:var(--sp-2) var(--sp-3)}.btn-sm:not(.btn){min-height:36px;padding:6px 10px}.stats-row{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.stat-strip{grid-template-columns:1fr 1fr}}
