:root{--navy:#192c45;--ink:#14243e;--muted:#74849b;--line:#e6edf5;--bg:#f2f6fb;--blue:#3388f0;--green:#1eae78}*{box-sizing:border-box}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;background:var(--bg);color:var(--ink);font-size:14px}a{color:#2379de;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h2{font-size:18px;margin-bottom:3px;letter-spacing:-.35px}h3{font-size:15px;margin:25px 0 12px}small{font-size:12px}.muted,.subnote{color:var(--muted);font-size:12px}.app{display:flex;min-height:100vh}.sidebar{width:240px;background:linear-gradient(155deg,#192b43,#253c57);color:white;flex-shrink:0;display:flex;flex-direction:column;min-height:100vh;position:sticky;top:0;height:100vh;padding:26px 14px}.brand{color:white;font-size:21px;font-weight:800;letter-spacing:-.75px;display:flex;align-items:center;gap:7px;padding:0 7px 35px}.brand small{font-size:9px;letter-spacing:1.1px;color:#8fb9e6;margin-left:3px}.heart{font-size:36px;color:#fb5573;line-height:1}.sidebar nav{display:grid;gap:6px}.navlink{display:flex;gap:13px;align-items:center;color:#cdd8e9;padding:13px;border-radius:9px;font-weight:550}.navlink span{font-size:21px;line-height:1;width:23px;text-align:center}.navlink.active,.navlink:hover{background:#365b87;color:white}.side-foot{margin-top:auto;border-top:1px solid #ffffff25;padding:20px 11px;color:#c5d2e3;font-size:12px;line-height:2}.side-foot small{opacity:.65}.main{min-width:0;flex:1}.top{height:82px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 31px}.top-title{display:flex;gap:9px;align-items:center}.top-title strong{display:block;font-size:23px;letter-spacing:-.55px}.top-title small{display:block;color:var(--muted);margin-top:4px}.mobile-heart{display:none}.top-status{font-size:12px;color:var(--muted)}.top-status i{width:8px;height:8px;display:inline-block;border-radius:50%;background:#28b47f;margin-right:6px}.content{max-width:1510px;padding:25px 30px 80px;margin:auto}.filters{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;margin-bottom:21px}.filters label{font-size:11px;color:#718098;font-weight:650}.filters input,.filters select{display:block;min-width:150px;margin-top:5px}.btn{background:white;color:#33455d;border:1px solid #d9e3ef;border-radius:9px;padding:10px 15px;font-weight:650;white-space:nowrap;box-shadow:0 1px 1px #0a22420c}.btn:hover{background:#f0f7ff}.btn.primary{border-color:#347fe8;background:#3286ed;color:white}.btn.primary:hover{background:#1b70de}.btn.danger{color:#cf5264}.btn.tiny{font-size:11px;padding:7px 9px}.btn.full{width:100%;margin-top:14px}.kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:16px}.kpi{background:white;border:1px solid var(--line);border-radius:14px;padding:19px 19px 16px;min-width:0;box-shadow:0 2px 12px #203f6008;display:flex;flex-direction:column;gap:9px}.kpi small{font-size:12px;font-weight:650}.kpi strong{font-size:clamp(18px,2vw,26px);letter-spacing:-.75px}.kpi .muted{font-size:11px}.kpi.emphasis{border-color:#cdeadd}.tile-ico{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;font-size:20px;font-weight:800;margin-bottom:4px}.tile-ico.green{background:#dbf7eb;color:#1db17c}.tile-ico.coral{background:#fff0f0;color:#f55c6c}.tile-ico.blue{background:#e7f1ff;color:#3187ed}.tile-ico.purple{background:#f0eaff;color:#9061df}.two-col{display:grid;grid-template-columns:1.35fr 1fr;gap:15px;margin-bottom:15px}.panel{background:white;border:1px solid var(--line);border-radius:15px;box-shadow:0 2px 12px #203f6006;padding:19px;margin-bottom:17px;min-width:0}.two-col .panel{margin:0}.panel-head{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:16px}.panel-head p{color:var(--muted);font-size:12px;margin:4px 0 0}.panel-head a{font-size:12px;font-weight:650}.bar-chart{height:235px;display:flex;align-items:flex-end;gap:5px;border-bottom:1px solid var(--line);padding:4px 0 20px;position:relative;background:repeating-linear-gradient(to top,transparent 0,transparent calc(25% - 1px),#edf2f7 calc(25% - 1px),#edf2f7 25%)}.bar-col{height:100%;min-width:5px;flex:1;display:flex;justify-content:flex-end;flex-direction:column;align-items:center;gap:4px}.bar-col span{width:75%;border-radius:4px 4px 0 0;min-height:3px;max-width:34px}.bar-col small{font-size:9px;color:#7a879b;white-space:nowrap}.market-list{display:grid;gap:13px}.market-row{display:flex;gap:10px;align-items:center;background:#f7f9fd;border-radius:10px;padding:13px}.market-row b{margin-left:auto}.market-dot{width:10px;height:10px;background:#398cf6;border-radius:50%}.market-row:nth-child(2) .market-dot{background:#fa973f}.market-row:nth-child(3) .market-dot{background:#35c18b}.subnote{margin-top:15px;line-height:1.6}.order-row{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}.order-row:last-child{border:0}.order-row strong{display:block}.order-row small{display:block;color:var(--muted);margin-top:5px}.order-money{text-align:right}.order-money strong{color:var(--green)}.costline{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line)}.costline:last-child{border:0}.costline span{color:#62738e}.table-wrap{overflow-x:auto;width:100%}table{border-collapse:collapse;width:100%;text-align:left;white-space:nowrap}th{background:#f5f8fc;color:#64738a;font-size:11px;text-transform:uppercase;letter-spacing:.4px;padding:13px 12px}td{padding:14px 12px;border-bottom:1px solid var(--line);font-size:13px}tr:last-child td{border-bottom:0}.profit{color:var(--green)}.actions{display:flex;gap:5px}.inline{display:inline}.empty{padding:45px 12px;text-align:center;color:var(--muted)}.empty.compact{padding:25px 10px}.hint{border:1px solid #d7e6fa;background:#eaf3ff;border-radius:12px;padding:15px 18px;color:#4a6383;line-height:1.6;font-size:12px;margin-bottom:16px}.hint.strong{background:#fff8e8;border-color:#ffe5a8;color:#816328}label{display:block;font-size:12px;font-weight:650;color:#465a74}input,select,textarea{background:white;color:var(--ink);border:1px solid #dbe4ee;border-radius:9px;padding:11px 12px;width:100%;outline:none}input:focus,select:focus,textarea:focus{border-color:#448fe9;box-shadow:0 0 0 3px #448fe922}label input,label select{margin-top:6px}form.settings-form{display:grid;gap:15px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.settings-form>.btn{justify-self:start}.settings-form h3{border-bottom:1px solid var(--line);padding-bottom:10px;margin-bottom:1px}.narrow{max-width:650px}code{overflow-wrap:anywhere;font-size:12px}.product-card{padding:17px;border:1px solid var(--line);border-radius:11px;margin:12px 0}.product-main{display:flex;justify-content:space-between;gap:12px;align-items:center}.product-main small{color:var(--muted);display:block;margin-top:5px}.recipe{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0}.recipe-chip{background:#eef5ff;border-radius:30px;padding:7px 10px;font-size:12px;color:#3f628c}.chip-x{border:0;background:none;font-weight:bold;color:#c0485d}.assign-row{display:flex;gap:8px;max-width:600px}.assign-row select{flex:1}.assign-row input{width:80px}.accounts{display:grid;gap:12px}.account{border:1px solid var(--line);border-radius:12px;padding:14px;display:flex;align-items:center;gap:12px}.account-icon{height:43px;width:43px;display:grid;place-items:center;color:white;font-weight:800;border-radius:11px;background:#3189ed}.account-detail{flex:1}.account-detail strong,.account-detail small{display:block}.account-detail small{color:var(--muted);margin:4px 0}.pill{display:inline-block;font-size:11px;padding:4px 9px;border-radius:20px}.pill.ok{background:#ddf9eb;color:#178d60}.pill.pending{background:#fff2d7;color:#a67825}.alert{padding:12px 15px;margin-bottom:16px;border-radius:10px;font-weight:550}.alert.success{background:#def9eb;color:#197e5a}.alert.err{background:#fff0f0;color:#ba3d50}.auth{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(ellipse at top left,#d7eafe,#f2f6fb 65%)}.auth-card{background:white;width:min(100%,430px);border-radius:20px;padding:32px;box-shadow:0 15px 65px #234b7a20}.auth .brand{color:var(--ink);padding:0 0 30px}.auth p{color:var(--muted);line-height:1.6}.auth-card label{margin-top:20px}.modal{border:0;padding:0;border-radius:16px;background:white;box-shadow:0 20px 70px #10243c40;width:min(94vw,550px);max-height:90vh;overflow:auto}.modal::backdrop{background:#10223b99}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:20px 22px;border-bottom:1px solid var(--line)}.modal-head h2{margin:0}.modal-body{padding:20px 22px;display:grid;gap:15px}.modal-actions{display:flex;gap:10px;justify-content:flex-end;padding:18px 22px;border-top:1px solid var(--line)}.close{border:0;background:#f2f5fa;border-radius:7px;width:29px;height:29px;font-size:22px;color:#66758c}#confirm-modal>p{padding:20px 22px;margin:0}.bottom-nav{display:none}@media(max-width:1150px){.kpi-grid{grid-template-columns:repeat(3,1fr)}.two-col{grid-template-columns:1fr 1fr}}@media(max-width:800px){.sidebar{display:none}.top{height:70px;padding:0 18px}.top-title strong{font-size:18px}.mobile-heart{display:block;font-size:31px}.top-title small{font-size:11px}.top-status{font-size:10px}.content{padding:15px 12px 106px}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.kpi{padding:14px;border-radius:13px;gap:7px}.kpi strong{font-size:clamp(18px,4.7vw,24px)}.kpi small{font-size:11px}.tile-ico{height:31px;width:31px;font-size:17px}.kpi.emphasis{grid-column:span 1}.two-col{grid-template-columns:1fr;gap:12px;margin-bottom:12px}.panel{padding:15px;margin-bottom:12px}.filters{display:grid;grid-template-columns:1fr 1fr;gap:9px}.filters label:nth-child(3){grid-column:1 / 3}.filters button{grid-column:1 / 3}.filters input,.filters select{min-width:0;width:100%;font-size:12px}.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:20;justify-content:space-around;background:#fff;padding:9px 4px max(9px,env(safe-area-inset-bottom));box-shadow:0 -5px 25px #182d4915;border-top:1px solid var(--line)}.bottom-nav a{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:17%;padding:7px 3px;font-size:10px;color:#71839c;border-radius:10px}.bottom-nav a span{font-size:22px;line-height:1}.bottom-nav a.active{background:#e9f2ff;color:#1679ee}.panel-head{align-items:flex-start}.panel-head .btn{font-size:12px;padding:10px}.form-grid{grid-template-columns:1fr}.bar-chart{height:180px}.assign-row{flex-wrap:wrap}.assign-row select{min-width:100%;flex:1}.account{flex-wrap:wrap}.account-detail{min-width:48%}.modal{width:calc(100% - 20px)}.top-status{display:none}}@media(max-width:370px){.kpi strong{font-size:17px}.brand{font-size:18px}}

/* Date range filters */
.range-bar{display:flex;gap:6px;flex-wrap:wrap;align-items:center;width:100%;margin-bottom:4px}
.range-option{border:1px solid #dbe4ee;background:#fff;border-radius:9px;padding:11px 14px;color:#475b74;font-weight:700;font-size:12px;cursor:pointer}
.range-option.selected{background:#257ee9;border-color:#257ee9;color:white;box-shadow:0 3px 10px #257ee92a}
.custom-dates{display:flex;gap:10px;flex-wrap:wrap}
.custom-dates[hidden]{display:none!important}
.custom-dates label{min-width:145px}
@media(max-width:800px){.range-bar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.range-option{padding:11px 4px;font-size:11px;white-space:normal}.range-option:last-child{grid-column:span 2}.custom-dates{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;width:100%}.custom-dates label{min-width:0}.filters>input[type=hidden]{display:none}}
