:root{--blue:#89c1ca;--teal:#245c62;--ink:#18343a;--paper:#f7f4ee;--cream:#fffdfa;--line:#dce4e0;--muted:#6d7b7b;--terracotta:#c9785b;--shadow:0 18px 50px rgba(24,52,58,.09)}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.login-page{min-height:100dvh;display:grid;grid-template-columns:1.05fr .95fr}.login-art{position:relative;overflow:hidden;background:var(--blue);padding:clamp(2rem,7vw,7rem);display:flex;align-items:flex-end;color:var(--ink)}.login-art p{position:relative;z-index:2;font:clamp(2.3rem,5vw,5.6rem)/.95 Georgia,serif;letter-spacing:-.06em;margin:0}.login-art em{font-weight:400}.sun{position:absolute;width:40vw;height:40vw;border-radius:50%;background:#b9dde1;right:-10vw;top:-12vw}.building{position:absolute;bottom:0;background:#316c72;border-radius:28px 28px 0 0}.building-one{width:27%;height:53%;right:10%;opacity:.96}.building-two{width:19%;height:36%;right:37%;background:#5f9ba2}.login-panel{max-width:520px;width:100%;justify-self:center;align-self:center;padding:3rem}.brand{display:flex;gap:11px;align-items:center;font-weight:750;font-size:1.25rem;letter-spacing:-.03em}.brand-mark{display:grid;place-items:center;width:33px;height:33px;border-radius:11px;background:var(--teal);color:#fff;font:700 1.15rem Georgia,serif}.login-copy{margin:clamp(4rem,10vh,7rem) 0 2.7rem}.eyebrow{font-size:.68rem;font-weight:800;letter-spacing:.14em;color:var(--teal);margin:0 0 .7rem}.login-copy h1,.topbar h1,.section-heading h2{font:clamp(2.2rem,4vw,3.3rem)/1 Georgia,serif;letter-spacing:-.055em;margin:0}.login-copy p:last-child,.subtle{color:var(--muted);line-height:1.5;margin-top:1rem}.login-form{display:grid;gap:.7rem}.login-form label{font-size:.83rem;font-weight:700}.password-field{display:flex;border-bottom:1px solid #9dacaa}.password-field input{min-width:0;flex:1;border:0;background:transparent;font:1.15rem inherit;padding:.9rem 0;outline:none}.password-field button{border:0;background:transparent;color:var(--teal);font-weight:700;cursor:pointer}.primary-button{margin-top:1.15rem;border:0;border-radius:999px;padding:1rem 1.25rem;background:var(--teal);color:#fff;font:700 .95rem inherit;display:flex;justify-content:space-between;cursor:pointer;transition:transform .2s,background .2s}.primary-button:hover{background:#183f44;transform:translateY(-1px)}.primary-button:disabled{opacity:.7}.form-error{min-height:1.1rem;margin:0;color:#a74733;font-size:.83rem}.login-footnote{color:var(--muted);font-size:.78rem;margin-top:2rem}.app-shell{min-height:100dvh;display:grid;grid-template-columns:242px 1fr}.sidebar{background:var(--ink);color:#edf4f1;padding:26px 18px;display:flex;flex-direction:column;position:sticky;top:0;height:100dvh}.sidebar .brand{padding:0 10px;color:#fff}.sidebar .brand-mark{background:var(--blue);color:var(--ink)}nav{margin-top:4rem;display:grid;gap:5px}.nav-link{background:transparent;color:#aebfbd;border:0;border-radius:10px;padding:12px 13px;text-align:left;font:600 .9rem inherit;cursor:pointer}.nav-link span{display:inline-grid;width:25px;font-size:1.1rem}.nav-link:hover,.nav-link.active{background:rgba(137,193,202,.15);color:white}.sidebar-bottom{margin-top:auto;padding:12px 10px}.identity{font-size:.85rem;font-weight:700;margin-bottom:1rem}.identity small{display:block;color:#aebfbd;font-weight:400;margin-top:3px}.quiet-button,.text-button{border:0;background:transparent;color:inherit;font:600 .82rem inherit;cursor:pointer;padding:0}.quiet-button{color:var(--blue)}.workspace{min-width:0;padding:0 clamp(1.2rem,4vw,4.5rem) 4rem}.topbar{height:152px;display:flex;align-items:center;gap:16px}.topbar h1{font-size:2.15rem}.topbar .eyebrow{margin-bottom:.45rem}.refresh-button,.menu-button{margin-left:auto;width:40px;height:40px;border:1px solid var(--line);border-radius:50%;background:var(--cream);font-size:1.35rem;color:var(--teal);cursor:pointer}.menu-button{display:none;margin:0}.loading-bar{position:fixed;z-index:4;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--blue),var(--teal));animation:load 1s infinite linear}@keyframes load{0%{transform:scaleX(.15);transform-origin:left}50%{transform:scaleX(.7);transform-origin:center}100%{transform:scaleX(.15);transform-origin:right}}.view{display:none}.view.active-view{display:block}.welcome-row,.section-heading,.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.greeting{font:1.55rem Georgia,serif;margin:0}.live-pill,.count-chip{border:1px solid #cbe0de;border-radius:999px;padding:.5rem .75rem;color:var(--teal);font-weight:700;font-size:.75rem;background:#f4fbfa}.live-pill span{display:inline-block;width:7px;height:7px;border-radius:50%;background:#55aa78;margin-right:6px}.metric-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:16px;margin:2rem 0}.metric-card,.panel{background:var(--cream);border:1px solid rgba(220,228,224,.8);border-radius:20px;box-shadow:0 5px 20px rgba(24,52,58,.025)}.metric-card{padding:1.5rem;min-height:155px;position:relative;overflow:hidden}.metric-card p{color:var(--muted);font-size:.84rem;margin:0 0 1rem}.metric-card strong{font:2rem/1 Georgia,serif;letter-spacing:-.04em}.metric-card small{display:block;color:var(--muted);margin-top:10px;font-size:.76rem}.featured{color:#fff;background:var(--teal);border:0}.featured p,.featured small{color:#d9efeb}.card-orbit{position:absolute;width:135px;height:135px;border:1px solid rgba(255,255,255,.3);border-radius:50%;right:-37px;bottom:-50px}.card-orbit:after{content:"";position:absolute;inset:25px;border-radius:50%;border:1px solid rgba(255,255,255,.25)}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(255px,.8fr);gap:16px}.panel{padding:1.5rem}.panel h2{font:1.3rem Georgia,serif;margin:0}.text-button{color:var(--teal);text-decoration:underline;text-underline-offset:4px}.timeline{margin-top:1.3rem}.payment-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px 0;border-top:1px solid var(--line)}.payment-avatar{display:grid;place-items:center;width:37px;height:37px;border-radius:12px;background:#e8f4f4;color:var(--teal);font-weight:800}.payment-name{font-weight:700;font-size:.88rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.payment-meta{font-size:.74rem;color:var(--muted);margin-top:3px}.payment-amount{font-weight:750;font-size:.85rem;text-align:right}.unallocated{font-size:.65rem;color:#9d6049;background:#fff1e9;border-radius:5px;padding:3px 5px}.health-list{margin-top:1rem;display:grid;gap:15px}.health-row{display:flex;align-items:center;justify-content:space-between;font-size:.84rem}.health-dot{width:9px;height:9px;border-radius:50%;background:#55aa78;display:inline-block;margin-right:7px}.health-dot.attention{background:var(--terracotta)}.section-heading{margin-bottom:1.5rem}.section-heading h2{font-size:2.35rem}.stall-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:15px}.stall-card{padding:1.35rem;border:1px solid var(--line);border-radius:18px;background:var(--cream);cursor:pointer;transition:transform .18s,box-shadow .18s}.stall-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.stall-card-top{display:flex;justify-content:space-between;gap:1rem}.stall-code{font:700 1.3rem Georgia,serif}.status{font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#398061}.status.attention{color:#b25d45}.tenant{margin:1rem 0 1.7rem;font-size:.88rem;min-height:2.4em}.stall-bottom{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:.85rem;font-size:.75rem;color:var(--muted)}.stall-bottom strong{color:var(--ink);font-size:.86rem}.payment-table{padding:0;overflow:hidden}.payment-table-header,.payment-table-row{display:grid;grid-template-columns:1.2fr .75fr 1fr .9fr;gap:15px;padding:14px 18px;align-items:center}.payment-table-header{background:#eff5f2;font-size:.66rem;font-weight:800;letter-spacing:.1em;color:var(--muted)}.payment-table-row{border-top:1px solid var(--line);font-size:.86rem}.receipt{font-family:ui-monospace,SFMono-Regular,monospace;font-size:.75rem;color:var(--muted)}.report-card{padding:2rem;max-width:760px}.report-card p{color:var(--muted)}.report-total{font:clamp(3.2rem,8vw,6.4rem)/1 Georgia,serif;letter-spacing:-.07em;margin:2rem 0 2.5rem;color:var(--teal)}.report-breakdown{display:flex;gap:2rem;flex-wrap:wrap}.report-breakdown span{color:var(--muted);font-size:.78rem}.report-breakdown b{display:block;color:var(--ink);font-size:1rem;margin-bottom:4px}.empty-state{color:var(--muted);padding:2rem 0}.detail-back{margin-bottom:1rem}.stall-detail{max-width:800px}.detail-hero{padding:2rem;background:var(--teal);border-radius:23px;color:#fff}.detail-hero p{color:#d8edeb}.detail-hero h2{font:2.6rem Georgia,serif;margin:0}.detail-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);margin-top:1.3rem}.detail-stats div{background:var(--cream);padding:1rem}.detail-stats span{display:block;font-size:.73rem;color:var(--muted)}.detail-stats b{display:block;margin-top:.4rem}.is-hidden{display:none!important}@media(max-width:780px){.login-page{grid-template-columns:1fr}.login-art{min-height:30dvh;padding:2rem}.login-art p{font-size:2.8rem}.sun{width:70vw;height:70vw}.login-panel{padding:2rem}.login-copy{margin:3rem 0 2rem}.app-shell{display:block}.sidebar{z-index:3;position:fixed;left:0;top:0;transform:translateX(-100%);transition:transform .2s;width:250px}.sidebar.open{transform:translateX(0)}.workspace{padding:0 1.15rem 3rem}.topbar{height:115px}.menu-button{display:block}.metric-grid,.dashboard-grid{grid-template-columns:1fr}.metric-grid{margin:1.4rem 0}.payment-table-header{display:none}.payment-table-row{grid-template-columns:1fr auto}.payment-table-row span:nth-child(2),.payment-table-row span:nth-child(4){display:none}.detail-stats{grid-template-columns:1fr}.report-total{font-size:3.4rem}}
