:root{--green:#087d67;--dark:#123a32;--ink:#23352f;--muted:#74857e;--bg:#f4f7f5;--line:#e4ebe7;--red:#b4453c;--amber:#986719}*{box-sizing:border-box}body{margin:0;font:14px/1.55 Arial,Helvetica,sans-serif;color:var(--ink);background:var(--bg)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:3px}button{cursor:pointer}a{color:var(--green);text-decoration:none}button{border:1px solid var(--line);padding:9px 14px;border-radius:7px;background:white;color:var(--ink);font-weight:600}button:hover{background:#edf5f0}button.primary{background:var(--green);color:white;border-color:var(--green)}button.danger{color:var(--red)}button:disabled{opacity:.45;cursor:not-allowed}.boot{padding:80px;text-align:center}.sidebar{width:240px;position:fixed;inset:0 auto 0 0;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;padding:28px 18px;z-index:20}.brand{font-size:30px;letter-spacing:2px;font-weight:800;color:var(--green);line-height:1.1}.brand small{display:block;letter-spacing:2px;font-size:9px;margin-top:9px;color:var(--muted);font-weight:600}.navtitle{font-size:10px;letter-spacing:1.8px;color:var(--muted);margin:28px 12px 10px;font-weight:bold}.nav{overflow:auto;flex:1}.nav button{display:flex;gap:12px;width:100%;text-align:left;border:0;font-size:13px;background:transparent;padding:11px 12px;margin:2px 0;font-weight:500}.nav button.active{background:#eaf4ef;color:var(--green);font-weight:700}.nav .icon{width:18px;height:20px;font-size:17px;text-align:center}.account{border-top:1px solid var(--line);padding-top:18px;display:flex;align-items:center;gap:10px}.avatar{background:#e9f2ed;color:var(--green);border-radius:50%;height:36px;width:36px;display:grid;place-items:center;font-weight:700}.account small{display:block;color:var(--muted);font-size:10px}.main{margin-left:240px;min-height:100vh}.topbar{height:76px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.9);display:flex;justify-content:space-between;align-items:center;padding:0 35px}.crumb{color:var(--muted);font-size:12px}.crumb strong{color:var(--ink);margin-left:10px}.topmeta{display:flex;align-items:center;gap:15px;color:var(--muted);font-size:12px}.live{background:#e9f5ef;color:var(--green);padding:4px 10px;border-radius:20px}.page{padding:32px 35px 60px;max-width:1800px;margin:auto}.pagehead{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}h1{font-size:26px;line-height:1.3;margin:0 0 6px;letter-spacing:-.7px}h2{font-size:17px;margin:0 0 15px}h3{font-size:14px;margin:15px 0}p{margin:0 0 15px}.sub{color:var(--muted);font-size:13px}.actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:22px 0}.card,.panel{border:1px solid var(--line);border-radius:12px;background:white;box-shadow:0 3px 12px #183c2803}.card{padding:21px}.card .label{color:var(--muted);font-size:12px}.card .value{font-size:27px;font-weight:700;letter-spacing:-.6px;margin:10px 0 2px}.card .hint{font-size:11px;color:var(--muted)}.panel{padding:22px;margin-bottom:22px}.panelhead{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px}.panelhead h2{margin:0}.filters{display:flex;align-items:center;gap:10px;margin:16px 0;flex-wrap:wrap}.filters input[type=search]{min-width:240px}.tablewrap{overflow:auto;margin:0 -3px}table{border-collapse:collapse;width:100%;font-size:12px}th{text-align:left;color:var(--muted);font-weight:600;font-size:10px;letter-spacing:.5px;background:#f7faf8;white-space:nowrap}th,td{padding:13px 12px;border-bottom:1px solid var(--line)}td{vertical-align:middle}tr:last-child td{border-bottom:0}td.num,th.num{text-align:right;white-space:nowrap}.tablewrap tbody tr:hover{background:#fbfdfb}.badge{display:inline-block;border-radius:5px;padding:3px 8px;font-size:10px;font-weight:700;background:#edf4f0;color:var(--green);white-space:nowrap}.badge.blue{background:#eaf0fa;color:#466bb0}.badge.amber{background:#fff3df;color:var(--amber)}.badge.red{background:#fcece8;color:var(--red)}.small{font-size:11px;color:var(--muted)}.empty{padding:45px 20px;text-align:center;color:var(--muted)}.empty strong{display:block;font-size:16px;color:var(--ink);margin-bottom:7px}.tabs{display:flex;gap:8px;border-bottom:1px solid var(--line);padding-bottom:12px;flex-wrap:wrap}.tabs button{border:0;background:transparent;color:var(--muted)}.tabs button.active{background:#eaf4ef;color:var(--green)}input,select,textarea{border:1px solid #dce5df;border-radius:6px;padding:10px 11px;background:white;color:var(--ink);width:100%}input:focus,select:focus,textarea:focus{border-color:var(--green);outline:2px solid #087d6712}input[type=checkbox]{width:auto;accent-color:var(--green)}input[type=month]{width:170px}textarea{resize:vertical;min-height:78px}label{display:block;font-size:12px;font-weight:600;margin-bottom:6px}label .req{color:var(--red)}.field{min-width:0}.field small{font-size:10px;color:var(--muted);display:block;margin-top:4px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.span2{grid-column:1/-1}.formsection{grid-column:1/-1;margin-top:12px;padding-bottom:10px;border-bottom:1px solid var(--line);font-size:14px;font-weight:bold}.notice{padding:14px 17px;background:#fff7e8;border:1px solid #f1dfb9;color:#806128;border-radius:8px;font-size:12px;margin:15px 0}.notice.green{background:#edf6f0;border-color:#d7eade;color:var(--green)}.notice.red{background:#fff0ec;border-color:#f1d1c9;color:var(--red)}.rowbuttons{display:flex;gap:5px}.rowbuttons button{padding:5px 8px;font-size:11px}.split{display:grid;grid-template-columns:1.6fr 1fr;gap:22px}.quicklinks{display:grid;grid-template-columns:1fr 1fr;gap:12px}.quicklink{padding:17px;text-align:left;background:#f9fbfa;border:1px solid var(--line);border-radius:8px}.quicklink strong{display:block;font-size:13px;margin-bottom:4px}.quicklink span{color:var(--muted);font-size:11px}.auth{max-width:440px;margin:9vh auto;background:white;border:1px solid var(--line);border-radius:15px;padding:35px;box-shadow:0 10px 60px #183c2810}.auth .brand{margin-bottom:30px}.auth h1{font-size:22px}.auth .field{margin:18px 0}.auth button{width:100%;margin-top:10px}.authfooter{color:var(--muted);font-size:11px;text-align:center;margin-top:22px}dialog{border:0;border-radius:13px;box-shadow:0 20px 100px #16372e40;width:min(900px,95vw);max-height:90vh;padding:0;color:var(--ink)}dialog::backdrop{background:#17352d66;backdrop-filter:blur(3px)}.modalhead{display:flex;justify-content:space-between;align-items:center;padding:20px 25px;border-bottom:1px solid var(--line);position:sticky;top:0;background:white;z-index:2}.modalhead h2{margin:0}.modalbody{padding:24px;overflow:auto}.modalfoot{padding:18px 24px;border-top:1px solid var(--line);display:flex;gap:10px;justify-content:flex-end;background:white;position:sticky;bottom:0}.modalerror{color:var(--red);font-size:12px;margin:10px 0}.totals{display:flex;justify-content:flex-end;gap:24px;background:#eef6f1;padding:15px;border-radius:7px;margin-top:15px}.totals span{font-size:11px;color:var(--muted)}.totals strong{display:block;color:var(--green);font-size:16px}.itemrow{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 40px;gap:8px;margin-bottom:9px;align-items:end}.itemrow.instruction{grid-template-columns:3fr 1fr 40px}.itemrow button{height:41px}.permissiontable input{width:auto}.sourcegrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.sourcegrid .card .value{font-size:18px}.sourcerow{white-space:pre-wrap;max-width:240px}.detailgrid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.detailgrid dt{color:var(--muted);font-size:11px}.detailgrid dd{margin:0;font-size:13px}.menu-toggle{display:none}#toast{position:fixed;right:24px;bottom:24px;background:#173b30;color:white;padding:13px 20px;border-radius:9px;box-shadow:0 5px 30px #0002;z-index:100;display:none;max-width:450px}#toast.error{background:#9c3d35}details{border:1px solid var(--line);padding:14px;border-radius:8px;margin-bottom:12px}summary{cursor:pointer;font-weight:bold}.loading{opacity:.6;pointer-events:none}.checkline{display:flex;align-items:center;gap:9px;margin:10px 0}.checkline label{margin:0}footer{font-size:10px;color:var(--muted);margin-top:30px}.code{font-family:monospace;font-size:12px;background:#f3f6f4;padding:12px;overflow:auto;white-space:pre-wrap}@media(max-width:1100px){.cards{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr}.page{padding:25px}.sidebar{width:210px}.main{margin-left:210px}}@media(max-width:760px){.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.open{transform:none;width:240px;box-shadow:0 0 0 100vw #0005}.main{margin-left:0}.topbar{padding:0 20px;height:65px}.menu-toggle{display:block}.topmeta time{display:none}.page{padding:22px 16px}.pagehead{align-items:flex-start;flex-direction:column;gap:12px}h1{font-size:23px}.cards{gap:10px}.card{padding:16px}.card .value{font-size:22px}.formgrid,.detailgrid{grid-template-columns:1fr}.span2{grid-column:auto}.sourcegrid{grid-template-columns:1fr}.modalbody{padding:16px}.itemrow,.itemrow.instruction{grid-template-columns:1fr 1fr}.itemrow>.field:first-child{grid-column:1/-1}.quicklinks{grid-template-columns:1fr}.totals{flex-wrap:wrap;gap:15px}.auth{margin:6vh 16px;padding:25px}.crumb{display:none}.panel{padding:16px}.filters input[type=search]{min-width:0;width:100%}}

/* Four workspaces, with a quieter hierarchy and a consistent visual system. */
:root{--green:#167563;--dark:#192e2b;--ink:#263d36;--muted:#839089;--bg:#f5f5f0;--line:#e7eae3;--gold:#c2aa76;--red:#a6453c;--amber:#986c26}
body{font-family:'Inter','Segoe UI',Arial,sans-serif;font-size:14px;background:var(--bg);-webkit-font-smoothing:antialiased}
button{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:12px;font-weight:600;min-height:38px;border-radius:9px;padding:9px 15px;transition:background .15s,box-shadow .15s,transform .15s}
button.primary{background:var(--green);border-color:var(--green);box-shadow:0 4px 8px #16756312}
button.primary:hover{background:#105f50;box-shadow:0 6px 12px #16756320}
.ui-icon{flex-shrink:0;vertical-align:middle}
.icon-button{padding:7px;min-height:36px;border:0;background:transparent;border-radius:8px}
.sidebar{width:248px;background:#192e2b;color:#f8f9f5;border:0;padding:35px 24px 22px}
.sidebar-brand{padding:4px 8px 0}
.brand{font-size:36px;font-weight:750;letter-spacing:3px;color:#fff}
.brand-dot{color:var(--gold);letter-spacing:0;margin-left:2px}
.brand small{color:#a1b4aa;letter-spacing:2.2px;font-size:8px;margin-top:10px;font-weight:500}
.brand-divider{display:block;width:25px;height:2px;background:var(--gold);margin:23px 0 12px}
.brand-caption{font-size:11px;color:#a6b8af;letter-spacing:.3px}
.navtitle{margin:50px 10px 16px;color:#82978c;font-size:9px;font-weight:500;letter-spacing:2px}
.nav{flex:initial;overflow:visible}
.nav button{gap:13px;color:#afbeb6;padding:15px 13px;border-radius:9px;min-height:54px;font-size:13px;font-weight:500;margin:5px 0;background:none}
.nav button:hover{background:#ffffff09;color:white}
.nav button.active{background:#ffffff0d;color:#fff;box-shadow:inset 3px 0 0 var(--gold);font-weight:600}
.nav-icon{display:grid;place-items:center;width:22px;color:#90a79b}
.nav button.active .nav-icon{color:var(--gold)}
.nav-index{font-size:9px;letter-spacing:1px;margin-left:auto;color:#638276;font-weight:400}
.nav button.active .nav-index{color:#bdcbbe}
.sidebar-note{margin-top:auto;padding:35px 10px 29px}
.note-line{display:block;background:#617a65;width:24px;height:1px;margin-bottom:14px}
.sidebar-note p{font-family:Georgia,serif;font-style:italic;font-size:13px;color:#b6c5b8;margin:0 0 8px}
.sidebar-note small{color:#648375;font-size:8px;letter-spacing:2px}
.account{border-color:#ffffff0d;padding-top:21px;gap:10px}
.avatar{width:35px;height:35px;background:#304b3f;border:1px solid #66825b66;color:#d8dfc9;font-size:12px}
.account-info{min-width:0}
.account strong{color:#d8e0d8;font-size:11px;font-weight:500;display:block;overflow:hidden;text-overflow:ellipsis;max-width:117px}
.account small{color:#799789;font-size:9px;margin-top:2px}
.account .icon-button{margin-left:auto;color:#85a18d;padding:5px}
.account .icon-button:hover{background:#ffffff0b;color:#fff}
.main{margin-left:248px;display:flex;flex-direction:column}
.topbar{height:83px;padding:0 42px;background:#fafbf7;border-color:#e6e9e0}
.crumb{font-size:9px;letter-spacing:1.3px;color:#9ba69d;display:flex;align-items:center;gap:20px}
.crumb span{font-size:13px;color:#b9c1b7;font-weight:300}
.crumb strong{font-size:11px;letter-spacing:0;margin:0;color:#53685d;font-weight:500}
.topmeta{gap:21px;color:#8b998f;font-size:11px}
.topmeta time{font-size:11px}
.top-avatar{border-radius:50%;width:32px;height:32px;background:#e6ecdf;color:#60745a;border:1px solid #dce4d4;display:grid;place-items:center;font-size:11px;font-weight:600}
.page{padding:29px 42px 60px;width:100%;max-width:1700px;flex:1}
.workspacebar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:-4px 0 31px;min-height:43px;border-bottom:1px solid var(--line)}
.workspace-tabs{display:flex;gap:26px;height:43px}
.workspace-tabs button{padding:0 0 13px;border:0;border-radius:0;background:transparent;min-height:43px;color:#8d998f;font-size:12px;font-weight:500;position:relative}
.workspace-tabs button.active{color:#244f3e}
.workspace-tabs button.active:after{content:'';height:2px;background:var(--green);position:absolute;bottom:-1px;left:0;right:0}
.workspace-tools{padding-bottom:8px}
.menu-popover{position:relative;border:0;padding:0;margin:0;background:transparent}
.menu-popover summary{list-style:none;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;font-size:11px;color:#849388;font-weight:500}
.menu-popover summary::-webkit-details-marker{display:none}
.menu-popover summary .ui-icon{width:16px;height:16px}
.workspace-tools summary{padding:6px 10px}
.menu-popover[open] summary{color:var(--green)}
.popover-content{position:absolute;right:0;top:calc(100% + 12px);width:245px;padding:7px;background:white;border:1px solid #e0e6dc;border-radius:12px;box-shadow:0 14px 48px #18392a16;z-index:40}
.popover-content button{width:100%;display:flex;justify-content:space-between;padding:12px 11px;border:0;background:white;text-align:left;font-size:12px;font-weight:500;min-height:42px}
.popover-content button:hover{background:#f2f6ef}
.popover-content .ui-icon{height:14px;width:14px;color:#94a48d}
.popover-label{font-size:9px;letter-spacing:1.5px;padding:9px 11px;color:#93a08f}
.admin-menu summary{padding:8px;border:1px solid #e4e9de;border-radius:8px;color:#7b8f7e;width:35px;height:35px;background:#fff}
.pagehead{margin-bottom:27px;align-items:center}
h1{font-family:Georgia,'Times New Roman',serif;font-size:34px;font-weight:400;letter-spacing:-1px;color:#233e32;line-height:1.22;margin-bottom:10px}
.sub{color:#8e9b92;font-size:12px;font-weight:400;line-height:1.7}
h2{font-size:14px;font-weight:600;letter-spacing:-.1px;color:#355342}
h3{color:#45604e;font-size:13px}
.actions{gap:10px}
.actions input[type=month]{width:173px;font-size:12px;background:#fff;border-radius:9px;border-color:#e0e6da;padding:11px 13px;min-height:41px;color:#566f59}
.actions .primary{min-height:42px;padding:11px 17px}
.actions .primary .ui-icon{width:16px;height:16px}
.cards{gap:16px;margin:0 0 29px;grid-template-columns:repeat(4,minmax(0,1fr))}
.card{padding:23px 23px 19px;border-radius:12px;box-shadow:none;border:1px solid #e4e9df;position:relative;overflow:hidden}
.card-accent{width:22px;height:2px;background:#bdc9ac;margin-bottom:17px}
.card:first-child .card-accent{background:var(--green)}
.card:last-child .card-accent{background:var(--gold)}
.card .label{font-size:11px;color:#8d998c;font-weight:500}
.card .value{font-size:26px;font-weight:500;letter-spacing:-1px;margin:8px 0 8px;line-height:1.35;color:#294a36;font-variant-numeric:tabular-nums}
.card .hint{font-size:10px;color:#a0aa9a;line-height:1.5}
.card:last-child .value{color:#807454}
.panel{box-shadow:0 4px 18px #2c462604;border-radius:12px;border-color:#e3e8db;background:#fff;padding:25px;margin-bottom:23px}
.records-panel{padding:0;overflow:hidden}
.records-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:21px 23px;border-bottom:1px solid #edf0e7}
.records-toolbar h2{margin:0}
.tabs{gap:4px;border:0;padding:0;background:#f4f6ee;border-radius:7px;width:max-content}
.tabs button{padding:7px 13px;min-height:31px;font-size:11px;color:#8b9886;font-weight:500;border-radius:6px}
.tabs button.active{color:#49633d;background:#fff;box-shadow:0 1px 4px #5268330b}
.filters{margin:0;gap:13px;flex-wrap:nowrap}
.searchbox{display:flex;align-items:center;position:relative}
.searchbox .ui-icon{position:absolute;left:11px;width:14px;height:14px;color:#a4b097;pointer-events:none}
.searchbox input{min-width:0!important;width:215px;border-radius:7px;background:#fbfcf8;padding:9px 11px 9px 34px;font-size:11px;border-color:#edf0e7;height:35px}
.quiet-button{background:transparent;border:0;color:#8a9881;font-size:10px;padding:6px 2px;min-height:30px;white-space:nowrap}
.quiet-button:hover{background:transparent;color:var(--green)}
.records-panel .tablewrap{margin:0}
table{font-size:12px;font-variant-numeric:tabular-nums}
th{background:#fafbf7;border-bottom:1px solid #eef1e6;color:#9aa68f;font-size:9px;font-weight:500;letter-spacing:.5px;padding:13px 20px}
td{padding:17px 20px;border-color:#eef1e7;line-height:1.65;color:#65795b;font-size:11px}
td strong{color:#3e5c3c;font-weight:500}
td.num{font-size:12px;color:#4e6c45}
td.num strong{font-weight:500;font-size:12px}
.date-cell{white-space:nowrap;color:#8b9b80}
.small{font-size:10px;color:#a0ac94;line-height:1.55}
.badge{padding:4px 9px;font-size:9px;letter-spacing:.1px;font-weight:500;border-radius:5px;background:#ecf3e7;color:#658054}
.badge.blue{background:#eaf1f3;color:#648591}
.badge.amber{background:#f8f1e4;color:#a49063}
.badge.red{background:#faeeea;color:#ad7561}
.rowbuttons{gap:5px;justify-content:flex-start;white-space:nowrap}
.rowbuttons button{padding:5px 8px;min-height:27px;font-size:9px;border-color:#e6ecd9;border-radius:5px;color:#879876;font-weight:500}
.rowbuttons button.danger{color:#b19685;border-color:#eedfd6}
.list-footer{display:flex;justify-content:space-between;gap:12px;padding:14px 23px;border-top:1px solid #edf0e5;font-size:9px;color:#a6b298;background:#fdfefb}
.empty{padding:59px 20px 65px;color:#a0ad97;font-size:12px;max-width:460px;margin:auto;line-height:1.9}
.empty-symbol{width:63px;height:63px;border-radius:50%;background:#f5f7ed;border:1px solid #e9efd9;color:#acbc95;display:grid;place-items:center;margin:0 auto 18px;box-shadow:0 0 0 9px #fbfcf6}
.empty-symbol svg{width:23px;height:23px}
.empty strong{font-size:16px;color:#617952;font-weight:500;margin-bottom:5px}
.empty span{display:block;font-size:11px}
.notice{background:#faf7ef;border-color:#eee4cc;color:#9b8d6e;border-radius:8px;font-size:11px;line-height:1.8}
.notice.green{background:#f3f7ed;border-color:#e0e9cf;color:#778c62}
.notice.red{background:#fbf2ed;border-color:#eed9cb;color:#ab8068}
input,select,textarea{border-color:#e0e7d8;border-radius:7px;padding:10px 12px;color:#546d43;font-size:12px;background:#fff;min-height:40px}
input:focus,select:focus,textarea:focus{outline:2px solid #c4d7b138;border-color:#9bbd85}
input[type=checkbox]{min-height:0;accent-color:var(--green)}
label{font-size:11px;color:#708660;font-weight:500;margin-bottom:7px}
label .req{color:#9eae8a;font-size:11px}
.field small{color:#9aaa8b;font-size:10px}
textarea{line-height:1.7;min-height:90px}
dialog{border:1px solid #dce6cd;border-radius:15px;box-shadow:0 25px 100px #1d361a33;width:min(880px,95vw);background:#fff}
dialog::backdrop{background:#182c26a0;backdrop-filter:blur(5px)}
.modalhead{padding:24px 27px;background:#fdfef9;border-bottom-color:#e8efdc}
.modalhead h2{font-family:Georgia,serif;font-size:23px;font-weight:400;color:#385b30}
.modalhead button{font-size:12px;min-height:32px;min-width:32px;padding:5px;color:#99aa85}
.modalbody{padding:23px 27px 27px}
.formgrid{gap:17px 21px}
.formsection{margin-top:5px;font-size:10px;text-transform:uppercase;letter-spacing:1.2px;font-weight:500;color:#96a782;border-color:#edf2e4;padding:10px 0 11px}
.modalfoot{padding:17px 27px;background:#fdfef9;border-color:#eaf0de}
.modalfoot button{min-width:87px}
.totals{background:#f3f7eb;border:1px solid #e9f0da;padding:15px 18px;border-radius:9px;margin-top:5px;justify-content:space-between;gap:15px}
.totals span{color:#91a176;font-size:9px}
.totals strong{color:#537442;font-weight:500;font-size:17px;margin-top:4px}
.form-disclosure{margin:0;padding:0;border:1px solid #e6edda;border-radius:9px;background:#fcfdf8;overflow:hidden}
.form-disclosure summary{font-size:12px;font-weight:500;color:#6b8557;padding:15px 17px;line-height:1.5}
.form-disclosure summary span{font-size:9px;color:#a7b590;float:right;line-height:2;margin-right:2px}
.form-disclosure>.formgrid{padding:4px 17px 18px;background:white}
.form-disclosure[open]{background:#f6f9ef}
.form-disclosure[open] summary{margin-bottom:13px;border-bottom:1px solid #eaf0de}
.app-footer{margin:0;padding:19px 42px;border-top:1px solid #e6ebdc;display:flex;justify-content:space-between;color:#a8b397;font-size:8px;letter-spacing:1.5px}
.app-footer span:last-child{letter-spacing:.2px}
#toast{background:#2c4937;font-size:12px;border-radius:10px;padding:14px 21px}
.auth{border-color:#dde6d2;box-shadow:0 20px 70px #334f2310;border-radius:17px;padding:39px;background:#fff}
.auth .brand{color:#326240;font-size:34px;letter-spacing:2px}
.auth .brand small{color:#90a27a;font-size:8px}
.auth h1{font-family:Georgia,serif;font-size:27px;color:#385b32;line-height:1.3;margin-bottom:11px}
.auth .sub{font-size:11px}
.authfooter{font-size:9px;color:#a0b18b;letter-spacing:.2px}
@media(min-width:1700px){.page{padding-top:38px}.card{padding:27px}.card .value{font-size:30px}}
@media(max-width:1250px){.sidebar{width:224px;padding-left:18px;padding-right:18px}.main{margin-left:224px}.page{padding-left:27px;padding-right:27px}.topbar{padding:0 27px}.card{padding:20px 17px}.card .value{font-size:22px}.records-toolbar{padding:18px}.searchbox input{width:175px}td,th{padding-left:14px;padding-right:14px}.app-footer{padding:18px 27px}}
@media(max-width:1050px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.records-toolbar{flex-wrap:wrap}.filters{flex:1;justify-content:flex-end}.workspace-tabs{gap:19px}.sidebar{width:205px}.main{margin-left:205px}.sidebar .brand{font-size:32px}.nav button{font-size:12px;gap:10px;padding:13px 10px}.nav-index{display:none}.actions{gap:8px}.actions input[type=month]{width:155px}}
@media(max-width:760px){.sidebar{width:248px;padding:29px 24px 22px;transform:translateX(-100%)}.sidebar.open{width:248px;transform:none;box-shadow:0 0 0 100vw #172c267a}.main{margin-left:0}.topbar{height:68px;padding:0 18px}.menu-toggle{display:inline-flex;color:#526c43}.topmeta{gap:13px}.topmeta time{display:none}.top-avatar{width:30px;height:30px}.crumb{display:none}.page{padding:22px 17px 45px}.workspacebar{margin:0 0 25px;gap:8px}.workspace-tabs{gap:21px}.workspace-tabs button{font-size:11px}.workspace-tools summary{padding:6px 1px;gap:5px;font-size:10px}.workspace-tools summary .ui-icon:last-child{display:none}.pagehead{gap:18px;align-items:flex-start;margin-bottom:23px}.pagehead h1{font-size:31px;line-height:1.2}.sub{font-size:11px}.actions{width:100%;justify-content:space-between}.actions input[type=month]{flex:1;min-width:145px;width:145px}.actions .primary{min-width:136px;font-size:11px}.cards{gap:11px;margin-bottom:23px}.card{padding:18px 16px 16px;border-radius:10px}.card-accent{margin-bottom:13px;width:17px}.card .label{font-size:10px}.card .value{font-size:21px;letter-spacing:-.7px;margin:7px 0 6px}.card .hint{font-size:9px}.panel{padding:18px}.records-panel{padding:0}.records-toolbar{padding:15px;gap:14px}.records-toolbar .tabs{flex-shrink:0}.tabs button{padding:7px 12px;font-size:10px}.filters{flex-basis:100%;justify-content:space-between;gap:12px}.searchbox{flex:1;min-width:0}.searchbox input{width:100%;min-width:0!important;height:36px;font-size:11px}.quiet-button{font-size:10px;flex-shrink:0}.filters input[type=search]{width:100%}.records-toolbar h2{font-size:13px}td,th{padding-left:15px;padding-right:15px}td{padding-top:15px;padding-bottom:15px;min-width:70px}.records-panel td:first-child:not(.date-cell){min-width:175px}.records-panel td strong{font-size:11px}.date-cell{min-width:100px}.list-footer{padding:13px 15px;font-size:9px}.list-footer span:last-child{max-width:170px;text-align:right}.rowbuttons{min-width:130px}.empty{padding:49px 22px}.empty strong{font-size:15px}.empty span{font-size:11px}.popover-content{width:233px}.formgrid,.detailgrid{grid-template-columns:1fr}.span2{grid-column:auto}.modalhead{padding:20px}.modalhead h2{font-size:22px}.modalbody{padding:16px 20px 22px}.modalfoot{padding:14px 20px}.form-disclosure>.formgrid{padding:0 15px 17px}.form-disclosure summary{padding:14px 15px;font-size:11px}.totals{flex-wrap:wrap;gap:16px;justify-content:flex-start}.totals>div{flex:1 0 38%}.totals strong{font-size:16px}.app-footer{padding:18px 18px;font-size:7px;letter-spacing:1px}.auth{margin:6vh 17px;padding:30px 26px}.nav-index{display:block}.nav button{font-size:13px;min-height:53px;padding:15px 13px}.sidebar .brand{font-size:36px}.itemrow,.itemrow.instruction{grid-template-columns:1fr 1fr}.itemrow>.field:first-child{grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
/* Keep operational text readable at normal browser zoom. */
.sub{color:#758273}.small{color:#7e8b74;font-size:11px}
.nav button{font-size:14px;color:#b6c7bd}.navtitle{font-size:10px}
th{font-size:10px;color:#73816b}td{font-size:12px;color:#596e50}td strong{color:#3d5735}
.badge{font-size:10px;color:#587744}.badge.blue{color:#557988}.badge.amber{color:#927643}
.card .label{font-size:12px;color:#7c8972}.card .value{font-size:29px}.card .hint{color:#859276;font-size:11px}
label{font-size:12px;color:#617853}.field small{color:#80916f}
.tabs button{font-size:12px}.workspace-tabs button{font-size:13px}
.rowbuttons button{font-size:10px;color:#6b805b}.quiet-button{font-size:11px;color:#758469}
.list-footer{font-size:10px;color:#859576}.list-footer span{font-size:10px}
.record-link{display:inline;text-align:left;justify-content:flex-start;padding:0;min-height:0;background:transparent;border:0;border-radius:3px;color:#415c37;font-size:12px;font-weight:500;line-height:1.7;max-width:360px}
.record-link:hover{background:transparent;color:var(--green);text-decoration:underline;text-underline-offset:3px}
.contact-cell{white-space:nowrap}
@media(max-width:1250px){.card .value{font-size:25px}.card .hint{font-size:10px}}
@media(max-width:760px){.nav button{font-size:14px}.workspace-tabs button{font-size:12px}.tabs button{font-size:11px}.card .label{font-size:11px}.card .value{font-size:22px}.card .hint{font-size:10px}.small{font-size:10px}.record-link{font-size:12px;max-width:240px}.records-panel td strong{font-size:12px}.list-footer,.list-footer span{font-size:9px}.rowbuttons button{font-size:10px}}

/* A wider trade form keeps the essential transaction on one desktop screen. */
.trade-modal{width:min(1280px,calc(100vw - 48px));max-height:calc(100dvh - 40px);overflow:hidden}
.trade-modal[open]{display:flex;flex-direction:column}
.trade-modal .modalhead{position:static;flex-shrink:0;padding:18px 24px}
.trade-modal .modalhead h2{font-size:24px}
.trade-modal #recordform{display:flex;flex-direction:column;min-height:0;overflow:hidden}
.trade-modal .modalbody{padding:14px 24px 18px;overflow-y:auto;min-height:0}
.trade-modal .modalbody>.formgrid,.trade-modal .form-disclosure>.formgrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 18px}
.trade-modal .span2,.trade-modal .formsection{grid-column:1/-1}
.trade-modal .field:has(>#f-customer_id),.trade-modal .field:has(>#f-product_id){grid-column:span 2}
.trade-modal .formsection{margin:0;padding:6px 0 8px;font-size:10px}
.trade-modal label{margin-bottom:5px}
.trade-modal input,.trade-modal select{min-height:38px;padding:9px 11px}
.trade-modal .totals{margin:0;padding:11px 17px;gap:16px}
.trade-modal .totals strong{font-size:18px;margin-top:3px}
.trade-modal .form-disclosure summary{padding:11px 16px}
.trade-modal .form-disclosure[open] summary{margin-bottom:12px}
.trade-modal .form-disclosure>.formgrid{padding:0 16px 16px}
.trade-modal .modalfoot{position:static;flex-shrink:0;padding:12px 24px}
.trade-modal .modalerror:empty{display:none}
@media(min-width:861px) and (max-height:760px){.trade-modal{max-height:calc(100dvh - 24px)}.trade-modal .modalhead{padding:13px 21px}.trade-modal .modalbody{padding:10px 21px 14px}.trade-modal .modalbody>.formgrid,.trade-modal .form-disclosure>.formgrid{gap:9px 17px}.trade-modal .formsection{padding:4px 0 6px}.trade-modal input,.trade-modal select{min-height:36px;padding:7px 10px}.trade-modal .modalfoot{padding:10px 21px}}
@media(max-width:860px){.trade-modal{width:calc(100vw - 28px);max-height:calc(100dvh - 28px)}.trade-modal .modalbody>.formgrid,.trade-modal .form-disclosure>.formgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}.trade-modal .field:has(>#f-customer_id),.trade-modal .field:has(>#f-product_id){grid-column:auto}.trade-modal .totals{flex-wrap:wrap}.trade-modal .totals>div{flex:1 0 35%}}
@media(max-width:600px){.trade-modal{width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}.trade-modal .modalhead{padding:16px 18px}.trade-modal .modalhead h2{font-size:22px}.trade-modal .modalbody{padding:14px 18px}.trade-modal .modalbody>.formgrid,.trade-modal .form-disclosure>.formgrid{grid-template-columns:1fr;gap:14px}.trade-modal .modalfoot{padding:12px 18px}.trade-modal .totals{gap:14px}.trade-modal .totals strong{font-size:17px}}
@media(min-width:861px) and (max-height:660px){.trade-modal .modalhead{padding:11px 21px}.trade-modal .modalhead h2{font-size:22px;line-height:1.25}.trade-modal .modalbody{padding:8px 21px 10px}.trade-modal .modalbody>.formgrid,.trade-modal .form-disclosure>.formgrid{gap:8px 17px}.trade-modal .formsection{padding:3px 0 5px;line-height:1.3}.trade-modal label{line-height:1.3;margin-bottom:4px}.trade-modal .totals{padding:9px 17px}.trade-modal .totals strong{font-size:17px;line-height:1.25}.trade-modal .form-disclosure summary{padding:9px 16px}.trade-modal .modalfoot{padding:8px 21px}}
/* Separate monthly ledgers mirror the thirteen source Excel columns. */
.excel-table table{table-layout:fixed;min-width:1780px;width:100%}
.excel-table .tablewrap{overflow-x:auto;scrollbar-width:thin;scrollbar-color:#a9b99a #f2f5ec}
.excel-table th{white-space:normal;line-height:1.55;font-size:10px;color:#6c795b;padding:12px;text-align:center;vertical-align:middle}
.excel-table td{padding:13px 12px;vertical-align:middle;font-size:11px;overflow-wrap:break-word}
.excel-table th:nth-child(1){width:94px}.excel-table th:nth-child(2){width:170px}.excel-table th:nth-child(3){width:80px}.excel-table th:nth-child(4){width:130px}.excel-table th:nth-child(5){width:100px}.excel-table th:nth-child(6){width:95px}.excel-table th:nth-child(7){width:105px}.excel-table th:nth-child(8){width:135px}.excel-table th:nth-child(9){width:145px}.excel-table th:nth-child(10){width:125px}.excel-table th:nth-child(11){width:115px}.excel-table th:nth-child(12){width:210px}.excel-table th:nth-child(13){width:265px}
.excel-table td:first-child,.excel-table td:nth-child(2){position:sticky;z-index:2;background:white}
.excel-table td:first-child{left:0}.excel-table td:nth-child(2){left:94px;box-shadow:1px 0 0 #e3e9d9}
.excel-table th:first-child,.excel-table th:nth-child(2){position:sticky;z-index:3}.excel-table th:first-child{left:0}.excel-table th:nth-child(2){left:94px;box-shadow:1px 0 0 #e3e9d9}
.purchases-table th{background:#f7f2e8}.sales-table th{background:#edf3f5;color:#587781}
.excel-table .record-link{font-size:11px;font-weight:500}.excel-table .num{font-variant-numeric:tabular-nums;font-size:11px}
.excel-table .excel-notes{white-space:pre-line;line-height:1.7;color:#778469;font-size:10px}
.excel-table tfoot td{font-size:11px;font-weight:600;color:#4f6c3c;background:#f4f7ed;border-top:1px solid #e0e9d2}
.excel-table-hint{display:flex;align-items:center;gap:7px;padding:10px 20px;font-size:10px;color:#8b9a7c;background:#fafcf5;border-top:1px solid #edf1e5}
.excel-table-hint .ui-icon{width:15px;height:15px}.initial-stock-panel summary{font-size:13px;font-weight:500;color:#627b50}.initial-stock-panel p{margin-top:12px}
@media(max-width:760px){.excel-table td:first-child,.excel-table td:nth-child(2){min-width:0!important}.excel-table-hint{padding:10px 15px;line-height:1.6}}
.excel-table table{width:1769px;min-width:1769px}
.excel-table th:first-child,.excel-table td:first-child{width:94px;min-width:94px!important;max-width:94px}
@media(max-width:760px){.excel-table th:nth-child(2),.excel-table td:nth-child(2){position:static;box-shadow:none}}

/* Clear typography and a single monthly stock overview. */
:root{--ink:#20332e;--muted:#596963;--bg:#f3f5f6;--line:#dfe5e5;--green:#087969}
body{color:var(--ink);font-size:14px}
.topbar{height:70px;background:#fff;border-color:var(--line)}
.crumb,.topmeta,.topmeta time{color:#586b65;font-size:12px}.crumb strong{font-size:12px;color:#344b43}
.page{max-width:1920px;padding-top:24px}
h1,.auth h1,.modalhead h2{font-family:'Inter','Segoe UI',Arial,sans-serif;font-weight:650;letter-spacing:-.7px;color:#20332e}
h1{font-size:30px;margin:0}.pagehead{margin-bottom:24px}.sub{color:#596963;font-size:13px}
h2,h3{color:#273e35}.small,.card .hint{color:#596963;font-size:12px}
label{color:#344b43;font-size:13px}.field small{color:#596963;font-size:11px}
input,select,textarea{color:#243c34;font-size:13px;border-color:#d6dfda}input::placeholder,textarea::placeholder{color:#66766f;opacity:1}
.workspacebar{margin-bottom:24px}.workspace-tabs button{color:#596963;font-size:13px;font-weight:600}.workspace-tabs button.active{color:#086555}.menu-popover summary,.quiet-button{color:#52665e;font-size:12px}
.card .label{color:#52665e}.card .value{color:#203c32;font-weight:650}.card:last-child .value{color:#203c32}
th{color:#41574e;font-size:12px;background:#f5f7f7}td{color:#344a41;font-size:13px}td strong,.record-link{color:#243e33}
.tabs{background:#eff3f3}.tabs button{color:#53665e;font-size:13px}.tabs button.active{color:#086555;font-weight:650;box-shadow:0 1px 5px #1c3a3012}
.records-panel{border-color:#dfe5e5;box-shadow:0 4px 20px #182d2504;border-radius:14px}.records-toolbar{padding:18px 22px}.searchbox input{font-size:13px;height:40px}.list-footer,.list-footer span{color:#586c63;font-size:12px}.list-footer span:empty{display:none}
.empty{padding:46px 24px}.empty strong{color:#344f42;font-size:17px;font-weight:600}.empty span{color:#5d7066;font-size:13px}.empty-icon{color:#087969}
.excel-table th{font-size:11px;color:#40584b}.excel-table td,.excel-table .num,.excel-table .record-link{font-size:12px}.excel-table .excel-notes,.excel-table-hint{font-size:11px;color:#53665c}.excel-table tfoot td{color:#244f3c;font-size:12px}
.badge{font-size:11px;color:#216444;background:#edf6f0}.badge.blue{color:#315b78;background:#eef4f9}.badge.amber{color:#825617;background:#fff5e5}.rowbuttons button{font-size:11px;color:#405c4d}
.modalhead,.modalfoot{background:#fff}.formsection{color:#435f51;font-weight:600}.form-disclosure summary{color:#365949;font-size:13px}.form-disclosure summary span,.totals span{color:#5a6f60;font-size:11px}.totals strong{color:#175d46;font-weight:650}
.monthly-overview{margin-bottom:24px;border:1px solid #dce4e1;border-radius:14px;background:#fff;box-shadow:0 4px 24px #15352905;overflow:hidden}
.stock-flow{display:grid;grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr) 24px minmax(0,1fr) 24px minmax(0,1.1fr);gap:10px;align-items:center;padding:20px}
.flow-metric{padding:15px 16px;min-width:0}.flow-metric>span{display:block;color:#52665e;font-size:13px;font-weight:500;margin-bottom:11px}.flow-metric strong{display:block;font-size:29px;font-weight:650;letter-spacing:-.8px;line-height:1.3;color:#243d33;font-variant-numeric:tabular-nums;white-space:nowrap}.flow-metric small{font-size:12px;font-weight:500;letter-spacing:0;margin-left:3px;color:#62776a}.flow-operator{font-size:22px;font-weight:400;text-align:center;color:#789186}.flow-result{background:#123e34;border-radius:11px;padding:20px}.flow-result>span{color:#c5e6db}.flow-result strong{color:#fff}.flow-result small{color:#b9dcd0}
.trade-financial{display:flex;align-items:center;gap:28px;padding:17px 28px;background:#fafcfc;border-top:1px solid #e7ecea;flex-wrap:wrap}.trade-financial>div{display:flex;gap:12px;align-items:baseline}.trade-financial span{font-size:12px;color:#596d63}.trade-financial strong{font-size:17px;font-weight:650;color:#304d3e;font-variant-numeric:tabular-nums}.trade-financial small{font-size:13px}.financial-note{padding-left:18px;border-left:1px solid #d9e3de}.trade-financial .period-status{margin-left:auto;display:flex;align-items:center;gap:7px;color:#24634b;font-weight:500}.period-status i{width:7px;height:7px;border-radius:50%;background:#268466}.trade-financial .period-status.closed{color:#655c42}.period-status.closed i{background:#958256}
.carry-details{border:0;border-top:1px solid #e7ecea;border-radius:0;margin:0;padding:0;background:#fff}.carry-details summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px 28px;font-size:13px;font-weight:600;color:#335749}.carry-details summary::-webkit-details-marker{display:none}.carry-details summary>span{display:flex;align-items:center;gap:9px}.carry-details summary .ui-icon{width:17px;height:17px}.carry-details .carry-summary{color:#5d7267;font-weight:400;font-size:12px}.carry-details[open] summary .carry-summary svg{transform:rotate(180deg)}.carry-body{border-top:1px solid #e7ecea}.carry-body table{min-width:850px}.carry-body th:nth-child(n+3){text-align:right}.carry-body .carry-quantity{color:#086555;font-weight:650;background:#f1f8f5}.carry-note,.carry-empty{font-size:12px;color:#536a5d;padding:13px 28px;margin:0}.carry-note{background:#fafcfc;border-top:1px solid #e7ecea}.without-stock{grid-template-columns:1fr 1fr}.trades-page .pagehead .actions{width:auto}.trades-page .empty{padding:42px 24px}
@media(max-width:1250px){.stock-flow{gap:5px;padding:14px}.flow-metric{padding:13px 10px}.flow-metric strong{font-size:25px}.flow-metric>span{font-size:12px}.flow-result{padding:18px 13px}.trade-financial{gap:20px;padding:15px 22px}}
@media(max-width:1000px){.stock-flow{grid-template-columns:1fr 1fr;gap:12px;padding:16px}.flow-operator{display:none}.flow-metric{padding:15px}.flow-metric>span{font-size:13px}.flow-result{padding:15px}.trade-financial{gap:12px 20px}.financial-note{display:none}}
@media(max-width:760px){.page{padding:20px 16px 36px}.topbar{height:62px}.pagehead h1{font-size:26px}.workspacebar{margin-bottom:22px}.trades-page .pagehead .actions{width:100%}.monthly-overview{margin-bottom:20px}.stock-flow{padding:12px;gap:5px}.flow-metric{padding:12px 10px}.flow-metric strong{font-size:23px}.flow-metric>span{font-size:12px;line-height:1.5;margin-bottom:7px}.flow-metric small{font-size:11px}.trade-financial{padding:14px 20px;gap:10px 18px}.trade-financial>div{display:block;flex:1}.trade-financial>div>span{display:block;margin-bottom:5px}.trade-financial strong{font-size:16px}.trade-financial .period-status{flex-basis:100%;margin-left:0;font-size:11px}.carry-details summary{padding:14px 20px;gap:8px;font-size:12px}.carry-details .carry-summary{font-size:11px}.carry-note{padding:13px 20px;line-height:1.6}.records-toolbar{padding:15px}.small{font-size:11px}.tabs button{font-size:12px}.list-footer,.list-footer span{font-size:11px}.trades-page .empty{padding:36px 20px}.empty span{font-size:12px}.workspace-tools summary{font-size:11px}.excel-table td,.excel-table .num{font-size:12px}}
.sidebar .account{margin-top:auto}.records-panel .date-cell{color:#4b6356}.detailgrid dt{color:#53675e;font-size:12px}.detailgrid dd{color:#273e33;font-size:14px}.authfooter{color:#596963;font-size:11px}
/* One monthly worksheet: purchases, sales and carry remain visible together. */
.topbar{height:48px;justify-content:flex-end;padding:0 26px}.topmeta{gap:16px}.topmeta time{font-size:12px}.admin-menu summary{height:30px;width:30px}.top-avatar{width:29px;height:29px}.page{padding:20px 26px 32px}.trades-page .pagehead{margin-bottom:16px}.trades-page h1{font-size:25px}.trades-page .actions{gap:9px}.trades-page .actions input[type=month],.trades-page .actions .primary{min-height:38px;padding:8px 12px}.trades-page .workspace-tools summary{height:38px;width:36px;border:1px solid #dfe5e1;border-radius:8px;background:white;padding:7px}
.trades-page .monthly-overview{margin-bottom:14px;border-radius:10px}.trades-page .stock-flow{padding:10px 14px;gap:8px}.trades-page .flow-metric{padding:9px 12px}.trades-page .flow-metric>span{margin-bottom:5px;font-size:12px}.trades-page .flow-metric strong{font-size:24px}.trades-page .flow-result{border-radius:8px}.trades-page .trade-financial{padding:9px 22px;gap:22px;min-height:45px}.trades-page .trade-financial strong{font-size:15px}.trades-page .trade-financial #period{min-height:27px;padding:4px 9px;font-size:11px}
.ledger-toolbar{display:flex;align-items:center;gap:18px;margin-bottom:12px}.ledger-toolbar .searchbox{margin-right:auto}.ledger-toolbar .searchbox input{width:285px;height:36px;font-size:12px}.ledger-toolbar #resultcount{color:#52675d;font-size:12px}.monthly-ledgers{display:grid;gap:14px;margin-bottom:14px}.ledger-heading{display:flex;align-items:center;gap:13px;padding:10px 16px;border-bottom:1px solid #e3e9e6;min-height:43px;background:#fbfcfc}.ledger-heading h2{margin:0;font-size:14px;font-weight:650}.ledger-heading>span{font-size:11px;color:#5a6c63}.ledger-heading button{margin-left:auto;min-height:28px;padding:4px 8px;font-size:12px}.ledger-heading button svg{width:14px;height:14px}.ledger-empty{padding:12px 16px;margin:0;color:#5c7065;font-size:12px;border-top:1px solid #e3e9e6}.ledger-section{border-radius:10px}
.trades-page .excel-table table{width:100%;min-width:1320px}.trades-page .excel-table th{padding:8px 7px;font-size:11px;line-height:1.4}.trades-page .excel-table td{padding:9px 7px;font-size:12px;line-height:1.45}.trades-page .excel-table th:nth-child(1){width:7%}.trades-page .excel-table th:nth-child(2){width:10%}.trades-page .excel-table th:nth-child(3){width:5%}.trades-page .excel-table th:nth-child(4){width:7%}.trades-page .excel-table th:nth-child(5){width:6%}.trades-page .excel-table th:nth-child(6){width:6%}.trades-page .excel-table th:nth-child(7){width:6%}.trades-page .excel-table th:nth-child(8){width:8%}.trades-page .excel-table th:nth-child(9){width:9%}.trades-page .excel-table th:nth-child(10){width:8%}.trades-page .excel-table th:nth-child(11){width:7%}.trades-page .excel-table th:nth-child(12){width:10%}.trades-page .excel-table th:nth-child(13){width:11%}.trades-page .excel-table th:first-child,.trades-page .excel-table td:first-child{min-width:0!important;max-width:none;position:static;width:7%}.trades-page .excel-table th:nth-child(2),.trades-page .excel-table td:nth-child(2){position:static;box-shadow:none}.trades-page .excel-table .num{font-size:12px;white-space:nowrap}.trades-page .excel-table .excel-notes{font-size:11px}.trades-page .excel-table tfoot td{padding:8px 7px;font-size:12px}
.carry-panel{padding:0;margin:0;border-radius:10px;overflow:hidden}.carry-panel .carry-body{border-top:0}.carry-panel .carry-body table{min-width:1100px}.carry-panel .carry-body th{padding:9px 10px;font-size:11px;white-space:normal}.carry-panel .carry-body td{padding:9px 10px;font-size:12px}.carry-panel .carry-body th:nth-child(n+3){text-align:right}.stock-lots{margin:0;border:0;border-top:1px solid #e3e9e6;border-radius:0;padding:10px 16px}.stock-lots summary{font-size:12px;color:#496456;font-weight:500}.stock-lots[open] summary{margin-bottom:10px}.closed-periods{padding:10px 16px;border-top:1px solid #e3e9e6;font-size:11px;color:#53695d}
@media(max-width:1050px){.trades-page .stock-flow{grid-template-columns:1fr 1fr}.trades-page .flow-metric strong{font-size:23px}.trades-page .trade-financial{gap:12px}.trades-page .trade-financial .period-status{margin-left:auto}}
@media(max-width:760px){.topbar{height:46px;padding:0 16px;justify-content:space-between}.page{padding:16px 12px 25px}.trades-page .pagehead{gap:12px;margin-bottom:14px}.trades-page .actions{flex-wrap:nowrap}.trades-page .actions .primary{min-width:120px}.trades-page .actions input[type=month]{min-width:135px;width:135px}.trades-page .stock-flow{padding:8px;gap:6px}.trades-page .flow-metric{padding:9px}.trades-page .flow-metric strong{font-size:21px}.trades-page .trade-financial{padding:10px 16px;gap:10px}.trades-page .trade-financial .period-status{flex-basis:auto;margin-left:0}.trades-page .trade-financial #period{margin-left:auto}.ledger-toolbar{gap:8px;flex-wrap:wrap}.ledger-toolbar .searchbox{flex:1;min-width:0}.ledger-toolbar .searchbox input{width:100%;min-width:0}.ledger-toolbar #resultcount{display:none}.ledger-toolbar #export{font-size:11px;padding:5px}.ledger-heading{padding:9px 12px}.ledger-heading h2{font-size:13px}.monthly-ledgers{gap:12px}.trades-page .excel-table table{min-width:1450px}.carry-panel .carry-body table{min-width:1100px}}
.monthly-ledgers .ledger-section{margin:0}.trades-page .flow-operator{font-size:20px}.carry-panel .stock-warning{margin:0;padding:10px 16px;border-top:1px solid #f0d7cc;background:#fff4ed;color:#943f2c;font-size:12px}
/* Purchases use warm orange; sales use emerald, with readable dark text. */
.ledger-purchase{border-color:#e9cbb4}.ledger-sale{border-color:#b5d9cc}
.ledger-purchase .ledger-heading{background:#fff1e5;border-bottom-color:#edceb5;border-left:5px solid #dc6b20;padding-left:11px}.ledger-purchase .ledger-heading h2{color:#943e0c}.ledger-purchase .ledger-heading>span{color:#875d40}.ledger-purchase .ledger-heading button{background:#c95412;color:#fff;border-color:#c95412}.ledger-purchase .ledger-heading button:hover{background:#a9420b}
.ledger-sale .ledger-heading{background:#e7f5ee;border-bottom-color:#bedfcd;border-left:5px solid #11835d;padding-left:11px}.ledger-sale .ledger-heading h2{color:#116141}.ledger-sale .ledger-heading>span{color:#436c55}.ledger-sale .ledger-heading button{background:#08734f;color:#fff;border-color:#08734f}.ledger-sale .ledger-heading button:hover{background:#075c40}
.trades-page .purchases-table th{background:#fff7ef;color:#70442b;border-bottom-color:#edd6c2}.trades-page .purchases-table tfoot td{background:#fff1e5;color:#853d16;border-top-color:#e6c4a8}.trades-page .purchases-table .record-link{color:#9a420f;font-weight:600}.trades-page .purchases-table tbody tr:hover td{background:#fffaf4}
.trades-page .sales-table th{background:#f0faf4;color:#345e46;border-bottom-color:#cce6d6}.trades-page .sales-table tfoot td{background:#e7f5ee;color:#155d3e;border-top-color:#b5d9c4}.trades-page .sales-table .record-link{color:#12613f;font-weight:600}.trades-page .sales-table tbody tr:hover td{background:#f5fcf8}
.trade-purchase{--trade-accent:#c95412;--trade-hover:#a9420b;--trade-tint:#fff2e8;--trade-line:#edceb5;--trade-ink:#853d16;--trade-soft:#fff9f3}.trade-sale{--trade-accent:#08734f;--trade-hover:#075c40;--trade-tint:#e7f5ee;--trade-line:#bedfcd;--trade-ink:#155d3e;--trade-soft:#f3fbf6}
.trade-modal:is(.trade-purchase,.trade-sale){border:1px solid var(--trade-line)}
.trade-modal:is(.trade-purchase,.trade-sale) .modalhead{background:var(--trade-tint);border-bottom:1px solid var(--trade-line);box-shadow:inset 5px 0 var(--trade-accent)}
.trade-modal:is(.trade-purchase,.trade-sale) .modalhead h2{color:var(--trade-ink);font-size:23px;font-weight:650}
.trade-modal:is(.trade-purchase,.trade-sale) #closemodal{color:var(--trade-ink);background:#ffffffb3;border-color:var(--trade-line)}
.trade-modal:is(.trade-purchase,.trade-sale) .formsection{color:var(--trade-ink);border-bottom-color:var(--trade-line)}
.trade-modal:is(.trade-purchase,.trade-sale) #f-kind{color:var(--trade-ink);font-weight:650;background:var(--trade-soft);border-color:var(--trade-line)}
.trade-modal:is(.trade-purchase,.trade-sale) input:focus,.trade-modal:is(.trade-purchase,.trade-sale) select:focus,.trade-modal:is(.trade-purchase,.trade-sale) textarea:focus{border-color:var(--trade-accent);outline:2px solid var(--trade-line)}
.trade-modal:is(.trade-purchase,.trade-sale) .totals{background:var(--trade-tint);border-color:var(--trade-line)}
.trade-modal:is(.trade-purchase,.trade-sale) .totals strong{color:var(--trade-ink)}
.trade-modal:is(.trade-purchase,.trade-sale) .form-disclosure{border-color:var(--trade-line);background:var(--trade-soft)}
.trade-modal:is(.trade-purchase,.trade-sale) .form-disclosure summary{color:var(--trade-ink)}
.trade-modal:is(.trade-purchase,.trade-sale) .modalfoot{background:var(--trade-soft);border-top-color:var(--trade-line)}
.trade-modal:is(.trade-purchase,.trade-sale) .modalfoot .primary{background:var(--trade-accent);border-color:var(--trade-accent);box-shadow:none;color:white}
.trade-modal:is(.trade-purchase,.trade-sale) .modalfoot .primary:hover{background:var(--trade-hover);border-color:var(--trade-hover)}
/* Searchable warehouses and payments recorded after the purchase. */
.warehouse-picker{position:relative}.warehouse-control{display:flex;position:relative}.warehouse-control input{padding-right:38px}.warehouse-control button{position:absolute;right:3px;top:3px;bottom:3px;min-height:0;width:32px;padding:6px;background:transparent;border:0;color:#6d5949}.warehouse-control button .ui-icon{width:16px;height:16px}
.warehouse-options{position:absolute;top:100%;left:0;right:0;z-index:10;border:1px solid #e5c5ad;background:#fff;border-radius:9px;box-shadow:0 10px 30px #53311f20;overflow:hidden;margin-top:5px}.warehouse-options[hidden]{display:none}.warehouse-options button{display:flex;align-items:flex-start;flex-direction:column;width:100%;border:0;border-bottom:1px solid #eee9e5;border-radius:0;background:#fff;text-align:left;padding:10px 12px;font-size:12px;color:#443a31;gap:3px}.warehouse-options button:hover,.warehouse-options button:focus{background:#fff3e8}.warehouse-options button strong{font-size:12px;font-weight:600}.warehouse-options button small{color:#665e56;font-size:11px;line-height:1.4}.warehouse-results{max-height:195px;overflow:auto;overscroll-behavior:contain}.warehouse-results p{margin:0;padding:15px 12px;font-size:12px;color:#716454}.warehouse-options .warehouse-new{flex-direction:row;align-items:center;color:#984611;background:#fff6ed;font-weight:600;gap:7px;border-bottom:0}
.warehouse-modal{width:min(740px,calc(100vw - 30px));max-height:calc(100dvh - 38px)}.warehouse-modal .modalhead{background:#fff2e8}.warehouse-modal .modalhead h2{font-size:23px;color:#853d16}.warehouse-modal .modalfoot .primary{background:#c95412;border-color:#c95412}.warehouse-modal .modalbody{padding:20px 24px}.warehouse-modal .formgrid{gap:14px 18px}
.purchase-payment{display:flex;flex-direction:column;align-items:flex-start;gap:5px;white-space:normal}.purchase-payment>span{font-size:11px;line-height:1.5}.purchase-payment>strong{font-size:11px;color:#704326;line-height:1.5}.purchase-payment button{font-size:11px;color:#9a420f;border:1px solid #e7c3a8;background:#fff7ef;padding:5px 8px;min-height:28px;margin-top:2px}.purchase-payment button:hover{background:#ffe9d7}.purchase-payment .payment-source-note{font-size:10px;color:#6d655c;white-space:pre-line}
.payment-modal{width:min(900px,calc(100vw - 32px));max-height:calc(100dvh - 36px);overflow:hidden}.payment-modal[open]{display:flex;flex-direction:column}.payment-modal .modalhead{background:#fff2e8;position:static;flex-shrink:0;border-color:#edceb5;box-shadow:inset 5px 0 #c95412}.payment-modal .modalhead h2{font-size:23px;color:#853d16}.payment-modal #recordform{display:flex;flex-direction:column;min-height:0;overflow:hidden}.payment-modal .modalbody{overflow:auto;padding:20px 24px}.payment-modal .modalfoot{position:static;flex-shrink:0;background:#fff9f3}.payment-modal .modalfoot .primary{background:#c95412;border-color:#c95412}.payment-modal .modalfoot .primary:hover{background:#a9420b}.payment-counterparty{display:flex;flex-direction:column;gap:5px;margin-bottom:17px}.payment-counterparty strong{font-size:17px;color:#303f35}.payment-counterparty span{font-size:12px;color:#5d6b62}.payment-balances{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:14px 17px;border:1px solid #efd6c3;background:#fff8f1;border-radius:9px;margin-bottom:18px}.payment-balances span{display:block;font-size:12px;color:#77604c;margin-bottom:6px}.payment-balances strong{font-size:19px;color:#7b401b;font-variant-numeric:tabular-nums}.payment-history{margin-top:22px}.payment-history h3{font-size:13px;color:#514435}.payment-history table{min-width:650px}.payment-history th,.payment-history td{font-size:12px;padding:10px}.payment-modal .formsection{color:#853d16;border-color:#edceb5}.payment-modal #payment-rate-field[hidden]{display:none}
@media(max-width:760px){.warehouse-modal .modalbody,.payment-modal .modalbody{padding:16px 18px}.payment-balances{gap:8px;padding:12px}.payment-balances strong{font-size:15px;line-height:1.5}.payment-balances span{font-size:11px}.payment-counterparty strong{font-size:16px}.warehouse-modal .modalhead h2,.payment-modal .modalhead h2{font-size:21px}.warehouse-options{min-width:220px}.warehouse-results{max-height:170px}}
.product-picker{position:relative}.trade-modal .product-picker{grid-column:span 2}.product-picker .warehouse-options{min-width:280px}.product-picker .warehouse-results{max-height:200px}.product-picker .warehouse-control input{padding-right:38px}.trade-modal #tradecalc strong{font-variant-numeric:tabular-nums;font-weight:650}.trade-modal #tradecalc span{color:#625245;font-size:11px}.trade-sale #tradecalc span{color:#476553}
@media(max-width:860px){.trade-modal .product-picker{grid-column:auto}.product-picker .warehouse-options{min-width:240px}}

@font-face{font-family:"Inter";src:url("fonts/Inter-Variable.ttf") format("truetype");font-weight:100 900;font-style:normal;font-display:swap}
/* Crisp orange ledgers, generous working width and locally hosted typography. */
:root{--ink:#202933;--muted:#536170;--bg:#f4f6f8;--line:#e0e5eb;--purchase:#ff7a18;--purchase-dark:#b84500;--sale:#087c58}
body,button,input,select,textarea{font-family:'Inter','Segoe UI',Arial,sans-serif}body{font-size:14px;letter-spacing:-.12px;color:var(--ink)}
.sidebar{width:196px;padding:27px 14px 18px;background:#19262e}.main{margin-left:196px}.sidebar-brand{padding:0 9px}.sidebar .brand{font-size:31px;letter-spacing:2px;font-weight:750}.sidebar .brand small{font-size:8px;letter-spacing:1.6px;color:#b5c4cc}.brand-divider{width:28px;height:3px;background:#ff7a18;margin:20px 0 0}.brand-dot{color:#ff7a18}.navtitle{font-size:9px;letter-spacing:1.5px;margin:33px 10px 13px;color:#9cabb4}.nav button{font-size:13px;gap:10px;padding:13px 10px;min-height:47px;margin:5px 0;color:#bfccd4;border-radius:8px}.nav button.active{background:#ffffff10;box-shadow:inset 3px 0 #ff7a18;color:#fff}.nav-icon{width:18px;color:#9eb3bd}.nav-icon .ui-icon{width:18px;height:18px}.nav button.active .nav-icon{color:#ff9547}.nav-index{display:none}.sidebar .account{gap:8px;padding-top:16px}.account strong{font-size:11px;max-width:86px;color:#e6edf1}.account small{font-size:10px;color:#a4b6c2}.account .avatar{width:31px;height:31px;background:#30424b;border-color:#51656f;color:#e0ebf0}.account .icon-button{padding:4px}.account .icon-button .ui-icon{width:17px;height:17px}
.page{max-width:none;padding:18px 18px 30px}.topbar{padding:0 20px;background:#fff;border-color:#e0e5eb}.pagehead h1,.trades-page h1{font-size:26px;font-weight:700;color:#202a34;letter-spacing:-.8px}.trades-page .pagehead{margin-bottom:16px}.trades-page .actions input[type=month]{font-size:13px;color:#364552;height:40px}.trades-page .actions .primary{font-size:13px;min-height:40px}.trades-page .workspace-tools summary{height:40px}
.trades-page .monthly-overview{border-color:#dde3e8;background:#fff;box-shadow:0 2px 8px #16212c04}.trades-page .flow-metric>span{color:#4c5c68;font-size:12px;font-weight:500}.trades-page .flow-metric strong{color:#253540;font-size:26px;font-weight:700}.trades-page .flow-result{background:#173f36}.trades-page .flow-result>span{color:#d2e9df}.trades-page .flow-result strong{color:#fff}.trades-page .trade-financial{background:#fbfcfd;border-color:#e4e9ed}.trade-financial strong{color:#263947}.trade-financial span{color:#566672}
.ledger-toolbar .searchbox input{font-size:13px;height:38px;border-color:#d8e0e7;background:#fff;width:305px}.ledger-toolbar #resultcount{color:#566573;font-size:12px}.ledger-toolbar .quiet-button{color:#344b5b;font-size:12px}
.ledger-section{border:1px solid #dbe2e8;border-radius:11px;box-shadow:0 3px 12px #1a304005}.ledger-section .ledger-heading{padding:11px 15px;min-height:48px;border-left:0}.ledger-section .ledger-heading h2{font-size:15px;letter-spacing:-.2px;font-weight:750}.ledger-section .ledger-heading>span{font-size:12px;font-weight:500}.ledger-section .ledger-heading button{border-radius:7px;font-size:12px;font-weight:650;min-height:31px;padding:6px 11px}
.ledger-purchase .ledger-heading{background:#ff7a18;border-color:#ed6907;box-shadow:none}.ledger-purchase .ledger-heading h2{color:#2d190c}.ledger-purchase .ledger-heading>span{color:#44220c}.ledger-purchase .ledger-heading button{background:#fff;border-color:#fff;color:#a43c00;box-shadow:0 2px 4px #863b0015}.ledger-purchase .ledger-heading button:hover{background:#fff7f0;color:#803100}
.ledger-sale .ledger-heading{background:#087c58;border-color:#096f50;box-shadow:none}.ledger-sale .ledger-heading h2,.ledger-sale .ledger-heading>span{color:#fff}.ledger-sale .ledger-heading button{background:#fff;border-color:#fff;color:#066443}.ledger-sale .ledger-heading button:hover{background:#eefbf5}
.trades-page .excel-table table{min-width:1380px}.trades-page .excel-table th{font-family:'Inter','Segoe UI',Arial,sans-serif;font-size:12px;letter-spacing:-.15px;font-weight:600;line-height:1.45;padding:11px 9px;background:#f7f9fb;color:#374655;border-bottom:1px solid #dce4ea;vertical-align:middle}.trades-page .purchases-table th{background:#fff;color:#61432e;border-bottom:2px solid #ff7a18}.trades-page .sales-table th{background:#fff;color:#315749;border-bottom:2px solid #087c58}
.trades-page .excel-table td{padding:13px 9px;color:#263442;font-size:13px;font-weight:450;line-height:1.6;border-bottom-color:#e4e9ee;vertical-align:middle}.trades-page .excel-table .num{font-size:13px;font-weight:500;font-variant-numeric:tabular-nums;letter-spacing:-.3px;color:#253542}.trades-page .excel-table .date-cell{font-size:12px;color:#506172;white-space:nowrap}.trades-page .excel-table .excel-notes{font-size:12px;line-height:1.6;color:#435363}.trades-page .excel-table .record-link{font-size:13px;font-weight:600;line-height:1.6}.trades-page .purchases-table .record-link{color:#a33e08}.trades-page .sales-table .record-link{color:#076349}
.trades-page .purchases-table tbody tr:hover td{background:#fffaf6}.trades-page .sales-table tbody tr:hover td{background:#f5fbf8}.trades-page .excel-table tfoot td{padding:12px 9px;font-size:13px;font-weight:700;color:#253441;background:#f5f7f9;border-top:2px solid #d4dde5;border-bottom:0}.trades-page .purchases-table tfoot td{background:#f7f8fa;color:#263441;border-top-color:#ff7a18}.trades-page .sales-table tfoot td{background:#f7f8fa;color:#263441;border-top-color:#087c58}
.purchase-payment{gap:6px}.purchase-payment .badge{font-size:11px;font-weight:600;padding:4px 8px;background:#f3f5f7;color:#4c5b68;border:1px solid #e0e5e9;border-radius:5px}.purchase-payment .badge.amber{color:#a04709;background:#fff5e9;border-color:#f2d8b8}.purchase-payment .badge.blue{color:#355a80;background:#eff5fc;border-color:#d9e5f1}.purchase-payment>span{font-size:12px;color:#536270}.purchase-payment>strong{font-size:12px;color:#263442;font-weight:650}.purchase-payment button{font-size:12px;font-weight:600;background:#fff;color:#a43c00;border-color:#e6b99b;min-height:30px;padding:5px 9px;border-radius:6px}.purchase-payment button:hover{background:#ff7a18;border-color:#ff7a18;color:#301909}.purchase-payment .payment-source-note{font-size:11px;color:#546270}
.carry-panel{border-color:#dbe2e8;box-shadow:0 3px 12px #1a304005}.carry-panel .ledger-heading{background:#f1f5f7;padding:12px 15px}.carry-panel .ledger-heading h2{font-size:14px;color:#304451}.carry-panel .carry-body th{font-size:12px;color:#465867;background:#fff}.carry-panel .carry-body td{font-size:13px;color:#2e4050}.carry-panel .carry-body .carry-quantity{font-weight:700;color:#0c694b;background:#eef8f3}
.trade-purchase{--trade-accent:#c74a00;--trade-hover:#aa3f00;--trade-tint:#fff;--trade-line:#e4d7cd;--trade-ink:#263442;--trade-soft:#fff}.trade-modal.trade-purchase .modalhead{background:#ff7a18;border-color:#ed6907;box-shadow:none}.trade-modal.trade-purchase .modalhead h2{color:#2d190c;font-size:24px;font-weight:750}.trade-modal.trade-purchase .totals{background:#26333e;border-color:#26333e;border-radius:9px;box-shadow:inset 4px 0 #ff7a18}.trade-modal.trade-purchase #tradecalc span{color:#d6dfe6;font-size:11px}.trade-modal.trade-purchase .totals strong{color:#fff;font-size:20px;font-weight:650}.trade-modal .modalbody label{font-size:13px;font-weight:550;color:#3b4d5a}.trade-modal input,.trade-modal select{font-size:13px;color:#273947}.trade-modal.trade-purchase #f-kind{background:#fff;border-color:#e4c3ab;color:#a33e08}.trade-modal.trade-purchase .formsection{color:#8f3809;font-size:11px;font-weight:700}.trade-modal.trade-purchase .form-disclosure{background:#fff;border-color:#dbe2e8}.trade-modal.trade-purchase .form-disclosure summary{color:#4c5862}.trade-modal.trade-purchase .modalfoot{background:#f8fafb;border-color:#e1e6eb}
.trade-modal.trade-sale .modalhead{background:#087c58;border-color:#076c4d;box-shadow:none}.trade-modal.trade-sale .modalhead h2{color:#fff;font-weight:750}.trade-modal.trade-sale #closemodal{background:#ffffffed;color:#0a6347}
.warehouse-modal .modalhead,.payment-modal .modalhead{background:#ff7a18;border-color:#ed6907;box-shadow:none}.warehouse-modal .modalhead h2,.payment-modal .modalhead h2{color:#2d190c;font-weight:750}.warehouse-modal .modalfoot .primary,.payment-modal .modalfoot .primary{background:#c74a00;border-color:#c74a00}.payment-balances{background:#f6f8fa;border-color:#dee5eb}.payment-balances span{color:#526573}.payment-balances strong{color:#263947;font-weight:700}
@media(max-width:1250px){.page{padding-left:16px;padding-right:16px}.topbar{padding-left:18px;padding-right:18px}.trades-page .flow-metric strong{font-size:24px}}
@media(max-width:760px){.sidebar{width:220px;padding:27px 16px 18px;transform:translateX(-100%)}.sidebar.open{width:220px;transform:none}.main{margin-left:0}.page{padding:16px 12px 26px}.topbar{padding:0 16px}.sidebar .account strong{max-width:110px}.trades-page h1{font-size:24px}.trades-page .flow-metric strong{font-size:22px}.ledger-toolbar .searchbox input{width:100%}.ledger-section .ledger-heading{padding:10px 12px;min-height:46px}.ledger-section .ledger-heading h2{font-size:14px}.ledger-section .ledger-heading button{font-size:12px}.trades-page .excel-table table{min-width:1450px}.trade-modal.trade-purchase .modalhead h2{font-size:22px}.trade-modal.trade-purchase .totals strong{font-size:18px}.trades-page .actions .primary{font-size:12px}}
.sidebar .nav button{justify-content:flex-start}.trades-page .purchases-table tbody tr:hover td,.trades-page .sales-table tbody tr:hover td{background:#f7f9fb}
/* Fine column dividers keep the monthly ledgers easy to scan. */
.trades-page .excel-table{--column-line:#e1e6eb;--column-header:#d6dde4}
.trades-page .purchases-table{--column-header:#e7d3c4}
.trades-page .sales-table{--column-header:#cadfd5}
.trades-page .excel-table th:not(:last-child){border-right:1px solid var(--column-header)}
.trades-page .excel-table tbody td:not(:last-child){border-right:1px solid var(--column-line)}
.trades-page .excel-table tfoot td:not(:last-child){border-right:1px solid #d8e0e7}
.trades-page .excel-table th:nth-child(4),.trades-page .excel-table tbody td:nth-child(4),.trades-page .excel-table tfoot td:nth-child(4),.trades-page .excel-table th:nth-child(11),.trades-page .excel-table tbody td:nth-child(11),.trades-page .excel-table tfoot td:nth-child(11){border-right-color:#cbd5de}
/* A shared colgroup fixes every purchase/sale boundary at the same position. */
.trades-page .excel-table table{table-layout:fixed;border-collapse:collapse;border-spacing:0}
.trades-page .excel-table th,.trades-page .excel-table td{width:auto!important;max-width:none}
.trades-page .excel-table thead tr{height:64px}
.trades-page .excel-table th{box-sizing:border-box;padding:10px 9px;vertical-align:middle}
.trades-page .excel-table tfoot tr{height:48px}
.trades-page .excel-table tfoot td{padding:11px 9px;vertical-align:middle}
/* Product codes stay on one line; extra-long values remain intact in the record. */
.trades-page .excel-table .product-code-cell{overflow:hidden}
.trades-page .excel-table .product-code{display:block;min-width:0;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px;font-weight:500;line-height:1.6;letter-spacing:-.25px}
/* Compact one-line titles; full Excel labels remain available on hover. */
.trades-page .excel-table thead tr{height:42px}
.trades-page .excel-table th{height:42px;padding:11px 6px;white-space:nowrap;font-size:12px;line-height:18px;letter-spacing:-.2px}

.category-panel .panelhead{align-items:flex-start;flex-wrap:wrap}.category-add{display:flex;gap:8px}.category-add input{width:220px}.category-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}.category-card{border:1px solid var(--line);border-radius:10px;padding:14px 16px;display:flex;flex-direction:column;gap:8px;background:#fbfdfc}.category-card strong{display:block;font-size:16px;letter-spacing:.3px}.category-card span{font-size:11px;color:var(--muted)}.category-stock{font-size:12px;color:var(--muted)}.category-stock b{font-size:20px;color:var(--green);font-variant-numeric:tabular-nums}.category-card .quiet-button{align-self:flex-start;color:var(--red);padding:0;min-height:0}@media(max-width:760px){.category-add{width:100%}.category-add input{width:auto;flex:1}}
.category-card[data-opencat]{cursor:pointer;transition:border-color .15s,box-shadow .15s}.category-card[data-opencat]:hover,.category-card[data-opencat]:focus-visible{border-color:var(--green);box-shadow:0 2px 10px #087d6718}.type-add{margin-bottom:16px}.type-add input{flex:1;width:auto}.type-list{border:1px solid var(--line);border-radius:8px}.type-row{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-bottom:1px solid var(--line)}.type-row:last-child{border-bottom:0}.type-row .quiet-button{color:var(--red)}
#product-code-new{margin-top:8px}
.transport-trigger{margin-top:4px}.transport-button{width:100%;display:flex;align-items:center;gap:14px;text-align:left;padding:14px 18px;border:1px dashed #c9d6cf;border-radius:12px;background:#fafcfb;font-weight:500;transition:border-color .15s,background .15s,box-shadow .15s}.transport-button:hover{border-color:var(--green);background:#f1f8f4;box-shadow:0 2px 12px #087d6714}.transport-button.filled{border-style:solid;border-color:#bfe0d1;background:#f2faf6}.transport-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:10px;background:#e3f2ea;color:var(--green);flex:none}.transport-text{flex:1;min-width:0}.transport-text strong{display:block;font-size:14px;color:var(--ink)}.transport-text small{display:block;font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.transport-action{font-size:12px;font-weight:700;color:var(--green);padding:6px 12px;border-radius:20px;background:#e3f2ea;flex:none}.transport-dialog{width:min(640px,94vw)}.transport-dialog .modalfoot .danger{margin-right:auto}
#modal.trade-purchase #f-quantity,#modal.trade-sale #f-quantity{border:2px solid var(--trade-accent);background:var(--trade-soft);font-weight:600;font-size:15px;color:var(--trade-ink);box-shadow:0 0 0 4px color-mix(in srgb,var(--trade-accent) 10%,transparent)}
#modal.trade-purchase #f-quantity:focus,#modal.trade-sale #f-quantity:focus{outline:none;box-shadow:0 0 0 4px color-mix(in srgb,var(--trade-accent) 22%,transparent)}
#modal.trade-purchase label[for="f-quantity"],#modal.trade-sale label[for="f-quantity"]{color:var(--trade-accent);font-weight:700}
.report-monthbar{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;margin-bottom:16px}.report-monthbar button{white-space:nowrap;border-radius:20px;font-weight:500;text-transform:capitalize}.report-monthbar button.active{background:var(--green);border-color:var(--green);color:#fff}.report-title{display:flex;align-items:center;gap:12px;margin-bottom:16px}.report-title h2{margin:0;text-transform:capitalize}.report-hero .stock-flow{margin-bottom:12px}.report-hero .flow-metric>span{text-transform:none}.flow-metric em{display:block;font-style:normal;font-size:11px;color:#6b7f75;margin-top:4px}.flow-result em{color:#b9dcd0}.report-diff{font-size:13px;color:var(--muted);margin:6px 0 16px}.report-diff strong,.neg,.pos{font-variant-numeric:tabular-nums}.neg{color:var(--red)!important}.pos{color:var(--green)}.report-row{cursor:pointer}.report-row td:first-child{text-transform:capitalize}.report-row.active{background:#eef6f1}#reportcat{width:auto;min-width:170px}
@media(min-width:761px){.main>.topbar{display:none}}.nav-admin-title{margin-top:22px}
.eye-link{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:8px;border:1px solid #cfe0f0;background:#f2f8fd;color:#0a86c0;transition:.15s}.eye-link:hover{background:#0a9fd8;border-color:#0a9fd8;color:#fff}
.letterhead-preview{display:flex;align-items:center;gap:18px;padding:14px 18px;border:1px solid #d6e6ef;border-radius:12px;background:linear-gradient(90deg,#f4fafd,#fff)}.letterhead-preview img{height:52px}.letterhead-preview img.stamp{height:46px;margin-left:auto;opacity:.85}.letterhead-preview strong{display:block;font-size:13px}.letterhead-preview span{font-size:11px;color:var(--muted)}@media(max-width:760px){.letterhead-preview img.stamp{display:none}}
.doc-preview{width:min(900px,96vw);height:94vh;max-height:94vh;padding:0;display:none;flex-direction:column;overflow:hidden}.doc-preview[open]{display:flex}.doc-preview .modalhead{flex:none}.doc-actions{display:flex;gap:8px}.doc-preview iframe{flex:1;width:100%;border:0;background:#e9eef2}

.inst-list{display:flex;flex-direction:column;gap:12px;padding:16px}
.inst-card{display:grid;grid-template-columns:76px 1fr auto auto;gap:22px;align-items:center;padding:16px 20px 16px 16px;border:1px solid #e2eaf0;border-radius:14px;background:#fff;position:relative;transition:box-shadow .18s,transform .18s,border-color .18s}
.inst-card:before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:4px;border-radius:0 4px 4px 0;background:linear-gradient(#0a9fd8,#087d67)}
.inst-card:hover{border-color:#bfe0ee;box-shadow:0 10px 30px #0a5c7a17;transform:translateY(-1px)}
.inst-date{display:flex;flex-direction:column;align-items:center;justify-content:center;height:76px;border-radius:12px;background:linear-gradient(160deg,#0a9fd8,#0b6f9a);color:#fff;line-height:1.05;box-shadow:0 6px 16px #0a9fd833}
.inst-date strong{font-size:26px;font-weight:750}.inst-date span{font-size:11px;font-weight:700;letter-spacing:1.5px;margin-top:2px}.inst-date small{font-size:10px;opacity:.75;margin-top:2px}
.inst-main{min-width:0}.inst-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:6px}
.inst-no{font:700 11px/1 ui-monospace,Menlo,monospace;letter-spacing:.5px;color:#0b6f9a;background:#e6f5fc;padding:5px 8px;border-radius:6px}
.inst-status{font-size:11px;font-weight:700;padding:4px 10px;border-radius:20px}.inst-status.teal{background:#e3f6f0;color:#087d67}.inst-status.green{background:#e3f6e8;color:#1c8a3c}.inst-status.blue{background:#e7efff;color:#3461c9}.inst-status.gray{background:#eef1f3;color:#5c6b75}.inst-status.red{background:#fdecea;color:#b4453c}
.inst-customer{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:#5c6b75}.inst-customer .ui-icon{width:14px;height:14px}
.inst-card h3{display:flex;align-items:center;gap:8px;margin:0 0 8px;font-size:17px;font-weight:700;color:#14222c}.inst-card h3 .ui-icon{color:#0a9fd8;width:20px;height:20px;flex:none}
.inst-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}.inst-person{font-size:13px;font-weight:600;color:#33434e;text-transform:capitalize}
.tr-plate{display:inline-flex;align-items:stretch;border:1.5px solid #1b2730;border-radius:5px;overflow:hidden;font:700 12px/1 ui-monospace,Menlo,monospace;letter-spacing:1px;background:#fff}.tr-plate{align-items:center;gap:7px;padding-right:8px}.tr-plate i{align-self:stretch;font-style:normal;background:#1f4fbf;color:#fff;font-size:8px;padding:6px 4px 3px;display:flex;align-items:flex-end}
.inst-products{display:flex;gap:6px;flex-wrap:wrap}.inst-chip{display:inline-flex;gap:6px;align-items:center;font-size:12px;padding:4px 10px;border-radius:20px;background:#f2f6f8;border:1px solid #e2eaf0;color:#33434e}.inst-chip b{color:#087d67;font-size:11px;letter-spacing:.5px}
.inst-qty{text-align:right;padding:10px 18px;border-radius:12px;background:#f3fbf8;border:1px solid #d3eee4;min-width:130px}.inst-qty span{display:block;font-size:9px;font-weight:700;letter-spacing:1.5px;color:#5c8a7a}.inst-qty strong{font-size:26px;font-weight:750;color:#087d67;font-variant-numeric:tabular-nums;letter-spacing:-.5px}.inst-qty small{font-size:12px;font-weight:700;color:#087d67;margin-left:4px}
.inst-actions .rowbuttons{flex-direction:column;align-items:stretch;gap:6px}.inst-actions .eye-link{width:auto;height:34px;padding:0 14px;display:inline-flex;gap:6px;background:#0a9fd8;border-color:#0a9fd8;color:#fff;box-shadow:0 4px 12px #0a9fd840}.inst-actions .eye-link:hover{background:#0b86b8}.inst-actions .eye-link:after{content:"Görüntüle";font-size:12px;font-weight:700}.inst-actions .rowbuttons button{width:100%}
@media(max-width:900px){.inst-card{grid-template-columns:64px 1fr;gap:14px}.inst-date{height:64px}.inst-qty{grid-column:1/-1;display:flex;align-items:baseline;gap:8px;text-align:left}.inst-actions{grid-column:1/-1}.inst-actions .rowbuttons{flex-direction:row}}
.firm-cell{display:flex;align-items:center;justify-content:space-between;gap:8px}.eye-link.small{width:28px;height:28px;flex:none}.purchases-table .eye-link.small{background:#fff4ec;border-color:#efcfb6;color:#c95412}.purchases-table .eye-link.small:hover{background:#c95412;border-color:#c95412;color:#fff}.sales-table .eye-link.small{background:#ebf7f1;border-color:#c3e3d2;color:#08734f}.sales-table .eye-link.small:hover{background:#08734f;border-color:#08734f;color:#fff}

/* Alış/Satış tablosu: orantılı sütunlar, ortalı simetrik içerik */
.trades-page .excel-table th,.trades-page .excel-table td,.trades-page .excel-table .num,.trades-page .excel-table tfoot td{text-align:center!important}
.trades-page .excel-table .firm-cell{justify-content:center}
.trades-page .excel-table .product-code{text-align:center}
.trades-page .excel-table tbody td{padding-top:20px;padding-bottom:14px}
.pay-td{padding:20px 6px 10px!important;overflow:visible}
.pay-cell{position:relative;display:flex;flex-direction:column;align-items:center;gap:1px;width:100%;border:0;background:transparent;padding:4px 2px;border-radius:8px;cursor:pointer;font-weight:600}
.pay-cell:hover{background:#00000008}
.pay-main{font-size:12.5px;font-variant-numeric:tabular-nums;color:#263442;white-space:nowrap}.pay-main i{font-style:normal;margin-right:4px}
.pay-cell small{font-size:10.5px;color:#6b7a86;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.pay-flag{position:absolute;top:-15px;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:10px;font-weight:700;letter-spacing:.2px;padding:3px 9px;border-radius:20px;color:#fff;background:#d9822b;box-shadow:0 3px 10px #d9822b55;animation:payPulse 2.4s ease-in-out infinite}
.pay-flag:after{content:"";position:absolute;left:50%;bottom:-4px;transform:translateX(-50%);border:4px solid transparent;border-bottom:0;border-top-color:inherit;border-top-color:#d9822b}
.pay-cell.partial .pay-flag{background:#3f6fd1;box-shadow:0 3px 10px #3f6fd155}.pay-cell.partial .pay-flag:after{border-top-color:#3f6fd1}
.sales-table .pay-cell.pending .pay-flag{background:#d2463b;box-shadow:0 3px 10px #d2463b55}.sales-table .pay-cell.pending .pay-flag:after{border-top-color:#d2463b}
.pay-cell.paid .pay-main{color:#1c8a3c}
@keyframes payPulse{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(-2px)}}
@media(prefers-reduced-motion:reduce){.pay-flag{animation:none}}
.trades-page .excel-table .firm-cell{min-width:0}.trades-page .excel-table .firm-cell .record-link{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pay-cell:focus{outline:none}.pay-cell:focus-visible{outline:2px solid #0a9fd8;outline-offset:1px}

.monthly-strip{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:8px 10px 8px 8px;margin:0 0 14px;border:1px solid #e3e9ee;border-radius:12px;background:#fff}
.ms-flow{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.ms-flow>i{font-style:normal;color:#9aa8b2;font-size:14px;width:12px;text-align:center}
.ms-chip{display:inline-flex;align-items:baseline;gap:6px;padding:6px 12px;border-radius:9px;background:#f3f6f8;font-variant-numeric:tabular-nums;white-space:nowrap}.ms-chip em{font-style:normal;font-size:11px;color:#6b7a86;font-weight:600}.ms-chip b{font-size:15px;color:#1d2b35;font-weight:700}.ms-chip small{font-size:10px;color:#8796a1;font-weight:600}
.ms-chip.buy{background:#fff3ea}.ms-chip.buy b{color:#c95412}.ms-chip.sell{background:#eaf6f0}.ms-chip.sell b{color:#08734f}.ms-chip.result{background:#123e34}.ms-chip.result em,.ms-chip.result small{color:#b9dcd0}.ms-chip.result b{color:#fff}
.ms-money{display:flex;align-items:center;gap:16px;font-size:12px;color:#6b7a86;white-space:nowrap}.ms-money b{color:#1d2b35;font-variant-numeric:tabular-nums;margin-left:3px}.ms-money .period-status{font-size:12px}.ms-money .quiet-button{min-height:0;padding:4px 2px}
@media(max-width:760px){.monthly-strip{padding:8px}.ms-money{flex-wrap:wrap;gap:10px}}

/* Etiketler değerin üstünde bildirim balonu gibi */
.monthly-strip{padding-top:18px;padding-bottom:10px}
.ms-chip{position:relative;padding:9px 14px 7px;align-items:center}
.ms-chip em{position:absolute;top:-9px;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:9.5px;font-weight:700;letter-spacing:.2px;padding:2px 8px;border-radius:20px;color:#fff;background:#6b7a86;box-shadow:0 2px 8px #1d2b3526}
.ms-chip em:after{content:"";position:absolute;left:50%;bottom:-3px;transform:translateX(-50%);border:3.5px solid transparent;border-bottom:0;border-top-color:#6b7a86}
.ms-chip.buy em{background:#d9822b}.ms-chip.buy em:after{border-top-color:#d9822b}
.ms-chip.sell em{background:#0a8a5f}.ms-chip.sell em:after{border-top-color:#0a8a5f}
.ms-chip.result em{background:#0a9fd8;color:#fff}.ms-chip.result em:after{border-top-color:#0a9fd8}
.ms-chip.money b{font-size:14px}
.ms-money{gap:10px}

/* Premium cari listesi */
.cari-list{padding:6px 14px 14px}
.cari-letter{position:sticky;top:0;z-index:1;margin:14px 0 6px;padding:4px 10px;font-size:11px;font-weight:800;letter-spacing:2px;color:#0a7c66;background:linear-gradient(90deg,#eaf6f1,transparent 60%);border-radius:6px}
.cari-row{display:grid;grid-template-columns:44px minmax(260px,2.4fr) minmax(140px,1fr) minmax(150px,1.1fr) 150px 80px auto;align-items:center;gap:16px;padding:11px 14px;border:1px solid transparent;border-radius:12px;transition:background .15s,border-color .15s,box-shadow .15s}
.cari-row+.cari-row{border-top-color:#eef2f4}
.cari-row:hover{background:#fbfdfc;border-color:#dcebe4;box-shadow:0 6px 20px #12423414}
.cari-row.passive{opacity:.55}
.cari-avatar{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;font-weight:800;font-size:14px;letter-spacing:.5px;color:hsl(var(--h) 55% 32%);background:linear-gradient(145deg,hsl(var(--h) 70% 94%),hsl(var(--h) 55% 86%));box-shadow:inset 0 0 0 1px hsl(var(--h) 45% 80%)}
.cari-name{min-width:0}.cari-name .record-link{display:block;max-width:100%;text-align:left;font-size:13.5px;font-weight:650;color:#17262f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0;background:none;border:0}.cari-name .record-link:hover{color:#087d67}
.cari-name>span{display:block;font-size:11.5px;color:#7a8892;margin-top:2px;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cari-name b{font-size:9.5px;letter-spacing:1px;color:#9aa7b0;margin-right:2px}
.cari-loc{display:flex;align-items:center;gap:6px;font-size:12.5px;color:#41525d;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cari-loc svg{color:#0a9fd8;flex:none}
.cari-contact{display:flex;flex-direction:column;font-size:12.5px;color:#33434e;min-width:0}.cari-contact span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cari-row .muted{color:#a5b1b9;font-size:11.5px}
.cari-type{justify-self:start;font-size:11px;font-weight:700;padding:5px 11px;border-radius:20px;white-space:nowrap}.cari-type.both{background:#eef0fb;color:#4a55a8}.cari-type.cust{background:#e6f5ee;color:#08734f}.cari-type.supp{background:#fff1e6;color:#b4520f}
.cari-status{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:#1c8a3c}.cari-status i{width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 0 3px #1c8a3c22}.cari-status.off{color:#8a969e}.cari-status.off i{box-shadow:none}
.cari-actions{display:flex;gap:6px;justify-content:flex-end;opacity:.75;transition:opacity .15s}.cari-row:hover .cari-actions{opacity:1}
.ca-btn,.ca-icon{display:inline-flex;align-items:center;gap:6px;height:34px;border-radius:9px;border:1px solid #dfe7ec;background:#fff;color:#33434e;font-size:12px;font-weight:600;padding:0 12px}.ca-icon{width:34px;padding:0;justify-content:center}
.ca-btn:hover{background:#087d67;border-color:#087d67;color:#fff}.ca-icon:hover{background:#f1f6f9;border-color:#c9d6de}.ca-icon.danger{color:#b4453c}.ca-icon.danger:hover{background:#fdecea;border-color:#f1c9c4}
@media(max-width:1100px){.cari-row{grid-template-columns:44px 1fr auto;row-gap:6px}.cari-loc,.cari-contact{grid-column:2/-1}.cari-type,.cari-status{grid-column:2}.cari-actions{grid-column:3;grid-row:1}}

/* Cari listesi: okunabilirlik */
.cari-head,.cari-row{grid-template-columns:44px minmax(320px,1fr) 190px 220px 160px 90px 196px}
.cari-head{display:grid;gap:16px;align-items:center;padding:10px 14px;margin:8px 0 2px;font-size:10.5px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:#6b7a86;border-bottom:1.5px solid #e2e9ee;position:sticky;top:0;background:#fff;z-index:2}
.cari-letter{top:38px;background:#f2f8f5;color:#087d67;font-size:12px}
.cari-name .record-link{font-size:14.5px;font-weight:700;color:#0f1d26}
.cari-name>span{font-size:12.5px;color:#55656f}.cari-name b{color:#7d8b94}
.cari-loc{font-size:13.5px;color:#1f2f39;font-weight:500}
.cari-contact{font-size:13.5px;color:#1f2f39}.cari-row .muted{color:#97a4ad;font-size:12.5px}
.cari-type{font-size:12px}.cari-status{font-size:13px}
.cari-actions{opacity:1}
.cari-row:nth-of-type(even){background:#fafcfd}.cari-row:hover{background:#f3faf7}
@media(max-width:1300px){.cari-head,.cari-row{grid-template-columns:44px minmax(240px,1fr) 160px 180px 150px 80px 190px}}
@media(max-width:1100px){.cari-head{display:none}.cari-row{grid-template-columns:44px 1fr auto}}

/* Cari tablosu — net, yüksek kontrastlı */
.cari-wrap{overflow:auto;max-height:calc(100vh - 230px)}
.cari-table{width:100%;border-collapse:separate;border-spacing:0;font-size:13.5px;color:#111b22}
.cari-table thead th{position:sticky;top:0;z-index:2;background:#123e34;color:#fff;font-size:12px;font-weight:700;letter-spacing:.3px;text-transform:none;padding:12px 14px;text-align:left;white-space:nowrap;border:0}
.cari-table thead th:first-child{border-top-left-radius:8px}.cari-table thead th:last-child{border-top-right-radius:8px}
.cari-table td{padding:11px 14px;border-bottom:1px solid #e3e8ec;vertical-align:middle;white-space:nowrap}
.cari-table tbody tr:nth-child(even) td{background:#f6f8fa}
.cari-table tbody tr:hover td{background:#e9f5f0}
.cari-table .c-name{max-width:420px;overflow:hidden;text-overflow:ellipsis}
.cari-table .c-name .record-link{font-size:13.5px;font-weight:700;color:#0b3d32;padding:0;border:0;background:none;text-align:left;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}
.cari-table .c-name .record-link:hover{color:#087d67;text-decoration:underline}
.cari-table .c-mono{font-variant-numeric:tabular-nums;letter-spacing:.3px;color:#1f2d36}
.cari-table .c-empty{color:#8a979f}
.cari-table tr.passive td{color:#8a979f}.cari-table tr.passive .record-link{color:#8a979f}
.c-type{display:inline-block;font-size:12px;font-weight:700;padding:4px 10px;border-radius:6px;border:1px solid}
.c-type.both{color:#1e4fa8;background:#eaf1fd;border-color:#bcd0f5}.c-type.cust{color:#086347;background:#e5f5ee;border-color:#b5e0cc}.c-type.supp{color:#a3450b;background:#fff0e4;border-color:#f3cba9}
.c-status{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:12.5px}.c-status:before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}.c-status.on{color:#13823a}.c-status.off{color:#8a979f}
.cari-table .r{text-align:right}
.c-actions{display:inline-flex;gap:6px}
.c-actions button{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 10px;border-radius:7px;border:1px solid #c9d3da;background:#fff;color:#1f2d36;font-size:12.5px;font-weight:600}
.c-actions button:hover{background:#123e34;border-color:#123e34;color:#fff}
.c-actions button.del{color:#b4231a;border-color:#efc4c0}.c-actions button.del:hover{background:#b4231a;border-color:#b4231a;color:#fff}
.c-mail{min-width:230px}.c-mail a{color:#0b5e8a}
.c-mail-input{width:100%;min-width:210px;height:32px;padding:0 10px;border:1px solid transparent;border-radius:7px;background:transparent;font-size:13.5px;color:#111b22;transition:border-color .15s,background .15s,box-shadow .15s}
.c-mail-input::placeholder{color:#9aa6ae;font-style:italic}
.cari-table tr:hover .c-mail-input{border-color:#c9d3da;background:#fff}
.c-mail-input:focus{outline:none;border-color:#087d67;background:#fff;box-shadow:0 0 0 3px #087d6722}
.c-mail-input.saving{background:#fff8e6;border-color:#e0b65a}
.c-mail-input.saved{border-color:#13823a;background:#e9f7ee}
.c-mail-input.err{border-color:#c0392b;background:#fdecea}

/* Ürünler sayfası */
.cat-section{margin-bottom:18px}
.cat-head{display:flex;align-items:baseline;gap:12px;margin:0 0 10px}.cat-head h2{margin:0;font-size:16px;color:#0f1d26}.cat-head span{font-size:12.5px;color:#55656f}
.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}
.cat-card{background:#fff;border:1px solid #d6dee4;border-radius:12px;padding:14px 16px;cursor:pointer;display:flex;flex-direction:column;gap:8px;border-top:4px solid #123e34;transition:box-shadow .15s,transform .15s,border-color .15s}
.cat-card:hover,.cat-card:focus-visible{box-shadow:0 8px 24px #123e3422;transform:translateY(-2px);border-color:#9fc7b8;outline:none}
.cat-top{display:flex;justify-content:space-between;align-items:center}.cat-top strong{font-size:18px;font-weight:800;letter-spacing:.5px;color:#0f1d26}
.cat-del{display:grid;place-items:center;width:28px;height:28px;padding:0;border:1px solid #efc4c0;border-radius:7px;background:#fff;color:#b4231a}.cat-del:hover{background:#b4231a;color:#fff;border-color:#b4231a}
.cat-stock{display:flex;align-items:baseline;gap:6px}.cat-stock b{font-size:26px;font-weight:800;color:#087d67;font-variant-numeric:tabular-nums;letter-spacing:-.5px}.cat-stock small{font-size:12px;font-weight:600;color:#55656f}
.cat-foot{display:flex;justify-content:space-between;align-items:center;padding-top:8px;border-top:1px solid #e3e8ec;font-size:12.5px;font-weight:600;color:#33434e}.cat-foot em{font-style:normal;color:#087d67;font-weight:700}
.cat-tag{display:inline-block;font-size:12px;font-weight:800;letter-spacing:.5px;padding:3px 10px;border-radius:6px;background:#123e34;color:#fff}
.prod-table .c-name .record-link{font-size:14px}
.seg{display:inline-flex;padding:4px;background:#eef2f4;border-radius:10px;gap:4px;justify-self:start}.seg button{border:0;background:transparent;padding:8px 16px;border-radius:7px;font-weight:700;color:#55656f}.seg button.active{background:#123e34;color:#fff;box-shadow:0 2px 8px #123e3433}
.auto-close{font-size:11.5px;font-weight:600;color:#0b6f9a;background:#e8f5fb;border:1px solid #c4e4f2;padding:3px 9px;border-radius:20px}

/* Stok ve aylık devir tablosu — sade, yüksek kontrast */
.carry-panel .carry-body table.carry-table{width:100%;min-width:1000px;border-collapse:collapse;font-size:14px;color:#14212a;font-variant-numeric:tabular-nums}
.carry-panel .carry-body table.carry-table th{background:#f1f4f7;color:#2b3a44;font-size:12.5px;font-weight:700;letter-spacing:0;text-transform:none;padding:12px 16px;text-align:right;white-space:nowrap;border-bottom:2px solid #cfd8df}
.carry-panel .carry-body table.carry-table th.l,.carry-panel .carry-body table.carry-table td.l{text-align:left}
.carry-panel .carry-body table.carry-table td{padding:14px 16px;text-align:right;border-bottom:1px solid #e6ebef;font-weight:500;white-space:nowrap;background:#fff;color:#14212a}
.carry-panel .carry-body table.carry-table td.l strong{font-size:15px;font-weight:800;color:#0f1d26}
.carry-panel .carry-body table.carry-table td.buy{color:#a8460c;font-weight:700}
.carry-panel .carry-body table.carry-table td.sell{color:#08734f;font-weight:700}
.carry-panel .carry-body table.carry-table th.res{background:#dff1e9;color:#0b4b3d}
.carry-panel .carry-body table.carry-table td.res{background:#f0f9f5;color:#0b4b3d;font-size:16px;font-weight:800}
.carry-panel .carry-body table.carry-table .sep{border-left:2px solid #dfe5ea}
.carry-panel .carry-body table.carry-table tbody tr:hover td{background:#f7faf9}
.carry-panel .carry-body table.carry-table tbody tr:hover td.res{background:#e6f5ee}
.carry-panel .carry-body table.carry-table tfoot td{background:#f1f4f7;font-weight:800;border-top:2px solid #cfd8df;border-bottom:0}
.carry-panel .carry-body table.carry-table tfoot td.res{background:#dff1e9}
/* Biçimli sayı alanları */
.fmt-input{font-variant-numeric:tabular-nums;letter-spacing:.6px;font-weight:600}
.fmt-tc,.fmt-vkn{font-family:ui-monospace,'SF Mono',Menlo,Consolas,monospace;letter-spacing:2px}
.fmt-hint{display:block;font-size:11px;font-weight:600;margin-top:5px;min-height:14px;color:#7a8892}.fmt-hint.ok{color:#13823a}.fmt-hint.bad{color:#c0392b}.fmt-hint.wait{color:#b07613}
.fmt-input:invalid:not(:placeholder-shown):not(:focus){border-color:#e3a49c;background:#fff8f7}
.plate-box{display:flex;align-items:stretch;border:2px solid #1b2730;border-radius:8px;overflow:hidden;background:#fff;max-width:260px;transition:box-shadow .15s}
.plate-box:focus-within{box-shadow:0 0 0 3px #087d6730;border-color:#087d67}
.plate-tr{display:flex;align-items:flex-end;justify-content:center;width:30px;flex:none;background:#1f4fbf;color:#fff;font-size:10px;font-weight:700;padding-bottom:5px}
.plate-box .fmt-plate{border:0;border-radius:0;font-family:ui-monospace,'SF Mono',Menlo,Consolas,monospace;font-size:17px;font-weight:800;letter-spacing:2.5px;text-transform:uppercase;padding:9px 12px;box-shadow:none;background:#fff}
.plate-box .fmt-plate:focus{outline:none;box-shadow:none}

/* ===== Modern popup sistemi — her sayfanın kendi rengi ===== */
dialog{--mc:#087d67;--mc2:#0aa37f;--mt:#e8f5ef;--mink:#0b4b3d}
#modal[data-theme=purchase],dialog.trade-purchase{--mc:#c95412;--mc2:#ee8a3c;--mt:#fff1e6;--mink:#7a3510}
#modal[data-theme=sale],dialog.trade-sale{--mc:#08734f;--mc2:#13a979;--mt:#e4f5ed;--mink:#0b4b3d}
#modal[data-theme=customers]{--mc:#3b4fc4;--mc2:#6a7cf0;--mt:#eef0fd;--mink:#262f7a}
#modal[data-theme=products]{--mc:#0e7a8a;--mc2:#20a9b9;--mt:#e4f5f7;--mink:#0b4e58}
#modal[data-theme=ardiye],.transport-dialog,.doc-preview{--mc:#0a86c0;--mc2:#2fb8ec;--mt:#e7f5fc;--mink:#0b4f72}
#modal[data-theme=users]{--mc:#475569;--mc2:#7c8ba1;--mt:#eef1f5;--mink:#1e293b}
#modal[data-theme=settings]{--mc:#7c3aed;--mc2:#a477f7;--mt:#f3edfe;--mink:#4c1d95}
#modal[data-theme=payment]{--mc:#b7791f;--mc2:#e3a33b;--mt:#fdf5e6;--mink:#6b4410}
#modal[data-theme=danger]{--mc:#c0392b;--mc2:#e5675a;--mt:#fdecea;--mink:#7f1d14}
dialog{border:0!important;border-radius:20px!important;padding:0;background:#fff;box-shadow:0 30px 90px #0b1d2a40,0 0 0 1px #0b1d2a12!important;overflow:hidden;display:none;flex-direction:column;max-height:92vh}
dialog[open]{display:flex;animation:mIn .22s cubic-bezier(.2,.8,.2,1)}
dialog::backdrop{background:#0b1d2a73!important;backdrop-filter:blur(5px)}
@keyframes mIn{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}
dialog>form{display:flex;flex-direction:column;min-height:0;flex:1}
dialog .modalbody{flex:1;overflow:auto}
dialog .modalhead{position:relative;display:flex!important;align-items:center;gap:14px;padding:20px 24px 18px!important;background:linear-gradient(180deg,var(--mt),#fff)!important;border-bottom:1px solid #e6ecf0!important;box-shadow:none!important}
dialog .modalhead:before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:linear-gradient(90deg,var(--mc),var(--mc2))}
.modal-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;flex:none;color:#fff;background:linear-gradient(145deg,var(--mc2),var(--mc));box-shadow:0 6px 16px color-mix(in srgb,var(--mc) 35%,transparent)}
.modal-icon .ui-icon{width:22px;height:22px}
.modal-titles{flex:1;min-width:0}.modal-titles h2,dialog .modalhead h2{margin:0!important;font-size:20px!important;font-weight:750!important;color:var(--mink)!important;letter-spacing:-.3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.modal-titles small{display:block;font-size:12.5px;color:#6b7a86;margin-top:2px}
dialog #closemodal,dialog [data-tclose][aria-label],dialog #doc-close,dialog [data-product-close][aria-label]{width:38px;height:38px;border-radius:11px!important;display:grid;place-items:center;padding:0;border:1px solid #dde4ea!important;background:#fff!important;color:#55656f!important;font-size:16px;transition:.15s}
dialog #closemodal:hover,dialog [data-tclose][aria-label]:hover,dialog #doc-close:hover{background:var(--mt)!important;color:var(--mink)!important;border-color:var(--mc)!important;transform:rotate(90deg)}
dialog .modalbody{padding:22px 24px!important;background:#fff}
dialog .formsection{color:var(--mink);font-size:11px;letter-spacing:1.6px;text-transform:uppercase;font-weight:800;border-bottom:0!important;padding:10px 0 4px!important;display:flex;align-items:center;gap:10px}
dialog .formsection:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,color-mix(in srgb,var(--mc) 35%,transparent),transparent)}
dialog label{font-size:12.5px;font-weight:650;color:#33434e}
dialog input:not([type=checkbox]):not(.fmt-plate):not(.c-mail-input),dialog select,dialog textarea{border:1.5px solid #dbe3e9!important;border-radius:10px!important;padding:11px 13px;background:#fbfcfd;transition:border-color .15s,box-shadow .15s,background .15s}
dialog input:not([type=checkbox]):not(.fmt-plate):focus,dialog select:focus,dialog textarea:focus{outline:none!important;border-color:var(--mc)!important;background:#fff;box-shadow:0 0 0 4px color-mix(in srgb,var(--mc) 16%,transparent)!important}
dialog .plate-box:focus-within{border-color:var(--mc);box-shadow:0 0 0 4px color-mix(in srgb,var(--mc) 16%,transparent)}
dialog .modalfoot{padding:16px 24px!important;background:#f7f9fb!important;border-top:1px solid #e6ecf0!important;gap:10px}
dialog .modalfoot button{height:44px;padding:0 20px;border-radius:11px;font-weight:700}
dialog .modalfoot button.primary,dialog .doc-actions .primary{background:linear-gradient(135deg,var(--mc2),var(--mc))!important;border:0!important;color:#fff!important;box-shadow:0 8px 20px color-mix(in srgb,var(--mc) 32%,transparent);min-width:130px}
dialog .modalfoot button.primary:hover{filter:brightness(1.06);transform:translateY(-1px)}
dialog .totals{background:var(--mt)!important;border:1px solid color-mix(in srgb,var(--mc) 22%,transparent);border-radius:14px!important}
dialog .totals strong{color:var(--mink)!important}
dialog .form-disclosure,dialog details{border-radius:12px}
dialog .modalerror:not(:empty){background:#fdecea;border:1px solid #f2c4bf;border-radius:10px;padding:10px 14px;font-weight:600}
#modal[data-theme=danger]{width:min(460px,94vw)}#modal[data-theme=danger] .modalbody p{font-size:15px;color:#33434e}
#modal[data-theme=danger] .modalfoot button.primary{background:linear-gradient(135deg,#e5675a,#c0392b)!important}
.transport-dialog .modalhead h2,.doc-preview .modalhead h2{font-size:18px!important}
@media(max-width:760px){dialog{width:100vw!important;max-width:100vw;max-height:94vh;margin:auto 0 0;border-radius:20px 20px 0 0!important}dialog .modalbody{padding:18px 16px!important}.modal-titles small{display:none}}
@media(prefers-reduced-motion:reduce){dialog[open]{animation:none}}
.sidebar-brand{display:flex;flex-direction:column;align-items:center}.brand-logo{display:block;width:100%;max-width:180px;height:auto;margin:0 auto 4px}.auth-logo{display:block;width:220px;max-width:70%;height:auto;margin:0 auto 26px}
/* Açık renk sol menü */
aside.sidebar{background:#fff!important;color:#1d2b35!important;border-right:1px solid #e3e9ee!important;box-shadow:4px 0 24px #0b1d2a0a}
aside.sidebar .sidebar-brand{padding:4px 6px 0}
aside.sidebar .brand-logo{max-width:176px}
aside.sidebar .brand-divider{width:100%;height:1px;background:linear-gradient(90deg,transparent,#d5e2ea,transparent);margin:18px 0 0}
aside.sidebar .navtitle{color:#8796a1!important;font-weight:800}
aside.sidebar .nav button{color:#3b4a55!important;font-weight:600;background:transparent}
aside.sidebar .nav button .nav-icon{color:#7a8a95}
aside.sidebar .nav button:hover{background:#f2f7fa!important;color:#0f1d26!important}
aside.sidebar .nav button.active{background:linear-gradient(90deg,#e6f4fb,#f3f9fc)!important;color:#0b5f87!important;box-shadow:inset 3px 0 #0a9fd8!important;font-weight:700}
aside.sidebar .nav button.active .nav-icon{color:#0a9fd8!important}
aside.sidebar .account{border-top:1px solid #e3e9ee!important}
aside.sidebar .account strong{color:#1d2b35!important}aside.sidebar .account small{color:#7a8a95!important}
aside.sidebar .account .avatar{background:#e6f4fb!important;border-color:#bfe0f0!important;color:#0b5f87!important}
aside.sidebar .account .icon-button{color:#7a8a95;background:transparent;border-color:#e3e9ee}aside.sidebar .account .icon-button:hover{color:#c0392b;background:#fdecea}
/* Kırık beyaz sol menü */
aside.sidebar{background:#f6f3ec!important;border-right:1px solid #e6e0d3!important;box-shadow:none}
aside.sidebar .brand-logo{mix-blend-mode:multiply}
aside.sidebar .brand-divider{background:linear-gradient(90deg,transparent,#d9d1bf,transparent)}
aside.sidebar .navtitle{color:#9a907c!important}
aside.sidebar .nav button{color:#3d3a33!important}
aside.sidebar .nav button .nav-icon{color:#8a8170}
aside.sidebar .nav button:hover{background:#ece6d9!important;color:#1f1d18!important}
aside.sidebar .nav button.active{background:#fff!important;color:#0b5f87!important;box-shadow:inset 3px 0 #0a9fd8,0 2px 8px #3d3a3312!important}
aside.sidebar .account{border-top:1px solid #e6e0d3!important}
aside.sidebar .account strong{color:#2b2925!important}aside.sidebar .account small{color:#8a8170!important}
aside.sidebar .account .avatar{background:#fff!important;border-color:#e0d8c6!important;color:#0b5f87!important}
aside.sidebar .account .icon-button{border-color:#e0d8c6;color:#8a8170}
/* Sol menü — son tasarım: geniş, dengeli, kırık beyaz */
@media(min-width:761px){aside.sidebar{width:240px!important;padding:20px 16px 16px!important;transform:none!important}.main{margin-left:240px!important}}
aside.sidebar .sidebar-brand{display:block;margin:0 0 6px;padding:16px 14px 14px!important;background:#fff;border:1px solid #e9e3d6;border-radius:16px;box-shadow:0 4px 14px #3d3a3310;text-align:center}
aside.sidebar .brand-logo{width:100%;max-width:168px!important;margin:0 auto!important;mix-blend-mode:normal}
aside.sidebar .brand-divider{display:none}
aside.sidebar .navtitle{margin:22px 12px 8px!important;font-size:10px!important;letter-spacing:1.6px}
aside.sidebar .nav button{display:flex;align-items:center;gap:12px;min-height:44px!important;margin:3px 0!important;padding:10px 14px!important;border-radius:11px!important;font-size:14px!important;line-height:1.25;white-space:nowrap}
aside.sidebar .nav button .nav-icon{display:grid;place-items:center;width:20px;height:20px;flex:none}
aside.sidebar .nav button .nav-icon .ui-icon{width:19px;height:19px}
aside.sidebar .nav button.active{background:#fff!important;color:#0b5f87!important;box-shadow:0 2px 10px #3d3a3314,inset 0 0 0 1px #e9e3d6!important}
aside.sidebar .nav button.active:before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:0 3px 3px 0;background:#0a9fd8}
aside.sidebar .nav button{position:relative}
aside.sidebar .account{margin-top:auto;padding:12px 10px 0!important;gap:10px!important}
aside.sidebar .account .avatar{width:36px!important;height:36px!important;font-weight:800}
aside.sidebar .account strong{font-size:13px!important;max-width:120px!important}aside.sidebar .account small{font-size:11px!important}
/* Koyu sol menü (logo beyaz kartta kalır) */
aside.sidebar{background:linear-gradient(180deg,#14262e,#0f1d24)!important;border-right:0!important;box-shadow:4px 0 24px #0b1d2a26!important}
aside.sidebar .sidebar-brand{border:0!important;box-shadow:0 8px 24px #00000040!important}
aside.sidebar .navtitle{color:#7f97a3!important}
aside.sidebar .nav button{color:#c9d6dd!important}
aside.sidebar .nav button .nav-icon{color:#8fa6b1!important}
aside.sidebar .nav button:hover{background:#ffffff0d!important;color:#fff!important}
aside.sidebar .nav button.active{background:#ffffff14!important;color:#fff!important;box-shadow:inset 0 0 0 1px #ffffff14!important}
aside.sidebar .nav button.active .nav-icon{color:#37c0f2!important}
aside.sidebar .nav button.active:before{background:#37c0f2}
aside.sidebar .account{border-top:1px solid #ffffff14!important}
aside.sidebar .account strong{color:#eef3f6!important}aside.sidebar .account small{color:#8fa6b1!important}
aside.sidebar .account .avatar{background:#1f3a46!important;border-color:#2e4f5d!important;color:#9fe0f8!important}
aside.sidebar .account .icon-button{border-color:#ffffff1f!important;color:#8fa6b1!important;background:transparent!important}aside.sidebar .account .icon-button:hover{color:#ff8a7a!important;background:#ffffff0d!important}

/* Performans: sürekli animasyon ve pahalı bulanıklık kaldırıldı */
.pay-flag{animation:none!important}
dialog::backdrop{backdrop-filter:none!important;background:#0b1d2a8c!important}
.toolbar{backdrop-filter:none}
.c-actions button.send{color:#0b5f87;border-color:#bfe0f0}.c-actions button.send:hover{background:#0a86c0;border-color:#0a86c0;color:#fff}.send-box p{margin:0 0 14px;font-size:13.5px;color:#33434e;line-height:1.6}.send-box .quiet-button{display:inline-flex;align-items:center;gap:6px;margin-top:8px;color:#0b5f87}
.c-mail-view{display:block;width:100%;max-width:280px;text-align:left;border:1px solid transparent;background:transparent;border-radius:7px;padding:6px 10px;font-size:13.5px;font-weight:500;color:#0b3d57;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:text}.c-mail-view.empty{color:#9aa6ae;font-style:italic;font-weight:400}.c-mail-view:hover{border-color:#c9d3da;background:#fff}
/* Cari / ürün tablosu ekrana sığsın, yatay kaydırma olmasın */
.cari-wrap{overflow-x:hidden!important;overflow-y:auto}
.cari-table:not(.prod-table){table-layout:fixed;width:100%}
.cari-table:not(.prod-table) th:nth-child(1){width:auto}
.cari-table:not(.prod-table) th:nth-child(2){width:108px}
.cari-table:not(.prod-table) th:nth-child(3){width:12%}
.cari-table:not(.prod-table) th:nth-child(4){width:12%}
.cari-table:not(.prod-table) th:nth-child(5){width:17%}
.cari-table:not(.prod-table) th:nth-child(6){width:132px}
.cari-table:not(.prod-table) th:nth-child(7){width:74px}
.cari-table:not(.prod-table) th:nth-child(8){width:150px}
.cari-table td,.cari-table th{overflow:hidden;text-overflow:ellipsis}
.cari-table .c-name{max-width:none}
.cari-table td:nth-child(3),.cari-table td:nth-child(4){white-space:normal;line-height:1.35}
.cari-table .c-mail-view{max-width:100%}
.cari-table .c-actions{gap:4px}
.cari-table:not(.prod-table) .c-actions button{width:32px;padding:0;justify-content:center;font-size:0;gap:0}
.cari-table:not(.prod-table) .c-actions button svg{width:16px;height:16px}
.prod-table{table-layout:auto;width:100%}
@media(max-width:1250px){.cari-table:not(.prod-table) th:nth-child(3),.cari-table:not(.prod-table) td:nth-child(3){display:none}.cari-table:not(.prod-table) th:nth-child(5){width:22%}}
@media(max-width:980px){.cari-table:not(.prod-table) th:nth-child(4),.cari-table:not(.prod-table) td:nth-child(4),.cari-table:not(.prod-table) th:nth-child(2),.cari-table:not(.prod-table) td:nth-child(2){display:none}}
@media(max-width:700px){.cari-table:not(.prod-table) th:nth-child(6),.cari-table:not(.prod-table) td:nth-child(6),.cari-table:not(.prod-table) th:nth-child(7),.cari-table:not(.prod-table) td:nth-child(7){display:none}}

/* Premium giriş ekranı: solda görsel, sağda form */
.login-split{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(420px,.85fr);min-height:100vh;background:#fff}
.login-art{position:relative;overflow:hidden;background:#0a2a3c url(brand/login-art.svg) center/cover no-repeat;color:#fff;display:flex;flex-direction:column;justify-content:space-between;padding:56px 60px}
.login-art:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#06161f00 40%,#06161fb3);pointer-events:none}
.login-art-inner,.login-art-foot{position:relative;z-index:1}
.login-kicker{display:inline-block;font-size:11px;font-weight:800;letter-spacing:3px;color:#8fe0ff;padding:7px 14px;border:1px solid #8fe0ff55;border-radius:30px;background:#ffffff0d}
.login-art h2{font-size:clamp(32px,3.4vw,50px);line-height:1.12;letter-spacing:-1.2px;margin:26px 0 16px;font-weight:800;color:#fff}
.login-art h2 em{font-style:normal;background:linear-gradient(90deg,#5fd3ff,#3ee0b0);-webkit-background-clip:text;background-clip:text;color:transparent}
.login-art p{max-width:430px;font-size:16px;line-height:1.65;color:#c9dde6;margin:0 0 26px}
.login-chips{display:flex;gap:8px;flex-wrap:wrap}.login-chips span{font-size:12px;font-weight:800;letter-spacing:1px;padding:7px 13px;border-radius:9px;background:#ffffff14;border:1px solid #ffffff26;color:#e6f6fc}
.login-art-foot{font-size:12px;color:#9fb8c4}
.login-side{display:flex;align-items:center;justify-content:center;padding:40px 24px;background:linear-gradient(180deg,#fbfaf7,#f3f6f8)}
.login-side .auth{margin:0!important;width:100%;max-width:410px;background:#fff;border:1px solid #e6ecf0;border-radius:22px;padding:40px 38px!important;box-shadow:0 30px 80px #0b1d2a1a}
.login-side .auth-logo{width:190px;margin:0 auto 26px}
.login-side .auth h1{font-size:24px;letter-spacing:-.5px;margin:0 0 6px;text-align:left}
.login-side .auth .sub{color:#6b7a86;font-size:14px;margin-bottom:22px}
.login-side .auth label{font-size:12.5px;font-weight:700;color:#33434e}
.login-side .auth input{height:48px;border:1.5px solid #dbe3e9;border-radius:12px;background:#fbfcfd;font-size:15px;padding:0 14px;transition:border-color .15s,box-shadow .15s}
.login-side .auth input:focus{outline:none;border-color:#0a86c0;background:#fff;box-shadow:0 0 0 4px #0a9fd826}
.login-side .auth .field{margin:14px 0}
.login-side .auth button.primary{height:50px;margin-top:16px;border:0;border-radius:12px;font-size:15px;font-weight:800;background:linear-gradient(135deg,#1fb6ec,#0b6f9a);color:#fff;box-shadow:0 12px 26px #0a86c040;transition:transform .15s,filter .15s}
.login-side .auth button.primary:hover{transform:translateY(-1px);filter:brightness(1.05)}
.login-side .authfooter{margin-top:22px;font-size:12px;color:#8796a1;text-align:center}.login-side .authfooter .lock{filter:grayscale(1);opacity:.7}
@media(max-width:900px){.login-split{grid-template-columns:1fr}.login-art{min-height:260px;padding:32px 24px}.login-art p,.login-art-foot{display:none}.login-art h2{font-size:30px;margin:16px 0 14px}.login-side{padding:28px 16px 40px}.login-side .auth{padding:30px 22px!important}}
/* ===== Gösterge paneli ===== */
.dk{display:flex;flex-direction:column;gap:18px;--buy:#d9822b;--sell:#0a8a5f;--ink:#14222c;--mut:#5f6f7a;--ln:#e3e9ee}
.dk-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;padding:26px 30px;border-radius:20px;color:#fff;background:#0a2a3c url(brand/login-art.svg) right 30%/cover no-repeat;position:relative;overflow:hidden}
.dk-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#06161fe6 0%,#06161fb3 45%,#06161f33 100%)}
.dk-hero>*{position:relative}
.dk-kicker{font-size:12px;font-weight:700;letter-spacing:1px;color:#8fe0ff;text-transform:capitalize}
.dk-hero h1{margin:6px 0 4px;font-size:30px;letter-spacing:-.8px;color:#fff}.dk-hero p{margin:0;color:#c9dde6;font-size:14.5px}
.dk-actions{display:flex;gap:8px;flex-wrap:wrap}.dk-actions button{display:inline-flex;align-items:center;gap:6px;height:42px;padding:0 16px;border-radius:11px;border:1px solid #ffffff33;background:#ffffff14;color:#fff;font-weight:700;backdrop-filter:none}
.dk-actions button:hover{background:#ffffff26}.dk-actions button.buy{background:#d9822b;border-color:#d9822b}.dk-actions button.sell{background:#0a8a5f;border-color:#0a8a5f}
.dk-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.dk-tile{background:#fff;border:1px solid var(--ln);border-radius:16px;padding:18px 20px;display:flex;flex-direction:column;gap:4px;position:relative;overflow:hidden}
.dk-tile:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--c,#0a86c0)}
.dk-tile.sell{--c:var(--sell)}.dk-tile.buy{--c:var(--buy)}.dk-tile.stock{--c:#0a86c0}.dk-tile.bal{--c:#123e34}.dk-tile.warn{--c:#c0392b}
.dk-label{font-size:12px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--mut)}
.dk-big{font-size:27px;font-weight:800;letter-spacing:-.8px;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dk-sub{font-size:13px;color:#33434e;font-variant-numeric:tabular-nums}.dk-foot{margin-top:6px;padding-top:8px;border-top:1px solid #eef2f5;font-size:12px;font-weight:600;color:var(--mut)}
.dk-tile.warn .dk-foot{color:#c0392b}
.dk-grid2{display:grid;grid-template-columns:1.6fr 1fr;gap:14px}.dk-grid3{display:grid;grid-template-columns:1.1fr 1.1fr .8fr;gap:14px}
.dk-card{background:#fff;border:1px solid var(--ln);border-radius:16px;padding:18px 20px;min-width:0}
.dk-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px}.dk-head h2{margin:0;font-size:15px;color:var(--ink)}
.dk-legend{display:flex;gap:14px;font-size:12.5px;color:#33434e;font-weight:600}.dk-legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}.dk-legend i.buy{background:var(--buy)}.dk-legend i.sell{background:var(--sell)}
.dk-chart-wrap{position:relative}.dk-chart{width:100%;height:auto;display:block}
.dk-grid{stroke:#e8edf1;stroke-width:1}.dk-axis{font-size:11px;fill:#7a8892;font-family:inherit}
.dk-bar.buy{fill:var(--buy)}.dk-bar.sell{fill:var(--sell)}.dk-hit{fill:transparent}.dk-hit:hover{fill:#0b1d2a08}
.dk-tip{position:absolute;pointer-events:none;background:#14222c;color:#fff;font-size:12px;font-weight:600;padding:6px 10px;border-radius:8px;white-space:nowrap;box-shadow:0 6px 18px #0b1d2a40}
.dk-note{font-size:11.5px;color:#8796a1}
.dk-link{border:0;background:none;color:#0b6f9a;font-weight:700;font-size:13px;padding:0}
.dk-pill{font-size:11.5px;font-weight:700;color:#0b6f9a;background:#e7f5fc;padding:3px 10px;border-radius:20px}
.dk-hbar{display:grid;grid-template-columns:70px 1fr 110px;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid #f0f3f6}.dk-hbar:last-child{border-bottom:0}
.dk-hname{font-weight:800;font-size:14px;color:var(--ink)}.dk-hval{text-align:right;font-weight:800;font-size:15px;font-variant-numeric:tabular-nums;color:var(--ink)}.dk-hval small{font-size:11px;color:var(--mut)}
.dk-htrack{height:10px;background:#eef2f5;border-radius:6px;overflow:hidden}.dk-htrack i{display:block;height:100%;background:#0a86c0;border-radius:0 6px 6px 0}.dk-htrack.thin{height:6px;margin-top:5px}.dk-htrack.thin i{background:var(--sell)}
.dk-due{display:grid;grid-template-columns:54px 1fr auto;gap:12px;align-items:center;padding:9px 0;border-bottom:1px solid #f0f3f6}.dk-due:last-child{border-bottom:0}
.dk-due-day{display:flex;flex-direction:column;align-items:center;justify-content:center;height:46px;border-radius:11px;background:#eef6fb;color:#0b6f9a;line-height:1}.dk-due-day b{font-size:18px}.dk-due-day small{font-size:9.5px;font-weight:700;margin-top:3px}
.dk-due.soon .dk-due-day{background:#fff4e5;color:#b7791f}.dk-due.late .dk-due-day{background:#fdecea;color:#c0392b}
.dk-due strong{display:block;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dk-due>div{min-width:0}.dk-due span{font-size:12px;color:var(--mut)}
.dk-due em{font-style:normal;font-weight:800;font-size:13.5px;font-variant-numeric:tabular-nums;white-space:nowrap}.dk-due em.sale{color:var(--sell)}.dk-due em.purchase{color:#b4520f}
.dk-rank{display:grid;grid-template-columns:26px 1fr auto;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid #f0f3f6}.dk-rank:last-child{border-bottom:0}
.dk-rank b{display:grid;place-items:center;width:26px;height:26px;border-radius:8px;background:#123e34;color:#fff;font-size:12px}.dk-rank>div{min-width:0}.dk-rank span{display:block;font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dk-rank strong{font-size:13.5px;font-variant-numeric:tabular-nums;white-space:nowrap}
.dk-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px}.dk-stats div{background:#f6f8fa;border-radius:12px;padding:14px}.dk-stats b{display:block;font-size:24px;font-weight:800;color:var(--ink);font-variant-numeric:tabular-nums}.dk-stats span{font-size:12px;color:var(--mut);font-weight:600}
.dk-table-wrap{overflow-x:auto}.dk-table{width:100%;border-collapse:collapse;font-size:13.5px}.dk-table th{text-align:left;font-size:11.5px;font-weight:700;color:var(--mut);padding:8px 10px;border-bottom:2px solid var(--ln);white-space:nowrap}.dk-table td{padding:11px 10px;border-bottom:1px solid #f0f3f6;white-space:nowrap}.dk-table .r{text-align:right;font-variant-numeric:tabular-nums}.dk-table tr:hover td{background:#f8fafb}
.dk-firm{max-width:260px;overflow:hidden;text-overflow:ellipsis;font-weight:600}
.dk-kind{font-size:11.5px;font-weight:800;padding:3px 9px;border-radius:6px}.dk-kind.sale{background:#e4f5ed;color:#08734f}.dk-kind.purchase{background:#fff1e6;color:#a8460c}
.dk-st{font-size:11.5px;font-weight:700}.dk-st:before{content:"● "}.dk-st.ok{color:#13823a}.dk-st.part{color:#3461c9}.dk-st.wait{color:#b4520f}
.dk-empty{color:var(--mut);font-size:13px;margin:6px 0}
@media(max-width:1200px){.dk-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.dk-grid2,.dk-grid3{grid-template-columns:1fr}}
@media(max-width:600px){.dk-kpis{grid-template-columns:1fr}.dk-hero{padding:20px}.dk-hero h1{font-size:24px}}
