:root{font-family:'DM Sans',sans-serif;color:#203b35;background:#f4f6f3;font-size:16px;--green:#184d40;--lime:#dcf39d;--muted:#73817b}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,a:focus-visible{outline:3px solid #bb8b21;outline-offset:4px}button{transition:background .18s,transform .18s}button:hover:not(:disabled){filter:brightness(.97)}.sidebar{width:236px;position:fixed;inset:0 auto 0 0;background:#123e37;color:#fff;padding:34px 22px;display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;font-size:14px;letter-spacing:3px;color:white;text-decoration:none;line-height:1.6}.brand b{font-size:21px;letter-spacing:5px}.brand-icon{font-size:36px;color:var(--lime);line-height:1}.company{display:flex;gap:11px;align-items:center;margin:40px 0 27px;padding:18px 0;border-top:1px solid #ffffff1a;border-bottom:1px solid #ffffff1a}.company strong{font-size:14px}.company small{font-size:12px;display:block;color:#b2c4bc;margin-top:5px}.avatar{display:grid;place-items:center;width:36px;height:36px;background:#31564d;border-radius:50%;font-size:12px}nav{display:grid;gap:8px}.nav{background:transparent;border:0;text-align:left;color:#bfcec8;border-radius:9px;padding:14px 13px;font-size:20px;display:flex;gap:12px;align-items:center}.nav span{font-size:14px;font-weight:600}.nav.active{background:var(--lime);color:#173e31}.side-bottom{margin-top:auto;padding-top:30px}.prototype{font-size:10px;letter-spacing:1.5px;color:#bcd78f}.side-bottom p{font-size:21px;line-height:1.5;font-family:Manrope,sans-serif}.text-btn{background:none;border:0;color:inherit;font-size:14px;text-decoration:underline;text-underline-offset:4px;padding:5px 0}.side-bottom .text-btn{color:#c0d1c7}.shell{margin-left:236px}header{height:80px;padding:0 38px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e0e7df;background:#fcfdfb}.breadcrumb{font-size:14px;color:var(--muted)}.breadcrumb span{margin:0 14px;color:#b2bdb5}.breadcrumb strong{color:#27483c;font-weight:500}.header-right{display:flex;align-items:center;gap:20px}.save{font-size:12px;color:#77867d}.round{width:30px;height:30px;border-radius:50%;border:1px solid #d9e1d8;background:none;color:var(--green)}main{padding:35px 38px 18px;max-width:1640px;margin:auto}.page-title{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;color:#7f8b77;margin-bottom:10px}h1{font-family:Manrope,sans-serif;font-size:32px;letter-spacing:-1.4px;line-height:1.2;margin:0 0 10px;font-weight:800}.page-title p{margin:0;color:var(--muted);font-size:14px}.clock{min-width:164px;text-align:right}.clock span{font-size:16px;font-weight:700}.clock small{display:block;font-size:12px;color:var(--muted);margin-top:6px}.clock-track{height:3px;background:#dde5d6;margin-top:10px;border-radius:5px;overflow:hidden}.clock-track i{display:block;background:#57846b;height:100%;width:0}.stats{display:grid;grid-template-columns:1.1fr 1fr 1fr 1.1fr;gap:1px;border:1px solid #e0e7dd;background:#e0e7dd;border-radius:13px;overflow:hidden;margin-bottom:26px}.stats>div{background:#fff;padding:20px 23px}.stats span{display:block;color:#738078;font-size:12px}.stats strong{display:block;font-family:Manrope,sans-serif;font-size:25px;letter-spacing:-.6px;margin:7px 0}.stats small{font-size:12px;color:#819086}.stats .goal-stat{font-size:17px;letter-spacing:-.3px;margin:13px 0}.green{color:#397651}.main-grid{display:grid;grid-template-columns:minmax(0,1fr) 296px;gap:22px}.map-panel{position:relative;background:#377e74;border-radius:15px;overflow:hidden;min-height:405px}.map-art{position:absolute;width:100%;height:100%;object-fit:cover}.map-panel:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#123e3740,transparent 38%,#123e374d);pointer-events:none}.map-head{position:absolute;z-index:1;top:22px;left:23px;color:white}.map-head h2{margin:0 0 4px;font-size:20px}.map-head span{font-size:12px}.map-label{position:absolute;bottom:16px;left:20px;z-index:1;background:#ffffffea;padding:9px 13px;border-radius:8px;font-size:12px}.map-pin{position:absolute;z-index:2;border:2px solid #fff;background:#fff;color:#244d3a;box-shadow:0 5px 15px #163a3433;padding:8px 11px;border-radius:20px;font-size:12px;font-weight:700}.map-pin.owned{background:var(--lime);border-color:var(--lime)}.map-pin:hover{transform:translateY(-3px)}.mission{background:#edf2e4;border:1px solid #dbe5ce;border-radius:14px;padding:23px;display:flex;flex-direction:column}.mission .eyebrow{color:#627442}.mission h2{font-family:Manrope,sans-serif;font-size:23px;letter-spacing:-.7px;line-height:1.3;margin:9px 0 12px}.mission p{color:#6a7a62;font-size:14px;line-height:1.65;margin:0 0 17px}.mission ol{padding:0;list-style:none;margin:0 0 24px;display:grid;gap:14px}.mission li{font-size:14px;display:flex;gap:9px;align-items:center}.step{width:22px;height:22px;display:inline-grid;place-items:center;border-radius:50%;border:1px solid #b8c8a5;font-size:12px;flex-shrink:0}.step.done{background:#2e6951;color:white;border-color:#2e6951}.mission .primary{margin-top:auto}.primary{border:0;border-radius:8px;background:var(--green);color:#fff;padding:13px 17px;font-size:14px;font-weight:600}.secondary{border:1px solid #d7e1d6;border-radius:8px;background:#fff;color:var(--green);padding:12px 17px;font-size:14px;font-weight:600}.section-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:28px 0 15px}.section-head h2{font-family:Manrope,sans-serif;font-size:19px;margin:0;letter-spacing:-.4px}.section-head p{color:var(--muted);font-size:12px;margin:6px 0 0}.section-head button{border:0;background:none;color:var(--green);font-size:14px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.property{background:#fff;border:1px solid #e0e6dd;border-radius:12px;overflow:hidden}.property-art{height:128px;position:relative;overflow:hidden;background:#d4e4d9}.property-art img{width:100%;height:100%;object-fit:cover;transform:scale(1.7)}.property:nth-child(3n+2) img{object-position:80% 30%}.property:nth-child(3n+3) img{object-position:15% 90%}.property-tag{position:absolute;left:13px;top:12px;background:#fffef2ef;border-radius:5px;padding:5px 8px;font-size:10px;font-weight:700;letter-spacing:.6px}.property-body{padding:17px}.property h3{margin:0 0 5px;font-size:16px}.location{font-size:12px;color:var(--muted)}.property-numbers{display:flex;justify-content:space-between;gap:8px;margin:18px 0;align-items:flex-end}.property-numbers strong{font-size:20px;font-family:Manrope,sans-serif;letter-spacing:-.7px}.property-numbers .yield{font-size:13px;color:#397651;text-align:right}.property-numbers small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.property .secondary{width:100%;padding:10px}.property .secondary:hover{background:#edf3e7}.empty{padding:55px 25px;background:#fff;border:1px dashed #ced9cc;border-radius:14px;text-align:center}.empty h2{font-size:22px}.empty p{font-size:16px;line-height:1.6;color:var(--muted);max-width:450px;margin:12px auto 25px}.filters{display:flex;gap:8px;margin-bottom:22px;flex-wrap:wrap}.filters button{border:1px solid #d6dfd3;background:white;color:#5c7061;border-radius:24px;padding:8px 15px;font-size:14px}.filters button.active{background:var(--green);color:white;border-color:var(--green)}.job{background:#fff;border:1px solid #dce5d9;padding:22px;border-radius:12px;margin-bottom:15px}.job h3{margin:0 0 8px}.job p{font-size:14px;color:var(--muted)}progress{width:100%;height:9px;accent-color:var(--green)}.finance-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.panel{background:#fff;border:1px solid #dce5d9;border-radius:12px;padding:24px}.panel h2{font-size:19px;margin:0 0 22px}.ledger{display:flex;justify-content:space-between;gap:18px;padding:13px 0;border-bottom:1px solid #edf0e8;font-size:14px}.ledger small{display:block;font-size:12px;color:var(--muted);margin-top:4px}.ledger strong{white-space:nowrap}.note{font-size:12px;color:var(--muted);line-height:1.6;margin-top:20px}.negative{color:#a45f43}footer{display:flex;justify-content:space-between;gap:20px;padding:27px 0 8px;color:#7f8c80;font-size:12px;align-items:center}dialog{border:0;border-radius:18px;width:480px;max-width:calc(100% - 28px);padding:0;color:#203b35;box-shadow:0 30px 100px #102d3544}dialog::backdrop{background:#092f2aa6;backdrop-filter:blur(4px)}.dialog-inner{padding:28px}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.dialog-top h2{font-family:Manrope,sans-serif;font-size:24px;letter-spacing:-.5px;margin:0}.close{border:0;background:#edf2e8;border-radius:50%;height:32px;width:32px;font-size:22px;flex-shrink:0}.dialog-inner p{color:#728071;line-height:1.6;font-size:14px}.detail-values{display:grid;grid-template-columns:1fr 1fr;gap:20px;background:#f2f5ed;border-radius:10px;padding:18px;margin:20px 0}.detail-values small{display:block;color:#778371;font-size:12px;margin-bottom:5px}.detail-values strong{font-size:19px}.actions{display:grid;gap:10px;margin-top:20px}.dialog-inner .note{font-size:12px}#toast{position:fixed;left:calc(50% + 118px);bottom:25px;transform:translate(-50%,20px);background:#153f35;color:white;padding:15px 22px;border-radius:10px;z-index:10;box-shadow:0 8px 30px #103a3333;max-width:90%;width:max-content;font-size:14px;opacity:0;pointer-events:none;transition:.2s}#toast.show{opacity:1;transform:translate(-50%,0)}
@media(min-width:1550px){.map-panel{min-height:490px}.property-art{height:160px}}@media(max-width:1150px){.sidebar{width:205px;padding:30px 16px}.shell{margin-left:205px}main{padding:28px 24px}header{padding:0 24px}.main-grid{grid-template-columns:minmax(0,1fr) 255px}.stats>div{padding:16px}.stats strong{font-size:21px}.stats .goal-stat{font-size:14px}#toast{left:calc(50% + 102px)}.map-panel{min-height:390px}}
@media(max-width:850px){.sidebar{width:76px;padding:25px 12px}.brand>span:last-child,.company,.side-bottom,.nav span{display:none}.brand{justify-content:center}nav{margin-top:35px}.nav{justify-content:center;padding:13px 0}.shell{margin-left:76px}.main-grid{grid-template-columns:1fr}.mission{display:grid;grid-template-columns:1fr 1fr;gap:0 25px;padding:20px}.mission .eyebrow,.mission h2,.mission p{grid-column:1}.mission ol{grid-column:2;grid-row:1/4;margin:5px 0}.mission .primary{grid-column:2}.map-panel{min-height:390px}.stats{grid-template-columns:1fr 1fr}.stats>div{padding:17px 20px}.stats .goal-stat{font-size:17px}.stats strong{font-size:23px}.cards{gap:12px}.property-body{padding:13px}.property-numbers{display:block}.property-numbers .yield{text-align:left;margin-top:9px}.finance-grid{grid-template-columns:1fr}#toast{left:calc(50% + 38px)}}
@media(max-width:580px){.sidebar{inset:auto 0 0;width:100%;height:76px;padding:0 8px calc(env(safe-area-inset-bottom)/2);z-index:5;border-top:1px solid #ffffff22}.brand{display:none}nav{display:flex;justify-content:space-around;margin:0;height:100%;gap:2px}.nav{flex:1;flex-direction:column;gap:5px;font-size:22px;border-radius:0;padding:10px 2px;background:none!important;color:#acc1b5}.nav span{display:block;font-size:10px;font-weight:500}.nav[data-tab=marche] span{font-size:0}.nav[data-tab=marche] span:after{content:'Marché';font-size:10px}.nav[data-tab=quartier] span{font-size:0}.nav[data-tab=quartier] span:after{content:'Quartier';font-size:10px}.nav[data-tab=patrimoine] span{font-size:0}.nav[data-tab=patrimoine] span:after{content:'Mes biens';font-size:10px}.nav.active{color:var(--lime);box-shadow:inset 0 3px var(--lime)}.shell{margin-left:0}header{height:56px;padding:0 18px}.save{font-size:10px;max-width:100px;text-align:right}.header-right{gap:12px}.breadcrumb{font-size:12px}.breadcrumb span{margin:0 5px}main{padding:23px 16px 95px}.eyebrow{font-size:9px;letter-spacing:1.6px}h1{font-size:27px;letter-spacing:-1px}.page-title{align-items:flex-start;margin-bottom:21px;gap:10px}.page-title p{font-size:12px;line-height:1.5;max-width:225px}.clock{min-width:75px;padding-top:20px}.clock span{font-size:13px}.clock small{font-size:10px;max-width:85px;line-height:1.4}.stats{margin-bottom:18px}.stats>div{padding:14px 13px}.stats strong{font-size:21px}.stats .goal-stat{font-size:14px;margin:10px 0}.stats span,.stats small{font-size:10px}.main-grid{gap:15px}.map-panel{min-height:320px}.map-head{top:17px;left:17px}.map-head h2{font-size:18px}.map-pin{font-size:10px;padding:7px 8px}.map-label{font-size:10px;left:12px}.mission{display:block;padding:20px}.mission h2{font-size:21px;margin:3px 0 8px}.mission p{font-size:13px;margin-bottom:12px}.mission ol{gap:10px;margin:16px 0}.mission .primary{width:100%}.cards{grid-template-columns:1fr}.property{display:grid;grid-template-columns:100px 1fr}.property-art{height:100%;min-height:174px}.property-art img{transform:scale(1)}.property-tag{left:6px;top:9px;font-size:9px;padding:5px}.property-body{padding:14px}.property h3{font-size:15px}.property-numbers{display:flex;margin:13px 0}.property-numbers strong{font-size:18px}.property-numbers .yield{font-size:12px;margin:0;text-align:right}.section-head{margin-top:23px}.section-head h2{font-size:18px}.section-head button{font-size:12px}.property .secondary{font-size:12px;padding:8px;min-height:36px}footer{align-items:flex-start;line-height:1.5;gap:15px}footer span{max-width:190px}.text-btn{font-size:12px}#toast{left:50%;bottom:90px;max-width:calc(100% - 25px);text-align:center;font-size:13px}.dialog-inner{padding:22px}.dialog-top h2{font-size:22px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.event-panel{display:grid;grid-template-columns:1.4fr 1fr;gap:28px;background:#fff;border:1px solid #ccdcb8;border-left:5px solid #86a75e;border-radius:13px;padding:24px;margin-bottom:23px}.event-panel h2{font:700 23px Manrope,sans-serif;margin:8px 0 12px;letter-spacing:-.6px}.event-panel p{font-size:16px;line-height:1.65;margin:0 0 12px;color:#627662}.event-panel small{font-size:12px;line-height:1.6;color:#74846d;display:block}.event-actions{display:grid;gap:8px;align-content:center}.event-actions span{font-size:12px;color:#74846d;margin-bottom:7px;line-height:1.5}.bonus-banner{background:#dff1c7;color:#285139;border:1px solid #bdd89e;padding:13px 18px;border-radius:10px;font-size:14px;margin-bottom:16px}.market-banner{display:flex;justify-content:space-between;gap:25px;border-radius:12px;background:#e9efdf;padding:22px;margin-bottom:16px}.market-banner strong{font-size:18px}.market-banner p{font-size:14px;line-height:1.7;color:#68765f;margin:8px 0 0;max-width:560px}.market-banner>span{min-width:135px;text-align:right;font-size:12px;line-height:1.8;color:#68765f}.market-banner b{font-size:20px;color:#244b3b}.districts{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 24px}.districts span{font-size:12px;padding:8px 12px;border-radius:6px;background:#e9ece7;color:#798276}.districts .unlocked{background:#e0ecd7;color:#365e3e}.objective{padding:16px 0;border-bottom:1px solid #e3e9df}.objective strong{font-size:16px}.objective p{margin:6px 0 10px}.objective small{font-size:12px;color:#738068;display:block;margin-top:7px}dialog{max-height:85dvh;overflow:auto}.mission>.text-btn{margin-top:14px;align-self:center}.filters button{min-height:44px}.property .secondary{min-height:44px}.nav span{font-size:14px}.property-numbers small,.stats small,.stats span,.location,.property-tag,.eyebrow,.save{font-size:12px}.property-tag{letter-spacing:0}.page-title p{font-size:16px}.stats .goal-stat{line-height:1.4}.map-pin{min-height:40px;font-size:12px}
@media(max-width:850px){.event-panel{grid-template-columns:1fr}.mission>.text-btn{grid-column:1/-1}.stats>div{min-width:0}}
@media(max-width:580px){.event-panel{padding:18px;gap:16px}.event-panel h2{font-size:21px}.event-panel p{font-size:14px}.event-actions button{min-height:46px}.market-banner{display:block;padding:18px}.market-banner>span{display:block;text-align:left;margin-top:12px}.districts{gap:7px}.districts span{font-size:12px}.property-numbers{flex-wrap:wrap}.property-numbers strong{font-size:18px}.property-numbers .yield{font-size:13px}.property .secondary{font-size:14px}.nav span{font-size:12px}.nav[data-tab=marche] span:after,.nav[data-tab=quartier] span:after,.nav[data-tab=patrimoine] span:after{font-size:12px}.stats .goal-stat{font-size:14px}.page-title p{font-size:14px}.clock{min-width:66px}.clock small{font-size:12px}.map-pin{padding:6px;min-height:38px}.property-art{min-height:185px}.save{font-size:12px}.header-right{gap:6px}.breadcrumb{max-width:150px}.dialog-inner{padding:20px}.dialog-inner p{font-size:16px}.text-btn{font-size:14px}}
[hidden]{display:none!important}.connection-panel{margin:65px auto;max-width:530px;padding:35px;text-align:center}.connection-panel p{font-size:16px;line-height:1.7;color:#6a7e70}.connection-panel a{display:inline-block;text-decoration:none;margin:15px 0}.sync-error{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:15px;border:1px solid #dfba74;background:#fff4d9;border-radius:10px;margin-bottom:18px;font-size:14px}.nav>svg{width:22px;height:22px;flex-shrink:0}.type-icon{position:absolute;right:12px;bottom:12px;width:45px;height:45px;border-radius:12px;background:#123e37;color:#e0f4ae;display:grid;place-items:center;box-shadow:0 4px 12px #123e3730}.type-icon svg{width:25px;height:25px}.property-title{display:flex;align-items:center;gap:12px}.property-title svg{width:28px;height:28px;flex-shrink:0}.map-pin{display:flex;align-items:center;gap:5px}.map-pin svg{width:18px;height:18px}.round{display:inline-grid;place-items:center}.round svg{width:18px;height:18px}.company strong{display:block;max-width:135px;overflow:hidden;text-overflow:ellipsis}.actions a{text-align:center;text-decoration:none}.saving [data-action],.saving [data-event],.saving #confirm-reset{pointer-events:none;opacity:.5}.sidebar .avatar{flex-shrink:0}.property-art{background:#ccddd1}#sync-error[hidden]{display:none}.header-right{gap:12px}
@media(max-width:580px){.type-icon{right:10px;bottom:14px;width:40px;height:40px}.map-pin{font-size:11px;gap:3px}.map-pin svg{width:16px;height:16px}.map-pin{padding:6px}.header-right{gap:5px}.save{max-width:88px;font-size:11px}.breadcrumb{font-size:12px}.connection-panel{margin:45px auto;padding:24px}.sync-error{display:block}.sync-error button{margin-top:10px}dialog{max-height:82dvh}.nav>svg{width:22px;height:22px}}

.finance-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}.finance-summary h2{margin:10px 0;overflow-wrap:anywhere}.finance-chart{display:flex;gap:12px;overflow-x:auto;padding:12px 0}.finance-column{flex:1;min-width:90px;display:flex;flex-direction:column;gap:6px;font-size:12px}.finance-bars{height:145px;display:flex;align-items:flex-end;gap:5px;border-bottom:1px solid #ccd7ce}.finance-bars span{width:42%;min-height:2px;border-radius:5px 5px 0 0}.bar-revenue{background:#28745c}.bar-expense{background:#cb8544}@media(max-width:600px){.finance-summary{grid-template-columns:1fr}.finance-summary .panel{display:flex;align-items:center;justify-content:space-between;padding:16px}.finance-summary h2{font-size:22px}.finance-column{min-width:86px}}

/* Property filtering and selection: shared green palette, touch-sized controls. */
.property-filters{background:#fff;border:1px solid #d5ddcf;border-radius:16px;padding:16px;margin:20px 0;color:#153f37}.property-filters summary{cursor:pointer;font-weight:700;min-height:28px}.filter-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;margin-top:16px}.filter-fields label{display:flex;flex-direction:column;gap:8px}.filter-fields select,.filter-fields input[type=number]{width:100%;min-height:44px;border:1px solid #a7b9ae;border-radius:8px;padding:8px;background:#fff;color:#153f37;font:inherit}.property-select{display:flex;align-items:center;gap:10px;padding:14px;background:#eef3e8;color:#153f37;font-size:14px;min-height:48px}.property-select input,.filter-fields input[type=checkbox]{accent-color:#153f37;width:21px;height:21px;flex-shrink:0}.selection-bar{padding:16px;background:#e6f4bf;border:1px solid #b4ce8d;border-radius:14px;margin-bottom:20px}.selection-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.selection-actions button{min-height:44px}.property-body button{display:flex;align-items:center;justify-content:center;gap:8px}.property-body button svg{width:20px;height:20px}.compare-scroll{overflow-x:auto}.compare-scroll table{width:100%;border-collapse:collapse}.compare-scroll th,.compare-scroll td{text-align:left;padding:12px;border-bottom:1px solid #d5ddcf;min-width:110px}@media(max-width:600px){.filter-fields{grid-template-columns:1fr}.selection-actions button{flex:1 1 130px}.property-select{font-size:13px}}

.work-timer{display:flex;flex-direction:column;gap:8px;background:#eef3e8;color:#153f37;border:1px solid #d5ddcf;border-radius:12px;padding:14px;margin:12px 0;min-width:0;width:100%;box-sizing:border-box}.work-timer strong{font-size:20px;font-variant-numeric:tabular-nums}.work-timer span,.work-timer small{font-size:12px}.work-timer progress{width:100%;height:8px;accent-color:#153f37}.work-timer progress::-webkit-progress-bar{background:#dbe6ce;border-radius:6px}.work-timer progress::-webkit-progress-value{background:#153f37;border-radius:6px}

.ppe-panel{margin-top:24px}.ppe-panel input{display:block;max-width:100%;padding:12px;border:1px solid #a7b9ae;border-radius:8px;font:inherit}.ppe-panel h3{margin-top:24px}
/* v1.6: predictable full-width cards on touch screens. */
.property{display:flex;flex-direction:column;min-width:0;position:relative}.property-art{height:190px;min-height:190px;width:100%;order:0}.property-art img{transform:none;object-position:center!important;width:100%;height:100%}.property-body{width:100%;min-width:0;display:flex;flex-direction:column;flex:1;padding:18px}.property h3{font-size:18px;line-height:1.35;overflow-wrap:break-word}.property-select{order:1;padding:10px 18px;gap:8px;font-size:13px}.property-body{order:2}.property-numbers{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;margin:18px 0}.property-numbers>div{min-width:0}.property-numbers strong{font-size:22px}.property-body>.secondary{margin-top:auto;min-height:46px}.property-body button svg{flex-shrink:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.detail-photo{width:100%;height:210px;object-fit:cover;border-radius:12px}.clock{min-width:150px;flex-shrink:0}.clock span{white-space:nowrap}.city-map{background:#fff;border:1px solid #d6e0d1;border-radius:16px;overflow:hidden;min-width:0}.city-map-heading{display:flex;align-items:center;justify-content:space-between;padding:20px;gap:12px}.city-map h2{margin:0;font-size:22px}.city-map-heading p,.map-note{font-size:12px;color:#667b70;line-height:1.5}.map-count{background:#e6f4bf;padding:8px 12px;border-radius:20px;white-space:nowrap;font-size:12px}.map-controls{display:flex;gap:12px;padding:0 20px 16px}.map-controls label{font-size:12px;flex:1;min-width:0}.map-controls select{display:block;width:100%;margin-top:6px;background:#fff;color:#184d40;border:1px solid #cbd8c4;padding:10px;border-radius:8px;min-height:44px}.map-viewport{overflow-x:auto}.map-canvas{position:relative;min-width:620px;aspect-ratio:720/420}.city-plan{width:100%;height:100%;display:block}.map-canvas .map-pin{transform:translateX(-50%);min-height:44px;white-space:nowrap}.map-footer{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;font-size:12px}.map-note{margin:0;padding:0 20px 16px}.map-empty{position:absolute;top:35%;left:20%;background:white;padding:16px;border-radius:12px}#renovation-range{width:100%;accent-color:#184d40;min-height:44px}.range-labels{display:flex;justify-content:space-between;font-size:12px;color:#667b70}
@media(max-width:580px){.cards{grid-template-columns:minmax(0,1fr)}.property{display:flex;grid-template-columns:none}.property-art{height:190px;min-height:190px}.property-body{padding:18px}.property h3{font-size:19px}.property-numbers .yield{margin:0;text-align:right}.page-title{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start}.clock{min-width:125px;text-align:right}.clock span{font-size:14px}.clock small{display:block;font-size:11px}.page-title h1{font-size:25px}.page-title p{font-size:13px}.selection-actions button{font-size:13px}.detail-photo{height:180px}}

/* 1.7.1: quiet, accessible photo selection and separated detail header. */
.property-select{position:absolute;top:8px;right:8px;z-index:3;width:44px;height:44px;min-height:44px;padding:4px;display:grid;place-items:center;background:none;cursor:pointer;border-radius:50%;margin:0}
.property-select input{position:absolute;inset:0;width:44px;height:44px;margin:0;opacity:0;cursor:pointer;z-index:2}
.selection-check{width:34px;height:34px;display:grid;place-items:center;border:2px solid #fff;border-radius:50%;background:#fffffff2;color:#184d40;box-shadow:0 2px 8px #123e3730;transition:background .15s}
.selection-check svg{width:21px;height:21px;opacity:0}
.property-select input:checked+.selection-check{background:#184d40;color:#dcf39d}
.property-select input:checked+.selection-check svg{opacity:1}
.property-select input:focus-visible+.selection-check{outline:3px solid #bb8b21;outline-offset:3px}
.property:has(.property-select input:checked){border-color:#184d40;box-shadow:0 0 0 2px #184d40}
.property-tag{max-width:calc(100% - 72px)}
.dialog-top{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:14px;align-items:start;margin-bottom:20px}
.dialog-top h2{min-width:0;overflow-wrap:anywhere;line-height:1.3}
.dialog-top .property-title{display:block;padding-left:36px;position:relative}
.property-title>svg{position:absolute;left:0;top:2px;width:26px;height:26px}
.dialog-top .close{width:44px;height:44px;display:grid;place-items:center;line-height:1;color:#184d40;align-self:start}
.detail-photo{display:block;height:180px;margin:0 0 16px}
@media(max-width:580px){.detail-photo{height:150px}.dialog-top h2{font-size:20px}.dialog-top{gap:10px;margin-bottom:18px}.dialog-inner{padding:20px}.clock small{max-width:none}}

/* Quick property filters: reset is accessible without opening the drawer. */
.quick-filters{display:grid;gap:10px;margin:10px 0}.status-shortcuts{display:flex;gap:8px;overflow-x:auto;padding:0}.status-chip{flex-shrink:0;min-height:44px;padding:10px 16px;border:1px solid #d5dfd5;background:#fff;color:#365e50;border-radius:24px;font-size:14px}.status-chip.active{background:#184d40;color:white;border-color:#184d40}.active-filter-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.filter-chip{display:inline-flex;align-items:center;gap:12px;min-height:44px;border:0;border-radius:22px;padding:8px 14px;background:#e9efdf;color:#184d40;font-size:13px}.filter-chip span{font-size:21px;line-height:1}.filter-reset{min-height:44px;border:0;background:transparent;color:#184d40;font-weight:700;padding:8px 12px;text-decoration:underline;text-underline-offset:4px}

.real-city{position:relative;min-width:675px;max-width:none;background:#eef0df}.real-city>.city-plan{position:absolute;inset:0;width:100%;height:100%}.parcel-hit{position:absolute;transform:translate(-50%,-50%);width:44px;height:44px;border:0;background:transparent;padding:0;display:grid;place-items:center}.parcel-dot{width:13px;height:13px;border:3px solid white;border-radius:50%;background:#184d40;box-shadow:0 2px 6px #173e3744}.parcel-hit.owned .parcel-dot{background:#88a94a}.parcel-price{display:none;position:absolute;bottom:39px;white-space:nowrap;background:#184d40;color:white;padding:8px;border-radius:8px;font-size:12px}.parcel-hit:hover .parcel-price,.parcel-hit:focus-visible .parcel-price{display:block}.parcel-hit:focus-visible{outline:3px solid #b28c37;border-radius:50%;z-index:5}.property-specs{display:flex;gap:8px;flex-wrap:wrap}.property-specs span{background:#eef3e8;padding:8px 12px;border-radius:12px;font-size:13px}.property-address{font-weight:600}#rental-rate{display:block;width:100%;min-height:44px;margin:10px 0;padding:10px;border:1px solid #cbd8c4;border-radius:8px;background:white;font:inherit;color:#184d40}
/* 1.9 — concise management panels, matching the existing palette. */
.attention .section-head{margin:0 0 14px}.count-pill{display:inline-flex;align-items:center;justify-content:center;min-width:28px;padding:4px 9px;background:#e4efca;border-radius:20px;font-size:16px}.attention-list{display:grid;gap:8px;max-height:300px;overflow:auto}.attention-item{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:5px;background:#f3f5ef;color:#194b40;border:0;border-radius:12px;padding:14px;width:100%}.attention-item span{font-size:13px;color:#62786a}.local-news{border-left:4px solid #96aa68}.property-profit{margin:20px 0}.property-profit summary{cursor:pointer;font-weight:700;color:#194b40}.auction-layout{display:grid;grid-template-columns:180px 1fr;gap:22px}.auction-layout img{width:100%;height:150px;object-fit:cover;border-radius:12px}.policy-options{display:grid;gap:12px}.policy-options article{padding:18px;background:#f3f5ef;border-radius:14px;border:1px solid #dce4d7}.policy-options h3{margin:0 0 8px}.policy-options p{font-size:15px}.renew-option{display:flex;align-items:center;gap:10px;margin-top:18px}.renew-option input{width:24px;height:24px}#auction-amount,#agency-limit,#agency-mode{display:block;width:100%;box-sizing:border-box;padding:12px;border:1px solid #cbd8ce;border-radius:10px;margin:10px 0 18px}.property-profit .finance-column{min-width:70px}.property-profit .finance-chart{overflow-x:auto}.auction-panel,.local-news,.attention{margin-bottom:22px}@media(max-width:600px){.auction-layout{grid-template-columns:1fr}.auction-layout img{height:150px}.attention .section-head{align-items:flex-start;gap:10px}.property-profit{padding:16px}}
/* 1.9.1: responsive map, controls stay outside the scrolling canvas. */
.map-stage{position:relative;background:#f0f0e3}.map-stage .map-viewport{width:100%;height:400px;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.map-stage .real-city{min-width:0;position:relative;max-width:none}.map-tools{position:absolute;right:12px;top:12px;z-index:8;display:flex;flex-direction:column;align-items:center;gap:2px;background:#ffffffed;border:1px solid #d7dfd1;border-radius:15px;padding:4px;box-shadow:0 4px 16px #234b3b1a}.map-tools button{display:grid;place-items:center;min-width:44px;min-height:44px;padding:0;background:transparent;border:0;border-radius:10px;color:#184d40;font-size:26px;touch-action:manipulation}.map-tools button:hover{background:#e6eddb}.map-tools button:disabled{opacity:.3}.map-tools button:focus-visible{outline:3px solid #9baf6f}.map-tools [data-map-scale]{font-size:10px;font-weight:700;color:#617769}.map-compass{position:absolute;bottom:12px;left:12px;background:#ffffffe8;border-radius:30px;padding:8px 12px;color:#426752;font-size:12px;pointer-events:none}.map-footer{gap:12px;color:#607366}.map-key{display:inline-block;width:9px;height:9px;border-radius:50%;background:#235d48;margin-right:5px}.parcel-dot{width:10px;height:10px;border-width:2px;box-shadow:0 1px 5px #163a374d}.parcel-hit{width:36px;height:36px;min-height:36px;min-width:36px}.parcel-price{bottom:32px}.city-map-heading p{margin:4px 0 0}.map-note{font-size:11px}
@media(max-width:600px){.map-stage .map-viewport{height:280px}.city-map-heading{padding:14px 14px 10px;align-items:flex-start}.city-map h2{font-size:21px}.city-map-heading p{font-size:11px;max-width:210px}.map-count{padding:6px 9px;font-size:11px}.map-controls{padding:0 14px 12px;gap:9px}.map-controls label{font-size:11px}.map-controls select{font-size:12px;padding:8px;min-height:40px}.map-footer{padding:10px 14px;font-size:11px}.map-note{padding:0 14px 12px}.map-tools{right:8px;top:8px}.city-map{border-radius:18px}}
/* Dedicated toolbar prevents controls covering a property marker. */
.map-stage{padding-top:58px}.map-tools{top:6px;right:10px;flex-direction:row;padding:0 4px;border-radius:12px;gap:0}.map-tools [data-map-scale]{min-width:40px;text-align:center}.map-tools button{min-height:44px;min-width:44px}.map-compass{bottom:10px}@media(max-width:600px){.map-tools{top:6px;right:8px}}
/* 1.10 — construction, visible selection totals and insurance workspace. */
#selection-dock{position:fixed;left:256px;right:20px;bottom:18px;z-index:7;max-width:1050px;margin:auto}#selection-dock[hidden]{display:none}.selection-dock-inner{display:flex;align-items:center;gap:14px;padding:13px 16px;background:#fff;border:1px solid #c4d4bd;border-radius:16px;box-shadow:0 6px 30px #163d3526}.selection-dock-inner>div{flex:1;min-width:0}.selection-dock-inner small{display:block;font-size:12px;color:#65796b}.selection-dock-inner strong{display:block;font-size:23px;color:#184d40}.selection-dock-inner .primary{min-height:44px;padding:10px 18px}.dock-clear{background:#eef2e9;border:0;color:#456652;width:40px;height:44px;border-radius:10px;font-size:24px}.has-selection main{padding-bottom:150px}.property-tabs{display:flex;gap:8px;margin-bottom:20px;background:#e9eee3;border-radius:14px;padding:5px}.property-tabs button{flex:1;display:flex;justify-content:center;align-items:center;gap:8px;padding:12px;background:transparent;border:0;border-radius:10px;color:#59715f}.property-tabs button.active{background:#fff;box-shadow:0 2px 6px #173e3712;color:#164d3f;font-weight:700}.insurance-shield{width:24px;height:24px;display:inline-block;vertical-align:middle;flex-shrink:0}.shield-tile{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:#e2edcc;color:#275744;flex-shrink:0}.shield-tile svg{width:30px;height:30px}.insurance-hero{display:flex;gap:14px;align-items:center;margin:22px 0}.insurance-hero h2{margin:0}.insurance-hero p{margin:5px 0;color:#6a7b70}.insurance-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px}.insurance-summary>div{padding:16px;background:#fff;border:1px solid #d9e2d4;border-radius:13px}.insurance-summary strong{display:block;font-size:23px;color:#194b40}.insurance-summary span{font-size:12px;color:#6b7e70}.insurance-hub-actions{display:flex;gap:10px;flex-wrap:wrap}.insurance-contract{border:1px solid #d7e1d0;border-radius:17px;padding:22px;margin:18px 0;background:#fff}.insurance-contract-head{display:flex;align-items:center;gap:12px}.insurance-contract-head>div{flex:1;min-width:0}.insurance-contract-head h3{margin:3px 0;font-size:17px;overflow-wrap:anywhere}.insurance-contract-head .eyebrow{font-size:9px;letter-spacing:1.3px}.coverage-badge{font-size:11px;border-radius:20px;padding:7px 10px;background:#e3edce;color:#355b39;white-space:nowrap}.is-uncovered .coverage-badge{background:#f4e9d6;color:#806435}.insurance-contract h4{font-size:21px;color:#194b40;margin:20px 0 12px}.coverage-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#dfe5d9;border:1px solid #dfe5d9;border-radius:12px;overflow:hidden;margin-bottom:14px}.coverage-grid span{padding:12px;background:#f5f7f0;color:#6d7f70;font-size:12px}.coverage-grid b{display:block;margin-top:5px;color:#275341;font-size:15px}.coverage-row{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid #e6ebdf;font-size:14px}.coverage-row span{color:#6c7b6f}.insurance-claim{background:#f8f1e6;border-radius:12px;padding:16px;margin-top:18px}.insurance-plan h3{display:flex;gap:9px;align-items:center}.insurance-plan>strong{font-size:26px;color:#184d40}.insurance-plan>strong small{font-size:12px;font-weight:400}.construction-options{display:grid;grid-template-columns:1fr;gap:16px}.construction-option{border:1px solid #d7e1ce;background:#f6f8f1;border-radius:15px;padding:18px}.construction-option h3{display:flex;align-items:center;gap:10px;margin-top:0}.construction-option h3 svg{width:26px;height:26px}.construction-option.unavailable{opacity:.65}.permit-steps{display:flex;gap:6px;margin:18px 0}.permit-steps span{flex:1;padding:10px 5px;text-align:center;border-radius:9px;background:#e9f0da;color:#43634d;font-size:12px}.permit-card{border-left:4px solid #a4b776}
@media(max-width:1150px){#selection-dock{left:225px}}@media(max-width:850px){#selection-dock{left:92px}}@media(max-width:580px){#selection-dock{left:10px;right:10px;bottom:calc(84px + env(safe-area-inset-bottom)/2)}.selection-dock-inner{padding:10px 12px;gap:8px;border-radius:13px}.selection-dock-inner strong{font-size:20px}.selection-dock-inner small{font-size:10px}.selection-dock-inner .primary{padding:10px 13px;font-size:13px}.dock-clear{width:32px}.has-selection main{padding-bottom:205px}.insurance-summary{gap:6px}.insurance-summary>div{padding:12px 9px}.insurance-summary strong{font-size:18px}.insurance-summary span{font-size:10px}.insurance-contract{padding:16px}.insurance-contract-head{flex-wrap:wrap}.insurance-contract-head .coverage-badge{margin-left:60px}.insurance-hero h2{font-size:23px}.insurance-hub-actions{display:grid}.coverage-row{font-size:13px}.property-tabs button{font-size:14px}}

/* 1.11: direct filters and insurance selection */
.type-shortcuts{display:flex;gap:8px;overflow-x:auto;padding:0;max-width:100%}.type-shortcuts button{flex-shrink:0;white-space:nowrap}.loan-fields{display:grid;gap:16px}.loan-fields label{display:grid;gap:6px}.insurance-choice>label{display:flex;align-items:center;gap:10px;padding:14px;font-weight:600}.insurance-choice input{width:22px;height:22px;accent-color:#194e40}.insurance-selection{position:sticky;top:8px;z-index:5;display:flex;gap:8px;flex-wrap:wrap;padding:12px;border:1px solid #cbd8c2;border-radius:16px;background:#f3f6ed;box-shadow:0 4px 16px #173c2915}.insurance-selection strong{flex-basis:100%}.attention summary{padding:16px 0;cursor:pointer}

.attention-fold>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none;padding:0;font-size:1.15rem}.attention-fold>summary::-webkit-details-marker{display:none}.fold-icon{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#e8efdc;color:#194e40;flex-shrink:0}.fold-icon:before{content:'+';font-size:24px}.attention-fold[open]>summary .fold-icon:before{content:'−'}

.back-top{position:fixed;right:16px;bottom:24px;z-index:20;width:44px;height:44px;border-radius:50%;border:1px solid #cbd7be;background:#f4f7eb;color:#174e40;font-size:25px;box-shadow:0 3px 14px #173e3720}.back-top[hidden]{display:none}.has-selection .back-top{bottom:120px}.account-reset{margin:24px 0;padding-top:16px;border-top:1px solid #d9dfd2}@media(max-width:580px){.back-top{bottom:calc(88px + env(safe-area-inset-bottom)/2)}.has-selection .back-top{bottom:calc(184px + env(safe-area-inset-bottom)/2)}}

/* 1.12: proportional city plan and compact map */
.map-stage{--map-height:360px;background:#eef0e3}.map-stage .map-viewport{height:var(--map-height)}.map-stage .real-city{width:max(calc(100% * var(--map-zoom,1)),calc(var(--map-height) * 1.25 * var(--map-zoom,1)));height:auto;aspect-ratio:5/4;min-width:0}.real-city>.city-plan{position:absolute;inset:0;width:100%;height:100%}.map-stage .map-tools{position:relative;inset:auto;flex-direction:row;justify-content:flex-end;border:0;border-radius:0;box-shadow:none;background:#fafbf6;padding:5px 12px;border-bottom:1px solid #dce3d4}.map-stage{display:flex;flex-direction:column}.map-stage .map-tools{order:-1}.map-tools button{min-width:40px;min-height:40px}.map-tools [data-map-scale]{min-width:45px;text-align:center}.parcel-dot{display:grid;place-items:center;width:20px;height:20px;border:2px solid #fff;background:#1d5748;color:#fff;font-size:14px;font-weight:700;box-shadow:0 2px 6px #163b3730}.owned .parcel-dot{background:#dbe9ae;color:#174c3d}.parcel-hit:focus-visible{outline:3px solid #a9bd78;border-radius:50%}.city-map{box-shadow:0 5px 22px #29493408}.map-compass{font-weight:600;font-size:10px}.map-footer{background:#fafbf6}.map-note{padding-top:6px;background:#fafbf6}@media(max-width:600px){.map-stage{--map-height:270px}.city-map-heading p{max-width:190px}.map-controls{padding-bottom:9px}.map-stage .map-tools{padding:3px 10px}.map-tools button{min-width:38px;min-height:38px}.map-note{font-size:10px}}
/* 1.13: choices without new navigation tabs */
.decision-options{display:grid;gap:12px}.decision-options .panel{margin:0;padding:18px}.decision-options h3{margin:0 0 12px}.contractor-choices{display:flex;gap:7px;flex-wrap:wrap;margin:14px 0}.budget-result{background:#edf2df;border-radius:14px;padding:18px;margin:18px 0}.budget-result span,.budget-result strong{display:block}.budget-result strong{font-size:28px;margin-top:8px}.financial-warning{border-left:4px solid #bc9855;background:#fbf7ed}.goal-horizon{margin-top:24px}.map-news{margin:0;padding:10px 14px;background:#e6edd9;color:#315745;font-size:12px;line-height:1.5}.decision-options button{width:100%}

/* 1.14 enlarged map and coherent renovation photography */
.main-grid>.city-map{grid-column:1/-1}.map-stage{--map-height:640px}.map-expand{font-size:13px!important;padding:0 12px!important;margin-right:auto!important}.photo-controls{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:10px 0 18px}.photo-controls span{font-size:12px;color:#6a786b}.map-open{overflow:hidden}.city-map.map-expanded{position:fixed;inset:12px;z-index:55;overflow:auto;box-shadow:0 0 0 100vmax #173b3780}.map-expanded .map-stage{--map-height:calc(100dvh - 265px)}@media(max-width:600px){.map-stage{--map-height:520px}.city-map.map-expanded{inset:8px}.map-expanded .map-stage{--map-height:calc(100dvh - 240px)}.map-expanded .map-note{display:none}}

/* 1.15: fit whole city, compact mobile, explicit expand control */
.map-stage{--map-height:400px}.map-stage .real-city{width:min(calc(100% * var(--map-zoom,1)),calc(var(--map-height) * 1.25 * var(--map-zoom,1)));height:auto;aspect-ratio:5/4;margin:0 auto;min-width:0}.map-heading-actions{display:flex;align-items:center;gap:8px}.map-expand-toggle{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;border-radius:50%;border:1px solid #c8d6bc;background:#edf3df;color:#1c5142;font-size:26px;line-height:1}.map-city-reset{font-size:12px!important;padding:0 9px!important;margin-right:auto!important}.map-cluster{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:2px;border:1px solid #b9ccb0;border-radius:12px;background:#fffffff2;color:#194e40;box-shadow:0 2px 8px #23473322;padding:6px 9px;min-width:65px;min-height:44px}.map-cluster strong{font-size:18px}.map-cluster span{font-size:10px;white-space:nowrap}.map-cluster:focus-visible,.map-expand-toggle:focus-visible{outline:3px solid #a0b36c;outline-offset:2px}.map-expanded .map-stage{--map-height:max(180px,calc(100dvh - 270px))}@media(max-width:600px){.map-stage{--map-height:260px}.map-heading-actions{gap:5px}.map-count{padding:5px 7px}.map-cluster{padding:5px 7px}.map-expanded .map-stage{--map-height:max(160px,calc(100dvh - 255px))}.city-map-heading p{max-width:180px}}
/* Compact mobile ergonomics and expanded game, v2 */
.hub-links,.list-toolbar,.property-pager{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.hub-links{overflow:auto;flex-wrap:nowrap;padding-bottom:5px}.hub-links button{white-space:nowrap;min-height:44px}.list-toolbar label{flex:1;min-width:170px}.list-toolbar input{width:100%}.compact-fold>summary{display:flex;justify-content:space-between;align-items:center;gap:12px;cursor:pointer;font-size:17px;font-weight:700;list-style:none;min-height:44px}.compact-fold>summary::-webkit-details-marker{display:none}.fold-plus:after{content:'+';font-size:24px}.compact-fold[open]>.fold-plus:after,.compact-fold[open]>summary .fold-plus:after{content:'−'}.fold-content{padding-top:14px}.fold-content .panel{padding:12px;box-shadow:none}.compact-fold{padding:16px!important}.property-kind{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.favorite-btn{border:0;background:none;color:#285447;font-size:24px;min-width:44px;min-height:44px}.image-select{display:block;border:0;padding:0;background:transparent;width:100%;height:100%;cursor:pointer}.property-art .property-tag,.property-art .type-icon{pointer-events:none}.property.is-selected{outline:2px solid #285e4c;outline-offset:-2px}.property.is-selected .property-art{box-shadow:inset 0 0 0 3px #285e4c}.property-address{font-size:12px;color:#526e60;line-height:1.5}.list-mode{display:flex!important;flex-direction:column;gap:10px!important}.list-mode .property{display:grid!important;grid-template-columns:90px minmax(0,1fr);align-items:stretch}.list-mode .property-art{height:100%;min-height:120px!important;max-height:none}.list-mode .property-art img{height:100%;object-fit:cover}.list-mode .property-tag,.list-mode .type-icon{display:none}.list-mode .property-body{padding:12px}.list-mode .property h3{font-size:16px;margin:2px 0}.list-mode .property-select{right:5px;top:5px;width:32px;height:32px}.list-mode .property-body{padding-right:42px}.list-mode .property-numbers{margin:8px 0;gap:10px}.list-mode .property-numbers strong{font-size:17px}.list-mode .yield small:last-child,.list-mode .location{display:none}.list-mode .property .secondary{min-height:40px}.back-left .back-top{left:16px;right:auto}.modal-back-top{position:sticky;bottom:12px;float:right;margin:0 14px 14px;width:44px;height:44px;border-radius:50%;border:1px solid #cbd7be;background:#f4f7eb;color:#174e40;font-size:25px;z-index:2}.back-left .modal-back-top{float:left}.large-text .dialog-inner p,.large-text .location,.large-text .property-address,.large-text .note{font-size:18px!important}.large-text button{font-size:17px}#sticky-finances{position:fixed;top:0;left:236px;right:0;z-index:22;background:#123e37;color:#edf7e0;display:flex;justify-content:space-between;align-items:center;gap:8px;padding:12px 20px;box-shadow:0 3px 15px #173e3720;font-size:13px}#sticky-finances[hidden]{display:none}.avatar-large{font-size:48px;color:#235748}#detail label{display:block;margin:12px 0}#detail select,#detail input[type=number],#detail textarea{max-width:100%;width:100%;border:1px solid #ccd8c9;border-radius:10px;padding:10px;background:#fff;color:#214639;font:inherit}#detail .dialog-top{position:sticky;top:0;background:#fff;z-index:3;padding:8px 0}#detail .dialog-top .close{min-width:44px;min-height:44px}.stock-chart{width:100%;height:65px}.shared-property img{display:block;max-width:100%;border-radius:10px;margin-bottom:10px}.summary-item{display:block;width:100%;margin-bottom:8px;text-align:left}.chat-messages{max-height:280px;overflow:auto;overflow-wrap:anywhere}#advisor-answer{white-space:pre-wrap}.property-pager button{flex:1}.list-toolbar button{min-height:44px}.map-stage svg text{paint-order:stroke;stroke:#f7f6ec;stroke-width:2px;stroke-linejoin:round}.image-select:focus-visible{outline-offset:-4px}.property-art img{pointer-events:none}
@media(max-width:800px){#sticky-finances{left:0;padding:10px 12px;font-size:11px}#sticky-finances strong{font-size:14px}.hub-links{margin:8px 0 14px}.list-toolbar{align-items:end}.list-mode .property-body{padding:10px 38px 10px 10px}.list-mode .property-numbers{flex-wrap:wrap}.large-text #sticky-finances{font-size:11px}}

/* 2.0.1 — stable selection, photo-free list and floating map controls */
.view-switch{display:flex;align-self:end;gap:3px;padding:4px;border:1px solid #d7e1d6;border-radius:14px;background:#eaf0e5}
.view-switch button{border:0;border-radius:10px;background:transparent;color:#506a5b;padding:10px 17px;min-height:44px;font-weight:600}
.view-switch button[aria-pressed="true"]{background:#184d40;color:#fff;box-shadow:0 2px 5px #183e3715}
.property,.property-art,.image-select,.property-art img{transition:none!important;transform:none!important}
.image-select:hover,.image-select:active{filter:none!important;transform:none!important}
.property-select{touch-action:manipulation}.property .selection-check{transition:background-color .12s!important;transform:none!important}
.list-mode .property{grid-template-columns:minmax(0,1fr)!important;border-radius:14px}
.list-mode .property-art{display:none!important}
.list-mode .property-body{padding:12px 54px 12px 16px!important}
.list-mode .property-select{right:9px;top:12px;width:36px;height:36px}
.list-mode .property-kind{min-height:30px}.list-mode .favorite-btn{min-height:36px;height:36px}
.list-mode .property-numbers{margin:8px 0 12px}.list-mode .property h3{font-size:16px;line-height:1.4}
.list-mode .property-address{font-weight:400}.list-mode .property .secondary{width:auto;min-height:44px;padding:8px 14px}
/* Reserve footer space before the first selection, avoiding a layout jump. */
main,.has-selection main{padding-bottom:150px}
.map-stage{display:block;background:#e8ede4;border-top:1px solid #dde5d8;border-bottom:1px solid #dde5d8}
.map-stage .map-tools{position:absolute;top:12px;right:12px;left:auto;bottom:auto;order:initial;display:flex;flex-direction:column;justify-content:center;gap:2px;padding:5px;border:1px solid #d1ddce;border-radius:18px;background:#fffffff5;box-shadow:0 5px 20px #264e3c18}
.map-tools button{min-width:44px;min-height:44px;border-radius:12px}.map-tools [data-map-scale]{min-width:44px;padding:3px 0}
.map-overview{position:absolute;bottom:12px;left:12px;z-index:8;min-height:44px;padding:9px 14px;border:1px solid #d1ddce;border-radius:24px;background:#fffffff5;color:#184d40;font:inherit;font-size:12px;font-weight:600;box-shadow:0 3px 12px #264e3c12}
.map-compass{left:auto;right:15px;bottom:15px;background:transparent;padding:5px;font-size:12px}
.city-map{border:1px solid #d6e0d0;border-radius:22px;overflow:hidden;background:#fff}
.city-map-heading{padding:20px 20px 12px}.city-map-heading h2{letter-spacing:-.7px}.map-controls{padding:0 20px 16px}
.map-cluster{border:1px solid #ffffff;border-radius:18px;background:#184d40;color:#fff;box-shadow:0 4px 12px #173e3724;padding:8px 12px}
.map-cluster strong{font-size:20px}.map-cluster span{color:#e0edcf;font-weight:500}
.map-stage svg text{stroke-width:1px}.map-footer{background:#fff;padding:12px 18px}.map-note{background:#fff;margin:0;padding:0 18px 14px;color:#778778}
@media(max-width:600px){main,.has-selection main{padding-bottom:205px}.list-toolbar>label{flex-basis:100%}.view-switch{flex:1}.view-switch button{flex:1}.city-map-heading{padding:14px}.map-controls{padding:0 14px 12px}.map-stage .map-tools{right:8px;top:8px}.map-overview{bottom:8px;left:8px}.map-stage{--map-height:280px}}
@media(prefers-reduced-motion:reduce){button{transition:none!important}}

/* 2.1 — compact sheets and readable financial tools */
body:not(.keyboard-input) .close:focus{outline:none!important;box-shadow:none}.keyboard-input .close:focus-visible{outline:2px solid #285e4c;outline-offset:3px}
#detail .close{background:transparent;border:1px solid #dce5d6;color:#184d40;font-size:25px}
.property-intro .detail-photo{height:150px!important;max-height:150px!important;object-fit:cover;margin:12px 0;border-radius:14px}
.property-intro p{margin:8px 0;font-size:13px!important}.detail-values{margin:12px 0;gap:12px;padding:14px}
.property-action-dock{position:sticky;bottom:0;background:#fffffff5;padding:12px 0 4px;display:grid;grid-template-columns:1fr;gap:8px;border-top:1px solid #dce4d7;z-index:4}.property-action-dock button{min-height:44px}
.essential-alert{border-left:3px solid #b8904b;background:#f7f0e2;padding:10px 12px;border-radius:8px;color:#775b30!important}
.compact-fold{margin:10px 0;border-radius:12px;box-shadow:none}.compact-fold>summary{font-size:14px!important;font-weight:600}.compact-fold .fold-content>.panel{border:0;margin:0}
.finance-summary .panel{padding:14px}.finance-summary h2{margin:8px 0 0;font-size:22px}.finance-chart{max-height:190px}.finance-grid{gap:10px}
.portrait{display:inline-block;width:36px;height:36px;vertical-align:middle;flex-shrink:0}.avatar .portrait{width:36px;height:36px}.avatar-editor{padding:16px;border:1px solid #dbe5d5;border-radius:16px;margin:16px 0}#avatar-preview{text-align:center}#avatar-preview .portrait{width:112px;height:112px}.avatar-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.avatar-fields label{font-size:12px}.avatar-fields select{min-height:44px}.chat-message{display:flex;gap:10px;padding:12px 0;border-bottom:1px solid #e4eadf}.chat-message>div{min-width:0;flex:1}.chat-message small{display:block;font-size:11px;color:#6c7e6c}.chat-message p{margin:5px 0!important;color:#294b3e!important}.chat-message .text-btn{font-size:11px}.chat-messages{max-height:38dvh}.advisor-suggestions{display:flex;gap:6px;flex-wrap:wrap}.advisor-suggestions button{font-size:12px;min-height:44px;padding:8px 10px}
.insurance-simple-filters{display:flex;gap:8px;margin:16px 0}.insurance-type-label{display:flex;align-items:center;gap:12px;font-size:13px;margin-bottom:16px}.insurance-type-label select{min-height:44px;border:1px solid #d7e0d0;border-radius:10px;padding:8px;background:#fff;color:#184d40;max-width:65%}.insurance-row{background:#fff;border:1px solid #dce5d7;border-radius:14px;padding:14px;margin:10px 0}.insurance-row-head{display:flex;align-items:center;gap:10px}.insurance-row-head>div{flex:1;min-width:0}.insurance-row-head strong{font-size:14px}.insurance-row-head small{display:block;color:#6d7c6c;font-size:12px;margin-top:5px}.insurance-row-head input{width:24px;height:24px;flex-shrink:0;accent-color:#184d40}.insurance-row-head button{min-height:44px}.insurance-row .compact-fold{border:0;border-top:1px solid #e4eadd;border-radius:0;margin:10px 0 0;padding:8px 0 0!important}.insurance-row .insurance-contract{border:0;padding:0;margin:0}.insurance-row .insurance-contract-head{display:none}.insurance-batch{position:sticky;bottom:100px;z-index:9;display:flex;justify-content:space-between;align-items:center;gap:10px;background:#fff;padding:14px;border:1px solid #b9ceac;border-radius:14px;box-shadow:0 4px 16px #184d4020}.insurance-batch[hidden]{display:none}.property-tabs{background:transparent;border-radius:0;border-bottom:1px solid #dce5d7;padding:0;gap:20px}.property-tabs button{flex:initial;border-radius:0;padding:12px 2px;background:transparent!important;box-shadow:none!important}.property-tabs button.active{border-bottom:2px solid #184d40}
.market-hero{background:#f0f5e9;border:1px solid #dbe5d0;border-radius:16px;padding:16px;margin:12px 0}.market-hero h2{display:flex;justify-content:space-between;gap:12px;font-size:19px!important}.market-hero small{font-size:11px;color:#627660}.market-hero p{margin:8px 0}.market-chart{width:100%;height:95px}.market-balances{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:12px 0}.market-balances small,.market-balances strong{display:block}.market-balances small{font-size:12px;color:#6d7e6c}.market-balances strong{font-size:19px;margin-top:6px}.stock-table-wrap{width:100%;overflow-x:auto}.stock-table{border-collapse:collapse;width:100%;font-size:12px;table-layout:fixed}.stock-table th{text-align:left;color:#6c7c6b;font-size:10px;font-weight:500;padding:10px 4px;border-bottom:1px solid #dae4d1}.stock-table td{padding:12px 4px;border-bottom:1px solid #e4ecdd;vertical-align:middle;overflow-wrap:anywhere}.stock-table th:nth-child(1){width:26%}.stock-table th:nth-child(2){width:28%}.stock-table th:nth-child(3){width:14%}.stock-table th:nth-child(4){width:32%}.stock-table small{display:block;font-size:10px;margin-top:5px}.stock-row-actions{display:flex;flex-direction:column;gap:5px}.stock-row-actions button{font-size:11px;padding:7px 3px;min-height:44px}.stock-table strong{font-size:12px}.stock-table tbody tr:hover{background:#f5f8f0}
@media(min-width:700px){.stock-row-actions{flex-direction:row}.stock-row-actions button{flex:1}.property-intro .detail-photo{height:180px!important;max-height:180px!important}.insurance-batch{bottom:20px}}

.simple-policy-list{display:grid;gap:12px}.simple-policy{border:1px solid #d9e4d0;border-radius:14px;padding:14px}.simple-policy>div:first-child{display:flex;justify-content:space-between;align-items:center;gap:8px}.simple-policy h3{margin:0}.simple-policy>p{font-size:12px!important;margin:8px 0}.simple-policy .compact-fold{border:0;padding:0!important;margin:4px 0 10px}.simple-policy>.primary{width:100%;min-height:44px}.insurance-row .insurance-contract h4{font-size:17px;margin-top:12px}.avatar-fields{grid-template-columns:1fr 1fr}

/* 2.1.1 — continuous city and compact navigation */
.map-stage{padding-top:0;display:block;--map-height:440px;background:#e9eadf}
.map-stage .map-viewport{touch-action:none;scrollbar-width:none;display:block}
.map-stage .map-viewport::-webkit-scrollbar{display:none}
.map-stage .real-city{width:calc(100% * var(--map-zoom,1));aspect-ratio:5/4;margin:0;min-width:0}
.map-stage .map-tools{top:10px;right:10px;padding:2px;border-radius:12px;gap:0}
.map-tools button{min-width:32px;min-height:32px;width:32px;height:32px;font-size:21px;border-radius:8px}
.map-tools [data-map-scale]{display:none}
.map-cluster{min-width:0;min-height:36px;flex-direction:row;gap:6px;padding:5px 8px;border-radius:30px;background:#fffef8ee;color:#214e42;box-shadow:0 2px 8px #203e3020}
.map-cluster strong{display:grid;place-items:center;font-size:12px;width:24px;height:24px;border-radius:50%;background:#1f5648;color:white}
.map-cluster span{font-size:10px;color:#285445}
.map-overview{font-size:11px;padding:8px 12px;min-height:34px;border-radius:20px;bottom:10px;left:10px}
.map-help{margin:0;padding:0 14px 10px;border:0;background:#fafbf6;font-size:11px;color:#65796c}
.map-help summary{padding:4px 0;min-height:26px;font-size:11px}.map-help .map-note{padding:8px 0}
.map-footer{padding:9px 14px;font-size:11px}
@media(max-width:600px){.map-stage{--map-height:calc((100vw - 32px) * .8)}.map-stage .map-tools{top:8px;right:8px}.map-cluster span{font-size:9px}.map-cluster{gap:4px;padding:4px 6px}.map-cluster strong{width:21px;height:21px;font-size:11px}.map-expand-toggle{width:36px;height:36px;font-size:23px}.map-heading-actions{gap:6px}.city-map-heading p{font-size:11px}.map-expanded .map-stage{--map-height:calc(100dvh - 250px)}}
/* 2.2 — compact, consistent controls */
#detail:not(:focus-visible),body:not(.keyboard-input) #detail,body:not(.keyboard-input) #detail .close{outline:none;box-shadow:none}
#detail .close{width:32px;height:32px;min-width:32px;min-height:32px;flex:0 0 32px;background:#f0f3ed;border:0;border-radius:50%;font-size:23px;padding:0;margin:0}
#detail .dialog-top{gap:12px;align-items:center;margin-bottom:16px}.property-back{display:none}
.property-page-top .property-title{font-size:20px;line-height:1.25;margin:0;flex:1;min-width:0}
.property-page .property-intro p{margin:8px 0;font-size:13px}.property-page .detail-photo{height:160px;margin:0 0 10px}
.property-pager{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:12px 0 0}.property-pager button{padding:6px 10px;min-height:36px;font-size:12px}.property-pager small{font-size:11px;white-space:nowrap}
.property-map-link{font-size:12px;padding:8px 0}.repair-alert{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;font-size:13px;padding:10px 12px;margin:8px 0}.repair-alert button{font-size:13px;min-height:36px;font-weight:700}
.property-controls{position:absolute;left:8px;top:8px;z-index:3;display:flex;flex-direction:column;align-items:center;gap:0;width:36px}
.property .property-controls .property-select{position:relative;inset:auto;width:36px;height:36px;min-height:36px;padding:6px;background:transparent;display:grid;place-items:center;order:initial}
.property-select .selection-check{display:grid;place-items:center;width:22px;height:22px;border:1px solid #aab9b0;background:#fff;border-radius:50%;font-size:13px;color:transparent;box-shadow:none}
.property-select input{position:absolute;opacity:0;width:32px;height:32px;margin:0;cursor:pointer}
.property-select input:checked+.selection-check{background:#205648;color:#fff;border-color:#205648}.property-select input:focus-visible+.selection-check{outline:2px solid #a48c45;outline-offset:2px}
.property-controls .favorite-btn{position:relative;inset:auto;display:grid;place-items:center;min-width:34px;width:34px;min-height:34px;height:34px;border:0;border-radius:50%;padding:0;background:#fffffff0;color:#1c5142;font-size:22px}
.property-tag{left:52px;right:auto;top:12px;font-size:10px;max-width:calc(100% - 64px)}
.card-manage{align-self:flex-end;min-height:38px!important;padding:8px 12px!important;display:flex;align-items:center;justify-content:center;gap:8px}.card-manage svg{width:20px;height:20px}.property-body .card-manage{width:auto!important;margin-top:6px!important}
.cards.list-mode{display:flex!important;flex-direction:column!important;gap:8px!important}
.cards.list-mode .compact-property{display:grid!important;grid-template-columns:36px minmax(0,1fr) auto!important;align-items:center;gap:8px;padding:8px!important;min-height:0!important;border-radius:12px;position:relative}
.compact-property .property-controls{position:static;grid-column:1;grid-row:1;gap:0}.compact-main{grid-column:2;grid-row:1;display:flex;flex-direction:column;gap:2px;min-width:0;border:0;background:transparent;text-align:left;padding:0;color:#20463d;cursor:pointer}
.compact-main>strong{font-size:14px;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.compact-kind{font-size:10px;font-weight:600;color:#587064}.compact-address{font-size:10px;color:#738077;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.compact-figures{display:flex;gap:8px;flex-wrap:wrap;align-items:baseline;font-size:10px}.compact-figures b{font-size:13px}.compact-figures>span{color:#537b63}.compact-alert{color:#987342;font-size:10px;font-weight:700}
.compact-manage{grid-column:3;grid-row:1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:36px;min-height:36px;border:0;background:#edf2e8;border-radius:9px;padding:6px;color:#235548;font-size:10px;gap:3px}.compact-manage svg{width:19px;height:19px}
.compact-property.is-selected{border-color:#336c58;background:#f2f7ec}.compact-main:focus-visible,.compact-manage:focus-visible{outline:2px solid #a48c45;outline-offset:2px}
.finance-page{display:flex;flex-direction:column;gap:12px}.finance-page>*,.finance-page .finance-grid>*{margin:0!important}.finance-page .finance-grid{display:contents}.finance-page .compact-fold{margin:0!important}.finance-page details>summary{padding:14px 16px!important;min-height:54px!important;font-size:15px!important}.finance-page .finance-summary{gap:12px}.finance-chart{overflow-x:auto;overscroll-behavior-x:contain;padding-bottom:8px}.finance-column{min-width:86px}
#content .insurance-row{margin:0 0 12px;padding:14px}.insurance-row .essential-alert{padding:10px;font-size:13px}.insurance-row .essential-alert button{font-size:13px}.insurance-row .compact-fold>summary{min-height:46px;padding:10px 0}.insurance-row-head small{font-size:12px}
.property-action-dock{gap:8px}.property-action-dock button{min-height:42px;font-size:13px}.map-focused .parcel-dot{outline:4px solid #d7b64f;outline-offset:3px;box-shadow:0 0 0 10px #fff9}.map-focused .parcel-price{display:block}
@media(max-width:600px){
 #detail.property-page{position:fixed;inset:0;margin:0;width:100%;max-width:none;height:100dvh;max-height:100dvh;border:0;border-radius:0;padding:0;overflow-y:auto;overscroll-behavior:contain}
 #detail.property-page #dialog-content{padding:0!important}.property-page .dialog-inner{padding:0 16px calc(env(safe-area-inset-bottom,0px) + 12px)}
 .property-page .property-page-top{position:sticky;top:0;z-index:8;background:#fff;padding:calc(env(safe-area-inset-top,0px) + 12px) 0 12px;margin:0 0 12px;border-bottom:1px solid #e1e7dd}
 .property-page .property-back{display:grid;place-items:center;width:34px;height:34px;min-width:34px;border:0;background:#eef3e9;border-radius:50%;color:#214f43;font-size:21px;padding:0}.property-page .property-page-top>.close{display:none}
 .property-page-top .property-title{font-size:17px}.property-page .detail-values{padding:12px;gap:10px}.property-page .detail-values strong{font-size:21px}.property-page .detail-values small{font-size:11px}
 .property-page .property-action-dock{position:sticky;bottom:0;margin:12px -16px calc(-1 * env(safe-area-inset-bottom,0px));padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));background:#fff;border-top:1px solid #dce5d7;z-index:7;display:flex;flex-wrap:wrap}.property-page .property-action-dock>button{flex:1;min-width:120px}
 .property-page .modal-back-top{bottom:100px;width:34px;height:34px;font-size:22px;z-index:9}.property-page details>summary{min-height:48px!important;padding:12px!important;font-size:14px!important}
 .finance-page{gap:10px}.finance-page details>summary{min-height:50px!important}.selection-dock-inner small{font-size:10px}.selection-dock-inner strong{font-size:16px}
}

.avatar-live{display:flex;align-items:center;gap:16px;margin:12px 0}.avatar-live #avatar-preview{width:96px;min-width:96px;height:96px;margin:0}.avatar-live p{font-size:13px;line-height:1.5}
.avatar-presets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.avatar-presets button{display:flex;flex-direction:column;align-items:center;gap:5px;border:1px solid #dbe3d6;border-radius:12px;background:#f7f9f3;padding:8px 4px;color:#244b40;font-size:11px}.avatar-presets button[aria-pressed=true]{background:#e4efd5;border-color:#2b6351}.avatar-presets svg{width:60px;height:60px}
.avatar-choice-group{border:0;padding:0;margin:0 0 14px;min-width:0}.avatar-choice-group legend{font-size:13px;font-weight:700;margin-bottom:6px}.avatar-choice-group>div{display:flex;gap:6px;flex-wrap:wrap}.avatar-choice{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:58px;padding:5px;border:1px solid #dce4d7;border-radius:10px;background:#fff;color:#345a4b;font-size:10px}.avatar-choice svg{width:44px;height:44px}.avatar-choice[aria-pressed=true]{border:2px solid #295f4d;padding:4px;background:#edf4e3}.avatar-choice:disabled{opacity:.4}.avatar-choice:focus-visible,.avatar-presets button:focus-visible{outline:2px solid #a48c45;outline-offset:2px}
.avatar-editor>.primary{margin-top:12px;width:100%}.avatar-editor .compact-fold{margin:12px 0}.avatar-editor #avatar-feedback{font-size:11px}

.property-pager{height:auto;min-height:0}.finance-page>.compact-fold{padding:0!important}.finance-page .finance-grid>.compact-fold{padding:0!important}.insurance-row .compact-fold>summary{padding:10px 0!important}.property-page .dialog-inner>.compact-fold{padding:0!important}
.avatar-live #avatar-preview .portrait{width:96px;height:96px}
.finance-page .compact-fold>.fold-content,.property-page .dialog-inner>.compact-fold>.fold-content{padding:0 16px 16px}
/* 2.2.1: explicit header tracks prevent the back button taking the title column. */
#detail .dialog-top.property-page-top{display:grid;grid-template-columns:minmax(0,1fr) 32px;align-items:start;gap:12px;width:100%;min-width:0}
#detail .property-page-top .property-title{grid-column:1;grid-row:1;display:block;padding:0;margin:0;min-width:0;width:auto;max-width:100%;white-space:normal;word-break:normal;overflow-wrap:break-word;text-align:left}
#detail .property-page-top>.close{grid-column:2;grid-row:1}
#detail .dialog-top .close{width:32px;height:32px;min-width:32px;min-height:32px;align-self:start}
@media(max-width:600px){
 #detail.property-page .dialog-top.property-page-top{grid-template-columns:34px minmax(0,1fr);align-items:start}
 #detail.property-page .property-page-top>.property-back{grid-column:1;grid-row:1;align-self:start}
 #detail.property-page .property-page-top>.property-title{grid-column:2;grid-row:1;padding:3px 0 0;font-size:17px;line-height:1.35}
 #detail.property-page .property-page-top>.close{display:none}
}

/* 2.3: independent touch controls, on the right */
.property-controls{left:auto;right:8px;width:40px;isolation:isolate;z-index:5}
.property .property-controls .property-select{width:40px;height:40px;min-height:40px;overflow:hidden}
.property-controls .property-select input{inset:0;width:40px;height:40px}
.property-controls .favorite-btn{width:40px;height:40px;min-width:40px;min-height:40px;touch-action:manipulation;pointer-events:auto}
.property-controls .favorite-btn[aria-pressed=true]{color:#174f40;background:#dfebcb}
.property-controls .favorite-btn[aria-busy=true]{opacity:.5}
.cards.list-mode .compact-property{grid-template-columns:minmax(0,1fr) auto 40px!important}
.compact-property .property-controls{grid-column:3;grid-row:1}
.compact-property .compact-main{grid-column:1;grid-row:1}
.compact-property .compact-manage{grid-column:2;grid-row:1}
input[type=checkbox],input[type=radio],input[type=range]{accent-color:#1b5545}
.avatar-editor #public-rank{appearance:none;-webkit-appearance:none;display:inline-grid;place-content:center;width:22px;height:22px;min-width:22px;border:1px solid #8b9f91;border-radius:6px;background:#fff;vertical-align:middle;margin-right:8px}
.avatar-editor #public-rank:checked{background:#1b5545;border-color:#1b5545}
.avatar-editor #public-rank:checked:after{content:'✓';color:white;font-size:17px}
.avatar-slider{display:grid;grid-template-columns:1fr auto;gap:10px;padding:12px 0;font-size:14px}
.avatar-slider output{font-weight:600;color:#1b5545}
.avatar-slider input{grid-column:1/-1;width:100%;min-height:30px;padding:0;cursor:pointer}
.avatar-presets{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:8px}
.avatar-presets button{flex:0 0 90px;scroll-snap-align:start}

/* Appearance controls and account-wide reading preferences */
body,button,input,select,textarea{font-family:var(--reader-font,Arial,sans-serif)}
#content p,#dialog-content p,#dialog-content label{font-size:calc(15px * var(--reader-scale,1));line-height:1.5}
#content button,#dialog-content button{font-size:calc(14px * var(--reader-scale,1))}
#content h3,#dialog-content h3{font-size:calc(19px * var(--reader-scale,1))}
#content h2,#dialog-content h2{font-size:calc(24px * var(--reader-scale,1))}
.appearance-panel{padding:16px!important}.appearance-group{border:0;padding:12px 0;margin:0;min-width:0}.appearance-group legend{font-size:14px;font-weight:600;padding:0}.appearance-group>div{display:flex;gap:7px;flex-wrap:wrap}.appearance-group button{flex:1;min-height:42px;padding:8px 10px;border-radius:12px;background:#f4f6ef;border:1px solid #d6ded0;color:#285447}.appearance-group button[aria-pressed=true]{background:#deebc5;border-color:#285447;box-shadow:inset 0 0 0 1px #285447}
.appearance-size{display:grid;grid-template-columns:1fr auto;gap:6px;padding:12px 0}.appearance-size input{grid-column:1/-1;width:100%;padding:0}.appearance-toggle{display:flex;gap:15px;align-items:center;justify-content:space-between;padding:14px 0}.appearance-toggle input{flex-shrink:0;width:24px;height:24px}.appearance-preview{padding:14px;border-radius:12px;background:#f0f4e8;margin:14px 0}.appearance-preview p{font-size:inherit!important}.appearance-save{display:flex;gap:8px;flex-wrap:wrap}.appearance-save .primary{flex:1}.density-comfortable .property-body{padding:24px}.density-comfortable .cards{gap:24px!important}.density-comfortable .compact-property{padding:14px!important}
body.theme-dark{background:#132721;color:#e7eee7;color-scheme:dark}
.theme-dark :is(.panel,.property,.job,.empty,.city-map,dialog,.dialog-inner,.compact-fold,.property-filters,.market-hero,.market-balances,.connection-panel){background:#20372f!important;color:#e7eee7!important;border-color:#486052!important}
.theme-dark :is(h1,h2,h3,strong,label,legend,.property-title,.compact-main,.compact-kind){color:#e7eee7}
.theme-dark :is(p,small,.note,.location,.property-address,.compact-address){color:#b9cbbd}
.theme-dark :is(input,select,textarea){background:#182f27;color:#eef4ea;border-color:#637b68}
.theme-dark :is(.secondary,.text-btn,.appearance-group button,.compact-manage,.close){background:#2c493c!important;color:#e7eee7!important;border-color:#65806b!important}
.theme-dark .appearance-group button[aria-pressed=true]{background:#446b48!important;border-color:#c7df97!important}
.theme-dark :is(.property-numbers,.budget-summary,.stats,.ledger,.property-page-top,.property-page-actions,.dialog-top){background:#20372f;color:#e7eee7}
.theme-dark .appearance-preview{border:1px solid #637b68}

/* Detail routes use the document scroll, not a modal layer. */
body.detail-route{overflow:auto!important}
.detail-route #game-main,.detail-route #selection-dock{display:none!important}
#detail[hidden]{display:none!important}
#detail:not([hidden]),#detail.property-page:not([hidden]){display:block;position:relative!important;inset:auto!important;transform:none!important;width:auto!important;max-width:1050px!important;height:auto!important;max-height:none!important;overflow:visible!important;margin:20px 28px 100px 260px!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:inherit}
#detail .dialog-inner{padding:20px!important;max-width:100%;overflow-wrap:break-word}
#detail .dialog-top,#detail .dialog-top.property-page-top{position:static!important;display:block!important;padding:0!important;margin:12px 0 20px!important;background:transparent!important}
#detail .property-page-top .property-title{display:block!important;width:100%!important;padding:0!important;word-break:normal!important}
.page-return{display:inline-flex;align-items:center;gap:8px;border:0;border-radius:12px;background:#e9efdf;color:#234f40;min-height:44px;padding:8px 14px}
#detail .property-action-dock{position:sticky!important;bottom:0;background:#f6f7f0;padding:12px;z-index:3;border-top:1px solid #d7dfd0}
.back-top{width:42px!important;height:42px!important;min-height:42px!important;border-radius:14px!important;font-size:23px!important;background:#f2f6e9!important;color:#245744!important;border:1px solid #cbd8bc!important;box-shadow:0 3px 10px #163a2520!important;bottom:calc(98px + env(safe-area-inset-bottom))!important;z-index:12}
.detail-route .back-top{bottom:calc(170px + env(safe-area-inset-bottom))!important}
.theme-dark .back-top,.theme-dark .page-return{background:#314d3f!important;color:#e6efdc!important;border-color:#708967!important}
.theme-dark #detail .property-action-dock{background:#20372f}
@media(max-width:850px){#detail:not([hidden]),#detail.property-page:not([hidden]){margin:0 12px 110px!important}#detail .dialog-inner{padding:12px 4px!important}.detail-route .shell>header{position:static}.detail-route #detail .property-action-dock{bottom:82px!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}}

#content :is(input,select),#dialog-content :is(input,select,textarea){font-size:calc(16px * var(--reader-scale,1))}
.compact-main>strong{font-size:calc(14px * var(--reader-scale,1))}.compact-kind,.compact-address,.compact-figures{font-size:calc(11px * var(--reader-scale,1))}.compact-figures b{font-size:calc(13px * var(--reader-scale,1))}
.theme-dark :is(.detail-values,.detail-values>div,.essential-alert,.attention-item,.summary-item,.finance-chart,.property-profit,.objective,.appearance-panel,.avatar-editor,.avatar-choice,.avatar-presets button,.insurance-card,.contract-card){background:#294338!important;color:#edf3e8!important;border-color:#59715e!important}
.theme-dark :is(.detail-values strong,.detail-values small,.appearance-preview strong){color:inherit}

.confirmation-window{width:calc(100% - 32px);max-width:520px;max-height:85dvh;overflow:auto;border:1px solid #cfdbc9;border-radius:20px;background:#f8faf4;color:#234c3d;padding:0}.confirmation-window::backdrop{background:#123c3277}.theme-dark .confirmation-window{background:#20372f;color:#edf3e8}
/* 2.5: compact controls, stable cards and tablet layout. */
html{scroll-padding-top:64px}button{transition:background-color .15s,color .15s;touch-action:manipulation}button:active{transform:none!important}button:focus-visible,a:focus-visible{outline:2px solid #779a67;outline-offset:3px}.company{cursor:pointer}.company:focus-visible{outline:2px solid var(--lime);outline-offset:4px}
#selection-bar{display:none}.market-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:#eaf0df;border-radius:12px;margin:12px 0;font-size:13px}.market-summary details{max-width:480px}.market-summary summary{cursor:pointer}.market-summary p{font-size:13px;line-height:1.5;margin:10px 0 0}.result-count{font-size:12px;color:var(--muted);margin:10px 0}.result-count .text-btn{font-size:12px}.quick-filters{margin:10px 0}.type-shortcuts,.status-shortcuts{gap:6px}.status-chip{min-height:38px;padding:8px 12px}.property-filters{margin:10px 0}.list-toolbar{align-items:end;margin:10px 0}.list-toolbar label{font-size:12px}.hub-links{gap:6px;margin:8px 0 16px}.hub-links button{font-size:12px;padding:8px 12px;min-height:38px}
.property,.property-art,.image-select,.property-art img{animation:none!important;transition:none!important;transform:none!important}.property-art{aspect-ratio:8/5;height:auto!important}.property-body{padding:14px}.property-numbers{margin:12px 0}.property-tag{max-width:calc(100% - 65px);letter-spacing:0}.cards.list-mode .compact-property{padding:10px 12px!important;gap:7px;grid-template-columns:minmax(0,1fr) 38px 36px!important}.compact-property .compact-main{padding:0!important;min-width:0}.compact-main strong{font-size:15px;line-height:1.25}.compact-kind,.compact-address,.compact-figures{font-size:11px;line-height:1.4}.property .property-controls{right:8px;left:auto}.property .property-controls .property-select{width:36px;height:36px;min-height:36px}.property-select .selection-check{width:19px;height:19px}.property-controls .favorite-btn{width:36px;min-width:36px;height:36px;min-height:36px;font-size:21px}.compact-manage{width:38px!important;min-width:38px;padding:7px!important}.property.is-selected{outline-width:1px!important}.property .card-manage{min-height:40px}.compact-property .property-controls{grid-column:3;position:static}
.map-stage{--map-height:420px}.map-stage .real-city{aspect-ratio:23/28;width:max(calc(100% * var(--map-zoom,1)),calc(var(--map-height) * 23 / 28 * var(--map-zoom,1)));margin:0 auto}.map-stage .map-tools{padding:2px;right:10px;border-radius:10px}.map-tools button{width:36px!important;min-width:36px!important;height:36px!important;min-height:36px!important;font-size:22px!important}.map-tools [data-map-scale]{display:none}.map-controls{display:flex;justify-content:flex-end;padding:0 16px 12px}.map-controls label{width:180px;max-width:100%;font-size:12px}.map-controls select{padding:8px}.city-map-heading h2{font-size:24px}.city-map-heading p{margin:4px 0}.map-preview-image{display:block;width:100%;height:200px;object-fit:cover;border-radius:16px}.tower-lots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:16px}.map-cluster{background:#fffffff0;box-shadow:0 2px 10px #23473318}.city-map .map-help{font-size:12px}
.finance-sections{display:grid;gap:12px;margin-top:12px}.finance-sections>.compact-fold{margin:0!important}.finance-organize{margin-top:12px}.compact-fold>summary{font-size:15px;min-height:36px}.compact-fold{padding:14px 16px!important;margin:12px 0}.finance-grid:empty{display:none}.finance-page .monthly-bars{max-height:210px}.back-top{width:42px!important;height:42px!important;font-size:22px!important;border-radius:14px!important;box-shadow:0 3px 12px #123e3715!important}.dialog-inner .page-return{margin-bottom:16px}.confirmation-window .dialog-inner{padding:24px!important}.confirmation-window .primary{margin-top:14px}.confirmation-window .ledger{padding:12px 0}.confirmation-window h2{font-size:23px}
.advisor-chat{max-width:720px;margin:auto}.advisor-identity{display:flex;align-items:center;gap:12px}.advisor-identity svg{width:54px;height:54px}.advisor-identity strong,.advisor-identity small{display:block}.advisor-identity small{font-size:12px;color:var(--muted);margin-top:4px}.advisor-messages{min-height:180px;max-height:44dvh;overflow:auto;display:flex;flex-direction:column;gap:12px;padding:14px 0}.advisor-bubble{padding:12px 16px;border-radius:16px;max-width:90%;line-height:1.6;font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere}.advisor-bubble.assistant{background:#edf3e8;align-self:flex-start}.advisor-bubble.user{background:var(--green);color:white;align-self:flex-end}.advisor-suggestions{display:flex;gap:6px;flex-wrap:wrap}.advisor-suggestions button{font-size:12px;padding:8px 10px}.advisor-compose{display:flex;gap:8px;align-items:center}.advisor-compose textarea{flex:1;min-width:0;margin:0}.advisor-compose button{min-height:44px}.ranking-list{display:grid;gap:8px}.ranking-row{display:grid;grid-template-columns:28px 42px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;border:1px solid #dce5d9;border-radius:12px;background:#fff;color:var(--green);text-align:left}.ranking-row svg{width:42px;height:42px}.ranking-row small{display:block;font-size:11px;color:var(--muted)}#display-name{font:inherit;width:100%;padding:12px;border:1px solid #ccd8c9;border-radius:10px}.detail-route:has(.advisor-chat) #detail{max-width:760px;margin-left:auto!important;margin-right:24px!important}
@media(min-width:581px) and (max-width:1100px){.sidebar{width:170px;padding:24px 12px}.shell{margin-left:170px}.sidebar .brand{font-size:10px;gap:8px}.sidebar .brand b{font-size:17px}.sidebar .company{display:flex;margin:22px 0}.sidebar .company small{font-size:10px}.sidebar .nav{padding:12px 9px;gap:8px;justify-content:flex-start}.sidebar .nav span{display:block;font-size:12px}.sidebar nav{margin-top:8px}.sidebar .side-bottom{display:none}main{padding:24px 18px 100px}.main-grid{grid-template-columns:1fr}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.stats>div{padding:14px}#sticky-finances{left:170px}#detail:not([hidden]),#detail.property-page:not([hidden]){margin:18px 18px 100px 188px!important}.list-toolbar{gap:8px}.list-toolbar label{flex-basis:100%}.detail-route #detail .property-action-dock{bottom:0!important}}
@media(max-width:600px){.market-summary{align-items:flex-start;flex-direction:column;gap:6px}.map-stage{--map-height:300px}.map-stage .real-city{width:max(calc(100% * var(--map-zoom,1)),calc(var(--map-height) * 23 / 28 * var(--map-zoom,1)))}.map-expanded .map-stage{--map-height:calc(100dvh - 230px)}.cards.list-mode .compact-property{padding:9px!important}.compact-figures{display:flex;gap:6px;flex-wrap:wrap}.ranking-row{gap:7px;padding:10px;grid-template-columns:22px 34px minmax(0,1fr)}.ranking-row>b:last-child{grid-column:3}.ranking-row svg{width:34px;height:34px}.tower-lots{grid-template-columns:1fr}.detail-route:has(.advisor-chat) #detail{margin:0 12px 110px!important}.advisor-compose{align-items:stretch}.advisor-compose button{padding:10px}.property-address{font-size:11px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.theme-dark .market-summary,.theme-dark .advisor-bubble.assistant{background:#294339;color:#edf3e8}.theme-dark .ranking-row{background:#20372f;color:#edf3e8;border-color:#465d50}

.brand{letter-spacing:0;gap:9px}.brand img{flex-shrink:0}.brand b{font-size:23px;letter-spacing:-.8px}.brand small{display:block;font-size:9px;letter-spacing:.15px;color:#bfd3c7;margin-top:3px}.auction-compact small{display:block;margin-top:4px;color:var(--muted)}#online-count{white-space:nowrap;font-size:11px;color:#66806e}.theme-dark #online-count{color:#bdd1bf}.brand:focus-visible{outline:2px solid var(--lime)}

.map-stage .real-city{width:min(calc(100% * var(--map-zoom,1)),calc(var(--map-height) * 23 / 28 * var(--map-zoom,1)))}

/* 2.6 — Lacustre: compact controls, generous city, unobtrusive assistant. */
.stats[hidden],[hidden]#advisor-float,[hidden]#advisor-launcher,[hidden]#map-preview{display:none!important}
#account{background:#1a5144;color:#f3f8e9;border:1px solid #1a5144;box-shadow:0 2px 7px #173e3715}
#account svg{stroke:currentColor}
.list-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0;align-items:center}.list-toolbar .view-switch{display:flex;flex:0 1 auto;padding:3px;border-radius:14px;min-width:0}.list-toolbar .view-switch button{min-height:38px;padding:8px 16px;border-radius:11px;font-size:13px;box-shadow:none}.list-toolbar>.status-chip{padding:8px 13px;min-height:44px;font-size:13px}.quick-filters{margin:10px 0}.quick-filters .status-chip{padding:8px 15px;min-height:40px;font-size:13px}.type-shortcuts,.status-shortcuts{gap:7px!important;margin:0!important}.property-filters{border-radius:14px!important;margin:8px 0!important}.property-filters>summary{padding:13px 15px!important;font-size:14px}.result-count{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:12px;margin:13px 0}.filter-fields{gap:12px;padding:12px!important}.result-count button{font-size:12px;min-height:32px}.page-title{margin-bottom:20px}.page-title p{max-width:65ch}
.city-map{overflow:hidden;background:#f7f8f1;border:1px solid #dce4d6;border-radius:24px}.city-map-heading{padding:20px 22px 12px}.city-map-heading h2{font-size:29px;letter-spacing:-1px;margin:3px 0}.city-map-heading p{font-size:13px}.city-map-heading .eyebrow{font-size:9px;letter-spacing:2px}.map-controls{padding:0 18px 14px;display:flex;justify-content:flex-start;align-items:center;gap:8px;flex-wrap:wrap}.map-segments{display:flex;background:#e7eddf;padding:4px;border-radius:15px;gap:3px}.map-segments button,.budget-map{min-height:38px;padding:8px 13px;border:0;border-radius:11px;font-size:12px;background:transparent;color:#315d4f}.map-segments button[aria-pressed=true],.budget-map.active{background:#1a5144;color:#fff}.budget-map{border:1px solid #ccd9c7}.map-stage{--map-height:490px;background:#dce8d8;display:block;position:relative}.map-stage .map-viewport{height:var(--map-height);display:flex;align-items:flex-start;overflow:auto;touch-action:none}.map-stage .real-city{flex-shrink:0;aspect-ratio:4/3;width:calc(max(100%,var(--map-height) * 4 / 3) * var(--map-zoom,1));height:auto;margin:auto;position:relative}.map-stage .city-plan{width:100%;height:100%;display:block}.map-stage .map-tools{position:absolute;top:63px;right:12px;display:flex;flex-direction:column;gap:1px;background:#fffffff0;box-shadow:0 3px 14px #1649361c;border:1px solid #d6e0d1;border-radius:12px;padding:2px;z-index:3}.map-tools button{width:32px!important;height:34px!important;min-width:32px!important;min-height:34px!important;font-size:20px!important}.map-stage .map-expand-toggle{position:absolute;right:12px;top:12px;width:38px;height:38px;min-height:38px;border-radius:12px;background:#fffffff0;border:1px solid #d6e0d1;z-index:4;box-shadow:0 3px 14px #1649361c}.map-expand-toggle svg{width:19px;height:19px}.map-overview{bottom:12px;left:12px;padding:10px 13px;min-height:38px;font-size:11px;background:#fffffff0;box-shadow:0 3px 14px #1649361c}.map-compass{bottom:12px;right:12px}.map-cluster{padding:5px 8px;background:#ffffffea;border:1px solid #d6e1cc;border-radius:18px;min-height:34px;min-width:0;gap:5px;flex-direction:row}.map-cluster strong{width:23px;height:23px;display:grid;place-items:center;border-radius:50%;font-size:11px;background:#1a5144;color:#fff}.map-cluster span{font-size:10px}.parcel-hit .parcel-dot{width:17px;height:17px;font-size:11px;border-width:2px}.map-footer{padding:10px 16px;font-size:11px;display:flex;justify-content:space-between}.owned-key{color:#abc667;margin-left:8px}.map-help{padding:8px 16px 12px;background:#f7f8f1;font-size:11px}.map-help p{font-size:12px;line-height:1.6}.city-future,.city-unlock{position:absolute;transform:translate(-50%,-50%);border:1px solid #f5f9ef88;background:#edf3e3c9;backdrop-filter:blur(4px);border-radius:12px;padding:6px 10px;color:#587562;font-size:11px;white-space:nowrap;min-height:36px}.city-future small,.city-unlock small{display:block;font-size:8px;margin-top:3px}.city-unlock{background:#1a5144e8;color:#fff;border:0}.map-expanded .map-stage{--map-height:calc(100dvh - 225px)}.map-expanded .map-help{display:none}
.city-ambition{display:grid;grid-template-columns:1fr auto;gap:8px;padding:16px 0;border-bottom:1px solid #e0e7da}.city-ambition:last-child{border:0}.city-ambition small{display:block;margin-top:4px;color:#738275;font-size:12px}.city-ambition progress{width:100%;grid-column:1/-1;height:6px;accent-color:#507c50}.city-ambition .text-btn{grid-column:1/-1;justify-self:start;font-size:12px}
#advisor-launcher{position:fixed;right:20px;bottom:22px;z-index:43;width:58px;height:58px;border-radius:50%;background:#194e43;color:#edf4cf;border:2px solid #dae8b6;box-shadow:0 4px 16px #123e3733;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4px;gap:0}#advisor-launcher span{font-size:24px;line-height:25px}#advisor-launcher small{font-size:9px;color:inherit}#advisor-float{position:fixed;right:20px;bottom:91px;width:min(390px,calc(100vw - 28px));max-height:calc(100dvh - 125px);overflow:auto;background:var(--surface,#fafbf6);color:var(--text,#214c40);border:1px solid #ccd9c1;border-radius:22px;box-shadow:0 16px 55px #123e3740;z-index:65;padding:0 16px 12px}.advisor-float-head{position:sticky;top:0;display:flex;justify-content:space-between;align-items:center;gap:10px;background:var(--surface,#fafbf6);padding:12px 0;z-index:2;font-size:14px}.advisor-float-head button{width:32px;height:32px;min-height:32px;font-size:20px}.advisor-chat .advisor-identity{gap:10px;margin:5px 0}.advisor-identity svg{width:44px!important;height:44px!important}.advisor-identity strong{font-size:16px}.advisor-chat>.note{font-size:11px;line-height:1.5;margin:10px 0}.advisor-messages{min-height:90px;max-height:210px;overflow:auto;margin:12px 0}.advisor-bubble{padding:12px;font-size:13px;border-radius:14px}.advisor-suggestions{display:flex;flex-wrap:wrap;gap:5px;margin:8px 0}.advisor-suggestions button{min-height:32px;font-size:11px;padding:7px 9px;border-radius:10px}.advisor-compose textarea{font-size:14px;min-width:0}.advisor-compose button{font-size:12px;padding:10px}.advisor-chat>label{font-size:12px}.advisor-chat #advisor-answer{font-size:12px}.back-top{bottom:24px!important}.back-top.right{right:90px!important}
#map-preview{position:fixed;z-index:70;right:24px;bottom:24px;width:350px;max-height:calc(100dvh - 55px);overflow:auto;background:var(--surface,#fafbf6);border:1px solid #d4dfcd;border-radius:22px;box-shadow:0 15px 55px #123e3740}#map-preview>img{width:100%;height:150px;object-fit:cover;display:block}.preview-close{position:absolute;right:10px;top:10px;width:34px;height:34px;min-height:34px;background:#fff;color:#1a5144;font-size:23px}.preview-body{padding:15px}.preview-body h3{font-size:19px;margin:5px 0}.preview-body p{font-size:11px;color:#6a7c6b;line-height:1.5;margin:7px 0}.preview-body>small{font-size:10px;text-transform:uppercase;letter-spacing:1px}.preview-figures{display:flex;justify-content:space-between;gap:10px;margin:15px 0}.preview-figures strong{font-size:20px}.preview-figures span{font-size:13px;color:#497453;text-align:right}.preview-figures small{display:block;font-size:9px}.preview-body button{font-size:12px;padding:10px;min-height:40px}.preview-body progress{width:100%;height:6px;accent-color:#749958}.preview-body details{font-size:12px;margin:12px 0}.preview-body .tower-lots{max-height:200px;overflow:auto}.preview-body .tower-lots button{font-size:11px}
body:has(#advisor-float:not([hidden])) #advisor-launcher{opacity:.7}body:has(.map-expanded) #advisor-launcher{display:none}body:has(#sticky-finances:not([hidden])) .shell>header{margin-top:48px}
[data-theme=dark] .map-help,[data-theme=dark] .advisor-float-head,[data-theme=dark] #advisor-float,[data-theme=dark] #map-preview{background:#183d36;color:#e9f0dd}
@media(max-width:600px){.map-stage{--map-height:340px}.city-map-heading{padding:16px 15px 10px}.city-map-heading h2{font-size:25px}.city-map-heading p{max-width:none;font-size:11px}.map-controls{padding:0 12px 10px;gap:6px}.map-segments button{padding:8px 10px;font-size:11px}.budget-map{font-size:11px;padding:8px}.map-stage .real-city{width:calc(max(100%,var(--map-height) * 4 / 3) * var(--map-zoom,1))}.map-footer{font-size:10px}.city-future{font-size:9px;padding:5px 7px}.city-future small{font-size:7px}.map-cluster span{font-size:9px}.map-cluster{gap:4px}.map-expanded .map-stage{--map-height:calc(100dvh - 235px)}#advisor-launcher{right:13px;bottom:calc(85px + env(safe-area-inset-bottom));width:50px;height:50px}#advisor-float{right:10px;bottom:calc(144px + env(safe-area-inset-bottom));max-height:calc(100dvh - 180px);width:calc(100vw - 20px)}.back-top{bottom:calc(85px + env(safe-area-inset-bottom))!important}.back-top.right{right:76px!important}#map-preview{left:10px;right:10px;bottom:calc(83px + env(safe-area-inset-bottom));width:auto;max-height:70dvh}#map-preview>img{height:115px}.map-open #map-preview{bottom:18px}.preview-body{padding:13px}.list-toolbar{gap:6px}.list-toolbar .view-switch button{padding:8px 12px}.list-toolbar>.status-chip{padding:8px 11px;font-size:12px}.page-title{margin-bottom:12px}.page-title .eyebrow{display:none}}
/* Fit the complete city at overview; zoom grows the world, not the viewport. */
.map-stage .real-city{width:calc(max(100%,var(--map-height) * 4 / 3) * var(--map-zoom,1));margin:0}.map-stage .map-viewport{display:block}.map-stage{background:#d9e6d4}.map-stage .map-viewport{background:linear-gradient(#dce6d1 70%,#7fb9b7)}
#advisor-launcher svg{width:36px;height:36px;margin-top:-2px}#advisor-launcher small{margin-top:-2px}.main-grid>.city-ambitions{grid-column:1/-1}.theme-dark :is(#advisor-float,.advisor-float-head,#map-preview,.map-help){background:#203c33;color:#edf3e6}.theme-dark .map-segments{background:#2c483c}.theme-dark .map-segments button,.theme-dark .budget-map{color:#eef5df}.theme-dark .map-segments button[aria-pressed=true]{background:#c5dd89;color:#163b30}body:not(.back-left) #back-top{right:90px}.has-selection #advisor-launcher,.has-selection #back-top{bottom:112px!important}.has-selection #advisor-float{bottom:178px}
@media(max-width:600px){.map-stage{--map-height:calc((100vw - 34px) * .75)}.map-expanded .map-stage{--map-height:calc(100dvh - 235px)}.map-expanded .real-city{margin:auto}.map-expanded .map-viewport{display:flex;align-items:center}body:not(.back-left) #back-top{right:76px}.has-selection #advisor-launcher,.has-selection #back-top{bottom:calc(176px + env(safe-area-inset-bottom))!important}.has-selection #advisor-float{bottom:calc(230px + env(safe-area-inset-bottom));max-height:calc(100dvh - 255px)}}

/* 2.7 — shared rhythm, compact header, direct manipulation. */
:root{--row-space:10px}
.quick-filters{gap:var(--row-space)}
.hub-links{margin:10px 0;padding:0 0 2px}.property-tabs{margin:10px 0 14px}.property-tabs button{min-height:44px}
.list-toolbar{margin:var(--row-space) 0}.property-filters{margin:var(--row-space) 0!important}
.shell>header{min-height:60px;height:auto;padding:10px 24px;gap:12px}.header-right{gap:10px}.breadcrumb{font-size:14px}.save{font-size:12px;max-width:180px}#save-status:empty{display:none}
#account{width:38px;height:38px;min-height:38px;padding:2px;overflow:hidden}#account .portrait{width:100%;height:100%;stroke:none;border-radius:50%}
#sticky-finances{min-height:42px;padding-top:9px;padding-bottom:9px;box-sizing:border-box;font-variant-numeric:tabular-nums}
body:has(#sticky-finances:not([hidden])) .shell>header{margin-top:42px}
.city-ambitions .compact-fold{margin:0}.city-ambitions summary small{margin-left:auto;font-size:12px;font-weight:400;color:var(--muted)}.city-ambitions .fold-content{padding-top:0}
.finance-sections{display:grid;gap:10px;margin:16px 0}.finance-sort-row{position:relative;min-width:0}.finance-sort-row>.compact-fold{margin:0!important;padding-left:50px!important}.finance-handle{position:absolute;left:6px;top:17px;width:38px;height:44px;min-height:44px;background:transparent;border:0;color:#789083;padding:9px;cursor:grab;touch-action:none;z-index:2}.finance-handle svg{width:20px;height:20px;stroke:currentColor;stroke-width:1.8;fill:none}.finance-sort-row.dragging{outline:2px dashed #87a879;outline-offset:3px;border-radius:15px;box-shadow:0 8px 25px #123e3720;background:var(--surface,#fff)}.finance-dragging{user-select:none;cursor:grabbing}.finance-dragging .finance-handle{cursor:grabbing}
#advisor-launcher{background:transparent;border:0;border-radius:0;box-shadow:none;padding:0;filter:drop-shadow(0 3px 4px #163d3730)}#advisor-launcher small{display:none}#advisor-launcher .portrait{width:48px;height:52px;margin:0;overflow:visible}#advisor-launcher .portrait>circle:first-child{display:none}
body:has(#map-preview:not([hidden])) #advisor-launcher,body:has(.property-action-dock) #advisor-launcher{visibility:hidden}
footer{padding-right:70px;min-height:70px}
.city-map-heading{padding:12px 14px 8px}.city-map-heading h2{font-size:21px;margin:0}.map-caption{font-size:11px;color:#708274}.map-controls{padding:0 12px 10px;gap:6px}.map-segments{padding:3px;border-radius:12px}.map-segments button,.budget-map{font-size:11px;min-height:36px;padding:7px 10px}.map-stage{--map-height:450px}.map-stage .map-viewport{display:block;overscroll-behavior:contain;background:#dce6d1}.map-stage .real-city{margin:0}.map-expanded .map-stage{--map-height:calc(100dvh - 165px)}
.map-stage .map-expand-toggle{width:34px;height:34px;min-height:34px;right:9px;top:9px}.map-stage .map-tools{right:9px;top:52px}.map-overview{min-height:32px;padding:7px 10px;font-size:10px}.city-future,.city-unlock{display:none}
.parcel-hit{min-width:0!important;min-height:32px!important;padding:4px 9px!important;border-radius:18px!important;background:#fff!important;color:#164a3f!important;border:1px solid #719a87!important;box-shadow:0 2px 6px #123e3730!important;display:flex!important;gap:4px;white-space:nowrap;font-size:11px!important;z-index:2}.parcel-hit .parcel-dot{display:none}.parcel-hit .parcel-price{display:block!important;position:static!important;transform:none!important;opacity:1!important;background:transparent!important;color:inherit!important;padding:0!important;font-size:11px!important;box-shadow:none!important;pointer-events:none}.parcel-hit.owned{background:#e0edbe!important}.parcel-hit.map-focused{background:#194e43!important;color:#fff!important;z-index:5}.map-cluster{font-size:11px;min-height:32px;padding:4px 8px;box-shadow:0 2px 6px #123e3728}.map-empty{padding:10px 14px;font-size:12px}.preview-pager{display:flex;align-items:center;justify-content:space-between;margin:-8px 0 5px}.preview-pager button{min-width:42px}.preview-pager small{font-size:11px;color:var(--muted)}
@media(max-width:600px){.shell>header{padding:9px 16px;min-height:54px}.header-right{gap:7px}.save{max-width:140px;font-size:11px}.city-map-heading{padding:12px 12px 7px}.city-map-heading h2{font-size:20px}.map-caption{display:none}.map-controls{display:flex;flex-wrap:wrap}.map-segments{flex:1}.map-segments button{flex:1;padding:7px 8px}.budget-map{font-size:10px;min-height:32px}.map-stage{--map-height:calc((100vw - 34px) * .75)}.map-expanded .map-stage{--map-height:calc(100dvh - 170px)}.map-expanded .map-viewport{display:block}.city-map{border-radius:18px}.page-title h1{font-size:25px}.page-title .clock{display:none}.page-title p{font-size:13px}.finance-sort-row>.compact-fold{padding-left:46px!important}.finance-handle{left:4px}#advisor-launcher{width:48px;height:52px}.map-footer{padding:8px 12px}.map-cluster span{font-size:10px}}
@media(prefers-reduced-motion:reduce){.finance-sort-row,.parcel-hit{transition:none!important}}
/* 2.8: compact map toolbar and portrait medallions. */
.city-map .map-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:8px;padding:8px 12px 12px}
.city-map .map-segments{display:flex;flex:1 1 290px;gap:2px;padding:3px;background:#e9eee4;border-radius:12px;min-width:0}
.city-map .map-segments button{flex:1;white-space:nowrap;font-size:12px;padding:9px 8px;min-height:42px;border-radius:9px}
.city-map .budget-map{white-space:nowrap;min-height:40px;font-size:12px;border-radius:10px;padding:8px 12px}
.map-mode{position:absolute;left:12px;top:12px;z-index:6;display:flex;background:#fff;padding:3px;border-radius:10px;box-shadow:0 2px 8px #183f3925}
.map-mode button{font-size:12px;min-height:36px;min-width:40px;padding:6px;background:transparent;color:#245347;border:0;border-radius:7px}
.map-mode button[aria-pressed=true]{background:#1b5143;color:white}
.city-map .map-stage{--map-height:480px;overflow:hidden}.city-map .map-viewport{height:var(--map-height);background:#f0f0e9;scrollbar-width:none}
.city-map .real-city{min-width:100%;min-height:100%;aspect-ratio:4/3}
.city-map .map-overview{font-size:11px;min-height:40px;border-radius:10px}
.city-map .parcel-hit{border-radius:8px!important}.city-map .parcel-hit:after{content:'';position:absolute;bottom:-5px;left:calc(50% - 4px);width:8px;height:8px;background:inherit;border-right:1px solid #719a87;border-bottom:1px solid #719a87;transform:rotate(45deg)}
#account,#advisor-launcher{border:1.5px solid #326455!important;border-radius:50%!important;background:#f4f4e9!important;box-shadow:0 3px 10px #163d371a!important;padding:3px!important;overflow:hidden;filter:none}
#account{width:40px;height:40px;min-height:40px}#advisor-launcher{width:52px;height:52px;min-height:52px}
#account .portrait,#advisor-launcher .portrait{width:100%!important;height:100%!important;margin:0!important;border-radius:50%;overflow:hidden}
#advisor-launcher .portrait>circle:first-child{display:block;fill:#f4f4e9}#advisor-launcher small{display:none}
.quick-filters{display:flex;flex-direction:column;gap:10px;margin:10px 0}.quick-filters>.status-shortcuts,.quick-filters>.type-shortcuts{margin:0;padding:0}.list-toolbar{margin:10px 0}.finance-sort-row.dragging{opacity:.22;outline:1px dashed #78967c;box-shadow:none}.finance-drag-ghost{position:fixed!important;pointer-events:none;z-index:200;background:var(--surface,#fff);box-shadow:0 12px 35px #173e3930;border-radius:16px;opacity:.97;transform:scale(1.015)}
@media(max-width:600px){.city-map .map-stage{--map-height: min(62svh,520px)}.city-map.map-expanded .map-stage{--map-height:calc(100dvh - 170px)}.city-map .map-segments{flex-basis:100%}.city-map .map-controls{gap:6px}.city-map .budget-map{min-height:36px;padding:6px 10px}.city-map-heading .map-caption{display:none}}
@media(min-width:601px){.city-map.map-expanded .map-stage{--map-height:calc(100dvh - 165px)}}
@media(prefers-reduced-motion:reduce){.finance-drag-ghost{transform:none}}

/* 3.1 cartography: calm controls, no floating button over the overview. */
.city-map{background:#fafbf8}.city-map .map-stage,.city-map .map-viewport{background:#9fcde3}
.city-map .map-controls{padding:8px 12px;gap:8px}.city-map .map-segments{background:#edf1ea}
.city-map .map-overview{left:12px;bottom:12px;padding:8px 12px;box-shadow:0 2px 10px #163c3420}
body:has(.map-expanded) #back-top{display:none!important}
body:has(.map-expanded) #advisor-launcher{display:none!important}
.city-map .map-tools,.city-map .map-mode{box-shadow:0 2px 12px #29463d18}

/* 3.1.1 Price labels size to their contents, never the old 36px marker. */
.city-map .parcel-hit{width:max-content!important;max-width:none!important;height:auto!important;min-height:36px!important;padding:8px 12px!important;display:inline-flex!important;align-items:center;justify-content:center;border-radius:20px!important;line-height:1.2;box-sizing:border-box;isolation:isolate;cursor:pointer;touch-action:manipulation}
.city-map .parcel-hit::after{display:none!important}
.city-map .parcel-hit::before{content:'';position:absolute;inset:-5px 0;border-radius:24px}
.city-map .parcel-hit .parcel-price{white-space:nowrap;font-size:12px!important;font-weight:700;line-height:1.2;letter-spacing:0;font-variant-numeric:tabular-nums}
.city-map .parcel-hit:hover,.city-map .parcel-hit:focus-visible{background:#194e43!important;color:#fff!important;z-index:5}
.city-map .parcel-hit:focus-visible{outline:3px solid #a9bd78;outline-offset:3px}
.city-map .map-cluster{border-radius:20px;min-height:36px;padding:5px 10px}

.sticky-calendar{text-align:right;line-height:1.3}.sticky-calendar small{display:block;font-size:10px;color:#dbe8d9;margin-top:3px}.sticky-calendar b{font-weight:600;font-variant-numeric:tabular-nums}.loan-clock{padding:10px 12px;background:#edf2e5;border-radius:10px;font-variant-numeric:tabular-nums}

/* Stable embedded map size when Safari expands/collapses browser chrome. */
.city-map .map-viewport{overflow-anchor:none}
.city-map .map-overview{left:68px}
#back-top{z-index:35}
#game-main .map-viewport{touch-action:none}

.auction-result-photo{display:block;width:100%;max-height:220px;object-fit:cover;border-radius:14px;margin:12px 0}

/* 3.1.5 Sage: lighter navigation, dark lettering and readable action contrast. */
body.theme-sage{--green:#347255;--lime:#285d43;--muted:#61765f;background:#f5f8f1;color:#234334}
.theme-sage .sidebar,.theme-sage #sticky-finances{background:#c9ddbd;color:#234334}
.theme-sage .brand,.theme-sage .sidebar .company,.theme-sage .sidebar .side-bottom{color:#234334}
.theme-sage .sidebar .company small,.theme-sage .side-bottom a,.theme-sage .side-bottom small,.theme-sage .sticky-calendar small{color:#425e3b}
.theme-sage .nav{color:#35553f}.theme-sage .nav.active{background:#edf4e5;color:#204b34}
.theme-sage .primary{background:#347255;color:#fff}.theme-sage .secondary{border-color:#becfb4;color:#2c573b}
.theme-sage .map-segments{background:#e4eedb}.theme-sage .map-segments button[aria-pressed=true],.theme-sage .map-mode button[aria-pressed=true],.theme-sage .view-switch button[aria-pressed=true]{background:#347255;color:white}
.theme-sage #account{background:#e1edd6!important;border-color:#6c9460!important}
.theme-sage .back-top,.theme-sage .page-return{background:#e3eed9!important;color:#2c573b!important;border-color:#b4cba5!important}
.theme-sage .market-summary,.theme-sage .loan-clock{background:#e6efdc}
@media(max-width:580px){.theme-sage .nav.active{color:#204b34;box-shadow:inset 0 3px #347255}}


/* Keep the sideways page transition inside the main content area. */
#game-main{overflow-x:clip}.sidebar .nav.active{transition:color .2s,background .2s,box-shadow .2s}

.banner-preview{margin-top:14px;padding:14px;border-radius:10px;background:#123e37;color:white;font-size:13px}
body.banner-custom .sidebar,body.banner-custom #sticky-finances{background:var(--banner-bg);color:var(--banner-ink)}
body.banner-custom .sidebar .brand,body.banner-custom .sidebar .company,body.banner-custom .sidebar .side-bottom,body.banner-custom .sidebar .nav{color:var(--banner-ink)}
body.banner-custom .sidebar .company small,body.banner-custom .sidebar .side-bottom small,body.banner-custom .sidebar .side-bottom a,body.banner-custom .sticky-calendar small{color:var(--banner-muted)}
body.banner-custom .sidebar .nav.active{background:#ffffff22;color:var(--banner-ink);box-shadow:inset 3px 0 var(--banner-ink)}
body.banner-custom .sidebar .brand-icon{color:var(--banner-ink)}
@media(max-width:580px){body.banner-custom .sidebar .nav.active{box-shadow:inset 0 3px var(--banner-ink)}}
/* 3.2 — journal, premiers pas et suivi */
.editorial-news{padding:22px 26px!important}.editorial-news h2{font-family:Georgia,serif;font-weight:500;font-size:clamp(25px,3vw,35px);line-height:1.2;margin:12px 0}.editorial-news p{margin:12px 0}.news-dateline{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}.news-impact{display:flex;gap:12px;flex-wrap:wrap;background:var(--soft,#eef2e6);padding:12px 16px;border-radius:12px;font-size:.9em;margin:16px 0}.editorial-news summary{font-weight:600;cursor:pointer}.consent-panel,.first-steps{margin-bottom:18px}.first-steps ol{display:flex;gap:12px;list-style:none;counter-reset:step;padding:0;flex-wrap:wrap}.first-steps li{font-size:.85em;border:1px solid #d3dece;border-radius:20px;padding:8px 12px}.first-steps .done{background:#e2edce}.milestone-badges{display:flex;gap:10px;flex-wrap:wrap}.milestone-badge{background:#e6eed9;color:#214637;padding:12px 16px;border-radius:30px}.district-guide,.offer-row{padding:14px 0;border-bottom:1px solid #dbe1d6}.district-guide:last-child,.offer-row:last-child{border:0}.development-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr));gap:14px}.action-reason{font-size:.9em;color:var(--muted,#607060);border-left:3px solid #c0ccac;padding-left:12px}.contact-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;padding:12px 18px;border:1px solid #d0dcd0;border-radius:12px;color:inherit}.launch-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.launch-metrics strong{display:block;font-size:2rem}.feedback-message{white-space:pre-wrap;overflow-wrap:anywhere}
.dm-search{display:flex;gap:12px;align-items:end;margin:18px 0}.dm-search label{flex:1;margin:0}.dm-layout{display:grid;grid-template-columns:minmax(210px,30%) minmax(0,1fr);border:1px solid #d4dfd1;border-radius:20px;overflow:hidden;background:var(--card,#fff);min-height:380px}.dm-layout aside{border-right:1px solid #d4dfd1;padding:12px;max-height:65svh;overflow:auto}.dm-conversation{display:flex;align-items:center;gap:10px;width:100%;padding:12px 8px;text-align:left;background:transparent;border:0;border-radius:12px;color:inherit}.dm-conversation.active{background:#e5edda;color:#123e37}.dm-conversation .portrait{width:40px;height:40px;flex:none}.dm-conversation span{min-width:0}.dm-conversation small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:190px}.dm-thread{padding:18px;min-width:0}.dm-thread-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}#dm-log{height:42svh;min-height:180px;max-height:460px;overflow:auto;overscroll-behavior:contain;padding:10px 4px;display:flex;flex-direction:column;gap:12px}.dm-bubble{align-self:flex-start;max-width:85%;border-radius:16px 16px 16px 4px;background:#eff2e8;color:#234334;padding:12px 16px;overflow-wrap:anywhere}.dm-bubble.mine{align-self:flex-end;background:#194e41;color:white;border-radius:16px 16px 4px 16px}.dm-bubble p{white-space:pre-wrap;margin:0 0 6px}.dm-bubble small{font-size:11px;opacity:.75}#dm-compose{box-sizing:border-box;width:100%;padding:12px;border:1px solid #cad7c8;border-radius:12px;font:inherit;resize:vertical}.dm-mobile-back{display:none}@media(max-width:650px){.dm-layout{display:block}.dm-layout.has-peer aside{display:none}.dm-layout:not(.has-peer) .dm-thread{display:none}.dm-layout aside{border-right:0}.dm-mobile-back{display:block}.dm-thread-head{flex-wrap:wrap}.dm-thread{padding:14px}}
.confirmation-window{max-width:480px!important}.confirmation-window .dialog-inner{position:relative;padding:24px!important}.confirmation-window .confirm-close{position:absolute;top:12px;right:12px;width:36px;height:36px;min-height:36px;padding:0;border:0;border-radius:50%;background:#e9efdf;color:#234334;font-size:24px}.confirmation-window h2{padding-right:35px;font-size:24px!important;line-height:1.2;outline:none;margin:0 0 18px}.confirmation-window p{font-size:15px;line-height:1.5;margin:14px 0}.confirm-property-list{display:flex;flex-direction:column;gap:6px;padding:14px 16px;background:#edf1e5;color:#234334;border-radius:12px;font-size:15px}.confirm-totals{padding:12px 0;margin-top:8px}.confirm-totals>div{display:flex;justify-content:space-between;gap:16px;padding:8px 0;font-size:15px}.confirm-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:14px}.confirmation-window .confirm-actions .primary{margin:0}.confirm-actions button{min-height:44px;padding:12px 16px}.card-rental-line{display:flex;gap:7px;flex-wrap:wrap;align-items:baseline;margin:12px 0 8px;font-size:13px;color:#56745e}.card-rental-line strong{font-size:15px}.card-purchase-line{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0}.card-price{min-width:0}.card-price strong{display:block;font-size:22px;white-space:nowrap}.card-price small{display:block;font-size:12px;color:var(--muted,#708077);margin-top:4px}.card-purchase-line .card-manage{margin:0!important;min-height:44px;padding:10px 12px;gap:7px;flex:none;font-size:13px}.card-purchase-line .card-manage svg{width:18px;height:18px}.property:not(.compact-property) .property-body{padding:16px}.theme-dark .confirm-property-list{background:#2e473c;color:#edf3e8}@media(max-width:360px){.card-purchase-line .card-manage{padding:9px}.card-price strong{font-size:19px}.confirm-actions{flex-wrap:wrap}.confirm-actions .primary{flex:1}}

/* 3.2.1 — compact cards, safe feedback and direct touch motion. */
.property .property-tag{left:12px;top:12px;right:auto;max-width:calc(100% - 76px);padding:6px 9px;border-radius:8px;line-height:1.35}
.property:not(.compact-property) .property-art{aspect-ratio:16/9;min-height:0;height:auto!important}
.property:not(.compact-property) .property-body{padding:14px;gap:0;flex:0}
.property-body h3{margin:0 0 5px!important;font-size:19px;line-height:1.25}
.property-address,.property-body .location{margin:0;line-height:1.45}
.card-rental-line{margin:8px 0 7px;font-size:12px;gap:5px}
.card-purchase-line{align-items:center;gap:8px}.card-price strong{font-size:23px}.card-price small{margin-top:2px}
.card-purchase-line .card-manage{align-self:center;white-space:nowrap}
#toast{position:fixed;left:50%;right:auto;top:auto;width:max-content;max-width:min(460px,calc(100vw - 32px));height:auto;white-space:normal;overflow-wrap:anywhere;text-align:center;background:#e7eedc;color:#234a3d;border:1px solid #c9d8bb;border-radius:14px;padding:12px 18px;line-height:1.45;font-size:14px;box-shadow:0 6px 24px #173e3720;z-index:150;pointer-events:none}
body:has(#advisor-float:not([hidden])) #advisor-launcher,body:has(.confirmation-window[open]) #advisor-launcher,.keyboard-open #advisor-launcher{display:none!important}
.keyboard-open #back-top,.keyboard-open #selection-dock{visibility:hidden}
body.tab-dragging{overflow-x:clip}body.tab-dragging #content{pointer-events:none}
.property-art .image-select{display:block;width:100%;height:100%;aspect-ratio:16/9}.property-art img{display:block;object-fit:cover}
[data-next-month],#cash,#income,.card-price{font-variant-numeric:tabular-nums}
button[aria-busy=true]{cursor:progress;opacity:.75}
@media(prefers-reduced-motion:reduce){#content{scroll-behavior:auto}}
body{overflow-x:clip}
/* 3.2.2: coherent, compact mobile interfaces */
body .sidebar,body.banner-custom .sidebar{background:var(--bottom-bg,#123e37);color:var(--bottom-ink,#fff)}
body .sidebar :is(.nav,.brand,.company,.side-bottom),body.banner-custom .sidebar :is(.nav,.brand,.company,.side-bottom){color:var(--bottom-ink,#fff)}
body .sidebar .nav.active,body.banner-custom .sidebar .nav.active{color:var(--bottom-ink,#fff);background:#ffffff18;box-shadow:inset 0 3px var(--bottom-ink,#fff)}
body .sidebar :is(small,a),body.banner-custom .sidebar :is(small,a){color:var(--bottom-muted,#cfdfd5)}
.reduced-motion *, .reduced-motion *:before,.reduced-motion *:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
.quartier-sections{display:flex;flex-direction:column;gap:20px}.finance-sort-row{min-width:0;position:relative;padding-top:28px}.finance-sort-row>.finance-handle{top:0;right:6px;left:auto;height:28px;min-height:28px;width:44px;opacity:.6}.finance-sort-row>.panel,.finance-sort-row>.map-card{margin-top:0}.finance-sort-row>.finance-summary{padding:0}.finance-drag-ghost{pointer-events:none}.district-access{display:flex;flex-wrap:wrap;gap:8px 18px;padding:12px 4px}.district-access button{font-size:13px;min-height:36px}
.unified-goals h2{font-size:21px;margin:0}.unified-goals h3{font-size:22px;margin:14px 0 6px}.unified-goals p{margin:6px 0 14px}.unified-goals progress{width:100%;height:7px}.goal-meta{display:flex;justify-content:space-between;gap:12px;font-size:13px;margin:8px 0 16px}.unified-goals>.compact-fold{margin:14px 0 0;border:0;border-top:1px solid #d7dfd1;border-radius:0;padding:12px 0!important;box-shadow:none}.unified-goals .section-head{margin:0}
.newspaper{background:#faf8ef!important;color:#243d35;border:1px solid #d8d8c9!important;border-radius:5px!important;padding:22px!important;box-shadow:0 3px 12px #263c3110}.newspaper header{border-bottom:3px double #657261;margin-bottom:18px;padding-bottom:8px}.newspaper-masthead{font-family:Georgia,serif;font-weight:700;text-align:center;font-size:clamp(21px,4vw,32px);line-height:1.15}.newspaper .news-dateline{font-size:11px;gap:12px;margin-top:9px}.news-category{font-size:11px;letter-spacing:.08em;text-transform:uppercase}.newspaper h2{font-family:Georgia,serif;font-size:clamp(26px,4vw,38px);line-height:1.12;margin:12px 0}.newspaper p{font-size:15px;line-height:1.6}.newspaper .news-impact{display:block;background:none;padding:10px 0;border-top:1px solid #d8d8c9;border-bottom:1px solid #d8d8c9;border-radius:0;font-size:13px;margin:16px 0}.newspaper details{margin-top:12px;font-size:14px}.newspaper summary{min-height:36px;cursor:pointer}.theme-dark .newspaper{background:#293a32!important;color:#f4efdf}
.property-filters{padding:0!important;border-radius:14px!important;margin:12px 0!important}.property-filters>summary{display:flex;align-items:center;gap:9px;list-style:none;min-height:48px;padding:8px 14px!important;font-size:14px!important;box-sizing:border-box}.property-filters>summary::-webkit-details-marker{display:none}.filter-chevron{margin-left:auto}.property-filters[open] .filter-chevron{transform:rotate(180deg)}.property-filters .filter-fields{padding:12px 14px}.count-pill:empty{display:none}.property-search{margin:10px 0;font-size:14px}.property-search summary{cursor:pointer;min-height:40px}.property-search label{display:grid;gap:8px}.property-search input{width:100%;box-sizing:border-box;padding:10px;border:1px solid #cbd6cc;border-radius:10px;font:inherit}
.discussion-tabs{display:flex;gap:8px;margin:14px 0;flex-wrap:wrap}.dm-retention{font-size:12px!important;margin:8px 0!important}.dm-search{gap:12px;margin:20px 0;align-items:end}.dm-search label,#detail .dm-search label{display:flex;flex-direction:column;gap:8px;margin:0;min-width:0;font-size:14px}.dm-search input{display:block;width:100%;box-sizing:border-box;min-width:0;padding:12px;border:1px solid #cad7c8;border-radius:12px;font:inherit}.dm-search>button{margin:0;min-height:44px;flex:none}.dm-layout{min-height:0}.dm-layout.is-empty:not(.has-peer){border:0;background:none;display:block}.dm-layout.is-empty:not(.has-peer) aside{border:0;padding:4px 0}.dm-layout.is-empty:not(.has-peer) .dm-thread{display:none}.dm-conversation{gap:12px;min-height:72px}.dm-conversation>span{flex:1}.dm-conversation time{font-size:10px;opacity:.65;align-self:flex-start;padding-top:4px}.dm-conversation small{margin-top:5px;max-width:100%}.dm-bubble{line-height:1.5;padding:12px 15px}.dm-thread-head{padding-bottom:12px;border-bottom:1px solid #d4dfd1}.chat-message>div>small{margin-left:12px}.chat-message p{margin:8px 0;line-height:1.5}.chat-message .text-btn{margin-right:14px}.keyboard-open #dm-log{height:30svh;min-height:100px}#detail:has(.dm-layout) .dialog-inner{padding-bottom:30px}body:has(.dm-layout) #advisor-launcher,body:has(.appearance-panel) #advisor-launcher{display:none!important}
.appearance-panel{border:0!important;box-shadow:none!important;padding:0!important}.appearance-panel h4{margin:24px 0 14px;padding-bottom:8px;border-bottom:1px solid #d4dfd1;font-size:16px}.appearance-group{padding:6px 0 14px}.appearance-group>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.appearance-group button{min-width:0;min-height:44px;padding:9px 6px;font-size:13px;position:relative;line-height:1.3}.appearance-group button[aria-pressed=true]:after{content:'✓';position:absolute;right:4px;top:2px;font-size:10px}.appearance-theme>div{grid-template-columns:repeat(4,minmax(0,1fr))}.appearance-density>div,.appearance-motion>div,.appearance-side>div,.appearance-view>div{grid-template-columns:repeat(2,minmax(0,1fr))}.appearance-bottomBanner>div{grid-template-columns:repeat(3,minmax(0,1fr))}.color-dot{display:block;width:25px;height:25px;border-radius:50%;border:1px solid #667d6640;margin:0 auto 6px}.theme-sample{display:block;height:30px;border-radius:5px;background:#f8f8f0;border:1px solid #cbd6cc;margin:0 auto 6px;overflow:hidden}.theme-sample>i{display:block;height:7px;background:#123e37}.theme-sample>i+ i{width:65%;height:3px;margin:7px;background:#adbda8}.sample-sage>i{background:#b8d1a9}.sample-dark{background:#21372e}.sample-dark>i{background:#557261}.sample-auto{background:linear-gradient(90deg,#f8f8f0 50%,#21372e 50%)}.appearance-size{display:grid!important;grid-template-columns:1fr auto;gap:8px;font-size:14px}.appearance-size input{grid-column:1/-1}.appearance-save{position:sticky;bottom:0;z-index:4;background:var(--card,#fff);display:flex;gap:8px;flex-wrap:wrap;padding:12px 0;border-top:1px solid #d4dfd1}.appearance-save button{font-size:13px;min-height:44px}.appearance-toggle{font-size:14px!important;gap:12px}.appearance-preview{margin:16px 0}.theme-dark .appearance-save{background:#203d36}
@media(max-width:580px){.newspaper{padding:16px!important}.finance-sort-row{padding-top:26px}.dm-thread{padding:12px}.dm-conversation small{max-width:180px}.dm-search{gap:10px}.dm-search>button{font-size:14px;padding:10px 14px}.dialog-inner>h2{margin-top:18px}.dialog-inner>.page-return{padding:8px 12px;min-height:40px;margin-bottom:8px}.appearance-save{bottom:0}body:has(.appearance-panel) .back-top{display:none}}
.contact-page{display:block;background:#f4f5ef;margin:0;font-family:var(--reader-font,Arial,sans-serif);font-size:calc(16px * var(--reader-scale,1));color:#234334}.contact-header{background:var(--contact-top,#123e37);color:var(--contact-top-ink,#fff);padding:18px max(20px,calc((100% - 700px)/2));margin:0}.contact-header .brand{color:inherit;text-decoration:none;display:flex;align-items:center;gap:12px;font-size:22px}.contact-layout{max-width:700px;margin:auto;padding:20px 18px 32px}.contact-layout>.panel{padding:24px;border-radius:20px}.contact-layout .page-return{display:inline-flex;margin:0 0 24px;text-decoration:none}.contact-layout .eyebrow{display:block;font-size:11px;letter-spacing:.12em;margin-bottom:10px}.contact-layout h1{font:700 30px/1.2 var(--reader-font,Arial,sans-serif);margin:8px 0 12px;letter-spacing:-.02em}.contact-layout p{font-size:15px;line-height:1.5}.contact-layout form{margin-top:24px}.contact-layout label{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:600;margin:18px 0 8px}.contact-layout :is(input,select,textarea){font:inherit;padding:12px;width:100%;box-sizing:border-box;background:#fff;color:#234334;border:1px solid #cbd6cc;border-radius:10px;min-height:44px}.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contact-layout textarea{resize:vertical}.contact-layout .note,.contact-layout small{font-size:12px;font-weight:400}.contact-trap{position:absolute;left:-10000px;opacity:0}.contact-footer{padding:20px;text-align:center;background:var(--contact-bottom,#123e37);color:var(--contact-bottom-ink,#fff);font-size:13px}.contact-footer a{color:inherit}#social-links{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0}#social-links a{display:flex;align-items:center;gap:8px;padding:12px;border:1px solid #cbd6cc;border-radius:12px;color:inherit;text-decoration:none;font-size:14px}#social-links svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5}#contact-status{overflow-wrap:anywhere}#contact-send{width:100%;margin-top:8px}.contact-page.theme-dark{background:#192f27;color:#ecf3e7}.contact-page.theme-dark .panel{background:#243d32;color:inherit}.contact-page.theme-dark :is(input,select,textarea){background:#304a3b;color:#ecf3e7}.contact-page.theme-sage{background:#ecf2e4}.contact-page.density-comfortable label{margin-top:24px}@media(max-width:580px){.contact-layout>.panel{padding:18px}.contact-fields{grid-template-columns:1fr;gap:0}.contact-layout h1{font-size:27px}.contact-header{padding:16px 20px}.contact-layout{padding:14px 12px 24px}}
.newspaper>header{display:block;position:static;height:auto;min-height:0;background:transparent;padding:0 0 10px;color:inherit}.finance-sort-row>.compact-fold{padding-left:16px!important}.dm-composer{position:sticky;bottom:0;background:var(--card,#fff);padding:10px 0 0;z-index:2}.dm-composer label{font-size:13px!important;margin-top:0!important}.dm-composer .actions{margin:8px 0}.dm-composer #dm-status{font-size:11px;margin:8px 0}.theme-dark .dm-composer{background:#20372f}.action-reason{font-size:13px;line-height:1.5;padding:10px 12px;border-left:3px solid #b4c79e;background:#edf2e5;color:#294a3b;margin:10px 0}.theme-dark .action-reason{background:#2c493c;color:#e7eee7}body:has(.discussion-tabs) #advisor-launcher{display:none!important}
.finance-drag-ghost.order-ghost-label{height:64px;display:flex;align-items:center;padding:16px 24px;border-radius:14px;background:#eef3e6;color:#184d40;font-weight:700;border:1px solid #9ebd91;box-shadow:0 8px 24px #163d3528}

/* 3.2.3 — compact lists, independent card layers and persistent return */
.property{isolation:isolate;position:relative;z-index:0;overflow:hidden}
.property-controls{z-index:2!important}.sidebar{z-index:80!important}
.cards:not(.selection-mode) .property-select{display:none!important}
.cards .property-controls :is(.favorite-btn,.property-select){width:44px!important;height:44px!important;min-height:44px!important;min-width:44px!important}
.favorite-btn[aria-pressed="true"]{background:#dbe8cc!important;color:#194e43!important}
.cards.list-mode .compact-property{grid-template-columns:minmax(0,1fr) auto!important;gap:8px 12px!important;padding:14px!important}
.compact-property .compact-main{grid-column:1;grid-row:1 / 3;text-align:left;overflow-wrap:anywhere}
.compact-property .property-controls{grid-column:2!important;grid-row:1;display:flex;position:static!important;align-items:center;gap:4px}
.compact-property .compact-manage{grid-column:2;grid-row:2;width:auto!important;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;gap:5px;padding:8px!important;font-size:12px}
.compact-manage svg{width:20px;height:20px}.compact-figures{display:flex;flex-wrap:wrap;gap:5px 8px}.compact-figures small{flex-basis:100%;font-size:12px;line-height:1.5}
.rental-state{display:inline-flex;font-size:10px;font-weight:700;letter-spacing:.03em;background:var(--surface,#edf1e5);color:var(--ink,#234334);padding:3px 7px;border-radius:6px}
.card-rental-line small{flex-basis:100%;line-height:1.5}
body details.property-filters{padding:0!important;min-height:0!important;margin:8px 0!important}
body details.property-filters>summary{margin:0!important;min-height:48px!important;padding:10px 14px!important;line-height:1.4;cursor:pointer}
.result-count{gap:6px 12px!important;margin:8px 0!important;line-height:1.5}.result-count .text-btn{min-height:44px}
.insurance-hub-actions{margin:18px 0 16px!important;display:flex;flex-wrap:wrap;gap:10px}.insurance-simple-filters{margin:14px 0!important}
:is(.hub-links,.type-shortcuts,.status-shortcuts,.insurance-simple-filters){scrollbar-width:none;-ms-overflow-style:none;overscroll-behavior-x:contain;scroll-padding-inline:12px}
:is(.hub-links,.type-shortcuts,.status-shortcuts,.insurance-simple-filters)::-webkit-scrollbar{display:none;width:0;height:0}
:is(.hub-links,.type-shortcuts,.status-shortcuts){padding-right:18px!important;mask-image:linear-gradient(to right,#000 0,#000 calc(100% - 10px),transparent 100%)}
.income-explainer{border:0;background:transparent;color:inherit;font:inherit;padding:4px;min-height:44px;text-align:center}.income-explainer small{display:block;font-size:10px;line-height:1.3;opacity:.85}
body.detail-route #detail:not(.confirmation-window) .dialog-inner>.page-return{position:fixed;z-index:90;right:16px;left:auto;bottom:calc(88px + env(safe-area-inset-bottom));margin:0!important;min-height:44px;box-shadow:0 3px 16px #123e3726;border:1px solid #bdcdbd}
body.detail-route.back-left #detail:not(.confirmation-window) .dialog-inner>.page-return{left:16px;right:auto}
body.detail-route.back-top-upper #detail:not(.confirmation-window) .dialog-inner>.page-return{top:calc(88px + env(safe-area-inset-top));bottom:auto}
body.detail-route #back-top{right:132px!important;left:auto!important}
body.detail-route.back-left #back-top{left:132px!important;right:auto!important}
body.detail-route:not(.back-left) #advisor-launcher{display:none!important}
body.detail-route #detail .dialog-inner{padding-bottom:90px}
body.detail-route.back-top-upper #detail .dialog-inner{padding-top:62px!important}
body:has(.confirmation-window:not([hidden])) .dialog-inner>.page-return{position:static!important}
body.has-selection #advisor-launcher,body.has-selection #back-top{display:none!important}
#game-main{padding-bottom:calc(110px + env(safe-area-inset-bottom))}
body.has-selection #game-main{padding-bottom:calc(210px + env(safe-area-inset-bottom))}
@media(min-width:581px){body.detail-route #detail:not(.confirmation-window) .dialog-inner>.page-return{bottom:24px}body.detail-route.back-left #detail:not(.confirmation-window) .dialog-inner>.page-return{left:186px}}
@media(min-width:1101px){body.detail-route.back-left #detail:not(.confirmation-window) .dialog-inner>.page-return{left:252px}}
@media(max-width:380px){.compact-property .compact-main{grid-column:1 / -1;grid-row:1}.compact-property .property-controls{grid-column:2!important;grid-row:2}.compact-property .compact-manage{grid-column:1;grid-row:2;justify-self:start}.result-count{font-size:12px}}
.contact-page .contact-layout .page-return{position:fixed;z-index:90;right:16px;bottom:calc(20px + env(safe-area-inset-bottom));margin:0;background:var(--card,#edf1e5);box-shadow:0 3px 16px #123e3726}
.contact-page.back-left .contact-layout .page-return{left:16px;right:auto}.contact-page.back-top-upper .contact-layout .page-return{top:16px;bottom:auto}.contact-page .contact-layout{padding-bottom:100px}

@media(min-width:581px){body.detail-route.back-left #back-top{left:302px!important}}
@media(min-width:1101px){body.detail-route.back-left #back-top{left:368px!important}}

/* 3.2.4 — discreet navigation and advisor */
body .page-return,body.detail-route #detail .dialog-inner>.page-return,.contact-page .contact-layout .page-return{width:44px!important;height:44px!important;min-height:44px!important;padding:0!important;border-radius:50%!important;display:inline-flex;align-items:center;justify-content:center;font-size:24px;line-height:1;flex:none}
body #advisor-launcher{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;padding:0!important;border-width:1px!important;box-shadow:0 2px 8px #123e371a!important;transition:opacity .16s ease,visibility .16s ease!important}
body #advisor-launcher svg{width:100%!important;height:100%!important}
body.advisor-reading #advisor-launcher:not([aria-expanded="true"]){opacity:0;visibility:hidden;pointer-events:none}
body.keyboard-open #advisor-launcher,body:has(.confirmation-window[open]) #advisor-launcher{visibility:hidden;pointer-events:none}
body.reduced-motion #advisor-launcher{transition:none!important}
@media(prefers-reduced-motion:reduce){body #advisor-launcher{transition:none!important}}

/* 3.2.5 — welcome, learning and financing */
.welcome-mode .sidebar,.welcome-mode .shell>header,.welcome-mode #advisor-launcher{display:none!important}.welcome-mode .shell{margin-left:0!important}
body .connection-panel{max-width:1180px;margin:0 auto;padding:64px 32px 48px;text-align:left;display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center;min-height:0}
.connection-panel[hidden]{display:none!important}.welcome-copy h1{font-size:clamp(34px,4vw,58px);line-height:1.06;letter-spacing:-.04em;margin:18px 0 24px;max-width:14ch}.welcome-copy>p{font-size:17px;line-height:1.65;max-width:48ch}.welcome-copy .eyebrow{font-size:11px;letter-spacing:.12em}.welcome-actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:26px}.welcome-actions a{min-height:44px;display:inline-flex;align-items:center;text-decoration:none}.welcome-login{color:var(--ink,#194e43);font-size:14px;text-decoration:underline!important}#connection-message{font-size:12px;color:var(--muted);margin:12px 0}.welcome-facts{display:flex;gap:20px;flex-wrap:wrap;margin-top:28px;padding-top:20px;border-top:1px solid #d8dfd3;font-size:12px;color:var(--muted)}.welcome-facts b{display:block;color:var(--ink,#194e43);font-size:15px;margin-bottom:4px}.welcome-city{margin:0;position:relative;overflow:hidden;border-radius:28px;background:#e8eee1}.welcome-city img{display:block;width:100%;height:440px;object-fit:cover}.welcome-city figcaption{position:absolute;bottom:18px;left:18px;right:18px;background:#fffffff0;padding:16px;border-radius:12px;color:#194e43;font-weight:600}.welcome-steps{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;border-top:1px solid #d8dfd3;padding-top:28px}.welcome-steps article>span{font-size:11px;letter-spacing:.12em;color:var(--muted)}.welcome-steps h2{font-size:20px;line-height:1.25;margin:12px 0}.welcome-steps p{font-size:14px;line-height:1.6;color:var(--muted)}
.shell>header{padding:14px 24px!important;min-height:72px;height:auto!important;gap:16px;background:var(--surface,#f7f8f3);border-bottom:1px solid #d9e1d7}.shell>header .breadcrumb{display:flex;gap:10px;align-items:center;min-width:0}.breadcrumb>div{display:grid;gap:3px}.breadcrumb small{font-size:9px;letter-spacing:.13em;color:var(--muted)}.breadcrumb strong{font-size:18px;line-height:1.2}.shell>header #account{width:44px!important;height:44px!important;min-height:44px!important;padding:0;flex:none}.shell>header #account svg{width:100%;height:100%}.header-right{gap:10px}
.career-hero{padding:24px;background:var(--surface,#eaf0e1);border:1px solid #d5dfcd;border-radius:20px}.career-hero h3{font-size:clamp(24px,3vw,34px);line-height:1.15;margin:12px 0}.career-hero>p{font-size:15px;line-height:1.6}.career-progress{display:grid;gap:8px;margin:20px 0;font-size:12px}.career-progress progress{width:100%;height:6px;accent-color:#33745c}.course-current{background:var(--card,#fff);padding:20px;border-radius:16px}.course-current h4{font-size:22px;margin:10px 0}.course-current p{font-size:14px;line-height:1.5}.course-current>small{display:block;margin-top:12px;font-size:12px;line-height:1.5;color:var(--muted)}.course-numbers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0;font-size:11px}.course-numbers b{display:block;font-size:18px;margin-bottom:5px}.course-current .primary{width:100%;min-height:44px}.course-roadmap{list-style:none;padding:0;display:grid;gap:0;margin:18px 0 24px}.course-roadmap li{display:flex;align-items:center;gap:12px;padding:14px 4px;border-bottom:1px solid #d9e1d7}.course-roadmap li>span{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:#e9efdf;color:#234334}.course-roadmap li.current>span{background:#194e43;color:white}.course-roadmap small{display:block;margin-top:4px;font-size:12px;color:var(--muted)}.career-secondary{padding:16px;border:1px solid #d5dfcd;border-radius:14px;margin:18px 0}.career-secondary summary{cursor:pointer;font-weight:600;min-height:28px}.career-secondary select{width:100%;margin:8px 0}
.loan-fields{display:grid;gap:14px!important;margin:18px 0!important}.loan-fields label{display:grid;gap:6px;margin:0!important;font-size:14px!important}.loan-fields select{min-height:44px;padding:10px!important;width:100%;font:inherit}.loan-highlight{padding:18px;border-radius:14px;background:#e9efdf;color:#194e43;display:grid;gap:6px;margin:16px 0}.loan-highlight>strong{font-size:28px}.loan-highlight strong span{font-size:15px;font-weight:400}.loan-highlight small{font-size:11px}.loan-conditions{margin:14px 0;font-size:13px}.loan-conditions summary{min-height:36px;cursor:pointer;line-height:1.5}.loan-conditions p{font-size:13px!important;line-height:1.6!important}.loan-clock{font-size:12px!important}.confirmation-window:has(.loan-highlight) .dialog-inner{padding:22px!important}.confirmation-window:has(.loan-highlight) h2{font-size:24px!important}.confirmation-window:has(.loan-highlight) p{font-size:14px;line-height:1.5}.confirmation-window:has(.loan-highlight) [data-confirm-credit]{width:100%;min-height:44px}
@media(max-width:700px){body .connection-panel{grid-template-columns:1fr;padding:32px 20px;gap:24px}.welcome-city img{height:240px}.welcome-city{grid-row:2}.welcome-steps{grid-template-columns:1fr;gap:10px}.welcome-steps article{padding:10px 0}.welcome-facts{gap:14px}.welcome-copy h1{max-width:16ch}.shell>header{padding:12px 16px!important}.career-hero{padding:18px}.course-current{padding:16px}.course-numbers{grid-template-columns:1fr 1fr}.course-numbers>span:last-child{grid-column:1/-1}}
.welcome-actions [hidden]{display:none!important}

/* 3.2.6 — one aligned city row, actual finance height */
body:has(#sticky-finances:not([hidden])) .shell>header{margin-top:var(--finance-height,76px)!important}
body .shell>header{display:flex;align-items:center;justify-content:space-between;min-height:68px!important;padding:12px 16px!important;gap:16px}
body .shell>header .breadcrumb{display:flex;align-items:center;gap:10px;flex:1;min-width:0;color:#123e37}
.city-brand-mark{display:block;width:32px;height:32px;flex:none;color:#123e37}
body .shell>header .breadcrumb strong{font-size:18px;font-weight:650;line-height:1.2;margin:0;letter-spacing:-.02em;overflow-wrap:anywhere}
body .shell>header .header-right{display:flex;align-items:center;flex:none;margin:0}
body .shell>header #account{display:grid;place-items:center;width:44px!important;height:44px!important;min-width:44px;min-height:44px!important;margin:0!important;box-shadow:none;border:1px solid #6f9180;border-radius:50%;overflow:hidden}
body .shell>header #account svg{display:block;width:100%!important;height:100%!important}
.theme-dark .city-brand-mark{color:#dce9dc}
#sticky-finances{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) minmax(0,1.4fr);align-items:center;gap:8px}
#sticky-finances[hidden]{display:none!important}
#sticky-finances>strong{justify-self:start}#sticky-finances>.income-explainer{justify-self:center;margin:0;line-height:1.3}#sticky-finances>.sticky-calendar{justify-self:end;text-align:right;line-height:1.4}
@media(max-width:380px){body .shell>header .breadcrumb strong{font-size:17px}#sticky-finances{gap:5px;padding-inline:10px}.income-explainer small{font-size:9px}}
/* 3.2.6 — contained controls, contemporary news and consistent assistance */
.finance-sort-row{padding-top:0!important;border:1px solid #dbe3da;border-radius:20px;background:var(--card,#fff);overflow:clip}
.finance-sort-row>.finance-handle{top:10px;right:12px;left:auto;width:44px;height:44px;min-height:44px;opacity:1;border-radius:12px;background:#edf2e9;color:#31594a;z-index:3}
.finance-sort-row>.finance-handle:hover,.finance-sort-row>.finance-handle:focus-visible{background:#dce9d5}
.finance-sort-row>:nth-child(2){margin-top:0!important;border:0!important;box-shadow:none}
.finance-sort-row>:nth-child(2):not(details){padding-top:64px!important}
.finance-sort-row>details>summary{padding-right:56px;min-height:44px;align-content:center}
.finance-sort-row>.finance-summary{padding:64px 16px 16px!important}
.finance-sort-row>section:not([class]){padding:64px 16px 16px}
.finance-sort-row.dragging{opacity:.45;outline:2px dashed #4e806a;outline-offset:-3px}
.theme-dark .finance-sort-row{background:#243d32;border-color:#466252}.theme-dark .finance-handle{background:#355444;color:#ecf3e7}
.newspaper{background:var(--card,#fff)!important;color:inherit;border-radius:20px!important;border:1px solid #dbe3da!important;padding:24px!important;box-shadow:none}
.newspaper>header{border-bottom:1px solid #dbe3da;padding-bottom:18px;margin-bottom:20px}
.newspaper-masthead{font:750 clamp(23px,4vw,30px)/1.15 var(--reader-font,'DM Sans',sans-serif);text-align:left;letter-spacing:-.035em}
.news-brand-label{display:block;font:700 10px/1.4 var(--reader-font,'DM Sans',sans-serif);letter-spacing:.16em;color:#527663;margin-bottom:6px}
.news-brand-note{display:block;font:400 13px/1.4 var(--reader-font,'DM Sans',sans-serif);letter-spacing:0;color:var(--muted);margin-top:8px}
.newspaper .news-dateline{display:flex;flex-wrap:wrap;justify-content:space-between;margin-top:16px;font-size:12px}
.newspaper h2{font:700 clamp(25px,4vw,34px)/1.18 var(--reader-font,'DM Sans',sans-serif);letter-spacing:-.035em;margin:14px 0}
.newspaper .news-category{display:inline-block;font-size:11px;font-weight:650;letter-spacing:.025em;background:#eaf1e6;border-radius:7px;padding:6px 9px;color:#315d46}
.newspaper .news-impact{background:#edf3e9;border:0;border-radius:12px;padding:14px;font-size:14px;line-height:1.5}
.newspaper details{border-top:1px solid #dbe3da;padding-top:12px;margin-top:16px}.newspaper summary{font-weight:650;min-height:44px;align-content:center}
.news-archive-item{padding:14px 0;border-bottom:1px solid #dbe3da}.news-archive-item:last-child{border:0}.news-archive-item h3{font-size:18px;margin:7px 0}.news-archive-item p{font-size:14px;margin:0}
.theme-dark .newspaper{background:#243d32!important;color:#edf5ec}.theme-dark .newspaper :is(.news-impact,.news-category){background:#355444;color:#edf5ec}
body .page-return svg{display:block!important;width:24px!important;height:24px!important;flex:none;opacity:1;stroke:currentColor;pointer-events:none}
body.detail-route.back-top-upper #detail:not(.confirmation-window) .dialog-inner>.page-return{top:calc(var(--finance-height,76px) + 12px)}
body.detail-route.back-top-upper #detail .dialog-inner{padding-top:68px}
.assistance-panel{padding:20px!important}.assistance-panel h3{margin:0 0 10px}.assistance-panel p{margin:0 0 18px}.assistance-actions{display:flex;flex-wrap:wrap;gap:12px}.assistance-actions>*{display:inline-flex;align-items:center;justify-content:center;margin:0;min-height:44px;text-decoration:none;flex:1 1 180px}
[data-social-links]{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}[data-social-links][hidden]{display:none!important}[data-social-links] a{display:inline-flex;align-items:center;gap:8px;color:inherit;text-decoration:none;border:1px solid #cbd6cc;border-radius:12px;padding:10px 14px;min-height:44px;font-size:14px}[data-social-links] svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6}.welcome-social{grid-column:1/-1;justify-content:center;padding:20px 0}
.contact-layout>.panel{position:relative}.contact-layout .eyebrow{margin-top:8px}.contact-layout #contact-availability:not([hidden]){padding:12px 14px;border-radius:12px;background:#f4efd9;color:#65551f;font-size:14px}.contact-layout #contact-status:empty{display:none}.contact-layout #contact-status:not(:empty){padding:12px 14px;border-radius:12px;background:#edf3e9;color:#234334}
.contact-page .contact-layout .page-return{position:sticky!important;top:12px!important;bottom:auto!important;left:auto!important;right:auto!important;margin:0 0 18px!important;border:1px solid #ccd8c9;z-index:5}
.contact-page:not(.back-left) .contact-layout .page-return{margin-left:auto!important;display:flex!important}
.contact-page .contact-layout{padding-bottom:28px}.contact-footer{padding:22px 20px max(22px,env(safe-area-inset-bottom));margin:0}.contact-header .brand{letter-spacing:0;font-weight:700}
.contact-layout input[type=file]{font-size:13px;overflow:hidden;min-width:0}.contact-layout input[type=file]::file-selector-button{font:inherit;border:0;border-radius:8px;padding:10px;margin-right:12px;color:#234334;background:#e8efe1;cursor:pointer}
#contact-social{border-top:1px solid #dbe3da;padding-top:20px;margin-top:24px}
@media(max-width:580px){.newspaper{padding:18px!important}.assistance-actions>*{flex-basis:100%}.finance-sort-row>.finance-handle{right:10px}.shell>header .breadcrumb strong{font-size:18px}.shell>header .breadcrumb{min-width:0}.contact-layout :is(input,select,textarea){font-size:16px}}
.contact-header .city-brand-mark{width:32px;height:32px;flex:none;color:inherit}.support-requests>.contact-link{display:inline-flex;text-decoration:none;margin:4px 0 18px;align-items:center;min-height:44px}.support-requests>.panel{padding:18px;margin:12px 0}.support-requests .feedback-message{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6;margin:12px 0}.support-requests small{color:var(--muted)}
/* 3.2.7 — management and decisions */
.portfolio-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0}.portfolio-summary button{display:flex;flex-direction:column;gap:6px;padding:14px 8px;border:1px solid #d4dfd1;border-radius:14px;background:var(--card,#fff);color:inherit}.portfolio-summary strong{font-size:24px}.portfolio-summary span{font-size:12px}
.property-tabs{flex-wrap:wrap;gap:8px}.agency-page .actions{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.agency-row{padding:20px!important}.agency-row-heading{display:flex;align-items:center;gap:12px;margin-bottom:18px}.agency-row-heading input{width:22px;height:22px;flex:none}.agency-row-heading button{text-align:left;font-weight:700}.contract-summary>strong{display:block;font-size:18px}.contract-comparison{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.contract-comparison>.panel{padding:18px!important;margin:0}.contract-comparison h3{font-size:18px;margin-top:0}.contract-current{display:inline-block;padding:6px 10px;border-radius:20px;background:#e6f0d8;color:#29513b;font-size:12px}.decision-budget{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;background:#eff4eb;padding:16px;border-radius:14px;margin:16px 0}.decision-budget>div{display:flex;flex-direction:column;gap:6px;min-width:0}.decision-budget span{font-size:12px;color:#5c7165}.decision-budget strong{font-size:16px;overflow-wrap:anywhere}
.property-history-row{display:grid;gap:6px;padding:14px 0;border-bottom:1px solid #dbe3da}.property-history-row time{font-size:12px;color:var(--muted)}
.district-access{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:14px!important}.district-access button{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid #d6e2d0;border-radius:12px;background:#edf3e7;color:#234d3d;min-height:48px;padding:12px;text-decoration:none!important;text-align:left}.district-access svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.7;flex:none}.see-all{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;background:#edf3e7;border:1px solid #d6e2d0;border-radius:10px;padding:10px 14px;color:#234d3d;min-height:44px;text-decoration:none;flex:none}.section-head{flex-wrap:wrap;gap:12px}
.neighborhood-events{display:grid;gap:18px}.last-decision{padding:16px!important;margin:0!important}.last-decision summary{display:grid;gap:6px;cursor:pointer;min-height:44px}.last-decision summary strong{font-size:18px}.last-decision p{font-size:14px;margin:12px 0 0}.modern-event{display:block!important;border:1px solid #d8e3d2;border-radius:18px;padding:22px;margin:0}.modern-event h2{font-size:clamp(23px,4vw,30px);line-height:1.2;margin:14px 0}.event-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}.event-countdown{border-radius:18px;background:#eaf1e2;padding:6px 10px;font-size:12px;white-space:nowrap}.event-options{display:grid;gap:14px;margin:20px 0}.event-options>article{padding:16px;border:1px solid #dce4d7;border-radius:14px}.event-options h3{margin:0;font-size:18px}.event-options button{min-height:44px;padding:12px 16px}.event-options p{font-size:14px;line-height:1.5}.modern-event>.text-btn{min-height:44px}
.theme-dark :is(.decision-budget,.event-countdown,.district-access button,.see-all){background:#304b3d;color:#eef4e7}.theme-dark .decision-budget span{color:#c2d2c7}.theme-dark :is(.agency-row,.contract-comparison>.panel,.portfolio-summary button){background:#243d32;color:#eef4e7}
/* Property actions belong to the page flow, leaving floating controls a clear lane. */
body.detail-route #detail .property-action-dock{position:static!important;display:flex;flex-wrap:wrap;gap:12px;padding:18px 0;margin-top:20px;border-top:1px solid #dce4d7;background:transparent;box-shadow:none}
body.detail-route #detail .property-action-dock>button{flex:1 1 160px;min-height:44px;padding:12px}
body.detail-route #detail .dialog-inner{padding-bottom:calc(160px + env(safe-area-inset-bottom))!important}
body.detail-route #back-top{left:auto!important;right:16px!important;bottom:calc(144px + env(safe-area-inset-bottom))!important}
@media(max-width:700px){.contract-comparison{grid-template-columns:1fr}.district-access{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-summary{gap:6px}.agency-row{padding:16px!important}.modern-event{padding:16px}.decision-budget{padding:12px;gap:12px}.property-tabs button{font-size:14px}}
@media(prefers-reduced-motion:no-preference){.district-access button:active,.see-all:active{transform:scale(.98)}}
.property-quick-actions{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.property-quick-actions>button{min-height:44px;flex:1 1 120px;padding:12px}.property-page .ppe-panel{padding:0!important;border:0;box-shadow:none;background:transparent}.property-page .ppe-panel h2{font-size:19px}.property-page .fold-content{padding-top:14px}.property-page .dialog-inner>.compact-fold{margin:12px 0}
body.detail-route.back-left #back-top{left:auto!important;right:16px!important}
body:has(.confirmation-window:not([hidden])) #back-top{display:none!important}
/* 3.2.8 — opaque chrome, accessible floating controls and appearance studio */
body{--navigation-size:48px;--navigation-bg:#f2f6e9;--navigation-ink:#174c3e;--navigation-border:#8aa58b;--navigation-left:16px;--navigation-bottom:calc(100px + env(safe-area-inset-bottom,0px))}
body.navigation-large{--navigation-size:56px}body.navigation-strong{--navigation-bg:#123e37;--navigation-ink:#fff;--navigation-border:#98bf9b}
body #sticky-finances{background-image:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;padding-top:calc(12px + env(safe-area-inset-top,0px));opacity:1}
body #sticky-finances:before{content:'';position:absolute;left:0;right:0;bottom:100%;height:env(safe-area-inset-top,0px);background:inherit;pointer-events:none}
body .page-return,body.detail-route #detail .dialog-inner>.page-return,body.contact-page .contact-layout .page-return,body #back-top{width:var(--navigation-size)!important;height:var(--navigation-size)!important;min-height:var(--navigation-size)!important;border-radius:15px!important;border:1.5px solid var(--navigation-border)!important;background:var(--navigation-bg)!important;color:var(--navigation-ink)!important;box-shadow:0 4px 16px #123e3730!important;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;flex:none}
.return-label{display:none;font-size:14px;font-weight:700}
body.return-with-label .page-return .return-label{display:inline}
body.return-with-label .page-return,body.detail-route.return-with-label #detail .dialog-inner>.page-return,body.contact-page.return-with-label .contact-layout .page-return{width:auto!important;min-width:var(--navigation-size);padding:0 14px!important}
body.detail-route #detail:not(.confirmation-window) .dialog-inner>.page-return,body.contact-page .contact-layout .page-return{position:fixed!important;left:auto!important;right:16px!important;top:auto!important;bottom:var(--navigation-bottom)!important;margin:0!important;z-index:90}
body.detail-route.back-left #detail:not(.confirmation-window) .dialog-inner>.page-return,body.contact-page.back-left .contact-layout .page-return{left:var(--navigation-left)!important;right:auto!important}
body.detail-route.back-top-upper #detail:not(.confirmation-window) .dialog-inner>.page-return{top:calc(var(--finance-height,76px) + 12px)!important;bottom:auto!important}
body.contact-page{--navigation-bottom:calc(20px + env(safe-area-inset-bottom,0px))}
body.contact-page.back-top-upper .contact-layout .page-return{top:calc(12px + env(safe-area-inset-top,0px))!important;bottom:auto!important}
body.contact-page.back-top-upper .contact-header{padding-inline:80px}
body #back-top,body.detail-route #back-top,body.detail-route.back-left #back-top{top:auto!important;bottom:var(--navigation-bottom)!important;left:var(--navigation-left)!important;right:auto!important;z-index:89}
body.back-left #back-top,body.detail-route.back-left #back-top{left:auto!important;right:16px!important}
body.has-selection #back-top{bottom:calc(var(--navigation-bottom) + 100px)!important}
body.detail-route #advisor-launcher{bottom:calc(var(--navigation-bottom) + var(--navigation-size) + 14px)!important}
body:has(.confirmation-window[open]) :is(#back-top,.page-return){display:none!important}
@media(min-width:581px){body{--navigation-left:186px;--navigation-bottom:24px}body.contact-page{--navigation-left:16px}}
@media(min-width:1101px){body{--navigation-left:252px}body.contact-page{--navigation-left:16px}}
.appearance-panel>h3{font-size:26px;letter-spacing:-.6px;margin:6px 0 10px}.appearance-panel>.eyebrow{display:block;margin-top:12px}
#appearance-options{display:grid;grid-template-columns:1fr 1fr;gap:14px 20px;align-items:start}
#appearance-options>h4{grid-column:1/-1;margin:14px 0 0;padding:12px 0 8px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
#appearance-options .appearance-group{padding:12px;background:#f5f7f3;border-radius:16px;border:1px solid #e0e7dc;min-width:0}
#appearance-options legend{font-size:13px;padding:0 4px;font-weight:600}
#appearance-options .appearance-group>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
#appearance-options .appearance-group button{background:#fff;border-radius:11px;border:1px solid #dce4d8;padding:10px 7px;box-shadow:none;min-height:44px;font-size:12px}
#appearance-options .appearance-group button[aria-pressed=true]{background:#e5efd9;border:2px solid #245846;padding:9px 6px;color:#163f32}
#appearance-options .color-dot{width:28px;height:28px;box-shadow:0 0 0 3px #ffffff80}
#appearance-options .theme-sample{height:40px}
#appearance-options .appearance-toggle{grid-column:1/-1;margin:0;padding:12px;border-top:1px solid #dce4d8}
.appearance-preview{border:1px solid #d2dfcb;box-shadow:0 8px 24px #123e370a;overflow:hidden}.appearance-preview .banner-preview{padding:12px;border-radius:9px;margin-top:10px;font-size:12px}.navigation-preview{border:1px solid #92ad93;border-radius:12px;min-width:44px;width:max-content;padding:10px 14px;margin-top:12px}
.appearance-save{gap:12px;padding:12px;border-radius:14px;box-shadow:0 -4px 18px #123e3708}.appearance-save .text-btn{padding:8px}
.theme-dark #appearance-options .appearance-group{background:#213a30;border-color:#58735e}.theme-dark #appearance-options .appearance-group button[aria-pressed=true]{border-color:#c7df97}
@media(max-width:580px){#appearance-options{grid-template-columns:1fr;gap:12px}#appearance-options .appearance-theme>div{grid-template-columns:repeat(4,minmax(0,1fr))}#appearance-options .appearance-banner>div,#appearance-options .appearance-bottomBanner>div{grid-template-columns:repeat(3,minmax(0,1fr))}.appearance-panel>h3{font-size:24px}}
body #advisor-launcher{bottom:calc(var(--navigation-bottom) + var(--navigation-size) + 14px)!important}
body.contact-page .contact-layout{padding-bottom:calc(var(--navigation-size) + 48px)}
body #sticky-finances{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}

body #back-top[hidden]{display:none!important}
/* 3.2.9 — consistent section controls, property status and navigation order */
body .finance-sort-row>.finance-handle{top:14px;right:14px;left:auto;width:44px;height:44px;min-height:44px;padding:12px;background:transparent;border:0;border-radius:10px;color:#607c70;opacity:1}
body .finance-handle svg{width:20px;height:20px;pointer-events:none}
body .finance-sort-row>.finance-handle:hover,body .finance-sort-row>.finance-handle:focus-visible{background:#e8efe3;color:#174c3d}
body .finance-sort-row>:nth-child(2):not(details){padding-top:20px!important}
body .finance-sort-row>.newspaper{padding:20px!important}
body .finance-sort-row>.newspaper>header{padding-right:52px}
body .finance-sort-row>.compact-fold{padding:14px 18px!important}
body .finance-sort-row>details>summary{padding-right:52px;min-height:44px}
body .finance-sort-row>.city-map{padding-top:0!important}
body .finance-sort-row .city-map-heading{padding-top:20px;padding-right:66px}
body .finance-sort-row>:nth-child(2)>:is(h2,h3,.eyebrow){padding-right:52px}
body .finance-sort-row>.event-panel,body .finance-sort-row>.neighborhood-events{padding:20px!important}
body .finance-sort-row>.neighborhood-events>:first-child{padding-right:52px}
body .finance-sort-row>section:not([class]){padding:20px!important}
body .finance-sort-row .section-head{margin-top:0;padding-right:52px;flex-wrap:wrap}
body .finance-sort-row>.sortable-heading{font-size:16px;padding:24px 70px 12px 18px!important;margin:0}
body .finance-sort-row>.finance-summary{padding:0 18px 18px!important;margin:0}
body .property-tabs{display:flex;flex-wrap:wrap;gap:8px;padding:0 0 8px;align-items:stretch}
body .property-tabs button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;min-width:0;padding:10px 12px;white-space:nowrap;font-size:14px;flex:1}
body .property-tabs button svg{width:19px;height:19px;min-width:19px;flex:none;margin:0}
body .property-status{display:inline-flex;align-items:center;gap:6px;width:max-content;max-width:100%;border-radius:7px;padding:5px 9px;margin:6px 5px 8px 0;font-size:12px;font-weight:700;line-height:1.35;background:#eef0e9;color:#4d6057;white-space:normal}
.property-status i{width:6px;height:6px;flex:none;border-radius:50%;background:currentColor}
body .status-rented{background:#e1f0e5;color:#195332}body .status-vacant{background:#fff0dc;color:#79501c}body .status-search{background:#e4edf8;color:#284e7b}body .status-work{background:#f9ecd8;color:#754811}body .status-incident{background:#fae7e4;color:#873b32}
body .compact-main>.property-status{align-self:flex-start;font-size:11px;margin:4px 4px 6px 0}
body #detail .property-page-top .property-status{margin-top:4px}
body .detail-values small{display:block;line-height:1.5}body .detail-values strong+small{font-size:12px;margin-top:8px}
body.detail-route #detail .property-action-dock{position:static!important;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%;margin:20px 0 0!important;padding:16px 0!important;box-sizing:border-box;background:transparent!important}
body.detail-route #detail .property-action-dock>button{min-width:0;width:100%;min-height:48px;height:auto;padding:12px;border-radius:12px;white-space:normal;overflow-wrap:break-word;font-size:14px}
body.detail-route #detail .dialog-inner{padding-bottom:88px!important}
.navigation-editor{grid-column:1/-1;min-width:0;padding:16px;border:1px solid #dce4d8;border-radius:16px;background:#f5f7f3}
.navigation-editor h5{font-size:14px;margin:0 0 6px}.navigation-editor>.note{margin:0 0 12px}
.navigation-order-row{display:grid;grid-template-columns:minmax(0,1fr) 44px 44px;align-items:center;gap:8px;padding:7px 0;border-top:1px solid #dce4d8}
.navigation-order-row>span{display:flex;align-items:center;gap:10px;font-size:14px}.navigation-order-row svg{width:20px;height:20px;flex:none}
.navigation-order-row button{padding:6px;min-height:44px;font-size:20px;border-radius:10px}
.theme-dark .navigation-editor{background:#243d32;border-color:#58735e}.theme-dark .property-status{filter:brightness(.85)}
@media(max-width:360px){body .property-tabs{gap:3px}body .property-tabs button{font-size:12px;padding:9px 5px;gap:4px}body .property-tabs button svg{width:17px;min-width:17px}body.detail-route #detail .property-action-dock{grid-template-columns:1fr}}

/* 3.2.11: separate ordering and disclosure controls; compact decisions. */
body .finance-sort-row>.finance-handle{display:none;left:8px;right:auto;top:14px;width:44px;height:44px}
body .reordering>.finance-sort-row{padding-left:56px!important}
body .reordering>.finance-sort-row>.finance-handle{display:flex;align-items:center;justify-content:center}
body .finance-sort-row>.compact-fold{padding:14px 18px!important}
body .finance-sort-row>details>summary{padding-right:30px}
body .finance-sort-row>.newspaper>header,body .finance-sort-row>:nth-child(2)>:is(h2,h3,.eyebrow),body .finance-sort-row>.neighborhood-events>:first-child,body .finance-sort-row .section-head{padding-right:0}
body .finance-sort-row .city-map-heading{padding-right:18px}
.order-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin:12px 0}
.order-toolbar button{min-height:44px;font-size:13px}
body .order-editor>.finance-sort-row{display:flex;align-items:center;gap:12px;min-height:72px;padding:12px 12px 12px 56px!important}
body .order-editor>.finance-sort-row>span{flex:1;min-width:0;padding:0!important;font-size:15px}
.order-arrows{display:flex;gap:6px;flex:none}.order-arrows button{min-width:44px;min-height:44px;padding:8px}
body .finance-sort-row>.neighborhood-events{padding:0!important}
body .neighborhood-events .modern-event{border:0;border-radius:0;padding:20px;margin:0}
body .neighborhood-events .last-decision{border:0;border-bottom:1px solid #dbe3da;border-radius:0}
body .event-options{margin:14px 0;gap:16px}
body .event-options>article{border:0;border-radius:0;padding:0;background:transparent;box-shadow:none}
body .event-options>article+article{border-top:1px solid #dbe3da;padding-top:16px}
body .decision-budget{border:0;border-radius:0;background:transparent;margin:12px 0 18px;padding:0;gap:16px}
body .decision-budget strong{font-size:16px;line-height:1.35}
body.detail-route #detail .confirmation-window .dialog-inner{padding:24px!important;min-height:0!important;height:auto!important}
body #detail .confirmation-window{height:auto!important;min-height:0!important;width:calc(100% - 32px);max-height:calc(100dvh - 40px);margin:auto}
body .confirmation-window h2{font-size:22px!important;line-height:1.25;padding-right:42px}
body .confirmation-window .confirm-close{width:44px;height:44px;min-height:44px;top:12px;right:12px}
body .confirmation-window .actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}
body .confirmation-window .actions button{flex:1 1 140px;margin:0;min-height:48px}
body .confirmation-window .dialog-inner>button.primary+button.secondary{margin-left:10px}
.confirmation-budget{margin:18px 0}.confirmation-budget>div{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid #cad6ca}
.confirmation-budget dt{font-size:14px}.confirmation-budget dd{margin:0;text-align:right;font-weight:700;font-size:15px}
.player-profile{max-width:780px;margin:auto}.profile-heading{display:flex;align-items:center;gap:18px;margin-bottom:24px}.profile-heading>svg{flex:none;width:72px;height:72px}.profile-heading h2{margin:0;overflow-wrap:anywhere}.profile-heading p{font-size:14px;margin:8px 0}.profile-heading small{font-size:12px}
.profile-wealth{display:flex;flex-direction:column;gap:8px;padding:20px 0;border-block:1px solid #dbe3da}.profile-wealth>strong{font-size:32px}.profile-wealth>span,.profile-stats span{font-size:13px;color:var(--muted,#60766b)}
.profile-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding:24px 0}.profile-stats>div{display:flex;flex-direction:column;gap:8px}.profile-stats strong{font-size:21px}.profile-chart{margin:24px 0}.profile-chart svg{display:block;width:100%;max-height:160px;color:#43876c}.profile-chart figcaption{font-size:14px}.profile-badges{display:flex;flex-wrap:wrap;gap:8px}.profile-badges span{border-radius:24px;padding:8px 12px;background:var(--soft,#eaf0e4);font-size:13px}.player-profile progress{width:100%}.player-profile .ledger{gap:16px;flex-wrap:wrap}.player-profile h3{margin-top:28px}
@media(max-width:420px){body.detail-route #detail .confirmation-window .dialog-inner{padding:20px!important}.profile-wealth>strong{font-size:27px}.profile-heading{gap:12px}.order-arrows{gap:2px}.order-arrows button{min-width:40px}.confirmation-budget>div{gap:10px}}
.purchase-next{display:grid;gap:20px}.purchase-next article{padding-block:16px;border-bottom:1px solid #dbe3da}.purchase-next h3{margin:0 0 12px}.purchase-next button{margin:6px 10px 6px 0;min-height:48px}.property-quick-actions>.rental-cta{flex-basis:100%}.property-action-dock>.rental-cta{margin:0}
.purchase-actions{display:flex;flex-wrap:wrap;gap:10px}.purchase-actions>button{flex:1 1 110px;margin:0}.purchase-actions>.rental-cta{flex-basis:100%}.purchase-next .purchase-agency{display:block;text-align:left;font-size:13px;line-height:1.5;color:var(--muted,#60766b);margin:4px 0;min-height:44px}
/* 3.2.12 — direct gestures and compact mobile reading */
body .cards:not(.selection-mode) .property-select,body .cards .property-select{display:grid!important}
body .property-controls{justify-content:space-between;width:calc(100% - 16px);pointer-events:none}
body .property-controls>*{pointer-events:auto}body .property-controls .property-select{left:0;right:auto}
body .property-tag{top:58px}.property.is-selected{outline:3px solid #43866a;outline-offset:-3px}
body .finance-sections>.finance-sort-row{padding-left:52px!important}
body .finance-sections>.finance-sort-row>.finance-handle{display:flex;align-items:center;justify-content:center;left:4px;top:14px}
body .project-sections .city-ambitions>.compact-fold{margin:0!important;border:0!important;border-radius:0;background:transparent}
body .project-sections .city-ambitions{padding:0!important}
body .project-sections .empty{min-height:0;padding:24px 18px!important;text-align:left}
body .project-sections .empty h2{font-size:23px;margin:0 0 12px}
body .project-sections .empty p{font-size:15px;line-height:1.55;margin:12px 0 20px}
.layout-settings{display:grid;gap:10px;margin-top:20px}.layout-settings h3{margin-bottom:0}.layout-settings button{text-align:left;min-height:44px}
.game-guide>.compact-fold{margin:10px 0}.game-guide p{font-size:15px;line-height:1.7}.guide-intro{max-width:65ch}
.purchase-batch-actions{display:flex;gap:10px;flex-wrap:wrap;border-bottom:1px solid #cedbce;padding:12px 0 20px}.purchase-batch-actions h3{flex-basis:100%}.purchase-batch-actions button{min-height:44px;flex:1 1 150px}
#swipe-preview{position:fixed;z-index:35;top:var(--finance-height,90px);bottom:100px;left:0;width:100%;padding:20px;background:var(--card,#f7f8f3);overflow:hidden;pointer-events:none;box-shadow:0 0 25px #123e3722}
#swipe-preview h2{font-size:24px}#swipe-preview .swipe-preview-item{padding:14px 0;border-bottom:1px solid #cedbce}#swipe-preview img{width:100%;height:140px;object-fit:cover;border-radius:12px}
body [data-tab].swipe-target{background:rgb(255 255 255 / 14%);box-shadow:inset 0 3px 0 rgb(255 255 255 / 80%)}
body .reading-scroll #advisor-launcher{opacity:.2;pointer-events:none}
body #advisor-launcher{bottom:calc(var(--navigation-bottom,100px) + 70px)!important;transition:opacity .2s}
body:has(.purchase-next) #advisor-launcher,body:has(.project-sections) #advisor-launcher{display:none!important}
@media(max-width:600px){body.scrolled-page #sticky-finances{padding-top:8px!important;padding-bottom:8px!important;min-height:54px!important}body.scrolled-page #sticky-finances small{font-size:10px}.finance-sections{gap:12px}.compact-property .property-controls{position:relative;width:auto}.compact-property .property-select{position:relative!important}.game-guide>details>summary{line-height:1.4}}
@media(prefers-reduced-motion:reduce){#swipe-preview{display:none}#advisor-launcher{transition:none}}
body .property:not(.compact-property) .property-controls{display:flex;flex-direction:row;align-items:flex-start;left:8px;right:8px;justify-content:space-between;width:auto}
body .property:not(.compact-property) .property-controls .property-select{position:relative;top:0;left:0;width:44px;height:44px}
body .property:not(.compact-property) .property-controls .favorite-btn{margin-left:auto}
body .property.is-selected{outline-width:3px!important}
body .compact-property .property-controls{width:auto;flex-direction:row;gap:6px}
.monthly-rental-breakdown{margin:16px 0;padding:16px;border-block:1px solid #d1dccf}.monthly-rental-breakdown summary{cursor:pointer;min-height:44px}

/* 3.2.13: reserve space only in the draggable heading. */
body #content .finance-sections>.finance-sort-row{padding-left:0!important}
body #content .finance-sort-row .drag-title{position:relative;padding-left:48px!important;min-height:44px}
body #content .finance-sort-row .drag-title>.finance-handle{position:absolute;left:0;right:auto;top:0;display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-height:44px;margin:0;padding:12px;border:0;background:transparent;color:#607c70;touch-action:none;cursor:grab;z-index:3}
body #content .finance-sort-row .drag-title>.finance-handle svg{width:18px;height:18px}
body #content .finance-sort-row .drag-title>.finance-handle:focus-visible{outline:2px solid #43866a;outline-offset:-3px}
body .property:not(.compact-property) .property-controls{left:auto;right:8px;top:8px;width:44px;flex-direction:column;align-items:center;justify-content:flex-start;gap:6px}
body .property:not(.compact-property) .property-controls .property-select{order:0;min-height:44px;padding:0}
body .property:not(.compact-property) .property-controls .property-select input{inset:0;width:44px;height:44px}
body .property:not(.compact-property) .property-controls .favorite-btn{order:1;margin:0}
body .property-art .property-tag{top:12px;left:12px;max-width:calc(100% - 76px)}
.owned-condition{display:block;margin:8px 0 12px;font-size:13px;line-height:1.5;font-weight:400;color:var(--muted,#60766b)}
.condition-line{display:flex;align-items:center;gap:7px}.condition-line i{width:8px;height:8px;border-radius:50%;background:#77867c;flex:none}
.owned-condition.good i{background:#39815d}.owned-condition.fair i{background:#a37b31}.owned-condition.poor i{background:#b35337}
.condition-work,.condition-alert{display:block;margin-top:5px}.condition-work strong{font-size:inherit;font-weight:500}.condition-work progress{display:block;width:100%;height:5px;margin-top:6px;accent-color:#43866a}.condition-alert{color:#98502c}
.theme-dark .condition-alert{color:#efb18b}

/* 3.2.14 notification control */
#notification-bell{position:fixed;right:16px;left:auto;bottom:calc(var(--navigation-bottom,100px) + 140px);z-index:88;width:48px;height:48px;min-height:48px;padding:10px;border:1px solid #8ba58b;border-radius:16px;background:var(--card,#eef4e7);color:var(--ink,#194d40);box-shadow:0 5px 18px #123e3720}
#notification-bell[data-side="left"]{left:var(--navigation-left,16px);right:auto}#notification-bell[hidden]{display:none!important}#notification-bell>span{position:absolute;right:-5px;top:-5px;background:#a4442e;color:white;border-radius:20px;padding:2px 5px;font-size:11px;min-width:18px}body.has-selection #notification-bell{bottom:calc(var(--navigation-bottom,100px) + 240px)}body.detail-route #notification-bell{display:none}
.tenant-requests{margin:20px 0;padding:16px 0;border-block:1px solid #d3ded0}.tenant-request,.notification-item{padding:16px 0;border-bottom:1px solid #d3ded0}.tenant-request p,.notification-item p{font-size:14px;line-height:1.5}.tenant-request .actions{display:flex;gap:10px;flex-wrap:wrap}.tenant-request .actions button{min-height:44px;margin:0}.notification-panel{max-width:720px;margin:auto}.notification-panel h2 .count-pill{font-size:16px}

/* 3.2.15 requests, prestige and notification spacing */
.notification-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:12px}.notification-actions button{margin:0;min-height:44px}.notification-panel>h2{margin-bottom:12px}.notification-panel>.note{margin:0 0 20px}.notification-panel .notification-item{padding:14px 0}.request-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;font-size:13px;margin:16px 0}.request-facts span,.request-facts b{display:block}.tenant-request h3{font-size:18px;margin:10px 0}.tenant-request .actions{gap:12px}.prestige-market>.prestige-intro{padding:24px 20px;background:#eee9dc;border:1px solid #d7c49a;border-radius:18px;margin:18px 0}.prestige-market progress{width:100%;accent-color:#987431}.prestige-market small{display:block;margin-top:8px}.prestige-card>img{width:100%;height:210px;object-fit:cover}.prestige-card{border-color:#d7c49a}.theme-dark .prestige-market>.prestige-intro{background:#38392f}.prestige-card .property-body>strong{font-size:24px}

/* 3.2.16: independent Prestige layout and compact mobile controls. */
.prestige-market{min-width:0;max-width:100%}
.prestige-market>.prestige-intro{display:block;position:static;inset:auto;height:auto;min-height:0;width:100%;padding:22px 20px;overflow-wrap:break-word;color:inherit}
.prestige-market>.prestige-intro h2{font-size:clamp(24px,5vw,32px);line-height:1.2;margin:10px 0 14px;letter-spacing:-.5px}
.prestige-market>.prestige-intro p{margin:10px 0;line-height:1.5}
.prestige-market>.prestige-intro small{line-height:1.5}
.prestige-market>.prestige-intro progress{display:block;margin:16px 0 8px}
.prestige-card>img{display:block;max-width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;object-position:center!important;background:#e3e9e0}
.prestige-card .property-body{min-width:0;overflow-wrap:break-word}
body #content .project-sections .finance-sort-row .drag-title{padding-left:34px!important}
body #content .project-sections .drag-title>.finance-handle{left:-8px;padding:12px;top:0}
body #notification-bell{bottom:var(--navigation-bottom,100px);width:44px;height:44px;min-height:44px;border-radius:14px;right:16px;left:auto}
body #notification-bell[data-side="left"]{left:var(--navigation-left,16px);right:auto}
body.back-left #notification-bell[data-side="right"],body:not(.back-left) #notification-bell[data-side="left"]{transform:translateY(-58px)}
body.has-selection #notification-bell{bottom:calc(var(--navigation-bottom,100px) + 100px)}
body:has(#notification-bell:not([hidden])) #advisor-launcher{bottom:calc(var(--navigation-bottom,100px) + 118px)!important}
body:has(.confirmation-window[open]) #notification-bell,.keyboard-open #notification-bell{visibility:hidden;pointer-events:none}
@media(max-width:600px){.prestige-market>.prestige-intro{padding:20px 16px}.prestige-market .cards{grid-template-columns:minmax(0,1fr)}}

/* 3.2.17: concise tenant-work confirmation, isolated from full-page styles. */
body #detail dialog.confirmation-window:has(.tenant-confirmation){height:fit-content!important;min-height:0!important;max-height:calc(100dvh - 32px);inset:0;overflow-y:auto;overscroll-behavior:contain}
body.detail-route #detail dialog.confirmation-window:has(.tenant-confirmation)>.dialog-inner{padding:22px 20px 16px!important;min-height:0!important;height:auto!important}
.tenant-confirmation{min-width:0}
body .confirmation-window .tenant-confirmation h2{font-size:21px!important;margin:4px 0 10px;padding-right:42px;line-height:1.25}
body .confirmation-window .tenant-confirmation .request-subtitle{margin:0 0 18px;font-size:14px;line-height:1.5}
.request-payment{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:16px;background:#e8efe3;border-radius:12px;color:#214e3d}
.request-payment span{font-size:14px}.request-payment strong{font-size:27px;white-space:nowrap;line-height:1.2}
.request-summary{margin:12px 0}
.request-summary>div{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;padding:10px 0;border-bottom:1px solid #dce3d7;font-size:14px;line-height:1.4}
.request-summary dt{min-width:0}.request-summary dd{margin:0;text-align:right}.request-summary dd strong{white-space:nowrap}
.request-summary small{display:block;font-size:11px;color:var(--muted);margin-top:3px;font-weight:400}
body .confirmation-window .tenant-confirmation .request-risk{font-size:13px;line-height:1.5;padding:12px;margin:14px 0 6px;background:#edf2e8;border-radius:10px;color:#315643}
body .confirmation-window .tenant-confirmation .request-risk.has-risk{background:#fbefdd;color:#795021}
.request-more{font-size:13px}.request-more summary{cursor:pointer;min-height:44px;display:flex;align-items:center;gap:8px}.request-more summary::before{content:'+';font-size:18px}.request-more[open] summary::before{content:'−'}
body .confirmation-window .request-more p{font-size:13px;margin:0 0 12px;line-height:1.5}
.request-confirm-actions{display:grid;gap:4px;margin-top:12px}
body .confirmation-window .request-confirm-actions .primary{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;min-height:48px;width:100%;margin:0;padding:12px 16px;font-size:15px}
.request-button-amount{white-space:nowrap}.request-confirm-actions .text-btn{min-height:44px;text-decoration:none}
.theme-dark .request-payment,.theme-dark .tenant-confirmation .request-risk{background:#314d3b!important;color:#edf4e6!important}
.theme-dark .tenant-confirmation .request-risk.has-risk{background:#54432c!important;color:#ffe1b8!important}
@media(max-width:360px){.request-summary>div{font-size:13px;gap:8px}.request-payment strong{font-size:24px}}

/* 3.2.17 — one compact, accessible selection style across every screen. */
body input[type="checkbox"]{appearance:none;-webkit-appearance:none;display:inline-grid;place-content:center;width:26px;height:26px;min-width:26px;min-height:26px;flex:none;margin:0;border:2px solid #718b7e;border-radius:7px;background:#fff;vertical-align:middle;cursor:pointer;opacity:1;position:relative}
body input[type="checkbox"]:checked{background:#195344;border-color:#195344}
body input[type="checkbox"]:checked::after{content:"";width:7px;height:13px;border:solid white;border-width:0 3px 3px 0;transform:translateY(-2px) rotate(45deg)}
body input[type="checkbox"]:focus-visible{outline:3px solid #8abf9f;outline-offset:3px}
body input[type="checkbox"]:disabled{opacity:.5;cursor:default}
body label:has(>input[type="checkbox"]){min-height:44px;cursor:pointer}
body .card-check{display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex:none;margin:0!important;padding:0!important}
body .agency-row-heading{display:flex;align-items:flex-start;gap:10px;margin-bottom:12px}
body .agency-row-heading>.card-check{order:2;margin-left:auto!important}
body .agency-row-heading>.text-btn{flex:1;min-width:0;line-height:1.35;padding:10px 0;text-align:left}
body .insurance-row-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
body .insurance-row-head>.card-check{order:3;margin-left:auto!important}
body .insurance-row-head>div{flex:1;min-width:130px}
body :is(.agency-row,.insurance-row):has(input[type="checkbox"]:checked){border-color:#28785d!important;box-shadow:inset 0 0 0 1px #28785d;background:#f2f8f1}
body .property-controls .property-select input{position:static!important;width:26px!important;height:26px!important;opacity:1!important;inset:auto!important}
body .property-select .selection-check{display:none!important}
body .property-controls .property-select{display:flex!important;align-items:center;justify-content:center;border-radius:50%;background:#fff;box-shadow:0 2px 8px #123e3720}
body .finance-sections{gap:10px}
body #content .finance-sort-row>.compact-fold,body #content .finance-sort-row .city-ambitions>.compact-fold{padding:8px 14px!important;min-height:0!important}
body #content .finance-sort-row .compact-fold>summary{min-height:44px!important;padding-top:0!important;padding-bottom:0!important;line-height:1.35;font-size:15px!important}
body #content .finance-sort-row .drag-title{padding-left:30px!important;min-height:44px;display:flex;align-items:center;gap:8px;margin-top:0;margin-bottom:0}
body #content .finance-sort-row .drag-title>.finance-handle{left:-12px;top:50%;transform:translateY(-50%);width:44px;height:44px;padding:14px}
body #content .finance-sort-row .drag-title>.finance-handle svg{width:15px;height:18px}
body #content .finance-sort-row .drag-title .fold-plus{margin-left:auto;flex:none}
body #content .finance-sort-row .empty{padding:18px!important;min-height:0!important}
body #content .finance-sort-row .empty h2{font-size:22px;line-height:1.25;margin-bottom:12px}
body #content .finance-sort-row .empty p{margin:12px 0;font-size:14px;line-height:1.5}
body #content .finance-sort-row .city-map-heading{padding:8px 14px 4px!important}
body #content .city-map-heading h2{font-size:22px!important;line-height:1.2;margin:0!important}
body .city-map .map-controls{padding:4px 12px 6px;gap:8px;display:flex;flex-wrap:wrap}
body .map-segments{padding:3px;gap:2px;flex:1;min-width:260px;display:flex}
body .map-segments button{font-size:13px;padding:8px 9px;min-height:44px;flex:1;white-space:nowrap}
body .budget-map{font-size:13px;padding:8px 12px;min-height:44px;margin:0}
.map-local-filters{display:flex;gap:8px;padding:0 12px 10px;align-items:center}
.map-local-filters select{min-width:0;flex:1;max-width:260px;min-height:44px;font:inherit;font-size:13px;border:1px solid #cad6cc;border-radius:10px;padding:8px;background:#fff;color:#254c3e}
.map-local-filters .status-chip{font-size:13px;white-space:nowrap;padding:8px 12px}
body .city-map .real-city{aspect-ratio:26/15;min-height:0;width:calc(max(100%,var(--map-height) * 26 / 15) * var(--map-zoom,1))}
.photo-gallery{display:flex;gap:8px;margin:10px 0;flex-wrap:wrap}
.photo-gallery [aria-pressed="true"]{background:#195344;color:white;border-color:#195344}
.theme-dark input[type="checkbox"]{background:#233f34;border-color:#a0b7a7}
.theme-dark input[type="checkbox"]:checked{background:#2d785d}
.theme-dark :is(.agency-row,.insurance-row):has(input:checked){background:#244c3c!important}
.theme-dark .map-local-filters select{background:#20372f;color:#e7eee7;border-color:#486052}
@media(max-width:420px){body .insurance-row-head>.secondary{order:4;width:100%}.map-local-filters{flex-wrap:wrap}.map-local-filters select{max-width:none}.confirmation-window .request-confirm-cost{white-space:nowrap}}

/* 3.2.18: Prestige is deliberately not a global header. */
body #content .prestige-intro{display:block!important;position:static!important;height:auto!important;min-height:0!important;width:100%;max-width:100%;box-sizing:border-box;overflow-wrap:anywhere;padding:20px 16px;color:#25483c}
body #content .prestige-intro>*{position:static;max-width:100%;white-space:normal}
body #content .prestige-intro h2{font-size:26px;line-height:1.2;margin:12px 0}
body #content .prestige-intro p{font-size:14px;line-height:1.5;margin:10px 0}
.prestige-card{min-width:0;overflow:hidden}.prestige-card>img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.works-summary{margin:18px 0;padding:16px;border:1px solid #d3ddd1;border-radius:14px}.works-summary h3{margin:0 0 12px;font-size:18px}.works-totals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.works-totals small,.works-totals strong{display:block}.works-totals strong{font-size:20px;margin-top:5px}.works-summary p{font-size:14px;line-height:1.5}.works-summary .note{font-size:12px}.works-summary summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-weight:700}.work-history-entry{border-top:1px solid #d3ddd1;padding:12px 0}.work-history-entry>small{display:block;margin-top:6px}.photo-unavailable{display:block;padding:12px;color:#795021}.theme-dark .works-summary{border-color:#486052}

.owned-works-mini{font-size:12px;line-height:1.4;margin:8px 0;color:var(--muted)}

.owned-works-mini{display:block}

/* 3.2.19: hide the welcome screen while the saved workspace is loading. */
.boot-status{display:none}body.booting .boot-status{display:grid;position:fixed;inset:0;place-items:center;background:#f6f7f2;color:#214d3e;font:600 16px system-ui;z-index:10000}body.booting>.sidebar,body.booting>.shell{visibility:hidden}

/* 3.2.20 — selection, investment results and company management. */
body .property-eye{display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;min-height:44px;padding:10px;border:1px solid #b7cbbd;border-radius:12px;background:#edf3e7;color:#194f40}
body .property-eye svg{width:22px;height:22px;flex:none}
body .agency-row-heading{align-items:center;gap:8px}
body .agency-row-heading>.property-name{flex:1;min-width:0;text-align:left;text-decoration:none;padding:8px 0;margin:0;background:transparent;border:0;font:inherit;font-weight:650;line-height:1.4;color:inherit;overflow-wrap:anywhere}
body .agency-row-heading>.card-check{order:0;margin:0!important}
body .agency-row-heading>.property-eye{margin-left:auto;order:3}
body .insurance-row-head>.card-check{order:0;margin:0!important}
body .insurance-row-head>.property-eye{order:4}
body .property[data-card-id],body .agency-row{cursor:pointer}
body .property.is-selected{border-color:#28785d;box-shadow:inset 0 0 0 2px #28785d;background:#f0f7ed}
body .property :is(.property-address,.compact-address),body .compact-main{text-decoration:none}
body input[type="checkbox"]{width:24px;height:24px;min-width:24px;min-height:24px;border-radius:7px;border-color:#678a77;transition:background .12s,border-color .12s}
body .property-controls .property-select input{width:24px!important;height:24px!important;border-radius:7px!important}
body .property-controls .property-select{min-width:44px;min-height:44px}
body .stock-dashboard h2,body .company-page h3{margin-top:12px}
.stock-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0}
.stock-metrics>div{padding:14px;border:1px solid #d5dfd5;background:#f0f4eb;border-radius:14px;min-width:0}
.stock-metrics small{display:block;font-size:12px;line-height:1.4;color:#617365;margin-bottom:7px}
.stock-metrics strong{display:block;font-size:19px;line-height:1.3;overflow-wrap:anywhere}
.stock-result{display:block;font-weight:700;font-variant-numeric:tabular-nums}
.stock-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,265px),1fr));gap:14px;margin-top:16px}
body .stock-cards .stock-card{padding:18px;margin:0;min-width:0}
body .stock-company{display:block;width:100%;padding:0 0 12px;background:none;border:0;text-align:left;color:inherit}
.stock-company strong{display:block;font-size:21px}.stock-company small{display:block;margin-top:4px;font-size:13px;color:#637b6e}
.stock-price strong{font-size:23px}.stock-price small{display:block;font-size:12px;line-height:1.4}
.stock-row-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:15px}
body .stock-row-actions button{margin:0;min-height:44px;padding:10px 8px}
.stock-periods{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}
.stock-chart{display:block;width:100%;height:auto;max-height:260px;background:#f1f5eb;border-radius:12px}
.stock-chart path{stroke:#276a52;stroke-width:3;fill:none;vector-effect:non-scaling-stroke}
.stock-chart text{fill:currentColor;font-size:12px}
.stock-history{overflow-x:auto}.stock-history table{border-collapse:collapse;width:100%}.stock-history td,.stock-history th{padding:8px;text-align:left;border-bottom:1px solid #d5dfd5}
body .company-entry{margin:0 0 16px;width:100%}
.company-page{max-width:900px;margin:auto;min-width:0}.company-page .company-code{display:block;overflow-wrap:anywhere;font-size:13px;padding:12px;background:#eef4e9;border-radius:8px}
.company-page .panel{padding:18px;margin:12px 0}.company-page p{font-size:15px;line-height:1.6}.company-page .ledger{font-size:14px;gap:12px;flex-wrap:wrap}
.company-page .ledger strong{white-space:nowrap}.company-page button{min-height:44px;margin:4px 6px 4px 0;padding:10px 14px;font-size:14px}
.company-fold{border:1px solid #d5dfd5;border-radius:16px;margin:14px 0;padding:16px}
.company-fold>summary{font-weight:700;cursor:pointer;min-height:30px;line-height:1.5}
.company-form{display:grid;gap:12px;margin:16px 0}.company-form label{display:grid;gap:6px;font-size:14px;font-weight:600}
.company-form :is(input:not([type="checkbox"]),select){width:100%;min-width:0;max-width:100%;box-sizing:border-box;padding:12px;border:1px solid #adc0b2;border-radius:10px;background:white;color:#193f33;font-size:16px}
.company-form fieldset{border:1px solid #d5dfd5;border-radius:10px}.company-form fieldset label{display:flex;align-items:center;gap:10px;font-weight:400}.company-vote{border-color:#9fba8c!important;background:#f2f6e9}
.theme-dark .stock-metrics>div,.theme-dark .stock-chart,.theme-dark .company-page .company-code,.theme-dark .company-vote{background:#233f34;color:#edf4e6}
.theme-dark .stock-metrics small,.theme-dark .stock-company small{color:#b6c7bc}
.theme-dark .property.is-selected{background:#284c3e}
@media(max-width:380px){.stock-metrics{gap:7px}.stock-metrics>div{padding:10px}.stock-metrics strong{font-size:16px}.company-fold{padding:12px}.stock-row-actions{gap:6px}}

/* 3.2.21 — consolidated corrections, no secondary stylesheet required. */

.boot-status{display:none}body.booting .boot-status{display:grid;position:fixed;inset:0;place-items:center;background:#f6f7f2;color:#214d3e;font:600 16px system-ui;z-index:10000}body.booting>.sidebar,body.booting>.shell{visibility:hidden}
body #content .prestige-market>.prestige-intro{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:12px!important;position:static!important;height:auto!important;width:auto!important;min-width:0!important;padding:20px!important;margin:18px 0!important;border-radius:18px;background:#eee9dc;overflow:hidden}
body #content .prestige-intro>*{position:static!important;display:block!important;width:auto!important;max-width:100%!important;margin:0!important;white-space:normal!important;transform:none!important;float:none!important}
body #content .prestige-intro h2{font:700 clamp(24px,5vw,32px)/1.2 var(--font,system-ui)!important;letter-spacing:-.5px}
body #content .prestige-intro :is(p,small){font-size:14px!important;line-height:1.5!important}body #content .prestige-intro progress{width:100%!important}
body #content .prestige-market .cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px}
body #content .prestige-card{min-width:0;overflow:hidden}body #content .prestige-card>img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;background:#e7ede5}body #content .prestige-card .property-body{padding:18px}body #content .prestige-card h3{font-size:21px;line-height:1.3;margin:0 0 12px}body #content .prestige-card p{font-size:14px;line-height:1.5}body #content .prestige-card .property-body>strong{font-size:26px;white-space:nowrap}
body #content .finance-sort-row .drag-title{position:relative!important;padding-left:34px!important;display:flex!important;align-items:center!important;min-height:44px!important;line-height:1.3;margin-block:0!important}
body #content .finance-sort-row .drag-title>.finance-handle{position:absolute!important;left:-8px!important;top:50%!important;transform:translateY(-50%)!important;width:44px!important;height:44px!important;min-width:44px;padding:14px!important;margin:0!important;align-self:center!important}
.tenant-context{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:12px;padding:14px;margin:16px 0;background:var(--surface,#edf2e8);border-radius:12px}.tenant-context small,.tenant-context strong{display:block;line-height:1.5}.tenant-context small{font-size:12px}.tenant-context strong{font-size:14px;margin:4px 0}.claim-panel{padding:14px;margin:12px 0;border:1px solid #c8d6c9;border-radius:12px}.claim-panel p{font-size:14px;line-height:1.5;margin:10px 0}.claim-panel small{display:block;margin-top:10px}.amount-line,.request-button-amount{display:block;white-space:nowrap!important}.request-confirm-actions .primary{display:flex;flex-direction:column;align-items:center;gap:4px}
body .confirmation-window{height:auto!important;min-height:0!important;max-height:calc(100dvh - 32px);overflow:auto}body .confirmation-window .request-confirm-title{font-size:22px;line-height:1.25}
@media(max-width:600px){body .request-confirm-actions{display:flex!important;flex-direction:column!important;gap:10px!important}body .request-confirm-actions>button{width:100%!important;min-height:48px!important;padding:12px!important}body .request-confirm-actions>.primary{order:-1}body .confirmation-window{padding:20px!important}.tenant-context{grid-template-columns:1fr}body .request-confirm-facts>div{flex-wrap:wrap;gap:6px}}
body.tab-dragging #content{contain:paint;will-change:transform}body.tab-dragging{overflow-x:clip}#swipe-preview{will-change:transform}
.theme-dark .tenant-context{background:#203c32}.theme-dark #content .prestige-market>.prestige-intro{background:#353a2f;color:#eceddf}

/* 3.2.21: compact mobile workspaces and consistent drag headers. */
body #content .prestige-market>.prestige-intro{display:block!important; padding:18px!important; margin:10px 0 16px!important;border:1px solid #d5c596}
body #content .prestige-intro>*+*{margin-top:10px!important}
body #content .prestige-intro details>summary{font-size:13px;min-height:36px;display:flex;align-items:center;cursor:pointer}
body #content .prestige-intro details p{margin:8px 0!important}
body #content .prestige-intro h2{font-family:inherit!important;font-size:26px!important;line-height:1.18!important}
body #content .prestige-card .property-art{height:auto!important;aspect-ratio:16/10;min-height:0!important}
body #content .prestige-card .image-select{width:100%;height:100%;display:block;padding:0;border:0}
body #content .prestige-card img{width:100%;height:100%;object-fit:cover;display:block}
body #content .prestige-card .property-body{padding:16px;display:block}
body #content .prestige-card .property-body h3{font-size:20px;line-height:1.25;margin:0 0 8px}
body #content .prestige-card .property-body p{margin:8px 0;font-size:14px}
.prestige-income-note{display:block;font-size:12px;color:var(--muted);margin-top:4px}
body #content .prestige-card .card-manage{min-height:44px;display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:10px;margin-top:12px}
body #content .prestige-card .card-manage svg{width:20px;height:20px;flex:none}
body .portfolio-summary{display:flex!important;flex-wrap:wrap;gap:4px 12px;margin:8px 0!important;padding:8px 0;border-bottom:1px solid #dce4d9}
body .portfolio-summary>button{display:flex!important;flex-direction:row!important;align-items:center;gap:5px;border:0!important;background:transparent!important;padding:4px!important;border-radius:6px!important;min-height:36px!important;min-width:0!important;box-shadow:none!important}
body .portfolio-summary>button strong{font-size:16px!important;line-height:1.2;margin:0!important}
body .portfolio-summary>button span{font-size:12px!important;line-height:1.2;margin:0!important}
body .portfolio-summary>button[data-portfolio-filter="uncovered"],body .portfolio-summary>button[data-portfolio-filter="completed"]{color:#8a481e}
body #content .finance-sort-row{padding-left:0!important}
body #content .finance-sort-row .drag-title{display:flex!important;align-items:center!important;gap:6px!important;padding-left:0!important;min-height:44px!important;line-height:1.3!important;margin:0!important}
body #content .finance-sort-row .drag-title>.finance-handle{position:static!important;transform:none!important;flex:0 0 36px!important;width:36px!important;min-width:36px!important;height:44px!important;padding:10px!important;margin:0!important;align-self:center!important}
body #content .finance-sort-row .drag-title>.finance-handle svg{width:16px!important;height:20px!important;display:block}
body #content .finance-sort-row .compact-fold{padding:6px 12px!important;min-height:0!important}
body #content .finance-sort-row .compact-fold>summary{padding:0!important;min-height:44px!important;align-items:center!important;font-size:15px!important}
body #content .finance-sort-row .fold-plus{margin-left:auto!important;flex:0 0 24px!important;align-self:center!important;text-align:center;line-height:1!important}
body .agency-row-heading,body .insurance-row-head{align-items:center;gap:8px}
body .agency-row-heading .property-name{flex:1;min-width:0;text-decoration:none;font-size:16px;line-height:1.35;text-align:left;padding:8px 0}
body .property-eye{flex:0 0 44px;display:grid;place-items:center;min-height:44px}
body .agency-row-heading>.card-check{order:0;margin-left:0!important}
body .property-controls{display:flex!important;flex-direction:column!important;gap:6px;align-items:center}
body .property-controls .property-select,body .property-controls .favorite-btn{width:44px!important;height:44px!important;min-height:44px!important;position:static!important;margin:0!important}
body .property-controls input[type="checkbox"]{border-radius:7px!important}
body .compact-property .property-controls{flex-direction:row!important}
body .compact-property .compact-manage{width:52px;min-width:44px;min-height:44px;padding:8px;gap:3px}
body .compact-property .compact-manage svg{width:22px;height:22px}
body .compact-property .compact-manage span{font-size:12px}
body .notification-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
body .notification-actions>button{min-height:44px}
body .property-filters .quick-filters{padding:0 12px 10px}
body .property-search{margin:6px 0!important}
body .property-search>summary{min-height:40px;font-size:14px;display:flex;align-items:center;gap:8px;cursor:pointer}
body .property-search>summary:before{content:'⌕';font-size:24px}
body .property-filters>summary{min-height:44px!important;padding:10px 12px!important}
body .property-filters .filter-fields input,body .property-filters .filter-fields select{font-size:16px}
body .confirmation-window .primary{overflow-wrap:normal}
body .confirmation-window .ledger strong,body .request-button-amount{white-space:nowrap}
body #content{min-width:0}
body .hub-links{scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
body .hub-links>button{scroll-snap-align:start}
body .theme-dark .portfolio-summary{border-color:#476052}
@media(max-width:600px){
 body[data-view="patrimoine"] .page-title{display:none!important}
 body[data-view="marche"] .page-title,body[data-view="projets"] .page-title,body[data-view="finances"] .page-title{margin-bottom:8px!important}
 body[data-view="marche"] .page-title h1,body[data-view="projets"] .page-title h1,body[data-view="finances"] .page-title h1{font-size:23px!important;margin:0!important}
 body[data-view="marche"] .page-title p,body[data-view="projets"] .page-title p,body[data-view="finances"] .page-title p{display:none}
 body .hub-links{margin:0 0 8px!important;gap:6px!important;padding:0!important}
 body .hub-links .status-chip{font-size:12px!important;padding:8px 12px!important;min-height:40px!important}
 body .property-tabs{margin:4px 0 8px!important;gap:4px!important}
 body .property-tabs button{min-height:44px!important;padding:8px 6px!important;font-size:14px!important;gap:6px}
 body .property-tabs svg{width:20px!important;height:20px!important}
 body .list-toolbar{margin:6px 0!important;gap:6px!important}
 body .list-toolbar button{font-size:12px!important;min-height:40px!important}
 body .result-count{margin:8px 0!important;min-height:32px}
 body .property-filters{margin:4px 0!important}
 body .agency-row,body .insurance-row{padding:14px!important;margin-bottom:10px!important}
 body .agency-row .contract-summary>strong{font-size:17px}
 body .agency-row p{font-size:14px;line-height:1.5;margin:10px 0}
 body .agency-row .decision-budget{gap:12px;margin:10px 0}
 body .agency-row .note{font-size:12px}
 body #content .prestige-intro h2{font-size:23px!important}
 body #content .prestige-intro .eyebrow{font-size:10px!important;letter-spacing:1.2px}
 body .map-controls .map-segments{min-width:0!important;width:100%;flex-basis:100%}
 body .map-segments button{font-size:12px!important;padding:7px!important}
 body .map-stage{--map-height:420px}
 body #notification-bell,body #advisor-launcher,body .back-top{width:40px!important;height:40px!important;min-height:40px!important;border-radius:13px!important}
 body #notification-bell svg{width:23px;height:23px}
 body #advisor-launcher svg{width:36px;height:36px}
 body .request-confirm-actions>button{width:100%;white-space:normal}
 body .confirmation-window{width:calc(100% - 24px)!important;padding:16px!important}
 body .confirmation-window .dialog-inner{padding:8px!important}
}
@media(max-width:600px){
 body .shell>header{gap:8px!important;padding:8px 12px!important;min-height:60px!important}
 body .shell>header .header-right{gap:5px!important}
 body .shell>header .breadcrumb{gap:6px!important}
 body .shell>header .city-brand-mark{width:26px!important;height:26px!important;flex:none}
 body .shell>header .breadcrumb strong{font-size:15px!important}
 body .shell>header #notification-bell,body .shell>header #advisor-launcher{position:relative!important;inset:auto!important;bottom:auto!important;transform:none!important;box-shadow:none!important;width:40px!important;height:40px!important;flex:0 0 40px;margin:0!important;opacity:1!important;pointer-events:auto!important}
 body .shell>header #account{width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important}
 body .shell>header #save-status:empty{display:none}
 body .shell>header #save-status:not(:empty){position:absolute;top:100%;right:12px;font-size:10px;background:var(--surface,#f7f8f3);padding:2px 6px;border-radius:4px}
 body.detail-route .shell>header #advisor-launcher{display:none!important}
}

/* 3.2.22 — compact, aligned controls; keep comfortable touch targets. */
body .property-controls .property-select{background:transparent!important;box-shadow:none!important;border:0!important;padding:0!important;display:grid!important;place-items:center!important}
body .property-controls .property-select input{position:absolute!important;inset:0!important;width:44px!important;height:44px!important;opacity:0!important;margin:0!important;cursor:pointer}
body .property-controls .property-select .selection-check{display:block!important;width:16px!important;height:16px!important;min-width:16px!important;border:1.5px solid #668979!important;border-radius:50%!important;background:#ffffffdc!important;color:transparent!important;font-size:0!important;box-shadow:none!important;pointer-events:none}
body .property-controls .property-select input:checked+.selection-check{background:#205648!important;border-color:#205648!important}
body .card-check input[type=checkbox]{appearance:none!important;width:16px!important;height:16px!important;border:1.5px solid #668979!important;border-radius:50%!important;background:#fff!important;padding:0!important}
body .card-check input[type=checkbox]:checked{background:#205648!important;border-color:#205648!important}
body .card-check{min-width:44px;min-height:44px;display:grid;place-items:center}
body .shell>header .header-right{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:nowrap}
body .shell>header :is(#account,#notification-bell,#advisor-launcher){position:relative!important;inset:auto!important;transform:none!important;margin:0!important;width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;flex:0 0 40px;box-sizing:border-box;box-shadow:none!important;display:grid;place-items:center;padding:0!important}
body .shell>header #advisor-launcher small{display:none!important}
body .shell>header #advisor-launcher:not([hidden]){opacity:1!important;display:grid!important}
body>#notification-bell:is([data-side=left],[data-side=right]){position:fixed!important;top:50%!important;bottom:auto!important;transform:translateY(-50%)!important;margin:0!important;z-index:88}
body>#notification-bell[data-side=left]{left:max(10px,env(safe-area-inset-left))!important;right:auto!important}
body>#notification-bell[data-side=right]{right:max(10px,env(safe-area-inset-right))!important;left:auto!important}
body #notification-bell[hidden],body #advisor-launcher[hidden]{display:none!important}
body #notification-bell>span{top:-4px;right:-4px;min-width:18px;height:18px;font-size:10px;line-height:18px;padding:0 4px}
body #content .project-sections .finance-sort-row .drag-title,body #content .finance-sort-row .drag-title{position:relative!important;padding-left:28px!important;justify-content:flex-start!important;text-align:left!important;gap:8px!important}
body #content .finance-sort-row .drag-title>.finance-handle{position:absolute!important;left:-8px!important;top:50%!important;transform:translateY(-50%)!important;width:32px!important;min-width:32px!important;flex-basis:32px!important;padding:8px!important}
body #content .project-sections .empty{padding:14px!important}
body #content .project-sections .empty :is(h2,p){text-align:left!important;margin:0 0 12px!important}
body #content .project-sections .empty .drag-title{padding-left:28px!important;padding-top:0!important}
body #content .project-sections .empty .drag-title>.finance-handle{top:0!important;left:-8px!important;transform:none!important;height:28px!important}
body #content .project-sections .empty>p,body #content .project-sections .empty>button{margin-left:28px!important;max-width:calc(100% - 28px)}
body #content .finance-sort-row .compact-fold{padding:6px 14px!important}
body #content .finance-sort-row .compact-fold>summary{min-height:44px!important}
body .city-map-heading{padding:12px 14px!important;gap:8px!important}
body .city-map-heading h2{font-size:19px!important}
body .attention-fold{padding:8px 14px!important;margin:8px 0 12px!important}
body .attention-fold>summary{min-height:40px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;padding:0!important}
body .attention-fold>summary>strong{display:flex;align-items:center;gap:8px;font-size:18px}
body .attention-fold .count-pill{font-size:12px;min-width:24px;height:24px;padding:2px 7px;display:inline-grid;place-items:center}
body #content .prestige-card .card-manage{display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;line-height:1.2!important}
body #content .prestige-card .card-manage :is(svg,span){margin:0!important;align-self:center;flex-shrink:0}
body .company-formation{display:grid;gap:10px;margin:12px 0}
body .company-formation label{display:grid;gap:6px}
body .company-formation-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(90px,.65fr);gap:8px}
body .company-formation-row input{width:100%;min-width:0}
body .company-form [hidden]{display:none!important}
@media(max-width:600px){
 body #sticky-finances,body.scrolled-page #sticky-finances{padding-top:calc(8px + env(safe-area-inset-top,0px))!important;padding-bottom:8px!important;min-height:54px!important;gap:6px!important;font-size:12px!important;grid-template-columns:minmax(0,.85fr) minmax(0,1fr) minmax(0,1.2fr)!important}
 body #sticky-finances>strong{font-size:15px!important}
 body #sticky-finances .income-explainer{font-size:12px!important;padding:0!important;min-height:36px}
 body #sticky-finances small{font-size:10px!important;line-height:1.3!important}
 body .shell>header{padding:8px 12px!important;min-height:56px!important}
 body .shell>header .breadcrumb{min-width:0;flex:1}
 body .shell>header .breadcrumb strong{font-size:14px!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 body .shell>header .header-right{gap:4px!important}
 body #game-main{padding:14px 14px calc(var(--navigation-size,76px) + env(safe-area-inset-bottom,0px) + 30px)!important}
 body .page-title{margin:0 0 10px!important}
 body .page-title h1{font-size:23px!important;line-height:1.2!important;margin:0!important}
 body .page-title p,body .page-title .eyebrow{display:none!important}
 body .stats{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:0!important;margin:10px 0!important}
 body .stats>div{padding:10px 12px!important;min-height:0!important}
 body .stats>div>span{font-size:11px!important;line-height:1.3}
 body .stats>div>strong{font-size:20px!important;margin:5px 0!important;line-height:1.2}
 body .stats>div>small{font-size:11px!important;line-height:1.3}
 body .stats>div:nth-child(-n+2){display:none!important}
 body .hub-links{display:flex!important;flex-wrap:wrap!important;overflow:visible!important;gap:5px!important;margin:8px 0 12px!important;mask-image:none!important;-webkit-mask-image:none!important}
 body .hub-links .status-chip{flex:0 1 auto!important;white-space:nowrap!important;min-height:36px!important;padding:6px 10px!important;font-size:12px!important}
 body .project-sections .empty h2{font-size:21px!important}
 body .project-sections .empty p{font-size:14px!important;line-height:1.45!important}
 body .project-sections{gap:10px!important}
 body #content .prestige-intro{padding:14px!important;margin:10px 0!important;gap:8px!important}
}

/* 3.2.24 — a dedicated column prevents the handle covering heading text. */
body #content .finance-sort-row :is(.drag-title,summary.drag-title),body #content .project-sections .empty .drag-title{display:flex!important;align-items:center!important;position:relative!important;padding-left:0!important;gap:10px!important;text-align:left!important;min-width:0!important}
body #content .finance-sort-row .drag-title>.finance-handle,body #content .project-sections .empty .drag-title>.finance-handle{position:static!important;inset:auto!important;transform:none!important;margin:0!important;width:28px!important;min-width:28px!important;height:40px!important;min-height:40px!important;flex:0 0 28px!important;padding:5px!important;align-self:center!important}
body #content .finance-sort-row .drag-title>.drag-label{display:block;flex:1;min-width:0;overflow-wrap:anywhere;text-align:left}
body #content .finance-sort-row summary.drag-title:after{margin-left:auto!important;flex:0 0 auto!important}
body .appearance-panel{padding-bottom:112px!important}
body #detail .appearance-save{position:fixed!important;z-index:120;bottom:calc(var(--bottom-bar-height,76px) + 8px)!important;left:50%!important;transform:translateX(-50%);width:min(620px,calc(100vw - 28px));box-sizing:border-box;margin:0!important;padding:10px 12px!important;background:#f7faf3!important;color:#1f493c!important;border:1px solid #c6d6c5;box-shadow:0 8px 30px #173b352b;display:flex;align-items:center;gap:8px}
body .appearance-save>small{flex:1 0 100%;font-size:11px}
body .appearance-save>.primary{min-height:44px}
body .appearance-save>.text-btn{font-size:12px}
body #detail details:not([open]) .appearance-save{display:none!important}
body.theme-dark #detail .appearance-save{background:#254237!important;color:#f2f6ed!important}
.flash-card{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(0,1fr);border:1px solid #c1a569;border-radius:22px;overflow:hidden;margin:12px 0 22px;background:#faf5e8;color:#203e35;box-shadow:0 10px 28px #5a471512}
.flash-photo{position:relative;min-height:230px}.flash-photo img{width:100%;height:100%;position:absolute;object-fit:cover}.flash-label{position:absolute;left:12px;top:12px;padding:8px 10px;border-radius:8px;background:#203f35;color:#fff5cb;font-size:11px;font-weight:700;letter-spacing:.09em}.flash-discount{position:absolute;right:12px;bottom:12px;border-radius:50%;width:56px;height:56px;display:grid;place-items:center;background:#eacb85;color:#2b392e;font-weight:700}
.flash-body{padding:20px}.flash-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:12px}.flash-heading [data-flash-until]{padding:7px 10px;border-radius:8px;background:#294e40;color:#fff6d9;font-variant-numeric:tabular-nums;white-space:nowrap}.flash-body h2{font-size:23px;margin:12px 0 8px}.flash-body p{font-size:13px;margin:8px 0}.flash-price{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.flash-price del{color:#6c7467;font-size:14px}.flash-price strong{font-size:27px;color:#244936}.flash-saving{color:#715922}.flash-body .primary{margin:8px 0;min-height:44px}.flash-body>small{display:block;font-size:10px;line-height:1.5}.flash-expired [data-flash-until]{background:#665f52}.flash-detail-photo{width:100%;height:230px;object-fit:cover;border-radius:16px}.flash-review>.primary{width:100%;min-height:48px}.flash-review .flash-heading{font-size:24px;margin:16px 0}.flash-review .flash-heading b{font-size:16px}
body .map-mode{gap:3px;padding:4px;background:#fafbf4ed;border:1px solid #d8dfd2;border-radius:12px;box-shadow:0 3px 18px #20372c25}.map-mode button{min-height:36px;padding:8px 10px!important;font-size:12px!important}.map-mode button[aria-pressed=true]{background:#244c3f!important;color:#fff!important;border-radius:8px}.map-stage{background:#28586a}.map-compass{border-radius:50%;background:#f8faefed!important;color:#284739!important;padding:12px;box-shadow:0 2px 10px #1d332b30}.city-plan{image-rendering:auto}
@media(max-width:600px){.flash-card{grid-template-columns:1fr}.flash-photo{min-height:160px;max-height:180px}.flash-body{padding:14px 16px}.flash-body h2{font-size:20px}.flash-price strong{font-size:25px}.flash-body .primary{width:100%}.flash-detail-photo{height:180px}.map-mode button{padding:8px!important;font-size:11px!important}}

body .shell>header{isolation:isolate;z-index:21}
body .map-stage .city-plan text{stroke:#283e34;stroke-width:1.5px}

.flash-discount{white-space:nowrap;text-align:center;line-height:1;min-width:56px}
body #content .project-sections .empty>p,body #content .project-sections .empty>button{margin-left:38px!important;max-width:calc(100% - 38px)}
/* 3.2.26 — Entreprises */
body #notification-bell{display:grid;place-items:center;box-sizing:border-box;padding:0!important;line-height:1}
body #notification-bell>svg{display:block;position:static;margin:0!important;transform:none;flex:none;width:24px;height:24px;justify-self:center;align-self:center}
body .company-entry{display:flex;width:100%;padding:0;overflow:hidden;text-align:left;border:1px solid #c9d7ca;border-radius:22px;background:#153f35;color:#fff;min-height:190px;margin:0 0 22px;box-shadow:0 8px 24px #163f3512}
.company-entry-copy{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:26px;flex:1;min-width:0}.company-entry-copy small{letter-spacing:.16em;font-size:11px;color:#d4e5be}.company-entry-copy strong{font-size:clamp(22px,3vw,30px);line-height:1.18}.company-entry-copy>span{font-size:14px;line-height:1.5;color:#deeadf}.company-entry-copy b{font-size:14px;color:#e8f0ca}.company-entry>img{width:34%;object-fit:cover;object-position:center}
.company-welcome{background:linear-gradient(120deg,#183f34,#35634d);border-radius:20px;padding:28px;color:#fff;margin-bottom:20px}.company-welcome h3{color:inherit;font-size:28px;margin:12px 0}.company-welcome p{color:#e5eddf;line-height:1.5}.company-welcome>span:last-child{font-size:12px;color:#d5e0d0}.company-welcome .eyebrow{color:#d9e6b8}
.company-list,.company-market-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.company-summary{padding:22px;border:1px solid #d6dfd4;border-radius:18px;background:var(--card,#fff)}.company-summary h3{margin:10px 0}.company-summary button{width:100%;margin-top:12px}.company-empty{grid-column:1/-1;padding:20px;background:var(--card,#fff);border-radius:16px}.company-page .company-fold{margin-top:18px}.company-market{margin-top:26px}.company-market-heading h3{font-size:24px;line-height:1.25;margin:8px 0}.company-market-search{display:grid;gap:8px;margin:18px 0;font-weight:600}.company-market-search input{width:100%;min-width:0}.company-market-card{border:1px solid #d4ddd0;border-radius:18px;overflow:hidden;background:var(--card,#fff);display:flex;flex-direction:column;min-width:0}.company-market-photo{position:relative;aspect-ratio:16/10}.company-market-photo img{width:100%;height:100%;object-fit:cover;display:block}.company-market-photo>span{position:absolute;left:12px;bottom:12px;background:#fffffff0;color:#204337;padding:6px 10px;border-radius:8px;font-size:12px;font-weight:700}.company-market-body{padding:18px;display:flex;flex:1;flex-direction:column;gap:9px}.company-market-body h4{font-size:19px;line-height:1.3;margin:0}.company-market-body p{margin:0}.company-price{font-size:24px}.company-yield{color:#4f7860;font-weight:600;font-size:14px}.company-market-body small{font-size:12px;opacity:.8}.company-budget{font-size:12px;padding:8px 0}.company-market-body button{margin-top:auto;width:100%}.company-owned-photo{width:100%;height:180px;object-fit:cover;border-radius:12px}.company-market-card[hidden]{display:none!important}
@media(max-width:600px){.company-list,.company-market-grid{grid-template-columns:1fr}.company-entry-copy{padding:20px;gap:10px}.company-entry>img{width:29%}.company-entry-copy strong{font-size:22px}.company-entry-copy>span{font-size:12px}.company-welcome{padding:22px}.company-welcome h3{font-size:25px}}
.company-market-search input{box-sizing:border-box;border:1px solid #ccd9cd;border-radius:12px;padding:13px 15px;background:var(--card,#fff);color:inherit;font:inherit;font-weight:400;min-height:46px}

/* 3.2.28 — espaces sobres et en-tête contenu */
body .company-entry,body .company-welcome{background:#e6efdd;color:#204c3e;min-height:0;box-shadow:none;border:1px solid #d0ddc7;border-radius:16px;text-align:left}
body .company-entry-copy{padding:20px;gap:8px}body .company-entry-copy strong{font-size:24px}body .company-entry-copy :is(small,b),body .company-welcome :is(.eyebrow,p,span){color:#355d4b}body .company-welcome{padding:22px}body .company-welcome h3{font-size:24px;margin:10px 0}body .company-welcome p{font-size:16px;margin:10px 0}
body .last-decision summary{display:flex!important;align-items:center;gap:14px;text-align:left}body .last-decision .decision-title{display:grid;gap:8px;min-width:0}body .last-decision .decision-title strong{overflow-wrap:anywhere;line-height:1.35}body .last-decision .eyebrow{font-size:11px;letter-spacing:.12em}
body .shell>header{z-index:10!important;isolation:isolate}body .shell>header .header-right{position:relative;z-index:0}body .shell>header #notification-bell{z-index:0!important}
.profile-social{padding:20px;margin:24px 0;background:#e6efdd;color:#204c3e;border-radius:16px}.profile-social h3{margin:0 0 8px}.profile-social [data-social-links]{display:flex;gap:10px;flex-wrap:wrap}.profile-social [data-social-links][hidden],.profile-social[hidden]{display:none}.profile-social a{display:flex;align-items:center;gap:8px;color:#204c3e;background:#f8faf5;padding:10px 14px;border-radius:10px;text-decoration:none}.profile-social svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7}
.transfer-card{padding:18px;border:1px solid #d4ded0;border-radius:14px;margin:12px 0}.transfer-card h3{margin:0 0 8px}.transfer-card .actions{display:flex;gap:8px;flex-wrap:wrap}.transfer-note{white-space:pre-wrap;overflow-wrap:anywhere}.dm-thread-head{flex-wrap:wrap}.player-actions{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}
/* 3.2.29 conversation proposals */
.dm-plus{font-size:1.7rem;min-width:46px;min-height:46px;line-height:1}
.dm-bubble:has(.transfer-card){width:min(100%,420px);max-width:100%;padding:8px}
.dm-bubble .transfer-card{margin:0;overflow-wrap:anywhere;text-align:left}
.dm-bubble .transfer-card .actions{display:flex;flex-wrap:wrap;gap:8px}
.dm-bubble .transfer-card small{display:block;white-space:normal}
.notification-panel>button[data-dm-peer]{display:block;width:100%;text-align:left;margin:8px 0}

.dm-bubble .transfer-card{background:#f5f8f1;color:#193f33;border-color:#bdcdb8}.dm-bubble .transfer-card .eyebrow,.dm-bubble .transfer-card small{color:#345345;opacity:1}
/* 3.2.31 — flash offers and actionable notifications */
.flash-card{border:1px solid #d6b775;border-radius:26px;background:#fffaf0;box-shadow:0 12px 35px #163b3020;margin:20px 0 28px}.flash-photo{min-height:290px}.flash-photo:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#132f3055);pointer-events:none}.flash-label{background:#163f35;color:#fff4c7;border:1px solid #ffffff40;border-radius:99px;padding:10px 14px;z-index:1}.flash-discount{z-index:1;width:76px;height:76px;background:#f5d479;color:#173c32;font-size:23px;border:3px solid #fff5dc;box-shadow:0 4px 18px #142e3040}.flash-body{padding:26px}.flash-heading{font-size:10px;letter-spacing:.08em;font-weight:700;color:#59664f}.flash-heading [data-flash-until]{font-size:23px;letter-spacing:0;background:#183e34;color:#ffe4a0;padding:9px 14px;border-radius:12px}.flash-body h2{font-size:26px;line-height:1.15;color:#183e34;letter-spacing:-.025em}.flash-price{margin-top:18px}.flash-price strong{font-size:34px;letter-spacing:-.035em}.flash-saving{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin:12px 0 20px;padding:12px;border-radius:12px;background:#f1e6c8;color:#514018}.flash-saving strong{font-size:21px}.flash-saving span,.flash-saving small{font-size:12px}.flash-time-track{height:5px;background:#e4decc;border-radius:99px;overflow:hidden;margin:16px 0 10px}.flash-time-track i{display:block;height:100%;width:100%;background:#bc8737;transition:width .5s linear}.flash-body .primary{width:100%;background:#173f34!important;color:#fff7df!important;font-size:16px;font-weight:750;min-height:52px;border-radius:14px;box-shadow:0 5px 12px #143c3020}.flash-body .primary:hover{background:#28694f!important}.flash-body>small{color:#56634f;font-size:11px}.flash-expired .flash-time-track i{width:0!important}.flash-expired .primary{opacity:.6;box-shadow:none}
.notification-heading h2{margin:7px 0 20px;font-size:29px}.notification-panel .notification-item{display:grid;grid-template-columns:40px minmax(0,1fr);gap:14px;padding:18px;margin:12px 0;background:var(--card,#fff);color:var(--ink,#193e34);border:1px solid #cbd8c8;border-radius:18px;box-shadow:0 3px 12px #173c3007}.notification-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:13px;background:#e8efd9;color:#204f3e;font-size:22px;font-weight:700}.notification-incident .notification-icon,.notification-insurance .notification-icon{background:#fff0d3;color:#835519}.notification-category{font-size:10px;letter-spacing:.09em;text-transform:uppercase;font-weight:750;color:inherit;opacity:.8}.notification-panel .notification-item h3{font-size:17px;margin:5px 0 8px;line-height:1.3;color:inherit}.notification-panel .notification-item p{font-size:14px;line-height:1.5;margin:0 0 12px;color:inherit;opacity:.9}.notification-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.notification-panel .secondary{min-height:42px;padding:9px 13px;font-size:13px}.notification-panel .text-btn{font-size:12px}.notification-empty{text-align:center;padding:45px 15px;color:var(--ink,#193e34)}.notification-empty>span{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 18px;border-radius:50%;background:#e8efd9;color:#204f3e;font-size:30px}.notification-empty h3{font-size:22px;margin:0 0 8px}.notification-empty p{font-size:14px}
@media(max-width:600px){.flash-photo{min-height:200px;max-height:none}.flash-body{padding:18px}.flash-body h2{font-size:23px}.flash-price strong{font-size:32px}.flash-discount{width:66px;height:66px;font-size:20px}.notification-panel .notification-item{gap:10px;padding:14px;grid-template-columns:34px minmax(0,1fr)}.notification-icon{width:34px;height:34px;font-size:19px}.notification-heading h2{font-size:27px}}
@media(prefers-reduced-motion:reduce){.flash-time-track i{transition:none}}

/* 3.2.31 — rythme, contraste et alignements communs */
:root{--bb-surface:#fff;--bb-soft:#edf3e7;--bb-ink:#173e34;--bb-secondary:#53685e;--bb-line:#d8e2d6;--bb-accent:#235b47}
body.theme-dark{--bb-surface:#203c33;--bb-soft:#294a3c;--bb-ink:#f0f6ed;--bb-secondary:#c2d2c6;--bb-line:#4a6656;--bb-accent:#badb9d}
html{max-width:100%;overflow-x:clip}body{max-width:100%;overflow-x:clip;overscroll-behavior-x:none}body .shell,body #game-main,body #content,body #detail,body .dialog-inner{min-width:0;max-width:100%}img{max-width:100%}button,select,input,textarea{max-width:100%}p,h2,h3,h4,strong,small{overflow-wrap:break-word}body #content>*{min-width:0}body .section-head{gap:12px;flex-wrap:wrap}body .primary,body .secondary{border-radius:12px;min-height:44px;line-height:1.35}body .eyebrow{line-height:1.5}body .actions{gap:10px;flex-wrap:wrap}
body .shell>header{display:flex!important;justify-content:space-between!important;gap:12px!important}body .shell>header .header-right{margin-left:auto!important;flex-shrink:0}body #account{order:10!important;width:44px!important;height:44px!important;min-width:44px;border:1px solid var(--bb-line)!important;background:var(--bb-soft)!important;box-shadow:0 2px 8px #153d3010;padding:2px!important}body #account svg{width:100%;height:100%}body .header-right #notification-bell{order:5!important;position:relative!important;inset:auto!important;transform:none!important}body .header-right #advisor-launcher{order:2!important}
body #content .finance-sort-row .drag-title,body #content .project-sections .drag-title{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:10px!important;padding-left:0!important;text-align:left!important;min-width:0!important}body #content .finance-sort-row .drag-title>.finance-handle,body #content .project-sections .empty .drag-title>.finance-handle{position:static!important;inset:auto!important;transform:none!important;flex:0 0 28px!important;min-width:28px!important;width:28px!important;height:40px!important;min-height:40px!important;padding:5px!important;margin:0!important;align-self:center!important;color:var(--bb-secondary)!important}body #content .finance-sort-row .drag-title>.finance-handle svg{display:block!important;width:18px!important;height:24px!important;margin:auto!important}body #content .drag-label{display:block!important;flex:1!important;min-width:0!important;margin:0!important;padding:0!important;line-height:1.35!important;text-align:left!important}body #content .drag-title>.fold-plus{margin-left:auto!important;flex:0 0 auto}body #content .finance-sort-row{padding-left:0!important}
.utility-bar{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;margin:8px 0 18px}.utility-bar .text-btn{font-size:12px;text-decoration:none;color:var(--bb-secondary);padding:8px 0}.insight-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin:18px 0}.insight-grid>div,.confirm-totals>div{display:flex;flex-direction:column;gap:6px;padding:14px;background:var(--bb-soft);border-radius:12px;min-width:0}.insight-grid span,.insight-grid small{font-size:12px;color:var(--bb-secondary)}.insight-grid strong{font-size:19px;line-height:1.3;color:var(--bb-ink);font-variant-numeric:tabular-nums}.estimate-hero{display:flex;flex-direction:column;gap:8px;background:var(--bb-soft);color:var(--bb-ink);padding:24px;border-radius:18px;margin:20px 0}.estimate-hero>strong{font-size:34px;letter-spacing:-.04em}.estimate-hero small{font-size:12px;color:var(--bb-secondary)}.sale-editor>label{margin:20px 0 12px}.sale-editor input[type=range]{width:100%;accent-color:#2f7359;margin:16px 0}#sale-outlook{display:flex;flex-direction:column;gap:5px;padding:14px 0;color:var(--bb-ink)}#sale-outlook span,#sale-outlook small{font-size:13px;color:var(--bb-secondary)}
.shared-grid,.weather-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr));gap:20px}.shared-listing{border:1px solid var(--bb-line);background:var(--bb-surface);color:var(--bb-ink);border-radius:20px;overflow:hidden;margin:16px 0}.shared-listing>img{width:100%;height:190px;object-fit:cover;display:block}.shared-listing>div{padding:20px}.shared-listing h3{font-size:20px;line-height:1.3;margin:8px 0}.shared-listing p{font-size:14px;color:var(--bb-secondary)}.listing-price{font-size:26px;display:block;margin:12px 0}.listing-activity{display:grid;gap:6px;padding:14px 0;margin-top:12px;border-top:1px solid var(--bb-line);font-size:12px;color:var(--bb-secondary)}.buyer-offer{padding:18px;border:1px solid var(--bb-line);border-radius:14px;background:var(--bb-soft);margin:12px 0;color:var(--bb-ink)}.buyer-offer small{display:block;margin:8px 0;color:var(--bb-secondary)}.sale-result{padding:20px 0;border-bottom:1px solid var(--bb-line)}.sale-result .eyebrow{color:var(--bb-secondary)}.collection-filters{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin:16px 0}.collection-filters label{flex:1;min-width:180px}.collection-filters select{width:100%}.search-result{display:flex;flex-direction:column;align-items:start;gap:5px;width:100%;padding:16px;border:0;border-bottom:1px solid var(--bb-line);background:var(--bb-surface);color:var(--bb-ink);text-align:left}.search-result small{color:var(--bb-secondary)}
body .modern-auction{background:var(--bb-surface);border:1px solid var(--bb-line);border-left:4px solid #b6995a;border-radius:18px;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px;margin:20px 0;color:var(--bb-ink)}.modern-auction h3{margin:10px 0;font-size:22px}.modern-auction p,.modern-auction small{color:var(--bb-secondary);font-size:13px}.auction-facts{display:flex;gap:18px;flex-wrap:wrap;align-items:center;margin:14px 0}.auction-facts>strong{font-size:24px}.auction-facts>span{font-size:13px;background:var(--bb-soft);padding:8px 12px;border-radius:99px}.auction-result-photo{display:block;width:100%;max-height:380px;aspect-ratio:16/10;object-fit:cover;border-radius:16px;margin:16px 0}
.project-overview{display:flex;gap:10px;flex-wrap:wrap;margin:8px 0 20px}.project-overview span{background:var(--bb-soft);color:var(--bb-ink);font-size:13px;padding:10px 14px;border-radius:99px}body .modern-project{padding:0!important;overflow:hidden;border:1px solid var(--bb-line)!important;background:var(--bb-surface)!important;color:var(--bb-ink)!important;border-radius:20px!important;margin:18px 0!important}.project-body{padding:22px}.project-body h3{font-size:23px;margin:9px 0 18px;line-height:1.3}.construction-scene{width:100%;aspect-ratio:1;margin:0;position:relative;background-size:300% 200%;background-position:var(--scene-x) var(--scene-y);background-repeat:no-repeat;background-color:var(--bb-soft)}.modern-project>.construction-scene{max-width:480px;margin:auto}.construction-scene figcaption{position:absolute;left:14px;bottom:14px;background:#173e34eb;color:white;padding:7px 12px;border-radius:99px;font-size:12px;font-weight:600}.construction-history{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.construction-history .construction-scene{border-radius:12px;overflow:hidden}.construction-history figcaption{font-size:10px;padding:4px 6px;left:5px;bottom:5px}.modern-work{padding:16px!important;background:var(--bb-soft)!important;color:var(--bb-ink)!important;border:0!important;border-radius:14px!important}.work-stage{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}.modern-work .work-stage>span{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--bb-secondary)}.modern-work .work-stage>strong{font-size:22px!important;letter-spacing:-.025em;font-variant-numeric:tabular-nums}.modern-work small{display:block;font-size:12px!important;line-height:1.5;color:var(--bb-secondary)!important;margin-top:10px}.modern-work progress{display:block;width:100%;height:7px;margin:14px 0;border:0;border-radius:99px;overflow:hidden;accent-color:#368363}.modern-work progress::-webkit-progress-bar{background:#d4dfce;border-radius:99px}.modern-work progress::-webkit-progress-value{background:#368363;border-radius:99px}.work-pill{position:fixed;left:50%;transform:translateX(-50%);z-index:31;max-width:calc(100vw - 100px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border:1px solid #b8cdaa;border-radius:99px;background:#e3f0d8;color:#214c39;box-shadow:0 3px 12px #214c3912;padding:8px 14px;font-size:12px;font-weight:700;min-height:34px;font-variant-numeric:tabular-nums}.work-pill[hidden]{display:none}body.keyboard-open .work-pill{display:none}.profile-identity{display:flex;align-items:center;gap:16px}.profile-identity>svg{width:64px;height:64px;flex:0 0 64px}.profile-identity h2{margin:6px 0}.profile-overview progress{display:block;width:100%;height:8px;accent-color:#428460;margin:12px 0}.profile-overview p{font-size:13px;color:var(--bb-secondary)}
body #detail .appearance-panel{background:var(--bb-surface)!important;color:var(--bb-ink)!important;border:1px solid var(--bb-line)!important;padding:22px!important;border-radius:20px!important}body #detail .appearance-panel h4{margin:28px 0 12px;font-size:17px;color:var(--bb-ink)}body #detail .appearance-group{border:0;border-bottom:1px solid var(--bb-line);padding:0 0 18px;margin:18px 0;min-width:0}body #detail .appearance-group legend{font-size:13px;font-weight:650;margin-bottom:10px;color:var(--bb-ink)}body #detail .appearance-group>div{display:flex;flex-wrap:wrap;gap:8px}body #detail .appearance-group button{display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--bb-line)!important;border-radius:12px!important;background:var(--bb-surface)!important;color:var(--bb-ink)!important;padding:11px 14px!important;font-size:13px!important;min-height:44px!important;flex:0 1 auto}body #detail .appearance-group button[aria-pressed=true]{background:var(--bb-soft)!important;border-color:var(--bb-accent)!important;box-shadow:inset 0 0 0 1px var(--bb-accent)}body #detail .appearance-group button[aria-pressed=true]::after{content:'✓';font-weight:800}body #detail .appearance-preview{border-radius:16px;border:1px solid var(--bb-line);box-shadow:0 8px 25px #173e340a}.appearance-save{gap:12px}.navigation-order-row{border:1px solid var(--bb-line);padding:10px;border-radius:12px;margin:8px 0}.navigation-order-row>span{display:flex;align-items:center;gap:10px}.navigation-order-row svg{width:20px;height:20px}.layout-settings{border-top:1px solid var(--bb-line);padding-top:18px}.layout-settings button{margin:5px}
body .dm-layout{border:1px solid var(--bb-line);border-radius:18px;overflow:hidden;background:var(--bb-surface);color:var(--bb-ink)}body .dm-conversation{display:flex;align-items:center;gap:10px;width:100%;min-width:0;padding:14px 12px;background:var(--bb-surface)!important;color:var(--bb-ink)!important;border:0!important;border-bottom:1px solid var(--bb-line)!important;border-radius:0!important;text-align:left}body .dm-conversation.active{background:var(--bb-soft)!important;box-shadow:inset 3px 0 #3a7f61}body .dm-conversation>svg{flex:0 0 38px;width:38px;height:38px}body .dm-conversation>span{flex:1;min-width:0}body .dm-conversation strong{font-size:14px;display:block}body .dm-conversation small{font-size:12px;display:block;color:var(--bb-secondary)!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:210px}body .dm-conversation time{font-size:10px;color:var(--bb-secondary)}body .count-pill{display:inline-flex;align-items:center;justify-content:center;min-width:24px;min-height:24px;padding:3px 7px;border-radius:99px;background:#235b47!important;color:#fff!important;font-size:12px;font-weight:750}body .dm-thread{min-width:0;padding:16px;background:var(--bb-surface)}body .dm-thread-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:4px 0 12px;border-bottom:1px solid var(--bb-line)}body .dm-thread-head>strong{flex:1;min-width:110px}body .dm-thread-head .text-btn{font-size:11px;color:var(--bb-secondary)}body #dm-log{display:flex;flex-direction:column;gap:12px;max-height:55dvh;min-height:200px;overflow-y:auto;overscroll-behavior:contain;padding:18px 4px;scroll-behavior:auto}body .dm-bubble{align-self:flex-start;max-width:86%;width:fit-content;padding:12px 15px;border-radius:16px 16px 16px 4px;background:#edf2e9!important;color:#193e34!important;border:1px solid #dae3d4!important;box-shadow:none!important;margin:0!important;overflow-wrap:anywhere}body .dm-bubble.mine{align-self:flex-end;background:#245e48!important;color:#fff!important;border-color:#245e48!important;border-radius:16px 16px 4px 16px}body .dm-bubble p{color:inherit!important;font-size:14px;line-height:1.6;margin:0;white-space:pre-wrap}body .dm-bubble>small{display:block;color:#536759!important;opacity:1!important;font-size:10px;margin-top:7px;text-align:right}body .dm-bubble.mine>small{color:#deeee2!important}.theme-dark .dm-bubble:not(.mine){background:#324f41!important;color:#f3f7ef!important;border-color:#53705c!important}.theme-dark .dm-bubble:not(.mine)>small{color:#d3e0d4!important}body .dm-bubble:has(.transfer-card){max-width:100%;background:var(--bb-soft)!important;color:var(--bb-ink)!important;border:1px solid var(--bb-line)!important}.dm-bubble .transfer-card{background:var(--bb-surface)!important;color:var(--bb-ink)!important;border:0!important}.dm-bubble .transfer-card p,.dm-bubble .transfer-card small,.dm-bubble .transfer-card .eyebrow{color:var(--bb-ink)!important}.dm-bubble .transfer-card button{font-size:12px!important}.dm-composer{position:sticky;bottom:0;background:var(--bb-surface);padding:12px 0 0;border-top:1px solid var(--bb-line)}.dm-composer>label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}body .dm-composer textarea{border-radius:14px;border:1px solid var(--bb-line);background:var(--bb-soft);color:var(--bb-ink);font-size:16px;resize:vertical;max-height:160px;width:100%;padding:12px}.dm-composer .actions{justify-content:space-between;margin:8px 0}.dm-composer .dm-plus{width:44px;font-size:24px!important;padding:4px!important}#dm-status{font-size:10px;color:var(--bb-secondary)}.message-nudge{display:block;margin:0 auto 10px!important;font-size:12px!important}.chat-messages{max-height:55dvh;overflow:auto;overscroll-behavior:contain}.chat-message{padding:14px;border-bottom:1px solid var(--bb-line);gap:12px;color:var(--bb-ink)!important;background:var(--bb-surface)!important}.chat-message p{font-size:14px;line-height:1.6;color:var(--bb-ink)!important}.chat-message small{color:var(--bb-secondary)!important;font-size:11px}.chat-message>svg{width:34px;height:34px;flex:0 0 34px}.chat-message .text-btn{font-size:11px!important}.discussion-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.discussion-tabs .status-chip{color:var(--bb-ink)!important;background:var(--bb-soft)!important;border:1px solid var(--bb-line)!important}.discussion-tabs .active{color:white!important;background:#245e48!important}.dm-retention{font-size:11px!important}.notification-panel .notification-item{background:var(--bb-surface)!important;color:var(--bb-ink)!important;border-color:var(--bb-line)!important}.notification-panel .notification-item p{color:var(--bb-secondary)!important;opacity:1}.notification-panel .notification-heading h2{font-size:26px}.notification-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.notification-heading .text-btn{font-size:12px}.notification-empty{color:var(--bb-ink)}
@media(max-width:600px){body .modern-auction{padding:18px;display:block}.modern-auction>.primary{margin-top:18px;width:100%}.insight-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.insight-grid>div{padding:11px}.insight-grid strong{font-size:17px}.construction-history{grid-template-columns:repeat(2,minmax(0,1fr))}.project-body{padding:18px}body .dm-thread{padding:12px}body .dm-bubble{max-width:92%}body .dm-layout.has-peer #dm-conversations{display:none}body #detail .appearance-panel{padding:16px!important}body .shell>header .breadcrumb strong{font-size:20px!important}.work-pill{font-size:11px;padding:7px 12px}body #content .drag-label{font-size:inherit!important}body .shared-listing>img{height:170px}.utility-bar{margin:4px 0 12px}.profile-identity h2{font-size:23px}.profile-identity>svg{width:52px;height:52px;flex-basis:52px}}
@media(prefers-reduced-motion:no-preference){.sale-result,.notification-empty{animation:bb-reveal .25s ease-out}@keyframes bb-reveal{from{opacity:.6;transform:translateY(4px)}to{opacity:1;transform:none}}}body.reduced-motion *{animation:none!important;transition:none!important}
body #swipe-preview{position:fixed!important;top:48%!important;bottom:auto!important;width:auto!important;max-width:180px!important;min-height:0!important;height:auto!important;padding:10px 16px!important;border-radius:99px!important;background:var(--bb-accent)!important;color:var(--bb-surface)!important;box-shadow:0 4px 16px #173e3420;z-index:40;pointer-events:none;font-size:13px;font-weight:700;overflow:hidden!important}.compare-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}.compare-scroll table{width:100%;border-collapse:collapse;font-size:13px}.compare-scroll td,.compare-scroll th{padding:14px 12px;border-bottom:1px solid var(--bb-line);text-align:left;min-width:110px}.compare-scroll th{color:var(--bb-ink);background:var(--bb-soft)}.compare-scroll td{color:var(--bb-ink)}.return-summary .summary-item{display:block;width:100%;text-align:left;margin:10px 0}.work-timer+.secondary{margin-top:14px}body .property-actions>.construction-scene{max-width:440px;border-radius:16px;overflow:hidden}.theme-dark .notification-icon{background:#46603e;color:#edf7dc}

/* Reserve a separate row for the compact work timer. */
body.has-work-pill:has(#sticky-finances:not([hidden])) .shell>header{margin-top:calc(var(--finance-height,76px) + 44px)!important}body.has-work-pill.detail-route #detail:not(.confirmation-window){padding-top:44px!important}body.has-work-pill.back-top-upper #detail:not(.confirmation-window) .dialog-inner>.page-return{top:calc(var(--finance-height,76px) + 54px)!important}

@media(prefers-reduced-motion:no-preference){body:not(.reduced-motion) .sale-result,body:not(.reduced-motion) .return-summary{animation:bb-result-in .22s ease-out both}}@keyframes bb-result-in{from{opacity:.7;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
