:root{color:#172033;font-synthesis:none;--blue:#2457d6;--navy:#12213e;--line:#e4e8ef;--muted:#69758b;background:#f4f6f9;font-family:Tahoma,Leelawadee UI,system-ui,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}.app-shell{grid-template-columns:248px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:var(--navy);color:#fff;z-index:40;flex-direction:column;height:100vh;display:flex;position:sticky;top:0}.brand{align-items:center;gap:12px;padding:24px 20px;display:flex}.brand>span,.splash>span{color:#fff;background:linear-gradient(145deg,#4b7bff,#1a45bd);border-radius:12px;place-items:center;width:40px;height:40px;font-weight:800;display:grid;box-shadow:0 8px 20px #061b55aa}.brand div{min-width:0;display:grid}.brand b{font-size:14px}.brand small{color:#aeb9d0;font-size:10px}.sidebar nav{gap:5px;padding:8px 12px;display:grid}.module-tag{color:#8393b3;letter-spacing:1.4px;margin:2px 20px 8px;font-size:9px;font-weight:700}.sidebar nav button{color:#b9c5dd;text-align:left;background:0 0;border:0;border-radius:9px;align-items:center;gap:12px;padding:11px 12px;display:flex}.sidebar nav button i{text-align:center;width:23px;font-style:normal;font-weight:700}.sidebar nav button:hover,.sidebar nav button.active{color:#fff;background:#ffffff17}.sidebar nav button.active{box-shadow:inset 3px 0 #70a0ff}.sidebar-foot{border-top:1px solid #ffffff16;gap:4px;margin-top:auto;padding:18px 20px 24px;display:grid}.sidebar-foot small{color:#8e9bb5}.sidebar-foot span{text-overflow:ellipsis;font-size:12px;overflow:hidden}.sidebar-foot .text-button{color:#9dbaff;justify-self:start;padding:5px 0}main{min-width:0}.topbar{border-bottom:1px solid var(--line);z-index:20;background:#fff;align-items:center;gap:16px;height:78px;padding:0 32px;display:flex;position:sticky;top:0}.topbar h1{margin:0;font-size:18px}.topbar p{color:var(--muted);margin:2px 0 0;font-size:11px}.topbar .icon-button{margin-left:0}.menu-button{background:0 0;border:0;font-size:22px;display:none}.content{max-width:1560px;margin:auto;padding:28px 32px 60px}.environment-chip{color:#8b610e;background:#fff5d9;border:1px solid #ecdcae;border-radius:20px;margin-left:auto;padding:5px 10px;font-size:10px;font-weight:600}.hero{color:#fff;background:linear-gradient(110deg,#152a55,#285dd4);border-radius:18px;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px;padding:26px 28px;display:flex;box-shadow:0 15px 35px #1c3f8c28}.hero h2{margin:3px 0;font-size:24px}.hero p{color:#d8e2fa;margin:0}.eyebrow{letter-spacing:2px;color:#a8c4ff;font-size:10px;font-weight:700}.primary,.secondary,.icon-button,.pill-button,.close{border:0;border-radius:9px;padding:9px 16px;font-weight:600}.primary{background:var(--blue);color:#fff;box-shadow:0 4px 12px #2457d630}.hero .primary{color:#214db9;background:#fff}.primary:hover{filter:brightness(.96)}.primary:disabled{opacity:.55;cursor:not-allowed}.secondary{color:#263958;background:#eef2f8;border:1px solid #dfe5ee}.compact{padding:6px 10px;font-size:12px}.full{width:100%}.outline{color:var(--blue);box-shadow:none;background:#fff;border:1px solid #cbd8f9}.link-button{text-align:center;text-decoration:none;display:block}.text-button{color:var(--blue);background:0 0;border:0;align-items:center;padding:3px;display:inline-flex}.icon-button{color:#3a4961;background:#f2f5f9;width:40px;height:40px;padding:0;font-size:20px}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px;display:grid}.metric{border:1px solid var(--line);background:#fff;border-radius:14px;gap:5px;padding:19px 20px;display:grid;position:relative;overflow:hidden}.metric:before{content:"";width:4px;position:absolute;top:0;bottom:0;left:0}.metric.blue:before{background:#3973ed}.metric.amber:before{background:#e7a72c}.metric.red:before{background:#e04c56}.metric.green:before{background:#28a47c}.metric small{color:var(--muted)}.metric strong{color:#172642;font-size:24px}.metric span{color:#8993a5;font-size:11px}.two-col{grid-template-columns:1fr 1fr;gap:18px;display:grid}.card,.table-card{border:1px solid var(--line);background:#fff;border-radius:14px;margin-bottom:18px;box-shadow:0 3px 12px #293b5b0a}.card{padding:20px}.card>header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.card h3{margin:0;font-size:15px}.stack{gap:10px;display:grid}.row-item{justify-content:space-between;align-items:center;gap:16px;padding:8px 0;display:flex}.row-item+.row-item{border-top:1px solid #eef0f4}.row-item div{display:grid}.row-item b{font-size:13px}.row-item small{color:var(--muted);font-size:11px}.row-item .right{text-align:right}.boxed{background:#f8fafc;border-radius:9px;border:1px solid #edf0f4!important;padding:12px 14px!important}.due{text-align:right}.due b{color:#d17e0d}.due.late b{color:#d83845}.empty{color:#9ba5b4;text-align:center;align-content:center;place-items:center;min-height:120px;padding:24px;display:grid}.empty span{font-size:25px}.empty p{margin:5px 0;font-size:13px}.page-head{justify-content:space-between;align-items:center;gap:18px;margin-bottom:20px;display:flex}.page-head h2{color:#172642;margin:0;font-size:22px}.page-head p{color:var(--muted);margin:3px 0 0;font-size:13px}.toolbar{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.toolbar>span{color:var(--muted);font-size:12px}.search{width:min(360px,100%)}input,select,textarea{color:#172033;background:#fff;border:1px solid #d8dee8;border-radius:8px;outline:none;width:100%;padding:9px 11px;transition:all .15s}input:focus,select:focus,textarea:focus{border-color:#5f89ed;box-shadow:0 0 0 3px #356ae817}textarea{resize:vertical}.field{align-content:start;gap:5px;display:grid}.field>span{color:#384760;font-size:12px;font-weight:600}.field>small{color:#7c8798;font-size:10px}.field.wide,.wide{grid-column:1/-1}.form-grid{grid-template-columns:1fr 1fr;gap:15px;margin-bottom:18px;display:grid}.check{color:#4d5a70;align-items:center;gap:8px;min-height:40px;font-size:12px;display:flex}.check input{width:auto}.form-error{color:#ba2733;background:#fff0f1;border-radius:7px;margin-bottom:12px;padding:9px 11px;font-size:12px}.callout{color:#294a86;background:#edf4ff;border-radius:8px;padding:12px;font-size:13px}.table-card{overflow:hidden}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;min-width:880px}th,td{text-align:left;vertical-align:middle;border-bottom:1px solid #edf0f4;padding:13px 15px;font-size:12px}th{color:#667289;white-space:nowrap;background:#f8fafc;font-size:11px;font-weight:600}td>b,td>small{display:block}td>small{color:var(--muted);margin-top:2px;font-size:10px}tbody tr:hover{background:#fafcff}.muted{color:#99a1af;font-size:11px}.drive-link{color:#2457d6;font-size:11px;font-weight:600;text-decoration:none}.drive-link:hover{text-decoration:underline}.drive-link.block{padding:10px 0;display:block}.link-stack{gap:4px;display:grid}.status{color:#4c5b71;white-space:nowrap;background:#eef2f7;border-radius:20px;padding:4px 8px;font-size:10px;font-weight:600;display:inline-block}.status-paid,.status-completed,.status-confirmed,.status-receiptreceived,.status-delivered{color:#167452;background:#e5f7ef}.status-opentr,.status-pending,.status-waitingforbill,.status-preparingdocuments{color:#986209;background:#fff5d9}.status-cancelled,.status-notrequired{color:#6f7680;background:#f0f1f3}.status-processing,.status-intransit,.status-forwarded,.status-billed{color:#2856b5;background:#e7efff}.status-closed{color:#415069;background:#e8ecf2}.modal-layer,.drawer-layer{z-index:100;place-items:center;display:grid;position:fixed;inset:0}.backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0c172c9e;border:0;position:absolute;inset:0}.modal{background:#fff;border-radius:16px;width:min(720px,100% - 28px);max-height:calc(100vh - 30px);position:relative;overflow:auto;box-shadow:0 25px 70px #07142a70}.modal>header{border-bottom:1px solid var(--line);z-index:2;background:#fff;justify-content:space-between;align-items:center;padding:18px 22px;display:flex;position:sticky;top:0}.modal h2{margin:0;font-size:18px}.close{color:#596579;background:#eff2f6;width:34px;height:34px;padding:0;font-size:22px}.modal-body{padding:22px}.modal-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:9px;padding-top:16px;display:flex}.drawer-layer{place-items:stretch end}.drawer{background:#fff;width:min(560px,100%);height:100vh;position:relative;overflow:auto;box-shadow:-20px 0 60px #07142a38}.drawer-head{border-bottom:1px solid var(--line);justify-content:space-between;padding:24px;display:flex}.drawer-head small{color:#71809a;letter-spacing:1px;font-size:10px}.drawer-head h2{margin:2px 0;font-size:23px}.drawer-head p{color:var(--muted);margin:0}.drawer-body{padding:22px}.drawer-body h3{margin:24px 0 9px;font-size:14px}.mini-metrics{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:20px;display:grid}.mini-metrics>div{background:#f5f7fa;border-radius:8px;padding:10px;display:grid}.mini-metrics small{color:var(--muted);font-size:9px}.mini-metrics b{margin-top:3px;font-size:12px}.payment-metrics{margin-top:18px}.payment-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.sequence{color:#2856bd;background:#e8efff;border-radius:8px;place-items:center;width:25px;height:25px;margin-right:8px;display:inline-grid}.payment-body{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.payment-body>div{background:#f8fafc;border-radius:9px;padding:10px;display:grid}.payment-body small{color:var(--muted);font-size:9px}.payment-body strong{margin:4px 0;font-size:13px}.payment-body span{color:#737f92;font-size:9px}.tr-due.warn{background:#fff4df!important}.tr-due.warn strong,.tr-due.warn span{color:#b45f0a}.interest-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding:13px 0;display:flex}.interest-row>div{display:grid}.interest-row b{font-size:12px}.interest-row small{color:var(--muted);max-width:380px;font-size:9px}.card-actions{justify-content:space-between;align-items:center;min-height:22px;display:flex}.document-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.document-card{border:1px solid var(--line);text-align:left;color:inherit;background:#fff;border-radius:12px;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;padding:15px;display:grid}.document-card:hover{border-color:#9eb6ee;box-shadow:0 6px 18px #153c8a13}.doc-icon{color:#2a5fcf;background:#edf3ff;border-radius:10px;place-items:center;width:42px;height:42px;font-size:20px;display:grid}.document-card>div:nth-child(2){display:grid}.document-card b{font-size:13px}.document-card small{color:var(--muted);font-size:10px}.document-card>div:last-child{justify-items:end;gap:5px;display:grid}.follow{color:#c07506;margin-top:3px;font-size:9px}.linked{color:#2a8768;font-size:8px}.settings-layout{max-width:900px}.settings-tabs{gap:6px;margin-bottom:15px;display:flex}.settings-tabs button{color:#516078;background:#e9edf3;border:0;border-radius:8px;padding:8px 14px}.settings-tabs button.active{color:#fff;background:#1f4fbf}.pill-button{color:#1b7757;background:#e7f7ef;padding:5px 9px;font-size:10px}.pill-button.off{color:#707984;background:#eef0f3}.login-page{background:linear-gradient(112deg,#061a33 0%,#0c294b 55%,#14375d 100%);place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{background:#fff;border:0;border-radius:22px;flex-direction:column;justify-content:center;width:min(420px,100%);min-height:430px;padding:34px 30px;display:flex;box-shadow:0 24px 70px #020b1d55}.login-card h1{color:#07172d;margin:0 0 5px;font-size:25px}.login-card>p{color:#69758b;margin:0 0 25px;font-size:13px}.login-card .field{margin-bottom:15px}.login-card .field>span{color:#15233a;font-size:13px}.login-card input{background:#eaf1fc;border-color:#c9d4e3;border-radius:10px;height:47px;padding:10px 13px}.login-card input:focus{background:#f4f7fd}.login-card .primary{background:#2c67e8;border-radius:10px;height:44px;margin-top:0;font-size:14px}.pin-help{color:#1554d1;background:0 0;border:0;align-self:center;padding:13px 5px 0;font-weight:700}.pin-help:hover{text-decoration:underline}.brand.big{margin-bottom:25px;padding:0}.brand.big>span{width:52px;height:52px}.brand.big b{font-size:18px}.brand.big small{font-size:11px}.center-card,.splash{text-align:center;background:#fff;border-radius:16px;width:min(480px,100% - 30px);margin:15vh auto;padding:35px;box-shadow:0 12px 40px #10234c1c}.center-card .brand{justify-content:center;margin:0}.center-card p{color:var(--muted)}.splash{box-shadow:none;background:0 0;place-items:center;display:grid}.splash>span{width:62px;height:62px}.toast{z-index:200;color:#fff;background:#173d31;border-radius:10px;max-width:420px;padding:12px 16px;font-size:12px;position:fixed;bottom:22px;right:22px;box-shadow:0 10px 35px #1118}.toast.error{background:#9f2530}@media (max-width:1050px){.metric-grid{grid-template-columns:repeat(2,1fr)}.payment-list{grid-template-columns:1fr}.payment-body{grid-template-columns:repeat(3,1fr)}}@media (max-width:780px){.app-shell{display:block}.sidebar{width:248px;transition:all .2s;position:fixed;left:-270px}.sidebar.open{left:0}.nav-backdrop{z-index:35}.menu-button{display:block}.topbar{height:66px;padding:0 16px}.environment-chip{display:none}.content{padding:20px 15px 50px}.two-col,.document-grid{grid-template-columns:1fr}.page-head{align-items:flex-start}.page-head h2{font-size:19px}.hero{flex-direction:column;align-items:flex-start}.login-page{padding:18px}.login-card{width:min(430px,100%);padding:25px}.form-grid{grid-template-columns:1fr}.field.wide,.wide{grid-column:auto}.modal-body{padding:17px}.metric-grid{gap:10px}.metric{padding:15px}.metric strong{font-size:19px}}@media (max-width:520px){.metric-grid{grid-template-columns:1fr 1fr}.metric span{display:none}.payment-body{grid-template-columns:1fr}.page-head{display:grid}.page-head>.primary{width:100%}.mini-metrics{grid-template-columns:1fr}.drawer-body{padding:16px}.interest-row{flex-direction:column;align-items:flex-start}.toast{left:15px;right:15px}.login-card{padding:24px}.document-card{grid-template-columns:38px 1fr}.document-card>div:last-child{grid-column:2;justify-items:start}}
