:root{--obsidian:#0e0d0b;--bg:#121110;--bg-2:#0a0908;--sidebar:#0c0b09;--sidebar-2:#1a1712;--card:rgba(26,23,19,.72);--card-solid:#191612;--card-2:#211d17;--ink:#f7f2e6;--ink-dim:#ddd0b3;--muted:#b6a888;--gold:#c8a24b;--gold-bright:#e6c987;--gold-deep:#9c7c3a;--bronze:#a4805200;--bronze-solid:#a48052;--line:rgba(200,162,75,.16);--line-strong:rgba(200,162,75,.3);--glass-hi:rgba(255,247,230,.05);--accent:#c8a24b;--accent-ink:#17140e;--accent-soft:rgba(200,162,75,.13);--emerald:#2f7d63;--profit:#5cc98a;--loss:#e56b60;--ok:#5cc98a;--warn:#d7a544;--danger:#e56b60;--radius:14px;--serif:"Cormorant Garamond","Playfair Display",Georgia,"Times New Roman","Leelawadee UI",serif;--sans:"Segoe UI","Leelawadee UI",Tahoma,system-ui,sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--sans);color:var(--ink);font-size:14.5px;-webkit-font-smoothing:antialiased;background:radial-gradient(1200px 720px at 78% -8%,rgba(200,162,75,.09),transparent 60%),radial-gradient(900px 700px at 12% 108%,rgba(120,90,45,.1),transparent 55%),linear-gradient(180deg,#141210,#0e0d0b 60%,#0a0908);min-height:100vh}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;opacity:.35;background-image:repeating-linear-gradient(0deg,rgba(255,255,255,.014) 0 1px,transparent 1px 3px),repeating-linear-gradient(90deg,rgba(0,0,0,.14) 0 1px,transparent 1px 4px)}#root{position:relative;z-index:1}button,input,select,textarea{font-family:inherit}::selection{background:#c8a24b47;color:#fff}::-webkit-scrollbar{width:11px;height:11px}::-webkit-scrollbar-thumb{background:#2a251d;border-radius:99px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:#3a3226}.auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:22px;padding:20px;position:relative;overflow:hidden;background:radial-gradient(1100px 760px at 50% -12%,rgba(200,162,75,.14),transparent 58%),radial-gradient(900px 700px at 50% 120%,rgba(90,66,32,.2),transparent 55%),linear-gradient(180deg,#151310,#0b0a08)}.auth-wrap:before{content:"🛡";position:absolute;font-size:min(66vh,560px);line-height:1;color:transparent;-webkit-text-stroke:1.4px rgba(200,162,75,.11);top:50%;left:50%;transform:translate(-50%,-52%);z-index:0;pointer-events:none;filter:drop-shadow(0 0 40px rgba(200,162,75,.06))}.auth-card{position:relative;z-index:2;background:linear-gradient(180deg,#201c16eb,#14110df0);border:1px solid var(--line-strong);border-radius:20px;padding:36px 40px;width:440px;max-width:94vw;box-shadow:0 40px 90px #0000009e,inset 0 1px 0 var(--glass-hi);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.auth-card .logo{font-size:40px;text-align:center;filter:drop-shadow(0 4px 14px rgba(200,162,75,.28))}.auth-card .logo-img{width:76px;height:76px;border-radius:18px;object-fit:cover;display:block;margin:0 auto 2px}.brandline{text-align:center;font-size:11px;letter-spacing:3.5px;text-transform:uppercase;color:var(--gold);margin-top:8px}.auth-card h1{font-family:var(--serif);font-weight:600;font-size:27px;letter-spacing:.4px;margin:10px 0 3px;text-align:center;color:var(--gold-bright)}.auth-card .sub{color:var(--muted);font-size:13px;margin-bottom:22px;text-align:center}.trust-badges{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;max-width:560px;position:relative;z-index:2}.trust-badges span{background:#c8a24b12;border:1px solid var(--line);color:var(--ink-dim);padding:7px 13px;border-radius:999px;font-size:12px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.err{background:#e56b601a;border:1px solid rgba(229,107,96,.34);color:#f0a79f;border-radius:10px;padding:10px 14px;font-size:13px;margin:10px 0}.kit-code{font-family:Consolas,Courier New,monospace;font-size:19px;letter-spacing:1.5px;line-height:1.9;background:linear-gradient(180deg,#1c1913,#141109);border:1.5px dashed var(--gold-deep);border-radius:12px;padding:16px;text-align:center;color:var(--gold-bright);word-break:break-all;-webkit-user-select:all;user-select:all;box-shadow:inset 0 1px 0 var(--glass-hi)}.linkish{background:none;border:none;color:var(--bronze-solid);font-size:12px;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.linkish:hover{color:var(--gold-bright)}.install-card{position:relative;z-index:2;width:440px;max-width:94vw;margin-top:2px}.install-toggle{width:100%;text-align:left;display:flex;align-items:center;gap:8px;background:#c8a24b12;border:1px solid var(--line);border-radius:12px;color:var(--ink-dim);font-size:12.5px;padding:11px 14px;cursor:pointer}.install-toggle:hover{background:#c8a24b1f;color:var(--ink)}.install-toggle.done{cursor:default;color:#8fd9ac;background:#5cc98a14;border-color:#5cc98a3d}.install-toggle .chev{margin-left:auto;color:var(--gold);font-size:10px}.install-body{background:#14110db3;border:1px solid var(--line);border-top:none;border-radius:0 0 12px 12px;margin-top:-6px;padding:14px}.install-steps{margin:2px 0 0 20px;font-size:13px;line-height:1.9;color:var(--ink-dim)}.install-steps li{margin-bottom:3px}.install-note{font-size:11.5px;color:var(--muted);margin-top:10px;line-height:1.6}#shell{display:flex;min-height:100vh}.sidebar{width:238px;color:var(--ink-dim);flex-shrink:0;padding:20px 12px 30px;position:sticky;top:0;height:100vh;height:100dvh;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;background:linear-gradient(180deg,#100e0b,#0a0908);border-right:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;padding:4px 10px 16px;border-bottom:1px solid var(--line);margin-bottom:12px}.brand .mark{font-size:24px;filter:drop-shadow(0 2px 8px rgba(200,162,75,.3))}.brand .mark-img{width:40px;height:40px;border-radius:10px;object-fit:cover;flex-shrink:0}.brand b{font-family:var(--serif);font-weight:600;font-size:19px;letter-spacing:.4px;color:var(--gold-bright)}.brand small{display:block;color:var(--muted);font-size:11px;letter-spacing:.3px}.navgroup{margin:16px 0 4px;padding:0 10px;font-size:10px;letter-spacing:1.8px;color:var(--gold-deep);text-transform:uppercase}.nav-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:9px;cursor:pointer;font-size:13.5px;color:var(--ink-dim);-webkit-user-select:none;user-select:none;border:1px solid transparent;background:none;width:100%;text-align:left;transition:background .15s,color .15s,border-color .15s}.nav-item:hover{background:#c8a24b0f;color:var(--ink)}.nav-item.active{background:linear-gradient(180deg,#c8a24b33,#c8a24b1a);border-color:var(--line-strong);color:var(--gold-bright);font-weight:600;box-shadow:inset 0 1px 0 var(--glass-hi)}.nav-item.disabled{opacity:.34;cursor:default}.nav-item.disabled:hover{background:none;color:var(--ink-dim)}.nav-item .lyr{margin-left:auto;font-size:10px;color:var(--muted);background:#c8a24b14;padding:1px 6px;border-radius:6px;letter-spacing:.5px}.nav-item.active .lyr{color:var(--gold-bright);background:#c8a24b29}.main{flex:1;min-width:0}.topbar{display:flex;align-items:center;gap:12px;padding:13px 24px;padding-top:calc(13px + env(safe-area-inset-top));background:linear-gradient(180deg,#14110ddb,#100e0bb8);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.topbar h2{font-family:var(--serif);font-weight:600;font-size:21px;letter-spacing:.3px;color:var(--ink)}.topbar .th-sub{color:var(--muted);font-size:12.5px;font-weight:400;font-family:var(--sans)}.spacer{flex:1}.offline-pill{display:flex;align-items:center;gap:7px;background:#5cc98a1a;color:#8fd9ac;border:1px solid rgba(92,201,138,.26);padding:5px 12px;border-radius:999px;font-size:11.5px;font-weight:600;letter-spacing:.5px}.sidebar-offline{margin:14px 10px 0}.sidebar-offline .offline-pill{width:fit-content}.lang-toggle{display:inline-flex;border:1px solid var(--line-strong);border-radius:999px;padding:2px;gap:2px}.lang-toggle button{border:none;background:none;color:var(--muted);font-size:11.5px;font-weight:600;padding:4px 11px;border-radius:999px;cursor:pointer;transition:background .15s,color .15s}.lang-toggle button.active{background:var(--gold);color:var(--accent-ink)}.lang-toggle button:not(.active):hover{color:var(--ink)}.fontsize-toggle{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--line-strong);border-radius:999px;padding:3px 4px 3px 10px}.fontsize-aa{font-size:12px;color:var(--muted);font-weight:700;margin-right:2px}.fontsize-toggle button{border:none;background:none;color:var(--muted);font-size:12px;font-weight:700;line-height:1;width:24px;height:24px;border-radius:999px;cursor:pointer;transition:background .15s,color .15s}.fontsize-toggle button.active{background:var(--gold);color:var(--accent-ink)}.fontsize-toggle button:not(.active):hover{color:var(--ink)}html.fs-2 body{font-size:20px;font-weight:600;line-height:1.62;--ink:#fdf6e6;--ink-dim:#f3e3c0;--muted:#cdbf9f}html.fs-3 body{font-size:25px;font-weight:700;line-height:1.7}html.fs-3{--ink:#ffffff;--ink-dim:#fff3d6;--muted:#e8dcc2;--line:rgba(233,205,140,.55);--line-strong:rgba(233,205,140,.85)}html.fs-3 .card,html.fs-3 .modal{border-color:var(--line-strong)}html.fs-2 .card h3{font-size:23px}html.fs-3 .card h3{font-size:29px}html.fs-2 .card h3 .hint{font-size:15px}html.fs-3 .card h3 .hint{font-size:19px}html.fs-2 .row{font-size:18px}html.fs-3 .row{font-size:23px}html.fs-2 .bar{font-size:17px}html.fs-3 .bar{font-size:22px}html.fs-2 .note{font-size:18px}html.fs-3 .note{font-size:23px}html.fs-2 .badge{font-size:15px}html.fs-3 .badge{font-size:19px}html.fs-2 .btn{font-size:18px;padding:11px 19px}html.fs-3 .btn{font-size:22px;padding:13px 22px}html.fs-2 .btn-sm{font-size:16px;padding:7px 13px}html.fs-3 .btn-sm{font-size:20px;padding:9px 15px}html.fs-2 .linkish{font-size:17px}html.fs-3 .linkish{font-size:21px}html.fs-2 .empty{font-size:19px}html.fs-3 .empty{font-size:24px}html.fs-2 .stat .label{font-size:16px}html.fs-3 .stat .label{font-size:20px}html.fs-2 .stat .value{font-size:38px}html.fs-3 .stat .value{font-size:46px}html.fs-2 .stat .delta{font-size:16px}html.fs-3 .stat .delta{font-size:20px}html.fs-2 .field label{font-size:17px}html.fs-3 .field label{font-size:21px}html.fs-2 .field input,html.fs-2 .field select,html.fs-2 .field textarea{font-size:19px;padding:12px 14px}html.fs-3 .field input,html.fs-3 .field select,html.fs-3 .field textarea{font-size:24px;padding:14px 16px}html.fs-2 .modal h3{font-size:26px}html.fs-3 .modal h3{font-size:32px}html.fs-2 .modal .sub{font-size:17px}html.fs-3 .modal .sub{font-size:21px}html.fs-2 .nav-item{font-size:18px}html.fs-3 .nav-item{font-size:22px}html.fs-2 .navgroup{font-size:13px}html.fs-3 .navgroup{font-size:16px}html.fs-2 .nav-item .lyr{font-size:13px}html.fs-3 .nav-item .lyr{font-size:15px}html.fs-2 .err{font-size:17px}html.fs-3 .err{font-size:21px}html.fs-2 td,html.fs-2 th{font-size:18px}html.fs-3 td,html.fs-3 th{font-size:23px}html.fs-2 .sidebar{width:290px}html.fs-3 .sidebar{width:340px}html.fs-2 .g4,html.fs-2 .g3,html.fs-3 .g4,html.fs-3 .g3{grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr))}html.fs-2 .topbar h2{font-size:23px}html.fs-3 .topbar h2{font-size:25px}html.fs-2 .topbar .th-sub,html.fs-3 .topbar .th-sub{font-size:14px}html.fs-2 .topbar,html.fs-3 .topbar{gap:8px;padding-left:14px;padding-right:14px;row-gap:6px}html.fs-2 .note,html.fs-3 .note{flex-direction:column!important;align-items:stretch!important}html.fs-2 .note>*,html.fs-3 .note>*{min-width:0!important}.dot{width:8px;height:8px;border-radius:50%;background:var(--ok);display:inline-block;flex-shrink:0;box-shadow:0 0 8px #5cc98ab3}.dot.warn{background:var(--warn);box-shadow:0 0 8px #d7a544b3}.dot.bad{background:var(--danger);box-shadow:0 0 8px #e56b60b3}.content{padding:24px 24px 60px;max-width:1150px}.menu-btn{display:none;background:none;border:none;font-size:22px;cursor:pointer;color:var(--gold);padding:2px 8px}.drawer-backdrop{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#060504a8;z-index:35;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.grid{display:grid;gap:15px}.g4{grid-template-columns:repeat(4,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g2{grid-template-columns:repeat(2,1fr)}.card{background:var(--card-solid);border:1px solid var(--line);border-radius:var(--radius);padding:17px 19px;box-shadow:0 18px 40px #0000005c,inset 0 1px 0 var(--glass-hi)}.card h3{font-family:var(--serif);font-weight:600;font-size:17px;letter-spacing:.2px;margin-bottom:12px;display:flex;align-items:center;gap:8px;color:var(--ink)}.card h3 .hint{margin-left:auto;font-size:11px;color:var(--muted);font-weight:400;font-family:var(--sans)}.stat .label{font-size:11.5px;color:var(--muted);letter-spacing:.6px;text-transform:uppercase}.stat .value{font-family:var(--serif);font-size:30px;font-weight:600;letter-spacing:.3px;margin-top:6px;color:var(--gold-bright);font-variant-numeric:tabular-nums}.stat .delta{font-size:11.5px;margin-top:5px;color:var(--muted)}.mt{margin-top:15px}.profit,.val-up{color:var(--profit)!important;font-variant-numeric:tabular-nums}.loss,.val-down{color:var(--loss)!important;font-variant-numeric:tabular-nums}.bar{display:flex;align-items:center;gap:10px;margin:8px 0;font-size:12.5px}.bar .name{width:165px;color:var(--ink-dim)}.bar .track{flex:1;height:7px;background:#ffffff0d;border-radius:99px;overflow:hidden;border:1px solid rgba(0,0,0,.3)}.bar .fill{height:100%;border-radius:99px;background:linear-gradient(90deg,var(--gold-deep),var(--gold))}.bar .pct{width:42px;text-align:right;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}.badge{display:inline-flex;align-items:center;gap:5px;font-size:11px;padding:2.5px 9px;border-radius:999px;font-weight:600;border:1px solid transparent}.b-ok{background:#5cc98a1f;color:#8fd9ac;border-color:#5cc98a42}.b-warn{background:#d7a54421;color:#e2bd6e;border-color:#d7a5444d}.b-bad{background:#e56b601f;color:#f0a79f;border-color:#e56b604d}.b-info{background:#7896d21f;color:#a9bce6;border-color:#7896d247}.b-lock{background:#a082c821;color:#c3aede;border-color:#a082c84d}.b-gold{background:#c8a24b24;color:var(--gold-bright);border-color:var(--line-strong)}.note{border-radius:12px;padding:12px 16px;font-size:13px;line-height:1.55;margin-bottom:15px}.n-amber{background:#d7a54414;border:1px solid rgba(215,165,68,.26);color:#e0c284}.n-green{background:#5cc98a12;border:1px solid rgba(92,201,138,.22);color:#a5dcbe}.n-red{background:#e56b6014;border:1px solid rgba(229,107,96,.28);color:#f0aca4}.n-blue{background:#7896d214;border:1px solid rgba(120,150,210,.24);color:#b3c4e8}.row{display:flex;align-items:center;gap:12px;padding:10px 4px;border-bottom:1px solid var(--line);font-size:13px;color:var(--ink)}.row:last-child{border-bottom:none}.row .grow{flex:1;min-width:0}.row small{color:var(--muted);display:block;margin-top:1px}.row.clickable{cursor:pointer;border-radius:8px;transition:background .15s}.row.clickable:hover{background:#c8a24b0f}.icon-lg{font-size:22px;width:34px;text-align:center;flex-shrink:0}.btn{display:inline-flex;align-items:center;gap:7px;border:none;border-radius:9px;padding:9px 16px;font-size:13px;font-weight:600;cursor:pointer;transition:filter .15s,background .15s,box-shadow .15s}.btn:disabled{opacity:.5;cursor:default}.btn-p{background:linear-gradient(180deg,var(--gold-bright),var(--gold));color:var(--accent-ink);box-shadow:0 6px 18px #c8a24b3d,inset 0 1px #ffffff59}.btn-p:hover:not(:disabled){filter:brightness(1.07)}.btn-o{background:#c8a24b0f;color:var(--gold-bright);border:1px solid var(--line-strong)}.btn-o:hover:not(:disabled){background:#c8a24b1f}.btn-d{background:#e56b6014;color:#f0a79f;border:1px solid rgba(229,107,96,.4)}.btn-d:hover:not(:disabled){background:#e56b6029}.btn-g{background:#ffffff0d;color:var(--ink);border:1px solid var(--line)}.btn-g:hover:not(:disabled){background:#ffffff17}.btn-sm{padding:5px 11px;font-size:12px}.btn-block{width:100%;justify-content:center;padding:12px}.empty{text-align:center;padding:40px 20px;color:var(--muted);font-size:13.5px;line-height:1.8;border:1.5px dashed var(--line-strong);border-radius:var(--radius);background:#ffffff04}.empty .big{font-size:34px;filter:grayscale(.2) drop-shadow(0 2px 10px rgba(0,0,0,.4))}.field{margin:11px 0}.field label{display:block;font-size:12px;color:var(--muted);margin-bottom:5px;font-weight:600;letter-spacing:.3px}.field input,.field textarea,.field select{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:9px;font-size:14px;background:#00000047;color:var(--ink)}.field input::placeholder,.field textarea::placeholder{color:#6c6252}.field select option{background:#1a1712;color:var(--ink)}.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px var(--accent-soft)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.form-grid .full{grid-column:1 / -1}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#060504ad;z-index:70;display:flex;align-items:center;justify-content:center;padding:18px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal{position:relative;background:linear-gradient(180deg,#201c16,#161311);border:1px solid var(--line-strong);border-radius:18px;width:620px;max-width:96vw;max-height:85vh;max-height:85dvh;overflow-y:auto;padding:24px 28px;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;box-shadow:0 50px 100px #000000b3,inset 0 1px 0 var(--glass-hi)}.modal h3{font-family:var(--serif);font-weight:600;font-size:20px;margin-bottom:2px;color:var(--ink);padding-right:34px}.modal .sub{color:var(--muted);font-size:12.5px;margin-bottom:14px}.modal-close{position:sticky;float:right;top:0;margin:-4px -8px 0 10px;z-index:2;background:#00000059;border:1px solid var(--line-strong);border-radius:999px;width:32px;height:32px;font-size:17px;font-weight:700;line-height:1;cursor:pointer;color:var(--ink)}.modal-close:hover{color:var(--gold-bright);border-color:var(--gold-bright)}.modal-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:18px}.modal .modal-actions{position:sticky;bottom:-24px;z-index:3;margin:18px -28px -24px;padding:14px 28px;background:linear-gradient(180deg,#161311db,#161311 38%);border-top:1px solid var(--line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.sort-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}.sort-row label{font-size:11.5px;letter-spacing:.6px;text-transform:uppercase;color:var(--muted)}.sort-row select{background:var(--card-solid);color:var(--ink);border:1px solid var(--line);border-radius:9px;padding:7px 10px;font-size:12.5px;min-height:36px;cursor:pointer}.sector-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:16px 0 2px;padding:7px 4px 6px;border-bottom:1px solid var(--line-strong)}.sector-head b{font-family:var(--serif);font-size:14.5px;color:var(--gold-bright);letter-spacing:.2px}.sector-head span{margin-left:auto;font-size:11.5px;color:var(--muted);font-variant-numeric:tabular-nums}html.fs-2 .sort-row select{font-size:18px}html.fs-3 .sort-row select{font-size:22px}html.fs-2 .sector-head b{font-size:21px}html.fs-3 .sector-head b{font-size:26px}html.fs-2 .sector-head span{font-size:16px}html.fs-3 .sector-head span{font-size:20px}.lightbox-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;background:#040302e6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:16px calc(16px + env(safe-area-inset-right)) calc(16px + env(safe-area-inset-bottom)) calc(16px + env(safe-area-inset-left))}.lightbox{display:flex;flex-direction:column;gap:10px;max-width:1000px;width:100%;max-height:100%}.lightbox-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:var(--ink);font-size:13px}.lightbox-bar b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.lightbox-media{flex:1;min-height:0;width:100%;object-fit:contain;border:1px solid var(--line-strong);border-radius:12px;background:#0a0908;box-shadow:0 40px 90px #000000b3}iframe.lightbox-media{min-height:70vh}.section-sub{font-size:12px;letter-spacing:1.4px;text-transform:uppercase;color:var(--gold-deep);margin:20px 0 9px}.brand-footer{text-align:center;padding:40px 24px 8px;margin-top:22px;border-top:1px solid var(--line)}.brand-footer img{width:min(320px,74vw);height:auto;border-radius:20px;display:block;margin:0 auto}footer{padding:16px 24px 24px;color:var(--muted);font-size:11.5px;letter-spacing:.4px;text-align:center}.report-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#fff;z-index:100;overflow-y:auto;color:#1a1a1a;font-size:13px}.rpt-actions{position:sticky;top:0;background:#fff;border-bottom:1px solid #e5e5e5;padding:12px 5vw;display:flex;gap:10px;z-index:5}.rpt-actions .btn-g{background:#eef0ee;border:1px solid #b9bdb9;color:#1a1a1a;font-weight:700}.rpt-actions .btn-g:hover:not(:disabled){background:#e2e5e2}.rpt-actions .btn-g:disabled{opacity:.45}.rpt-page{max-width:820px;margin:0 auto;padding:28px 5vw 60px}.rpt-header{text-align:center;margin-bottom:18px}.rpt-header h1{font-size:22px;margin:6px 0 4px}.rpt-sub{color:#666;font-size:13px}.rpt-warn{background:#fdf6e5;border:1px solid #eadaa8;color:#77591a;border-radius:10px;padding:10px 14px;font-size:12px;line-height:1.6;margin-bottom:16px}.rpt-totals{display:flex;gap:12px;margin-bottom:8px}.rpt-totals>div{flex:1;border:1px solid #e2e2e2;border-radius:10px;padding:10px 14px;text-align:center}.rpt-totals b{display:block;font-size:11px;color:#666;font-weight:600}.rpt-totals span{font-size:17px;font-weight:700}.rpt-page h2{font-size:14.5px;margin:22px 0 8px;border-bottom:2px solid #1f8a70;padding-bottom:4px}.rpt-p{font-size:12.5px;line-height:1.7;color:#333}.rpt-table{width:100%;border-collapse:collapse;font-size:11.5px}.rpt-table th{background:#f0f5f3;text-align:left;padding:6px 8px;border:1px solid #ddd;font-size:10.5px;color:#444}.rpt-table td{padding:6px 8px;border:1px solid #e2e2e2;vertical-align:top;line-height:1.5}.rpt-footer{margin-top:28px;padding-top:12px;border-top:1px solid #ddd;font-size:10.5px;color:#888;text-align:center;line-height:1.7}.rpt-pagebreak{height:22px}.rpt-title{flex:1 1 auto;min-width:0}@media (max-width:760px){.rpt-title{flex:1 1 100%}}@media print{body.print-report #root,.no-print{display:none!important}.report-overlay{position:static;overflow:visible}.rpt-page{max-width:none;padding:0}.rpt-pagebreak{page-break-before:always;break-before:page;height:0}.rpt-table{page-break-inside:auto}.rpt-table tr{page-break-inside:avoid}.rpt-page h2{page-break-after:avoid}}@media (max-width:1000px){.g4,.g3{grid-template-columns:repeat(2,1fr)}.g2{grid-template-columns:1fr}}@media (max-width:760px){.menu-btn{display:block}.sidebar{position:fixed;top:0;left:-110vw;height:100vh;height:100dvh;width:264px;max-width:86vw;z-index:40;transition:left .25s ease;box-shadow:6px 0 40px #0009;padding-top:calc(20px + env(safe-area-inset-top))}.sidebar.show{left:0}.drawer-backdrop.show{display:block}.topbar{padding:11px 14px;padding-top:calc(11px + env(safe-area-inset-top));gap:9px}.topbar h2{font-size:18px}.topbar .th-sub{display:none}.content{padding:15px 13px 70px}.g4,.g3,.g2{grid-template-columns:1fr!important}.stat .value{font-size:26px}.bar .name{width:118px;font-size:12px}.form-grid{grid-template-columns:1fr}.modal{padding:20px 16px}}.fv-toasts{position:fixed;left:50%;transform:translate(-50%);z-index:120;bottom:calc(18px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none;width:max-content;max-width:calc(100vw - 28px)}.fv-toast{display:flex;align-items:center;gap:9px;padding:11px 17px;border-radius:12px;font-size:13.5px;font-weight:600;color:var(--ink);background:#1c1914f7;border:1px solid var(--line);box-shadow:0 12px 34px #00000080;animation:fv-toast-in .4s cubic-bezier(.22,1,.36,1)}@keyframes fv-toast-in{0%{opacity:0;transform:translateY(14px);filter:blur(3px)}to{opacity:1;transform:none;filter:blur(0)}}.fv-check{flex:none}.fv-check circle{fill:none;stroke:#5cc98ad9;stroke-width:1.7}.fv-check path{fill:none;stroke:#5cc98a;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:16;stroke-dashoffset:16;animation:fv-check-draw .42s cubic-bezier(.22,1,.36,1) .12s forwards}@keyframes fv-check-draw{to{stroke-dashoffset:0}}@media (prefers-reduced-motion: reduce){.fv-check path{animation:none;stroke-dashoffset:0}.fv-toast{animation:none}}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.modal-close{min-width:44px;min-height:44px}.rpt-actions label{min-height:44px;padding:10px 12px}input[type=checkbox]{width:20px;height:20px;accent-color:var(--gold);flex-shrink:0;cursor:pointer}@media (max-width:760px){.nav-item{min-height:46px}button.badge{min-height:40px;padding:8px 14px!important}.btn{min-height:44px}.btn-sm{min-height:40px}.lang-toggle button,.fontsize-toggle button{min-height:44px;min-width:44px}.menu-btn{min-width:44px;min-height:44px}.linkish{min-height:44px;display:inline-flex;align-items:center}input:not([type=checkbox]):not([type=radio]),select,textarea{min-height:44px}.topbar .badge{display:none}.topbar{row-gap:6px;flex-wrap:wrap}.topbar h2{min-width:0;overflow-wrap:anywhere}}@media (max-width:420px){.topbar .btn-sm{font-size:12px;padding:8px 10px}}@media (max-width:760px){.rpt-actions{flex-wrap:wrap;gap:8px;padding:10px 12px}.rpt-actions>b{flex-basis:100%;font-size:14px}.rpt-actions label{order:3}.rpt-actions .btn{flex:1 1 auto;justify-content:center;padding:10px 14px;font-size:13.5px}}@media (max-width:760px){.modal .modal-actions{bottom:-20px;margin:18px -16px -20px;padding:12px 16px calc(12px + env(safe-area-inset-bottom))}.modal :is(h2,h3){padding-right:44px}}.viewmode-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:2px 0 12px}.viewmode-toggle{display:inline-flex;border:1px solid var(--line-strong);border-radius:10px;overflow:hidden;background:#00000040}.viewmode-toggle button{font:inherit;font-size:13px;font-weight:600;cursor:pointer;padding:9px 15px;min-height:44px;border:none;background:transparent;color:var(--ink);opacity:.62;white-space:nowrap;transition:background .18s,opacity .18s}.viewmode-toggle button:hover{opacity:.9;background:var(--glass-hi)}.viewmode-toggle button.on{background:var(--accent);color:var(--accent-ink);opacity:1}.viewmode-toggle button:focus-visible{outline:2px solid var(--gold-bright);outline-offset:-2px}.viewmode-nudge{display:flex;align-items:center;gap:14px;flex-wrap:wrap;line-height:1.6}.showall-btn{display:block;width:100%;margin-top:10px;padding:12px 14px;min-height:46px;font:inherit;font-size:13.5px;font-weight:600;cursor:pointer;color:var(--gold-bright);background:#c8a24b12;border:1px dashed var(--line-strong);border-radius:10px;transition:background .18s}.showall-btn:hover{background:#c8a24b21}.showall-btn:focus-visible{outline:2px solid var(--gold-bright);outline-offset:2px}@media (max-width:760px){.viewmode-row .hint{flex-basis:100%}}
