:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4f1ec;--surface:#fff;--ink:#10131a;--muted:#6b7280;--line:#e7dfd4;--navy:#111827;--burgundy:#8f1d2c;--burgundy-soft:#f8e8eb;--good:#0f766e;--warn:#b45309;--danger:#b91c1c;--shadow:0 18px 50px #11182714;font-family:Manrope,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at top left, #fff 0, var(--bg) 34%, #eee7dc 100%);color:var(--ink);margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.56}a{color:var(--burgundy);font-weight:900}.auth-shell{background:radial-gradient(circle at 0 0,#fff 0,#f4f1ec 42%,#e9dfd2 100%);place-items:center;min-height:100dvh;padding:24px;display:grid}.auth-card{border:1px solid var(--line);width:min(520px,100%);box-shadow:var(--shadow);background:#fffffff0;border-radius:32px;gap:22px;padding:30px;display:grid}.auth-card h1{letter-spacing:-.06em;margin:6px 0 10px;font-size:clamp(34px,7vw,58px)}.auth-card p{color:var(--muted);margin:0;line-height:1.6}.auth-form{gap:14px;display:grid}.auth-form label{color:var(--muted);gap:7px;font-size:13px;font-weight:900;display:grid}.form-error{color:var(--danger);margin:0;font-weight:900}.form-info{color:var(--good);margin:10px 0;font-weight:900}.app-shell{grid-template-columns:290px 1fr;min-height:100dvh;display:grid}.sidebar{color:#fff;background:#11131a;border-right:1px solid #ffffff14;height:100dvh;padding:22px;position:sticky;top:0;overflow:auto}.brand-block{background:linear-gradient(145deg,#ffffff14,#8f1d2c38);border:1px solid #ffffff1f;border-radius:24px;padding:18px}.brand-block span,.eyebrow{color:var(--burgundy);letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:800}.brand-block h1{margin:10px 0 8px;font-size:28px}.brand-block p{color:#ffffffb8;margin:0;line-height:1.5}.nav-list{gap:8px;margin-top:18px;display:grid}.nav-item{text-align:left;color:#ffffffc2;background:0 0;border:0;border-radius:16px;gap:3px;padding:13px 14px;display:grid}.nav-item small{color:#ffffff7a}.nav-item.active,.nav-item:hover{color:var(--ink);background:#fff}.nav-item.active small,.nav-item:hover small{color:var(--muted)}.main-area{min-width:0;padding:28px}.topbar{justify-content:space-between;align-items:center;gap:18px;margin-bottom:24px;display:flex}.topbar h2{letter-spacing:-.04em;margin:4px 0;font-size:clamp(28px,4vw,46px)}.topbar span,.module-header p,.hero-card p,.muted-text{color:var(--muted)}.top-actions,.button-row,.row-actions,.form-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.button,.small-button,.icon-button{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:999px;padding:10px 15px;font-weight:800}.button.primary,.small-button.primary{background:var(--burgundy);color:#fff;border-color:var(--burgundy)}.button.ghost,.small-button.soft{background:#fff}.button.danger,.small-button.danger{color:var(--danger);background:#fff1f2;border-color:#fecdd3}.small-button{padding:7px 10px;font-size:12px}.icon-button{width:40px;height:40px;padding:0;font-size:24px}.page-stack{gap:18px;display:grid}.hero-card,.module-header,.panel-card,.client-hero,.account-card,.metric-card{border:1px solid var(--line);box-shadow:var(--shadow);background:#ffffffeb;border-radius:28px}.hero-card,.module-header,.client-hero{justify-content:space-between;align-items:center;gap:22px;padding:24px;display:flex}.hero-card h3,.module-header h3,.client-hero h3{letter-spacing:-.03em;margin:4px 0 8px;font-size:28px}.panel-card{padding:20px}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.metric-card{text-align:left;border:1px solid var(--line);padding:18px}.metric-card span{color:var(--muted);display:block}.metric-card strong{margin-top:8px;font-size:28px;display:block}.dashboard-grid,.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.warning-list{gap:10px;display:grid}.warning-row{border:1px solid var(--line);text-align:left;background:#fff;border-radius:18px;gap:4px;padding:13px;display:grid}.warning-row span,.empty-inline{color:var(--muted)}.toolbar{border:1px solid var(--line);background:#fff;border-radius:22px;flex-wrap:wrap;gap:12px;padding:14px;display:flex}.quick-filter-row{flex-wrap:wrap;gap:8px;display:flex}.quick-filter-row button{border:1px solid var(--line);color:var(--muted);background:#ffffffd1;border-radius:999px;padding:9px 13px;font-weight:900}.quick-filter-row button.active{background:var(--navy);border-color:var(--navy);color:#fff}.search-field,.filter-field,.form-field{color:var(--muted);gap:7px;font-size:13px;font-weight:800;display:grid}.search-field input,.filter-field select,input,select,textarea{color:var(--ink);background:#fff;border:1px solid #d8cec1;border-radius:14px;min-height:44px;padding:11px 12px}.search-field{flex:1;min-width:min(360px,100%)}.table-wrap{overflow-x:auto}.data-table{border-collapse:collapse;width:100%;min-width:820px}.data-table th,.data-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:13px 12px}.data-table th{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:12px}.sort-button{color:inherit;background:0 0;border:0;padding:0;font-weight:900}.status-badge{color:#334155;background:#f1f5f9;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:900;display:inline-flex}.status-badge[data-tone=good]{color:var(--good);background:#ccfbf1}.status-badge[data-tone=warn]{color:var(--warn);background:#fef3c7}.status-badge[data-tone=danger]{color:var(--danger);background:#fee2e2}.empty-state{text-align:center;min-height:180px;color:var(--muted);place-items:center;gap:10px;display:grid}.modal-backdrop{z-index:20;background:#11182785;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{width:min(880px,100%);max-height:90dvh;box-shadow:var(--shadow);background:#fff;border-radius:26px;padding:18px;overflow:auto}.modal.wide,.print-modal{width:min(1080px,100%)}.print-modal{max-height:92dvh;box-shadow:var(--shadow);background:#fff;border-radius:26px;padding:18px;overflow:auto}.print-modal .modal-header{z-index:2;background:#fff;padding-bottom:10px;position:sticky;top:0}.modal-header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.form-field.wide,.form-actions,.line-items,.proposal-total{grid-column:1/-1}.checkbox-input{width:22px;min-height:22px}.line-items{border:1px solid var(--line);border-radius:18px;gap:10px;padding:14px;display:grid}.line-title{justify-content:space-between;align-items:center;display:flex}.line-row{grid-template-columns:1fr 1.4fr 90px 130px auto;gap:8px;display:grid}.proposal-total,.client-summary-grid,.info-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.summary{border:1px solid var(--line);background:#faf7f2;border-radius:18px;gap:5px;padding:14px;display:grid}.summary span{color:var(--muted);font-size:12px}.summary.good strong{color:var(--good)}.summary.danger strong{color:var(--danger)}.tabs{gap:8px;padding-bottom:3px;display:flex;overflow-x:auto}.tabs button{border:1px solid var(--line);white-space:nowrap;background:#fff;border-radius:999px;padding:10px 14px;font-weight:800}.tabs button.active{background:var(--navy);color:#fff}.quick-action-strip{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:22px;flex-wrap:wrap;align-items:center;gap:10px;padding:14px;display:flex}.quick-action-strip div{gap:2px;margin-right:auto;display:grid}.quick-action-strip span{color:var(--muted);font-size:13px}.wide-note{border:1px solid var(--line);background:#fff;border-radius:18px;grid-column:1/-1;padding:16px}.account-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.account-card{padding:18px}.account-row{border-top:1px solid var(--line);justify-content:space-between;padding:10px 0;display:flex}.account-row.important strong{color:var(--burgundy)}.clean-list{color:var(--muted);line-height:1.9}.settings-card{grid-column:1/-1}.settings-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.settings-form label{color:var(--muted);gap:7px;font-size:13px;font-weight:800;display:grid}.settings-form label.wide,.reminder-card{grid-column:1/-1}.reminder-status-grid,.payment-summary-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0;display:grid}.payment-form{gap:16px;display:grid}.payment-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.payment-form-grid label,.payment-form-grid .form-field{color:var(--muted);gap:7px;font-size:13px;font-weight:800;display:grid}.payment-form-grid label.wide{grid-column:1/-1}.partial-payment-box{border:1px solid var(--line);background:#fffaf3;border-radius:22px;gap:12px;padding:16px;display:grid}.partial-payment-head{justify-content:space-between;align-items:center;gap:16px;display:flex}.partial-payment-head h4{margin:0 0 4px}.partial-payment-head p{color:var(--muted);margin:0}.partial-payment-list{gap:10px;display:grid}.partial-payment-row{grid-template-columns:150px 140px 170px minmax(180px,1fr) auto;align-items:center;gap:10px;display:grid}.backup-status.needs-backup{background:linear-gradient(#fff 0%,#fff7f7 100%);border-color:#fecdd3}.backup-list{gap:10px;margin-top:14px;display:grid}.backup-row{border:1px solid var(--line);background:#fff;border-radius:18px;grid-template-columns:1fr auto auto;align-items:center;gap:10px;padding:12px;display:grid}.backup-row div{gap:4px;display:grid}.backup-row span{color:var(--muted);font-size:12px}.undo-toast{z-index:40;color:#fff;background:#111827;border-radius:18px;align-items:center;gap:10px;padding:12px 14px;display:flex;position:fixed;bottom:22px;right:22px;box-shadow:0 18px 50px #11182738}.undo-toast button{color:#fff;background:#ffffff14;border:1px solid #ffffff38;border-radius:999px;padding:8px 10px;font-weight:900}.print-sheet{color:#111;background:#fff;padding:28px}.print-head,.print-meta,.print-totals{justify-content:space-between;gap:18px;margin-bottom:22px;display:flex}.print-number{text-align:right;gap:7px;display:grid}.print-meta{border:1px solid #ddd;border-radius:14px;flex-wrap:wrap;padding:14px}.print-table{border-collapse:collapse;width:100%;margin:20px 0}.print-table th,.print-table td{text-align:left;border:1px solid #ddd;padding:10px}.print-note,.print-bank{border:1px solid #ddd;border-radius:14px;margin-top:14px;padding:14px}.print-signatures{grid-template-columns:1fr 1fr;gap:22px;margin-top:40px;display:grid}.print-signatures div{border-top:1px solid #111;gap:4px;min-height:74px;padding-top:10px;display:grid}.print-signatures span{color:#555;font-size:12px}@media (width<=980px){.app-shell{grid-template-columns:1fr}.sidebar{height:auto;position:static}.nav-list{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-grid,.dashboard-grid,.settings-grid,.account-grid,.client-summary-grid,.info-grid,.proposal-total,.reminder-status-grid,.payment-summary-strip{grid-template-columns:1fr 1fr}.topbar,.hero-card,.module-header,.client-hero,.partial-payment-head{flex-direction:column;align-items:flex-start}.partial-payment-row{grid-template-columns:1fr 1fr}}@media (width<=640px){.main-area,.sidebar{padding:16px}.nav-list,.metric-grid,.dashboard-grid,.settings-grid,.account-grid,.client-summary-grid,.info-grid,.proposal-total,.form-grid,.settings-form,.payment-form-grid,.reminder-status-grid,.payment-summary-strip,.partial-payment-row,.print-signatures,.backup-row,.line-row{grid-template-columns:1fr}.top-actions{width:100%}.button{justify-content:center;width:100%}.quick-action-strip{align-items:stretch}.quick-action-strip div{width:100%}.quick-action-strip .small-button{flex:1}.table-wrap{overflow:visible}.data-table{border-collapse:separate;border-spacing:0 12px;min-width:0}.data-table thead{display:none}.data-table,.data-table tbody,.data-table tr,.data-table td{width:100%;display:block}.data-table tr{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:18px;padding:10px}.data-table td{border-bottom:0;grid-template-columns:minmax(108px,42%) 1fr;gap:10px;padding:9px;display:grid}.data-table td:before{content:attr(data-label);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:900}.row-actions{justify-content:flex-start}.undo-toast{flex-wrap:wrap;bottom:14px;left:14px;right:14px}}@media print{body{background:#fff}.app-shell,.no-print,.modal-header,.form-actions{display:none!important}.modal-backdrop,.print-modal{box-shadow:none;background:#fff;padding:0;display:block;position:static}.print-sheet{display:block}}
