:root{--navy:#09325c;--blue:#0b63b5;--blue-2:#087bda;--blue-dark:#053c7d;--pale:#e8f2ff;--ink:#162c45;--muted:#687e94;--line:#dbe6f1;--bg:#f3f8fd;--card:#fff;--orange:#fa8c1a;--violet:#7158ce;--radius:19px;--shadow:0 10px 32px rgba(12,62,117,.085);--safe:env(safe-area-inset-bottom, 0px);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-synthesis:none}
*{box-sizing:border-box}html{background:var(--bg);scroll-behavior:smooth}body{margin:0;color:var(--ink);font-size:15px;line-height:1.45}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:inherit;text-decoration:none}svg{display:block}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #ffb23a;outline-offset:3px}[hidden]{display:none!important}
.icon{width:22px;height:22px;stroke:currentColor;stroke-width:1.9;fill:none;stroke-linecap:round;stroke-linejoin:round;flex:none}.app-shell{min-height:100vh;background:linear-gradient(160deg,#ecf5ff 0%,#f8fbff 45%,#f1f7fc 100%)}.hero{position:relative;min-height:245px;padding:16px 18px 82px;background:radial-gradient(circle at 88% -10%,rgba(67,180,255,.32),transparent 44%),linear-gradient(122deg,#062b60 0%,#0864b5 53%,#0674c6 100%);color:#fff;overflow:hidden}.hero:after{content:"";position:absolute;width:390px;height:390px;border:1px solid rgba(255,255,255,.07);border-radius:50%;right:-160px;top:-250px;pointer-events:none}.hero-inner{max-width:1120px;margin:0 auto}.topline{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:10px}.brand{display:flex;align-items:center;justify-content:center;gap:9px;min-width:0}.brand-symbol{width:43px;height:43px;filter:drop-shadow(0 2px 3px rgba(0,0,0,.1))}.brand-word{font-weight:790;font-style:italic;font-size:clamp(26px,4.2vw,33px);letter-spacing:-1.5px;white-space:nowrap}.brand-r{font-style:normal;font-size:9px;vertical-align:top;margin-left:2px}.icon-button{width:43px;height:43px;display:grid;place-items:center;border:0;border-radius:12px;background:#f0f6fd;color:#0d4b86}.icon-button.on-blue{background:transparent;color:#fff}.icon-button.on-blue:hover{background:rgba(255,255,255,.13)}.icon-button .icon{width:26px;height:26px}.notification{position:relative}.notification-dot{position:absolute;right:7px;top:6px;width:8px;height:8px;border-radius:50%;background:#f7b747;border:2px solid #0865b2}.hero-heading{display:flex;justify-content:center;align-items:center;gap:15px;padding-top:26px}.hero-heading-icon{display:grid;place-items:center;width:42px;height:51px}.hero-heading-icon .icon{width:35px;height:45px;stroke-width:1.7}.hero-title{font-weight:760;letter-spacing:-.5px;font-size:clamp(25px,4.1vw,31px);line-height:1.15}.hero-subtitle{font-size:15px;opacity:.92;margin-top:4px}
.workspace{max-width:1120px;margin:-51px auto 0;padding:0 16px 117px;position:relative}.connection-card{display:flex;align-items:center;gap:11px;border-radius:17px;min-height:83px;background:#fff;border:1px solid rgba(198,219,240,.84);box-shadow:0 7px 23px rgba(6,45,95,.13);padding:13px 14px;margin-bottom:20px}.connection-mark{width:41px;height:41px;display:grid;place-items:center;border-radius:50%;background:#e1f5ec;color:#0b9565;flex:none}.connection-mark .icon{width:25px;height:25px}.connection-content{flex:1;min-width:0}.connection-head{font-weight:760;font-size:14px;color:#163554;display:flex;align-items:center;gap:7px;flex-wrap:wrap}.connection-caption{font-size:11.5px;color:var(--muted);margin-top:3px;line-height:1.3}.demo-tag{font-size:9px;letter-spacing:.5px;font-weight:850;padding:3px 6px;border-radius:5px;background:#fff0ca;color:#8f5600}.refresh-button{display:flex;align-items:center;gap:8px;border:0;border-radius:11px;background:#0d70c7;color:#fff;font-weight:700;padding:11px 12px;min-height:42px;box-shadow:0 4px 13px rgba(8,105,189,.23)}.refresh-button:hover{background:#075da9}.refresh-button .icon{width:18px;height:18px}
.section-kicker{text-transform:uppercase;font-weight:800;letter-spacing:1.15px;color:#4380bd;font-size:10px;margin:0 0 3px}.section-title{font-size:23px;letter-spacing:-.8px;color:#132d4b;line-height:1.18;font-weight:780;margin:0}.section-subtitle{font-size:13px;color:var(--muted);margin:7px 0 0}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 16px}.section-heading .heading-action{flex:none}.section-stack{display:grid;gap:18px;animation:fadeup .23s ease}.section-margin{margin-top:5px}.section-title-sm{font-size:17px;font-weight:780;letter-spacing:-.4px;margin:0;color:#16375b}.white-panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:19px 18px}.panel-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:15px}.text-button{display:inline-flex;align-items:center;gap:4px;padding:8px 0;border:0;background:none;color:#0969b9;font-size:12px;font-weight:750;white-space:nowrap}.text-button:hover{text-decoration:underline}.text-button .icon{width:16px;height:16px}.section-note{color:#6e8299;font-size:12px;margin:4px 0 0}
.kpi-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.kpi-card{position:relative;min-height:145px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;border:1px solid transparent;border-radius:17px;padding:17px 15px;color:#fff;box-shadow:0 7px 18px rgba(12,73,136,.11)}.kpi-card:after{content:"";position:absolute;width:175px;height:175px;border:1px solid rgba(255,255,255,.15);border-radius:50%;right:-103px;top:-98px;pointer-events:none}.kpi-blue{background:linear-gradient(145deg,#0786da 0%,#0560b3 85%)}.kpi-dark{background:linear-gradient(145deg,#0e6bbc,#064f9c)}.kpi-violet{background:linear-gradient(145deg,#8b65da,#654fc4)}.kpi-orange{background:linear-gradient(145deg,#ff9f21,#f37d16)}.kpi-icon .icon{width:26px;height:26px;stroke-width:1.8}.kpi-label{font-size:13px;font-weight:560;margin-top:9px;opacity:.97}.kpi-value{font-size:clamp(22px,4.2vw,29px);letter-spacing:-.8px;font-weight:800;line-height:1.08;margin-top:3px;font-variant-numeric:tabular-nums}.kpi-foot{font-size:11px;opacity:.88;margin-top:6px}.mini-kpi-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.mini-kpi{border-radius:14px;background:#edf5ff;border:1px solid #dbe9f8;padding:12px 13px;min-width:0}.mini-kpi-label{font-size:11px;color:#35699f;font-weight:700}.mini-kpi-value{font-size:21px;letter-spacing:-.6px;color:#083b79;font-weight:830;margin:3px 0}.mini-kpi-foot{color:var(--muted);font-size:11px}
.chart-area{position:relative;height:186px;display:flex;align-items:end;gap:7px;padding:15px 3px 4px;border-top:1px solid #e7eef5}.chart-bar-wrap{min-width:0;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:end;height:100%;gap:8px}.chart-bar{display:block;width:100%;max-width:49px;min-height:5px;border:0;border-radius:6px 6px 2px 2px;background:linear-gradient(180deg,#92caff 0%,#b2d7f8 100%);transition:height .24s ease,background .15s ease;box-shadow:inset 0 1px 1px rgba(255,255,255,.28);cursor:pointer}.chart-bar:hover,.chart-bar.is-selected{background:linear-gradient(180deg,#168de9,#086cc5)}.chart-label{font-size:11px;font-weight:710;color:#6b8196}.chart-value{color:#174d85;font-size:10px;font-weight:780;height:13px}.chart-footer{margin-top:13px;color:var(--muted);font-size:11px;display:flex;justify-content:space-between;gap:5px}.chart-footer strong{color:#0c63aa}.pill{display:inline-flex;align-items:center;gap:7px;background:#e9f3ff;color:#0b66b7;border:1px solid #d6e6f7;border-radius:25px;padding:7px 10px;font-size:11px;font-weight:700}.pill .icon{width:15px;height:15px}.headline-date{font-size:12px;color:#617f9a}.quick-links{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quick-link{display:flex;align-items:center;gap:9px;padding:12px 11px;border-radius:14px;background:#fff;border:1px solid var(--line);box-shadow:0 3px 11px rgba(11,48,102,.04);color:#155994;font-size:12px;font-weight:750;min-width:0}.quick-link .icon{width:18px;height:18px}.quick-link:hover{background:#eef7ff}.quick-link .icon:last-child{margin-left:auto;width:14px;height:14px}
.report-menu{padding:2px 15px}.report-link{width:100%;display:flex;align-items:center;gap:17px;text-align:left;border:0;border-bottom:1px solid #e1e9f1;background:#fff;padding:18px 5px;min-height:72px;font-weight:720;color:#19324d;font-size:14px}.report-link:last-child{border-bottom:0}.report-link>.icon{width:24px;height:24px;color:#0c68b8;stroke-width:1.9}.report-link>.icon:last-child{margin-left:auto;color:#5e7892;width:20px;height:20px}.report-link:hover{background:#f4f9ff}.report-link span{flex:1}.report-link small{font-size:11px;color:var(--muted);font-weight:500;display:block;margin-top:2px}.back-button{display:inline-flex;align-items:center;gap:7px;border:0;background:transparent;color:#0c67b1;font-weight:750;padding:7px 0;margin-bottom:8px}.back-button .icon{width:17px;height:17px}
.filter-card{display:flex;flex-wrap:wrap;gap:10px;align-items:end;background:#fff;border:1px solid var(--line);padding:14px;border-radius:16px}.form-field{display:grid;gap:5px;min-width:0;flex:1 1 125px}.form-field>label{font-size:11px;color:#365979;font-weight:740}.form-input{background:#fbfdff;border:1px solid #cbddec;border-radius:10px;padding:11px 10px;min-height:44px;width:100%;color:#1c3956;outline:0}.form-input:focus{border-color:#1689d6;box-shadow:0 0 0 3px rgba(11,128,218,.12)}.filter-select{appearance:auto}.muted-caption{color:var(--muted);font-size:12px}.note-banner{display:flex;gap:9px;align-items:flex-start;background:#eef6ff;border:1px solid #d8e8fb;border-radius:13px;padding:12px 13px;font-size:12px;color:#356a98}.note-banner .icon{width:17px;height:17px;flex:none}
.table-scroll{overflow:auto;border:1px solid #dfeaf3;border-radius:12px}table{border-collapse:collapse;width:100%;font-size:12px;white-space:nowrap}th{background:#edf5ff;color:#365f86;text-align:left;font-size:11px;font-weight:770;padding:11px 12px}td{padding:11px 12px;border-top:1px solid #e9f0f7;color:#27405b}td.numeric,th.numeric{text-align:right;font-variant-numeric:tabular-nums}tr:last-child td{border-bottom:0}tr:hover td{background:#f6faff}.table-value{font-weight:800;color:#0d497d}.stat-row{display:grid;grid-template-columns:1fr auto;gap:9px;padding:11px 0;border-bottom:1px solid #e6edf5;font-size:13px}.stat-row:last-child{border-bottom:0}.stat-value{font-weight:780;font-variant-numeric:tabular-nums;color:#123b65}.payment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.payment-item{background:#f1f7fe;border:1px solid #deebf8;padding:11px;border-radius:13px}.payment-item strong{font-size:17px;color:#0c4d91;display:block;margin:3px 0}.payment-item span{font-size:12px;color:#436f99}.payment-item small{font-size:11px;color:#7490a8}.payment-amount{font-variant-numeric:tabular-nums}
.stock-controls{display:flex;gap:8px;flex-wrap:wrap}.stock-search{position:relative;flex:1 1 230px}.stock-search .icon{position:absolute;left:12px;top:12px;color:#6b8cad}.stock-search .form-input{padding-left:41px}.stock-category{max-width:200px;flex:0 1 165px}.stock-list{display:grid;gap:10px}.stock-card{width:100%;text-align:left;display:flex;align-items:center;gap:12px;padding:14px;background:white;border:1px solid #dbe7f2;border-radius:15px;box-shadow:0 3px 12px rgba(9,66,127,.04)}.stock-card:hover{background:#f7fbff;border-color:#93c6ec}.stock-avatar{width:46px;height:46px;flex:none;display:grid;place-items:center;border-radius:13px;color:#0d74bd;background:#e9f4ff}.stock-avatar .icon{width:24px;height:24px}.stock-info{flex:1;min-width:0}.stock-name{display:block;font-size:13px;font-weight:760;color:#183655;line-height:1.32}.stock-meta{font-size:11px;color:#7188a0;margin-top:3px}.stock-end{text-align:right;flex:none}.stock-qty{display:block;font-size:18px;font-weight:850;color:#0c4d91;font-variant-numeric:tabular-nums}.stock-qty.low{color:#d7731a}.stock-status{font-size:10px;padding:3px 7px;border-radius:30px;display:inline-block;background:#e5f6ee;color:#15875a;white-space:nowrap}.stock-status.low{background:#fff0d8;color:#ad670c}.stock-detail{border:1px solid #d8e7f4;background:#f2f8ff;padding:13px;border-radius:14px;margin:-3px 4px 8px}.stock-detail h3{margin:0 0 8px;font-size:14px}.empty-state{text-align:center;padding:38px 20px;color:#667e94;background:white;border:1px dashed #c7d9eb;border-radius:16px}.empty-state .icon{margin:0 auto 10px;width:30px;height:30px;color:#7aa6ce}.empty-state strong{color:#204f7b;display:block}
.report-highlight{display:flex;align-items:center;gap:12px;background:linear-gradient(115deg,#0e66b6,#07569e);color:#fff;border-radius:17px;padding:18px 19px;box-shadow:var(--shadow)}.report-highlight .icon{width:33px;height:33px;opacity:.93}.report-highlight-label{font-size:12px;opacity:.85}.report-highlight-value{font-size:29px;font-weight:850;letter-spacing:-.7px;line-height:1.05;margin-top:3px}.rank-list{display:grid;gap:10px}.rank-row{display:grid;grid-template-columns:32px 1fr auto;align-items:center;gap:10px}.rank-number{width:31px;height:31px;border-radius:9px;display:grid;place-items:center;background:#e7f2fe;color:#1465a8;font-size:13px;font-weight:800}.rank-name{font-size:12px;font-weight:700}.rank-track{height:6px;border-radius:10px;background:#e7edf5;margin-top:7px;overflow:hidden}.rank-fill{height:100%;background:#1688db;border-radius:10px}.rank-val{color:#0b518e;font-weight:800;font-size:12px;text-align:right}.day-chip{font-size:11px;color:#517da2}
.about-feature{display:flex;align-items:flex-start;gap:11px;padding:13px 0;border-bottom:1px solid #e9eef4}.about-feature:last-child{border-bottom:0}.about-feature .icon{color:#0c6ebe}.about-feature b{display:block;font-size:13px}.about-feature p{margin:4px 0 0;color:var(--muted);font-size:12px}.desktop-footer{display:flex;justify-content:space-between;gap:10px;padding:27px 6px 0;color:#8798aa;font-size:10px}
.bottom-nav{position:fixed;z-index:20;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;background:rgba(255,255,255,.96);backdrop-filter:blur(13px);border-top:1px solid #d6e5f3;box-shadow:0 -6px 24px rgba(15,60,106,.05);padding:7px max(8px,env(safe-area-inset-right)) calc(7px + var(--safe)) max(8px,env(safe-area-inset-left))}.bottom-nav a{min-height:62px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;border-radius:12px;color:#566e86;font-size:11px;font-weight:720;transition:background .12s}.bottom-nav .icon{width:23px;height:23px}.bottom-nav a.active{color:#075ead;background:#e5f2ff}.bottom-nav a:hover{background:#f0f7ff}.bottom-nav a:active{transform:scale(.98)}
.drawer-backdrop{position:fixed;z-index:50;inset:0;background:rgba(7,24,47,.43)}.app-drawer{position:fixed;z-index:51;inset:0 auto 0 0;width:min(340px,90vw);background:#fff;box-shadow:10px 0 50px rgba(0,30,80,.2);padding:24px 18px;transform:translateX(-110%);transition:transform .18s ease;overflow:auto}.app-drawer.open{transform:translateX(0)}.drawer-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.drawer-title{font-size:21px;font-weight:830;color:#063f7e}.drawer-title span{font-size:12px;color:#7390aa}.drawer-callout{display:flex;align-items:start;gap:9px;background:#fff7e7;color:#7b5a29;padding:13px;border-radius:12px;margin:24px 0 13px}.drawer-callout .icon{width:20px;height:20px}.drawer-callout b{font-size:13px}.drawer-callout p{font-size:12px;margin:4px 0 0}.drawer-row{width:100%;display:flex;align-items:center;gap:12px;text-align:left;background:white;border:0;border-bottom:1px solid #e8eef5;padding:18px 8px;font-size:13px;font-weight:730;color:#183b5c}.drawer-row .icon{color:#1372bf}.drawer-row .icon:last-child{margin-left:auto;width:17px;height:17px;color:#8ba2b5}.drawer-note{font-size:12px;color:#748aa0;line-height:1.6;margin-top:30px}.toast{position:fixed;z-index:80;left:50%;bottom:calc(85px + var(--safe));width:min(540px,calc(100vw - 28px));transform:translateX(-50%);border-radius:12px;background:#153d62;color:#fff;padding:13px 15px;box-shadow:0 9px 30px rgba(5,37,65,.2);font-size:12px;text-align:center;animation:fadeup .2s ease}@keyframes fadeup{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media (min-width:820px){.hero{min-height:254px;padding-top:25px}.topline{grid-template-columns:50px 1fr 50px}.hero-heading{padding-top:35px}.workspace{padding:0 30px 110px}.connection-card{padding:16px 21px}.kpi-card{min-height:177px;padding:24px}.kpi-value{font-size:34px}.kpi-label{font-size:15px}.kpi-icon .icon{width:32px;height:32px}.section-title{font-size:28px}.section-stack{gap:22px}.dashboard-columns{display:grid;grid-template-columns:1.5fr 1fr;gap:18px;align-items:start}.dashboard-columns>.white-panel{height:100%}.chart-area{height:235px}.bottom-nav{left:50%;right:auto;transform:translateX(-50%);width:min(660px,80vw);border:1px solid #d3e4f3;border-bottom:0;border-radius:18px 18px 0 0}.stock-list{grid-template-columns:repeat(2,minmax(0,1fr))}.report-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.report-menu{padding:8px 15px}.kpi-grid{gap:16px}}
@media (max-width:450px){.hero{padding-left:12px;padding-right:12px;min-height:227px}.hero-heading{padding-top:23px}.brand-symbol{width:35px;height:35px}.brand-word{font-size:27px}.workspace{padding:0 11px 107px;margin-top:-48px}.connection-card{padding:10px 11px;gap:9px;min-height:76px}.connection-mark{width:32px;height:32px}.connection-head{font-size:12px}.connection-caption{font-size:10px}.refresh-button{padding:10px}.refresh-text{display:none}.kpi-card{padding:14px 12px;min-height:137px}.kpi-value{font-size:clamp(20px,6.1vw,27px)}.kpi-label{font-size:12px}.white-panel{padding:16px 13px}.section-title{font-size:22px}.section-title-sm{font-size:16px}.chart-area{gap:5px}.filter-card{padding:11px}.stock-category{max-width:none;flex:1 1 130px}.stock-search{flex:1 1 100%}.desktop-footer{display:none}}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
