:root{--bg-page:#f8fafc;--text:#0f172a;--muted:#64748b;--card-bg:#ffffff;--card-weak:#f8fafc;--card-strong:#0b1220;--border-col:#e5e7eb;--border-weak:#eef2f7;--btn-bg:#ffffff;--btn-outline:#cbd5e1;--btn-primary:#111827;--btn-primary-text:#ffffff;--chip-bg:#f1f5f9;--chip-border:#e2e8f0;--badge-bg:#ffffff;--badge-text:#475569;--badge-border:rgba(15,23,42,.12);--table-border:#f1f5f9;--table-th:#64748b;--table-td:#0f172a;--table-row-hover:#fafafa;--status-online:#10b981;--status-offline:#e11d48;--blur-bg:#ffffff;--logbox-fg:#e2e8f0;--logbox-border:rgba(255,255,255,.08);--news-pill-pos-bg:#ecfdf5;--news-pill-pos-text:#065f46;--news-pill-pos-border:#a7f3d0;--news-pill-neg-bg:#fef2f2;--news-pill-neg-text:#991b1b;--news-pill-neg-border:#fecaca;--news-pill-neu-bg:#f1f5f9;--news-pill-neu-text:#334155;--news-pill-neu-border:#e2e8f0;--brand-grad-1:#60a5fa;--brand-grad-2:#a78bfa;--menu-active-bg:#0f172a;--menu-active-text:#ffffff;--menu-bg:#ffffff;--menu-text:#0f172a;--hint-bg:#f1f5f9;--hint-border:#cbd5e1;--hint-text:#475569}html[data-theme=dark]{color-scheme:dark;--bg-page:#0b1020;--text:#e5e7eb;--muted:#94a3b8;--card-bg:#0f172a;--card-weak:#0b1220;--card-strong:#0b1220;--border-col:#1f2937;--border-weak:#1f2937;--btn-bg:#0f172a;--btn-outline:#334155;--btn-primary:#111827;--btn-primary-text:#e5e7eb;--chip-bg:#0f172a;--chip-border:#1f2937;--badge-bg:#0b1220;--badge-text:#cbd5e1;--badge-border:#1f2937;--table-border:#1f2937;--table-th:#94a3b8;--table-td:#e5e7eb;--table-row-hover:#0b1220;--status-online:#10b981;--status-offline:#e11d48;--blur-bg:#0b1020;--logbox-fg:#c7d2fe;--logbox-border:rgba(255,255,255,.08);--news-pill-pos-bg:#052e26;--news-pill-pos-text:#a7f3d0;--news-pill-pos-border:#115e59;--news-pill-neg-bg:#3f1d1d;--news-pill-neg-text:#fecaca;--news-pill-neg-border:#7f1d1d;--news-pill-neu-bg:#0f172a;--news-pill-neu-text:#cbd5e1;--news-pill-neu-border:#334155;--brand-grad-1:#60a5fa;--brand-grad-2:#a78bfa;--menu-active-bg:#111827;--menu-active-text:#ffffff;--menu-bg:#0f172a;--menu-text:#e5e7eb;--hint-bg:#0b1220;--hint-border:#334155;--hint-text:#cbd5e1}.page{min-height:100vh;min-height:100svh;background:var(--bg-page);color:var(--text)}.nav{width:100%;display:flex;align-items:center;justify-content:space-between;padding:16px 24px;position:sticky;top:0;background:var(--blur-bg);border-bottom:1px solid var(--border-col);z-index:5;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.brand{display:flex;gap:12px;align-items:center}.mark{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#6366f1,#22d3ee);color:#fff;font-weight:700}.user{font-size:12px;color:var(--muted)}.menu{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.menu-item{border:1px solid var(--chip-border);background:var(--menu-bg);color:var(--menu-text);padding:6px 10px;border-radius:999px;font-size:13px}.menu-item.active{background:var(--menu-active-bg);color:var(--menu-active-text);border-color:var(--menu-active-bg)}.menu-item:disabled{opacity:.6;cursor:not-allowed}.status{display:flex;gap:6px;align-items:center;padding:6px 10px;background:var(--chip-bg);border:1px solid var(--chip-border);border-radius:999px;font-size:12px}.dot{width:8px;height:8px;background:var(--status-online);border-radius:999px}.dot.off{background:var(--status-offline)}.container{max-width:1200px;margin:20px auto;padding:0 16px}.sep{width:1px;height:24px;background:var(--border-col);display:inline-block;margin:0 8px}.btn{border:1px solid var(--chip-border);padding:8px 12px;border-radius:10px;background:var(--btn-bg);color:var(--text);cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .05s ease}.btn-ghost{background:transparent}.btn-outline{background:transparent;border-color:var(--btn-outline);color:var(--text)}.btn-primary{background:var(--btn-primary);color:var(--btn-primary-text);border-color:var(--btn-primary)}.btn:disabled{opacity:.5;cursor:not-allowed}.section{margin:18px 0;border-radius:14px;overflow:hidden;background:var(--card-bg);border:1px solid var(--border-col)}.section-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;cursor:pointer}.section-title{font-weight:600;display:flex;gap:8px;align-items:center}.section-title .chev{transition:transform .18s ease;display:inline-block;transform:rotate(0)}.section-title .chev.down{transform:rotate(90deg)}.section-actions button{margin-left:8px}.section-body{padding:14px;border-top:1px solid var(--border-col);transition:grid-template-rows .18s ease,padding .18s ease;display:grid;grid-template-rows:1fr}.section-body.closed{grid-template-rows:0fr;padding:0 14px}.section-body>*{overflow:hidden}.card-sm,.card{background:var(--card-bg);border:1px solid var(--border-col);border-radius:14px;padding:14px}.card{padding:0}.card-header{display:flex;align-items:center;justify-content:space-between;padding:14px;border-bottom:1px solid var(--border-col)}.card-header .title{font-weight:600;color:var(--text)}.card-header .subtitle{font-size:12px;color:var(--muted);margin-top:2px}.card-actions button{margin-left:8px}.ds-card{background:var(--card-bg);border:1px solid var(--border-col);border-radius:14px;overflow:hidden}.ds-card__header{display:flex;align-items:center;justify-content:space-between;padding:14px;border-bottom:1px solid var(--border-col)}.ds-card__header .title{font-weight:600;color:var(--text)}.ds-card__header .subtitle{font-size:12px;color:var(--muted);margin-top:2px}.ds-card__actions{display:flex;gap:8px;flex-wrap:wrap}.ds-card__body{padding:14px}.ds-badge{display:inline-block;padding:2px 8px;font-size:12px;border-radius:999px;border:1px solid var(--badge-border);background:var(--badge-bg);color:var(--badge-text)}.grid{display:grid;gap:14px;grid-template-columns:repeat(12,1fr)}.col-12{grid-column:span 12}.col-6{grid-column:span 6}.col-4{grid-column:span 4}.col-3{grid-column:span 3}@media (max-width: 1280px){.grid{gap:12px}}@media (max-width: 1024px){.col-4,.col-3{grid-column:span 6}}@media (max-width: 640px){.col-6,.col-4,.col-3{grid-column:span 12}}.metrics{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.metric{background:var(--card-weak);border:1px solid var(--border-weak);padding:10px;border-radius:12px}.metric .k{font-size:12px;color:var(--muted)}.metric .v{font-weight:700;margin-top:4px;color:var(--text)}@media (max-width: 1280px){.metrics{grid-template-columns:repeat(4,1fr)}}@media (max-width: 1024px){.metrics{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.metrics{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.metrics{grid-template-columns:1fr}}.table-wrapper{width:100%;overflow:auto;-webkit-overflow-scrolling:touch}.table{width:100%;border-collapse:collapse;min-width:640px}.table th,.table td{padding:8px 10px;border-bottom:1px solid var(--table-border);text-align:left}.table th{font-size:12px;color:var(--table-th);font-weight:600;white-space:nowrap}.table td{font-size:14px;color:var(--table-td)}.table .num{font-variant-numeric:tabular-nums;color:var(--table-td)}.table tr:hover td{background:var(--table-row-hover)}.badge{display:inline-block;padding:2px 8px;font-size:12px;border-radius:999px;border:1px solid var(--badge-border);background:var(--badge-bg);color:var(--badge-text)}.logbox{background:var(--card-strong);color:var(--logbox-fg);border-radius:14px;padding:12px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;font-size:12px;line-height:1.55;max-height:280px;overflow:auto;border:1px solid var(--logbox-border);white-space:pre-wrap;word-break:break-word}.control-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:14px}.pane{border:1px solid var(--border-weak);border-radius:12px;padding:12px;background:var(--card-weak)}.pane-title{font-weight:600;margin-bottom:8px;color:var(--text)}.form.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:#334155}html[data-theme=dark] label{color:#cbd5e1}label input,label select{border:1px solid #d1d5db;border-radius:10px;padding:8px 10px;font-size:14px;background:#fff;color:var(--text)}html[data-theme=dark] label input,html[data-theme=dark] label select{background:#0b1220;border-color:#1f2937;color:#e5e7eb}label small{color:#94a3b8;font-size:11px}.control-actions{padding:12px 14px;border-top:1px solid var(--border-col);display:flex;gap:8px;justify-content:flex-end}@media (max-width: 1024px){.control-grid{grid-template-columns:1fr}}@media (max-width: 640px){.form.grid-2{grid-template-columns:1fr}}.empty{padding:16px;color:var(--muted);background:var(--card-weak);border:1px solid var(--border-col);border-radius:12px}.hint{padding:6px 10px;background:var(--hint-bg);border:1px dashed var(--hint-border);border-radius:10px;color:var(--hint-text)}.pagination{display:flex;align-items:center;gap:8px;justify-content:flex-end;padding-top:8px}.page-info{font-size:12px;color:var(--muted)}.blob{position:fixed;width:320px;height:320px;filter:blur(80px);z-index:0;opacity:.18;pointer-events:none}.blob-1{left:-120px;top:-80px;background:var(--brand-grad-1)}.blob-2{right:-120px;bottom:-80px;background:var(--brand-grad-2)}.fade-in{animation:fade .3s ease}@keyframes fade{0%{opacity:.6;transform:translateY(4px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.fade-in{animation:none}.section-title .chev{transition:none}.btn:active{transform:none}}@media (max-width: 768px){.nav{padding:12px 14px}.menu{gap:6px}.container{margin:14px auto;padding:0 12px}.card-header,.ds-card__body{padding:12px}.logbox{max-height:240px}}.news .section-head{align-items:center}.news__toolbar{gap:12px}.news__title{display:flex;align-items:center;gap:12px}.news__title .subtitle{font-size:12px;color:var(--muted);margin-top:2px}.news__icon{font-size:20px}.news__controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.input--sm{height:36px;border-radius:10px;padding:0 10px;border:1px solid var(--chip-border);background:var(--btn-bg);color:var(--text)}.input--sm:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11f}.news__status{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.pill{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:999px;font-size:12px;color:var(--news-pill-neu-text);background:var(--news-pill-neu-bg);border:1px solid var(--news-pill-neu-border)}.pill--soft{background:var(--bg-page)}.pill--muted{color:var(--muted)}.pill--pos{background:var(--news-pill-pos-bg);color:var(--news-pill-pos-text);border-color:var(--news-pill-pos-border)}.pill--neg{background:var(--news-pill-neg-bg);color:var(--news-pill-neg-text);border-color:var(--news-pill-neg-border)}.pill--neu{background:var(--news-pill-neu-bg);color:var(--news-pill-neu-text);border-color:var(--news-pill-neu-border)}.news-list{display:grid;grid-template-columns:repeat(12,1fr);gap:12px;padding:0;margin:0;list-style:none}.news-card{grid-column:span 12;background:var(--card-bg);border:1px solid var(--border-col);border-radius:14px;padding:14px;display:flex;gap:12px;justify-content:space-between;transition:box-shadow .15s ease,transform .05s ease,border-color .15s ease}.news-card:hover{box-shadow:0 8px 24px #0f172a0f;border-color:#e2e8f0}html[data-theme=dark] .news-card:hover{box-shadow:none;border-color:#334155}.news-card__main{min-width:0}.news-card__title{font-weight:600;color:var(--text);text-decoration:none}.news-card__title:hover{text-decoration:underline}.news-card__summary{margin-top:6px;font-size:14px;color:var(--hint-text);background:var(--bg-page);border:1px dashed var(--hint-border);border-radius:10px;padding:8px 10px}.news-card__meta{min-width:230px;text-align:right;display:flex;flex-direction:column;gap:8px}.news-card__line{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}.news-card__time{font-size:12px;color:var(--muted)}.skeleton{position:relative;overflow:hidden}.skeleton:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(148,163,184,.15),transparent);animation:shimmer 1.2s infinite}.skeleton .s1,.skeleton .s2,.skeleton .s3{background:var(--chip-bg);border-radius:8px}.skeleton .s1{height:16px;width:70%;margin-bottom:10px}.skeleton .s2{height:12px;width:92%;margin-bottom:8px}.skeleton .s3{height:12px;width:60%}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@media (min-width: 640px){.news-card{grid-column:span 12}}@media (min-width: 1024px){.news-card{grid-column:span 12}}.news__controls{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.news__input{width:240px}@media (max-width: 640px){.news__input{width:240px;min-width:0}.news__controls .btn,.news__controls select{height:36px;padding:6px 10px}}@media (max-width: 640px){.news-card{flex-direction:column;align-items:flex-start}.news-card__meta{min-width:0;width:100%;text-align:left;gap:6px}.news-card__line{justify-content:flex-start}}.news-card__title{display:inline-block;word-break:break-word}.news-card__summary{word-break:break-word}@media (max-width: 640px){.news-list .skeleton .s1,.news-list .skeleton .s2,.news-list .skeleton .s3{width:100%}}@media (max-width: 640px){.pagination{justify-content:space-between}}:root{--bg1:#0f172a;--bg2:#0f172ab3;--brand-1:#6366f1;--brand-2:#a855f7;--brand-3:#f43f5e;--text:#0f172a;--muted:#64748b;--ring:#1f2937;--bg-page:#f8fafc;--card2-bg: rgba(255,255,255,.82);--border: rgba(255,255,255,.55);--shadow: 0 20px 60px rgba(0,0,0,.15);--text-main: var(--text);--text-muted: var(--muted);--bg-card: var(--card2-bg);--bg-card-solid: #ffffff;--border-col: rgba(15,23,42,.12);--shadow-elev: var(--shadow)}*{box-sizing:border-box}html,body,#root{height:100%}html,body{margin:0;padding:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol;color:var(--text);background:var(--bg-page);-webkit-text-size-adjust:100%}.page{min-height:100%;min-height:100svh;display:grid;place-items:center;position:relative;overflow:hidden;padding:20px}.page:before{content:"";position:absolute;inset:0;z-index:-2;background:radial-gradient(60% 60% at 70% 10%,rgba(99,102,241,.22),transparent 60%),radial-gradient(60% 60% at 20% 80%,rgba(244,114,182,.18),transparent 55%),linear-gradient(120deg,var(--bg1),var(--bg2))}.blob{position:absolute;border-radius:50%;filter:blur(56px);opacity:.7;z-index:-1;pointer-events:none}.blob.blob-1{width:38rem;height:38rem;left:-22rem;top:-18rem;background:#f472b647}.blob.blob-2{width:38rem;height:38rem;right:-22rem;bottom:-18rem;background:#6366f140}.card2{width:min(100%,720px);background:var(--card2-bg);border-radius:22px;box-shadow:var(--shadow);border:1px solid var(--border);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);overflow:hidden}.card2 .ribbon{height:4px;background:linear-gradient(90deg,var(--brand-1),var(--brand-2),var(--brand-3))}.card2-body{padding:36px}.title-wrap{display:flex;align-items:center;gap:16px;margin-bottom:16px}.logo{position:relative;width:64px;height:64px;border-radius:16px;background:#0b1220;color:#fff;display:grid;place-items:center;font-weight:800;font-size:20px;letter-spacing:.5px;isolation:isolate}.logo:before{content:"";position:absolute;inset:-8px;border-radius:24px;background:conic-gradient(from 180deg at 50% 50%,#6366f1e6,#a855f7d9,#f43f5ee6,#6366f1e6);filter:blur(12px);z-index:-1;opacity:.65}.h1{margin:0;font-size:24px;font-weight:600;color:var(--text-main)}.subtle{color:var(--muted);font-size:14px}.form{display:grid;gap:16px}.field label{display:block;font-size:13px;color:var(--muted);margin-bottom:6px}.input{width:100%;height:42px;border-radius:12px;border:1px solid rgba(15,23,42,.12);padding:0 12px;background:#fff;outline:none;color:var(--text-main);transition:box-shadow .2s ease,border-color .2s ease,transform .05s ease}.input:focus{border-color:#6366f199;box-shadow:0 0 0 4px #6366f11f}.input[readonly]{background:#f1f5f9}.input-password{position:relative}.input-password .toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:none;background:transparent;cursor:pointer;color:#94a3b8;font-size:18px}.input-password .toggle:hover{color:#475569}.btn{height:44px;border-radius:12px;padding:0 16px;border:1px solid transparent;cursor:pointer;font-weight:600;letter-spacing:.2px;transition:transform .05s ease,filter .2s ease,background .2s ease,border-color .2s ease}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:#0b1220;color:#fff}.btn-primary:hover{filter:brightness(1.08)}.btn-outline{background:#fff;color:#0f172a;border-color:#0f172a1f}.btn-outline:hover{background:#f8fafc}.note{font-size:13px;color:#7c2d12;background:#fffbeb;border:1px solid #fde68a;padding:10px 12px;border-radius:12px}.footer{margin-top:14px;text-align:center;color:#94a3b8;font-size:12px}.modal-backdrop{position:fixed;inset:0;z-index:50;background:#0f172a73;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:grid;place-items:center}.modal{width:min(960px,96vw);max-height:86vh;background:var(--modal-bg, #fff);color:var(--modal-fg, #0f172a);border:1px solid #e5e7eb;border-radius:14px;box-shadow:0 20px 60px #0000004d;overflow:hidden;display:grid;grid-template-rows:auto 1fr auto}.modal-header,.modal-footer{padding:12px 14px;background:#f1f5f999;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e5e7eb}.modal-footer{border-top:1px solid #e5e7eb;border-bottom:none}.modal-body{padding:14px;overflow:auto}.modal-title{font-weight:600}.modal-close{border:1px solid #e2e8f0;background:#fff;border-radius:8px;padding:6px 10px;cursor:pointer}@media (prefers-color-scheme: dark){.modal{--modal-bg:#0f172a;--modal-fg:#e5e7eb;border-color:#1f2937}.modal-header,.modal-footer{background:#0b1220;border-color:#1f2937}.modal-close{background:#0b1220;color:#e5e7eb;border-color:#1f2937}}.tr--click{cursor:pointer}.tr--click:hover td{background:#f8fafc}@media (prefers-color-scheme: dark){.tr--click:hover td{background:#0b1220}}@keyframes fadeUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeUp .45s ease both}@media (prefers-reduced-motion: reduce){.fade-in{animation:none}.btn:active{transform:none}}@media (max-width: 768px){.card2-body{padding:22px}.logo{width:56px;height:56px;font-size:18px}.h1{font-size:20px}}@media (max-width: 480px){.page{padding:14px}.card2{border-radius:18px}.input{height:40px}.btn{height:42px}}html[data-theme=dark]{color-scheme:dark;--text:#e5e7eb;--muted:#9aa5b1;--ring:#1f2937;--bg-page:#0b1020;--card2-bg: rgba(15,23,42,.6);--border: rgba(148,163,184,.25);--shadow: 0 20px 60px rgba(0,0,0,.5);--text-main: var(--text);--text-muted: var(--muted);--bg-card: rgba(17, 24, 39, .7);--bg-card-solid: #0f172a;--border-col: rgba(255,255,255,.12);--shadow-elev: 0 18px 50px rgba(0,0,0,.45)}html[data-theme=dark] body{background:var(--bg-page);color:var(--text-main)}html[data-theme=dark] .card2,html[data-theme=dark] .section,html[data-theme=dark] .card,html[data-theme=dark] .card2-sm{background:var(--bg-card);border-color:var(--border-col);box-shadow:var(--shadow-elev)}html[data-theme=dark] .h1{color:var(--text-main)}html[data-theme=dark] .subtle{color:var(--text-muted)}html[data-theme=dark] .input{background:#0f172a;border-color:#94a3b82e;color:var(--text-main)}html[data-theme=dark] .input[readonly]{background:#0f172a}html[data-theme=dark] .btn-outline{background:#0f172a;color:var(--text-main);border-color:#94a3b840}html[data-theme=dark] .btn-primary{background:#111827;color:#fff;border-color:#111827}html[data-theme=dark] .note{background:#3f1d2e;color:#fde68a;border-color:#b45309}html[data-theme=dark] .footer{color:#94a3b8}html[data-theme=dark] .nav{background:#111827bf;border-color:var(--border-col);box-shadow:var(--shadow-elev)}html[data-theme=dark] .menu .menu-item{background:#ffffff0a;border:1px solid rgba(255,255,255,.16);color:var(--text-main)}html[data-theme=dark] .menu .menu-item.active{background:#111827;color:#fff;border-color:#111827}html[data-theme=dark] .hint{background:#ffffff0f;border:1px solid rgba(255,255,255,.16);color:var(--text-muted)}html[data-theme=dark] .ds-badge,html[data-theme=dark] .badge{background:#ffffff0f;color:var(--text-main);border-color:#ffffff24}html[data-theme=dark] .table th,html[data-theme=dark] .table td{border-bottom-color:#ffffff14;color:var(--text-main)}html[data-theme=dark] .table th{color:var(--text-muted)}html[data-theme=dark] .section-body{border-top-color:var(--border-col)}html[data-theme=dark] .card-header{border-bottom-color:var(--border-col)}html[data-theme=dark] .status{background:#ffffff0d}html[data-theme=dark] .sep{background:#ffffff1f}html[data-theme=dark] .empty{background:#ffffff0a;border-color:#ffffff1f;color:var(--text-muted)}html[data-theme=dark] .logbox{background:#0b1020;color:#c7d2fe;border:1px solid rgba(255,255,255,.08)}html[data-theme=dark] .blob-1{background:#3b82f6;opacity:.18}html[data-theme=dark] .blob-2{background:#8b5cf6;opacity:.18}html[data-theme=dark] .modal{--modal-bg:#0f172a;--modal-fg:#e5e7eb;background:var(--modal-bg);color:var(--modal-fg);border-color:#1f2937}html[data-theme=dark] .modal-header,html[data-theme=dark] .modal-footer{background:#0b1220;border-color:#1f2937;color:var(--modal-fg)}html[data-theme=dark] .modal-body{color:var(--modal-fg)}html[data-theme=dark] .modal-close{background:#0b1220;color:#e5e7eb;border-color:#1f2937}html[data-theme=dark] .modal .hint{background:#ffffff0f;border:1px solid rgba(255,255,255,.16);color:#9aa5b1}html[data-theme=dark] .modal .ds-badge{background:#ffffff0f;color:#e5e7eb;border-color:#ffffff24}.show-on-mobile{display:none}@media (max-width: 768px){.hide-on-mobile{display:none!important}.show-on-mobile{display:inline-flex!important}}.nav{width:100%;display:flex;align-items:center;justify-content:space-between;padding:12px 18px;position:sticky;top:0;z-index:20;background:var(--bg-card-solid, #fff);border-bottom:1px solid rgba(0,0,0,.06);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.brand .mark{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#6366f1,#22d3ee);color:#fff;font-weight:700;box-shadow:0 6px 16px #0000001f}.menu{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.menu-item{border:1px solid rgba(0,0,0,.08);background:var(--bg-card-solid, #fff);padding:8px 12px;border-radius:999px;font-size:13px;transition:all .18s ease}.menu-item:hover{transform:translateY(-1px);box-shadow:0 8px 16px #0000000f}.menu-item.active{background:#111827;color:#fff;border-color:#111827}.right{display:flex;gap:10px;align-items:center}.hamburger{width:40px;height:40px;border-radius:10px;background:var(--bg-card-solid, #fff);border:1px solid rgba(0,0,0,.08);display:flex;align-items:center;justify-content:center}.hamburger .bar{position:relative;width:18px;height:2px;background:var(--text-main, #0f172a);transition:transform .2s ease,opacity .2s ease}.hamburger .bar:before,.hamburger .bar:after{content:"";position:absolute;left:0;right:0;height:2px;background:inherit;transform-origin:center}.hamburger .bar:before{top:-6px}.hamburger .bar:after{top:6px}.hamburger .bar.open{background:transparent}.hamburger .bar.open:before{transform:translateY(6px) rotate(45deg)}.hamburger .bar.open:after{transform:translateY(-6px) rotate(-45deg)}.mobile-menu-backdrop{position:fixed;inset:0;z-index:40;background:#0006;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fade-in .16s ease both}.mobile-menu{position:fixed;top:0;right:0;bottom:0;width:min(88vw,360px);background:var(--bg-card-solid, #fff);border-left:1px solid rgba(0,0,0,.08);z-index:50;display:grid;grid-template-rows:auto 1fr;box-shadow:-24px 0 40px #0003;transform:translate(0);animation:slide-in .18s ease both}@keyframes slide-in{0%{transform:translate(12px);opacity:.5}to{transform:none;opacity:1}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.mobile-menu__header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid rgba(0,0,0,.06)}.mobile-menu__body{padding:12px 14px;display:grid;gap:12px;align-content:start}.mobile-close{border:1px solid rgba(0,0,0,.08);background:transparent;border-radius:10px;padding:6px 10px;cursor:pointer}.menu-col{display:flex;flex-direction:column;gap:8px}.menu-col .menu-item{display:block;text-align:left}.brand.mini .mark{width:32px;height:32px}html[data-theme=dark] .nav{background:#111827d9;border-color:#ffffff14}html[data-theme=dark] .menu-item{background:#0f172a;color:#e5e7eb;border-color:#1f2937}html[data-theme=dark] .menu-item.active{background:#111827;border-color:#111827;color:#fff}html[data-theme=dark] .hamburger{background:#0f172a;border-color:#1f2937}html[data-theme=dark] .hamburger .bar{background:#e5e7eb}html[data-theme=dark] .mobile-menu{background:#0f172a;border-color:#1f2937}html[data-theme=dark] .mobile-close{border-color:#1f2937;color:#e5e7eb;background:#0b1220}.weekbar{display:flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid var(--border-col);border-radius:12px;background:var(--card-bg);margin:8px 0 12px;overflow:auto;-webkit-overflow-scrolling:touch}.weekbar__nav{white-space:nowrap}.weekbar__today{margin-left:auto}.weekbar__days{display:flex;gap:12px;align-items:center;padding:0 6px;min-width:0}.weekbar__day{min-width:56px;padding:8px 10px;border:1px solid var(--chip-border);background:var(--btn-bg);color:var(--text);border-radius:14px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:2px;transition:border-color .15s ease,background .15s ease,transform .05s ease}.weekbar__day .num{font-weight:700}.weekbar__day .lbl{font-size:12px;color:var(--muted)}.weekbar__day.is-active{background:var(--menu-active-bg);color:var(--menu-active-text);border-color:var(--menu-active-bg)}.weekbar__day.is-active .lbl{color:var(--menu-active-text)}@media (max-width: 640px){.weekbar{padding:8px 10px;gap:8px}.weekbar__day{min-width:52px;padding:6px 8px;border-radius:12px}.weekbar__today{flex:0 0 auto}}.weekbar__nav .icon{font-size:18px;line-height:1}.hide-sm{display:inline}@media (max-width: 640px){.hide-sm,.weekbar__day .lbl{display:none}.weekbar__day{min-width:40px;padding:6px;border-radius:10px}.weekbar__day .num{font-size:14px;font-weight:700}.weekbar__nav{padding:6px 10px}.weekbar__today{display:none}.weekbar{gap:8px;padding:8px 10px;overflow-x:auto;-webkit-overflow-scrolling:touch}.weekbar__days{gap:8px}}.positions-panel{margin-top:16px}.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.panel-title{font-size:13px;color:var(--text-muted)}.scroll-x{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--border-col);border-radius:12px;background:var(--bg-card, #fff);box-shadow:var(--shadow-elev)}.table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px;color:var(--text-main)}.table thead th{position:sticky;top:0;background:var(--bg-card-solid, #fff);color:var(--text-muted);font-weight:600;text-align:left;border-bottom:1px solid var(--border-col);padding:10px 12px;z-index:1}.table tbody td{padding:10px 12px;border-bottom:1px solid var(--border-col)}.table tbody tr:last-child td{border-bottom:none}.table--tight thead th,.table--tight tbody td{padding:10px 12px}.table--hover tbody tr:hover td{background:#00000008}html[data-theme=dark] .table--hover tbody tr:hover td{background:#ffffff0f}.ta-r{text-align:right}.fw-600{font-weight:600}.chip{display:inline-flex;align-items:center;justify-content:center;min-width:64px;height:26px;padding:0 10px;font-weight:600;border-radius:999px;border:1px solid var(--border-col);background:#fff9}html[data-theme=dark] .chip{background:#ffffff0f}.chip--pos{color:#059669;border-color:#05966959;background:#05966914}.chip--neg{color:#dc2626;border-color:#dc262659;background:#dc262614}.chip--neutral{color:var(--text-muted)}.positions-summary{margin-top:10px;font-size:12px;color:var(--text-muted);display:flex;align-items:center;flex-wrap:wrap;gap:10px}.summary-line .badge{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:999px;background:#6366f11a;color:var(--text-main);border:1px solid rgba(99,102,241,.25);font-weight:600}.uPL{font-weight:600}.uPL--pos{color:#059669}.uPL--neg{color:#dc2626}@media (max-width: 640px){.table thead th,.table tbody td{padding:8px 10px}.chip{min-width:auto;height:24px;padding:0 8px}}
