@font-face{font-family:Inter;src:url('Inter-400.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Inter;src:url('Inter-500.ttf') format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:Inter;src:url('Inter-600.ttf') format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:Inter;src:url('Inter-700.ttf') format('truetype');font-weight:700;font-display:swap}
:root{--ink:#120f04;--gold:#bbae88;--brown:#766548;--sand:#e1d7c5;--stone:#bab2a2;--paper:#f7f7f5;--muted:#706e66;--line:#e8e7e1;--sidebar:244px;color-scheme:light;font-family:Inter,Arial,sans-serif;font-size:14px;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}a{color:var(--brown)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--gold);outline-offset:3px}button{color:inherit}button svg{flex:none}.icon{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}h1,h2,h3,p{margin:0}h1{font-size:1.95rem;font-weight:600;letter-spacing:-1px}h2{font-size:1.1rem;font-weight:600}h3{font-size:1rem;font-weight:600}small{font-size:.86rem}button{border:0;background:none}hr{border:0;border-top:1px solid var(--line);margin:24px 0}.muted{color:var(--muted)}.eyebrow{font-size:.8rem;letter-spacing:1.6px;text-transform:uppercase;font-weight:600}.loading{padding:60px;text-align:center}.sidebar{overflow-y:auto;width:var(--sidebar);position:fixed;inset:0 auto 0 0;background:#080807;color:#fff;display:flex;flex-direction:column;padding:20px 16px;z-index:30}.brand{display:block;margin:0 10px 26px}.brand img{width:190px;max-width:100%;display:block}.workspace-label{font-size:.76rem;letter-spacing:1.7px;color:var(--stone);margin:0 14px 12px}.project-select{width:100%;color:var(--sand);background:#1b1a16;border:1px solid #3d392f;border-radius:7px;padding:13px 10px;margin-bottom:26px}.nav{display:flex;flex-direction:column;gap:5px}.nav button{display:flex;align-items:center;gap:13px;color:#c5c3bb;padding:13px 14px;border-radius:6px;text-align:left;font-size:1rem}.nav button.active{background:var(--gold);color:var(--ink);font-weight:600}.nav button:hover:not(.active){background:#22211c;color:white}.nav-divider{height:1px;background:#302d25;margin:20px 12px}.nav-caption{font-size:.76rem;letter-spacing:1.7px;color:#8d897c;margin:0 14px 10px}.nav-count{margin-left:auto;padding:2px 6px;background:#3a3120;color:var(--sand);border-radius:4px;font-size:.85rem}.sidebar-bottom{margin-top:auto;border-top:1px solid #302d25;padding:20px 12px 0;color:#a7a294;line-height:1.8;font-size:.85rem}.sidebar-bottom .icon{width:14px;margin-right:7px}.shell{margin-left:var(--sidebar);min-height:100vh}.topbar{height:78px;border-bottom:1px solid var(--line);background:white;display:flex;align-items:center;justify-content:space-between;padding:0 34px;gap:20px}.breadcrumb{color:var(--muted);display:flex;align-items:center;gap:14px}.breadcrumb strong{color:var(--ink);font-weight:500}.top-actions{display:flex;align-items:center;gap:20px}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid transparent;border-radius:6px}.icon-button:hover{background:var(--paper);border-color:var(--line)}.account{display:flex;align-items:center;gap:10px}.avatar{width:37px;height:37px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--sand);color:var(--brown);font-size:.85rem;font-weight:600;flex:none}.account small{display:block;color:var(--muted);margin-top:3px}.content{padding:30px 34px 38px;max-width:1800px;margin:auto}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:27px}.page-heading .eyebrow{color:var(--brown);margin-bottom:9px}.page-heading p{margin-top:9px;color:var(--muted);line-height:1.6}.actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:11px 15px;border:1px solid #d8d6cd;border-radius:5px;background:white;min-height:42px;white-space:nowrap;font-weight:500;text-decoration:none}.btn:hover{background:#f4f2ec}.btn.primary{background:var(--ink);color:white;border-color:var(--ink)}.btn.primary:hover{background:#3b3425}.btn.gold{background:var(--gold);color:var(--ink);border-color:var(--gold)}.btn.danger{color:#983934;border-color:#d8b1ad}.btn.small{padding:7px 11px;min-height:34px;font-size:.92rem}.text-button{padding:0;color:var(--brown);font-weight:600;display:inline-flex;gap:8px;align-items:center}.demo-banner{display:flex;justify-content:space-between;align-items:center;gap:15px;background:#eee9dc;color:#554933;padding:9px 34px;border-bottom:1px solid #ddd3be;font-size:.9rem}.demo-banner select{padding:4px 9px;background:white;border:1px solid #c7bda4;border-radius:4px}.stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin-bottom:22px}.stat{background:white;border:1px solid var(--line);border-radius:8px;padding:19px 18px;text-align:left;position:relative;transition:transform .15s,border-color .15s}.stat:hover{border-color:var(--gold);transform:translateY(-2px)}.stat.active{border-color:var(--brown);box-shadow:inset 0 -2px var(--brown)}.stat-label{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.93rem}.stat-value{font-size:2.15rem;line-height:1.25;font-weight:600;letter-spacing:-1px;margin:13px 0 6px}.stat-caption{color:var(--muted);font-size:.85rem}.stat.total{background:var(--ink);color:white;border-color:var(--ink)}.stat.total .stat-label,.stat.total .stat-caption{color:#cec7b6}.status-dot{width:7px;height:7px;border-radius:50%;display:inline-block;background:var(--gold)}.status-dot.disponivel{background:#7d8776}.status-dot.reservada{background:#b4985c}.status-dot.cpcv{background:#766548}.status-dot.escriturada{background:#252920}.status-dot.cancelada{background:#b6a59c}.dashboard-lower{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:18px;margin-top:22px}.card{background:white;border:1px solid var(--line);border-radius:8px;overflow:hidden}.card-head{padding:22px 22px 18px;display:flex;align-items:center;justify-content:space-between;gap:10px}.card-body{padding:0 22px 22px}.card-foot{padding:16px 22px;border-top:1px solid var(--line)}.card-tag{font-size:.82rem;color:var(--muted)}.tabs{display:flex;align-items:center;gap:26px;border-bottom:1px solid var(--line);padding:0 22px;overflow-x:auto}.tabs button{padding:19px 0 16px;color:var(--muted);white-space:nowrap;border-bottom:2px solid transparent;font-weight:500}.tabs button.active{border-bottom-color:var(--brown);color:var(--ink)}.tabs button .count{display:inline-block;font-size:.82rem;background:#eeebe4;border-radius:4px;padding:2px 6px;margin-left:5px}.filterbar{display:flex;align-items:center;gap:10px;padding:17px 22px;flex-wrap:wrap}.search{position:relative;flex:1;min-width:220px}.search .icon{position:absolute;left:12px;top:11px;color:#99978e}.search input{width:100%;padding-left:39px}.filterbar input,.filterbar select{height:42px;border:1px solid var(--line);border-radius:5px;background:white;padding:9px 12px;color:#514f47}.filterbar .search input{padding-left:39px}.filterbar select{max-width:190px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:.93rem;white-space:nowrap}thead{background:#fafaf8}th{font-size:.86rem;color:var(--muted);font-weight:500;padding:14px 16px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}td{padding:17px 16px;border-bottom:1px solid #f0efeb;height:63px}td:first-child,th:first-child{padding-left:22px}td:last-child,th:last-child{padding-right:22px}tbody tr:last-child td{border-bottom:0}tbody tr.clickable{cursor:pointer}tbody tr.clickable:hover{background:#f9f6ee}.fraction-link{font-weight:600;text-align:left;padding:4px 0}.subcell{display:block;font-size:.82rem;color:var(--muted);margin-top:5px}.badge{display:inline-flex;align-items:center;gap:6px;line-height:1.2;padding:6px 8px;border:1px solid transparent;border-radius:4px;font-size:.84rem;font-weight:500;white-space:nowrap}.badge.disponivel{background:#edf0e9;color:#4c5e43;border-color:#dde3d7}.badge.reservada{background:#f6efdE;color:#806125;border-color:#e8ddc2}.badge.cpcv{background:#eee7d9;color:#766548;border-color:#ded3bd}.badge.escriturada{background:#e9ebe7;color:#394432;border-color:#d5dad0}.badge.cancelada{background:#f2e9e5;color:#885c4e;border-color:#e4d4cd}.badge.pending{background:#f4eddf;color:#7a5b25}.badge.overdue{background:#f5e9e5;color:#974b3d}.badge.paid{background:#edf0e9;color:#4c5e43}.pagination{padding:16px 22px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);color:var(--muted);gap:16px}.pages{display:flex;align-items:center;gap:5px}.pages button{min-width:32px;height:32px;border-radius:4px;border:1px solid var(--line);font-size:.9rem}.pages button.active{background:var(--ink);color:white;border-color:var(--ink)}.metric-row{display:flex;align-items:center;justify-content:space-between;padding:13px 0;gap:16px;border-bottom:1px solid var(--line)}.metric-row:last-child{border-bottom:0}.metric-row strong{font-weight:600;font-variant-numeric:tabular-nums}.metric-row.emphasis{color:var(--brown);font-weight:500}.progress{height:7px;background:#ebe7dd;overflow:hidden;border-radius:2px;display:flex;margin:16px 0 12px}.progress span{height:100%;background:var(--brown)}.event{display:flex;gap:12px;padding:13px 0;border-bottom:1px solid var(--line);align-items:center}.event:last-child{border-bottom:0}.event-date{width:42px;text-align:center;border-radius:5px;background:#f3f1eb;flex:none;padding:7px 0;color:var(--brown)}.event-date strong{font-size:1.1rem;font-weight:600}.event-date small{display:block;font-size:.7rem;text-transform:uppercase;margin-top:2px}.event-text{flex:1;line-height:1.5}.event-text small{display:block;color:var(--muted);margin-top:2px}.event-amount{font-size:.86rem;white-space:nowrap}.alert-row{display:flex;gap:10px;padding:12px 0;align-items:flex-start;border-bottom:1px solid var(--line);line-height:1.5}.alert-row:last-child{border-bottom:0}.alert-row .icon{margin-top:2px;color:var(--brown);flex:none}.alert-row small{display:block;color:var(--muted);margin-top:4px}.alert-row button{text-align:left}.alert-count{background:#eee6d5;color:var(--brown);border-radius:4px;padding:3px 7px;font-size:.85rem}.footer-note{display:flex;justify-content:space-between;color:#8b877d;font-size:.8rem;margin-top:24px;gap:15px}.empty{padding:55px 25px;text-align:center;line-height:1.7;color:var(--muted)}.empty h2{color:var(--ink);margin-bottom:7px}.empty .btn{margin-top:20px}.mobile-menu{display:none}.grid-two{display:grid;grid-template-columns:1fr 1fr;gap:20px}.summary-money{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:24px}.money-stat{padding:22px;background:white;border:1px solid var(--line);border-radius:7px}.money-stat p{color:var(--muted);margin-bottom:12px}.money-stat strong{font-size:1.6rem;font-weight:600;letter-spacing:-.6px}.notice{padding:14px 18px;background:#f1ede3;border:1px solid #e3d9c3;border-radius:6px;line-height:1.6;margin-bottom:20px;color:#665536}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.field{display:flex;flex-direction:column;gap:8px;color:#535047;font-size:.93rem}.field.full{grid-column:1/-1}.field input,.field select,.field textarea{width:100%;padding:10px 11px;border:1px solid #dcd9ce;border-radius:5px;background:#fff;min-height:42px;color:var(--ink)}.field textarea{resize:vertical;min-height:95px}.field input:disabled,.field select:disabled,.field textarea:disabled{background:#f8f7f4;color:#4f4c42;opacity:1}.form-section{margin:26px 0 16px;font-size:1rem;font-weight:600}.form-section:first-child{margin-top:0}.drawer{position:fixed;inset:0 0 0 auto;width:500px;max-width:100vw;background:white;box-shadow:-10px 0 60px #0002;border-left:1px solid var(--line);z-index:60;display:flex;flex-direction:column}.drawer-head{padding:24px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.drawer-head h2{font-size:1.45rem}.drawer-sub{display:flex;align-items:center;gap:10px;margin-top:10px;color:var(--muted)}.drawer .tabs{gap:20px;flex:none}.drawer .tabs button{font-size:.9rem;padding-top:17px}.drawer-body{padding:24px;overflow-y:auto;flex:1}.drawer-foot{padding:16px 24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;background:white;gap:10px}.scrim{position:fixed;inset:0;background:#120f0433;z-index:50}.detail-identity{background:#f7f5ef;border-radius:6px;padding:17px;margin-bottom:24px;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.detail-identity small{display:block;color:var(--muted);margin-bottom:7px}.detail-identity strong{font-size:1rem}.detail-metrics{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:18px;background:#f7f5ef;border-radius:6px;margin:16px 0}.detail-metrics small{color:var(--muted);display:block;margin-bottom:8px}.payment-card,.buyer-card,.history-card{border:1px solid var(--line);padding:17px;margin:14px 0;border-radius:6px}.payment-card .actions{justify-content:space-between;margin-bottom:16px}.history-card p{line-height:1.6;margin-top:6px;color:var(--muted)}.history-card summary{cursor:pointer}.history-card pre{white-space:pre-wrap;word-break:break-word;font-size:.85rem;background:var(--paper);padding:12px}.modal{border:0;border-radius:9px;width:660px;max-width:calc(100vw - 30px);padding:0;color:var(--ink);box-shadow:0 20px 90px #0004}.modal::backdrop{background:#120f0466}.modal-head{padding:22px 26px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.modal-body{padding:24px 26px;max-height:70vh;overflow-y:auto}.modal-foot{display:flex;justify-content:flex-end;gap:10px;padding:18px 26px;border-top:1px solid var(--line)}.modal h2{font-size:1.35rem}.checkline{display:flex;align-items:center;gap:9px;line-height:1.5;margin:10px 0}.checkline input{width:17px;height:17px}.list-item{padding:20px 22px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:18px}.list-item:last-child{border-bottom:0}.list-item p{color:var(--muted);margin-top:6px}.list-item strong{font-weight:600}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.project-card{border-top:3px solid var(--gold)}.project-card h2{font-size:1.3rem;margin-bottom:9px}.bar-row{display:grid;grid-template-columns:105px 1fr 34px;gap:16px;align-items:center;margin:20px 0}.bar{height:10px;background:#f1eee7}.bar span{display:block;height:100%;background:var(--gold)}.login-page{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:white}.login-brand{background:#080807;color:var(--sand);display:flex;flex-direction:column;justify-content:space-between;padding:60px}.login-brand img{width:320px;max-width:100%}.login-brand h1{font-size:3.3rem;max-width:460px;line-height:1.2;font-weight:500;letter-spacing:-1.5px}.login-brand p{color:var(--stone);margin-top:24px;line-height:1.7;max-width:360px}.login-box{display:flex;align-items:center;justify-content:center;padding:40px}.login-box form{width:100%;max-width:370px}.login-box h2{font-size:1.9rem;margin:12px 0}.login-box p{color:var(--muted);line-height:1.7;margin-bottom:30px}.login-box .field{margin:20px 0}.login-box .btn{width:100%;margin:10px 0 25px}.login-error{color:#973d31;padding:12px;background:#f8eae6;border-radius:5px;margin-bottom:15px}.login-success{padding:12px;color:#526346;background:#edf0e9}.readonly-note{font-size:.9rem;color:var(--brown);display:flex;gap:8px;align-items:center}#toast{position:fixed;left:50%;bottom:25px;transform:translateX(-50%);background:var(--ink);color:#fff;padding:15px 22px;box-shadow:0 8px 30px #0003;border-radius:6px;z-index:150;max-width:90vw;display:none;line-height:1.5}#toast.show{display:block}#toast.error{background:#803d30}.file-row{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:16px 0;gap:15px}.file-row p{font-size:.87rem;color:var(--muted);margin-top:5px}.print-only{display:none}
@media(min-width:1650px){.content{padding:36px 42px}.stat{padding:23px}.stats{gap:18px}td{padding-top:19px;padding-bottom:19px}}
@media(max-width:1280px){:root{--sidebar:220px}.brand img{width:170px}.content{padding:25px 24px}.topbar{padding:0 24px}.stats{gap:10px}.stat{padding:16px 12px}.stat-label{font-size:.86rem}.stat-value{font-size:1.9rem}.dashboard-lower{grid-template-columns:1fr 1fr}.dashboard-lower>.card:last-child{grid-column:1/-1}.dashboard-lower>.card:last-child .card-body{display:grid;grid-template-columns:1fr 1fr;gap:0 25px}.summary-money{grid-template-columns:repeat(2,1fr)}.project-grid{grid-template-columns:1fr 1fr}}
@media(max-width:1020px){.stats{grid-template-columns:repeat(3,1fr)}.page-heading{align-items:flex-start}.page-heading>.actions{justify-content:flex-end}.stat-label{font-size:.95rem}.grid-two{grid-template-columns:1fr}.topbar .breadcrumb span{display:none}.footer-note{flex-wrap:wrap}.demo-banner{padding:9px 24px}}
@media(max-width:780px){:root{font-size:14px}.sidebar{transform:translateX(-100%);transition:transform .2s;width:244px}.sidebar.open{transform:translateX(0)}.shell{margin-left:0}.mobile-menu{display:inline-flex}.topbar{height:67px;padding:0 16px;gap:8px}.top-actions{gap:8px}.account .account-text{display:none}.breadcrumb{gap:8px}.breadcrumb strong{font-size:.92rem}.content{padding:24px 16px}.page-heading{flex-direction:column;gap:18px;margin-bottom:22px}h1{font-size:1.75rem}.page-heading>.actions{justify-content:flex-start}.stats{gap:8px}.stat{padding:15px 11px}.stat-label{font-size:.82rem;gap:5px}.stat-caption{font-size:.78rem}.stat-value{font-size:1.85rem;margin:9px 0 4px}.dashboard-lower{grid-template-columns:1fr}.dashboard-lower>.card:last-child{grid-column:auto}.dashboard-lower>.card:last-child .card-body{display:block}.filterbar{padding:14px;gap:8px}.filterbar .search{flex-basis:100%}.filterbar select{flex:1;max-width:none;min-width:40%}.filterbar>.icon-button{width:42px}.tabs{padding:0 16px;gap:22px}.card-head{padding:20px 17px 16px}.card-body{padding:0 17px 20px}.card-foot{padding:15px 17px}.pagination{padding:14px;font-size:.88rem}.demo-banner{padding:9px 16px;font-size:.8rem;align-items:flex-start}.demo-banner span{max-width:57%;line-height:1.5}.demo-banner select{max-width:160px}.summary-money{gap:10px}.money-stat{padding:17px 14px}.money-stat strong{font-size:1.3rem}.money-stat p{font-size:.88rem}.drawer{width:100%}.drawer-head,.drawer-body{padding:20px}.drawer-foot{padding:15px 20px}.project-grid{grid-template-columns:1fr}.list-item{padding:17px;align-items:flex-start}.login-page{grid-template-columns:1fr}.login-brand{padding:25px;min-height:180px}.login-brand img{width:200px}.login-brand h1,.login-brand p,.login-brand>.eyebrow{display:none}.login-box{padding:35px 24px}.form-grid{gap:14px}.modal-body{padding:22px 20px}.modal-head{padding:20px}.modal-foot{padding:15px 20px}.nav-count{margin-left:auto}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media print{@page{size:A4 landscape;margin:12mm}:root{font-size:10px;background:white}.sidebar,.topbar,.demo-banner,.page-heading>.actions,.filterbar,.tabs,.pagination,.footer-note,.scrim,.drawer,.modal,.no-print,#toast{display:none!important}.shell{margin:0}.content{padding:0;max-width:none}h1{font-size:22px}.stats{grid-template-columns:repeat(6,1fr)}.stat{padding:12px;color:black!important;background:white!important}.stat-label,.stat-caption{color:#555!important}.table-wrap{overflow:visible}table{font-size:9px;white-space:normal}th,td{padding:9px!important;height:auto}.card{break-inside:avoid;border:1px solid #ccc}.dashboard-lower{grid-template-columns:repeat(3,1fr)}.dashboard-lower>.card:last-child{grid-column:auto}.print-only{display:block}.badge{border-color:#bbb!important;background:white!important;color:#111!important}.page-heading{margin-bottom:20px}.summary-money{grid-template-columns:repeat(4,1fr)}.btn,.text-button{display:none!important}thead{display:table-header-group}.fraction-link{display:inline!important}.project-grid{grid-template-columns:repeat(3,1fr)}}

/* Account screens share the portal identity and fit narrow viewports. */
.login-page{grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:100%;overflow-x:clip}.login-brand,.login-box{min-width:0}.login-box form{min-width:0}.login-brand{gap:44px}.login-brand img{height:auto}.auth-links{display:flex;justify-content:space-between;flex-wrap:wrap;gap:18px;line-height:1.5}.login-success{margin-bottom:20px;border-radius:5px;line-height:1.6}.auth-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.logout-form{margin:0;display:flex}.accounts-summary{display:flex;align-items:center;gap:12px;margin-bottom:20px;line-height:1.6}.login-box h2{overflow-wrap:anywhere}.login-brand h1{font-size:clamp(2rem,3.5vw,3.3rem)}
@media(max-width:780px){.login-page{grid-template-columns:minmax(0,1fr)}.login-brand{min-height:150px;align-items:center}.login-brand img{width:200px}.login-box{padding:30px 24px}.auth-links{font-size:.94rem}}
.accounts-table table{table-layout:fixed;min-width:800px}.accounts-table td,.accounts-table th{white-space:normal;overflow-wrap:anywhere}.accounts-table th:first-child{width:25%}.accounts-table th:nth-child(2){width:16%}.accounts-table th:nth-child(3){width:19%}.accounts-table th:nth-child(4){width:24%}.accounts-table th:last-child{width:16%}.accounts-table .btn{white-space:normal}.accounts-table .subcell{line-height:1.5}

.btn.danger{color:#8b3d30;border-color:#d9b9b0}.btn.danger:hover{background:#f8eae6}.delete-confirm{line-height:1.7}.delete-confirm strong{overflow-wrap:anywhere}.drawer-foot{flex-wrap:wrap}

/* Responsive overrides: desktop tables and layout remain unchanged. */
.mobile-cell-label,.mobile-nav-close,.menu-shade{display:none}
.mobile-cell-value{display:contents}
@media screen and (max-width:1020px){
  :root{--sidebar:0px}
  body{width:100%;min-width:0}
  body.mobile-nav-open,body.fraction-open,body.modal-open{overflow:hidden}
  .shell{margin-left:0;min-width:0;width:100%}
  .content{padding:22px 14px;min-width:0}
  .content *,.drawer *,.modal *{min-width:0}
  .card,.grid-two,.project-grid,.dashboard-lower,.summary-money{min-width:0;max-width:100%}
  h1,h2,h3,p,.eyebrow,.notice,.checkline,.footer-note,.metric-row,.file-row,.event,.account,.badge{overflow-wrap:anywhere}
  .sidebar{width:min(310px,calc(100% - 48px));height:100vh;height:100dvh;inset:0 auto auto 0;transform:translateX(-100%);visibility:hidden;z-index:90;padding:20px 16px max(20px,env(safe-area-inset-bottom));overscroll-behavior:contain}
  .sidebar.open{transform:none;visibility:visible}
  .sidebar .brand{margin-right:40px}
  .mobile-nav-close{display:inline-flex;position:absolute;right:12px;top:12px;color:var(--sand)}
  .menu-shade{display:block;position:fixed;inset:0;background:#120f0477;z-index:80;width:100%;height:100%;padding:0}
  .sidebar .nav button{min-height:46px;white-space:normal;text-align:left}
  .project-select{font-size:16px;max-width:100%;min-height:48px}
  .mobile-menu{display:inline-flex;flex:none}
  .topbar{height:auto;min-height:68px;padding:10px 12px;gap:8px}
  .breadcrumb{flex:1;min-width:0;gap:6px}
  .breadcrumb strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.95rem}
  .breadcrumb>span{display:none}
  .top-actions{flex:none;gap:4px}
  .account .account-text{display:none}
  .account .avatar{width:28px;height:28px;font-size:12px}
  .icon-button{width:44px;height:44px;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
  .btn,.btn.small,.text-button,.fraction-link,.pages button,.tabs button{min-height:44px}
  .btn,.btn.small,.text-button{white-space:normal;line-height:1.4;justify-content:center;text-align:center;max-width:100%}
  .actions{flex-wrap:wrap;gap:10px;min-width:0}
  .page-heading{flex-direction:column;align-items:stretch;gap:18px;margin-bottom:22px}
  .page-heading>.actions{justify-content:flex-start;width:100%}
  .page-heading>.actions>.btn{flex:1 1 130px}
  .stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
  .stat{padding:16px 12px;min-width:0}
  .stat-label{font-size:.9rem;line-height:1.5;flex-wrap:wrap}
  .stat-value{font-size:2rem;overflow-wrap:anywhere}
  .stat-caption{font-size:.85rem;line-height:1.4}
  .grid-two,.dashboard-lower,.project-grid{grid-template-columns:minmax(0,1fr)}
  .dashboard-lower>.card:last-child{grid-column:auto}
  .dashboard-lower>.card:last-child .card-body{display:block}
  .summary-money{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .money-stat{padding:16px 12px}
  .money-stat strong{font-size:1.4rem;overflow-wrap:anywhere}
  .money-stat p{line-height:1.5}
  .card-head{padding:18px 16px;flex-wrap:wrap;align-items:flex-start;gap:12px}
  .card-body{padding:0 16px 18px}
  .card-foot{padding:16px}
  .card-tag{white-space:normal;line-height:1.5}
  .metric-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;line-height:1.5}
  .metric-row strong{text-align:right}
  .event{flex-wrap:wrap;gap:10px}
  .event-text{min-width:0;flex:1 1 140px}
  .event-amount{white-space:normal;margin-left:auto}
  .tabs,.drawer .tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:8px 12px;overflow:visible}
  .tabs button,.drawer .tabs button{white-space:normal;font-size:.95rem;line-height:1.3;padding:10px 4px}
  .drawer .tabs{grid-template-columns:repeat(3,minmax(0,1fr));flex:none}
  .filterbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:14px;gap:10px}
  .filterbar .search{grid-column:1/-1;min-width:0;width:100%}
  .filterbar input,.filterbar select{width:100%;min-width:0;max-width:100%;height:48px;font-size:16px}
  .filterbar>.icon-button{grid-column:2;justify-self:end}
  /* Every table becomes labelled vertical records, keeping all values and actions. */
  .table-wrap{overflow:visible;width:100%;min-width:0}
  .table-wrap table,.accounts-table table{display:block;table-layout:auto;min-width:0;width:100%;max-width:100%;white-space:normal}
  .table-wrap thead{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  .table-wrap tbody{display:block;width:100%;padding:0 12px 12px}
  .table-wrap tbody tr{display:block;width:100%;margin:12px 0 0;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:white}
  .table-wrap td,.table-wrap td:first-child,.table-wrap td:last-child{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:10px;align-items:start;width:auto;height:auto;padding:10px 12px;border-bottom:1px solid #f0efeb;white-space:normal;overflow-wrap:anywhere;font-size:.95rem;line-height:1.5}
  .table-wrap td:first-child{background:#f7f5ef}
  .table-wrap td:last-child{border-bottom:0}
  .mobile-cell-label{display:block;color:var(--muted);font-size:.86rem;line-height:1.5;font-weight:500;padding-top:2px}
  .mobile-cell-value{display:block;min-width:0;max-width:100%;overflow-wrap:anywhere}
  .mobile-cell-value .badge{white-space:normal}
  .table-wrap td.mobile-cell-wide{grid-template-columns:minmax(0,1fr)}
  .table-wrap td.mobile-cell-wide .mobile-cell-label{display:none}
  .table-wrap td.mobile-row-arrow{display:none}
  .table-wrap .fraction-link{padding:0;display:inline-flex;align-items:center;text-align:left}
  .table-wrap .empty{padding:25px 10px}
  .accounts-summary{flex-wrap:wrap;align-items:flex-start}
  .pagination{flex-direction:column;align-items:stretch;gap:12px;padding:16px}
  .pages{display:flex;justify-content:center;flex-wrap:wrap;gap:6px}
  .pages button{min-width:40px}
  .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
  .field{min-width:0;line-height:1.5}
  .field input,.field select,.field textarea,.demo-banner select{font-size:16px;min-width:0;max-width:100%;min-height:48px}
  .field input[type=file]{font-size:14px;padding:10px 6px;width:100%}
  .field input[type=file]::file-selector-button{white-space:normal;max-width:100%;font:inherit}
  .field textarea{min-height:120px}
  .checkline{align-items:flex-start;min-height:44px;padding:8px 0;line-height:1.5}
  .checkline input{flex:none;width:22px;height:22px;margin:0}
  .drawer{inset:0 0 auto;width:100%;max-width:100%;height:100vh;height:100dvh;border:0;overflow:hidden}
  .drawer-head{flex:none;padding:12px 16px;gap:10px;align-items:flex-start}
  .drawer-head h2{font-size:1.35rem;overflow-wrap:anywhere}
  .drawer-sub{flex-wrap:wrap;gap:6px;font-size:.9rem;line-height:1.4}
  .drawer-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:18px 16px}
  .drawer-foot{flex:none;padding:12px 14px max(12px,env(safe-area-inset-bottom));gap:8px;flex-wrap:wrap}
  .drawer-foot .btn{flex:1 1 100px;padding:10px 8px;font-size:.92rem}
  .detail-identity,.detail-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:14px}
  .detail-identity strong,.detail-metrics strong{overflow-wrap:anywhere}
  .buyer-card,.payment-card,.history-card{padding:14px}
  .history-card pre{max-width:100%;overflow-wrap:anywhere;white-space:pre-wrap}
  .file-row,.list-item{flex-wrap:wrap;align-items:flex-start}
  .file-row>div{max-width:100%}
  .modal{width:calc(100% - 16px);max-width:640px;max-height:calc(100vh - 16px);max-height:calc(100dvh - 16px);margin:auto;padding:0;overflow:hidden}
  .modal form{display:flex;flex-direction:column;max-height:calc(100vh - 16px);max-height:calc(100dvh - 16px);min-height:0}
  .modal-head{flex:none;padding:12px 16px;gap:10px}
  .modal-head h2{font-size:1.3rem;overflow-wrap:anywhere}
  .modal-body{flex:1;min-height:0;max-height:none;overflow-y:auto;overscroll-behavior:contain;padding:18px 16px}
  .modal-foot{flex:none;padding:12px 14px max(12px,env(safe-area-inset-bottom));gap:8px;flex-wrap:wrap}
  .modal-foot>.btn{flex:1 1 100px;padding:10px 8px}
  .bar-row{grid-template-columns:minmax(0,100px) minmax(0,1fr) 28px;gap:10px}
  .footer-note{flex-direction:column;gap:8px;line-height:1.5}
  .login-page{grid-template-columns:minmax(0,1fr);min-height:100vh;min-height:100dvh}
  .login-brand{min-height:0;padding:18px 24px;align-items:center;gap:0}
  .login-brand img{width:190px;max-height:125px;object-fit:contain}
  .login-brand h1,.login-brand p,.login-brand>.eyebrow{display:none}
  .login-box{padding:26px 20px;align-items:flex-start}
  .login-box form{max-width:480px}
  .login-box .field input{font-size:16px}
  .login-box .btn{min-height:48px}
  .auth-links a{display:flex;align-items:center;min-height:44px}
  .demo-banner{flex-direction:column;align-items:stretch;gap:10px;padding:12px 14px}
  .demo-banner span{max-width:100%;line-height:1.5}
  .demo-banner select{max-width:100%}
  #toast{width:max-content;max-width:calc(100% - 24px);padding:12px 16px;bottom:max(16px,env(safe-area-inset-bottom));pointer-events:none;overflow-wrap:anywhere}
}
@media screen and (max-width:600px){.form-grid{grid-template-columns:minmax(0,1fr)}.form-grid .field.full{grid-column:auto}}
@media screen and (max-width:520px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar{padding:8px}.top-actions{gap:0}.topbar .account{display:none}.money-stat strong{font-size:1.2rem}}
@media screen and (max-width:360px){.summary-money{grid-template-columns:minmax(0,1fr)}.drawer .tabs button{font-size:.85rem}.table-wrap td{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}}
.mobile-nav-account{display:none}@media screen and (max-width:1020px){.mobile-nav-account{display:flex;flex-direction:column;gap:6px;padding:0 12px 20px;margin-bottom:20px;border-bottom:1px solid #3d392f;overflow-wrap:anywhere;line-height:1.5}.mobile-nav-account small,.mobile-nav-account span{color:var(--stone)}.fraction-open #toast,.modal-open #toast{bottom:calc(82px + env(safe-area-inset-bottom))}}

/* Readable audit records, including narrow fraction drawers. */
.audit-changes{margin-top:16px}.audit-change{padding:14px 0;border-top:1px solid var(--line)}.audit-change h4{margin:0 0 10px;font-size:.95rem}.audit-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.audit-comparison>div{min-width:0;padding:12px;background:#f7f5ef;border-radius:5px}.audit-comparison>div:last-child{background:#edf0e9}.audit-caption{display:block;font-size:.8rem;color:var(--muted);margin-bottom:8px}.audit-value{font-size:.92rem;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.audit-fields{margin:0}.audit-fields>div{margin-bottom:10px}.audit-fields dt{font-size:.8rem;color:var(--muted);margin-bottom:3px}.audit-fields dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6}.audit-item+.audit-item{border-top:1px solid var(--line);padding-top:10px;margin-top:10px}.audit-item>small{display:block;margin-bottom:6px;color:var(--muted)}.audit-archive{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.audit-no-change{font-size:.9rem;padding:10px 0}.history-card summary{overflow-wrap:anywhere;line-height:1.5}.history-card>p{overflow-wrap:anywhere}
@media(max-width:520px){.audit-comparison{grid-template-columns:minmax(0,1fr)}.audit-comparison>div{padding:12px}.audit-change{padding:16px 0}}

/* Security centre: reserved access, explicit actions and readable technical evidence. */
.portal-version{display:block;margin-top:9px;font-size:.76rem;color:var(--stone);letter-spacing:.04em}
.security-overview{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:28px 30px;margin-bottom:22px;border-radius:10px;background:#191811;color:var(--sand);border:1px solid #39362b}
.security-overview .eyebrow{font-size:.72rem;color:var(--gold)}.security-overview h2{font-size:1.45rem;color:#fff;margin:12px 0}.security-overview p{max-width:760px;line-height:1.75;color:#cbc6b9}.security-overview-icon{display:flex;align-items:center;justify-content:center;flex:none;width:74px;height:74px;border:1px solid #5c543e;border-radius:50%;color:var(--gold)}.security-overview-icon .icon{width:32px;height:32px}
.security-toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:22px}.security-toolbar>.muted{font-size:.82rem;line-height:1.6;padding-top:10px}.security-toolbar .actions{flex-wrap:wrap}
.security-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:22px}.security-metric{padding:22px}.security-metric>div{display:flex;align-items:center;gap:10px;color:var(--muted);font-weight:500}.security-metric .icon{color:var(--brown)}.security-metric strong{display:block;font-size:2.2rem;font-weight:600;margin:14px 0 8px}.security-metric small{color:var(--muted);line-height:1.6}
.security-health,.security-events,.security-blocks{margin-bottom:24px}.security-health-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding:0 25px 22px}.security-health-item{display:flex;align-items:flex-start;gap:10px;min-width:0}.security-health-item strong,.security-health-item small{display:block;overflow-wrap:anywhere;line-height:1.6}.security-health-item strong{font-size:.9rem;font-weight:500}.security-health-item small{margin-top:3px;color:var(--muted)}.security-indicator{width:8px;height:8px;margin-top:6px;flex:none;border-radius:50%;background:#8b7960}.security-indicator.ready{background:#5d765b}.security-indicator.attention{background:#aa6b37}.security-retention{padding:18px 25px;background:#f8f6f0;border-top:1px solid var(--line);font-size:.87rem;line-height:1.75}.security-retention p+p{margin-top:6px}.security-retention strong{font-weight:600}
.security-filters{display:grid;grid-template-columns:minmax(200px,1.5fr) repeat(2,minmax(155px,1fr)) repeat(2,minmax(135px,.85fr));gap:14px;padding:8px 25px 22px;border-bottom:1px solid var(--line);align-items:end}.security-filters .actions{grid-column:1/-1;justify-content:flex-end}.security-filters input,.security-filters select{width:100%;min-width:0}.security-events table,.security-blocks table{white-space:normal;min-width:850px}.security-events td,.security-blocks td{vertical-align:top;line-height:1.55;overflow-wrap:anywhere}.security-events th:nth-child(1){width:15%}.security-events th:nth-child(2){width:20%}.security-events th:nth-child(3){width:12%}.security-events th:nth-child(4){width:20%}.security-events th:nth-child(5){width:17%}.security-events th:nth-child(6){width:16%}.security-ip{font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.security-events .subcell,.security-blocks .subcell{margin-top:5px;line-height:1.55}
.security-badge{display:inline-flex;align-items:center;max-width:100%;border:1px solid transparent;border-radius:20px;padding:4px 9px;font-size:.76rem;font-weight:500;white-space:normal}.security-info{background:#f0f0ed;color:#62635b;border-color:#dfdfd7}.security-notice{background:#edf0e8;color:#53664c;border-color:#d4dcc9}.security-warning{background:#fcf1dc;color:#94621f;border-color:#e9d9b9}.security-critical{background:#f8e8e3;color:#963c30;border-color:#e9c8bf}.security-event-details{max-width:320px}.security-event-details summary{cursor:pointer;font-size:.86rem;font-weight:500;color:var(--brown);padding:2px 0}.security-event-details[open]{min-width:180px}.security-event-details dl{max-height:360px;overflow:auto;line-height:1.65;margin:10px 0 0;padding:12px;background:#f8f6f0;border-radius:5px}.security-event-details dt{font-size:.76rem;color:var(--muted)}.security-event-details dd{font-size:.82rem;margin:2px 0 12px;white-space:pre-wrap;overflow-wrap:anywhere}.security-event-details dd:last-child{margin-bottom:0}
.security-pagination{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:18px 25px;border-top:1px solid var(--line)}.security-pagination>.muted{font-size:.86rem}.security-block-note{padding:0 25px 18px;line-height:1.7;font-size:.9rem}.security-error{background:#f8eae6;border:1px solid #dfbdb3;border-radius:8px;padding:18px 22px;margin-bottom:22px;line-height:1.7;color:#873d30}.security-error p{margin-top:5px}.security-error .text-button{margin-top:10px}.security-form-note{line-height:1.75;margin-bottom:22px;color:var(--muted)}.security-form-note p+p{margin-top:12px}.security-confirm{margin-top:22px;padding:16px;background:#f8f6f0;border-radius:6px;line-height:1.6}.security-confirm input{flex:none}
@media(max-width:1280px){.security-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.security-search{grid-column:1/-1}.security-health-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.security-health-item:last-child{grid-column:1/-1}}
@media screen and (max-width:1020px){.security-overview{padding:22px 18px;gap:15px;align-items:flex-start}.security-overview-icon{width:48px;height:48px}.security-overview-icon .icon{width:24px;height:24px}.security-overview h2{font-size:1.2rem;line-height:1.5}.security-overview p{font-size:.9rem}.security-toolbar,.security-toolbar>.actions{width:100%}.security-toolbar>.actions>.btn{flex:1 1 150px}.security-toolbar>.muted{padding-top:0}.security-metrics{gap:10px}.security-metric{padding:16px 12px;min-width:0}.security-metric>div{align-items:flex-start;line-height:1.5;font-size:.87rem}.security-metric strong{font-size:1.85rem}.security-metric small{font-size:.76rem}.security-health-grid{padding:0 16px 18px;gap:16px}.security-retention{padding:16px}.security-filters{padding:0 16px 18px;grid-template-columns:repeat(2,minmax(0,1fr))}.security-filters .actions{justify-content:stretch}.security-filters .actions>.btn{flex:1}.security-events table,.security-blocks table{min-width:0}.security-event-details,.security-event-details[open]{min-width:0;max-width:none;width:100%}.security-event-details summary{min-height:36px;line-height:1.7}.security-pagination{flex-direction:column;align-items:stretch;padding:16px}.security-pagination .actions{justify-content:space-between}.security-block-note{padding:0 16px 16px}.security-error{padding:16px}.security-confirm{padding:14px}.security-form-note{font-size:.95rem}}
@media screen and (max-width:520px){.security-overview-icon{display:none}.security-metrics{grid-template-columns:minmax(0,1fr)}.security-metric{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 14px}.security-metric strong{grid-column:2;grid-row:1/3;margin:0;align-self:center}.security-metric small{grid-column:1}.security-health-grid{grid-template-columns:minmax(0,1fr)}.security-health-item:last-child{grid-column:auto}.security-filters .field{grid-column:1/-1}}
@media print{.security-toolbar,.security-filters,.security-pagination,.security-blocks button{display:none!important}.security-overview{background:white;color:black;border-color:#ccc}.security-overview h2,.security-overview p,.security-overview .eyebrow{color:black}.security-events table,.security-blocks table{min-width:0}.security-overview-icon{display:none}}
