:root{--ink:#0b1f1c;--ink-soft:#304640;--muted:#657872;--paper:#f4f8f6;--surface:#ffffff;--line:#d3dfda;--brand:#0f766e;--brand-deep:#0b5650;--brand-soft:#e1f3ef;--accent:#ea580c;--accent-soft:#fff0e6;--danger:#b91c1c;--warning:#a16207;--ok:#047857;--radius:14px;--font-display:"Avenir Next","Segoe UI Variable Display","Trebuchet MS",sans-serif;--font-body:"Avenir Next","Segoe UI Variable Text","Trebuchet MS",sans-serif}*{box-sizing:border-box}body,html{margin:0;min-height:100%}body{color:var(--ink);font-family:var(--font-body);background:radial-gradient(700px 440px at 0 0,rgba(20,184,166,.12),transparent 62%),linear-gradient(160deg,#f8fbfa 0,var(--paper) 58%,#f7f4ef 100%)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}a,button{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid rgba(234,88,12,.35);outline-offset:2px}.shell{min-height:100vh}.topbar{position:-webkit-sticky;position:sticky;z-index:10;top:0;justify-content:space-between;min-height:68px;padding:0 clamp(18px,4vw,56px);border-bottom:1px solid rgba(211,223,218,.9);background:rgba(255,255,255,.86);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.brand,.topbar{display:flex;align-items:center}.brand{gap:11px;font-family:var(--font-display);font-weight:750}.brand-mark{display:grid;width:34px;height:34px;place-items:center;border-radius:10px;color:white;background:linear-gradient(145deg,var(--brand),var(--brand-deep));font-size:13px;letter-spacing:-.04em}.brand-context{color:var(--muted);font-size:12px;font-weight:600}.top-actions{display:flex;align-items:center;gap:14px}.user-name{color:var(--ink-soft);font-size:13px}.container{width:min(1180px,calc(100% - 36px));margin:0 auto;padding:44px 0 64px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:28px}.eyebrow{margin:0 0 8px;color:var(--brand);font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.025em}h1{font-size:clamp(2rem,4vw,3.35rem);line-height:1.05}h1,h2{margin:0}h2{font-size:1.35rem}.lead{max-width:660px;margin:10px 0 0;color:var(--muted);line-height:1.6}.button{display:inline-flex;min-height:42px;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:11px;padding:10px 16px;cursor:pointer;font-weight:750;transition:transform .18s ease,background .18s ease,border-color .18s ease}.button:hover{transform:translateY(-1px)}.button:disabled{cursor:not-allowed;opacity:.55;transform:none}.button-primary{color:white;background:linear-gradient(180deg,#148b80,var(--brand))}.button-secondary{border-color:var(--line);color:var(--ink);background:white}.button-danger{border-color:#fecaca;color:var(--danger);background:#fffafa}.button-ghost{min-height:auto;padding:7px 9px;color:var(--muted);background:transparent}.panel{border:1px solid var(--line);border-radius:var(--radius);background:rgba(255,255,255,.88)}.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px;margin-bottom:18px}.metric-card{display:grid;grid-gap:8px;gap:8px;min-height:112px;align-content:center;padding:18px;border:1px solid var(--line);border-radius:var(--radius);background:rgba(255,255,255,.88)}.metric-card span{color:var(--muted);font-size:12px;font-weight:750}.metric-card strong{color:var(--brand-deep);font-family:var(--font-display);font-size:1.45rem}.metric-card.warning{border-color:#fcd34d;background:#fffbeb}.metric-card.warning strong{color:var(--warning)}.filter-bar{display:grid;grid-template-columns:minmax(240px,1fr) 180px 180px auto;grid-gap:14px;gap:14px;align-items:end;margin-bottom:18px;padding:16px}.filter-actions{display:flex;gap:8px}.table-wrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;text-align:left}.data-table th{padding:14px 18px;color:var(--muted);font-size:11px;letter-spacing:.07em;text-transform:uppercase}.data-table td{padding:17px 18px;border-top:1px solid var(--line);font-size:14px}.data-table tbody tr{transition:background .15s ease}.data-table tbody tr:hover{background:#f7fbf9}.tenant-link{font-weight:800;color:var(--brand-deep)}.muted{color:var(--muted)}.badge{display:inline-flex;align-items:center;border-radius:8px;padding:5px 8px;font-size:11px;font-weight:800;background:var(--brand-soft);color:var(--ok)}.badge.warning{color:var(--warning);background:#fef3c7}.badge.danger{color:var(--danger);background:#fee2e2}.empty{padding:56px 24px;text-align:center}.empty p{color:var(--muted)}.error-box{border:1px solid #fecaca;border-radius:10px;color:var(--danger);background:#fff7f7}.error-box,.success-box{margin:16px 0;padding:12px 14px;font-size:14px}.success-box{border:1px solid #a7f3d0;border-radius:10px;color:var(--ok);background:#ecfdf5}.delinquency-panel{display:grid;grid-gap:18px;gap:18px;margin-bottom:18px;padding:20px}.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr)}.login-visual{position:relative;display:flex;overflow:hidden;align-items:center;padding:clamp(32px,7vw,88px);color:#edfffb;background:linear-gradient(145deg,#0f766e,#0b5650 55%,#153d38)}.login-visual:after{position:absolute;width:70%;aspect-ratio:1;border:1px solid rgba(255,255,255,.12);border-radius:38% 62% 54% 46%;content:"";right:-24%;top:-10%;animation:drift 13s ease-in-out infinite alternate}.login-copy{position:relative;z-index:1;max-width:600px}.login-copy h1{font-size:clamp(2.5rem,5vw,4.4rem)}.login-copy p{max-width:480px;color:rgba(237,255,251,.72);font-size:17px;line-height:1.7}.login-panel{display:flex;flex-direction:column;justify-content:center;padding:clamp(30px,7vw,80px);background:rgba(255,255,255,.82)}.form-grid,.login-panel form{display:grid;grid-gap:16px;gap:16px}.field{display:grid;grid-gap:7px;gap:7px;color:var(--ink-soft);font-size:13px;font-weight:750}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:11px 12px;color:var(--ink);background:white}.field textarea{min-height:88px;resize:vertical}.wizard{display:grid;grid-template-columns:230px minmax(0,1fr);grid-gap:28px;gap:28px}.steps{display:grid;align-content:start;grid-gap:4px;gap:4px}.step{display:flex;align-items:center;gap:10px;padding:10px;color:var(--muted);font-size:13px;font-weight:700}.step-number{display:grid;width:28px;height:28px;place-items:center;border:1px solid var(--line);border-radius:9px}.step.active{color:var(--brand-deep)}.step.active .step-number,.step.done .step-number{border-color:var(--brand);color:white;background:var(--brand)}.wizard-content{padding:clamp(20px,4vw,36px)}.form-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px;margin-top:24px}.span-2{grid-column:span 2}.wizard-actions{display:flex;justify-content:space-between;gap:12px;margin-top:30px;padding-top:20px;border-top:1px solid var(--line)}.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px;margin-top:22px}.choice{display:flex;align-items:flex-start;gap:12px;border:1px solid var(--line);border-radius:12px;padding:16px;cursor:pointer;background:white}.choice:has(input:checked){border-color:var(--brand);background:var(--brand-soft)}.choice input{margin-top:3px;accent-color:var(--brand)}.choice strong{display:block}.choice small{display:block;margin-top:5px;color:var(--muted);line-height:1.45}.summary-list{display:grid;grid-gap:0;gap:0;margin-top:22px}.summary-row{display:flex;justify-content:space-between;gap:18px;padding:13px 0;border-bottom:1px solid var(--line)}.summary-row span:first-child{color:var(--muted)}.detail-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(290px,.75fr);grid-gap:20px;gap:20px}.detail-section{padding:24px}.module-list{display:grid;grid-gap:10px;gap:10px;margin-top:18px}.module-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;border-top:1px solid var(--line)}.plan-editor{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:end;margin:18px 0 8px}.stack{display:grid;grid-gap:14px;gap:14px}.timeline{display:grid;grid-gap:0;gap:0;margin:18px 0 0;padding:0;list-style:none}.timeline li{position:relative;display:grid;grid-gap:4px;gap:4px;padding:0 0 18px 18px;border-left:2px solid var(--brand-soft)}.timeline li:before{position:absolute;width:9px;height:9px;border-radius:50%;content:"";left:-5.5px;top:4px;background:var(--brand)}.timeline time{color:var(--muted);font-size:12px}@keyframes drift{to{transform:translate(-5%,5%) rotate(12deg)}}@keyframes rise{0%{opacity:0;transform:translateY(10px)}}.rise{animation:rise .45s ease both}@media (max-width:780px){.login-page{grid-template-columns:1fr}.login-visual{min-height:40vh}.login-panel{min-height:60vh}.detail-grid,.wizard{grid-template-columns:1fr}.steps{grid-template-columns:repeat(6,1fr);overflow-x:auto}.step{justify-content:center;padding:6px}.step>span:last-child{display:none}.page-head{align-items:stretch;flex-direction:column}.choice-grid,.filter-bar,.form-columns,.metric-grid,.plan-editor{grid-template-columns:1fr}.filter-actions .button{flex:1 1}.span-2{grid-column:auto}.user-name{display:none}}