/* Artesanal — visual system */
:root{--ink:#253b35;--muted:#728179;--green:#205c49;--line:#e3e9e4;--surface:#fff;--canvas:#f5f7f4;font-family:'Segoe UI',Arial,sans-serif;color:var(--ink);background:var(--canvas);font-size:14px}
body{background:var(--canvas);-webkit-font-smoothing:antialiased}aside{width:248px;padding:32px 20px 22px;background:#143f35;background-image:radial-gradient(ellipse at 0 0,#2e5a452e,transparent 70%);border-right:1px solid #12392f}
.brand{gap:12px;padding:0 8px;font-size:unset}.brand i{display:grid;place-items:center;font-style:normal;width:46px;height:50px;border:1px solid #c4d6bb66;border-radius:16px 16px 5px 16px;color:#e7dfba;font-size:47px;line-height:1;padding-bottom:9px}.brand span{font-size:26px;letter-spacing:-.6px}.brand small{font-size:9px;letter-spacing:3.8px;margin-top:8px;color:#b6cabb}.nav-label{margin:48px 15px 14px;font-size:9px;letter-spacing:1.9px;color:#91b0a1}nav{gap:6px}nav a{display:flex;align-items:center;gap:12px;padding:14px 15px;font-size:13px;color:#bed1c7;border:1px solid transparent;border-radius:9px;transition:background .15s}nav svg,.account-link svg,.logout svg{width:19px;height:19px;flex-shrink:0}nav a:hover{background:#ffffff09}nav a.active{background:#ffffff0e;border-color:#ffffff0c;color:#fff;font-weight:600}.nav-dot{margin-left:auto;height:5px;width:5px;border-radius:50%;background:#d6c78c}.sidebar-note{margin:auto 12px 28px;padding:20px 14px;border:1px solid #ffffff0b;border-radius:10px;color:#9bb9a9;font-size:11px;line-height:1.8}.sidebar-note .connection-dot{display:block;margin-bottom:10px}.sidebar-note b{font-weight:400;color:#c3d3c9}.aside-bottom{margin-top:0;border-top:1px solid #ffffff12;padding:19px 12px 0}.account-link{display:flex;align-items:center;gap:10px;color:#b8cec1;font-size:12px}.logout{display:flex;align-items:center;justify-content:space-between;width:100%;padding:20px 0 0;font-size:12px;color:#b8cec1}.logout svg{width:16px;height:16px}
main{margin-left:248px;padding:0;max-width:none}.app-topbar{height:76px;padding:0 42px;display:flex;align-items:center;justify-content:space-between;background:#ffffffc9;border-bottom:1px solid var(--line)}.breadcrumb{display:flex;align-items:center;gap:13px;font-size:12px;color:#86948c}.breadcrumb span{color:#c7d0ca}.breadcrumb b{font-weight:500;color:#3c5348}.topbar-right{display:flex;align-items:center;gap:24px}.network-status{display:flex;align-items:center;gap:8px;font-size:11px;color:#778b7d}.connection-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#7ca98a;box-shadow:0 0 0 4px #8cb79812}.user-avatar{width:33px;height:33px;display:grid;place-items:center;border-radius:50%;background:#edf1e8;border:1px solid #dce6d7;color:#557255;font-size:12px;font-weight:600}.page-content{max-width:1600px;margin:auto;padding:36px 42px 24px}header{margin-bottom:30px;min-height:85px;align-items:center}.eyebrow{font-size:9px;font-weight:700;letter-spacing:2px;color:#7d917d;margin-bottom:11px}h1{font-size:32px;line-height:1.25;font-weight:600;letter-spacing:-1.2px;margin-bottom:10px}h2{font-size:16px;letter-spacing:-.25px;font-weight:600}h3{font-size:16px;letter-spacing:-.3px}.muted{font-size:13px;color:var(--muted)}
.panel{border:1px solid var(--line);border-radius:13px;padding:27px;background:#fff;box-shadow:0 3px 8px #143f3502;margin-bottom:24px}.panel-heading{margin-bottom:8px}.panel.table-wrap>.panel-heading{margin:0 0 24px}.form-panel{max-width:960px;padding:30px}.form-panel>h2{margin-bottom:25px}.form-grid{gap:22px 24px}.form-actions{padding-top:22px;border-top:1px solid #eff2ed;margin-top:28px}.bank-layout{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(360px,1.35fr);gap:24px;align-items:start}.bank-layout .panel{min-width:0;max-width:none}.bank-layout .form-grid{grid-template-columns:1fr}.bank-layout .helper{margin:0}.bank-layout .form-actions .primary{width:100%}.count-pill{background:#eff4ed;color:#527052;font-size:11px;font-weight:600;padding:5px 9px;border-radius:6px}
label,.supplier-picker>label{font-size:11px;letter-spacing:.1px;color:#566b5e;font-weight:600;gap:9px}input,select,textarea{min-height:45px;border:1px solid #dfe7df;border-radius:7px;padding:12px 13px;background:#fdfefb;font-size:12px;color:#30493c;transition:border-color .15s,box-shadow .15s}input::placeholder,textarea::placeholder{color:#a3afa5;font-size:12px}input:hover,select:hover,textarea:hover{border-color:#b9cabc}input:focus,select:focus,textarea:focus{outline:none;border-color:#7da58a;box-shadow:0 0 0 3px #789b7b15;background:#fff}input[readonly]{background:#f1f4ee;color:#758578}input[type=file]{font-size:11px;padding:7px;min-height:44px}input[type=file]::file-selector-button{border:0;background:#edf2e8;color:#476947;border-radius:5px;padding:8px 11px;font:inherit;margin-right:10px}label small{font-size:10px;line-height:1.6;color:#91a08f}select{padding-right:24px}.primary,.secondary{min-height:42px;border-radius:7px;padding:11px 17px;font-size:12px;font-weight:600;transition:background .15s,box-shadow .15s}.primary{background:#255d48;border:1px solid #255d48;box-shadow:0 3px 7px #1f594615}.primary:hover{background:#194d39;box-shadow:0 4px 10px #1f594628}.secondary{background:#fff;color:#526b57;border-color:#dfe6dc}.secondary:hover{background:#f3f7ee}.text-link{color:#3a7659;font-size:11px}.actions{gap:8px;flex-wrap:wrap}.actions>a,.actions button{display:inline-flex;align-items:center;justify-content:center;border:1px solid #e3e9df;border-radius:5px;padding:6px 10px;font-size:10px;color:#52704f;font-weight:500;background:#fff}.actions button:hover{background:#fff2ee;color:#a64b38;border-color:#ecd3c9}.actions>a:hover{background:#edf4e9}.actions form{margin:0}.actions .delete-button{color:#a66852}
.stats{gap:18px;margin-bottom:28px}.stats article{position:relative;padding:22px 24px;border-radius:12px;border-color:var(--line);box-shadow:0 2px 7px #153f3502;overflow:hidden}.stats article:before{content:'';width:30px;height:3px;display:block;background:#94ad90;border-radius:8px;margin-bottom:18px}.stats article:nth-child(2):before{background:#c99774}.stats article:nth-child(3):before{background:#bcaf73}.stats article:nth-child(4):before{background:#6e9c8c}.stats span{font-size:11px;color:#758172}.stats strong{font-size:27px;margin:14px 0 12px;font-weight:600;letter-spacing:-.8px;font-variant-numeric:tabular-nums}.stats small{font-size:10px;color:#99a293}.stats .danger{background:#fff9f5;border-color:#ecdcd1}.danger strong{color:#ad7354}.filters{gap:12px;padding:19px 0 24px;margin:0}.filters label{min-width:120px}.table-wrap{scrollbar-width:thin;scrollbar-color:#c7d5c7 transparent}table{font-variant-numeric:tabular-nums}th{padding:13px 14px;background:#f6f8f2;color:#81917d;font-size:9px;letter-spacing:1px;border-bottom:1px solid #e8eee3}th:first-child{border-radius:6px 0 0 6px}th:last-child{border-radius:0 6px 6px 0}td{padding:19px 14px;border-color:#edf1e9;color:#5f7362;font-size:11px;line-height:1.5}td b{color:#344e3b;font-weight:600;font-size:12px}tbody tr:hover{background:#fcfdf9}td small{font-size:10px;color:#8d9c8a;line-height:1.6}.money{font-size:12px;color:#34523c}.badge{font-size:9px;padding:5px 9px;font-weight:500}.badge:before{content:'';display:inline-block;width:4px;height:4px;border-radius:50%;background:currentColor;margin-right:6px;vertical-align:middle}.badge.paid{background:#eaf4e6;color:#5d8252}.badge.overdue{background:#fff0e7;color:#b47956}.table-footer{font-size:10px;padding:18px 4px 0}.empty{padding:50px 12px;color:#95a18f}.empty p{font-size:12px;line-height:1.9;margin:9px 0 18px}.empty h3{font-size:15px;font-weight:500;color:#627958;margin:18px 0 5px}.empty-icon{width:44px;height:44px;line-height:44px;font-size:22px;background:#f1f5e9;color:#97aa82;border:1px solid #e4ecda}.empty:hover{background:#fff}
.workflow{gap:16px}.step{background:#f1f4ec;border-color:#e5ebdf;border-radius:9px;font-size:12px;line-height:1.5}.step b{display:inline-grid;place-items:center;background:#ffffff90;border:1px solid #dfe8d8;width:28px;height:28px;border-radius:50%;font-size:10px;margin-right:8px}.step small{font-size:10px}.step.done{background:#ebf3e6;color:#4f7550;border-color:#dce9d5}.detail-grid .eyebrow{font-size:8px;letter-spacing:1.4px}.detail-grid h2{font-size:15px}.detail-grid .muted{font-size:11px;overflow-wrap:anywhere}.notice{font-size:11px;line-height:1.8;border:1px solid #eee4c9;background:#fdf9ec;color:#9b8651}.flash{border:1px solid #dce9d4;border-radius:9px;font-size:12px;line-height:1.7;background:#eff6e8}.flash.error{border-color:#f0dacf;background:#fff4ed;color:#a67355}#supplier-results{top:73px;border-radius:8px;border-color:#d5e0cc;box-shadow:0 12px 30px #153f3512}#supplier-results button{padding:13px;font-size:12px}.supplier-picker>small{font-size:10px}#manual-installments{background:#f8faf4;border:1px solid #e3ebdb;border-radius:9px;padding:22px}.manual-row button{font-size:10px;color:#aa7f62}.helper{font-size:12px}details{padding:17px;background:#fafcf6;border:1px solid #e6ecdf;border-radius:8px}summary{font-size:12px;margin:0}details[open]>summary{margin-bottom:22px}footer{font-size:10px;margin-top:34px;padding:20px 0 0;border-top:1px solid #e6ebe1;color:#9aa790}.footer-divider{color:#c1cbb8;margin:0 9px}.login-main{padding:40px;min-height:100vh;margin:0;background:radial-gradient(ellipse at 25% 30%,#dde8d4,transparent 65%),#f3f5ec}.login-card{border-radius:16px;border-color:#dfe7d5;box-shadow:0 24px 80px #234e3210}.login-main footer{border:0}.login-card h1{font-size:38px}.login-card label{font-size:12px}svg{vertical-align:middle}
@media(min-width:1600px){.page-content{padding:42px 56px 28px}.app-topbar{padding:0 56px}.stats strong{font-size:32px}}
@media(max-width:1200px){aside{width:216px;padding:28px 14px}.brand span{font-size:23px}.brand i{width:41px;height:46px;font-size:43px}main{margin-left:216px}.page-content{padding:28px}.app-topbar{padding:0 28px}.bank-layout{grid-template-columns:1fr 1.2fr;gap:18px}.stats{grid-template-columns:repeat(2,1fr)}.panel{padding:22px}.form-panel{padding:26px}}
@media(max-width:960px){.bank-layout{grid-template-columns:1fr}.bank-layout .form-grid{grid-template-columns:1fr 2fr}.bank-layout .form-actions .primary{width:auto}.sidebar-note{display:none}.aside-bottom{margin-top:auto}.detail-grid{grid-template-columns:1fr 1fr}.detail-grid>div:first-child{grid-column:1/-1}}
@media(max-width:700px){aside{position:static;width:auto;padding:20px 18px 0;background:#143f35}.brand{padding:0;gap:10px}.brand i{width:35px;height:39px;font-size:37px;border-radius:11px 11px 3px 11px}.brand span{font-size:23px}.brand small{font-size:7px;letter-spacing:3px;margin-top:5px}.nav-label,.aside-bottom,.sidebar-note{display:none}nav{display:flex;gap:8px;margin-top:20px;overflow-x:auto;padding:0 0 14px;scrollbar-width:none}nav a{flex-shrink:0;padding:10px 12px;gap:8px;border-radius:6px;font-size:11px}nav a svg{width:16px;height:16px}.nav-dot{display:none}main{margin:0}.app-topbar{height:56px;padding:0 20px}.breadcrumb{font-size:10px;gap:10px}.topbar-right{gap:12px}.network-status{font-size:9px}.user-avatar{height:27px;width:27px;font-size:10px}.page-content{padding:26px 18px 20px}header{min-height:75px;margin-bottom:22px;align-items:center;gap:12px}h1{font-size:27px;letter-spacing:-.8px}.eyebrow{font-size:8px;letter-spacing:1.5px}.muted{font-size:12px}.panel,.form-panel{padding:21px 18px;border-radius:10px}.form-grid{grid-template-columns:1fr;gap:20px}.bank-layout .form-grid{grid-template-columns:1fr}.stats{gap:12px}.stats article{padding:18px 14px}.stats strong{font-size:23px;letter-spacing:-.8px;white-space:normal}.stats article:before{margin-bottom:15px}.stats span{font-size:10px}.stats small{font-size:9px;line-height:1.6}.stats .danger{background:#fff8f3}.filters{padding-top:12px;gap:12px}.filters label{flex-basis:40%;min-width:100px}.filters label:first-child{flex-basis:100%}.filters input,.filters select{min-height:40px;padding:10px}.workflow{grid-template-columns:1fr;gap:9px}.step{padding:14px}.step small{margin:4px 0 0 40px}.detail-grid{grid-template-columns:1fr}.detail-grid>div:first-child{grid-column:auto}.primary,.secondary{font-size:11px;padding:10px 13px;min-height:40px}.form-actions{gap:10px}.form-actions>.primary{flex:1}.table-footer{gap:12px;line-height:1.7}.panel-heading{gap:12px}.panel-heading h2{font-size:15px}th{font-size:8px;padding:12px}td{padding:15px 12px}td b{font-size:11px}.empty{padding:36px 10px}.empty h3{font-size:14px}.bank-layout .form-actions .primary{width:100%}footer{gap:12px;font-size:9px;line-height:1.7}.login-main{padding:24px}.login-card{padding:30px}.login-card h1{font-size:35px}.cnpj-search{margin-top:20px}.cnpj-search button{font-size:11px}#manual-installments{padding:17px}.page-content>header h1{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
