: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:block}
 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)}}

.interior-gallery{align-items:center}.interior-gallery button{display:inline-flex;align-items:center;gap:8px;min-height:48px}.interior-gallery img{width:70px;height:46px;object-fit:cover;border-radius:6px}
.purchase-financing{display:grid;gap:8px;margin:12px 0 0;padding:14px;border:1px solid #dce5da;border-radius:16px;background:rgba(242,247,239,.75)}.purchase-financing p{margin:0;color:var(--ink,#24443b);line-height:1.4}.purchase-financing button{width:100%;white-space:normal}.bank-purchase-return{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 18px;padding:12px 14px;border:1px solid #dce5da;border-radius:14px}.bank-purchase-return span{min-width:0;overflow-wrap:anywhere}.bank-purchase-return button{flex-shrink:0}@media(max-width:600px){.bank-purchase-return{align-items:stretch;flex-direction:column}.bank-purchase-return button{width:100%}}

/* On the contact page the return control remains in the document flow, clear of form actions. */
body.contact-page .contact-layout .page-return,body.contact-page.back-left .contact-layout .page-return,body.contact-page.back-top-upper .contact-layout .page-return{position:static!important;inset:auto!important;margin:0 0 18px!important;z-index:auto!important}
body.contact-page .contact-layout form{min-width:0}body.contact-page .contact-fields>*{min-width:0}

/* Stable controls, clear hierarchy and comfortable touch targets. */
button,a.primary,a.secondary{touch-action:manipulation;-webkit-tap-highlight-color:transparent;}
button:not(.map-pin):active{transform:none!important}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #67a895;outline-offset:3px}
.action-pending{position:relative;opacity:.65;cursor:progress;box-shadow:inset 0 -3px #9bc9af!important}
.action-pending:after{content:'';position:absolute;inset:auto 15% 2px;height:2px;background:currentColor;animation:pending-pulse 1s ease-in-out infinite}
@keyframes pending-pulse{50%{opacity:.2}}
.text-btn{text-decoration:none!important;border-radius:10px;padding:8px 10px;min-height:40px;text-align:left;font-weight:600}
.text-btn:hover{background:var(--surface-soft,#eaf1e7)}
.view-switch{width:180px;max-width:100%;flex:none!important;display:grid!important;grid-template-columns:1fr 1fr;align-items:stretch;gap:3px}
.list-toolbar .view-switch button{font-size:14px;font-weight:650;height:42px;min-height:42px;padding:8px 10px;min-width:0;transition:background-color .15s,color .15s}
.quick-sort{display:flex!important;align-items:center;gap:8px;font-size:12px!important;flex:1 1 180px!important;margin:0!important}
.quick-sort select{width:auto;min-width:140px;flex:1;margin:0!important;font-size:14px;min-height:44px}
.shell>header{gap:12px}.breadcrumb{flex:1!important;min-width:0!important;max-width:none!important;gap:8px!important}.breadcrumb strong{overflow:visible!important;text-overflow:clip!important;white-space:normal!important;overflow-wrap:normal;font-size:clamp(17px,5vw,25px)!important;line-height:1.15}.city-brand-mark{flex:0 0 28px;width:28px!important}.header-right{flex:0 0 auto!important;margin-left:auto}.header-right .save:empty{display:none}#account{flex:none}
.compact-fold>summary{display:flex!important;align-items:center!important;gap:12px;min-height:64px;padding:16px 18px!important;line-height:1.3}
.compact-fold>summary .fold-plus{margin-left:auto;flex:none;width:20px;height:20px}
.finance-handle{flex:0 0 24px!important;align-self:center!important;margin:0!important}
.finance-heading-label{flex:1;min-width:0;text-align:left}
.fold-content{padding:0 18px 20px!important}
.finance-highlight{background:var(--surface-soft,#edf3e8);border-radius:16px;padding:18px;display:grid;gap:7px;margin:8px 0 16px}
.finance-highlight>span{font-size:12px;color:var(--muted,#61756b)}.finance-highlight>strong{font-size:25px;line-height:1.3}.finance-highlight small{font-size:12px;font-weight:500}
.finance-lines{display:grid}.finance-link{display:grid;grid-template-columns:minmax(0,1fr) auto 12px;gap:12px;align-items:center;text-align:left;border:0;border-bottom:1px solid var(--line,#e4e9e1);border-radius:0;background:transparent;color:inherit;padding:16px 0;min-height:64px;font-size:14px}
.finance-link>span:first-child{font-weight:600}.finance-link strong{text-align:right;font-size:14px;white-space:nowrap}.finance-link small{display:block;font-size:11px;font-weight:400;line-height:1.5;color:var(--muted,#607368);margin-top:4px}.finance-link:hover{background:var(--surface-soft,#edf3e8)}
.ranking-list{display:grid;gap:10px}.ranking-row{display:grid!important;grid-template-columns:24px 44px minmax(0,1fr) auto!important;align-items:center;gap:12px;padding:18px!important;text-align:left;border-radius:18px!important;background:var(--surface,#fff);font-size:14px!important;min-width:0}.ranking-row svg{width:44px!important;height:44px!important}.ranking-row>span{min-width:0}.ranking-row>span strong{display:block;overflow-wrap:anywhere}.ranking-row small{display:block;font-size:11px!important;margin-top:4px}.ranking-row .ranking-wealth{font-size:14px!important;white-space:nowrap}.ranking-row.is-me{border:2px solid #38725e;background:var(--surface-soft,#eff5ea)}.ranking-position{font-variant-numeric:tabular-nums}.ranking-row.top-three .ranking-position{color:#97703b}
.dm-thread{border:1px solid var(--line,#dce5de);border-radius:22px;overflow:hidden;background:var(--surface,#fff)}
.dm-thread-head{display:flex!important;align-items:center;flex-wrap:nowrap!important;gap:10px!important;padding:12px!important;margin:0!important;border:0!important;background:var(--surface,#fff)}.dm-thread-head>svg{width:36px;height:36px;flex:none}.dm-thread-head>strong{flex:1;overflow-wrap:anywhere}.dm-thread-head .dm-mobile-back{font-size:0!important;padding:8px;min-width:40px}.dm-thread-head .dm-mobile-back:before{content:'‹';font-size:28px}
.dm-menu{position:relative;border:0!important;padding:0!important;margin:0!important}.dm-menu>summary{list-style:none;font-size:25px;cursor:pointer;padding:4px 10px}.dm-menu>summary::-webkit-details-marker{display:none}.dm-menu>div{position:absolute;right:0;top:100%;width:200px;padding:8px;background:var(--surface,#fff);border:1px solid var(--line,#dce5de);border-radius:14px;box-shadow:0 8px 24px #102c3322;z-index:4;display:grid}
#dm-log{display:flex;flex-direction:column;gap:5px;padding:16px!important;background:var(--surface-soft,#eef3eb);height:clamp(230px,44dvh,500px)!important;min-height:230px!important;max-height:500px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.dm-bubble{align-self:flex-start;max-width:85%!important;min-width:80px;border:1px solid var(--line,#dbe3da)!important;border-radius:17px 17px 17px 5px!important;padding:10px 13px!important;margin:0 0 5px!important;background:var(--surface,#fff)!important;color:var(--ink,#193f34)!important;box-shadow:0 1px 2px #12382a0a;overflow-wrap:anywhere}
.dm-bubble.mine{align-self:flex-end;background:#205a47!important;color:#fff!important;border-color:#205a47!important;border-radius:17px 17px 5px 17px!important}.dm-bubble p{color:inherit!important;font-size:14px!important;line-height:1.5!important;margin:0!important;white-space:pre-wrap}.dm-bubble time{display:block;text-align:right;font-size:10px;margin-top:4px;opacity:.8}.message-day{align-self:center;margin:10px 0;font-size:10px;color:var(--muted,#536d60);background:var(--surface,#fff);border-radius:20px;padding:5px 12px}.conversation-empty{align-self:center;margin:auto!important;font-size:13px!important}
.dm-composer{display:grid!important;grid-template-columns:40px minmax(0,1fr) auto!important;gap:8px!important;padding:12px!important;margin:0!important;align-items:end;border:0!important;background:var(--surface,#fff)}.dm-composer .actions{display:contents!important}.dm-composer textarea{grid-column:2;grid-row:1;resize:none;min-height:44px!important;height:44px;max-height:120px;margin:0!important;border-radius:18px;padding:11px 12px!important;font-size:16px!important;line-height:20px}.dm-composer .dm-plus{grid-column:1;grid-row:1;border:0;width:40px;min-height:44px;padding:0;font-size:24px;background:var(--surface-soft,#edf3e8)}.dm-composer [data-dm-send]{grid-column:3;grid-row:1;min-height:44px;padding:10px 12px!important;border-radius:16px;font-size:12px}.dm-composer [data-dm-retry],#dm-status{grid-column:1/-1}#dm-status:empty{display:none}.dm-search{margin-bottom:16px}.dm-conversation{border-radius:16px;padding:12px!important}.dm-conversation small{color:var(--muted,#597063)!important}.dm-conversation .count-pill{background:#235e49!important;color:#fff!important}
.bid-input{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:8px;margin:8px 0}.bid-input input{margin:0!important;text-align:center;font-size:22px;min-width:0;font-variant-numeric:tabular-nums}.bid-input button{padding:0;font-size:22px}.auction-price-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}
[data-reorder-tabs]{user-select:none;-webkit-user-select:none;touch-action:pan-y}.tab-dragging{box-shadow:0 0 0 2px #69a488!important;opacity:.7;cursor:grabbing}
.prestige-tiers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}.prestige-tier{padding:18px;border-radius:18px;border:1px solid #d8cfbc;background:var(--surface,#fff)}.prestige-tier h3{margin:8px 0;font-size:18px}.prestige-tier small{display:block;margin:7px 0;color:var(--muted,#6a7167)}.prestige-tier.locked{background:var(--surface-soft,#f2f0e8)}.prestige-tier progress{width:100%;height:5px}
@media(max-width:600px){.ranking-row{grid-template-columns:20px 36px minmax(0,1fr)!important;gap:10px;padding:14px!important}.ranking-row svg{width:36px!important;height:36px!important}.ranking-row .ranking-wealth{grid-column:3;font-size:17px!important}.dm-layout.has-peer{display:block}.dm-layout.has-peer aside{display:none}.dm-thread{margin:0!important}.dialog-inner:has(.dm-layout.has-peer){padding:12px!important}.dialog-inner:has(.dm-layout.has-peer)>.dm-search,.dialog-inner:has(.dm-layout.has-peer)>.dm-retention,.dialog-inner:has(.dm-layout.has-peer)>.actions{display:none}.prestige-tiers{grid-template-columns:1fr}.prestige-tier{padding:16px}.finance-link{gap:8px;font-size:13px}.finance-link strong{font-size:13px}.confirmation-window .primary{width:100%}.confirmation-window .ledger{gap:16px}.quick-sort{flex-basis:100%!important}}
@media(prefers-reduced-motion:reduce){.action-pending:after{animation:none}}
.admin-tabs{display:flex;gap:8px;overflow-x:auto;padding:8px 0 18px}.admin-tabs button{white-space:nowrap;flex:none}.admin-content form{display:grid;gap:14px;padding:20px;background:var(--surface-soft,#edf3e8);border-radius:18px;margin:12px 0 24px}.admin-content label{display:grid;gap:7px;font-weight:600}.admin-content .admin-check{display:flex;align-items:center}.admin-check input{width:20px}.admin-row{padding:16px 0;border-bottom:1px solid var(--line,#dce5de);display:flex;flex-wrap:wrap;align-items:center;gap:10px}.admin-row>div{flex:1 1 220px;overflow-wrap:anywhere}.admin-row p{margin:5px 0!important;font-size:12px!important}.admin-preview{white-space:pre-wrap}.admin-metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.admin-metrics article{display:grid;gap:12px;background:var(--surface-soft,#edf3e8);padding:20px;border-radius:16px}.admin-metrics strong{font-size:28px}.official-notice{border-left:3px solid #39765d;padding:16px!important}.official-notice p{white-space:pre-wrap}
.company-entry-copy>span{color:var(--ink,#244e3f)!important;opacity:.8}
body{--surface:var(--bb-surface,#fff);--surface-soft:var(--bb-soft,#edf3e8);--ink:var(--bb-ink,#193f34);--muted:var(--bb-secondary,#607368);--line:var(--bb-line,#dce5de)}
body #detail .appearance-group button::after{content:'✓';visibility:hidden;font-weight:800}
body #detail .appearance-group button[aria-pressed=true]::after{visibility:visible}
.status-chip,.status-chip.active,.filters button,.filters button.active{font-weight:600}
body #detail dialog.confirmation-window{height:fit-content!important;min-height:0!important;inset:0!important;margin:auto!important;max-height:calc(100dvh - 40px)!important}
body.detail-route #detail dialog.confirmation-window>.dialog-inner{height:auto!important;min-height:0!important;padding:26px 22px 22px!important}

/* BatiBlocs 3.2.33 — shared controls, comfortable mobile layouts. */
:root{--bb-accent:#164e40;--bb-soft:#e9f0e4;--bb-line:#dce4dc;--bb-muted:#5d7168;--bb-card:#fff;--bb-gold:#a48744}
body[data-theme="dark"]{--bb-accent:#bce5ce;--bb-soft:#233d34;--bb-line:#3b554b;--bb-muted:#b8c8be;--bb-card:#182d26}
button,a,input,textarea{touch-action:manipulation}
button:active{scale:1;transform:none}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #72af97;outline-offset:3px}
.text-btn,.see-all,.finance-link,.ledger a,.dm-thread-head button{text-decoration:none}
.text-btn{font-weight:600;border-radius:10px;padding:8px 10px}
.text-btn:hover{background:var(--bb-soft)}
.native-choice{display:none!important}
.choice-control{display:flex;flex-wrap:wrap;align-items:stretch;gap:8px;min-width:0;margin-top:8px}
.choice-control>button{font:inherit;font-size:14px;font-weight:600;min-height:42px;max-width:100%;padding:10px 14px;border:1px solid var(--bb-line);border-radius:13px;color:var(--bb-accent);background:var(--bb-card);text-align:left;box-sizing:border-box;white-space:normal;line-height:1.35;transition:background .15s,color .15s}
.choice-control>button[aria-pressed="true"]{background:var(--bb-accent);color:var(--bb-card);border-color:var(--bb-accent)}
.choice-control>button:disabled{opacity:.48;cursor:not-allowed}
.choice-control .choice-launch{display:flex;justify-content:space-between;align-items:center;gap:16px;width:100%;min-height:48px}
.choice-launch>span:first-child{min-width:0;overflow-wrap:anywhere}
.choice-change{font-size:12px;white-space:nowrap;color:var(--bb-muted)}
.choice-sheet{padding:24px;border:1px solid var(--bb-line);border-radius:26px;background:var(--bb-card);color:var(--bb-accent);width:min(540px,calc(100vw - 24px));max-height:80dvh;box-sizing:border-box;box-shadow:0 22px 80px #082b3533}
.choice-sheet::backdrop{background:#0e2a2566;backdrop-filter:blur(5px)}
.choice-sheet-head{display:flex;gap:16px;align-items:center;justify-content:space-between}
.choice-sheet-head h2{font-size:22px;line-height:1.25;margin:0}
.choice-sheet-head button{border:0;border-radius:50%;width:40px;height:40px;background:var(--bb-soft);color:var(--bb-accent);font-size:24px;flex-shrink:0}
.choice-search-label{display:block;font-size:13px;color:var(--bb-muted);margin:20px 0 12px}
.choice-sheet input{width:100%;box-sizing:border-box;min-height:48px;margin-top:6px;font-size:16px;border:1px solid var(--bb-line);border-radius:12px;padding:12px;background:var(--bb-card);color:var(--bb-accent)}
.choice-results{max-height:48dvh;overflow-y:auto;overscroll-behavior:contain;display:grid;gap:6px}
.choice-results button{border:1px solid transparent;border-radius:12px;padding:14px;background:transparent;color:var(--bb-accent);text-align:left;display:flex;justify-content:space-between;align-items:center;gap:12px;font:inherit;min-height:48px}
.choice-results button[aria-pressed="true"]{background:var(--bb-soft);font-weight:700;border-color:var(--bb-line)}
.choice-results button:hover{background:var(--bb-soft)}
#global-search{display:block;width:100%;min-width:0;height:54px;border-radius:16px;padding:14px 16px;font-size:16px;box-sizing:border-box;background:var(--bb-card);border:1px solid var(--bb-line);color:var(--bb-accent);margin-top:10px;-webkit-appearance:none;appearance:none}
#global-search:focus{outline:2px solid #72af97;outline-offset:2px}
#dialog-content:has(#global-search)>label{display:block;width:100%}
#dialog-content:has(#global-search) h2{font-size:clamp(23px,5vw,32px)}
#dialog-content:has(#global-search) .actions{align-items:end;display:flex;gap:12px;flex-wrap:wrap}
#dialog-content:has(#global-search) .actions label{flex:1 1 220px;min-width:0}
#dialog-content:has(#global-search) input{font-size:16px;max-width:100%;box-sizing:border-box}
.collection-filters,.collection-toolbar{gap:14px;align-items:start}
.quick-sort{display:block;max-width:100%;margin:16px 0}
.quick-sort .choice-control{display:flex}
.finance-sort-row>.finance-handle{width:28px;min-width:28px;height:32px;top:22px;left:14px;padding:4px;opacity:.55}
.finance-handle svg{width:20px;height:20px}
.compact-fold>summary{min-height:66px;box-sizing:border-box;display:flex;align-items:center;gap:12px;padding:20px 24px;font-size:17px;line-height:1.35;font-weight:650}
.finance-sort-row>.compact-fold>summary,.finance-sort-row>.city-ambitions>.compact-fold>summary{padding-left:56px}
.compact-fold.panel{border-radius:20px;margin:0 0 14px;border:1px solid var(--bb-line);box-shadow:none}
.compact-fold .fold-plus{margin-left:auto;flex:0 0 18px;width:18px;height:18px;font-size:0}
.compact-fold .fold-plus::before{content:'';display:block;width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);position:static;margin:1px}
.compact-fold .fold-plus::after{display:none}
.compact-fold[open] .fold-plus::before{transform:rotate(225deg);margin-top:7px}
.fold-content{padding:0 22px 22px}
.city-ambition{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 14px;padding:16px 0}
.city-ambition progress{grid-column:1/-1;width:100%}
.city-ambition small{display:block;color:var(--bb-muted);margin-top:5px;line-height:1.5}
.ledger.renovation-line{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 0;min-height:72px}
.renovation-line>span{flex:1;min-width:0;text-align:left;font-size:16px;line-height:1.45}
.renovation-line .secondary{flex:0 0 auto;min-width:0;max-width:none;padding:10px 14px;white-space:nowrap;font-size:14px;border-radius:12px;background:var(--bb-soft);border-color:transparent}
.finance-link{gap:14px;text-align:left;border-radius:12px;padding:16px 12px;min-width:0}
.finance-link>span:first-child{min-width:0;line-height:1.35}
.finance-link strong{font-variant-numeric:tabular-nums;white-space:nowrap}
.finance-link small{font-size:12px;line-height:1.5;color:var(--bb-muted)}
.finance-link:hover{background:var(--bb-soft)}
#dialog-content>.primary+#dialog-content>.secondary{margin-top:12px}
#dialog-content>button.primary+button.secondary,#dialog-content>button.primary+button.text-btn{margin-top:12px;margin-left:0}
.confirmation-actions{display:grid;gap:12px;margin-top:24px}
.confirmation-actions>button{width:100%;min-height:48px;margin:0;line-height:1.4}
.confirm-totals .ledger{gap:18px;align-items:start}
.confirm-totals strong{white-space:nowrap;font-variant-numeric:tabular-nums}
.bank-heading h2{font-size:clamp(26px,5vw,38px);line-height:1.12;margin:12px 0}
.bank-heading p{color:var(--bb-muted);line-height:1.6;max-width:560px}
.bank-space{min-width:0}
.bank-metrics{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:22px 0}
.bank-metrics>div{background:var(--bb-soft);border-radius:16px;padding:18px}
.bank-metrics small,.bank-metrics strong{display:block}.bank-metrics strong{margin-top:8px;font-size:22px}
.bank-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:16px;margin:24px 0}
.bank-card{border:1px solid var(--bb-line);border-radius:20px;padding:24px;display:flex;flex-direction:column;align-items:start;gap:10px;background:var(--bb-card)}
.bank-card h3{font-size:23px;line-height:1.2;margin:4px 0}.bank-card p{font-size:14px;line-height:1.6;margin:0;color:var(--bb-muted)}
.bank-card .secondary{margin-top:auto;width:100%;font-size:14px;padding:12px}
.bank-card.bank-elysee{border-color:#bcab77;background:linear-gradient(145deg,var(--bb-card),var(--bb-soft))}
.bank-rate{font-size:28px;margin:12px 0}.bank-rate small{display:block;font-size:12px;font-weight:500;line-height:1.5;color:var(--bb-muted)}
.bank-application,.bank-contract,.bank-quote{padding:22px;border:1px solid var(--bb-line);border-radius:18px;margin:16px 0;background:var(--bb-card)}
.bank-quote.eligible{border-color:#84a895}.bank-quote .section-head{display:flex;align-items:center;gap:10px}.bank-quote .section-head strong{white-space:nowrap}.bank-quote .ledger{font-size:14px;gap:16px}.bank-quote p{font-size:14px}
.bank-simulation>label{display:block;margin:20px 0}.bank-simulation input{width:100%;box-sizing:border-box;font-size:18px}
.bank-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.bank-form-row label{min-width:0}
.bank-rules{border-top:1px solid var(--bb-line);padding:18px 0;line-height:1.65}.bank-rules summary{font-weight:650;cursor:pointer}.bank-rules p{font-size:14px;color:var(--bb-muted)}
.legacy-finance{margin-top:28px;border-top:1px solid var(--bb-line);padding-top:24px}
.rebuild-options{display:grid;gap:10px}.rebuild-options>div{padding:16px;background:var(--bb-soft);border-radius:14px;display:grid;gap:6px}.rebuild-options small{color:var(--bb-muted)}
.prestige-intro{position:relative;overflow:hidden;padding:36px 28px;min-height:270px;border:0;border-radius:24px;background:linear-gradient(90deg,#112f2be8,#112f2b5c),url('/images/prestige/chateau-lac.webp') center/cover;color:#faf8ed;display:flex;flex-direction:column;justify-content:end}
.prestige-intro h2{font-size:clamp(30px,6vw,50px);font-family:Georgia,serif;font-weight:500;max-width:620px;line-height:1.1;margin:12px 0;color:inherit}
.prestige-intro p{max-width:470px;color:#eeeede;line-height:1.6;font-size:16px}.prestige-intro .eyebrow{color:#e5d59f}.prestige-intro strong{font-size:16px;color:#fff}
.prestige-tiers{gap:16px;margin-top:20px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.prestige-tier{padding:24px;background:var(--bb-card);border:1px solid #c9c2aa;border-radius:20px;min-width:0}
.prestige-tier h3{font-family:Georgia,serif;font-size:25px;margin:14px 0}.prestige-tier>strong{font-size:20px}.prestige-tier small{display:block;color:var(--bb-muted);font-size:12px;margin-top:6px}.prestige-tier p{font-size:14px;line-height:1.6}.prestige-tier progress{height:6px;margin:20px 0 8px;accent-color:var(--bb-gold);width:100%}
.prestige-tier-preview{width:calc(100% + 48px);max-width:none;height:150px;object-fit:cover;margin:-24px -24px 20px;border-radius:20px 20px 0 0}
.prestige-card .property-body{padding:24px}.prestige-card h3{font-family:Georgia,serif;font-size:24px;line-height:1.2}
.dm-thread{border:1px solid var(--bb-line);border-radius:20px;overflow:hidden;background:var(--bb-card)}
.dm-thread-head{padding:12px 16px;border-bottom:1px solid var(--bb-line);gap:10px;min-height:60px}
.dm-thread-head strong{flex:1;min-width:0;overflow-wrap:anywhere}
#dm-log{background:linear-gradient(140deg,var(--bb-soft),var(--bb-card));padding:20px 16px;min-height:220px;max-height:52dvh;overflow:auto;overscroll-behavior:contain}
.dm-bubble{max-width:85%;width:fit-content;border:1px solid var(--bb-line);border-radius:18px 18px 18px 5px;background:var(--bb-card);color:var(--bb-accent);padding:12px 16px;margin:8px 0;box-shadow:0 2px 5px #143d2910}
.dm-bubble.mine{margin-left:auto;border-radius:18px 18px 5px 18px;background:#195a47;color:#fff;border-color:#195a47}
.dm-bubble p{font-size:16px;line-height:1.5;margin:0 0 5px;overflow-wrap:anywhere}.dm-bubble time{display:block;font-size:11px;opacity:.78;text-align:right}
.dm-bubble.mine time{color:#e1f4e7}.dm-bubble:not(.mine) time{color:var(--bb-muted)}
.dm-composer{padding:12px;display:grid;gap:8px;background:var(--bb-card)}.dm-composer textarea{resize:vertical;min-height:48px;max-height:140px;padding:12px 14px;border-radius:15px;font-size:16px;border:1px solid var(--bb-line)}.dm-composer .actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0}.dm-composer .primary{min-height:44px;padding:10px 20px}.dm-composer .dm-plus{width:44px;height:44px;min-width:44px;padding:0;border-radius:50%;font-size:24px}.dm-composer #dm-status:empty{display:none}
.dm-conversation{border-radius:14px;gap:12px}.dm-conversation.active{background:var(--bb-soft);color:var(--bb-accent)}.dm-conversation small{color:var(--bb-muted)}.dm-conversation .count-pill{background:#195a47;color:#fff;min-width:23px;height:23px;font-size:12px;display:grid;place-items:center}
.message-day{text-align:center;margin:16px 0}.message-day span{font-size:11px;display:inline-block;padding:6px 12px;border-radius:20px;background:var(--bb-card);color:var(--bb-muted);border:1px solid var(--bb-line)}
.dm-load-older{display:block;margin:0 auto 16px;font-size:12px}
[data-reorder-tabs]{isolation:isolate}
[data-reorder-tabs]>button{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:pan-y;transition:background .15s,color .15s}
[data-reorder-tabs]>.tab-dragging{box-shadow:0 7px 20px #123d3b28;background:var(--bb-soft);outline:2px solid #7fa890;z-index:3}
.ranking-list{display:grid;gap:10px}.ranking-row{border-radius:18px;padding:18px;align-items:center;gap:14px}.ranking-row strong{font-variant-numeric:tabular-nums}.ranking-row:first-child{border-color:#b6a16a;background:linear-gradient(100deg,var(--bb-soft),var(--bb-card))}
#detail{scrollbar-gutter:stable}.work-pill{max-width:min(390px,calc(100vw - 32px))}
@media(max-width:650px){
 .prestige-tiers{grid-template-columns:1fr}.prestige-tier{display:block}.prestige-tier-preview{height:160px}.prestige-intro{padding:26px 22px;min-height:290px}
 .choice-sheet{margin:auto auto 12px;border-radius:24px;max-height:85dvh}.choice-control>button{font-size:13px;padding:10px 12px}
 .bank-form-row{grid-template-columns:1fr}.bank-cards{grid-template-columns:1fr}.bank-card{padding:22px}.bank-metrics>div{padding:14px}.bank-metrics strong{font-size:20px}.bank-quote{padding:18px}.bank-quote h3{font-size:19px}
 .compact-fold>summary{font-size:16px;padding:18px;min-height:64px}.fold-content{padding:0 18px 18px}.finance-sort-row>.compact-fold>summary,.finance-sort-row>.city-ambitions>.compact-fold>summary{padding-left:48px}.finance-sort-row>.finance-handle{top:16px;left:11px}
 .finance-link{grid-template-columns:minmax(0,1fr) auto;gap:10px}.finance-link>span:last-child{display:none}.finance-link strong{font-size:14px}.finance-link>span:first-child{font-size:14px}
 .dm-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.dm-search label{min-width:0}.dm-search input{width:100%;box-sizing:border-box;font-size:16px}.dm-search button{margin:0;min-height:46px;padding:10px 16px}
 .dm-thread-head .dm-mobile-back{font-size:12px;padding:8px 0}.dm-thread-head svg{width:30px;height:30px}.dm-thread-head strong{font-size:16px}.dm-retention{font-size:12px}
 .rebuild-options>div{font-size:14px}.confirmation-actions button{font-size:15px}
}
@media(prefers-reduced-motion:reduce){.choice-control>button,[data-reorder-tabs]>button{transition:none}}
/* Scope over legacy selectors while keeping the shared theme variables. */
body.theme-dark{--bb-accent:#d8ecdf;--bb-soft:#233d34;--bb-line:#3b554b;--bb-muted:#b8c8be;--bb-card:#182d26}
body #content .prestige-market>.prestige-intro{background:linear-gradient(90deg,#112f2be8,#112f2b68),url('/images/prestige/chateau-lac.webp') center/cover;color:#faf8ed;border:0;min-height:300px!important;padding:32px 24px!important;border-radius:24px;display:flex!important;justify-content:flex-end}
body #content .prestige-intro h2{font:500 clamp(30px,6vw,48px)/1.12 Georgia,serif!important;color:#fff}
body #content .prestige-intro p,body #content .prestige-intro strong{color:#f8f6ea!important}
body #content .prestige-intro .eyebrow{color:#e5d59f!important}
body #content .prestige-tier{background:var(--bb-card);padding:24px;border-radius:20px}
body #content .prestige-tier h3{font-family:Georgia,serif;font-size:26px;font-weight:500}
body #content .prestige-tier>strong{font-size:21px}
body .bank-quote .confirm-totals,body .bank-contract .confirm-totals{display:block;margin:12px 0}
body .bank-quote .confirm-totals>div,body .bank-contract .confirm-totals>div{display:flex;flex-direction:row;justify-content:space-between;align-items:baseline;gap:20px;padding:12px 0;background:none;border-bottom:1px solid var(--bb-line);border-radius:0;font-size:14px}
body .bank-quote .confirm-totals span,body .bank-contract .confirm-totals span{color:var(--bb-muted)}
body .bank-quote .confirm-totals strong,body .bank-contract .confirm-totals strong{white-space:nowrap;font-size:15px}
body .bank-quote>.primary{width:100%;min-height:46px;margin-top:12px}
body .dm-bubble.mine{background:#195a47!important;color:#fff!important;border-color:#195a47!important}
body .dm-bubble.mine p,body .dm-bubble.mine time{color:#fff!important}
body .dm-conversation.active{background:var(--bb-soft)!important;border-left:3px solid var(--bb-accent)!important}
body .dm-conversation .count-pill{background:#195a47!important;color:white!important}
body .confirmation-window .dialog-inner>button.primary+button.secondary{margin-top:12px;display:block}
body .confirmation-window .dialog-inner>button.primary,body .confirmation-window .dialog-inner>button.secondary{width:100%;box-sizing:border-box}
body .confirmation-window .dialog-inner .confirmation-actions{display:grid;gap:12px}
body .dialog-inner:has(#global-search)>label{display:block;width:100%;box-sizing:border-box}
body #content .project-sections .renovation-line{display:flex;align-items:center;gap:14px;padding:18px 0}
body #content .project-sections .renovation-line>span{flex:1;min-width:0;text-align:left;line-height:1.45}
body #content .project-sections .renovation-line>button{flex:none;width:auto;min-width:0;font-size:14px;padding:10px 14px;white-space:nowrap}

/* BatiBlocs 3.2.35 — Héritage, room to read and stable controls. */
.ui-icon{display:inline-block;vertical-align:middle;width:20px;height:20px;flex:none}
.brand b,.auth-brand b{font-family:Georgia,'Times New Roman',serif;letter-spacing:-.045em;font-weight:600}
body .city-brand-mark{width:36px;height:40px;flex:0 0 36px;object-fit:contain}
body .breadcrumb{min-width:0;gap:12px}body .breadcrumb strong{white-space:normal;overflow:visible;text-overflow:clip}
body #sticky-finances{background-image:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:0 5px 18px #123e3710}
body #sticky-finances:before{background:inherit!important;background-image:none!important}
body input[type=checkbox]{padding:0!important;box-sizing:border-box;display:inline-block!important;position:relative}
body input[type=checkbox]:after{content:none!important}
body input[type=checkbox]:checked,body .card-check input[type=checkbox]:checked{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m5 12 4 4 10-10' fill='none' stroke='white' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;background-size:90% 90%!important;background-position:center!important;background-repeat:no-repeat!important}
body .avatar-editor,body .appearance-panel{border:0!important;box-shadow:none!important;background:transparent!important;padding:0!important;margin:0!important;min-width:0}
body [data-fold-key=account-avatar]>.fold-content,body [data-fold-key=account-appearance]>.fold-content{padding:0 20px 22px}
body .avatar-live{display:flex;align-items:center;gap:18px;margin:18px 0 24px}
body .avatar-live p{margin:0;min-width:0;line-height:1.55}
body .avatar-presets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;overflow:visible;margin:0 0 24px}
body .avatar-presets button{min-width:0;width:100%;padding:12px 4px;gap:8px;font-size:12px;line-height:1.3;border:1px solid var(--bb-line);border-radius:14px;transform:none}
body .avatar-presets button span{white-space:normal;overflow-wrap:anywhere}
body .avatar-presets button[aria-pressed=true]{box-shadow:inset 0 0 0 1px #2e765b}
body .avatar-editor [data-fold-key=avatar-options]{border:0!important;border-top:1px solid var(--bb-line)!important;border-bottom:1px solid var(--bb-line)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;margin:0 0 24px!important}
body .avatar-editor [data-fold-key=avatar-options]>summary{padding:18px 0!important;min-height:56px}
body .avatar-editor [data-fold-key=avatar-options]>.fold-content{padding:0 0 18px}
body .avatar-editor>label:has(input[type=checkbox]){display:flex;align-items:flex-start;gap:12px;line-height:1.45;margin-top:20px}
body .avatar-editor>label input{margin-top:2px!important}
body .appearance-panel .panel,body [data-fold-key=account-appearance]>.fold-content>.panel{border:0!important;box-shadow:none!important;padding:16px 0!important;border-radius:0!important;background:transparent!important}
body .appearance-group{padding:0;margin:24px 0;border:0;min-width:0}
body .appearance-group>div{gap:8px}
body .appearance-group button{border-width:1px!important;min-height:44px;transform:none!important;box-sizing:border-box}
body .appearance-group button[aria-pressed=true]{box-shadow:inset 0 0 0 1px var(--bb-ink)}
body .appearance-save{display:flex;flex-wrap:wrap;gap:10px;padding:20px 0;margin-top:16px;border-top:1px solid var(--bb-line)}
body .appearance-save small{flex-basis:100%}
body .repair-action{font-size:13px;min-height:40px;padding:8px 14px;border:1px solid #a6b9ad;border-radius:10px;background:var(--bb-surface);text-decoration:none;white-space:nowrap}
body .project-sections>.finance-sort-row[data-finance-key="Prochain chantier"]{border:0!important;padding:0!important;background:transparent!important;box-shadow:none!important}
body .project-overview{gap:8px;margin:4px 0 16px;padding:0}
body .project-overview span{padding:8px 12px;font-size:12px;font-weight:600;line-height:1.35;border-radius:10px;background:var(--bb-soft);color:var(--bb-ink)}
body .modern-project{margin:0 0 18px!important;border-radius:18px!important}
body .modern-project>.construction-scene{max-width:none}
body .project-body{padding:18px}
body .project-body h3{font-size:21px;line-height:1.35;margin:10px 0 18px}
body .project-body .eyebrow{letter-spacing:.08em;font-size:11px}
body .project-body .modern-work{padding:14px 0!important;border-radius:0!important;background:transparent!important;border-top:1px solid var(--bb-line)!important;border-bottom:1px solid var(--bb-line)!important;margin-bottom:18px}
body .modern-work .work-stage>strong{font-size:20px!important;font-variant-numeric:tabular-nums}
body .modern-work .work-stage>span{text-transform:none;letter-spacing:0;font-weight:600}
body .modern-work small{margin-top:8px;font-size:12px!important}
body .construction-scene figcaption{padding:6px 10px;font-size:12px;border-radius:8px}
body .work-pill{display:flex;align-items:center;justify-content:center;gap:8px;min-height:36px;height:36px;width:max-content;max-width:calc(100vw - 32px);font-size:12px;line-height:1;padding:7px 13px;border-radius:12px;background:#e7eddf;color:#174f42;border:1px solid #cbd9c4;box-shadow:0 3px 10px #174f4210;font-variant-numeric:tabular-nums;z-index:35}
body .work-pill[hidden]{display:none}body .work-pill svg{width:17px;height:17px;flex:none}body .work-pill span{overflow:hidden;text-overflow:ellipsis}
body.has-work-pill:after{content:'';position:fixed;top:var(--finance-height,76px);height:50px;left:0;right:0;background:var(--bb-surface,#f6f7f2);z-index:30;pointer-events:none}
body.has-work-pill .shell>header{margin-top:calc(var(--finance-height,76px) + 50px)!important}
body.has-work-pill.detail-route #detail:not(.confirmation-window){padding-top:50px!important}
body .map-controls{display:flex;flex-wrap:wrap;gap:10px;padding:0 16px 10px}
body .map-segments{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;padding:4px;gap:4px;border-radius:12px}
body .map-segments button{min-width:0;min-height:44px;padding:8px 4px!important;font-size:13px!important;font-weight:600!important;border:1px solid transparent!important;transform:none!important;border-radius:9px;line-height:1.2}
body .map-local-filters{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding:0 16px 16px}
body .map-local-filters .choice-control{min-width:0;margin:0}
body .map-local-filters .choice-launch{width:100%;min-height:44px;padding:9px 12px;font-size:13px;gap:8px;border-radius:10px}
body .map-local-filters .choice-change{font-size:0;gap:0}
body .map-local-filters .choice-launch>span:first-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body .map-local-filters .status-chip,body .budget-map{min-height:44px;padding:9px 12px;font-size:13px;font-weight:600;border:1px solid var(--bb-line);border-radius:10px;transform:none!important}
body .map-empty{position:static;display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 16px 14px;padding:12px;border:0;border-radius:10px;background:var(--bb-soft);color:var(--bb-ink);font-size:13px;line-height:1.45;max-width:100%;box-sizing:border-box}
body .map-empty small{display:block;flex-basis:100%;color:var(--bb-secondary)}
body .map-empty button{min-height:40px;padding:6px 10px;font-size:12px;text-decoration:none}
body .map-footer{gap:12px;flex-wrap:wrap}
body .map-controls button,body .map-local-filters button{transition:background-color .15s,color .15s;box-sizing:border-box}
body .favorite-btn[aria-pressed=true] svg{fill:currentColor}
@media(max-width:600px){body [data-fold-key=account-avatar]>.fold-content,body [data-fold-key=account-appearance]>.fold-content{padding:0 14px 18px}body .avatar-live svg{width:80px;height:80px}body .avatar-presets{gap:8px}body .avatar-presets svg{width:56px;height:56px}body .project-body{padding:16px}body .project-body h3{font-size:20px}body .work-stage{gap:8px}body .city-map-heading{padding:16px}body .map-stage .map-tools{right:12px}body .map-mode{max-width:calc(100% - 70px)}}
body .appearance-property-sample{display:grid;place-items:center;height:65px;background:#dce8d6;border-radius:10px;margin-bottom:12px;color:#174f42}
body .appearance-preview[data-view=list] .appearance-property-sample{display:none}
body .parcel-price svg{width:12px;height:12px;vertical-align:middle}
body .utility-bar button{display:inline-flex;align-items:center;gap:8px}
body .project-sections .modern-project .drag-title{padding-left:0!important}
body .project-sections .modern-project .finance-handle{margin-right:8px}
@media(max-width:600px){body .avatar-presets{grid-template-columns:repeat(2,minmax(0,1fr))}body .avatar-presets button{font-size:12px;padding:12px 6px}body .avatar-presets button span{overflow-wrap:normal;hyphens:none}}

body .brand-heading{display:flex;flex-direction:column;gap:2px;min-width:0}body .site-wordmark{font-family:Georgia,'Times New Roman',serif;font-size:25px;font-weight:600;line-height:1.05;letter-spacing:-.045em;color:var(--bb-ink)}body .brand-heading strong{font-size:12px!important;line-height:1.25;font-weight:500;color:var(--bb-secondary)}body .breadcrumb img.city-brand-mark{width:34px!important;height:38px!important;flex:0 0 34px!important}

.welcome-logo{display:block;width:150px;height:auto;margin:0 0 24px;mix-blend-mode:multiply}@media(max-width:760px){.welcome-logo{width:112px;margin:0 auto 20px}}
/* 3.2.37 — calm, consistent mobile controls. */
body .shell>header{padding:18px 24px;min-height:84px;gap:16px;background:#fff;border-bottom:1px solid #e3e9e3}
body .breadcrumb{gap:12px;align-items:center}body .site-wordmark{font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:27px;font-weight:750;letter-spacing:-1.1px;line-height:1.15}body .brand-heading strong{font-size:13px!important;font-weight:450!important;letter-spacing:.02em;margin-top:3px}body .breadcrumb img.city-brand-mark{width:32px!important;height:38px!important;flex-basis:32px!important}body #account{width:44px;height:44px;flex-shrink:0}body .header-right{gap:8px}body .brand b{font-family:system-ui,sans-serif;letter-spacing:-.6px}
body .unified-goals>.primary{margin:16px 0}body .unified-goals>details{margin-top:8px}body .unified-goals .goal-meta{gap:12px}
body .property-search{display:grid;gap:8px;margin:16px 0;font-size:13px;color:var(--bb-secondary)}body .property-search input{width:100%;min-height:46px;background:#fff;border-radius:12px;padding:12px 14px;box-sizing:border-box}
body .collection-filters{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}body .collection-filters label{flex:1;min-width:230px;font-size:13px}body .collection-filters .choice-control{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}body .collection-filters button,body .list-toolbar button{min-height:40px;padding:9px 12px;font-size:13px;border-radius:10px;line-height:1.25}body .list-toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:12px 0}body .property-filters{margin:14px 0;border-radius:12px}body .property-filters>summary{font-size:14px;padding:14px}body .view-switch{border-radius:12px;padding:3px}
body .map-controls{display:flex;flex-wrap:wrap;gap:10px;padding:0 14px}body .map-segments{flex-basis:100%;padding:4px;border-radius:12px;gap:3px}body .map-segments button{padding:10px 5px;min-height:42px;font-size:13px;border-radius:9px;flex:1}body .budget-map{margin:0;min-height:42px;padding:10px 12px;font-size:13px;border-radius:10px}body .map-local-filters{display:flex;gap:8px;align-items:stretch;margin:8px 14px 14px;padding:0}body .map-local-filters>.status-chip,body .map-local-filters>.choice-control{flex:1;min-width:0;margin:0}body .map-local-filters button{width:100%;height:100%;min-height:44px;font-size:13px;line-height:1.3;padding:10px;border-radius:10px}body .map-local-filters .choice-change{display:none}body .map-local-filters .choice-launch span:first-child:before{content:'Quartier · ';font-weight:400}body .map-empty{position:static!important;transform:none!important;inset:auto!important;width:auto!important;display:grid;margin:12px 14px!important;padding:14px!important;background:#edf2ea;gap:10px;box-shadow:none!important;border:0!important;border-radius:12px}body .map-empty button{justify-self:start}body .map-mode{border-radius:12px;padding:4px;gap:2px}body .map-mode button{min-height:38px;padding:8px;font-size:12px;border-radius:9px}
body .finance-access{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:22px}body .finance-access .company-entry{margin:0;padding:20px;text-align:left;border-radius:16px;background:#edf3e9;box-shadow:none}body .company-entry-copy{display:grid;gap:10px}body .finance-access .company-entry strong{font-size:23px}body .finance-access .company-entry small{font-size:10px;letter-spacing:.12em}body .finance-access .company-entry span span{font-size:14px;line-height:1.5}body .finance-access .company-entry b{font-size:14px}
body .bank-total{display:grid;gap:8px;background:#194f43;color:white;padding:22px;border-radius:16px;margin:20px 0}body .bank-total strong{font-size:30px}body .bank-total small{opacity:.8}body .bank-cards{display:grid;gap:14px}body .bank-card{border-radius:16px;box-shadow:none;padding:20px}body .bank-actions,body .account-transfers{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}body .bank-actions button{flex:1;min-width:90px;font-size:13px;padding:12px}body .accounts-page label{display:grid;gap:8px;margin:20px 0}body .accounts-page input{width:100%;box-sizing:border-box}body .accounts-page .account-transfers{display:grid;grid-template-columns:1fr 1fr}body .account-transfers button{font-size:13px;padding:12px;white-space:normal}
body .summary-list{margin:20px 0}body .summary-row{display:flex;gap:14px;justify-content:space-between;align-items:center;padding:18px 0;border-bottom:1px solid #dce4dc}body .summary-row h3{font-size:16px;margin:0 0 6px}body .summary-row p{font-size:14px;margin:0;color:var(--bb-secondary)}body .summary-row button{font-size:13px;min-width:130px;padding:10px}body .summary-footer{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:24px}
body .reorder-trigger{display:block;margin:10px 0 6px auto;font-size:12px;min-height:36px;color:var(--bb-secondary)}body .reorder-row{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid #e0e8df}body .reorder-row span{flex:1}body .reorder-row button{width:44px;height:44px;padding:8px}body .reorder-sheet>.primary{margin-top:20px}body [data-reorder-tabs]{touch-action:pan-y}
body.boot-failed .sidebar,body.boot-failed .bottom-nav,body.boot-failed #sticky-finances,body.boot-failed #game-main,body.boot-failed header,body.boot-failed #advisor-launcher{display:none!important}body.boot-failed .shell{margin:0}body.boot-failed #connection{display:grid;min-height:70vh;place-items:center}body .boot-recovery{max-width:430px;padding:28px;text-align:center}body .boot-recovery h1{font-size:28px}body .boot-recovery p{font-size:16px;line-height:1.6}
body .agency-editor{max-width:800px;margin:auto}body .agency-options{display:grid;gap:12px;margin:22px 0}body .agency-option{display:grid;grid-template-columns:1fr auto;text-align:left;gap:6px 16px;padding:18px;border:1px solid #d7e1d7;border-radius:14px;background:white;color:#194f43;white-space:normal}body .agency-option[aria-pressed=true]{background:#edf3e9;border:2px solid #347d62;padding:17px}body .agency-option strong{font-size:16px}body .agency-option small{grid-column:1/-1;font-size:13px;line-height:1.5;font-weight:400}body .agency-option em{font-style:normal;font-size:15px}body .agency-editor label{display:grid;gap:8px;font-size:14px;margin:18px 0}body .agency-editor input{width:100%;box-sizing:border-box}body .agency-contract-actions{margin:24px 0;display:flex;gap:12px;flex-wrap:wrap}body .agency-editor .note{font-size:13px;line-height:1.6}body .agency-page .actions{gap:10px;margin:16px 0}body .agency-page .actions button{font-size:13px;padding:10px 12px}body .agency-row{padding:18px;border-radius:14px;box-shadow:none}
@media(max-width:700px){body .shell>header{padding:14px 18px;min-height:74px}body .finance-access{gap:10px}body .finance-access .company-entry{padding:15px}body .finance-access .company-entry strong{font-size:20px}body .finance-access .company-entry small{font-size:9px}body .bank-cards{grid-template-columns:1fr}body .summary-row{display:block}body .summary-row button{margin-top:12px}body .bank-metrics{gap:10px}body .bank-metrics>div{padding:14px}body .contract-comparison{grid-template-columns:1fr}body #sticky-finances{box-sizing:border-box;max-width:100vw;padding-left:12px;padding-right:12px}body #sticky-finances>*{min-width:0}body .map-tools button{width:38px;height:40px}body .map-tools{right:10px}body .map-mode{left:10px;max-width:calc(100% - 65px)}body .project-card .panel{border:0;box-shadow:none}body .construction-stats .status-chip{font-size:12px;padding:7px 10px}}
body .dm-folders{display:inline-flex;gap:4px;padding:4px;background:#e9efe5;border-radius:12px;margin:10px 0 18px}body .dm-folders button{width:auto!important;min-height:38px!important;padding:9px 16px!important;font-size:13px!important;border:0!important;border-radius:9px!important;background:transparent;box-shadow:none}body .dm-folders button[aria-pressed=true]{background:white;color:#194f43;box-shadow:0 1px 4px #153e3710}body .dm-search{padding:0;margin:18px 0 10px;gap:10px;align-items:end}body .dm-search label{font-size:13px;gap:8px}body .dm-search input{min-height:44px;font-size:15px;border-radius:12px}body .dm-search button{min-height:44px;padding:10px 16px;font-size:14px}body #dm-conversations{border:0;background:white;border-radius:14px;padding:0;overflow:hidden}body #dm-conversations>button{border-radius:0;border:0;border-bottom:1px solid #e3e9e0;padding:16px;background:white}body .dm-retention{font-size:12px;line-height:1.5;margin:10px 0}body .discussion-tabs{gap:6px}body .discussion-tabs button{min-height:42px;font-size:13px;padding:9px 12px}
body .agency-editor [hidden]{display:none!important}
body .map-local-filters{display:grid;grid-template-columns:.75fr 1fr 1fr;gap:7px}body .map-local-filters .native-choice{display:none!important}body .map-local-filters .choice-launch span:first-child:before{content:none}body .map-local-filters .budget-map{width:100%;font-size:12px}body .map-local-filters .choice-launch{font-size:12px}body .photo-loading{position:absolute;inset:0;display:grid;place-items:center;background:#e8eee5;color:#5b7466;font-size:13px;font-weight:400;pointer-events:none}body .photo-ready .photo-loading{display:none}body .property-art{position:relative}
body .map-local-filters .choice-launch>span:first-child{white-space:normal;overflow:visible;text-overflow:clip;display:grid;gap:3px}body .map-local-filters .choice-launch small,body .map-local-filters .budget-map small{display:block;font-size:10px;font-weight:400;color:var(--bb-secondary);line-height:1.2}body .map-local-filters .choice-launch b,body .map-local-filters .budget-map b{display:block;font-size:12px;line-height:1.25;font-weight:650;white-space:normal}body .map-local-filters .budget-map{display:grid;place-content:center;gap:3px}body .map-local-filters .budget-map.active small{color:inherit}body .shell>header .brand-heading strong{font-size:13px!important;line-height:1.3!important;font-weight:450!important}body .dm-layout{border:0!important;background:transparent!important;box-shadow:none!important}body .dm-layout #dm-conversations{border:1px solid #e0e7df}body .dm-layout .dm-thread{border:0}
body .discussion-tabs{display:grid!important;grid-template-columns:1fr 1.25fr .85fr!important;gap:6px!important}body .discussion-tabs button{width:100%;min-width:0;margin:0;padding:9px 6px!important;font-size:12px!important;white-space:normal;line-height:1.3;border-radius:10px}body #dm-conversations>p{padding:16px;margin:0;font-size:14px;line-height:1.6}body .reorder-trigger{padding:4px 8px;margin-top:4px;margin-bottom:6px;min-height:32px;font-size:12px}

/* Feedback remains visible inside native confirmation dialogs. */
.payment-feedback{margin-top:16px;padding:14px 16px;border:1px solid #b9cbbd;border-radius:14px;background:#edf3e9;color:#214c3d;font-size:1rem;line-height:1.45}.payment-feedback p{margin:0 0 10px;color:inherit}.payment-feedback p:last-child{margin-bottom:0}.payment-feedback button{width:100%}

/* Insurance: compact mobile cards and progressive detail. */
.insurance-page{max-width:960px;margin:0 auto}.insurance-heading h2{margin:6px 0 8px;font-size:28px;letter-spacing:-.7px}.insurance-heading p{margin:0;color:#67786e;font-size:15px}.insurance-heading .eyebrow{font-size:10px;letter-spacing:1.5px}
.insurance-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:22px 0;background:#e8eee4;border-radius:16px;padding:18px 8px}.insurance-overview>div{display:flex;flex-direction:column;gap:5px;padding:0 12px;border-right:1px solid #ccd7ca}.insurance-overview>div:last-child{border:0}.insurance-overview strong{font-size:25px;line-height:1.2}.insurance-overview small{font-size:14px;font-weight:400;color:#6a7b70}.insurance-overview span{font-size:12px;color:#5c6c62}
.insurance-page .insurance-simple-filters{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 12px}.insurance-page .status-chip{font-size:13px;padding:10px 14px;min-height:42px;border-radius:22px;margin:0}.insurance-page .insurance-type-filter{margin:0 0 16px;border:0;padding:0;background:transparent}.insurance-page .insurance-type-filter>summary{font-size:13px;min-height:44px;padding:12px 0;border:0;border-radius:0;background:transparent;font-weight:500}.insurance-type-filter[open]{padding-bottom:8px}
.insurance-page .insurance-hub-actions{margin:16px 0;display:block}.insurance-hub-actions p{font-size:13px;color:#65786a;margin:10px 0}.insurance-page .insurance-hub-actions button{font-size:14px;min-height:44px;padding:12px 16px}.insurance-all-covered{font-size:13px;color:#37634b;margin:14px 0 20px}.insurance-list{display:grid;gap:12px}.insurance-page .insurance-row{padding:16px 18px 0;margin:0;background:#fff;border:1px solid #dce4db;border-radius:18px;box-shadow:0 2px 5px #193e2b04;min-width:0}.insurance-page .insurance-row-head{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:10px;align-items:center;padding:0;margin:0}.insurance-shield{display:flex;align-items:center;justify-content:center;color:#4c765b}.insurance-shield svg{width:25px;height:25px}.insurance-property{min-width:0}.insurance-property h3{font-size:15px;line-height:1.4;letter-spacing:0;margin:0;font-weight:650;overflow-wrap:anywhere}.insurance-property p{font-size:12px;line-height:1.4;color:#788277;margin:3px 0 0}.insurance-status{font-size:10px;font-weight:600;white-space:nowrap;padding:5px 8px;border-radius:20px;background:#edf4e9;color:#467050}.insurance-status.uncovered{background:#faf0e0;color:#8c602c}.insurance-select input{width:21px;height:21px;accent-color:#205643;margin:0}.insurance-row-actions{display:flex;align-items:center;justify-content:space-between;margin:8px 0 3px;padding-left:40px;gap:8px}.insurance-page .insurance-row-actions button{font-size:12px;min-height:40px;padding:8px 0;border:0;background:transparent;color:#35624f;border-radius:8px}.insurance-page .insurance-row-actions .primary{background:#1b5141;color:#fff;padding:8px 12px}
.insurance-page .insurance-details{margin:0;border:0;border-top:1px solid #edf0eb;border-radius:0;padding:0;background:transparent}.insurance-page .insurance-details>summary{display:flex;justify-content:space-between;align-items:center;min-height:46px;padding:10px 0;margin:0;border:0;border-radius:0;background:transparent;font-size:12px;font-weight:500;list-style:none;color:#6b796e}.insurance-details>summary::-webkit-details-marker{display:none}.insurance-details>summary:after{display:none!important}.insurance-details>summary span{font-size:20px;transition:transform .15s}.insurance-details[open]>summary span{transform:rotate(180deg)}.insurance-details-body{padding:0 0 16px}.insurance-page .insurance-details-body .insurance-contract{margin:0;padding:14px;border-radius:12px;background:#f6f8f3;box-shadow:none}.insurance-details-body .insurance-contract-head{display:none}.insurance-details-body h4{font-size:15px}.insurance-details-body p,.insurance-details-body .coverage-row{font-size:13px}.insurance-page .insurance-incident{margin:12px 0 0;padding:12px;background:#fff6e9;border-radius:10px;display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between}.insurance-incident>div{display:flex;flex-direction:column;gap:4px;font-size:12px}.insurance-incident span{color:#826545}.insurance-page .insurance-incident button{font-size:12px;padding:8px 12px;min-height:40px}.insurance-incident p{margin:0;font-size:12px}.insurance-page .insurance-batch{position:static;margin:16px 0;padding:14px;display:flex;flex-wrap:wrap;gap:10px;align-items:center;border-radius:14px;background:#e9f0e3}.insurance-page .insurance-batch[hidden]{display:none}.insurance-batch strong{font-size:13px}.insurance-page .insurance-batch button{font-size:13px;padding:10px 14px;min-height:42px}.insurance-footnote,.insurance-empty{font-size:12px;color:#788277;line-height:1.5;margin:20px 0}.insurance-page button:focus-visible,.insurance-page summary:focus-visible{outline:2px solid #367858;outline-offset:3px}
@media(min-width:760px){.insurance-list{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}}
/* 3.2.40: stable, readable mobile actions and visible options. */
html{overflow-anchor:none}body button{touch-action:manipulation}body input,body textarea{font-size:max(16px,1em)}
body .choice-control{display:block;min-width:0}body .choice-options{display:flex;flex-wrap:wrap;gap:8px;max-height:220px;overflow:auto;padding:3px;scrollbar-width:thin}body .choice-options button{flex:0 1 auto;min-height:42px;padding:10px 14px;font-size:14px;line-height:1.3;border-radius:12px;word-break:normal;overflow-wrap:normal}body .choice-options button[hidden]{display:none}body .choice-inline-search{width:100%;margin-bottom:8px;min-height:44px}body .native-choice{display:none!important}
body .map-local-filters{display:grid;grid-template-columns:1fr;gap:14px;align-items:start}body .map-local-filters .choice-options{max-height:130px}body .map-local-filters .budget-map{justify-self:start;min-height:44px;padding:10px 16px}body .map-local-filters .choice-options:before{content:attr(aria-label)}
body .insurance-type-filter .type-shortcuts{display:flex;flex-wrap:wrap;overflow:visible;gap:6px;padding:6px 0}body .insurance-type-filter .filter-caption{display:block;font-size:12px;color:#68796d;margin-bottom:6px}body .insurance-empty{padding:28px 18px;background:#edf2e8;border-radius:14px;font-size:15px;min-height:90px}body .filter-reset{font-size:13px;padding:8px 0;min-height:40px;background:transparent;border:0;text-decoration:underline}
body .bank-card{padding:20px;border-radius:18px}body .bank-card h3{font-size:23px;margin:8px 0}body .bank-card p{font-size:14px;line-height:1.6;margin:12px 0}body .bank-rate{font-size:30px;margin:14px 0;display:block}body .bank-rate small{font-size:12px;display:block;margin-top:6px}body .bank-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:8px}body .bank-actions button{min-width:0;min-height:48px;font-size:12px;padding:10px 4px;line-height:1.25;white-space:nowrap;word-break:normal;overflow-wrap:normal;border-radius:12px;margin:0}body .bank-metrics{gap:10px}body .bank-metrics>div{padding:16px;border-radius:14px}body .bank-metrics strong{font-size:25px}body .bank-metrics small{font-size:13px}body .accounts-page h2{font-size:27px}body .account-feedback{min-height:24px;font-size:14px;margin:8px 0;color:#205743}body .account-transfers button{min-height:52px;font-size:13px;border-radius:12px;line-height:1.4}body .accounts-page>p{font-size:14px;line-height:1.6}
body .auction-price-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0}body .auction-price-grid>div{display:flex;flex-direction:column;gap:8px;padding:16px;background:#eaf0e5;border-radius:14px;min-width:0}body .auction-price-grid span{font-size:13px;line-height:1.4}body .auction-price-grid strong{font-size:21px;font-variant-numeric:tabular-nums;overflow-wrap:normal}body .auction-conditions{margin:20px 0;padding:0;border:0;border-block:1px solid #dce4d8;border-radius:0}body .auction-conditions>summary{padding:15px 0;font-size:14px;background:transparent;border:0}body .auction-conditions p{font-size:14px;line-height:1.6}body .bid-input{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:8px;align-items:stretch}body .bid-input button,body .bid-input input{min-height:48px;min-width:0;margin:0;padding:10px;border-radius:12px}body .bid-input input{text-align:center;font-size:20px}body #bid-error{min-height:24px;font-size:14px;color:#975237}body [data-auction-review]{width:100%;min-height:48px;font-size:15px}
.contact-page .contact-header .brand{display:flex;gap:12px;align-items:center;font-size:25px}.contact-page .contact-header img{object-fit:contain}.contact-page .contact-layout{max-width:720px}.contact-page .contact-layout h1{font-size:clamp(27px,5vw,38px)}.contact-page .contact-layout .panel{padding:24px}.contact-page .contact-fields{gap:16px}.contact-page #contact-direct{font-size:14px}.contact-page #contact-form>label{margin-top:22px}.contact-page .choice-options{max-height:none}.contact-page .choice-options button{flex:1 1 130px}
@media(min-width:760px){body .bank-cards{grid-template-columns:repeat(3,minmax(0,1fr))}body .bank-card{display:flex;flex-direction:column}body .bank-actions{margin-top:auto}body .map-local-filters{grid-template-columns:140px 1fr 1fr}}
body header.insurance-heading{display:block;position:static;inset:auto;height:auto;min-height:0;width:auto;padding:0;margin:0 0 20px;background:transparent;color:inherit;border:0;box-shadow:none;z-index:auto}body .insurance-heading h2{display:block;font-size:28px;margin:6px 0 8px}body .insurance-heading p{display:block;font-size:14px;line-height:1.5}body .choice-options button{background:var(--card,#fff);color:var(--ink,#245444);border:1px solid #d8e1d5;font-family:inherit;font-weight:600;cursor:pointer}body .choice-options button[aria-pressed="true"]{background:#1b5143;color:#fff;border-color:#1b5143}body .choice-options button:disabled{opacity:.5;cursor:default}body .choice-options button:focus-visible{outline:2px solid #598d70;outline-offset:2px}.contact-page .contact-header{background:#fff;color:#1b5143;border-bottom:1px solid #dce4da}.contact-page #contact-direct a{color:#245444;text-underline-offset:4px}

/* 3.2.41: the original green mark needs a light surface in coloured navigation. */
body .sidebar .brand>img{background:#f7f8f2;border-radius:10px;padding:5px;box-sizing:border-box;width:44px;height:44px;flex:0 0 44px;object-fit:contain}
body .sidebar .brand>span{min-width:0}
@media(min-width:581px) and (max-width:1100px){body .sidebar .brand{gap:8px}body .sidebar .brand b{font-size:17px;letter-spacing:-.6px}body .sidebar .brand small{font-size:9px;line-height:1.35}}
/* 3.2.42: visible sorting and comfortable tablet tabs. */
.market-price-sort{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 16px}
.market-price-sort button{min-height:44px}
.credit-status{padding:20px;margin:18px 0;border:1px solid #cbd9cd;border-radius:18px;background:#edf3e7;color:#194f43}
.credit-status h3{margin:8px 0}.credit-status p{margin:8px 0 0;line-height:1.5}
@media(min-width:581px) and (max-width:1400px){
 body .property-tabs,body .discussion-tabs{display:flex;gap:8px;padding:7px;margin:16px 0 24px;background:#e9eee5;border:1px solid #d4ded2;border-radius:18px;overflow-x:auto;scrollbar-width:thin;align-items:stretch}
 body .property-tabs>button,body .discussion-tabs>button{flex:1 0 auto;min-height:48px;padding:12px 16px;margin:0;border:0!important;border-radius:12px;background:transparent;color:#37574d;font-size:15px;line-height:1.3;white-space:nowrap;box-shadow:none}
 body .property-tabs>button.active,body .discussion-tabs>button.active,body .property-tabs>button[aria-selected="true"],body .discussion-tabs>button[aria-selected="true"]{background:#194f43;color:#fff;box-shadow:0 2px 5px #153f3020}
 body .property-tabs>button:focus-visible,body .discussion-tabs>button:focus-visible{outline:3px solid #659b86;outline-offset:2px}
 body .property-tabs>button::after,body .discussion-tabs>button::after{display:none}
 body .sidebar nav button{border-radius:12px;min-height:48px;margin-bottom:7px}
}
@media(min-width:581px) and (max-width:1400px){
 body .property-tabs>button.active,body .discussion-tabs>button.active,body .property-tabs>button[aria-pressed="true"],body .discussion-tabs>button[aria-pressed="true"]{background:#194f43!important;color:#fff!important;box-shadow:0 2px 5px #153f3020!important}
 body .sidebar .player{min-width:0;overflow:hidden}body .sidebar #account-name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}
.rental-rate-options{padding:0;margin:20px 0 16px;border:0;display:grid;gap:8px;min-width:0}
.rental-rate-options legend{font-size:16px;font-weight:650;margin-bottom:12px;padding:0}
body .rental-rate-option{display:grid;grid-template-columns:64px minmax(0,1fr) minmax(0,1fr);align-items:center;gap:10px;width:100%;padding:13px 14px;border:1px solid #d4ded2;border-radius:14px;background:#fff;color:#234f43;text-align:left;line-height:1.3;min-height:66px;white-space:normal;font-size:15px}
.rental-rate-option small{display:block;margin-top:3px;font-size:11px;font-weight:400;opacity:.85}
.rental-rate-level{font-weight:750}.rental-rate-amount{font-weight:650}.rental-rate-delay{font-size:13px;font-weight:500;text-align:right}
body .rental-rate-option[aria-pressed="true"]{background:#194f43;color:#fff;border-color:#194f43;box-shadow:0 0 0 2px #bbccb4}
body .rental-settings .rental-apply{position:static!important;width:100%;margin:4px 0 16px;white-space:normal;min-height:48px}
.rental-settings .note{font-size:13px;line-height:1.6}
@media(max-width:580px){body .rental-settings{padding:18px!important}body .rental-rate-option{padding:12px 10px;gap:8px;grid-template-columns:52px minmax(0,1fr) minmax(0,1fr)}body .rental-rate-option small{font-size:10px}}

/* Save controls only when preferences differ from the saved values. */
.appearance-save[hidden]{display:none!important}

.reading-refresh{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(100px + env(safe-area-inset-bottom,0px));z-index:35;max-width:calc(100vw - 40px);padding:10px 18px;border:1px solid #adc4b6;border-radius:24px;background:#fff;color:#194f43;font-size:14px;box-shadow:0 4px 18px #123e3720;white-space:nowrap}
body:has(#detail:not([hidden])) .reading-refresh{display:none}

/* Discreet sorting alongside the result count and selection action. */
body .result-count{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;font-size:14px}
body .result-count>button{font-size:14px;padding:4px 0;min-height:40px}
body .compact-price-sort{display:inline-flex;align-items:center;gap:2px;margin-left:auto;white-space:nowrap;font-size:12px;color:var(--bb-secondary,#5a7065);vertical-align:middle}
body .compact-price-sort>span{margin-right:3px}
body .compact-price-sort button{display:inline-grid;place-items:center;min-width:36px;min-height:40px;padding:4px;border:0;border-radius:8px;background:transparent;color:inherit;font-size:20px;line-height:1;font-weight:500}
body .compact-price-sort button[aria-pressed="true"]{background:#e5eee7;color:#194f43}
body .compact-price-sort button:focus-visible{outline:2px solid #598d70;outline-offset:2px}
body .map-local-filters{grid-template-columns:1fr;gap:10px}
body .map-local-filters .budget-map{width:auto;justify-self:start;display:flex;gap:8px;align-items:center;padding:7px 12px;min-height:40px}
body .map-local-filters .choice-options{display:flex;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;max-height:none;gap:6px;padding:2px;scrollbar-width:thin}
body .map-local-filters .choice-options button{flex:0 0 auto;width:auto;height:auto;min-height:40px;padding:8px 12px;font-size:12px;border-radius:9px;white-space:nowrap}
body .map-local-filters .choice-options:before{content:none}
body .collection-filters{display:flex;flex-direction:column;align-items:stretch;gap:4px;margin:12px 0}
body .collection-filters>label{font-size:0;margin:0;min-width:0;width:100%}
body .collection-filters .choice-options{display:flex;flex-wrap:nowrap;max-height:none;overflow-x:auto;overflow-y:hidden;gap:5px;padding:4px;background:#eaf0e8;border-radius:12px}
body .collection-filters .choice-options button{flex:0 0 auto;min-height:40px;padding:8px 11px;font-size:12px;white-space:nowrap;border:0;border-radius:9px;background:transparent}
body .collection-filters .choice-options button[aria-pressed="true"]{background:#194f43;color:white}
body .collection-filters>[data-sales-archive]{align-self:flex-end;min-height:40px;padding:6px 0;font-size:12px}

/* Additions to the existing visual system. The tab reorder gesture remains active. */
.profile-finance,.pension-panel,.academy-page{max-width:100%;min-width:0;overflow-wrap:anywhere}
.mode-buttons,.pension-actions,.academy-answers,.start-choices,.mode-choices{display:flex;flex-wrap:wrap;gap:8px;min-width:0}
.mode-buttons button,.pension-actions button,.academy-answers button,.mode-choices button{min-height:44px;white-space:normal}
.profile-pay-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.profile-pay-grid input,.pension-panel input{max-width:100%;box-sizing:border-box}
.construction-budget{margin:12px 0;padding:12px;border:1px solid var(--bb-line,#ddd);border-radius:12px}
.academy-answers{flex-direction:column}.academy-answers button{text-align:left}
.academy-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
#notification-bell{z-index:18}body.detail-route #notification-bell{z-index:8}
@media(min-width:600px) and (max-width:1100px){#content [data-reorder-tabs]{display:flex;flex-wrap:nowrap;gap:8px;max-width:100%;overflow-x:auto;scrollbar-width:thin;-webkit-overflow-scrolling:touch}#content [data-reorder-tabs]>button{flex:0 0 auto;min-height:48px;min-width:90px;padding:10px 14px;white-space:nowrap}}
@media(max-width:599px){html,body,.shell,#game-main,#content{max-width:100%;min-width:0}#content{overflow-x:clip}.profile-pay-grid{grid-template-columns:minmax(0,1fr)}.mode-buttons button,.pension-actions button{flex:1 1 44%;min-width:0}#content [data-reorder-tabs]{max-width:100%;overflow-x:auto;scrollbar-width:thin;-webkit-overflow-scrolling:touch}#content [data-reorder-tabs]>button{min-width:88px;min-height:44px;white-space:nowrap}}

/* Assurance : données principales visibles et cartes plus faciles à parcourir. */
.insurance-page .insurance-list{align-items:start}
.insurance-page .insurance-row{box-sizing:border-box;min-width:0;padding:14px 16px 0;overflow:hidden}
.insurance-page .insurance-row-head{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:10px;align-items:start}
.insurance-page .insurance-row-head>.insurance-shield,.insurance-page .insurance-row-head>.insurance-select{grid-column:1;grid-row:1;margin-top:3px}
.insurance-page .insurance-row-head>.insurance-property{grid-column:2;grid-row:1;min-width:0}
.insurance-page .insurance-row-head>.insurance-status{grid-column:3;grid-row:1;align-self:start}
.insurance-page .insurance-property h3{font-size:clamp(15px,1rem,19px);line-height:1.3;overflow-wrap:anywhere}
.insurance-page .insurance-property p{margin:4px 0 0}
.insurance-page .insurance-property .insurance-key-facts{display:flex;flex-wrap:wrap;gap:2px 10px;margin-top:7px;font-size:12px;line-height:1.35;color:#465f51}
.insurance-key-facts span{min-width:0}
.insurance-page .insurance-row-actions{margin:8px 0 0;padding-left:38px;justify-content:flex-start;gap:12px;flex-wrap:wrap}
.insurance-page .insurance-row-actions button{min-height:40px;padding:7px 4px;font-size:13px;text-align:left}
.insurance-page .insurance-details>summary{min-height:44px}
@media(max-width:599px){.insurance-page .insurance-list{grid-template-columns:minmax(0,1fr)}.insurance-page .insurance-row{padding:13px 14px 0}.insurance-page .insurance-row-head{gap:8px}.insurance-page .insurance-row-actions{padding-left:36px}.insurance-page .insurance-status{font-size:11px}.insurance-page .insurance-property h3{font-size:16px}.insurance-page .insurance-overview{min-width:0}}

/* Les catégories usuelles restent accessibles par les filtres rapides. */
.property-filters .advanced-type-filter{border:0;margin:0;min-width:0;padding:0;background:transparent}
.property-filters .advanced-type-filter>summary{min-height:44px;display:flex;align-items:center;padding:8px 0;color:#285746;font-size:14px;cursor:pointer}
.property-filters .advanced-type-filter>label{display:block;min-width:0;margin:4px 0 10px}
.property-filters .advanced-type-filter .choice-options{display:flex;flex-wrap:wrap;max-height:210px;overflow:auto;gap:6px}
.property-filters .advanced-type-filter .choice-options button{max-width:100%;white-space:normal;overflow-wrap:anywhere}
@media(max-width:599px){.property-filters .quick-filters{min-width:0;overflow:hidden}.property-filters .type-shortcuts{max-width:100%;min-width:0;overflow-x:auto;overscroll-behavior-x:contain}.property-filters .filter-fields{min-width:0}.property-filters .filter-fields>*{min-width:0}}

/* BatiBlocs 3.2.49 : raccourcis et projets. */
/* Existing horizontal navigation, with room to scroll by touch. */
body .hub-links{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;overflow-y:hidden!important;max-width:100%;gap:8px!important;padding:4px 18px 10px 2px!important;scroll-snap-type:x proximity;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;mask-image:linear-gradient(to right,#000 0,#000 calc(100% - 16px),transparent 100%)!important}
body .hub-links>.status-chip{flex:0 0 auto!important;white-space:nowrap!important;min-height:44px!important;scroll-snap-align:start}
.project-dashboard{padding:20px;margin:12px 0 22px;background:#edf3e9;border:1px solid #d7e4d7;border-radius:18px;min-width:0}
.project-dashboard h2{font-size:clamp(19px,3vw,25px);margin:6px 0}.project-dashboard p{font-size:14px;line-height:1.45;margin:6px 0;color:#52695a}
.project-next-list{display:grid;gap:8px;margin-top:15px}.project-next-item{display:flex;justify-content:space-between;align-items:center;gap:10px;min-width:0;padding:12px 14px;border:1px solid #d9e5d9;border-radius:12px;background:#fff}.project-next-item>div{min-width:0}.project-next-item strong,.project-next-item small{display:block;overflow-wrap:anywhere}.project-next-item small{margin-top:4px;color:#617269}.project-next-item button{flex:0 0 auto;min-height:44px}
@media(max-width:599px){.project-dashboard{padding:15px}.project-next-item{align-items:flex-start;flex-wrap:wrap}.project-next-item button{width:100%}}

.theme-dark .project-dashboard{background:#294338;color:#edf3e8;border-color:#59715e}.theme-dark .project-next-item{background:#20372f;color:#edf3e8;border-color:#59715e}.theme-dark .project-dashboard p,.theme-dark .project-next-item small{color:#cfdfd3}

/* BatiBlocs: shared, compact surfaces; no changes to the existing draggable tabs. */
:root{--bb-soft:#edf3e9;--bb-border:#d6e1d5;--bb-ink:#173f35}
body input:not([type=checkbox]):not([type=radio]),body textarea{font-size:max(16px,1em)!important;box-sizing:border-box;max-width:100%;min-width:0}
body input[data-grouped-number]{font-variant-numeric:tabular-nums}
.section-tabs,.admin-tabs{display:flex;flex-wrap:nowrap!important;gap:8px;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;padding:6px 0 12px;scroll-snap-type:x proximity}
.section-tabs>button,.admin-tabs>button{flex:0 0 auto;min-height:44px;white-space:nowrap;scroll-snap-align:start}
.section-tabs [aria-pressed=true],.admin-tabs .active{background:var(--bb-ink);color:#fff}
body .hub-links{flex-wrap:nowrap!important;overflow-x:auto!important;overflow-y:hidden!important;touch-action:pan-x pan-y;max-width:100%;gap:8px!important}
body .hub-links .status-chip{flex:0 0 auto!important;border-radius:10px!important;border:0;background:transparent;min-height:44px!important}
.utility-bar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;min-height:44px}
.utility-bar .academy-access{font-weight:650}.utility-bar .reading-refresh{margin-left:auto;min-height:40px;font-size:12px}
.utility-bar .reading-refresh:disabled{opacity:.55}.utility-bar button{max-width:100%;white-space:normal}
.finance-dashboard,.project-drafts,.action-center,.academy-highlight{padding:20px;border:1px solid var(--bb-border);border-radius:18px;margin:14px 0;background:var(--surface,#fff);min-width:0}
.finance-dashboard{background:var(--bb-soft)}.finance-dashboard h2{font-size:24px;margin:8px 0 18px}.finance-dashboard p{font-size:14px;line-height:1.6}
.summary-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.summary-metrics>div{min-width:0;padding:12px;border-radius:12px;background:#ffffffb0}.summary-metrics strong{display:block;font-size:22px;overflow-wrap:anywhere}.summary-metrics small{display:block;font-size:12px}
.forecast-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0}.forecast-grid article{display:grid;gap:8px;padding:14px;background:var(--surface,#fff);border-radius:12px;min-width:0}.forecast-grid strong{font-size:22px}.forecast-grid span,.forecast-grid small{font-size:12px}
.action-center .project-next-item{margin-top:8px}.portfolio-watch{padding:14px 16px;margin:12px 0;border:1px solid var(--bb-border);border-radius:14px}.portfolio-watch>summary{min-height:44px;cursor:pointer}
.academy-highlight{display:flex;align-items:center;justify-content:space-between;gap:18px;background:var(--bb-soft)}.academy-highlight>div{min-width:0}.academy-highlight h3{margin:6px 0}.academy-highlight p{font-size:14px}.academy-highlight progress,.academy-page>progress{width:100%;accent-color:#24654d}.academy-feedback{padding:15px;border-left:3px solid #49745b;background:var(--bb-soft);border-radius:10px;margin:20px 0}.academy-page details{padding:12px 0;border-bottom:1px solid var(--bb-border)}.academy-page summary{min-height:44px;cursor:pointer}.academy-page p{line-height:1.6}
.bank-space{max-width:1080px;margin:auto}.bank-space .bank-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.bank-space .bank-card{min-width:0}.bank-space .bank-card.has-account{border-color:#4a795e}.bank-space .bank-rate{font-size:25px}.bank-space .pension-panel{margin:18px 0}
.company-context{background:var(--bb-soft);border-radius:14px;padding:16px;margin:12px 0}.company-context h3{margin:6px 0}.company-context p{font-size:13px;line-height:1.5}.company-fold[hidden]{display:none!important}.company-page .company-fold{margin:16px 0;border:0;padding:0}.company-page .company-fold>summary{font-size:20px;min-height:44px}.company-page .company-form{max-width:700px}.company-page .company-property{margin:12px 0;padding:16px}.company-page .company-owned-photo{aspect-ratio:8/5;object-fit:cover;max-height:180px;width:100%;display:block}
.admin-content{min-width:0}.admin-content details{padding:14px 0;border-bottom:1px solid var(--bb-border)}.admin-content summary{min-height:44px;cursor:pointer}.admin-content form{display:grid;gap:14px;margin:12px 0;max-width:780px}.admin-content .admin-check{display:flex;align-items:center}.admin-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}.admin-metrics article{padding:14px;background:var(--bb-soft);border-radius:12px;min-width:0}.admin-metrics strong{display:block;font-size:22px;overflow-wrap:anywhere}.admin-metrics span{font-size:12px}.admin-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--bb-border)}.admin-row>div{flex:1 1 220px;min-width:0;overflow-wrap:anywhere}.admin-row button{min-height:44px}.admin-preview{white-space:pre-wrap;overflow-wrap:anywhere}
/* Photos keep the same box before and after decoding. */
.property-art,.image-select{aspect-ratio:8/5;overflow:hidden}.property-art img{width:100%;height:100%;object-fit:cover;display:block}.shared-listing>img{aspect-ratio:8/5;object-fit:cover;width:100%;height:auto;display:block}
body.detail-route #notification-bell{display:none!important}
@media(max-width:599px){.summary-metrics,.admin-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.forecast-grid,.bank-space .bank-cards{grid-template-columns:minmax(0,1fr)}.finance-dashboard,.project-drafts,.action-center,.academy-highlight{padding:15px}.academy-highlight{align-items:stretch;flex-direction:column}.section-head{flex-wrap:wrap;gap:8px}.section-head h3{margin:4px 0}.finance-dashboard h2{font-size:21px}.utility-bar .reading-refresh{margin-left:0}.filter-fields{max-width:100%;min-width:0}.filter-fields>label{min-width:0}.project-next-item>div{max-width:100%}.bank-space .bank-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-tabs{position:static}}
.theme-dark{--bb-soft:#294338;--bb-border:#59715e;--bb-ink:#173f35}.theme-dark .summary-metrics>div{background:#20372f}.theme-dark .academy-feedback,.theme-dark .admin-metrics article,.theme-dark .company-context{color:#edf3e8}.theme-dark .hub-links .status-chip{color:#edf3e8}
@media(prefers-reduced-motion:reduce){.section-tabs,.hub-links{scroll-behavior:auto}}

/* Notification access sits in the header, outside cards and forms. */
.header-right #notification-bell{position:relative!important;inset:auto!important;transform:none!important;flex:0 0 auto;width:44px!important;height:44px!important;min-height:44px;box-shadow:none;z-index:auto!important;margin:0 6px}
body.detail-route #back-top,body:has(input:focus) #back-top{display:none!important}
/* Reserve the refresh action's width so new data cannot move the photo grid. */
.utility-bar .reading-refresh{flex:0 0 174px;width:174px;height:44px;min-height:44px;white-space:normal;margin-left:0}

/* Correctif ciblé : actualisation intégrée à la barre, sans bulle flottante. */
body .utility-bar button.reading-refresh {
  display:inline-flex!important;
  position:static;
  inset:auto;
  transform:none;
  z-index:auto;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  color:inherit;
  padding:4px 0;
  line-height:1.35;
  text-align:left;
  text-decoration:underline;
  text-underline-offset:3px;
}
body .utility-bar button.reading-refresh:hover,
body .utility-bar button.reading-refresh:active {
  background:transparent;
  box-shadow:none;
  transform:none;
  filter:none;
}
body .utility-bar button.reading-refresh:disabled {
  text-decoration:none;
}
body:has(#detail:not([hidden])) .utility-bar button.reading-refresh {
  display:none!important;
}
/* Administration 3.3.6: liste d'abord, fiche à la demande. */
#admin-panel{min-width:0}#admin-panel .admin-workspace{display:grid;grid-template-columns:minmax(220px,32%) minmax(0,1fr);gap:18px;align-items:start}#admin-panel .admin-account-list{position:sticky;top:4px;max-height:70vh;overflow:auto;border:1px solid var(--bb-border,#dce5de);border-radius:16px;padding:14px;background:var(--surface,#fff)}#admin-panel .admin-account-rows{display:grid;gap:4px}#admin-panel .admin-account{display:grid;text-align:left;gap:3px;width:100%;border:1px solid transparent;border-radius:12px;padding:10px;background:transparent;color:inherit;white-space:normal}#admin-panel .admin-account.selected,#admin-panel .admin-account:focus-visible{border-color:var(--bb-border,#a8c5b2);background:var(--bb-soft,#eff5ef)}#admin-panel .admin-account span,#admin-panel .admin-account small,#admin-panel .admin-account em{font-size:.85em;font-style:normal;overflow-wrap:anywhere}#admin-panel .admin-filters{display:flex;gap:6px;overflow-x:auto;padding:8px 0}#admin-panel .admin-filters button{white-space:nowrap;flex:none}#admin-panel .admin-search-label input,#admin-panel .admin-property-list input{min-width:0;width:100%}#admin-panel .admin-player-pane{min-width:0}#admin-panel .admin-player-head{display:flex;gap:12px;align-items:start;justify-content:space-between;flex-wrap:wrap}#admin-panel .admin-player-head h3{margin:4px 0}#admin-panel .admin-kicker{font-size:.82em;opacity:.7;overflow-wrap:anywhere}#admin-panel .admin-head-actions{display:flex;gap:6px;flex-wrap:wrap}#admin-panel .admin-actions-menu{position:relative}#admin-panel .admin-actions-menu>summary{cursor:pointer;list-style:none;padding:10px;border:1px solid var(--bb-border,#dce5de);border-radius:12px}#admin-panel .admin-actions-menu[open]{display:grid;gap:6px}#admin-panel .admin-actions-menu button{display:block;text-align:left}#admin-panel .admin-accordion{border-bottom:1px solid var(--bb-border,#dce5de);padding:0}#admin-panel .admin-accordion>summary{cursor:pointer;padding:12px 2px;font-weight:650}#admin-panel .admin-detail-body{padding:4px 6px 16px;min-width:0}#admin-panel .admin-property-list>details{border-bottom:1px solid var(--bb-border,#dce5de);padding:8px 0}#admin-panel .admin-property-list summary{display:grid;gap:2px;overflow-wrap:anywhere}#admin-panel .admin-property-list summary span{font-size:.85em;opacity:.8}#admin-panel .admin-edit{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-width:100%;padding:12px!important}#admin-panel .admin-edit>*{min-width:0}#admin-panel .admin-paging{display:flex;align-items:center;justify-content:space-between;gap:6px;margin:12px 0}#admin-panel .admin-paging button{min-width:0}#admin-panel .admin-confirm{position:sticky;bottom:8px;z-index:4;max-width:760px;margin:12px auto;background:var(--surface,#fff);box-shadow:0 6px 32px #183e3240;border:1px solid var(--bb-border,#dce5de)}#admin-panel .admin-empty{padding:28px;text-align:center;opacity:.75}
@media(max-width:760px){#admin-panel .admin-workspace{grid-template-columns:minmax(0,1fr)}#admin-panel .admin-account-list{position:static;max-height:280px}#admin-panel .admin-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}#admin-panel .admin-edit{grid-template-columns:minmax(0,1fr)}#admin-panel .admin-player-head{display:block}#admin-panel .admin-head-actions{margin-top:8px}#admin-panel .admin-confirm{bottom:calc(6px + env(safe-area-inset-bottom,0px))}}

#admin-panel .admin-confirm{position:fixed;z-index:1001;top:50%;left:50%;bottom:auto;transform:translate(-50%,-50%);width:min(92vw,660px);max-height:80dvh;overflow:auto;padding:20px;background:var(--surface,#fff)}@media(max-width:760px){#admin-panel .admin-confirm{top:auto;bottom:calc(10px + env(safe-area-inset-bottom,0px));left:50%;transform:translateX(-50%);max-height:65dvh}}

.budget-dashboard h2{font-variant-numeric:tabular-nums;font-size:clamp(24px,5vw,40px);margin:16px 0}.budget-dashboard h2 small{font-size:16px;font-weight:400}.budget-dashboard article{min-width:0}.budget-dashboard strong{overflow-wrap:anywhere}.budget-editor{max-width:900px}.budget-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.budget-editor label{display:grid;gap:6px;margin:12px 0}.budget-editor input,.budget-editor select,#registration-budget input,#registration-budget select{width:100%;min-width:0;min-height:44px;font-size:16px;padding:10px;border:1px solid #b3c3b9;border-radius:9px;background:var(--bb-surface,#fff);color:inherit}.budget-advice{border-left:3px solid #397860;padding:12px 16px;background:var(--bb-soft,#edf3e9);margin:20px 0}.budget-table{overflow-x:auto}.budget-table table{width:100%;border-collapse:collapse;font-size:14px}.budget-table th,.budget-table td{text-align:right;padding:10px;border-bottom:1px solid var(--bb-border,#dce4dc);white-space:nowrap}.budget-table th:first-child,.budget-table td:first-child{text-align:left}.wealth-chart>div{display:grid;grid-template-columns:45px minmax(50px,1fr) minmax(90px,auto);gap:8px;align-items:center;margin:8px 0}.wealth-chart meter{width:100%;height:20px}.budget-dashboard summary,.budget-editor summary{cursor:pointer;min-height:44px;padding:12px 0;font-weight:650}.budget-dashboard details{margin:12px 0}.budget-dashboard progress{width:100%}body select{font-size:16px;min-height:44px;max-width:100%;touch-action:manipulation}#registration-budget{margin:24px 0;text-align:left}#registration-budget h2{font-size:23px}#registration-budget .budget-fields{grid-template-columns:repeat(2,minmax(0,1fr))}#registration-budget p{font-size:14px;line-height:1.5}.budget-editor button{min-height:44px}.theme-dark .budget-advice{color:#edf3e8}
@media(max-width:600px){.budget-fields,#registration-budget .budget-fields{grid-template-columns:minmax(0,1fr)}.budget-dashboard .summary-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.budget-dashboard{padding:16px}.budget-table{font-size:13px}.wealth-chart small{font-size:11px}}

/* Correctif bandeau : même palette, blocs séparés et montants entiers. */
body #sticky-finances,body.scrolled-page #sticky-finances {
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr)!important;
  column-gap:20px!important;row-gap:8px!important;
  height:auto!important;align-items:center;
}
body #sticky-finances>strong,body #sticky-finances>.income-explainer,
body #sticky-finances>.sticky-calendar {
  min-width:0;max-width:100%;white-space:normal!important;
  overflow-wrap:anywhere;font-variant-numeric:tabular-nums;
}
body #sticky-finances>strong{font-size:clamp(17px,2.2vw,25px)!important;line-height:1.2}
body #sticky-finances>.income-explainer{font-size:14px!important;min-height:44px;line-height:1.3}
body #sticky-finances .sticky-income-amount{display:block}
body #sticky-finances .sticky-calendar{font-size:14px!important}
body #sticky-finances [data-next-month]{display:inline-block;min-width:5ch;white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums}
@media(max-width:600px){
  body #sticky-finances,body.scrolled-page #sticky-finances {
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    column-gap:12px!important;row-gap:7px!important;
    padding-top:calc(9px + env(safe-area-inset-top,0px))!important;
    padding-bottom:10px!important;
  }
  body #sticky-finances>strong{grid-column:1 / -1;justify-self:start;font-size:clamp(20px,5.5vw,26px)!important;line-height:1.2}
  body #sticky-finances>.income-explainer{grid-column:1;justify-self:start;text-align:left;font-size:12px!important;min-height:44px}
  body #sticky-finances>.sticky-calendar{grid-column:2;justify-self:end;font-size:12px!important;line-height:1.4}
  body #sticky-finances small{font-size:10px!important;line-height:1.4!important;white-space:normal}
}

/* Shared BatiBlocs tokens; no second palette. */
.finance331,.finance331>*{min-width:0}
.finance331>.panel,.pension-bottom{margin-block:16px}
.finance331 .summary-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
.summary-metrics article{min-width:0;overflow-wrap:anywhere}
.summary-metrics strong,.decision-impact td{font-variant-numeric:tabular-nums}
.comparison-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.decision-impact{padding:16px;background:var(--bb-soft);border:1px solid var(--bb-line);border-radius:12px;margin-block:16px}
.decision-impact table{width:100%;border-collapse:collapse;text-align:left}
.decision-impact td,.decision-impact th{padding:10px;overflow-wrap:anywhere}
.filter-rail{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;overscroll-behavior-inline:contain;min-width:0;padding:4px;touch-action:pan-x pan-y}
.filter-rail::-webkit-scrollbar{display:none}
.filter-rail button{flex:0 0 auto;white-space:nowrap;min-height:44px}
.rail-wrap{display:grid;grid-template-columns:32px minmax(0,1fr) 32px;gap:4px;align-items:center;margin-block:8px}
.rail-arrow{border:0;border-radius:12px;background:var(--bb-soft);color:var(--bb-ink);min-height:44px;font-size:24px}
.filter-rail [aria-pressed=true],.finance331 .filters [aria-pressed=true]{background:var(--green);color:var(--bb-surface);border-color:var(--green)}
.sidebar .nav.active::before,.sidebar .nav.active::after{display:none!important}
.sidebar .nav.active{border-top:0!important;box-shadow:none!important}
.finance331 input,.finance331 select,.finance331 textarea,#dialog-content input,#dialog-content select,#dialog-content textarea{max-width:100%;min-width:0}
input:not([type=checkbox]):not([type=range]),select,textarea{font-size:max(16px,1em)}
.property-art{contain:layout paint;overflow:hidden}
.property-art img{display:block;width:100%;height:100%;object-fit:cover}
.property:hover .property-art img{transform:none}
#dialog-content .dialog-inner{overflow-wrap:anywhere}
#dialog-content:has(.decision-impact){max-width:760px;margin-inline:auto}
#content:has(.finance331),#content:has([data-projects331]){max-width:1160px;margin-inline:auto}
#dialog-content:has(.company-page),#dialog-content:has(.academy-page){max-width:1160px;margin-inline:auto}
#content:has(.cards){max-width:1560px;margin-inline:auto}
#dialog-content:has(.comparison-grid){max-width:1320px;margin-inline:auto}
[data-admin-economy331] details{padding:12px;border:1px solid var(--bb-line);border-radius:12px;margin:10px 0}
[data-admin-economy331] label{display:grid;gap:7px;margin:12px 0}
[data-admin-economy331] input{background:var(--bb-surface);color:var(--bb-ink);border:1px solid var(--bb-line);border-radius:10px;padding:12px;font:inherit}
@media(min-width:1100px){
 .sidebar{padding-block:20px}
 .sidebar .company{margin-block:20px;padding-block:12px}
 .sidebar .nav{padding-block:10px}
 .sidebar .brand b{font-size:20px}
 .sidebar .side-bottom{padding-top:16px}
 .finance331 .actions{display:flex;flex-wrap:wrap}
}
@media(min-width:700px) and (max-width:1099px){
 .comparison-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .finance331 .summary-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
 .sidebar .brand small{font-size:10px}
}
@media(max-width:699px){
 .comparison-grid{grid-template-columns:minmax(0,1fr)}
 .finance331 .summary-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
 .finance331>.panel{padding:16px}
 .rail-wrap{grid-template-columns:minmax(0,1fr)}
 .rail-arrow{display:none}
 .decision-impact{padding:10px}
 .decision-impact td,.decision-impact th{padding:8px 5px;font-size:13px}
 .confirmation-window{max-height:calc(100dvh - 32px);overflow:auto}
 .finance331 h2{font-size:clamp(20px,5vw,28px)}
}
@media(prefers-reduced-motion:reduce){.filter-rail{scroll-behavior:auto}*{scroll-behavior:auto}}

@media(min-width:850px){.simple-policy-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.simple-policy{min-width:0;margin:0!important}.simple-policy>div{flex-wrap:wrap}}
.onboard-progress{display:flex;gap:8px;overflow:auto;margin:18px 0}.onboard-progress button{white-space:nowrap;min-height:44px}
#registration-avatar [hidden]{display:none!important}

@media(max-width:699px){
 .utility-bar{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto;gap:16px;scrollbar-width:none;padding-block:5px;margin-block:6px}
 .utility-bar button{flex:0 0 auto;white-space:nowrap;font-size:13px;min-height:44px;padding:6px}
 .utility-bar .reading-refresh:disabled{display:none}
 .finance331>.filters{display:flex;flex-wrap:nowrap;gap:7px;overflow-x:auto;justify-content:flex-start}
 .finance331>.filters button{flex:0 0 auto;font-size:13px;padding:10px}
 .hub-links{margin-block:5px!important}
 body[data-view=finances] .page-heading{margin-bottom:8px}
}

/* 3.3.2 — readable notifications, map filter rails and continuous browser chrome. */
:root{--app-chrome-bg:#123e37;background-color:var(--app-chrome-bg)}
body{--app-page-bg:#f4f6f3;background-color:var(--app-chrome-bg)!important;isolation:isolate;min-height:100dvh}
body.theme-sage{--app-page-bg:#f5f8f1}
body.theme-dark{--app-page-bg:#132721}
body::before{content:"";position:fixed;inset:var(--finance-height,76px) 0 0;z-index:-1;background:var(--app-page-bg);pointer-events:none}
body>.shell{background:var(--app-page-bg);display:flow-root}
body #sticky-finances,body.scrolled-page #sticky-finances{background-color:var(--app-chrome-bg)!important}
body #sticky-finances::before{background-color:var(--app-chrome-bg);background-image:none}

.notification-panel{width:100%;max-width:780px;min-width:0}
.notification-panel .notification-heading{align-items:flex-start;margin-bottom:18px}
.notification-panel .notification-heading>div{min-width:0;flex:1 1 240px}
.notification-panel .notification-heading h2{margin-bottom:8px}
.notification-panel .notification-heading>.text-btn{text-align:left;min-height:44px}
.notification-panel .notification-item{grid-template-columns:40px minmax(0,1fr);align-items:start;gap:14px}
.notification-panel .notification-item>div{grid-column:2;min-width:0}
.notification-panel .notification-item>div:only-child{grid-column:1 / -1}
.notification-panel .notification-item :is(h3,p,button){word-break:normal;overflow-wrap:break-word}
.notification-panel .notification-item .notification-icon{background:var(--bb-soft);color:var(--bb-ink);flex:none}
.notification-panel .notification-icon svg{width:22px;height:22px;display:block}
.notification-meta{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:5px 16px;margin-bottom:8px;color:var(--bb-secondary);font-size:12px}
.notification-panel .notification-item .notification-amount{font-size:21px;font-weight:700;line-height:1.35;color:var(--bb-ink)!important;font-variant-numeric:tabular-nums}
.notification-panel .notification-actions{margin-top:12px}
.notification-panel .notification-actions button{min-height:44px;max-width:100%;white-space:normal;text-align:left}
.notification-panel>.tenant-request,.notification-panel .official-notice{padding:18px;border:1px solid var(--bb-line);border-radius:18px;background:var(--bb-surface);margin:12px 0}

.city-map .map-local-filters{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;padding:0 16px 16px;align-items:start}
.city-map .map-local-filters>.budget-map{grid-column:1 / -1;justify-self:start;margin:0;min-height:44px}
.map-filter-group{min-width:0;max-width:100%}
.map-filter-label{display:block;font-size:12px;font-weight:650;color:var(--bb-secondary);margin:0 4px 6px}
.map-filter-group .rail-wrap{margin:0;grid-template-columns:32px minmax(0,1fr) 32px}
.map-filter-group .filter-rail{scroll-padding-inline:4px}
.map-filter-group .filter-rail button{flex:0 0 auto;width:auto!important;min-width:0;border-radius:99px;font-size:13px;min-height:44px;margin:0;padding:10px 16px}
.map-filter-group .filter-rail button[aria-pressed=true]{color:var(--bb-surface);background:var(--bb-ink);border-color:var(--bb-ink)}
.map-filter-group .rail-arrow{min-width:32px;min-height:44px;margin:0;padding:0;font-size:24px}
@media(max-width:699px){
 .notification-panel .notification-item{grid-template-columns:34px minmax(0,1fr);gap:12px;padding:16px}
 .notification-panel .notification-icon{width:34px;height:34px}
 .notification-panel .notification-meta{gap:4px 10px;font-size:11px}
 .notification-panel .notification-item h3{font-size:18px;line-height:1.35}
 .notification-panel .notification-actions{margin-left:-46px}
 .notification-panel .notification-actions button{width:100%;text-align:center}
 .notification-panel .notification-item>div:only-child .notification-actions{margin-left:0}
 .city-map .map-local-filters{grid-template-columns:minmax(0,1fr);gap:12px;padding-inline:12px}
 .map-filter-group .rail-wrap{grid-template-columns:minmax(0,1fr)}
 .map-filter-group .rail-arrow{display:none}
}

/* Incremental mobile polish; existing layout, typography and draggable sections remain intact. */
body #content .hub-links{margin-bottom:4px!important;padding-bottom:0!important}
body #content .hub-links+.utility-bar{margin-top:0!important;margin-bottom:12px!important;padding-top:0!important;min-height:0!important;align-items:center}
body #content .prestige-market .prestige-sort{display:flex;align-items:center;gap:8px;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x proximity;margin:22px 0 18px;padding:2px 0 4px;max-width:100%;overscroll-behavior-x:contain}
body #content .prestige-sort::-webkit-scrollbar{display:none}
body #content .prestige-sort>span{color:var(--bb-secondary);font-size:14px;flex:none;margin-right:4px}
body #content .prestige-sort .status-chip{flex:none;white-space:nowrap;scroll-snap-align:start;border-radius:999px;min-height:42px;padding:8px 16px}
body #content .prestige-sort+.cards{margin-top:0}
body #content .market-refresh{width:auto;min-width:44px;min-height:36px!important;height:auto;display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:5px 11px!important;vertical-align:middle;font:600 12px/1.3 system-ui;transform:none}
body #content .market-refresh>span:first-child{font-size:19px;line-height:1;flex:none}
body #content .market-refresh:hover{transform:none}
body #content .market-refresh[aria-busy=true]>span:first-child{animation:bb-market-refresh .7s linear infinite}
@keyframes bb-market-refresh{to{transform:rotate(360deg)}}
body #content .finance-sections{min-height:0!important}
body #content .finance-sort-row:last-child{margin-bottom:0!important;padding-bottom:0!important}
.notification-item .notification-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.notification-mission .note{font-size:13px;line-height:1.45}
.summary-metrics{min-width:0}
.summary-metrics article{min-width:0}
.summary-metrics article strong{display:block;max-width:100%;font-size:clamp(15px,1.65vw,21px)!important;line-height:1.28;letter-spacing:-.025em;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.ranking331{width:100%;min-width:0}
.ranking-intro{margin-bottom:14px}
.ranking-intro h2{margin:4px 0 8px;font-size:clamp(22px,5vw,29px)}
.ranking-intro p{margin:0;color:var(--bb-secondary);font-size:14px;line-height:1.5}
.ranking-privacy{margin:14px 0 18px;padding:12px 16px;border:1px solid var(--bb-line);border-radius:14px}
.ranking-privacy summary{font-weight:600;cursor:pointer;min-height:34px}
.ranking-privacy label{display:block;margin-top:8px}
.ranking-entries{display:grid;gap:9px}
.ranking-entry{display:grid;grid-template-columns:36px 44px minmax(0,1fr);align-items:center;gap:11px;padding:11px 12px;border:1px solid var(--bb-line);border-radius:16px;background:var(--bb-card);min-width:0}
.ranking-entry.top-three{background:var(--bb-soft)}
.ranking-entry.is-me{border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}
.ranking-rank{font-weight:700;color:var(--green);font-variant-numeric:tabular-nums;text-align:center}
.ranking-entry>svg{width:44px;height:44px}
.ranking-player{min-width:0;line-height:1.25}
.ranking-player strong{display:block;font-size:15px;overflow-wrap:anywhere}
.ranking-player span{display:block;color:var(--green);font-weight:600;font-variant-numeric:tabular-nums;font-size:14px;margin-top:3px}
.ranking-player small{display:block;color:var(--bb-secondary);font-size:12px;margin-top:3px;overflow-wrap:anywhere}
@media(max-width:600px){body #content .prestige-market .prestige-sort{margin:16px 0 14px}body #content .prestige-sort .status-chip{min-height:42px;padding:8px 13px}body #content .market-refresh{margin:4px 0!important}}
@media(max-width:600px){.summary-metrics article strong{font-size:clamp(13px,3.65vw,17px)!important;letter-spacing:-.035em}.summary-metrics article span{font-size:13px;line-height:1.3}.ranking-entry{grid-template-columns:32px 40px minmax(0,1fr);gap:8px;padding:10px}.ranking-entry>svg{width:40px;height:40px}}
@media(prefers-reduced-motion:reduce){body #content .market-refresh[aria-busy=true]>span:first-child{animation:none}}

/* Mes biens : choix visibles et glissement horizontal, dans la palette du jeu. */
body #content .collection-filters{display:flex;flex-direction:column;align-items:stretch;gap:5px;margin:10px 0 14px;min-width:0}
body #content .collection-rail{display:flex;flex-wrap:nowrap;gap:7px;align-items:center;max-width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:3px 2px 7px;touch-action:pan-x pan-y}
body #content .collection-rail::-webkit-scrollbar{display:none}
body #content .collection-rail>button.status-chip{flex:0 0 auto;white-space:nowrap;scroll-snap-align:start;min-height:42px;padding:9px 15px;border-radius:999px;border:1px solid var(--bb-line);background:var(--bb-card);color:var(--bb-ink);font-size:13px;font-weight:600;line-height:1.25}
body #content .collection-rail>button.status-chip[aria-pressed=true]{background:var(--green);color:white;border-color:var(--green)}
body #content .collection-filters>[data-sales-archive]{align-self:flex-end;min-height:40px}
/* La roue seule reste explicite via aria-label et title. */
body #content .result-count .market-refresh{display:inline-flex!important;align-items:center;justify-content:center;vertical-align:middle;flex:0 0 40px;width:40px!important;min-width:40px;height:40px!important;min-height:40px!important;padding:0!important;margin:0 0 0 auto!important;border:1px solid var(--bb-line)!important;border-radius:50%!important;background:var(--bb-soft)!important;color:var(--green)!important;box-shadow:0 1px 3px #142d2515;font-size:0!important;transition:background-color .15s ease,box-shadow .15s ease}
body #content .result-count .market-refresh:hover:not(:disabled){background:#e5efe4!important;box-shadow:0 2px 8px #142d2528;transform:none}
body #content .result-count .market-refresh>svg{display:block;flex:none;width:21px;height:21px}
body #content .result-count .market-refresh[aria-busy=true]>svg{animation:bb-market-refresh .7s linear infinite}
@media(max-width:600px){body #content .collection-rail>button.status-chip{min-height:40px;padding:8px 13px}body #content .result-count .market-refresh{flex-basis:38px;width:38px!important;min-width:38px;height:38px!important;min-height:38px!important}}
@media(prefers-reduced-motion:reduce){body #content .result-count .market-refresh[aria-busy=true]>svg{animation:none}}

/* Rubans de filtres : même présentation sobre que Parcours et Discussions. */
body #content .city-map .map-filter-group .filter-rail>button,
body #content .rail-wrap>.filter-rail>[data-rail331]{flex:0 0 auto!important;width:auto!important;min-width:0!important;min-height:40px!important;padding:8px 13px!important;margin:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:var(--bb-secondary)!important;font:600 14px/1.3 system-ui,sans-serif!important;white-space:nowrap;scroll-snap-align:start;position:relative}
body #content .city-map .map-filter-group .filter-rail>button[aria-pressed=true],
body #content .rail-wrap>.filter-rail>[data-rail331][aria-pressed=true]{color:var(--bb-ink)!important;font-weight:700!important}
body #content .city-map .map-filter-group .filter-rail>button[aria-pressed=true]::after,
body #content .rail-wrap>.filter-rail>[data-rail331][aria-pressed=true]::after{content:"";position:absolute;inset:auto 13px 1px;height:2px;border-radius:2px;background:var(--bb-accent)}
body #content .city-map .map-filter-group .filter-rail>button:focus-visible,
body #content .rail-wrap>.filter-rail>[data-rail331]:focus-visible{outline:2px solid var(--bb-accent)!important;outline-offset:-2px}
body #content .city-map .map-filter-group .filter-rail{gap:3px;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
body #content .city-map .map-filter-group .filter-rail::-webkit-scrollbar{display:none}
body #content .city-map .map-filter-group{min-width:0}
body #content .city-map .map-filter-group .map-filter-label{margin-bottom:1px}
/* La recherche suit immédiatement le ruban principal, sans espace vide. */
body #content>.hub-links{margin-bottom:0!important;padding-bottom:0!important}
body #content>.hub-links+.utility-bar{margin-top:0!important;padding-top:0!important;margin-bottom:8px!important;min-height:0!important;gap:6px}
body #content>.hub-links+.utility-bar>[data-global-search]{min-height:40px;white-space:nowrap}
@media(max-width:600px){body #content .city-map .map-filter-group .filter-rail>button,body #content .rail-wrap>.filter-rail>[data-rail331]{font-size:13px!important;padding:8px 11px!important}}
/* Le tri par prix partage une seule commande à deux directions. */
body #content .result-count .compact-price-sort{display:inline-flex;align-items:center;gap:0;margin-left:8px;white-space:nowrap;color:var(--bb-secondary)}
body #content .result-count .compact-price-sort>span{margin-right:9px;font-weight:600}
body #content .result-count .compact-price-sort>button{display:inline-grid!important;place-items:center!important;flex:0 0 39px;width:39px!important;min-width:39px!important;height:40px!important;min-height:40px!important;padding:0!important;margin:0!important;border:1px solid var(--bb-line)!important;border-radius:0!important;background:#fff!important;color:var(--green,#194f43)!important;box-shadow:none!important;transition:background-color .15s ease,color .15s ease}
body #content .result-count .compact-price-sort>button:first-of-type{border-radius:11px 0 0 11px!important}
body #content .result-count .compact-price-sort>button:last-of-type{border-left:0!important;border-radius:0 11px 11px 0!important}
body #content .result-count .compact-price-sort>button[aria-pressed=true]{background:#f2f4f2!important;border-color:var(--bb-line,#d8e2d8)!important;color:var(--bb-ink,#203b35)!important}
body #content .result-count .compact-price-sort>button:hover:not([aria-pressed=true]){background:var(--bb-soft,#edf4ec)!important}
body #content .result-count .compact-price-sort>button:focus-visible{outline:2px solid var(--bb-accent,#598d70)!important;outline-offset:2px;z-index:1}
body #content .result-count .compact-price-sort>button svg{display:block;width:18px;height:18px;flex:none}
@media(max-width:600px){body #content .result-count .compact-price-sort{margin-left:0}body #content .result-count .compact-price-sort>button{flex-basis:38px;width:38px!important;min-width:38px!important;height:38px!important;min-height:38px!important}}
@media(prefers-reduced-motion:reduce){body #content .result-count .compact-price-sort>button{transition:none}}
/* Plusieurs biens demandant la même décision partagent une seule notification. */
.notification-property-group .notification-body{min-width:0;width:100%}
.notification-property-group details{margin-top:10px}
.notification-property-group summary{cursor:pointer;color:var(--green,#194f43);font-weight:700;padding:9px 0;min-height:44px}
.notification-property-group .notification-actions{display:flex;flex-wrap:wrap;gap:8px;max-height:260px;overflow:auto;padding:4px 0 8px}
.notification-property-group .notification-actions>button{max-width:100%;white-space:normal;text-align:left;overflow-wrap:anywhere}
/* Budget de la carte : libellé unique et taille naturelle sur mobile. */
body #content .city-map .map-local-filters>.budget-map{display:inline-flex!important;align-items:center;justify-content:center;gap:0;justify-self:start!important;width:auto!important;max-width:100%;min-width:0!important;min-height:40px!important;padding:9px 15px!important;margin:0!important;border:1px solid var(--bb-line,#d8e2d8)!important;border-radius:999px!important;background:var(--bb-card,#fff)!important;color:var(--green,#194f43)!important;box-shadow:none!important;font:600 13px/1.3 system-ui,sans-serif!important;white-space:normal!important;text-align:center;overflow-wrap:anywhere}
body #content .city-map .map-local-filters>.budget-map.active{background:var(--green,#194f43)!important;border-color:var(--green,#194f43)!important;color:#fff!important}
body #content .city-map .map-local-filters>.budget-map:not(.active):hover{background:var(--bb-soft,#edf4ec)!important}
body #content .city-map .map-local-filters>.budget-map:focus-visible{outline:2px solid var(--bb-accent,#598d70)!important;outline-offset:2px}
@media(max-width:600px){body #content .city-map .map-local-filters>.budget-map{min-height:38px!important;padding:8px 13px!important;font-size:12px!important}}
/* Le bandeau du classement est un contenu de page, pas l'en-tête fixe du site. */
body .ranking331{width:100%;min-width:0;overflow-wrap:anywhere}
body .ranking331>.ranking-intro{display:block!important;position:static!important;inset:auto!important;width:100%!important;height:auto!important;min-height:0!important;margin:0 0 16px!important;padding:0 0 14px!important;border:0!important;border-bottom:1px solid var(--bb-line,#d8e2d8)!important;background:transparent!important;box-shadow:none!important;color:var(--bb-ink,#203b35)!important;text-align:left!important}
body .ranking331>.ranking-intro .eyebrow{display:block;margin:0 0 8px;font-size:11px;line-height:1.4;letter-spacing:.12em;white-space:normal}
body .ranking331>.ranking-intro h2{display:block;margin:0 0 8px!important;font-size:clamp(22px,5vw,30px)!important;line-height:1.18!important;letter-spacing:-.025em;overflow-wrap:normal}
body .ranking331>.ranking-intro p{display:block;max-width:65ch;margin:0!important;font-size:14px!important;line-height:1.5!important;color:var(--bb-secondary,#5a7065)!important}
body .ranking331>.ranking-privacy{clear:both;margin-top:12px}
@media(max-width:600px){body .ranking331>.ranking-intro h2{font-size:24px!important}body .ranking331>.ranking-intro p{font-size:13px!important}}
.bank-transfer-entry,.account-transfer-entry{margin:12px 0 18px}
.bank-transfer-page{max-width:680px;margin-inline:auto}
.bank-transfer-page>p{line-height:1.5}
.bank-transfer-page>label{display:block;margin:14px 0 0;font-weight:600;color:var(--bb-ink,#203b35)}
.bank-transfer-page>label>select,.bank-transfer-page>label>input{display:block;width:100%;margin-top:7px}
.bank-transfer-available{padding:10px 13px;margin:8px 0 16px;border-radius:12px;background:var(--bb-soft,#edf4ec);color:var(--green,#194f43);font-weight:600}
.bank-transfer-shortcuts{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 14px}
.bank-transfer-shortcuts>button{min-height:40px;padding:7px 13px}
.bank-transfer-preview{margin:16px 0;padding:12px 16px;border:1px solid var(--bb-line,#d8e2d8);border-radius:16px;background:var(--bb-card,#fff)}
.bank-transfer-page>#bank-transfer-error:empty,.bank-transfer-page>.account-feedback:empty{display:none}
.bank-switch-choices{display:grid;gap:9px;margin:16px 0}
.bank-switch-choices>label{display:flex;align-items:flex-start;gap:9px;line-height:1.45;min-height:40px}
.bank-switch-choices input{flex:0 0 auto;margin-top:4px}
/* Tri prix : le sens choisi reste discret, sans fond vert. */
body #content .result-count .compact-price-sort>button[aria-pressed=true] svg{stroke-width:2.25}
/* Une action principale lisible sur toute la carte, deux actions secondaires dessous. */
body .bank-space .bank-card .bank-card-top{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;min-width:0}
body .bank-space .bank-card .bank-card-top>*{min-width:0}
body .bank-space .bank-card .bank-card-top>.eyebrow{flex:1 1 130px;line-height:1.35}
body .bank-space .bank-card .bank-account-badge{flex:0 0 auto;border:1px solid var(--bb-line,#d8e2d8);background:var(--bb-soft,#f1f4f0);color:var(--bb-ink,#203b35);font-size:12px;font-weight:650;letter-spacing:0;white-space:nowrap}
@media(max-width:580px){body .bank-space .bank-card .bank-card-top>.eyebrow{flex-basis:100%}body .bank-space .bank-card .bank-account-badge{margin-top:2px}}
body .bank-space .bank-card .bank-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:9px;width:100%;margin-top:auto;padding-top:16px}
body .bank-space .bank-card .bank-actions>button{min-width:0;width:100%;min-height:46px;margin:0;padding:10px 12px;white-space:normal;overflow-wrap:normal;word-break:normal;line-height:1.3;font-size:clamp(12px,3.5vw,14px)}
body .bank-space .bank-card .bank-actions>button:first-child{grid-column:1/-1;min-height:50px;font-size:clamp(14px,3.8vw,16px)}
/* Correctif récapitulatif multi-biens, sinistres et patrimoine */
.confirmation-window:has(#bulk-renovation-review){width:min(900px,calc(100vw - 24px))!important;max-width:min(900px,calc(100vw - 24px))!important;max-height:calc(100dvh - 32px);overflow:auto}
#bulk-renovation-review{min-width:0;overflow-wrap:anywhere}
#bulk-renovation-review .bulk-review-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}
.bulk-review-summary>div,.bulk-review-item,.bulk-impact-row,.wealth-trend>div{border:1px solid #d9e4dc;border-radius:16px;padding:14px;background:#fff;min-width:0}
.bulk-review-summary span,.wealth-trend span{display:block;color:#64746c;font-size:.85rem}
.bulk-review-summary strong,.wealth-trend strong{display:block;color:#173c34;font-size:clamp(1rem,3vw,1.3rem);overflow-wrap:anywhere}
.bulk-review-summary p{grid-column:1/-1;margin:0}
.bulk-review-controls,.bulk-review-actions{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}
.bulk-review-items{display:grid;gap:12px;max-height:min(45vh,530px);overflow:auto;overscroll-behavior:contain}
.bulk-review-item>div:first-child{display:flex;justify-content:space-between;align-items:center;gap:10px}
.bulk-review-item h3{margin:0;font-size:1.05rem}
.bulk-review-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}
.bulk-review-facts span{color:#64746c}.bulk-review-facts strong{display:block;color:#193d34}
.bulk-impact{display:grid;gap:8px}.bulk-impact-row{display:grid;grid-template-columns:minmax(0,1fr) repeat(2,minmax(0,1fr));gap:8px;align-items:center}
.bulk-impact-row strong{font-size:.94rem;overflow-wrap:anywhere}.bulk-impact-row small{display:block;color:#66776e;font-weight:400}
.wealth331 .summary-metrics strong{font-size:clamp(1rem,3.2vw,1.35rem);line-height:1.25;overflow-wrap:anywhere}
.wealth-trend{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0}.wealth-trend small{display:block}
.wealth-line{padding:12px;border:1px solid #d9e4dc;border-radius:16px}.wealth-line svg{display:block;width:100%;height:140px;color:#204a3f}.wealth-line>div{display:flex;justify-content:space-between}
.claim-panel .ledger{gap:12px}.claim-panel .ledger strong{overflow-wrap:anywhere}
@media(max-width:700px){#bulk-renovation-review .bulk-review-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.bulk-review-summary>div:first-child{grid-column:1/-1}.bulk-impact-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.bulk-impact-row>span{grid-column:1/-1}.bulk-review-actions>button{flex:1 1 100%;white-space:normal}.wealth-trend{grid-template-columns:1fr 1fr}.wealth-trend>div:last-child{grid-column:1/-1}.decision-impact .budget-table table{width:100%;min-width:0}.decision-impact .budget-table thead{display:none}.decision-impact .budget-table tbody,.decision-impact .budget-table tr{display:block}.decision-impact .budget-table tr{padding:12px 0;border-bottom:1px solid #d9e4dc}.decision-impact .budget-table th,.decision-impact .budget-table td{display:block;text-align:left;width:100%;padding:3px 0}.decision-impact .budget-table td:first-of-type:before{content:'Avant : ';font-weight:600}.decision-impact .budget-table td:last-of-type:before{content:'Après : ';font-weight:600}}
/* Classement complet : ruban de niveaux et chargement progressif */
.ranking331 .ranking-modes331{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x proximity;overscroll-behavior-inline:contain;padding:6px 0 12px;margin:8px 0 0;scrollbar-width:thin}
.ranking331 .ranking-modes331 button{flex:0 0 auto;white-space:nowrap;scroll-snap-align:start;min-height:42px;border-radius:999px;padding:8px 16px}
.ranking331 .ranking-modes331 button[aria-pressed="true"]{background:#1b493f;color:#fff;border-color:#1b493f}
.ranking331 .ranking-modes331 button span{opacity:.8;margin-left:6px}
.ranking331 .ranking-more331{display:block;width:100%;margin:18px auto 4px;min-height:48px}
.ranking331 .ranking-entry .ranking-player{min-width:0;overflow-wrap:anywhere}
@media(max-width:600px){.ranking331 .ranking-modes331{margin-inline:-8px;padding-inline:8px}.ranking331 .ranking-modes331 button{font-size:14px}}
/* Gérance : entretien courant et réserve affectée */
.agency-overview,.agency-upkeep{border:1px solid #dce7df;border-radius:22px;padding:clamp(18px,3vw,28px);background:#fff;color:#1c4038}
.agency-overview{margin:18px 0 24px}.agency-overview h3,.agency-upkeep h4{margin:0 0 14px;font-size:1.2rem}
.agency-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:12px;margin:16px 0}
.agency-stat-grid>div{background:#f3f8f3;border-radius:16px;padding:14px;min-width:0}.agency-stat-grid small{display:block;color:#62746e;margin-bottom:6px}.agency-stat-grid strong{display:block;font-size:clamp(1rem,2vw,1.35rem);overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.agency-fund{display:flex;align-items:end;flex-wrap:wrap;gap:10px;margin:16px 0 20px}.agency-fund label{flex:1 1 180px}.agency-fund input{width:100%;margin-top:6px}.agency-fund button{min-height:46px;white-space:normal}
.agency-upkeep{background:#f8faf8;margin:18px 0}.agency-upkeep p{overflow-wrap:anywhere}.agency-decision{padding:16px;border:1px solid #d6c9a7;border-radius:16px;background:#fffdf6;margin:14px 0}.agency-decision .actions{display:flex;flex-wrap:wrap;gap:8px}.agency-decision button{min-height:44px}
@media(max-width:640px){.agency-fund button{flex:1 1 120px}.agency-overview,.agency-upkeep{padding:16px}.agency-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.agency-fund{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:10px}.agency-fund label{min-width:0;flex:unset}.agency-fund select{width:100%;min-width:0;max-width:100%;margin-top:6px;overflow:hidden;text-overflow:ellipsis}.agency-fund-available,.agency-fund-error{grid-column:1/-1;font-size:.9rem}.agency-fund-error:not(:empty){color:#a44133}.agency-fund button{min-height:48px;white-space:normal}.agency-fund [data-upkeep-max]{grid-column:1/-1;width:max-content;max-width:100%;justify-self:start}@media(max-width:640px){.agency-fund{grid-template-columns:1fr}.agency-fund button,.agency-fund [data-upkeep-max]{grid-column:1/-1;width:100%}}
/* Réserve de gérance : choix de compte horizontal et retour immédiat. */
.agency-fund{display:block;min-width:0;margin:20px 0 18px}.agency-fund-label{display:block;font-weight:700;margin-bottom:8px}.agency-fund-source{display:flex;gap:9px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;scrollbar-width:thin;padding:4px 2px 12px;margin-bottom:10px;-webkit-overflow-scrolling:touch}.agency-fund-chip{flex:0 0 auto;min-width:150px;max-width:245px;display:flex;flex-direction:column;gap:3px;text-align:left;scroll-snap-align:start;padding:12px 16px;border:1px solid #d6e1d9;border-radius:16px;background:#fff;color:#1c4038;font:inherit;box-shadow:none;min-height:76px}.agency-fund-chip.is-active{background:#1c4038;color:#fff;border-color:#1c4038}.agency-fund-chip strong{font-size:1rem;font-variant-numeric:tabular-nums}.agency-fund-chip small{opacity:.78;font-size:.77rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.agency-fund>label{display:block;margin:8px 0 4px}.agency-fund>label input{width:100%;font-size:1.12rem}.agency-fund-available,.agency-fund-preview,.agency-fund-error{display:block;margin:8px 0;font-size:.9rem;line-height:1.35}.agency-fund-preview{color:#557069}.agency-fund-error:not(:empty){color:#ab4134}.agency-fund-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.agency-fund-actions button{min-height:48px;white-space:normal;flex:1 1 150px}.agency-fund-actions [data-upkeep-max]{order:0;flex:0 0 auto}.agency-fund-actions [data-upkeep-fund="deposit"]{order:1}.agency-fund-actions [data-upkeep-fund="release"]{order:2}.agency-fund-actions button:disabled{opacity:.5;cursor:not-allowed}.agency-fund-available{overflow-wrap:anywhere}@media(max-width:640px){.agency-fund-source{margin-right:-16px;padding-right:16px}.agency-fund-chip{min-width:165px}.agency-fund-actions{display:grid;grid-template-columns:1fr 1fr}.agency-fund-actions [data-upkeep-max]{grid-column:1/-1;width:auto;justify-self:start}.agency-fund-actions [data-upkeep-fund="deposit"],.agency-fund-actions [data-upkeep-fund="release"]{grid-column:auto;width:100%}}@media(max-width:380px){.agency-fund-actions{grid-template-columns:1fr}.agency-fund-actions [data-upkeep-fund]{grid-column:1/-1}}

/* Repère de navigation et choix fiscaux défilants. */
.sidebar nav .nav.active{background:transparent!important;color:#173e35!important;border-radius:0!important;box-shadow:none!important;font-weight:700!important}
@media(max-width:580px){body .sidebar nav .nav.active{background:transparent!important;color:#fff!important;border-radius:0!important;box-shadow:none!important}body .sidebar nav .nav.active svg{stroke:currentColor}}
.tax-choice-group{margin:1.1rem 0;min-width:0}.tax-choice-label{display:block;font-weight:700;margin-bottom:.55rem}.tax-choice-rail{display:flex;gap:.55rem;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;padding:.2rem .15rem .65rem;scrollbar-width:thin}.tax-choice{flex:0 0 auto;scroll-snap-align:start;border:1px solid #d7e1d9;background:#fff;color:#21473e;padding:.7rem 1rem;border-radius:999px;font:inherit;font-weight:650;cursor:pointer;white-space:nowrap}.tax-choice.is-active{background:#19493d;color:#fff;border-color:#19493d}.tax-choice:focus-visible{outline:3px solid #8caf8b;outline-offset:2px}

.sidebar nav .nav.active span{text-decoration:underline;text-decoration-color:currentColor;text-decoration-thickness:2px;text-underline-offset:7px}

/* Gérance grands portefeuilles : seules 40 lignes légères sont montées à la fois. */
.agency-filters{display:flex;gap:8px;overflow-x:auto;scrollbar-width:thin;white-space:nowrap;padding:5px 0 10px;overscroll-behavior-inline:contain}.agency-filters .status-chip{flex:0 0 auto}.agency-search-label{display:block;margin:12px 0;max-width:560px}.agency-search-label input{display:block;width:100%;margin-top:6px}.agency-batch-actions,.agency-portfolio-actions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.agency-result-count{color:#5c7069;font-size:.9rem;margin:14px 0 8px}.agency-results.is-compact{display:grid;gap:5px}.agency-compact-row{display:grid;grid-template-columns:32px minmax(140px,2fr) 75px minmax(90px,1fr) minmax(110px,1fr) minmax(125px,1.1fr) auto;align-items:center;gap:10px;padding:10px 12px;border:1px solid #dce7df;border-radius:12px;background:#fff;color:#24453d;min-width:0}.agency-compact-row.needs-decision{border-left:3px solid #a97042}.agency-compact-summary{min-width:0;display:grid}.agency-compact-summary strong,.agency-compact-summary small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agency-compact-summary small{color:#60736d}.agency-compact-status{font-size:.86rem;color:#536d63}.agency-compact-status.status-decision,.agency-compact-status.status-budget{font-weight:700;color:#9b563d}.agency-compact-status.status-scheduled{color:#83662a}.agency-compact-open{min-height:40px!important;padding:6px 13px!important}.agency-compact-detail{grid-column:1/-1;padding:14px 6px;border-top:1px solid #e1e8e0}.agency-pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin:20px 0}.agency-exceptions{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.agency-exceptions h4{flex-basis:100%;margin:0}.agency-exceptions button{max-width:100%}.agency-stat-grid{grid-template-columns:repeat(auto-fit,minmax(125px,1fr))!important}
@media(max-width:1050px){.agency-compact-row{grid-template-columns:30px minmax(110px,2fr) 75px minmax(100px,1fr) auto}.agency-compact-strategy,.agency-compact-budget{display:none}}
@media(max-width:580px){.agency-compact-row{grid-template-columns:28px minmax(0,1fr) 66px auto;gap:6px;padding:9px}.agency-compact-status{grid-column:2;grid-row:2}.agency-compact-open{grid-column:4;grid-row:1/3}.agency-compact-health{grid-column:3;grid-row:1/3}.agency-batch-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.agency-batch-actions button{min-width:0;white-space:normal;font-size:.85rem!important;padding:8px!important}.agency-exceptions button{width:100%}}
.theme-dark .agency-compact-row{background:#213e35;color:#e7f1e8;border-color:#42645a}.theme-dark .agency-compact-summary small,.theme-dark .agency-result-count{color:#bfcec6}
/* Repère de lecture non interactif : éloigné des boutons flottants. */
#page-position-rail{display:none!important}
body #back-top{opacity:.67;transition:opacity .2s}body #back-top:hover,body #back-top:focus-visible{opacity:1}
.agency-choice-rail{display:flex;gap:8px;overflow-x:auto;padding:7px 1px 10px;white-space:nowrap}.agency-choice-rail .status-chip{flex:0 0 auto}.agency-choice-group>span{font-weight:700}
/* Banque déjà utilisée : soldes et décisions visibles sans discours commercial. */
.bank-card.is-compact{padding:18px;display:grid;gap:12px}
.bank-card.is-compact h3{margin:0}
.bank-card.is-compact .bank-account-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:0}
.bank-card.is-compact .bank-account-summary span{min-width:0;overflow-wrap:anywhere}
.bank-card.is-compact .bank-actions{display:flex;gap:8px;flex-wrap:wrap}
.bank-card.is-compact .bank-actions button{flex:1 1 auto;min-height:44px;white-space:normal}
.academy-reference{margin:18px 0;border:1px solid var(--bb-line,#dbe5dc);border-radius:16px;padding:14px}
.academy-reference>summary{font-weight:700;cursor:pointer}
.academy-reference-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:10px;margin-top:16px}
.academy-reference-grid>details{border:1px solid var(--bb-line,#dbe5dc);border-radius:12px;padding:12px;min-width:0}
.academy-reference-grid summary{cursor:pointer;font-weight:600}
.housing-page,.housing-options{display:grid;gap:16px}
.housing-page>.housing-current{margin:0}
.housing-page .housing-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0}
.housing-facts span{display:flex;flex-direction:column;gap:3px;min-width:0;overflow-wrap:anywhere}
.housing-change-link{display:inline-flex;text-decoration:none;min-height:44px;align-items:center;padding:10px 14px}
.housing-choice{border:1px solid var(--bb-line,#dbe5dc);border-radius:16px;padding:16px}
.housing-choice>summary{cursor:pointer;font-weight:700}
.housing-options{grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));margin-top:16px}
.housing-options .panel{margin:0;display:flex;flex-direction:column;gap:8px}
.housing-options .panel button{margin-top:auto;min-height:44px;white-space:normal}
.housing-comparison .housing-compare-grid{margin:14px 0;max-height:min(48dvh,420px);overflow:auto}
.housing-comparison .ledger{gap:12px}.housing-comparison .ledger strong{white-space:normal;text-align:right}
.housing-comparison>button{width:100%;min-height:48px}
@media(max-width:600px){.bank-card.is-compact .bank-account-summary,.housing-page .housing-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.housing-comparison .housing-compare-grid{max-height:min(46dvh,370px)}}
/* Détail bancaire : hiérarchie claire et montants lisibles sur petit écran. */
.accounts-page{max-width:760px;margin-inline:auto;min-width:0;padding-bottom:20px}
.account-page-head{margin:4px 0 18px}
.account-page-head .eyebrow{display:block;margin-bottom:7px;letter-spacing:.12em}
.account-page-head h2{margin:0;line-height:1.15;font-size:clamp(1.6rem,5vw,2.25rem);overflow-wrap:anywhere}
.account-overview{display:grid;gap:10px;margin:0 0 14px}
.account-total{display:grid;gap:6px;background:#1b493f;color:#fff;padding:18px;border-radius:18px;min-width:0}
.account-total>span{font-size:.88rem;opacity:.86}
.account-total>strong{font-size:clamp(1.5rem,5.5vw,2.25rem);line-height:1.15;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.account-balance-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.account-balance{display:flex;flex-direction:column;gap:8px;min-width:0;padding:15px;background:var(--bb-soft,#f2f7f2);border:1px solid var(--bb-line,#dbe5dc);border-radius:16px}
.account-balance>span{font-size:.9rem;line-height:1.3;color:var(--muted,#5d7068)}
.account-balance>strong{font-size:clamp(1.05rem,3.6vw,1.45rem);line-height:1.2;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.account-balance>small{font-size:.77rem;line-height:1.35;color:var(--muted,#5d7068)}
.account-available{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:14px 0!important;font-size:.88rem!important;color:var(--muted,#5d7068)}
.account-available strong{color:inherit;font-variant-numeric:tabular-nums;text-align:right;overflow-wrap:anywhere}
.account-page-tools{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}
.account-page-tools>button{flex:1 1 180px;min-width:0;min-height:44px;padding:10px 12px;white-space:normal;font-size:.88rem}
.accounts-page .account-transfer-entry{margin:16px 0}
.accounts-page .account-transfer-entry .primary{width:100%;display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:50px;text-align:left;white-space:normal}
.account-explainer{border-top:1px solid var(--bb-line,#dbe5dc);padding:14px 0;margin:16px 0}
.account-explainer>summary{cursor:pointer;color:var(--muted,#5d7068);font-size:.88rem}
.account-explainer p{font-size:.88rem;line-height:1.5}
@media(max-width:500px){.account-balance-grid{grid-template-columns:minmax(0,1fr)}.account-total{padding:17px}.account-balance{padding:13px 15px}.account-available{align-items:start}.account-page-tools>button{flex-basis:calc(50% - 4px);font-size:.8rem}}
@media(max-width:370px){.account-page-tools>button{flex-basis:100%}.account-available{flex-direction:column;gap:3px}.account-available strong{text-align:left}}
.theme-dark .account-balance{background:#244037;border-color:#3d5d50}.theme-dark .account-total{background:#133b33}
/* Sinistre : décision et paiement avant les détails secondaires. */
.claim-payment-page{display:grid;gap:14px;max-width:760px;margin-inline:auto;min-width:0}
.claim-payment-page>.dialog-top,.claim-payment-page>p{margin-block:0}
.claim-decision,.claim-payment{padding:16px;border:1px solid var(--bb-line,#dbe5dc);border-radius:16px;background:var(--bb-soft,#f5f8f2);min-width:0}
.claim-decision h3{margin:0 0 8px;font-size:clamp(1.15rem,4vw,1.5rem)}
.claim-decision .claim-kind{display:block;font-size:.9rem;margin-bottom:7px}
.claim-decision p{margin:7px 0 12px;line-height:1.45}
.claim-decision .ledger,.claim-settled .ledger{display:flex;justify-content:space-between;gap:12px;align-items:baseline}
.claim-decision .ledger strong,.claim-settled .ledger strong{overflow-wrap:anywhere;text-align:right}
.claim-decision .claim-remaining{font-weight:700;border-top:1px solid var(--bb-line,#dbe5dc);margin-top:8px;padding-top:8px}
.claim-decision [data-claim]{width:100%;margin-top:12px;white-space:normal}
.claim-payment{background:#fff;display:grid;gap:7px}
.claim-payment>strong{font-size:clamp(1.45rem,5vw,2rem);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.claim-payment>p{margin:0;color:var(--muted,#5d7068)}
.claim-payment>button{width:100%;min-height:48px;white-space:normal;margin-top:7px}
.claim-secondary{padding:12px 16px;border:1px solid var(--bb-line,#dbe5dc);border-radius:14px;min-width:0}
.claim-secondary>summary{cursor:pointer;font-weight:600}
.claim-secondary[open]>summary{margin-bottom:12px}
.claim-settled{max-width:660px;display:grid;gap:12px}
.claim-settled h2,.claim-settled p{margin:0}
.claim-settled>button{min-height:44px}
.theme-dark .claim-decision,.theme-dark .claim-payment{background:#244037;border-color:#3d5d50}
@media(max-width:500px){.claim-payment-page{gap:10px}.claim-decision,.claim-payment{padding:14px}.claim-decision .ledger{font-size:.88rem}.claim-payment-page .claim-secondary{padding:12px}}
/* Sinistres successifs : le prochain dossier reste accessible depuis la confirmation. */
.claim-settled-actions{display:grid;gap:9px;margin-top:4px}
.claim-settled-actions button{min-height:46px;width:100%;white-space:normal}
.claim-settled-actions button small{display:block;font-size:.8em;font-weight:400;margin-top:2px}
.claim-settled>details{margin-top:4px}

/* Optional claim delegation stays readable on narrow screens. */
.agency-editor .agency-claims-control{display:flex;align-items:flex-start;gap:12px;padding:15px;border:1px solid #d8e3da;border-radius:16px;background:#f6f9f5;line-height:1.35}
.agency-editor .agency-claims-control[hidden]{display:none}
.agency-editor .agency-claims-control input{flex:none;width:20px;height:20px;margin:2px 0 0;accent-color:#214d3e}
.agency-editor .agency-claims-control span{display:grid;gap:5px;min-width:0}
.agency-editor .agency-claims-control small{color:#5c6b62;font-weight:400}
body.dark .agency-editor .agency-claims-control,.dark .agency-editor .agency-claims-control{background:#244037;border-color:#3d5d50;color:inherit}
/* Future strategy controls reuse the existing BatiBlocs cards and buttons. */
.purchase-ownership{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1rem 0}
.purchase-ownership .panel{min-width:0;margin:0;display:flex;flex-direction:column;align-items:flex-start;gap:.65rem}
.purchase-ownership .panel p{margin:.15rem 0}
.purchase-ownership button{max-width:100%;white-space:normal;text-align:center}
.offline-modes{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}
.offline-modes button[aria-pressed="true"]{background:#e9efe7;border-color:#879f8e;color:#174a3d;font-weight:700}
@media(max-width:690px){.purchase-ownership{grid-template-columns:1fr}.purchase-ownership .panel{width:100%}.offline-modes button{flex:1 1 auto}}
/* Administration: a readable list on phones and a stable split view on wide screens. */
#admin-panel .admin-list-heading{display:flex;align-items:baseline;justify-content:space-between;gap:.8rem}
#admin-panel .admin-list-heading h3{margin:0}
#admin-panel .admin-list-heading span,#admin-panel .admin-sort-note{font-size:.83rem;color:var(--muted,#697a72)}
#admin-panel .admin-sort-note{margin:.35rem 0 .75rem}
#admin-panel .admin-account-rows{gap:0}
#admin-panel .admin-account{padding:.72rem .8rem;border:0;border-bottom:1px solid var(--bb-border,#dce5de);border-radius:0;line-height:1.38}
#admin-panel .admin-account strong{font-size:1rem;line-height:1.25}
#admin-panel .admin-account small{font-size:.84rem;line-height:1.4;color:var(--muted,#63766c)}
#admin-panel .admin-account small time{font-weight:650;color:var(--bb-ink,#203b35)}
#admin-panel .admin-account.selected{border-radius:9px}
@media(max-width:760px){
 #admin-panel .admin-workspace{display:block;min-width:0}
 #admin-panel .admin-account-list{position:static!important;max-height:none!important;overflow:visible!important;padding:1rem!important}
 #admin-panel .admin-account{padding:.8rem .35rem!important}
 #admin-panel .admin-filters{margin-inline:-.25rem;scrollbar-width:none}
 #admin-panel .admin-filters::-webkit-scrollbar{display:none}
 #admin-panel .admin-empty{display:none}
 #admin-panel .admin-workspace.has-player>.admin-account-list{display:none}
 #admin-panel .admin-workspace:not(.has-player)>.admin-player-pane{display:none}
#admin-panel .admin-player-pane{scroll-margin-top:calc(var(--finance-height,76px) + 1rem)}
}

/* Entreprise : accès conditionnels et pilotage avant les formulaires existants. */
.sidebar nav [data-company-nav][hidden]{display:none!important}
@media(max-width:760px){.sidebar nav [data-company-nav]{display:none!important}}
.company-access{margin-block:1rem;min-width:0}
.company-access h2{margin:.4rem 0;font-size:clamp(1.25rem,3vw,1.7rem)}
.company-access-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:.8rem;margin-top:1rem}
.company-access-grid>button{text-align:left;display:grid;gap:.25rem;white-space:normal;min-height:3.6rem}
.company-access-grid>button small{color:inherit;opacity:.8;line-height:1.4}
.company-access-grid>article{border:1px solid var(--bb-border,#dce5de);border-radius:var(--radius,18px);padding:1rem;min-width:0}
.company-access-grid>article h3{margin:0 0 .4rem}
.company-access-grid>article details{margin-top:.75rem}
.company-access-grid>article .ledger{gap:.5rem;flex-wrap:wrap}
.company-page .company-dashboard{margin:1rem 0;padding:clamp(1rem,3vw,1.5rem);border:1px solid var(--bb-border,#dce5de);border-radius:var(--radius,18px);background:var(--panel,#fff)}
.company-page .company-dashboard .stock-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,11rem),1fr));gap:.7rem;margin-top:1rem}
.company-page .company-dashboard .stock-metrics>div{min-width:0;overflow-wrap:anywhere}
.company-page .company-dashboard .stock-metrics strong{font-size:clamp(1.05rem,2.5vw,1.45rem)}
.company-page .company-progress{display:grid;gap:.3rem;margin-top:1rem}
.company-page .company-progress progress{width:100%;accent-color:var(--accent,#205746)}
.company-page .company-main-nav{display:flex;gap:.5rem;overflow-x:auto;scrollbar-width:none;margin:.8rem 0 1.2rem}
.company-page .company-main-nav::-webkit-scrollbar{display:none}
.company-page .company-main-nav button{flex:0 0 auto;white-space:nowrap}
.company-page .company-fold[hidden]{display:none!important}
.company-page .company-home-market{padding:clamp(.9rem,3vw,1.4rem);border:1px solid var(--bb-border,#dce5de);border-radius:var(--radius,18px);background:var(--panel,#fff);margin-bottom:1rem}
.company-page .company-home-market[hidden]{display:none!important}
.company-page .company-home-market-heading{display:flex;justify-content:space-between;align-items:center;gap:.65rem;flex-wrap:wrap}
.company-page .company-home-market-heading h3{margin:.25rem 0 .5rem}
.company-page .company-home-offers{display:grid;gap:0}
.company-page .company-home-offers article{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.8rem 0;border-top:1px solid var(--bb-border,#dce5de);min-width:0}
.company-page .company-home-offers article>div{min-width:0;overflow-wrap:anywhere}
.company-page .company-home-offers article small{display:block;margin-top:.2rem;color:var(--muted,#697a72);line-height:1.35}
.company-page .company-home-offers article button{flex-shrink:0}
.company-page .company-market{scroll-margin-top:7rem}
@media(max-width:760px){.company-access-grid{grid-template-columns:1fr}.company-page .company-dashboard .stock-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:580px){.company-page .company-home-offers article{align-items:stretch;flex-direction:column}.company-page .company-home-offers article button{align-self:flex-start}.company-page .company-market{scroll-margin-top:clamp(12rem,30vh,19rem)}}
.owner-switch{display:flex;gap:8px;align-items:center;overflow-x:auto;scrollbar-width:thin;max-width:100%;padding:4px 0 12px;margin:10px 0}.owner-switch .status-chip{flex:0 0 auto;min-height:44px;white-space:nowrap}.owner-switch strong{font-size:.92rem;white-space:nowrap;margin-right:4px}.company-assets .cards{margin-top:12px}.company-asset .property-body>small{display:block;opacity:.72;margin-top:7px}.company-asset .property-art img{width:100%;height:100%;object-fit:cover}.company-owned-detail>.auction-result-photo{width:100%;height:auto;max-height:390px;object-fit:cover;border-radius:16px;margin-bottom:18px}.company-owned-detail .company-property-actions{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.company-owned-detail .company-property-actions button{flex:1 1 155px;min-width:0}.company-owned-detail .stock-metrics{margin-top:12px}@media(max-width:640px){.company-owned-detail .company-property-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.company-owned-detail .company-property-actions button{white-space:normal}.owner-switch{margin-inline:-4px;padding-inline:4px}}

/* Étude hypothécaire et trésoreries distinctes · 3.3.6 */
#sticky-finances .sticky-wallet{min-width:0;justify-self:start;display:flex;flex-direction:column;gap:2px;line-height:1.2}#sticky-finances .sticky-wallet strong{font-size:clamp(17px,2.2vw,25px);white-space:nowrap}#sticky-finances .sticky-company{font-size:11px!important;opacity:.85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:30vw} .bank-selected-property{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;border:1px solid #d9e2d6;border-radius:15px;padding:13px 16px;background:#f4f7f1;margin:18px 0}.bank-selected-property strong{font-size:17px}.bank-selected-property span{font-size:14px}.bank-property-picker{border:1px solid #d9e2d6;border-radius:15px;padding:12px;max-height:300px;overflow:auto}.bank-property-picker[hidden]{display:none}.bank-property-picker input{width:100%;box-sizing:border-box}.bank-property-choice{display:flex;flex-direction:column;align-items:start;width:100%;gap:3px;text-align:left;padding:12px;border:0;border-bottom:1px solid #e5ebe2;background:transparent;color:inherit;cursor:pointer}.bank-property-choice.active{background:#e8f1e5;border-radius:9px}.bank-property-choice small{opacity:.7}.bank-segments{display:flex;align-items:center;gap:8px;flex-wrap:wrap;border:0;margin:15px 0;padding:0}.bank-segments legend{font-weight:600;margin-bottom:9px}.bank-segments button{min-height:42px;border:1px solid #cedbce;border-radius:12px;padding:7px 14px;background:#fff;color:#214d3e}.bank-segments button[aria-pressed=true]{background:#194f43;color:#fff}.theme-dark .bank-selected-property,.theme-dark .bank-property-picker{background:#243f38;color:#f4f7f1}.theme-dark .bank-segments button:not([aria-pressed=true]){background:#243f38;color:#f4f7f1}
@media(max-width:600px){body #sticky-finances>.sticky-wallet{grid-column:1 / -1;justify-self:start}body #sticky-finances>.sticky-wallet strong{font-size:clamp(20px,5.5vw,26px)}body #sticky-finances .sticky-company{max-width:90vw;font-size:10px!important}.bank-form-row{grid-template-columns:1fr}}

/* Confirmation achat : le détail financier replié occupe toute la largeur, hors des actions. */
body #detail .confirmation-window .decision-impact{width:100%;min-width:0;box-sizing:border-box;margin-block:16px}
body #detail .confirmation-window .decision-impact:not([open])>:not(summary){display:none!important}
body #detail .confirmation-window .decision-impact summary{cursor:pointer;line-height:1.4;overflow-wrap:normal}
body #detail .confirmation-window .decision-impact .budget-table{max-width:100%;overflow-x:auto}
body #detail .confirmation-window .confirm-actions{display:flex;flex-wrap:wrap;gap:10px;width:100%;min-width:0}
body #detail .confirmation-window .confirm-actions>button{flex:1 1 160px;min-width:0;margin:0;white-space:normal;overflow-wrap:normal}
@media(max-width:580px){body #detail .confirmation-window .confirm-actions>button{flex:1 1 100%;width:100%}body #detail .confirmation-window .confirm-totals{grid-template-columns:1fr}body #detail .confirmation-window .decision-impact{padding:12px}}
/* Refinancement : choix tactile compact et détails financiers repliés. */
.refinance-dashboard{border:1px solid var(--bb-line);border-radius:18px;background:var(--bb-surface);padding:18px;margin:18px 0}.refinance-dashboard h3,.refinance-dashboard h4{margin:0 0 12px}
.refinance-page,.refinance-list{display:grid;gap:12px;min-width:0}.refinance-list{max-height:min(45dvh,480px);overflow-y:auto;overscroll-behavior:contain}
.refinance-choice{display:grid!important;justify-items:start;text-align:left;width:100%;min-width:0;gap:4px;padding:12px 14px!important;background:var(--bb-surface)!important;color:var(--bb-ink)!important;border:1px solid var(--bb-line)!important;border-radius:14px!important}.refinance-choice[aria-pressed="true"],.refinance-bank [aria-pressed="true"]{border-color:var(--bb-ink)!important;background:var(--bb-soft)!important}.refinance-choice small{color:var(--bb-secondary);font-size:12px;line-height:1.45;overflow-wrap:anywhere}
.refinance-bank{display:flex;gap:8px;max-width:100%;overflow-x:auto;padding:4px 0}.refinance-bank>button{flex:none;white-space:nowrap;min-height:44px}.refinance-page .confirm-totals,.refinance-dashboard .confirm-totals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.refinance-page .confirm-totals>div,.refinance-dashboard .confirm-totals>div{min-width:0}.refinance-page .confirm-totals strong,.refinance-dashboard .confirm-totals strong{font-size:clamp(15px,3.5vw,20px);overflow-wrap:anywhere}.refinance-page .confirm-actions{display:flex;flex-wrap:wrap;gap:10px}.refinance-page .confirm-actions>button{flex:1 1 150px;min-width:0}.property-refinance{margin:12px 0;color:var(--bb-secondary)}
@media(max-width:580px){.refinance-page .confirm-totals,.refinance-dashboard .confirm-totals{grid-template-columns:repeat(2,minmax(0,1fr))}.refinance-page .confirm-actions>button{flex-basis:100%}.refinance-dashboard{padding:14px}}

/* Selected guarantees remain visible while the property list scrolls. */
.refinance-selection-total{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 10px;padding:13px 15px;border:1px solid var(--bb-line);border-radius:16px;background:var(--bb-soft);color:var(--bb-ink)}
.refinance-selection-total>span{font-weight:650}.refinance-selection-total>strong{font-size:clamp(16px,4vw,22px);white-space:nowrap}.refinance-selection-total>small{grid-column:1/-1;color:var(--bb-secondary);line-height:1.35}
.refinance-choice-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;width:100%;min-width:0}.refinance-choice-top strong{min-width:0;overflow-wrap:anywhere}.refinance-choice-capacity{flex:none;font-weight:700;white-space:nowrap;color:var(--bb-ink)}
@media(max-width:580px){.refinance-choice-top{display:grid;gap:3px}.refinance-selection-total{grid-template-columns:1fr;gap:2px}.refinance-selection-total>small{grid-column:1}}
/* 27.09 — Gestion groupée : commandes lisibles, sans masquer la navigation. */
.selection-dock-group{flex-wrap:wrap;gap:8px 16px}.selection-dock-group>strong{font-size:1rem!important;white-space:nowrap}.selection-dock-actions{display:flex;gap:7px;flex-wrap:wrap;align-items:center;margin-left:auto}.selection-dock-actions button{min-height:42px!important;padding:8px 12px!important;font-size:.9rem!important}.selection-dock-actions .text-btn{white-space:nowrap}.agency-batch-actions{display:flex!important;grid-template-columns:none!important;align-items:center}.agency-batch-actions button{width:auto!important;min-width:0!important}.agency-result-count{margin-top:8px}.agency-compact-summary strong{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.3;overflow-wrap:anywhere}.agency-compact-status{display:inline-flex;align-items:center;gap:6px;line-height:1.25}.agency-compact-status:before{content:'';width:7px;height:7px;flex:none;border-radius:50%;background:currentColor;opacity:.7}.agency-compact-row:has([data-agency-select]:checked){border-color:#44846b;background:#f1f7ee}.agency-option{min-width:0;align-items:start}.agency-option strong,.agency-option small{overflow-wrap:anywhere}.agency-option em{white-space:nowrap;border-radius:20px;background:#eaf1e8;padding:3px 9px}.agency-group-more{border:1px solid #d9e5db;border-radius:13px;padding:12px 16px;margin:15px 0;background:#f5f8f2}.agency-group-more[hidden]{display:none}.agency-group-more summary{cursor:pointer;font-weight:650;list-style-position:inside}.agency-group-more-body{padding:12px 0 2px}.agency-group-fields{display:grid;gap:10px;border:0;padding:0;margin:0;min-width:0}.agency-group-fields legend{font-weight:650}.agency-group-fields label.status-chip{display:inline-flex;align-items:center;gap:5px;min-width:0;margin:0}.agency-group-fields input[type=radio]{width:auto;accent-color:#245d4b}.agency-group-fields>.agency-choice-rail{display:flex;flex-wrap:wrap;gap:8px}.agency-group-fields>label{max-width:390px}.theme-dark .agency-compact-row:has([data-agency-select]:checked){background:#294d3e}.theme-dark .agency-group-more,.theme-dark .agency-option em{background:#29483b;color:#edf5ed;border-color:#527265}
@media(max-width:700px){.agency-compact-row{grid-template-columns:30px minmax(0,1fr) auto;gap:7px;padding:11px}.agency-compact-summary{grid-column:2;grid-row:1}.agency-compact-health{grid-column:2;grid-row:2;font-size:.82rem}.agency-compact-status{grid-column:2;grid-row:3;min-width:0}.agency-compact-open{grid-column:3;grid-row:1/4;align-self:center;min-width:70px}.agency-compact-strategy,.agency-compact-budget{display:none}.agency-compact-detail{grid-column:1/-1}.agency-option{grid-template-columns:minmax(0,1fr) auto!important;padding:14px!important}.agency-option[aria-pressed=true]{padding:13px!important}.agency-editor .note{margin:12px 0}.selection-dock-group{display:block;padding:10px 12px}.selection-dock-group>strong{display:block!important;margin-bottom:7px;font-size:.88rem!important}.selection-dock-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin:0}.selection-dock-actions button{padding:7px 2px!important;min-height:42px!important;font-size:.72rem!important;white-space:normal}.selection-dock-actions .text-btn{white-space:normal}.has-selection main{padding-bottom:230px}#selection-dock:has(.selection-dock-group){bottom:calc(102px + env(safe-area-inset-bottom))}body:has(.selection-dock-group:not([hidden])) #back-top{bottom:calc(210px + env(safe-area-inset-bottom))}.agency-batch-actions button{font-size:.83rem!important}.agency-page .agency-row{padding:12px!important}}

/* Mes biens: cartes photo et lignes de gestion, dans la grille du Marché. */
body[data-view="patrimoine"] .cards:not(.list-mode){display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,285px),1fr));gap:16px;align-items:stretch}
body[data-view="patrimoine"] .portfolio-card{min-width:0;overflow:hidden;background:var(--card,#fff);border-radius:16px}
body[data-view="patrimoine"] .portfolio-images{display:flex;flex-direction:column}
body[data-view="patrimoine"] .portfolio-images .property-art{position:relative;width:100%;aspect-ratio:16/9;min-height:0;height:auto!important;flex:none}
body[data-view="patrimoine"] .portfolio-images .image-select{display:block;width:100%;height:100%;aspect-ratio:16/9;padding:0;overflow:hidden}
body[data-view="patrimoine"] .portfolio-images .image-select img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
body[data-view="patrimoine"] .portfolio-images .property-controls{position:absolute!important;inset:10px 10px auto!important;width:auto!important;display:flex!important;flex-direction:row!important;justify-content:space-between!important;align-items:flex-start!important;pointer-events:none;z-index:3}
body[data-view="patrimoine"] .portfolio-images .property-controls>*{pointer-events:auto;order:initial!important;flex:none}
body[data-view="patrimoine"] .portfolio-images .property-select,body[data-view="patrimoine"] .portfolio-images .favorite-btn{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;border-radius:50%;background:rgba(255,255,255,.94);box-shadow:0 2px 9px #14372d44}
body[data-view="patrimoine"] .portfolio-images .property-select input{width:44px;height:44px}
body[data-view="patrimoine"] .portfolio-images .property-body{display:flex;flex-direction:column;flex:1;padding:16px!important;gap:0}
body[data-view="patrimoine"] .portfolio-content h3{font-size:18px;line-height:1.3;margin:0!important;overflow-wrap:anywhere}
body[data-view="patrimoine"] .portfolio-meta{margin:4px 0 0;font-size:12px;line-height:1.4;color:var(--muted,#73817b);overflow-wrap:anywhere}
body[data-view="patrimoine"] .portfolio-facts{display:grid;gap:5px;margin-top:12px;align-content:start;min-width:0}
body[data-view="patrimoine"] .portfolio-condition{font-size:12px;color:var(--muted,#73817b)}
body[data-view="patrimoine"] .portfolio-value{font-size:20px;line-height:1.2;font-variant-numeric:tabular-nums}
body[data-view="patrimoine"] .portfolio-income{font-size:13px;color:var(--green,#184d40);font-variant-numeric:tabular-nums}
body[data-view="patrimoine"] .portfolio-status{display:flex;gap:5px;flex-wrap:wrap;margin-top:3px;align-items:center}
body[data-view="patrimoine"] .portfolio-status .property-status{display:inline-flex;width:auto;margin:0;padding:4px 8px;font-size:11px;line-height:1.3;border-radius:99px}
body[data-view="patrimoine"] .portfolio-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:12px}
body[data-view="patrimoine"] .portfolio-address{min-width:0;color:var(--muted,#73817b);font-size:11px;overflow-wrap:anywhere}
body[data-view="patrimoine"] .portfolio-manage{flex:none;width:auto!important;min-height:40px;padding:7px 14px!important;white-space:nowrap}
body[data-view="patrimoine"] .cards.list-mode{display:flex!important;flex-direction:column;gap:8px}
body[data-view="patrimoine"] .portfolio-list{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;align-items:center;padding:12px 14px!important;min-height:0}
body[data-view="patrimoine"] .portfolio-list .portfolio-list-controls{display:flex;gap:4px;grid-column:2;grid-row:1;justify-content:flex-end}
body[data-view="patrimoine"] .portfolio-list .portfolio-content{grid-column:1;grid-row:1 / span 2;min-width:0}
body[data-view="patrimoine"] .portfolio-list .portfolio-facts{display:flex;align-items:center;flex-wrap:wrap;gap:4px 10px;margin-top:6px}
body[data-view="patrimoine"] .portfolio-list .portfolio-value{font-size:15px}
body[data-view="patrimoine"] .portfolio-list .portfolio-income,body[data-view="patrimoine"] .portfolio-list .portfolio-condition{font-size:11px}
body[data-view="patrimoine"] .portfolio-list .portfolio-manage{grid-column:2;grid-row:2;justify-self:end}
body[data-view="patrimoine"] .portfolio-list .property-select,body[data-view="patrimoine"] .portfolio-list .favorite-btn{min-width:44px;min-height:44px}
@media(max-width:580px){body[data-view="patrimoine"] .cards:not(.list-mode){grid-template-columns:minmax(0,1fr)}body[data-view="patrimoine"] .portfolio-images .property-art{aspect-ratio:16/9;height:auto!important;min-height:0!important}body[data-view="patrimoine"] .portfolio-list{grid-template-columns:minmax(0,1fr) auto}body[data-view="patrimoine"] .portfolio-list .portfolio-content h3{font-size:15px}body[data-view="patrimoine"] .portfolio-list .portfolio-facts{gap:3px 8px}}

/* Keep each figure on its own line at large text sizes and for million-dollar values. */
body[data-view="patrimoine"] .portfolio-images .portfolio-facts{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:8px!important;min-width:0;width:100%;margin-top:14px}
body[data-view="patrimoine"] .portfolio-images .portfolio-facts>.portfolio-condition,
body[data-view="patrimoine"] .portfolio-images .portfolio-facts>.portfolio-value,
body[data-view="patrimoine"] .portfolio-images .portfolio-facts>.portfolio-income,
body[data-view="patrimoine"] .portfolio-images .portfolio-facts>.portfolio-status{display:block!important;position:static!important;float:none!important;clear:both!important;width:100%!important;max-width:100%;min-width:0;margin:0!important;line-height:1.35;overflow-wrap:anywhere}
body[data-view="patrimoine"] .portfolio-images .portfolio-facts>.portfolio-value{font-size:clamp(18px,5vw,24px)!important;letter-spacing:-.02em;word-break:normal}
body[data-view="patrimoine"] .portfolio-images .portfolio-facts>.portfolio-income{font-size:13px!important}
body[data-view="patrimoine"] .portfolio-images .portfolio-footer{padding-top:16px;gap:16px}
body[data-view="patrimoine"] .portfolio-images .portfolio-manage{border-radius:10px}
body[data-view="patrimoine"] .portfolio-list .portfolio-facts{gap:7px 12px!important}
body[data-view="patrimoine"] .portfolio-list .portfolio-value{overflow-wrap:anywhere;max-width:100%;min-width:0}
@media(max-width:580px){body[data-view="patrimoine"] .portfolio-list .portfolio-content{grid-row:1 / span 2}body[data-view="patrimoine"] .portfolio-images .portfolio-footer{padding-right:8px}}

/* 30.09.2026 — Mes biens: safe action area beside the mobile return control. */
@media(max-width:580px){
 body[data-view="patrimoine"].back-left .portfolio-card .portfolio-manage{margin-right:52px!important}
 body[data-view="patrimoine"] .portfolio-images .property-body{min-width:0!important}
 body[data-view="patrimoine"] .portfolio-images .portfolio-footer{min-height:50px;align-items:flex-end}
 body[data-view="patrimoine"] .portfolio-list .portfolio-facts>*{min-width:0;overflow-wrap:anywhere}
 body[data-view="patrimoine"] .portfolio-list .portfolio-content h3{overflow-wrap:anywhere}
}
body[data-view="patrimoine"] .portfolio-manage:focus-visible,
body[data-view="patrimoine"] .portfolio-images .property-controls :focus-visible{outline:3px solid var(--green,#184d40);outline-offset:2px}

/* Complément du 30 septembre : une même densité et des contrôles lisibles. */
@media (min-width:581px){
  body .sidebar nav .nav.active,body.banner-custom .sidebar nav .nav.active{color:#fff!important;background:#ffffff20!important;box-shadow:none!important;border:0!important}
  body .sidebar nav .nav.active svg{color:inherit!important;stroke:currentColor!important}
  body .sidebar nav .nav:hover,body .sidebar nav .nav:focus-visible{color:#fff!important;background:#ffffff1c!important}
}
body .sidebar nav .nav.active span{text-decoration:none!important}
.navigation-order-row{display:flex;align-items:center;gap:.55rem}.navigation-order-row .nav-drag-handle{cursor:grab;touch-action:none;font-size:1.15rem;color:var(--muted,#73817b)}.navigation-order-row[draggable=true]:active .nav-drag-handle{cursor:grabbing}
body #content .quick-filters{margin:.3rem 0 .35rem;min-width:0;max-width:100%;overflow-x:auto;scrollbar-width:thin}
body #content .quick-filters .rail-wrap{margin:0;min-height:0}
body #content .quick-filters .filter-rail{min-height:0;white-space:nowrap}
body #content .quick-filters .rail-arrow{display:none!important}
body #content .market-district-filter{display:grid;gap:.35rem;margin:.35rem 0 .8rem}
body #content .market-district-filter>.filter-rail{display:flex;gap:.35rem;overflow-x:auto;min-width:0;padding:.25rem 0}
body #content .market-district-filter button{flex:none;min-height:36px}
body #content .market-district-active{margin-inline-start:.4rem}
body #content .property-filters{margin:.35rem 0}
body #content .portfolio-summary{display:flex;align-items:center;flex-wrap:wrap;gap:.45rem 1rem;margin:.4rem 0;padding:.45rem .75rem}
body #content .portfolio-summary button{display:inline-flex;align-items:center;gap:.32rem;min-height:34px;padding:.25rem .35rem}
body #content .portfolio-summary strong{font-size:1rem}
body #content .property-tabs{margin-bottom:.4rem}
body #content .collection-filters{margin:.4rem 0}
body #content .insurance-overview-compact{display:flex;align-items:baseline;flex-wrap:wrap;gap:.25rem .45rem;margin:.4rem 0;padding:.55rem .8rem}
body #content .insurance-overview-compact>*{display:inline!important;min-width:0;font-size:clamp(.9rem,2.5vw,1.05rem)!important}
body #content .insurance-simple-filters{display:flex;flex-wrap:nowrap;overflow-x:auto;max-width:100%;gap:.35rem;padding:.2rem 0}
body #content .insurance-simple-filters button{flex:none;min-height:38px}
body #content .insurance-type-filter{padding:.3rem .65rem;margin:.45rem 0}
body #content .insurance-type-filter>summary{cursor:pointer;font-weight:650;min-height:38px;display:flex;align-items:center}
body #content .insurance-heading{margin-bottom:.4rem}
body #content .insurance-heading p{margin:.1rem 0}
body .bank-space .bank-card.is-primary{grid-column:1/-1;padding:clamp(1rem,2vw,1.5rem)}
body .bank-space .bank-card.is-secondary{padding:1rem;gap:.55rem}
body .bank-space .bank-card.is-available{padding:.85rem;gap:.5rem}
body .bank-space .bank-card.is-available .bank-actions{padding-top:.4rem}
body .bank-space .bank-card.is-available .bank-actions>button:first-child{grid-column:auto;min-height:40px}
body .bank-space .bank-card .bank-actions{display:flex;flex-wrap:wrap;gap:.45rem;padding-top:.7rem}
body .bank-space .bank-card .bank-actions>button,body .bank-space .bank-card .bank-actions>button:first-child{width:auto;flex:0 1 auto;min-width:90px;min-height:40px;font-size:13px;padding:.5rem .8rem}
body .bank-space .bank-card .bank-account-summary{margin:.35rem 0;overflow-wrap:anywhere}
body .bank-space .bank-card.is-secondary .bank-account-summary{display:flex;flex-wrap:wrap;gap:.35rem 1rem}
body .bank-space .bank-card.is-available .bank-account-badge{display:none}
.bank-collateral-options{margin:.7rem 0}.bank-collateral-options .filter-rail{display:flex;gap:.4rem;overflow-x:auto}.bank-collateral-options button{flex:none}
.company-page .company-overview-assets .cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:1rem}
.company-page .company-overview-assets .property-art{height:auto;aspect-ratio:16/9}
.company-page .company-overview-assets .property-art img{width:100%;height:100%;object-fit:cover;transform:none}
.company-page .company-overview-assets .property-body{padding:1rem}
.company-page .company-overview-assets h3{overflow-wrap:anywhere}
.company-page .company-property-finances{display:flex;flex-wrap:wrap;gap:.35rem 1rem;align-items:baseline}
.company-page .company-property-finances strong{font-size:clamp(.95rem,2vw,1.15rem);overflow-wrap:anywhere}
.company-page .company-quick-actions{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:flex-end;margin-top:.65rem}
.company-page .company-quick-actions button{min-height:38px;padding:.4rem .7rem;font-size:.8rem;width:auto}
#market-sticky-buy[hidden]{display:none!important}
#market-sticky-buy{position:fixed;z-index:14;left:max(252px,calc(50% - 380px));right:max(16px,calc(50% - 380px));bottom:max(12px,env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.55rem .8rem;background:var(--panel,#fff);color:var(--bb-ink,#203b35);border:1px solid var(--bb-border,#dce5de);border-radius:12px;box-shadow:0 6px 28px #152e2530}
#market-sticky-buy strong{font-size:clamp(.9rem,2vw,1.1rem);overflow-wrap:anywhere}
#market-sticky-buy button{min-height:42px;padding:.5rem 1rem;white-space:nowrap}
@media(max-width:580px){#market-sticky-buy{left:12px;right:12px;bottom:calc(84px + env(safe-area-inset-bottom));z-index:6}body #content .quick-filters .filter-rail{overflow-x:auto}.company-page .company-overview-assets .cards{grid-template-columns:1fr}}
@media(min-width:761px){.sidebar nav .nav{position:relative;padding-right:36px}.sidebar-nav-handle{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:15px;letter-spacing:-3px;cursor:grab;user-select:none;opacity:.6;padding:8px}.sidebar-nav-handle:hover,.sidebar-nav-handle:focus-visible{opacity:1}.sidebar-nav-handle:active{cursor:grabbing}}
@media(max-width:760px){.sidebar-nav-handle{display:none!important}}
body #content .owner-switch{display:flex;gap:.4rem;overflow-x:auto;margin:.35rem 0;padding:.25rem 0}
body #content .owner-switch button{flex:none;min-height:38px}
body #content .company-direct-link{margin:.3rem 0;min-height:38px;padding:.45rem .8rem}
body[data-view="patrimoine"] .page-title{margin-bottom:.55rem}
body[data-view="patrimoine"] #page-subtitle{display:none}
@media(max-width:580px){body[data-view="patrimoine"] .property-tabs{gap:.25rem}body[data-view="patrimoine"] .property-tabs button{min-height:38px;padding:.4rem .55rem;font-size:.82rem}}
body #content .utility-bar{display:flex;align-items:center;gap:.35rem;overflow-x:auto;min-width:0;padding:.25rem 0;scrollbar-width:thin}
body #content .utility-bar>[data-global-search],body #content .utility-bar>[data-market-weather],body #content .utility-bar>[data-academy-open]{display:inline-flex;align-items:center;justify-content:center;gap:.3rem;flex:none;width:auto;min-height:38px;padding:.45rem .7rem;border:1px solid var(--bb-border,#dce5de);border-radius:999px;background:var(--panel,#fff);color:var(--bb-ink,#203b35);font-size:.8rem;font-weight:650;line-height:1.2;text-decoration:none;white-space:nowrap}
body #content .utility-bar>[data-global-search] svg{width:15px;height:15px;flex:none}
body #content .utility-bar>button:focus-visible{outline:2px solid var(--bb-accent,#1b5c45);outline-offset:2px}
body.detail-route:has(#market-sticky-buy:not([hidden])) .back-top{bottom:calc(94px + env(safe-area-inset-bottom,0px))!important}
@media(max-width:580px){body.detail-route:has(#market-sticky-buy:not([hidden])) .back-top{bottom:calc(155px + env(safe-area-inset-bottom,0px))!important}}

/* Mes biens : les annonces commencent plus haut, les choix avancés restent accessibles. */
body[data-view="patrimoine"] #content .owner-switch{justify-content:flex-start!important;align-items:center;gap:6px!important;width:100%;margin:2px 0!important;padding:2px 0!important;min-height:0}
body[data-view="patrimoine"] #content .owner-switch .status-chip{min-height:36px!important;padding:5px 12px!important;font-size:13px!important;line-height:1.2;white-space:nowrap}
body[data-view="patrimoine"] #content .portfolio-summary{gap:3px 12px!important;margin:3px 0!important;padding:3px 0!important}
body[data-view="patrimoine"] #content .portfolio-summary>button{min-height:29px!important;padding:2px 3px!important;gap:4px!important}
body[data-view="patrimoine"] #content .portfolio-summary>button[aria-pressed="true"]{background:var(--bb-soft,#edf4ec)!important;color:var(--bb-ink,#203b35);border-radius:8px!important}
body[data-view="patrimoine"] #content .collection-filters{gap:0!important;margin:2px 0!important}
body[data-view="patrimoine"] #content .collection-rail{padding:1px 2px 3px!important;gap:5px!important}
body[data-view="patrimoine"] #content .collection-rail>button.status-chip{min-height:36px!important;padding:6px 12px!important;font-size:12px!important}
body[data-view="patrimoine"] #content .list-toolbar{display:flex;align-items:center;flex-wrap:nowrap;gap:5px!important;margin:3px 0!important;min-width:0}
body[data-view="patrimoine"] #content .list-toolbar>.view-switch{flex:0 1 auto;min-width:0;padding:2px}
body[data-view="patrimoine"] #content .list-toolbar>.view-switch button{min-height:36px!important;padding:6px 10px!important;white-space:nowrap}
body[data-view="patrimoine"] #content .list-toolbar>.status-chip{min-height:36px!important;padding:6px 10px!important;white-space:nowrap}
body[data-view="patrimoine"] #content .portfolio-history-link{margin-left:auto;flex:0 0 auto;min-height:36px;padding:5px 4px;font-size:12px;text-decoration:none;white-space:nowrap}
body[data-view="patrimoine"] #content .property-filters{margin:3px 0!important}
body[data-view="patrimoine"] #content .property-filters>summary{min-height:42px!important;padding:7px 12px!important}
body[data-view="patrimoine"] #content .property-filters .quick-filters{padding:3px 12px!important;margin:0!important;max-width:100%;overflow-x:auto}
body[data-view="patrimoine"] #content .property-filters .quick-filters .status-chip{min-height:34px!important;padding:5px 10px!important}
body[data-view="patrimoine"] #content .result-count{gap:5px!important;margin:3px 0!important;min-height:32px!important}
.select-all-compact{display:none}
@media(max-width:600px){
 body[data-view="patrimoine"] #content .portfolio-history-link{font-size:11px;padding:5px 2px}
 body[data-view="patrimoine"] #content .list-toolbar>.view-switch button{padding:5px 8px!important;font-size:12px!important}
 body[data-view="patrimoine"] #content .list-toolbar>.status-chip{padding:5px 8px!important;font-size:12px!important}
 body[data-view="patrimoine"] #content .result-count .compact-price-sort>span{display:none}
 body[data-view="patrimoine"] #content .result-count .compact-price-sort{margin-left:auto!important}
 body[data-view="patrimoine"] #content .result-count .select-all-inline{min-height:32px!important;padding:2px 5px!important}
 .select-all-wide{display:none}.select-all-compact{display:inline}
}
@media(max-width:370px){body[data-view="patrimoine"] #content .portfolio-history-link{font-size:0;width:34px;min-width:34px}body[data-view="patrimoine"] #content .portfolio-history-link:before{content:"⋯";font-size:21px;line-height:1}}

/* Carte : le type reste immédiatement accessible, les quartiers sont repliés. */
body #content .city-map .map-local-filters{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:4px 12px;padding:0 12px 8px;min-width:0}
body #content .city-map .map-local-filters>.map-filter-group{min-width:0}
body #content .city-map .map-local-filters>.map-filter-group .map-filter-label{display:none}
body #content .city-map .map-local-filters .rail-wrap{min-width:0}
body #content .city-map .map-local-filters .filter-rail{min-width:0;overflow-x:auto}
body #content .city-map .map-extra-filters{grid-column:1/-1;min-width:0}
body #content .city-map .map-extra-filters>summary{display:inline-flex;align-items:center;min-height:34px;padding:4px 10px;border-radius:10px;color:var(--bb-ink);font-weight:600;cursor:pointer;list-style:none}
body #content .city-map .map-extra-filters>summary::-webkit-details-marker{display:none}
body #content .city-map .map-extra-filters>summary::after{content:'⌄';margin-left:8px}
body #content .city-map .map-extra-filters[open]>summary::after{transform:rotate(180deg)}
body #content .city-map .map-extra-filters>.map-filter-group{padding:3px 0 4px}
body #content .city-map .map-extra-filters .map-filter-label{display:block!important;font-size:12px}
@media(max-width:600px){body #content .city-map .map-local-filters{gap:2px 8px;padding:0 9px 6px}body #content .city-map .map-local-filters>.budget-map{min-height:34px!important;padding:6px 9px!important}body #content .city-map .map-extra-filters>summary{min-height:30px;font-size:12px;padding:3px 7px}}

/* Navigation mobile : trait sous le libellé de la rubrique active. */
@media(max-width:580px){
 body .sidebar nav .nav>span:not(.sidebar-nav-handle){display:inline-block!important;width:max-content;max-width:100%;margin-inline:auto;padding-bottom:5px;border-bottom:3px solid transparent;line-height:1.2}
 body .sidebar nav .nav.active>span:not(.sidebar-nav-handle){border-bottom-color:currentColor!important;color:#fff!important}
 body .sidebar nav .nav.active{color:#fff!important}
 body .sidebar nav .nav>.sidebar-nav-handle{display:none!important}
}
/* Prolongation et changement de banque : comparaison lisible sur petit écran. */
.bank-renew-summary,.bank-renew-figures{display:flex;flex-wrap:wrap;gap:.4rem 1rem;align-items:baseline;margin:.6rem 0}
.bank-renew-summary{padding:.75rem;border:1px solid var(--bb-border,#dce5de);border-radius:12px;background:var(--bb-soft,#edf4ec)}
.bank-renew-summary span,.bank-renew-figures span{display:flex;flex-direction:column;min-width:0;font-size:.78rem;color:var(--muted,#687971)}
.bank-renew-summary strong,.bank-renew-figures strong{color:var(--bb-ink,#203b35);font-size:clamp(.9rem,2vw,1.08rem);overflow-wrap:anywhere}
.bank-renew-quote{padding:clamp(.8rem,2vw,1.2rem)}
.bank-renew-quote .section-head{gap:.5rem;align-items:baseline}
.bank-renew-quote .section-head h3{min-width:0;overflow-wrap:anywhere}
.bank-renew-quote .status-chip{min-height:26px;font-size:.72rem;padding:.15rem .5rem;margin-right:.3rem}

/* 12.10.2026 — Navigation mobile équilibrée et compacte. */
@media(max-width:580px){
 body .sidebar nav{justify-content:stretch!important;align-items:stretch;gap:0!important;width:100%}
 body .sidebar nav .nav{flex:1 1 0!important;width:auto!important;min-width:0!important;max-width:none!important;padding:9px 1px 8px!important;gap:4px!important;align-items:center!important;justify-content:center!important;overflow:hidden}
 body .sidebar nav .nav>svg{width:22px!important;height:22px!important;min-width:22px;flex:0 0 22px}
 body .sidebar nav .nav>span:not(.sidebar-nav-handle){display:block!important;width:100%!important;max-width:100%!important;margin:0!important;padding:0 1px 5px!important;font-size:11px!important;line-height:1.1!important;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:clip}
 body .sidebar nav .nav[data-career-open]>span:not(.sidebar-nav-handle),
 body .sidebar nav .nav[data-tab="projets"]>span:not(.sidebar-nav-handle),
 body .sidebar nav .nav[data-tab="finances"]>span:not(.sidebar-nav-handle){font-size:0!important}
 body .sidebar nav .nav[data-career-open]>span:not(.sidebar-nav-handle)::after{content:'Carrière';font-size:11px}
 body .sidebar nav .nav[data-tab="projets"]>span:not(.sidebar-nav-handle)::after{content:'Projets';font-size:11px}
 body .sidebar nav .nav[data-tab="finances"]>span:not(.sidebar-nav-handle)::after{content:'Finances';font-size:11px}
}
.bank-renew-quote .bank-renew-figures{justify-content:space-between}
.bank-renew-details{margin:.5rem 0;font-size:.88rem}
.bank-renew-details summary{cursor:pointer;color:var(--bb-ink,#203b35);font-weight:600;padding:.3rem 0}
.bank-renew-review .confirmation-actions{display:flex;flex-wrap:wrap;gap:.5rem}
@media(max-width:580px){.bank-renew-summary,.bank-renew-figures{gap:.45rem}.bank-renew-summary span{flex:1 1 40%}.bank-renew-figures span{flex:1 1 28%}.bank-renew-quote button[data-bank-review]{width:auto;min-height:40px}}

/* 03.10.2026 — fiche administrateur indépendante de l’en-tête du jeu. */
#admin-panel .admin-player-pane{container-type:inline-size;min-width:0}
#admin-panel .admin-player-head{display:block;position:static;height:auto;min-height:0;padding:18px;margin:12px 0 0;border:1px solid var(--bb-border,#dce5de);border-radius:16px;background:var(--surface,#fff);color:inherit;overflow:visible}
#admin-panel .admin-player-head h3{font-size:clamp(22px,4vw,30px);line-height:1.2;margin:5px 0 10px;overflow-wrap:anywhere}
#admin-panel .admin-player-badges{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:13px}
#admin-panel .admin-player-badges>span{padding:5px 10px;border:1px solid var(--bb-border,#dce5de);border-radius:8px}
#admin-panel .admin-player-status{font-weight:700}
#admin-panel .admin-player-status.is-suspended{color:#a43c34;background:#fff0ed}
#admin-panel .admin-player-dates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0 0;font-size:13px}
#admin-panel .admin-player-dates dt{opacity:.75;margin-bottom:4px}
#admin-panel .admin-player-dates dd{margin:0;font-weight:600;overflow-wrap:anywhere}
#admin-panel .admin-head-actions{display:flex;align-items:stretch;gap:8px;margin-top:16px;padding-top:14px;border-top:1px solid var(--bb-border,#dce5de)}
#admin-panel .admin-head-actions>button{min-height:44px;padding:10px 14px;white-space:normal}
#admin-panel .admin-actions-menu{position:static;flex-basis:100%;width:100%;padding:0;border:0}
#admin-panel .admin-actions-menu>summary{display:flex;align-items:center;min-height:44px;padding:10px 0;border:0;border-radius:0;font-size:13px;font-weight:600;list-style:revert}
#admin-panel .admin-actions-menu[open]{display:block}
#admin-panel .admin-extra-actions{display:flex;flex-wrap:wrap;gap:8px;padding:8px 0}
#admin-panel .admin-extra-actions button{min-height:44px;white-space:normal}
#admin-panel .admin-player-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0 20px}
#admin-panel .admin-player-metrics article{display:flex;flex-direction:column;justify-content:space-between;gap:10px;padding:14px;min-width:0;border:1px solid var(--bb-border,#dce5de);border-radius:14px;background:var(--bb-soft,#eff5ef)}
#admin-panel .admin-player-metrics span{font-size:12px;line-height:1.4}
#admin-panel .admin-player-metrics strong{font-size:clamp(16px,2vw,23px);line-height:1.25;font-variant-numeric:tabular-nums;overflow-wrap:normal;word-break:normal;white-space:nowrap;letter-spacing:-.025em}
#admin-panel .admin-player-pane .admin-accordion>summary{min-height:48px;padding:14px 2px;line-height:1.4}
#admin-panel .admin-mobile-back{min-height:44px;margin-bottom:4px;white-space:normal}
@container(max-width:560px){#admin-panel .admin-player-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}#admin-panel .admin-player-metrics strong{font-size:clamp(14px,4cqw,21px)}}
@container(max-width:380px){#admin-panel .admin-player-metrics{grid-template-columns:minmax(0,1fr)}#admin-panel .admin-player-metrics article{flex-direction:row;flex-wrap:wrap;align-items:center;gap:10px;padding:13px 14px}#admin-panel .admin-player-metrics strong{font-size:clamp(16px,5cqw,21px)}#admin-panel .admin-player-metrics span{max-width:38%;font-size:12px}#admin-panel .admin-player-dates{grid-template-columns:minmax(0,1fr)}}
@media(max-width:760px){#admin-panel .admin-player-head{padding:14px}#admin-panel .admin-head-actions>button{flex:1 1 140px}#admin-panel .admin-extra-actions button{flex:1 1 180px}}

/* 03.10.2026 — discussions en page complète et biens des propositions. */
body #detail:has(.dm-layout){max-width:none!important;width:auto!important;margin-left:16px!important;margin-right:16px!important}
body #detail .dialog-inner:has(.dm-layout){max-width:none!important;width:100%;padding:12px 0!important}
body .dm-layout{border:0!important;border-radius:0!important;overflow:visible!important;background:transparent!important;align-items:start}
body .dm-thread{border:0!important;border-radius:0!important;padding:0!important;overflow:visible!important;min-width:0;background:transparent!important}
body .dm-thread-head{padding:12px 0;border-bottom:1px solid var(--bb-line,#dce5de)}
body #dm-log{max-height:none!important;height:auto!important;overflow:visible!important;min-height:45dvh;padding:12px 0;background:transparent!important;overscroll-behavior:auto}
body .dm-composer{position:sticky;bottom:0;z-index:3;padding:12px 0;background:var(--bb-card,#fff);border-top:1px solid var(--bb-line,#dce5de);border-radius:0}
body .dm-bubble.dm-transfer-bubble,body .dm-bubble.dm-transfer-bubble.mine{width:min(100%,540px);max-width:100%;background:transparent!important;border:0!important;padding:0!important;box-shadow:none!important;color:var(--bb-ink,#203b35)!important}
body .dm-transfer-bubble .transfer-card{padding:14px;margin:0;background:var(--bb-card,#fff)!important;border:1px solid var(--bb-line,#dce5de);border-radius:14px;color:var(--bb-ink,#203b35)!important}
body .dm-transfer-bubble>time{color:var(--bb-muted,#73817b)!important;margin-top:5px}
.transfer-property-card{display:grid;grid-template-columns:100px minmax(0,1fr);gap:12px;margin:14px 0;padding:10px;border:1px solid var(--bb-line,#dce5de);border-radius:12px;align-items:start}
.transfer-property-card img{width:100%;height:90px;object-fit:cover;border-radius:8px}
.transfer-property-card strong{display:block;font-size:16px;line-height:1.3;overflow-wrap:anywhere}
.transfer-property-card small{font-size:11px;opacity:.8;margin-bottom:4px}
.transfer-property-card p{font-size:12px!important;margin:5px 0!important}
.transfer-property-card button{font-size:12px;min-height:44px;padding:8px 10px;width:100%;white-space:normal}
.transfer-detail-photo{width:100%;max-height:340px;object-fit:cover;border-radius:14px;margin:12px 0}
.transfer-property-detail>.eyebrow{display:block;margin-top:20px}
.transfer-detail-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}
.transfer-detail-metrics>div{background:var(--bb-soft,#eff5ef);padding:12px;border-radius:12px;min-width:0}
.transfer-detail-metrics strong{display:block;font-size:18px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
@media(max-width:760px){body #detail:has(.dm-layout){margin-left:12px!important;margin-right:12px!important}body .dm-layout.has-peer{display:block!important}body .dialog-inner:has(.dm-layout.has-peer)>.dm-search,body .dialog-inner:has(.dm-layout.has-peer)>.dm-folders,body .dialog-inner:has(.dm-layout.has-peer)>.dm-retention{display:none!important}body .dm-composer{bottom:calc(76px + env(safe-area-inset-bottom,0px))}body .dm-composer .actions{gap:8px}body .dm-composer textarea{width:100%;min-width:0}body .dm-thread-head{padding:10px 0}body .dm-bubble{max-width:92%}.transfer-property-card{grid-template-columns:82px minmax(0,1fr);gap:10px}.transfer-detail-metrics{grid-template-columns:minmax(0,1fr)}}

/* Financement : pleine largeur et garanties clairement sélectionnées. */
body #detail:has(.refinance-page),body #detail:has(.bank-simulation),body #detail:has(.loan-fields),body #detail:has(.bank-space){max-width:none!important;width:auto!important;margin-left:16px!important;margin-right:16px!important}
body #detail .dialog-inner:has(.refinance-page),body #detail .dialog-inner:has(.bank-simulation),body #detail .dialog-inner:has(.bank-space),body #detail .dialog-inner:has(.loan-fields){max-width:none!important;width:100%;padding-left:0!important;padding-right:0!important}
.refinance-list{max-height:none!important;overflow:visible!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));align-items:stretch}
.refinance-choice{grid-template-columns:112px minmax(0,1fr)!important;gap:12px!important;padding:12px!important;align-items:start}
.refinance-choice-photo{width:100%;height:100px;object-fit:cover;border-radius:10px}
.refinance-choice-content{display:grid;gap:8px;width:100%;min-width:0}
.refinance-choice-top{display:grid!important;gap:6px!important}
.refinance-selected-label{width:fit-content;padding:5px 8px;background:var(--bb-soft,#eff5ef);border-radius:6px;font-size:12px;font-weight:700}
.refinance-choice[aria-pressed="true"]{border:2px solid var(--bb-accent,#194f43)!important;box-shadow:inset 5px 0 var(--bb-accent,#194f43)}
.refinance-choice[aria-pressed="true"] .refinance-selected-label{background:var(--bb-accent,#194f43);color:#fff}
.refinance-choice-capacity{white-space:normal;font-size:14px}
.refinance-choice-values{display:grid;gap:4px;font-size:12px}
.refinance-choice-values>span{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px}
.refinance-choice-values strong{font-size:12px;white-space:nowrap;font-variant-numeric:tabular-nums}
.refinance-selection-total{display:block!important;padding:14px!important;min-width:0}
.refinance-selection-heading{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-weight:700}
.refinance-selected-assets{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.refinance-selected-assets>span{display:flex;align-items:center;gap:8px;padding:4px 8px;background:var(--bb-surface,#fff);border:1px solid var(--bb-line,#dce5de);border-radius:8px;font-size:12px}
.refinance-selected-assets button{min-width:44px;min-height:44px;padding:0;font-size:22px}
.bank-selected-preview{display:grid;grid-template-columns:140px minmax(0,1fr);gap:14px;padding:12px;margin-bottom:16px;border:1px solid var(--bb-line,#dce5de);border-radius:14px}
.bank-selected-preview:empty{display:none}.bank-selected-preview img{width:100%;height:100px;object-fit:cover;border-radius:10px}.bank-selected-preview strong,.bank-selected-preview small{display:block;line-height:1.5}
.refinance-review-assets{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.refinance-review-assets img{width:100%;height:100px;object-fit:cover;border-radius:8px}.refinance-review-assets strong{display:block;font-size:13px;margin-top:6px}
@media(max-width:600px){.refinance-choice{grid-template-columns:86px minmax(0,1fr)!important}.refinance-choice-photo{height:86px}.bank-selected-preview{grid-template-columns:100px minmax(0,1fr)}body .bank-simulation .bank-quotes{grid-template-columns:1fr!important}.refinance-selection-heading strong{font-size:20px}.refinance-page{gap:16px}}

.work-transform-entry{padding:20px;background:#edf2e7;border-radius:18px;margin:20px 0}.work-transform-entry h3{margin:0 0 8px}.work-transform-entry button{margin:8px 8px 0 0}.bank-selected-preview strong{overflow-wrap:anywhere}

/* 04.10.2026 — keep the return controls above the visible purchase bar. */
body.detail-route:not(.back-top-upper):has(#market-sticky-buy:not([hidden])) #detail:not(.confirmation-window) .dialog-inner>.page-return,
body.detail-route:has(#market-sticky-buy:not([hidden])) #back-top{
 bottom:var(--market-return-bottom,calc(var(--navigation-bottom) + 80px))!important;
}

/* Persistent bid tracker stays in document flow, clear of fixed navigation and actions. */
.auction-tracker{position:fixed;left:252px;right:12px;bottom:var(--auction-bar-bottom,12px);z-index:24;margin:12px 18px;padding:14px 18px;display:flex;gap:16px;align-items:center;justify-content:space-between;background:#eef5e9;color:#244b3d;border:1px solid #b8cbb0;border-radius:18px;box-shadow:0 6px 24px #173d3520}
.auction-tracker[hidden]{display:none}.auction-tracker span,.auction-tracker small{display:block;margin-top:4px}.auction-tracker[data-status="outbid"],.auction-tracker[data-status="lost"]{background:#fff3e5;color:#7d441d;border-color:#d8ba96}.auction-tracker-action{display:flex;flex-direction:column;gap:8px;align-items:flex-end;flex-shrink:0}.auction-tracker-action b{font-size:.9rem;font-variant-numeric:tabular-nums}.auction-tracker .secondary{padding:8px 12px;white-space:nowrap}
@media(max-width:600px){.auction-tracker{margin:8px 10px;padding:12px;gap:10px;font-size:.85rem}.auction-tracker small{font-size:.75rem}.auction-tracker-action{max-width:42%}.auction-tracker-action b{font-size:.8rem}}

body.has-auction-tracker main,body.has-auction-tracker #detail{padding-bottom:calc(var(--auction-bar-space,120px) + 160px)!important}@media(max-width:900px){.auction-tracker{left:0;right:0;bottom:var(--auction-bar-bottom,calc(100px + env(safe-area-inset-bottom)));}}

/* Multi-city navigation, consistent with the existing horizontal rails. */
.world-city-rail{display:flex;gap:8px;overflow-x:auto;padding:8px 0 12px;scrollbar-width:thin;overscroll-behavior-x:contain}.world-city-rail button{flex:0 0 auto;min-width:126px;text-align:left;display:flex;flex-direction:column;gap:4px;padding:10px 14px;border:1px solid #d5dcd7;border-radius:9px}.world-city-rail button small{font-size:11px;font-weight:400;white-space:nowrap}.world-city-rail button[aria-pressed=true]{background:#e4ece7;border-color:#789087}.world-city-rail button[aria-disabled=true]{color:#78817c;background:#f3f4f1}.world-city-rail button:focus-visible{outline:2px solid #516e60;outline-offset:2px}

body .city-map .real-city{aspect-ratio:var(--world-map-ratio,1.733333);width:calc(max(100%,var(--map-height) * var(--world-map-ratio,1.733333)) * var(--map-zoom,1))}

/* Libellés courts, non superposés, pour les six destinations mobiles. */
@media(max-width:580px){
 body .sidebar nav .nav{box-sizing:border-box!important;flex:1 1 0!important;min-width:0!important;overflow:hidden!important}
 body .sidebar nav .nav>span:not(.sidebar-nav-handle){box-sizing:border-box!important;display:block!important;width:100%!important;min-width:0!important;max-width:100%!important;overflow:hidden!important;white-space:nowrap!important;text-align:center!important;font-size:0!important;line-height:1.25!important;padding-inline:0!important}
 body .sidebar nav .nav>span:not(.sidebar-nav-handle)::after{display:block;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:clip;font-size:clamp(9px,2.8vw,11px)!important;line-height:1.25!important}
 body .sidebar nav .nav[data-tab="quartier"]>span::after{content:'Quartier'}
 body .sidebar nav .nav[data-tab="marche"]>span::after{content:'Marché'}
 body .sidebar nav .nav[data-tab="patrimoine"]>span::after{content:'Mes biens'}
 body .sidebar nav .nav[data-tab="projets"]>span::after{content:'Projets'}
 body .sidebar nav .nav[data-tab="finances"]>span::after{content:'Finances'}
 body .sidebar nav .nav[data-career-open]>span::after{content:'Carrière'}
}

/* 12.10.2026 — carte multiville compacte et espacements cohérents. */
body #content .city-map>.world-city-rail{margin:0!important;padding:6px 12px 10px!important;gap:8px!important}
body #content .city-map>.world-city-rail button{min-height:68px!important;margin:0!important;padding:9px 13px!important}
body #content .city-map .map-controls{margin:0!important;padding:0 12px 10px!important}
body #content .city-map .map-local-filters{margin:0!important;min-height:0!important;padding:0 12px 10px!important;align-content:start!important}
body #content .city-map .map-local-filters>.map-filter-group,
body #content .city-map .map-local-filters .rail-wrap,
body #content .city-map .map-local-filters .filter-rail{min-height:0!important;height:auto!important;margin:0!important}
body #content .city-map .map-local-filters .filter-rail{padding:0!important;align-items:center!important}
body #content .city-map .map-local-filters .rail-arrow{display:none!important}
@media(max-width:600px){
 body #content .city-map>.world-city-rail{padding:5px 10px 8px!important}
 body #content .city-map>.world-city-rail button{min-width:122px!important;min-height:62px!important;padding:8px 11px!important}
 body #content .city-map .map-controls{padding:0 10px 8px!important}
 body #content .city-map .map-local-filters{grid-template-columns:auto minmax(0,1fr)!important;gap:4px 8px!important;padding:0 10px 8px!important}
 body #content .city-map .map-segments{min-width:0!important;width:100%!important}
}
.notification-panel .career-notice-list{margin:8px 0 16px;padding-left:19px;color:var(--bb-ink);font-size:14px;line-height:1.5;overflow-wrap:anywhere}.notification-panel .career-notice-list li+li{margin-top:6px}.notification-panel .notification-career .secondary{width:auto;max-width:100%}@media(max-width:600px){.notification-panel .notification-career .secondary{width:100%;text-align:center}}
.project-deadlines{margin:16px 0 22px;padding:18px!important}.project-deadlines-heading h2{margin:5px 0;font-size:20px}.project-deadlines-heading p{margin:0 0 12px;color:var(--bb-secondary)}.project-deadline{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--bb-line)}.project-deadline strong,.project-deadline small{display:block;overflow-wrap:anywhere}.project-deadline small{color:var(--bb-secondary);margin-top:3px}.project-deadline-clock{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:700}.project-deadline .secondary{min-height:38px;padding:7px 11px}@media(max-width:600px){.project-deadlines{padding:15px!important}.project-deadline{grid-template-columns:minmax(0,1fr) auto;gap:6px 10px}.project-deadline .secondary{grid-column:1/-1;width:100%;text-align:center}}
/* Le bouton flottant reste centre meme sous :active sur Safari iOS. */
body #work-pill,body #work-pill:active{left:50%!important;right:auto!important;transform:translateX(-50%)!important;max-width:calc(100vw - 32px);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:manipulation}
body #work-pill *{-webkit-user-select:none;user-select:none}
/* 3.3.9: a city without a budget control should not reserve an empty grid cell. */
body #content .city-map .map-local-filters.without-budget{display:flex!important;flex-direction:column;align-items:stretch;gap:4px!important}
body #content .city-map .map-local-filters.without-budget>.map-filter-group{width:100%;max-width:100%}
body #content .city-map .map-local-filters.without-budget .map-extra-filters{width:100%}
body #content .city-map .city-map-heading{padding-bottom:5px!important}
body #content .city-map>.world-city-rail{padding-bottom:6px!important}
body #content .city-map .map-controls{padding-bottom:5px!important}
body #content .city-map .map-local-filters{padding-bottom:5px!important}
body #content .city-map .map-local-filters .filter-rail{max-width:100%}
body #content .city-map .aerial-district-labels text{fill:#fff9e9;stroke:#213a36;stroke-width:7px;paint-order:stroke;opacity:.84;font-size:58px}
/* 3.3.10: clear, touch-friendly horizontal navigation for the cities. */
body #content .world-city-navigation{min-width:0;max-width:100%}
body #content .world-city-navigation>.world-city-rail{padding:5px 0 2px;scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity}
body #content .world-city-navigation>.world-city-rail::-webkit-scrollbar{display:none}
body #content .world-city-navigation>.world-city-rail>button{scroll-snap-align:start}
body #content .world-city-scroll{display:flex;align-items:center;gap:10px;height:30px;padding:0 3px 3px}
body #content .world-city-scroll[hidden]{display:none!important}
body #content .world-city-scroll>button:not(.world-city-track){flex:0 0 30px;width:30px;min-width:30px;height:30px;min-height:30px;border:1px solid #c7d7cf;border-radius:9px;background:#fff;color:#195143;font-size:24px;line-height:1;padding:0;box-shadow:none}
body #content .world-city-scroll>button:disabled{opacity:.35}
body #content .world-city-scroll>button:focus-visible{outline:2px solid #195143;outline-offset:2px}
body #content .world-city-scroll .world-city-track{position:relative;flex:1;min-width:0;height:30px;min-height:30px;padding:0;border:0;background:transparent;box-shadow:none;cursor:pointer;touch-action:none}
body #content .world-city-track:before{content:"";position:absolute;left:0;right:0;top:12px;height:6px;border-radius:99px;background:#dbe4dd}
body #content .world-city-thumb{position:absolute;left:0;top:10px;height:10px;border-radius:99px;background:#23604f;box-shadow:0 0 0 1px #ffffffa8;pointer-events:none;transition:left .12s ease-out}
body #content .city-map>.world-city-navigation>.world-city-rail{padding-inline:10px}
body #content .city-map>.world-city-navigation>.world-city-rail>button{min-height:62px;margin:0;padding:8px 11px}
body #content .city-map>.world-city-navigation>.world-city-scroll{padding-inline:12px}
/* 3.3.10: options de présentation, sans déplacer la barre mobile. */
@media(min-width:761px){body.sidebar-right .sidebar{left:auto!important;right:0!important}body.sidebar-right .shell{margin-left:0!important;margin-right:236px!important}}
body #content .column-switch{display:inline-flex;align-items:center;gap:2px;padding:2px;border:1px solid #d5dfd6;border-radius:10px;background:#edf2e9;flex:0 0 auto}
body #content .column-switch button{min-width:34px;min-height:36px;border:0;border-radius:8px;background:transparent;color:#315a4e;font-weight:700;padding:4px 7px}
body #content .column-switch button[aria-pressed="true"]{color:white;background:#185143}
body #content .column-switch button:focus-visible{outline:2px solid #185143;outline-offset:2px}
body #content .list-toolbar:has(.view-switch [data-view="list"][aria-pressed="true"]) .column-switch{display:none}
body[data-view="marche"] #content .cards:not(.list-mode)[data-columns="1"],body[data-view="patrimoine"] #content .cards:not(.list-mode)[data-columns="1"]{grid-template-columns:minmax(0,1fr)!important}
@media(min-width:601px){body[data-view="marche"] #content .cards:not(.list-mode)[data-columns="2"],body[data-view="patrimoine"] #content .cards:not(.list-mode)[data-columns="2"]{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(min-width:1200px){body[data-view="marche"] #content .cards:not(.list-mode)[data-columns="3"],body[data-view="patrimoine"] #content .cards:not(.list-mode)[data-columns="3"]{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(min-width:601px) and (max-width:1199px){body[data-view="marche"] #content .cards:not(.list-mode)[data-columns="3"],body[data-view="patrimoine"] #content .cards:not(.list-mode)[data-columns="3"]{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:600px){body[data-view="marche"] #content .cards:not(.list-mode)[data-columns],body[data-view="patrimoine"] #content .cards:not(.list-mode)[data-columns]{grid-template-columns:minmax(0,1fr)!important}body #content .list-toolbar{flex-wrap:wrap!important}body #content .column-switch{order:2}}

/* One cycling layout control; each selected grid is visible on mobile too. */
body #content .list-toolbar>.column-switch{display:inline-flex;align-items:center;justify-content:center;gap:7px;flex:0 0 auto;min-width:66px;min-height:42px;padding:7px 11px;border:1px solid #d5dfd6;border-radius:10px;background:#edf2e9;color:#185143;font-weight:700;line-height:1}
body #content .list-toolbar>.column-switch>span:first-child{font-size:22px;font-weight:400}
body #content .list-toolbar>.column-switch:focus-visible{outline:2px solid #185143;outline-offset:2px}
body #content .list-toolbar:has(.view-switch [data-view="list"][aria-pressed="true"])>.column-switch{display:none}
/* Keep city swiping and desktop arrows, while hiding the bar and thumb. */
body #content .world-city-scroll{justify-content:flex-end;height:32px;gap:6px;padding:0!important}
body #content .world-city-scroll .world-city-track{display:none!important}
@media(max-width:600px){
 body #content .world-city-scroll{display:none!important}
 body[data-view="marche"] #content .cards:not(.list-mode)[data-columns="2"],body[data-view="patrimoine"] #content .cards:not(.list-mode)[data-columns="2"]{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
 body[data-view="marche"] #content .cards:not(.list-mode)[data-columns="3"],body[data-view="patrimoine"] #content .cards:not(.list-mode)[data-columns="3"]{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important}
 body[data-view="marche"] #content .cards[data-columns="2"] .property-body,body[data-view="patrimoine"] #content .cards[data-columns="2"] .property-body{padding:9px!important}
 body[data-view="marche"] #content .cards[data-columns="3"] .property-body,body[data-view="patrimoine"] #content .cards[data-columns="3"] .property-body{padding:6px!important}
 body #content .cards[data-columns="2"] .property-body h3,body #content .cards[data-columns="3"] .property-body h3{font-size:clamp(12px,3.4vw,16px)!important;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
 body #content .cards[data-columns="2"] .card-price strong,body #content .cards[data-columns="2"] .portfolio-value{font-size:clamp(13px,3.5vw,17px)!important;overflow-wrap:anywhere}
 body #content .cards[data-columns="3"] .card-price strong,body #content .cards[data-columns="3"] .portfolio-value{font-size:clamp(11px,2.8vw,14px)!important;overflow-wrap:anywhere;line-height:1.2!important}
 body #content .cards[data-columns="3"] :is(.property-tag,.property-address,.location,.card-rental-line,.portfolio-meta,.portfolio-condition,.portfolio-income,.portfolio-status,.portfolio-address,.card-price small){display:none!important}
 body #content .cards[data-columns="3"] :is(.property-scope,.market-indicators,.rehabilitation-notice){display:none!important}
 body #content .cards[data-columns="2"] .card-purchase-line,body #content .cards[data-columns="3"] .card-purchase-line{display:flex;flex-direction:column;align-items:stretch;gap:4px}
 body #content .cards[data-columns="3"] :is(.card-manage,.portfolio-manage){min-height:36px!important;width:100%!important;padding:4px!important;font-size:11px!important;white-space:normal}
 body #content .cards[data-columns="3"] .card-manage span{display:none}
 body #content .cards[data-columns="3"] .portfolio-footer{padding-top:5px;gap:0}
 body #content .cards[data-columns="3"] .portfolio-facts{margin-top:5px!important;gap:3px!important}
 body #content .cards[data-columns="3"] .property-art{aspect-ratio:1/1!important}
 body #content .cards[data-columns="3"] .property-art .image-select{aspect-ratio:1/1!important}
 body #content .cards[data-columns="3"] .property-controls{inset:2px 2px auto!important}
 body #content .cards[data-columns="3"] .property-controls :is(.favorite-btn,.property-select){width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important}
}

/* Align titles across movable Quartier and Projets panels without placing the drag control inside a heading. */
body #content :is(.project-sections,.quartier-sections)>.finance-sort-row{position:relative!important;padding-left:0!important;min-width:0}
body #content :is(.project-sections,.quartier-sections)>.finance-sort-row>.finance-handle{display:flex!important;align-items:center;justify-content:center;position:absolute!important;left:auto!important;right:48px!important;top:12px!important;transform:none!important;width:32px!important;min-width:32px!important;height:36px!important;min-height:36px!important;padding:6px!important;margin:0!important;z-index:4;background:transparent!important;border:0!important;color:var(--bb-secondary,#607c70)!important}
body #content :is(.project-sections,.quartier-sections)>.finance-sort-row>.finance-handle:focus-visible{outline:2px solid var(--bb-accent,#185143);outline-offset:2px}
body #content .project-sections .city-ambitions .compact-fold>summary{padding-left:0!important;padding-right:76px!important;text-align:left!important}
body #content .project-sections .company-access>:is(.eyebrow,h2,p){margin-left:0!important;text-align:left!important}
body #content .project-sections .company-access>.eyebrow{display:block!important;padding-right:76px!important}
body #content .project-sections .empty>p,body #content .project-sections .empty>button{margin-left:0!important;max-width:100%!important}
body #content .quartier-sections .last-decision>summary{padding-left:0!important;text-align:left!important}
body #content .quartier-sections .last-decision .decision-title{margin-left:0!important;text-align:left!important}
body #content .quartier-sections .neighborhood-events .modern-event>:is(.event-heading,h2){text-align:left!important}
/* Career: compact navigation, metrics, and experience choices on phones. */
body #content .career-page{min-width:0}
body #content .career-page>h2{margin:4px 0 14px!important;line-height:1.2}
body #content .career-page>.career-tabs[role="tablist"]{margin-bottom:6px!important;scrollbar-width:none;-webkit-overflow-scrolling:touch}
body #content .career-page>.career-tabs[role="tablist"]::-webkit-scrollbar{display:none}
body #content .career-tab-order{gap:8px;margin:4px 0 12px!important;font-size:13px}
body #content .career-tab-order button{width:38px;min-width:38px;height:38px;min-height:38px;border-radius:10px}
body #content #career-feedback:empty{display:none}
body #content .career-page .career-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0 16px!important}
body #content .career-page .career-stats>span{min-width:0;padding:11px 10px;border:1px solid var(--bb-border,#d6dfd8);border-radius:12px;background:var(--bb-card,#fff);font-size:12px;line-height:1.3;overflow-wrap:anywhere}
body #content .career-page .career-stats b{font-size:clamp(19px,4vw,25px);line-height:1.1;margin-bottom:5px;font-variant-numeric:tabular-nums}
body #content .career-page>.panel:has(.career-styles){padding:18px!important;margin-top:0!important}
body #content .career-page>.panel:has(.career-styles)>h3{margin:0 0 13px!important;line-height:1.25}
body #content .career-page .career-styles{gap:8px}
body #content .career-page .career-styles button{min-height:0;padding:12px 14px!important;border-radius:12px;line-height:1.3}
body #content .career-page .career-styles button small{margin-top:4px;line-height:1.35}
@media(max-width:600px){
 body #content .career-page>.career-tabs[role="tablist"] button{padding-inline:12px;min-height:44px}
 body #content .career-page .career-stats>span{padding:9px 8px;font-size:11px}
 body #content .career-page .career-stats b{font-size:clamp(18px,5vw,23px)}
 body #content .career-page>.panel:has(.career-styles){padding:14px!important}
}

/* Reserve a clear place for the draggable handle without covering headings or counters. */
body #content .quartier-sections>.finance-sort-row>.finance-handle,
body #content .project-sections>.finance-sort-row:not(:has(.city-ambitions))>.finance-handle{right:12px!important}
body #content .quartier-sections .unified-goals>.section-head{padding-right:42px!important}
body #content .quartier-sections .unified-goals>.section-head>small{margin-left:auto;white-space:nowrap}
body #content .quartier-sections .last-decision>summary{padding-right:42px!important}
/* Match the site's secondary controls; the SVG replaces the uneven text glyph. */
body #content .list-toolbar>button.column-switch{display:inline-flex!important;align-items:center;justify-content:center;gap:7px;min-height:44px!important;min-width:0!important;padding:8px 12px!important;border:1px solid var(--bb-border,#d5dfd6)!important;border-radius:12px!important;background:var(--bb-card,#fff)!important;color:var(--bb-ink,#1b5042)!important;font-size:13px!important;font-weight:650!important;line-height:1.2!important;white-space:nowrap;box-shadow:none!important}
body #content .list-toolbar>button.column-switch>svg{display:block;flex:none;width:18px;height:18px}
body #content .list-toolbar>button.column-switch>span{font-size:13px!important;font-weight:650}
body #content .list-toolbar:has(.view-switch [data-view="list"][aria-pressed="true"])>button.column-switch{display:none!important}

/* Villes : défilement horizontal tactile, sans commandes ni curseur visible. */
body #content .world-city-rail{scrollbar-width:none;-ms-overflow-style:none;scroll-snap-type:x proximity}
body #content .world-city-rail::-webkit-scrollbar{display:none}
body #content .world-city-rail>button{scroll-snap-align:start}

/* Quartier : les poignées occupent l'espace entre les cartes, jamais le titre ou son compteur. */
body #content .quartier-sections>.finance-sort-row{padding-top:34px!important}
body #content .quartier-sections>.finance-sort-row>.finance-handle{top:0!important;right:12px!important}
body #content .quartier-sections .unified-goals>.section-head{padding-right:0!important}

/* Mes biens : en deux colonnes, l'adresse ne partage pas la largeur du bouton. */
body[data-view="patrimoine"] #content .cards:not(.list-mode){align-items:start!important}
body[data-view="patrimoine"] #content .portfolio-images .property-body{flex:0 0 auto!important}
body[data-view="patrimoine"] #content .portfolio-images .portfolio-footer{margin-top:10px!important;min-height:0!important;padding-top:0!important}
@media(max-width:600px){
 body[data-view="patrimoine"] #content .cards[data-columns="2"] .portfolio-footer{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:8px!important;min-height:0!important;padding:9px 0 0!important}
 body[data-view="patrimoine"] #content .cards[data-columns="2"] .portfolio-address{display:block;min-width:0;width:100%;overflow-wrap:normal;word-break:normal;line-height:1.3}
 body[data-view="patrimoine"] #content .cards[data-columns="2"] .portfolio-manage{align-self:flex-end;min-height:36px;padding:5px 12px}
}

/* Les biens de la société reprennent les cartes et le ruban de Mes biens. */
.company-page .company-overview-assets{min-width:0}
.company-page .company-overview-assets .list-toolbar{margin:8px 0 12px}
.company-page .company-overview-assets .cards:not(.list-mode){display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:14px}
.company-page .company-overview-assets .portfolio-images .property-art{aspect-ratio:16/9}
.company-page .company-overview-assets .portfolio-images .property-art .image-select{width:100%;height:100%;padding:0;border:0;background:transparent;cursor:pointer}
.company-page .company-overview-assets .portfolio-facts{min-width:0}
.company-page .company-overview-assets .portfolio-status{overflow-wrap:anywhere}
.company-page .company-overview-assets .portfolio-footer{display:flex;align-items:center;justify-content:space-between;gap:10px}
.company-page .company-overview-assets .company-quick-actions{display:flex;gap:6px;justify-content:flex-start;margin-top:10px;padding-top:10px;border-top:1px solid #e1e7df}
.company-page .company-overview-assets .company-quick-actions button{min-height:38px;flex:1 1 0;white-space:normal}
.company-page .company-overview-assets .cards.list-mode{display:grid;grid-template-columns:1fr;gap:10px}
.company-page .company-overview-assets .portfolio-list{display:block;padding:14px}
.company-page .company-overview-assets .portfolio-list .property-art{display:none}
.company-page .company-overview-assets .portfolio-list .property-body{padding:0}
.company-page .company-overview-assets .portfolio-list .portfolio-facts{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:baseline}
.company-page .company-overview-assets .portfolio-list .portfolio-footer{margin-top:8px}
@media(max-width:580px){.company-page .company-overview-assets .cards:not(.list-mode){grid-template-columns:1fr}.company-page .company-overview-assets .company-quick-actions{flex-wrap:wrap}.company-page .company-overview-assets .company-quick-actions button{flex:1 1 90px}}

/* Poignées des modules : alignées sur leur titre, hors du texte et du chevron. */
body #content .project-sections>.finance-sort-row:has(.city-ambitions)>.finance-handle{top:60px!important;right:52px!important}
body #content .project-sections .city-ambitions .compact-fold>summary{padding-right:86px!important}
body #content .project-sections>.finance-sort-row:has(.company-access)>.finance-handle{top:76px!important;right:20px!important}
body #content .project-sections .company-access>h2{padding-right:42px!important}
body #content .project-sections>.finance-sort-row>.finance-handle{border-radius:10px!important;touch-action:none}

.career-page{max-width:1100px;margin:auto}.career-tabs{display:flex;gap:6px;overflow-x:auto;max-width:100%;padding:6px 2px 10px;scrollbar-width:thin;overscroll-behavior-x:contain}.career-tabs button{flex:0 0 auto;min-height:40px;padding:8px 13px;border:1px solid var(--bb-border,#d6dfd8);border-radius:10px;background:var(--bb-card,#fff);color:var(--bb-ink,#20473d);box-shadow:none;font-size:14px;line-height:1.15;font-weight:650;white-space:nowrap}.career-tabs [aria-pressed=true]{background:var(--green,#184d40);border-color:var(--green,#184d40);color:#fff}.career-page>.career-tabs[role=tablist]{gap:0;padding:0;border-bottom:1px solid var(--bb-border,#d6dfd8);margin:0 0 10px}.career-page>.career-tabs[role=tablist] button{min-height:48px;padding:10px 16px;border:0;border-bottom:3px solid transparent;border-radius:0;background:transparent;color:var(--muted,#6f7f77)}.career-page>.career-tabs[role=tablist] button[aria-selected=true]{border-bottom-color:var(--green,#184d40);color:var(--green,#184d40);background:transparent}.career-grid,.career-styles{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.career-styles button{text-align:left;min-height:85px}.career-styles button[aria-pressed=true]{border-color:var(--green,#184d40);box-shadow:inset 4px 0 var(--green,#184d40);background:var(--bb-soft,#edf4ec)}.career-styles small{display:block;margin-top:6px}.career-stats,.career-city-list{display:flex;gap:18px;flex-wrap:wrap;margin:18px 0}.career-stats span{display:flex;flex-direction:column}.career-stats b{font-size:1.5rem}.career-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #e3e8e5}.career-row small{display:block}.career-table{overflow-x:auto}.career-table table{width:100%;border-collapse:collapse}.career-table th,.career-table td{text-align:left;padding:10px;border-bottom:1px solid #e3e8e5}.career-page form label{display:block;margin:10px 0}.career-page fieldset{border:1px solid #e0e5e2;margin:12px 0}.career-page textarea{width:100%;min-height:100px}.career-page progress{width:100%;height:10px}.career-page[data-experience-style=simulation] .career-stats{font-size:.9rem}.market-facts{display:flex;flex-wrap:wrap;gap:6px;font-size:.78rem;color:#5e706a;margin:8px 0}.market-facts span+span:before{content:'·';margin-right:6px}@media(max-width:600px){.career-grid,.career-styles{grid-template-columns:1fr}.career-row{align-items:flex-start}.career-row button{padding:7px 10px}.career-tabs{max-width:calc(100vw - 32px);margin-inline:0}.career-page>.career-tabs[role=tablist] button{min-height:44px;padding:9px 13px;font-size:13px}.career-tabs:not([role=tablist]) button{min-height:38px;padding:7px 11px;font-size:13px}.career-page h2{font-size:1.5rem}}

.career-tab-order{display:flex;gap:6px;align-items:center;margin:4px 0 16px;font-size:13px;flex-wrap:wrap}.career-tab-order button{display:grid;place-items:center;min-width:40px;min-height:40px;padding:0;border:1px solid var(--bb-border,#d6dfd8);border-radius:10px;background:var(--bb-card,#fff);text-decoration:none;font-size:20px}

/* Scoped to administration: retain the official colours, avoid floating controls. */
body.detail-route #detail:not(.confirmation-window) .dialog-inner:has(#admin-panel)>.page-return{position:static!important;inset:auto!important;margin:0 0 12px!important;z-index:auto!important}
body:has(#admin-panel) #back-top{display:none!important}
#admin-panel{min-width:0;padding-bottom:calc(16px + env(safe-area-inset-bottom,0px))}
#admin-panel .admin-mobile-back{position:static!important;inset:auto!important;display:inline-flex!important;margin:0 0 12px!important;min-height:44px;z-index:auto!important}
#admin-panel .admin-counts{display:flex;flex-wrap:wrap;gap:6px 18px;margin:8px 0 16px;padding:10px 0;border-block:1px solid var(--bb-border,#dce5de);font-size:.85rem}
#admin-panel .admin-counts span{white-space:nowrap}#admin-panel .admin-counts strong{font-variant-numeric:tabular-nums;margin-right:4px}
#admin-panel .admin-presence{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-size:.82rem;font-weight:600}
#admin-panel .admin-presence::before{content:'';width:7px;height:7px;flex:none;border-radius:50%;background:#88918e}
#admin-panel .admin-presence.is-online::before{background:#328157}
#admin-panel .admin-email{overflow-wrap:anywhere;word-break:break-word;font-size:.86rem}
#admin-panel .admin-account{width:100%;text-align:left;min-width:0}
#admin-panel .admin-account-top{display:flex;justify-content:space-between;gap:8px;align-items:center}
#admin-panel .admin-account small{display:block}
#admin-panel .admin-filters,#admin-panel .admin-sort{display:flex;gap:6px;overflow-x:auto;max-width:100%;padding:5px 0;scrollbar-width:thin}
#admin-panel .admin-filters>button,#admin-panel .admin-sort>button{flex:none;min-height:40px}
#admin-panel .admin-sort>button{font-size:.8rem;padding:6px 10px}
#admin-panel .admin-sort .active{font-weight:750;background:var(--bb-soft,#edf2e8)}
#admin-panel .admin-player-head h3 .admin-presence{vertical-align:middle;margin-left:8px}
#admin-panel .admin-copy{min-height:40px;white-space:normal}
#admin-panel .admin-list-heading{flex-wrap:wrap}
@media(min-width:1100px){#admin-panel .admin-workspace:not(.has-player){display:block}#admin-panel .admin-workspace:not(.has-player) .admin-player-pane{display:none}#admin-panel .admin-workspace:not(.has-player) .admin-account-list{max-height:none;overflow:visible}#admin-panel .admin-workspace:not(.has-player) .admin-account{display:grid;grid-template-columns:minmax(200px,1.5fr) minmax(180px,1fr) minmax(200px,1.2fr);gap:4px 18px}#admin-panel .admin-workspace:not(.has-player) .admin-account-top{grid-column:1}#admin-panel .admin-workspace:not(.has-player) .admin-account>.admin-email{grid-column:2;grid-row:1}#admin-panel .admin-workspace:not(.has-player) .admin-account>.admin-account-state{grid-column:3;grid-row:1}}
@media(max-width:760px){#admin-panel .admin-account-list{padding:12px!important}#admin-panel .admin-player-dates{grid-template-columns:1fr}#admin-panel .admin-counts{gap:8px 12px;font-size:.78rem}#admin-panel .admin-counts>span{flex:1 1 42%}#admin-panel .admin-row{flex-wrap:wrap}#admin-panel .admin-row>div{min-width:0;overflow-wrap:anywhere}#admin-panel .admin-account-top{align-items:start}#admin-panel .admin-account-top strong{overflow-wrap:anywhere}#admin-panel .admin-head-actions{gap:8px}}
#admin-panel .admin-tabs{scrollbar-width:none;-ms-overflow-style:none;padding-bottom:6px}
#admin-panel .admin-tabs::-webkit-scrollbar{display:none;width:0;height:0}
/* One full-width player record; retain the list in the DOM for return state. */
#admin-panel .admin-workspace:not(.has-player){display:block!important}
#admin-panel .admin-workspace:not(.has-player)>.admin-player-pane{display:none!important}
#admin-panel .admin-workspace.has-player{display:block!important;grid-template-columns:minmax(0,1fr)!important}
#admin-panel .admin-workspace.has-player>.admin-account-list{display:none!important}
#admin-panel .admin-workspace.has-player>.admin-player-pane{display:block!important;min-width:0;width:100%;max-width:none}
body #detail:has(#admin-panel){max-width:none!important}
#admin-panel .admin-workspace:not(.has-player)>.admin-account-list{max-height:none!important;overflow:visible!important}
#admin-panel .admin-mobile-back{margin-bottom:10px!important;min-height:40px}
#detail .dialog-inner:has(#admin-panel){width:100%;max-width:none!important;box-sizing:border-box;padding:18px clamp(14px,3vw,32px)!important}
#detail .dialog-inner:has(#admin-panel)>h2{margin:8px 0 6px;font-size:24px}
#detail .dialog-inner:has(#admin-panel)>p{margin:0 0 10px;font-size:14px}
#admin-panel .admin-counts{margin:6px 0 12px;padding:7px 0}
#admin-panel .admin-player-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,320px);gap:16px;padding:16px!important;margin:0 0 12px}
#admin-panel .admin-player-head h3{font-size:24px;margin:4px 0 8px}
#admin-panel .admin-player-dates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;margin:12px 0 0}
#admin-panel .admin-player-dates dd{margin:3px 0 0}
#admin-panel .admin-head-actions{display:flex;flex-wrap:wrap;align-content:start;align-items:start;gap:8px}
#admin-panel .admin-head-actions>.admin-actions-menu{flex-basis:100%}
#admin-panel .admin-player-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 12px}
#admin-panel .admin-player-metrics>article{gap:5px;padding:12px!important}
#admin-panel .admin-player-metrics strong{font-size:clamp(14px,1.7vw,23px)}
#admin-panel .admin-accordion{margin:0!important;padding:0!important}
#admin-panel .admin-accordion>summary{min-height:44px;padding:10px 4px!important;box-sizing:border-box}
#admin-panel .admin-detail-body{padding:4px 6px 12px!important}
#admin-panel .admin-detail-body>p{margin:4px 0 10px;line-height:1.5}
#admin-panel .admin-identity-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 20px}
#admin-panel .admin-identity-grid>[data-player-dates]{display:contents}
#admin-panel .admin-identity-grid .admin-row{display:flex;align-items:start;gap:8px;padding:9px 0!important;margin:0!important;min-width:0}
#admin-panel .admin-identity-grid .admin-row>div{flex:1 1 0;min-width:0}
#admin-panel .admin-identity-grid .admin-row strong{font-size:13px}
#admin-panel .admin-identity-grid .admin-row p{font-size:13px!important;line-height:1.4;margin:4px 0 0!important;overflow-wrap:anywhere}
#admin-panel .admin-identity-grid .admin-copy{min-height:36px;padding:6px 9px;font-size:12px}
#admin-panel form.admin-edit{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px!important;align-items:end;width:100%;max-width:none;box-sizing:border-box;padding:14px!important;margin:8px 0!important}
#admin-panel .admin-edit label:not(.admin-check){display:flex;flex-direction:column;gap:5px;min-width:0;margin:0;font-size:13px;line-height:1.4}
#admin-panel .admin-edit :is(input:not([type=checkbox]):not([type=hidden]),select,textarea),#admin-panel .admin-search-label input{width:100%;min-width:0;min-height:40px;box-sizing:border-box;padding:8px 10px;border:1px solid var(--bb-line,#cad7cc);border-radius:9px;background:var(--card,#fff);color:inherit;font:inherit}
#admin-panel .admin-edit>p{grid-column:1/-1;margin:0}
#admin-panel .admin-edit>button{align-self:end;min-height:40px;margin:0;padding:9px 12px}
#admin-panel .admin-filters,#admin-panel .admin-sort{scrollbar-width:none;-ms-overflow-style:none}
#admin-panel .admin-filters::-webkit-scrollbar,#admin-panel .admin-sort::-webkit-scrollbar{display:none;width:0;height:0}
@media(max-width:950px){#admin-panel .admin-identity-grid,#admin-panel form.admin-edit{grid-template-columns:repeat(2,minmax(0,1fr))}#admin-panel .admin-player-head{grid-template-columns:1fr}}
@media(max-width:600px){#admin-panel .admin-identity-grid,#admin-panel form.admin-edit{grid-template-columns:minmax(0,1fr)}#admin-panel .admin-player-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}#admin-panel .admin-player-head{padding:12px!important}#admin-panel .admin-detail-body{padding-left:0!important;padding-right:0!important}}

/* Compact account summaries; full identity and dates stay in the player sheet. */
#admin-panel .admin-account{gap:6px!important;padding:14px 4px!important}
#admin-panel .admin-account-top{gap:12px;align-items:center}
#admin-panel .admin-account-top>strong{font-size:17px!important;min-width:0;overflow-wrap:normal;word-break:normal}
#admin-panel .admin-account-state{font-size:13px;line-height:1.4}
#admin-panel .admin-account-meta336{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
#admin-panel .admin-account-meta336 small{font-size:12px;line-height:1.4}
#admin-panel .admin-account-meta336 time{font-weight:500}
#admin-panel .admin-account-meta336 em{font-size:11px;font-style:normal;padding:3px 7px;border-radius:6px;background:var(--bb-soft,#edf3e8);white-space:nowrap}

/* Compact, stable mobile controls in the existing BatiBlocs palette. */
body #sticky-finances.has-admin-access{padding-right:max(105px,env(safe-area-inset-right,0px))!important}
@media(max-width:600px){body #sticky-finances.has-admin-access{padding-right:max(12px,env(safe-area-inset-right,0px))!important}body #sticky-finances.has-admin-access>.sticky-wallet{box-sizing:border-box;width:100%;min-height:40px;padding-right:90px;justify-content:center}}
#sticky-finances .banner-admin{position:absolute;right:max(12px,env(safe-area-inset-right,0px));top:calc(4px + env(safe-area-inset-top,0px));display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:5px 10px;border:1px solid currentColor;border-radius:12px;background:transparent;color:var(--banner-ink,#f4f7ef);font:inherit;font-size:12px;line-height:1;cursor:pointer}
body .modern-auction.auction-compact{padding:16px 18px!important;border-radius:18px;gap:12px;margin:16px 0!important}
body .modern-auction.auction-compact h3{font-size:clamp(17px,2.1vw,22px)!important;line-height:1.25;margin:7px 0!important;overflow-wrap:anywhere}
body .modern-auction.auction-compact .eyebrow{font-size:10px;letter-spacing:1.4px}
body .modern-auction.auction-compact p{font-size:13px;line-height:1.4;margin:6px 0!important}
body .modern-auction.auction-compact .auction-facts{gap:8px;margin:9px 0;flex-wrap:wrap;align-items:center}
body .modern-auction.auction-compact .auction-facts>strong{font-size:clamp(21px,4.8vw,27px)!important}
body .modern-auction.auction-compact .auction-facts>span{font-size:12px;padding:6px 10px}
body .modern-auction.auction-compact small{font-size:11px;line-height:1.4}
body .modern-auction.auction-compact>.primary{min-height:44px!important;padding:10px 15px!important;font-size:14px!important;margin:0!important}
.city-map .map-segments>button{animation:none!important;transition:background-color .15s,color .15s!important;transform:none!important;flex:1 1 0;min-width:0;overflow-anchor:none}
.city-map .map-controls{overflow-anchor:none}
.site-photo-rail{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x proximity}.site-photo-rail figure{flex:0 0 min(85vw,340px);margin:12px 0;scroll-snap-align:start}.site-photo-rail img{display:block;width:100%;height:auto;border-radius:12px}.site-photo-rail figcaption{font-size:12px;padding-top:6px;color:var(--muted,#607367)}
.heritage-project{max-width:850px;margin:auto}.heritage-project .panel{margin:14px 0;padding:16px;border:1px solid var(--line,#d9e3d9);border-radius:16px;background:var(--paper,#f6f8f2)}
.site-add-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.site-add-options fieldset{border:1px solid #cfddce;border-radius:14px;padding:12px;min-width:0}.site-add-options legend{font-weight:700}.site-add-options button{width:100%;margin-top:8px;white-space:normal}.site-building>button{margin:7px 7px 0 0}.site-building h3{font-size:18px;margin:0 0 8px}.site-building-list{display:grid;gap:12px;margin:16px 0}.site-building-list>.site-building{margin:0}.heritage-project p{line-height:1.55}.theme-dark .heritage-project .panel{background:#244037;border-color:#4a6759}
@media(max-width:600px){.site-add-options{grid-template-columns:1fr}body .modern-auction.auction-compact{display:grid;grid-template-columns:minmax(0,1fr);padding:14px!important}body .modern-auction.auction-compact>.primary{justify-self:start;width:auto!important}.heritage-project .panel{padding:14px}.site-building>button{width:100%;margin-right:0}}
/* Keep the map filter rail in its flexible column when older styles hide arrows. */
body #content .city-map .map-local-filters .rail-wrap{display:grid;grid-template-columns:36px minmax(0,1fr) 36px!important;width:100%;max-width:100%;gap:4px;box-sizing:border-box}
body #content .city-map .map-local-filters .rail-wrap>.filter-rail{grid-column:2;grid-row:1;width:100%;box-sizing:border-box}
body #content .city-map .map-local-filters .rail-wrap>.rail-arrow{display:inline-flex!important;align-items:center;justify-content:center;width:36px;min-width:36px;min-height:44px;margin:0;padding:0;box-sizing:border-box;grid-row:1}
body #content .city-map .map-local-filters .rail-wrap>.rail-arrow:first-child{grid-column:1}
body #content .city-map .map-local-filters .rail-wrap>.rail-arrow:last-child{grid-column:3}

/* Keep cards content-sized. Large currency values retain their own line. */
body[data-view="patrimoine"] #content .cards:not(.list-mode){gap:12px!important;align-items:start!important}
body[data-view="patrimoine"] #content .portfolio-images{height:auto!important;min-height:0!important;align-self:start}
body[data-view="patrimoine"] #content .portfolio-images .property-body{padding:12px 14px!important;gap:0!important;flex:0 0 auto!important;min-height:0!important}
body[data-view="patrimoine"] #content .portfolio-images .portfolio-meta{margin:4px 0 0!important;line-height:1.35}
body[data-view="patrimoine"] #content .portfolio-images .portfolio-facts{margin-top:8px!important;gap:5px!important}
body[data-view="patrimoine"] #content .portfolio-images .portfolio-status{margin-top:0!important;min-height:0!important}
body[data-view="patrimoine"] #content .portfolio-images .portfolio-footer{margin-top:7px!important;padding:0!important;min-height:0!important;gap:8px!important;align-items:center!important}
body[data-view="patrimoine"] #content .portfolio-images .portfolio-manage{min-height:44px!important;padding:7px 13px!important}
.energy-badge{display:inline-grid;place-items:center;box-sizing:border-box;min-width:22px;width:auto!important;height:22px;border:0;background:var(--energy-bg);color:var(--energy-ink,#13281f);border-radius:4px;padding:0 5px;font-size:12px;font-weight:800;line-height:1;white-space:nowrap;vertical-align:middle;margin-left:6px}
.energy-A{--energy-bg:#00843d;--energy-ink:#fff}
.energy-B{--energy-bg:#50b848}
.energy-C{--energy-bg:#b3d335}
.energy-D{--energy-bg:#ffdb00}
.energy-E{--energy-bg:#f5a623}
.energy-F{--energy-bg:#ee731b}
.energy-G{--energy-bg:#d71920;--energy-ink:#fff}
body[data-view="patrimoine"] #content .portfolio-energy-photo{position:absolute;left:10px;bottom:10px;z-index:4;line-height:1;pointer-events:none}
body[data-view="patrimoine"] #content .portfolio-energy-photo .energy-badge{margin:0;box-shadow:0 1px 5px #0004;outline:2px solid #fff}
body[data-view="patrimoine"] #content .portfolio-list-manage{grid-column:2;grid-row:2;display:flex;align-items:center;justify-content:flex-end;gap:8px}
body[data-view="patrimoine"] #content .portfolio-list-manage .energy-badge{margin:0}
body[data-view="patrimoine"] #content .portfolio-list-manage .portfolio-manage{grid-column:auto;grid-row:auto}
.estate-page{max-width:860px;margin:auto}.estate-page>section,.estate-page>details{margin:12px 0;padding:12px;border:1px solid #d8e1d6;border-radius:12px}.estate-page p{line-height:1.45;margin:8px 0}.estate-page h3{margin:8px 0}.estate-page button{margin:4px 6px 4px 0;min-height:44px;max-width:100%;white-space:normal}.estate-page summary{cursor:pointer;font-weight:650;min-height:36px}.estate-choices{display:flex;flex-wrap:wrap;gap:6px}.estate-choices button{flex:1 1 170px}.estate-building{border-top:1px solid #e1e7df;padding:10px 0}.estate-overview{padding:14px;border:1px solid #d8e1d6;border-radius:12px;background:#fff;margin-bottom:14px}.estate-overview .section-head{margin:0 0 8px}.estate-overview h2{font-size:18px}.estate-metrics{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;font-size:13px}.estate-opportunity{padding:10px 0;border-bottom:1px solid #e3e9df}.estate-opportunity p{margin:6px 0;font-size:14px}.estate-project-link{display:block;width:100%;text-align:left;border:0;border-bottom:1px solid #e3e9df;background:transparent;color:var(--green,#17493f);padding:10px 0;font:inherit;font-size:14px;line-height:1.4;min-height:44px}.estate-overview .note{font-size:12px;margin:10px 0 0}
@media(max-width:600px){.estate-page .dialog-top h2{font-size:21px}.estate-page>section,.estate-page>details{padding:10px}.estate-choices button{flex-basis:130px}body[data-view="patrimoine"] #content .cards[data-columns="2"] .portfolio-footer{gap:5px!important}body[data-view="patrimoine"] #content .cards[data-columns="2"] .portfolio-manage{align-self:flex-end}}

/* BatiBlocs 3.3.27 — common presentation layer. Scoped to the game. */
body.interface327{--bb-gap:16px;--bb-radius:14px;--bb-line:#dce4dc;--bb-panel:#fff;--bb-text:#203b35;--bb-muted:#697a70;--bb-sidebar:224px;--bb-top:100px;background:#f4f6f3;color:var(--bb-text)}
body.interface327.theme-dark{--bb-panel:#203b35;--bb-text:#edf3eb;--bb-muted:#bac9bf;--bb-line:#436052}
body.interface327 .shell{margin-left:var(--bb-sidebar)!important;margin-right:0!important;min-width:0}
body.interface327 .sidebar{width:var(--bb-sidebar)!important;padding:24px 16px!important}
body.interface327 .sidebar nav{display:flex;flex-direction:column;gap:4px;margin-top:20px}
body.interface327 .sidebar .nav{display:flex!important;align-items:center;justify-content:flex-start;gap:10px;min-height:46px;padding:10px 12px;margin:0;border-radius:10px;font-size:14px;line-height:1.3}
body.interface327 .sidebar .nav>span:not(.sidebar-nav-handle){display:block!important;white-space:nowrap}
body.interface327 .sidebar .nav>svg{display:block;flex:none;width:22px;height:22px}
body.interface327 .sidebar-nav-handle{margin-left:auto;opacity:.45;min-width:24px;cursor:grab}
body.interface327 .sidebar .nav:hover .sidebar-nav-handle,body.interface327 .sidebar .nav:focus-within .sidebar-nav-handle{opacity:1}
body.interface327 .shell>header{display:none!important}
body.interface327.welcome-mode .shell>header{display:flex!important}
body.interface327 #sticky-finances{position:fixed!important;top:0!important;left:var(--bb-sidebar)!important;right:0!important;bottom:auto!important;display:grid!important;grid-template-columns:minmax(160px,1fr) minmax(120px,1fr) auto;grid-template-rows:auto auto;align-items:center;gap:4px 18px;min-height:94px!important;height:auto!important;padding:12px 24px!important;padding-top:max(12px,env(safe-area-inset-top))!important;z-index:85!important;border-bottom:1px solid #ffffff26}
body.interface327 #sticky-finances[hidden]{display:none!important}
body.interface327 #sticky-finances .sticky-wallet{grid-column:1;grid-row:1;min-width:0}
body.interface327 #sticky-finances .sticky-wallet>strong{font-size:clamp(18px,2vw,26px)!important;line-height:1.25;overflow-wrap:anywhere}
body.interface327 #sticky-finances .income-explainer{grid-column:1;grid-row:2;min-width:0;text-align:left;padding:0;display:flex;gap:6px;align-items:center;flex-wrap:wrap}
body.interface327 #sticky-finances .income-explainer span{font-size:13px!important}
body.interface327 #sticky-finances .income-explainer small{font-size:11px!important}
body.interface327 #sticky-finances .sticky-calendar{grid-column:2;grid-row:1 / span 2;text-align:right;position:static!important;min-width:0;font-size:13px!important}
body.interface327 #sticky-finances .sticky-calendar small{display:block;font-size:11px!important;margin-top:5px}
body.interface327 #sticky-finances .bb-header-actions{grid-column:3;grid-row:1;display:flex;align-items:center;justify-content:flex-end;gap:8px}
body.interface327 #sticky-finances .bb-header-city{grid-column:3;grid-row:2;text-align:right;font-size:11px;opacity:.8}
body.interface327 #sticky-finances [data-admin-panel]{position:static!important;min-height:36px!important;padding:6px 9px!important;font-size:12px!important;border-radius:9px!important;grid-column:3;grid-row:2;justify-self:start}
body.interface327 #sticky-finances:has([data-admin-panel]) .bb-header-city{display:none}
body.interface327 #sticky-finances #account,body.interface327 #sticky-finances #notification-bell{position:relative!important;inset:auto!important;transform:none!important;width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;padding:7px!important;background:#ffffff12;color:inherit;border:1px solid #ffffff45;border-radius:11px;box-shadow:none!important;display:grid;place-items:center;flex:none}
body.interface327 #sticky-finances #notification-bell[hidden]{display:none!important}
body.interface327 #sticky-finances #account svg{width:30px;height:30px}
body.interface327 #sticky-finances #notification-bell span{position:absolute;top:-4px;right:-4px;font-size:10px}
body.interface327 #game-main{width:100%!important;max-width:none!important;padding:calc(var(--finance-height,var(--bb-top)) + 20px) 24px 32px!important;margin:0!important;min-width:0}
body.interface327 #content{width:100%;max-width:none!important;margin:0;min-width:0}
body.interface327 .page-title{margin:0 0 16px!important;min-height:0!important;padding:0;align-items:center}
body.interface327 .page-title .eyebrow,body.interface327 .page-title .clock,body.interface327 .page-title #page-subtitle{display:none}
body.interface327 .page-title h1{font-size:26px;line-height:1.2;margin:0}
body.interface327 .bb-page-tools{display:flex;justify-content:flex-end;gap:8px;margin:-48px 0 14px;min-height:34px}
body.interface327 .bb-page-tools button{font-size:12px;min-height:36px}
body.interface327 #content :is(.panel,.event-panel,.project-dashboard,.empty,.finance331>.panel,.career-page>.panel),body.interface327 #detail .panel{border:1px solid var(--bb-line);border-radius:var(--bb-radius);padding:16px;box-shadow:none}
body.interface327 :is(#content,#detail) h2{font-size:22px;line-height:1.3;margin:0 0 12px}
body.interface327 :is(#content,#detail) h3{font-size:18px;line-height:1.3;margin:0 0 8px}
body.interface327 :is(#content,#detail) p{line-height:1.5}
body.interface327 :is(#content,#detail) .note{font-size:12px;color:var(--bb-muted)}
body.interface327 :is(#content,#detail) :is(.primary,.secondary,.status-chip){min-height:42px;border-radius:10px;padding:9px 14px;line-height:1.25}
body.interface327 :is(#content,#detail) :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),textarea,select){max-width:100%;min-width:0;border:1px solid var(--bb-line);border-radius:10px;padding:10px 12px;font:inherit;background:var(--bb-panel);color:inherit}
body.interface327 :is(#content,#detail) :is(input,textarea,select):focus-visible{outline:2px solid #4c826c;outline-offset:2px}
body.interface327 :is(.bb-tabs,.property-tabs,.world-city-rail,.discussion-tabs,.career-tabs,.ranking-modes331,.finance331>nav.filters){display:flex!important;align-items:center;gap:6px;overflow-x:auto;overflow-y:hidden;flex-wrap:nowrap!important;max-width:100%;padding:4px 0 9px;margin:0 0 12px;scrollbar-width:thin;scrollbar-color:#9daf9f transparent;-webkit-overflow-scrolling:touch}
body.interface327 :is(.bb-tabs,.property-tabs,.world-city-rail,.discussion-tabs,.career-tabs,.ranking-modes331,.finance331>nav.filters)>button{flex:0 0 auto;white-space:nowrap;min-height:44px;border:1px solid var(--bb-line);background:var(--bb-panel);color:var(--bb-text);border-radius:10px;padding:9px 14px;font-size:13px;font-weight:600;box-shadow:none}
body.interface327 :is(.bb-tabs,.property-tabs,.world-city-rail,.discussion-tabs,.career-tabs,.ranking-modes331,.finance331>nav.filters)>button:is([aria-pressed=true],[aria-selected=true],.active){background:var(--green,#184d40);border-color:var(--green,#184d40);color:#fff}
body.interface327 .world-city-rail button{min-width:0!important;width:auto!important;text-align:left}
body.interface327 .world-city-rail button small{display:block;font-size:11px}
body.interface327 .world-city-navigation{margin:0!important;padding:0!important}
body.interface327 .property-tabs button:after{display:none!important}
body.interface327 .property-tabs svg{width:18px;height:18px}
body.interface327 .list-toolbar{gap:7px;margin:6px 0 10px}
body.interface327 .property-filters{margin:0 0 10px;padding:0 4px}
body.interface327 .filter-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:12px}
body.interface327 .portfolio-summary{padding:10px 12px!important;margin:8px 0!important}
body.interface327 .portfolio-summary :is(h2,p){margin:0;font-size:13px}
body.interface327 .finance-sections{display:flex!important;flex-direction:column;gap:16px}
body.interface327 .finance-sort-row{position:relative;display:block!important;padding:0!important;margin:0!important;min-height:0!important}
body.interface327 .finance-sort-row>.finance-handle{position:absolute!important;top:8px!important;right:8px!important;left:auto!important;z-index:3}
body.interface327 .finance-sort-row>.panel{margin:0}
body.interface327 .finance-handle{min-width:40px!important;width:40px!important;height:40px!important;min-height:40px!important;margin:0!important;padding:10px!important;align-self:center;border:0;background:transparent;opacity:.55;touch-action:none;flex:none;cursor:grab}
body.interface327 .drag-title{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-right:0!important}
body.interface327 .drag-label{flex:1;min-width:0}
body.interface327 .finance-sort-row:has(>.finance-handle)>:not(.finance-handle){padding-right:52px!important}
body.interface327 .finance-sort-row summary:has(.finance-handle){min-height:44px}
body.interface327 .summary-metrics,body.interface327 .stock-metrics,body.interface327 .career-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,155px),1fr));gap:12px;padding:12px 0;margin:0}
body.interface327 :is(.summary-metrics,.stock-metrics)>div{padding:8px 12px;border-left:2px solid var(--bb-line);background:none;border-radius:0;min-width:0}
body.interface327 :is(.summary-metrics,.stock-metrics)>div :is(span,small){font-size:11px;display:block}
body.interface327 :is(.summary-metrics,.stock-metrics)>div strong{display:block;font-size:18px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
body.interface327 .stock-cards{display:flex;flex-direction:column;gap:0}
body.interface327 .stock-card{display:grid;grid-template-columns:minmax(160px,1.3fr) minmax(130px,1fr) minmax(120px,1fr) auto;gap:12px;align-items:center;padding:12px!important;border-radius:0!important;border-width:0 0 1px!important;margin:0}
body.interface327 .stock-card>p{margin:0;font-size:12px}
body.interface327 .stock-card>strong{font-size:12px}
body.interface327 .stock-price strong{font-size:17px}
body.interface327 .stock-company{padding:0;text-align:left;min-height:44px}
body.interface327 .stock-card>button:last-child{grid-column:4;grid-row:1 / span 2;font-size:12px}
body.interface327 .career-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:12px}
body.interface327 .career-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--bb-line);font-size:13px}
body.interface327 .ranking-entry{padding:10px 12px;border-radius:10px;min-height:64px;margin:0 0 6px}
body.interface327 .ranking-intro>p{font-size:12px;max-width:850px}
body.interface327 .modern-auction{padding:16px!important;display:flex;gap:16px;align-items:center;margin:12px 0}
body.interface327 .modern-auction h3{font-size:18px!important;margin:6px 0}
body.interface327 .auction-facts>strong{font-size:24px!important}
body.interface327 .modern-auction .primary{width:auto;min-width:160px;font-size:14px}
body.interface327 .auction-result-photo{display:block;width:100%;max-height:260px;object-fit:cover;border-radius:14px;margin:0 0 16px}
body.interface327 .modern-event{margin:0 0 16px!important;padding:16px!important}
body.interface327 .modern-event .decision-budget{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px}
body.interface327 .modern-event .event-options{gap:12px}
body.interface327 .bb-event-history{font-size:12px;margin:0 0 12px}
body.interface327 .bb-news-preview{width:100%;display:flex;align-items:center;gap:18px;text-align:left;background:var(--bb-panel);padding-right:56px!important;cursor:pointer}
body.interface327 .bb-news-preview>span:last-child{display:grid;gap:8px}
body.interface327 .bb-news-preview small{font-size:10px;letter-spacing:.08em;color:var(--bb-muted)}
body.interface327 .bb-news-preview strong{font-size:19px}
body.interface327 .bb-news-preview span>span{font-size:12px}
body.interface327 .bb-news-thumb{width:92px;height:112px;flex:none;padding:10px;background:#f6f2e8;border:1px solid #d1cfc1;color:#26382d;display:grid;gap:5px}
body.interface327 .bb-news-thumb b{font:700 13px Georgia,serif;border-bottom:3px double;padding-bottom:5px}
body.interface327 .bb-news-thumb i{background:repeating-linear-gradient(to bottom,#a5aa9c 0 1px,transparent 1px 5px)}
body.interface327 .bb-newspaper{padding:24px;background:#f8f5ed;color:#26382d;max-width:1240px;margin:auto;border:1px solid #d4d2c4}
body.interface327 .bb-newspaper-head{position:static;display:block;height:auto;padding:0 0 16px;background:none;color:inherit;border-bottom:4px double #26382d;text-align:center}
body.interface327 .bb-newspaper-head h2{font:700 clamp(28px,5vw,56px) Georgia,serif!important;margin:8px 0!important;letter-spacing:-.04em}
body.interface327 .bb-newspaper-head small{letter-spacing:.18em;font-size:10px}
body.interface327 .bb-newspaper-head>div{font-size:12px}
body.interface327 .bb-news-lead{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:24px 0;border-bottom:1px solid #bfc4b8}
body.interface327 .bb-news-lead img{width:100%;height:240px;object-fit:cover;filter:saturate(.6)}
body.interface327 .bb-news-lead h3{font:700 30px/1.15 Georgia,serif!important}
body.interface327 .bb-news-columns{display:grid;grid-template-columns:1fr 1fr;gap:28px;padding:20px 0;font:15px/1.6 Georgia,serif}
body.interface327 .bb-news-columns>section+section{border-left:1px solid #bfc4b8;padding-left:24px}
body.interface327 .bb-news-edition{display:block;width:100%;text-align:left;padding:12px;background:none;border:0;border-bottom:1px solid #bfc4b8}
body.interface327 .bb-project-head{display:flex;justify-content:space-between;align-items:center;margin:12px 0}
body.interface327 #detail:not([hidden]),body.interface327 #detail.property-page:not([hidden]){width:auto!important;max-width:none!important;margin:calc(var(--finance-height,var(--bb-top)) + 16px) 24px 40px calc(var(--bb-sidebar) + 24px)!important;padding:0!important;min-width:0}
body.interface327 #detail>.dialog-inner,body.interface327 #dialog-content>.dialog-inner{padding:0!important;width:100%;max-width:none!important;margin:0!important;min-width:0}
body.interface327.detail-route #detail .dialog-inner>.page-return{display:none!important}
body.interface327 #detail .page-return .return-label{display:inline!important;font-size:13px}
body.interface327 .dm-layout{display:grid;grid-template-columns:minmax(240px,30%) minmax(0,1fr);max-width:none!important;width:100%;min-height:420px;overflow:hidden;border:1px solid var(--bb-line);border-radius:14px;background:var(--bb-panel)}
body.interface327 #dm-conversations{position:static!important;inset:auto!important;width:auto!important;height:auto!important;padding:12px;background:transparent;color:inherit;overflow:auto;border-right:1px solid var(--bb-line);min-width:0;max-height:65dvh}
body.interface327 .dm-thread{display:flex;flex-direction:column;min-width:0;padding:12px}
body.interface327 #dm-log{flex:1;max-height:55dvh;overflow:auto;overscroll-behavior:contain;padding:12px 0}
body.interface327 .dm-thread-head{min-height:48px}
body.interface327 .dm-composer,body.interface327 .advisor-compose,body.interface327 .bb-chat-compose{display:flex;align-items:flex-end;gap:8px;padding:6px;border:1px solid var(--bb-line)!important;border-radius:14px;background:var(--bb-panel);box-shadow:none!important}
body.interface327 :is(.dm-composer,.advisor-compose,.bb-chat-compose) textarea{flex:1;resize:none;min-height:42px;max-height:132px;border:0!important;margin:0;padding:10px;font-size:16px;box-shadow:none;outline:none}
body.interface327 .dm-composer{flex-wrap:wrap;position:sticky;bottom:0}
body.interface327 .dm-composer textarea{flex-basis:65%}
body.interface327 .dm-composer .actions{margin:0;gap:4px}
body.interface327 .dm-composer>p{flex-basis:100%;margin:0;font-size:12px}
body.interface327 .advisor-compose button,body.interface327 .bb-chat-compose button{flex:none;min-height:40px;font-size:12px;padding:8px 12px}
body.interface327 .advisor-suggestions{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}
body.interface327 .advisor-suggestions button{font-size:11px!important;min-height:36px!important;padding:7px 10px!important}
body.interface327 #advisor-float{bottom:calc(var(--bottom-bar-height,0px) + var(--bb-keyboard-inset,0px) + 12px)!important;max-height:calc(100dvh - var(--finance-height,100px) - var(--bottom-bar-height,0px) - 24px)!important;border:1px solid var(--bb-line);border-radius:16px}
body.interface327 #advisor-float .advisor-chat{display:flex;flex-direction:column;min-height:0;padding:12px}
body.interface327 #advisor-float .advisor-messages{overflow:auto;min-height:80px;max-height:32dvh}
body.interface327 #advisor-float .advisor-compose{position:sticky;bottom:0}
body.interface327 .bb-notification-list .notification-item{margin:0;padding:12px 0;border:0;border-bottom:1px solid var(--bb-line);border-radius:0;box-shadow:none;background:none}
body.interface327 .bb-notification-list .notification-item h3{font-size:15px!important;margin:0}
body.interface327 .bb-notification-list .notification-item p{font-size:12px;margin:5px 0}
body.interface327 .bb-notification-list .notification-actions{gap:6px;margin:6px 0 0}
body.interface327 .bb-notification-list .notification-actions button{font-size:12px;min-height:36px;padding:7px 10px}
body.interface327 .bb-notification-list .notification-icon{width:30px;height:30px;min-width:30px}
body.interface327 .bb-history327 .career-row{justify-content:flex-start;align-items:flex-start}
body.interface327 .bb-history327 time{min-width:130px;font-size:11px;color:var(--bb-muted)}
body.interface327 .bb-notice-fold{border-bottom:1px solid var(--bb-line);margin:0;padding:0;background:transparent}
body.interface327 .bb-notice-fold>summary{display:list-item;min-height:52px;padding:10px 8px;cursor:pointer;font-size:14px;font-weight:600;line-height:1.35}
body.interface327 .bb-notice-fold>summary small{display:block;font-size:10px;font-weight:400;color:var(--bb-muted);margin-bottom:3px}
body.interface327 .bb-notice-fold .notification-item{border:0;padding:4px 8px 14px}
body.interface327 .company-welcome{padding:16px!important;min-height:0!important;background:var(--bb-panel)!important;color:var(--bb-text)!important;border:1px solid var(--bb-line);border-radius:14px}
body.interface327 .company-welcome :is(h2,h3){font-size:22px!important;margin:0 0 10px!important}
body.interface327 .company-page :is(.company-metrics,.company-grid){gap:12px;margin:12px 0}
body.interface327 .company-page .company-card{padding:16px;border-radius:14px}
body.interface327 .career-hero{padding:16px!important;background:var(--bb-panel)!important;color:var(--bb-text)!important;min-height:0!important}
body.interface327 .career-hero>h3{font-size:20px!important;margin:8px 0!important}
body.interface327 .career-hero p{font-size:13px}
body.interface327 .course-roadmap{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:8px;font-size:12px;margin:12px 0;padding:0;list-style:none}
body.interface327 .sidebar .nav{user-select:none;-webkit-user-select:none}
body.interface327 .load-more,body.interface327 .ranking-more331{display:block;margin:20px auto;font-size:12px;min-height:44px}
body.interface327 .trading-desk{max-width:none!important;width:100%}
body.interface327 .trading-desk>.panel:empty{display:none}
body.interface327 .company-page,body.interface327 .companies-page{max-width:none!important;width:100%}
@media(min-width:1600px){body.interface327 #game-main{padding-left:40px!important;padding-right:40px!important}body.interface327 #detail:not([hidden]){margin-left:calc(var(--bb-sidebar) + 40px)!important;margin-right:40px!important}}
@media(min-width:701px){body.interface327.sidebar-right .shell{margin-left:0!important;margin-right:var(--bb-sidebar)!important}body.interface327.sidebar-right .sidebar{left:auto!important;right:0!important}body.interface327.sidebar-right #sticky-finances{left:0!important;right:var(--bb-sidebar)!important}body.interface327.sidebar-right #detail:not([hidden]){margin-left:24px!important;margin-right:calc(var(--bb-sidebar) + 24px)!important}}
@media(min-width:701px) and (max-width:1100px){body.interface327{--bb-sidebar:180px}body.interface327 .sidebar{padding:18px 10px!important}body.interface327 .sidebar .nav{font-size:12px;padding:10px 6px;gap:7px}body.interface327 .sidebar .brand>span{display:block}body.interface327 .stock-card{grid-template-columns:1fr 1fr auto}body.interface327 .stock-card>button:last-child{grid-column:3}}
@media(max-width:700px){body.interface327{--bb-sidebar:0px;--bb-top:105px}body.interface327 .shell,body.interface327.sidebar-right .shell{margin:0!important}body.interface327 .sidebar{position:fixed!important;inset:auto 0 0!important;width:100%!important;height:auto!important;min-height:66px!important;padding:4px 6px max(5px,env(safe-area-inset-bottom))!important;z-index:90!important}body.interface327 .sidebar :is(.brand,.company,.side-bottom){display:none!important}body.interface327 .sidebar nav{display:flex!important;flex-direction:row;align-items:stretch;justify-content:flex-start;overflow:auto;gap:2px;margin:0;height:auto;padding:0;scrollbar-width:none}body.interface327 .sidebar .nav{display:flex!important;flex-direction:column;justify-content:center;gap:4px;flex:1 0 65px;min-height:56px;padding:5px 4px;font-size:10px;border-radius:8px}body.interface327 .sidebar .nav>svg{width:21px;height:21px}body.interface327 .sidebar .nav .sidebar-nav-handle{display:none!important}body.interface327 #sticky-finances{left:0!important;right:0!important;padding:10px 14px!important;padding-top:max(10px,env(safe-area-inset-top))!important;grid-template-columns:minmax(130px,1fr) auto;grid-template-rows:auto auto auto;gap:4px 10px}body.interface327 #sticky-finances .sticky-wallet>strong{font-size:21px!important}body.interface327 #sticky-finances .bb-header-actions{grid-column:2;grid-row:1;gap:6px}body.interface327 #sticky-finances .sticky-calendar{grid-column:2;grid-row:2 / span 2;font-size:11px!important;text-align:right}body.interface327 #sticky-finances .sticky-calendar small{font-size:10px!important;margin-top:3px}body.interface327 #sticky-finances .income-explainer{grid-row:2 / span 2;display:block}body.interface327 #sticky-finances .income-explainer span{font-size:12px!important}body.interface327 #sticky-finances .income-explainer small{display:block;font-size:10px!important}body.interface327 #sticky-finances .bb-header-city{display:none}body.interface327 #sticky-finances [data-admin-panel]{grid-column:1;grid-row:1;justify-self:end;width:32px!important;min-width:32px!important;height:32px!important;min-height:32px!important;overflow:hidden;padding:7px!important;font-size:0!important;margin-left:6px}body.interface327 #sticky-finances:has([data-admin-panel]) .sticky-wallet{padding-right:38px}body.interface327 #sticky-finances [data-admin-panel] svg{width:16px;height:16px}body.interface327 #game-main{padding:calc(var(--finance-height,105px) + 14px) 12px calc(var(--bottom-bar-height,80px) + 24px)!important}body.interface327 .page-title h1{font-size:23px}body.interface327 .bb-page-tools{margin:-45px 0 10px;gap:2px}body.interface327 .bb-page-tools button{font-size:11px;padding:6px;min-height:34px}body.interface327 :is(#content,#detail) h2{font-size:20px}body.interface327 .bb-news-thumb{width:70px;height:94px}body.interface327 .bb-news-preview{gap:12px}body.interface327 .bb-news-preview strong{font-size:16px}body.interface327 .modern-auction{display:block}body.interface327 .modern-auction .primary{margin-top:12px;min-width:0;width:auto}body.interface327 .auction-facts>strong{font-size:22px!important}body.interface327 #detail:not([hidden]),body.interface327 #detail.property-page:not([hidden]){margin:calc(var(--finance-height,105px) + 14px) 12px calc(var(--bottom-bar-height,80px) + 24px)!important;width:auto!important}body.interface327 .bb-news-lead,body.interface327 .bb-news-columns{grid-template-columns:1fr;gap:16px}body.interface327 .bb-newspaper{padding:16px}body.interface327 .bb-news-columns>section+section{padding-left:0;border-left:0;border-top:1px solid;padding-top:16px}body.interface327 .bb-news-lead img{height:180px}body.interface327 .stock-card{grid-template-columns:minmax(0,1fr) auto;gap:7px}body.interface327 .stock-card>button:last-child{grid-column:2;grid-row:auto;font-size:11px}body.interface327 .stock-card>strong{font-size:11px}body.interface327 .dm-layout{display:block;min-height:0}body.interface327 .dm-layout.has-peer #dm-conversations,body.interface327 .dm-layout:not(.has-peer) .dm-thread{display:none}body.interface327 #dm-conversations{border-right:0;max-height:none}body.interface327 #dm-log{max-height:48dvh;min-height:180px}body.interface327 .dm-thread{padding:10px}body.interface327 .dm-thread-head .dm-mobile-back{display:block}body.interface327 .dm-search{display:flex;align-items:flex-end;gap:8px}body.interface327 .dm-search label{flex:1;min-width:0}body.interface327 #advisor-float{left:10px!important;right:10px!important;width:auto!important}body.interface327 .bb-history327 .career-row{flex-direction:column;gap:4px}body.interface327 .summary-metrics,body.interface327 .stock-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}body.interface327 .summary-metrics strong,body.interface327 .stock-metrics strong{font-size:16px}}
@media(prefers-reduced-motion:reduce){body.interface327 *{scroll-behavior:auto!important}}

/* 3.3.28: one owner for top-bar controls; no overlap with the balance. */
body.interface328 #sticky-finances .sticky-wallet{padding-right:0!important}
body.interface328 #sticky-finances .bb-header-actions [data-admin-panel]{margin:0!important;flex:none}
body.interface328 #sticky-finances .sticky-wallet>strong{white-space:nowrap;font-variant-numeric:tabular-nums}
body.interface328 .bb-archive-row328{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line,#dbe2db)}
body.interface328 .bb-archive-row328>div{flex:1;min-width:0}
body.interface328 .bb-archive-row328 small{display:block;margin-top:4px;color:#66786e;font-size:12px}
body.interface328 .bb-archive-row328 p{margin:5px 0}
@media(max-width:700px){body.interface328 #sticky-finances .sticky-wallet>strong{font-size:18px!important}body.interface328 #sticky-finances #account,body.interface328 #sticky-finances #notification-bell{width:32px!important;height:32px!important;min-width:32px!important;min-height:32px!important;padding:5px!important}body.interface328 .bb-archive-row328{flex-wrap:wrap}}

body.interface328 .bb-page-tools{margin:0 0 12px!important;justify-content:flex-start;flex-wrap:wrap}
body.interface328 .property-tabs>button.active{background:#194f41!important;color:#fff!important}
body.interface328 #sticky-finances #notification-bell:not([hidden]){display:grid!important}
body.interface328 .company-welcome{padding:12px 16px!important}
body.interface328 .company-welcome .eyebrow,body.interface328 .company-welcome>span:last-child{display:none}
body.interface328 .company-welcome h3{font-size:18px!important;margin:0 0 5px!important}
body.interface328 .company-welcome p{margin:0!important}
body.interface328 .company-list .company-empty{padding:12px 16px!important;margin:12px 0!important}

@media(max-width:700px){body.interface328 .sidebar nav .nav{flex:0 0 65px!important;min-width:65px!important}body.interface328 .sidebar nav .nav[data-tab="quartier"]>span::after{content:'Accueil'}body.interface328 .sidebar nav .nav[data-company-nav]>span::after{content:'Entreprise'}body.interface328 .sidebar nav .nav>span:not(.sidebar-nav-handle)::after{font-size:10px!important}}

body.interface328 .rail-arrow{display:none!important}
body.interface328 .rail-wrap{grid-template-columns:minmax(0,1fr)!important}

body.interface328 .parcel-hit,body.interface328 .map-cluster{max-width:132px!important;box-sizing:border-box;white-space:nowrap}
body.interface328 #dm-log,body.interface328 #dm-conversations{overflow-anchor:none;overscroll-behavior:contain}
body.interface328 .map-viewport,body.interface328 .real-city{overflow-anchor:none!important}

body.interface328 #content .city-map .map-local-filters .rail-wrap>.rail-arrow{display:none!important}
body.interface328 #content .city-map .map-local-filters .rail-wrap{grid-template-columns:minmax(0,1fr)!important}
body.interface328 #content .city-map .map-local-filters .rail-wrap>.filter-rail{grid-column:1!important}
body.interface328 #sticky-finances #advisor-launcher{position:relative!important;inset:auto!important;transform:none!important;width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;margin:0!important;padding:2px!important;border-radius:11px!important;box-shadow:none!important;display:grid!important;place-items:center;flex:none;z-index:auto!important}
body.interface328 #sticky-finances #advisor-launcher svg{width:100%;height:100%}
body.interface328 #sticky-finances #advisor-launcher:not([hidden]){visibility:visible!important;opacity:1!important;filter:none!important}
@media(max-width:700px){body.interface328 #sticky-finances #advisor-launcher{width:32px!important;height:32px!important;min-width:32px!important;min-height:32px!important}}
@media(max-width:380px){body.interface328 #sticky-finances .sticky-wallet{grid-column:1 / -1;grid-row:1}body.interface328 #sticky-finances .bb-header-actions{grid-row:2}body.interface328 #sticky-finances .sticky-calendar{grid-row:3 / span 1}}

body.interface328 .bb-completed-row329{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #dbe2db}body.interface328 .bb-completed-row329>div{flex:1;min-width:0}body.interface328 .bb-completed-row329 p{margin:4px 0}body.interface328 .bb-completed-row329 small{color:#66786e}
body.interface328 #detail .dm-layout .dm-thread{display:flex!important;flex-direction:column!important;height:clamp(360px,65dvh,720px)!important;min-height:0!important;overflow:hidden!important}
body.interface328 #detail .dm-layout #dm-log{display:block!important;flex:1 1 auto!important;height:auto!important;min-height:0!important;max-height:none!important;overflow-y:auto!important}
body.interface328 #detail .dm-layout .dm-composer{position:relative!important;bottom:auto!important;flex:none!important;z-index:1;background:var(--bb-panel,#fff)}
body.interface328 #detail .dm-layout .dm-thread-head{flex:none!important}
@media(max-width:700px){body.interface328 #detail:has(.dm-layout.has-peer) .discussion-tabs,body.interface328 #detail:has(.dm-layout.has-peer) .dm-search,body.interface328 #detail:has(.dm-layout.has-peer) .dm-folders,body.interface328 #detail:has(.dm-layout.has-peer) .dm-retention{display:none!important}body.interface328 #detail .dm-layout.has-peer .dm-thread{height:max(240px,calc(100dvh - var(--finance-height,112px) - var(--bottom-bar-height,76px) - 180px - var(--bb-keyboard-inset,0px)))!important;padding:0!important}body.interface328 #detail .dm-layout .dm-composer{padding:8px!important}}
@media(min-width:701px) and (max-width:1100px){body.interface328 #sticky-finances{grid-template-columns:minmax(0,1fr) auto!important;grid-template-rows:auto auto!important;gap:8px 14px!important}body.interface328 #sticky-finances .bb-header-actions{grid-column:2;grid-row:1}body.interface328 #sticky-finances .sticky-calendar{grid-column:2;grid-row:2}body.interface328 #sticky-finances .income-explainer{grid-column:1;grid-row:2}body.interface328 #sticky-finances .sticky-wallet{grid-column:1;grid-row:1}body.interface328 #sticky-finances .sticky-wallet>strong{font-size:20px!important}body.interface328 #sticky-finances .bb-header-city{display:none}}
@media(min-width:701px) and (max-width:900px){body.interface328 #detail .dm-layout{display:block!important;min-height:0!important}body.interface328 #detail .dm-layout.has-peer #dm-conversations,body.interface328 #detail .dm-layout:not(.has-peer) .dm-thread{display:none!important}body.interface328 #detail .dm-layout .dm-mobile-back{display:inline-flex!important}body.interface328 #detail:has(.dm-layout.has-peer) .discussion-tabs,body.interface328 #detail:has(.dm-layout.has-peer) .dm-search,body.interface328 #detail:has(.dm-layout.has-peer) .dm-folders,body.interface328 #detail:has(.dm-layout.has-peer) .dm-retention{display:none!important}body.interface328 #detail .dm-layout.has-peer .dm-thread{height:max(300px,calc(100dvh - var(--finance-height,112px) - 180px))!important;padding:0!important}}
