:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#243345;background:#f5f7f8;font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:inherit}.hidden{display:none!important}.muted{color:#788697}.eyebrow,.sidebar-caption,.auth-step,.kicker{font-size:11px;font-weight:750;letter-spacing:.16em;text-transform:uppercase}.brand-mark{font-size:30px;letter-spacing:-.09em;font-weight:850;color:#fff}.brand-mark span,.mobile-brand span{color:#d9ab69}
.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(360px,46%) 1fr;background:#fff}.auth-visual{background:#183b46;color:#fff;min-height:100vh;padding:45px 58px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.auth-visual:after{content:"";position:absolute;width:660px;height:660px;border:1px solid #ffffff19;border-radius:50%;right:-330px;top:15%;box-shadow:0 0 0 130px #ffffff08,0 0 0 260px #ffffff05}.auth-visual-copy{position:relative;z-index:1;max-width:440px}.auth-visual-copy .eyebrow{color:#bca47c}.auth-visual-copy h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(43px,4.2vw,70px);line-height:1.1;letter-spacing:-.045em;margin:20px 0}.auth-visual-copy p:last-child{color:#afc1c4;font-size:16px;line-height:1.7;max-width:360px}.auth-visual-foot{font-size:12px;color:#89a6ab;z-index:1}.auth-panel{display:grid;place-items:center;padding:42px}.auth-panel-inner{width:min(100%,420px)}.auth-step{color:#628b8b;display:flex;justify-content:space-between;margin-bottom:32px}.auth-step span{color:#abb4bd}.auth-panel h2{font-family:Georgia,serif;font-size:38px;font-weight:400;letter-spacing:-.035em;margin:0 0 12px;color:#19333d}.auth-panel .muted{line-height:1.65;margin:0 0 32px}.auth-footnote{font-size:12px;line-height:1.6;color:#9ba5ae;margin-top:32px}.mobile-brand{display:none}
.field{display:flex;flex-direction:column;gap:8px;margin:0 0 17px}.field>span,.field>label{font-weight:650;font-size:13px;color:#334857}.field input,.field select,.field textarea,.selector select,.search-input{border:1px solid #dce3e6;border-radius:9px;background:#fff;color:#263e49;outline:none;padding:12px 13px;width:100%;min-height:43px}.field textarea{min-height:80px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus,.selector select:focus,.search-input:focus{border-color:#457d80;box-shadow:0 0 0 3px #dcebec}.field small{color:#84939d}.primary,.secondary,.quiet,.danger{border:0;border-radius:8px;padding:11px 16px;font-weight:700;font-size:13px;min-height:42px}.primary{background:#1d6268;color:white}.primary:hover{background:#184f55}.secondary{background:#e8f0ef;color:#205d62}.quiet{background:transparent;color:#27676d}.danger{background:#fff0ed;color:#9d382e}.full{width:100%}.text-button{border:0;background:transparent;color:#27676d;padding:7px 0;font-weight:650}.notice{padding:13px 15px;border:1px solid #d8e5e5;border-radius:9px;background:#f0f7f6;color:#315d61;line-height:1.5;margin:12px 0}.notice.error{background:#fff4f0;border-color:#f0d9cf;color:#a14333}.notice.warning{background:#fff9eb;border-color:#eddcb0;color:#79602b}.code-box{background:#f3f6f7;border:1px dashed #c8d6d9;border-radius:10px;padding:15px;word-break:break-all;font-family:ui-monospace,monospace;font-size:13px}.auth-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.auth-actions .primary{flex:1}
.workspace-shell{min-height:100vh;display:grid;grid-template-columns:244px minmax(0,1fr)}.sidebar{background:#193b46;color:#d8e3e2;padding:30px 17px;display:flex;flex-direction:column;min-height:100vh;position:sticky;top:0;height:100vh}.sidebar-brand{display:flex;align-items:center;gap:12px;padding:0 13px 40px;font-weight:750;letter-spacing:-.035em;color:white}.sidebar-brand span small{display:block;color:#83a4a7;font-size:10px;letter-spacing:.15em;margin-top:2px}.sidebar nav{display:flex;flex-direction:column;gap:4px}.nav-item{width:100%;display:flex;align-items:center;gap:14px;border:0;background:transparent;color:#b2c7c9;text-align:left;border-radius:8px;padding:12px 14px;font-size:13px;font-weight:650}.nav-item:hover{background:#ffffff0e;color:white}.nav-item.active{background:#dce9e61c;color:white}.nav-item.active:before{content:"";position:absolute;left:17px;width:3px;height:23px;border-radius:3px;background:#d5ab72}.nav-icon{width:19px;text-align:center;font-size:17px;line-height:1}.sidebar-bottom{margin-top:auto;border-top:1px solid #ffffff20;padding:22px 13px 0}.sidebar-caption{color:#7b9ea1}.sidebar-context{line-height:1.5;font-size:13px;margin-top:14px;overflow-wrap:anywhere}.sidebar-context strong{display:block;color:#fff}.sidebar-signature{font-size:11px;color:#86a4a7;margin-top:30px}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#6bb8a1;margin-left:6px}
.app-main{min-width:0}.topbar{height:78px;background:#fff;border-bottom:1px solid #e7ebed;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(24px,4vw,62px);gap:20px}.breadcrumbs{font-size:13px;color:#93a0a8;white-space:nowrap}.breadcrumbs span{margin:0 9px;color:#c8d1d4}.breadcrumbs strong{color:#375160;font-weight:650}.top-actions{display:flex;align-items:center;gap:16px}.selector{display:flex;flex-direction:column;gap:2px}.selector span{font-size:10px;font-weight:700;color:#93a0a8;text-transform:uppercase;letter-spacing:.09em}.selector select{min-height:30px;padding:0 22px 0 0;border:0;max-width:190px;font-size:12px;font-weight:700;background:transparent}.user-button{border:0;background:#f2f5f5;color:#486269;display:flex;gap:9px;align-items:center;padding:5px 10px 5px 5px;border-radius:25px;font-size:12px;font-weight:650;white-space:nowrap}.user-button span:first-child{width:28px;height:28px;background:#dceae8;color:#24696a;border-radius:50%;display:grid;place-items:center}.mobile-menu{display:none}
.content{max-width:1480px;margin:auto;padding:42px clamp(24px,4vw,62px) 80px;outline:none}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:29px}.kicker{color:#4b8988;margin:0 0 10px}.page-head h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(31px,3vw,45px);letter-spacing:-.045em;color:#1c3741;margin:0}.page-head p:last-child{color:#7d8e98;margin:9px 0 0;line-height:1.5}.head-actions{display:flex;gap:8px;flex-wrap:wrap}.grid{display:grid;gap:18px}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.two-col{grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr)}.card{background:#fff;border:1px solid #e5ebed;border-radius:12px;box-shadow:0 8px 25px #183b4608;padding:23px}.card h2,.card h3{font-size:16px;margin:0 0 16px;color:#2c4450}.stat-label{font-size:12px;color:#81909b;font-weight:650}.stat-number{font-family:Georgia,serif;font-size:38px;line-height:1.25;color:#1e434c;margin:10px 0}.stat-foot{font-size:12px;color:#9daab0}.card-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}.data-table th{padding:12px 10px;border-bottom:1px solid #e4eaec;color:#8898a1;text-transform:uppercase;letter-spacing:.08em;font-size:10px;white-space:nowrap}.data-table td{padding:13px 10px;border-bottom:1px solid #eff2f3;color:#394e5a;vertical-align:top}.data-table tbody tr:last-child td{border:0}.data-table .amount{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.data-table .clickable{cursor:pointer}.data-table .clickable:hover{background:#f7faf9}.badge{display:inline-block;border-radius:20px;padding:5px 9px;background:#eaf2f0;color:#43736f;font-size:11px;font-weight:750;white-space:nowrap}.badge.draft{background:#fff5e6;color:#9a7140}.badge.closed{background:#f0f2f5;color:#707d88}.empty{padding:33px 18px;text-align:center;color:#8899a3;line-height:1.55}.empty strong{display:block;color:#3d5661;margin-bottom:5px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:19px}.toolbar .search-input{max-width:340px}.inline{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.stack{display:flex;flex-direction:column;gap:18px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 18px}.journal-line{display:grid;grid-template-columns:minmax(170px,1.6fr) minmax(130px,1.5fr) 110px 110px 42px;gap:9px;align-items:end;border-top:1px solid #edf1f2;padding:14px 0}.journal-line .field{margin:0}.journal-line .field span{font-size:11px}.journal-line input,.journal-line select{padding:9px;font-size:12px}.journal-line .remove-line{height:42px;border:0;background:#f9ece9;color:#a35d52;border-radius:7px}.balance-bar{display:flex;justify-content:space-between;align-items:center;border-radius:9px;background:#f3f7f6;padding:13px 16px;font-size:13px;font-weight:700}.balance-bar.invalid{background:#fff3ef;color:#a94c38}.detail-list{display:grid;grid-template-columns:repeat(2,1fr);gap:17px;font-size:13px}.detail-list dt{color:#82939d;font-size:11px;margin-bottom:4px}.detail-list dd{margin:0;color:#2b454f;font-weight:650;overflow-wrap:anywhere}.divider{height:1px;background:#e9eff0;margin:20px 0}.small{font-size:12px}.mono{font-family:ui-monospace,SFMono-Regular,monospace}.callout{border-left:3px solid #d6ad74;padding:16px 20px;background:#faf7f0;color:#665c4c;line-height:1.55;border-radius:0 8px 8px 0}.file-picker{border:1px dashed #b9ced1;border-radius:9px;padding:23px;background:#f9fbfb}.file-picker input{max-width:100%}.scroll-list{max-height:320px;overflow:auto}.issue-list{margin:0;padding-left:20px;line-height:1.65}.section-label{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#80949b;font-weight:750;margin:22px 0 10px}.toast{position:fixed;bottom:22px;right:25px;background:#244b50;color:white;border-radius:9px;padding:14px 18px;box-shadow:0 12px 30px #15393d30;z-index:20;max-width:360px;font-size:13px}.mobile-brand{color:#193b46;font-size:27px;font-weight:850}.mobile-brand small{font-size:14px;letter-spacing:0;margin-left:10px;font-weight:650}.spinner{width:22px;height:22px;border:2px solid #bdd6d4;border-top-color:#25676a;border-radius:50%;animation:spin .7s linear infinite;margin:25px auto}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:1050px){.stats-grid{grid-template-columns:repeat(2,1fr)}.two-col{grid-template-columns:1fr}.journal-line{grid-template-columns:1.5fr 1fr 90px 90px 42px}.topbar{padding:0 24px}}
.closing-receipt-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #edf0f1}.closing-receipt-row:last-of-type{border-bottom:0}.closing-receipt-row .import-text,.closing-facts td{overflow-wrap:anywhere;white-space:normal}.closing-facts{table-layout:fixed;min-width:0}.closing-facts th:first-child,.closing-facts td:first-child{width:44%}.closing-wide{min-width:760px}.closing-liquid{margin-top:14px;padding-top:14px;border-top:1px solid #edf0f1}.closing-liquid.hidden{display:none}.closing-receipt-row button{white-space:normal}.closing-wide td:not(.amount){max-width:300px;overflow-wrap:anywhere;white-space:normal}.closing-attestation{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:10px;margin:10px 0;line-height:1.35}.closing-attestation input{margin:2px 0 0;width:auto;min-height:0}
@media(max-width:760px){.closing-receipt-row{grid-template-columns:1fr;align-items:stretch}.closing-receipt-row button{width:100%}.auth-shell{display:block}.auth-visual{display:none}.auth-panel{min-height:100vh;place-items:center;padding:25px}.mobile-brand{display:block;margin-bottom:65px}.workspace-shell{display:block}.sidebar{position:fixed;z-index:15;width:244px;transform:translateX(-100%);transition:transform .2s}.sidebar.open{transform:translateX(0)}.mobile-menu{display:block;border:0;background:transparent;font-size:20px;color:#37525a}.topbar{height:auto;min-height:66px;padding:12px 18px;flex-wrap:wrap}.breadcrumbs{flex:1}.top-actions{width:100%;gap:7px;justify-content:space-between}.selector{max-width:42%}.selector select{max-width:100%;font-size:12px}.user-button span:last-child{display:none}.content{padding:27px 17px 70px}.page-head{align-items:flex-start;flex-direction:column}.stats-grid,.form-grid,.two-col{grid-template-columns:1fr}.card{padding:17px}.journal-line{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.journal-line .field:nth-child(1),.journal-line .field:nth-child(2){grid-column:span 2}.journal-line .remove-line{grid-column:2;justify-self:end;width:42px}.detail-list{grid-template-columns:1fr 1fr}.toolbar{align-items:stretch;flex-direction:column}.toolbar .search-input{max-width:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

.import-facts-wrap,.import-compact-wrap{overflow:visible}.import-facts-table,.import-compact-table{table-layout:fixed;min-width:0}.import-facts-table th:first-child,.import-facts-table td:first-child{width:44%}.import-facts-table td.import-text,.import-compact-table td.import-text,.import-wide-table td.import-text{text-align:left;white-space:normal;overflow-wrap:anywhere}.import-wide-table{min-width:880px}.import-wide-table th:last-child,.import-wide-table td:last-child{max-width:300px}.import-wide-table .amount{text-align:right;white-space:nowrap;overflow-wrap:normal}
.chart-stats{grid-template-columns:repeat(6,minmax(0,1fr));margin:18px 0}.chart-stat-number{font-family:Georgia,serif;font-size:30px;line-height:1.2;color:#1e434c;margin:7px 0}.chart-mapping-table{min-width:1220px}.chart-mapping-table select{min-width:190px;border:1px solid #dce3e6;border-radius:8px;background:#fff;color:#263e49;padding:9px}.chart-inventory-table{min-width:920px}.chart-import-decisions{min-width:1320px}.chart-import-decisions select,.chart-import-decisions input{min-width:150px;border:1px solid #dce3e6;border-radius:8px;background:#fff;color:#263e49;padding:9px}.chart-import-decisions select:disabled,.chart-import-decisions input:disabled{background:#f2f5f5;color:#85939a}.chart-import-decisions td:first-child{white-space:nowrap}.chart-mapping-table+.head-actions,.card>.head-actions{margin-top:16px}
.vat-import-decisions select{width:300px;max-width:300px;border:1px solid #dce3e6;border-radius:8px;background:#fff;color:#263e49;padding:9px}.vat-code-select{width:100%;max-width:100%;border:1px solid #dce3e6;border-radius:8px;background:#fff;color:#263e49;padding:9px}
@media(max-width:1050px){.chart-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.chart-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.chart-stats .card{padding:13px}.chart-stat-number{font-size:25px}}
.receipt-review-facts{table-layout:fixed;min-width:0}.receipt-review-facts th:first-child,.receipt-review-facts td:first-child{width:38%}.receipt-review-facts td.receipt-review-text{overflow-wrap:anywhere;white-space:normal;text-align:left}.receipt-review-wrap{max-width:100%}

@media(max-width:760px){.closing-facts .amount{white-space:normal;overflow-wrap:anywhere;text-align:left}}

/* Keep the complete role navigation inside its painted viewport at every height. */
.sidebar{height:100vh;height:100dvh;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain}
.sidebar-brand,.sidebar nav,.sidebar-bottom{flex-shrink:0}
