:root{--navy: #002b5c;--navy-2: #013a78;--navy-3: #001b3a;--gold: #fcb940;--gold-2: #f58025;--bg: #f4f6f9;--panel: #ffffff;--panel-2: #f0f3f7;--panel-3: #e9eef4;--text: #1a2230;--muted: #5d6b7e;--muted-2: #8493a6;--border: #e1e7ee;--border-2: #d4dde7;--good: #1f9d57;--good-bg: #eaf7ef;--good-border: #b9e3c8;--bad: #d23b3b;--bad-bg: #fdecec;--bad-border: #f5c2c2;--warn: #d98a17;--accent: var(--navy);--sh-1: 0 1px 2px rgba(16, 35, 60, .05);--sh-2: 0 2px 8px rgba(16, 35, 60, .07), 0 1px 2px rgba(16, 35, 60, .04);--sh-3: 0 8px 28px rgba(16, 35, 60, .12), 0 2px 6px rgba(16, 35, 60, .06);--sh-4: 0 18px 50px rgba(16, 35, 60, .18);--ring: 0 0 0 3px rgba(1, 58, 120, .18);--ring-gold: 0 0 0 3px rgba(252, 185, 64, .35);--r-sm: 8px;--r: 10px;--r-lg: 14px;--r-xl: 18px;--ease: cubic-bezier(.4, 0, .2, 1);--t-fast: .12s var(--ease);--t: .18s var(--ease);--t-slow: .3s var(--ease);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-size:14px;line-height:1.5}a{color:var(--navy-2);text-decoration:none;transition:color var(--t-fast)}a:hover{color:var(--gold-2)}::selection{background:#fcb9404d}.muted{color:var(--muted)}.small{font-size:13px}.tiny{font-size:11px}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Cascadia Mono,monospace;font-variant-numeric:tabular-nums}.right{text-align:right}.num{text-align:right;font-variant-numeric:tabular-nums}.link{cursor:pointer}.strong{font-weight:700}.uppercase{text-transform:uppercase;letter-spacing:.6px}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.center{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.app-shell,.shell{display:grid;grid-template-columns:252px 1fr;min-height:100vh}.sidebar{background:linear-gradient(178deg,var(--navy-2) 0%,var(--navy) 42%,var(--navy-3) 100%);color:#dfe7f1;display:flex;flex-direction:column;padding:20px 14px;position:sticky;top:0;height:100vh;overflow-y:auto;border-right:1px solid rgba(0,0,0,.2)}.sidebar::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-thumb{background:#ffffff24;border-radius:999px}.brand,.brand-chip{background:#fff;border-radius:var(--r);padding:10px 12px;display:flex;align-items:center;gap:10px;margin:2px 4px 6px;box-shadow:0 2px 10px #0000002e}.brand img,.brand-chip img{height:26px;width:auto;display:block}.brand-sub{color:var(--gold);font-size:11px;letter-spacing:1.6px;text-transform:uppercase;padding:0 8px 16px}.nav,.sidebar nav{display:flex;flex-direction:column;gap:3px;margin-top:4px}.nav-link,.sidebar nav a{color:#b9c6d8;padding:9px 12px;border-radius:var(--r-sm);font-size:14px;font-weight:500;border-left:3px solid transparent;display:flex;align-items:center;gap:10px;cursor:pointer;transition:background var(--t-fast),color var(--t-fast),border-color var(--t-fast)}.nav-link:hover,.sidebar nav a:hover{background:#ffffff12;color:#fff}.nav-link.active,.sidebar nav a.active{background:linear-gradient(90deg,#fcb9402e,#fcb9400a);color:#fff;border-left-color:var(--gold)}.nav-link svg,.nav-link .ico{flex:0 0 auto;opacity:.85}.sidebar-foot{margin-top:auto;padding-top:16px;border-top:1px solid rgba(255,255,255,.1)}.who{padding:6px 8px 12px}.who .email{font-size:13px;color:#fff}.who .role{font-size:12px;color:var(--gold);text-transform:capitalize}.content{padding:30px 38px 64px;max-width:1240px;width:100%;margin:0 auto}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px;flex-wrap:wrap}.page-title,h1{font-size:24px;line-height:1.2;margin:0 0 5px;color:var(--navy);font-weight:700;letter-spacing:-.3px}.page-sub,.subtitle{color:var(--muted);margin:0;font-size:14px;max-width:70ch}.header-actions{display:flex;gap:10px;align-items:center;flex-shrink:0}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg);padding:18px;margin-bottom:18px;box-shadow:var(--sh-1);transition:box-shadow var(--t),border-color var(--t),transform var(--t)}.card.hover:hover,.card.interactive:hover{box-shadow:var(--sh-2);border-color:var(--border-2)}.card.flush{margin-bottom:0}.card-pad{padding:18px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.card-head h2{font-size:16px;margin:0;color:var(--navy);font-weight:700}.panel{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--r);padding:14px 16px}.section{margin-top:28px}.section-title{font-size:13px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.8px;margin:0 0 12px;display:flex;align-items:center;justify-content:space-between;gap:12px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.grid.grid-2{grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}.grid.grid-3{grid-template-columns:repeat(3,1fr)}.ok{color:var(--good)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}.col-stack{display:flex;flex-direction:column;gap:18px}.two-col.wide-left{grid-template-columns:1.6fr 1fr}.two-col.wide-right{grid-template-columns:1fr 1.6fr}.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:16px}.toolbar .spacer{flex:1}.divider{height:1px;background:var(--border);border:0;margin:18px 0}.divider.text{text-align:center;color:var(--muted);font-size:12px;height:auto;background:none;position:relative}.row{display:flex;align-items:center;gap:10px}.row.between{justify-content:space-between}.row.wrap{flex-wrap:wrap}.spacer{flex:1}.stat{position:relative;min-height:104px;padding-bottom:22px}.stat-spark{position:absolute;left:14px;right:14px;bottom:10px}.stat-label{color:var(--muted);font-size:13px;font-weight:500}.stat-value{font-size:28px;font-weight:700;margin:6px 0 4px;color:var(--navy);letter-spacing:-.5px;font-variant-numeric:tabular-nums;line-height:1.1}.stat-sub{color:var(--muted);font-size:13px}.stat.wide{max-width:480px}.stat-delta{display:inline-flex;align-items:center;gap:3px;font-size:12px;font-weight:700;padding:1px 7px;border-radius:999px;vertical-align:middle}.stat-delta.up{color:var(--good);background:var(--good-bg)}.stat-delta.down{color:var(--bad);background:var(--bad-bg)}.stat-delta.up:before{content:"▲";font-size:8px}.stat-delta.down:before{content:"▼";font-size:8px}.meter{height:8px;background:var(--panel-3);border-radius:999px;overflow:hidden;margin-top:10px}.meter-fill,.meter>span{display:block;height:100%;width:0;border-radius:999px;background:linear-gradient(90deg,var(--gold),var(--gold-2));transition:width var(--t-slow)}.meter.navy .meter-fill,.meter.navy>span{background:linear-gradient(90deg,var(--navy-2),var(--navy))}.meter.good .meter-fill,.meter.good>span{background:linear-gradient(90deg,#2bbf72,var(--good))}.meter.bad .meter-fill,.meter.bad>span{background:linear-gradient(90deg,#e56767,var(--bad))}.catalog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}.tpl-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg);padding:18px;cursor:pointer;position:relative;overflow:hidden;transition:box-shadow var(--t),border-color var(--t),transform var(--t);display:flex;flex-direction:column;gap:10px}.tpl-card:before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(90deg,var(--gold),var(--gold-2));opacity:0;transition:opacity var(--t)}.tpl-card:hover{box-shadow:var(--sh-3);border-color:var(--border-2);transform:translateY(-2px)}.tpl-card:hover:before{opacity:1}.tpl-card.featured{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold),var(--sh-1)}.tpl-card.featured:before{opacity:1}.tpl-card.selected{border-color:var(--navy-2);box-shadow:var(--ring)}.tpl-icon{width:44px;height:44px;border-radius:var(--r);display:flex;align-items:center;justify-content:center;font-size:22px;background:linear-gradient(135deg,var(--navy-2),var(--navy));color:var(--gold);flex:0 0 auto}.tpl-title{font-size:16px;font-weight:700;color:var(--navy);margin:0}.tpl-desc{font-size:13px;color:var(--muted);line-height:1.5;margin:0;flex:1}.tag-row{display:flex;flex-wrap:wrap;gap:6px}.tag{font-size:11px;padding:2px 8px;border-radius:6px;background:var(--panel-2);color:var(--muted);border:1px solid var(--border);font-weight:500}.machine-card{border:1px solid var(--border);border-radius:var(--r);padding:12px 14px;cursor:pointer;background:var(--panel);transition:border-color var(--t-fast),box-shadow var(--t-fast),background var(--t-fast);display:flex;flex-direction:column;gap:4px}.machine-card:hover{border-color:var(--border-2);background:var(--panel-2)}.machine-card.selected{border-color:var(--gold);background:#fffaf0;box-shadow:var(--ring-gold)}.price{font-size:14px;font-weight:700;color:var(--navy);font-variant-numeric:tabular-nums}.price-lg{font-size:30px;font-weight:800;color:var(--navy);letter-spacing:-.5px;font-variant-numeric:tabular-nums}.price-lg small{font-size:14px;font-weight:600;color:var(--muted)}button,.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:9px 16px;border-radius:var(--r-sm);border:1px solid var(--border-2);background:#fff;color:var(--navy);font-weight:600;font-size:14px;font-family:inherit;cursor:pointer;transition:background var(--t-fast),border-color var(--t-fast),color var(--t-fast),box-shadow var(--t-fast),transform var(--t-fast);white-space:nowrap;line-height:1.2}button:hover,.btn:hover{border-color:var(--navy-2);background:var(--panel-2)}button:active,.btn:active{transform:translateY(1px)}button:focus-visible,.btn:focus-visible{outline:none;box-shadow:var(--ring)}button:disabled,.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}button.primary,.btn.primary{background:linear-gradient(180deg,var(--gold) 0%,#f7ad2f 100%);border-color:var(--gold-2);color:#2a1c00;box-shadow:0 1px 2px #f5802540}button.primary:hover,.btn.primary:hover{background:linear-gradient(180deg,var(--gold-2),#e0700f);border-color:var(--gold-2);color:#fff}button.primary:focus-visible,.btn.primary:focus-visible{box-shadow:var(--ring-gold)}button.ghost,.btn.ghost{background:transparent;border-color:transparent;color:var(--muted)}button.ghost:hover,.btn.ghost:hover{background:var(--panel-2);color:var(--navy);border-color:transparent}button.danger,.btn.danger{background:#fff;border-color:var(--bad-border);color:var(--bad)}button.danger:hover,.btn.danger:hover{background:var(--bad);border-color:var(--bad);color:#fff}.link-btn{background:none;border:none;padding:0;margin:0;font:inherit;color:var(--navy);cursor:pointer;text-align:left}.link-btn:hover{color:var(--gold-2);text-decoration:underline}.breadcrumbs{display:flex;flex-wrap:wrap;align-items:center}button.small,.btn.small{padding:5px 11px;font-size:13px;border-radius:7px}button.block,.btn.block{display:flex;width:100%}.field{display:block;margin-bottom:14px}.field>label,label.field-label{display:block;font-size:13px;color:var(--muted);margin:0 0 6px;font-weight:500}.field-hint{font-size:12px;color:var(--muted-2);margin-top:5px}.field-row{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}.field-row>.field{flex:1;margin-bottom:0}.login label,.controls label,.form-grid label{display:block;font-size:13px;color:var(--muted);margin:12px 0 0;font-weight:500}input,select,textarea{width:100%;margin-top:0;padding:9px 12px;border-radius:var(--r-sm);border:1px solid var(--border-2);background:#fff;color:var(--text);font-size:14px;font-family:inherit;transition:border-color var(--t-fast),box-shadow var(--t-fast)}.login input,.login select,.login textarea,.form-grid input,.form-grid select{margin-top:6px}input::placeholder,textarea::placeholder{color:var(--muted-2)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--navy-2);box-shadow:var(--ring)}input:disabled,select:disabled,textarea:disabled{background:var(--panel-2);color:var(--muted);cursor:not-allowed}textarea{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;resize:vertical;min-height:80px}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'><path d='M2 4l4 4 4-4' fill='none' stroke='%235d6b7e' stroke-width='1.6' stroke-linecap='round'/></svg>");background-repeat:no-repeat;background-position:right 11px center;padding-right:32px}.search{position:relative;display:inline-flex;align-items:center}.search input{padding-left:34px;width:260px;max-width:100%}.search:before{content:"";position:absolute;left:11px;width:14px;height:14px;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'><circle cx='6' cy='6' r='4.5' fill='none' stroke='%235d6b7e' stroke-width='1.4'/><path d='M9.5 9.5L13 13' stroke='%235d6b7e' stroke-width='1.4' stroke-linecap='round'/></svg>") no-repeat center;pointer-events:none;opacity:.8}.seg{display:inline-flex;background:var(--panel-2);border:1px solid var(--border);border-radius:var(--r-sm);padding:3px;gap:2px}.seg-btn{border:none;background:transparent;color:var(--muted);font-size:13px;font-weight:600;padding:5px 14px;border-radius:6px;cursor:pointer;transition:background var(--t-fast),color var(--t-fast),box-shadow var(--t-fast)}.seg-btn:hover{color:var(--navy);background:transparent}.seg-btn.active{background:#fff;color:var(--navy);box-shadow:var(--sh-1)}.slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:6px;border-radius:999px;background:var(--panel-3);outline:none;margin:8px 0;padding:0;cursor:pointer}.slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:#fff;border:2px solid var(--gold-2);box-shadow:var(--sh-1);cursor:pointer;transition:transform var(--t-fast),box-shadow var(--t-fast)}.slider::-webkit-slider-thumb:hover{transform:scale(1.12);box-shadow:var(--ring-gold)}.slider::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#fff;border:2px solid var(--gold-2);box-shadow:var(--sh-1);cursor:pointer}.slider:focus-visible::-webkit-slider-thumb{box-shadow:var(--ring-gold)}.switch{position:relative;display:inline-flex;align-items:center;gap:9px;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:14px}.switch input{position:absolute;opacity:0;width:0;height:0;margin:0}.switch .track{width:40px;height:22px;border-radius:999px;background:var(--border-2);position:relative;transition:background var(--t);flex:0 0 auto}.switch .track:after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:var(--sh-1);transition:transform var(--t)}.switch input:checked+.track{background:var(--gold-2)}.switch input:checked+.track:after{transform:translate(18px)}.switch input:focus-visible+.track{box-shadow:var(--ring-gold)}.badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;text-transform:uppercase;letter-spacing:.5px;font-weight:700;padding:2px 8px;border-radius:999px;background:var(--panel-2);color:var(--muted);border:1px solid var(--border)}.badge-jupyter{color:var(--gold-2);border-color:#f6d6a8;background:#fff6e9}.badge-job-env{color:var(--navy-2);border-color:#c3d6ec;background:#eef4fb}.badge-desktop{color:#6b3fa0;border-color:#d9caf0;background:#f4eefd}.pill{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;padding:2px 10px 2px 9px;border-radius:999px;background:var(--panel-2);border:1px solid var(--border);text-transform:capitalize;color:var(--muted)}.pill:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex:0 0 auto}.pill-running{color:var(--good);border-color:var(--good-border);background:var(--good-bg)}.pill-running:before{animation:pulse-dot 1.6s var(--ease) infinite}.pill-pending{color:var(--gold-2);border-color:#f6d6a8;background:#fff6e9}.pill-pending:before{animation:pulse-dot 1.6s var(--ease) infinite}.pill-stopping{color:var(--warn);border-color:#f0dca8;background:#fdf6e6}.pill-stopping:before{animation:pulse-dot 1s var(--ease) infinite}.pill-ended{color:var(--muted)}.pill-failed{color:var(--bad);border-color:var(--bad-border);background:var(--bad-bg)}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}.skeleton{position:relative;overflow:hidden;background:var(--panel-3);border-radius:6px;height:14px;width:100%}.skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.65),transparent);animation:shimmer 1.4s infinite}@keyframes shimmer{to{transform:translate(100%)}}.skeleton+.skeleton{margin-top:8px}.empty{text-align:center;padding:48px 24px;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:8px}.empty .empty-icon{width:56px;height:56px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:26px;background:var(--panel-2);color:var(--muted-2);margin-bottom:6px}.empty .empty-title{font-size:16px;font-weight:700;color:var(--navy)}.empty .empty-sub{font-size:13px;color:var(--muted);max-width:42ch}.empty button,.empty .btn{margin-top:8px}.toast-wrap{position:fixed;top:18px;right:18px;z-index:9999;display:flex;flex-direction:column;gap:10px;pointer-events:none}.toast{pointer-events:auto;min-width:260px;max-width:380px;background:#fff;border:1px solid var(--border);border-left:4px solid var(--navy-2);border-radius:var(--r);padding:12px 14px;box-shadow:var(--sh-3);font-size:14px;display:flex;align-items:flex-start;gap:10px;animation:toast-in .26s var(--ease)}.toast-good{border-left-color:var(--good)}.toast-bad{border-left-color:var(--bad)}.toast .toast-icon{flex:0 0 auto;font-weight:700}.toast-good .toast-icon{color:var(--good)}.toast-bad .toast-icon{color:var(--bad)}.toast.leaving{animation:toast-out .22s var(--ease) forwards}@keyframes toast-in{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes toast-out{to{opacity:0;transform:translate(20px)}}.alert{padding:11px 14px;border-radius:var(--r-sm);margin:12px 0;font-size:14px;border:1px solid var(--border);background:var(--panel-2);color:var(--text);display:flex;gap:9px;align-items:flex-start}.alert-good,.ok-note{background:var(--good-bg);border:1px solid var(--good-border);color:var(--good);padding:11px 14px;border-radius:var(--r-sm);margin:12px 0;font-size:14px}.alert-bad,.error{background:var(--bad-bg);border:1px solid var(--bad-border);color:var(--bad);padding:11px 14px;border-radius:var(--r-sm);margin:12px 0;font-size:14px}.tooltip{position:relative;display:inline-flex;cursor:help}.tooltip[data-tip]:after{content:attr(data-tip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%) translateY(4px);background:var(--navy-3);color:#fff;font-size:12px;font-weight:500;line-height:1.4;padding:6px 9px;border-radius:6px;white-space:nowrap;max-width:240px;box-shadow:var(--sh-3);opacity:0;pointer-events:none;transition:opacity var(--t),transform var(--t);z-index:50}.tooltip[data-tip]:before{content:"";position:absolute;bottom:calc(100% + 3px);left:50%;transform:translate(-50%) translateY(4px);border:5px solid transparent;border-top-color:var(--navy-3);opacity:0;transition:opacity var(--t),transform var(--t);z-index:50}.tooltip:hover[data-tip]:after,.tooltip:hover[data-tip]:before{opacity:1;transform:translate(-50%) translateY(0)}table,.table{width:100%;border-collapse:collapse;font-size:14px}table thead th,.table th{text-align:left;font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.6px;padding:9px 12px;border-bottom:1px solid var(--border-2);background:var(--panel);white-space:nowrap}table.sticky thead th,.table.sticky thead th{position:sticky;top:0;z-index:5;box-shadow:0 1px 0 var(--border-2)}table td,.table td{padding:11px 12px;border-bottom:1px solid var(--border);vertical-align:middle}table tbody tr,.table tbody tr{transition:background var(--t-fast)}table tbody tr:hover,.table tbody tr:hover{background:var(--panel-2)}table th.num,table td.num,.table th.num,.table td.num{text-align:right}table .muted,.table .muted{color:var(--muted)}table .mono,.table .mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-variant-numeric:tabular-nums}tr.expandable{cursor:pointer}tr.expandable td:first-child{position:relative;padding-left:30px}tr.expandable td:first-child:before{content:"";position:absolute;left:12px;top:50%;width:0;height:0;border:4px solid transparent;border-left-color:var(--muted-2);transform:translateY(-50%);transition:transform var(--t-fast)}tr.expandable.open td:first-child:before{transform:translateY(-50%) rotate(90deg)}tr.expand-content>td{background:var(--panel-2);padding:0}tr.expand-content .expand-inner{padding:14px 16px 16px}tr.expand-content.collapsed{display:none}.row-actions{display:flex;gap:8px;justify-content:flex-end}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#02102480;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;animation:fade-in .18s var(--ease)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.modal{background:var(--panel);border-radius:var(--r-lg);box-shadow:var(--sh-4);width:100%;max-width:520px;max-height:90vh;display:flex;flex-direction:column;animation:modal-in .22s var(--ease)}.modal.modal-wide{max-width:880px}@keyframes modal-in{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}.modal-head,.drawer-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.modal-head h3,.drawer-head h3{margin:0;font-size:17px;color:var(--navy);font-weight:700}.modal-body,.drawer-body{padding:20px;overflow-y:auto;flex:1}.modal-foot,.drawer-foot{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid var(--border)}.modal-close,.drawer-close{border:none;background:transparent;color:var(--muted);font-size:20px;line-height:1;padding:4px 8px;cursor:pointer;border-radius:6px}.modal-close:hover,.drawer-close:hover{background:var(--panel-2);color:var(--navy)}.drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#02102480;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1000;display:flex;justify-content:flex-end;animation:fade-in .18s var(--ease)}.drawer{background:var(--panel);width:100%;max-width:440px;height:100%;box-shadow:var(--sh-4);display:flex;flex-direction:column;animation:drawer-in .26s var(--ease)}@keyframes drawer-in{0%{transform:translate(100%)}to{transform:none}}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:18px}.tab{border:none;background:transparent;color:var(--muted);font-size:14px;font-weight:600;padding:9px 14px;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;border-radius:0;transition:color var(--t-fast),border-color var(--t-fast)}.tab:hover{color:var(--navy);background:transparent}.tab.active{color:var(--navy);border-bottom-color:var(--gold)}.chart{width:100%;display:block}.chart-svg{width:100%;height:auto;overflow:visible;display:block}.chart-axis text{font-size:10px;fill:var(--muted-2)}.chart-axis line,.chart-grid line{stroke:var(--border);stroke-width:1}.chart-grid line{stroke-dasharray:2 4}.chart-area{transition:opacity var(--t)}.chart-line{fill:none;stroke-linecap:round;stroke-linejoin:round;transition:stroke-dashoffset var(--t-slow)}.chart-bar{transition:opacity var(--t-fast),y var(--t-slow),height var(--t-slow)}.chart-bar:hover{opacity:.82}.chart-dot{transition:r var(--t-fast);cursor:pointer}.chart-dot:hover{r:5}.chart-tooltip{position:absolute;background:var(--navy-3);color:#fff;font-size:12px;padding:6px 9px;border-radius:6px;pointer-events:none;white-space:nowrap;box-shadow:var(--sh-3);z-index:50;transform:translate(-50%,-120%)}.chart-legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:10px;font-size:12px;color:var(--muted)}.chart-legend .lg-item{display:inline-flex;align-items:center;gap:6px}.chart-legend .lg-swatch{width:10px;height:10px;border-radius:3px;flex:0 0 auto}.donut-center-label{font-size:22px;font-weight:800;fill:var(--navy)}.donut-center-sub{font-size:11px;fill:var(--muted)}.gauge-value{font-size:24px;font-weight:800;fill:var(--navy)}.gauge-label{font-size:11px;fill:var(--muted)}.heat-cell{transition:opacity var(--t-fast);cursor:pointer;rx:3}.heat-cell:hover{opacity:.8;stroke:var(--navy-2);stroke-width:1.5}.heat-label{font-size:10px;fill:var(--muted-2)}.login{width:380px;max-width:100%}.login-logo{display:block;height:40px;margin:4px auto 14px}.inline-form{display:flex;gap:10px;margin-top:14px;align-items:center;flex-wrap:wrap}.inline-form.wrap{flex-wrap:wrap}.inline-form input,.inline-form select{width:auto;margin:0}.inline-form .btn{margin:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 18px;margin-top:8px}.form-grid .full{grid-column:1 / -1}.form-grid .pair{display:flex;gap:8px}.form-grid .actions{display:flex;gap:10px;align-items:center}.form-grid .actions .btn{margin-top:0}.template .controls{display:grid;grid-template-columns:1fr 1fr;gap:4px 14px}@media (max-width: 1100px){.two-col,.two-col.wide-left,.two-col.wide-right{grid-template-columns:1fr}}@media (max-width: 860px){.app-shell,.shell{grid-template-columns:1fr}.sidebar{position:sticky;top:0;height:auto;flex-direction:row;align-items:center;flex-wrap:wrap;padding:10px 14px;gap:6px;z-index:100}.brand,.brand-chip{margin:0 8px 0 0}.brand-sub{display:none}.nav,.sidebar nav{flex-direction:row;flex-wrap:wrap;gap:4px;flex:1}.nav-link,.sidebar nav a{border-left:none;border-bottom:3px solid transparent;padding:7px 10px}.nav-link.active,.sidebar nav a.active{border-left-color:transparent;border-bottom-color:var(--gold)}.sidebar-foot{margin:0;padding:0;border:none;width:100%;order:5}.who{display:flex;gap:8px;padding:4px 8px 0}.content{padding:22px 18px 48px}.page-header{flex-direction:column}.header-actions{width:100%}}@media (max-width: 560px){.stat-grid{grid-template-columns:1fr 1fr}.catalog-grid,.grid,.form-grid{grid-template-columns:1fr}.search input{width:100%}.modal{max-width:100%}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}
