:root{color-scheme:light;--ink:#080d36;--green:#0032b7;--line:#d9e2f1;--muted:#738792}*{box-sizing:border-box}body{margin:0;background:#f5f7fa;color:var(--ink);font:16px Arial,Helvetica,sans-serif;line-height:1.45}button,input,select,textarea{font:inherit}button,a,input{touch-action:manipulation}button{cursor:pointer;border:0}button:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible{outline:3px solid #76b8aa;outline-offset:3px}a{color:var(--green)}input,select,textarea{border:1px solid #d6e1e7;border-radius:6px;background:white;color:var(--ink);padding:10px 12px;font-size:14px;min-width:0}input:focus,select:focus,textarea:focus{outline:2px solid #8bc0b3;outline-offset:1px}header{height:88px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 4%;justify-content:space-between;gap:16px}.brand{display:flex;align-items:center;gap:12px;font-size:15px;font-weight:700;letter-spacing:.8px}.brand small{display:block;font-size:10px;color:#82959f;letter-spacing:1.8px;margin-top:3px}.mark{display:grid;place-items:center;height:44px;padding:0 9px;background:#000160;color:white;border-radius:9px;font-size:20px;letter-spacing:-1px}.header-right{display:flex;align-items:center;gap:18px;font-size:13px}.header-right a{text-decoration:none}.private{color:#8b9ba4;font-size:12px}.header-right select{padding:7px 9px;font-size:12px}.workspace{max-width:1550px;padding:34px 4% 20px;margin:auto}.page-head{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:17px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:1.8px;color:#7d919b;margin-bottom:8px}h1{font-size:36px;letter-spacing:-1.2px;line-height:1.2;margin:0;font-weight:700}h1 span{color:#169b80}h2{font-size:16px;margin:0;font-weight:600}p{color:#748993;font-size:14px;line-height:1.6;margin:9px 0}.primary,.outline,.subtle,.danger{display:inline-flex;align-items:center;justify-content:center;gap:7px;font-weight:600;font-size:14px;border-radius:7px;padding:11px 16px;text-decoration:none;line-height:1.4}.primary{background:var(--green);color:white;border:1px solid var(--green)}.primary:hover{background:#09574f}.outline{background:white;border:1px solid #d7e1e5;color:#47636f}.outline:hover,.subtle:hover{background:#eef4f2}.subtle{color:#5c8079;background:transparent;padding:8px 11px;font-size:13px}.danger{color:#b65040;background:#fff0ea;padding:7px 10px;font-size:13px}.identity{display:flex;justify-content:space-between;font-size:12px;color:#8a9aa3;margin-bottom:24px}.identity a{text-decoration:none}.info,.import,.carry{background:#edf3ff;border:1px solid #dcebe4;border-radius:8px;padding:14px 18px;font-size:14px;margin-bottom:20px}.import{display:flex;align-items:center;justify-content:space-between;gap:20px}.import p{margin:0}.carry{background:#fff6e9;border-color:#f0e2cc;color:#9b753a;margin-top:-4px}.periodbar{display:flex;align-items:center;gap:12px;margin-bottom:20px}.month-control{display:flex;align-items:center;background:white;border:1px solid #dae3e8;border-radius:7px;padding:0 5px}.month-control button{background:none;color:#607d88;font-size:25px;line-height:1;padding:7px 10px}.month-control input{border:none;padding:10px 2px;max-width:185px}.period-note{font-size:12px;color:#81949e}.export{margin-left:auto}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:22px}.stats article{background:white;border:1px solid var(--line);border-radius:10px;padding:22px}.stats label{display:block;color:#6e8590;font-size:14px}.stats strong{display:block;font-size:clamp(23px,2.2vw,33px);font-weight:600;letter-spacing:-.9px;margin:16px 0 10px;font-variant-numeric:tabular-nums;line-height:1.2}.stats small{display:block;color:#8c9da5;font-size:12px}.stats .emphasized{background:#000160;color:white;border-color:#000160}.emphasized label,.emphasized small{color:#b7d5cd}.red{color:#b65e4a}.muted{color:#8296a0}.insights{display:grid;grid-template-columns:1.5fr 1fr;gap:20px;margin:24px 0}.insights>section{padding:22px;background:white;border:1px solid var(--line);border-radius:10px;min-width:0}.section-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.section-head h2 small{font-size:12px;color:#8a9ba2;font-weight:400;margin-left:7px}.legend{font-size:12px;color:#5c9b8c}.legend span{margin-left:8px;color:#a1bdb3}.chart{display:flex;gap:7px;margin-top:19px;height:138px}.chart-col{display:flex;flex-direction:column;gap:9px;flex:1;align-items:center;min-width:0;background:transparent;padding:0 4px 4px;border-radius:4px}.chart-col.selected,.chart-col:hover{background:#f1f7f4}.chart-col>span{font-size:12px;color:#80959f}.bar-space{height:108px;border-bottom:1px solid #e4eeea;display:flex;align-items:flex-end;width:100%;justify-content:center}.bar{max-width:28px;width:100%;background:#d6e7e0;min-height:1px;display:flex;flex-direction:column;justify-content:flex-end;border-radius:3px 3px 0 0;overflow:hidden}.bar>div{background:#72a899}.selected .bar>div{background:#167366}.next-item{display:flex;align-items:center;gap:12px;padding:12px 0;width:100%;background:transparent;text-align:left;border-bottom:1px solid #eef2f4;color:var(--ink)}.next-item:last-child{border-bottom:0}.next-item:hover{background:#f6f9f8}.date-box{width:38px;height:40px;display:grid;place-items:center;background:#f6efe8;color:#b27757;border-radius:6px;font-weight:600;font-size:15px}.next-item>span:nth-child(2){flex:1}.next-item b{font-size:13px}.next-item small{display:block;font-size:12px;color:#8b9ba4;margin-top:3px}.next-item strong{font-size:14px;font-variant-numeric:tabular-nums;white-space:nowrap}.next-item>span:last-child{color:#8a9a9f}.records{border:1px solid var(--line);background:white;border-radius:10px;overflow:hidden}.tabs{display:flex;align-items:center;gap:20px;padding:10px 20px 0;border-bottom:1px solid #e4ebef}.tabs button{border-bottom:2px solid transparent;background:transparent;color:#8b9aa4;font-size:14px;font-weight:600;padding:12px 0}.tabs button.active{color:#0032b7;border-color:#0032b7}.tabs>span{margin-left:auto;color:#8c9ea7;font-size:12px;text-transform:capitalize}.filters{display:flex;gap:10px;padding:19px 20px}.filters input{width:34%;min-width:150px}.filters select{max-width:240px}.filters .subtle{margin-left:auto;white-space:nowrap}.table-scroll{overflow-x:auto;max-width:100%}table{width:100%;border-collapse:collapse;font-size:14px}th{text-align:left;background:#f8fafb;color:#7f949d;font-size:12px;font-weight:500;border-top:1px solid #eef2f4;padding:12px 18px;white-space:nowrap}td{padding:16px 18px;border-bottom:1px solid #edf1f3}tbody tr:hover{background:#fcfefd}.numeric{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.supplier-cell{display:flex;align-items:center;gap:12px;text-align:left;background:none;padding:0;color:var(--ink)}.supplier-cell b{font-size:13px;font-weight:600;white-space:nowrap}.supplier-cell small{display:block;color:#93a2aa;font-size:12px;margin-top:4px}.avatar{height:34px;width:34px;display:grid;place-items:center;background:#edf3ef;border-radius:6px;font-size:11px;color:#6d867d;flex-shrink:0}.badge{display:inline-flex;padding:5px 9px;border-radius:5px;font-size:12px;white-space:nowrap}.badge.overdue{background:#fff0e8;color:#b26a4f}.badge.settled{background:#eaf4ed;color:#4a866b}.badge.pending{background:#eef3f7;color:#768f9d}.badge.partial{background:#fff5dc;color:#ad8833}.row-actions{display:flex;gap:6px;align-items:center;justify-content:flex-end}.row-actions button{white-space:nowrap}.pay-button{color:#0032b7;background:transparent;padding:7px 8px;border-radius:5px;font-size:13px}.pay-button:hover{background:#edf5f0}.table-footer{padding:17px 22px;display:flex;justify-content:space-between;gap:14px;font-size:12px;color:#8296a0}.table-footer b{margin-left:12px;color:#456372;font-weight:600}footer{display:flex;justify-content:space-between;gap:20px;font-size:12px;color:#95a4ac;margin-top:24px}.empty{padding:40px 20px;text-align:center;color:#8da0aa;font-size:14px}.error{background:#fff0eb;color:#a24b38;padding:15px;border-radius:7px;font-size:14px}.error button{text-decoration:underline;background:none;color:inherit}.login{max-width:650px;margin:12vh auto;text-align:center;padding:35px;background:white;border:1px solid var(--line);border-radius:12px}.login .primary{margin-top:18px}.members{padding:20px}.members>p{max-width:800px;margin-bottom:16px}.members>form{display:flex;align-items:flex-end;gap:14px;padding:22px 0;max-width:650px}.members form label{flex:1;font-size:14px}.members form input{display:block;width:100%;margin-top:6px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.toast{position:fixed;bottom:25px;right:25px;background:#000160;color:white;padding:15px 22px;border-radius:8px;z-index:10000;box-shadow:0 5px 30px #163f4420;font-size:14px}dialog{border:1px solid #dbe5e8;border-radius:12px;padding:25px;width:min(570px,calc(100% - 32px));max-height:90dvh;overflow:auto;color:var(--ink);box-shadow:0 30px 80px #102c3640}dialog::backdrop{background:#102c366b}.dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.dialog-head h2{font-size:21px}.dialog-close{font-size:26px;line-height:1;background:transparent;color:#84979f;padding:3px 7px}fieldset{border:0;padding:0;margin:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-grid label{font-size:14px;color:#536e7b;display:flex;flex-direction:column;gap:7px}.form-grid label.full{grid-column:1/-1}.form-grid input,.form-grid select,.form-grid textarea{width:100%;font-size:16px}.form-grid textarea{min-height:66px;resize:vertical}.form-total{display:flex;align-items:center;justify-content:space-between;background:#edf3ff;border-radius:7px;padding:16px;margin:18px 0;color:#386f62;font-size:14px}.form-total strong{font-size:22px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:19px}.form-error{color:#b44732;white-space:pre-wrap}.history{margin-top:18px;font-size:14px}.history>div{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #e8eff0;font-size:13px;color:#718995}
@media(max-width:1150px){.period-note{display:none}.stats article{padding:19px 15px}.stats strong{font-size:25px}.insights{grid-template-columns:1.2fr 1fr}.chart{gap:2px}.legend{font-size:11px}.next-item{gap:8px}.filters{flex-wrap:wrap}.filters input{flex:1}.filters select{max-width:200px}}
@media(max-width:760px){header{height:auto;min-height:74px;padding:15px 18px;flex-wrap:wrap}.brand{font-size:13px}.brand small{font-size:9px}.header-right{gap:10px;margin-left:auto}.private{display:none}.header-right a{font-size:12px}.header-right select{max-width:116px}.workspace{padding:25px 16px}.page-head{align-items:flex-start;gap:13px}.page-head>.primary{padding:10px;font-size:13px;margin-top:15px}h1{font-size:28px}.eyebrow{font-size:10px}.page-head p{max-width:230px;font-size:13px}.stats{grid-template-columns:1fr 1fr;gap:10px}.stats label{font-size:13px}.stats strong{font-size:25px;letter-spacing:-.7px}.stats article{padding:17px 13px}.stats small{font-size:12px}.insights{grid-template-columns:1fr;gap:15px}.insights>section{padding:18px}.chart{height:134px;gap:3px}.bar-space{height:102px}.chart-col>span{font-size:11px}.periodbar{gap:7px;flex-wrap:wrap}.periodbar>.subtle{display:none}.periodbar .export{padding:10px;font-size:12px}.month-control input{max-width:155px}.month-control button{padding:7px}.identity{gap:12px}.import{flex-direction:column;align-items:flex-start}.tabs{padding-left:13px;padding-right:13px;gap:20px}.tabs>span{display:none}.filters{padding:14px 12px;gap:8px}.filters input{flex-basis:100%;width:100%}.filters select{width:calc(50% - 4px);max-width:none;font-size:12px}.filters .subtle{width:100%;justify-content:flex-end;padding:3px}.table-footer,footer{flex-direction:column;gap:8px}.members>form{flex-direction:column;align-items:stretch}.members>form label{width:100%}.login{margin:7vh 16px;padding:27px 20px}.login h1{font-size:28px}dialog{padding:20px}.dialog-head h2{font-size:19px}.form-grid{gap:12px}.form-grid label{font-size:13px}.form-grid input{font-size:14px}.toast{left:16px;right:16px;bottom:16px}.section-head{gap:8px}.section-head h2{font-size:15px}}
.top-nav{display:flex;align-items:center;gap:14px}.top-nav a{color:#47636f;text-decoration:none;font-weight:600;font-size:13px}.top-nav a:hover{color:var(--green)}.supplier-page .page-head{margin-bottom:11px}.supplier-count{color:#5c8079}.supplier-selector{display:flex;align-items:center;gap:14px;padding:17px 20px;background:white;border:1px solid var(--line);border-radius:10px;margin-bottom:20px}.supplier-selector label{font-size:13px;color:#536e7b;font-weight:600}.supplier-selector select{min-width:280px}.supplier-stats{margin-bottom:20px}.supplier-visual{background:white;border:1px solid var(--line);border-radius:10px;padding:22px;margin-bottom:20px}.supplier-bars{display:flex;flex-direction:column;gap:16px;margin-top:20px}.supplier-bar-row{display:grid;grid-template-columns:230px 1fr 110px;align-items:center;gap:15px}.supplier-bar-label b{display:block;font-size:13px}.supplier-bar-label small{display:block;color:#8b9ba4;font-size:11px;margin-top:3px}.supplier-bar-track{height:13px;border-radius:99px;background:#edf1f4;display:flex;overflow:hidden}.supplier-bar-paid{background:#167366}.supplier-bar-left{background:#d6e7e0}.supplier-bar-row>strong{text-align:right;font-size:13px}.supplier-legend{display:flex;gap:18px;margin-top:20px;color:#718995;font-size:12px}.supplier-legend i{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:5px}.legend-paid{background:#167366}.legend-left{background:#d6e7e0}.access-page .records{max-width:1100px}.access-page .members{padding:25px}.supplier-detail{margin-top:20px}
@media(max-width:760px){.top-nav{gap:8px;order:3;width:100%;justify-content:flex-end}.top-nav a{font-size:12px}.supplier-selector{align-items:flex-start;flex-direction:column}.supplier-selector select{width:100%;min-width:0}.supplier-bar-row{grid-template-columns:1fr 85px;gap:8px}.supplier-bar-track{grid-column:1/-1;grid-row:2}.supplier-bar-row>strong{grid-column:2;grid-row:1}.supplier-visual{padding:18px 14px}}
:is(.badge.cancelled,.badge.avoir){background:#f3eaf7;color:#7b4b8f}.badge.avoir{background:#fff4d8;color:#9a7527}.uploader-cell{color:#667f89;font-size:13px;white-space:nowrap}.uploader-note{margin:12px 0 0;color:#738792;font-size:13px}
.document-editor{background:#f4f7fc;border:1px solid #d9e2f1;border-radius:8px;padding:16px;margin-bottom:20px}.document-buttons{display:flex;gap:8px;flex-wrap:wrap}.document-buttons label{cursor:pointer}.doc-preview img{display:block;max-width:100%;max-height:260px;object-fit:contain;margin:12px auto}.doc-status{overflow-wrap:anywhere}.document-link{white-space:nowrap}
