
/* CVVC v2.8.7 — shared, local-only resident PWA design system. */
:root{--app-green:#006641;--app-dark:#043e2e;--app-ink:#172b28;--app-muted:#687e78;--app-paper:#fff;--app-bg:#f4f8f6;--app-line:#dfebe5;--app-soft:#e9f6ef;--app-red:#b23244;--app-amber:#8c631c;--app-shadow:0 6px 24px rgba(9,57,41,.045);--app-radius:20px;--app-text:16px}
html{scroll-padding-top:98px;-webkit-text-size-adjust:100%}body.cvapp{margin:0!important;min-height:100svh;background:var(--app-bg);color:var(--app-ink);font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;font-size:var(--app-text);line-height:1.5;padding-bottom:calc(82px + env(safe-area-inset-bottom,0px));width:100%;}
.cvapp *,.cvapp *:before,.cvapp *:after{box-sizing:border-box}.cvapp img{max-width:100%;height:auto}.cvapp a{color:var(--app-green)}.cvapp button,.cvapp input,.cvapp select,.cvapp textarea{font:inherit}.cvapp button,.cvapp a{-webkit-tap-highlight-color:transparent}.cvapp button{cursor:pointer}.cvapp button:disabled{cursor:default;opacity:.6}.cvapp :focus-visible{outline:3px solid #ddad35;outline-offset:3px}.cvapp [hidden]{display:none!important}.cvapp input,.cvapp select,.cvapp textarea{max-width:100%;min-width:0}.cvapp h1,.cvapp h2,.cvapp h3,.cvapp h4{line-height:1.3;margin:0 0 10px;font-weight:750;color:inherit;overflow-wrap:anywhere}.cvapp h1{font-size:24px}.cvapp h2{font-size:20px}.cvapp h3{font-size:17px}.cvapp p{margin:8px 0 12px}.cvapp small{font-size:.79em}.cvapp .app-icon{width:23px;height:23px;flex:none;display:inline-block;vertical-align:middle}.app-sr{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-skip{position:fixed;top:-80px;left:12px;z-index:9999;background:#fff;padding:12px}.app-skip:focus{top:12px}
.app-top{position:sticky;top:0;z-index:80;background:linear-gradient(115deg,#064c35,#006f49);color:#fff;box-shadow:0 2px 8px #003d2c0d;padding-top:env(safe-area-inset-top,0px)}.app-top-inner{max-width:1160px;min-height:72px;display:flex;align-items:center;gap:12px;padding:12px 24px;margin:auto}.cvapp .app-top h1{margin:0;font-size:19px;line-height:1.25;flex:1}.app-top-actions{margin-left:auto;display:flex;gap:10px;align-items:center}.cvapp a.app-brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none}.app-brand img{width:39px;height:39px;border-radius:50%;background:#fff;border:2px solid #fff}.app-brand b{display:block;font-size:17px;letter-spacing:-.1px}.app-brand small{font-size:10px;display:block;color:#d0e7dc;letter-spacing:.25px}.cvapp .app-icon-btn{width:42px;height:42px;border:0;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;background:transparent;color:inherit;text-decoration:none;position:relative;padding:8px}.cvapp .app-icon-btn:hover{background:#ffffff19}.app-avatar{display:flex;align-items:center;justify-content:center;width:35px;height:35px;border-radius:50%;background:#dceee5;color:#076144!important}.app-avatar .app-icon{width:20px;height:20px}.app-dot{background:#f37885;min-width:16px;height:16px;position:absolute;top:1px;right:1px;font-size:10px;line-height:16px;text-align:center;border-radius:100px;color:#fff}.app-mode{background:#e8f3c4;color:#214523;border-radius:30px;padding:5px 10px;font-size:10px;letter-spacing:.8px;font-weight:800}.app-main{max-width:1080px;padding:20px 22px 28px;margin:auto;width:100%}.app-main>*{min-width:0}.app-flatbar{display:flex;align-items:center;gap:10px;margin:0 0 18px;min-height:44px;justify-content:space-between;font-size:13px}.app-flat-label{display:flex;align-items:center;gap:7px;color:var(--app-muted)}.app-flat-label .app-icon{width:18px;height:18px}.app-flat-form{display:flex;align-items:center;gap:6px;max-width:66%;margin:0}.app-flat-form select{width:auto;max-width:100%;min-height:42px;border:1px solid var(--app-line);border-radius:12px;padding:7px 28px 7px 12px;background:#fff;color:var(--app-green);font-weight:700;font-size:14px}.app-flat-submit{border:0;background:var(--app-soft);color:var(--app-green);padding:8px;border-radius:9px;min-height:40px;font-size:12px;font-weight:700}.app-role{background:var(--app-soft);font-size:11px;padding:5px 9px;border-radius:20px;display:inline-block;vertical-align:middle;color:var(--app-green);margin-left:6px}.app-flat-selected{font-weight:800}.app-intro{position:relative;min-height:86px;padding:0 125px 14px 0;margin:0 0 4px;display:flex;flex-direction:column;justify-content:center}.app-intro h1{font-size:23px;letter-spacing:-.4px;margin:3px 0 0}.app-intro .app-name{font-size:14px;color:#385249;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:6px 0 0;word-break:break-word}.app-intro img{position:absolute;right:0;bottom:12px;width:102px;height:83px;object-fit:cover;object-position:center;border-radius:18px;mask-image:linear-gradient(90deg,transparent,#000 20%)}.app-eyebrow{font-size:10px;letter-spacing:1.45px;text-transform:uppercase;font-weight:800;color:var(--app-muted)}.app-home-grid{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,1fr);gap:20px;align-items:start}.app-home-grid>*{min-width:0}.app-home-primary{display:grid;gap:18px}.app-panel{background:#fff;border:1px solid var(--app-line);border-radius:var(--app-radius);padding:20px;box-shadow:var(--app-shadow);min-width:0;margin-bottom:18px}.app-panel p{color:var(--app-muted);font-size:14px}.app-panel-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}.app-panel-heading h2{font-size:17px;margin:0}.app-panel-heading a{font-size:12px;font-weight:700;text-decoration:none}.app-balance{background:linear-gradient(125deg,#fff4f2,#fffafb);border:1px solid #f5dedc;padding:21px;border-radius:20px;box-shadow:var(--app-shadow)}.app-balance.is-clear{background:linear-gradient(125deg,#ecf8f1,#f6fcf8);border-color:#cfebda}.app-balance-top{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#693e40;font-size:13px}.app-balance.is-clear .app-balance-top{color:#296445}.app-balance strong.app-amount{display:block;color:#aa253c;font-size:34px;line-height:1.2;letter-spacing:-.9px;margin:10px 0 6px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.app-balance.is-clear strong.app-amount{color:var(--app-green)}.app-balance-note{font-size:12px;color:#6f615e;margin:6px 0 16px}.app-balance .app-actions{margin-top:15px}.app-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.cvapp .app-btn,.cvapp .btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:11px 16px;border:1px solid var(--app-line);border-radius:12px;text-decoration:none;font-weight:700;font-size:14px;min-height:44px;line-height:1.35;white-space:normal;text-align:center;background:#fff;color:var(--app-green);box-shadow:none;overflow-wrap:anywhere}.app-btn .app-icon{width:17px;height:17px}.cvapp .app-primary,.cvapp .btn-primary{background:var(--app-green);color:#fff;border-color:var(--app-green)}.cvapp .app-light,.cvapp .btn-light{background:var(--app-soft);border-color:transparent;color:var(--app-green)}.cvapp .app-danger,.cvapp .btn-danger{background:#fff0f0;color:var(--app-red);border-color:#f5d3d8}.cvapp .app-btn:hover,.cvapp .btn:hover{filter:brightness(.97)}.cvapp .app-actions.equal>.app-btn{flex:1;min-width:0}.app-state{border-radius:20px;font-size:10px;padding:5px 9px;display:inline-flex;align-items:center;font-weight:800;letter-spacing:.2px;background:var(--app-soft);color:#1d684c}.app-state.unpaid,.app-state.due,.app-state.overdue{background:#ffe1e5;color:#b3253a}.app-state.partly,.app-state.part-paid,.app-state.partly-paid,.app-state.allocation_pending,.app-state.opening_pending,.app-state.review,.app-state.pending{background:#fff0ca;color:#8e6314}.app-state.reversed,.app-state.failed,.app-state.rejected{background:#fce6e9;color:#a5273b}.app-state.not_billed{background:#edf1f4;color:#586971}.app-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.cvapp .app-service{border-radius:16px;min-height:111px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:15px 6px 12px;text-decoration:none;color:var(--app-ink);text-align:center;border:1px solid transparent;transition:transform .15s ease,border-color .15s}.app-service .app-icon{width:24px;height:24px;margin-bottom:10px}.app-service b{font-size:12px;line-height:1.3;font-weight:700;overflow-wrap:anywhere}.app-service small{font-size:10px;color:var(--app-muted);margin-top:4px;line-height:1.3}.cvapp .app-service:hover{transform:translateY(-2px);border-color:#bed6c8}.tone-orange{background:#fff4e5;color:#bd7120}.tone-violet{background:#f0edff;color:#7861cd}.tone-blue{background:#eaf2ff;color:#397bc2}.tone-green{background:#e8f6ed;color:#228754}.tone-rose{background:#ffedf2;color:#c54e7e}.tone-teal{background:#e4f6f4;color:#288980}.app-service .app-icon,.app-icon-tile .app-icon{color:inherit}.app-service.tone-orange .app-icon{color:#da8b33}.app-service.tone-violet .app-icon{color:#826bd4}.app-service.tone-blue .app-icon{color:#337fe0}.app-service.tone-green .app-icon{color:#258353}.app-service.tone-rose .app-icon{color:#c3557a}.app-service.tone-teal .app-icon{color:#249283}.app-section{margin:22px 0}.app-section:first-child{margin-top:0}.app-notice-preview{background:#fff;border:1px solid var(--app-line);border-radius:16px;padding:16px;display:flex;gap:13px;text-decoration:none!important;box-shadow:var(--app-shadow);margin-bottom:10px;color:var(--app-ink)!important}.app-notice-preview>span:last-child{min-width:0}.app-notice-preview b{font-size:14px;display:block;line-height:1.4}.app-notice-preview p{font-size:12px;color:var(--app-muted);margin:5px 0 7px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.app-notice-preview small{color:#87958d;font-size:10px}.app-icon-tile{width:44px;height:44px;border-radius:14px;display:inline-flex;justify-content:center;align-items:center;flex:none}.app-treasurer-card{display:flex;align-items:center;gap:13px;background:linear-gradient(110deg,#fff7e8,#fffdf7);border:1px solid #efdfbd;border-radius:17px;padding:15px;text-decoration:none!important;color:var(--app-ink)!important}.app-treasurer-card b{display:block;font-size:14px}.app-treasurer-card small{display:block;font-size:11px;color:var(--app-muted);margin-top:3px}.app-treasurer-card>.app-icon:last-child{margin-left:auto;width:18px}.app-mini-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;font-size:12px;border-bottom:1px solid var(--app-line)}.app-mini-row:last-child{border:0}.app-mini-row strong{text-align:right}.app-muted{color:var(--app-muted)}.app-empty{padding:30px 16px;text-align:center;background:#fff;border:1px solid var(--app-line);border-radius:20px;margin-bottom:16px}.app-empty-icon{width:58px;height:58px;display:grid;place-items:center;margin:0 auto 14px;background:var(--app-soft);border-radius:20px;color:var(--app-green)}.app-empty h2{font-size:17px}.app-empty p{color:var(--app-muted);font-size:13px;max-width:480px;margin:0 auto}.app-note{background:#fff7e4;border:1px solid #ecdcb2;border-radius:13px;padding:12px 14px;font-size:12px;color:#775b24;margin:12px 0;overflow-wrap:anywhere}.app-note.info{background:#edf5fc;border-color:#d8e6f5;color:#315778}.app-note.error,.cvapp .notice.error{background:#fff0f1;border:1px solid #f1d5d8;color:#992f40}.app-note.success,.cvapp .notice.success{background:#eaf8f0;border:1px solid #cce9d7;color:#186040}.cvapp .notice{font-size:14px;padding:14px;border-radius:14px;margin:12px 0}.app-chip-row{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 18px}.cvapp .app-chip{padding:8px 14px;min-height:39px;border-radius:20px;border:1px solid var(--app-line);background:#fff;color:var(--app-muted);font-size:12px;white-space:nowrap;font-weight:650;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.app-chip.is-active,.cvapp .app-chip[aria-selected=true]{background:var(--app-green);border-color:var(--app-green);color:#fff}.app-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}.app-bill-card{background:#fff;border:1px solid var(--app-line);border-radius:18px;padding:19px;box-shadow:var(--app-shadow);min-width:0;margin-bottom:16px}.app-bill-head{display:flex;gap:12px;align-items:flex-start;justify-content:space-between}.app-bill-head h2{font-size:16px;margin:0 0 7px;line-height:1.4}.app-bill-head .app-state{flex:none;max-width:43%;white-space:normal;text-align:center}.app-bill-card .app-bill-number{font-size:10px;color:var(--app-muted);margin:0 0 7px;overflow-wrap:anywhere}.app-bill-dates{font-size:11px;color:var(--app-muted);margin:5px 0 13px}.app-bill-amounts{margin:10px 0 16px;display:grid;gap:7px}.app-bill-amounts>div{display:flex;justify-content:space-between;gap:16px;font-size:13px;color:var(--app-muted)}.app-bill-amounts strong{color:var(--app-ink);font-variant-numeric:tabular-nums;text-align:right}.app-bill-amounts .app-bill-total{border-top:1px dashed var(--app-line);padding-top:10px;margin-top:3px;font-weight:700;color:var(--app-ink)}.app-bill-amounts .app-bill-total strong{font-size:16px;color:var(--app-green)}.app-bill-card .app-actions{gap:8px}.app-bill-card .app-actions .app-btn{flex:1;padding:10px 9px;font-size:12px}.app-receipt{display:flex;align-items:center;gap:12px;border:1px solid var(--app-line);border-radius:15px;padding:15px;background:#fff;margin-bottom:10px}.app-receipt>div{min-width:0;flex:1}.app-receipt b{font-size:14px}.app-receipt small{display:block;font-size:11px;color:var(--app-muted);word-break:break-word}.app-receipt>.app-btn{flex:none;padding:10px;min-width:42px}.app-list{background:#fff;border:1px solid var(--app-line);border-radius:19px;overflow:hidden;margin:17px 0}.cvapp .app-list-link{display:flex;align-items:center;gap:13px;padding:16px;text-decoration:none;color:var(--app-ink);border-bottom:1px solid var(--app-line);min-width:0}.app-list-link:last-child{border:0}.app-list-link>span:nth-child(2){min-width:0;flex:1}.app-list-link b{display:block;font-size:14px}.app-list-link small{display:block;color:var(--app-muted);font-size:11px;margin-top:3px}.app-list-link>.app-icon:last-child{width:16px;height:16px;color:#87a296;margin-left:auto}.app-profile-hero{display:flex;gap:15px;align-items:center;background:#fff;border:1px solid var(--app-line);border-radius:20px;padding:19px;margin-bottom:18px}.app-profile-avatar{width:58px;height:58px;background:var(--app-green);border-radius:50%;display:grid;place-items:center;color:#fff;flex:none}.app-profile-avatar .app-icon{width:27px;height:27px}.app-profile-hero h1{font-size:18px;margin-bottom:5px}.app-profile-hero p{margin:0;font-size:12px;color:var(--app-muted)}.app-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.app-profile-grid div{padding:13px;background:var(--app-bg);border-radius:13px;min-width:0}.app-profile-grid span{display:block;font-size:11px;color:var(--app-muted)}.app-profile-grid b{display:block;font-size:13px;margin-top:5px;overflow-wrap:anywhere}.app-version{font-size:11px;color:#8d9e96;text-align:center;margin:20px 0}.app-logout{margin:0;padding:0}.app-logout button{color:var(--app-red)!important;background:transparent;width:100%;text-align:left;border:0;display:flex;align-items:center;gap:13px;padding:17px;font-size:14px;font-weight:700;min-height:56px}.app-notice-details{border:1px solid var(--app-line);border-radius:17px;background:#fff;margin-bottom:13px;scroll-margin-top:100px;overflow:hidden}.app-notice-details.pinned{border-left:4px solid #dfa44f}.app-notice-details>summary{list-style:none;cursor:pointer;display:flex;gap:12px;padding:18px;align-items:flex-start}.app-notice-details>summary::-webkit-details-marker{display:none}.app-notice-details>summary>div{min-width:0;flex:1}.app-notice-details>summary h2{font-size:15px;margin:7px 0}.app-notice-details>summary p{font-size:12px;line-height:1.5;color:var(--app-muted);margin:5px 0;white-space:normal;overflow-wrap:anywhere}.app-notice-details>summary small{color:var(--app-muted);font-size:10px}.app-notice-details>summary>.app-icon{width:17px;margin-top:6px}.app-notice-details[open]>summary>.app-icon{transform:rotate(180deg)}.app-notice-body{padding:0 18px 20px;word-break:break-word;font-size:14px;line-height:1.7}.app-notice-body .ack-form{border-top:1px solid var(--app-line);margin-top:16px;padding-top:15px}.app-checkbox{display:flex;gap:10px;align-items:flex-start;font-size:12px;margin:10px 0 15px}.app-checkbox input{width:18px;height:18px;flex:none;margin:2px 0;accent-color:var(--app-green)}.app-push-settings{border:1px dashed #cddfd4;border-radius:13px;padding:14px;margin-bottom:17px;font-size:12px;background:#fff}.app-push-settings summary{cursor:pointer;font-weight:700;color:var(--app-green);min-height:25px}.app-push-settings .app-btn{font-size:12px}.app-push-settings p{font-size:12px;color:var(--app-muted)}.app-bottom{position:fixed;z-index:90;bottom:0;left:0;width:100%;background:rgba(255,255,255,.98);border-top:1px solid var(--app-line);padding-bottom:env(safe-area-inset-bottom,0px);box-shadow:0 -3px 14px #07372104}.app-bottom-inner{display:flex;align-items:center;justify-content:space-around;gap:4px;max-width:720px;margin:auto;padding:9px 14px 8px}.cvapp .app-bottom a{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;color:#7a8a83;font-size:10px;font-weight:600;text-decoration:none;min-height:48px;min-width:0;border-radius:13px}.app-bottom a .app-icon{width:22px;height:22px}.cvapp .app-bottom a.is-active{color:var(--app-green);background:#eef8f2;font-weight:800}.app-bottom-treasurer{background:#fffcf5}.app-bottom-treasurer a{flex-direction:row!important;font-size:12px!important;gap:8px!important}.app-net-status{position:sticky;top:72px;z-index:81;background:#fff0ca;color:#70501a;text-align:center;padding:8px 12px;font-size:12px}.app-loadbar{position:fixed;top:0;left:0;height:3px;background:#e6bb46;width:0;z-index:200;opacity:0;pointer-events:none}.is-navigating .app-loadbar{opacity:1;animation:app-progress 8s ease-out forwards}.app-update{position:fixed;bottom:calc(85px + env(safe-area-inset-bottom,0px));left:50%;transform:translateX(-50%);max-width:650px;width:calc(100% - 24px);background:#fff;border:1px solid #bcd6c7;border-radius:16px;box-shadow:0 10px 40px #003e2933;z-index:120;padding:13px;display:flex;gap:10px;align-items:center}.app-update>div{flex:1}.app-update b{font-size:13px}.app-update small{display:block;font-size:11px;color:var(--app-muted)}.app-update .app-btn{font-size:12px}.app-toast{position:fixed;bottom:calc(85px + env(safe-area-inset-bottom,0px));left:50%;transform:translateX(-50%);z-index:180;background:#163e31;color:#fff;border-radius:13px;padding:12px 18px;max-width:600px;width:max-content;max-width:calc(100% - 24px);font-size:13px}.app-auth-body{padding-bottom:20px!important}.app-auth{max-width:1000px;margin:32px auto;padding:0 22px;display:grid;grid-template-columns:1fr 430px;gap:42px;align-items:center}.app-auth-story{padding:30px;position:relative}.app-auth-story h1{font-size:36px;line-height:1.18;letter-spacing:-.8px;max-width:320px}.app-auth-story p{font-size:15px;color:var(--app-muted);max-width:330px}.app-auth-story img{border-radius:24px;margin-top:23px;width:100%;height:300px;object-fit:cover}.app-auth-card{background:#fff;border:1px solid var(--app-line);border-radius:24px;box-shadow:var(--app-shadow);overflow:hidden}.app-auth-brand{text-align:center;padding:25px 26px 18px;position:relative}.app-auth-brand img{height:65px;width:65px;margin:0 auto 8px;border-radius:50%;background:#fff;position:relative}.app-auth-brand h1{font-size:21px;margin:0}.app-auth-brand p{font-size:12px;color:var(--app-muted);margin:5px 0}.app-auth-form{padding:0 26px 24px}.app-auth-form label:not(.app-checkbox){font-size:12px;display:block;font-weight:700;color:#3a5148;margin:13px 0 6px}.app-auth-input{position:relative}.app-auth-input>.app-icon{position:absolute;left:13px;top:15px;color:#82a496;width:19px;height:19px}.app-auth-input input{width:100%;min-height:49px;padding:12px 46px 12px 42px;border:1px solid #d9e5de;border-radius:11px;background:#fafcfb;color:var(--app-ink);font-size:16px}.app-auth-input button{position:absolute;right:4px;top:4px;height:40px;width:40px;border:0;background:transparent;color:#728980;border-radius:10px;display:grid;place-items:center;padding:0}.app-auth-options{display:flex;gap:10px;justify-content:space-between;align-items:center;margin:12px 0 16px}.app-auth-options .app-checkbox{font-size:11px;line-height:1.5;margin:0}.app-auth-options a{font-size:11px;white-space:nowrap;font-weight:700;text-decoration:none}.app-auth-form .app-login{width:100%;min-height:47px}.app-divider{display:flex;align-items:center;gap:14px;color:#91a098;font-size:11px;margin:18px 0}.app-divider:before,.app-divider:after{content:'';height:1px;background:var(--app-line);flex:1}.app-biometric{width:100%;font-size:13px!important}.app-new-registration{text-align:center;font-size:12px;color:var(--app-muted);margin:17px 0}.app-new-registration a{font-weight:700;text-decoration:none}.app-first-login{font-size:11px;color:var(--app-muted);border-top:1px solid var(--app-line);padding-top:14px;margin-top:13px}.app-first-login summary{font-size:12px;color:var(--app-green);cursor:pointer;font-weight:600}.app-auth-footer{max-width:1000px;margin:16px auto;text-align:center;color:#869d91;font-size:11px;padding:0 20px}.app-auth-footer button{display:inline-flex;align-items:center;gap:6px;background:transparent;border:0;color:var(--app-green);font-size:12px;padding:10px}.app-auth-footer .app-icon{width:16px;height:16px}.app-treasurer-banner{background:linear-gradient(110deg,#fff6e7,#fffdf8);border:1px solid #efdfbd;border-radius:18px;padding:20px;margin:0 0 20px}.app-treasurer-banner .app-actions{margin-top:14px}.app-treasurer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.app-treasurer-grid .app-service{padding:20px 10px;min-height:125px}.app-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:15px 0}.app-stat{border-radius:15px;padding:16px 12px;background:#fff;border:1px solid var(--app-line);min-width:0}.app-stat b{display:block;margin-top:7px;font-size:20px;letter-spacing:-.45px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.app-stat span{font-size:11px;color:var(--app-muted);display:block}.app-stat.stat-green{background:#edf8f1}.app-stat.stat-red{background:#fff0f0}.app-stat.stat-blue{background:#eff5ff}.app-form label{font-size:13px;font-weight:600;display:block;margin:12px 0 6px}.app-form select,.app-form input:not([type=checkbox]),.app-form textarea{width:100%;border:1px solid #d3e1d9;border-radius:11px;min-height:46px;background:#fff;padding:10px 12px;color:var(--app-ink);font-size:16px}.app-filter-grid{display:grid;grid-template-columns:2fr 1fr 1fr 2fr;gap:12px;align-items:end}.app-filter-grid>div{min-width:0}.app-report-card{background:#fff;border:1px solid var(--app-line);border-radius:16px;padding:16px;margin-bottom:12px}.app-report-card.current-flat{border-color:#73b998;background:#f6fcf8}.app-report-heading{display:flex;align-items:flex-start;gap:12px;justify-content:space-between}.app-report-heading b{font-size:17px}.app-report-heading small{font-size:11px;display:block;color:var(--app-muted);max-width:400px;overflow-wrap:anywhere}.app-report-figures{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;border-top:1px solid var(--app-line);padding-top:13px;margin-top:12px}.app-report-figures span{font-size:10px;display:block;color:var(--app-muted)}.app-report-figures b{font-size:14px;display:block;overflow-wrap:anywhere;font-variant-numeric:tabular-nums;margin-top:3px}.app-report-figures>div:last-child b{color:#ad3345}.app-flex-between{display:flex;justify-content:space-between;align-items:center;gap:12px}.app-export{display:flex;gap:7px;flex-wrap:wrap;margin-top:16px}.app-export .app-btn{font-size:12px;padding:9px 14px}.app-report-total{background:#e6f4ec;border:1px solid #c4ddce;border-radius:16px;padding:17px;margin:17px 0}.app-cards-register{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.app-standalone.is-installed{display:none!important}.app-pref-options{display:flex;gap:8px;flex-wrap:wrap}.app-pref-options button[aria-pressed=true]{background:var(--app-green);color:#fff}.app-help-content h2{font-size:16px;margin-top:24px}.app-help-content p{font-size:14px;color:var(--app-muted)}
/* Existing forms are re-skinned, not replaced; original names, CSRF fields and action handlers remain. */
.cvapp-legacy>.top,.cvapp-legacy>.footer,.cvapp-legacy .tr286-hero{display:none!important}.cvapp-legacy .erp-shell,.cvapp-legacy .container,.cvapp-legacy .resident-auth-wrap{max-width:1080px;width:100%;margin:0 auto;padding:22px;min-width:0}.cvapp-legacy .erp-head h1,.cvapp-legacy .erp-head h2{font-size:23px;line-height:1.35}.cvapp-legacy .erp-sub{font-size:13px}.cvapp-legacy .erp-card,.cvapp-legacy .card{border-radius:18px;padding:19px;border:1px solid var(--app-line);box-shadow:var(--app-shadow);min-width:0}.cvapp-legacy .erp-card h2,.cvapp-legacy .erp-card h3{font-size:18px;margin-bottom:12px}.cvapp-legacy .erp-card p{font-size:14px;line-height:1.6}.cvapp-legacy .erp-nav{gap:7px;display:flex;flex-wrap:wrap;margin-bottom:18px}.cvapp-legacy .erp-nav a{font-size:12px;padding:9px 12px;min-height:39px;border:1px solid var(--app-line);font-weight:650}.cvapp-legacy .erp-nav a.active{color:#fff;background:var(--app-green)}.cvapp-legacy .owner-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.cvapp-legacy .owner-summary>div{padding:13px;border-radius:13px;min-width:0}.cvapp-legacy .owner-summary span{font-size:11px}.cvapp-legacy .owner-summary b{font-size:20px;line-height:1.35;overflow-wrap:anywhere}.cvapp-legacy input:not([type=checkbox]):not([type=radio]),.cvapp-legacy select,.cvapp-legacy textarea{font-size:16px;min-height:45px;border-radius:11px}.cvapp-legacy .erp-actions{gap:8px}.cvapp-legacy .erp-actions .btn{font-size:13px;padding:10px 13px}.cvapp-legacy label{font-size:13px}.cvapp-legacy input[type=checkbox],.cvapp-legacy input[type=radio]{width:18px;height:18px;accent-color:var(--app-green)}.cvapp-legacy table{font-size:13px}.cvapp-legacy table td,.cvapp-legacy table th{overflow-wrap:anywhere}.cvapp-legacy .account-switch-bar{font-size:12px;padding:12px;border-radius:13px}.cvapp-legacy .erp-grid>*{min-width:0}.cvapp-legacy .metric{font-size:25px}.cvapp-legacy .gate-tabs a{font-size:13px;padding:9px 13px}.cvapp-legacy .gate-vehicle-grid{gap:14px}.cvapp-legacy .gate-vehicle-card h2,.cvapp-legacy .gate-vehicle-card h3{font-size:19px}.cvapp-legacy .payment-method-card h2{font-size:18px}.cvapp-legacy .erp-nav [href="attendance.php"]{display:none}.cvapp-legacy .select-flat-wrap{margin-top:10px}.app-readonly-note{font-size:12px;background:#eef6fc;border-radius:13px;padding:13px;color:#35576b}.app-modal{border:0;border-radius:20px;max-width:440px;width:calc(100% - 32px);padding:24px;color:var(--app-ink);box-shadow:0 15px 60px #002c244d}.app-modal::backdrop{background:#082c2466}.app-modal h2{font-size:20px}.app-modal p{font-size:14px;color:var(--app-muted)}.app-modal .app-btn{margin-top:12px}
@keyframes app-progress{0%{width:0}15%{width:28%}65%{width:76%}100%{width:91%}}
@media(min-width:1100px){.app-auth-body .app-top{display:none}.app-auth{min-height:calc(100svh - 90px);margin:0 auto}.app-auth-card{margin:20px 0}.app-auth-footer{margin-top:-20px}.app-home-grid{gap:26px}.app-main{padding-top:26px}.app-service{min-height:120px}}
@media(max-width:820px){.app-auth{grid-template-columns:1fr;max-width:440px;margin:20px auto;padding:0 18px;gap:0}.app-auth-story{display:none}.app-auth-brand{padding-top:25px;background:linear-gradient(180deg,#eaf5ef,#fff)}.app-auth-brand:before{content:'';position:absolute;inset:0 0 40%;opacity:.13;background:url('building.webp') center 51%/cover}.app-auth-brand h1,.app-auth-brand p{position:relative}.app-home-grid{grid-template-columns:1fr;gap:0}.app-home-primary{gap:0}.app-home-primary>.app-balance{margin-bottom:18px}.app-home-primary>.app-treasurer-card{margin-bottom:17px}.app-grid-2{grid-template-columns:1fr}.app-top-inner{min-height:65px;padding:10px 17px}.app-top{background:linear-gradient(110deg,#045333,#006f49)}.app-main{padding:16px 17px 24px;max-width:680px}.app-intro{min-height:81px}.app-intro h1{font-size:21px}.app-intro .app-name{font-size:13px}.app-balance{padding:19px}.app-balance strong.app-amount{font-size:30px}.app-section{margin:18px 0 22px}.app-panel{padding:17px}.app-service-grid{gap:10px}.app-service{min-height:107px!important}.app-service b{font-size:12px}.app-service small{font-size:10px}.app-cards-register{grid-template-columns:1fr;gap:0}.app-filter-grid{grid-template-columns:1fr 1fr}.app-filter-grid>div:first-child,.app-filter-grid>div:last-child{grid-column:1/-1}.app-report-figures{gap:8px}.app-top h1{font-size:17px!important}.app-stats{gap:8px}.app-stat{padding:12px 9px}.app-stat b{font-size:19px}.app-stat span{font-size:10px}.app-profile-grid{grid-template-columns:1fr 1fr}.app-treasurer-grid{grid-template-columns:1fr 1fr}.app-net-status{top:65px}.cvapp-legacy .erp-shell,.cvapp-legacy .container,.cvapp-legacy .resident-auth-wrap{padding:16px;max-width:680px}.cvapp-legacy .owner-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important}.cvapp-legacy .owner-summary b{font-size:19px}.cvapp-legacy .erp-card p{font-size:13px}.cvapp-legacy .mnt-form-grid>div,.cvapp-legacy .mnt-form-grid .wide{grid-column:1/-1}.cvapp-legacy .erp-grid{grid-template-columns:1fr;gap:14px}.cvapp-legacy .erp-grid .span-3,.cvapp-legacy .erp-grid .span-4,.cvapp-legacy .erp-grid .span-6,.cvapp-legacy .erp-grid .span-8,.cvapp-legacy .erp-grid .span-12{grid-column:1/-1}.cvapp-legacy .mnt-table-wrap.responsive table,.cvapp-legacy .mnt-table-wrap.responsive tbody,.cvapp-legacy .mnt-table-wrap.responsive tr{display:block;width:100%;min-width:0}.cvapp-legacy .mnt-table-wrap.responsive thead{display:none}.cvapp-legacy .mnt-table-wrap.responsive td{display:grid;width:100%;grid-template-columns:minmax(85px,37%) minmax(0,1fr);gap:9px;padding:8px;border:0;box-sizing:border-box;min-width:0;overflow-wrap:anywhere}.cvapp-legacy .mnt-table-wrap.responsive td:before{content:attr(data-label);font-size:11px;font-weight:650;color:var(--app-muted)}.cvapp-legacy .mnt-table-wrap.responsive tr{padding:8px 8px 12px;border-bottom:1px solid var(--app-line)}.cvapp-legacy .mnt-table-wrap.responsive td[colspan]{display:block}.cvapp-legacy .mnt-table-wrap.responsive td[colspan]:before{display:none}.cvapp-legacy .gate-vehicle-grid,.cvapp-legacy .gate-form-grid,.cvapp-legacy .payment-method-grid{grid-template-columns:1fr!important}.app-flat-form{max-width:64%}}
@media(max-width:370px){.app-top-inner{padding-inline:12px;gap:7px}.app-top-actions{gap:4px}.app-brand b{font-size:15px}.app-brand small{font-size:9px}.app-main{padding-inline:12px}.app-intro{padding-right:95px}.app-intro img{width:82px;height:78px}.app-intro h1{font-size:20px}.app-auth-form{padding:0 19px 22px}.app-auth-options{align-items:flex-start}.app-auth-options .app-checkbox{max-width:58%}.app-report-figures{grid-template-columns:1fr 1fr}.app-flat-label{font-size:11px}.app-flat-form select{font-size:12px}.app-update{flex-wrap:wrap}.app-profile-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.cvapp *{animation:none!important;transition:none!important;scroll-behavior:auto!important}.is-navigating .app-loadbar{width:85%;opacity:1}}
@media print{.app-top,.app-bottom,.app-flatbar,.app-net-status,.app-loadbar,.app-chip-row,.app-export,.app-no-print,.app-update,.app-toast{display:none!important}.cvapp{background:#fff!important;color:#111!important;font-size:11pt!important;padding:0!important}.app-main,.cvapp-legacy .erp-shell{max-width:none!important;padding:0!important}.app-panel,.app-report-card{box-shadow:none!important;border-color:#ccc;break-inside:avoid}.app-cards-register{display:block}.app-report-figures{grid-template-columns:repeat(4,1fr)}.app-report-heading b{font-size:12pt}.app-report-figures b{font-size:11pt}.app-state{border:1px solid #aaa}.app-report-card{margin-bottom:8pt;padding:8pt}.app-print-brand{display:block!important}.app-print-brand h1{font-size:17pt}.app-print-brand p{font-size:9pt}.app-actions{display:none!important}}

html[data-cvvc-reading="comfortable"] .cvapp :is(.app-panel p,.app-note,.app-bill-amounts>div,.app-notice-body,.app-help-content p){font-size:15px}
html[data-cvvc-reading="large"] .cvapp :is(.app-panel p,.app-note,.app-bill-amounts>div,.app-notice-body,.app-help-content p){font-size:17px}
html[data-cvvc-reading="large"] .cvapp :is(.app-service b,.app-list-link b,.app-chip){font-size:14px}
.cvapp-legacy .dr285-hero{display:none}.cvapp-legacy .dr285-main{max-width:1120px;margin:0 auto;padding:18px}.cvapp-legacy .dr285-toolbar a{min-height:40px}.cvapp-legacy .dr285-filter-grid select,.cvapp-legacy .dr285-filter-grid input{font-size:16px}

.app-auth-brand{position:relative;isolation:isolate;overflow:hidden}.app-auth-brand .app-auth-scene{position:absolute;z-index:-2;inset:0;width:100%;height:100%;border-radius:0;object-fit:cover;object-position:center 62%;opacity:.2}.app-auth-brand::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#f3faf352,#ffffffed)}.app-auth-brand>img:not(.app-auth-scene){background:#fff;border-radius:50%;padding:3px}.app-bill-tools{display:flex;flex-wrap:nowrap!important;gap:7px}.app-bill-tools .app-btn{flex:1;min-width:0;padding:10px 6px;font-size:12px;gap:5px}.app-bill-help{font-size:12px;color:var(--app-muted);margin:10px 0 16px}.app-bill-help summary{cursor:pointer;padding:4px 0}.app-bill-help p{font-size:12px}.cvapp-legacy .service-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 16px}.cvapp-legacy .service-tabs a[aria-current="page"]{background:var(--app-green);color:#fff}.cvapp-legacy .service-section[hidden]{display:none!important}.cvapp-legacy .simple-table th,.cvapp-legacy .simple-table td{white-space:normal;overflow-wrap:anywhere}
@media(max-width:680px){.cvapp-legacy .simple-table{min-width:0;width:100%}.cvapp-legacy .simple-table thead{display:none}.cvapp-legacy .simple-table,.cvapp-legacy .simple-table tbody,.cvapp-legacy .simple-table tr,.cvapp-legacy .simple-table td{display:block;min-width:0;width:100%;box-sizing:border-box}.cvapp-legacy .simple-table tr{padding:10px 0;border-bottom:1px solid #dbe8e1}.cvapp-legacy .simple-table td{border:0;padding:6px 10px}.cvapp-legacy .simple-table td[data-app-label]:before{content:attr(data-app-label);display:block;font-weight:700;color:#5d776c;font-size:11px;margin-bottom:3px}.cvapp-legacy .simple-table td[colspan]:before{content:none}}
@media(max-width:380px){.app-chip{padding:9px 10px;font-size:11px}.app-bill-tools .app-btn{font-size:11px}}

.app-money-stats .app-stat b{white-space:nowrap;overflow-wrap:normal;font-variant-numeric:tabular-nums}
@media(max-width:460px){.app-money-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}.app-money-stats>.app-stat:last-child:nth-child(odd){grid-column:1/-1}.app-money-stats .app-stat b{font-size:18px}}

.cvapp-legacy>header.top{display:block!important;background:transparent!important;color:var(--app-muted)!important;max-width:1080px;width:auto;margin:0 auto;padding:12px 18px 0!important;border:0;box-shadow:none;text-align:left}.cvapp-legacy>header.top h1{display:none}.cvapp-legacy>header.top p{display:block;font-size:13px!important;line-height:1.5;margin:0!important;color:var(--app-muted)!important}.app-selected-bill{padding:14px 16px;background:#eaf6ef;border:1px solid #cee5d7;border-radius:14px;margin-bottom:15px}.app-selected-bill span{font-size:12px;color:#516e60}.app-selected-bill h2{font-size:17px;margin:5px 0;line-height:1.4}
