@import url("https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;600;700&family=IBM+Plex+Sans:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500;600&display=swap");:root{--paper:#f4f6f9;--paper-line:#d6dee6;--paper-line-soft:#e4eaf0;--ink:#032e58;--ink-soft:#08192b;--paid:#157f5d;--overdue:#c23031;--soon:#c98a2c;--disputa:#c23031;--card-bg:#fff}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--paper);color:var(--ink-soft);font-family:IBM Plex Sans,Arial,sans-serif}.wrap{max-width:880px;margin:0 auto;padding:36px 20px 80px}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--paper)}.login-card{background:var(--card-bg);border:1px solid var(--paper-line);box-shadow:0 1px 3px rgba(3,46,88,.08);padding:32px;width:320px}.login-card h1{font-family:Space Grotesk,sans-serif;font-weight:700;color:var(--ink);font-size:24px;margin:0 0 2px}.login-card .sub{font-size:11px;margin-bottom:18px}.login-card .sub,.login-card label{font-family:IBM Plex Mono,monospace;color:var(--ink-soft)}.login-card label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:1px;margin:12px 0 4px}.login-card input{width:100%;font-family:IBM Plex Sans,sans-serif;font-size:14px;background:var(--paper);border:1px solid var(--paper-line);border-bottom:2px solid var(--ink);padding:8px}.login-card button{width:100%;margin-top:18px;font-family:IBM Plex Mono,monospace;background:var(--ink);color:var(--paper);border:none;padding:10px;cursor:pointer}.login-card .error{color:var(--overdue);font-size:12px;margin-top:10px}.masthead{align-items:flex-end;justify-content:space-between;border-bottom:3px double var(--ink);padding-bottom:14px;margin-bottom:8px;flex-wrap:wrap}.brand,.masthead{display:flex;gap:14px}.brand{align-items:center}.brand-logo{height:44px;width:auto;display:block}.masthead h1{font-family:Space Grotesk,sans-serif;font-weight:700;font-size:32px;color:var(--ink);margin:0}.masthead .sub{font-family:IBM Plex Mono,monospace;font-size:11px;color:var(--ink-soft)}.book-switch{display:flex;margin-top:18px;border:1px solid var(--ink);position:relative;overflow:hidden}.book-tab{flex:1 1;font-family:IBM Plex Mono,monospace;font-size:13px;text-transform:uppercase;letter-spacing:.5px;background:var(--card-bg);border:none;color:var(--ink-soft);padding:11px 18px;cursor:pointer}.book-tab.active{background:var(--ink);color:var(--paper)}.book-switch:after{content:"";position:absolute;left:50%;top:-6px;bottom:-6px;width:2px;background:var(--overdue);opacity:.55;transform:skewX(-16deg);pointer-events:none}.tipo-switch{display:flex;gap:8px;margin-bottom:14px}.tipo-tab{font-family:IBM Plex Mono,monospace;font-size:11.5px;text-transform:uppercase;background:var(--paper);border:1px solid var(--ink);color:var(--ink);padding:7px 12px;cursor:pointer}.tipo-tab.active{background:var(--ink);color:var(--paper)}.stats{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1px;gap:1px;background:var(--paper-line);border:1px solid var(--paper-line);margin:22px 0 28px}.stat{background:var(--card-bg);padding:14px 16px}.stat .label{font-size:10.5px;text-transform:uppercase;letter-spacing:1.2px;color:var(--ink-soft);display:block;margin-bottom:6px}.stat .label,.stat .value{font-family:IBM Plex Mono,monospace}.stat .value{font-size:22px;font-weight:600}.stat.due .value{color:var(--overdue)}.stat.paid .value{color:var(--paid)}.stat.count .value{color:var(--soon)}.toolbar{align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.tabs,.toolbar{display:flex;flex-wrap:wrap}.tabs{gap:2px}.tab{font-family:IBM Plex Mono,monospace;font-size:11.5px;text-transform:uppercase;background:transparent;border:1px solid var(--ink);color:var(--ink);padding:7px 12px;cursor:pointer}.add-btn,.tab.active{background:var(--ink);color:var(--paper)}.add-btn{font-family:IBM Plex Mono,monospace;font-size:12px;border:1px solid var(--ink);padding:8px 14px;cursor:pointer}.form-card{background:var(--card-bg);border:1px solid var(--paper-line);box-shadow:0 1px 3px rgba(3,46,88,.08);padding:18px;margin-bottom:24px}.form-card h3{font-family:Space Grotesk,sans-serif;margin:0 0 14px;font-weight:600;color:var(--ink);font-size:18px}.attach-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border:1px dashed var(--paper-line);background:var(--paper);padding:10px 12px;margin-bottom:14px}.btn-secondary{font-size:11.5px;background:var(--card-bg);border:1px solid var(--ink);padding:7px 12px;cursor:pointer}.attach-status,.btn-secondary{font-family:IBM Plex Mono,monospace}.attach-status{font-size:11px;color:var(--ink-soft)}.form-grid{display:grid;grid-template-columns:2fr 1.3fr 1fr 1fr;grid-gap:10px;gap:10px}.form-grid .full{grid-column:1/-1}label{display:block;font-family:IBM Plex Mono,monospace;font-size:10px;text-transform:uppercase;letter-spacing:1px;margin-bottom:4px}input,label,select{color:var(--ink-soft)}input,select{width:100%;font-family:IBM Plex Sans,sans-serif;font-size:14px;background:var(--paper);border:1px solid var(--paper-line);border-bottom:2px solid var(--ink);padding:7px 8px}.form-actions{display:flex;gap:10px;margin-top:14px;align-items:center}.btn-primary{background:var(--ink);color:var(--paper);padding:9px 16px}.btn-primary,.btn-text{font-family:IBM Plex Mono,monospace;font-size:12px;border:none;cursor:pointer}.btn-text{background:none;color:var(--ink-soft);text-decoration:underline}.ledger{border-top:1px solid var(--ink)}.row{position:relative;display:grid;grid-template-columns:34px 1fr 110px 130px 52px 34px;align-items:center;grid-gap:12px;gap:12px;padding:12px 4px;border-bottom:1px solid var(--paper-line);cursor:pointer}.row:hover{background:var(--card-bg)}.row.is-paid{opacity:.6}.row.is-cancelled{opacity:.5}.row.is-cancelled .desc-block .desc{text-decoration:line-through}.row.is-overdue .due-date{color:var(--overdue);font-weight:600}.row.is-soon .due-date{color:var(--soon);font-weight:600}.stamp-btn{width:30px;height:30px;border:1.5px solid var(--ink);border-radius:50%;background:transparent;cursor:pointer;color:var(--ink)}.row.is-paid .stamp-btn{background:var(--paid);border-color:var(--paid);color:var(--paper)}.desc-block .desc{font-size:15.5px;font-weight:500;color:var(--ink)}.desc-block .meta{font-family:IBM Plex Mono,monospace;font-size:11px;color:var(--ink-soft);margin-top:2px}.row.is-paid .desc-block .desc{text-decoration:line-through}.status-badge{display:inline-block;margin-left:8px;font-size:10px;text-transform:uppercase;letter-spacing:.5px;border:1px solid var(--ink-soft);color:var(--ink-soft);padding:1px 5px}.status-badge.badge-aguarda{border-color:var(--soon);color:var(--soon)}.status-badge.badge-disputa{border-color:var(--disputa);color:var(--disputa)}.status-badge.badge-cancelada{border-color:var(--ink-soft);color:var(--ink-soft)}.due-date{font-size:12.5px}.amount,.due-date{font-family:IBM Plex Mono,monospace}.amount{font-size:15px;font-weight:600;text-align:right}.icons-cell{display:flex;align-items:center;justify-content:center;gap:6px}.clip-btn{background:none;border:none;cursor:pointer;color:var(--ink-soft);font-size:14px}.clip-btn.add-proof{font-size:11px;border:1px dashed var(--paper-line);padding:2px 4px;cursor:pointer}.del-btn{background:none;border:none;cursor:pointer;font-size:16px}.del-btn,.empty{color:var(--ink-soft)}.empty{position:relative;text-align:center;padding:70px 20px;font-style:italic;overflow:hidden}.empty:before{content:"";position:absolute;top:50%;left:50%;width:120px;height:120px;transform:translate(-50%,-50%);z-index:-1;pointer-events:none;background-image:linear-gradient(var(--ink) 0 0),linear-gradient(var(--ink) 0 0),linear-gradient(var(--ink) 0 0),linear-gradient(var(--ink) 0 0);background-size:44px 44px;background-position:0 0,76px 0,0 76px,76px 76px;background-repeat:no-repeat;opacity:.06}.modal-overlay{position:fixed;inset:0;background:rgba(3,46,88,.5);display:flex;align-items:flex-start;justify-content:center;padding:40px 16px;overflow-y:auto;z-index:50;cursor:default}.modal-card{background:var(--card-bg);border:1px solid var(--paper-line);box-shadow:0 8px 24px rgba(3,46,88,.18);width:100%;max-width:640px;padding:22px;cursor:default}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:12px}.modal-header h3{font-family:Space Grotesk,sans-serif;margin:0;font-weight:600;color:var(--ink);font-size:18px}.modal-docs{margin-top:16px;display:flex;flex-direction:column;gap:8px}.doc-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border:1px dashed var(--paper-line);background:var(--paper);padding:8px 12px}.doc-label{font-family:IBM Plex Mono,monospace;font-size:10px;text-transform:uppercase;letter-spacing:1px;min-width:170px}.doc-label,.doc-name{color:var(--ink-soft)}.doc-name{font-size:12.5px;flex:1 1}.file-label{cursor:pointer}.modal-actions{justify-content:flex-start}.modal-delete{margin-left:auto;font-family:IBM Plex Mono,monospace;font-size:12px;color:var(--overdue)}@media (max-width:600px){.form-grid{grid-template-columns:1fr 1fr}.row{grid-template-columns:30px 1fr 40px 30px}.due-date{display:none}.amount{grid-column:1/-1;text-align:left;padding-left:42px}.modal-overlay{padding:0}.modal-card{max-width:none;min-height:100vh}}