:root{--ink:#302a24;--muted:#796f63;--cream:#f7f3ec;--paper:#fffefa;--orange:#a74d25;--line:#e6ded1;--green:#397155}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:15px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif}aside{position:fixed;inset:0 auto 0 0;width:248px;background:#292f28;color:#f5eddf;padding:32px 23px;display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;color:inherit;text-decoration:none;font-size:18px;font-weight:750}.brand small{display:block;font-size:12px;font-weight:400;color:#c4c8b8;margin-top:3px}.brand-mark{display:grid;place-items:center;width:47px;height:47px;border-radius:14px;background:#e9c594;color:#373324;font-family:Georgia,serif;letter-spacing:-1px;font-size:21px}.logo{width:52px;height:52px;object-fit:contain;border-radius:10px;background:white}nav{display:grid;gap:9px;margin:44px 0 26px}nav a{color:#d1d7c8;padding:13px;border-radius:9px;text-decoration:none;font-weight:550}nav a.active,nav a:hover{background:#444d3d;color:#fff}.aside-note{font-size:12px;line-height:1.8;color:#aeb5a4;margin-top:auto;padding-top:30px}main{margin-left:248px;padding:40px 44px;max-width:1550px}header{margin-bottom:28px}.eyebrow{font-size:10px;font-weight:800;color:var(--orange);letter-spacing:2px}h1{font-family:Georgia,"Times New Roman",serif;font-weight:500;font-size:36px;line-height:1.2;margin:8px 0 0}h2{font-size:18px;margin:0 0 18px}h3{font-size:18px}p{white-space:pre-wrap}a{color:var(--orange);text-underline-offset:4px}button,.button{background:var(--orange);color:white;border:1px solid var(--orange);border-radius:8px;padding:11px 18px;font:600 14px system-ui;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;min-height:43px}button:hover,.button:hover{filter:brightness(.93)}.secondary{background:transparent;color:var(--orange);border-color:#d3b9a5}.quiet{background:transparent;border-color:#626d58;color:#e7eddd}input,select,textarea{font:inherit;border:1px solid #d8cfc1;border-radius:7px;padding:11px 12px;background:#fffefa;width:100%;color:var(--ink);min-height:44px}input:focus,select:focus,textarea:focus{outline:2px solid #c57c49;outline-offset:2px}label{display:block;font-size:13px;font-weight:600;margin:14px 0;color:#51483f}label input,label select,label textarea{display:block;margin-top:7px;font-weight:400}.check{display:flex;align-items:center;gap:10px;line-height:1.5}.check input{width:18px;min-height:18px;margin:0;flex-shrink:0}.card{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:25px;margin:22px 0;box-shadow:0 2px 2px #47331803}.stats{display:grid;grid-template-columns:2fr 1fr 1fr;gap:18px;margin-bottom:28px}.stats>div,.stats>a{border:1px solid var(--line);background:var(--paper);border-radius:12px;padding:22px;text-decoration:none;color:var(--ink)}.stats>div:first-child{background:#e8ebdf;border-color:#dce2cf}.stats span{color:var(--muted);font-size:13px;display:block}.stats strong{font:500 33px Georgia,serif;margin-top:7px;display:block}.toolbar,.actions,.section-heading{display:flex;align-items:center;gap:15px;justify-content:space-between;flex-wrap:wrap}.search{display:flex;gap:8px;flex:1;max-width:650px}.search input{min-width:150px}.section-heading h2{margin:0}.section-heading{margin-bottom:20px}.section-heading span{font-size:12px;color:var(--muted)}table{width:100%;border-collapse:collapse;text-align:left}th{font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);font-weight:650;padding:12px 14px;background:#f6f2ea;white-space:nowrap}td{padding:17px 14px;border-bottom:1px solid #eee7dc;vertical-align:middle}tr:last-child td{border-bottom:0}td small{display:block;color:var(--muted);font-size:12px;margin-top:5px}.amount{white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:650}.client-name{font-weight:650;color:var(--ink);text-decoration:none}.client-name:hover{text-decoration:underline}.empty{text-align:center;padding:38px 15px;color:var(--muted)}.empty h3{color:var(--ink);font-family:Georgia,serif;font-weight:500;font-size:24px}.profile{display:flex;justify-content:space-between;gap:24px}.profile>div:last-child{text-align:right}.balance{display:block;font:38px Georgia,serif;margin:8px 0 12px}.profile p{color:var(--muted);max-width:600px;overflow-wrap:anywhere}.profile a{font-size:12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}.calculation{border-radius:6px;padding:12px;background:#eef0e7;color:#42543b;font-weight:700}.help{font-size:12px;color:var(--muted);line-height:1.6}.note{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 0;border-bottom:1px solid var(--line)}.note:last-child{border:0}.note p{margin:7px 0;overflow-wrap:anywhere}.note small{font-size:11px;color:var(--muted)}.note.done{opacity:.6}.note form{flex-shrink:0}.badge{border-radius:5px;font-size:11px;font-weight:650;padding:5px 9px}.badge.fiado{background:#f7ead9;color:#8e571d}.badge.pagamento{background:#e4efe5;color:#33703b}.notice{background:#f5ebd6;color:#705124;border-radius:8px;padding:15px;margin:15px 0;font-size:13px}.error{padding:18px;background:#fce4df;color:#8d261d;border:1px solid #e7bbb0;border-radius:8px;margin-bottom:20px}.login{max-width:520px;padding:35px}.login p{color:var(--muted)}.login button{width:100%;margin-top:12px}.table-scroll{overflow-x:auto}@media(max-width:1000px){aside{width:205px;padding:25px 16px}main{margin-left:205px;padding:28px 24px}.stats{grid-template-columns:1fr 1fr}.stats>div:first-child{grid-column:span 2}.profile{flex-direction:column}.profile>div:last-child{text-align:left}}@media(max-width:680px){aside{position:static;width:auto;padding:18px}.brand{font-size:16px}nav{display:flex;overflow:auto;margin:20px 0 12px;gap:5px}nav a{font-size:12px;padding:10px;white-space:nowrap}.aside-note{display:none}aside>form{position:absolute;right:16px;top:20px}aside>form button{font-size:11px;padding:6px 9px;min-height:30px}main{margin:0;padding:25px 16px}h1{font-size:29px}.card{padding:19px}.form-grid{grid-template-columns:1fr}.stats{gap:10px}.stats>div,.stats>a{padding:16px}.stats strong{font-size:27px}.toolbar>.button{width:100%}.search{width:100%;max-width:none}.note{align-items:flex-start}.note button{font-size:12px;padding:8px}.profile h2{font-size:23px}}

.reversed .amount{text-decoration:line-through;color:#8c8174}details summary{cursor:pointer;color:var(--orange);font-size:12px}details form{min-width:220px}details input{min-width:180px}
.quick-calc{display:flex;gap:24px;align-items:center;flex-wrap:wrap}.quick-value{flex:1;min-width:220px}.quick-value label{margin:0 0 8px}.money-input{display:flex;align-items:center;gap:12px;background:#f7f3e9;border:1px solid #d8cfc1;border-radius:10px;padding:12px 18px}.money-input span{font-size:24px;color:#8d6142}.money-input input{font-size:38px;font-weight:650;text-align:right;background:transparent;border:0;min-width:130px;padding:0;max-width:390px;font-variant-numeric:tabular-nums}.quick-value>span{display:block;color:#796f63;font-size:12px;margin-top:7px}.quick-buttons{display:flex;gap:10px;flex-wrap:wrap}.quick-summary{display:flex;gap:28px;flex-wrap:wrap;margin-top:17px;padding:17px;background:#e8ebdf;border-radius:10px}.quick-summary span{font-size:12px;color:#536044;flex:1;min-width:180px}.quick-summary strong{display:block;font-size:24px;color:#304329;margin-top:3px}.pending-line{background:#fff5dc}.quiet-remove{background:transparent;border-color:#d8cfc1;color:#796f63;padding:4px 10px;min-height:30px;font-size:12px}[hidden]{display:none!important}
.row-actions{display:flex;align-items:center;gap:6px;flex-wrap:nowrap}.row-action{width:34px;height:34px;min-height:34px;padding:7px;border:1px solid #d8cfc1;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;background:#fffefa;color:#655749;text-decoration:none;flex-shrink:0}.row-action svg{width:19px;height:19px}.row-action:hover,.row-action:focus-visible{background:#f6ead9;border-color:#a74d25;color:#91421e;outline:2px solid #e9c594;outline-offset:2px}.row-action.add{color:#397155}.row-action.pay{color:#a74d25}.row-action.whatsapp{color:#27854c}.row-action:disabled{opacity:.35;cursor:not-allowed;filter:none}#quick-dialog{width:min(490px,calc(100vw - 28px));max-height:90vh;border:1px solid #d8cfc1;border-radius:16px;padding:24px;background:#fffefa;color:#302a24;box-shadow:0 22px 80px #181f2255}#quick-dialog::backdrop{background:#17201870;backdrop-filter:blur(2px)}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:14px}.dialog-top h2{margin:0;font-size:21px}.dialog-close{width:34px;height:34px;min-height:34px;padding:0;border:0;background:#f1e9de;color:#66584c;font-size:24px}#quick-dialog-client{font-weight:700;margin:13px 0 3px}#dialog-value{font-size:32px;font-weight:650;text-align:right;font-variant-numeric:tabular-nums;margin-top:7px}#dialog-save,#dialog-open-whatsapp{width:100%;margin-top:14px}#dialog-admin{margin:12px 0}#dialog-loading{color:#796f63}.quick-toast{position:fixed;bottom:22px;right:24px;z-index:50;max-width:min(430px,90vw);padding:15px 21px;border-radius:10px;background:#304d38;color:white;box-shadow:0 5px 30px #18251533}.table-scroll td:last-child{min-width:212px}@media(max-width:680px){.row-action{width:40px;height:40px;min-height:40px}.table-scroll td:last-child{min-width:243px}#quick-dialog{padding:19px}}

.row-action.whatsapp,.row-action.reminder{background:#09a83d;border-color:#09a83d;color:#fff}.row-action.whatsapp:hover,.row-action.reminder:hover,.row-action.whatsapp:focus-visible,.row-action.reminder:focus-visible{background:#078c32;color:#fff;border-color:#078c32}
.customer-stats{grid-template-columns:1.5fr 1.5fr 1fr 1fr}.customer-stats strong{font-size:clamp(20px,2vw,30px)}.print-controls{display:flex;align-items:center;gap:18px;margin-bottom:24px}.print-sheet{background:#fff;padding:26px;border:1px solid #e6ded1;border-radius:10px}.print-heading{display:flex;align-items:center;gap:20px;border-bottom:2px solid #6b4e30;padding-bottom:18px;margin-bottom:22px}.print-heading img{width:88px;height:68px;object-fit:contain}.print-heading h2{margin:0;font-size:23px}.print-heading p{margin:5px 0;font-size:13px}.print-sheet table{font-size:12px}.print-sheet td{overflow-wrap:anywhere;vertical-align:top}.print-note{margin:15px 0;padding:10px;border-bottom:1px solid #e6ded1}.print-note p{margin:5px 0;white-space:pre-wrap}.table-scroll td:last-child{min-width:250px}@media(max-width:900px){.customer-stats{grid-template-columns:1fr 1fr}}@media(max-width:680px){.customer-stats>div:first-child{grid-column:span 1}.table-scroll td:last-child{min-width:280px}}@media print{@page{size:A4;margin:13mm}body{background:#fff;font-size:11px;color:#000}aside,main>header,.print-controls,.quick-toast{display:none!important}main{margin:0;max-width:none;padding:0}.print-sheet{border:0;border-radius:0;padding:0}.print-sheet table{font-size:10px}.print-sheet th,.print-sheet td{padding:7px 5px}.print-sheet thead{display:table-header-group}.print-sheet tr,.print-note{break-inside:avoid}.print-sheet th{color:#222;background:#eee}.print-sheet a{color:#000;text-decoration:none}.print-heading{margin-top:0}.print-heading img{width:75px;height:55px}}

.stock-move{min-width:260px;max-width:550px}.stock-move label{margin-bottom:8px}.stock-move .actions{flex-wrap:wrap}#stock-list td{vertical-align:top}

/* Counter privacy and compact workflows */
.private-debt{font-size:0!important;position:relative;min-height:36px}.private-debt::after{content:"••••••";font-size:28px;letter-spacing:3px}
.seller-pin{-webkit-text-security:disc;font-family:monospace;letter-spacing:3px}
.sale-client-choice{display:block;width:100%;text-align:left;margin:5px 0}.new-sale-card{border-left:4px solid var(--accent,#987a3d)}
.entry-details p{margin:8px 0;white-space:pre-wrap}.stock-actions summary{cursor:pointer;white-space:nowrap;padding:8px;border:1px solid #ddd;border-radius:8px}.stock-actions[open]{min-width:230px}
.billing-schedule{border:1px solid #ddd;border-radius:12px;padding:16px;margin:16px 0}.billing-schedule [hidden]{display:none}
[hidden]{display:none!important}

#toggle-debt{display:inline-flex;align-items:center;justify-content:center;width:38px;height:34px;min-height:34px;padding:6px;margin-left:8px;background:#fffefa;color:#51483f;border-color:#b7ad9b}#toggle-debt svg{width:24px;height:24px}
#sale-picker{width:min(520px,92vw);max-height:80vh;overflow:auto;padding:24px;border:0;border-radius:16px}#sale-picker::backdrop{background:#0006}
.rental-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;margin-bottom:22px;border:1px solid;border-radius:12px}.rental-banner.green{background:#edf8f1;border-color:#82b995;color:#225c37}.rental-banner.yellow{background:#fff8dc;border-color:#ddbc4a;color:#735900}.rental-banner.red{background:#fff0ed;border-color:#d98073;color:#922d21}@media(max-width:650px){.rental-banner{flex-direction:column;align-items:flex-start}}

.portal-page{background:#f7f3ec}.portal-page main{margin:0 auto;max-width:650px;padding:32px 20px}.portal-page h1{font-size:32px}.portal-page .card{padding:24px}.portal-balance{display:block;font:36px Georgia,serif;margin:8px 0 24px}.payment-options{display:flex;gap:12px;border:0;padding:0;margin-top:24px;flex-wrap:wrap}.payment-options label{flex:1;min-width:180px;padding:14px;border:1px solid #d8cfc1;border-radius:10px;display:flex;align-items:center;gap:8px}.payment-options input{width:18px;min-height:18px;margin:0}.portal-page .button,.portal-page button{margin:8px 8px 8px 0}.portal-page input[readonly]{font-size:13px}

/* Public payment branding and clearly visible notification actions. */
.portal-page .eyebrow{display:block;font-size:clamp(25px,5vw,36px);font-weight:800;letter-spacing:.025em;line-height:1.2;color:#74351d;margin:0 0 14px;overflow-wrap:anywhere}
form[action$="/notifications/read"] button,form[action$="/notifications/restore"] button{background:#354b39;color:#fff;border:2px solid #354b39;font-weight:700;opacity:1;min-height:44px;padding:11px 18px}
form[action$="/notifications/delete"] button,form[action$="/note/delete"] button,form[action$="/list/hide"] button{background:#852d23;color:#fff;border:2px solid #852d23;font-weight:700;opacity:1;min-height:44px;padding:11px 18px}
form[action$="/notifications/read"] button:hover,form[action$="/notifications/restore"] button:hover{background:#263b2a;color:#fff}
form[action$="/notifications/delete"] button:hover,form[action$="/note/delete"] button:hover,form[action$="/list/hide"] button:hover{background:#682017;color:#fff}
form[action$="/notifications/read"] button:focus-visible,form[action$="/notifications/delete"] button:focus-visible,form[action$="/notifications/restore"] button:focus-visible{outline:3px solid #302a24;outline-offset:3px}
