:root{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;font-synthesis:none;color-scheme:dark;--bg:#141617;--surface:#1e2022;--raised:#26282a;--input:#191b1d;--ink:#eeece7;--muted:#a4a5a4;--border:#363838;--gold:#cfb783;--green:#cfb783;--soft:#343128;--red:#efaaa0;--amber:#ddbf84;--positive:#a8c6b3;font-size:16px;color:var(--ink);background:var(--bg)}
*{box-sizing:border-box}html{scroll-padding-top:84px;scrollbar-color:#5a5b58 var(--bg)}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{border:0;background:none;color:inherit;cursor:pointer}button:disabled{opacity:.5;cursor:wait}button,a,input,select,textarea{outline-offset:3px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--gold)}a{color:var(--gold);text-decoration:none}svg.icon{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}img{display:block;max-width:100%}h1,h2,h3,p{margin:0}h1{font-size:30px;font-weight:550;letter-spacing:.035em;line-height:1.3}h2{font-size:18px;font-weight:550}h3{font-size:16px;font-weight:550;line-height:1.5}p{line-height:1.7}button strong{font-weight:550}.money{font-variant-numeric:tabular-nums;letter-spacing:-.025em}.muted{color:var(--muted)}.small{font-size:13px;line-height:1.7}.tiny{font-size:12px}.danger{color:var(--red)}.positive{color:var(--positive)}.amber{color:var(--amber)}.grow{flex:1;min-width:0}.row{display:flex;align-items:center;gap:12px;min-width:0}.row>div{min-width:0}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.stack{display:grid;gap:12px}.row-title{font-size:15px;font-weight:550;line-height:1.6;overflow-wrap:anywhere}.row-sub{font-size:13px;color:var(--muted);line-height:1.65;margin-top:5px;overflow-wrap:anywhere}.row-sub:empty{display:none}[hidden]{display:none!important}
/* Quiet chrome with a fixed, thumb-sized mobile navigation. */
.sidebar,.crumb,.date-text,.header-actions>.avatar{display:none}.topbar{height:calc(64px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 20px 0;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #2e3031;background:#17191a;position:sticky;top:0;z-index:15}.mobile-brand{display:flex;align-items:center;gap:10px;font-weight:550;font-size:17px;letter-spacing:.1em}.brandmark{color:var(--gold);display:grid;place-items:center;flex:none}.brandmark .icon{width:26px;height:26px;stroke-width:1.2}.header-actions{display:flex;align-items:center;gap:15px}.demo-chip{font-size:12px;color:#b8b8b2;border:1px solid #454640;border-radius:30px;min-height:34px;padding:5px 12px}.avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#32322d;color:var(--gold);font-size:14px}.main{padding:25px 20px calc(105px + env(safe-area-inset-bottom));max-width:1800px}.bottom-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:fixed;inset:auto 0 0;z-index:20;padding:4px max(10px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));background:#1b1d1ff5;border-top:1px solid #3b3c3b;backdrop-filter:blur(18px)}.bottom-btn{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:58px;gap:5px;font-size:11px;color:#a1a29f;letter-spacing:.06em}.bottom-btn.active{color:var(--gold)}.bottom-btn.active:before{content:"";position:absolute;top:-5px;width:20px;height:2px;background:var(--gold);border-radius:2px}.bottom-btn.active .icon{stroke-width:2}.page-top{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:24px}.page-top h1{font-size:27px}.page-sub{font-size:13px;color:var(--muted);margin-top:7px}.page-top>div{min-width:0}.page-top>.solid-btn{font-size:14px;flex-shrink:0}
/* Inputs share one scale. 16 px also prevents automatic zoom on iPhone. */
.solid-btn,.outline-btn,.soft-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:11px 16px;min-height:46px;border-radius:8px;font-size:14px;line-height:1.4;font-weight:550;text-align:center;max-width:100%;transition:background .15s,border-color .15s}.solid-btn{color:#211f19;background:var(--gold);border:1px solid var(--gold)}.outline-btn{background:transparent;border:1px solid #53534d;color:var(--ink)}.soft-btn{background:var(--soft);border:1px solid #484234;color:#e0c994}.text-btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;color:var(--gold);min-height:44px;font-size:13px;padding:5px 0;line-height:1.5}.text-btn .icon{width:17px;height:17px}.park-picker,.filter-select{min-height:46px;max-width:100%;min-width:0;border:1px solid #41433f;border-radius:8px;padding:10px 30px 10px 13px;background:var(--surface);color:var(--ink);font-size:16px}.park-picker{max-width:146px}.field{display:block;min-width:0}.field>span{display:block;font-size:13px;color:#c1c2bc;margin-bottom:8px}.field small{display:block;font-size:12px;color:var(--muted);line-height:1.7;margin-top:6px}.field input,.field select,.field textarea,.searchbox input{display:block;width:100%;min-width:0;max-width:100%;border:1px solid #484a47;background:var(--input);color:var(--ink);border-radius:8px;padding:12px;min-height:48px;font-size:16px;line-height:1.4}.field input[type=date]{min-height:49px;appearance:none;-webkit-appearance:none}.field input[type=file]{padding:8px;line-height:1.8;overflow:hidden;font-size:14px}.field input::file-selector-button{border:0;border-radius:5px;padding:8px 10px;margin-right:10px;background:#454139;color:var(--ink);font:inherit}.field textarea{min-height:105px;resize:vertical}.field textarea::placeholder,.field input::placeholder,.searchbox input::placeholder{color:#92958f;opacity:1}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px 14px}.form-grid>.field{grid-column:1/-1}.span-2{grid-column:1/-1}.form-section{margin-bottom:30px}.form-section h3{padding-bottom:13px;border-bottom:1px solid var(--border);margin-bottom:19px}.form-section h3:empty{display:none}.filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.filters .searchbox{flex:1 1 180px;min-width:0}.searchbox{position:relative;display:block}.searchbox input{padding-left:42px}.searchbox>.icon{position:absolute;left:13px;top:15px;width:19px;height:19px;color:var(--muted)}.filters>.filter-select{flex:0 0 auto}.tabs{display:flex;gap:4px;max-width:100%;overflow-x:auto;scrollbar-width:none;border-bottom:1px solid var(--border);margin-bottom:20px;flex-wrap:nowrap}.tabs::-webkit-scrollbar{display:none}.tab{min-height:48px;padding:10px 13px;white-space:nowrap;color:var(--muted);font-size:14px;border-bottom:2px solid transparent}.tab.active{color:var(--gold);border-color:var(--gold)}.selector-row{display:flex;gap:7px;overflow-x:auto;margin:2px 0 22px;scrollbar-width:none}.pill{flex:none;min-height:44px;border:1px solid var(--border);border-radius:7px;padding:10px 13px;font-size:13px;color:var(--muted)}.pill.active{background:var(--soft);color:var(--gold);border-color:#645844}
/* Overview: one financial headline followed by directly comparable parks. */
.overview-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}.eyebrow{font-size:12px;letter-spacing:.07em;color:var(--muted);margin-bottom:9px}.heading-count{font-size:14px;font-weight:400;color:var(--gold);letter-spacing:.1em;vertical-align:top;display:inline-block;margin:4px 0 0 13px}.portfolio-summary{border:1px solid #47453d;border-radius:13px;overflow:hidden;background:linear-gradient(115deg,#30312e,#242628 55%,#202224);box-shadow:inset 0 1px #ffffff08}.summary-money{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:15px;padding:22px 18px 21px;align-items:center}.summary-label{display:flex;align-items:center;gap:7px;font-size:12px;color:#cdc7b7}.summary-label>span:last-child{color:#aaa79d;margin-left:auto;font-size:11px}.gold-dot{width:5px;height:5px;border-radius:50%;background:var(--gold);flex:none}.summary-primary>strong{display:block;font-size:clamp(25px,7.2vw,36px);line-height:1.2;font-weight:400;letter-spacing:-.055em;margin:12px 0 9px;overflow-wrap:anywhere}.summary-primary>p{font-size:11px;color:#b7b5ac;overflow-wrap:anywhere;line-height:1.6}.summary-secondary{text-align:left;border-left:1px solid #515047;padding:0 0 0 15px;min-width:0;min-height:88px}.summary-secondary>span{font-size:11px;color:#c2bdb1;display:flex;align-items:center;gap:4px}.summary-secondary>span>.icon{width:13px;height:13px}.summary-secondary>strong{display:block;font-weight:450;font-size:clamp(19px,5.4vw,26px);color:var(--gold);margin:12px 0 9px;overflow-wrap:anywhere}.summary-secondary>small{font-size:11px;color:#a8a9a1}.summary-properties{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #44453e;background:#15171835;padding:17px 8px}.summary-properties>div,.summary-properties>button{text-align:center;padding:0 4px;border-right:1px solid #42443e}.summary-properties>:last-child{border:0}.summary-properties strong{display:block;font-size:24px;font-weight:450;line-height:1.1;font-variant-numeric:tabular-nums}.summary-properties strong>small{font-size:12px;margin-left:2px;color:#c5c4bb}.summary-properties span{font-size:11px;display:flex;justify-content:center;align-items:center;gap:0;color:#b3b4ac;margin-top:8px}.summary-properties .icon{width:11px;height:11px}.daily-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:14px 0 29px}.daily-actions button{padding:11px 6px;font-size:13px;min-height:46px;gap:5px}.daily-actions .icon{width:17px;height:17px}.section-heading{display:flex;justify-content:space-between;align-items:center;min-width:0;gap:12px;margin-bottom:16px}.section-heading>span{font-size:11px;color:var(--muted);line-height:1.5;text-align:right}.section-heading h2{font-size:17px;letter-spacing:.025em;white-space:nowrap}.section-heading h3{font-size:15px}.section-heading>.text-btn{min-height:28px}.park-portfolios{display:grid;grid-template-columns:minmax(0,1fr);gap:15px}.park-portfolio{min-width:0;border:1px solid #393b39;border-radius:11px;background:var(--surface);overflow:hidden}.park-portfolio-heading{display:flex;align-items:center;gap:13px;padding:20px 18px 15px}.park-number{font-family:Georgia,"Times New Roman",serif;color:#a99a7a;font-size:34px;line-height:1;letter-spacing:-.06em;min-width:34px}.park-portfolio-heading h3{font-size:19px;font-weight:500;letter-spacing:.04em}.park-portfolio-heading p{font-size:11px;color:var(--muted);margin-top:5px}.park-portfolio-heading p>span{margin:0 5px;color:#666960}.portfolio-ratio{font-size:26px;font-weight:350;line-height:1;white-space:nowrap;color:#ddceac}.portfolio-ratio>small{font-size:12px;margin-left:2px}.portfolio-ratio>span{display:block;text-align:right;font-size:10px;color:var(--muted);margin-top:7px;letter-spacing:.05em}.occupancy-line{height:3px;background:#3c3e39;margin:0 18px}.occupancy-line>span{display:block;height:100%;background:#aa9771}.park-routes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:17px 0}.property-route{display:flex;align-items:center;gap:10px;text-align:left;min-width:0;min-height:48px;padding:0 16px}.property-route+.property-route{border-left:1px solid var(--border)}.route-icon{display:grid;place-items:center;color:#b6b09f}.route-icon>.icon{width:23px;height:23px;stroke-width:1.25}.property-route strong{display:block;font-size:13px;color:#d5d5cf;white-space:nowrap;font-weight:400}.property-route strong>b{font-size:21px;font-weight:450;color:var(--ink);margin:0 3px 0 7px;font-variant-numeric:tabular-nums}.property-route strong>small{font-size:11px;color:#a6a79f}.property-route .grow>span{font-size:11px;color:#acbba9;display:block;margin-top:5px}.property-route>.icon{width:13px;height:13px;color:#95978d}.park-financial{width:100%;display:flex;align-items:center;gap:14px;border-top:1px solid #373a36;background:#1b1d1e;padding:13px 18px;text-align:left;min-height:64px}.park-financial>span{min-width:0;flex:1}.park-financial small{font-size:10px;color:var(--muted);display:block;margin-bottom:6px}.park-financial strong{font-size:18px;display:block;font-weight:450;overflow-wrap:anywhere}.park-financial .park-overdue{text-align:right;flex:.85}.park-overdue strong{font-size:15px}.park-financial>.icon{width:13px;height:13px;color:#a9a998}.overview-bottom{display:grid;grid-template-columns:minmax(0,1fr);gap:25px;margin-top:32px}.overview-list{min-width:0}.overview-list>.section-heading{margin-bottom:3px;padding-bottom:13px;border-bottom:1px solid #373a36}.overview-event{display:flex;align-items:center;gap:12px;padding:15px 0;width:100%;text-align:left;border-bottom:1px solid #303330;min-width:0}.overview-event strong{font-size:14px;font-weight:500;line-height:1.6;overflow-wrap:anywhere}.overview-event p{font-size:12px;color:var(--muted);margin-top:5px}.event-payment{display:flex;flex-direction:column;align-items:flex-end;flex-shrink:0}.event-payment>.money{font-size:14px}.event-payment>.text-btn{min-height:36px}.overview-event time{font-size:12px;color:#c4b389;white-space:nowrap}.overview-event>.icon{width:15px;height:15px;color:#92958d}.empty-note{padding:24px 0;font-size:13px;color:var(--muted)}
/* Property directories and financial records. */
.floor-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:26px 0 13px}.floor-head h2{font-size:14px;color:#cfcec5;font-weight:500;line-height:1.5}.floor-head>span{flex-shrink:0;font-size:12px}.room-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.room{min-width:0;min-height:128px;padding:16px 14px;text-align:left;background:var(--surface);border:1px solid #3e413b;border-radius:9px}.room.vacant{background:#242b26;border-color:#576451}.room.overdue{border-color:#74574f}.room-no{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:26px;font-weight:450;line-height:1.15}.room-photo-count{display:flex;align-items:center;gap:4px;color:#a9a89e;font-size:11px}.room-photo-count>.icon{width:15px;height:15px}.room-name{font-size:12px;color:var(--muted);line-height:1.5;margin:10px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.badge{display:inline-flex;align-items:center;gap:5px;flex-shrink:0;font-size:11px;line-height:1.5;border-radius:4px;padding:4px 7px;white-space:nowrap}.badge.green{background:#303c32;color:#b7d2bb}.badge.red{background:#42312e;color:#f0b0a5}.badge.gray{background:#323431;color:#bec0b7}.badge.amber{background:#433b2d;color:#e0c58c}.workshop-grid,.list-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}.workshop{min-width:0;text-align:left;border:1px solid var(--border);border-radius:10px;background:var(--surface);padding:20px;overflow:hidden}.workshop-cover{width:calc(100% + 40px);max-width:none;margin:-20px -20px 20px;height:175px;object-fit:cover}.workshop-title{display:flex;align-items:center;gap:12px;margin-bottom:18px}.workshop-title h3{font-size:21px;font-weight:450}.park-symbol{color:var(--gold);width:31px;display:grid;place-items:center}.record-card{min-width:0;border:1px solid var(--border);border-radius:10px;background:var(--surface);padding:19px 17px}.record-card>.row{align-items:flex-start}.record-card h3{font-size:16px;overflow-wrap:anywhere}.record-card>.row-sub{margin-top:10px}.record-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px 15px;margin:22px 0}.record-grid>div:last-child{grid-column:1/-1}.record-grid .label{font-size:12px;color:var(--muted);margin-bottom:7px;line-height:1.5}.record-grid .value{font-size:14px;line-height:1.5;overflow-wrap:anywhere}.record-grid .value.money{font-size:21px;font-weight:450}.record-actions{border-top:1px solid var(--border);padding-top:16px;display:flex;gap:10px;flex-wrap:wrap}.record-actions>*{flex:1;min-width:0}.stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px;margin-bottom:25px}.stat{border:1px solid var(--border);border-radius:10px;background:var(--surface);padding:20px 15px;min-width:0}.stat-label{font-size:12px;color:var(--muted)}.stat-value{font-size:clamp(21px,5.4vw,32px);font-weight:450;margin-top:13px;overflow-wrap:anywhere;line-height:1.3}.stat-note{font-size:11px;color:var(--muted);line-height:1.6;margin-top:10px}.empty{padding:42px 20px;text-align:center;font-size:14px;color:var(--muted);line-height:1.8;border:1px dashed #494d44;border-radius:10px;grid-column:1/-1}.notice,.demo-note{background:#2d2c27;color:#c6c1b0;border:1px solid #464337;font-size:13px;line-height:1.8;padding:15px;border-radius:8px;margin-bottom:20px}.panel{border:1px solid var(--border);background:var(--surface);border-radius:10px;overflow:hidden}.settings-row{display:flex;align-items:center;gap:15px;text-align:left;width:100%;padding:19px 16px;border-bottom:1px solid var(--border);min-height:86px}.settings-row:last-child{border:0}.settings-row>.icon{color:var(--gold);width:21px;height:21px}.settings-row>.icon:last-child{width:16px;height:16px;color:#94978e}.settings-row .row-title{font-size:15px}.settings-row .row-sub{font-size:12px}.section-gap{margin-top:24px}.log{padding:16px 0;border-bottom:1px solid var(--border)}.log:last-child{border:0}
/* A true full-screen mobile detail, with its own scrolling and safe-area actions. */
html:has(dialog[open]){overflow:hidden}dialog{color:var(--ink);background:var(--surface);border:1px solid #4b4c44;padding:0;width:100%;max-width:100%;height:100dvh;max-height:100dvh;position:fixed;inset:0;margin:0;border-radius:0;overflow:hidden;box-shadow:0 24px 100px #0007}dialog[open]{display:flex;flex-direction:column}dialog::backdrop{background:#070908b5;backdrop-filter:blur(8px)}.modal-head{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:calc(10px + env(safe-area-inset-top)) 20px 10px;flex:none;min-height:67px;background:#222426;border-bottom:1px solid #40423c;z-index:3}.modal-head h2{font-size:17px;font-weight:500;line-height:1.5;overflow-wrap:anywhere}.close-btn{display:grid;place-items:center;border:1px solid #4a4c45;border-radius:50%;width:42px;height:42px;flex:none;color:#d7d6cc}.close-btn>.icon{width:20px;height:20px}.modal-body{padding:23px 20px calc(24px + env(safe-area-inset-bottom));min-height:0;flex:1;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;scrollbar-gutter:stable}.modal-body>p{margin:0 0 16px}.modal-body form>h3+p{margin:8px 0 21px}.modal-foot{position:sticky;bottom:calc(-24px - env(safe-area-inset-bottom));display:flex;gap:10px;justify-content:flex-end;border-top:1px solid #45463d;background:#1e2022f7;backdrop-filter:blur(12px);padding:14px 0 calc(16px + env(safe-area-inset-bottom));margin-top:25px;z-index:2}.modal-foot>*{flex:1;min-width:0;min-height:48px}.errors{font-size:14px;color:var(--red);line-height:1.7;margin-top:14px;overflow-wrap:anywhere}.errors:empty{display:none}.detail-header{display:flex;align-items:center;gap:15px;margin-bottom:24px}.detail-no{font-size:30px;font-weight:450}.detail-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:21px 16px;border:1px solid var(--border);background:var(--input);border-radius:9px;padding:18px;margin:20px 0}.detail-facts span{display:block;font-size:12px;color:var(--muted);margin-bottom:7px}.detail-facts strong{font-size:14px;font-weight:450;line-height:1.6;overflow-wrap:anywhere}.bill-line{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:14px 0;font-size:14px;line-height:1.6;border-bottom:1px solid var(--border)}.bill-line>*{min-width:0;overflow-wrap:anywhere}.bill-line:last-child{border:0}.bill-total{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 16px;border:1px solid #514c3d;background:#343128;border-radius:8px;margin-top:18px;font-size:13px}.bill-total strong{font-size:23px;font-weight:450;color:var(--gold);overflow-wrap:anywhere}.meter-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:17px}.meter-box{padding:18px;border:1px solid var(--border);border-radius:9px;background:#1a1c1d}.meter-box h3{display:flex;align-items:center;gap:8px;margin-bottom:18px}.meter-result{margin-top:16px;font-size:13px;color:var(--muted);line-height:1.8}.meter-result strong{color:var(--gold)}.property-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;max-height:260px;overflow-y:auto;padding:3px}.property-check{display:flex;align-items:center;gap:9px;border:1px solid #4d5046;border-radius:7px;padding:13px 10px;font-size:13px;line-height:1.4;min-height:48px}.property-check input{accent-color:var(--gold);width:20px;height:20px;flex:none}.property-check:has(input:checked){background:#3b372e;border-color:var(--gold)}
/* Real site photos and property measurements. */
.archive-title-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:23px}.archive-title-row p{font-size:12px;color:var(--muted);margin-bottom:9px}.archive-title-row h3{font-size:34px;line-height:1.1;font-weight:450;letter-spacing:.025em}.archive-measures{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:23px 20px;padding-bottom:24px;margin-bottom:25px;border-bottom:1px solid var(--border)}.archive-measures span{font-size:12px;color:var(--muted);display:block;margin-bottom:8px}.archive-measures strong{font-size:23px;line-height:1.3;font-weight:450;display:block;color:#e8ddc1}.archive-measures strong>small{font-size:12px;font-weight:400;margin-left:5px;color:var(--muted)}.archive-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:27px}.archive-layout>section{min-width:0}.archive-cover{aspect-ratio:4/3;background:#151718;border:1px solid #42463e;border-radius:9px;overflow:hidden;display:grid;place-items:center}.archive-cover>button{width:100%;height:100%;padding:0;min-height:0}.archive-cover img{width:100%;height:100%;object-fit:contain}.archive-cover.is-empty{aspect-ratio:auto;min-height:195px;background:#1a1c1d;border-style:dashed}.archive-empty{text-align:center;padding:23px 16px}.archive-empty>.icon{width:29px;height:29px;color:#b5a682;stroke-width:1.2;display:block;margin:0 auto 13px}.archive-empty strong{font-size:14px;font-weight:450;color:#c4c4b9}.archive-empty p{font-size:12px;color:var(--muted);margin:8px 0 14px}.archive-empty .outline-btn{font-size:13px;min-height:42px}.archive-thumbnails{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:10px}.archive-thumb{padding:0;aspect-ratio:4/3;border-radius:6px;overflow:hidden;background:#151718;border:1px solid #44483e}.archive-thumb img{width:100%;height:100%;object-fit:cover}.archive-photo-note{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px;color:var(--muted);margin-top:10px;line-height:1.6}.archive-photo-note>.text-btn{min-height:36px}.archive-section{margin-top:25px}.archive-section h3{font-size:15px;margin-bottom:13px}.archive-description{font-size:13px;color:#b6b9ae;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere}.archive-inventory{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.archive-inventory>.archive-description{grid-column:1/-1}.inventory-item{display:flex;flex-wrap:wrap;justify-content:space-between;align-content:flex-start;gap:5px 10px;border:1px solid var(--border);border-radius:7px;padding:12px;font-size:13px;background:#242725;min-width:0}.inventory-item strong{font-weight:450;overflow-wrap:anywhere}.inventory-item>span{color:var(--gold)}.inventory-item small{flex-basis:100%;color:var(--muted);font-size:11px;line-height:1.6;overflow-wrap:anywhere}.archive-rent{border-top:1px solid var(--border);margin-top:26px;padding-top:23px}.archive-rent-amount{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:20px 0}.archive-rent-amount>span{font-size:11px;color:var(--muted)}.archive-rent-amount strong{display:block;font-size:19px;color:var(--ink);font-weight:450;margin-top:8px;overflow-wrap:anywhere}.archive-rent-amount small{display:block;font-size:11px;color:var(--muted);font-weight:400;margin-top:5px;line-height:1.5}.archive-rent>.solid-btn{margin-top:14px;width:100%}.archive-cloud{font-size:12px;color:var(--muted);line-height:1.7;margin-top:26px}.archive-cloud.error,.archive-photo-status.error{color:var(--red)}.inventory-edit-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px;padding:18px;border:1px solid #40433b;background:#1a1c1d;border-radius:8px;margin-bottom:12px}.inventory-edit-row>.field:first-child,.inventory-edit-row>.field:last-child{grid-column:1/-1}.inventory-edit-row .field>span{font-size:12px}.photo-full{width:100%;max-height:65dvh;object-fit:contain;background:#111314;border-radius:7px}.photo-caption{font-size:14px;line-height:1.7;margin:18px 0 10px;overflow-wrap:anywhere}.archive-photo-status{font-size:14px;color:var(--gold);min-height:24px;line-height:1.7;margin-top:14px}
/* Contract paper remains white and printable. */
.contract-paper{color-scheme:light;font-family:"Songti SC",SimSun,serif;color:#222;background:#fff;padding:24px 16px;border-radius:3px;line-height:1.9;font-size:14px;margin-top:20px;overflow-wrap:anywhere}.contract-paper h2{font-size:23px;text-align:center;margin:5px 0 13px;color:#111}.contract-paper p{line-height:1.9;margin:12px 0}.contract-paper .contract-meta{text-align:center;font-size:12px;color:#626761}.contract-paper .contract-stamp{text-align:center;font-size:12px;color:#826627;border-bottom:1px solid #ddd;padding-bottom:16px;margin-bottom:21px}.contract-paper .signature{display:grid;grid-template-columns:minmax(0,1fr);gap:17px;margin-top:28px}.contract-paper table{border-collapse:collapse;width:100%;font-size:13px;margin:16px 0}.contract-paper td{border:1px solid #bbb;padding:9px;overflow-wrap:anywhere}.contract-paper td:first-child{width:28%;color:#444}#print-area{display:none}#toast{position:fixed;bottom:calc(90px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%) translateY(12px);opacity:0;pointer-events:none;z-index:100;width:max-content;max-width:calc(100% - 40px);border:1px solid #73644a;border-radius:9px;padding:13px 19px;background:#3a3529;color:#f3e8ce;font-size:14px;line-height:1.7;box-shadow:0 10px 30px #0005;transition:.2s}#toast.visible{opacity:1;transform:translateX(-50%) translateY(0)}.mobile-only{display:block}.desktop-only{display:none}
@media(min-width:480px){.main{padding-left:28px;padding-right:28px}.summary-money{padding:25px;gap:25px}.summary-primary>strong{font-size:40px}.summary-primary>p,.summary-secondary>small,.summary-label{font-size:12px}.summary-secondary>span{font-size:12px}.summary-secondary>strong{font-size:28px}.summary-properties strong{font-size:27px}.summary-properties span{font-size:12px}.room-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid>.field{grid-column:auto}.form-grid>.span-2{grid-column:1/-1}.inventory-edit-row{grid-template-columns:1.4fr .6fr .7fr}.inventory-edit-row>.field:first-child{grid-column:auto}.inventory-edit-row>.field:last-child{grid-column:1/-1}.archive-measures{grid-template-columns:repeat(4,minmax(0,1fr))}.archive-measures strong{font-size:20px}.contract-paper{padding:27px}.contract-paper .signature{grid-template-columns:1fr 1fr}}
@media(min-width:700px){.main{padding-top:32px}.overview-heading{margin-bottom:25px}.overview-heading h1{font-size:34px}.portfolio-summary{display:grid;grid-template-columns:1.35fr 1fr}.summary-money{gap:20px;padding:27px 23px}.summary-primary>strong{font-size:34px}.summary-secondary{padding-left:17px}.summary-secondary>strong{font-size:25px}.summary-properties{grid-template-columns:1fr 1fr;border-top:0;border-left:1px solid #44463e;padding:25px 16px;gap:20px 6px;align-items:center}.summary-properties>div:nth-child(2){border:0}.summary-properties strong{font-size:25px}.daily-actions{max-width:560px;margin-bottom:32px}.daily-actions button{font-size:14px}.park-portfolios{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.park-portfolio-heading{padding:22px 15px 20px;gap:10px;flex-wrap:wrap}.park-number{font-size:29px;min-width:30px}.park-portfolio-heading h3{font-size:17px}.park-portfolio-heading p{font-size:10px}.portfolio-ratio{display:none}.park-routes{grid-template-columns:1fr;padding:9px 0}.property-route{padding:13px 17px}.property-route+.property-route{border:0}.property-route strong{font-size:14px}.property-route .grow>span{font-size:12px}.park-financial{padding:17px 15px;gap:9px;flex-wrap:wrap}.park-financial>span{flex:1 1 100%}.park-financial .park-overdue{flex:1;text-align:left}.park-financial small{font-size:11px}.park-financial strong{font-size:21px}.park-financial .park-overdue strong{font-size:15px}.park-financial>.icon{margin-left:auto}.section-heading>span{font-size:12px}.overview-bottom{grid-template-columns:1.15fr 1fr;gap:26px;margin-top:35px}.list-grid,.workshop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.record-card{padding:22px}.room-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.topbar{padding-left:28px;padding-right:28px}.stats .stat-value{font-size:33px}.stat{padding:24px}.stat-label{font-size:14px}.stat-note{font-size:12px}dialog{inset:0;margin:auto;width:min(700px,calc(100% - 60px));height:auto;max-height:88dvh;border-radius:14px;max-width:100%;border:1px solid #4b4c44}.modal-head{padding:16px 26px;min-height:75px}.modal-head h2{font-size:20px}.modal-body{padding:26px}.modal-foot{bottom:-26px;padding:16px 0 0;background:var(--surface)}.modal-foot>*{flex:0 1 auto;min-width:130px}.property-archive-modal,.photo-preview-dialog{width:min(1000px,calc(100% - 60px))}.archive-layout{grid-template-columns:1fr 1fr;gap:28px}.archive-cover.is-empty{min-height:220px}.archive-measures{gap:20px}.archive-measures strong{font-size:25px}.meter-grid{grid-template-columns:1fr 1fr}.property-checks{grid-template-columns:repeat(3,minmax(0,1fr))}.mobile-only{display:none}.desktop-only{display:block}}
@media(min-width:1100px){.sidebar{display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;width:212px;background:#191b1d;border-right:1px solid #343632;z-index:20;padding:35px 17px 27px}.brand{display:flex;align-items:center;gap:13px;font-size:21px;font-weight:500;letter-spacing:.05em;padding:0 10px}.brandmark .icon{width:30px;height:30px}.brand-sub{font-size:10px;color:#9c9f94;letter-spacing:.13em;margin-top:9px;font-weight:400}.nav-list{display:grid;gap:10px;margin-top:52px}.nav-btn{display:flex;align-items:center;gap:16px;min-height:49px;padding:12px 18px;color:#a7aaa0;text-align:left;font-size:14px;border-radius:7px;position:relative}.nav-btn.active{background:#302f29;color:var(--gold)}.nav-btn.active:before{content:"";position:absolute;left:0;width:2px;height:19px;background:var(--gold)}.nav-btn .icon{width:20px;height:20px}.side-foot{margin-top:auto;border-top:1px solid #35382f;padding:22px 8px 0}.side-foot .row-sub{font-size:11px}.topbar{height:72px;margin-left:212px;padding:0 37px;position:relative;background:var(--bg);border-bottom:1px solid #30332e}.crumb{display:block;font-size:12px;color:var(--muted)}.crumb strong{font-weight:400;color:#dbd8cb}.date-text{display:block;font-size:12px}.header-actions>.avatar{display:grid}.mobile-brand,.bottom-nav{display:none}.main{margin-left:212px;padding:34px 37px 55px}.overview-heading{margin-bottom:28px}.overview-heading .eyebrow{display:none}.overview-heading h1{font-size:32px}.portfolio-summary{grid-template-columns:1.4fr 1fr}.summary-money{padding:29px}.summary-primary>strong{font-size:40px}.summary-secondary>strong{font-size:29px}.summary-properties{grid-template-columns:repeat(4,1fr);gap:0;padding:25px 12px}.summary-properties>div:nth-child(2){border-right:1px solid #42443e}.daily-actions{margin-top:17px;margin-bottom:35px}.park-portfolios{gap:20px}.park-portfolio-heading{padding:25px 21px 22px}.park-portfolio-heading h3{font-size:20px}.park-portfolio-heading p{font-size:12px}.park-number{font-size:36px;min-width:37px}.occupancy-line{margin:0 21px}.property-route{padding:15px 22px}.property-route strong>b{font-size:25px;margin-left:10px}.park-financial{padding:18px 21px}.park-financial>span:first-child{flex:1 1 auto}.park-financial .park-overdue{flex:0 1 auto;text-align:right}.park-financial strong{font-size:22px}.park-financial>.icon{display:none}.overview-bottom{gap:34px;margin-top:40px}.stats{max-width:850px}.stat-value{font-size:34px}.workshop-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.list-grid{gap:20px}.room-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:13px}#toast{bottom:28px}}
@media(min-width:1450px){.main{padding:43px 52px 60px}.topbar{padding:0 52px}.portfolio-ratio{display:block}.summary-primary>strong{font-size:47px}.summary-properties strong{font-size:32px}.summary-money{padding:34px;gap:30px}.summary-properties{padding:30px}.summary-label{font-size:13px}.summary-secondary>span,.summary-primary>p{font-size:13px}.summary-secondary>strong{font-size:33px}.room-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.park-routes{grid-template-columns:1fr 1fr;padding:22px 0}.property-route{padding:0 20px}.property-route+.property-route{border-left:1px solid var(--border)}.park-portfolio-heading{padding:27px 24px}.park-financial{padding:20px 24px}.park-financial>.icon{display:block}.record-grid{grid-template-columns:1fr 1fr 1.2fr}.record-grid>div:last-child{grid-column:auto}.record-grid .value.money{font-size:20px}}
@media(max-width:359px){.main{padding-left:15px;padding-right:15px}.topbar{padding-left:15px;padding-right:15px}.overview-heading{gap:10px}.overview-heading h1{font-size:27px}.heading-count{margin-left:8px}.park-picker{max-width:126px;padding-left:10px;padding-right:20px;font-size:16px}.summary-money{padding:20px 14px;gap:12px;grid-template-columns:1.3fr 1fr}.summary-primary>strong{font-size:25px}.summary-secondary{padding-left:12px}.summary-secondary>strong{font-size:19px}.summary-label>span:last-child{display:none}.daily-actions{gap:6px}.daily-actions button{font-size:12px;gap:4px}.daily-actions .icon{width:15px;height:15px}.property-route{padding:0 12px;gap:8px}.route-icon>.icon{width:20px}.property-route strong>b{margin-left:3px}.park-financial{padding-left:15px;padding-right:15px}.section-heading{gap:8px}.section-heading>span{font-size:10px}.modal-body{padding-left:16px;padding-right:16px}.tabs{gap:0}.tab{padding-left:11px;padding-right:11px}.filters .searchbox{flex-basis:100%}.filter-select{width:100%}}
@media(hover:hover){.solid-btn:hover{background:#dfc99a;border-color:#dfc99a}.outline-btn:hover,.soft-btn:hover{background:#3c3a30;border-color:#a08b61}.room:hover,.workshop:hover{border-color:#a7946d;background:#2b2d28}.nav-btn:hover,.property-route:hover,.park-financial:hover,.settings-row:hover{background:#2c2f29}.text-btn:hover{color:#f1dbaa}.bottom-btn:hover{color:var(--gold)}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media print{@page{size:A4;margin:18mm}:root{color-scheme:light}html:has(dialog[open]){overflow:visible}body{background:#fff;font-size:12pt}body>*{display:none!important}#print-area{display:block!important}.contract-paper{margin:0;border:0;padding:0;border-radius:0;color:#000;font-family:SimSun,"Songti SC",serif;font-size:12pt}.contract-paper h2{font-size:20pt}.contract-paper .contract-meta,.contract-paper .contract-stamp{color:#555}.contract-paper .signature{grid-template-columns:1fr 1fr;break-inside:avoid}.contract-paper table{break-inside:avoid;font-size:11pt}.contract-paper p{orphans:3;widows:3}}
/* Test edition: parks, buildings and initial meter records. */
.asset-scope{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:-7px 0 20px}.asset-scope>.park-picker{max-width:220px}.asset-manager-intro{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:23px}.asset-manager-intro>p{font-size:13px;color:var(--muted);line-height:1.8;max-width:360px}.asset-manager-intro>.solid-btn{flex-shrink:0}.park-manager-list{display:grid;gap:14px}.park-manager-item{border:1px solid var(--border);border-radius:10px;background:#191c1d;padding:18px}.park-manager-item h3{font-size:19px;overflow-wrap:anywhere}.park-manager-item>.row{margin-bottom:5px}.park-manager-item>p{font-size:13px;line-height:1.7;color:var(--muted);margin-bottom:11px;overflow-wrap:anywhere}.park-manager-rates{display:flex;flex-wrap:wrap;gap:8px 20px;color:#ccbd9b;font-size:12px;padding:15px 0}.park-manager-item>.outline-btn{width:100%}.asset-basics-link{display:flex;align-items:center;justify-content:space-between;gap:13px;margin:-10px 0 21px;border-bottom:1px solid var(--border);padding-bottom:12px}.asset-basics-link>span{font-size:12px;color:var(--muted);line-height:1.6}.asset-basics-link>.text-btn{white-space:nowrap}.form-hint{font-size:12px;color:var(--muted);line-height:1.8;margin:14px 0 20px}.form-section-title{margin-top:14px;border-top:1px solid var(--border);padding-top:22px}.field input[readonly]{background:#282b27;color:#b5b8ac}.property-check:has(input:disabled){color:#9d9f94;opacity:.65}.property-check input:disabled{cursor:not-allowed}.property-check>span{overflow-wrap:anywhere}@media(max-width:479px){.asset-manager-intro{align-items:flex-start;flex-direction:column;gap:14px}.asset-manager-intro>.solid-btn{width:100%}.asset-scope>.park-picker{max-width:185px}#asset-floor-field,#asset-number-field{grid-column:1/-1}}@media(min-width:700px){.park-manager-list{grid-template-columns:repeat(2,minmax(0,1fr))}.park-manager-item{display:flex;flex-direction:column}.park-manager-item>.outline-btn{margin-top:auto}.asset-manager-intro>.solid-btn{min-width:120px}}

/* Shared workspace and account screens use the same graphite and brass palette. */
.auth-screen{min-height:100dvh;display:grid;place-items:center;padding:28px 20px;background:radial-gradient(ellipse at top,#2c2e2c,#161819 65%)}.auth-card{width:min(100%,440px);padding:34px 28px;background:#1e2021;border:1px solid #41423b;border-radius:16px;box-shadow:0 22px 90px #0004}.auth-mark{color:var(--gold);font-size:13px;letter-spacing:.15em;margin-bottom:44px}.auth-card h1{font-size:30px;margin:10px 0}.auth-intro{color:#b5b6ad;font-size:14px;line-height:1.8;margin:10px 0 28px}.auth-card .field{margin-bottom:18px}.auth-card .solid-btn{width:100%;min-height:48px}.auth-footer{font-size:12px;color:var(--muted);line-height:1.8;margin:23px 0 0;text-align:center}.auth-error{color:#f3aaa0;line-height:1.8;font-size:13px;min-height:24px;margin-bottom:12px}.setup-card{width:min(100%,780px)}.setup-card h3{margin:8px 0 20px}.is-saving button[type=submit]{pointer-events:none;opacity:.55}.is-saving .modal-foot:before{content:'正在保存…';font-size:12px;color:var(--gold)}.first-steps{margin:24px 0;padding:22px;border:1px solid #73634b;background:#292923;border-radius:10px}.first-steps h2{font-size:18px;margin-bottom:9px}.first-steps p{color:var(--muted);font-size:13px;line-height:1.8}.first-steps>div+div{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.first-steps button{flex:1;min-width:110px}.park-routes:has(.property-route:only-child){grid-template-columns:1fr}.park-routes .property-route:only-child .grow{display:flex;align-items:center;justify-content:space-between;gap:12px}.park-routes .property-route:only-child .grow>span{margin-top:0}.park-portfolios .park-portfolio-heading p{line-height:1.7}@media(min-width:700px){.park-portfolios{grid-template-columns:repeat(2,minmax(0,1fr))}.park-portfolio{display:flex;flex-direction:column}.park-routes{flex:1;align-items:center;min-height:110px}.portfolio-ratio{display:block}.park-financial>span:first-child{flex:1}.park-financial>span.park-overdue{flex:0 1 auto;text-align:right}}@media(max-width:480px){.auth-card{padding:28px 22px}.setup-card .form-grid{grid-template-columns:1fr}.first-steps>div+div{display:grid;grid-template-columns:1fr 1fr}.first-steps button:last-child{grid-column:1/-1}}

.local-demo-note{font-size:12px;color:var(--muted);line-height:1.8;margin:-12px 0 18px}
/* Handwritten contract workflow */
.signing-modal{max-width:850px}.sign-progress{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--muted,#999);margin:0 0 18px}.sign-progress strong{color:#d7bb7c}.sign-document{margin:24px 0}.sign-document summary{cursor:pointer;padding:15px 0;color:#dcc79d;font-size:14px}.sign-document .contract-paper{margin-top:0}.sign-input{margin-top:26px}.sign-input h3{margin-bottom:18px}.sign-pad-wrap{position:relative;background:#fcfbf7;border:1px solid #bcaf96;border-radius:12px;overflow:hidden;margin-top:16px}.sign-pad{width:100%;height:auto;aspect-ratio:1000/360;display:block;touch-action:none;cursor:crosshair;user-select:none;-webkit-user-select:none}.sign-pad-hint{position:absolute;inset:0;display:grid;place-items:center;color:#a6a298;font-size:19px;pointer-events:none;letter-spacing:3px}.sign-pad-hint[hidden]{display:none}.sign-pad-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:6px 0 20px}.sign-pad-tools>small{margin-right:auto;color:#929793;font-size:11px}.sign-pad-tools button{min-height:44px}.sign-consent{display:flex;align-items:flex-start;gap:12px;font-size:13px;line-height:1.9;margin:22px 0;cursor:pointer}.sign-consent input{appearance:auto;width:22px;min-width:22px;height:22px;margin-top:2px;accent-color:#bda16a}.sign-choice{display:grid;grid-template-columns:1fr;gap:12px;margin:20px 0}.sign-history{border-top:1px solid #353937;margin-top:28px;padding-top:24px}.sign-history-row{display:flex;align-items:center;justify-content:space-between;gap:15px;text-align:left;width:100%;padding:17px 0;border:0;border-bottom:1px solid #323735;background:transparent;color:#e4e6e0;cursor:pointer}.sign-history-row strong{display:block;font-size:14px}.sign-history-row small{display:block;color:#969e99;margin-top:6px}.contract-notes{white-space:pre-wrap}.signature-ink{display:block;width:100%;height:auto;aspect-ratio:1000/360;margin:6px 0;max-width:300px}.signed-party{min-width:0;break-inside:avoid}.signed-party small{color:#666;font-size:10px}.contract-paper .sign-declaration{font-size:11px;border-top:1px solid #ddd;padding-top:14px}.contract-paper .sign-record-id{font-family:system-ui,sans-serif;font-size:9px;color:#666;overflow-wrap:anywhere}.signing-page{max-width:830px;margin:auto;padding:36px 20px calc(40px + env(safe-area-inset-bottom))}.signing-page h1{font-size:28px;letter-spacing:-.5px;margin:24px 0 12px}.signing-intro{color:#a9b0a9;font-size:14px;line-height:1.9}.remote-signing #remote-sign-form,.sign-remote-footer{margin-top:28px}.remote-signing [type=submit],#download-signed{width:100%;min-height:50px}.signing-page .auth-mark{font-size:13px;overflow-wrap:anywhere}.signing-modal a,.signing-page a{text-decoration:none}.signing-modal .modal-foot{flex-wrap:wrap}#sign-link-box input{font-size:12px}.signing-modal .contract-paper h2{font-size:22px}@media(min-width:600px){.sign-choice{grid-template-columns:1fr 1fr}.signing-page{padding:40px}.sign-pad-wrap{max-width:680px}}@media print{.contract-paper .signature-ink{max-width:230px}.contract-paper .signed-party{break-inside:avoid}}
/* Meter photos stay beside the readings they document. */
.meter-photo-picker{margin-top:18px;padding-top:16px;border-top:1px solid #3b413d;min-width:0}.meter-photo-picker>.row>strong{font-size:14px;font-weight:500}.meter-photo-buttons{display:flex;align-items:center;gap:10px;margin:12px 0}.meter-file-button{position:relative;overflow:hidden;min-height:44px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.meter-file-button input[type=file]{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer;margin:0;padding:0}.meter-file-button:focus-within{outline:2px solid #c1a675;outline-offset:3px}.meter-photo-previews{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.meter-photo-previews figure{position:relative;min-width:0;margin:0}.meter-photo-previews img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:7px;display:block;border:1px solid #4a504a}.meter-photo-previews figure>button{position:absolute;top:2px;right:2px;border:0;background:#181b1dde;color:#fff;font-size:22px;width:34px;height:34px;border-radius:50%;cursor:pointer}.meter-photo-previews figcaption{font-size:11px;color:#a0a79f;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;padding-top:6px}.meter-evidence-section{border-top:1px solid #41463f;padding-top:24px;margin:28px 0}.meter-reading-table{margin:16px 0;border:1px solid #3e453e;border-radius:9px;overflow:hidden}.meter-reading-table>div{display:grid;grid-template-columns:45px minmax(0,1.2fr) minmax(0,1fr);gap:9px;padding:12px 10px;border-bottom:1px solid #3e453e;font-size:12px;align-items:center;overflow-wrap:anywhere}.meter-reading-table>div:first-child{color:#a2aaa1;background:#202521}.meter-reading-table>div:last-child{border-bottom:0}.meter-reading-table>div>:last-child{text-align:right}.meter-reading-table strong{font-weight:500}.meter-evidence-note{white-space:pre-wrap;font-size:13px;line-height:1.8;color:#c3c8c0}.meter-evidence-groups{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;margin-top:20px}.meter-evidence-groups h4{font-weight:500;font-size:14px;margin:0 0 12px}.meter-evidence-groups h4 span{color:#929c91;font-weight:400;font-size:12px;margin-left:8px}.meter-evidence-thumbs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.meter-evidence-thumbs button{border:0;background:transparent;padding:0;color:#a5afa2;min-width:0;text-align:left;cursor:pointer}.meter-evidence-thumbs img{width:100%;aspect-ratio:1.15;object-fit:cover;border-radius:7px;border:1px solid #4c5448;display:block}.meter-evidence-thumbs span{font-size:11px;display:block;margin-top:7px}.meter-box .meter-file-button{font-size:13px}.meter-evidence-section .section-heading{gap:10px;flex-wrap:wrap}@media(min-width:600px){.meter-evidence-groups{grid-template-columns:1fr 1fr}.meter-reading-table>div{font-size:14px;grid-template-columns:70px 1.2fr 1fr;padding:14px}.meter-photo-previews img{aspect-ratio:1.15}}

/* Financial amounts need their own line when the card becomes narrow. */
.summary-money {
  display: flex;
  flex-wrap: wrap;
  container: summary-finance / inline-size;
}
.summary-primary { flex: 1.45 1 14rem; min-width: 0; }
.summary-secondary { flex: 1 1 12rem; }
.summary-primary > strong,
.summary-secondary > strong {
  white-space: nowrap;
  overflow-wrap: normal;
}
.summary-primary > strong { font-size: clamp(1.5rem, 8cqi, 2.9375rem); }
.summary-secondary > strong { font-size: clamp(1.375rem, 6cqi, 2.0625rem); }
@container summary-finance (max-width: 28rem) {
  .summary-primary,
  .summary-secondary { flex-basis: 100%; }
  .summary-secondary {
    border-left: 0;
    border-top: 1px solid #515047;
    padding: 16px 0 0;
    min-height: 0;
  }
  .summary-secondary > strong { margin: 8px 0 5px; }
}
.park-financial { flex-wrap: wrap; }
.park-financial > span:first-child,
.park-financial > span.park-overdue { flex: 1 0 max-content; }
.park-financial strong { white-space: nowrap; overflow-wrap: normal; }
.stats { grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)) !important; }
.stat-value.money { white-space: nowrap; overflow-wrap: normal; }
/* Publishing controls stay distinct from the private property archive. */
.showcase-manage-intro h3{margin:15px 0 8px}.showcase-toggle{display:flex;gap:12px;align-items:center;margin:22px 0 12px;padding:16px;background:#282c26;border:1px solid #565e48;border-radius:8px;font-size:15px;cursor:pointer}.showcase-toggle input{width:21px;height:21px;flex:none;accent-color:var(--gold)}.showcase-photo-select{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:15px 0}.showcase-photo-select label{position:relative;border:1px solid #565c4c;border-radius:6px;overflow:hidden;cursor:pointer;min-width:0}.showcase-photo-select input{position:absolute;top:8px;left:8px;width:22px;height:22px;accent-color:var(--gold)}.showcase-photo-select img{width:100%;aspect-ratio:1.2;object-fit:cover}.showcase-photo-select span{display:block;font-size:11px;padding:9px;overflow-wrap:anywhere}.showcase-photo-select label:has(input:checked){outline:2px solid var(--gold);outline-offset:1px}#showcase-settings-form .field{margin-bottom:15px}#showcase-list .settings-row>.text-btn{flex-shrink:0}#showcase-search{padding-left:12px}@media(max-width:450px){.showcase-photo-select{grid-template-columns:repeat(2,minmax(0,1fr))}.header-actions{gap:10px}.header-actions>.text-btn{font-size:12px}.header-actions>.demo-chip{font-size:11px;padding:5px 8px}.mobile-brand{gap:6px;font-size:15px}.topbar{padding-left:16px;padding-right:16px}}
@media(max-width:360px){body{min-width:0}.mobile-brand{font-size:14px;letter-spacing:.02em}.topbar{padding-left:12px;padding-right:12px}.header-actions{gap:8px}}
.showcase-actions>*{flex:1 1 125px;white-space:nowrap}

/* Draft inventory: never style unverified occupancy as vacant. */
.room.pending{border-color:#72684e;background:#25251f}.room.pending .badge{color:#d2bd88}
.inventory-map{position:relative;width:100%;aspect-ratio:1.25;background:#202420;border:1px solid #575d50;border-radius:8px;margin:20px 0}
.inventory-map button{position:absolute;transform:translateY(-50%);width:11%;height:8%;font-size:clamp(10px,2.4vw,14px);padding:0;background:#333a32;color:#e8dbb6;border:1px solid #8c805f;border-radius:4px;cursor:pointer}
.inventory-map button:hover{background:#555b42}.map-label{position:absolute;transform:translateY(-50%);font-size:clamp(10px,2vw,13px);color:#a8b39f;white-space:nowrap}
