:root{--nav:#112a44;--nav-deep:#0c2137;--ink:#20344d;--muted:#8292a5;--accent:#2c73d2;--line:#e5ebf2;--bg:#f3f6fa;--green:#198777;--red:#ba5160;--amber:#bc8b37;--shadow:0 3px 14px #20344d04}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:13px -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button{cursor:pointer;color:inherit;border:0;background:transparent;border-radius:7px;padding:10px 14px;transition:background .15s,box-shadow .15s}button:hover{background:#eaf0f7}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible{outline:3px solid #8abaf5;outline-offset:3px}input,select{min-width:0;border:1px solid #dce4ed;border-radius:7px;padding:11px 12px;background:white;color:var(--ink)}input:focus,select:focus{outline:2px solid #dceaff;border-color:#6ca2e6}input::placeholder{color:#a1adbc}svg{width:20px;height:20px;vertical-align:middle;flex-shrink:0}[hidden]{display:none!important}h1,h2,h3,p{margin:0}h1{font-size:29px;letter-spacing:-.9px;font-weight:650}h2{font-size:21px;letter-spacing:-.5px;font-weight:650}h3{font-size:14px;font-weight:650;letter-spacing:-.15px}small{color:var(--muted)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.primary{background:var(--accent);color:white;box-shadow:0 2px 5px #2c73d218;font-weight:600}.primary:hover{background:#2164bb}.ghost{background:white;border:1px solid var(--line);box-shadow:0 1px 2px #20344d03}.ghost:hover{background:#f8fafc;border-color:#ccdae9}.text-button{color:var(--accent);padding:5px}.icon-button{padding:9px;font-size:18px;background:#fff;border:1px solid var(--line)}.eyebrow{display:block;letter-spacing:1.5px;font-size:9px;font-weight:700;color:var(--muted);margin-bottom:9px}
aside{position:fixed;inset:0 auto 0 0;width:242px;background:linear-gradient(170deg,var(--nav),var(--nav-deep));padding:25px 15px 18px;color:#adc2d7;display:flex;flex-direction:column;z-index:30}.brand{display:flex;align-items:center;gap:11px;padding:0 12px;color:white}.brand-mark{font-size:18px;letter-spacing:-1px;font-weight:800;display:grid;place-items:center;width:40px;height:40px;background:#ffffff10;border:1px solid #ffffff1a;border-radius:10px}.brand strong{font-size:22px;letter-spacing:-.5px}.brand strong span{font-size:15px;letter-spacing:.5px;font-weight:400;color:#adc5df;margin-left:5px}.brand small{display:block;font-size:7px;letter-spacing:1.8px;margin-top:5px;color:#7391ae}.workspace{display:flex;align-items:center;gap:10px;border:1px solid #ffffff12;border-radius:9px;background:#ffffff04;margin:26px 0 18px;padding:12px;font-size:11px;color:#e0e9f3}.workspace i{display:grid;place-items:center;width:29px;height:29px;font-style:normal;font-weight:650;border-radius:6px;background:#ffffff0d;font-size:10px}.workspace small{display:block;color:#6e90af;font-size:9px;margin-top:5px}nav{overflow:auto;flex:1;scrollbar-width:thin;scrollbar-color:#294763 transparent}nav .group{font-size:8px;letter-spacing:1.5px;color:#617f9b;padding:18px 13px 8px;font-weight:650}nav button{display:flex;gap:11px;align-items:center;width:100%;text-align:left;padding:10px 13px;font-size:11px;margin:2px 0;color:#a9bfd5;border-radius:7px}nav button i{font-style:normal;color:#6e91b1;display:flex}nav svg{width:17px;height:17px}nav button:hover{background:#ffffff09;color:white}nav button.active{color:white;background:#2b6bc0;box-shadow:0 3px 10px #00000010}nav button.active i{color:#d5e7ff}aside footer{margin-top:18px;border-top:1px solid #ffffff0c;padding:17px 12px 0;font-size:9px;color:#87a3bd}aside footer small{display:block;margin-top:7px;font-size:8px;color:#52718e}.online,.live-dot{display:inline-block;width:6px;height:6px;background:#2fac94;border-radius:50%;margin-right:6px}.live-dot{box-shadow:0 0 0 4px #2fac9410}
main{margin-left:242px;min-height:100vh}.topbar{height:72px;display:flex;align-items:center;gap:20px;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 32px;background:#ffffffed;backdrop-filter:blur(10px);position:sticky;top:0;z-index:20}.breadcrumb{white-space:nowrap;font-size:10px;color:#97a5b6}.breadcrumb span{padding:0 11px;color:#bcc7d4}.breadcrumb b{font-weight:550;color:#5e738b}.top-actions{margin-left:auto;display:flex;gap:13px;align-items:center}.top-actions button{font-size:10px}.avatar{width:33px;height:33px;background:#eaf0f8;color:#315d88;border:2px solid white;box-shadow:0 0 0 1px #e5edf5;display:grid;place-items:center;border-radius:50%;font-size:10px;font-weight:700}.identity{font-size:10px;max-width:180px}.identity b{font-weight:550;max-width:100%;display:block;overflow:hidden;text-overflow:ellipsis}.identity small{display:block;font-size:9px;margin-top:4px}.global-search{position:relative;display:flex;align-items:center;gap:9px;max-width:220px;flex:1;color:#8ea0b4}.global-search>svg{width:15px;height:15px}.global-search input{padding:9px 0;background:transparent;border:0;width:100%;font-size:10px}.search-options{position:absolute;top:38px;left:-15px;width:270px;max-height:350px;overflow:auto;background:#fff;border:1px solid var(--line);box-shadow:0 12px 35px #20344d17;border-radius:10px;padding:6px}.search-options button{display:flex;width:100%;gap:10px;text-align:left;font-size:12px}.search-options svg{width:16px;height:16px}.page{max-width:1740px;margin:auto;padding:30px 32px}.page-head{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:23px}.page-head p{color:var(--muted);font-size:11px;line-height:1.7;margin-top:7px}.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.actions>button{white-space:nowrap;font-size:10px;padding:10px 13px;min-height:35px}.export-button{display:flex;align-items:center;gap:7px;background:white;border:1px solid var(--line);font-weight:600}.export-button svg{width:15px;height:15px}.export-button.pdf svg{color:#c46471}.export-button.xlsx svg{color:#2a9273}.export-button:hover{border-color:#c4d3e5;background:#fbfcfe}.bottom{display:flex;justify-content:space-between;padding:4px 32px 24px;color:#a0aebb;font-size:9px}#menu{display:none}#bell{position:relative;padding:7px;background:transparent;border:0;color:#698098}#bell svg{width:19px;height:19px}#badge{position:absolute;top:0;right:-2px;min-width:12px;height:12px;display:grid;place-items:center;border:2px solid white;border-radius:100%;background:#e37978;color:white;font-size:6px;padding:0 3px}
.dashboard-strip{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#8a9caf;margin:2px 0 17px}.dashboard-strip>div{color:#667e93}.kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-bottom:22px}.finance-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.kpi{background:#fff;border:1px solid var(--line);border-radius:11px;padding:20px;box-shadow:var(--shadow);position:relative;overflow:hidden}.kpi-label{font-size:10px;color:#8091a6;margin-bottom:12px;padding-right:30px}.kpi strong{display:block;font-size:27px;font-weight:650;letter-spacing:-1px;line-height:1.2}.kpi small{display:block;margin-top:15px;font-size:9px;color:#96a4b5}.kpi-icon{display:grid;place-items:center;position:absolute;right:18px;top:17px;width:31px;height:31px;border-radius:8px}.kpi-icon svg{width:16px;height:16px}.blue{background:#ebf3fe;color:#4d89da}.violet{background:#f0edfc;color:#8c73d6}.green{background:#e8f6f0;color:#4caa85}.amber{background:#fdf4e4;color:#c39d55}.dashboard-main{display:grid;grid-template-columns:1.85fr 1fr;gap:20px}.panel{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:11px;overflow:hidden;margin-bottom:21px}.panel-head{padding:19px 21px;border-bottom:1px solid #eff3f7;display:flex;align-items:center;justify-content:space-between;gap:10px}.panel-head small{font-size:9px}.panel-head p{font-size:10px;color:#95a3b3;margin-top:7px}.period-chip{padding:7px 11px;border-radius:5px;border:1px solid var(--line);font-size:9px;color:#8393a6;white-space:nowrap}.chart-summary{display:flex;align-items:center;gap:18px;padding:21px 24px 2px}.chart-summary strong{font-size:25px;letter-spacing:-.6px;font-weight:600}.chart-summary span{font-size:9px;color:#92a2b5}.chart-summary i{display:inline-block;width:6px;height:6px;background:#3881d4;border-radius:50%;margin-right:6px}.trend-chart{display:block;width:100%;height:225px;padding:0 6px 5px}.count-pill{border-radius:5px;padding:4px 7px;color:#9a7b43;background:#faf1e3;font-size:10px}.alert{padding:16px 19px;display:flex;gap:11px;align-items:start;border-bottom:1px solid #f0f3f7}.alert-icon{background:#fcf3e4;color:#c69a50;width:29px;height:29px;display:grid;place-items:center;border-radius:7px;font-size:13px;flex-shrink:0}.alert strong{font-size:10px;font-weight:600;line-height:1.5}.alert p{font-size:10px;color:#97a5b5;line-height:1.6;margin-top:4px}.alert small{display:block;font-size:8px;color:#b7a386;margin-top:5px}.panel-link{width:100%;padding:13px;text-align:center;color:#7390ad;font-size:9px;border-radius:0}.panel-link svg{width:12px;height:12px;margin-left:6px}.stock-strip{display:flex;gap:24px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:11px;padding:19px 22px;margin-bottom:22px;box-shadow:var(--shadow)}.stock-strip>div{display:flex;align-items:center;gap:12px;flex:1;border-right:1px solid var(--line);padding-right:20px}.stock-strip-icon{color:#7998b5;background:#f0f5fa;display:grid;place-items:center;width:35px;height:35px;border-radius:8px;flex-shrink:0}.stock-strip-icon svg{width:18px;height:18px}.stock-strip small{font-size:9px;display:block;margin-bottom:5px}.stock-strip strong{font-size:19px;font-weight:600;letter-spacing:-.5px}.stock-strip em{font-size:10px;font-style:normal;color:#a4b0be;font-weight:400;letter-spacing:0}.stock-strip>button{font-size:10px;color:#56799c;white-space:nowrap;padding:8px}.stock-strip>button svg{width:13px;height:13px;margin-left:5px}
.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:11px}th{text-align:left;background:#f8fafc;color:#8c9eb1;font-size:9px;font-weight:600;letter-spacing:.35px;text-transform:uppercase;padding:13px 19px;border-bottom:1px solid #eaf0f6}td{padding:15px 19px;border-bottom:1px solid #eef2f6;line-height:1.4}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#f8fbff}td:first-child{font-weight:550;color:#526b86}.num{text-align:right;font-variant-numeric:tabular-nums}td button{font-size:9px;padding:5px 8px;margin:2px;border:1px solid #e7eef7;color:#6482a3;border-radius:5px;background:#fff}td button:hover{background:#edf4fc}.status{display:inline-flex;align-items:center;gap:5px;border-radius:5px;padding:5px 8px;font-size:9px;font-weight:500;background:#f0f4fa;color:#7a91ac}.status:before{content:'';display:inline-block;width:4px;height:4px;border-radius:50%;background:currentColor}.status.Approved,.status.Delivered,.status.Received,.status.Arrived{background:#eaf6ef;color:#579779}.status.Pending,.status.Level1{background:#fcf4e6;color:#bf9954}.status.Rejected{background:#fbeef0;color:#c27c87}.toolbar{display:flex;align-items:center;gap:12px;padding:16px 19px;border-bottom:1px solid var(--line)}.toolbar input{width:320px;max-width:100%;font-size:11px;background:#fbfcfe}.toolbar small{margin-left:auto;font-size:10px;white-space:nowrap}.empty{padding:48px 20px;text-align:center;color:#9aa9b9;font-size:12px;line-height:1.7}.empty b{display:block;font-size:25px;color:#c4d1de;margin-bottom:10px}.detail{padding:23px}.detail p{font-size:12px;line-height:1.8;color:#8092a4;margin-top:10px}.detail dl{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:25px}.detail dt{color:#8b9db0;font-size:10px}.detail dd{font-size:12px;margin:7px 0}.detail input[type=file]{display:block;margin-top:12px;max-width:100%}
.report-banner{display:flex;align-items:center;gap:22px;background:linear-gradient(115deg,#153b62,#245583);color:white;padding:29px 31px;border-radius:12px;margin-bottom:28px;box-shadow:0 5px 20px #1337580b}.banner-icon{width:63px;height:63px;display:grid;place-items:center;border:1px solid #ffffff19;border-radius:13px;background:#ffffff08;flex-shrink:0}.banner-icon svg{width:29px;height:29px;color:#bed7f0}.report-banner .eyebrow{color:#89abc9;letter-spacing:2px;font-size:8px}.report-banner h2{font-size:24px;font-weight:550;letter-spacing:-.5px}.report-banner p{font-size:11px;line-height:1.7;color:#a4bed7;margin-top:9px;max-width:570px}.format-badges{display:flex;gap:8px;margin-left:auto;align-self:flex-start}.format-badges span{padding:6px 9px;font-size:8px;font-weight:600;letter-spacing:.7px;border:1px solid #ffffff20;border-radius:5px;color:#ccdded;display:flex;gap:5px;align-items:center}.format-badges svg{width:12px;height:12px}.report-controls{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:22px}.report-tabs{display:flex;gap:3px;border-bottom:1px solid #e2e9f2}.report-tabs button{border-radius:0;font-size:11px;color:#8799ad;padding:11px 13px;white-space:nowrap;border-bottom:2px solid transparent}.report-tabs button.selected{border-bottom-color:#347bcc;color:#347bcc;font-weight:600}.report-tabs button:hover{background:#e9f0f7}.report-search{display:flex;align-items:center;gap:9px;background:white;border:1px solid var(--line);border-radius:7px;padding-left:11px;color:#8ba0b7;width:230px}.report-search svg{width:15px;height:15px}.report-search input{border:0;background:transparent;width:100%;font-size:10px;padding:10px}.report-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.report-card{background:white;border:1px solid var(--line);border-radius:11px;box-shadow:var(--shadow);overflow:hidden;transition:border-color .15s,box-shadow .15s}.report-card:hover{border-color:#bdcfe3;box-shadow:0 6px 18px #20344d08}.report-card-top{display:flex;align-items:center;justify-content:space-between;padding:19px 20px 6px}.report-card-icon{width:34px;height:34px;border-radius:8px;display:grid;place-items:center;background:#ecf3fc;color:#678eba}.report-card-icon svg{width:17px;height:17px}.report-card-icon.operations{background:#eaf5f1;color:#629880}.report-card-icon.management{background:#f0eef9;color:#9185b7}.report-card-icon.commercial{background:#fcf2e6;color:#ba9b65}.report-card-category{font-size:7px;letter-spacing:1px;color:#a5b3c2}.report-open{text-align:left;width:100%;padding:12px 20px 21px;border-radius:0;min-height:95px}.report-open:hover{background:transparent}.report-open h3{font-size:14px;font-weight:600}.report-open p{font-size:10px;color:#92a3b5;line-height:1.7;margin-top:8px;min-height:34px}.report-card-foot{border-top:1px solid #edf2f7;display:flex;justify-content:space-between;align-items:center;padding:11px 17px}.report-card-foot>button{font-size:9px;color:#6a89aa;padding:3px}.report-card-foot>button svg{width:12px;height:12px;margin-left:4px}.mini-format{font-size:8px;letter-spacing:.3px;border:1px solid #e5ebf1;border-radius:4px;padding:4px 6px;margin-left:5px;font-weight:600}.mini-format.pdf{color:#bc7b87}.mini-format.xlsx{color:#5b9b83}.report-filter{display:flex;gap:15px;align-items:end;padding:20px;background:white;border:1px solid var(--line);border-radius:10px;margin-bottom:20px;flex-wrap:wrap}.report-filter label{display:grid;gap:7px;font-size:10px;color:#8596a9;min-width:140px}.report-filter input{font-size:11px}.report-filter .report-query{flex:1;min-width:190px}.report-filter button{font-size:11px;height:37px}.report-sheet{background:white;border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:var(--shadow)}.report-sheet-head{display:flex;align-items:center;justify-content:space-between;padding:28px 25px 21px;border-bottom:1px solid #eef3f7}.report-sheet-head h2{font-size:23px}.report-sheet-head p{font-size:10px;color:#96a5b5;margin-top:8px}.report-count{background:#f2f6fa;padding:7px 11px;border-radius:6px;font-size:10px;color:#7990a6}.report-notes{display:flex;gap:13px 25px;flex-wrap:wrap;padding:15px 25px 20px;color:#9aa9b9;font-size:10px}.report-notes b{font-weight:600;color:#7790a7;margin-right:5px}.report-totals{display:flex;gap:30px;justify-content:end;flex-wrap:wrap;padding:19px 24px;background:#f2f7fc;border-top:1px solid #e5edf7}.report-totals small{font-size:9px;display:block;margin-bottom:7px}.report-totals strong{font-size:17px;font-weight:600;letter-spacing:-.4px}.report-sheet-footer{display:flex;gap:12px;justify-content:space-between;padding:15px 24px;font-size:9px;color:#a0adbb}.report-sheet .table-wrap{max-height:620px}.report-sheet th{position:sticky;top:0}
dialog{width:min(700px,94vw);max-height:90vh;border:1px solid var(--line);border-radius:13px;padding:27px;box-shadow:0 25px 90px #142c4b35;color:var(--ink)}dialog::backdrop{background:#10294377;backdrop-filter:blur(4px)}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}.modal-head h2{font-size:22px}.modal-head .icon-button{border:0;font-size:24px;color:#8da0b3}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:19px}.form-grid label{display:grid;gap:8px;font-size:11px;color:#8396aa}.form-grid input,.form-grid select{font-size:12px}.modal-actions{display:flex;gap:9px;justify-content:end;margin-top:24px;padding-top:19px;border-top:1px solid var(--line)}.modal-actions button{font-size:11px}#form-error,#login-error{margin-top:15px;font-size:11px;color:var(--red);line-height:1.7}#toast{position:fixed;right:25px;bottom:25px;max-width:90vw;padding:14px 22px;background:#173b5f;color:white;box-shadow:0 5px 20px #122b4233;border-radius:8px;z-index:100;font-size:12px}#print-area{display:none}
#login{min-height:100vh;display:grid;grid-template-columns:1.05fr 1fr;background:white}.login-art{background:radial-gradient(at 100% 0,#285783,transparent 65%),linear-gradient(145deg,#14324f,#0b2036);color:white;padding:65px;display:flex;flex-direction:column;justify-content:center}.login-art>.brand{padding:0;margin-bottom:80px}.login-art h1{max-width:500px;font-size:43px;font-weight:500;line-height:1.2;letter-spacing:-1.6px}.login-art>p{color:#83a5c7;font-size:11px;margin-top:25px}.art-grid{margin-top:65px;border-top:1px solid #ffffff15;padding-top:28px;display:grid;gap:16px;font-size:8px;letter-spacing:2px;color:#7095b8}.login-card{width:min(370px,84%);margin:auto;padding:35px 0}.login-card>.eyebrow{font-size:8px;color:#8ca2b8}.login-card h2{font-size:27px;line-height:1.35;margin:15px 0 29px;letter-spacing:-.7px}.login-card label{display:grid;gap:8px;font-size:11px;color:#7d91a7;margin:19px 0}.login-card input{padding:13px;background:#fcfdfe}.login-card .primary{width:100%;padding:13px;margin:7px 0}.login-card small{display:block;margin-top:22px;font-size:10px;line-height:1.8}
@media(min-width:1600px){.report-cards{grid-template-columns:repeat(4,minmax(0,1fr))}.page{padding:36px 42px}.topbar{padding:0 42px}}@media(max-width:1250px){.global-search{display:none}.finance-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-main{grid-template-columns:1.5fr 1fr}.report-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.format-badges{display:none}.report-controls{align-items:stretch;flex-direction:column}.report-search{width:100%}.report-tabs{width:fit-content;max-width:100%}.stock-strip{gap:14px;padding:18px}.stock-strip>button{display:none}}@media(max-width:1000px){aside{width:218px}main{margin-left:218px}.page{padding:25px 24px}.topbar{padding:0 24px}.identity{display:none}.dashboard-main{grid-template-columns:1fr}.operations-panel{display:grid;grid-template-columns:1fr 1fr}.operations-panel>.panel-head,.operations-panel>.panel-link{grid-column:1/-1}.stock-strip>div{padding-right:10px}.stock-strip-icon{display:none}.page-head{align-items:start}.actions{justify-content:end}.kpi strong{font-size:25px}}@media(max-width:760px){aside{width:242px;transform:translateX(-100%);transition:transform .2s}aside.open{transform:translateX(0)}#shade{position:fixed;inset:0;z-index:25;background:#112a4455}main{margin-left:0}#menu{display:block;background:transparent;border:0;color:#68819b}.topbar{height:62px;padding:0 16px;gap:10px}.breadcrumb{display:none}.top-actions{gap:10px}.avatar{display:none}.page{padding:24px 16px}.page-head{flex-direction:column;gap:17px;margin-bottom:21px}.page-head h1{font-size:27px}.page-head p{font-size:10px}.actions{justify-content:start;width:100%;gap:7px}.actions>button{font-size:10px;padding:10px 12px}.kpis,.finance-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.kpi{padding:17px 14px}.kpi strong{font-size:24px}.kpi-label{font-size:9px;padding-right:0;min-height:11px}.kpi-icon{width:25px;height:25px;top:auto;right:12px;bottom:13px}.kpi-icon svg{width:13px;height:13px}.kpi small{font-size:8px;max-width:80%;line-height:1.6;margin-top:13px;min-height:24px}.dashboard-strip{font-size:8px}.dashboard-strip>span{max-width:50%;text-align:right;line-height:1.5}.panel-head{padding:17px}.panel-head h3{font-size:13px}.chart-summary{padding:18px 18px 0}.chart-summary strong{font-size:23px}.trend-chart{height:185px}.operations-panel{display:block}.stock-strip{gap:11px;align-items:start;padding:16px 12px}.stock-strip>div{padding-right:7px}.stock-strip>div:nth-child(3){border:0;padding:0}.stock-strip small{font-size:8px;line-height:1.6;min-height:24px}.stock-strip strong{font-size:18px}.stock-strip em{font-size:8px}.bottom{padding:3px 16px 20px;font-size:8px}.toolbar{padding:13px}.toolbar input{max-width:75%;font-size:10px}.toolbar small{font-size:9px}.form-grid{grid-template-columns:1fr}.report-banner{padding:22px;gap:14px;margin-bottom:19px}.banner-icon{display:none}.report-banner h2{font-size:22px}.report-banner p{font-size:10px}.report-tabs{overflow-x:auto;width:100%}.report-tabs button{font-size:10px;padding:10px 11px}.report-cards{grid-template-columns:1fr;gap:13px}.report-open{min-height:auto}.report-open p{min-height:auto}.report-card-top{padding:17px 19px 4px}.report-controls{gap:14px}.report-filter{padding:16px;gap:13px}.report-filter label{min-width:120px;flex:1}.report-filter .report-query{flex-basis:100%}.report-filter button{width:100%}.report-sheet-head{padding:20px}.report-sheet-head h2{font-size:20px}.report-notes{padding:15px 20px}.report-totals{gap:18px;justify-content:start;padding:17px}.report-totals strong{font-size:16px}.report-sheet-footer{flex-direction:column;padding:15px 17px;line-height:1.5}.detail dl{grid-template-columns:1fr}.login-art{display:none}#login{grid-template-columns:1fr}.login-card{padding:45px 0}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}@media print{body>*{display:none!important}#print-area{display:block!important;padding:25px;color:#000}#print-area h1{margin-bottom:20px}#print-area table{white-space:normal}#print-area p{margin:15px 0}#print-area footer{display:flex;justify-content:space-between;margin-top:80px}}

/* Keyboard focus and touch targets remain usable on compact screens. */
:focus-visible{outline:3px solid #3b82c4;outline-offset:3px}
.stock-strip strong{overflow-wrap:anywhere}
dialog{max-height:calc(100dvh - 32px);overflow-y:auto}
@media(max-width:760px){input,select,textarea,.toolbar input,.report-search input{font-size:16px}.report-tabs button,.mini-format,.report-card-foot button,td button,#actions button{min-height:44px}.report-filter input{width:100%;min-width:0}.report-sheet-head{flex-wrap:wrap}.report-totals{flex-wrap:wrap}.stock-strip>div{min-width:0}.stock-strip strong{font-size:16px}}

.exchange-intro{display:flex;align-items:center;gap:20px;padding:25px;background:linear-gradient(115deg,#143655,#245983);color:white;border-radius:12px;margin-bottom:18px}.exchange-intro .eyebrow{color:#bad7ec}.exchange-intro p{margin-top:9px;color:#d1e1f0;font-size:12px;line-height:1.7}.exchange-symbol{font-size:40px;color:#b5d7f4}.exchange-create{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}.exchange-create button{background:white;border:1px solid var(--line)}.exchange-tabs{display:flex;gap:5px;margin-bottom:15px;overflow:auto}.exchange-tabs button{white-space:nowrap;border-bottom:3px solid transparent;border-radius:0}.exchange-tabs .selected{border-color:var(--accent);color:var(--accent);font-weight:600}.exchange-pagination{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-bottom:25px}.exchange-pagination span{margin-right:auto}.exchange-dialog{width:min(820px,calc(100vw - 28px))}.exchange-dialog .form-grid{padding:20px 25px}.exchange-dialog label{display:flex;flex-direction:column;gap:8px}.exchange-select-create{display:flex;gap:7px;min-width:0}.exchange-select-create select{width:100%;min-width:0;flex:1}.exchange-select-create button{background:#e7f0fc;color:#2164bb;flex-shrink:0;font-size:20px;padding:5px 14px}.exchange-calculation{margin:0 25px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;background:#eff5fa;border:1px solid #dce7f2;border-radius:9px;padding:20px}.exchange-calculation output{display:block;font-size:22px;font-weight:650;overflow-wrap:anywhere;margin-top:8px;font-variant-numeric:tabular-nums}.exchange-calculation small{color:#54718c}.exchange-note{padding:14px 25px;color:#6a7e92;font-size:12px;line-height:1.7}.exchange-form-error,#exchange-error{color:#ad3148;padding:0 25px;line-height:1.6}.exchange-form-error:empty,#exchange-error:empty{display:none}#exchange-filter label{flex:1;min-width:125px}#exchange-contact-dialog{max-width:560px}@media(max-width:760px){.exchange-intro{padding:20px}.exchange-symbol{display:none}.exchange-intro h2{font-size:21px}.exchange-intro p{font-size:12px}.exchange-create button,.exchange-tabs button,.exchange-pagination button{min-height:44px}.exchange-dialog .form-grid{padding:17px}.exchange-calculation{margin:0 17px;grid-template-columns:1fr}.exchange-calculation>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.exchange-calculation output{margin:0;font-size:20px}.exchange-note{padding:14px 17px}.exchange-pagination{flex-wrap:wrap}}

/* Readable business tables: preserve font size and scroll wide registers. */
body{font-size:14px}table{font-size:14px}th{font-size:12px;letter-spacing:.2px;color:#536b84}td{font-size:14px;padding:16px 18px}#nav button{font-size:13px}.report-filter label{font-size:13px;color:#4c637c}.report-filter input,.report-filter select,.report-filter button{font-size:14px}.report-notes{font-size:13px;color:#536b82}.report-notes b{color:#263f5b}.report-sheet-footer{font-size:12px;color:#60768e}.report-totals small{font-size:12px}.report-totals strong{font-size:22px}.toolbar input{font-size:14px}.toolbar small{font-size:12px}.panel-head h3{font-size:16px}.exchange-tabs button,.exchange-create button{font-size:14px}.exchange-intro p{font-size:14px}.exchange-dialog label{font-size:14px}.exchange-note{font-size:13px}
.exchange-table-wrap{overflow:auto;max-height:70vh;isolation:isolate;border-top:1px solid #dce5ef;outline-offset:-3px}.exchange-table{width:100%;min-width:1050px;border-collapse:separate;border-spacing:0;font-size:14px;white-space:normal}.exchange-table th{background:#eaf0f7;color:#294663;font-size:12px;line-height:1.45;padding:16px 14px;border-bottom:2px solid #ccd9e7;position:sticky;top:0;z-index:2;font-weight:700;vertical-align:middle;white-space:nowrap}.exchange-table td{padding:17px 14px;line-height:1.55;font-size:14px;color:#243e59;vertical-align:middle;border-bottom:1px solid #e2eaf3;min-width:145px;max-width:260px;overflow-wrap:anywhere;background:inherit}.exchange-table tr{background:#fff}.exchange-table tbody tr:nth-child(even){background:#f5f8fc}.exchange-table tbody tr:hover{background:#e9f2fc}.exchange-table .num{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;min-width:125px;overflow-wrap:normal}.exchange-table th:first-child,.exchange-table td:first-child{position:sticky;left:0;min-width:65px;width:65px;max-width:65px;text-align:center;border-right:1px solid #dce5ef;z-index:1}.exchange-table th:first-child{z-index:3}.exchange-table td:first-child{font-weight:650;color:#64809c}.exchange-table td:nth-child(2){min-width:125px;white-space:nowrap}.exchange-currency{display:block;color:#376a9e;font-size:12px;font-weight:600;letter-spacing:.6px;margin-top:4px}#exchange-result .report-sheet-head h2{font-size:clamp(23px,2vw,30px);line-height:1.3;overflow-wrap:anywhere}#exchange-result .report-sheet-head{gap:20px;align-items:flex-start}#exchange-result .report-count{font-size:13px;white-space:nowrap}#exchange-result .report-totals{gap:20px 32px;padding:24px;background:#eaf2fb}#exchange-result .report-totals strong{font-size:23px;color:#173b5f}#exchange-result .report-notes{gap:14px 28px;padding:20px 25px}.exchange-pagination{font-size:13px}.exchange-dialog input,.exchange-dialog select{font-size:15px}
@media(min-width:1600px){.exchange-table td{font-size:15px;padding:19px 16px}.exchange-table th{font-size:13px}}
@media(max-width:760px){.toolbar input,.report-filter input,.report-filter select,.exchange-dialog input,.exchange-dialog select{font-size:16px}.exchange-table td{font-size:14px;padding:15px 12px}.exchange-table th{font-size:12px;padding:14px 12px}.exchange-table-wrap{max-height:65vh}.exchange-intro p{font-size:13px}.report-notes{font-size:13px}.report-sheet-footer{font-size:12px}.report-totals small{font-size:12px}.report-totals strong{font-size:20px}.exchange-tabs button{font-size:14px}}

.exchange-date-hint{font-size:12px;color:#60758d;font-variant-numeric:tabular-nums}.exchange-dialog [data-money]{text-align:right;font-variant-numeric:tabular-nums}#exchange-filter input[type=date],.exchange-dialog input[type=date]{min-height:44px;cursor:pointer;color-scheme:light}input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;padding:4px;width:20px;height:20px}

.exchange-contact-picker{position:relative;min-width:0;display:flex;flex-direction:column;gap:8px}.exchange-contact-picker .exchange-select-create input[type=text]{width:100%;min-width:0;flex:1}.exchange-contact-status{font-size:12px;color:#58718b;line-height:1.4;min-height:17px}.exchange-suggestions{position:absolute;left:0;right:0;top:72px;z-index:10;background:#fff;border:1px solid #b8cce2;border-radius:9px;box-shadow:0 12px 32px #173b5f24;max-height:245px;overflow-y:auto;padding:5px}.exchange-suggestions button{width:100%;display:flex;flex-direction:column;text-align:left;gap:5px;border-radius:5px;padding:12px;min-height:52px}.exchange-suggestions button:hover,.exchange-suggestions button.active{background:#e8f1fc}.exchange-suggestions strong{font-size:14px;overflow-wrap:anywhere;font-weight:600}.exchange-suggestions small{font-size:12px;color:#58718b}.exchange-suggestions [data-new-contact]{border-top:1px solid #e1eaf3;color:#2264a9}#exchange-entry-dialog .form-grid{overflow:visible}
.report-save-details{padding:22px 25px;display:grid;gap:16px;font-size:14px;line-height:1.7}.report-save-filename{font-weight:650;font-size:16px;color:#173b5f;overflow-wrap:anywhere;padding:13px 15px;border:1px solid #dce6f1;background:#f1f6fb;border-radius:8px}.report-save-browser-note{font-size:13px;color:#5d738b}.report-save-location{display:flex!important;flex-direction:row!important;align-items:center;gap:10px!important}#report-save-dialog{max-width:670px}#report-save-dialog .modal-actions{flex-wrap:wrap}

/* EXCHANGE: requested header alignment only */
.exchange-table thead th,.exchange-table thead th.num{text-align:center}

/* Exchange deposit layout restored to the 19-09-2026 reference format */
.exchange-tabs{display:flex;gap:4px;align-items:center;background:#f8fbff;border:1px solid #d7e3f0;border-radius:11px;padding:5px 7px;margin-bottom:15px;overflow:auto}
.exchange-tabs button{border:1px solid transparent!important;border-radius:8px!important;padding:10px 13px;min-height:auto;background:transparent;color:#4a627d;white-space:nowrap}
.exchange-tabs .selected{background:#e8f1ff!important;border-color:#bfd4ef!important;color:#2167bd!important;font-weight:700!important}
.exchange-deposit-controls{display:flex;align-items:center;gap:28px;flex-wrap:wrap;background:#fff;border:1px solid #d7e3f0;border-radius:12px;padding:17px 18px;margin-bottom:17px;box-shadow:0 3px 10px #173b5f08}
.exchange-deposit-controls label{display:flex;align-items:center;gap:10px;color:#294663;font-size:13px}
.exchange-deposit-controls select{min-width:130px;height:42px;border:1px solid #cbd9e8;border-radius:7px;padding:0 12px;background:#fff;color:#294663}
.exchange-deposit-actions{display:flex;gap:10px;flex-wrap:wrap;margin-left:70px}
.exchange-deposit-actions button{height:42px;padding:0 16px;border:1px solid #b7cfe8;border-radius:8px;background:#fff;color:#174f87;font-weight:650}
.exchange-deposit-actions .primary{background:#2b74ce;color:#fff;border-color:#2b74ce}
.exchange-deposit-summary{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));background:#fff;border-top:3px solid #2f7bd5;border-bottom:1px solid #cbd9e8;margin:0 0 18px;padding:14px 10px}
.exchange-deposit-summary>div{padding:10px 18px;border-right:1px solid #d6e2ef;min-width:0}
.exchange-deposit-summary>div:last-child{border-right:0}
.exchange-deposit-summary small{display:block;color:#5f7c9d;font-size:10px;font-weight:700;letter-spacing:.6px;margin-bottom:6px;white-space:nowrap}
.exchange-deposit-summary strong{display:block;color:#173b5f;font-size:15px;line-height:1.3;font-weight:750;white-space:nowrap}
.exchange-deposit-summary .highlight{background:#e8f2ff;border-radius:8px;border-right:0;margin:0 8px;padding-left:14px}
#exchange-result>.panel{border-radius:12px;margin-bottom:20px;box-shadow:0 3px 12px #173b5f0a}
#exchange-result>.panel .panel-head{padding:18px 21px}
#exchange-result>.panel .panel-head h3{font-size:14px;font-weight:800;color:#173b5f}
#exchange-result>.panel .panel-head small{color:#8398ae}
#exchange-result>.panel .exchange-table-wrap{border-top:0;max-height:none}
#exchange-result>.panel .exchange-table{min-width:980px}
#exchange-result>.panel .exchange-table th{background:#e7f0fa;padding:11px 12px;font-size:11px;color:#244561;border-bottom:1px solid #bdcee0}
#exchange-result>.panel .exchange-table td{padding:11px 12px;font-size:13px;min-width:110px}
@media(max-width:1100px){.exchange-deposit-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:1px}.exchange-deposit-summary>div:nth-child(3){border-right:0}.exchange-deposit-actions{margin-left:0}}
@media(max-width:760px){.exchange-deposit-controls{align-items:stretch;gap:12px}.exchange-deposit-controls label{width:100%;justify-content:space-between}.exchange-deposit-controls select{flex:1}.exchange-deposit-actions{width:100%;display:grid;grid-template-columns:1fr}.exchange-deposit-summary{grid-template-columns:1fr 1fr;padding:8px}.exchange-deposit-summary>div{border-right:0;border-bottom:1px solid #d6e2ef;padding:11px}.exchange-deposit-summary .highlight{margin:0}.exchange-deposit-summary strong{font-size:14px}.exchange-deposit-summary small{white-space:normal}}


/* Deposit tab: pixel-tuned to the 19-09-2026 reference screenshot */
.exchange-intro.deposit-reference{min-height:84px;padding:18px 24px;gap:18px;margin-bottom:16px;background:linear-gradient(105deg,#0d3557 0%,#1f5e8d 55%,#2f7dd7 100%);border-radius:11px}
.exchange-intro.deposit-reference .exchange-symbol{font-size:34px;line-height:1;color:#b8d9f3}
.exchange-intro.deposit-reference .eyebrow{font-size:9px;letter-spacing:2.4px;color:#c9deef}
.exchange-intro.deposit-reference h2{font-size:20px;line-height:1.2;margin-top:7px;font-weight:700;letter-spacing:-.25px}
.exchange-intro.deposit-reference p{display:none!important}
.exchange-intro.deposit-reference + .exchange-tabs{height:45px;padding:4px 7px;margin-bottom:15px}
.exchange-intro.deposit-reference + .exchange-tabs button{height:34px;padding:0 13px;font-size:13px}
.exchange-deposit-controls{min-height:69px;padding:12px 15px;margin-bottom:16px;gap:24px;border-radius:11px;box-shadow:none}
.exchange-deposit-controls label{gap:10px;font-size:13px;font-weight:500}
.exchange-deposit-controls select{width:130px;min-width:130px;height:41px;font-size:13px}
.exchange-deposit-actions{margin-left:72px;gap:10px}
.exchange-deposit-actions button{height:38px;padding:0 14px;font-size:13px;border-radius:7px}
.exchange-deposit-summary{min-height:81px;border-top:3px solid #2e7bd4;border-bottom:1px solid #cbd9e8;margin:0 0 18px;padding:14px 8px 13px}
.exchange-deposit-summary>div{display:flex;flex-direction:column;justify-content:center;padding:7px 18px}
.exchange-deposit-summary small{font-size:10px;letter-spacing:.8px;margin-bottom:6px}
.exchange-deposit-summary strong{font-size:15px;font-weight:750}
.exchange-deposit-summary .highlight{margin:0 8px;padding:8px 14px;background:#e4f0fc;border-radius:8px}
#exchange-result>.panel{border:1px solid #d7e3f0;border-radius:12px;margin-bottom:19px;box-shadow:0 3px 10px #173b5f08;overflow:hidden}
#exchange-result>.panel .panel-head{min-height:56px;padding:15px 20px;align-items:center}
#exchange-result>.panel .panel-head h3{font-size:15px;font-weight:800;letter-spacing:-.1px}
#exchange-result>.panel .panel-head small{font-size:10px}
#exchange-result>.panel .exchange-table th{height:34px;padding:8px 12px;font-size:11px;line-height:1.2;background:#e7f0fa}
#exchange-result>.panel .exchange-table td{height:33px;padding:7px 12px;font-size:12.5px;line-height:1.35}
#exchange-result>.panel .exchange-table td:first-child,#exchange-result>.panel .exchange-table th:first-child{min-width:62px;width:62px;max-width:62px}
#exchange-result>.panel .exchange-table tbody tr:nth-child(even){background:#f6f9fd}
@media(max-width:1100px){.exchange-deposit-actions{margin-left:0}}

.exchange-deposit-live-balance{grid-template-columns:repeat(2,minmax(0,1fr))}.exchange-deposit-live-balance>div{min-width:0}.exchange-deposit-live-balance .projected{background:#dfeefd;border:1px solid #c7def5;border-radius:8px;padding:13px 15px;margin:-9px}.exchange-edit-button{border:1px solid #c9d9ea;background:#f5f9fd;color:#1f5f9e;border-radius:7px;padding:7px 12px;font-size:12px;font-weight:650;white-space:nowrap}.exchange-edit-button:hover{background:#eaf3fc}.exchange-success-dialog{max-width:470px}.exchange-success-content{text-align:center;padding:10px 8px 4px}.exchange-success-icon{width:62px;height:62px;margin:0 auto 18px;border-radius:999px;display:grid;place-items:center;background:#e4f6ec;color:#18864b;font-size:34px;font-weight:800}.exchange-success-content h2{margin:7px 0 10px;font-size:23px;color:#173b5f}.exchange-success-content p{margin:0 auto 8px;max-width:340px;font-size:15px;line-height:1.6;color:#334d68}.exchange-success-content small{display:block;color:#70859b;margin-bottom:20px}.exchange-success-content .primary{min-width:120px}
@media(max-width:760px){.exchange-deposit-live-balance{grid-template-columns:1fr}.exchange-deposit-live-balance .projected{margin:0}.exchange-success-dialog{width:min(94vw,470px)}}

/* Exchange deposit row actions and professional result dialogs */
.exchange-row-actions{display:flex;align-items:center;gap:7px;white-space:nowrap}.exchange-edit-button,.exchange-delete-button{min-height:30px;border-radius:7px;padding:6px 11px;font-size:12px;font-weight:700;line-height:1;border:1px solid transparent;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.exchange-edit-button{border-color:#c9d9ea;background:#f5f9fd;color:#1f5f9e}.exchange-edit-button:hover{background:#eaf3fc;border-color:#afc9e4}.exchange-delete-button{border-color:#efcaca;background:#fff7f7;color:#b42318}.exchange-delete-button:hover{background:#feecec;border-color:#e6aaaa}.exchange-edit-button:focus-visible,.exchange-delete-button:focus-visible,.exchange-result-actions button:focus-visible{outline:3px solid #b9d8f8;outline-offset:2px}
.exchange-confirm-dialog,.exchange-success-dialog{width:min(92vw,500px);max-width:500px;padding:0;overflow:hidden;border:0;border-radius:18px;box-shadow:0 26px 70px rgba(16,44,74,.24)}.exchange-confirm-dialog::backdrop,.exchange-success-dialog::backdrop{background:rgba(15,39,71,.46);backdrop-filter:blur(3px)}.exchange-result-modal{padding:28px 28px 24px;text-align:center;background:linear-gradient(180deg,#fff 0%,#fbfdff 100%)}.exchange-result-icon{width:68px;height:68px;margin:0 auto 17px;border-radius:999px;display:grid;place-items:center;font-size:34px;font-weight:850;border:1px solid transparent}.exchange-result-modal.success .exchange-result-icon,.exchange-result-modal.delete .exchange-result-icon{background:#e8f7ef;border-color:#ccebd9;color:#16834a}.exchange-result-modal.warning .exchange-result-icon{background:#fff4df;border-color:#f2ddb4;color:#a96200}.exchange-result-modal.error .exchange-result-icon{background:#fff0f0;border-color:#efcece;color:#b42318}.exchange-result-modal h2{margin:7px 0 9px;font-size:23px;line-height:1.25;color:#173b5f;letter-spacing:-.25px}.exchange-result-modal p{max-width:390px;margin:0 auto 15px;color:#4a6077;font-size:14.5px;line-height:1.6}.exchange-result-detail{margin:0 auto 20px;padding:12px 14px;border:1px solid #d7e4f1;background:#f5f9fd;border-radius:10px;color:#274b70;font-size:13px;font-weight:700;line-height:1.45}.exchange-result-modal.warning .exchange-result-detail{background:#fffaf0;border-color:#f0dfbd;color:#78500e}.exchange-result-actions{display:flex;justify-content:center;gap:10px;margin-top:4px}.exchange-result-actions.single{justify-content:center}.exchange-result-actions button{min-width:122px;min-height:40px;border-radius:9px;padding:9px 16px;font-weight:750;cursor:pointer}.exchange-result-actions [data-cancel]{border:1px solid #cfdbe7;background:#fff;color:#435a70}.exchange-danger-primary{border:1px solid #c9352b;background:#c9352b;color:#fff}.exchange-danger-primary:hover{background:#aa2b23;border-color:#aa2b23}@media(max-width:760px){.exchange-row-actions{gap:5px}.exchange-edit-button,.exchange-delete-button{padding:6px 9px}.exchange-result-modal{padding:24px 18px 20px}.exchange-result-actions{flex-direction:column-reverse}.exchange-result-actions button{width:100%}}
\n\n/* Deposit action alignment + distinct live balance cards */\n.exchange-deposit-controls{display:flex;align-items:center}\n.exchange-deposit-actions{margin-left:auto!important;justify-content:flex-end;align-items:center}\n.exchange-deposit-live-balance{display:flex!important;justify-content:space-between;align-items:stretch;gap:34px;background:transparent!important;border:0!important;padding:0!important}\n.exchange-deposit-live-balance>div{flex:0 1 44%;padding:14px 16px!important;border-radius:10px!important;margin:0!important;min-width:0}\n.exchange-deposit-live-balance>div:first-child{background:#eef5fb;border:1px solid #d5e3f0}\n.exchange-deposit-live-balance .projected{margin-left:auto!important;background:#eef8f1!important;border:1px solid #cfe7d6!important}\n.exchange-deposit-live-balance>div:first-child small{color:#58738f}\n.exchange-deposit-live-balance .projected small{color:#4c785c}\n.exchange-deposit-live-balance>div:first-child output{color:#173b5f}\n.exchange-deposit-live-balance .projected output{color:#17653a}\n@media(max-width:760px){.exchange-deposit-actions{margin-left:0!important;width:100%;justify-content:stretch}.exchange-deposit-actions button{flex:1}.exchange-deposit-live-balance{display:grid!important;grid-template-columns:1fr!important;gap:10px}.exchange-deposit-live-balance>div{width:100%;max-width:none;flex:auto}.exchange-deposit-live-balance .projected{margin-left:0!important}}\n

/* Deposit interaction alignment */
.exchange-deposit-controls{display:flex;align-items:center;width:100%}
.exchange-deposit-actions{margin-left:auto!important;justify-content:flex-end!important}
.exchange-row-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px;width:100%}
#exchange-result>.panel .exchange-table th:last-child,#exchange-result>.panel .exchange-table td:last-child{text-align:right}
#exchange-result>.panel .exchange-table tbody tr{cursor:pointer}
.exchange-edit-button,.exchange-delete-button{min-width:62px}
@media(max-width:760px){.exchange-deposit-actions{width:100%;margin-left:0!important}.exchange-row-actions{justify-content:flex-end}}


/* Source Report: compact professional summary */
#exchange-result .exchange-source-sheet .report-sheet-head{padding:14px 18px 8px;border-bottom:0;align-items:center}
#exchange-result .exchange-source-sheet .report-sheet-head h2{font-size:17px;line-height:1.18;letter-spacing:-.2px;font-weight:750}
#exchange-result .exchange-source-sheet .report-count{font-size:9.5px;padding:4px 7px;background:#f2f6fa;color:#6f879f}
.exchange-report-overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0 18px 7px;align-items:stretch}
.exchange-report-summary-card{border:1px solid #d5e1ed;border-radius:9px;background:#fff;padding:9px 13px;box-shadow:0 1px 4px rgba(23,59,95,.03);min-width:0}
.exchange-report-summary-right{background:#f8fbff;border-color:#cbdced}
.exchange-report-finance-title{font-size:9.5px;letter-spacing:.42px;text-transform:uppercase;color:#6e849b;font-weight:800;margin-bottom:5px}
.exchange-report-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:18px;row-gap:4px}
.exchange-report-meta-row{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:7px;align-items:baseline;min-width:0;font-size:10.5px;line-height:1.35}
.exchange-report-meta-row span{color:#71869b;font-weight:650;white-space:nowrap}
.exchange-report-meta-row span::after{content:':' }
.exchange-report-meta-row strong{color:#203d5a;font-weight:760;min-width:0;overflow-wrap:anywhere}
.exchange-report-summary-divider{height:1px;background:#e4ebf2;margin:6px 0 3px}
.exchange-report-finance-row{display:grid;grid-template-columns:minmax(0,1fr) max-content;gap:16px;align-items:baseline;padding:3px 0;border-bottom:1px solid #e8eef5;font-size:10.5px;line-height:1.35}
.exchange-report-finance-row:last-child{border-bottom:0}
.exchange-report-finance-row span{color:#5f748a;font-weight:680}
.exchange-report-finance-row strong{color:#173b5f;font-size:11px;font-weight:820;font-variant-numeric:tabular-nums;white-space:nowrap}
.exchange-report-finance-row.highlight strong{color:#1766a8}
.exchange-report-blue-rule{height:1px;background:#2f7bd5;margin:0 18px 5px}
#exchange-result .exchange-source-sheet>.exchange-table-wrap{border-top:0;margin-top:0}
#exchange-result .exchange-source-sheet .exchange-table th{font-size:10.5px;padding-top:10px;padding-bottom:10px}
#exchange-result .exchange-source-sheet .exchange-table td{font-size:11.5px;padding-top:11px;padding-bottom:11px;line-height:1.35}
#exchange-result .exchange-source-sheet .report-totals small{font-size:9.5px}
#exchange-result .exchange-source-sheet .report-totals strong{font-size:13px}
@media(max-width:1050px){.exchange-report-overview{grid-template-columns:1fr}.exchange-report-meta-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.exchange-report-overview{margin:0 12px 7px;grid-template-columns:1fr}.exchange-report-meta-grid{grid-template-columns:1fr}.exchange-report-blue-rule{margin:0 12px 5px}#exchange-result .exchange-source-sheet .report-sheet-head{padding:13px 12px 7px}#exchange-result .exchange-source-sheet .report-sheet-head h2{font-size:16px}#exchange-result .exchange-source-sheet .exchange-table th{font-size:9.5px}#exchange-result .exchange-source-sheet .exchange-table td{font-size:10.5px}}


/* Source Report readability refinement */
#exchange-result .exchange-source-sheet .exchange-report-overview{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;margin:0 18px 7px}
#exchange-result .exchange-source-sheet .exchange-report-summary-card{padding:11px 13px;border-radius:8px}
#exchange-result .exchange-source-sheet .exchange-report-finance-title{font-size:9px;letter-spacing:.45px;margin-bottom:7px}
#exchange-result .exchange-source-sheet .exchange-report-meta-grid{display:grid;grid-template-columns:1fr;gap:2px}
#exchange-result .exchange-source-sheet .exchange-report-meta-row,
#exchange-result .exchange-source-sheet .exchange-report-finance-row{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(110px,.85fr);align-items:center;column-gap:16px;min-height:24px;padding:3px 0;border-bottom:1px solid #edf2f7}
#exchange-result .exchange-source-sheet .exchange-report-meta-row:last-child,
#exchange-result .exchange-source-sheet .exchange-report-finance-row:last-child{border-bottom:0}
#exchange-result .exchange-source-sheet .exchange-report-meta-row span,
#exchange-result .exchange-source-sheet .exchange-report-finance-row span{font-size:10px;color:#6f8295;white-space:normal;line-height:1.25}
#exchange-result .exchange-source-sheet .exchange-report-meta-row strong,
#exchange-result .exchange-source-sheet .exchange-report-finance-row strong{font-size:11px;text-align:right;justify-self:end;color:#173b5f;font-variant-numeric:tabular-nums;white-space:nowrap}
#exchange-result .exchange-source-sheet .exchange-report-finance-row.highlight strong{color:#1766a8}
#exchange-result .exchange-source-sheet .exchange-report-summary-divider{margin:7px 0 4px}
#exchange-result .exchange-source-sheet .exchange-table th{font-size:11px;padding:11px 9px;line-height:1.2}
#exchange-result .exchange-source-sheet .exchange-table td{font-size:12.5px;padding:12px 9px;line-height:1.35}
#exchange-result .exchange-source-sheet .exchange-table td.num{text-align:right;font-variant-numeric:tabular-nums}
#exchange-result .exchange-source-sheet .report-totals{padding:14px 18px;gap:26px}
#exchange-result .exchange-source-sheet .report-totals small{font-size:10px}
#exchange-result .exchange-source-sheet .report-totals strong{font-size:14px}
@media(max-width:900px){#exchange-result .exchange-source-sheet .exchange-report-overview{grid-template-columns:1fr;margin:0 12px 7px}#exchange-result .exchange-source-sheet .exchange-table th{font-size:10px}#exchange-result .exchange-source-sheet .exchange-table td{font-size:11px}}

/* Source Report: selected range vs all-time 2x2 summary */
#exchange-result .exchange-source-sheet .exchange-report-context{display:flex;flex-wrap:wrap;gap:8px 22px;margin:0 18px 8px;padding:8px 11px;border:1px solid #dce6f0;border-radius:8px;background:#fbfdff;font-size:10.5px;color:#5f748a}
#exchange-result .exchange-source-sheet .exchange-report-context b{color:#203d5a;font-weight:800}
#exchange-result .exchange-source-sheet .exchange-report-overview.four-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;margin:0 18px 8px}
#exchange-result .exchange-source-sheet .four-summary .exchange-report-summary-card{min-height:0;padding:10px 13px}
#exchange-result .exchange-source-sheet .four-summary .range-card{background:#ffffff;border-color:#d5e1ed}
#exchange-result .exchange-source-sheet .four-summary .alltime-card{background:#f7fbff;border-color:#c7daec}
#exchange-result .exchange-source-sheet .four-summary .commission-card{background:#fbfcfe}
#exchange-result .exchange-source-sheet .four-summary .alltime-card.commission-card{background:#f3f9ff}
#exchange-result .exchange-source-sheet .four-summary .exchange-report-finance-title{font-size:9.4px;margin-bottom:5px;color:#607a93}
#exchange-result .exchange-source-sheet .four-summary .exchange-report-finance-row{min-height:22px;padding:2px 0;grid-template-columns:minmax(0,1fr) minmax(120px,.75fr)}
#exchange-result .exchange-source-sheet .four-summary .exchange-report-finance-row span{font-size:10.2px}
#exchange-result .exchange-source-sheet .four-summary .exchange-report-finance-row strong{font-size:11.2px;text-align:right;justify-self:end}
@media(max-width:900px){#exchange-result .exchange-source-sheet .exchange-report-overview.four-summary{grid-template-columns:1fr}#exchange-result .exchange-source-sheet .exchange-report-context{margin:0 12px 8px}}

/* Installable PWA · Settings */
.app-install-setting{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 20px;border:1px solid #d9e3ef;border-radius:14px;background:linear-gradient(135deg,#f8fbff 0%,#f3f8fd 100%)}
.app-install-copy{display:flex;align-items:center;gap:14px;min-width:0}.app-install-setting-icon{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:12px;background:#e8f2ff;color:#1769c2;font-size:22px;font-weight:800}.app-install-copy h3{margin:0 0 4px;font-size:15px;color:#16263a}.app-install-copy p{margin:0;max-width:680px;font-size:12px;line-height:1.55;color:#687789}.install-app-settings-button{flex:0 0 auto;min-width:150px}.install-app-settings-button[hidden]{display:none!important}
@media(max-width:700px){.app-install-setting{align-items:stretch;flex-direction:column;gap:14px}.install-app-settings-button{width:100%}}
\n/* Settings-centered header · v3 */\n.topbar{background:linear-gradient(100deg,#153450 0%,#1d4d72 62%,#245f89 100%);border-bottom-color:#153b5c;box-shadow:0 8px 24px rgba(17,48,76,.13);color:#fff}\n.topbar .breadcrumb{color:#b9cce0}.topbar .breadcrumb b{color:#fff}.topbar .breadcrumb span{color:#7fa4c3}\n.topbar .global-search{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.16);border-radius:10px;padding:0 12px;color:#dceaf6;max-width:260px}.topbar .global-search input{color:#fff}.topbar .global-search input::placeholder{color:#b8cde0}.topbar .search-options{color:#2b4056}\n.top-actions{gap:9px}.topbar-action{position:relative;display:grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid rgba(255,255,255,.18);border-radius:10px;background:rgba(255,255,255,.11);color:#f4f9fd;transition:.16s ease}.topbar-action:hover{background:rgba(255,255,255,.20);border-color:rgba(255,255,255,.30);transform:translateY(-1px)}.topbar-action svg{width:18px;height:18px}.settings-shortcut{background:#f2f7fb;color:#1d5278;border-color:#f2f7fb}.settings-shortcut:hover{background:#fff;color:#174568}.topbar #badge{border-color:#1b4669}\n.settings-account-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.35fr);gap:18px;padding:20px}.settings-profile-card,.settings-preference-card{border:1px solid #dfe7f0;border-radius:14px;background:#fff;box-shadow:0 8px 22px rgba(31,62,93,.05)}.settings-profile-card{padding:20px}.settings-profile-head{display:flex;align-items:center;gap:14px;padding-bottom:17px;border-bottom:1px solid #edf1f5}.settings-profile-avatar{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:linear-gradient(145deg,#1d5278,#347eaf);color:#fff;font-weight:800;font-size:15px;letter-spacing:.5px}.settings-profile-head h3{margin:2px 0 3px;font-size:17px;color:#18324a}.settings-profile-head p{margin:0;color:#718197;font-size:11px}.settings-profile-rows{display:grid;gap:0;margin-top:10px}.settings-profile-rows>div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:16px;align-items:center;padding:11px 0;border-bottom:1px solid #f0f3f7}.settings-profile-rows>div:last-child{border-bottom:0}.settings-profile-rows span{font-size:10px;color:#8290a1;text-transform:uppercase;letter-spacing:.45px}.settings-profile-rows strong{font-size:12px;color:#263d54;overflow-wrap:anywhere}.settings-preference-card{overflow:hidden}.settings-section-title{display:flex;align-items:center;gap:12px;padding:17px 18px;background:#f7fafd;border-bottom:1px solid #e6edf4}.settings-gear{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:#e7f0f8;color:#1b5a84;font-size:18px}.settings-section-title h3{margin:0;font-size:14px;color:#1d344b}.settings-section-title p{margin:3px 0 0;font-size:10px;color:#8190a1}.settings-pref-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 18px;border-bottom:1px solid #edf1f5}.settings-pref-row:last-child{border-bottom:0}.settings-pref-row b{display:block;font-size:12px;color:#2d4358}.settings-pref-row small{display:block;margin-top:4px;font-size:10px;color:#8795a5}.settings-lang-switch{display:flex;padding:3px;border:1px solid #d6e0ea;border-radius:9px;background:#f4f7fa}.settings-lang-switch button{min-width:45px;padding:7px 11px;border:0;border-radius:7px;background:transparent;color:#617487;font-size:10px;font-weight:700}.settings-lang-switch button.active{background:#1e5b86;color:#fff;box-shadow:0 2px 7px rgba(24,79,120,.18)}.settings-security-actions{display:flex;gap:8px}.danger-outline{border:1px solid #e8c6c8;background:#fff7f7;color:#a44b52}.danger-outline:hover{background:#fff0f0}.install-app-settings-button{min-width:138px}\n@media(max-width:900px){.settings-account-grid{grid-template-columns:1fr}.topbar .global-search{max-width:200px}}\n@media(max-width:760px){.topbar{background:linear-gradient(100deg,#153450,#245f89)}.settings-account-grid{padding:14px}.settings-pref-row{align-items:flex-start;flex-direction:column}.settings-lang-switch,.settings-security-actions,.install-app-settings-button{width:100%}.settings-lang-switch button{flex:1}.settings-security-actions button{flex:1}}\n
/* PWA install status message */
.pwa-message-dialog{width:min(92vw,470px);max-width:470px;padding:0;border:0;border-radius:18px;overflow:hidden;box-shadow:0 28px 80px rgba(12,37,61,.28)}
.pwa-message-dialog::backdrop{background:rgba(12,31,50,.50);backdrop-filter:blur(4px)}
.pwa-message-card{text-align:center;padding:31px 30px 27px;background:linear-gradient(180deg,#fff 0%,#f8fbfe 100%)}
.pwa-message-icon{width:66px;height:66px;margin:0 auto 18px;border-radius:50%;display:grid;place-items:center;font-size:31px;font-weight:850;background:#e8f6ee;color:#16834a;border:1px solid #cae9d7}
.pwa-message-card.guide .pwa-message-icon{background:#eaf3fb;color:#1d6497;border-color:#cfe1f0}
.pwa-message-card h2{margin:0 0 10px;font-size:21px;line-height:1.25;color:#173b5f;letter-spacing:-.2px}
.pwa-message-card p{margin:0 auto 22px;max-width:370px;font-size:13.5px;line-height:1.65;color:#556b80}
.pwa-message-ok{min-width:126px;min-height:41px;border-radius:9px;font-weight:750}
#install-app[data-installed="true"]{background:#eef4f8;color:#315b78;border:1px solid #ccdbe6}


/* Sidebar + topbar visual polish · v5 */
:root{--nav:#102a44;--nav-deep:#091d31}
aside{width:252px;padding:24px 15px 18px;background:linear-gradient(165deg,#133754 0%,#0e2942 54%,#091d31 100%);box-shadow:8px 0 30px rgba(10,33,54,.08)}
main{margin-left:252px}
aside .brand{gap:13px;padding:2px 10px 4px}
aside .brand-mark{width:47px;height:47px;border-radius:12px;font-size:21px;font-weight:850;letter-spacing:-.8px;background:linear-gradient(145deg,rgba(255,255,255,.17),rgba(255,255,255,.07));border-color:rgba(255,255,255,.20);box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
aside .brand strong{font-size:24px;font-weight:760;letter-spacing:-.45px}
aside .brand strong span{font-size:16px;font-weight:520;color:#c0d6e9;margin-left:5px}
aside .brand small{font-size:8.5px;font-weight:650;letter-spacing:1.65px;margin-top:5px;color:#8eacc7}
.workspace{margin:24px 0 16px;padding:13px 12px;border-radius:10px;font-size:12.2px;font-weight:650;color:#f0f6fb;background:rgba(255,255,255,.055);border-color:rgba(255,255,255,.10)}
.workspace i{width:32px;height:32px;border-radius:8px;font-size:11px;font-weight:750;background:rgba(255,255,255,.10);color:#dfeef9}
.workspace small{font-size:9.8px;font-weight:520;color:#88a8c5;margin-top:4px}
nav .group{font-size:8.7px;font-weight:750;letter-spacing:1.55px;color:#7797b4;padding:18px 13px 7px}
nav button{gap:12px;padding:11.5px 13px;font-size:12.2px;font-weight:620;line-height:1.2;margin:2px 0;color:#bdd0e2;border-radius:9px}
nav button i{color:#89a9c5}
nav svg{width:19.5px;height:19.5px;stroke-width:1.85}
nav button:hover{background:rgba(255,255,255,.085);color:#fff;transform:translateX(1px)}
nav button.active{background:linear-gradient(105deg,#2f75c8 0%,#3b88d9 100%);color:#fff;box-shadow:0 6px 16px rgba(12,47,79,.24);font-weight:700}
nav button.active i{color:#eef7ff}
aside footer{font-size:9.5px;color:#91aec8}
.topbar{height:72px;background:linear-gradient(100deg,#173b59 0%,#1d4e73 52%,#27678f 100%);border-bottom:1px solid rgba(11,44,69,.45);box-shadow:0 8px 28px rgba(20,57,84,.14)}
.topbar .global-search{background:rgba(255,255,255,.105);border-color:rgba(255,255,255,.18);box-shadow:inset 0 1px 0 rgba(255,255,255,.03)}
.topbar-action{width:40px;height:40px;border-radius:11px;background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.20)}
.topbar-action svg{width:19px;height:19px}
.settings-shortcut{background:#f5f9fc;color:#1d5479;border-color:#fff;box-shadow:0 3px 10px rgba(11,41,63,.13)}
.top-language{display:flex;align-items:center;gap:4px;padding:4px;background:rgba(7,34,54,.20);border:1px solid rgba(255,255,255,.16);border-radius:12px;box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.top-lang-button{display:flex;align-items:center;gap:6px;min-width:61px;height:32px;padding:0 10px;border-radius:8px;color:#d6e7f3;font-size:11px!important;font-weight:700;letter-spacing:.15px;background:transparent}
.top-lang-button .flag{font-size:16px;line-height:1;filter:saturate(1.05)}
.top-lang-button:hover{background:rgba(255,255,255,.12);color:#fff}
.top-lang-button.active{background:#fff;color:#194e72;box-shadow:0 3px 10px rgba(7,31,49,.18)}
@media(max-width:1000px){aside{width:228px}main{margin-left:228px}}
@media(max-width:760px){aside{width:252px}.top-language{padding:3px}.top-lang-button{min-width:48px;padding:0 7px}.top-lang-button span:last-child{display:none}.top-lang-button .flag{font-size:17px}}
.exchange-dashboard-panel{margin-top:20px}.exchange-dashboard-panel .panel-head{background:linear-gradient(135deg,#f8fbff,#f3f8fd)}.exchange-open-btn{font-size:10px;font-weight:650;color:#3f6f9f;padding:8px 11px;border:1px solid #dbe7f2;border-radius:8px;background:#fff}.exchange-open-btn svg{width:13px;height:13px;margin-left:5px}.exchange-dashboard-body{display:grid;grid-template-columns:250px 1fr;gap:30px;align-items:center;padding:24px 28px 27px}.exchange-donut-wrap{display:flex;align-items:center;gap:20px}.exchange-donut{--deposit-rate:0;width:146px;height:146px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#2c82d8 calc(var(--deposit-rate)*1%),#e8eff6 0);position:relative;box-shadow:inset 0 0 0 1px #dce7f1}.exchange-donut:after{content:"";position:absolute;inset:18px;border-radius:50%;background:#fff;box-shadow:0 1px 8px #14395a10}.exchange-donut-center{position:relative;z-index:1;text-align:center}.exchange-donut-center strong{display:block;font-size:25px;line-height:1;font-weight:750;color:#173a5d;letter-spacing:-.5px}.exchange-donut-center span{display:block;margin-top:7px;font-size:8px;font-weight:700;letter-spacing:.7px;color:#7f93a8}.exchange-donut-legend{display:grid;gap:10px;font-size:9px;color:#7f91a5;white-space:nowrap}.exchange-donut-legend span{display:flex;align-items:center;gap:7px}.exchange-donut-legend i{width:8px;height:8px;border-radius:50%}.exchange-donut-legend i.deposited{background:#2c82d8}.exchange-donut-legend i.remaining{background:#e8eff6;border:1px solid #cfdae5}.exchange-dashboard-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.exchange-dashboard-metrics>div{border:1px solid #e1e9f1;border-radius:10px;padding:18px 19px;background:#fbfdff;min-height:105px}.exchange-dashboard-metrics>div.balance{background:#f6fbff}.exchange-dashboard-metrics small{display:block;font-size:9px;font-weight:700;color:#7c8fa4;letter-spacing:.4px;margin-bottom:9px}.exchange-dashboard-metrics strong{display:block;font-size:23px;font-weight:700;color:#203d59;letter-spacing:-.5px}.exchange-dashboard-metrics span{display:block;margin-top:9px;font-size:9px;color:#94a3b3}
@media(max-width:1000px){.exchange-dashboard-body{grid-template-columns:1fr}.exchange-donut-wrap{justify-content:center}.exchange-dashboard-metrics{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.exchange-dashboard-body{padding:18px;gap:20px}.exchange-donut{width:128px;height:128px}.exchange-dashboard-metrics{grid-template-columns:1fr}.exchange-dashboard-metrics>div{min-height:auto}.exchange-dashboard-metrics strong{font-size:21px}}

/* Login security redesign */
#login.login-shell{min-height:100svh;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);background:#f7f9fc}
.login-art{position:relative;overflow:hidden;padding:clamp(38px,5vw,78px);background:radial-gradient(circle at 82% 12%,#2f6697 0,transparent 34%),linear-gradient(145deg,#173b5f 0%,#0b2944 58%,#071d31 100%);justify-content:space-between;min-height:100svh}
.login-art:after{content:"";position:absolute;right:-120px;bottom:-160px;width:460px;height:460px;border:1px solid #ffffff14;border-radius:50%;box-shadow:0 0 0 70px #ffffff05,0 0 0 140px #ffffff04}
.login-brand-wrap,.login-art-copy,.art-grid{position:relative;z-index:1}.login-brand{margin:0!important;padding:0!important;gap:18px}.login-brand .brand-mark,.login-side-brand .brand-mark{width:54px;height:54px;border-radius:12px;font-size:18px;background:#ffffff14;border:1px solid #ffffff24;color:white;box-shadow:0 10px 30px #00152735}.login-brand strong{font-size:22px;letter-spacing:.6px}.login-brand small{font-size:10px;letter-spacing:2.2px;color:#b7cee3;margin-top:4px}.login-kicker{display:block;margin-bottom:22px;font-size:10px;letter-spacing:2.4px;font-weight:700;color:#85acd0}.login-art h1{max-width:660px;font-size:clamp(38px,4vw,64px);line-height:1.06;font-weight:650;letter-spacing:-2.4px;margin:0}.login-art>div.login-art-copy>p{font-size:clamp(13px,1vw,17px);color:#bed1e4;margin-top:24px;letter-spacing:.15px}.art-grid{margin-top:0;grid-template-columns:repeat(3,max-content);gap:clamp(18px,3vw,48px);font-size:9px;font-weight:700;color:#8eafcd;letter-spacing:2px;border-top:1px solid #ffffff1a;padding-top:24px}.login-side{min-height:100svh;display:flex;align-items:center;justify-content:center;position:relative;padding:clamp(28px,5vw,72px);background:linear-gradient(180deg,#fff,#f8fafc)}.login-side:before{content:"";position:absolute;inset:8% 12%;background:radial-gradient(circle,#dceafe88,transparent 62%);filter:blur(30px);pointer-events:none}.login-side-brand{position:absolute;top:clamp(28px,5vw,58px);left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:13px;padding:10px 16px;border:1px solid #dbe6f0;background:#ffffffd9;border-radius:14px;box-shadow:0 12px 35px #16375412;z-index:1;white-space:nowrap}.login-side-brand .brand-mark{width:38px;height:38px;font-size:13px;background:#173b5f}.login-side-brand strong{display:block;font-size:15px;color:#183652;letter-spacing:.5px}.login-side-brand small{display:block;font-size:7px;letter-spacing:1.7px;color:#8095aa;margin-top:2px}.login-card{position:relative;z-index:1;width:min(470px,100%);margin:0;padding:36px;border:1px solid #dce6f0;border-radius:20px;background:#ffffffed;box-shadow:0 25px 70px #173b5f14}.login-card>.eyebrow{font-size:9px;letter-spacing:1.8px;color:#7892ac}.login-card h2{font-size:clamp(27px,2vw,34px);line-height:1.16;margin:12px 0 10px;color:#173754;letter-spacing:-.8px}.login-intro{font-size:12px;line-height:1.65;color:#7890a7;margin-bottom:26px}.login-card label{gap:9px;font-size:11px;font-weight:650;color:#536d86;margin:17px 0}.login-card input{padding:14px 15px;font-size:14px;border:1px solid #cad9e7;border-radius:9px;background:white;box-shadow:0 1px 2px #15324f05}.login-card input:focus{border-color:#3c82d6;box-shadow:0 0 0 3px #3c82d619;outline:none}.login-submit{width:100%;padding:14px;margin-top:8px;font-size:12px;font-weight:750;border-radius:9px;box-shadow:0 10px 22px #2f76c826}.login-help-row{display:flex;justify-content:flex-end;margin-top:-5px;margin-bottom:7px}.login-link{border:0;background:transparent;color:#2e73c5;padding:4px 0;font-size:11px;font-weight:700;cursor:pointer}.login-link:hover{text-decoration:underline}.login-language{display:flex;gap:8px;margin-top:20px;padding-top:17px;border-top:1px solid #e7edf4}.login-language button{border:1px solid #d9e4ee;background:#f8fbfe;color:#476781;border-radius:7px;padding:7px 10px;font-size:10px;font-weight:750;cursor:pointer}.login-security-note{margin-top:15px!important;font-size:9px!important;color:#8ca0b3!important}.login-status{min-height:18px;margin:13px 0 0;font-size:11px;line-height:1.55}.login-status.success{color:#197448}.login-status.error{color:#b33a3a}.login-back{margin-top:20px}.login-secondary[hidden]{display:none!important}
@media(max-width:900px){#login.login-shell{grid-template-columns:1fr}.login-art{min-height:auto;padding:32px 28px 36px;display:block}.login-brand-wrap{margin-bottom:40px}.login-art-copy{max-width:600px}.login-art h1{font-size:clamp(34px,8vw,48px);max-width:520px}.login-art>div.login-art-copy>p{font-size:13px}.art-grid{margin-top:34px;display:flex;flex-wrap:wrap;gap:14px 24px}.login-side{min-height:auto;padding:105px 22px 40px}.login-side-brand{top:28px}.login-card{padding:28px}}
@media(max-width:560px){.login-art{padding:25px 20px 28px}.login-brand .brand-mark{width:48px;height:48px}.login-brand strong{font-size:19px}.login-brand small{font-size:8px}.login-kicker{font-size:8px;margin-bottom:15px}.login-art h1{font-size:34px;letter-spacing:-1.4px}.login-art>div.login-art-copy>p{font-size:12px;margin-top:17px}.art-grid{font-size:7px;letter-spacing:1.3px;margin-top:26px;padding-top:18px}.login-side{padding:94px 14px 28px}.login-side-brand{top:22px}.login-card{padding:23px 19px;border-radius:16px}.login-card h2{font-size:27px}.login-intro{font-size:11px}.login-card input{font-size:16px}}


/* Login brand alignment and recovery polish */
.login-brand-wrap{display:flex;justify-content:center;align-items:flex-start;width:100%}
.login-brand{align-items:center;justify-content:center;text-align:left}
.login-brand .brand-mark{width:68px;height:68px;border-radius:15px;font-size:22px;box-shadow:0 14px 36px #00152745}
.login-brand strong{font-size:26px;letter-spacing:.8px}
.login-brand small{font-size:11px;letter-spacing:2.35px;color:#c3d7e9}
.login-side-brand{top:clamp(28px,5vw,54px);padding:13px 20px;gap:15px;border-radius:16px;box-shadow:0 16px 45px #1637541b}
.login-side-brand .brand-mark{width:50px;height:50px;font-size:16px;border-radius:12px}
.login-side-brand strong{font-size:18px;letter-spacing:.65px}
.login-side-brand small{font-size:8px;letter-spacing:1.9px;margin-top:3px}
.login-secondary .login-status.error{padding:11px 13px;border:1px solid #f1d4d4;background:#fff7f7;border-radius:9px;color:#9a3535}
.login-secondary .login-status.success{padding:11px 13px;border:1px solid #cae8d8;background:#f4fbf7;border-radius:9px;color:#196a45}
@media(max-width:900px){.login-brand-wrap{justify-content:center}.login-brand .brand-mark{width:60px;height:60px;font-size:20px}.login-brand strong{font-size:23px}.login-side-brand{top:24px}.login-side-brand .brand-mark{width:46px;height:46px}}
@media(max-width:560px){.login-brand-wrap{margin-bottom:34px}.login-brand .brand-mark{width:54px;height:54px;font-size:18px}.login-brand strong{font-size:21px}.login-brand small{font-size:8.5px;letter-spacing:1.75px}.login-side-brand{top:18px;padding:10px 14px}.login-side-brand .brand-mark{width:42px;height:42px}.login-side-brand strong{font-size:16px}.login-side-brand small{font-size:7px}}

/* Source Report V2 · Selected range vs all-time source summary */
#exchange-result .exchange-source-sheet .exchange-dual-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0 18px 10px;align-items:stretch}
#exchange-result .exchange-source-sheet .exchange-summary-card{min-width:0;overflow:hidden;border:1px solid #d6e1ec;border-radius:12px;background:#fff;box-shadow:0 6px 18px rgba(23,59,95,.055)}
#exchange-result .exchange-source-sheet .exchange-summary-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:13px 15px 12px;background:linear-gradient(135deg,#1b3f68 0%,#275984 100%);border-bottom:1px solid rgba(255,255,255,.12)}
#exchange-result .exchange-source-sheet .exchange-summary-card.all-time>header{background:linear-gradient(135deg,#173754 0%,#214d73 100%)}
#exchange-result .exchange-source-sheet .exchange-summary-card h3{margin:2px 0 0;color:#fff;font-size:12px;line-height:1.25;letter-spacing:.55px;font-weight:800}
#exchange-result .exchange-source-sheet .exchange-summary-eyebrow{display:block;color:#c9d9e8;font-size:7.5px;line-height:1.2;letter-spacing:1.1px;font-weight:800}
#exchange-result .exchange-source-sheet .exchange-summary-badge{flex:0 0 auto;margin-top:1px;padding:4px 7px;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:rgba(255,255,255,.08);color:#e9f2fa;font-size:7.8px;font-weight:750;white-space:nowrap}
#exchange-result .exchange-source-sheet .exchange-summary-body{padding:7px 15px 9px;background:linear-gradient(180deg,#fff 0%,#fbfdff 100%)}
#exchange-result .exchange-source-sheet .exchange-summary-card.all-time .exchange-summary-body{background:linear-gradient(180deg,#fbfdff 0%,#f6faff 100%)}
#exchange-result .exchange-source-sheet .exchange-summary-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(118px,.82fr);align-items:center;column-gap:18px;min-height:29px;padding:5px 0;border-bottom:1px solid #e9eff5}
#exchange-result .exchange-source-sheet .exchange-summary-row:last-child{border-bottom:0}
#exchange-result .exchange-source-sheet .exchange-summary-row span{min-width:0;color:#647b91;font-size:10.4px;line-height:1.3;font-weight:650}
#exchange-result .exchange-source-sheet .exchange-summary-row strong{justify-self:end;max-width:100%;overflow-wrap:anywhere;color:#173b5f;font-size:11.3px;line-height:1.3;font-weight:800;text-align:right;font-variant-numeric:tabular-nums}
#exchange-result .exchange-source-sheet .exchange-summary-row.identity{background:#f8fbfe;margin:0 -7px;padding:6px 7px;border-radius:6px;border-bottom:0;margin-bottom:3px}
#exchange-result .exchange-source-sheet .exchange-summary-row.identity span{color:#536f89;font-weight:750}
#exchange-result .exchange-source-sheet .exchange-summary-row.identity strong{color:#244b70}
#exchange-result .exchange-source-sheet .exchange-summary-row.balance{margin:3px -7px 0;padding:7px;border:1px solid #d7e8f7;border-radius:7px;background:#f1f8ff}
#exchange-result .exchange-source-sheet .exchange-summary-row.balance+ .exchange-summary-row{border-top:0}
#exchange-result .exchange-source-sheet .exchange-summary-row.balance span{color:#3c6f9d;font-weight:780}
#exchange-result .exchange-source-sheet .exchange-summary-row.balance strong{color:#1264a3;font-size:11.8px}
#exchange-result .exchange-source-sheet .exchange-summary-note{display:flex;align-items:flex-start;gap:9px;margin:0 18px 9px;padding:8px 11px;border:1px solid #dce7f1;border-radius:8px;background:#f8fbfe;color:#698096}
#exchange-result .exchange-source-sheet .exchange-summary-note>span{display:grid;place-items:center;flex:0 0 17px;width:17px;height:17px;border-radius:50%;background:#e5f0fb;color:#2368a3;font-size:9px;font-weight:900}
#exchange-result .exchange-source-sheet .exchange-summary-note p{margin:0;font-size:9.2px;line-height:1.45}
@media(max-width:900px){#exchange-result .exchange-source-sheet .exchange-dual-summary{grid-template-columns:1fr;margin:0 12px 10px}#exchange-result .exchange-source-sheet .exchange-summary-note{margin:0 12px 9px}}
@media(max-width:560px){#exchange-result .exchange-source-sheet .exchange-summary-card>header{padding:12px 12px 11px}#exchange-result .exchange-source-sheet .exchange-summary-body{padding:6px 12px 8px}#exchange-result .exchange-source-sheet .exchange-summary-row{grid-template-columns:minmax(0,1fr) minmax(105px,.78fr);column-gap:10px;min-height:28px}#exchange-result .exchange-source-sheet .exchange-summary-row span{font-size:9.8px}#exchange-result .exchange-source-sheet .exchange-summary-row strong{font-size:10.6px}}

/* Deposit source-linked depositor */
.exchange-linked-field{display:grid;gap:4px;min-height:44px;padding:9px 11px;border:1px solid #dbe5ef;border-radius:8px;background:linear-gradient(180deg,#f8fbfe,#f3f8fd)}
.exchange-linked-field strong{font-size:13px;color:#173b5f;line-height:1.25;overflow-wrap:anywhere}
.exchange-linked-field small{font-size:9.5px;line-height:1.35;color:#71869a}
.exchange-deposit-live-balance .projected{border-left:3px solid #2c73d2;padding-left:14px}
.exchange-deposit-live-balance output{font-variant-numeric:tabular-nums}

.exchange-deposit-live-balance output.over-balance{color:#b43e4d!important}

/* Mobile Pro Layout · 2026-09-21 */
html,body{max-width:100%;overflow-x:hidden}
main,.page,#content{min-width:0;max-width:100%}
.table-wrap,.exchange-table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain}

@media(max-width:1000px){
  .page{padding-left:22px;padding-right:22px}
  .page-head{align-items:flex-start;flex-wrap:wrap}
  .actions{flex-wrap:wrap;justify-content:flex-start}
}

@media(max-width:760px){
  body{font-size:14px}
  main{margin-left:0!important;width:100%;min-width:0}
  aside{width:min(86vw,300px)!important;max-width:300px;z-index:1000}
  #shade{position:fixed;inset:0;background:rgba(8,28,48,.45);backdrop-filter:blur(2px);z-index:999}
  .topbar{height:60px!important;min-height:60px;padding:0 max(12px,env(safe-area-inset-left)) 0 max(12px,env(safe-area-inset-right))!important;gap:8px;position:sticky;top:0;z-index:900}
  #menu,.topbar-action{width:42px!important;height:42px!important;min-width:42px;min-height:42px;border-radius:10px}
  .top-actions{margin-left:auto;gap:6px;min-width:0}
  .top-language{display:flex!important;align-items:center;gap:4px;padding:3px!important;border-radius:9px;flex:0 0 auto}
  .top-lang-button{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:4px!important;min-width:50px!important;height:34px!important;padding:0 6px!important;font-size:10px!important;line-height:1!important;white-space:nowrap}
  .top-lang-button span:last-child{display:inline!important;font-size:10px!important;font-weight:800!important}
  .top-lang-button .flag{display:inline!important;font-size:15px!important;line-height:1!important}
  .breadcrumb,.global-search{display:none!important}

  .page{padding:18px 12px 28px!important}
  .page-head{display:flex;flex-direction:column;align-items:stretch!important;gap:13px;margin-bottom:16px}
  .page-head h1{font-size:clamp(22px,7vw,28px);line-height:1.15;overflow-wrap:anywhere}
  .page-head p{font-size:12px;line-height:1.5}
  .actions{display:flex!important;width:100%;gap:8px;flex-wrap:wrap;justify-content:flex-start!important}
  .actions>button,.actions>a{flex:1 1 calc(50% - 8px);min-width:130px;min-height:44px;padding:10px 11px!important;white-space:normal;line-height:1.25}

  .panel,.report-card,.kpi{border-radius:12px}
  .kpis{grid-template-columns:1fr!important;gap:10px!important}
  .kpi{padding:15px 13px!important;min-height:auto!important}
  .kpi strong{font-size:clamp(21px,7vw,27px)}
  .kpi-icon{display:none!important}

  .table-wrap{margin-left:0;margin-right:0;border-radius:10px}
  table{min-width:650px!important;width:max-content;max-width:none;font-size:13px!important}
  th{padding:10px 9px!important;font-size:10.5px!important;line-height:1.25}
  td{padding:11px 9px!important;font-size:12.5px!important;line-height:1.35}
  th:first-child,td:first-child{position:sticky;left:0;z-index:2;min-width:48px;width:48px;max-width:58px;background:#fff}

  dialog{width:calc(100vw - 20px)!important;max-width:none!important;max-height:calc(100dvh - 20px)!important;margin:10px!important;padding:18px 14px!important;border-radius:14px!important;overflow-y:auto!important}
  .form-grid{grid-template-columns:1fr!important;gap:13px!important}
  .form-grid label{font-size:12px!important;gap:7px}
  input,select,textarea{font-size:16px!important;min-height:44px!important;padding:11px 12px!important}
  textarea{min-height:92px!important}
  .modal-head{gap:10px}.modal-head h2{font-size:20px!important}
  .modal-actions{display:flex;gap:9px;flex-wrap:wrap}.modal-actions button{flex:1 1 120px;min-height:44px}

  .report-cards{grid-template-columns:1fr!important;gap:10px!important}
  .report-card{padding:15px 13px!important}
  .report-sheet{margin-left:-4px;margin-right:-4px;border-radius:10px;overflow:hidden}
  .report-sheet-head{padding:15px 12px!important;display:flex;flex-wrap:wrap;gap:10px}
  .report-sheet-head h2{font-size:17px!important}
  .report-notes{padding:10px 12px!important;display:grid!important;grid-template-columns:1fr!important;gap:6px!important}
  .report-sheet .table-wrap{max-height:68dvh}
  .report-totals{padding:13px 12px!important;display:grid!important;grid-template-columns:1fr!important;gap:8px!important}
  .report-totals>div{display:flex;justify-content:space-between;align-items:baseline;width:100%;gap:12px}
  .report-sheet-footer{padding:12px!important;display:grid!important;grid-template-columns:1fr!important;gap:6px}

  .exchange-tabs{overflow-x:auto!important;-webkit-overflow-scrolling:touch;scrollbar-width:none;white-space:nowrap;padding-bottom:3px}.exchange-tabs::-webkit-scrollbar{display:none}
  .exchange-tabs button{min-height:42px;flex:0 0 auto;padding:9px 13px!important}
  .exchange-intro{padding:16px 13px!important;gap:12px!important}
  .exchange-deposit-controls{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:10px!important;padding:12px!important}
  .exchange-deposit-actions{display:grid!important;grid-template-columns:1fr!important;width:100%!important;margin-left:0!important;gap:8px!important}
  .exchange-deposit-actions button{width:100%!important;min-height:44px}
  .exchange-deposit-summary{grid-template-columns:1fr!important;gap:8px!important}
  .exchange-deposit-live-balance{grid-template-columns:1fr!important;gap:9px!important}
  .exchange-table-wrap{max-height:68dvh!important}
  .exchange-table{min-width:760px!important;width:max-content!important}
  .exchange-table th{font-size:10px!important;padding:10px 8px!important}
  .exchange-table td{font-size:12px!important;padding:11px 8px!important}
  .exchange-table th:first-child,.exchange-table td:first-child{min-width:48px!important;width:48px!important;max-width:48px!important;position:sticky!important;left:0!important;z-index:3}
  #exchange-result .exchange-source-sheet .exchange-dual-summary{grid-template-columns:1fr!important;margin:0 8px 10px!important;gap:10px!important}
  #exchange-result .exchange-source-sheet .exchange-summary-note{margin:0 8px 9px!important}
  #exchange-result .exchange-source-sheet .exchange-summary-card>header{padding:12px!important;gap:8px;flex-wrap:wrap}
  #exchange-result .exchange-source-sheet .exchange-summary-body{padding:6px 12px 8px!important}
  #exchange-result .exchange-source-sheet .exchange-summary-row{grid-template-columns:minmax(0,1fr) minmax(105px,.8fr)!important;gap:10px!important}

  .bottom{padding:13px 12px!important;display:flex;flex-wrap:wrap;gap:5px 12px;font-size:9px}
}

@media(max-width:420px){
  .top-lang-button{min-width:47px!important;padding:0 5px!important;gap:3px!important}
  .topbar-action{width:38px!important;height:38px!important;min-width:38px;min-height:38px}
  #menu{width:40px!important;height:40px!important;min-width:40px;min-height:40px}
  .actions>button,.actions>a{flex-basis:100%;width:100%}
  .exchange-table{min-width:700px!important}
  #exchange-result .exchange-source-sheet .exchange-summary-row{grid-template-columns:1fr!important}
  #exchange-result .exchange-source-sheet .exchange-summary-row strong{justify-self:start!important;text-align:left!important}
}

/* Language flag icon polish */
.top-lang-button .flag-icon{display:inline-grid!important;place-items:center;width:20px;height:20px;flex:0 0 20px;font-size:16px!important;line-height:1!important}
.top-lang-button .lang-code{display:inline!important;font-weight:800!important;letter-spacing:.2px}
@media(max-width:760px){.top-lang-button .flag-icon{width:19px;height:19px;flex-basis:19px;font-size:15px!important}.top-lang-button .lang-code{font-size:10px!important}}

/* SVG language flags: deterministic across Windows/mobile */
.top-lang-button .flag-svg{display:block;width:20px;height:14px;border-radius:2px;box-shadow:0 0 0 1px rgba(255,255,255,.18)}
@media(max-width:760px){.top-lang-button .flag-svg{width:19px;height:13px}}


/* Report print + alignment · 2026-09-21 */
.export-button.print svg{color:#3b6f9d}
.report-sheet th{text-align:center!important}
.report-sheet th.num{text-align:center!important}
.report-sheet th:first-child,.report-sheet td:first-child{text-align:center!important}
@media print{
  #print-area.report-print-area{display:block!important;padding:10mm!important;color:#000!important;background:#fff!important}
  #print-area.report-print-area .report-sheet{display:block!important;border:0!important;box-shadow:none!important;overflow:visible!important}
  #print-area.report-print-area .report-sheet-head,#print-area.report-print-area .report-notes,#print-area.report-print-area .report-totals,#print-area.report-print-area .report-sheet-footer,#print-area.report-print-area .exchange-dual-summary,#print-area.report-print-area .exchange-summary-note,#print-area.report-print-area .exchange-report-blue-rule{display:flex!important}
  #print-area.report-print-area .table-wrap,#print-area.report-print-area .exchange-table-wrap{display:block!important;max-height:none!important;overflow:visible!important;border:0!important}
  #print-area.report-print-area table,#print-area.report-print-area .exchange-table{display:table!important;width:100%!important;min-width:0!important;font-size:9pt!important;white-space:normal!important}
  #print-area.report-print-area thead{display:table-header-group!important}
  #print-area.report-print-area tbody{display:table-row-group!important}
  #print-area.report-print-area tr{display:table-row!important;break-inside:avoid}
  #print-area.report-print-area th,#print-area.report-print-area td{position:static!important;display:table-cell!important;text-align:left;padding:5px 6px!important;color:#000!important;background:#fff!important;border-bottom:1px solid #bbb!important}
  #print-area.report-print-area th{font-weight:700!important;text-align:center!important;background:#f0f0f0!important}
  #print-area.report-print-area th:first-child,#print-area.report-print-area td:first-child{text-align:center!important}
  #print-area.report-print-area .num{text-align:right!important}
  #print-area.report-print-area th.num{text-align:center!important}
}


/* Professional UI system · buttons + dialogs · 2026-09-21 */
button{font-family:inherit}
button:focus-visible,.button:focus-visible,[role="button"]:focus-visible{outline:3px solid rgba(47,126,216,.22);outline-offset:2px}
button:disabled{opacity:.55!important;cursor:not-allowed!important;transform:none!important;box-shadow:none!important}

/* Action buttons */
.actions>button,.actions>a,.primary,.ghost,.export-button,.exchange-deposit-actions button,.exchange-row-actions button,.modal-actions button,.exchange-result-actions button,.exchange-select-create>button,.toolbar button,.panel button:not(.exchange-open-btn){
  border-radius:10px!important;min-height:40px;font-weight:750;letter-spacing:.05px;transition:transform .16s ease,box-shadow .16s ease,background .16s ease,border-color .16s ease,color .16s ease;
}
.actions>button:hover,.actions>a:hover,.primary:hover,.ghost:hover,.export-button:hover,.exchange-deposit-actions button:hover,.exchange-row-actions button:hover,.modal-actions button:hover,.exchange-result-actions button:hover,.exchange-select-create>button:hover,.toolbar button:hover,.panel button:not(.exchange-open-btn):hover{transform:translateY(-1px)}
.primary,.actions>button.primary,.exchange-deposit-actions .primary,.modal-actions .primary{border:1px solid #2c73c9!important;background:linear-gradient(180deg,#3b86dc 0%,#2f73c7 100%)!important;color:#fff!important;box-shadow:0 7px 16px rgba(47,115,199,.18)!important}
.primary:hover,.actions>button.primary:hover,.exchange-deposit-actions .primary:hover,.modal-actions .primary:hover{background:linear-gradient(180deg,#347dce 0%,#2868b7 100%)!important;box-shadow:0 9px 20px rgba(47,115,199,.24)!important}
.ghost,.modal-actions [data-close],#cancel{border:1px solid #ccd9e6!important;background:#fff!important;color:#405b75!important;box-shadow:0 2px 7px rgba(24,54,82,.05)!important}
.ghost:hover,.modal-actions [data-close]:hover,#cancel:hover{background:#f5f9fd!important;border-color:#aec4d9!important;color:#234b71!important}
.exchange-delete-button,.exchange-danger-primary,.danger-outline{border-radius:10px!important}
.exchange-edit-button{border:1px solid #c9d9ea!important;background:#f7faff!important;color:#1f5f9e!important}
.exchange-delete-button{border:1px solid #eccfd1!important;background:#fff7f7!important;color:#ae3e46!important}
.exchange-edit-button:hover{background:#edf5fc!important}.exchange-delete-button:hover{background:#fff0f1!important}
.exchange-select-create>button{width:42px!important;min-width:42px!important;padding:0!important;border:1px solid #cad8e6!important;background:linear-gradient(180deg,#fff,#f5f9fd)!important;color:#2a659c!important;font-size:20px!important;box-shadow:0 2px 8px rgba(31,76,113,.07)!important}

/* Generic + Exchange modal system */
#dialog,.exchange-dialog{width:min(92vw,720px);max-width:720px;padding:0!important;border:0!important;border-radius:20px!important;overflow:hidden!important;background:#fff!important;box-shadow:0 30px 90px rgba(14,39,64,.28)!important}
#dialog::backdrop,.exchange-dialog::backdrop{background:rgba(12,31,50,.52)!important;backdrop-filter:blur(5px)!important}
#dialog>form,.exchange-dialog>form{display:flex;flex-direction:column;max-height:min(86dvh,820px);background:linear-gradient(180deg,#fff 0%,#fbfdff 100%)}
#dialog .modal-head,.exchange-dialog .modal-head{position:sticky;top:0;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 22px 17px;margin:0!important;border-bottom:1px solid #e4ebf2;background:linear-gradient(135deg,#173a5c 0%,#245f8b 100%);color:#fff}
#dialog .modal-head .eyebrow,.exchange-dialog .modal-head .eyebrow{display:block;margin-bottom:5px;color:#bdd5e9;font-size:8px;font-weight:800;letter-spacing:1.8px}
#dialog .modal-head h2,.exchange-dialog .modal-head h2{margin:0!important;color:#fff!important;font-size:21px!important;line-height:1.2;letter-spacing:-.2px}
#dialog .modal-head .icon-button,.exchange-dialog .modal-head .icon-button{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;min-height:38px;padding:0!important;border:1px solid rgba(255,255,255,.2)!important;border-radius:10px!important;background:rgba(255,255,255,.1)!important;color:#fff!important;font-size:23px;line-height:1;box-shadow:none!important}
#dialog .modal-head .icon-button:hover,.exchange-dialog .modal-head .icon-button:hover{background:rgba(255,255,255,.18)!important;transform:none!important}
#fields,#dialog .form-grid,.exchange-dialog .form-grid{padding:20px 22px!important;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 18px!important;overflow:visible}
#dialog label,.exchange-dialog label,.exchange-contact-picker>label{display:grid;gap:7px!important;margin:0!important;color:#526b82!important;font-size:10.5px!important;font-weight:750!important;letter-spacing:.08px}
#dialog input,#dialog select,#dialog textarea,.exchange-dialog input,.exchange-dialog select,.exchange-dialog textarea{width:100%;min-height:44px;padding:10px 12px!important;border:1px solid #ccd9e5!important;border-radius:9px!important;background:#fff!important;color:#1d344b!important;font-size:13px;box-shadow:0 1px 2px rgba(20,53,82,.035)!important;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}
#dialog input:focus,#dialog select:focus,#dialog textarea:focus,.exchange-dialog input:focus,.exchange-dialog select:focus,.exchange-dialog textarea:focus{outline:none!important;border-color:#4388d2!important;box-shadow:0 0 0 3px rgba(67,136,210,.13)!important;background:#fff!important}
#dialog input:disabled,.exchange-dialog input:disabled{background:#f4f7fa!important;color:#718398!important}
.exchange-linked-field{min-height:44px!important;padding:9px 12px!important;border-radius:9px!important;border-color:#d7e3ee!important;background:#f5f9fd!important}
.exchange-linked-field small{display:none!important}
.exchange-select-create{display:flex;gap:8px;align-items:stretch}
.exchange-contact-status{font-size:9px!important;color:#8a9aad!important}
.exchange-calculation{margin:0 22px 18px!important;border-radius:12px!important}
.exchange-deposit-live-balance{margin:0 22px 18px!important;gap:12px!important}
.exchange-deposit-live-balance>div{flex:1 1 0!important;max-width:none!important;padding:13px 15px!important;border-radius:10px!important}
.exchange-deposit-live-balance small{font-size:8.5px!important;letter-spacing:.6px;font-weight:800!important}
.exchange-deposit-live-balance output{font-size:18px!important;font-weight:800!important}
.exchange-note{display:none!important}
#form-error,.exchange-form-error{min-height:18px;margin:0 22px 8px!important;color:#b33a3a!important;font-size:11px!important;line-height:1.4}
#dialog .modal-actions,.exchange-dialog .modal-actions{position:sticky;bottom:0;z-index:4;display:flex;justify-content:flex-end;gap:10px;padding:14px 22px 17px!important;margin:0!important;border-top:1px solid #e5ecf3;background:rgba(255,255,255,.97);backdrop-filter:blur(7px)}
#dialog .modal-actions button,.exchange-dialog .modal-actions button{min-width:112px;min-height:42px;padding:10px 17px!important}

/* Smaller contact popups */
#exchange-contact-dialog{max-width:560px}
#exchange-contact-dialog .form-grid{grid-template-columns:1fr!important}

/* Result/confirm popups keep a polished card appearance */
.exchange-confirm-dialog,.exchange-success-dialog,.pwa-message-dialog{border-radius:20px!important;box-shadow:0 30px 90px rgba(14,39,64,.28)!important}

@media(max-width:760px){
  #dialog,.exchange-dialog{width:calc(100vw - 18px)!important;max-width:none!important;max-height:calc(100dvh - 18px)!important;margin:9px!important;border-radius:16px!important;padding:0!important}
  #dialog>form,.exchange-dialog>form{max-height:calc(100dvh - 18px)}
  #dialog .modal-head,.exchange-dialog .modal-head{padding:16px 15px 14px!important}
  #dialog .modal-head h2,.exchange-dialog .modal-head h2{font-size:18px!important}
  #fields,#dialog .form-grid,.exchange-dialog .form-grid{grid-template-columns:1fr!important;padding:15px!important;gap:13px!important}
  #dialog input,#dialog select,#dialog textarea,.exchange-dialog input,.exchange-dialog select,.exchange-dialog textarea{font-size:16px!important;min-height:46px!important}
  .exchange-calculation,.exchange-deposit-live-balance{margin:0 15px 14px!important}
  #form-error,.exchange-form-error{margin:0 15px 8px!important}
  #dialog .modal-actions,.exchange-dialog .modal-actions{padding:12px 15px 14px!important;display:grid!important;grid-template-columns:1fr 1fr!important}
  #dialog .modal-actions button,.exchange-dialog .modal-actions button{width:100%;min-width:0!important;min-height:46px!important}
}
@media(max-width:420px){#dialog .modal-actions,.exchange-dialog .modal-actions{grid-template-columns:1fr!important}}

/* Popup scroll fix · 2026-09-21 */
#dialog>form,.exchange-dialog>form{
  min-height:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
  scrollbar-width:thin;
  scrollbar-color:#8fa9c0 #eef4f9;
}
#dialog>form::-webkit-scrollbar,.exchange-dialog>form::-webkit-scrollbar{width:10px}
#dialog>form::-webkit-scrollbar-track,.exchange-dialog>form::-webkit-scrollbar-track{background:#eef4f9}
#dialog>form::-webkit-scrollbar-thumb,.exchange-dialog>form::-webkit-scrollbar-thumb{background:#8fa9c0;border:2px solid #eef4f9;border-radius:999px}
#dialog>form::-webkit-scrollbar-thumb:hover,.exchange-dialog>form::-webkit-scrollbar-thumb:hover{background:#6f8ea8}
#dialog .modal-head,.exchange-dialog .modal-head{position:sticky!important;top:0!important;z-index:20!important;flex:0 0 auto}
#dialog .modal-actions,.exchange-dialog .modal-actions{position:sticky!important;bottom:0!important;z-index:20!important;flex:0 0 auto}
#fields,#dialog .form-grid,.exchange-dialog .form-grid{min-height:min-content}
@media(max-width:760px){
  #dialog>form,.exchange-dialog>form{max-height:calc(100dvh - 18px)!important}
}

/* Exchange contact telephone visibility · 2026-09-21 */
#exchange-result .exchange-table th:nth-child(3),
#exchange-result .exchange-table td:nth-child(3){
  min-width:200px!important;
  width:auto!important;
  max-width:none!important;
  white-space:nowrap!important;
  overflow-wrap:normal!important;
}
@media(max-width:760px){
  #exchange-result .exchange-table th:nth-child(3),
  #exchange-result .exchange-table td:nth-child(3){min-width:190px!important}
}


/* PDF-matched browser print · 2026-09-21 */
@media print{
  html,body{background:#fff!important;color:#20344d!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
  body>*:not(#print-area){display:none!important}
  #print-area.report-print-area{display:block!important;width:100%!important;padding:0!important;margin:0!important;background:#fff!important;color:#20344d!important;font-family:Arial,"Noto Sans",sans-serif!important}
  #print-area.report-print-area .print-pdf-brand{display:flex!important;justify-content:space-between!important;align-items:center!important;padding:0 0 3mm!important;margin:0 0 3mm!important;border-bottom:.6pt solid #dce5ee!important;color:#697d94!important;font-size:8pt!important;font-weight:700!important;letter-spacing:.2px}
  #print-area.report-print-area .print-pdf-brand span{color:#2376c6!important;font-size:10pt!important;font-weight:800!important}
  #print-area.report-print-area .report-sheet{display:block!important;border:0!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important;background:#fff!important}
  #print-area.report-print-area .report-sheet-head{display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:8mm!important;padding:0!important;margin:0 0 3mm!important;border:0!important;background:#fff!important;color:#20344d!important}
  #print-area.report-print-area .report-sheet-head h2{margin:0!important;color:#20344d!important;font-size:18pt!important;line-height:1.15!important;font-weight:800!important;letter-spacing:-.25px!important}
  #print-area.report-print-area.print-exchange-report .report-sheet-head h2{font-size:15pt!important}
  #print-area.report-print-area .report-count{padding:0!important;border:0!important;background:transparent!important;color:#748599!important;font-size:8pt!important;font-weight:600!important}
  #print-area.report-print-area .report-notes{display:block!important;padding:0!important;margin:0 0 3mm!important;border:0!important;background:#fff!important;color:#60758b!important;font-size:8pt!important}
  #print-area.report-print-area .report-notes span{display:inline-block!important;margin:0 5mm 1.2mm 0!important;padding:0!important;border:0!important;background:transparent!important}
  #print-area.report-print-area .report-notes b{color:#20344d!important}
  #print-area.report-print-area .exchange-dual-summary{display:grid!important;grid-template-columns:1fr 1fr!important;gap:3mm!important;margin:0 0 2.5mm!important}
  #print-area.report-print-area .exchange-summary-card{break-inside:avoid!important;border:.45pt solid #d5e1ed!important;border-radius:0!important;box-shadow:none!important;background:#fff!important}
  #print-area.report-print-area .exchange-summary-card>header{padding:2.2mm 2.6mm!important;border:0!important;border-bottom:.45pt solid #d5e1ed!important;background:#f7fbff!important;color:#5e7891!important}
  #print-area.report-print-area .exchange-summary-card h3,#print-area.report-print-area .exchange-summary-eyebrow,#print-area.report-print-area .exchange-summary-badge{color:#5e7891!important}
  #print-area.report-print-area .exchange-summary-body{padding:1.5mm 2.6mm!important;background:#fff!important}
  #print-area.report-print-area .exchange-summary-row{min-height:0!important;padding:1.1mm 0!important;border-bottom:.35pt solid #e3eaf1!important}
  #print-area.report-print-area .exchange-summary-row span{font-size:7.1pt!important;color:#61768c!important}
  #print-area.report-print-area .exchange-summary-row strong{font-size:7.1pt!important;color:#173b5f!important}
  #print-area.report-print-area .exchange-summary-row.balance strong{color:#1766a8!important}
  #print-area.report-print-area .exchange-summary-note{display:none!important}
  #print-area.report-print-area .exchange-report-blue-rule{display:block!important;height:0!important;margin:2mm 0!important;border-bottom:.55pt solid #2f7bd5!important}
  #print-area.report-print-area .table-wrap,#print-area.report-print-area .exchange-table-wrap{display:block!important;max-height:none!important;overflow:visible!important;border:0!important}
  #print-area.report-print-area table,#print-area.report-print-area .exchange-table{display:table!important;width:100%!important;min-width:0!important;max-width:none!important;border-collapse:collapse!important;border-spacing:0!important;table-layout:auto!important;white-space:normal!important}
  #print-area.report-print-area thead{display:table-header-group!important}
  #print-area.report-print-area tbody{display:table-row-group!important}
  #print-area.report-print-area tr{display:table-row!important;break-inside:avoid!important}
  #print-area.report-print-area th,#print-area.report-print-area td{position:static!important;display:table-cell!important;min-width:0!important;max-width:none!important;width:auto!important;padding:1.75mm .8mm!important;border:0!important;border-bottom:.4pt solid #e3eaf1!important;background:#fff!important;color:#20344d!important;font-size:8.1pt!important;line-height:1.2!important;vertical-align:middle!important;overflow-wrap:normal!important;word-break:normal!important}
  #print-area.report-print-area th{padding:1.9mm .8mm!important;background:#173b5f!important;color:#fff!important;font-size:7.4pt!important;font-weight:800!important;text-align:center!important;white-space:normal!important}
  #print-area.report-print-area tbody tr:nth-child(even) td{background:#f2f6fa!important}
  #print-area.report-print-area th:first-child,#print-area.report-print-area td:first-child{text-align:center!important}
  #print-area.report-print-area td.num{text-align:right!important;white-space:nowrap!important}
  #print-area.report-print-area th.num{text-align:center!important}
  #print-area.report-print-area .report-totals{display:flex!important;flex-wrap:wrap!important;justify-content:flex-end!important;gap:0!important;margin:0!important;padding:0!important;border:0!important;background:#e6f0fb!important;break-inside:avoid!important}
  #print-area.report-print-area .report-totals>div{display:flex!important;justify-content:space-between!important;gap:4mm!important;min-width:42mm!important;padding:1.8mm 2.2mm!important;border:0!important;color:#173b5f!important}
  #print-area.report-print-area .report-totals small,#print-area.report-print-area .report-totals strong{font-size:8.1pt!important;font-weight:800!important;color:#173b5f!important}
  #print-area.report-print-area .report-sheet-footer{display:none!important}
  #print-area.report-print-area .print-pdf-footer{display:flex!important;justify-content:space-between!important;gap:8mm!important;margin-top:4mm!important;padding-top:2.5mm!important;border-top:.5pt solid #dce5ee!important;color:#748599!important;font-size:7pt!important}
  #print-area.report-print-area.print-standard-report th,#print-area.report-print-area.print-standard-report td{padding:2.1mm 1.5mm!important}
  #print-area.report-print-area.print-standard-report .report-sheet-head h2{font-size:24pt!important}
}

/* Flexible screen tables - content-aware columns, no wrapping, no clipping */
@media screen {
  .table-wrap,.exchange-table-wrap{max-width:100%;overflow-x:auto!important;overflow-y:auto;-webkit-overflow-scrolling:touch}
  .table-wrap>table,.exchange-table-wrap>table,.exchange-table{
    width:max-content!important;
    min-width:100%!important;
    max-width:none!important;
    table-layout:auto!important;
    white-space:nowrap!important;
  }
  .table-wrap>table th,.table-wrap>table td,
  .exchange-table-wrap>table th,.exchange-table-wrap>table td,
  .exchange-table th,.exchange-table td{
    width:auto!important;
    max-width:none!important;
    height:auto!important;
    min-height:0!important;
    white-space:nowrap!important;
    overflow:visible!important;
    text-overflow:clip!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
    vertical-align:middle!important;
  }
  .table-wrap>table th,.exchange-table-wrap>table th,.exchange-table th{line-height:1.2!important}
  .table-wrap>table td,.exchange-table-wrap>table td,.exchange-table td{line-height:1.3!important}
}

/* =========================================================
   BHA ERP · Premium Responsive Interface · 2026-09-21
   Visual layer only — no business logic changes
   ========================================================= */
@media screen {
  :root{
    --ui-blue:#226fc3;
    --ui-blue-deep:#163d64;
    --ui-navy:#102b47;
    --ui-surface:#ffffff;
    --ui-soft:#f6f9fc;
    --ui-border:#dfe8f1;
    --ui-shadow:0 10px 32px rgba(24,58,92,.08);
    --ui-shadow-soft:0 4px 16px rgba(24,58,92,.055);
  }

  body{background:linear-gradient(180deg,#f5f8fc 0%,#f1f5f9 100%);}

  aside{
    background:linear-gradient(168deg,#123656 0%,#0c2741 58%,#081d31 100%);
    box-shadow:8px 0 30px rgba(12,39,65,.08);
  }
  .brand-mark{background:linear-gradient(145deg,rgba(255,255,255,.17),rgba(255,255,255,.06));border-color:rgba(255,255,255,.16);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}
  .workspace{border-color:rgba(255,255,255,.1);background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.025));box-shadow:inset 0 1px 0 rgba(255,255,255,.045)}
  nav button{border:1px solid transparent;transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}
  nav button:hover{transform:translateX(2px);border-color:rgba(255,255,255,.05)}
  nav button.active{background:linear-gradient(135deg,#3889df,#2d73c5);border-color:rgba(255,255,255,.12);box-shadow:0 8px 18px rgba(18,66,111,.28)}

  .topbar{
    background:rgba(255,255,255,.91);
    border-bottom:1px solid rgba(215,226,237,.86);
    box-shadow:0 4px 20px rgba(26,57,89,.035);
    backdrop-filter:blur(16px) saturate(150%);
    -webkit-backdrop-filter:blur(16px) saturate(150%);
  }
  .topbar-action,#menu{border:1px solid #e0e9f2!important;background:#fff!important;box-shadow:0 3px 10px rgba(24,58,92,.05)!important;color:#426785!important}
  .topbar-action:hover,#menu:hover{background:#f4f8fc!important;border-color:#cdddea!important;transform:translateY(-1px)}
  .top-language{padding:4px;border:1px solid #dde7f0;border-radius:12px;background:#f4f8fc;box-shadow:inset 0 1px 2px rgba(26,58,88,.035)}
  .top-lang-button{border-radius:8px!important;min-height:34px!important;padding:0 9px!important}
  .top-lang-button.active,.top-lang-button[aria-pressed="true"]{background:#fff!important;box-shadow:0 3px 10px rgba(29,68,105,.1)!important}

  .page{animation:uiPageIn .22s ease-out both}
  @keyframes uiPageIn{from{opacity:.4;transform:translateY(3px)}to{opacity:1;transform:none}}
  .page-head{padding:2px 0}
  .page-head h1{color:#173552;font-weight:760;letter-spacing:-.7px}
  .page-head p{color:#71879c}
  .page-head .eyebrow{color:#6685a1;font-weight:800}

  .panel,.kpi,.stock-strip,.report-card,.report-sheet{
    border-color:var(--ui-border)!important;
    box-shadow:var(--ui-shadow-soft)!important;
  }
  .panel,.kpi,.stock-strip,.report-card{border-radius:14px!important}
  .panel-head{background:linear-gradient(180deg,#fff 0%,#fbfdff 100%)}
  .kpi{transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
  .kpi:hover{transform:translateY(-2px);border-color:#d3e0ec!important;box-shadow:var(--ui-shadow)!important}

  .actions>button,.actions>a,.export-button,.toolbar button,.report-filter button,.exchange-tabs button,.exchange-deposit-actions button{
    min-height:42px;
  }
  .export-button{background:linear-gradient(180deg,#fff,#f9fbfd)!important;border-color:#dbe5ef!important;box-shadow:0 3px 10px rgba(24,58,92,.04)!important}
  .export-button:hover{border-color:#bed2e5!important;box-shadow:0 6px 15px rgba(24,58,92,.075)!important}

  input,select,textarea{transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}
  input:hover,select:hover,textarea:hover{border-color:#c7d7e6}
  input:focus,select:focus,textarea:focus{border-color:#4d8dd1!important;box-shadow:0 0 0 3px rgba(56,131,210,.12)!important;outline:0!important}

  .table-wrap,.exchange-table-wrap{
    border:1px solid #e0e8f0;
    border-radius:12px;
    background:#fff;
    box-shadow:0 3px 12px rgba(24,58,92,.035);
  }
  table thead th,.exchange-table thead th{background:#f6f9fc;color:#55708a;border-bottom:1px solid #dce6ef;font-weight:780}
  table tbody tr,.exchange-table tbody tr{transition:background .12s ease}
  table tbody tr:hover td,.exchange-table tbody tr:hover td{background:#f7fbff}

  .report-filter{border:1px solid #e0e8f0!important;border-radius:14px!important;background:linear-gradient(180deg,#fff,#fbfdff)!important;box-shadow:0 4px 15px rgba(24,58,92,.04)}
  .exchange-intro{border:1px solid rgba(255,255,255,.08);box-shadow:0 12px 30px rgba(19,59,92,.13);background:linear-gradient(125deg,#173d62 0%,#245f8b 100%)}
  .exchange-tabs{padding:5px;background:#f3f7fb;border:1px solid #dfe8f1;border-radius:12px;gap:4px}
  .exchange-tabs button{border:0!important;border-radius:8px!important;padding:9px 14px!important;color:#57708a;background:transparent}
  .exchange-tabs button.selected{background:#fff!important;color:#246bb5!important;box-shadow:0 3px 10px rgba(26,65,101,.09);font-weight:800!important}
  .exchange-row-actions{display:flex;align-items:center;gap:6px}

  #dialog,.exchange-dialog,.exchange-confirm-dialog,.exchange-success-dialog{
    border:1px solid rgba(216,228,239,.85)!important;
    box-shadow:0 34px 100px rgba(9,32,54,.3)!important;
  }
  #dialog::backdrop,.exchange-dialog::backdrop,.exchange-confirm-dialog::backdrop,.exchange-success-dialog::backdrop{
    background:rgba(8,27,46,.55)!important;
    backdrop-filter:blur(7px) saturate(120%)!important;
    -webkit-backdrop-filter:blur(7px) saturate(120%)!important;
  }
}

@media screen and (max-width:760px){
  html{background:#f3f7fb}
  body{min-width:0;overflow-x:hidden;padding-bottom:env(safe-area-inset-bottom)}

  aside{
    width:min(86vw,312px)!important;
    padding:calc(18px + env(safe-area-inset-top)) 14px calc(16px + env(safe-area-inset-bottom))!important;
    border-radius:0 20px 20px 0;
    box-shadow:18px 0 50px rgba(5,24,42,.24);
  }
  aside .brand{padding:0 9px}
  .workspace{margin:20px 0 13px!important;padding:11px!important;border-radius:12px!important}
  nav .group{padding:14px 11px 7px!important}
  nav button{min-height:45px!important;padding:11px 12px!important;border-radius:10px!important;font-size:12px!important;margin:3px 0!important}
  nav button:hover{transform:none}
  #shade{background:rgba(7,25,42,.46)!important;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}

  .topbar{
    min-height:58px!important;height:58px!important;
    padding-left:max(10px,env(safe-area-inset-left))!important;
    padding-right:max(10px,env(safe-area-inset-right))!important;
    gap:7px!important;
  }
  #menu{display:grid!important;place-items:center;width:40px!important;height:40px!important;min-width:40px!important;padding:0!important;border-radius:11px!important;font-size:18px}
  .global-search,.breadcrumb,.identity,.avatar{display:none!important}
  .top-actions{margin-left:auto!important;gap:6px!important;min-width:0}
  .top-language{gap:2px!important;padding:3px!important;border-radius:10px!important}
  .top-lang-button{height:34px!important;min-height:34px!important;min-width:50px!important;padding:0 7px!important;gap:4px!important;font-size:10px!important}
  .topbar-action{width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important;padding:0!important;border-radius:10px!important;display:grid;place-items:center}
  .topbar-action svg{width:18px!important;height:18px!important}

  .page{padding:17px 12px 24px!important;max-width:100%!important}
  .page-head{gap:12px!important;margin-bottom:15px!important}
  .page-head h1{font-size:25px!important;line-height:1.08!important;letter-spacing:-.65px!important}
  .page-head p{font-size:11.5px!important;line-height:1.55!important;margin-top:6px!important}
  .page-head .eyebrow{font-size:8px!important;margin-bottom:7px!important;letter-spacing:1.35px!important}

  .actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;width:100%!important}
  .actions>button,.actions>a{width:100%!important;min-width:0!important;min-height:45px!important;justify-content:center!important;padding:10px 8px!important;border-radius:11px!important;font-size:11px!important}
  .actions>.primary:last-child:nth-child(odd){grid-column:1/-1}

  .kpis,.finance-kpis{grid-template-columns:1fr!important;gap:10px!important}
  .kpi{padding:16px!important;border-radius:14px!important}
  .kpi strong{font-size:26px!important}
  .kpi small{min-height:0!important;margin-top:9px!important}
  .dashboard-main{gap:12px!important}
  .panel{border-radius:14px!important;margin-bottom:13px!important;overflow:hidden}
  .panel-head{padding:15px!important}
  .stock-strip{display:grid!important;grid-template-columns:1fr!important;gap:0!important;padding:5px 14px!important;border-radius:14px!important}
  .stock-strip>div{border-right:0!important;border-bottom:1px solid #edf2f6!important;padding:13px 0!important}
  .stock-strip>div:last-of-type{border-bottom:0!important}

  .toolbar{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;padding:12px!important}
  .toolbar input{max-width:none!important;width:100%!important}

  .report-banner{border-radius:14px!important;padding:17px 14px!important}
  .report-tabs,.exchange-tabs{
    display:flex!important;overflow-x:auto!important;overscroll-behavior-x:contain;scroll-snap-type:x proximity;
    -webkit-overflow-scrolling:touch;scrollbar-width:none!important;gap:4px!important;padding:4px!important;border-radius:11px!important;
  }
  .report-tabs::-webkit-scrollbar,.exchange-tabs::-webkit-scrollbar{display:none}
  .report-tabs button,.exchange-tabs button{flex:0 0 auto!important;scroll-snap-align:start;min-height:40px!important;padding:9px 12px!important;border-radius:8px!important;font-size:12px!important}

  .report-filter{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;padding:13px!important;border-radius:13px!important}
  .report-filter label{width:100%!important;min-width:0!important;gap:6px!important;font-size:10px!important}
  .report-filter input,.report-filter select{width:100%!important;min-height:46px!important;font-size:16px!important;border-radius:10px!important}
  .report-filter button{width:100%!important;min-height:46px!important;border-radius:10px!important}

  .exchange-intro{padding:15px!important;border-radius:14px!important;margin-bottom:12px!important;box-shadow:0 8px 20px rgba(19,59,92,.11)!important}
  .exchange-intro h2{font-size:19px!important}
  .exchange-intro .eyebrow{margin-bottom:5px!important}
  .exchange-symbol{display:none!important}
  .exchange-deposit-controls{padding:12px!important;border-radius:13px!important}
  .exchange-deposit-actions button{min-height:46px!important;border-radius:10px!important}

  .table-wrap,.exchange-table-wrap{border-radius:12px!important;max-height:67dvh!important;box-shadow:none!important}
  .table-wrap>table,.exchange-table-wrap>table,.exchange-table{min-width:max-content!important;width:max-content!important}
  table th,table td,.exchange-table th,.exchange-table td{white-space:nowrap!important}
  table th,.exchange-table th{font-size:10.5px!important;padding:11px 9px!important}
  table td,.exchange-table td{font-size:12.5px!important;padding:12px 9px!important}
  table th:first-child,table td:first-child,.exchange-table th:first-child,.exchange-table td:first-child{
    position:sticky!important;left:0!important;z-index:4!important;min-width:52px!important;background:#fff!important;box-shadow:1px 0 0 #e1e8ef;
  }
  table thead th:first-child,.exchange-table thead th:first-child{background:#f6f9fc!important;z-index:6!important}

  #dialog,.exchange-dialog{
    width:calc(100vw - 14px)!important;max-width:none!important;max-height:calc(100dvh - 14px)!important;margin:7px!important;border-radius:18px!important;
  }
  #dialog>form,.exchange-dialog>form{max-height:calc(100dvh - 14px)!important}
  #dialog .modal-head,.exchange-dialog .modal-head{padding:16px 15px 14px!important}
  #dialog .modal-head h2,.exchange-dialog .modal-head h2{font-size:19px!important;line-height:1.18!important}
  #dialog .modal-head .icon-button,.exchange-dialog .modal-head .icon-button{width:38px!important;height:38px!important;flex-basis:38px!important}
  #fields,#dialog .form-grid,.exchange-dialog .form-grid{grid-template-columns:1fr!important;padding:14px!important;gap:12px!important}
  #dialog label,.exchange-dialog label,.exchange-contact-picker>label{font-size:11px!important;gap:6px!important}
  #dialog input,#dialog select,#dialog textarea,.exchange-dialog input,.exchange-dialog select,.exchange-dialog textarea{min-height:46px!important;font-size:16px!important;border-radius:10px!important;padding:11px 12px!important}
  .exchange-select-create{gap:7px!important}
  .exchange-select-create>button{width:46px!important;min-width:46px!important;min-height:46px!important;border-radius:10px!important}
  .exchange-calculation{margin:0 14px 12px!important;padding:12px!important;gap:7px!important;border-radius:12px!important}
  .exchange-calculation>div{padding:7px 4px!important}
  .exchange-calculation output{font-size:18px!important}
  .exchange-contact-status{font-size:9.5px!important;line-height:1.35!important}
  #dialog .modal-actions,.exchange-dialog .modal-actions{padding:11px 14px calc(11px + env(safe-area-inset-bottom))!important;gap:8px!important;background:rgba(255,255,255,.97)!important;backdrop-filter:blur(10px)}
  #dialog .modal-actions button,.exchange-dialog .modal-actions button{min-height:47px!important;border-radius:10px!important;font-size:12px!important}

  .exchange-confirm-dialog,.exchange-success-dialog{width:calc(100vw - 24px)!important;max-width:460px!important;border-radius:18px!important}
  .exchange-result-modal{padding:22px 16px 18px!important}
  .exchange-result-icon{width:58px!important;height:58px!important;font-size:29px!important;margin-bottom:13px!important}
  .exchange-result-modal h2{font-size:20px!important}
  .exchange-result-modal p{font-size:13px!important;line-height:1.55!important}
  .exchange-result-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}
  .exchange-result-actions.single{grid-template-columns:1fr!important}
  .exchange-result-actions button{min-height:46px!important;width:100%!important}

  .bottom{padding:11px 12px calc(15px + env(safe-area-inset-bottom))!important;line-height:1.45!important}
}

@media screen and (max-width:420px){
  .page{padding-left:10px!important;padding-right:10px!important}
  .page-head h1{font-size:23px!important}
  .actions{grid-template-columns:1fr!important}
  .actions>button,.actions>a{grid-column:auto!important}
  .top-lang-button{min-width:46px!important;padding:0 5px!important}
  .topbar-action{width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important}
  #menu{width:38px!important;height:38px!important;min-width:38px!important}
  .exchange-result-actions{grid-template-columns:1fr!important}
}
\n/* Optional user profile photo · 2026-09-21 */
.profile-shortcut{padding:0;overflow:hidden;border-radius:50%;background:rgba(255,255,255,.14)}
.top-avatar{display:grid;place-items:center;width:100%;height:100%;border-radius:50%;overflow:hidden;color:#f4f9fd}
.top-avatar svg{width:18px;height:18px}.top-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.settings-profile-avatar-button{position:relative;padding:0;border:0;cursor:pointer;overflow:visible;flex:0 0 58px;width:58px;height:58px;border-radius:50%}
.settings-profile-avatar-button>img{width:100%;height:100%;display:block;object-fit:cover;border-radius:50%}
.settings-profile-avatar-button>svg{width:24px;height:24px}
.settings-avatar-camera{position:absolute;right:-3px;bottom:-3px;display:grid;place-items:center;width:22px;height:22px;border:2px solid #fff;border-radius:50%;background:#1769c2;color:#fff;font-size:16px;line-height:1;font-weight:800;box-shadow:0 3px 8px rgba(20,66,100,.22)}
.settings-photo-tools{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 0;border-bottom:1px solid #edf1f5}
.settings-photo-tools b{display:block;font-size:12px;color:#2d4358}.settings-photo-tools small{display:block;margin-top:4px;font-size:10px;color:#8795a5;line-height:1.45}
.settings-photo-actions{display:flex;gap:8px;flex:0 0 auto}.settings-photo-actions button{min-height:36px}
@media(max-width:600px){.settings-profile-head{align-items:flex-start}.settings-photo-tools{align-items:stretch;flex-direction:column}.settings-photo-actions{width:100%}.settings-photo-actions button{flex:1}.profile-shortcut{width:38px;height:38px;flex:0 0 38px}}


/* EXCHANGE premium circular pie chart · 2026-09-21 */
.exchange-dashboard-panel{
  overflow:hidden;
  border:1px solid #dfe8f1!important;
  box-shadow:0 14px 34px rgba(24,57,88,.08)!important;
}
.exchange-dashboard-panel .panel-head{
  padding:18px 22px!important;
  background:linear-gradient(135deg,#f9fcff 0%,#f1f7fc 100%)!important;
  border-bottom:1px solid #e4edf5!important;
}
.exchange-dashboard-body{
  grid-template-columns:minmax(300px,360px) 1fr!important;
  gap:34px!important;
  padding:30px 32px 32px!important;
}
.exchange-donut-wrap{
  display:grid!important;
  justify-items:center!important;
  gap:18px!important;
}
.exchange-donut{
  --deposit-rate:0;
  width:220px!important;
  height:220px!important;
  border-radius:50%!important;
  display:grid!important;
  place-items:center!important;
  position:relative!important;
  background:conic-gradient(
    from -90deg,
    #315fae 0 calc(var(--deposit-rate)*1%),
    #dce7f1 calc(var(--deposit-rate)*1%) 100%
  )!important;
  border:8px solid #fff!important;
  box-shadow:
    0 18px 38px rgba(26,62,98,.16),
    inset 0 0 0 1px rgba(19,62,105,.08)!important;
}
.exchange-donut:before{
  content:"";
  position:absolute;
  inset:6px;
  border-radius:50%;
  background:radial-gradient(circle at 33% 27%,rgba(255,255,255,.20),transparent 34%);
  pointer-events:none;
  z-index:1;
}
.exchange-donut:after{display:none!important}
.exchange-pie-gloss{
  position:absolute;
  inset:0;
  border-radius:50%;
  background:linear-gradient(145deg,rgba(255,255,255,.16),transparent 44%,rgba(20,54,91,.08));
  pointer-events:none;
  z-index:1;
}
.exchange-donut-center{
  position:relative!important;
  z-index:2!important;
  min-width:118px;
  padding:13px 16px 12px;
  border-radius:16px;
  text-align:center;
  background:rgba(255,255,255,.92);
  box-shadow:0 10px 26px rgba(21,54,87,.16),inset 0 0 0 1px rgba(49,95,174,.10);
  backdrop-filter:blur(8px);
}
.exchange-donut-center strong{
  display:block!important;
  font-size:31px!important;
  line-height:1!important;
  font-weight:850!important;
  color:#173a5d!important;
  letter-spacing:-1px!important;
}
.exchange-donut-center span{
  display:block!important;
  margin-top:7px!important;
  font-size:8px!important;
  font-weight:800!important;
  letter-spacing:1px!important;
  color:#6e8398!important;
}
.exchange-donut-legend{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:center!important;
  gap:10px!important;
  width:100%;
  white-space:normal!important;
}
.exchange-donut-legend .legend-item{
  display:grid!important;
  grid-template-columns:10px auto!important;
  grid-template-rows:auto auto!important;
  column-gap:8px!important;
  align-items:center!important;
  min-width:132px;
  padding:9px 11px;
  border:1px solid #e0e9f2;
  border-radius:12px;
  background:#fff;
  box-shadow:0 4px 14px rgba(28,64,99,.05);
}
.exchange-donut-legend .legend-item i{
  grid-row:1 / 3;
  width:10px!important;
  height:10px!important;
  border-radius:50%!important;
}
.exchange-donut-legend .legend-item.deposited i{background:#315fae!important}
.exchange-donut-legend .legend-item.remaining i{background:#dce7f1!important;border:1px solid #c8d6e4}
.exchange-donut-legend .legend-item b{
  font-size:12px;
  line-height:1.1;
  color:#203d59;
}
.exchange-donut-legend .legend-item em{
  font-style:normal;
  font-size:9px;
  line-height:1.2;
  color:#8192a4;
}
.exchange-dashboard-metrics>div{
  border-radius:14px!important;
  background:linear-gradient(180deg,#ffffff 0%,#f9fcff 100%)!important;
  box-shadow:0 6px 18px rgba(25,59,91,.045)!important;
}
.exchange-dashboard-metrics>div.balance{
  background:linear-gradient(180deg,#f7fbff 0%,#eef6fd 100%)!important;
}
@media(max-width:1000px){
  .exchange-dashboard-body{grid-template-columns:1fr!important}
}
@media(max-width:760px){
  .exchange-dashboard-body{padding:20px 16px 22px!important;gap:22px!important}
  .exchange-donut{width:190px!important;height:190px!important;border-width:6px!important}
  .exchange-donut-center{min-width:105px;padding:11px 13px 10px}
  .exchange-donut-center strong{font-size:27px!important}
  .exchange-donut-legend{gap:8px!important}
  .exchange-donut-legend .legend-item{min-width:0;flex:1 1 135px}
}
@media(max-width:420px){
  .exchange-donut{width:172px!important;height:172px!important}
  .exchange-donut-center strong{font-size:24px!important}
  .exchange-donut-legend{display:grid!important;grid-template-columns:1fr 1fr!important;width:100%!important}
}

/* General mobile responsive hardening · 2026-09-21 */
@media screen and (max-width:820px){
  html,body{width:100%;max-width:100%;overflow-x:hidden!important}
  body{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);background:#f5f8fb}
  main{margin-left:0!important;width:100%!important;max-width:100vw!important;overflow-x:hidden!important}
  aside{position:fixed!important;top:0!important;bottom:0!important;left:0!important;width:min(86vw,300px)!important;max-width:300px!important;height:100dvh!important;z-index:1200!important;transform:translateX(-105%)!important;transition:transform .22s ease!important;overflow-y:auto!important;overscroll-behavior:contain!important;padding-top:env(safe-area-inset-top)!important;padding-bottom:env(safe-area-inset-bottom)!important}
  aside.open{transform:translateX(0)!important}
  #shade{position:fixed!important;inset:0!important;z-index:1190!important;background:rgba(9,28,46,.52)!important;backdrop-filter:blur(2px)!important}

  .topbar{height:auto!important;min-height:58px!important;padding:max(6px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) 6px max(10px,env(safe-area-inset-left))!important;gap:7px!important;display:flex!important;align-items:center!important;flex-wrap:nowrap!important}
  #menu{display:grid!important;place-items:center!important;flex:0 0 40px!important;width:40px!important;height:40px!important;min-width:40px!important;padding:0!important}
  .breadcrumb,.global-search,.identity,.avatar{display:none!important}
  .top-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:6px!important;margin-left:auto!important;min-width:0!important;max-width:calc(100vw - 58px)!important;overflow:visible!important}
  .top-lang-button{min-width:48px!important;height:38px!important;padding:0 7px!important;flex:0 0 auto!important}
  .topbar-action,.profile-shortcut{width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important;flex:0 0 38px!important}

  .page{width:100%!important;max-width:100%!important;margin:0!important;padding:16px 10px calc(24px + env(safe-area-inset-bottom))!important;overflow-x:hidden!important}
  .page-head{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:12px!important;margin-bottom:14px!important}
  .page-head>div{min-width:0!important}
  .page-head h1{font-size:clamp(22px,6vw,27px)!important;line-height:1.08!important;overflow-wrap:anywhere!important}
  .page-head p{font-size:11px!important;line-height:1.5!important;max-width:100%!important}
  .actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;width:100%!important}
  .actions>button,.actions>a{width:100%!important;min-width:0!important;min-height:44px!important;padding:9px 7px!important;justify-content:center!important;font-size:10.5px!important}

  .kpis,.finance-kpis,.dashboard-main,.report-cards,.settings-account-grid{grid-template-columns:1fr!important;width:100%!important;gap:10px!important}
  .kpi,.panel,.report-banner,.report-sheet,.settings-profile-card,.settings-preference-card{width:100%!important;min-width:0!important;max-width:100%!important;border-radius:14px!important}
  .panel-head{padding:14px!important;gap:9px!important;flex-wrap:wrap!important}
  .panel-head>div{min-width:0!important;flex:1 1 180px!important}
  .panel-head h3{overflow-wrap:anywhere!important}

  .exchange-dashboard-panel .panel-head{padding:14px!important}
  .exchange-dashboard-body{display:grid!important;grid-template-columns:1fr!important;gap:18px!important;padding:18px 12px 20px!important}
  .exchange-donut-wrap{width:100%!important;max-width:100%!important;gap:12px!important}
  .exchange-donut{width:min(54vw,190px)!important;height:min(54vw,190px)!important;max-width:190px!important;max-height:190px!important}
  .exchange-donut-center{min-width:98px!important;max-width:60%!important;padding:10px 12px!important}
  .exchange-donut-center strong{font-size:clamp(22px,7vw,28px)!important}
  .exchange-donut-legend{display:grid!important;grid-template-columns:1fr!important;gap:7px!important;width:100%!important;max-width:360px!important}
  .exchange-donut-legend .legend-item{width:100%!important;min-width:0!important;max-width:none!important}
  .exchange-dashboard-metrics{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;width:100%!important}
  .exchange-dashboard-metrics>div{min-width:0!important;width:100%!important;padding:13px!important}

  .report-tabs,.exchange-tabs{display:flex!important;width:100%!important;max-width:100%!important;overflow-x:auto!important;overflow-y:hidden!important;-webkit-overflow-scrolling:touch!important;scrollbar-width:none!important;white-space:nowrap!important;gap:4px!important;padding:4px!important}
  .report-tabs::-webkit-scrollbar,.exchange-tabs::-webkit-scrollbar{display:none!important}
  .report-tabs button,.exchange-tabs button{flex:0 0 auto!important;min-width:max-content!important;white-space:nowrap!important}

  .report-filter,.toolbar,.exchange-deposit-controls{display:grid!important;grid-template-columns:1fr!important;width:100%!important;gap:8px!important;padding:11px!important}
  .report-filter label,.toolbar label,.exchange-deposit-controls>*{min-width:0!important;width:100%!important;max-width:100%!important}
  .report-filter input,.report-filter select,.toolbar input,.toolbar select,.exchange-deposit-controls input,.exchange-deposit-controls select{width:100%!important;max-width:100%!important;min-width:0!important;font-size:16px!important}

  .table-wrap,.exchange-table-wrap{width:100%!important;max-width:100%!important;overflow-x:auto!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior:contain!important;border-radius:11px!important}
  .table-wrap table,.exchange-table-wrap table,.exchange-table{width:max-content!important;min-width:100%!important;table-layout:auto!important}
  table th,table td,.exchange-table th,.exchange-table td{white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important;max-width:none!important;height:auto!important;line-height:1.25!important}

  #dialog,.exchange-dialog{width:calc(100vw - 12px)!important;max-width:none!important;max-height:calc(100dvh - 12px)!important;margin:6px!important;border-radius:16px!important}
  #dialog>form,.exchange-dialog>form{max-height:calc(100dvh - 12px)!important;min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important}
  #dialog .modal-head,.exchange-dialog .modal-head{padding:14px 13px 12px!important;gap:10px!important}
  #dialog .modal-head h2,.exchange-dialog .modal-head h2{font-size:18px!important;line-height:1.15!important;overflow-wrap:anywhere!important}
  #fields,#dialog .form-grid,.exchange-dialog .form-grid{grid-template-columns:1fr!important;padding:12px!important;gap:11px!important}
  #dialog input,#dialog select,#dialog textarea,.exchange-dialog input,.exchange-dialog select,.exchange-dialog textarea{font-size:16px!important;min-height:46px!important;width:100%!important;max-width:100%!important}
  .exchange-select-create{display:grid!important;grid-template-columns:minmax(0,1fr) 46px!important;gap:7px!important;width:100%!important}
  .exchange-select-create>button{width:46px!important;min-width:46px!important;height:46px!important;min-height:46px!important}
  .exchange-calculation,.exchange-deposit-live-balance{margin-left:12px!important;margin-right:12px!important}
  .exchange-calculation{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:5px!important;padding:10px!important}
  .exchange-calculation>div{min-width:0!important;padding:6px 3px!important}
  .exchange-calculation small{font-size:7.5px!important;white-space:normal!important;line-height:1.2!important}
  .exchange-calculation output{font-size:clamp(14px,4.5vw,18px)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  #dialog .modal-actions,.exchange-dialog .modal-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;padding:10px 12px calc(10px + env(safe-area-inset-bottom))!important}
  #dialog .modal-actions button,.exchange-dialog .modal-actions button{width:100%!important;min-width:0!important;min-height:46px!important}

  .exchange-confirm-dialog,.exchange-success-dialog,.pwa-message-dialog{width:calc(100vw - 20px)!important;max-width:460px!important;margin:10px!important;border-radius:16px!important}
  .exchange-result-modal{padding:20px 14px 16px!important}
  .exchange-result-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}

  .settings-profile-rows>div{grid-template-columns:1fr!important;gap:5px!important;align-items:start!important}
  .settings-photo-tools{align-items:stretch!important;flex-direction:column!important}
  .settings-photo-actions{display:grid!important;grid-template-columns:1fr 1fr!important;width:100%!important}

  .bottom{display:block!important;padding:10px 10px calc(16px + env(safe-area-inset-bottom))!important;text-align:center!important}
}

@media screen and (max-width:480px){
  .actions{grid-template-columns:1fr!important}
  .page{padding-left:8px!important;padding-right:8px!important}
  .top-actions{gap:4px!important}
  .top-lang-button{min-width:44px!important;padding:0 5px!important}
  .topbar-action,.profile-shortcut{width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;flex-basis:36px!important}
  #menu{width:38px!important;height:38px!important;min-width:38px!important;flex-basis:38px!important}
  .exchange-donut{width:min(58vw,176px)!important;height:min(58vw,176px)!important}
  .exchange-result-actions,#dialog .modal-actions,.exchange-dialog .modal-actions{grid-template-columns:1fr!important}
  .settings-photo-actions{grid-template-columns:1fr!important}
}


/* Professional two-slice EXCHANGE pie chart · 2026-09-22 */
.exchange-dashboard-panel .exchange-donut.exchange-pie{
  --deposit-rate:0;
  width:224px!important;
  height:224px!important;
  border:7px solid #fff!important;
  border-radius:50%!important;
  background:conic-gradient(
    from -90deg,
    var(--pie-deposited,var(--exchange-deposited-color,#2f6fed)) 0 var(--deposit-stop,0%),
    var(--pie-remaining,var(--exchange-remaining-color,#f1a43a)) var(--deposit-stop,0%) 100%
  )!important;
  box-shadow:0 20px 44px rgba(22,52,83,.18), inset 0 0 0 1px rgba(16,52,90,.08)!important;
  overflow:hidden!important;
  position:relative!important;
}
.exchange-dashboard-panel .exchange-donut.exchange-pie:after{display:none!important}
.exchange-dashboard-panel .exchange-donut.exchange-pie:before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  border-radius:50%!important;
  background:radial-gradient(circle at 32% 24%,rgba(255,255,255,.28),transparent 30%),linear-gradient(145deg,rgba(255,255,255,.12),transparent 48%,rgba(15,45,77,.08))!important;
  pointer-events:none!important;
}
.exchange-dashboard-panel .exchange-pie-gloss{z-index:2!important;opacity:.7}
.exchange-dashboard-panel .exchange-pie-label{
  position:absolute!important;
  z-index:4!important;
  display:grid!important;
  place-items:center!important;
  min-width:74px!important;
  padding:8px 10px 7px!important;
  border:1px solid rgba(255,255,255,.68)!important;
  border-radius:12px!important;
  background:rgba(255,255,255,.91)!important;
  box-shadow:0 7px 18px rgba(20,48,76,.16)!important;
  backdrop-filter:blur(6px)!important;
  text-align:center!important;
  pointer-events:none!important;
}
.exchange-dashboard-panel .exchange-pie-label strong{
  display:block!important;
  font-size:18px!important;
  line-height:1!important;
  font-weight:850!important;
  color:#173a5d!important;
  letter-spacing:-.4px!important;
}
.exchange-dashboard-panel .exchange-pie-label span{
  display:block!important;
  margin-top:4px!important;
  font-size:7.5px!important;
  line-height:1!important;
  font-weight:800!important;
  letter-spacing:.55px!important;
  text-transform:uppercase!important;
  color:#6f8295!important;
}
.exchange-dashboard-panel .exchange-pie-label-deposited{left:17px!important;top:50%!important;transform:translateY(-50%)!important}
.exchange-dashboard-panel .exchange-pie-label-remaining{right:17px!important;top:50%!important;transform:translateY(-50%)!important}
.exchange-dashboard-panel .exchange-donut-center{display:none!important}
.exchange-dashboard-panel .exchange-donut-legend .legend-item.deposited i{background:var(--pie-deposited,#2f6fed)!important;border:0!important}
.exchange-dashboard-panel .exchange-donut-legend .legend-item.remaining i{background:var(--pie-remaining,#f1a43a)!important;border:0!important}
.exchange-dashboard-panel .exchange-donut-legend .legend-item{
  border-radius:12px!important;
  border:1px solid #e1e9f1!important;
  background:linear-gradient(180deg,#fff,#f9fbfd)!important;
  box-shadow:0 5px 16px rgba(25,58,90,.055)!important;
}
@media(max-width:820px){
  .exchange-dashboard-panel .exchange-donut.exchange-pie{width:min(58vw,194px)!important;height:min(58vw,194px)!important}
  .exchange-dashboard-panel .exchange-pie-label{min-width:64px!important;padding:7px 8px 6px!important}
  .exchange-dashboard-panel .exchange-pie-label strong{font-size:16px!important}
  .exchange-dashboard-panel .exchange-pie-label-deposited{left:10px!important}
  .exchange-dashboard-panel .exchange-pie-label-remaining{right:10px!important}
}
@media(max-width:480px){
  .exchange-dashboard-panel .exchange-donut.exchange-pie{width:min(62vw,180px)!important;height:min(62vw,180px)!important}
  .exchange-dashboard-panel .exchange-pie-label{min-width:58px!important;padding:6px 7px 5px!important;border-radius:10px!important}
  .exchange-dashboard-panel .exchange-pie-label strong{font-size:14px!important}
  .exchange-dashboard-panel .exchange-pie-label span{font-size:6.5px!important}
  .exchange-dashboard-panel .exchange-pie-label-deposited{left:8px!important}
  .exchange-dashboard-panel .exchange-pie-label-remaining{right:8px!important}
}


/* Chart color settings · 2026-09-22 */
.settings-chart-colors-row{align-items:flex-start!important}
.settings-chart-color-editor{width:min(100%,440px);padding:15px;border:1px solid #dce6f0;border-radius:14px;background:linear-gradient(180deg,#fbfdff,#f6f9fc);box-shadow:0 6px 18px rgba(31,67,102,.055)}
.settings-chart-name{margin-bottom:12px;font-size:10px;font-weight:850;letter-spacing:.65px;color:#58718a;text-transform:uppercase}
.settings-color-field{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;padding:9px 0;border-top:1px solid #e8eef4;color:#3c5872!important;font-size:11px!important;font-weight:750!important}
.settings-color-control{display:flex;align-items:center;gap:9px}
.settings-color-control input[type=color]{width:42px!important;height:34px!important;min-height:34px!important;padding:2px!important;border:1px solid #cdd9e5!important;border-radius:9px!important;background:#fff!important;cursor:pointer}
.settings-color-control code{min-width:72px;padding:6px 8px;border-radius:7px;background:#fff;border:1px solid #e0e7ee;color:#52697f;font:700 10px/1.1 ui-monospace,SFMono-Regular,Menlo,monospace;text-align:center}
.settings-color-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid #e8eef4}
.settings-color-actions button{min-height:38px!important}
@media(max-width:820px){.settings-chart-color-editor{width:100%;max-width:none}.settings-color-field{align-items:center!important}.settings-color-actions{display:grid;grid-template-columns:1fr 1fr}.settings-color-actions button{width:100%}}
@media(max-width:440px){.settings-color-field{gap:8px!important}.settings-color-control{gap:6px}.settings-color-control code{min-width:66px;font-size:9px}.settings-color-actions{grid-template-columns:1fr}}

/* EXCHANGE pie readability refinement · 2026-09-22 */
.exchange-dashboard-panel .exchange-donut.exchange-pie{
  width:220px!important;
  height:220px!important;
  border:6px solid #fff!important;
  background:conic-gradient(
    from -90deg,
    var(--pie-deposited,var(--exchange-deposited-color,#2f6fed)) 0 var(--deposit-stop,0%),
    var(--pie-remaining,var(--exchange-remaining-color,#f1a43a)) var(--deposit-stop,0%) 100%
  )!important;
  box-shadow:0 18px 40px rgba(24,54,86,.18),0 3px 10px rgba(24,54,86,.08)!important;
}
.exchange-dashboard-panel .exchange-donut.exchange-pie:before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  border-radius:50%!important;
  background:
    radial-gradient(circle at 30% 22%,rgba(255,255,255,.22),transparent 28%),
    linear-gradient(145deg,rgba(255,255,255,.08),transparent 50%,rgba(12,38,66,.06))!important;
  pointer-events:none!important;
}
.exchange-dashboard-panel .exchange-pie-label{display:none!important}
.exchange-dashboard-panel .exchange-donut-legend{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:9px!important;
  min-width:155px!important;
}
.exchange-dashboard-panel .exchange-donut-legend .legend-item{
  display:grid!important;
  grid-template-columns:10px 54px 1fr!important;
  align-items:center!important;
  gap:8px!important;
  padding:10px 12px!important;
  min-height:42px!important;
  border:1px solid #e1e9f1!important;
  border-radius:12px!important;
  background:linear-gradient(180deg,#fff,#f8fbfd)!important;
  box-shadow:0 5px 16px rgba(25,58,90,.055)!important;
}
.exchange-dashboard-panel .exchange-donut-legend .legend-item i{
  width:10px!important;height:10px!important;border-radius:50%!important;
}
.exchange-dashboard-panel .exchange-donut-legend .legend-item b{
  font-size:14px!important;line-height:1!important;font-weight:850!important;color:#203d59!important;
}
.exchange-dashboard-panel .exchange-donut-legend .legend-item em{
  font-size:9px!important;line-height:1.2!important;font-style:normal!important;font-weight:700!important;color:#7b8ea2!important;
}
@media(max-width:820px){
  .exchange-dashboard-panel .exchange-donut.exchange-pie{width:min(56vw,194px)!important;height:min(56vw,194px)!important}
  .exchange-dashboard-panel .exchange-donut-wrap{flex-direction:column!important;align-items:center!important;gap:14px!important}
  .exchange-dashboard-panel .exchange-donut-legend{width:min(100%,330px)!important;grid-template-columns:1fr 1fr!important;min-width:0!important}
  .exchange-dashboard-panel .exchange-donut-legend .legend-item{grid-template-columns:10px 48px 1fr!important;padding:9px 10px!important}
}
@media(max-width:480px){
  .exchange-dashboard-panel .exchange-donut.exchange-pie{width:min(58vw,178px)!important;height:min(58vw,178px)!important}
  .exchange-dashboard-panel .exchange-donut-legend{grid-template-columns:1fr!important;width:min(100%,280px)!important}
}

/* Live EXCHANGE chart colors */
.exchange-dashboard-panel .exchange-donut-legend .legend-item.deposited i{background:var(--pie-deposited,var(--exchange-deposited-color,#2f6fed))!important}
.exchange-dashboard-panel .exchange-donut-legend .legend-item.remaining i{background:var(--pie-remaining,var(--exchange-remaining-color,#f1a43a))!important;border-color:transparent!important}

/* SVG EXCHANGE pie + chart color dialog · 2026-09-22 */
.exchange-dashboard-panel .exchange-donut.exchange-pie{background:none!important;overflow:hidden!important;cursor:pointer!important}
.exchange-dashboard-panel .exchange-donut.exchange-pie:before,.exchange-dashboard-panel .exchange-donut.exchange-pie:after,.exchange-dashboard-panel .exchange-pie-gloss{display:none!important}
.exchange-pie-svg{display:block;width:100%;height:100%;border-radius:50%}
.exchange-pie-svg path,.exchange-pie-svg circle{transition:fill .18s ease}
.exchange-donut-wrap{user-select:none}
.chart-color-dialog{padding:0;border:0;background:transparent;max-width:min(92vw,520px);width:520px}
.chart-color-modal{background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 28px 80px rgba(17,42,68,.28)}
.chart-color-modal-head{display:flex;justify-content:space-between;gap:18px;padding:24px 26px 18px;border-bottom:1px solid #e7edf4;background:linear-gradient(180deg,#fbfdff,#f7fafc)}
.chart-color-modal-head h2{margin:4px 0 6px;font-size:22px;color:#173451}.chart-color-modal-head p{margin:0;color:#75899d;font-size:12px}
.chart-color-close{width:42px;height:42px;border:1px solid #d9e4ee;border-radius:12px;background:#fff;color:#45637f;font-size:24px}
.chart-color-preview{display:grid;place-items:center;padding:24px}.chart-color-preview .exchange-pie-svg{width:190px;height:190px;box-shadow:0 14px 30px rgba(28,59,91,.15)}
.chart-color-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0 24px 22px}.chart-color-fields label{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px;border:1px solid #dce6ef;border-radius:14px;background:#f9fbfd;font-weight:750;color:#385672}.chart-color-fields input[type=color]{width:50px;height:38px;border:0;background:transparent;padding:0}
.chart-color-actions{display:flex;justify-content:flex-end;gap:10px;padding:18px 24px 22px;border-top:1px solid #e7edf4}.chart-color-actions button{min-width:130px}
@media(max-width:520px){.chart-color-dialog{width:calc(100% - 24px)}.chart-color-modal-head{padding:20px}.chart-color-fields{grid-template-columns:1fr;padding:0 18px 18px}.chart-color-actions{display:grid;grid-template-columns:1fr 1fr;padding:16px 18px 18px}.chart-color-actions button{min-width:0;width:100%}.chart-color-preview .exchange-pie-svg{width:170px;height:170px}}

/* Customer Report - Sum Per Day */
.exchange-customer-sum-table .exchange-inline-money{
  width:100%;min-width:140px;box-sizing:border-box;border:1px solid #cfd9e8;border-radius:9px;
  padding:8px 10px;text-align:right;font:inherit;font-weight:700;color:#183253;background:#fff;
  outline:none;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;
}
.exchange-customer-sum-table .exchange-inline-money:focus{
  border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.12);background:#fafdff;
}

.exchange-inline-money-wrap{display:flex;align-items:center;gap:8px;min-width:230px}
.exchange-inline-money-wrap .exchange-inline-money{flex:1;min-width:130px}
.exchange-inline-save{min-width:84px;border:1px solid #cddbea;border-radius:9px;padding:8px 12px;background:#eef4f9;color:#4b647b;font-weight:800;cursor:pointer;transition:.15s ease}
.exchange-inline-save.dirty{background:#1769e0;border-color:#1769e0;color:#fff;box-shadow:0 4px 12px rgba(23,105,224,.18)}
.exchange-inline-save:disabled{opacity:.6;cursor:wait}
@media (max-width:820px){.exchange-inline-money-wrap{min-width:215px}.exchange-inline-save{min-width:78px;padding:9px 10px}}
.exchange-status{display:inline-flex;align-items:center;justify-content:center;min-width:92px;padding:5px 10px;border-radius:999px;font-size:12px;font-weight:800;letter-spacing:.01em;white-space:nowrap}
.exchange-status.confirmed{color:#0f6b45;background:#eaf8f1;border:1px solid #bcebd3}
.exchange-status.unconfirmed{color:#a13535;background:#fff0f0;border:1px solid #f3c6c6}
.exchange-customer-sum-sheet .report-totals{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}
@media (max-width:820px){
 .exchange-customer-sum-table .exchange-inline-money{min-width:125px;padding:9px 8px}
 .exchange-status{min-width:84px}
}

/* Customer Report Sum Per Day: one global Save button */
.exchange-report-head-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.exchange-save-all{min-width:132px}
.exchange-save-all:disabled{opacity:.65;cursor:default}
.exchange-save-all.dirty{box-shadow:0 0 0 3px rgba(37,99,235,.12)}
@media(max-width:820px){.exchange-report-head-actions{width:100%;justify-content:space-between}.exchange-save-all{min-height:44px;flex:1 1 160px}.report-count{flex:0 0 auto}}
/* EXCHANGE bottom horizontal scrollbar always visible + last-row action access · 2026-09-22 */
#exchange-result .exchange-table-wrap{
  overflow-x:scroll!important;
  overflow-y:auto!important;
  scrollbar-gutter:stable both-edges!important;
  padding-bottom:12px!important;
}
#exchange-result .exchange-table-wrap::-webkit-scrollbar{height:14px!important;width:12px!important}
#exchange-result .exchange-table-wrap::-webkit-scrollbar-track{background:#eef3f8!important;border-radius:999px!important}
#exchange-result .exchange-table-wrap::-webkit-scrollbar-thumb{background:#9eb0c4!important;border:3px solid #eef3f8!important;border-radius:999px!important}
#exchange-result .exchange-table-wrap::-webkit-scrollbar-thumb:hover{background:#768da6!important}
#exchange-result .exchange-table-wrap{scrollbar-width:auto!important;scrollbar-color:#9eb0c4 #eef3f8!important}
#exchange-result .exchange-table tbody tr:last-child td{padding-bottom:20px!important}
#exchange-result .exchange-row-actions{position:relative!important;z-index:8!important;pointer-events:auto!important}
#exchange-result .exchange-edit-button,#exchange-result .exchange-delete-button{position:relative!important;z-index:9!important;pointer-events:auto!important}


/* EXCHANGE v24: always-accessible synchronized bottom scrollbar */
#exchange-result .exchange-bottom-scroll{position:sticky;bottom:0;z-index:20;height:18px;overflow-x:scroll;overflow-y:hidden;background:#eef3f8;border:1px solid #dce5ee;border-radius:0 0 10px 10px;scrollbar-width:auto;scrollbar-color:#6f879f #eef3f8;margin-top:-1px}
#exchange-result .exchange-bottom-scroll-inner{height:1px;min-width:100%}
#exchange-result .exchange-bottom-scroll::-webkit-scrollbar{height:16px!important}
#exchange-result .exchange-bottom-scroll::-webkit-scrollbar-track{background:#eef3f8!important;border-radius:999px!important}
#exchange-result .exchange-bottom-scroll::-webkit-scrollbar-thumb{background:#6f879f!important;border:3px solid #eef3f8!important;border-radius:999px!important;min-width:48px}
#exchange-result .exchange-bottom-scroll::-webkit-scrollbar-thumb:hover{background:#4e6982!important}
#exchange-result .exchange-table-wrap{padding-bottom:4px!important}
#exchange-result .exchange-row-actions{white-space:nowrap!important}

/* EXCHANGE v25: force-visible bottom scrollbar */
#exchange-result .exchange-bottom-scroll[hidden]{display:block!important}
#exchange-result .exchange-bottom-scroll{display:block!important;min-height:18px!important;visibility:visible!important;opacity:1!important}

/* PRODUCT MASTER · 2026-09-22 */
.product-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}.product-kpis>div{background:linear-gradient(180deg,#fff,#f8fbfd);border:1px solid #dce6ef;border-radius:16px;padding:17px 18px;box-shadow:0 8px 24px rgba(31,61,91,.055)}.product-kpis span{display:block;color:#73879a;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.product-kpis strong{display:block;margin-top:8px;color:#173451;font-size:28px;line-height:1}.product-master-panel{overflow:hidden}.product-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) 180px 160px auto;gap:10px;align-items:center;padding:14px 16px;border-bottom:1px solid #e7edf4;background:#fbfdff}.product-toolbar input,.product-toolbar select{height:42px;border:1px solid #d7e2ec;border-radius:10px;background:#fff;padding:0 12px;color:#274762;outline:none}.product-toolbar input:focus,.product-toolbar select:focus{border-color:#6ea2dc;box-shadow:0 0 0 3px rgba(62,128,203,.10)}.product-toolbar small{color:#73879a;font-weight:750;white-space:nowrap}.product-code{display:inline-flex;padding:5px 8px;border-radius:8px;background:#eef4fa;color:#244e75;font:800 11px/1.1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.02em}.product-code.large{font-size:12px;padding:7px 10px}.product-name-cell{display:flex;flex-direction:column;gap:3px}.product-name-cell strong{color:#1d3c58}.product-name-cell small{color:#8798a8}.product-status{display:inline-flex;align-items:center;justify-content:center;min-width:72px;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:850}.product-status.active{background:#eaf8f1;color:#116b49;border:1px solid #bde9d3}.product-status.inactive{background:#f3f5f7;color:#6f7e8b;border:1px solid #dce3e8}.product-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.product-form-grid label{margin:0!important}.product-quick-picks{margin-top:14px;padding:12px 14px;border:1px solid #e0e8ef;border-radius:12px;background:#f8fbfd}.product-quick-picks>span{display:block;margin-bottom:8px;font-size:10px;font-weight:850;color:#70859a;text-transform:uppercase}.product-quick-picks #product-picks{display:flex;flex-wrap:wrap;gap:7px}.product-pick{border:1px solid #d7e2ec!important;background:#fff!important;color:#365a78!important;border-radius:999px!important;padding:7px 10px!important;font-size:11px!important}.product-variants-box{margin-top:14px;border:1px solid #dce6ef;border-radius:14px;overflow:hidden}.product-variants-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;background:#f7fafc;border-bottom:1px solid #e1e8ef}.product-variants-head strong{display:block;color:#24445f}.product-variants-head small{display:block;margin-top:3px;color:#8294a5}.product-variant-row{display:grid;grid-template-columns:34px 1fr 1.2fr 1fr 1fr 1fr 34px;gap:7px;align-items:center;padding:8px 10px;border-bottom:1px solid #edf1f5}.product-variant-row:last-child{border-bottom:0}.product-variant-row input{min-width:0;height:38px;border:1px solid #d8e2eb;border-radius:9px;padding:0 9px}.variant-no{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:#eef4fa;color:#54718b;font-weight:850;font-size:11px}.variant-remove{width:30px;height:30px;border:0!important;border-radius:8px!important;background:#fff0f0!important;color:#a74747!important;font-size:18px!important;padding:0!important}.product-variant-row[data-mode="rebar"] [data-v="description"],.product-variant-row[data-mode="rebar"] [data-v="package"],.product-variant-row[data-mode="rebar"] [data-v="piecesPerPackage"]{display:none}.product-variant-row[data-mode="oil"] [data-v="size"],.product-variant-row[data-mode="oil"] [data-v="piecesPerBundle"]{display:none}.product-detail-card{background:linear-gradient(180deg,#fff,#f9fbfd);border:1px solid #dce6ef;border-radius:18px;padding:22px;margin-bottom:16px;box-shadow:0 10px 28px rgba(30,60,90,.06)}.product-detail-top{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.product-detail-top h2{margin:10px 0 5px;color:#173451;font-size:26px}.product-detail-top p{margin:0;color:#71869a}.product-info-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:20px;padding-top:18px;border-top:1px solid #e4ebf1}.product-info-grid div{padding:12px;border-radius:11px;background:#fff;border:1px solid #e5ebf0}.product-info-grid span{display:block;color:#8192a2;font-size:10px;font-weight:800;text-transform:uppercase}.product-info-grid strong{display:block;margin-top:5px;color:#294963}.empty-state{padding:30px;text-align:center;color:#8193a3}
@media(max-width:1050px){.product-kpis{grid-template-columns:repeat(2,1fr)}.product-toolbar{grid-template-columns:1fr 1fr}.product-toolbar input{grid-column:1/-1}.product-variant-row{grid-template-columns:30px 1fr 1fr 30px}.product-variant-row input{grid-column:auto}.product-info-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.product-kpis{grid-template-columns:1fr 1fr;gap:9px}.product-kpis>div{padding:13px}.product-kpis strong{font-size:23px}.product-toolbar{grid-template-columns:1fr}.product-toolbar input{grid-column:auto}.product-form-grid{grid-template-columns:1fr}.product-variants-head{align-items:flex-start;flex-direction:column}.product-variant-row{grid-template-columns:30px 1fr 30px}.product-variant-row input{grid-column:2}.product-variant-row .variant-remove{grid-column:3;grid-row:1}.product-info-grid{grid-template-columns:1fr 1fr}.product-detail-top h2{font-size:22px}}

/* Product Master integrated design · V24 · 2026-09-22 */
#dialog.product-dialog{width:min(980px,96vw)!important;max-width:980px!important;padding:0!important;overflow:hidden!important}
#dialog.product-dialog #fields{display:block!important;padding:20px 22px!important;overflow:visible!important}
#dialog.product-dialog .product-form-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:14px!important}
#dialog.product-dialog .product-form-grid label{display:grid!important;gap:7px!important;min-width:0}
#dialog.product-dialog .product-custom-name[hidden]{display:none!important}
.product-kpis>div small{display:block;margin-top:6px;color:#8a9aaa;font-size:10px;font-weight:650}
.product-master-panel .table-wrap{overflow:auto}
.product-master-panel table{min-width:1120px}
.product-master-panel th:first-child,.product-master-panel td:first-child{width:54px;text-align:center;color:#71859a}
.product-category{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;border:1px solid #dbe5ef;background:#f4f7fa;color:#526a80;font-size:10px;font-weight:800;white-space:nowrap}
.product-category.steel{background:#eef4ff;border-color:#d7e5ff;color:#315da9}
.product-category.food-stuff{background:#fff4e8;border-color:#fde0be;color:#a15b13}
.product-category.other{background:#f4f1fb;border-color:#e3daf6;color:#67518f}
.product-variants-box{margin-top:18px!important;background:#fff}
.product-variant-labels{display:grid;align-items:center;gap:7px;padding:8px 10px;background:#f3f7fb;border-bottom:1px solid #e1e8ef;color:#6f8294;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.045em}
.product-variant-labels:has(+ #product-variant-rows .product-variant-row[data-mode="rebar"]){grid-template-columns:34px 1fr 1fr 34px}
.product-variant-labels:has(+ #product-variant-rows .product-variant-row[data-mode="oil"]){grid-template-columns:34px 1.2fr 1fr 1fr 34px}
.product-variant-labels:has(+ #product-variant-rows .product-variant-row[data-mode="standard"]){grid-template-columns:34px 1.2fr 1fr 1fr 1fr 34px}
.product-variant-row[data-mode="rebar"]{grid-template-columns:34px 1fr 1fr 34px}
.product-variant-row[data-mode="rebar"] [data-v="size"]{display:block}
.product-variant-row[data-mode="rebar"] [data-v="piecesPerBundle"]{display:block}
.product-variant-row[data-mode="rebar"] [data-v="description"],.product-variant-row[data-mode="rebar"] [data-v="package"],.product-variant-row[data-mode="rebar"] [data-v="piecesPerPackage"]{display:none!important}
.product-variant-row[data-mode="oil"]{grid-template-columns:34px 1.2fr 1fr 1fr 34px}
.product-variant-row[data-mode="oil"] [data-v="description"],.product-variant-row[data-mode="oil"] [data-v="package"],.product-variant-row[data-mode="oil"] [data-v="piecesPerPackage"]{display:block}
.product-variant-row[data-mode="oil"] [data-v="size"],.product-variant-row[data-mode="oil"] [data-v="piecesPerBundle"]{display:none!important}
.product-variant-row[data-mode="standard"]{grid-template-columns:34px 1.2fr 1fr 1fr 1fr 34px}
.product-variant-row[data-mode="standard"] [data-v="description"],.product-variant-row[data-mode="standard"] [data-v="size"],.product-variant-row[data-mode="standard"] [data-v="package"],.product-variant-row[data-mode="standard"] [data-v="piecesPerPackage"]{display:block}
.product-variant-row[data-mode="standard"] [data-v="piecesPerBundle"]{display:none!important}
@media(max-width:1050px){#dialog.product-dialog .product-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.product-variant-labels{display:none}.product-variant-row[data-mode="rebar"],.product-variant-row[data-mode="oil"],.product-variant-row[data-mode="standard"]{grid-template-columns:34px 1fr 1fr 34px}.product-variant-row[data-mode="standard"] [data-v="package"],.product-variant-row[data-mode="standard"] [data-v="piecesPerPackage"]{grid-column:2/4}.product-variant-row[data-mode="oil"] [data-v="piecesPerPackage"]{grid-column:2/4}}
@media(max-width:620px){#dialog.product-dialog{width:calc(100vw - 12px)!important;max-width:none!important}#dialog.product-dialog .product-form-grid{grid-template-columns:1fr!important}.product-variant-row[data-mode="rebar"],.product-variant-row[data-mode="oil"],.product-variant-row[data-mode="standard"]{grid-template-columns:30px 1fr 30px!important}.product-variant-row[data-mode="rebar"] input,.product-variant-row[data-mode="oil"] input,.product-variant-row[data-mode="standard"] input{grid-column:2!important}.product-variant-row .variant-remove{grid-column:3!important;grid-row:1!important}.product-master-panel table{min-width:980px}}

/* Product Master dark executive theme - V24 test */
body.product-dark{--bg:#07101d;--ink:#edf2ff;--muted:#8f9bb3;--accent:#7b3ff2;--line:#1e2a40;background:#07101d;color:#edf2ff}
body.product-dark #app{background:radial-gradient(circle at 74% -10%,#14254b66,transparent 34%),linear-gradient(180deg,#07101d,#091323 72%,#07101d)}
body.product-dark #sidebar{background:linear-gradient(180deg,#0a1322 0%,#0a1425 58%,#08101d 100%);border-right:1px solid #1b2940;box-shadow:10px 0 35px #02071355}
body.product-dark #sidebar .brand{border-bottom-color:#1a2940}
body.product-dark #sidebar .brand strong,body.product-dark #sidebar .workspace{color:#f3f6ff}
body.product-dark #sidebar .brand small,body.product-dark #sidebar .workspace small,body.product-dark #sidebar footer{color:#74839f}
body.product-dark #sidebar .workspace{background:#101c30;border:1px solid #1d2c44;box-shadow:none}
body.product-dark #sidebar nav button{color:#aeb9cf}
body.product-dark #sidebar nav button:hover{background:#111f36;color:#fff}
body.product-dark #sidebar nav button.active{background:linear-gradient(90deg,#30215e,#4d2d99);color:#fff;border:1px solid #633fd0;box-shadow:0 10px 30px #44258838}
body.product-dark #sidebar nav button.active i{color:#cbbdff}
body.product-dark main{background:transparent}
body.product-dark .topbar{height:72px;background:#0a1322e8;border-bottom:1px solid #1b2940;box-shadow:0 8px 30px #00000030;backdrop-filter:blur(12px)}
body.product-dark .topbar .breadcrumb{color:#8190aa}
body.product-dark .topbar .breadcrumb b{color:#dce5f7}
body.product-dark .topbar .global-search{background:#111b2d;border:1px solid #26344d;box-shadow:none}
body.product-dark .topbar .global-search input{color:#dce5f7;background:transparent}
body.product-dark .topbar .global-search input::placeholder{color:#71809b}
body.product-dark .topbar-action,body.product-dark .top-language{background:#111b2d;border-color:#24334d;color:#c9d3e8}
body.product-dark .top-lang-button{color:#8f9bb3}
body.product-dark .top-lang-button.active{background:#26203e;color:#d8ccff;box-shadow:none}
body.product-dark .page{padding-top:28px}
body.product-dark .page-head{margin-bottom:22px}
body.product-dark .page-head .eyebrow{display:none}
body.product-dark .page-head h1{font-size:31px;color:#f5f7ff;letter-spacing:-.8px;font-weight:760}
body.product-dark .page-head p{margin-top:7px;color:#92a0b8}
body.product-dark #actions .primary{background:linear-gradient(135deg,#7440f7,#6a2eea);border:1px solid #8a5cff;color:#fff;box-shadow:0 8px 22px #6a2eea3f;padding:11px 18px}
body.product-dark #actions .primary:hover{background:linear-gradient(135deg,#8454ff,#7138ef)}
body.product-dark .product-kpis{gap:14px;margin-bottom:18px}
body.product-dark .product-kpis>div{position:relative;overflow:hidden;background:linear-gradient(145deg,#111b2e,#0c1628);border:1px solid #22304a;border-radius:12px;padding:20px 20px;box-shadow:0 12px 30px #00000024;min-height:116px}
body.product-dark .product-kpis>div:before{content:"";position:absolute;width:48px;height:48px;border-radius:12px;right:16px;top:15px;background:linear-gradient(135deg,#6536d844,#7b3ff20d);border:1px solid #7445d933}
body.product-dark .product-kpis>div:nth-child(2):before{background:#0b7f5540;border-color:#1d9a6935}
body.product-dark .product-kpis>div:nth-child(3):before{background:#1e69c040;border-color:#3f84da35}
body.product-dark .product-kpis>div:nth-child(4):before{background:#b96a2338;border-color:#d8893b38}
body.product-dark .product-kpis span{color:#a5afc3;font-size:11px;letter-spacing:.015em;text-transform:none}
body.product-dark .product-kpis strong{margin-top:8px;color:#f5f7ff;font-size:29px}
body.product-dark .product-kpis small{color:#6f7d96;font-size:10px}
body.product-dark .panel.product-master-panel{background:#0b1526;border:1px solid #22304a;border-radius:12px;box-shadow:0 14px 36px #00000028;overflow:hidden}
body.product-dark .product-toolbar{grid-template-columns:minmax(300px,1fr) 190px 170px auto auto;gap:12px;padding:16px;background:#0d1729;border-bottom:1px solid #22304a}
body.product-dark .product-toolbar input,body.product-dark .product-toolbar select{height:42px;background:#111c30;border:1px solid #2b3a56;color:#dce5f7;border-radius:8px}
body.product-dark .product-toolbar input::placeholder{color:#70809d}
body.product-dark .product-toolbar input:focus,body.product-dark .product-toolbar select:focus{border-color:#7245e8;box-shadow:0 0 0 3px #7549ef1e}
body.product-dark .product-toolbar small{color:#78859e;align-self:center}
body.product-dark .product-clear{height:42px;background:#121d31!important;border:1px solid #2a3954!important;color:#c7d0e1!important;padding:0 14px!important}
body.product-dark .product-master-panel .table-wrap{background:#0b1526}
body.product-dark .product-master-panel table{min-width:1120px;color:#c9d3e8}
body.product-dark .product-master-panel thead th{background:#111c30;color:#8d9ab2;border-bottom:1px solid #25334d;font-size:10px;letter-spacing:.02em;text-transform:none}
body.product-dark .product-master-panel tbody td{border-bottom:1px solid #1c2940;color:#c5cfe2;padding-top:13px;padding-bottom:13px}
body.product-dark .product-master-panel tbody tr:hover{background:#111c2e}
body.product-dark .product-code{background:#111c2f;color:#b9c7dd;border:1px solid #24334d;border-radius:7px}
body.product-dark .product-name-cell strong{color:#eff3fb}
body.product-dark .product-name-cell small{color:#6f7c95}
body.product-dark .product-name-rich{display:flex;flex-direction:row;align-items:center;gap:10px}
body.product-dark .product-name-rich>span:last-child{display:flex;flex-direction:column;gap:2px}
body.product-dark .product-thumb{width:38px;height:38px;border-radius:9px;display:grid;place-items:center;font-size:19px;font-weight:800;background:linear-gradient(145deg,#303949,#171f2f);border:1px solid #36445c;color:#cbd4e5;box-shadow:inset 0 1px #ffffff0d}
body.product-dark .product-thumb.food-stuff{background:linear-gradient(145deg,#5c4d1f,#242111);color:#ffd357;border-color:#665623}
body.product-dark .product-thumb.steel{background:linear-gradient(145deg,#414c5f,#1c2533);color:#d8e1ef;border-color:#4d5a70}
body.product-dark .product-category{background:#111d31;border-color:#283750;color:#a9b6cc}
body.product-dark .product-category.steel{background:#17243b;border-color:#2c456e;color:#91b9ff}
body.product-dark .product-category.food-stuff{background:#33271a;border-color:#5d4423;color:#e6b770}
body.product-dark .product-status.active{background:#0d3a2d;border-color:#145d46;color:#66e4a8}
body.product-dark .product-status.inactive{background:#20283a;border-color:#2d3950;color:#9aa7bd}
body.product-dark .product-master-panel button.ghost{background:#111c30;border:1px solid #2a3954;color:#aeb9cf}
body.product-dark .product-master-panel button.ghost:hover{background:#17243b;color:#fff}
body.product-dark .bottom{color:#56657f;border-top-color:#15223a}

body.product-dark #dialog.product-dialog{position:fixed!important;inset:0 0 0 auto!important;margin:0!important;width:min(540px,96vw)!important;max-width:540px!important;height:100dvh!important;max-height:100dvh!important;border:0!important;border-left:1px solid #26344e!important;border-radius:0!important;background:#0d1728!important;color:#eaf0fb!important;box-shadow:-24px 0 70px #00000075!important;padding:0!important;overflow:hidden!important}
body.product-dark #dialog.product-dialog::backdrop{background:#020711a8;backdrop-filter:blur(2px)}
body.product-dark #dialog.product-dialog form{height:100%;display:flex;flex-direction:column;min-height:0}
body.product-dark #dialog.product-dialog .modal-head{flex:0 0 auto;padding:20px 22px 16px;border-bottom:1px solid #26344e;background:#101a2d}
body.product-dark #dialog.product-dialog .modal-head .eyebrow{color:#6f7d96}
body.product-dark #dialog.product-dialog .modal-head h2{color:#f4f6fd;font-size:24px;margin-top:5px}
body.product-dark #dialog.product-dialog .modal-head .icon-button{background:#111d31;color:#aeb9cf;border:1px solid #283750}
body.product-dark #dialog.product-dialog #fields{flex:1 1 auto;min-height:0;overflow:auto!important;padding:18px 22px!important;background:#0d1728}
body.product-dark #dialog.product-dialog .product-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}
body.product-dark #dialog.product-dialog .product-form-grid label{color:#d6deee;font-size:11px;font-weight:650}
body.product-dark #dialog.product-dialog input,body.product-dark #dialog.product-dialog select{height:42px;background:#111c30;border:1px solid #2d3b56;color:#dce5f7;border-radius:8px}
body.product-dark #dialog.product-dialog input[readonly]{color:#9ca9bf;background:#0f192b}
body.product-dark #dialog.product-dialog input::placeholder{color:#687792}
body.product-dark #dialog.product-dialog .product-variants-box{background:#0c1627;border:1px solid #26344e;border-radius:10px;margin-top:20px!important}
body.product-dark #dialog.product-dialog .product-variants-head{background:#111b2e;border-bottom:1px solid #26344e;padding:13px 14px}
body.product-dark #dialog.product-dialog .product-variants-head strong{color:#f0f3fa}
body.product-dark #dialog.product-dialog .product-variants-head small{color:#71809b}
body.product-dark #dialog.product-dialog #add-product-variant{background:#1c1538!important;border:1px solid #7045de!important;color:#c5b5ff!important}
body.product-dark #dialog.product-dialog .product-variant-labels{background:#111c30;border-bottom:1px solid #26344e;color:#7f8da6}
body.product-dark #dialog.product-dialog .product-variant-row{border-bottom:1px solid #1f2c43}
body.product-dark #dialog.product-dialog .product-variant-row input{background:#111c30;border-color:#2b3a55;color:#dbe4f4}
body.product-dark #dialog.product-dialog .variant-no{background:#181f33;color:#9dadc6}
body.product-dark #dialog.product-dialog .variant-remove{background:#241a28!important;color:#f08ba0!important;border:1px solid #4c2833!important}
body.product-dark #dialog.product-dialog .modal-actions{flex:0 0 auto;padding:16px 22px;border-top:1px solid #26344e;background:#101a2d;display:grid;grid-template-columns:1fr 1.45fr;gap:12px}
body.product-dark #dialog.product-dialog .modal-actions .ghost{background:#111c30;border:1px solid #2d3b56;color:#d1d9e8}
body.product-dark #dialog.product-dialog .modal-actions .primary{background:linear-gradient(135deg,#7641f5,#682eea);border:1px solid #8b5cff;color:#fff;box-shadow:0 8px 22px #6a2eea38}
body.product-dark #dialog.product-dialog #form-error{color:#ff94a8;padding:0 22px;background:#0d1728}

@media(max-width:1050px){body.product-dark .product-toolbar{grid-template-columns:1fr 1fr 1fr auto}body.product-dark .product-toolbar input{grid-column:1/-1}body.product-dark #dialog.product-dialog{width:min(560px,100vw)!important}}
@media(max-width:720px){body.product-dark .product-kpis{grid-template-columns:1fr 1fr}body.product-dark .product-toolbar{grid-template-columns:1fr}body.product-dark .product-toolbar input{grid-column:auto}body.product-dark #dialog.product-dialog{width:100vw!important;max-width:none!important}body.product-dark #dialog.product-dialog .product-form-grid{grid-template-columns:1fr!important}}

/* PRODUCT CATEGORY MANAGEMENT V25 */
.product-category-select-wrap{display:grid;grid-template-columns:minmax(0,1fr) 42px;gap:8px;align-items:end}.product-category-add{height:42px;border:1px solid #7546ee;border-radius:8px;background:#2c2052;color:#c8b6ff;font-size:20px;font-weight:800;cursor:pointer}.product-category-add:hover{background:#3a276d}.category-manager-overlay{position:fixed;inset:0;z-index:120;background:rgba(0,0,0,.62);display:flex;align-items:center;justify-content:center;padding:22px}.category-manager-dialog{width:min(1120px,96vw);max-height:90vh;overflow:auto;background:linear-gradient(180deg,#101c31,#0b1628);border:1px solid #2c3d58;border-radius:14px;box-shadow:0 26px 80px rgba(0,0,0,.5);color:#e8eef7}.category-manager-head{padding:18px 20px;border-bottom:1px solid #293951;display:flex;justify-content:space-between;gap:20px}.category-manager-head h2{margin:0;font-size:22px}.category-manager-head p{margin:5px 0 0;color:#95a5b8}.category-close{border:0;background:transparent;color:#aab8ca;font-size:28px;cursor:pointer}.category-manager-body{padding:18px 20px}.category-create-grid{display:grid;grid-template-columns:130px 1.1fr 1fr 1.4fr 125px auto;gap:10px;align-items:end;margin-bottom:16px}.category-create-grid label{font-size:11px;color:#b3c0d0}.category-create-grid input,.category-create-grid select{width:100%;height:42px;margin-top:6px;background:#111e32;border:1px solid #34445f;color:#e5edf7;border-radius:7px;padding:0 10px}.category-create-grid button{height:42px}.category-manager-overlay .table-wrap,.category-manager-overlay .tablewrap{overflow:auto}.category-manager-overlay table{min-width:820px}.category-manager-overlay .ghost{margin-right:6px}.category-manager-overlay button[disabled]{opacity:.4;cursor:not-allowed}.category-manager-hint{color:#8fa0b5;font-size:11px;margin:12px 2px 0}@media(max-width:980px){.category-create-grid{grid-template-columns:1fr 1fr}.category-create-grid button{grid-column:1/-1}}@media(max-width:620px){.category-create-grid{grid-template-columns:1fr}.category-manager-overlay{padding:8px}.category-manager-dialog{width:100%;max-height:96vh}}


/* V32: Settings > Preferences > Background Color */
.settings-background-editor{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap;max-width:560px}
.settings-background-presets{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.settings-bg-swatch{width:28px;height:28px;min-width:28px;padding:0;border-radius:8px;background:var(--swatch)!important;border:1px solid #cbd7e4;box-shadow:0 1px 2px #20344d12;position:relative}
.settings-bg-swatch:hover{transform:translateY(-1px);box-shadow:0 3px 8px #20344d18}
.settings-bg-swatch.active{outline:2px solid var(--accent);outline-offset:2px}
.settings-background-editor .settings-color-control{display:flex;align-items:center;gap:7px}
.settings-background-editor input[type=color]{width:38px;height:34px;padding:2px;border-radius:8px;background:#fff}
.settings-background-editor code{font-size:11px;color:#5d7187;background:#f6f8fb;border:1px solid var(--line);border-radius:6px;padding:7px 8px}
@media(max-width:760px){.settings-background-row{align-items:flex-start!important}.settings-background-editor{width:100%;justify-content:flex-start;margin-top:12px}.settings-background-presets{width:100%}}
\n/* V33: user-selected workspace background wins over Product dark shell */\nbody{background:var(--app-user-bg,var(--bg))!important}\nbody.product-dark{background:var(--app-user-bg,#07101d)!important}\nbody.product-dark #app{background:var(--app-user-bg,#07101d)!important}\nbody.product-dark main{background:var(--app-user-bg,#07101d)!important}\n.settings-bg-swatch{background:var(--swatch)!important}\n
/* V34: readable user background + Product Detail contrast */
body.product-dark .page-head h1{color:var(--app-user-fg,#f5f7ff)!important}
body.product-dark .page-head p{color:var(--app-user-muted,#d6def0)!important}
body.product-dark .bottom{color:var(--app-user-muted,#d6def0)!important}
body.product-dark #content>.product-detail-card{background:#ffffff!important;color:#173451!important;border-color:#dce6ef!important}
body.product-dark #content>.product-detail-card .product-detail-top h2{color:#173451!important}
body.product-dark #content>.product-detail-card .product-detail-top p{color:#71869a!important}
body.product-dark #content>.product-detail-card .product-info-grid div{background:#fff!important;color:#294963!important}
body.product-dark #content>.product-detail-card .product-info-grid span{color:#8192a2!important}
body.product-dark #content>.product-detail-card .product-info-grid strong{color:#294963!important}
body.product-dark #content>.panel:not(.product-master-panel){background:#fff!important;border-color:#dce6ef!important;color:#173451!important}
body.product-dark #content>.panel:not(.product-master-panel) .panel-head{background:#fff!important;border-bottom-color:#e7edf4!important}
body.product-dark #content>.panel:not(.product-master-panel) .panel-head h3{color:#173451!important}
body.product-dark #content>.panel:not(.product-master-panel) .panel-head p{color:#71869a!important}
body.product-dark #content>.panel:not(.product-master-panel) table{color:#294963!important}
body.product-dark #content>.panel:not(.product-master-panel) thead th{background:#f8fafc!important;color:#667b90!important;border-bottom-color:#e1e8ef!important}
body.product-dark #content>.panel:not(.product-master-panel) tbody td{color:#294963!important;border-bottom-color:#e7edf4!important;background:#fff!important}
body.product-dark #content>.panel:not(.product-master-panel) tbody tr:hover td{background:#f8fbff!important}
body.product-dark #content>.panel:not(.product-master-panel) td:first-child{color:#294963!important}

/* V35 Vessel / B-L Operations */
.vessel-page-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.vessel-page-head h2{margin:0;color:#16365c;font-size:26px}.vessel-page-head p{margin:5px 0 0;color:#71849a}.vessel-white-card{background:#fff;border:1px solid #dbe5ef;border-radius:14px;box-shadow:0 5px 18px rgba(25,55,90,.06);overflow:hidden}.vessel-white-card .table-wrap{margin:0}.vessel-kpis{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:12px;margin-bottom:16px}.vessel-kpis>div{background:#fff;border:1px solid #dbe5ef;border-radius:14px;padding:16px 18px;box-shadow:0 5px 18px rgba(25,55,90,.05)}.vessel-kpis span{display:block;color:#7589a0;font-size:12px;font-weight:700}.vessel-kpis strong{display:block;color:#173b67;font-size:26px;margin-top:5px}.vessel-status{display:inline-flex;align-items:center;justify-content:center;padding:6px 11px;border-radius:999px;font-size:12px;font-weight:800;background:#e9f2ff;color:#2265a9}.vessel-status.sailing{background:#e7f8ef;color:#178653}.vessel-status.atport,.vessel-status.loaded{background:#e8f3ff;color:#2472c9}.vessel-status.discharging{background:#f1eaff;color:#7942c6}.vessel-status.discharged,.vessel-status.completed,.vessel-status.active{background:#e7f8ef;color:#178653}.vessel-status.pending,.vessel-status.planned{background:#fff3db;color:#b56b00}.vessel-status.inactive{background:#eef1f5;color:#66788a}.vessel-detail-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.75fr);gap:16px;margin-bottom:16px}.vessel-summary,.vessel-progress-card{padding:20px}.vessel-summary-hero{display:flex;align-items:center;gap:18px;border-bottom:1px solid #e7edf4;padding-bottom:16px;margin-bottom:16px}.vessel-ship-icon{width:88px;height:70px;border-radius:12px;background:linear-gradient(145deg,#eaf5ff,#d7eaff);display:grid;place-items:center;font-size:38px;color:#1768b6}.vessel-summary-hero h2{margin:0 0 8px;color:#173b67}.vessel-summary-hero p{color:#72869c;margin:8px 0 0}.vessel-info-grid{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:10px}.vessel-info-grid>div{background:#f8fbfe;border:1px solid #e3ebf3;border-radius:10px;padding:10px 12px}.vessel-info-grid span,.vessel-metrics span{display:block;color:#7b8ea3;font-size:11px;text-transform:uppercase;font-weight:700}.vessel-info-grid strong,.vessel-metrics strong{display:block;color:#244666;margin-top:4px}.vessel-progress-card h3{margin:0 0 14px;color:#173b67}.vessel-metrics{display:grid;grid-template-columns:1fr 1fr;gap:10px}.vessel-metrics>div{background:#f4f9fd;border-radius:10px;padding:12px}.vessel-flow{display:flex;align-items:flex-start;justify-content:space-between;gap:4px;margin-top:18px}.vessel-flow>div{flex:1;text-align:center;position:relative;color:#8394a6;font-size:10px}.vessel-flow>div:before{content:"";position:absolute;top:13px;left:-50%;right:50%;height:2px;background:#d9e3ed}.vessel-flow>div:first-child:before{display:none}.vessel-flow b{position:relative;z-index:1;margin:auto;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#dfe8f1;color:#50677d}.vessel-flow .current b{background:#2476d6;color:#fff}.vessel-flow span{display:block;margin-top:5px}.bl-master{padding:0}.bl-master>.panel-head{padding:16px 18px;border-bottom:1px solid #e4ebf2}.bl-master>.panel-head h3{margin:0;color:#173b67}.bl-master>.panel-head p{margin:4px 0 0;color:#7b8ea3}.bl-list{padding:14px}.bl-card{border:1px solid #dce7f1;border-radius:12px;overflow:hidden;margin-bottom:14px}.bl-card:last-child{margin-bottom:0}.bl-card-head{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#f5f9fd;border-bottom:1px solid #dce7f1;padding:12px 14px}.bl-card-head b{color:#173b67}.bl-card-head b span{color:#2476d6}.bl-card-head small{display:block;color:#8092a5;margin-top:3px}.bl-totals{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}.bl-totals span{font-size:11px;color:#72869a}.bl-totals strong{color:#244666;margin-left:4px}.bl-line-dialog{max-width:760px}.bl-line-form{padding:18px;display:grid;grid-template-columns:1fr 1fr;gap:14px}.bl-line-form label{display:grid;gap:6px;color:#476078;font-weight:700;font-size:12px}.bl-line-form input,.bl-line-form select{height:42px;border:1px solid #ccd9e6;border-radius:9px;background:#fff;padding:0 11px;color:#24435f}.bl-line-form .wide{grid-column:1/-1}.bl-live-calc{grid-column:1/-1;background:#eef6ff;border:1px solid #d4e7fb;border-radius:10px;padding:12px;display:flex;justify-content:space-between;color:#476078}.bl-live-calc strong{color:#155fae}.primary.small{padding:7px 11px;font-size:12px}.vessel-white-card table th{background:#f3f7fb!important;color:#45617d!important}.vessel-white-card table td{color:#314d68!important}.bl-card table th{background:#f7fafe!important}.bl-card table td{background:#fff!important;color:#314d68!important}
@media(max-width:1100px){.vessel-kpis{grid-template-columns:repeat(2,1fr)}.vessel-detail-grid{grid-template-columns:1fr}.vessel-info-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.vessel-page-head{align-items:flex-start;flex-direction:column}.vessel-page-head .primary{width:100%}.vessel-kpis{grid-template-columns:1fr 1fr}.vessel-info-grid{grid-template-columns:1fr 1fr}.bl-card-head{align-items:flex-start;flex-direction:column}.bl-totals{justify-content:flex-start}.bl-line-form{grid-template-columns:1fr}.bl-line-form .wide,.bl-live-calc{grid-column:auto}}


/* V38 VESSEL MATRIX UI */
.v38-vessel-page{display:grid;gap:16px;color:#17365d}.v38-breadcrumb{font-size:13px;color:#6b7f99}.v38-breadcrumb span{padding:0 8px}.v38-page-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.v38-page-head h2{margin:0;font-size:28px;color:#102f57}.v38-head-actions{display:flex;gap:10px;flex-wrap:wrap}.v38-vessel-strip{display:grid;grid-template-columns:repeat(10,minmax(110px,1fr));gap:0;background:#f4f8fc;border:1px solid #d6e2ef;border-radius:10px;padding:14px 16px;box-shadow:0 1px 2px rgba(14,48,84,.04)}.v38-vessel-strip>div{padding:0 12px;min-width:0}.v38-vessel-strip span{display:block;color:#71839a;font-size:12px;margin-bottom:5px}.v38-vessel-strip b{display:block;color:#102f57;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v38-strip-divider{width:1px;background:#cbd8e5;padding:0!important}.v38-tabs{display:flex;gap:32px;border-bottom:1px solid #dce5ef;overflow-x:auto}.v38-tabs button{background:none;border:0;padding:12px 4px;color:#536d8d;font-weight:700;white-space:nowrap;border-bottom:3px solid transparent}.v38-tabs button.active{color:#0869cf;border-bottom-color:#0869cf}.v38-matrix-card{background:#fff;border:1px solid #d7e2ed;border-radius:10px;overflow:hidden;box-shadow:0 2px 10px rgba(16,47,87,.05)}.v38-matrix-scroll{overflow:auto;max-width:100%}.v38-matrix{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;font-size:13px}.v38-matrix th,.v38-matrix td{padding:9px 10px;text-align:center;border-right:1px solid #cfddeb;border-bottom:1px solid #dce6f0;white-space:nowrap}.v38-matrix thead th{background:#0877b2;color:#fff;font-weight:800}.v38-matrix thead tr:nth-child(2) th{background:#116c9b}.v38-matrix .v38-size-group{background:#0e6f9e;font-size:14px}.v38-matrix .v38-total-group{background:#0868a1}.v38-matrix tbody tr{cursor:pointer;background:#fff}.v38-matrix tbody tr:nth-child(even){background:#f8fafc}.v38-matrix tbody tr:hover,.v38-matrix tbody tr.active{background:#edf6ff}.v38-matrix tfoot th,.v38-matrix tfoot td{background:#dfeffc;color:#123c65;font-weight:800}.v38-sticky-bl{position:sticky;left:0;z-index:3;min-width:90px}.v38-matrix tbody .v38-sticky-bl{background:inherit}.v38-matrix tfoot .v38-sticky-bl{z-index:4}.v38-chevron{font-size:20px;margin-right:8px;color:#0c5d98}.v38-total-cell{background:#f4f8fc}.v38-accordion-list{display:grid;gap:8px}.v38-accordion{background:#fff;border:1px solid #d7e2ed;border-radius:9px;overflow:hidden}.v38-accordion-head{width:100%;display:flex;align-items:center;gap:10px;padding:13px 16px;border:0;background:#f8fafc;color:#17365d;text-align:left;cursor:pointer}.v38-accordion.open>.v38-accordion-head{background:#f3f8fd}.v38-acc-arrow{font-size:24px;transition:.2s}.v38-accordion.open .v38-acc-arrow{transform:rotate(90deg)}.v38-acc-spacer{flex:1}.v38-accordion-body{display:none;padding:0 16px 14px}.v38-accordion.open>.v38-accordion-body{display:block}.v38-bl-actions{display:flex;justify-content:flex-end;gap:10px;padding:12px 0}.v38-bl-meta{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));border:1px solid #dce6ef;border-radius:8px 8px 0 0;overflow:hidden}.v38-bl-meta>div{padding:10px 12px;border-right:1px solid #e2e9f0}.v38-bl-meta span{display:block;font-size:11px;color:#71839a;margin-bottom:4px}.v38-bl-meta b{font-size:13px;color:#17365d}.v38-detail-table-wrap{overflow:auto;border:1px solid #dce6ef;border-top:0;border-radius:0 0 8px 8px}.v38-detail-table{border-collapse:collapse;width:100%;min-width:760px}.v38-detail-table th,.v38-detail-table td{padding:9px 10px;border-bottom:1px solid #e0e8f0;text-align:center}.v38-detail-table thead th{background:#edf3f8;color:#355370}.v38-detail-table tfoot th{background:#dfeffc;color:#17365d}.v38-detail-table .small{padding:5px 9px;font-size:12px}@media(max-width:1100px){.v38-vessel-strip{grid-template-columns:repeat(5,minmax(120px,1fr))}.v38-strip-divider{display:none}.v38-bl-meta{grid-template-columns:repeat(3,minmax(130px,1fr))}}@media(max-width:700px){.v38-page-head h2{font-size:22px}.v38-head-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.v38-vessel-strip{grid-template-columns:repeat(2,minmax(130px,1fr));padding:10px}.v38-tabs{gap:18px}.v38-matrix th,.v38-matrix td{padding:8px 9px;font-size:12px}.v38-bl-meta{grid-template-columns:repeat(2,minmax(130px,1fr))}.v38-bl-actions{justify-content:stretch}.v38-bl-actions button{flex:1}}@media print{.sidebar,.topbar,.v38-head-actions,.v38-tabs,.v38-accordion-list{display:none!important}.main{margin:0!important}.v38-matrix-scroll{overflow:visible}.v38-matrix{font-size:10px}}

/* V39 DISCHARGING PORT STOCK STYLE */
.v39-tabs{display:flex;gap:8px;border-bottom:1px solid #d9e4ef;margin:14px 0 16px;overflow-x:auto}.v39-tabs button{border:0;background:transparent;padding:11px 16px;font-weight:700;color:#536b86;white-space:nowrap;border-bottom:3px solid transparent}.v39-tabs button.active{color:#1261b5;border-bottom-color:#1976d2}.v39-card{background:#fff;border:1px solid #d9e4ef;border-radius:14px;overflow:hidden;box-shadow:0 2px 8px rgba(21,54,85,.05)}.v39-title{padding:16px 18px;border-bottom:1px solid #e4edf5;display:flex;justify-content:space-between}.v39-title h3{margin:0;color:#153b66}.v39-title span{display:block;margin-top:4px;color:#71869e}.v39-scroll{overflow:auto}.v39-table{width:100%;border-collapse:collapse;min-width:1050px}.v39-table th{background:#0f6d92;color:#fff;padding:10px 9px;font-size:13px;white-space:nowrap;border-right:1px solid rgba(255,255,255,.22)}.v39-table td{padding:9px;border-bottom:1px solid #dce6ef;border-right:1px solid #e5edf4;text-align:center}.v39-table tbody tr:nth-child(even){background:#f7fafc}.v39-num{width:105px;max-width:100%;padding:8px;border:1px solid #c8d7e6;border-radius:7px;text-align:right}.v39-kpis{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:12px;margin-bottom:14px}.v39-kpis>div{background:#f7fbff;border:1px solid #d4e4f2;border-radius:12px;padding:14px}.v39-kpis span{display:block;color:#70859c;font-size:13px}.v39-kpis strong{display:block;color:#123b69;font-size:22px;margin-top:4px}@media(max-width:700px){.v39-kpis{grid-template-columns:1fr}.v39-table{min-width:980px}}

/* V41 INBOUND STYLE */
.v41-inbound-overlay .category-manager-dialog{max-width:720px}.v41-inbound-overlay .bl-line-form{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:700px){.v41-inbound-overlay .bl-line-form{grid-template-columns:1fr}}


/* V42 PROFESSIONAL CARGO VARIANT POPUP */
.bl-line-overlay{
  background:rgba(15,23,42,.58)!important;
  backdrop-filter:blur(6px);
  padding:28px 18px!important;
  align-items:center!important;
}
.bl-line-dialog{
  width:min(920px,96vw)!important;
  max-height:min(760px,92vh)!important;
  overflow:auto!important;
  border-radius:22px!important;
  border:1px solid rgba(148,163,184,.35)!important;
  background:#f8fafc!important;
  box-shadow:0 30px 90px rgba(15,23,42,.34)!important;
}
.bl-line-dialog .category-manager-head{
  position:sticky;top:0;z-index:3;
  padding:22px 26px!important;
  background:linear-gradient(135deg,#0f2744,#173d69)!important;
  color:#fff!important;
  border-bottom:1px solid rgba(255,255,255,.12)!important;
}
.bl-line-dialog .category-manager-head h2{
  margin:0 0 5px!important;
  font-size:24px!important;
  line-height:1.15!important;
  font-weight:800!important;
  letter-spacing:-.02em;
}
.bl-line-dialog .category-manager-head p{
  margin:0!important;
  color:#cbd5e1!important;
  font-size:13px!important;
  font-weight:600;
}
.bl-line-dialog .category-close{
  width:42px!important;height:42px!important;
  border-radius:12px!important;
  background:rgba(255,255,255,.10)!important;
  border:1px solid rgba(255,255,255,.18)!important;
  color:#fff!important;
  font-size:24px!important;
}
.bl-line-dialog .category-close:hover{background:rgba(255,255,255,.18)!important;}
.bl-line-form{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:18px 20px!important;
  padding:26px!important;
  background:#f8fafc!important;
}
.bl-line-form label{
  display:flex!important;
  flex-direction:column!important;
  gap:8px!important;
  margin:0!important;
  color:#334155!important;
  font-size:13px!important;
  font-weight:700!important;
  letter-spacing:.01em;
}
.bl-line-form input,
.bl-line-form select{
  width:100%!important;
  min-height:52px!important;
  padding:0 14px!important;
  border:1px solid #cbd5e1!important;
  border-radius:12px!important;
  background:#fff!important;
  color:#0f172a!important;
  font-size:15px!important;
  font-weight:600!important;
  outline:none!important;
  box-shadow:0 1px 2px rgba(15,23,42,.03)!important;
  transition:border-color .18s, box-shadow .18s, background .18s;
}
.bl-line-form input:focus,
.bl-line-form select:focus{
  border-color:#2f80ed!important;
  box-shadow:0 0 0 4px rgba(47,128,237,.12)!important;
}
.bl-line-form .wide{grid-column:1/-1!important;}
.bl-line-form .bl-live-calc{
  grid-column:1/-1!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  padding:16px 18px!important;
  border-radius:14px!important;
  border:1px solid #dbeafe!important;
  background:linear-gradient(180deg,#eff6ff,#f8fbff)!important;
}
.bl-line-form .bl-live-calc span{
  color:#475569!important;
  font-size:13px!important;
  font-weight:700!important;
}
.bl-line-form .bl-live-calc strong{
  color:#0f4c81!important;
  font-size:20px!important;
  font-weight:800!important;
  letter-spacing:-.02em;
}
.bl-line-form button.primary.wide{
  grid-column:1/-1!important;
  min-height:54px!important;
  margin-top:2px!important;
  border-radius:13px!important;
  border:0!important;
  background:linear-gradient(135deg,#1473e6,#0b5fc0)!important;
  color:#fff!important;
  font-size:15px!important;
  font-weight:800!important;
  box-shadow:0 10px 24px rgba(20,115,230,.24)!important;
}
.bl-line-form button.primary.wide:hover{filter:brightness(1.04);transform:translateY(-1px);}
@media(max-width:720px){
  .bl-line-overlay{padding:10px!important;align-items:flex-start!important;}
  .bl-line-dialog{width:100%!important;max-height:calc(100vh - 20px)!important;border-radius:16px!important;}
  .bl-line-dialog .category-manager-head{padding:18px!important;}
  .bl-line-dialog .category-manager-head h2{font-size:20px!important;}
  .bl-line-form{grid-template-columns:1fr!important;padding:18px!important;gap:14px!important;}
  .bl-line-form .wide,.bl-line-form .bl-live-calc,.bl-line-form button.primary.wide{grid-column:1!important;}
}

/* V43 MT PRECISION UI */
input[type="number"][step="0.001"]{font-variant-numeric:tabular-nums;}
.v38-matrix td,.v39-portstock td,.v41-inbound td{font-variant-numeric:tabular-nums;}

/* V46 VARIANT SAVE CANCEL */
.bl-line-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:4px}.bl-line-actions button{min-width:120px}.bl-line-actions .ghost{background:#f8fafc;border:1px solid #cbd5e1;color:#334155}.bl-line-actions .primary{background:#0f3d66}.bl-line-dialog{max-width:760px}
@media(max-width:640px){.bl-line-actions{flex-direction:column-reverse}.bl-line-actions button{width:100%}}


/* V47 VARIANT POPUP ACTIONS */
.v47-popup-actions{display:grid;grid-template-columns:minmax(140px,.38fr) minmax(220px,1fr);gap:12px;margin-top:4px}.v47-popup-actions button{min-height:52px;border-radius:12px;font-weight:800;font-size:15px}.v47-popup-actions .ghost{background:#fff;border:1px solid #cbd5e1;color:#334155}.v47-popup-actions .primary{box-shadow:0 8px 18px rgba(37,99,235,.18)}.bl-line-form input[name="totalWeight"]{font-variant-numeric:tabular-nums;letter-spacing:.02em}@media(max-width:640px){.v47-popup-actions{grid-template-columns:1fr}.v47-popup-actions .ghost{order:2}.v47-popup-actions .primary{order:1}}


/* V51 HORIZONTAL COLLAPSIBLE B/L + SUCCESS POPUP */
.v48-bl-strip{display:flex;gap:10px;align-items:center;overflow-x:auto;padding:4px 2px 12px;margin-top:12px;scrollbar-width:thin}
.v48-bl-tab{flex:0 0 auto;min-width:135px;min-height:46px;border:1px solid #d8e2ee;background:#fff;border-radius:10px;padding:9px 13px;display:flex;align-items:center;gap:8px;color:#27415d;font-weight:700;box-shadow:0 1px 2px rgba(15,42,70,.05);cursor:pointer}
.v48-bl-tab .v38-acc-arrow{transition:transform .18s ease}.v48-bl-tab.active{border-color:#1677d2;background:#eff7ff;color:#0b5faa}.v48-bl-tab.active .v38-acc-arrow{transform:rotate(90deg)}
.v48-bl-tab .v38-acc-spacer{display:none}.v48-bl-tab .master-status,.v48-bl-tab .status-badge{margin-left:4px}
.v48-hidden-head{display:none!important}.v38-accordion-list>.v38-accordion{margin:0}.v38-accordion-list>.v38-accordion:not(.open) .v38-accordion-body{display:none!important}.v38-accordion-list>.v38-accordion.open .v38-accordion-body{display:block;margin-top:0;border:1px solid #dbe5ef;border-radius:12px;background:#fff;box-shadow:0 4px 16px rgba(15,42,70,.06)}
.v51-success-overlay{position:fixed;inset:0;z-index:13050;display:flex;align-items:flex-start;justify-content:center;padding-top:28px;pointer-events:none}
.v51-success-card{width:min(430px,calc(100vw - 28px));background:#fff;border:1px solid #d8e7df;border-radius:15px;box-shadow:0 16px 50px rgba(18,42,65,.22);padding:16px 18px;display:flex;gap:13px;align-items:center;animation:v51pop .18s ease-out}
.v51-success-icon{width:42px;height:42px;flex:0 0 42px;border-radius:50%;display:grid;place-items:center;background:#e8f7ef;color:#16834a;font-size:24px;font-weight:900}.v51-success-card h3{margin:0 0 3px;font-size:16px;color:#17344f}.v51-success-card p{margin:0;font-size:13px;line-height:1.45;color:#617386}
@keyframes v51pop{from{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:none}}
@media(max-width:700px){.v48-bl-strip{gap:7px}.v48-bl-tab{min-width:116px;padding:8px 10px;font-size:13px}}


/* V55 DISCHARGE ACCORDION */
.v55-bl-list{display:flex;flex-direction:column;gap:0}.v55-bl-block{border-bottom:1px solid #dfe5ee}.v55-bl-block:last-child{border-bottom:0}.v55-bl-head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 8px;border:0;background:transparent;text-align:left;cursor:pointer}.v55-bl-head:hover{background:#f8fafc}.v55-bl-head span:first-child{display:flex;align-items:center;gap:12px}.v55-bl-head b{font-size:14px;color:#10233f}.v55-bl-head small{font-size:12px;color:#64748b;padding:3px 8px;border-radius:999px;background:#eef3f8}.v55-chevron{font-size:20px;color:#64748b;transition:transform .2s ease}.v55-bl-body{display:none;padding:0 0 16px}.v55-bl-block.open .v55-bl-body{display:block}.v55-bl-block.open .v55-chevron{transform:rotate(180deg)}@media(max-width:760px){.v55-bl-head{padding:14px 4px}.v55-bl-head span:first-child{gap:8px}.v55-bl-body{padding-bottom:12px}}

/* V62 vessel cargo lifecycle lock */
.v62-cargo-locked,.v62-inline-lock{display:inline-flex;align-items:center;gap:6px;border:1px solid #dbe3ee;background:#f8fafc;color:#475569;border-radius:10px;padding:8px 11px;font-size:12px;font-weight:700}.v62-inline-lock{padding:5px 8px}.v38-head-actions .v62-cargo-locked{white-space:nowrap}

/* V63_LOADING_UI */
.v63-progress-card{background:#fff;border:1px solid #e3e9f2;border-radius:16px;padding:18px 20px;margin:14px 0;box-shadow:0 8px 22px rgba(15,34,58,.055)}
.v63-progress-card>div:first-child{display:flex;align-items:center;justify-content:space-between;color:#536276;font-size:13px;font-weight:700}.v63-progress-card strong{font-size:22px;color:#123a66}.v63-progress-track{height:10px;background:#edf2f7;border-radius:999px;margin:12px 0 8px;overflow:hidden}.v63-progress-track i{display:block;height:100%;background:linear-gradient(90deg,#1769aa,#1f8bc5);border-radius:999px;transition:width .25s ease}.v63-progress-card small{color:#77869a}.v63-kpis{grid-template-columns:repeat(5,minmax(120px,1fr))}.v63-loading-table td:first-child b{display:block}.v63-variant{display:block;color:#708196;margin-top:3px;font-size:11px}.v63-balance-open{color:#a85b00}.v63-balance-done{color:#16825d}.v63-manifest-lock{display:inline-flex;align-items:center;gap:6px;background:#fff4e6;border:1px solid #ffd6a3;color:#8a4a00;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:800}.v63-locked{font-size:16px}.v63-loading-table input:disabled{background:#f1f4f8;color:#7a8796;border-color:#dce3eb}.v55-bl-block+.v55-bl-block{border-top:1px solid #dce4ee;margin-top:6px;padding-top:6px}
@media(max-width:900px){.v63-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.v63-progress-card{padding:14px}.v63-manifest-lock{margin-top:8px}.v63-loading-table{min-width:1050px}}

/* V64 vessel lifecycle workflow */
.v64-workflow{display:flex;align-items:center;gap:8px;padding:14px 18px;margin:0 0 14px;background:#fff;border:1px solid #e4e8ef;border-radius:14px;overflow-x:auto}.v64-step{display:flex;align-items:center;gap:7px;white-space:nowrap;color:#8a94a6}.v64-step span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;border:1px solid #cfd6e2;background:#f7f8fa;font-weight:700}.v64-step small{font-size:12px;font-weight:700}.v64-step.done{color:#334155}.v64-step.done span{background:#eef6f1;border-color:#b7d8c4}.v64-step.current{color:#123b6d}.v64-step.current span{background:#123b6d;color:#fff;border-color:#123b6d}.v64-workflow i{display:block;min-width:24px;height:1px;background:#d8dee8;flex:1}.v64-cancelled{margin-left:auto;padding:7px 12px;border-radius:999px;background:#fff1f2;color:#9f1239;font-size:12px;font-weight:800}.v64-workflow.cancelled .v64-step,.v64-workflow.cancelled i{opacity:.45}@media(max-width:720px){.v64-workflow{padding:11px 12px}.v64-step small{font-size:11px}.v64-workflow i{min-width:16px}}


/* V65 PROFESSIONAL VESSEL OVERVIEW */
.v65-vessel-card{display:grid;grid-template-columns:74px 1fr minmax(220px,280px);gap:18px;align-items:stretch;background:#fff;border:1px solid #e3eaf3;border-radius:16px;padding:18px;margin:0 0 14px;box-shadow:0 8px 26px rgba(15,46,78,.07)}
.v65-ship-mark{width:74px;height:74px;border-radius:16px;display:grid;place-items:center;font-size:34px;color:#1169cf;background:linear-gradient(145deg,#eef6ff,#dbeafe);border:1px solid #cfe1f8}
.v65-vessel-main{min-width:0}.v65-vessel-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.v65-vessel-title h2{margin:0;color:#102b4f;font-size:22px}.v65-code{display:inline-block;margin-top:3px;font-size:12px;color:#718096;font-weight:700;letter-spacing:.04em}
.v65-status-pill{padding:7px 11px;border-radius:999px;background:#eaf3ff;color:#1262b3;font-size:12px;font-weight:800;white-space:nowrap}.v65-status-pill.status-completed{background:#e9f9ef;color:#15803d}.v65-status-pill.status-cancelled{background:#fff0f0;color:#b42318}.v65-status-pill.status-discharing,.v65-status-pill.status-discharging{background:#fff7e8;color:#b76b00}
.v65-vessel-meta{display:grid;grid-template-columns:repeat(6,minmax(90px,1fr));gap:0;border-top:1px solid #eef2f6;padding-top:12px}.v65-vessel-meta>div{padding:0 12px;border-right:1px solid #edf1f6}.v65-vessel-meta>div:first-child{padding-left:0}.v65-vessel-meta>div:last-child{border-right:0}.v65-vessel-meta small{display:block;color:#76869b;font-size:11px;margin-bottom:4px}.v65-vessel-meta b{display:block;color:#15375f;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v65-stage-box{border-radius:14px;padding:16px;background:linear-gradient(145deg,#eaf5ff,#f5faff);border:1px solid #cfe4fa;display:flex;flex-direction:column;justify-content:center}.v65-stage-box small{color:#55708f;font-size:11px;font-weight:700}.v65-stage-box strong{font-size:18px;color:#124d91;margin:5px 0}.v65-stage-box span{font-size:11px;color:#718096;line-height:1.35}
.v65-progress-card,.v65-cargo-card{background:#fff;border:1px solid #e3eaf3;border-radius:16px;padding:17px 18px;margin:0 0 14px;box-shadow:0 7px 22px rgba(15,46,78,.055)}.v65-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.v65-section-head h3{margin:0;color:#102b4f;font-size:17px}.v65-section-head p{margin:3px 0 0;color:#75859a;font-size:12px}.v65-legend{display:flex;gap:12px;font-size:10px;white-space:nowrap}.v65-legend .done{color:#1f9d55}.v65-legend .current{color:#1670d2}.v65-legend .waiting{color:#a2adba}
.v65-timeline{display:flex;align-items:flex-start;overflow-x:auto;padding:4px 4px 2px}.v65-step{min-width:95px;display:flex;flex-direction:column;align-items:center;text-align:center;position:relative}.v65-step-dot{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#eef1f4;color:#9aa6b2;font-weight:800;border:3px solid #fff;box-shadow:0 0 0 1px #dce3ea}.v65-step.done .v65-step-dot{background:#28a745;color:#fff;box-shadow:0 0 0 1px #28a745}.v65-step.current .v65-step-dot{background:#1677e8;color:#fff;box-shadow:0 0 0 3px #cfe5ff}.v65-step-copy{margin-top:8px}.v65-step-copy b{display:block;color:#1a365d;font-size:11px;line-height:1.2}.v65-step-copy small{display:block;color:#8794a6;font-size:9px;margin-top:3px}.v65-step-line{height:2px;flex:1;min-width:28px;background:#dfe5eb;margin-top:16px}.v65-step-line.done{background:#2eae60}.v65-cancelled-banner{margin-top:12px;padding:9px 12px;border-radius:10px;background:#fff1f1;color:#b42318;font-size:12px;font-weight:700}
.v65-flow-grid{display:grid;grid-template-columns:minmax(130px,1fr) 24px minmax(130px,1fr) 24px minmax(130px,1fr) 24px minmax(130px,1fr) 24px minmax(130px,1fr);align-items:stretch;gap:8px}.v65-flow-item{border-radius:14px;padding:14px;border:1px solid #dbe7f4;background:#f7fbff;min-width:0}.v65-flow-item.blue{background:#eff7ff}.v65-flow-item.navy{background:#f1f6fb}.v65-flow-item.orange{background:#fff8ee;border-color:#f8dfbd}.v65-flow-item.purple{background:#f7f2ff;border-color:#e4d8fb}.v65-flow-item.green{background:#effaf4;border-color:#d5efdf}.v65-flow-icon{font-size:22px;margin-bottom:6px;color:#176ec7}.v65-flow-item small{display:block;color:#60758d;font-size:11px;font-weight:700}.v65-flow-item strong{display:block;color:#12365f;font-size:20px;margin-top:6px}.v65-flow-item strong em{font-style:normal;font-size:10px;color:#70839a}.v65-flow-item b{display:block;color:#355571;font-size:12px;margin-top:3px}.v65-flow-item span{display:block;color:#8794a6;font-size:9px;margin-top:7px}.v65-flow-item.pending{opacity:.88}.v65-arrow{display:grid;place-items:center;color:#9aa8b6;font-style:normal;font-size:22px}.v65-loading-placeholder{grid-column:1/-1;padding:18px;text-align:center;color:#7c8998}
.v65-kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:10px;margin:0 0 14px}.v65-kpi{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #e3eaf3;border-radius:13px;padding:13px;box-shadow:0 5px 16px rgba(15,46,78,.045)}.v65-kpi>span{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#edf5ff;color:#1670d2;font-weight:900}.v65-kpi small{display:block;color:#718198;font-size:10px}.v65-kpi strong{display:block;color:#173a63;font-size:15px;margin-top:2px}.v65-kpi b{display:block;color:#5d7289;font-size:10px;font-weight:600;margin-top:1px}.v65-tabs{margin-bottom:14px;position:sticky;top:0;z-index:5;background:#fff;border-radius:12px;border:1px solid #e4eaf2;padding:5px}
@media(max-width:1180px){.v65-vessel-card{grid-template-columns:62px 1fr}.v65-stage-box{grid-column:1/-1}.v65-vessel-meta{grid-template-columns:repeat(3,1fr)}.v65-kpi-grid{grid-template-columns:repeat(3,1fr)}.v65-flow-grid{display:flex;overflow-x:auto}.v65-flow-item{min-width:180px}.v65-arrow{min-width:24px}}
@media(max-width:720px){.v65-vessel-card{grid-template-columns:1fr;padding:14px}.v65-ship-mark{width:54px;height:54px}.v65-vessel-title{align-items:flex-start}.v65-vessel-meta{grid-template-columns:repeat(2,1fr)}.v65-vessel-meta>div{border-right:0;border-bottom:1px solid #edf1f6;padding:8px 6px}.v65-kpi-grid{grid-template-columns:repeat(2,1fr)}.v65-legend{display:none}.v65-progress-card,.v65-cargo-card{padding:14px}.v65-tabs{overflow-x:auto;white-space:nowrap}.v65-tabs button{flex:0 0 auto}}


/* V100 Loading UI */
.v100-progress-card{padding:24px 20px!important}
.v100-progress-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.v100-progress-head span{font-weight:700;color:#41506d}
.v100-progress-head strong{font-size:22px;color:#243b72}
.v100-progress{display:block;width:100%;height:18px;border:0;border-radius:999px;overflow:hidden;background:#e7ecf4;appearance:none;-webkit-appearance:none}
.v100-progress::-webkit-progress-bar{background:#e7ecf4;border-radius:999px}
.v100-progress::-webkit-progress-value{background:linear-gradient(90deg,#3f61c7,#6f91ec);border-radius:999px}
.v100-progress::-moz-progress-bar{background:linear-gradient(90deg,#3f61c7,#6f91ec);border-radius:999px}
.v100-progress-legend{display:flex;flex-wrap:wrap;align-items:center;gap:10px 20px;margin:11px 0 7px;font-size:12px;color:#6f7d97}
.v100-progress-legend span{display:inline-flex;align-items:center;gap:5px}
.v100-progress-legend i{width:8px;height:8px;border-radius:50%;display:inline-block}
.v100-progress-legend i.loaded{background:#4f6fd1}.v100-progress-legend i.missing{background:#f0a43b}.v100-progress-legend i.damaged{background:#d95b62}.v100-progress-legend i.balance{background:#cfd7e6}
.v100-progress-legend b{color:#2f405f}
.v100-bl-meta{display:flex!important;align-items:center;gap:8px;flex-wrap:wrap;margin-top:3px}
.v100-status{font-style:normal;padding:3px 8px;border-radius:999px;font-weight:700}
.v100-status-loaded{background:#e7f7ed;color:#1f7a45}.v100-status-progress{background:#eef3ff;color:#3159b6}.v100-status-unsaved{background:#f1f3f7;color:#77839a}
.v100-savebar{display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;box-sizing:border-box;padding:14px 18px;border-top:1px solid #dfe6f2;background:#f8faff}
.v100-save-copy{display:flex;flex-direction:column;gap:3px;min-width:0}.v100-save-copy b{font-size:13px;color:#24365f}.v100-save-copy small{font-size:12px;color:#74829d}
.v100-save-actions{margin-left:auto;display:flex;justify-content:flex-end;flex:0 0 auto}.v100-save-btn{min-width:175px;white-space:nowrap}
.v100-balance.is-open{color:#a36100}.v100-balance.is-done{color:#2f7c4e}
.v100-modal-overlay{position:fixed;inset:0;z-index:2147483647;background:rgba(15,27,52,.62);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:20px;box-sizing:border-box}
.v100-modal{width:min(500px,94vw);background:#fff;border:1px solid #dbe3f0;border-radius:18px;overflow:hidden;box-shadow:0 30px 90px rgba(14,30,65,.36)}
.v100-modal-head{padding:20px 22px;background:linear-gradient(135deg,#253b6b,#4565a2);color:#fff}.v100-modal-head small{letter-spacing:.16em;opacity:.75}.v100-modal-head h3{margin:7px 0 0;font-size:20px}
.v100-modal-body{padding:22px;color:#44516b}.v100-modal-body p{margin:0 0 14px;line-height:1.55}.v100-modal-summary{padding:12px 14px;border-radius:12px;background:#f3f6fb;border:1px solid #e2e8f3;font-weight:700;color:#263b67}
.v100-modal-actions{display:flex;justify-content:flex-end;gap:10px;padding:0 22px 22px}
@media(max-width:760px){.v100-savebar{align-items:stretch;flex-direction:column}.v100-save-actions{margin-left:0;width:100%}.v100-save-btn{width:100%}}

\n/* V103 Discharging */
.v103-gate{display:flex;align-items:center;gap:18px;padding:24px;margin-top:18px;background:#fff;border:1px solid #dfe6f2;border-radius:16px;box-shadow:0 8px 24px rgba(29,46,83,.06)}
.v103-gate-icon{width:50px;height:50px;border-radius:14px;background:#eef3ff;display:grid;place-items:center;font-size:25px;flex:0 0 auto}.v103-gate>div:nth-child(2){flex:1}.v103-gate h3{margin:0 0 6px;color:#263b67}.v103-gate p{margin:0;color:#6e7d98;line-height:1.5}
.v103-bal{font-weight:800;color:#9a6307}
@media(max-width:760px){.v103-gate{align-items:stretch;flex-direction:column}}

\n/* V107 Discharging decimal + lock */
.v107-bl-meta{display:flex!important;align-items:center;gap:8px;flex-wrap:wrap;margin-top:3px}
.v107-state{font-style:normal;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:800}
.v107-state-full{background:#e7f7ed;color:#1f7a45;border:1px solid #c6ead3}
.v107-state-exception{background:#fff5df;color:#9a6307;border:1px solid #f0ddb0}
.v107-state-progress{background:#eef3ff;color:#3159b6;border:1px solid #d9e3ff}
.v107-state-new{background:#f1f3f7;color:#77839a;border:1px solid #e2e6ee}
.v107-bal{font-weight:800}.v107-bal.is-open{color:#9a6307}.v107-bal.is-done{color:#2f7c4e}
.v107-savebar .v100-save-actions{gap:10px}.v107-lock-btn{min-width:120px;font-weight:800}

\n/* V110 Port Stock */
.v110-port-badge{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border-radius:999px;background:#edf3ff;color:#294f9d;font-weight:800;font-size:12px;border:1px solid #d7e2fb}
.v110-port-kpis .v110-text-kpi{font-size:15px!important;line-height:1.25!important}
.v110-empty{padding:42px 20px;text-align:center;color:#71809a}.v110-empty>div{font-size:34px;margin-bottom:8px}.v110-empty h3{margin:0 0 6px;color:#354663}.v110-empty p{margin:0}


/* V118_GLOBAL_TOPBAR_PRODUCT_LIGHT */
:root{--v118-navy:#20263a;--v118-navy-2:#171d2e;--v118-line:#dfe6ef;--v118-text:#203654;--v118-muted:#75869b;--v118-soft:#f5f8fc;--v118-blue:#4f6fd1}

/* One professional top bar across every module */
.topbar{
  background:linear-gradient(100deg,#202638 0%,#20283d 58%,#28334b 100%)!important;
  border-bottom:1px solid #303b55!important;
  box-shadow:0 8px 26px rgba(21,29,48,.18)!important;
  color:#fff!important;
}
.topbar .breadcrumb{color:#aeb9ce!important}.topbar .breadcrumb b{color:#f8fbff!important}.topbar .breadcrumb span{color:#7f8da8!important}
.topbar .global-search{background:#151c2d!important;border:1px solid #303b55!important;color:#d9e2f1!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important}
.topbar .global-search input{color:#fff!important}.topbar .global-search input::placeholder{color:#7f8ca4!important}
.topbar-action,#menu{background:#151c2d!important;border:1px solid #35415d!important;color:#f1f5fb!important;box-shadow:none!important}
.topbar-action:hover,#menu:hover{background:#2b3650!important;border-color:#465574!important;color:#fff!important}
.topbar #badge{border-color:#20283d!important}
.profile-shortcut{background:#f8fafc!important;border:1px solid #dce3ee!important}

/* Product module follows the same light design language as the rest of BHA ERP */
body.product-dark,body.product-dark #app,body.product-dark main{background:#f4f7fb!important;color:var(--v118-text)!important}
body.product-dark .page-head h1{color:#203654!important}
body.product-dark .page-head p{color:#77899d!important}
body.product-dark .bottom{color:#8898aa!important;border-top-color:#e3e9f0!important}

body.product-dark .product-kpis>div{
  background:#fff!important;
  border:1px solid var(--v118-line)!important;
  border-radius:14px!important;
  box-shadow:0 8px 22px rgba(30,55,88,.055)!important;
}
body.product-dark .product-kpis span{color:#7a8ca0!important}
body.product-dark .product-kpis strong{color:#203654!important}

body.product-dark .product-master-panel{
  background:#fff!important;
  border:1px solid var(--v118-line)!important;
  border-radius:14px!important;
  box-shadow:0 9px 26px rgba(28,55,88,.055)!important;
}
body.product-dark .product-toolbar{background:#f8fafc!important;border-bottom:1px solid #e3e9f0!important}
body.product-dark .product-toolbar input,body.product-dark .product-toolbar select{background:#fff!important;border:1px solid #d8e1eb!important;color:#29435f!important}
body.product-dark .product-toolbar input::placeholder{color:#91a0b1!important}
body.product-dark .product-toolbar input:focus,body.product-dark .product-toolbar select:focus{border-color:#7c96dd!important;box-shadow:0 0 0 3px rgba(79,111,209,.10)!important}
body.product-dark .product-toolbar small{color:#718297!important}

body.product-dark .product-master-panel table{background:#fff!important;color:#2b405b!important}
body.product-dark .product-master-panel thead th{background:#eef3f8!important;color:#5e7289!important;border-bottom:1px solid #dbe4ee!important}
body.product-dark .product-master-panel tbody td{background:#fff!important;color:#2c4059!important;border-bottom:1px solid #e7edf3!important}
body.product-dark .product-master-panel tbody tr:hover td{background:#f7faff!important}
body.product-dark .product-master-panel td:first-child{color:#2c4059!important}

body.product-dark .product-code{background:#eef3fa!important;color:#355879!important;border:1px solid #dce6f0!important}
body.product-dark .product-name-cell strong{color:#203654!important}
body.product-dark .product-name-cell small{color:#8494a7!important}
body.product-dark .product-category{background:#eef3fa!important;border-color:#dce6f0!important;color:#4f647d!important}
body.product-dark .product-category.steel{background:#eef3ff!important;border-color:#d9e3ff!important;color:#4260ad!important}
body.product-dark .product-category.food-stuff{background:#fff6e6!important;border-color:#f0dfb8!important;color:#87631f!important}
body.product-dark .product-thumb{background:#f1f4f8!important;border-color:#dde5ee!important;color:#4a6079!important}
body.product-dark .product-thumb.steel{background:#eef2f7!important;color:#52647a!important;border-color:#dae2eb!important}
body.product-dark .product-thumb.food-stuff{background:#fff6df!important;color:#9a731c!important;border-color:#f0deae!important}
body.product-dark .product-status.active{background:#eaf8f1!important;color:#176b4d!important;border-color:#c3e8d6!important}
body.product-dark .product-status.inactive{background:#f1f3f6!important;color:#6d7b8b!important;border-color:#dce2e8!important}

body.product-dark .product-master-panel button.ghost{background:#fff!important;border:1px solid #d6e0ea!important;color:#496178!important}
body.product-dark .product-master-panel button.ghost:hover{background:#f4f7fb!important;color:#263e58!important;border-color:#c5d2df!important}
body.product-dark .actions .primary,body.product-dark .product-master-panel .primary{background:linear-gradient(135deg,#5e7bd6,#4d67bf)!important;border-color:#5972ca!important;color:#fff!important;box-shadow:0 6px 16px rgba(79,111,209,.20)!important}

/* Product editor drawer also uses the light application language */
body.product-dark #dialog.product-dialog{background:#fff!important;color:#273e58!important;border-left:1px solid #dbe3ec!important;box-shadow:-22px 0 60px rgba(20,43,72,.18)!important}
body.product-dark #dialog.product-dialog::backdrop{background:rgba(17,30,49,.38)!important;backdrop-filter:blur(2px)}
body.product-dark #dialog.product-dialog .modal-head{background:#f8fafc!important;border-bottom:1px solid #e1e8ef!important}
body.product-dark #dialog.product-dialog .modal-head .eyebrow{color:#7a8da1!important}
body.product-dark #dialog.product-dialog .modal-head h2{color:#203654!important}
body.product-dark #dialog.product-dialog .modal-head .icon-button{background:#fff!important;color:#566d84!important;border:1px solid #d8e1ea!important}
body.product-dark #dialog.product-dialog #fields{background:#fff!important}
body.product-dark #dialog.product-dialog .product-form-grid label{color:#405872!important}
body.product-dark #dialog.product-dialog input,body.product-dark #dialog.product-dialog select{background:#fff!important;border:1px solid #d7e0e9!important;color:#2c435e!important}
body.product-dark #dialog.product-dialog input[readonly]{background:#f5f7fa!important;color:#708196!important}
body.product-dark #dialog.product-dialog input::placeholder{color:#96a4b4!important}
body.product-dark #dialog.product-dialog .product-variants-box{background:#fff!important;border:1px solid #dce4ed!important}
body.product-dark #dialog.product-dialog .product-variants-head{background:#f7f9fc!important;border-bottom:1px solid #e1e7ee!important}
body.product-dark #dialog.product-dialog .product-variants-head strong{color:#263e58!important}
body.product-dark #dialog.product-dialog .product-variants-head small{color:#8191a3!important}
body.product-dark #dialog.product-dialog .product-variant-labels{background:#f4f7fa!important;border-bottom:1px solid #e3e9ef!important;color:#708298!important}
body.product-dark #dialog.product-dialog .product-variant-row{border-bottom:1px solid #e8edf2!important}
body.product-dark #dialog.product-dialog .product-variant-row input{background:#fff!important;border-color:#d8e1ea!important;color:#29435d!important}
body.product-dark #dialog.product-dialog .variant-no{background:#eef3f8!important;color:#5b7188!important}
body.product-dark #dialog.product-dialog .variant-remove{background:#fff3f4!important;color:#b25563!important;border:1px solid #efd3d8!important}
body.product-dark #dialog.product-dialog .modal-actions{background:#f8fafc!important;border-top:1px solid #e1e8ef!important}
body.product-dark #dialog.product-dialog .modal-actions .ghost{background:#fff!important;border:1px solid #d6e0ea!important;color:#4f647b!important}
body.product-dark #dialog.product-dialog .modal-actions .primary{background:linear-gradient(135deg,#5e7bd6,#4d67bf)!important;border:1px solid #5972ca!important;color:#fff!important;box-shadow:0 7px 18px rgba(79,111,209,.20)!important}
body.product-dark #dialog.product-dialog #form-error{background:#fff!important;color:#bc4f61!important}


/* V119 USER-CONTROLLED THEME COLORS */
:root{
 --user-topbar:#202638;--user-sidebar:#1b2f4b;--user-accent:#4f6fd1;--user-page:#f4f7fb;--user-surface:#ffffff;--user-table-header:#eef3f8;--user-text:#203654;--user-muted:#75869b;--user-border:#dfe6ef;--user-success:#2f8a57;--user-warning:#b98424;--user-danger:#bd5664;
}
body,#app,main{background:var(--user-page)!important;color:var(--user-text)!important}
aside{background:var(--user-sidebar)!important}
.topbar{background:var(--user-topbar)!important;border-bottom-color:color-mix(in srgb,var(--user-topbar),#fff 15%)!important}
.primary,.actions .primary{background:var(--user-accent)!important;border-color:var(--user-accent)!important}
.panel,.card,.product-master-panel,.product-kpis>div,.product-detail-card,.v39-card,.v63-progress-card,.v100-progress-card{background:var(--user-surface)!important;border-color:var(--user-border)!important}
table thead th,.product-master-panel thead th{background:var(--user-table-header)!important;color:var(--user-text)!important}
table td,.product-master-panel tbody td{border-color:var(--user-border)!important}
h1,h2,h3,h4,strong,.product-name-cell strong{color:var(--user-text)!important}
.muted,small,.page-head p,.product-name-cell small{color:var(--user-muted)!important}
.product-status.active,.v107-state-full{color:var(--user-success)!important}
.v107-state-exception{color:var(--user-warning)!important}
.danger,.danger-outline{color:var(--user-danger)!important}

.v119-theme-card{margin-top:18px;background:var(--user-surface);border:1px solid var(--user-border);border-radius:16px;box-shadow:0 8px 24px rgba(28,53,84,.05);overflow:hidden}
.v119-theme-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:20px 22px;background:color-mix(in srgb,var(--user-surface),var(--user-page) 45%);border-bottom:1px solid var(--user-border)}
.v119-theme-head h3{margin:4px 0 5px;font-size:18px}.v119-theme-head p{margin:0;color:var(--user-muted);font-size:11px;line-height:1.55}.v119-theme-head .eyebrow{font-size:9px;letter-spacing:.16em;color:var(--user-muted)}
.v119-color-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:20px 22px}
.v119-color-grid label{display:grid;gap:7px;font-size:11px;font-weight:750;color:var(--user-text)}
.v119-color-control{display:grid;grid-template-columns:46px 1fr;gap:8px;align-items:center}
.v119-color-control input[type=color]{width:46px;height:40px;padding:3px;border:1px solid var(--user-border);border-radius:9px;background:var(--user-surface)}
.v119-color-control input[type=text]{height:40px;padding:0 10px;border:1px solid var(--user-border);border-radius:9px;background:var(--user-surface);color:var(--user-text);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;text-transform:uppercase}
@media(max-width:1000px){.v119-color-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.v119-theme-head{flex-direction:column}.v119-theme-head button{width:100%}.v119-color-grid{grid-template-columns:1fr;padding:16px}}

/* V123 B/L PORT ALLOCATION */
.v123-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:16px 0}.v123-kpis>div{background:var(--user-surface);border:1px solid var(--user-border);border-radius:14px;padding:15px 16px;box-shadow:0 7px 22px rgba(28,53,84,.045)}.v123-kpis span,.v123-kpis small{display:block;color:var(--user-muted);font-size:10px}.v123-kpis strong{display:block;margin:7px 0 3px;font-size:22px;color:var(--user-text)}
.v123-filter{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:10px;padding:12px;background:var(--user-surface);border:1px solid var(--user-border);border-radius:13px;margin-bottom:12px}.v123-filter input{height:40px;border:1px solid var(--user-border);border-radius:9px;background:var(--user-surface);color:var(--user-text);padding:0 12px}
.v123-bl-list{display:grid;gap:9px}.v123-bl{background:var(--user-surface);border:1px solid var(--user-border);border-radius:13px;overflow:hidden}.v123-bl-head{width:100%;display:grid;grid-template-columns:28px minmax(180px,1.2fr) auto repeat(3,minmax(110px,.7fr));gap:14px;align-items:center;padding:14px 16px;border:0;background:var(--user-surface);color:var(--user-text);text-align:left}.v123-bl.open>.v123-bl-head{background:var(--user-accent);color:#fff}.v123-bl.open>.v123-bl-head *{color:#fff!important}.v123-arrow{font-size:25px;transition:.18s}.v123-bl.open .v123-arrow{transform:rotate(90deg)}.v123-bl-name b{display:block;font-size:14px}.v123-bl-name small{display:block;margin-top:3px}.v123-bl-stat small{display:block;font-size:9px}.v123-bl-stat b{display:block;margin-top:3px;font-size:12px}.v123-status{font-style:normal;padding:5px 9px;border-radius:999px;font-size:10px;font-weight:800;white-space:nowrap}.v123-status.port{background:#e9f8ef;color:#2b7b4d}.v123-status.partial{background:#fff5df;color:#98711f}.v123-status.wait{background:#fff0e7;color:#b45e2e}.v123-status.ready{background:#e9f4ff;color:#3268a8}.v123-status.fz{background:#eaf2ff;color:#4869b5}.v123-bl-body{display:none}.v123-bl.open>.v123-bl-body{display:block}.v123-table th,.v123-table td{font-size:11px}.v123-actions{display:flex;align-items:center;gap:14px;padding:13px 15px;border-top:1px solid var(--user-border);background:var(--user-page)}.v123-actions span{font-size:10px;color:var(--user-muted)}
.v123-drawer-wrap{position:fixed;inset:0;z-index:100000}.v123-drawer-shade{position:absolute;inset:0;background:rgba(15,28,48,.38);backdrop-filter:blur(2px)}.v123-drawer{position:absolute;right:0;top:0;height:100dvh;width:min(570px,100vw);background:var(--user-surface);display:flex;flex-direction:column;box-shadow:-24px 0 70px rgba(10,28,52,.22)}.v123-drawer-head{display:flex;justify-content:space-between;gap:16px;padding:20px 22px;border-bottom:1px solid var(--user-border)}.v123-drawer-head h3{margin:0 0 5px;font-size:20px}.v123-drawer-head p{margin:0;color:var(--user-muted)}.v123-x{border:0;background:none;font-size:26px;color:var(--user-muted)}.v123-steps{counter-reset:step;display:grid;grid-template-columns:repeat(5,1fr);padding:16px 20px;border-bottom:1px solid var(--user-border)}.v123-steps span{text-align:center;color:var(--user-muted);font-size:10px}.v123-steps span:before{content:counter(step);counter-increment:step;display:grid;place-items:center;width:27px;height:27px;margin:0 auto 6px;border-radius:50%;background:#edf1f6;color:#607188;font-weight:800}.v123-steps span.active:before{background:var(--user-accent);color:#fff}.v123-steps span b{display:block;font-size:9px}.v123-drawer-body{flex:1;overflow:auto;padding:22px}.v123-drawer-body h4{margin:0 0 7px;font-size:16px}.v123-drawer-body>p{margin:0 0 18px;color:var(--user-muted);font-size:11px}.v123-types{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.v123-types button{min-height:132px;border:1px solid var(--user-border);border-radius:13px;background:var(--user-surface);color:var(--user-text);font-size:24px}.v123-types button.active{border:2px solid var(--user-accent);background:#f4f7ff}.v123-types b,.v123-types small{display:block;font-size:11px;margin-top:9px}.v123-types small{font-size:9px;color:var(--user-muted)}.v123-form{display:grid;grid-template-columns:1fr 1fr;gap:13px}.v123-form label{display:grid;gap:6px;font-size:10px;font-weight:750;color:var(--user-text)}.v123-form .wide{grid-column:1/-1}.v123-form input,.v123-form select,.v123-form textarea{min-height:42px;border:1px solid var(--user-border);border-radius:9px;background:var(--user-surface);color:var(--user-text);padding:9px 11px}.v123-form textarea{min-height:84px}.v123-payment-note,.v123-skip{margin-top:18px;padding:15px;border:1px solid var(--user-border);border-radius:11px;background:var(--user-page);color:var(--user-muted);font-size:11px}.v123-confirm{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--user-border);border-radius:11px;overflow:hidden}.v123-confirm span,.v123-confirm b{padding:12px;border-bottom:1px solid var(--user-border)}.v123-confirm span{background:var(--user-page);color:var(--user-muted)}.v123-drawer-foot{display:flex;justify-content:space-between;padding:16px 20px;border-top:1px solid var(--user-border)}
@media(max-width:1100px){.v123-kpis{grid-template-columns:repeat(2,1fr)}.v123-bl-head{grid-template-columns:28px 1fr auto}.v123-bl-stat{display:none}}@media(max-width:650px){.v123-kpis{grid-template-columns:1fr 1fr}.v123-filter{grid-template-columns:1fr}.v123-types{grid-template-columns:1fr}.v123-form{grid-template-columns:1fr}.v123-form .wide{grid-column:auto}}

/* V132_SETTINGS_CORE_CSS */
.v132-settings-card{margin-top:18px;background:#fff;border:1px solid var(--line,#e5ebf2);border-radius:16px;padding:20px;box-shadow:0 8px 28px rgba(25,43,70,.06)}
.v132-title{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:16px}.v132-title h2{margin:3px 0 6px;font-size:18px}.v132-title p{margin:0;color:var(--muted);max-width:760px;line-height:1.55}.v132-live{font-size:12px;font-weight:800;color:#198777;background:#edf9f5;border:1px solid #cfeee4;border-radius:999px;padding:7px 10px;white-space:nowrap}.v132-presets{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.v132-presets button{border:1px solid #d9e2ed;background:#f8fafc;border-radius:10px;padding:9px 13px;font-weight:700}.v132-presets button.active{background:#173b63;color:#fff;border-color:#173b63}.v132-grid{display:grid;grid-template-columns:repeat(2,minmax(260px,1fr));gap:14px 18px}.v132-setting{display:grid;gap:8px}.v132-setting>span{display:flex;justify-content:space-between;gap:10px;font-weight:700}.v132-setting>span b{font-size:12px;color:#62758c;background:#eef3f8;border-radius:7px;padding:2px 7px}.v132-setting input[type=range]{width:100%}.v132-setting select,.v132-setting input[type=color]{min-height:38px;border:1px solid #d9e2ed;border-radius:9px;background:#fff;padding:7px 9px}.v132-check{display:flex;align-items:center;gap:9px;min-height:40px;font-weight:700}.v132-check input{width:18px;height:18px}
html.v132-custom-display body,html.v132-custom-display #app,html.v132-custom-display main{font-family:var(--v132-font-family)!important;font-size:var(--v132-font-size)!important}html.v132-custom-display #sidebar,html.v132-custom-display #sidebar *{font-size:var(--v132-sidebar-font-size)!important}html.v132-custom-display button,html.v132-custom-display input,html.v132-custom-display select,html.v132-custom-display textarea{font-size:var(--v132-control-font-size)!important}html.v132-custom-display table th{font-size:var(--v132-table-head-font-size)!important}html.v132-custom-display table td{font-size:var(--v132-table-body-font-size)!important;height:var(--v132-table-row-height)!important}html.v132-custom-display table th,html.v132-custom-display table td{padding:var(--v132-cell-vpad) var(--v132-cell-hpad)!important;min-width:var(--v132-col-min)!important;max-width:var(--v132-col-max)!important}html.v132-custom-display:not(.v132-wrap-text) table th,html.v132-custom-display:not(.v132-wrap-text) table td{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}html.v132-wrap-text table th,html.v132-wrap-text table td{white-space:normal!important;overflow-wrap:anywhere!important}html.v132-custom-display #app{zoom:var(--v132-app-zoom)}html.v132-custom-display #sidebar{background:var(--v132-side-panel-bg,var(--nav))!important}
@media(max-width:850px){.v132-grid{grid-template-columns:1fr}.v132-title{flex-direction:column}.v132-settings-card{padding:15px}}


/* V134_PROFESSIONAL_RESPONSIVE_LOGIN */
#login.login-v134{--login-navy:#071f37;--login-navy-2:#0b3157;--login-blue:#2477d9;--login-soft:#f5f8fc;min-height:100svh;display:grid;grid-template-columns:minmax(0,1.22fr) minmax(430px,.88fr);background:#f4f7fb;overflow:hidden}
.login-v134 .login-art{position:relative;min-height:100svh;padding:clamp(36px,4.5vw,74px);display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;color:#fff;background:radial-gradient(circle at 76% 16%,#2d6fae 0%,transparent 28%),radial-gradient(circle at 18% 85%,#0f4d80 0%,transparent 31%),linear-gradient(145deg,#08233e 0%,#0a2d50 52%,#061a2e 100%)}
.login-v134 .login-art:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 15%,#ffffff06 15.5%,transparent 16%),linear-gradient(25deg,transparent 74%,#ffffff05 74.5%,transparent 75%);pointer-events:none}
.login-v134 .login-brand-wrap{position:relative;z-index:4;display:flex;flex-direction:column;align-items:flex-start;gap:13px;width:auto;margin:0}
.login-v134 .login-brand{padding:0!important;margin:0!important;gap:14px;align-items:center}
.login-v134 .login-brand .brand-mark{width:62px;height:62px;border:1px solid #ffffff50;border-radius:15px;background:#ffffff12;box-shadow:0 18px 45px #00111f55;font-size:22px;letter-spacing:-1px}
.login-v134 .login-brand strong{font-size:27px;letter-spacing:.5px}.login-v134 .login-brand small{font-size:9px;letter-spacing:2.5px;color:#b8cee3;margin-top:4px}
.login-v134 .login-brand-sub{font-size:13px;color:#d7e4f1;letter-spacing:.15px}
.login-v134 .login-hero-visual{position:absolute;z-index:1;inset:18% 3% 6% 24%;opacity:.95;pointer-events:none}
.login-v134 .hero-globe{position:absolute;right:2%;top:0;width:min(40vw,560px);aspect-ratio:1;border-radius:50%;border:1px solid #7db9ed28;background:radial-gradient(circle at 35% 30%,#3d8ed633,transparent 58%),repeating-radial-gradient(circle,#80b6e50f 0 1px,transparent 1px 13px);box-shadow:0 0 0 45px #ffffff04,0 0 0 90px #ffffff025}
.login-v134 .hero-globe:before,.login-v134 .hero-globe:after{content:"";position:absolute;inset:12% 4%;border:1px solid #8ac1ed20;border-radius:50%}.login-v134 .hero-globe:after{inset:4% 27%;transform:rotate(90deg)}
.login-v134 .hero-route{position:absolute;height:1px;background:linear-gradient(90deg,transparent,#7ec6ff99,transparent);transform-origin:left center}.login-v134 .hero-route:after{content:"";position:absolute;right:22%;top:-3px;width:7px;height:7px;border-radius:50%;background:#c8e8ff;box-shadow:0 0 14px 5px #62b8ff88}.login-v134 .hero-route-a{left:3%;right:12%;top:43%;transform:rotate(-8deg)}.login-v134 .hero-route-b{left:9%;right:4%;top:57%;transform:rotate(7deg)}
.login-v134 .hero-plane{position:absolute;left:34%;top:34%;width:min(14vw,210px);color:#dceeff;filter:drop-shadow(0 15px 16px #00172b80);transform:rotate(-5deg)}
.login-v134 .hero-port{position:absolute;right:8%;bottom:1%;width:48%;height:28%;border-bottom:7px solid #153f66;background:linear-gradient(180deg,transparent 0 50%,#0c2945cc 50% 100%)}
.login-v134 .container{position:absolute;width:16%;height:17%;bottom:10%;border-radius:2px;background:#c65f36;box-shadow:inset 0 0 0 1px #ffffff14}.login-v134 .container.c1{left:12%;bottom:11%}.login-v134 .container.c2{left:29%;bottom:11%;background:#2d6da8}.login-v134 .container.c3{left:46%;bottom:11%;background:#c89b48}.login-v134 .container.c4{left:20%;bottom:29%;background:#497f9e}.login-v134 .container.c5{left:37%;bottom:29%;background:#b94839}.login-v134 .container.c6{left:54%;bottom:29%;background:#2e7d80}
.login-v134 .crane{position:absolute;bottom:47%;width:2px;height:48%;background:#6c98bd}.login-v134 .crane:before{content:"";position:absolute;top:0;left:0;width:110px;height:2px;background:#6c98bd;transform:rotate(-20deg);transform-origin:left}.login-v134 .crane-a{left:62%}.login-v134 .crane-b{left:82%;height:42%}
.login-v134 .login-art-copy{position:relative;z-index:4;max-width:680px;margin-top:auto;margin-bottom:clamp(30px,4vw,64px)}
.login-v134 .login-kicker{display:block;font-size:9px;letter-spacing:2.5px;color:#81b8e8;font-weight:800;margin-bottom:18px}.login-v134 .login-art h1{max-width:630px;font-size:clamp(42px,4vw,66px);line-height:1.04;letter-spacing:-2.7px;font-weight:700;margin:0;text-wrap:balance}.login-v134 .login-art-copy p{max-width:590px;margin-top:22px!important;color:#c1d5e7!important;font-size:clamp(13px,1.05vw,17px)!important;line-height:1.65}
.login-v134 .art-grid{position:relative;z-index:4;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;max-width:620px;margin:0;padding:22px 0 0;border-top:1px solid #ffffff22;color:#d5e3ef;letter-spacing:0;font-size:11px}
.login-v134 .art-grid span{display:flex;align-items:center;gap:10px}.login-v134 .art-grid i{display:grid;place-items:center;width:39px;height:39px;border-radius:10px;border:1px solid #ffffff30;background:#ffffff0b;color:#b7dafa;font-style:normal;font-size:18px}.login-v134 .art-grid b{font-weight:600;line-height:1.35}
.login-v134 .login-side{position:relative;min-height:100svh;display:flex;align-items:center;justify-content:center;padding:clamp(100px,10vh,132px) clamp(26px,4vw,66px) 42px;background:radial-gradient(circle at 85% 8%,#dfeeff 0%,transparent 30%),linear-gradient(180deg,#fbfdff,#f3f7fb)}
.login-v134 .login-side:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 40%,#d8e5f266 100%);pointer-events:none}.login-v134 .login-side-brand{position:absolute;top:clamp(26px,4vh,46px);left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:13px;padding:0;background:transparent;border:0;box-shadow:none;white-space:nowrap;z-index:3}.login-v134 .login-side-brand .brand-mark{width:48px;height:48px;border-radius:12px;background:linear-gradient(150deg,#174f82,#0d3154);border:1px solid #12304c;color:white;font-size:16px;box-shadow:0 8px 22px #12314c25}.login-v134 .login-side-brand strong{display:block;font-size:20px;color:#102e4d;letter-spacing:.5px}.login-v134 .login-side-brand small{display:block;margin-top:3px;font-size:7px;letter-spacing:2px;color:#7d93a9}
.login-v134 .login-card{position:relative;z-index:2;width:min(490px,100%);margin:0;padding:clamp(30px,3vw,42px);border:1px solid #d8e4ef;border-radius:24px;background:#ffffffee;box-shadow:0 30px 80px #173b5f1a,0 8px 22px #173b5f0a;backdrop-filter:blur(12px)}
.login-v134 .login-card>.eyebrow{font-size:9px;letter-spacing:2.1px;color:#5f83a8;margin-bottom:12px}.login-v134 .login-card h2{font-size:clamp(27px,2.1vw,35px);line-height:1.14;color:#102d4b;letter-spacing:-1px;margin:0 0 10px;font-weight:720;text-wrap:balance}.login-v134 .login-intro{font-size:13px;line-height:1.6;color:#7890a8;margin-bottom:25px}
.login-v134 .login-field{display:grid;gap:8px;margin:16px 0;color:#385875;font-size:12px;font-weight:700}.login-v134 .login-input-wrap{position:relative;display:flex;align-items:center}.login-v134 .login-input-wrap>svg{position:absolute;left:15px;width:19px;height:19px;color:#6e86a1;z-index:2}.login-v134 .login-input-wrap input{width:100%;height:52px;padding:0 46px;border:1px solid #cbd8e5;border-radius:11px;background:#fbfdff;color:#142f4b;font-size:15px;box-shadow:0 1px 2px #173b5f04}.login-v134 .login-input-wrap input:focus{background:#fff;border-color:#4386d7;box-shadow:0 0 0 4px #3f83d615;outline:none}.login-v134 .password-wrap input{padding-right:48px}.login-v134 .password-toggle{position:absolute;right:5px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:40px;height:40px;padding:0;color:#6f86a0;background:transparent}.login-v134 .password-toggle svg{width:18px;height:18px}.login-v134 .password-toggle .eye-off{display:none}.login-v134 .password-toggle.is-visible .eye-on{display:none}.login-v134 .password-toggle.is-visible .eye-off{display:block}
.login-v134 .login-help-row{display:flex;justify-content:flex-end;margin:-2px 0 7px}.login-v134 .login-link{padding:5px 0;border:0;background:transparent;color:#1671d3;font-size:11px;font-weight:750}.login-v134 .login-submit{display:flex;align-items:center;justify-content:center;gap:13px;width:100%;min-height:54px;margin:8px 0 0;border-radius:11px;background:linear-gradient(180deg,#3186e5,#1d68c4);font-size:13px;font-weight:800;box-shadow:0 14px 28px #1f6ecb2c}.login-v134 .login-submit:hover{background:linear-gradient(180deg,#277ddc,#185fb6)}
.login-v134 .login-error-box{display:block;margin:13px 0 0;padding:12px 14px;border:1px solid #f0caca;border-radius:10px;background:#fff5f5;color:#b23945;font-size:11px;line-height:1.5}.login-v134 .login-error-box:empty{display:none}.login-v134 .login-divider{display:flex;align-items:center;gap:12px;margin:21px 0 12px;color:#8c9cae;font-size:9px}.login-v134 .login-divider:before,.login-v134 .login-divider:after{content:"";height:1px;flex:1;background:#e0e8f0}.login-v134 .login-language{display:flex;justify-content:center;gap:10px;margin:0;padding:0;border:0}.login-v134 .login-language button{min-width:82px;padding:10px 13px;border:1px solid #d4e0ec;border-radius:9px;background:#f7faff;color:#3b5c79;font-size:11px;font-weight:800}.login-v134 .login-language button:hover{border-color:#8bb6e8;background:#eef6ff}.login-v134 .login-security-note{display:flex!important;justify-content:center;align-items:flex-start;gap:7px;margin-top:22px!important;color:#8a9db0!important;font-size:9px!important;line-height:1.5;text-align:center}
.login-v134 .login-secondary .login-field>input{height:50px;border-radius:10px}.login-v134 .login-secondary .login-status.error{padding:11px 13px;border:1px solid #f1d4d4;background:#fff7f7;border-radius:9px;color:#9a3535}.login-v134 .login-secondary .login-status.success{padding:11px 13px;border:1px solid #cae8d8;background:#f4fbf7;border-radius:9px;color:#196a45}
@media(max-width:1180px){#login.login-v134{grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr)}.login-v134 .login-art{padding:36px 34px}.login-v134 .login-hero-visual{inset:21% -10% 8% 15%;opacity:.75}.login-v134 .login-art h1{font-size:clamp(34px,4.2vw,48px)}.login-v134 .art-grid{grid-template-columns:1fr;gap:9px}.login-v134 .art-grid i{width:31px;height:31px;font-size:14px}.login-v134 .login-side{padding-left:34px;padding-right:34px}}
@media(max-width:900px){#login.login-v134{grid-template-columns:1fr;min-height:100svh;background:linear-gradient(180deg,#082844 0 260px,#f4f7fb 260px 100%);overflow:auto}.login-v134 .login-art{min-height:250px;height:250px;padding:25px 30px 28px;justify-content:flex-start;background:radial-gradient(circle at 83% 12%,#2c6da8 0%,transparent 32%),linear-gradient(145deg,#092844,#0a3155)}.login-v134 .login-brand-wrap{gap:9px}.login-v134 .login-brand .brand-mark{width:52px;height:52px;font-size:19px}.login-v134 .login-brand strong{font-size:22px}.login-v134 .login-brand-sub{font-size:11px}.login-v134 .login-hero-visual{display:none}.login-v134 .login-art-copy{margin-top:auto;margin-bottom:0}.login-v134 .login-kicker{display:none}.login-v134 .login-art h1{font-size:31px;letter-spacing:-1.3px;max-width:500px}.login-v134 .login-art-copy p{font-size:11px!important;margin-top:10px!important}.login-v134 .art-grid{display:none}.login-v134 .login-side{min-height:auto;margin-top:-40px;padding:0 20px 36px;background:transparent;align-items:flex-start}.login-v134 .login-side:before{display:none}.login-v134 .login-side-brand{display:none}.login-v134 .login-card{width:min(560px,100%);padding:30px;border-radius:21px;box-shadow:0 24px 60px #09284522}}
@media(max-width:600px){#login.login-v134{background:linear-gradient(180deg,#082844 0 190px,#f4f7fb 190px 100%)}.login-v134 .login-art{min-height:190px;height:190px;padding:20px 18px 25px}.login-v134 .login-brand-wrap{align-items:flex-start}.login-v134 .login-brand .brand-mark{width:44px;height:44px;border-radius:11px;font-size:16px}.login-v134 .login-brand strong{font-size:19px}.login-v134 .login-brand small{font-size:7px;letter-spacing:1.8px}.login-v134 .login-brand-sub{font-size:10px}.login-v134 .login-art-copy{display:none}.login-v134 .login-side{margin-top:-30px;padding:0 14px max(24px,env(safe-area-inset-bottom))}.login-v134 .login-card{padding:24px 20px 22px;border-radius:18px}.login-v134 .login-card>.eyebrow{font-size:8px}.login-v134 .login-card h2{font-size:26px;letter-spacing:-.8px}.login-v134 .login-intro{font-size:11px;margin-bottom:20px}.login-v134 .login-field{font-size:11px;margin:14px 0}.login-v134 .login-input-wrap input{height:49px;font-size:16px;padding-left:43px}.login-v134 .login-submit{min-height:50px;font-size:12px}.login-v134 .login-language button{min-width:76px}.login-v134 .login-security-note{font-size:8px!important;margin-top:18px!important}}
@media(max-width:380px){.login-v134 .login-card{padding:21px 16px}.login-v134 .login-card h2{font-size:23px}.login-v134 .login-language{gap:7px}.login-v134 .login-language button{min-width:70px;padding:9px 10px}}

/* V136_STORAGE_MODULE */
.storage-page{display:grid;gap:14px}.storage-page-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-end}.storage-page-head h2{margin:4px 0 2px;font-size:28px;color:var(--user-text,#172c49)}.storage-page-head p{margin:0;color:var(--user-muted,#73839a)}.storage-head-actions{display:flex;gap:10px}.storage-kpis{display:grid;grid-template-columns:repeat(7,minmax(150px,1fr));gap:10px}.storage-kpi{min-height:80px;border:1px solid var(--user-border,#dfe6ef);border-radius:12px;padding:14px;display:flex;align-items:center;gap:12px;background:var(--user-surface,#fff);box-shadow:0 5px 18px rgba(26,58,96,.05)}.storage-kpi i{font-style:normal;font-size:27px}.storage-kpi span{display:block;font-size:11px;font-weight:700;color:var(--user-muted,#74869b);margin-bottom:4px}.storage-kpi strong{font-size:20px;white-space:nowrap;color:var(--user-text,#203654)}.storage-kpi.blue{background:#eef6ff}.storage-kpi.green{background:#effaf3}.storage-kpi.orange{background:#fff7ed}.storage-kpi.purple{background:#f6f1ff}.storage-kpi.red{background:#fff1f3}.storage-kpi.blue2{background:#f0f7ff}.storage-kpi.yellow{background:#fff9e8}.storage-card{background:var(--user-surface,#fff);border:1px solid var(--user-border,#dfe6ef);border-radius:12px;overflow:hidden}.storage-card-title{display:flex;justify-content:space-between;align-items:center;padding:13px 15px;border-bottom:1px solid var(--user-border,#dfe6ef)}.storage-card-title h3{margin:0}.storage-card-title span{color:var(--user-muted,#75869b);font-size:12px}.storage-table-wrap{overflow:auto}.storage-table{width:100%;border-collapse:collapse;min-width:1500px}.storage-table th{background:var(--user-table-header,#eef3f8);font-size:var(--v132-table-head-font-size,12px);padding:var(--v132-cell-vpad,8px) var(--v132-cell-hpad,10px);text-align:left;white-space:nowrap;color:var(--user-text,#203654)}.storage-table td{border-top:1px solid var(--user-border,#e5ebf2);padding:var(--v132-cell-vpad,8px) var(--v132-cell-hpad,10px);font-size:var(--v132-table-body-font-size,12px);height:var(--v132-table-row-height,36px);white-space:nowrap}.storage-status{display:inline-flex;padding:5px 12px;border-radius:999px;font-weight:800;font-size:11px}.storage-status.paid{background:#d8f6e4;color:#20794b}.storage-status.partial{background:#fff0c9;color:#956400}.storage-status.pending{background:#ffe5e8;color:#a73d4b}.storage-actions{display:flex;gap:6px}.storage-actions button{width:30px;height:30px;border:1px solid var(--user-border,#dce5ef);background:#fff;border-radius:7px;color:var(--user-text,#203654);cursor:pointer}.storage-actions button.danger{color:var(--user-danger,#bd5664)}.storage-empty,.storage-loading,.storage-error{padding:34px;text-align:center;color:var(--user-muted,#75869b)}
.storage-overlay{position:fixed;inset:0;z-index:1900;background:rgba(11,27,48,.54);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:18px}.storage-modal{width:min(1500px,98vw);max-height:94vh;overflow:auto;background:var(--user-surface,#fff);border-radius:16px;border:1px solid var(--user-border,#dfe6ef);box-shadow:0 28px 80px rgba(9,28,52,.28)}.storage-modal-head{position:sticky;top:0;z-index:2;background:var(--user-surface,#fff);display:flex;justify-content:space-between;align-items:center;padding:14px 20px;border-bottom:1px solid var(--user-border,#dfe6ef)}.storage-modal-head h2{margin:3px 0 0;font-size:22px}.storage-close{border:0;background:transparent;font-size:28px;cursor:pointer;color:var(--user-muted,#75869b)}.storage-form-grid{display:grid;grid-template-columns:1.05fr 1.3fr 1.15fr;gap:12px;padding:12px}.storage-form-col{display:grid;gap:12px;align-content:start}.storage-form-col section,.storage-side-col>section{border:1px solid var(--user-border,#dfe6ef);border-radius:10px;padding:14px;background:color-mix(in srgb,var(--user-surface,#fff) 96%,var(--user-page,#f4f7fb))}.storage-form-col h4,.storage-side-col h4{margin:0 0 12px;color:var(--user-accent,#2d73d5)}.storage-form-col label,.storage-notes{display:grid;gap:5px;font-size:12px;font-weight:700;color:var(--user-text,#203654);margin-top:9px}.storage-form-col input,.storage-form-col select,.storage-side-col textarea{min-height:40px;border:1px solid var(--user-border,#d7e1ec);border-radius:7px;padding:8px 10px;background:#fff;color:#203654;font:inherit}.storage-form-col input[readonly]{background:#f4f7fa;color:#425a75}.storage-unit-input{display:grid;grid-template-columns:1fr auto;align-items:center;border:1px solid var(--user-border,#d7e1ec);border-radius:7px;background:#fff;overflow:hidden}.storage-unit-input input{border:0!important;border-radius:0!important}.storage-unit-input span{padding:0 11px;color:#64758a;font-size:11px}.storage-side-col{display:grid;gap:12px;align-content:start}.storage-stock-card{background:linear-gradient(135deg,#f7fbff,#edf6ff)!important}.storage-stock-card>div{display:flex;justify-content:space-between;gap:14px;padding:7px 0;border-bottom:1px solid #d7e5f3;font-size:12px}.storage-stock-card>div.total{font-size:13px;border-bottom:0}.storage-stock-card button{width:100%;margin-top:10px}.storage-amount-card{background:linear-gradient(135deg,#effaf4,#e6f7ed)!important}.storage-amount-card p{margin:4px 0 8px;color:#2f6f50}.storage-amount-card strong{font-size:25px;color:#0f2f23}.storage-notes textarea{resize:vertical}.storage-modal-foot{position:sticky;bottom:0;background:var(--user-surface,#fff);display:flex;justify-content:flex-end;gap:10px;padding:12px 18px;border-top:1px solid var(--user-border,#dfe6ef)}.storage-view-modal{max-width:860px}.storage-view-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;padding:18px}.storage-detail{display:flex;justify-content:space-between;padding:10px;border-bottom:1px solid var(--user-border,#e4eaf1)}.storage-detail span{color:var(--user-muted,#75869b)}.storage-pay-list{margin:0 18px 18px;border:1px solid var(--user-border,#dfe6ef);border-radius:10px;padding:14px}.storage-pay-list h3{margin-top:0}.storage-pay-list>div{display:flex;justify-content:space-between;padding:8px 0;border-top:1px solid var(--user-border,#e4eaf1)}
@media(max-width:1200px){.storage-kpis{grid-template-columns:repeat(4,1fr)}.storage-form-grid{grid-template-columns:1fr 1fr}.storage-side-col{grid-column:1/-1;grid-template-columns:1fr 1fr}.storage-notes{grid-column:1/-1}}@media(max-width:760px){.storage-page-head{align-items:stretch;flex-direction:column}.storage-head-actions{display:grid;grid-template-columns:1fr 1fr}.storage-kpis{grid-template-columns:repeat(2,1fr)}.storage-kpi{min-width:0}.storage-kpi strong{font-size:16px}.storage-overlay{padding:0;align-items:stretch}.storage-modal{width:100vw;max-height:100vh;border-radius:0}.storage-form-grid{grid-template-columns:1fr}.storage-side-col{grid-column:auto;grid-template-columns:1fr}.storage-view-grid{grid-template-columns:1fr}.storage-modal-foot{padding-bottom:max(12px,env(safe-area-inset-bottom))}}

/* V137_STORAGE_REPORTS */
.storage-report-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.storage-actions{display:flex;gap:4px;flex-wrap:wrap;align-items:center;justify-content:center}
.storage-actions button{min-width:30px;height:30px;padding:0 7px}
@media(max-width:900px){.storage-page-head{align-items:flex-start}.storage-report-actions{width:100%;margin-top:10px}.storage-report-actions button{flex:1 1 auto}}
@media(max-width:560px){.storage-report-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.storage-report-actions .primary{grid-column:1/-1}.storage-actions{min-width:140px}}

/* V138_STORAGE_REPORT_TEMPLATE */
.storage-report-actions{display:flex;gap:8px;flex-wrap:wrap}.storage-actions{display:flex;gap:4px;align-items:center;flex-wrap:wrap}.storage-actions button{min-width:30px}
/* BHA ERP V152 - PROFESSIONAL VESSEL + STORAGE UI */
:root{
  --v152-navy:#203558;
  --v152-blue:#4f6fdc;
  --v152-blue-soft:#eef3ff;
  --v152-green:#56a84f;
  --v152-green-soft:#edf8eb;
  --v152-border:#dfe6f1;
  --v152-text:#24365a;
  --v152-muted:#78879d;
  --v152-bg:#f6f8fc;
  --v152-shadow:0 10px 30px rgba(35,54,90,.07);
}

/* ===== Vessel Progress ===== */
.v150-progress{
  background:#fff!important;
  border:1px solid var(--v152-border)!important;
  border-radius:18px!important;
  box-shadow:var(--v152-shadow)!important;
  padding:22px 24px 20px!important;
  margin:18px 0!important;
  overflow:hidden!important;
}
.v150-head{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:18px!important;margin-bottom:22px!important}
.v150-head h3{margin:0!important;color:var(--v152-navy)!important;font-size:18px!important;font-weight:800!important;letter-spacing:-.01em!important}
.v150-head p{margin:4px 0 0!important;color:var(--v152-muted)!important;font-size:12px!important}
.v150-legend{display:flex!important;gap:16px!important;align-items:center!important;font-size:11px!important;white-space:nowrap!important}
.v150-legend span{display:flex!important;align-items:center!important;gap:5px!important}
.v150-legend .done{color:#4b9745!important}.v150-legend .current{color:#4968d9!important}.v150-legend .waiting{color:#97a3b7!important}
.v150-timeline{display:grid!important;grid-template-columns:repeat(15,minmax(18px,1fr))!important;align-items:start!important;gap:0!important;margin-top:4px!important;overflow:visible!important}
.v150-step{width:auto!important;min-width:0!important;text-align:center!important;position:relative!important}
.v150-line{height:2px!important;background:#d7deea!important;margin-top:16px!important;min-width:0!important;align-self:start!important}
.v150-line.done{background:linear-gradient(90deg,#66b95d,#4c9f46)!important}
.v150-dot{width:34px!important;height:34px!important;border-radius:50%!important;margin:0 auto!important;display:grid!important;place-items:center!important;border:2px solid #d7dfeb!important;background:#f0f3f8!important;color:#7b899f!important;font-size:13px!important;font-weight:900!important;box-shadow:0 0 0 4px #fff!important}
.v150-step.done .v150-dot{background:linear-gradient(180deg,#68b95e,#52a44b)!important;border-color:#96d18f!important;color:#fff!important}
.v150-step.current .v150-dot{background:#5475e5!important;border-color:#5475e5!important;color:#fff!important;box-shadow:0 0 0 5px #e8edff!important}
.v150-label{margin-top:9px!important;line-height:1.2!important;padding:0 3px!important}
.v150-label b{display:block!important;color:var(--v152-text)!important;font-size:10.5px!important;font-weight:800!important;min-height:25px!important}
.v150-label small{display:block!important;color:#8794a8!important;font-size:9px!important;margin-top:3px!important;font-variant-numeric:tabular-nums!important}

/* ===== Vessel header / tabs ===== */
.v150-main-tabs{margin:16px 0!important}
.v150-pagehead{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;margin:14px 0 16px!important}
.v150-pagehead>div:first-child{display:flex!important;flex-direction:column!important;gap:2px!important}
.v150-eyebrow{font-size:9px!important;letter-spacing:.12em!important;color:#8895aa!important;font-weight:800!important}
.v150-pagehead h2{margin:0!important;color:var(--v152-navy)!important;font-size:25px!important;letter-spacing:-.025em!important}
.v150-pagehead p{margin:0!important;color:#758399!important;font-size:12px!important}
.v150-status{padding:7px 13px!important;border-radius:999px!important;background:var(--v152-green-soft)!important;color:#3a8043!important;font-weight:800!important;font-size:11px!important;border:1px solid #d9efd5!important}
.v150-subnav{display:flex!important;gap:30px!important;border-bottom:1px solid #dde5ef!important;margin:10px 0 18px!important;padding:0 3px!important;background:transparent!important}
.v150-subnav button{border:0!important;background:transparent!important;padding:11px 1px 10px!important;color:#53627d!important;font-size:12px!important;font-weight:750!important;cursor:pointer!important;border-bottom:3px solid transparent!important;border-radius:0!important}
.v150-subnav button:hover{color:#3457c5!important}.v150-subnav button.active{color:#3f62d6!important;border-bottom-color:#4f70df!important}

/* ===== Generic professional cards ===== */
.v150-card{
  background:#fff!important;
  border:1px solid var(--v152-border)!important;
  border-radius:16px!important;
  box-shadow:var(--v152-shadow)!important;
  padding:20px!important;
  margin:14px 0 20px!important;
}
.v150-cardhead,.v150-between{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:18px!important}
.v150-cardhead h3{margin:0!important;color:var(--v152-navy)!important;font-size:17px!important;font-weight:800!important}
.v150-cardhead p{margin:4px 0 0!important;color:var(--v152-muted)!important;font-size:12px!important}
.v150-sectiontitle{font-size:12px!important;font-weight:800!important;color:#314466!important;margin:20px 0 9px!important;text-transform:none!important}
.v150-empty{padding:30px 18px!important;text-align:center!important;color:#8491a5!important;background:#fafcff!important;border:1px dashed #d9e1ec!important;border-radius:12px!important}

/* ===== Vessel Details ===== */
.v150-detailgrid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important}
.v150-detailgrid>div{padding:14px 15px!important;border:1px solid #e0e7f1!important;border-radius:12px!important;background:linear-gradient(180deg,#fbfcff,#f7f9fc)!important;min-height:70px!important}
.v150-detailgrid span,.v150-docmeta span,.v150-notes span{display:block!important;color:#7b899f!important;font-size:9.5px!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:.04em!important;margin-bottom:6px!important}
.v150-detailgrid b,.v150-docmeta b{display:block!important;color:#223555!important;font-size:13px!important;font-weight:800!important;overflow-wrap:anywhere!important}

/* ===== Documents ===== */
.v150-docgrid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;margin-top:14px!important}
.v150-docgrid article{border:1px solid #dfe6f0!important;border-radius:14px!important;padding:16px 17px!important;background:#fbfcff!important;box-shadow:0 5px 16px rgba(35,54,90,.035)!important}
.v150-dochead{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:10px!important;padding-bottom:11px!important;border-bottom:1px solid #e7ecf4!important}
.v150-dochead small{display:block!important;color:#8995a8!important;font-size:9px!important;letter-spacing:.08em!important;font-weight:800!important}
.v150-dochead strong{display:block!important;color:#203454!important;font-size:17px!important;margin-top:2px!important}
.v150-dochead>span{padding:5px 9px!important;border-radius:999px!important;background:#edf7ea!important;color:#408048!important;font-size:10px!important;font-weight:800!important}
.v150-docmeta{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px 14px!important;margin-top:13px!important}

/* ===== Notes ===== */
.v150-notes{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
.v150-notes article{padding:15px 16px!important;border:1px solid #e0e7f1!important;border-radius:12px!important;background:#fafcff!important;min-height:84px!important}
.v150-notes p{margin:0!important;color:#263a5c!important;font-size:13px!important;line-height:1.55!important;white-space:pre-wrap!important}

/* ===== Vessel Operations ===== */
.v150-opgrid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important}
.v150-opgrid article{position:relative!important;border:1px solid #dde5f0!important;border-radius:14px!important;padding:18px!important;background:linear-gradient(180deg,#fcfdff,#f8faff)!important;min-height:215px!important}
.v150-opgrid article.disabled{opacity:.58!important;filter:grayscale(.1)!important}
.v150-stepno{position:absolute!important;top:14px!important;right:16px!important;font-size:28px!important;font-weight:900!important;color:#e0e6f0!important}
.v150-opgrid small{color:#6f809b!important;font-weight:800!important;font-size:9px!important;letter-spacing:.09em!important}
.v150-opgrid h3{margin:5px 0!important;color:#213456!important;font-size:17px!important}
.v150-opgrid p{margin:0!important;color:#79889d!important;font-size:12px!important}
.v150-opgrid label{display:block!important;margin-top:18px!important;color:#2b3e60!important;font-size:11px!important;font-weight:800!important}
.v150-opgrid input{width:100%!important;height:42px!important;margin-top:6px!important;border:1px solid #cdd8e7!important;border-radius:9px!important;padding:0 11px!important;background:#fff!important;color:#233657!important}
.v150-opgrid button{margin-top:12px!important;float:right!important;border-radius:9px!important;padding:9px 15px!important}
.v150-error{clear:both!important;color:#b63b45!important;padding-top:10px!important;font-size:12px!important;font-weight:700!important}

/* ===== Inbound ===== */
.v150-kpis{display:flex!important;gap:10px!important;flex-wrap:wrap!important}
.v150-kpis>div{min-width:112px!important;padding:10px 12px!important;border-radius:10px!important;background:#f6f8fd!important;border:1px solid #e0e7f1!important}
.v150-kpis span{display:block!important;font-size:9px!important;color:#7a899f!important;text-transform:uppercase!important;letter-spacing:.04em!important}
.v150-kpis b{display:block!important;margin-top:3px!important;color:#23365b!important;font-size:14px!important}
.v150-table{width:100%!important;border-collapse:separate!important;border-spacing:0!important;border:1px solid #dfe6f0!important;border-radius:12px!important;overflow:hidden!important;background:#fff!important}
.v150-table thead th{background:#f3f6fb!important;color:#344766!important;font-size:10px!important;font-weight:800!important;padding:10px 11px!important;border-bottom:1px solid #dfe6ef!important}
.v150-table tbody td{padding:10px 11px!important;color:#314463!important;font-size:11px!important;border-bottom:1px solid #edf1f6!important}
.v150-table tbody tr:last-child td{border-bottom:0!important}.v150-table tbody tr:hover td{background:#f9fbff!important}

/* ===== Storage warning / integration ===== */
.v150-storage-msg{margin-top:7px!important;font-size:10.5px!important;font-weight:750!important;line-height:1.4!important}
.v150-storage-msg.ok{color:#2f7d43!important}.v150-storage-msg.warn{padding:8px 10px!important;border-radius:8px!important;background:#fff3f1!important;color:#b42318!important;border:1px solid #ffd8d2!important}

@media(max-width:1250px){
  .v150-detailgrid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .v150-docmeta{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:1000px){
  .v150-progress{overflow-x:auto!important}.v150-timeline{min-width:1020px!important}
  .v150-detailgrid,.v150-docgrid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:720px){
  .v150-head,.v150-cardhead,.v150-between,.v150-pagehead{flex-direction:column!important}
  .v150-detailgrid,.v150-docgrid,.v150-notes,.v150-opgrid{grid-template-columns:1fr!important}
  .v150-subnav{gap:18px!important;overflow-x:auto!important}.v150-subnav button{white-space:nowrap!important}
}
/* BHA ERP V156 - Port Stock Reversal */
.v156-panel{margin:18px 0 28px;background:#fff;border:1px solid #d9e3ef;border-radius:14px;box-shadow:0 8px 24px rgba(16,42,86,.06);overflow:hidden}.v156-panel-head{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid #e5edf5}.v156-panel-head span,.v156-modal-head span{font-size:10px;font-weight:800;letter-spacing:.14em;color:#6c7f99}.v156-panel-head h3,.v156-modal-head h2{margin:4px 0 3px;color:#102a56}.v156-panel-head p,.v156-modal-head p{margin:0;color:#728198;font-size:12px}.v156-badge{font-size:10px;font-weight:800;color:#166534;background:#ecfdf3;border:1px solid #bbf7d0;border-radius:999px;padding:7px 10px}.v156-table-wrap{overflow:auto}.v156-table-wrap table{width:100%;border-collapse:collapse}.v156-table-wrap th{background:#f6f9fc;color:#52657d;font-size:11px;text-align:left;padding:10px 12px;border-bottom:1px solid #dde7f1}.v156-table-wrap td{padding:11px 12px;border-bottom:1px solid #edf2f7;font-size:12px;color:#233a59}.v156-table-wrap small{color:#7c8ca2}.v156-reverse{border:1px solid #efb3b3;background:#fff7f7;color:#b42318;border-radius:8px;padding:7px 10px;font-weight:700;cursor:pointer}.v156-reverse:hover{background:#feecec}.v156-overlay{position:fixed;inset:0;background:rgba(15,30,55,.55);backdrop-filter:blur(4px);z-index:99999;display:grid;place-items:center;padding:20px}.v156-modal{width:min(780px,96vw);max-height:92vh;overflow:auto;background:#fff;border-radius:16px;box-shadow:0 30px 80px rgba(0,0,0,.28)}.v156-modal-head{display:flex;justify-content:space-between;align-items:flex-start;padding:18px 20px;background:linear-gradient(135deg,#263f6b,#3d5f91);color:#fff}.v156-modal-head h2,.v156-modal-head p,.v156-modal-head span{color:#fff}.v156-modal-head button{border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.12);color:#fff;border-radius:8px;width:36px;height:36px;font-size:22px}.v156-stock-card{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:16px 18px}.v156-stock-card>div{border:1px solid #dfe8f2;border-radius:10px;padding:11px;background:#f9fbfd}.v156-stock-card span{display:block;font-size:10px;color:#75869c}.v156-stock-card b{display:block;margin:4px 0;color:#102a56;font-size:14px}.v156-stock-card small{color:#718198}.v156-deps{padding:4px 18px 14px}.v156-deps h3{font-size:13px;color:#102a56}.v156-dep{display:grid;grid-template-columns:1.4fr 50px 1fr;gap:8px;align-items:center;padding:9px 11px;border-radius:8px;margin:6px 0;border:1px solid}.v156-dep.ok{border-color:#ccebd8;background:#f5fcf7}.v156-dep.blocked{border-color:#f2cccc;background:#fff6f6}.v156-dep b{text-align:center}.v156-dep small{color:#6f7e91}.v156-warning,.v156-block{margin:0 18px 14px;padding:12px 14px;border-radius:9px}.v156-warning{background:#fff8e6;border:1px solid #f4d48c;color:#7a4b00}.v156-block{background:#fff1f1;border:1px solid #efb8b8;color:#9b1c1c}.v156-warning p,.v156-block p{margin:5px 0 0;font-size:12px}.v156-reason{display:block;padding:0 18px 14px}.v156-reason span{display:block;font-size:11px;font-weight:700;color:#334d70;margin-bottom:6px}.v156-reason textarea{width:100%;min-height:80px;resize:vertical;border:1px solid #ccd8e6;border-radius:9px;padding:10px;font:inherit}.v156-actions{display:flex;justify-content:flex-end;gap:10px;padding:14px 18px;border-top:1px solid #e5edf5}.v156-actions button{border-radius:9px;padding:9px 14px;font-weight:700;cursor:pointer}.v156-actions .ghost{background:#fff;border:1px solid #ccd8e6;color:#334d70}.v156-actions .danger{background:#c9362b;border:1px solid #c9362b;color:#fff}@media(max-width:800px){.v156-stock-card{grid-template-columns:repeat(2,1fr)}.v156-dep{grid-template-columns:1fr 40px}.v156-dep small{grid-column:1/-1}}
/* BHA ERP V157 - Unified Stock Overview */
.v157-stock-page{display:grid;gap:14px}.v157-titlebar{display:flex;justify-content:space-between;align-items:flex-end;gap:18px}.v157-titlebar h2{margin:3px 0 4px;font-size:28px;letter-spacing:-.5px;color:var(--ink,#13233f)}.v157-titlebar p,.v157-card-head p{margin:0;color:#73809a;font-size:12px}.v157-eyebrow{font-size:10px;font-weight:800;letter-spacing:.14em;color:#5d76a7}.v157-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.v157-kpi{background:#fff;border:1px solid #dfe7f3;border-radius:13px;padding:15px 17px;box-shadow:0 4px 16px rgba(38,61,99,.05);display:grid;gap:3px}.v157-kpi span{font-size:11px;font-weight:800;color:#60708d;text-transform:uppercase}.v157-kpi b{font-size:21px;color:#172b4d}.v157-kpi small{font-size:11px;color:#7b879e}.v157-kpi.port{background:linear-gradient(135deg,#fff,#f1f7ff);border-color:#cfe0f7}.v157-kpi.fz{background:linear-gradient(135deg,#fff,#f0fbf5);border-color:#d0ecdc}.v157-kpi.wh{background:linear-gradient(135deg,#fff,#fff7ef);border-color:#f2dfc9}.v157-flow{background:#fff;border:1px solid #dfe7f3;border-radius:13px;padding:14px 16px;display:grid;grid-template-columns:repeat(11,auto);align-items:center;gap:10px;overflow:auto}.v157-flow>div{min-width:120px;display:grid;gap:4px}.v157-flow b{font-size:11px;color:#18355f}.v157-flow span{font-size:10px;color:#71809a}.v157-flow i{font-style:normal;color:#91a4c4;font-size:20px}.v157-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid #dce5f2;border-radius:12px;overflow:hidden;background:#fff}.v157-tabs button{border:0;border-right:1px solid #e5ecf5;background:#fff;padding:12px;color:#4e607e;font-weight:800;display:flex;justify-content:center;gap:7px}.v157-tabs button:last-child{border-right:0}.v157-tabs button.active{background:#3167dd;color:#fff}.v157-tabs b{font-size:11px}.v157-main-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:14px;align-items:start}.v157-main-grid>div,.v157-main-grid>aside{display:grid;gap:14px}.v157-card{background:#fff;border:1px solid #dfe7f3;border-radius:13px;box-shadow:0 4px 16px rgba(38,61,99,.045);overflow:hidden}.v157-card-head{padding:13px 15px;border-bottom:1px solid #e7edf5;display:flex;justify-content:space-between;align-items:center;gap:12px}.v157-card-head h3{margin:0 0 2px;font-size:14px;color:#193154}.v157-tools{display:flex;gap:8px}.v157-tools input{width:250px;border:1px solid #d5dfec;border-radius:8px;padding:8px 10px;font-size:12px}.v157-table-wrap{overflow:auto}.v157-table{width:100%;border-collapse:collapse;font-size:11px}.v157-table th,.v157-table td{padding:9px 10px;border-right:1px solid #e5ebf3;border-bottom:1px solid #e5ebf3;white-space:nowrap;text-align:right}.v157-table th:first-child,.v157-table td:first-child,.v157-table th:nth-child(2),.v157-table td:nth-child(2),.v157-table th:nth-child(3),.v157-table td:nth-child(3){text-align:left}.v157-table thead th{background:#f5f8fc;color:#40516f;font-weight:800}.v157-table thead th.port{background:#eef6ff;color:#245da6}.v157-table thead th.fz{background:#eefaf3;color:#21824f}.v157-table thead th.wh{background:#fff6ea;color:#a45a16}.v157-table tfoot th{background:#eef4ff;color:#203a66}.v157-table tr:hover td{background:#fafcff}.v157-empty{padding:24px!important;text-align:center!important;color:#7a879c}.v157-vessel-card .v157-status{display:inline-flex;padding:4px 9px;border-radius:999px;background:#eaf7ee;color:#2a8149;font-weight:800}.v157-chart-card{padding-bottom:15px}.v157-donut-wrap{position:relative;width:190px;height:190px;margin:12px auto}.v157-donut{width:100%;height:100%;transform:rotate(-90deg)}.v157-donut-bg{stroke:#edf1f6}.v157-donut-port{stroke:#3d8df5}.v157-donut-fz{stroke:#37b66b}.v157-donut-wh{stroke:#f0a33b}.v157-donut-center{position:absolute;inset:0;display:grid;place-content:center;text-align:center}.v157-donut-center b{font-size:20px;color:#182d4e}.v157-donut-center span{font-size:11px;font-weight:800;color:#78859a}.v157-legend{display:grid;gap:8px;padding:0 16px}.v157-legend span{display:flex;justify-content:space-between;font-size:11px;padding-left:12px;position:relative}.v157-legend span:before{content:'';position:absolute;left:0;top:4px;width:7px;height:7px;border-radius:2px}.v157-legend .p:before{background:#3d8df5}.v157-legend .f:before{background:#37b66b}.v157-legend .w:before{background:#f0a33b}.v157-moves{padding-bottom:6px}.v157-move{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:10px 12px;border-bottom:1px solid #edf1f6}.v157-move-type{font-size:9px;font-weight:800;border-radius:5px;padding:4px 6px;background:#eaf2ff;color:#2a64bc}.v157-move-type.inbound{background:#e8f8ee;color:#248351}.v157-move div{display:grid;gap:2px;min-width:0}.v157-move b{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v157-move small{font-size:9px;color:#7a879b}.v157-move strong{font-size:10px}.v157-loading{min-height:340px;display:grid;place-content:center;justify-items:center;gap:10px;color:#61718b}.v157-loading span{width:30px;height:30px;border:3px solid #e1e8f2;border-top-color:#3167dd;border-radius:50%;animation:v157spin .8s linear infinite}@keyframes v157spin{to{transform:rotate(360deg)}}.v157-error{padding:24px;background:#fff2f2;border:1px solid #ffd4d4;border-radius:12px;color:#9a2f2f}.v157-dashboard-stock{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.v157-dashboard-stock>div{background:#fff;border:1px solid #dde6f2;border-radius:12px;padding:12px 14px;display:grid;gap:4px}.v157-dashboard-stock span{font-size:9px;font-weight:800;color:#75849b}.v157-dashboard-stock b{font-size:17px;color:#1a3154}@media(max-width:1200px){.v157-main-grid{grid-template-columns:1fr}.v157-kpis{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.v157-kpis,.v157-tabs,.v157-dashboard-stock{grid-template-columns:1fr}.v157-titlebar{align-items:flex-start;flex-direction:column}.v157-flow{grid-template-columns:1fr}.v157-flow i{transform:rotate(90deg);justify-self:center}.v157-tools{width:100%;flex-direction:column}.v157-tools input{width:100%}}
/* BHA ERP V158 - Inventory Suite */
.v158-eyebrow{font-size:11px;letter-spacing:.16em;font-weight:800;color:#56708f}.v158-section-head,.v158-hero{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:18px}.v158-section-head h2,.v158-hero h2{margin:4px 0 5px;font-size:24px;color:#142a4a}.v158-section-head p,.v158-hero p{margin:0;color:#738199}.v158-link-btn{border:1px solid #ced9ea;background:#fff;border-radius:10px;padding:10px 14px;font-weight:700;color:#3158c8;cursor:pointer}.v158-dashboard-inventory,.v158-inventory{margin:0 0 24px}.v158-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}.v158-kpis article{background:#fff;border:1px solid #dfe7f2;border-radius:14px;padding:15px 17px;box-shadow:0 3px 14px rgba(22,47,83,.05)}.v158-kpis span{display:block;font-size:10px;font-weight:800;letter-spacing:.08em;color:#75839a}.v158-kpis b{display:block;font-size:22px;color:#142a4a;margin:5px 0}.v158-kpis small{color:#78869b}.v158-dashboard-grid,.v158-bottom-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:14px}.v158-card{background:#fff;border:1px solid #dde6f2;border-radius:14px;padding:16px;box-shadow:0 4px 18px rgba(27,51,86,.05)}.v158-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.v158-card-head h3{margin:0;color:#1b3151;font-size:16px}.v158-card-head p{margin:4px 0 0;color:#8190a6;font-size:12px}.v158-donut-wrap{display:flex;align-items:center;justify-content:center;gap:32px;min-height:220px}.v158-donut{--p:33;--f:66;width:164px;height:164px;border-radius:50%;background:conic-gradient(#5274dc 0 calc(var(--p)*1%),#8d6fe9 calc(var(--p)*1%) calc(var(--f)*1%),#45a777 calc(var(--f)*1%) 100%);display:grid;place-items:center;position:relative}.v158-donut:after{content:"";position:absolute;inset:24px;border-radius:50%;background:#fff}.v158-donut>div{position:relative;z-index:1;text-align:center}.v158-donut b{display:block;font-size:18px;color:#183254}.v158-donut span{font-size:11px;color:#7b899e}.v158-legend{display:grid;gap:12px;min-width:180px}.v158-legend span{display:flex;justify-content:space-between;gap:14px;padding-left:16px;position:relative;color:#627188}.v158-legend span:before{content:"";position:absolute;left:0;top:6px;width:8px;height:8px;border-radius:50%}.v158-legend .port:before{background:#5274dc}.v158-legend .fz:before{background:#8d6fe9}.v158-legend .wh:before{background:#45a777}.v158-flow-chart{display:grid;gap:17px;padding:10px 2px}.v158-flow-label{display:flex;justify-content:space-between;margin-bottom:6px}.v158-flow-label b{color:#233b5b}.v158-flow-label span{font-size:11px;color:#7c8aa0}.v158-flow-bars{height:13px;background:#edf1f7;border-radius:20px;position:relative;overflow:visible}.v158-flow-bars i{display:block;height:5px;border-radius:10px;position:absolute;left:0}.v158-flow-bars i.in{top:0}.v158-flow-bars i.out{bottom:0;opacity:.5}.v158-flow-bars .port{background:#5274dc}.v158-flow-bars .fz{background:#8d6fe9}.v158-flow-bars .wh{background:#45a777}.v158-chart-key{display:flex;gap:18px;font-size:11px;color:#75839a;margin-top:8px}.v158-chart-key i{display:inline-block;width:15px;height:4px;background:#5274dc;margin-right:5px}.v158-chart-key .out{opacity:.45}.v158-hero{background:linear-gradient(135deg,#142c52,#335b91);padding:20px 22px;border-radius:16px;color:#fff}.v158-hero .v158-eyebrow,.v158-hero h2,.v158-hero p{color:#fff}.v158-hero p{opacity:.8}.v158-hero-actions{display:flex;gap:8px}.v158-hero .primary,.v158-hero .ghost{white-space:nowrap}.v158-mini-flow{display:flex;align-items:stretch;gap:8px;margin:14px 0;overflow:auto}.v158-mini-flow>div{min-width:150px;flex:1;background:#f7f9fd;border:1px solid #dce5f2;border-radius:12px;padding:12px}.v158-mini-flow b,.v158-mini-flow span{display:block}.v158-mini-flow b{font-size:12px;color:#475b76}.v158-mini-flow span{margin-top:6px;font-weight:800;color:#173253}.v158-mini-flow i{align-self:center;color:#91a0b3;font-style:normal}.v158-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:14px 0}.v158-tabs{display:flex;gap:7px;overflow:auto}.v158-tabs button{border:1px solid #dbe4ef;background:#fff;color:#576b86;padding:9px 12px;border-radius:10px;white-space:nowrap;cursor:pointer;font-weight:700}.v158-tabs button.active{background:#edf2ff;border-color:#6c87e6;color:#274fca}.v158-tabs button b{margin-left:5px;font-size:10px}.v158-search{display:flex;gap:6px;min-width:330px}.v158-search input{width:100%;border:1px solid #d8e2ef;border-radius:10px;padding:10px 12px}.v158-search button{width:42px;border:1px solid #d8e2ef;background:#fff;border-radius:10px}.v158-table-wrap{overflow:auto}.v158-table{width:100%;border-collapse:separate;border-spacing:0;font-size:12px}.v158-table th{background:#173b68;color:#fff;padding:11px 10px;text-align:left;white-space:nowrap}.v158-table th:first-child{border-radius:8px 0 0 0}.v158-table th:last-child{border-radius:0 8px 0 0}.v158-table td{padding:10px;border-bottom:1px solid #e5ebf3;color:#40536d;white-space:nowrap}.v158-table tbody tr:hover td{background:#f7f9fd}.v158-source{display:inline-flex;padding:4px 8px;border-radius:999px;background:#eef3ff;color:#3d5dc5;font-weight:700}.v158-source.freezone{background:#f2ecff;color:#7456b8}.v158-source.warehouse{background:#e9f7ef;color:#287b50}.v158-empty{text-align:center!important;padding:28px!important;color:#8996a8!important}.v158-fz-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0}.v158-fz-card>span{font-size:10px;font-weight:800;color:#7c8ba0}.v158-fz-card h3{margin:4px 0 18px;color:#1a3152}.v158-fz-card>div b{display:block;font-size:24px;color:#1a3152}.v158-fz-card>div small{color:#7c8ba0}.v158-fz-card footer{display:flex;gap:8px;margin-top:16px;border-top:1px solid #e7ecf3;padding-top:12px}.v158-fz-card footer span{flex:1;font-size:11px;color:#75839a}.v158-fz-card footer b{display:block;color:#334d6d}.v158-export{position:relative;margin-left:8px}.v158-export-main{border:1px solid #cfdaea;background:#fff;border-radius:10px;padding:9px 12px;font-weight:800;color:#334f72;cursor:pointer}.v158-export-menu{position:absolute;right:0;top:calc(100% + 7px);width:150px;background:#fff;border:1px solid #dbe3ee;border-radius:11px;box-shadow:0 14px 34px rgba(25,49,82,.18);padding:6px;display:none;z-index:1000}.v158-export.open .v158-export-menu{display:grid}.v158-export-menu button{border:0;background:transparent;text-align:left;padding:9px 10px;border-radius:7px;color:#3f536e;cursor:pointer}.v158-export-menu button:hover{background:#f1f5fb}.v158-nav-group{margin:4px 8px}.v158-nav-group-head{width:100%;display:flex!important;justify-content:space-between!important;align-items:center!important;background:transparent!important;color:#8ea0bb!important;border:0!important;padding:8px 8px!important;font-size:10px!important;letter-spacing:.10em!important;text-transform:uppercase}.v158-nav-group-head>span{display:flex;gap:8px;align-items:center}.v158-nav-group-head>b{transition:.2s}.v158-nav-group:not(.open) .v158-nav-group-head>b{transform:rotate(-90deg)}.v158-nav-items{display:grid;gap:2px;max-height:700px;overflow:hidden;transition:max-height .22s ease}.v158-nav-group:not(.open) .v158-nav-items{max-height:0}.v158-nav-items>button{width:100%;display:flex;align-items:center;gap:10px}.v158-dialog{border:0;background:transparent;padding:0;max-width:min(760px,94vw);width:100%}.v158-dialog::backdrop{background:rgba(14,27,48,.55);backdrop-filter:blur(3px)}.v158-dialog-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 24px 70px rgba(11,28,53,.3)}.v158-dialog-card header{display:flex;justify-content:space-between;gap:18px;background:#254775;color:#fff;padding:18px 20px}.v158-dialog-card header .v158-eyebrow,.v158-dialog-card header h2,.v158-dialog-card header p{color:#fff}.v158-dialog-card header h2{margin:4px 0}.v158-dialog-card header p{margin:0;opacity:.8}.v158-x{width:38px;height:38px;border-radius:10px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.08);color:#fff;font-size:22px}.v158-form-grid{padding:20px;display:grid;grid-template-columns:1fr 1fr;gap:14px}.v158-form-grid label,.v158-confirm-body label{display:grid;gap:6px}.v158-form-grid label.full{grid-column:1/-1}.v158-form-grid span,.v158-confirm-body span{font-size:11px;font-weight:800;color:#5c6f88}.v158-form-grid input,.v158-form-grid select,.v158-form-grid textarea,.v158-confirm-body textarea{border:1px solid #d7e0ec;border-radius:9px;padding:10px;background:#fff;color:#253c5b}.v158-dialog-card footer{display:flex;justify-content:flex-end;gap:9px;padding:14px 20px;border-top:1px solid #e6ecf3}.v158-confirm{max-width:520px}.v158-confirm-body{padding:18px 20px}.v158-confirm .danger{background:#c94646;color:#fff;border:0;border-radius:9px;padding:10px 16px;font-weight:800}.v158-loading,.v158-error{background:#fff;border:1px solid #dce5f0;border-radius:14px;padding:30px;text-align:center;color:#657791}.v158-error{color:#a94747}.primary,.ghost{cursor:pointer}
@media(max-width:1050px){.v158-kpis{grid-template-columns:repeat(2,1fr)}.v158-dashboard-grid,.v158-bottom-grid{grid-template-columns:1fr}.v158-fz-grid{grid-template-columns:repeat(2,1fr)}.v158-toolbar{align-items:stretch;flex-direction:column}.v158-search{min-width:0}.v158-mini-flow>i{display:none}.v158-mini-flow{display:grid;grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.v158-kpis,.v158-fz-grid,.v158-form-grid{grid-template-columns:1fr}.v158-hero,.v158-section-head{flex-direction:column}.v158-hero-actions{width:100%;flex-wrap:wrap}.v158-donut-wrap{flex-direction:column}.v158-mini-flow{grid-template-columns:1fr}.v158-tabs{width:100%}.v158-search{width:100%}.v158-dashboard-inventory{margin-top:8px}}
/* Hide V157 summary strip now superseded by V158 dashboard */
.v157-dashboard-stock{display:none!important}

/* V168_RENDER_CORE_STABILITY */
#content.v159-refreshing{opacity:1!important;pointer-events:auto}.v159-loading{min-height:420px}
