/* Same families as the local design, served from the CRM under its existing CSP. */
@font-face{font-family:'DM Sans';font-style:normal;font-weight:100 1000;font-display:swap;src:url('dm-sans-variable.ttf') format('truetype')}
@font-face{font-family:'Manrope';font-style:normal;font-weight:200 800;font-display:swap;src:url('manrope-variable.ttf') format('truetype')}
.logged-out .sidebar,.logged-out .main{display:none}.login-screen{display:none;min-height:100vh;width:100%;background:#fff}.logged-out .login-screen{display:grid;grid-template-columns:minmax(380px,1fr) minmax(420px,.85fr)}.login-art{position:relative;overflow:hidden;background:linear-gradient(145deg,#594779,#9279b0 58%,#c5a8b0);color:#fff;display:flex;align-items:center;padding:9% 12%}.login-art:before,.login-art:after{content:"";position:absolute;border:1px solid #ffffff24;border-radius:50%;width:620px;height:620px;right:-210px;bottom:-300px}.login-art:after{width:450px;height:450px;right:-120px;bottom:-210px}.login-art-glow{position:absolute;width:360px;height:360px;top:-150px;left:-90px;background:#e4bdd247;filter:blur(90px);border-radius:50%}.login-art-copy{position:relative;z-index:1;max-width:460px}.login-brand-mark{height:45px;width:45px;border:1px solid #ffffff80;border-radius:15px;display:grid;place-items:center;font:800 12px Manrope,sans-serif;letter-spacing:-.6px;margin-bottom:42px}.login-art .eyebrow{color:#e1d6eb}.login-art h1{font:600 clamp(39px,5vw,62px) Manrope;line-height:1.08;letter-spacing:-2px;margin:14px 0}.login-art-copy>p:not(.eyebrow){font-size:13px;color:#f0eaf4;line-height:1.7;max-width:330px}.login-houses{display:flex;gap:9px;margin-top:44px;flex-wrap:wrap}.login-houses span{padding:9px 13px;border:1px solid #ffffff50;border-radius:20px;font-size:10px;color:#f3edf5}.login-side{display:flex;flex-direction:column;justify-content:center;padding:50px clamp(35px,8vw,110px);position:relative}.login-form-wrap{max-width:390px;width:100%;margin:auto}.login-form-wrap h2{font:700 27px Manrope;letter-spacing:-.7px;margin:0}.login-intro{font-size:12px;color:#95909a;margin:8px 0 29px}.login-form-wrap label{display:block;font-size:10px;color:#66616d;margin:15px 0}.login-form-wrap select,.login-form-wrap input{display:block;width:100%;padding:12px;border:1px solid #e8e4eb;border-radius:8px;background:#fff;margin-top:7px;color:#45414b;font-size:11px;outline:0}.login-form-wrap select:focus,.login-form-wrap input:focus{border-color:#a08cc5;box-shadow:0 0 0 3px #f2eef8}.login-submit{width:100%;margin-top:11px;padding:13px}.login-submit span{margin-left:auto}.login-hint{font-size:9px;line-height:1.65;color:#9a95a0;background:#f8f6fa;border-radius:8px;padding:11px 12px;margin-top:19px}.login-footer{position:absolute;bottom:20px;left:0;right:0;text-align:center;font-size:9px;color:#aaa5ae}.login-footer span{padding:0 6px;color:#c6c0ca}@media(max-width:760px){.logged-out .login-screen{grid-template-columns:1fr}.login-art{display:none}.login-side{min-height:100vh;padding:35px 24px}.login-footer{bottom:15px}}
:root{--ink:#292a31;--muted:#85848c;--line:#efedf0;--purple:#765bb5;--purple-pale:#f1edfa;--bg:#faf9fb;--green:#488b6c;--orange:#bd7541}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px 'DM Sans',sans-serif;display:flex;min-height:100vh}button,input,select{font:inherit}button{cursor:pointer}.sidebar{width:248px;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;padding:26px 15px 14px;position:fixed;inset:0 auto 0 0;z-index:3}.brand{display:flex;gap:12px;align-items:center;padding:0 11px 29px}.brand-mark{height:40px;width:40px;background:#7259a1;color:#fff;border-radius:14px;display:grid;place-items:center;font:800 10px Manrope,sans-serif;letter-spacing:-.5px}.brand strong{font:800 13px Manrope;letter-spacing:1.2px;display:block}.brand small{display:block;color:#99939f;font-size:9px;letter-spacing:1.5px;margin-top:3px}.property-switch{margin:0 4px 22px;background:#faf9fc;border:1px solid #eeebf1;border-radius:12px;padding:11px 11px 8px}.property-switch label,.nav-label{font-size:9px;font-weight:700;letter-spacing:1.2px;color:#a09ba5}.property-switch select{width:100%;border:0;background:transparent;margin-top:7px;font-size:12px;font-weight:600;color:#424047;outline:0}.nav-label{padding:0 13px;margin:0 0 8px}.nav-label:not(:first-child){margin-top:22px}.nav-item{border:0;background:none;border-radius:9px;color:#6f6c75;width:100%;text-align:left;padding:11px 12px;display:flex;align-items:center;gap:12px;font-size:13px;margin:2px 0}.nav-item span{font-size:17px;width:17px;color:#99939f;text-align:center}.nav-item:hover,.nav-item.active{background:#f2eef9;color:#6e54a6;font-weight:600}.nav-item.active span{color:#755bb1}.nav-item i{font-style:normal;margin-left:auto;color:#85818b;background:#f0eef2;border-radius:12px;padding:2px 7px;font-size:10px}.nav-item i.alert-dot{background:#fbf0e6;color:#b76a38}.sidebar-bottom{margin-top:auto}.sync{border-top:1px solid var(--line);padding:18px 11px;display:flex;gap:10px;align-items:center}.sync strong,.user strong{font-size:12px;display:block}.sync small,.user small{font-size:10px;color:#99949e;display:block;margin-top:2px}.pulse{width:8px;height:8px;border-radius:50%;background:#6eb38a;box-shadow:0 0 0 4px #eaf5ed}.user{border-top:1px solid var(--line);padding:13px 9px 0;display:flex;gap:9px;align-items:center}.avatar,.mail-avatar{width:32px;height:32px;border-radius:50%;background:#eee8f8;display:grid;place-items:center;color:#725aa5;font-size:12px;font-weight:700}.user button{margin-left:auto;border:0;background:none;color:#999}.main{margin-left:248px;width:calc(100% - 248px)}.topbar{height:62px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 38px}.crumb{font-size:10px;letter-spacing:.8px;color:#aaa5ae}.crumb span{padding:0 9px;color:#d0ccd2}.crumb b{font-weight:600;color:#5e5b64;letter-spacing:0}.top-actions{display:flex;align-items:center;gap:17px}.today{font-size:11px;color:#96919a}.icon-btn{position:relative;border:0;background:none;font-size:17px;color:#777}.icon-btn em{position:absolute;right:1px;top:2px;width:5px;height:5px;background:#dc9066;border-radius:50%}.primary,.secondary{border:0;border-radius:8px;padding:10px 14px;font-weight:600;font-size:11px}.primary{background:#7258a4;color:white;box-shadow:0 2px 5px #7258a426}.primary:hover{background:#634990}.secondary{background:#fff;border:1px solid #e9e6ec;color:#615e67}.content{padding:32px 38px 54px;max-width:1540px;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:23px}.eyebrow{letter-spacing:1.35px;font-size:9px;font-weight:700;color:#9b83c5;margin:0 0 7px}.page-heading h1{font:700 27px Manrope;margin:0;letter-spacing:-.8px}.sub{color:#908d95;margin:6px 0 0;font-size:12px}.heading-tools{display:flex;gap:8px}.heading-tools select,.filters select,.toolbar>select{border:1px solid #e9e6ec;background:white;border-radius:7px;padding:9px 12px;color:#696670;font-size:11px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:16px}.stat-card{background:white;border:1px solid var(--line);border-radius:12px;padding:17px 18px;position:relative;min-height:130px;overflow:hidden}.stat-top{display:flex;align-items:center;justify-content:space-between;color:#77737d;font-size:11px}.stat-icon{height:30px;width:30px;border-radius:9px;display:grid;place-items:center;font-size:14px}.lavender{background:#f1edfa;color:#8168b8}.peach{background:#fbf0e8;color:#c38354}.mint{background:#eaf5ef;color:#579477}.blue{background:#eaf1f9;color:#6889b1}.stat-card>strong{font:700 26px Manrope;display:block;margin:9px 0 2px;letter-spacing:-.7px}.stat-card>strong small{font:600 14px Manrope}.stat-card>small{font-size:10px;color:#95919a}.stat-card>small b{color:#52926d;font-weight:600}.stat-card .orange-text{color:#bd7541}.spark{position:absolute;right:14px;bottom:15px;height:26px;display:flex;align-items:end;gap:3px}.spark i{display:block;width:5px;background:#ded6ef;border-radius:3px}.mini-progress{height:4px;background:#f1eef3;border-radius:4px;margin-top:12px}.mini-progress span{display:block;background:#92bda3;height:100%;border-radius:4px}.progress-label{display:block;margin-top:6px!important}.pay-dots{display:flex;gap:5px;margin-top:11px}.pay-dots span{width:16px;height:5px;border-radius:4px;background:#e8ddef}.pay-dots span:first-child,.pay-dots span:nth-child(2){background:#9d87c6}.text-link{color:#795ead;text-decoration:none;font-size:10px;font-weight:600}.stat-card .text-link{position:absolute;bottom:15px}.dashboard-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:14px}.panel{background:white;border:1px solid var(--line);border-radius:12px;padding:18px}.panel-head{display:flex;justify-content:space-between;align-items:flex-start}.panel h2{font:700 14px Manrope;margin:0}.muted{color:#99949e;font-size:10px;margin:5px 0 0}.more{background:none;border:0;color:#999;font-size:18px}.count-badge{font-size:10px;color:#815eae;background:#f2eef8;border-radius:10px;padding:4px 8px}.occupancy-list{margin-top:18px}.occupancy-row{display:grid;grid-template-columns:34px 1fr 1.12fr 34px;align-items:center;gap:10px;margin:13px 0}.house-icon{width:31px;height:31px;border-radius:9px;display:grid;place-items:center;font-size:16px}.blush{background:#f8edf2;color:#ba8197}.gold{background:#fbf1e8;color:#c18559}.green{background:#ebf4ef;color:#639779}.occ-name strong,.booking-info strong{font-size:10px;display:block}.occ-name small,.booking-info small{font-size:9px;color:#9c98a0;display:block;margin-top:4px}.bar-track{height:6px;background:#f2f0f3;border-radius:5px}.bar-track span{height:100%;display:block;border-radius:5px}.occupancy-row>b{font-size:10px;text-align:right}.occupancy-foot{display:flex;align-items:center;gap:15px;border-top:1px solid #f2f0f2;padding-top:13px;margin-top:14px;color:#98939d;font-size:9px}.occupancy-foot a{margin-left:auto;text-decoration:none;color:#795ead;font-weight:600}.legend-dot,.c-dot{display:inline-block;height:7px;width:7px;border-radius:50%;background:#a18add;margin-right:5px}.legend-dot.empty{background:#e8e5e9}.task-list{margin-top:11px}.task{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #f5f3f5}.task-icon{height:27px;width:27px;border-radius:8px;display:grid;place-items:center;font-size:12px}.task-icon.orange{background:#fbf1e8;color:#c28151}.task-icon.purple{background:#f2eef9;color:#866db4}.task-icon.blue{background:#eaf2fa;color:#7292b6}.task-icon.green{background:#eaf4ed;color:#659879}.task>div{flex:1}.task strong{display:block;font-size:10px}.task small{display:block;color:#99949e;font-size:9px;margin-top:4px}.task time{font-size:9px;color:#99949e}.all-tasks{border:0;background:none;color:#785ba9;font-size:10px;font-weight:600;padding:13px 0 0}.arrivals,.revenue{min-height:200px}.booking-list{margin-top:12px}.booking-row{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid #f5f3f5}.date-box{width:35px;height:39px;background:#f7f4fa;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#7359a3}.date-box b{font:700 15px Manrope}.date-box small{font-size:8px;letter-spacing:.5px}.booking-info{flex:1}.status{font-size:9px;font-weight:600;border-radius:12px;padding:5px 8px;white-space:nowrap}.status.confirmed,.status.paid{background:#edf6f0;color:#56876a}.status.pending{background:#fbf1e7;color:#b5794c}.status.muted-status{background:#f1eff2;color:#89848f}.payment-item{display:flex;align-items:center;gap:9px;padding:11px 0;border-bottom:1px solid #f5f3f5}.payment-mark{height:29px;width:29px;border-radius:50%;background:#eee9f6;color:#755ca5;display:grid;place-items:center;font-size:9px;font-weight:700}.payment-mark.pink{background:#faedf2;color:#ad7188}.payment-mark.green{background:#eaf4ed;color:#5c8b6e}.payment-person{flex:1}.payment-person strong,.payment-amount strong{font-size:10px;display:block}.payment-person small,.payment-amount small{font-size:9px;color:#99949e;display:block;margin-top:4px}.payment-amount{text-align:right}.tiny-action{border:1px solid #eae5f0;color:#7359a3;background:#fff;border-radius:6px;font-size:9px;padding:6px 8px;margin-left:6px}.page{display:none}.page.active-page{display:block}.toolbar{display:flex;align-items:center;justify-content:space-between;margin:20px 0 13px;gap:12px}.tabs{display:flex;gap:4px}.tab{border:0;background:none;padding:9px 12px;color:#85818a;font-size:10px;border-radius:7px}.tab.active{background:#f1edf8;color:#7259a4;font-weight:700}.tab span{margin-left:4px;color:#aaa}.filters{display:flex;gap:8px}.filters input,.toolbar input{border:1px solid #e9e6ec;border-radius:7px;padding:9px 12px;font-size:10px;min-width:210px}.table-panel{padding:0;overflow:hidden}table{width:100%;border-collapse:collapse;text-align:left}th{font-size:8px;letter-spacing:.8px;color:#a09ba5;font-weight:700;background:#fcfbfc;padding:13px 15px}td{padding:14px 15px;border-top:1px solid #f1eff2;font-size:10px;color:#66626d}td b{display:block;color:#34323a;font-size:10px}td small{display:block;color:#99949e;font-size:9px;margin-top:4px}.table-foot{padding:13px 16px;border-top:1px solid #f1eff2;font-size:9px;color:#96919a}.table-foot span{float:right}.supplement-banner{background:linear-gradient(110deg,#f4eff9,#fff8f2);border:1px solid #eee7f3;border-radius:13px;padding:20px 23px;display:flex;align-items:center;justify-content:space-between}.supplement-banner h2{font:700 19px Manrope;margin:0}.supplement-banner p{font-size:10px;color:#89848f;margin:6px 0 0}.mini-stats{grid-template-columns:repeat(3,1fr);margin-top:14px}.mini-stats .stat-card{min-height:100px}.mini-stats .stat-card>strong{margin:8px 0 0}.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;margin:20px 0 13px}.month-nav{display:flex;align-items:center;gap:10px}.month-nav button:not(.secondary){border:1px solid #ece9ef;background:white;border-radius:6px;padding:6px 10px;color:#68646d}.month-nav b{font:700 12px Manrope;margin:0 5px}.calendar-panel{padding:0;overflow:hidden}.calendar-grid{padding:12px}.weekdays,.days{display:grid;grid-template-columns:repeat(7,1fr)}.weekdays span{font-size:8px;letter-spacing:.7px;text-align:right;padding:7px;color:#99949e}.day{height:92px;border-top:1px solid #f0edf1;border-right:1px solid #f5f3f6;padding:6px;color:#88838d;font-size:9px}.day:nth-child(7n){border-right:0}.day b{font-weight:500}.day.out{color:#c5c1c8}.event{display:block;margin-top:5px;padding:4px 5px;border-radius:4px;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event.celeste{background:#eee9f8;color:#6f59a0}.event.love{background:#fbefe7;color:#ad744b}.event.serre{background:#eaf3ed;color:#578368}.event.block{background:#f2eff2;color:#89818c}.calendar-legend{padding:12px 20px;border-top:1px solid var(--line);display:flex;gap:17px;color:#807c85;font-size:9px}.c-dot.celeste{background:#a18add}.c-dot.love{background:#e5a77d}.c-dot.serre{background:#77ae97}.c-dot.block{background:#aaa3ad}.mail-layout{padding:0;display:grid;grid-template-columns:180px 1fr 260px;min-height:460px;overflow:hidden}.mail-folders{border-right:1px solid var(--line);padding:14px 10px;display:flex;flex-direction:column}.folder{border:0;background:none;text-align:left;padding:10px 9px;color:#77737d;font-size:10px;border-radius:6px}.folder.active{background:#f2eef8;color:#7359a3;font-weight:600}.folder b{float:right}.imap-state{margin-top:auto;padding:11px 8px;border-top:1px solid var(--line);font-size:9px;color:#528a6c}.imap-state small{display:block;padding:7px 0 0 18px;color:#a19ca5}.mail-list{border-right:1px solid var(--line)}.mail-top{display:flex;align-items:center;gap:8px;padding:14px;border-bottom:1px solid var(--line)}.mail-top h2{flex:1}.mail-top button{font-size:9px;padding:8px}.mail-row{display:flex;gap:9px;padding:13px;border-bottom:1px solid #f2f0f3;position:relative}.mail-row.unread{background:#fdfcff}.mail-row.unread:before{content:'';position:absolute;left:0;top:17px;height:6px;width:6px;background:#9878ca;border-radius:50%}.mail-avatar{flex:0 0 30px;width:30px;height:30px;font-size:9px}.mail-avatar.sand{background:#faf0e6;color:#ad754a}.mail-avatar.green{background:#eaf3ed;color:#548367}.mail-avatar.rose{background:#faedf2;color:#ad7188}.mail-row>div:nth-child(2){min-width:0;flex:1}.mail-row strong,.mail-row span,.mail-row small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mail-row strong{font-size:9px}.mail-row span{font-size:9px;margin-top:4px}.mail-row small{font-size:8px;color:#96919a;margin-top:4px}.mail-row time{font-size:8px;color:#a19ca5}.mail-preview{display:grid;place-items:center}.preview-empty{display:flex;flex-direction:column;align-items:center;gap:8px;color:#c4bec9;font-size:22px}.preview-empty strong{font-size:10px;color:#77737d}.preview-empty span{font-size:9px}.automation-intro{display:flex;align-items:center;justify-content:space-between;margin:22px 0}.automation-intro h2{font:700 18px Manrope;margin:0}.automation-intro p{font-size:10px;color:#96919a}.automation-list{display:grid;gap:10px}.automation-card{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px}.automation-icon,.settings-icon{width:35px;height:35px;border-radius:10px;display:grid;place-items:center}.automation-icon.purple,.settings-icon.purple{background:#f2eef8;color:#8068ad}.automation-icon.orange{background:#fbf1e8;color:#bf8051}.automation-icon.blue,.settings-icon.blue{background:#eaf1f8;color:#6889af}.automation-card>div:nth-child(2){flex:1}.automation-card strong{font-size:11px}.automation-card p{font-size:9px;color:#8e8993;margin:5px 0}.automation-card small{font-size:8px;color:#a5a0a8}.toggle input{display:none}.toggle span{display:block;height:18px;width:33px;background:#e4e1e7;border-radius:10px;position:relative}.toggle span:after{content:'';height:14px;width:14px;position:absolute;top:2px;left:2px;background:white;border-radius:50%;box-shadow:0 1px 3px #0002;transition:.2s}.toggle input:checked+span{background:#8e78bd}.toggle input:checked+span:after{left:17px}.note-box{margin-top:14px;padding:12px;background:#fbf6ee;border:1px solid #f3eadb;border-radius:8px;color:#967951;font-size:9px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:20px}.settings-card h2{font:700 14px Manrope;margin:12px 0 5px}.settings-card>p{font-size:10px;color:#96919a;margin:0 0 16px}.source-row{display:flex;align-items:center;gap:10px;padding:11px 0;border-top:1px solid #f2eff3}.source-logo{height:29px;width:29px;border-radius:8px;background:#f2eef8;color:#8068ad;display:grid;place-items:center;font-weight:700}.source-logo.green{background:#eaf4ed;color:#5b8c6e}.source-row>div{flex:1}.source-row b{font-size:9px;display:block}.source-row small{font-size:8px;color:#99949e;display:block;margin-top:3px}.source-row button{font-size:9px}.settings-card label{display:block;font-size:9px;color:#777;margin:11px 0}.settings-card input{display:block;margin-top:5px;width:100%;border:1px solid #eeeaf0;background:#faf9fb;border-radius:6px;padding:8px;font-size:10px}.wide{width:100%;margin-top:8px}.secure-note{font-size:8px;color:#9d98a1;display:block;margin-top:8px}.settings-icon.mint{background:#eaf4ed;color:#609176}.catalog-tags{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0}.catalog-tags span{background:#f5f2f7;color:#76717b;border-radius:12px;padding:6px 9px;font-size:8px}.catalog-tags span:last-child{color:#765ba7;background:#f2eef8}.modal-backdrop{display:none;position:fixed;inset:0;background:#23202d66;z-index:5;align-items:center;justify-content:center;padding:20px}.modal-backdrop.open{display:flex}.modal{background:white;border-radius:15px;padding:27px;width:min(540px,100%);position:relative;box-shadow:0 20px 70px #21173830}.close-modal{position:absolute;right:17px;top:15px;border:0;background:none;font-size:23px;color:#999}.modal h2{font:700 21px Manrope;margin:0}.modal>p{font-size:10px;color:#96919a;line-height:1.5}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.form-grid label{font-size:9px;color:#68646d}.form-grid input,.form-grid select{display:block;margin-top:6px;width:100%;padding:9px;border:1px solid #e9e6ec;border-radius:7px;font-size:10px}.modal-submit{width:100%}@media(max-width:1120px){.sidebar{width:215px}.main{margin-left:215px;width:calc(100% - 215px)}.content{padding:26px 24px}.topbar{padding:0 24px}.stats-grid{grid-template-columns:repeat(2,1fr)}.mail-layout{grid-template-columns:150px 1fr}.mail-preview{display:none}}@media(max-width:780px),(max-width:1024px) and (max-height:500px){.sidebar{width:65px;padding:18px 8px}.brand{padding:0 4px 25px}.brand>div:last-child,.property-switch,.nav-label,.nav-item:not(.active){display:none}.nav-item{justify-content:center;font-size:0;padding:13px}.nav-item span{font-size:17px}.nav-item i{display:none}.sync{padding:15px 8px}.sync div,.user>div:not(.avatar),.user button{display:none}.user{justify-content:center;padding:13px 0}.main{margin-left:65px;width:calc(100% - 65px)}.topbar{padding:0 13px}.today{display:none}.content{padding:22px 14px}.page-heading{align-items:flex-start;gap:14px;flex-direction:column}.heading-tools{align-self:stretch}.dashboard-grid{grid-template-columns:1fr}.stats-grid{gap:8px}.stat-card{padding:13px;min-height:120px}.toolbar,.calendar-toolbar{align-items:flex-start;flex-direction:column}.filters{width:100%;flex-wrap:wrap}.filters input{width:100%}.table-panel{overflow:auto}table{min-width:760px}.calendar-panel{overflow:auto}.calendar-grid{min-width:650px}.calendar-legend{min-width:650px}.settings-grid{grid-template-columns:1fr}.mail-layout{grid-template-columns:1fr}.mail-folders{display:none}.mail-list{border:0}.page-heading h1{font-size:23px}}

/* Renforcement de la marque E&C Location */
.brand{gap:13px;padding-left:8px}.brand-mark{height:46px;width:46px;border-radius:15px;font-size:12px!important;letter-spacing:-.6px;background:linear-gradient(145deg,#664d91,#9a7bc1);box-shadow:0 5px 14px #7258a429}.brand strong{font-size:16px;letter-spacing:1.25px;color:#352d40}.brand small{font-size:9px;letter-spacing:1.65px;color:#887f91;font-weight:700}.crumb-brand{font-size:11px;letter-spacing:1.15px;color:#624b84}.login-wordmark{font:800 37px Manrope,sans-serif;letter-spacing:-1.6px;color:#fff;line-height:1}.login-wordmark span{font-size:25px;letter-spacing:2.5px;margin-left:5px}.login-product{font-size:10px!important;font-weight:700;letter-spacing:2.2px;color:#e5d9ee!important;margin:9px 0 28px!important}.login-art h1{margin-top:0}@media(max-width:780px),(max-width:1024px) and (max-height:500px){.brand-mark{height:38px;width:38px;font-size:10px!important}.brand{padding-left:4px}}

/* Palette E&C Location : forêt, lin, ciel et soleil */
:root{--ink:#26342d;--muted:#7f8178;--line:#e9e4d9;--purple:#285442;--purple-pale:#e8f0eb;--bg:#f8f6f0;--green:#356d50;--orange:#98753a}
body{background:#f8f6f0;color:#26342d}.sidebar,.topbar,.panel,.stat-card,.modal{background:#fffefa}.sidebar{border-color:#e9e4d9}.brand-mark{background:linear-gradient(145deg,#234b3a,#47745a);box-shadow:0 5px 14px #244b3820}.brand strong{font-size:16px;letter-spacing:.15px;color:#263d32}.brand strong b{font-weight:800}.brand strong span{font-weight:500}.brand small{color:#8d887b}.property-switch{background:#f6f2e9;border-color:#e9e1d1}.property-switch label,.nav-label{color:#948d7f}.nav-item{color:#696e67}.nav-item span{color:#92968f}.nav-item:hover,.nav-item.active{background:#eaf1ec;color:#285442}.nav-item.active span{color:#285442}.nav-item i{background:#f0ede5;color:#817966}.nav-item i.alert-dot{background:#f8efda;color:#8a6a28}.crumb-brand{color:#285442}.login-art{background:linear-gradient(145deg,#1e4032 0%,#315e49 62%,#567a67 100%)}.login-art-glow{background:#c7d9ca35}.login-brand-mark{border-color:#c7d9cabb}.login-art .eyebrow,.login-product{color:#e3dfce!important}.login-wordmark{font-size:34px;letter-spacing:-.8px}.login-wordmark b{font-weight:800}.login-wordmark span{font-size:34px;font-weight:500;letter-spacing:-.8px;margin-left:0}.login-houses span{border-color:#ffffff50;color:#f3efdf}.login-form-wrap .eyebrow{color:#557b61}.login-form-wrap select:focus,.login-form-wrap input:focus{border-color:#7fa28a;box-shadow:0 0 0 3px #eaf1ec}.primary{background:#285442;box-shadow:0 2px 5px #28544224}.primary:hover{background:#1d4031}.secondary{border-color:#e7e1d5;color:#555c53;background:#fffefa}.nav-item.active{font-weight:700}.stat-icon.lavender,.automation-icon.purple,.settings-icon.purple{background:#e8f0eb;color:#35674d}.stat-icon.peach,.task-icon.orange,.automation-icon.orange{background:#f7efd9;color:#8d6c2d}.stat-icon.mint,.task-icon.green,.settings-icon.mint{background:#e8f0eb;color:#356d50}.stat-icon.blue,.task-icon.blue,.automation-icon.blue,.settings-icon.blue{background:#e8f0f4;color:#4d788d}.task-icon.purple{background:#e8f0eb;color:#35674d}.occupancy-row .blush{background:#e8f0f4;color:#527e92}.occupancy-row .gold{background:#f7efd9;color:#987635}.occupancy-row .green{background:#e8f0eb;color:#4e795e}.status.confirmed,.status.paid{background:#e9f1eb;color:#34694d}.status.pending{background:#f7f0dc;color:#886a2c}.status.muted-status{background:#f0eee7;color:#777568}.tab.active{background:#e8f0eb;color:#285442}.text-link,.all-tasks{color:#315f48}.tiny-action{border-color:#dbe5dc;color:#315f48}.count-badge{color:#315f48;background:#eaf1ec}.date-box{background:#eaf1ec;color:#285442}.payment-mark{background:#e8f0eb;color:#35674d}.payment-mark.pink{background:#e8f0f4;color:#527e92}.payment-mark.green{background:#f7efd9;color:#8d6c2d}.bar-track span[style*="#a18add"]{background:#83a5b3!important}.bar-track span[style*="#edaa7a"]{background:#e2bd59!important}.bar-track span[style*="#77ae97"]{background:#5e8a6c!important}.event.celeste{background:#e6eff3;color:#456e80}.event.love{background:#f7f0dc;color:#886b2e}.event.serre{background:#e8f0eb;color:#35674d}.event.block{background:#efede6;color:#777568}.c-dot.celeste{background:#83aebe}.c-dot.love{background:#dfbc56}.c-dot.serre{background:#5c8968}.c-dot.block{background:#a6a295}.source-logo{background:#e8f0eb;color:#35674d}.source-logo.green{background:#e8f0f4;color:#527e92}.catalog-tags{background:transparent}.catalog-tags span{background:#f1eee5;color:#6f6c60}.catalog-tags span:last-child{color:#315f48;background:#eaf1ec}.supplement-banner{background:linear-gradient(110deg,#eaf1ec,#f8f2df);border-color:#e4e6d9}.supplement-banner .eyebrow{color:#597b60}.note-box{background:#f8f2df;border-color:#ece2c3;color:#826b37}.toggle input:checked+span{background:#5b8065}.login-hint{background:#f2f0e8}.mail-row.unread:before{background:#6e9aad}.mail-avatar{background:#e8f0eb;color:#35674d}.mail-avatar.sand{background:#f7efd9;color:#896b31}.mail-avatar.green{background:#e8f0f4;color:#527e92}.mail-avatar.rose{background:#e8f0eb;color:#35674d}

/* Équilibre de la charte : fond naturel, dégradés doux et accents des trois hébergements */
body{background:linear-gradient(125deg,#f8f6f0 0%,#f7f6f0 48%,#f1f5f3 100%)}
.login-art{background:linear-gradient(122deg,#1f4434 0%,#315d4a 42%,#577e83 76%,#b7b69b 120%)}
.login-art:before{border-color:#e8e4cf20;background:radial-gradient(circle at 50% 50%,#d5c77c30,transparent 68%)}
.brand-mark{background:linear-gradient(140deg,#244d3b 0%,#39716b 58%,#7899a0 100%)}
.supplement-banner{background:linear-gradient(112deg,#e8f0eb 0%,#eff3ef 42%,#f8f1df 100%)}
.stat-card:nth-child(1) .stat-icon{background:linear-gradient(140deg,#e6f0f3,#dbe8ed);color:#4d7787}
.stat-card:nth-child(2) .stat-icon{background:linear-gradient(140deg,#fbf4df,#f4e8bd);color:#927635}
.stat-card:nth-child(3) .stat-icon{background:linear-gradient(140deg,#e8f0eb,#dce9df);color:#497454}
.stat-card:nth-child(4) .stat-icon{background:linear-gradient(140deg,#e8f0f3,#e7ede8);color:#557d88}
.occupancy-row:nth-child(1) .house-icon{background:linear-gradient(140deg,#e4eff3,#d2e4eb);color:#4d7787}
.occupancy-row:nth-child(2) .house-icon{background:linear-gradient(140deg,#fcf3d9,#f1dfaa);color:#927635}
.occupancy-row:nth-child(3) .house-icon{background:linear-gradient(140deg,#d1eab5,#a6d185);color:#497454}
.occupancy-row:nth-child(1) .bar-track span{background:linear-gradient(90deg,#9fc2cf,#6f9daf)!important}
.occupancy-row:nth-child(2) .bar-track span{background:linear-gradient(90deg,#f0d77e,#d9b64f)!important}
.occupancy-row:nth-child(3) .bar-track span{background:linear-gradient(90deg,#7fb95d,#45863d)!important}
.event.celeste{background:linear-gradient(90deg,#e7f0f3,#dceaf0);color:#456e80}
.event.love{background:linear-gradient(90deg,#fbf4df,#f4e8bd);color:#886b2e}
.event.serre{background:linear-gradient(90deg,#e8f0eb,#dce9df);color:#35674d}
.login-houses span:first-child{background:#dceaf01a;border-color:#c2dce450}
.login-houses span:nth-child(2){background:#f4e8bd19;border-color:#f0d77e55}
.login-houses span:nth-child(3){background:#dce9df19;border-color:#a9c5ad55}

/* Accent bleu ciel légèrement renforcé */
.login-art{background:linear-gradient(122deg,#1f4434 0%,#315d4a 34%,#4f8290 72%,#a8bdba 120%)}
.brand-mark{background:linear-gradient(140deg,#244d3b 0%,#34716f 48%,#6f9eae 100%)}
.stat-card:nth-child(1) .stat-icon,.stat-card:nth-child(4) .stat-icon{background:linear-gradient(140deg,#d8eaf0,#c4dfe9);color:#3f7185}
.occupancy-row:nth-child(1) .house-icon{background:linear-gradient(140deg,#bbe4fa,#7cc4e8);color:#3f7185}
.occupancy-row:nth-child(1) .bar-track span{background:linear-gradient(90deg,#49acdb,#147eae)!important}
.event.celeste{background:linear-gradient(100deg,#b8e2f7,#89cbee);color:#3d7185}
.login-houses span:first-child{background:#94c3d21f;border-color:#b6dbe566}
.occupancy-foot .legend-dot{background:#679cad}
.c-dot.celeste{background:#679cad}

/* Jaune soleil plus chaleureux, tirant vers le miel */
.stat-card:nth-child(2) .stat-icon{background:linear-gradient(140deg,#f6e5ad,#edc85e);color:#805e1f}
.occupancy-row:nth-child(2) .house-icon{background:linear-gradient(140deg,#f5dfa0,#e8bd4e);color:#805e1f}
.occupancy-row:nth-child(2) .bar-track span{background:linear-gradient(90deg,#edca67,#d9a83b)!important}
.event.love{background:linear-gradient(100deg,#f8ebc4,#f0d989);color:#795c23}
.login-houses span:nth-child(2){background:#efc85835;border-color:#f1cf70a8;color:#fff9e6}
.task-icon.orange,.stat-icon.peach,.automation-icon.orange{background:linear-gradient(140deg,#f8edce,#f1dda1);color:#896522}
.payment-mark.pink{background:#f7e9c8;color:#866322}
.c-dot.love{background:#dfaF3d}
.status.pending{background:#f7edcf;color:#805f23}

/* L’accueil porte le dégradé et les pictogrammes des hébergements */
.login-art{background:linear-gradient(118deg,#1f4434 0%,#315d4a 31%,#4e8492 66%,#d0ae58 112%)}
.login-art:after{border-color:#fff5d426;box-shadow:inset 0 0 85px #f0cb6940}
.login-houses{gap:9px}.login-houses .house-chip{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border:1px solid #ffffff50;border-radius:20px;font-size:10px;color:#f3efdf;background:#ffffff0a}.house-chip svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.house-chip.celeste svg{color:#c5e5ee}.house-chip.love svg{color:#f4d774;fill:#f4d774}.house-chip.serre svg{color:#c5d9b8}
/* Les accents jaunes restent cantonnés à l’accueil ; sections du tableau de bord sobres */
.stat-card:nth-child(2) .stat-icon{background:#fbf0e8;color:#c38354}.occupancy-row:nth-child(2) .house-icon{background:#fbf1e8;color:#c18559}.occupancy-row:nth-child(2) .bar-track span{background:#edaa7a!important}.event.love{background:#fbefe7;color:#ad744b}.status.pending{background:#fbf1e7;color:#b5794c}.task-icon.orange,.stat-icon.peach,.automation-icon.orange{background:#fbf0e8;color:#c38354}.payment-mark.pink{background:#faedf2;color:#ad7188}

/* Repères des logements sur l’accueil : soleil, cœur bleu, feuille verte */
.login-houses .house-chip{background:#ffffff0a!important;border-color:#ffffff50!important}
.house-chip.celeste svg{color:#f2c743!important}
.house-chip.celeste svg circle{fill:#f2c743;stroke:#f2c743}
.house-chip.love svg{color:#75bfe0!important;fill:#75bfe0!important}
.house-chip.serre svg{color:#72a878!important}
.house-chip.serre svg path:first-child{fill:#72a878}

/* Codes couleur des logements, cohérents entre connexion et vue d’ensemble */
.occupancy-row:nth-child(1) .house-icon{background:linear-gradient(140deg,#ffe797,#f3bf2e)!important;color:#89671e!important}
.occupancy-row:nth-child(1) .bar-track span{background:linear-gradient(90deg,#ffd458,#e7a915)!important}
.occupancy-row:nth-child(2) .house-icon{background:linear-gradient(140deg,#bbe4fa,#7cc4e8)!important;color:#3f7185!important}
.occupancy-row:nth-child(2) .bar-track span{background:linear-gradient(90deg,#49acdb,#147eae)!important}
.occupancy-row:nth-child(3) .house-icon{background:linear-gradient(140deg,#d1eab5,#a6d185)!important;color:#497454!important}
.occupancy-row:nth-child(3) .bar-track span{background:linear-gradient(90deg,#7fb95d,#45863d)!important}
.event.celeste{background:linear-gradient(100deg,#ffe797,#f3bf2e)!important;color:#795c23!important}
.event.love{background:linear-gradient(100deg,#b8e2f7,#89cbee)!important;color:#3d7185!important}
.event.serre{background:linear-gradient(100deg,#d1eab5,#add18e)!important;color:#35674d!important}
.booking-row.property-celeste .date-box{background:#f7efd9;color:#89671e}
.booking-row.property-love .date-box{background:#e6eff3;color:#456e80}
.booking-row.property-serre .date-box{background:#e8f0eb;color:#35674d}

/* Icônes SVG cohérentes et lisibles dans l’outil */
.nav-item .nav-icon{display:grid;place-items:center;width:19px;height:19px;flex:0 0 19px;color:inherit}
.nav-item .nav-icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.house-icon svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.icon-celeste svg circle{fill:#e6bf4d;stroke:#e6bf4d}.icon-celeste svg path{stroke:#a47d20}
.icon-love svg{fill:#75bfe0;stroke:#4f91ad}.icon-serre svg path:first-child{fill:#72a878;stroke:#54865c}.icon-serre svg path:last-child{stroke:#477951}
.stat-icon svg,.task-icon svg,.automation-icon svg,.settings-icon svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.logout-button{margin-left:auto;display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;color:#70766e;padding:6px 3px;font-size:9px;white-space:nowrap}.logout-button:hover{color:#285442}.logout-button svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.app-version{margin:10px 10px 1px;padding-top:9px;border-top:1px solid var(--line);font-size:9px;letter-spacing:.3px;color:#a09b91}.user{flex-wrap:wrap}.user .avatar{flex:0 0 32px}.user>div:nth-child(2){min-width:75px}.user .logout-button{flex:0 0 auto}@media(max-width:780px),(max-width:1024px) and (max-height:500px){.logout-button span,.app-version{display:none}}
.supplement-sort-note{display:flex;align-items:center;gap:7px;color:#72796f;font-size:9px;margin:-2px 0 10px 2px}.supplement-sort-note svg{width:15px;height:15px;fill:none;stroke:#637d68;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.supplement-table-panel{overflow:auto}.supplement-table{min-width:1420px}.supplement-table th{white-space:nowrap}.supplement-table td{vertical-align:middle}.supplement-table td:nth-child(1),.supplement-table td:nth-child(2),.supplement-table td:nth-child(8),.supplement-table td:nth-child(10),.supplement-table td:nth-child(11){white-space:nowrap}.supplement-table td:nth-child(9){min-width:145px}.supplement-table td:nth-child(9) small{white-space:normal;line-height:1.45}.row-status{max-width:130px;border:1px solid #e7e4dc;border-radius:14px;padding:5px 8px;background:#f5f3ec;color:#686b61;font-size:9px}.row-status.ready,.row-status.paid{background:#e9f1eb;border-color:#dce8dd;color:#3f6b4b}.row-status.waiting,.row-status.unpaid{background:#f6efdc;border-color:#eee2bd;color:#806528}.gift-no,.gift-yes{font-size:9px;font-weight:600}.gift-no{color:#838477}.gift-yes{color:#946f26}

/* Responsive sidebar, scrollable navigation, visible account and version */
.sidebar{height:100vh;height:100dvh;overflow:hidden}.sidebar nav{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#ddd8cd transparent}.sidebar-bottom{flex:0 0 auto}.main{min-width:0}
@media(max-width:780px),(max-width:1024px) and (max-height:500px){
 .sidebar{width:65px;bottom:68px;padding:14px 7px 0}.brand{padding:0 4px 14px}.brand>div:last-child{display:none}.brand-mark{height:38px;width:38px}.property-switch{display:block;position:fixed;left:73px;right:8px;top:60px;width:auto;z-index:4;padding:6px 10px;background:#fffefa;box-shadow:0 3px 12px #26342d12}.property-switch label{display:none}.property-switch select{margin:0;font-size:11px}.sidebar nav{overflow-y:auto}.nav-label{display:none}.nav-item,.nav-item:not(.active){display:flex;justify-content:center;gap:0;padding:11px 5px;font-size:0;min-height:39px}.nav-item .nav-icon{width:21px;height:21px;flex-basis:21px}.nav-item .nav-icon svg{width:19px;height:19px}.nav-item i{display:none}
 .sidebar-bottom{position:fixed;left:65px;right:0;bottom:0;height:68px;padding:6px 12px 5px;background:#fffefa;border-top:1px solid #e9e4d9;display:grid;grid-template-columns:1fr;grid-template-rows:1fr auto;z-index:5}.sidebar-bottom .sync{display:none}.sidebar-bottom .user{grid-row:1;display:flex;flex-wrap:nowrap;justify-content:flex-start;gap:8px;padding:0;border:0;min-width:0}.sidebar-bottom .user>div:not(.avatar){display:block;min-width:0}.sidebar-bottom .user strong,.sidebar-bottom .user small{white-space:nowrap}.sidebar-bottom .user .logout-button{display:inline-flex;margin-left:auto}.sidebar-bottom .logout-button span{display:inline}.sidebar-bottom .app-version{display:block;grid-row:2;margin:0 0 0 40px;padding:0;border:0;font-size:8px;line-height:11px}
 .main{margin-left:65px;width:calc(100% - 65px)}.content{padding:82px 14px 96px}.topbar{padding:0 12px;height:56px}.crumb{font-size:9px}.crumb-brand{font-size:9px}.top-actions{gap:5px}.top-actions .today,.top-actions .icon-btn{display:none}.top-actions .primary{padding:9px 8px;font-size:9px;white-space:nowrap}.page-heading{gap:10px}.page-heading h1{font-size:21px}.heading-tools{flex-wrap:wrap}.dashboard-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.table-panel{max-width:100%}.calendar-toolbar,.toolbar{max-width:100%}
}
@media(max-width:520px){.content{padding-left:10px;padding-right:10px}.stats-grid{grid-template-columns:1fr}.mini-stats{grid-template-columns:1fr}.stat-card{min-height:105px}.supplement-banner{align-items:flex-start;gap:12px;flex-direction:column}.top-actions .primary{font-size:0;padding:8px 10px}.top-actions .primary:after{content:"＋ Réservation";font-size:9px}.mail-layout{min-width:0}.tabs{max-width:100%;overflow-x:auto}.form-grid{grid-template-columns:1fr}}

/* Thème global de l’interface selon le logement choisi */
body[data-property-theme="all"]{--scope-main:#244a38;--scope-dark:#193a2d;--scope-soft:#e8f0ea;--scope-mid:#6f9678;--scope-accent:#244a38;--scope-button:#244a38;--scope-button-hover:#193a2d;--scope-button-text:#fff;--scope-marker:#244a38}
body[data-property-theme="celeste"]{--scope-main:#80570c;--scope-dark:#5e4008;--scope-soft:#fff1ca;--scope-mid:#e8ab13;--scope-accent:#efb51d;--scope-button:#efb51d;--scope-button-hover:#dda212;--scope-button-text:#493006;--scope-marker:#e8a90d}
body[data-property-theme="love"]{--scope-main:#086c99;--scope-dark:#064f74;--scope-soft:#e1f1fb;--scope-mid:#2995c9;--scope-accent:#147eae;--scope-button:#147eae;--scope-button-hover:#08648c;--scope-button-text:#fff;--scope-marker:#147eae}
body[data-property-theme="serre"]{--scope-main:#34743b;--scope-dark:#24572d;--scope-soft:#e9f2df;--scope-mid:#63a14b;--scope-accent:#45863d;--scope-button:#45863d;--scope-button-hover:#346b2e;--scope-button-text:#fff;--scope-marker:#45863d}
body[data-property-theme] .primary{background:var(--scope-button);color:var(--scope-button-text);box-shadow:0 2px 6px color-mix(in srgb,var(--scope-main) 20%,transparent)}
body[data-property-theme] .primary:hover{background:var(--scope-button-hover)}
body[data-property-theme] .nav-item.active,body[data-property-theme] .nav-item:hover{background:var(--scope-soft);color:var(--scope-main)}
body[data-property-theme] .nav-item.active .nav-icon,body[data-property-theme] .nav-item:hover .nav-icon{color:var(--scope-main)}
body[data-property-theme] .crumb-brand,body[data-property-theme] .text-link,body[data-property-theme] .all-tasks{color:var(--scope-main)}
body[data-property-theme] .tab.active{background:var(--scope-soft);color:var(--scope-main)}
body[data-property-theme] .date-box{background:var(--scope-soft);color:var(--scope-main)}
body[data-property-theme] .tiny-action{border-color:var(--scope-mid);color:var(--scope-main)}
body[data-property-theme] .property-switch{border-color:color-mix(in srgb,var(--scope-main) 20%,#e9e1d1)}
body[data-property-theme] .property-switch select{color:var(--scope-dark)}
body[data-property-theme] .user .avatar{background:var(--scope-soft);color:var(--scope-main)}
body[data-property-theme] .logout-button:hover{color:var(--scope-main)}
body[data-property-theme="all"] .stat-icon{box-shadow:inset 0 0 0 1px #244a3810}
body[data-property-theme="celeste"] .stat-icon{box-shadow:inset 0 0 0 1px #9b741b16}
body[data-property-theme="love"] .stat-icon{box-shadow:inset 0 0 0 1px #4c829916}
body[data-property-theme="serre"] .stat-icon{box-shadow:inset 0 0 0 1px #5c805816}
.logout-button{font-size:8px;gap:5px;padding:3px 2px;color:#85877f}.logout-button svg{width:13px;height:13px}.user{gap:7px}.user>div:nth-child(2){min-width:68px}.app-version{font-size:8px}
@media(max-width:780px),(max-width:1024px) and (max-height:500px){.sidebar-bottom .logout-button{font-size:8px;padding:3px}.sidebar-bottom .logout-button svg{width:13px;height:13px}.page-heading h1{font-size:19px}}

/* Console principale : fond adapté au logement pour distinguer immédiatement les périmètres */
body[data-property-theme="all"]{--scope-bg-a:#e8eee8;--scope-bg-b:#f6f6f1;--scope-top:#f1f4ef}
body[data-property-theme="celeste"]{--scope-bg-a:#fff0c9;--scope-bg-b:#fffaf0;--scope-top:#fff6df}
body[data-property-theme="love"]{--scope-bg-a:#dfedf7;--scope-bg-b:#f5faff;--scope-top:#edf6fc}
body[data-property-theme="serre"]{--scope-bg-a:#e3eedb;--scope-bg-b:#f7faf2;--scope-top:#eff5e8}
body[data-property-theme] .main{background:linear-gradient(138deg,var(--scope-bg-a) 0%,var(--scope-bg-b) 78%);transition:background .25s ease}
body[data-property-theme] .topbar{background:var(--scope-top);border-bottom:3px solid var(--scope-accent);transition:background .25s ease}
body[data-property-theme] .page-heading{border-left:5px solid var(--scope-accent);border-radius:0 10px 10px 0;padding:11px 15px;background:linear-gradient(95deg,var(--scope-soft) 0%,color-mix(in srgb,var(--scope-soft) 70%,#fffefa) 100%);transition:background .25s ease,border-color .25s ease}

/* Nom, icône et couleur du logement toujours visibles dans la console. */
.active-property-banner{display:flex;align-items:center;gap:12px;margin:0 0 20px;padding:13px 16px;border-radius:12px;background:var(--scope-button,#244a38);color:var(--scope-button-text,#fff);box-shadow:0 4px 16px #1b392318}
.active-property-icon{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:10px;background:#fffefa;color:var(--scope-marker,#244a38)}
.active-property-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.active-property-icon svg[data-house-icon="sun"] circle,.active-property-icon svg[data-house-icon="heart"] path,.active-property-icon svg[data-house-icon="leaf"] path:first-child{fill:currentColor}
.active-property-label{min-width:0}.active-property-label small{display:block;font-size:8px;letter-spacing:1.1px;opacity:.85;margin-bottom:3px}.active-property-label strong{display:block;font-size:16px;line-height:1.3}
.active-property-company{margin-left:auto;font-size:10px;opacity:.9;white-space:nowrap}
body[data-property-theme="celeste"] .nav-item.active,body[data-property-theme="love"] .nav-item.active,body[data-property-theme="serre"] .nav-item.active{background:var(--scope-soft);color:var(--scope-main);box-shadow:0 1px 5px #22392b0a}
body[data-property-theme] .nav-item.active .nav-icon{color:inherit}
body[data-property-theme="celeste"] .property-switch,body[data-property-theme="love"] .property-switch,body[data-property-theme="serre"] .property-switch{background:var(--scope-soft);border:1px solid color-mix(in srgb,var(--scope-accent) 50%,#fff)}
body[data-property-theme="celeste"] .tab.active,body[data-property-theme="love"] .tab.active,body[data-property-theme="serre"] .tab.active{background:var(--scope-soft);color:var(--scope-main)}
@media(max-width:780px),(max-width:1024px) and (max-height:500px){.active-property-banner{padding:11px;gap:10px;margin-bottom:14px;flex-wrap:wrap}.active-property-label{flex:1}.active-property-label strong{font-size:14px}.active-property-company{width:100%;margin-left:48px;font-size:9px}.active-property-icon{flex-basis:36px;width:36px;height:36px}}

/* Fiches prospects, clients et prestataires */
[hidden]{display:none!important}
.contact-row{cursor:pointer}.contact-row:hover{background:var(--scope-soft,#e8f0ea)}
.contact-name{border:0;background:transparent;color:var(--scope-dark,#193a2d);font:inherit;font-weight:700;text-align:left;padding:4px 0;cursor:pointer}.contact-name:hover{text-decoration:underline}
.contact-open{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;color:var(--scope-main,#244a38);font-size:11px;font-weight:600;padding:8px;white-space:nowrap;cursor:pointer}
.contact-open svg,.contact-detail svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.contact-name:focus-visible,.contact-open:focus-visible,.contact-detail button:focus-visible,.contact-detail a:focus-visible{outline:2px solid var(--scope-main,#244a38);outline-offset:3px;border-radius:4px}
.row-provider{max-width:250px;min-width:165px;border:1px solid #dfdfd5;border-radius:7px;padding:7px;background:#fffefa;color:#3e5145;font-size:10px}
body.contact-detail-open{overflow:hidden}
.contact-detail{box-sizing:border-box;width:min(760px,calc(100% - 40px));max-width:760px;max-height:90vh;max-height:90dvh;margin:auto;border:1px solid #e4e6db;border-radius:18px;padding:24px;background:#fffefa;color:#344039;box-shadow:0 24px 80px #15291d33;overflow-y:auto;overscroll-behavior:contain}
.contact-detail::backdrop{background:#13291e88;backdrop-filter:blur(3px)}
.contact-detail-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}
.contact-detail-top .eyebrow{color:var(--scope-main,#244a38);margin:0;font-size:10px}
.contact-detail-close{display:grid;place-items:center;border:1px solid #e4e6dc;background:#fffefa;border-radius:50%;width:36px;height:36px;color:#536454;cursor:pointer}
.contact-detail-heading{display:flex;align-items:center;gap:14px;margin-bottom:24px}
.contact-detail-avatar{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--scope-soft,#e8f0ea);color:var(--scope-main,#244a38);flex-shrink:0}
.contact-detail-avatar svg{width:25px;height:25px}.contact-detail h2{font-size:24px;line-height:1.25;margin:0;overflow-wrap:anywhere}.contact-detail-heading p{font-size:12px;color:#758071;margin:5px 0 0}
.contact-section{margin:0 0 22px;padding-top:18px;border-top:1px solid #e7e9df}.contact-section h3{display:flex;align-items:center;gap:8px;font-size:14px;margin:0 0 14px;color:var(--scope-dark,#193a2d)}
.contact-info{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 22px;margin:0 0 14px}.contact-info>div{min-width:0}.contact-info dt{font-size:11px;color:#758071;margin-bottom:4px}.contact-info dd{font-size:13px;line-height:1.5;margin:0;color:#344039;overflow-wrap:anywhere}
.contact-actions{display:flex;gap:8px;flex-wrap:wrap}.contact-actions .secondary,.contact-actions .primary{display:inline-flex;align-items:center;gap:6px;text-decoration:none;font-size:11px;padding:9px 12px}
.contact-linked-card{border:1px solid #e4e7db;border-radius:10px;padding:14px;margin-top:10px;background:#fff}.contact-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.contact-card-heading strong{font-size:13px}.contact-card-heading span{font-size:10px;border-radius:8px;padding:4px 7px;background:var(--scope-soft,#e8f0ea);color:var(--scope-dark,#193a2d);white-space:nowrap}
.contact-linked-card .contact-info{margin:12px 0 0}.contact-linked-card p{font-size:12px;line-height:1.6}.contact-linked-card small{font-size:10px;color:#758071}.contact-card-subtitle{font-size:11px!important;color:#758071;margin:7px 0 12px}
.contact-empty{background:#f4f5ee;border-radius:9px;padding:12px;font-size:12px;color:#758071;line-height:1.6;margin:0}.contact-notes{white-space:pre-wrap;font-size:13px;line-height:1.6;overflow-wrap:anywhere}
.contact-edit-form{margin-top:16px;padding:16px;background:var(--scope-soft,#e8f0ea);border-radius:10px}.contact-edit-form[hidden]{display:none}.contact-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.contact-form-grid label{font-size:11px}.contact-form-grid input,.contact-form-grid textarea{display:block;box-sizing:border-box;width:100%;margin-top:5px;padding:10px;border:1px solid #d7dfd0;border-radius:7px;font:inherit;font-size:13px;background:white;color:#344039}.contact-full{grid-column:1/-1}.contact-form-grid textarea{resize:vertical}
.contact-local-note{font-size:11px;color:#758071;line-height:1.6}.contact-save-notice{font-size:12px;line-height:1.5;color:var(--scope-dark,#193a2d);margin:8px 0 0}.contact-save-notice:empty{display:none}
@media(max-width:520px){.contact-detail{width:calc(100% - 16px);max-height:calc(100dvh - 16px);padding:18px;border-radius:12px}.contact-detail h2{font-size:21px}.contact-info,.contact-form-grid{grid-template-columns:1fr}.contact-card-heading{flex-wrap:wrap}.contact-form-grid input,.contact-form-grid textarea{font-size:16px}.contact-detail-close{width:40px;height:40px}}

.supplement-data-note,.supplement-notice{font-size:11px;line-height:1.6;color:#64745f}.supplement-notice:empty{display:none}.supplement-editor h2{margin-bottom:20px}.supplement-editor select{display:block;box-sizing:border-box;width:100%;margin-top:5px;padding:10px;border:1px solid #d7dfd0;border-radius:7px;font-size:13px;background:white;color:#344039}.supplement-checkbox{display:flex;align-items:center;gap:8px;margin:18px 0;font-size:12px}.supplement-checkbox input{accent-color:var(--scope-main,#244a38)}.supplement-editor .contact-actions{margin-top:16px}.supplement-table td:last-child .secondary{white-space:nowrap;font-size:10px}.supplement-table td:nth-child(9) small{white-space:pre-wrap}
.bank-scope-banner{display:flex;align-items:center;gap:14px;padding:20px;border-radius:12px;background:var(--scope-soft,#e8f0ea);margin:20px 0}.bank-scope-banner h2{font-size:17px;margin:0 0 6px;color:var(--scope-dark,#193a2d)}.bank-scope-banner p{font-size:12px;line-height:1.6;margin:0;color:#64745f}.bank-banner-icon{color:var(--scope-main,#244a38)}.bank-banner-icon svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.bank-accounts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:16px}.bank-account-card{min-width:0}.bank-account-card h2{font-size:16px}.bank-property-label{font-size:12px;margin:0 0 18px;color:#64745f}.bank-account-card .eyebrow{font-size:9px}.bank-message,.bank-read-note{font-size:12px;line-height:1.6;color:#64745f}.bank-transactions h3{font-size:14px;margin:20px 0 10px}.bank-transaction{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #eceee4;padding:12px 0}.bank-transaction>div{min-width:0}.bank-transaction strong{font-size:12px;display:block;overflow-wrap:anywhere}.bank-transaction small{font-size:10px;display:block;margin-top:4px;color:#7b8576}.bank-transaction b{font-size:12px;white-space:nowrap}.bank-credit{color:#35714a}.bank-pagination{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:12px;font-size:11px}.bank-pagination .secondary{font-size:10px}
@media(max-width:520px){.supplement-editor select{font-size:16px}.bank-scope-banner{padding:14px;align-items:flex-start}.bank-scope-banner h2{font-size:15px}.bank-account-card .panel-head{align-items:flex-start;gap:10px}}

/* Espace prestataire : prestations affectées, suivi de préparation et montant de prestation. */
body[data-crm-role="provider"] #newBooking,body[data-crm-role="provider"] #export,body[data-crm-role="provider"] #newSupplement{display:none}
body[data-crm-role="provider"] .supplement-table [data-admin-only]{display:none!important}
body[data-crm-role="provider"] .row-provider{pointer-events:none;appearance:none;border-color:transparent;background:transparent}

body[data-property-theme] .booking-row.property-celeste .date-box{background:#fff1cc;color:#76520b}
body[data-property-theme] .booking-row.property-love .date-box{background:#e1f0fa;color:#07567b}
body[data-property-theme] .booking-row.property-serre .date-box{background:#e4efda;color:#2d6132}

.property-calendars{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}.calendar-property-heading{display:flex;align-items:center;gap:10px;padding:2px 0 16px;border-bottom:3px solid;margin-bottom:12px}.calendar-property-heading h2{font-size:15px;margin:0}.calendar-property-heading>span{margin-left:auto;font-size:11px;color:#758071}.calendar-property-heading svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.calendar-property-celeste .calendar-property-heading{color:#987013;border-color:#efb51d}.calendar-property-love .calendar-property-heading{color:#086c99;border-color:#147eae}.calendar-property-serre .calendar-property-heading{color:#34743b;border-color:#45863d}.calendar-property-love .calendar-property-heading svg{fill:currentColor}.calendar-property-celeste .calendar-property-heading svg circle,.calendar-property-serre .calendar-property-heading svg path:first-child{fill:currentColor}
.property-calendars .event{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.property-calendars .calendar-panel{min-width:0}
@media(max-width:780px),(max-width:1024px) and (max-height:500px){.property-calendars .calendar-grid,.property-calendars .calendar-legend{min-width:0}.property-calendars .day{min-width:0;min-height:78px;padding:5px 3px}.property-calendars .event{font-size:8px;padding:3px}.property-calendars .weekdays{font-size:8px}.calendar-property-heading{flex-wrap:wrap;gap:7px}.calendar-property-heading h2{font-size:12px}.calendar-property-heading>span{font-size:9px}.property-calendars .calendar-legend{flex-wrap:wrap;font-size:8px;gap:10px}}

/* Les comptes prestataires disposent uniquement de leurs deux rubriques. */
body[data-crm-role="provider"] #nav [data-page]:not([data-page="supplements"]):not([data-page="calendar"]),
body[data-crm-role="provider"] .page:not(#page-supplements):not(#page-calendar),
body[data-crm-role="provider"] #blockSlot,
body[data-crm-role="provider"] #period,
body[data-crm-role="provider"] .topbar .search,
body[data-crm-role="provider"] .topbar .icon-btn,
body[data-crm-role="provider"] .supplement-data-note,
body[data-crm-role="provider"] #page-calendar .tabs{display:none!important}
.provider-calendar .calendar-property-heading{border-color:var(--scope-accent);color:var(--scope-main)}
.provider-calendar .event{white-space:normal;line-height:1.5}
body[data-crm-role="provider"] .supplement-table{min-width:1000px}
/* Recherche des prospects, rédaction et réglages de messagerie. */
.prospect-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:10px 0;padding:12px;background:var(--scope-soft);border-radius:10px}.prospect-actions>span{margin-right:auto;font-size:12px}.prospect-results{font-size:12px;color:#64745f}.prospect-check,#selectAllProspects{width:17px;height:17px;accent-color:var(--scope-main);vertical-align:middle;margin-right:8px;cursor:pointer}.prospect-mail-button{display:inline-flex;align-items:center;gap:6px;margin:6px}.prospect-mail-button svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8}.prospect-mail-button:disabled{opacity:.5;cursor:default}#prospectSearch{min-width:230px;flex:1;max-width:460px}#page-prospects .contact-open{white-space:nowrap}
.mail-list{min-width:0}.mail-folders{min-width:0}.mail-folders .folder{font-size:12px;white-space:normal;line-height:1.4}.mail-top{flex-wrap:wrap}.mail-top h2{margin-right:auto}.mail-connection-notice,.mail-local-notice,.mail-variable-help{font-size:12px;line-height:1.6;color:#66745f;background:var(--scope-soft,#e8f0ea);border-radius:9px;padding:10px 12px}.mail-connection-notice{margin:12px}.mail-local-notice{margin:8px 0}#mailCustomContent{padding:12px;display:grid;gap:12px}.mail-editor-card{border:1px solid #dfe6d9;border-radius:10px;padding:14px;background:#fffefa;min-width:0;overflow-wrap:anywhere}.mail-editor-card h3{font-size:14px;margin:0 0 8px}.mail-editor-card p,.mail-editor-card small{font-size:12px;line-height:1.6;display:block}.mail-editor-card button{margin:10px 6px 0 0}.mail-editor-card .status{font-size:10px}.crm-mail-item{display:grid;gap:6px;width:100%;text-align:left;background:#fffefa;border:1px solid #dfe6d9;border-radius:9px;padding:14px;color:var(--ink);overflow-wrap:anywhere}.crm-mail-item strong{font-size:13px}.crm-mail-item span{font-size:12px}.crm-mail-item small{font-size:10px;color:#64745f}.mail-body-text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.65}.crm-mail-preview{padding:20px;overflow-wrap:anywhere}.crm-mail-preview h2{font-size:17px}.crm-mail-preview>small{font-size:11px;color:#64745f}.mail-composer{width:min(800px,calc(100% - 24px));max-width:800px}.mail-composer form{margin-top:16px}.mail-composer select,#mailSettingsEditor select{display:block;width:100%;margin-top:5px;padding:10px;border:1px solid #d7dfd0;border-radius:7px;background:#fff;color:#344039;font-size:13px}.mail-personalized-preview{margin:10px 0;font-size:12px}.mail-personalized-preview summary{cursor:pointer;font-weight:600}.mail-personalized-preview .contact-linked-card small{display:block;margin:8px 0}.mail-rule-checkbox{display:flex;align-items:center;gap:8px}.mail-rule-checkbox input{width:18px!important;margin:0!important}#mailSettingsError,#loginError{font-size:12px;color:#a53827}#mailComposerState{font-size:12px;line-height:1.5}button:disabled{cursor:default}body[data-crm-role="provider"] #mailComposer,body[data-crm-role="provider"] #mailSettingsEditor{display:none!important}
@media(max-width:1150px){#page-mail .mail-layout{grid-template-columns:150px minmax(0,1fr)}#page-mail .mail-preview:has(.crm-mail-preview){display:block;grid-column:1/-1;border-top:1px solid var(--line)}}
@media(max-width:780px),(max-width:1024px) and (max-height:500px){#page-mail .mail-layout{grid-template-columns:minmax(0,1fr)}#page-mail .mail-folders{display:flex;flex-wrap:wrap;gap:6px;padding:12px;border-right:0;border-bottom:1px solid var(--line)}#page-mail .mail-folders .folder{width:auto;flex:1 0 auto;font-size:11px;padding:9px}#page-mail .imap-state{width:100%;margin-top:8px}.prospect-actions{align-items:stretch}.prospect-actions>span{width:100%}.prospect-actions button{flex:1;font-size:11px}#prospectSearch{min-width:0;max-width:none;width:100%}.mail-top button{font-size:11px}#mailComposer input,#mailComposer textarea,#mailComposer select,#mailSettingsEditor input,#mailSettingsEditor textarea,#mailSettingsEditor select{font-size:16px}.mail-composer{padding:16px}.crm-mail-preview{padding:14px}.contact-actions button{white-space:normal}}

.mail-assignment{display:block;margin-top:20px;font-size:12px}.mail-assignment select{display:block;width:100%;margin-top:7px;padding:10px;background:#fff;border:1px solid #d7dfd0;border-radius:7px;color:var(--ink)}@media(max-width:780px),(max-width:1024px) and (max-height:500px){.mail-assignment select{font-size:16px}}

/* Affectation de la même fiche à plusieurs logements. */
.contact-property-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px;max-width:330px}.contact-property-tag{display:inline-flex;padding:4px 7px;border-radius:7px;font-size:10px;line-height:1.4;font-weight:600}.contact-property-celeste{background:#fff0ba;color:#785507}.contact-property-love{background:#d7effb;color:#086c99}.contact-property-serre{background:#e0edcb;color:#34743b}.contact-property-picker{border:1px solid #d7dfd0;border-radius:10px;padding:12px;margin:0;min-width:0}.contact-property-picker legend{font-size:12px;font-weight:600;padding:0 5px}.contact-property-picker label{display:flex;align-items:center;gap:8px;margin:8px 0;font-size:12px}.contact-property-picker input{width:18px;height:18px;margin:0;accent-color:var(--scope-main)}#contactDirectoryNotice:empty{display:none}@media(max-width:520px){.contact-property-picker label{font-size:13px;padding:5px 0}.contact-property-picker input{width:21px;height:21px}.contact-property-tags{max-width:260px}}

/* Bandeaux plus clairs, avec la couleur du logement en repère. */
body[data-property-theme="celeste"] .active-property-banner,
body[data-property-theme="love"] .active-property-banner,
body[data-property-theme="serre"] .active-property-banner{background:var(--scope-soft);color:var(--scope-main);border-left:4px solid var(--scope-accent);box-shadow:0 2px 10px #1b39230a}

/* Taille explicite du lien de déconnexion dans le pied de la console. */
.sidebar-bottom .user .logout-button{font-size:9px;line-height:1.2;font-weight:400;letter-spacing:0;gap:4px;padding:4px 0;min-height:0;min-width:0;width:auto;border:0;border-radius:0;background:transparent;box-shadow:none;white-space:nowrap;color:#778174}
.sidebar-bottom .user .logout-button span{font-size:inherit;line-height:inherit;font-weight:inherit}
.sidebar-bottom .user .logout-button svg{width:12px;height:12px;flex:0 0 12px}
.sidebar-bottom .user .logout-button:focus-visible{outline:2px solid var(--scope-main,#244a38);outline-offset:4px}


/* Chiffre d’affaires visible avec les statistiques de la sélection. */
#page-overview .overview-stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
#page-overview .overview-stats-grid .stat-card{min-width:0;padding:16px}
#page-overview .overview-revenue{border-top:3px solid var(--scope-accent,#244a38)}
#page-overview .overview-revenue>strong{font-size:25px;white-space:nowrap;color:var(--scope-main,#244a38)}
#page-overview .overview-revenue>small{display:block;line-height:1.4;margin-top:4px;overflow-wrap:anywhere}
.revenue-demo-label{display:block;margin-top:8px;color:#82907c;font-size:8px;line-height:1.4}
@media(max-width:1180px){#page-overview .overview-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:780px),(max-width:1024px) and (max-height:500px){#page-overview .overview-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#page-overview .overview-revenue{grid-column:1/-1}}
@media(max-width:520px){#page-overview .overview-stats-grid{grid-template-columns:minmax(0,1fr)}#page-overview .overview-revenue{grid-column:auto}}

/* Suppléments du logement dans les prochaines actions du tableau de bord. */
.attention .task-list{max-height:360px;overflow-y:auto}
.attention .supplement-task{width:100%;background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;text-align:left;color:inherit;font:inherit}
.attention .supplement-task:hover{background:var(--scope-soft,#e8f0ea)}
.attention .supplement-task:focus-visible{outline:2px solid var(--scope-main,#244a38);outline-offset:-2px}
.supplement-task .task-icon{flex:0 0 27px}
.supplement-task-detail{flex:1;min-width:0;overflow-wrap:anywhere}
.supplement-task-detail strong,.supplement-task-detail small{display:block;line-height:1.5}
.supplement-task-detail strong{font-size:11px}
.supplement-task-detail small{font-size:10px;color:var(--muted)}
.supplement-task time{flex:0 0 auto;white-space:nowrap;font-size:10px;margin-left:auto}
.supplement-task-celeste{background:#fff0ba}.supplement-task-love{background:#d7effb}.supplement-task-serre{background:#e0edcb}
@media(max-width:520px){.attention .supplement-task{flex-wrap:wrap}.supplement-task time{width:100%;padding-left:37px}.attention .task-list{max-height:420px}}

.supplement-task-heading{font:700 11px Manrope,sans-serif;margin:16px 0 4px;color:var(--scope-main,#244a38)}

/* Lecture et modification des suppléments, identiques dans Tous et par logement. */
#page-supplements .supplement-table-panel{max-height:65dvh;overflow:auto;padding:0}
#page-supplements .supplement-table{min-width:1320px;width:100%;border-collapse:separate;border-spacing:0}
#page-supplements .supplement-table th{position:sticky;top:0;z-index:1;background:#f5f6f1;padding:13px 12px;color:#596653}
#page-supplements .supplement-table td{padding:14px 12px;line-height:1.5}
#page-supplements .supplement-table td:nth-child(4),#page-supplements .supplement-table th:nth-child(4){text-align:center}
#page-supplements .supplement-table td:nth-child(5){min-width:150px}
#page-supplements .supplement-table td:nth-child(6){white-space:nowrap;text-align:center}
#page-supplements .supplement-table td:nth-child(7){min-width:160px;max-width:220px}
#page-supplements .supplement-table td:nth-child(7) small{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.5}
.supplement-editable-row{cursor:pointer}
#page-supplements .supplement-editable-row:hover td{background:var(--scope-soft,#e8f0ea)}
#page-supplements .supplement-editable-row:focus-visible{outline:2px solid var(--scope-main,#244a38);outline-offset:-2px}
#page-supplements .supplement-table tr[data-property="celeste"] td:first-child{border-left:4px solid #e3b02f}
#page-supplements .supplement-table tr[data-property="love"] td:first-child{border-left:4px solid #4399c6}
#page-supplements .supplement-table tr[data-property="serre"] td:first-child{border-left:4px solid #759e59}
.supplement-property-tag{display:inline-block;font-size:9px;font-weight:600;border-radius:6px;padding:3px 6px;margin-top:6px;white-space:normal}
.supplement-property-celeste{background:#fff0ba;color:#785507}.supplement-property-love{background:#d7effb;color:#086c99}.supplement-property-serre{background:#e0edcb;color:#34743b}
.supplement-time{font-weight:600;font-variant-numeric:tabular-nums;color:var(--scope-main,#244a38)}
.supplement-quantity{display:inline-grid;place-items:center;min-width:24px;padding:2px 6px;border-radius:6px;background:#f0f2ed;font-weight:700}
#page-supplements .supplement-gift-check{width:20px;height:20px;margin:0;vertical-align:middle;accent-color:var(--scope-main,#244a38);cursor:pointer}
#page-supplements .supplement-gift-check:disabled{cursor:default;opacity:1}
#supplementForm .gift-form-checkbox{display:flex;align-items:center;gap:8px;margin:0;padding-top:20px}
#supplementForm .gift-form-checkbox input{display:inline-block;width:20px;height:20px;flex:0 0 20px;margin:0;padding:0}
#page-supplements .supplement-status,#page-supplements .supplement-payment{max-width:none;min-width:112px;border-radius:9px;font-size:10px;font-weight:600;padding:7px 8px;cursor:pointer}
#page-supplements .status-prepare{background:#fff0c6;color:#785407;border-color:#ecd795}
#page-supplements .status-confirm{background:#ffeadc;color:#984a17;border-color:#ebc4a8}
#page-supplements .status-progress{background:#deedf9;color:#1b5e8c;border-color:#b9d5eb}
#page-supplements .status-ready{background:#dff0dd;color:#37662d;border-color:#bcd8b7}
#page-supplements .status-done{background:#e9ede8;color:#53634f;border-color:#ced8ca}
#page-supplements .status-cancelled{background:#f7e4e4;color:#914040;border-color:#e6bcbc}
#page-supplements .payment-unpaid{background:#f9e4e2;color:#98443a;border-color:#eabeb9}
#page-supplements .payment-partial{background:#fff0c6;color:#785407;border-color:#ecd795}
#page-supplements .payment-paid{background:#dff0dd;color:#37662d;border-color:#bcd8b7}
@media(max-width:780px),(max-width:1024px) and (max-height:500px){
  #page-supplements .supplement-table-panel{max-height:none;overflow:visible;background:transparent;border:0}
  #page-supplements .supplement-table{display:block;min-width:0;width:100%}
  #page-supplements .supplement-table thead{display:none}
  #page-supplements .supplement-table tbody{display:grid;gap:12px}
  #page-supplements .supplement-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));background:#fffefa;border:1px solid var(--line);border-left:4px solid;border-radius:10px;overflow:hidden}
  #page-supplements .supplement-table tr[data-property="celeste"]{border-left-color:#e3b02f}
  #page-supplements .supplement-table tr[data-property="love"]{border-left-color:#4399c6}
  #page-supplements .supplement-table tr[data-property="serre"]{border-left-color:#759e59}
  #page-supplements .supplement-table td{display:block;min-width:0!important;max-width:none!important;white-space:normal!important;padding:10px 12px;border:0;border-bottom:1px solid var(--line);font-size:12px;text-align:left!important;overflow-wrap:anywhere}
  #page-supplements .supplement-table tr td:first-child{border-left:0}
  #page-supplements .supplement-table td::before{content:attr(data-label);display:block;color:#73806b;font-size:9px;font-weight:600;margin-bottom:5px}
  #page-supplements .supplement-table td:nth-child(3),#page-supplements .supplement-table td:nth-child(5),#page-supplements .supplement-table td:nth-child(7),#page-supplements .supplement-table td:nth-child(9){grid-column:1/-1}
  #page-supplements .supplement-table td b{font-size:12px}
  #page-supplements .supplement-table td small{font-size:11px}
  #page-supplements .row-provider{min-width:0;max-width:none;width:100%;font-size:13px}
  #page-supplements .supplement-status,#page-supplements .supplement-payment{min-width:0;width:100%;font-size:12px;min-height:36px}
  #page-supplements .supplement-gift-check{width:24px;height:24px}
  #supplementForm .gift-form-checkbox{padding-top:0;min-height:40px}
}

/* Cloche de notification et fenêtres communes. */
.top-actions .notification-button{display:inline-grid;place-items:center;width:32px;height:32px;padding:5px;color:var(--scope-main,#244a38)}
.notification-button svg{display:block;width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.notification-button .notification-count{position:absolute;right:-5px;top:-5px;display:grid;place-items:center;min-width:18px;height:18px;padding:0 4px;border:2px solid #fffefa;border-radius:12px;background:#b9483f;color:#fff;font-size:10px;font-weight:700;line-height:1}
.notification-button .notification-count.is-empty{background:#e8f0ea;color:#526759}
.notification-button:focus-visible{outline:2px solid var(--scope-main,#244a38);outline-offset:4px;border-radius:8px}
.notifications-dialog{width:min(560px,calc(100% - 24px));max-height:calc(100dvh - 24px);padding:22px}
.notifications-dialog h2{font-size:21px;margin:0 0 6px}
.notifications-scope{font-size:12px;color:var(--scope-main,#244a38);margin:0 0 12px}
.notifications-summary{font-size:12px;color:#68746a;margin:0 0 14px}
.notifications-list{display:grid;gap:8px}
.notification-item{display:flex;align-items:center;gap:12px;width:100%;border:1px solid #e5e9e3;border-left:4px solid var(--notification-color,#244a38);border-radius:10px;padding:12px;text-align:left;background:#fff;color:#29372f}
.notification-item:hover,.notification-item:focus-visible{background:var(--scope-soft,#e8f0ea)}
.notification-property-celeste{--notification-color:#e3ae24}.notification-property-love{--notification-color:#2283b0}.notification-property-serre{--notification-color:#5a8c4d}
.notification-item-icon{flex:0 0 30px;text-align:center;font-size:21px}
.notification-item-content{display:grid;gap:5px;min-width:0;flex:1}
.notification-item-content strong{font-size:12px;line-height:1.45;overflow-wrap:anywhere}
.notification-item-content small{font-size:11px;line-height:1.45;color:#70796f;overflow-wrap:anywhere}
.notification-item-content .notification-property{font-size:10px;color:#4d6353}
.notification-item-arrow{font-size:18px;color:var(--scope-main,#244a38)}
.notifications-help{font-size:11px;line-height:1.6;color:#7a8278;margin:16px 0 0}
.supplement-table tr:focus{outline:2px solid var(--scope-main,#244a38);outline-offset:-2px;background:var(--scope-soft,#e8f0ea)}
@media(max-width:520px){.notifications-dialog{padding:16px}.notification-item{gap:8px;padding:10px}.notification-item-icon{flex-basis:25px;font-size:18px}}
.booking-dialog{border:0;padding:0;background:transparent;width:min(540px,calc(100% - 24px));max-height:calc(100dvh - 24px);overflow-y:auto;border-radius:15px}
.booking-dialog::backdrop{background:#23202d66}
.booking-dialog .modal{width:100%;box-shadow:none}
.unsaved-changes-dialog{width:min(480px,calc(100% - 24px));max-width:480px;padding:24px}
.unsaved-changes-dialog h2{font-size:20px;margin:0 0 12px}
.unsaved-changes-dialog p{font-size:13px;line-height:1.6;color:#6c7567}
.unsaved-changes-dialog .contact-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.unsaved-changes-dialog .contact-actions button{font-size:12px;padding:10px 12px}
.unsaved-changes-dialog .discard-changes{color:#974839}
@media(max-width:520px){.unsaved-changes-dialog .contact-actions{flex-direction:column}.unsaved-changes-dialog .contact-actions button{width:100%;min-height:42px}.booking-dialog .modal{padding:22px 18px}.booking-dialog input,.booking-dialog select{font-size:16px}}

/* Couleurs des prestations indépendantes du logement et du statut. */
.supplement-service{display:inline-flex!important;align-items:center;gap:6px;padding:7px 9px;border-radius:8px;border:1px solid var(--service-border,#dce1d4);background:var(--service-bg,#edf0e8);color:var(--service-ink,#59674c);font-size:11px!important;font-weight:600;line-height:1.35;white-space:normal}
.supplement-service>span{flex:0 0 auto;font-size:14px}
.service-brunch{--service-bg:#ffe58b;--service-border:#e3c14f;--service-ink:#735304}
.service-romantic{--service-bg:#f9d6e1;--service-border:#e6abc0;--service-ink:#93465f}
.service-cake{--service-bg:#e7cfb8;--service-border:#cba989;--service-ink:#765039}
.service-meal{--service-bg:#ffe0b3;--service-border:#e7bc7f;--service-ink:#825426}
.service-aperitif{--service-bg:#ffe9b4;--service-border:#e2c77e;--service-ink:#806024}
.service-breakfast{--service-bg:#fff2c9;--service-border:#e4d7a0;--service-ink:#7a6631}
.service-massage{--service-bg:#e9dcf5;--service-border:#cbb0e5;--service-ink:#745196}
.service-late{--service-bg:#d5eafa;--service-border:#a9cee8;--service-ink:#396b94}
.supplement-service-legend{margin:12px 0 16px;font-size:11px;color:#66745f}
.supplement-service-legend summary{cursor:pointer;font-weight:600;margin-bottom:8px}
.supplement-service-legend>div{display:flex;gap:7px;flex-wrap:wrap}
.supplement-service-legend .supplement-service{font-size:10px!important;padding:5px 7px}
#page-supplements .supplement-editable-row:hover .supplement-service{filter:brightness(.98)}

/* Charges réservées aux administrateurs : résumé et fiches par société. */
.finance-charges-panel{margin-top:24px;min-width:0}
.finance-charges-panel .panel-head{gap:12px;flex-wrap:wrap}
.finance-charges-panel h2{font-size:17px}
.finance-local-note{font-size:11px;line-height:1.6;color:#6c7866;margin:14px 0}
.finance-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}
.finance-totals>div{padding:15px;border-radius:10px;background:var(--scope-soft,#e8f0ea);min-width:0}
.finance-totals span{display:block;font-size:11px;color:#65745b}
.finance-totals strong{display:block;font:700 23px Manrope,sans-serif;color:var(--scope-main,#244a38);margin-top:8px;overflow-wrap:anywhere}
.finance-charge-list{display:grid;gap:12px}
.finance-charge-card{display:flex;justify-content:space-between;gap:18px;border:1px solid var(--line);border-radius:10px;padding:16px;min-width:0}
.finance-charge-card>div:first-child{min-width:0}
.finance-charge-category{display:inline-block;font-size:10px;background:#ece9dd;border-radius:6px;padding:4px 7px;color:#6d654b}
.finance-charge-card h3{font-size:13px;margin:9px 0 7px;overflow-wrap:anywhere}
.finance-charge-card p,.finance-charge-card small{font-size:11px;color:#6b7862;line-height:1.6;margin:6px 0}
.finance-charge-card .finance-charge-notes{font-size:10px;white-space:pre-wrap}
.finance-charge-amount{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:10px;flex-shrink:0}
.finance-charge-amount strong{font-size:18px;color:var(--scope-main,#244a38)}
.finance-charge-editor select{width:100%;display:block;margin-top:5px;padding:10px;border:1px solid #d7dfd0;border-radius:7px;background:#fff;color:#344039;font-size:13px}
body[data-crm-role="provider"] .finance-charges-panel,body[data-crm-role="provider"] .finance-charge-editor{display:none!important}
@media(max-width:780px),(max-width:1024px) and (max-height:500px){.finance-totals{grid-template-columns:1fr}.finance-charge-card{flex-direction:column;gap:10px}.finance-charge-amount{flex-direction:row;justify-content:space-between;align-items:center}.finance-charge-editor select{font-size:16px}}

/* Cases de sélection à gauche, centrées verticalement dans les répertoires. */
#page-clients .contact-row td:first-child,#page-prestataires .contact-row td:first-child,#page-prospects .contact-row td:first-child{position:relative;padding-left:44px;vertical-align:middle}
#page-clients th:first-child,#page-prestataires th:first-child,#page-prospects th:first-child{position:relative;padding-left:44px}
.contact-row .contact-check,.contact-row .prospect-check,.directory-select-all,#selectAllProspects{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:18px;height:18px;margin:0;accent-color:var(--scope-main,#244a38);cursor:pointer}
.contact-selection-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:12px;margin:10px 0;background:var(--scope-soft,#e8f0ea);border-radius:10px}
.contact-selection-actions>span{margin-right:auto;font-size:12px}
.contact-delete-button{color:#9c4b3d}
.contact-delete-dialog h2{font-size:20px;margin:0 0 14px}
.contact-delete-dialog p,.contact-delete-dialog li{font-size:12px;line-height:1.6}
#undoContactDeletion{margin:0 0 14px}
/* Suppléments : résumé compact, légende repliée et aide en bas. */
#page-supplements .toolbar{flex-direction:row;align-items:center;flex-wrap:wrap}
#page-supplements .toolbar .tabs{min-width:0;flex-wrap:wrap}
#page-supplements .supplement-toolbar-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-left:auto;min-width:0}
#page-supplements .supplement-toolbar-actions select{min-width:0;max-width:100%;font-size:11px}
#page-supplements #newSupplement{white-space:nowrap;flex-shrink:0}
@media(max-width:780px),(max-width:1024px) and (max-height:500px){#page-supplements .toolbar .tabs{width:100%;overflow:visible}#page-supplements .supplement-toolbar-actions{width:100%;margin-left:0}#page-supplements .supplement-toolbar-actions select{flex:1}}
#page-supplements .mini-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:10px}
#page-supplements .mini-stats .stat-card{min-height:0;padding:9px 12px}
#page-supplements .mini-stats .stat-card>span{font-size:10px;line-height:1.3;display:block}
#page-supplements .mini-stats .stat-card>strong{font-size:19px;line-height:1.3;margin:4px 0 1px}
#page-supplements .mini-stats .stat-card>small{font-size:9px;line-height:1.3;display:block}
#page-supplements .toolbar{margin-top:0;margin-bottom:6px}
#page-supplements .supplement-service-legend{margin:5px 0 8px}
#page-supplements .supplement-sort-note{margin:14px 2px 0;font-size:10px;line-height:1.5}
#page-supplements .payment-verify{background:#edf0e9;color:#65725c;border-color:#d5ddcf}
#page-supplements .supplement-table td:nth-child(13){white-space:nowrap}
.service-tart{--service-bg:#f3debc;--service-border:#ddbd8c;--service-ink:#835c2b}
.supplement-service svg{display:block;width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:780px),(max-width:1024px) and (max-height:500px){
  .contact-selection-actions{align-items:stretch}.contact-selection-actions>span{width:100%}.contact-selection-actions button,.prospect-actions button{flex:1 0 130px}
  .contact-row .contact-check,.contact-row .prospect-check{width:21px;height:21px;left:12px}
  #page-supplements .mini-stats .stat-card{padding:8px}
  #page-supplements .mini-stats .stat-card>strong{font-size:17px}
  #page-supplements .mini-stats .stat-card>span{font-size:9px}
  #page-supplements .mini-stats .stat-card>small{font-size:8px}
  #page-supplements .supplement-table td[data-label="Paiement presta"]{grid-column:1/-1}
}

/* Tous : les prochains séjours complètent le même module que l’occupation. */
#page-overview .dashboard-grid.dashboard-global{grid-template-areas:"occupancy attention" "occupancy payments";align-items:start}
#page-overview .dashboard-global>.occupancy{grid-area:occupancy}
#page-overview .dashboard-global>.attention{grid-area:attention}
#page-overview .dashboard-global>.revenue{grid-area:payments}
#page-overview .occupancy>.arrivals{border:0;border-top:1px solid var(--line);border-radius:0;box-shadow:none;padding:16px 0 0;margin-top:18px;min-height:0;background:transparent}
#page-overview .occupancy>.arrivals .booking-row:last-child{border-bottom:0}
.reservation-editor .contact-form-grid select{display:block;width:100%;margin-top:5px;padding:10px;border:1px solid #d7dfd0;border-radius:7px;background:white;color:#344039;font:inherit;font-size:13px}
.reservation-editor input[readonly]{background:#f3f5f1;color:#64705f}
.reservation-table-row{cursor:pointer}.reservation-table-row:hover{background:var(--scope-soft,#edf4ef)}
.reservation-table-row:focus-visible,.booking-list .booking-row:focus-visible{outline:2px solid var(--scope-main,#285442);outline-offset:-2px}
.reservation-edit-button{font-size:10px;padding:7px 9px;white-space:nowrap}
.booking-list button.booking-row{width:100%;text-align:left;border-width:0 0 1px;border-style:solid;border-color:var(--line);background:transparent;font:inherit;color:inherit;cursor:pointer}
.booking-list button.booking-row:hover{background:var(--scope-soft,#edf4ef)}
@media(max-width:520px){.reservation-editor .contact-form-grid select,.reservation-editor .contact-form-grid input{font-size:16px}.reservation-editor .contact-actions{align-items:stretch;flex-direction:column}.reservation-editor .contact-actions button{min-height:40px}.booking-list button.booking-row{flex-wrap:wrap;gap:8px}.reservation-editor .contact-full{grid-column:auto}}
@media(max-width:780px),(max-width:1024px) and (max-height:500px){#page-overview .dashboard-grid.dashboard-global{grid-template-areas:"occupancy" "attention" "payments"}}

/* Accès logo et présentation mobile de la liste des réservations. */
.brand-home{color:inherit;text-decoration:none;border-radius:10px;min-width:0}
.brand-home:hover .brand-mark,.brand-home:focus-visible .brand-mark{background:linear-gradient(140deg,#102c21 0%,#1c4945 48%,#386674 100%)}
.brand-home:focus-visible{outline:2px solid #244a38;outline-offset:3px}
.brand-copy{min-width:0}
.analytics-month-control{display:flex;align-items:center;gap:7px;font-size:11px;color:#69756b}
.analytics-month-control input{min-width:0;max-width:180px;padding:9px 10px;border:1px solid #e3e8df;border-radius:8px;background:#fffefa;color:var(--scope-dark,#193a2d);font:inherit}
.analytics-year-control{display:flex;align-items:center;gap:7px;font-size:11px;color:#69756b}
.analytics-year-control input{width:95px;min-width:0;padding:9px 10px;border:1px solid #e3e8df;border-radius:8px;background:#fffefa;color:var(--scope-dark,#193a2d);font:inherit}
.analytics-range-form{display:flex;align-items:flex-end;flex-wrap:wrap;gap:12px;margin:0 0 16px;padding:12px 15px;background:var(--scope-soft,#e8f0ea);border:1px solid #e3e8df;border-radius:12px}
.analytics-range-form fieldset{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-width:0;flex:1;max-width:480px;margin:0;border:0;padding:0}
.analytics-range-form legend{font-size:11px;font-weight:700;color:var(--scope-dark,#193a2d);padding:0;margin-bottom:8px}
.analytics-range-form label{display:grid;gap:5px;min-width:0;font-size:10px;color:#546858}
.analytics-range-form input{width:100%;min-width:0;box-sizing:border-box;padding:9px 10px;border:1px solid #dae2d6;border-radius:8px;background:#fffefa;color:var(--scope-dark,#193a2d);font:inherit;font-size:12px}
.analytics-range-form button{flex:0 0 auto;white-space:nowrap}
.analytics-range-form #analyticsRangeStatus{width:100%;font-size:11px;line-height:1.5;color:#5c705f;margin:0}
.analytics-range-form #analyticsRangeStatus:empty{display:none}
.analytics-monthly-year{display:flex;align-items:center;gap:8px;font-size:11px;color:#617664;margin-top:12px}
.analytics-monthly-year input{width:90px;padding:6px 8px;border:1px solid #dae2d6;border-radius:7px;background:#fffefa;color:#244a38;font:inherit}
.analytics-clients-table .analytics-partial-month{display:block;font-weight:400;font-size:9px;color:#74826e;line-height:1.5;margin-top:4px}
@media(max-width:520px){.analytics-range-form{padding:11px;gap:10px}.analytics-range-form fieldset{flex-basis:100%;max-width:none}.analytics-range-form button{width:100%}.analytics-year-control{width:100%}.analytics-year-control input{flex:1}}
.dashboard-performance{margin:20px 0 24px}
.performance-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.performance-heading h2,.performance-heading h3{font:700 16px Manrope,sans-serif;margin:0;color:var(--scope-dark,#193a2d)}
.performance-heading p{margin:5px 0 0;font-size:11px;line-height:1.5}
.performance-scope{font-size:10px;color:var(--scope-main,#244a38);background:var(--scope-soft,#e8f0ea);padding:7px 10px;border-radius:8px;text-align:right}
.performance-stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.performance-stat{min-width:0;min-height:0!important;padding:14px}
.performance-stat .stat-top>span:first-child{font-size:11px;line-height:1.45}
.performance-stat .stat-icon{background:var(--scope-soft,#e8f0ea);color:var(--scope-main,#244a38)}
.performance-stat .stat-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.performance-stat>strong{display:block;font-size:23px;line-height:1.3;color:var(--scope-main,#244a38);margin:12px 0 6px;overflow-wrap:anywhere}
.performance-stat>small{display:block;font-size:10px;color:#7a8278;line-height:1.5}
.performance-insights{margin:10px 0 20px;border:1px solid #e3e8df;border-radius:12px;background:#fffefa;padding:13px 16px}
.performance-insights dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0}
.company-metric{min-width:0}
.company-metric dt{font-size:10px;color:#68766d;line-height:1.5}
.company-metric dd{margin:4px 0 0;font-weight:700;color:#283d30;font-size:18px;line-height:1.4;overflow-wrap:anywhere}
.company-metric small{display:block;font-size:9px;color:#818a80;line-height:1.5;margin-top:3px}
.company-metrics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.company-metrics-card{border:1px solid #e3e8df;border-radius:14px;background:#fffefa;overflow:hidden;min-width:0}
.company-metrics-heading{display:flex;align-items:center;gap:12px;padding:15px 17px;border-bottom:1px solid #e5e9df}
.company-metrics-cabanes .company-metrics-heading{background:linear-gradient(110deg,#fff0c7,#e2f0f9)}
.company-metrics-songe .company-metrics-heading{background:#e8f1df}
.company-metrics-icon{flex:0 0 auto;font-size:20px}
.company-metrics-heading>div{min-width:0}
.company-metrics-heading h4{font:800 13px Manrope,sans-serif;color:#244a38;margin:0;overflow-wrap:anywhere}
.company-metrics-heading p{font-size:10px;color:#68766d;line-height:1.5;margin:5px 0 0}
.company-metrics-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 12px;margin:0;padding:18px}
.analytics-monthly,.analytics-definitions{margin-top:12px;border:1px solid #e3e8df;border-radius:10px;background:#fffefa;padding:11px 14px}
.analytics-monthly summary,.analytics-definitions summary{cursor:pointer;color:var(--scope-main,#244a38);font-size:11px;font-weight:600;line-height:1.5}
.analytics-monthly-table{overflow-x:auto;margin-top:10px;max-width:100%}
.analytics-clients-table{width:100%;min-width:420px;border-collapse:collapse;table-layout:fixed}
.analytics-clients-table caption{font-size:10px;text-align:left;color:#758173;line-height:1.5;padding:0 0 10px}
.analytics-clients-table th,.analytics-clients-table td{font-size:11px;padding:9px 10px;line-height:1.5;overflow-wrap:anywhere}
.analytics-clients-table th{color:#546a58;letter-spacing:0;background:#f3f5ef}
.analytics-clients-table td{text-align:center;color:#2b4233}
.analytics-selected-month th,.analytics-selected-month td{background:var(--scope-soft,#e8f0ea);font-weight:700}
.analytics-month-button{border:0;background:transparent;padding:2px 0;color:var(--scope-main,#244a38);font:inherit;text-align:left}
.analytics-month-button:hover{text-decoration:underline}
.analytics-definitions ul{padding-left:18px;margin:12px 0 0}
.analytics-definitions li{font-size:11px;line-height:1.7;color:#758173;margin-bottom:7px}
@media(max-width:1180px){.performance-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.company-metrics-values{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:780px),(max-width:1024px) and (max-height:500px){.company-metrics-grid{grid-template-columns:minmax(0,1fr)}.performance-heading{align-items:flex-start;flex-wrap:wrap}.performance-scope{text-align:left}.analytics-month-control{flex-wrap:wrap}.heading-tools{gap:8px}.analytics-month-control input{max-width:160px}}
@media(max-width:520px){.performance-stats-grid{gap:8px}.performance-stat{padding:11px}.performance-stat>strong{font-size:20px}.performance-stat .stat-icon{width:25px;height:25px;flex-shrink:0}.performance-insights{padding:12px}.performance-insights dl{grid-template-columns:1fr;gap:10px}.company-metrics-values{padding:14px;gap:14px 10px}.company-metrics-heading{padding:13px}.company-metric dd{font-size:17px}.analytics-month-control{width:100%}.analytics-month-control input{max-width:100%;flex:1}}
#page-reservations .toolbar{min-width:0;width:100%}
#page-reservations .tabs{min-width:0;flex-wrap:wrap}
#page-reservations .filters{min-width:0}
#page-reservations .filters select{min-width:0;max-width:100%}
.mail-settings-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid var(--line)}
.mail-settings-row>div{display:grid;gap:4px;min-width:0}
.mail-settings-row b{font-size:12px}
.mail-settings-row small,.mail-settings-row span{font-size:10px;color:#85848c;overflow-wrap:anywhere}
.mail-settings-row span[data-configured="true"]{color:#43825e}
.mail-connection-editor{width:min(640px,calc(100% - 24px))}
.mail-connection-editor .contact-actions{flex-wrap:wrap}
#mailConnectionState{font-size:12px;line-height:1.5}
@media(max-width:780px),(max-width:1024px) and (max-height:500px){
 #page-reservations .toolbar{align-items:stretch}
 #page-reservations .tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;overflow:visible}
 #page-reservations .tab{white-space:normal;text-align:center;min-width:0}
 #page-reservations .filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
 #page-reservations .filters input{grid-column:1/-1;width:100%;min-width:0}
 #page-reservations .filters select{width:100%;font-size:13px;padding:10px 8px}
 .mail-settings-row{align-items:flex-start}
 .mail-settings-row button{flex:0 0 auto}
}
@media(max-width:520px){
 #page-reservations .filters{grid-template-columns:1fr}
 #page-reservations .filters input{grid-column:auto}
 #page-reservations .filters select{font-size:16px}
 .mail-connection-editor input{font-size:16px}
 .mail-connection-editor .contact-actions{flex-direction:column;align-items:stretch}
 .mail-connection-editor .contact-actions button{min-height:42px}
}

/* Private connections: readable cards and compact, responsive security controls. */
.connections-intro{margin:18px 0 14px}.connections-intro h2{margin:0 0 8px;font-size:20px}.connections-intro p{line-height:1.6;max-width:850px}
.connections-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}.connection-card{padding:20px;min-width:0}.connection-card-title{display:flex;justify-content:space-between;gap:10px;align-items:center}.connection-card h2{font-size:15px}.connection-card .connection-description{font-size:12px;color:var(--ink);line-height:1.6;overflow-wrap:anywhere;min-height:42px}.connection-card .contact-actions{gap:8px;flex-wrap:wrap}.connection-card .contact-actions button{font-size:12px;padding:9px 12px}.connection-check-message{font-size:12px!important;line-height:1.5;color:#52665b!important;margin:12px 0 0!important}.connection-remove{color:#8e4343}.integration-editor{width:min(650px,calc(100vw - 28px))}.integration-editor fieldset{border:0;margin:0;padding:0;min-width:0}.integration-editor input{max-width:100%}.integration-editor fieldset:disabled input{background:#f1f2ef;color:#7d837e}.security-error{color:#923f3f;line-height:1.5}.security-fields{display:grid;gap:14px}.security-fields label{display:grid;gap:7px;font-size:13px}.security-fields input{width:100%;min-width:0;padding:11px 12px;border:1px solid #dce4dc;border-radius:8px;background:#fff;font:inherit}.security-fields p{line-height:1.6}.security-dialog{width:min(530px,calc(100vw - 28px))}.security-fields input[name=enrollment]{font-family:monospace;font-size:12px;letter-spacing:1px}.hosted-pilot-note{padding:12px 16px;border:1px solid #d9e3d8;border-radius:10px;background:#f1f6ed;color:#405f47;font-size:12px;line-height:1.6;margin:0 0 18px}.hosted-accounts-panel{padding:20px;margin-top:20px}.hosted-accounts-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0}.hosted-account-row{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid #e7ece7;border-radius:9px;padding:12px}.hosted-account-row strong,.hosted-account-row small{display:block}.hosted-account-row small{font-size:11px;line-height:1.5;margin-top:4px;color:#6c796f}.hosted-accounts-panel .muted{line-height:1.6}.security-audit{margin-top:20px;border-top:1px solid #e7ece7;padding-top:16px}.security-audit summary{cursor:pointer;font-weight:600;margin-bottom:12px}.security-audit ul{padding-left:18px;font-size:12px;line-height:1.8;overflow-wrap:anywhere}#logoutError{color:#923f3f;font-size:11px;line-height:1.4}
@media(max-width:1180px){.connections-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.connections-grid,.hosted-accounts-list{grid-template-columns:1fr}.connection-card{padding:16px}.hosted-accounts-panel .panel-head{align-items:flex-start;flex-wrap:wrap;gap:12px}.hosted-account-row{flex-wrap:wrap}.integration-editor .contact-form-grid{grid-template-columns:1fr}.integration-editor .contact-actions button{flex:1;min-width:120px}}

/* Mobile review: avoid the 800px login minimum and keep controls usable by touch. */
.login-mobile-brand{display:none}
@media(max-width:900px),(max-width:1024px) and (max-height:500px){
 .logged-out .login-screen{grid-template-columns:minmax(0,1fr)}
 .login-art{display:none}
 .login-side{min-width:0;min-height:100dvh;padding:32px 24px 60px}
 .login-mobile-brand{display:flex;align-items:center;gap:12px;min-width:0;margin-bottom:26px;color:#244a38}
 .login-mobile-mark{display:grid;place-items:center;flex:0 0 56px;width:56px;height:56px;border-radius:17px;background:linear-gradient(140deg,#244d3b 0%,#34716f 48%,#6f9eae 100%);box-shadow:0 5px 14px #244b3820;color:#fff;font:800 20px Manrope,sans-serif;letter-spacing:-1px}
 .login-mobile-wordmark{min-width:0}
 .login-mobile-wordmark strong{display:block;font:500 clamp(22px,5.8vw,27px) Manrope,sans-serif;line-height:1.15;letter-spacing:-.7px;white-space:nowrap}
 .login-mobile-wordmark strong b{font-weight:800}
 .login-mobile-wordmark strong span{font-weight:500}
 .login-mobile-wordmark small{display:block;margin-top:6px;font-size:9px;font-weight:700;letter-spacing:1.5px;color:#69786c}
 .login-form-wrap input,.login-form-wrap select{font-size:16px;min-height:44px}
 .login-form-wrap label{font-size:13px}
 .login-submit{min-height:44px;font-size:14px}
}
@media(max-width:780px),(max-width:1024px) and (max-height:500px){
 .sidebar .brand-copy{display:none}
 .sidebar .brand-mark{flex:0 0 38px}
 .sidebar{height:calc(100dvh - 68px - env(safe-area-inset-bottom,0px))}
 .sidebar .nav-item{min-height:44px}
 .sidebar-bottom{height:calc(68px + env(safe-area-inset-bottom,0px));padding-bottom:calc(5px + env(safe-area-inset-bottom,0px))}
 .content{padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))}
 .property-switch select{min-height:38px;font-size:16px}
 .top-actions .primary,.top-actions .notification-button{min-height:44px}
 .contact-form-grid select{display:block;box-sizing:border-box;width:100%;min-width:0;margin-top:5px;padding:10px;border:1px solid #d7dfd0;border-radius:7px;background:#fff;color:#344039;font:inherit;font-size:16px}
 .form-grid input,.form-grid select,.contact-form-grid input,.contact-form-grid textarea,.security-fields input{min-width:0;max-width:100%;font-size:16px}
 .contact-form-grid input:not([type=checkbox]):not([type=radio]),.contact-form-grid select,.form-grid input,.form-grid select{min-height:44px}
 .contact-detail .contact-actions button,.booking-dialog .modal-submit{min-height:44px}
 .contact-detail-close{min-width:44px;min-height:44px}
 .contact-actions{max-width:100%}
}
