:root{--bg:#06111d;--panel:#0d2031;--panel2:#10283b;--line:#1a3951;--text:#f5f8fc;--muted:#94a8ba;--blue:#168cff;--teal:#26c596;--orange:#f0a31d;--purple:#7369ff;--danger:#ff5d69;--shadow:0 12px 30px rgba(0,0,0,.22)}
:root.light{--bg:#eef4f9;--panel:#fff;--panel2:#f7fbff;--line:#dbe7f0;--text:#102235;--muted:#60758a;--shadow:0 12px 30px rgba(24,52,77,.09)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input{font:inherit}.app-shell{display:grid;grid-template-columns:210px 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;padding:18px 14px;background:linear-gradient(180deg,#071625,#0a2032);border-right:1px solid var(--line);display:flex;flex-direction:column}.brand{display:flex;gap:10px;align-items:center;margin:4px 6px 20px}.brand-mark{font-size:26px;color:var(--blue)}.brand strong{display:block;font-size:22px}.brand span,.version span,.profile span{display:block;color:var(--muted);font-size:11px}.sidebar nav{display:grid;gap:6px}.nav-btn{border:0;background:transparent;color:#b8c6d4;text-align:left;padding:11px 12px;border-radius:9px;cursor:pointer}.nav-btn.active,.nav-btn:hover{background:#123f6d;color:#fff}.version{margin-top:auto;color:var(--muted);font-size:12px;padding:10px}.main{min-width:0}.topbar{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(12px);position:sticky;top:0;z-index:10}.search{display:flex;align-items:center;gap:8px;background:var(--panel);border:1px solid var(--line);border-radius:9px;padding:0 11px;width:min(360px,45vw)}.search input{width:100%;height:38px;background:transparent;border:0;outline:0;color:var(--text)}.top-actions{display:flex;align-items:center;gap:10px}.icon-btn{position:relative;background:var(--panel);border:1px solid var(--line);color:var(--text);width:38px;height:38px;border-radius:50%;cursor:pointer}.badge{position:absolute;top:-4px;right:-4px;background:var(--danger);color:#fff;font-size:10px;border-radius:10px;padding:2px 5px}.profile{display:flex;align-items:center;gap:8px}.avatar,.initial{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#2864c7,#6f71f4);font-weight:700}.view{padding:24px}.hero{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:18px}.hero h1{margin:0 0 5px;font-size:29px}.hero p{margin:0;color:var(--muted)}.date-box{color:var(--muted);text-align:right}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}.card{background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow)}.kpi{padding:14px}.kpi .row{display:flex;justify-content:space-between;align-items:center}.kpi strong{font-size:25px}.kpi small{color:var(--muted)}.kpi-icon{width:42px;height:42px;border-radius:10px;display:grid;place-items:center;background:#173a55}.accent-blue{color:var(--blue)}.accent-teal{color:var(--teal)}.accent-orange{color:var(--orange)}.accent-purple{color:var(--purple)}.grid-main{display:grid;grid-template-columns:1.55fr .9fr;gap:14px}.section-card{padding:14px}.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.section-head h3{margin:0;font-size:15px}.link-btn{background:none;border:0;color:var(--blue);cursor:pointer}.calendar{display:grid;grid-template-columns:repeat(7,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.day{min-height:62px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:7px;font-size:12px;position:relative}.day.muted{color:#5f7387}.booking-pill{display:block;margin-top:7px;padding:5px 7px;border-radius:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#fff;font-size:11px}.list{display:grid}.booking-row{display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.booking-row:last-child{border:0}.booking-row p{margin:1px 0;color:var(--muted);font-size:12px}.status{font-size:11px}.status.ok{color:var(--teal)}.status.warn{color:var(--orange)}.status.info{color:var(--blue)}.bottom-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:14px}.mini-card{padding:14px;min-height:105px}.mini-card h4{margin:0 0 12px}.mini-big{font-size:22px;font-weight:700}.analytics-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:14px;margin-top:14px}.chart{height:150px;display:flex;align-items:flex-end;gap:7px;padding:10px 0;border-bottom:1px solid var(--line)}.bar{flex:1;background:linear-gradient(180deg,#2f95ff,#145db1);border-radius:4px 4px 0 0}.donut{width:122px;height:122px;border-radius:50%;background:conic-gradient(#ff6464 0 44%,#278fff 44% 72%,#7369ff 72% 88%,#27c596 88% 100%);display:grid;place-items:center;margin:auto}.donut:after{content:"32";width:70px;height:70px;border-radius:50%;background:var(--panel);display:grid;place-items:center;font-weight:700;font-size:22px}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:11px;border-bottom:1px solid var(--line);font-size:13px}.table th{color:var(--muted);font-weight:600}.mobile-nav,.fab{display:none}
@media(max-width:820px){.app-shell{display:block}.sidebar{display:none}.topbar{height:62px;padding:0 14px}.search{display:none}.profile div:not(.avatar){display:none}.view{padding:16px 14px 92px}.hero h1{font-size:24px}.date-box{display:none}.kpis{grid-template-columns:repeat(4,1fr);gap:8px}.kpi{padding:10px;text-align:center}.kpi .row{display:block}.kpi-icon{margin:0 auto 8px;width:34px;height:34px}.kpi strong{font-size:20px}.kpi small{font-size:10px}.grid-main{grid-template-columns:1fr}.grid-main>.section-card:first-child{display:none}.bottom-grid,.analytics-grid{grid-template-columns:1fr}.mobile-nav{position:fixed;z-index:20;left:0;right:0;bottom:0;height:70px;background:#081827;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(5,1fr);padding-bottom:env(safe-area-inset-bottom)}.mobile-nav button{border:0;background:transparent;color:#97aabe;font-size:10px;display:grid;place-items:center;gap:2px}.mobile-nav button.active{color:var(--blue)}.fab{display:grid;place-items:center;position:fixed;z-index:25;bottom:34px;left:50%;transform:translateX(-50%);width:52px;height:52px;border-radius:50%;border:0;background:var(--blue);color:#fff;font-size:30px;box-shadow:var(--shadow)}.booking-row{grid-template-columns:42px 1fr auto}.section-card{padding:12px}.hide-mobile{display:none}}
.primary,.secondary,.danger-btn{border:0;border-radius:9px;padding:10px 14px;font-weight:700;cursor:pointer}.primary{background:var(--blue);color:#fff}.secondary{background:var(--panel2);border:1px solid var(--line);color:var(--text)}.danger-btn{background:#4a1d27;color:#ff8992}.week{display:grid;grid-template-columns:repeat(7,1fr);color:var(--muted);font-size:11px;text-align:center;margin-bottom:5px}.clickable{cursor:pointer}.clickable:hover{background:var(--panel2)}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.field{width:100%;background:var(--panel2);border:1px solid var(--line);border-radius:8px;padding:10px;color:var(--text);outline:none}.toolbar .field{max-width:360px}.table td small{display:block;color:var(--muted);margin-top:3px}.table-wrap{overflow:auto}.property-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.property-card{padding:18px;display:flex;justify-content:space-between;min-height:145px}.property-card h3{margin:18px 0 4px}.property-card p,.property-card small{color:var(--muted)}.add-card{min-height:145px;color:var(--blue);display:grid;place-items:center;align-content:center;gap:8px;font-size:28px;cursor:pointer}.add-card b{font-size:14px}.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:100;display:grid;place-items:center;padding:18px}.modal{width:min(680px,100%);max-height:92vh;overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:20px;box-shadow:0 30px 80px rgba(0,0,0,.45)}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}.modal-head h2{margin:0}.modal-head p{margin:5px 0 0;color:var(--muted)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid label{font-size:12px;color:var(--muted);display:grid;gap:6px}.form-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr auto auto;gap:8px;margin-top:8px}.check{display:flex!important;align-items:center!important;grid-template-columns:auto 1fr!important}.empty{color:var(--muted);text-align:center;padding:30px}.day .booking-pill{background:#176fc2}
@media(max-width:820px){.hero .primary{padding:9px 10px;font-size:12px}.property-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-actions{grid-template-columns:1fr 1fr}.form-actions span{display:none}.modal{padding:16px}.table{min-width:720px}.kpis{grid-template-columns:1fr 1fr}.grid-main>.section-card:first-child{display:block}.calendar .day{min-height:52px;padding:4px}.booking-pill{font-size:8px;padding:3px}.week{font-size:9px}}
.metric-row{margin:18px 0}.metric-row small{color:var(--muted)}.progress{height:10px;background:var(--line);border-radius:9px;overflow:hidden;margin:8px 0}.progress i{display:block;height:100%;background:var(--blue);border-radius:9px}.settings-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:18px}

/* Alpha 0.4 */
.filter-grid{display:grid;grid-template-columns:2fr repeat(3,1fr) auto;gap:8px;margin-bottom:14px}.conflict-box{grid-column:1/-1;padding:10px 12px;border:1px solid #a8661b;background:#3a2915;color:#ffd38a;border-radius:8px}.detail-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:18px}.detail-strip>div{background:var(--panel2);border:1px solid var(--line);border-radius:9px;padding:12px}.detail-strip small{display:block;color:var(--muted);margin-bottom:4px}.detail-strip b{font-size:17px}.detail-grid p{margin:0;background:var(--panel2);border-radius:8px;padding:10px}.row{display:flex;justify-content:space-between;align-items:center;gap:10px}@media(max-width:1050px){.filter-grid{grid-template-columns:1fr 1fr 1fr}.filter-grid input{grid-column:1/-1}}@media(max-width:820px){.filter-grid{grid-template-columns:1fr 1fr}.filter-grid input{grid-column:1/-1}.detail-strip{grid-template-columns:1fr 1fr}}
.lang-switch{display:flex;gap:4px;padding:3px;border:1px solid var(--line);border-radius:10px;background:var(--card)}.lang-switch button{border:0;background:transparent;color:var(--muted);padding:6px 8px;border-radius:7px;cursor:pointer;font-weight:700}.lang-switch button.active{background:var(--accent);color:white}@media(max-width:700px){.lang-switch{position:fixed;top:10px;right:10px;z-index:20}.profile{display:none}}
/* Alpha 0.6 Properties */
.property-card-rich{display:block;min-height:270px}.property-card-main{width:100%}.property-type{font-size:11px;color:var(--muted);border:1px solid var(--line);padding:3px 7px;border-radius:20px}.property-meta{display:grid;gap:5px;margin:12px 0;color:var(--muted);font-size:11px}.property-meta span{display:flex;justify-content:space-between;gap:10px}.property-meta b{color:var(--text)}.property-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:12px 0}.property-stats span{background:var(--panel2);border-radius:8px;padding:8px;text-align:center}.property-stats b,.property-stats small{display:block}.property-stats small{font-size:9px;color:var(--muted);margin-top:2px}.property-fin{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:10px;font-size:11px;color:var(--muted)}.property-fin b{display:block;color:var(--text);margin-top:2px}.property-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.property-tabs{display:flex;gap:7px;flex-wrap:wrap;margin:-4px 0 16px}.property-tabs span{background:var(--panel2);border:1px solid var(--line);padding:6px 10px;border-radius:20px;font-size:11px}.property-ops{margin-top:18px}.ops-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.ops-grid>div{background:var(--panel2);border:1px solid var(--line);padding:10px;border-radius:8px}.ops-grid b,.ops-grid small{display:block}.ops-grid small{color:var(--muted);font-size:10px;margin-top:4px}@media(max-width:1100px){.property-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:820px){.property-grid{grid-template-columns:1fr}.ops-grid{grid-template-columns:1fr 1fr}}
.op-tile{background:var(--panel2);border:1px solid var(--line);padding:12px;border-radius:9px;color:var(--text);text-align:left;cursor:pointer}.op-tile:hover{border-color:var(--blue)}.op-tile b,.op-tile small{display:block}.op-tile small{color:var(--muted);font-size:10px;margin-top:5px}.op-list{display:grid;gap:8px}.op-row{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--panel2);border:1px solid var(--line);border-radius:9px;padding:11px}.op-row small{display:block;color:var(--muted);margin-top:4px}.row-actions{display:flex;gap:8px}.danger-text{color:#ff8992}@media(max-width:620px){.op-row{align-items:flex-start;flex-direction:column}.row-actions{width:100%;justify-content:flex-end}}

/* v1.1 global search */
.search{position:relative}.global-search-results{position:absolute;z-index:80;top:calc(100% + 10px);left:0;width:min(620px,80vw);max-height:65vh;overflow:auto;padding:8px;box-shadow:0 24px 60px rgba(0,0,0,.32)}
.global-search-row{width:100%;display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;text-align:left;background:transparent;border:0;color:inherit;padding:11px;border-radius:10px;cursor:pointer}.global-search-row:hover{background:rgba(255,255,255,.06)}.global-search-row span:nth-child(2){min-width:0}.global-search-row b,.global-search-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.global-search-row small{margin-top:3px;color:var(--muted)}
@media(max-width:720px){.global-search-results{position:fixed;top:64px;left:10px;right:10px;width:auto;max-height:70vh}}
/* v1.2 analytics */
.analytics-filters{margin-bottom:14px}.analytics-filters .filter-grid{grid-template-columns:repeat(3,minmax(150px,1fr)) auto;margin:0}@media(max-width:820px){.analytics-filters .filter-grid{grid-template-columns:1fr 1fr}.analytics-filters .filter-grid .secondary{grid-column:1/-1}}

/* v1.3 calendar workspace */
.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px;flex-wrap:wrap}.calendar-nav,.calendar-filters{display:flex;align-items:center;gap:8px}.calendar-nav h3{min-width:190px;text-align:center;margin:0}.compact-btn{padding:8px 11px}.compact-field{width:auto;min-width:150px;padding:8px 10px}.day{cursor:pointer}.day.today-cell{outline:2px solid var(--accent,#4ea7ff);outline-offset:-2px}.calendar-legend{display:flex;justify-content:space-between;gap:12px;margin-top:12px;font-size:12px;opacity:.7}.booking-pill{cursor:pointer}
@media(max-width:760px){.calendar-toolbar,.calendar-nav,.calendar-filters{width:100%}.calendar-nav{justify-content:space-between}.calendar-nav h3{min-width:0;font-size:16px}.calendar-filters{display:grid;grid-template-columns:1fr 1fr}.compact-field{min-width:0;width:100%}.calendar-legend{flex-direction:column}.day{min-height:78px}.booking-pill{font-size:10px}}
/* v4.0 Legacy parity */
.property-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:7px;vertical-align:middle;box-shadow:0 0 0 2px rgba(255,255,255,.08)}
.property-color-card{border-left:4px solid var(--prop-color)!important}.property-color-chip{width:12px;height:12px;border-radius:50%;display:inline-block;box-shadow:0 0 16px var(--prop-color)}
.booking-pill{border-left:3px solid var(--prop-color,#4aa3ff)!important;background:color-mix(in srgb,var(--prop-color,#4aa3ff) 18%,transparent)!important}
.parity-filter{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}.date-filter-label{font-size:.75rem;color:var(--text2);display:flex;gap:6px;align-items:center}.date-filter-label .field{min-width:135px}
.bp-row{background:rgba(139,92,246,.08)!important}.bp-row:hover{background:rgba(139,92,246,.14)!important}.bp-badge{display:inline-flex;align-items:center;padding:2px 7px;border-radius:999px;background:rgba(139,92,246,.18);border:1px solid rgba(139,92,246,.35);color:#c4b5fd;font-size:.68rem;font-weight:800}.bp-panel{border-color:rgba(139,92,246,.35)!important}.bp-state{font-weight:800;margin-bottom:14px;padding:12px;border-radius:10px}.bp-state.on{background:rgba(16,185,129,.1)}.bp-state.off{background:rgba(239,68,68,.1)}
.checkbox-line{display:flex!important;align-items:center;gap:10px}.checkbox-line input{width:auto}
.property-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:7px;vertical-align:middle}.bp-badge{font-size:10px;font-weight:800;padding:3px 6px;border:1px solid currentColor;border-radius:999px}.parity-filter{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}.date-filter-label{font-size:11px;color:var(--muted);display:flex;flex-direction:column;gap:5px}

/* v4.2 — Mitos visual system */
:root{
 --bg:#071019;--panel:#0d1823;--panel2:#111f2d;--line:#203142;--text:#f4f7fb;--muted:#8fa2b5;
 --blue:#4b9cff;--teal:#36d1ad;--orange:#ffb454;--purple:#9b87f5;--danger:#ff6b78;
 --accent:#4b9cff;--card:var(--panel);--text2:var(--muted);
 --shadow:0 14px 34px rgba(0,0,0,.22);--shadow-soft:0 8px 24px rgba(0,0,0,.14)
}
:root.light{--bg:#f3f6f9;--panel:#fff;--panel2:#f7f9fb;--line:#dce4eb;--text:#142230;--muted:#6e8192;--accent:#267ee8;--card:#fff;--text2:#6e8192;--shadow:0 12px 30px rgba(28,48,67,.08);--shadow-soft:0 6px 18px rgba(28,48,67,.06)}
html{background:var(--bg)} body{letter-spacing:-.005em;background:radial-gradient(circle at 75% -10%,rgba(75,156,255,.08),transparent 28%),var(--bg)}
.app-shell{grid-template-columns:238px minmax(0,1fr)}
.sidebar{padding:22px 16px;background:linear-gradient(180deg,#091522 0%,#08131e 55%,#07111a 100%);border-right:1px solid rgba(143,162,181,.13)}
.brand{gap:12px;margin:2px 7px 25px}.brand-mark{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;font-size:0;background:linear-gradient(145deg,#4b9cff,#6c63e8);box-shadow:0 8px 22px rgba(75,156,255,.28)}
.brand-mark:after{content:'M';font-size:20px;color:#fff;font-weight:850;letter-spacing:-2px}.brand strong{font-size:20px;letter-spacing:-.5px}.brand span{margin-top:2px;font-size:10px;letter-spacing:.06em;text-transform:uppercase}
.sidebar nav{gap:3px}.nav-btn{position:relative;padding:10px 12px;border-radius:10px;font-size:13px;font-weight:560;transition:.16s ease;color:#9fb0c0}.nav-btn:hover{background:rgba(255,255,255,.045);color:#eaf2fa;transform:translateX(1px)}.nav-btn.active{background:linear-gradient(90deg,rgba(75,156,255,.18),rgba(75,156,255,.07));color:#fff;box-shadow:inset 0 0 0 1px rgba(75,156,255,.12)}.nav-btn.active:before{content:'';position:absolute;left:-16px;top:9px;bottom:9px;width:3px;border-radius:0 4px 4px 0;background:var(--blue)}
.version{font-size:11px;line-height:1.55;border-top:1px solid rgba(255,255,255,.06);padding:15px 8px 4px}
.topbar{height:68px;padding:0 28px;border-bottom:1px solid rgba(143,162,181,.12);background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:blur(20px) saturate(130%)}
.search{height:40px;width:min(440px,46vw);border-radius:12px;padding:0 13px;background:rgba(255,255,255,.035);border-color:rgba(143,162,181,.16);box-shadow:none}.search:focus-within{border-color:rgba(75,156,255,.6);box-shadow:0 0 0 3px rgba(75,156,255,.08)}.search input{font-size:13px}.search input::placeholder{color:#71869a}
.icon-btn{width:36px;height:36px;border-radius:10px;background:rgba(255,255,255,.035);border-color:rgba(143,162,181,.15)}.icon-btn:hover{background:var(--panel2);border-color:var(--line)}.badge{border:2px solid var(--bg);top:-6px;right:-6px}
.lang-switch{border-radius:10px;background:rgba(255,255,255,.025);border-color:rgba(143,162,181,.14)}.lang-switch button{font-size:10px;padding:5px 7px}.lang-switch button.active{background:rgba(75,156,255,.18);color:#cfe5ff}
.avatar,.initial{background:linear-gradient(145deg,#377dd4,#7066df);box-shadow:0 5px 15px rgba(55,125,212,.2)}.profile b{font-size:12px}.profile span{font-size:10px}
.view{padding:30px 30px 44px;max-width:1600px;margin:0 auto}.hero{align-items:center;margin-bottom:24px}.hero h1{font-size:28px;letter-spacing:-.8px;font-weight:760}.hero p{font-size:13px;line-height:1.5}.date-box{font-size:12px}
.card{border-radius:14px;border:1px solid rgba(143,162,181,.13);background:linear-gradient(180deg,color-mix(in srgb,var(--panel) 97%,white 3%),var(--panel));box-shadow:var(--shadow-soft)}.card:hover{border-color:rgba(143,162,181,.19)}
.kpis{gap:14px;margin-bottom:16px}.kpi{padding:17px 18px;min-height:104px}.kpi strong{font-size:27px;letter-spacing:-.8px}.kpi small{font-size:11px}.kpi-icon{width:40px;height:40px;border-radius:11px;background:rgba(75,156,255,.09);border:1px solid rgba(75,156,255,.1)}
.grid-main,.bottom-grid,.analytics-grid{gap:16px}.section-card{padding:18px}.section-head{margin-bottom:15px}.section-head h3{font-size:14px;letter-spacing:-.15px}.link-btn{font-size:12px}
.primary,.secondary,.danger-btn{border-radius:10px;padding:9px 13px;font-size:12px;transition:.15s ease}.primary{background:linear-gradient(180deg,#55a5ff,#3788e8);box-shadow:0 5px 15px rgba(75,156,255,.2)}.primary:hover{filter:brightness(1.07);transform:translateY(-1px)}.secondary{background:rgba(255,255,255,.035);border-color:rgba(143,162,181,.16)}.secondary:hover{background:rgba(255,255,255,.065)}
.field{min-height:39px;border-radius:10px;padding:9px 11px;font-size:12px;background:rgba(255,255,255,.035);border-color:rgba(143,162,181,.15)}.field:focus{border-color:rgba(75,156,255,.65);box-shadow:0 0 0 3px rgba(75,156,255,.08)}
.table-wrap{border-radius:12px;border:1px solid rgba(143,162,181,.11);overflow:auto}.table th,.table td{padding:12px 13px;border-bottom:1px solid rgba(143,162,181,.1)}.table th{font-size:10px;letter-spacing:.055em;text-transform:uppercase;background:rgba(255,255,255,.025);position:sticky;top:0;z-index:1}.table td{font-size:12px}.table tbody tr{transition:.12s}.table tbody tr:hover{background:rgba(75,156,255,.035)}
.property-grid{gap:16px}.property-card{border-radius:15px;overflow:hidden}.property-card-rich{min-height:260px}.property-color-card{border-left:0!important;border-top:3px solid var(--prop-color)!important}.property-card h3{font-size:17px;letter-spacing:-.3px;margin:15px 0 5px}.property-type{background:rgba(255,255,255,.035);padding:4px 8px}.property-meta{font-size:11px;line-height:1.55}.property-stats span{border:1px solid rgba(143,162,181,.09);background:rgba(255,255,255,.025);border-radius:10px}.property-tabs span{background:rgba(255,255,255,.025);font-size:10px}.op-tile{border-radius:11px;background:rgba(255,255,255,.025);transition:.14s}.op-tile:hover{transform:translateY(-1px);background:rgba(75,156,255,.055)}
.calendar{border-color:rgba(143,162,181,.1);border-radius:11px;overflow:hidden}.day{min-height:76px;border-color:rgba(143,162,181,.1);padding:8px}.day:hover{background:rgba(255,255,255,.02)}.day.today-cell{outline:1px solid rgba(75,156,255,.65);outline-offset:-1px;background:rgba(75,156,255,.04)}.booking-pill{border:0!important;border-left:3px solid var(--prop-color,#4aa3ff)!important;border-radius:6px;padding:5px 7px;background:color-mix(in srgb,var(--prop-color,#4aa3ff) 14%,transparent)!important}
.status,.bp-badge{border-radius:999px}.bp-row{background:rgba(155,135,245,.045)!important}.bp-panel{background:linear-gradient(145deg,rgba(155,135,245,.07),var(--panel))}
.modal-backdrop{background:rgba(2,7,12,.76);backdrop-filter:blur(7px)}.modal{border-radius:18px;padding:23px;border-color:rgba(143,162,181,.18);box-shadow:0 35px 100px rgba(0,0,0,.52)}.modal-head h2{font-size:21px;letter-spacing:-.45px}
.empty{padding:42px 20px}.progress{height:7px;background:rgba(143,162,181,.12)}
@media(max-width:1100px){.app-shell{grid-template-columns:210px 1fr}.view{padding:24px}.kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){body{background:var(--bg)}.topbar{height:58px}.view{padding:18px 13px 92px}.hero{margin-bottom:18px}.hero h1{font-size:23px}.kpis{grid-template-columns:1fr 1fr}.kpi{min-height:96px;border-radius:13px}.section-card{padding:14px}.card{border-radius:13px}.mobile-nav{height:66px;background:rgba(7,16,25,.96);backdrop-filter:blur(18px);border-color:rgba(143,162,181,.14)}.mobile-nav button{font-size:9px}.fab{bottom:36px;width:50px;height:50px;background:linear-gradient(145deg,#55a5ff,#377ee8);box-shadow:0 10px 30px rgba(75,156,255,.35)}.property-card-rich{min-height:auto}.modal{border-radius:16px;padding:16px}.calendar .day{min-height:66px}}

/* v4.3 — independent sidebar scroll + compact operational controls */
@media(min-width:821px){
  .app-shell{height:100vh;min-height:0;overflow:hidden}
  .sidebar{position:relative;top:auto;height:100vh;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(143,162,181,.35) transparent}
  .sidebar::-webkit-scrollbar{width:7px}.sidebar::-webkit-scrollbar-track{background:transparent}.sidebar::-webkit-scrollbar-thumb{background:rgba(143,162,181,.28);border-radius:99px}.sidebar::-webkit-scrollbar-thumb:hover{background:rgba(143,162,181,.48)}
  .main{height:100vh;overflow-y:auto;overscroll-behavior:contain}
}
/* Summary cards: compact, readable, no wasted vertical space */
.kpis{gap:10px;margin-bottom:12px}.kpi{min-height:78px;padding:12px 14px;border-radius:12px}.kpi strong{font-size:23px;line-height:1.08}.kpi small{font-size:10.5px;line-height:1.25}.kpi .row{gap:8px}.kpi-icon{width:34px;height:34px;border-radius:9px}
/* Compact filter bar for tabs */
.filter-grid.parity-filter{display:flex;align-items:flex-end;flex-wrap:wrap;gap:8px;padding:0}.parity-filter>.field{width:auto;min-width:130px;max-width:190px;min-height:34px;height:34px;padding:6px 9px;font-size:11.5px;border-radius:8px}.parity-filter>input.field{min-width:205px;flex:1 1 205px;max-width:285px}.parity-filter>.date-filter-label{width:145px;flex:0 0 145px;font-size:10px;gap:3px}.parity-filter>.date-filter-label .field{width:100%;min-width:0;min-height:34px;height:34px;padding:5px 8px;font-size:11px;border-radius:8px}.parity-filter>button{height:34px;padding:6px 10px;font-size:11px;white-space:nowrap;border-radius:8px}.parity-filter+.section-head{margin-top:12px}
@media(max-width:1050px) and (min-width:821px){.parity-filter>.field{max-width:170px}.parity-filter>input.field{max-width:230px}}
@media(max-width:820px){.filter-grid.parity-filter{display:grid;grid-template-columns:1fr 1fr;align-items:end}.parity-filter>.field,.parity-filter>input.field,.parity-filter>.date-filter-label{width:100%;max-width:none;min-width:0;flex:none}.parity-filter>button{width:100%}.kpi{min-height:76px;padding:11px}.kpi strong{font-size:20px}}


/* v4.5 — clean collapsible sidebar */
.sidebar nav{display:block;min-height:0;padding:0 2px 18px}
.nav-group{margin:0 0 8px}
.nav-group-toggle{appearance:none;-webkit-appearance:none;width:100%;min-height:38px;padding:0 11px;border:1px solid transparent;background:transparent;color:#8195a8;display:flex;align-items:center;justify-content:space-between;border-radius:9px;cursor:pointer;font-size:11px;font-weight:750;letter-spacing:.07em;text-transform:uppercase;text-align:left;box-shadow:none;outline:none;transition:background .15s ease,color .15s ease,border-color .15s ease}
.nav-group-toggle:hover{background:rgba(255,255,255,.035);color:#c7d3de}
.nav-group.has-active>.nav-group-toggle{color:#9fc8f1;background:rgba(58,137,214,.06)}
.nav-group-title{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nav-chevron{font-size:18px;font-weight:400;line-height:1;color:#647b90;transform:rotate(90deg);transition:transform .18s ease}
.nav-group.collapsed .nav-chevron{transform:rotate(0deg)}
.nav-group-items{display:grid;gap:2px;padding:3px 0 4px 8px;overflow:hidden;max-height:620px;opacity:1;transition:max-height .2s ease,opacity .14s ease,padding .2s ease}
.nav-group.collapsed .nav-group-items{max-height:0;opacity:0;padding-top:0;padding-bottom:0}
.nav-group .nav-btn{appearance:none;-webkit-appearance:none;width:100%;display:block;min-height:34px;padding:7px 11px;border:0;background:transparent;color:#9eafbf;text-align:left;border-radius:8px;font-size:12.5px;font-weight:560;line-height:1.25;box-shadow:none;outline:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nav-group .nav-btn:hover{background:rgba(255,255,255,.04);color:#edf5fc;transform:none}
.nav-group .nav-btn.active{background:rgba(48,139,230,.14);color:#fff;box-shadow:inset 0 0 0 1px rgba(72,157,240,.13)}
.nav-group .nav-btn.active:before{left:-2px;top:8px;bottom:8px;width:2px}
@media(min-width:821px){.sidebar{padding-left:12px;padding-right:12px}.brand{margin-left:8px;margin-right:8px}.version{padding-left:10px}}


/* v4.6 — dashboard-first navigation + light calendar legibility */
.nav-dashboard{appearance:none;-webkit-appearance:none;width:100%;display:block;min-height:38px;margin:0 0 10px;padding:8px 11px;border:0;background:transparent;color:#b8c6d4;text-align:left;border-radius:9px;font-size:13px;font-weight:680;line-height:1.2;cursor:pointer}
.nav-dashboard:hover{background:rgba(255,255,255,.04);color:#fff}
.nav-dashboard.active{background:rgba(48,139,230,.16);color:#fff;box-shadow:inset 0 0 0 1px rgba(72,157,240,.14)}
:root.light .calendar{background:#fff;border-color:#d7e1ea}
:root.light .week{color:#52687d;font-weight:700}
:root.light .day{color:#172b3e;border-color:#dce5ed;background:#fff}
:root.light .day:hover{background:#f5f9fc}
:root.light .day.muted{color:#91a1af;background:#f8fafc}
:root.light .day.today-cell{background:#eaf4ff;outline-color:#2b82e6}
:root.light .day>b{color:inherit;font-weight:750}
:root.light .calendar-toolbar h3{color:#172b3e}
:root.light .calendar-legend{color:#536b80;opacity:1}
:root.light .booking-pill{color:#17304a!important;font-weight:700;background:color-mix(in srgb,var(--prop-color,#4aa3ff) 19%,white)!important;border-left-color:var(--prop-color,#4aa3ff)!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--prop-color,#4aa3ff) 28%,transparent)}
:root.light .calendar-filters .field,:root.light .calendar-nav .secondary{color:#172b3e;background:#fff;border-color:#cbd8e3}

/* v4.7 work — Bookings summaries match Dashboard hierarchy */
.bookings-kpis .kpi>.row{align-items:flex-start}
.bookings-kpis .kpi>.row>div:first-child{min-width:0}
.bookings-kpis .kpi strong{display:block;margin-top:4px}
.bookings-kpis .kpi>small:last-child{display:block;margin-top:7px;color:var(--muted)}

/* v4.8 work — softer compact filters + custom select appearance */
.parity-filter{padding:8px!important;border-radius:14px;background:rgba(255,255,255,.018)}
.parity-filter>.field,.parity-filter>.date-filter-label .field{
  border-radius:999px!important;border:1px solid rgba(143,162,181,.13)!important;
  background:rgba(255,255,255,.028)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}
.parity-filter>select.field,.filter-row>select.field,.filter-grid>select.field{
  appearance:none;-webkit-appearance:none;padding-right:30px!important;
  background-image:linear-gradient(45deg,transparent 50%,#7890a6 50%),linear-gradient(135deg,#7890a6 50%,transparent 50%)!important;
  background-position:calc(100% - 15px) 50%,calc(100% - 11px) 50%!important;
  background-size:4px 4px,4px 4px!important;background-repeat:no-repeat!important;
}
.parity-filter>button{border-radius:999px!important}
:root.light .parity-filter{background:#f7fafc;border:1px solid #e6edf3}
:root.light .parity-filter>.field,:root.light .parity-filter>.date-filter-label .field{background:#fff!important;border-color:#d9e3ec!important;color:#20384d!important}
.bp-badge{font-weight:800;letter-spacing:.06em}

/* v4.9 — one-screen dashboard + stacked compact booking filters */
.bookings-workspace{display:grid;grid-template-columns:190px minmax(0,1fr);gap:12px;align-items:start}
.booking-filter-panel{padding:11px;position:sticky;top:82px}
.booking-filter-title{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:9px}
.booking-filter-title b{font-size:12px}.booking-filter-title small{font-size:9.5px;color:var(--muted)}
.booking-filter-stack{display:flex;flex-direction:column;gap:6px}
.booking-filter-stack .field{width:100%;height:30px;min-height:30px;padding:5px 28px 5px 9px;border-radius:10px!important;font-size:10.5px;line-height:1.2}
.booking-filter-stack input.field{padding-right:9px}
.booking-filter-stack .date-filter-label{display:flex;flex-direction:column;gap:3px;width:100%;font-size:9px;color:var(--muted)}
.booking-filter-stack .date-filter-label .field{width:100%;min-width:0}
.booking-filter-actions{display:grid;grid-template-columns:1fr;gap:5px;margin-top:2px}
.booking-filter-actions .secondary{height:28px;padding:4px 7px;border-radius:9px;font-size:9.5px}
.booking-results{min-width:0;padding:12px}
.booking-results .section-head{margin-bottom:6px}

/* select controls: rounded, readable in both themes */
select.field{appearance:none;-webkit-appearance:none;border-radius:10px!important;padding-right:30px!important;background-image:linear-gradient(45deg,transparent 50%,#91a5b7 50%),linear-gradient(135deg,#91a5b7 50%,transparent 50%)!important;background-position:calc(100% - 15px) 50%,calc(100% - 11px) 50%!important;background-size:4px 4px,4px 4px!important;background-repeat:no-repeat!important;color:var(--text)!important;background-color:var(--panel2)!important}
select.field option{color:#eaf2f8;background:#132331}
:root.light select.field{color:#20384d!important;background-color:#fff!important;border-color:#d4e0e9!important;background-image:linear-gradient(45deg,transparent 50%,#536b7e 50%),linear-gradient(135deg,#536b7e 50%,transparent 50%)!important}
:root.light select.field option{color:#20384d;background:#fff}

/* dashboard deliberately condensed to fit a normal desktop viewport */
.dashboard-screen{display:flex;flex-direction:column;gap:9px;min-height:0}
.dashboard-screen .hero{margin-bottom:0}
.dashboard-screen .hero h1{font-size:24px}.dashboard-screen .hero p{font-size:11px;margin-top:2px}
.dashboard-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}
.dash-kpi{padding:10px 12px;min-height:72px}.dash-kpi small{display:block;color:var(--muted);font-size:9.5px}.dash-kpi strong{display:block;font-size:21px;line-height:1.05;margin:3px 0}.dash-kpi span{display:block;color:var(--muted);font-size:9.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dashboard-overview-grid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(240px,.72fr);gap:9px;min-height:0}
.dashboard-calendar-card{padding:10px!important;margin:0!important}.dashboard-calendar-card .calendar-toolbar{margin-bottom:6px}.dashboard-calendar-card .calendar-nav h3{font-size:13px;min-width:145px}.dashboard-calendar-card .compact-btn,.dashboard-calendar-card .compact-field{height:28px;min-height:28px;padding:4px 8px;font-size:9.5px}.dashboard-calendar-card .week span{font-size:9px}.dashboard-calendar-card .day{min-height:43px;padding:4px;font-size:9px}.dashboard-calendar-card .booking-pill{margin-top:3px;padding:3px 5px;font-size:8px;line-height:1.1}.dashboard-calendar-card .calendar-legend{display:none}
.dashboard-side-stack{display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:9px;min-height:0}
.dashboard-mini{padding:10px 12px}.dashboard-mini>div{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.dashboard-mini small{color:var(--muted);font-size:9.5px}.dashboard-mini strong{font-size:19px}.dashboard-mini>span{display:block;color:var(--muted);font-size:9.5px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dashboard-upcoming{padding:10px 12px;overflow:hidden}.dashboard-upcoming .section-head{margin-bottom:4px}.dashboard-upcoming .section-head h3{font-size:11px}.dashboard-upcoming .section-head span{font-size:9px;color:var(--muted)}
.dash-arrival{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:7px;align-items:center;padding:6px 0;border-bottom:1px solid var(--line);font-size:9.5px}.dash-arrival:last-child{border-bottom:0}.dash-arrival>span{color:var(--muted)}.dash-arrival b,.dash-arrival small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-arrival small{color:var(--muted);margin-top:1px}.dash-arrival strong{font-size:10px}
@media(min-width:821px){body:has(.dashboard-screen) .view{padding-top:18px;padding-bottom:14px;overflow:hidden}.dashboard-screen{height:calc(100vh - 100px)}}
@media(max-width:1100px){.dashboard-overview-grid{grid-template-columns:minmax(0,1.5fr) minmax(220px,.75fr)}.dashboard-calendar-card .day{min-height:40px}.bookings-workspace{grid-template-columns:172px minmax(0,1fr)}}
@media(max-width:820px){.bookings-workspace{grid-template-columns:1fr}.booking-filter-panel{position:static}.booking-filter-stack{display:grid;grid-template-columns:1fr 1fr}.booking-filter-stack>input:first-child{grid-column:1/-1}.booking-filter-actions{grid-column:1/-1;grid-template-columns:repeat(3,1fr)}.dashboard-kpis{grid-template-columns:1fr 1fr}.dashboard-overview-grid{grid-template-columns:1fr}.dashboard-calendar-card .day{min-height:62px}.dashboard-screen{height:auto}.dashboard-side-stack{grid-template-rows:auto}.dashboard-screen .hero{margin-bottom:6px}}

.status.danger{color:var(--danger)}

/* v4.11 — overview-sized dashboard calendar + popover booking filters */
.booking-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:2px 0 8px;position:relative;z-index:12}
.filter-anchor{position:relative}.booking-filter-trigger,.booking-csv-btn{height:31px;min-height:31px;padding:5px 11px;border-radius:10px;font-size:10.5px;font-weight:700}
.filter-funnel{display:inline-block;font-size:8px;transform:scaleX(1.45);margin-right:5px}.filter-count{display:inline-flex;min-width:18px;height:18px;align-items:center;justify-content:center;margin-left:5px;padding:0 5px;border-radius:999px;background:rgba(73,151,226,.14);color:var(--accent)}
.booking-filter-menu{position:absolute;top:38px;left:0;width:min(560px,calc(100vw - 280px));padding:11px;z-index:60;box-shadow:0 18px 45px rgba(0,0,0,.32);border-radius:14px}
.booking-filter-menu[hidden]{display:none!important}.filter-menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.filter-menu-grid>.field{height:31px;min-height:31px;font-size:10.5px;border-radius:9px!important}
.filter-date-row{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr 31px;gap:7px;align-items:end}.filter-date-row label{display:grid;gap:3px;color:var(--muted);font-size:9px}.filter-date-row .field{height:31px;min-height:31px;font-size:10.5px;border-radius:9px!important}.filter-reset{width:31px;height:31px;min-height:31px;border-radius:50%!important;font-size:17px;padding:0;display:grid;place-items:center}
:root.light .booking-filter-menu{background:#fff;border-color:#dce5ed;box-shadow:0 18px 45px rgba(31,52,70,.15)}
/* Give the dashboard calendar the visual priority while preserving one-screen desktop overview. */
.dashboard-overview-grid{grid-template-columns:minmax(0,2.25fr) minmax(210px,.55fr);gap:10px;flex:1;min-height:0}
.dashboard-calendar-wrap,.dashboard-calendar-card{min-height:0;height:100%}.dashboard-calendar-card{display:flex;flex-direction:column;padding:11px!important}.dashboard-calendar-card .calendar{flex:1;min-height:0}.dashboard-calendar-card .day{min-height:50px;padding:5px;font-size:9.5px}.dashboard-calendar-card .booking-pill{padding:3px 5px;font-size:8.5px}.dashboard-kpis{gap:8px}.dash-kpi{min-height:66px;padding:8px 11px}.dash-kpi strong{font-size:20px}
@media(min-width:1180px){.dashboard-calendar-card .day{min-height:54px}.dashboard-overview-grid{grid-template-columns:minmax(0,2.45fr) minmax(205px,.5fr)}}
@media(max-width:820px){.booking-filter-menu{position:fixed;left:12px;right:12px;top:110px;width:auto}.filter-menu-grid{grid-template-columns:1fr}.filter-date-row{grid-column:1;grid-template-columns:1fr 1fr 31px}}

/* v4.13 — Dashboard: page stays fixed; only the calendar grid scrolls */
@media(min-width:821px){
  body:has(.dashboard-screen){overflow:hidden}
  body:has(.dashboard-screen) .main{height:100vh;overflow:hidden}
  body:has(.dashboard-screen) .view{height:calc(100vh - 72px);overflow:hidden}
  .dashboard-screen{height:100%;min-height:0;overflow:hidden}
  .dashboard-overview-grid,.dashboard-calendar-wrap,.dashboard-calendar-card{min-height:0;overflow:hidden}
  .dashboard-calendar-card .calendar{overflow-y:auto;overflow-x:hidden;align-content:start;scrollbar-width:thin;scrollbar-color:rgba(108,145,177,.55) transparent}
  .dashboard-calendar-card .calendar::-webkit-scrollbar{width:7px}
  .dashboard-calendar-card .calendar::-webkit-scrollbar-track{background:transparent}
  .dashboard-calendar-card .calendar::-webkit-scrollbar-thumb{background:rgba(108,145,177,.48);border-radius:999px}
  .dashboard-calendar-card .calendar::-webkit-scrollbar-thumb:hover{background:rgba(108,145,177,.72)}
}

/* v4.14 — desktop collapsible sidebar */
@media(min-width:821px){
  .app-shell{transition:grid-template-columns .22s ease}
  .sidebar{position:relative;transition:padding .22s ease,border-color .22s ease;overflow:visible}
  .sidebar-toggle{position:absolute;z-index:40;top:22px;right:-14px;width:28px;height:28px;border-radius:50%;border:1px solid var(--line);background:var(--panel);color:var(--text);display:grid;place-items:center;padding:0;font-size:21px;line-height:1;cursor:pointer;box-shadow:var(--shadow);transition:transform .18s ease,background .18s ease}
  .sidebar-toggle:hover{transform:scale(1.06);background:color-mix(in srgb,var(--panel) 88%,var(--blue))}
  .app-shell.sidebar-collapsed{grid-template-columns:0 minmax(0,1fr)}
  .app-shell.sidebar-collapsed .sidebar{padding-left:0;padding-right:0;border-right-color:transparent}
  .app-shell.sidebar-collapsed .sidebar .brand,.app-shell.sidebar-collapsed .sidebar nav,.app-shell.sidebar-collapsed .sidebar .version{opacity:0;visibility:hidden;pointer-events:none}
  .app-shell.sidebar-collapsed .sidebar-toggle{right:-36px}
  .app-shell.sidebar-collapsed .main{width:100%}
}

/* v4.15 — Dashboard calendar: roomy proportional cells; calendar alone scrolls */
@media(min-width:821px){
  .dashboard-overview-grid{grid-template-columns:minmax(0,2.7fr) minmax(205px,.52fr);gap:11px}
  .dashboard-calendar-card{padding:12px!important}
  .dashboard-calendar-card .calendar-toolbar{margin-bottom:8px;flex:0 0 auto}
  .dashboard-calendar-card .calendar-nav h3{font-size:14px;min-width:160px}
  .dashboard-calendar-card .compact-btn,.dashboard-calendar-card .compact-field{height:30px;min-height:30px;font-size:10px}
  .dashboard-calendar-card .week{flex:0 0 auto}
  .dashboard-calendar-card .week span{font-size:10px;padding:5px 2px}
  .dashboard-calendar-card .calendar{
    flex:1 1 auto;
    min-height:0;
    overflow-y:auto;
    overflow-x:hidden;
    grid-auto-rows:minmax(82px,auto);
    align-content:start;
  }
  .dashboard-calendar-card .day{min-height:82px;padding:7px;font-size:11px;line-height:1.2}
  .dashboard-calendar-card .day>b{font-size:11px}
  .dashboard-calendar-card .booking-pill{margin-top:5px;padding:5px 6px;font-size:9px;line-height:1.2;min-height:23px}
}
@media(min-width:1280px){
  .dashboard-calendar-card .calendar{grid-auto-rows:minmax(92px,auto)}
  .dashboard-calendar-card .day{min-height:92px;padding:8px;font-size:11.5px}
  .dashboard-calendar-card .booking-pill{font-size:9.5px}
}
:root.light .dashboard-calendar-card .day:hover{background:#f6f9fc}

/* v4.16 — Dashboard info moves above calendar; calendar gets full workspace width */
.dashboard-info-row{display:grid;grid-template-columns:minmax(150px,.7fr) minmax(190px,.9fr) minmax(0,2.2fr);gap:8px;min-height:0}
.dashboard-info-row .dashboard-mini{min-height:58px;padding:8px 11px}
.dashboard-info-row .dashboard-mini strong{font-size:17px}
.dashboard-info-row .dashboard-upcoming{padding:7px 10px;min-height:58px;overflow:hidden}
.dashboard-upcoming-horizontal .section-head{margin-bottom:2px}
.dashboard-upcoming-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.dashboard-upcoming-list .dash-arrival{grid-template-columns:48px minmax(0,1fr) auto;padding:3px 0;border-bottom:0;min-width:0}
.dashboard-overview-grid{display:block!important;flex:1;min-height:0;width:100%}
.dashboard-calendar-wrap{width:100%;height:100%;min-height:0}
@media(min-width:821px){
  .dashboard-calendar-card .calendar{grid-auto-rows:minmax(92px,auto)}
  .dashboard-calendar-card .day{min-height:92px}
}
@media(min-width:1280px){
  .dashboard-calendar-card .calendar{grid-auto-rows:minmax(102px,auto)}
  .dashboard-calendar-card .day{min-height:102px}
}
@media(max-width:1050px) and (min-width:821px){
  .dashboard-info-row{grid-template-columns:1fr 1fr 1.7fr}
  .dashboard-upcoming-list .dash-arrival:nth-child(n+3){display:none}
  .dashboard-upcoming-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:820px){
  .dashboard-info-row{grid-template-columns:1fr}
  .dashboard-upcoming-list{grid-template-columns:1fr}
}

/* v4.17 booking safety/actions */
.booking-delete-link{color:#ff7b7b!important}
.booking-delete-link:hover{color:#ff9b9b!important}
.date-error-box{border-color:rgba(255,95,95,.5)!important;background:rgba(150,35,35,.16)!important;color:#ffd1d1!important}
:root.light .date-error-box{background:#fff0f0!important;color:#8e2020!important;border-color:#e8a1a1!important}

/* v4.18 — Dashboard separated from Calendar + accordion sidebar */
.nav-calendar-standalone{margin:2px 0 12px!important}
.nav-dashboard{margin-bottom:2px!important}

.dashboard-no-calendar{height:auto!important;min-height:0!important;overflow:visible!important}
.dashboard-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:10px 0 12px}
.dashboard-summary-card{padding:13px 14px;text-align:left;min-width:0}
.dashboard-summary-card small,.dashboard-summary-card span{display:block;color:var(--muted)}
.dashboard-summary-card strong{display:block;font-size:20px;margin:4px 0}
.dashboard-summary-card span{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dashboard-calendar-shortcut{appearance:none;color:var(--text);cursor:pointer;font:inherit;border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow)}
.dashboard-calendar-shortcut:hover{border-color:color-mix(in srgb,var(--blue) 55%,var(--line));background:color-mix(in srgb,var(--panel) 94%,var(--blue))}
.dashboard-content-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.dashboard-list{display:grid;gap:0}
.dash-booking-row{display:grid;grid-template-columns:minmax(0,1fr) 88px auto;gap:12px;align-items:center;padding:10px 2px;border-bottom:1px solid var(--line);font-size:12px}
.dash-booking-row:last-child{border-bottom:0}
.dash-booking-row b,.dash-booking-row small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dash-booking-row small,.dash-booking-row>span{color:var(--muted)}

/* Calendar gets its own full workspace. */
body:has(.calendar-screen){overflow:auto}
body:has(.calendar-screen) .main{height:auto;overflow:visible}
body:has(.calendar-screen) .view{height:auto;overflow:visible}
.calendar-screen{min-width:0}
.calendar-card-full{padding:15px}
.calendar-card-full .calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.calendar-card-full .calendar-nav{display:flex;align-items:center;gap:8px}
.calendar-card-full .calendar-nav h3{margin:0;min-width:170px;text-align:center;font-size:16px;text-transform:capitalize}
.calendar-card-full .calendar-arrow{font-size:24px;line-height:1;padding:0 5px}
.calendar-card-full .calendar-filters{display:flex;gap:8px;align-items:center}
.calendar-card-full .compact-field{min-width:170px}
.calendar-card-full .week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--line);border-bottom:0;border-radius:10px 10px 0 0;overflow:hidden;background:color-mix(in srgb,var(--panel) 92%,var(--bg))}
.calendar-card-full .week span{text-align:center;padding:8px 4px;color:var(--muted);font-size:11px;font-weight:700;border-right:1px solid var(--line)}
.calendar-card-full .week span:last-child{border-right:0}
.calendar-card-full .calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line);overflow:visible!important}
.calendar-card-full .day{min-height:132px;padding:8px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:12px;overflow:hidden;background:var(--panel)}
.calendar-card-full .day:hover{background:color-mix(in srgb,var(--panel) 95%,var(--blue))}
.calendar-card-full .day.today-cell{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--blue) 62%,transparent)}
.calendar-day-number{display:inline-grid;place-items:center;min-width:23px;height:23px;border-radius:999px;font-size:11px}
.today-cell .calendar-day-number{background:var(--blue);color:#fff}
.calendar-stays{display:grid;gap:5px;margin-top:6px}
.calendar-stay{appearance:none;width:100%;min-width:0;text-align:left;border:1px solid color-mix(in srgb,var(--prop-color) 42%,var(--line));border-left:4px solid var(--prop-color);border-radius:7px;padding:5px 6px;background:color-mix(in srgb,var(--prop-color) 10%,var(--panel));color:var(--text);cursor:pointer;overflow:hidden}
.calendar-stay:hover{background:color-mix(in srgb,var(--prop-color) 17%,var(--panel))}
.calendar-stay-guest{display:block;font-size:10.5px;font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.calendar-stay-property{display:flex;align-items:center;gap:5px;margin-top:2px;color:var(--muted);font-size:9.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.calendar-stay-property i{display:inline-block;flex:0 0 auto;width:7px;height:7px;border-radius:50%;background:var(--prop-color)}
.calendar-more{display:block;color:var(--muted);font-size:9px;padding-left:4px}
.calendar-property-legend{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.legend-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px}
.legend-title b{font-size:12px}.legend-title span,.legend-help{font-size:10px;color:var(--muted)}
.legend-items{display:flex;flex-wrap:wrap;gap:7px 14px}
.legend-property{display:inline-flex;align-items:center;gap:6px;font-size:10.5px}
.legend-property i{width:9px;height:9px;border-radius:50%;display:inline-block}
.legend-help{display:flex;flex-wrap:wrap;gap:14px;margin-top:9px}

@media(min-width:821px){
  body:has(.dashboard-no-calendar){overflow:auto!important}
  body:has(.dashboard-no-calendar) .main{height:auto!important;overflow:visible!important}
  body:has(.dashboard-no-calendar) .view{height:auto!important;overflow:visible!important}
}
@media(max-width:1050px){
  .calendar-card-full .day{min-height:118px}
  .calendar-card-full .calendar-filters{flex-wrap:wrap;justify-content:flex-end}
  .dashboard-content-grid{grid-template-columns:1fr}
}
@media(max-width:820px){
  .dashboard-summary-grid{grid-template-columns:1fr}
  .calendar-card-full{padding:10px;overflow-x:auto}
  .calendar-card-full .calendar-toolbar{align-items:flex-start;flex-direction:column}
  .calendar-card-full .calendar-filters{width:100%;display:grid;grid-template-columns:1fr 1fr}
  .calendar-card-full .compact-field{min-width:0;width:100%}
  .calendar-card-full .week,.calendar-card-full .calendar{min-width:760px}
  .calendar-card-full .day{min-height:118px}
  .legend-title{align-items:flex-start;flex-direction:column}
}

/* v4.19 — calendar viewport fit + annual dashboard analytics */
.dashboard-kpi-click{appearance:none;width:100%;text-align:left;color:var(--text);font:inherit;cursor:pointer;border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow)}
.dashboard-kpi-click:hover{border-color:color-mix(in srgb,var(--blue) 58%,var(--line));transform:translateY(-1px)}
.dashboard-chart-card{padding:11px 14px;margin:10px 0}
.dashboard-bars{height:150px;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:7px;align-items:end;padding-top:4px}
.dashboard-bar-col{height:100%;min-width:0;display:grid;grid-template-rows:18px 1fr 16px;gap:4px;align-items:end;text-align:center}
.dashboard-bar-value{font-size:8.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dashboard-bar-track{height:100%;min-height:70px;display:flex;align-items:flex-end;justify-content:center;border-radius:6px;background:color-mix(in srgb,var(--panel) 72%,var(--bg));overflow:hidden}
.dashboard-bar-track i{display:block;width:68%;min-height:0;border-radius:5px 5px 2px 2px;background:linear-gradient(180deg,var(--blue),var(--teal));transition:height .2s ease}
.dashboard-bar-col small{font-size:9px;color:var(--muted)}
.dashboard-analysis-table{max-height:52vh;overflow:auto;margin-top:12px}

@media(min-width:901px){
  body:has(.calendar-screen){overflow:auto}
  body:has(.calendar-screen) .main{height:auto;min-height:100vh;overflow:visible}
  body:has(.calendar-screen) .view{height:auto;min-height:calc(100vh + 96px);overflow:visible;padding-top:6px;padding-bottom:96px}
  .calendar-screen{height:auto;min-height:calc(100vh - 86px);display:flex;flex-direction:column;overflow:visible}
  .calendar-screen .hero{margin-bottom:5px;padding-top:0;padding-bottom:0;flex:0 0 auto}
  .calendar-card-full{flex:0 0 calc(100vh - 190px);min-height:560px;display:flex;flex-direction:column;padding:10px 13px 9px;overflow:hidden}
  .calendar-card-full .calendar-toolbar{margin-bottom:6px;flex:0 0 auto}
  .calendar-card-full .week{flex:0 0 auto}
  .calendar-card-full .calendar{flex:1;min-height:0;grid-auto-rows:minmax(0,1fr);overflow:hidden!important}
  .calendar-card-full .day{min-height:0!important;height:auto;padding:6px}
  .calendar-property-legend{margin-top:7px!important;padding-top:7px!important;flex:0 0 auto}
  .legend-help{margin-top:4px!important}
}
@media(max-height:820px) and (min-width:901px){
  .calendar-card-full .day{padding:4px}
  .calendar-stays{gap:3px;margin-top:3px}
  .calendar-stay{padding:3px 5px}
  .calendar-stay-guest{font-size:9.5px}.calendar-stay-property{font-size:8.5px}
  .calendar-property-legend{font-size:9px}
  .dashboard-bars{height:125px}
}
@media(max-width:900px){.dashboard-bars{overflow-x:auto;grid-template-columns:repeat(12,minmax(54px,1fr));height:140px}}

/* v4.20 — Dashboard: keep every section accessible with workspace scrolling */
@media(min-width:821px){
  body:has(.dashboard-no-calendar){overflow:hidden!important}
  body:has(.dashboard-no-calendar) .app-shell{height:100vh!important;min-height:0!important;overflow:hidden!important}
  body:has(.dashboard-no-calendar) .main{height:100vh!important;min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain}
  body:has(.dashboard-no-calendar) .view{height:auto!important;min-height:100%!important;overflow:visible!important;padding-bottom:34px!important}
  body:has(.dashboard-no-calendar) .dashboard-no-calendar{height:auto!important;overflow:visible!important;padding-bottom:4px}
}

/* v4.21 — calendar overlap visibility + day enlarge */
.calendar-day-head{display:flex;align-items:center;justify-content:space-between;gap:4px;min-height:23px}
.calendar-enlarge{appearance:none;border:1px solid var(--line);background:var(--panel2);color:var(--muted);height:22px;min-width:30px;padding:0 5px;border-radius:7px;font-size:10px;cursor:pointer;line-height:1}
.calendar-enlarge:hover{color:var(--text);border-color:color-mix(in srgb,var(--blue) 55%,var(--line));background:color-mix(in srgb,var(--panel2) 88%,var(--blue))}
.calendar-enlarge span{font-weight:800}
.calendar-more-btn{appearance:none;width:100%;border:0;background:transparent;text-align:left;cursor:pointer;color:var(--blue);padding:0 3px;font-weight:700}
.calendar-more-btn:hover{text-decoration:underline}
.calendar-day-modal-list{display:grid;gap:8px;max-height:58vh;overflow:auto;padding:2px}
.calendar-day-modal-booking{appearance:none;width:100%;display:grid;grid-template-columns:5px 1fr auto;gap:10px;align-items:center;text-align:left;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:var(--panel2);color:var(--text);cursor:pointer}
.calendar-day-modal-booking:hover{border-color:color-mix(in srgb,var(--prop-color) 60%,var(--line))}
.calendar-day-modal-color{width:5px;height:34px;border-radius:99px;background:var(--prop-color)}
.calendar-day-modal-booking b,.calendar-day-modal-booking small{display:block}.calendar-day-modal-booking small{margin-top:3px;color:var(--muted)}
@media(min-width:901px){
  .calendar-card-full .calendar-stays{gap:3px;margin-top:3px}
  .calendar-card-full .calendar-stay{padding:3px 5px}
  .calendar-card-full .calendar-stay-guest{font-size:9.5px}
  .calendar-card-full .calendar-stay-property{font-size:8.5px;margin-top:1px}
}
/* v4.22 — compact calendar booking labels: property by color only */
.calendar-card-full .calendar-stay{min-height:22px;padding:4px 6px;display:flex;align-items:center}
.calendar-card-full .calendar-stay-guest{width:100%;font-size:10px;line-height:1.15}
.calendar-card-full .calendar-stay-property{display:none!important}

/* v4.24 — roomier no-scroll calendar, two bookings always visible, +X restored */
.calendar-more-btn{min-height:16px;line-height:16px;font-size:9px;padding:0 4px;color:var(--blue);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(min-width:901px){
  .calendar-screen .hero{margin:0 0 2px!important;min-height:26px!important;padding:0!important}
  .calendar-screen .hero h1{font-size:20px!important;line-height:24px!important;margin:0!important}
  .calendar-screen .hero p{display:none!important}
  .calendar-card-full{padding:7px 11px 7px!important}
  .calendar-card-full .calendar-toolbar{margin-bottom:3px!important;min-height:34px}
  .calendar-card-full .week span{padding:5px 4px!important}
  .calendar-card-full .calendar{flex:1.08 1 0!important;grid-template-rows:repeat(6,minmax(0,1fr))!important}
  .calendar-card-full .day{padding:5px 6px!important;min-height:0!important;overflow:hidden!important}
  .calendar-day-head{min-height:19px!important}
  .calendar-day-number{height:20px!important;min-width:20px!important;font-size:10px!important}
  .calendar-card-full .calendar-stays{gap:2px!important;margin-top:2px!important;align-content:start}
  .calendar-card-full .calendar-stay{min-height:19px!important;height:19px!important;padding:2px 6px!important;border-radius:6px!important}
  .calendar-card-full .calendar-stay-guest{font-size:9.5px!important;line-height:1!important}
  .calendar-property-legend{margin-top:4px!important;padding-top:4px!important}
  .calendar-property-legend .legend-title{margin-bottom:2px!important}
  .calendar-property-legend .legend-items{gap:5px 10px!important}
  .calendar-property-legend .legend-help{display:none!important}
}
@media(min-width:901px) and (min-height:850px){
  .calendar-card-full .day{padding:6px 7px!important}
  .calendar-card-full .calendar-stay{min-height:21px!important;height:21px!important;padding:3px 6px!important}
  .calendar-card-full .calendar-stay-guest{font-size:10px!important}
  .calendar-day-head{min-height:21px!important}
}

/* v4.26 — calendar click/double-click UX + stronger visual boundaries */
.day{cursor:pointer}
.day:hover{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--blue) 34%,var(--line));background:color-mix(in srgb,var(--panel2) 70%,transparent)}
.day:active{background:color-mix(in srgb,var(--blue) 8%,var(--panel))}
.calendar-day-modal-booking{box-shadow:0 2px 7px rgba(0,0,0,.08)}

/* Consistent component separation in both themes. */
.card,.section-card,.kpi,.property-card,.op-tile,.dashboard-summary-card,.dashboard-chart-card,
.table-wrap,.search,.field,.modal,.calendar,.calendar-day-modal-booking,.booking-filter-menu,
.nav-group-toggle,.icon-btn,.secondary,.danger-btn{
  border-color:color-mix(in srgb,var(--line) 88%,var(--text) 12%);
}
.card,.section-card,.kpi,.property-card,.op-tile,.dashboard-summary-card,.dashboard-chart-card{
  box-shadow:0 2px 8px rgba(0,0,0,.10),0 10px 26px rgba(0,0,0,.06);
}
.field,.search,.table-wrap,.calendar,.modal,.calendar-day-modal-booking{
  box-shadow:0 1px 3px rgba(0,0,0,.07);
}
.table tbody tr+tr td{border-top:1px solid color-mix(in srgb,var(--line) 92%,var(--text) 8%)}
.booking-row,.dash-booking-row{border-color:color-mix(in srgb,var(--line) 90%,var(--text) 10%)}

:root.light{--line:#c7d5e1;--shadow:0 8px 24px rgba(31,55,78,.10)}
:root.light .card,
:root.light .section-card,
:root.light .kpi,
:root.light .property-card,
:root.light .op-tile,
:root.light .dashboard-summary-card,
:root.light .dashboard-chart-card{
  border-color:#c9d6e1!important;
  box-shadow:0 1px 2px rgba(31,55,78,.10),0 7px 18px rgba(31,55,78,.07)!important;
}
:root.light .field,
:root.light .search,
:root.light .table-wrap,
:root.light .calendar,
:root.light .modal,
:root.light .calendar-day-modal-booking,
:root.light .booking-filter-menu,
:root.light .secondary,
:root.light .icon-btn{
  border-color:#c4d2de!important;
  box-shadow:0 1px 3px rgba(31,55,78,.08);
}
:root.light .day{border-color:#cbd7e1!important;background:#fff}
:root.light .day:nth-child(7n+6),:root.light .day:nth-child(7n){background:#f9fbfd}
:root.light .day:hover{background:#f1f7fc!important;box-shadow:inset 0 0 0 1px #9fc3e5}
:root.light .week{color:#40586d}
:root.light .table th{background:#f3f7fa;border-bottom:1px solid #c4d2de}
:root.light .table td{border-bottom-color:#d2dce5}
:root.light .nav-group-toggle{border-color:rgba(116,137,156,.20)}

/* v4.27 — clean top-right controls, no duplicate logo/profile */
.top-actions-clean{gap:8px}
.top-action-btn{position:relative;display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 11px;border:1px solid rgba(143,162,181,.18);border-radius:10px;background:rgba(255,255,255,.035);color:var(--text);cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.08)}
.top-action-btn:hover{background:var(--panel2);border-color:var(--line)}
.top-action-icon{font-size:15px;line-height:1}
.top-action-label{font-size:11px;font-weight:700;white-space:nowrap}
.top-lang-switch{position:static!important;display:flex;gap:4px;padding:3px;margin:0;border-radius:10px}
.top-lang-switch button{min-width:auto;padding:6px 9px;font-size:11px}
:root.light .top-action-btn{background:#fff;border-color:#c9d6e1;box-shadow:0 4px 14px rgba(31,55,78,.08)}
:root.light .top-action-btn:hover{background:#f4f8fb}
@media(max-width:820px){.top-actions-clean{margin-left:auto}.top-action-label{display:none}.top-action-btn{width:36px;padding:0;justify-content:center}.top-lang-switch button{padding:6px 7px;font-size:10px}.top-lang-switch button:first-child{font-size:0}.top-lang-switch button:first-child::after{content:'EN';font-size:10px}.top-lang-switch button:last-child{font-size:0}.top-lang-switch button:last-child::after{content:'ΕΛ';font-size:10px}}

/* v4.28 — compact topbar controls + in-app system dialogs */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.top-actions-clean{gap:6px}.top-icon-only{width:34px;height:34px;padding:0;justify-content:center;border-radius:9px}.top-lang-switch{padding:2px;gap:2px;border-radius:9px}.top-lang-switch button{min-width:32px!important;height:28px;padding:0 6px!important;font-size:10px!important;letter-spacing:.02em}.system-dialog-backdrop{z-index:10000}.system-dialog{width:min(440px,calc(100vw - 28px));box-shadow:0 24px 70px rgba(0,0,0,.35)}.system-dialog-message{line-height:1.55;color:var(--text);padding:4px 2px 14px}.system-dialog-input{width:100%;margin:0 0 8px}.system-dialog-actions{margin-top:10px}
.dashboard-kpi-clickable{width:100%;text-align:left;cursor:pointer}.dashboard-kpi-clickable:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--blue) 40%,var(--line));background:color-mix(in srgb,var(--panel) 92%,var(--blue))}.today-flow-list{display:grid;gap:8px;margin-top:8px}.today-flow-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel2);cursor:pointer}.today-flow-row:hover{border-color:var(--blue)}.today-flow-row b,.today-flow-row small{display:block}.today-flow-row small{margin-top:3px;color:var(--muted)}.today-flow-empty{padding:22px 12px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:10px}

/* v4.29 — dashboard monthly drill-down + cleaner sidebar interaction */
.dashboard-month-row{cursor:pointer;transition:background .14s ease,transform .14s ease}
.dashboard-month-row:hover{background:color-mix(in srgb,var(--panel2) 82%,var(--blue));transform:scale(1.004)}
.dashboard-month-row td:first-child b,.dashboard-month-row td:first-child small{display:block}
.dashboard-month-row td:first-child small{margin-top:2px;color:var(--blue);font-size:9.5px;font-weight:600}
.dashboard-month-detail-list{display:grid;gap:7px;margin-top:12px;max-height:42vh;overflow:auto;padding-right:2px}
.dashboard-month-detail-row{appearance:none;width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;text-align:left;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel2);color:var(--text);cursor:pointer;transition:transform .14s ease,background .14s ease}
.dashboard-month-detail-row:hover{transform:scale(1.006);background:color-mix(in srgb,var(--panel2) 91%,var(--blue))}
.dashboard-month-detail-row b,.dashboard-month-detail-row small{display:block}.dashboard-month-detail-row small{margin-top:3px;color:var(--muted);font-size:10px}.dashboard-month-detail-row>div:last-child{text-align:right}
.dashboard-property-breakdown{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:7px;margin-top:12px}
.dashboard-property-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 11px;border:1px solid var(--line);border-radius:9px;background:var(--panel2)}
.dashboard-property-row b,.dashboard-property-row small{display:block}.dashboard-property-row small{margin-top:2px;color:var(--muted);font-size:9.5px}.dashboard-property-row strong{font-size:15px}

/* Sidebar: no card-like outlines; subtle enlarge on hover. */
.sidebar .nav-btn,.sidebar .nav-group-toggle{border:0!important;box-shadow:none!important;transform-origin:center;transition:transform .14s ease,background .14s ease,color .14s ease!important}
.sidebar .nav-group-toggle:hover{transform:scale(1.018);background:rgba(255,255,255,.04);color:#d6e2ec}
.sidebar .nav-group .nav-btn:hover,.sidebar>.nav-btn:hover,.sidebar nav>.nav-btn:hover{transform:scale(1.018)!important;background:rgba(255,255,255,.055);color:#f5f9fc}
.sidebar .nav-group .nav-btn.active,.sidebar nav>.nav-btn.active{box-shadow:none!important;background:rgba(48,139,230,.16)}
:root.light .sidebar .nav-group-toggle{border:0!important;box-shadow:none!important}


/* v4.30 — enlarge only in the sidebar menu; nowhere else in the app */
.primary:hover,.secondary:hover,.danger-btn:hover,.icon-btn:hover,.top-action-btn:hover,
.op-tile:hover,.dashboard-kpi-click:hover,.dashboard-kpi-clickable:hover,
.dashboard-month-row:hover,.dashboard-month-detail-row:hover,.today-flow-row:hover,
.calendar-day-modal-booking:hover,.calendar-enlarge:hover{transform:none!important}
.dashboard-month-row{transition:background .14s ease!important}
.dashboard-month-detail-row{transition:background .14s ease!important}
/* Sidebar entries keep the requested subtle enlarge. */
.sidebar .nav-group-toggle:hover,.sidebar .nav-btn:hover{transform:scale(1.018)!important}

/* v4.31 AADE + TAAK/EOT — Legacy-inspired dense registry layout */
.aade-period-card{padding:12px 14px;margin-bottom:12px}.aade-period-row{display:flex;align-items:end;gap:12px;justify-content:space-between}.aade-period-row label{min-width:min(420px,100%);display:grid;gap:6px}.aade-period-actions{display:flex;gap:8px}.aade-kpis,.compact-kpis{margin-bottom:12px}.aade-table .aade-decl-input{min-width:112px;width:112px;padding:7px 8px}.aade-table td{vertical-align:middle}.aade-pending-row{background:rgba(245,158,11,.045)}.warn-text{color:#f0a54a}.app-note{padding:10px 12px;border-radius:10px;background:rgba(90,120,145,.08);border:1px solid rgba(130,155,175,.16);font-size:12px;line-height:1.45;margin:10px 0}.app-note.ok{background:rgba(36,173,117,.08)}.app-note.warn{background:rgba(236,156,58,.08)}.small-btn{padding:7px 10px;font-size:12px}.fee-year-toolbar{display:flex;justify-content:flex-end;margin:-6px 0 10px}.fee-year-toolbar label{display:grid;gap:5px;min-width:130px}.fee-settings-table .field{min-width:130px}.fee-settings-table select.field{min-width:250px}.fee-small-input{width:90px!important;min-width:90px!important}.modal-section-title{font-size:14px;margin:18px 0 8px}.fee-booking-list{display:grid;gap:6px}.fee-booking-row{width:100%;display:flex;justify-content:space-between;gap:16px;align-items:center;text-align:left;background:rgba(100,130,155,.06);border:1px solid rgba(130,155,175,.13);border-radius:10px;padding:9px 10px;color:inherit;cursor:pointer}.fee-booking-row span{display:grid;gap:2px}.fee-booking-row span:last-child{text-align:right}.fee-booking-row small{opacity:.72}
:root.light .aade-pending-row{background:#fffaf0}:root.light .app-note{background:#f7fafc;border-color:#d8e0e7}:root.light .app-note.ok{background:#f1fbf6}:root.light .app-note.warn{background:#fff8ed}:root.light .fee-booking-row{background:#f8fafc;border-color:#dbe3ea}
@media(max-width:800px){.aade-period-row{align-items:stretch;flex-direction:column}.aade-period-actions>*{flex:1}.fee-year-toolbar{justify-content:stretch}.fee-year-toolbar label{width:100%}.fee-settings-table select.field{min-width:200px}}

/* v4.33 — AADE workspace */
.aade-workspace-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin:2px 0 14px;padding:14px 16px;background:linear-gradient(135deg,rgba(47,140,255,.09),rgba(38,190,159,.045));border:1px solid rgba(108,148,182,.18);border-radius:14px;box-shadow:0 8px 24px rgba(0,0,0,.08)}
.aade-period-block{display:grid;gap:6px;min-width:min(360px,100%)}.aade-period-block>small{font-size:10px;font-weight:800;letter-spacing:.09em;color:var(--muted)}.aade-period-block .field{font-weight:750;background:color-mix(in srgb,var(--panel) 82%,var(--bg));border-color:rgba(106,151,188,.28)}
.aade-head-actions{display:flex;align-items:flex-end;gap:10px}.aade-due-chip{display:grid;gap:2px;padding:7px 11px;border-left:2px solid var(--blue)}.aade-due-chip small{color:var(--muted);font-size:10px}.aade-due-chip b{font-size:14px}
.aade-overview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin-bottom:14px}.aade-overview-card{display:flex;align-items:center;gap:12px;min-height:84px;padding:13px 14px;background:var(--panel);border:1px solid rgba(120,153,180,.16);border-radius:14px;box-shadow:0 8px 24px rgba(0,0,0,.07)}.aade-overview-icon{width:37px;height:37px;display:grid;place-items:center;border-radius:11px;background:rgba(47,140,255,.12);color:#73b8ff;font-weight:900}.aade-overview-card.success .aade-overview-icon{background:rgba(36,173,117,.12);color:#52d59a}.aade-overview-card.warning .aade-overview-icon{background:rgba(236,156,58,.13);color:#ffba65}.aade-overview-card div{display:grid;line-height:1.15}.aade-overview-card small{font-size:10px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.045em}.aade-overview-card strong{font-size:22px;margin:4px 0 3px}.aade-overview-card em{font-size:10px;color:var(--muted);font-style:normal}
.aade-main-card{padding:0;overflow:hidden}.aade-main-card .aade-section-head{padding:16px 17px 13px;margin:0;border-bottom:1px solid rgba(120,153,180,.14)}.aade-section-head small{color:var(--muted)}.aade-privacy-chip{font-size:10px;color:var(--muted);padding:5px 8px;background:rgba(110,140,165,.08);border-radius:99px}.aade-table{min-width:1050px}.aade-table th{font-size:10px;text-transform:uppercase;letter-spacing:.045em;padding-top:9px;padding-bottom:9px;background:rgba(90,125,153,.045)}.aade-table td{vertical-align:middle;padding-top:12px;padding-bottom:12px}.aade-table td small{display:block;margin-top:3px;color:var(--muted);font-size:10px}.aade-table tbody tr{transition:background .14s ease}.aade-table tbody tr:hover{background:rgba(47,140,255,.035)}.aade-done-row{opacity:.82}.aade-pending-row{background:rgba(245,158,11,.025)}
.aade-check{display:inline-flex;cursor:pointer}.aade-check input{position:absolute;opacity:0}.aade-check span{width:18px;height:18px;border:1px solid rgba(130,160,185,.42);border-radius:6px;background:var(--bg);display:grid;place-items:center}.aade-check input:checked+span{background:#25ad75;border-color:#25ad75}.aade-check input:checked+span:after{content:'✓';color:#fff;font-size:12px;font-weight:900}.aade-status-pill{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:750;padding:5px 8px;border-radius:99px;background:rgba(47,140,255,.08);color:#75b7ff}.aade-status-pill i{width:6px;height:6px;border-radius:50%;background:currentColor}.aade-status-pill.done{background:rgba(36,173,117,.09);color:#4ed298}.aade-status-pill.attention{background:rgba(236,156,58,.10);color:#f7ae55}.aade-prep-btn{border:1px solid rgba(73,151,221,.24);background:rgba(47,140,255,.09);color:#8bc7ff;border-radius:10px;padding:8px 10px;white-space:nowrap;font-size:11px;font-weight:750;cursor:pointer}.aade-prep-btn:hover{background:rgba(47,140,255,.15)}.aade-prep-btn span{margin-right:3px}.aade-accounting-card{margin-top:14px}.aade-accounting-summary{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;overflow:hidden;border:1px solid rgba(120,153,180,.15);border-radius:11px}.aade-accounting-summary>div{display:grid;gap:3px;padding:11px 12px;background:rgba(90,125,153,.035)}.aade-accounting-summary small{font-size:10px;color:var(--muted)}.aade-accounting-summary b{font-size:14px}
.aade-prep-shell{display:grid;gap:14px}.modal:has(.aade-prep-shell){width:min(900px,94vw);max-height:92vh;overflow:auto;padding:20px}.aade-prep-head{margin:0}.aade-prep-head h2{margin:3px 0 2px}.aade-prep-head p{margin:0;color:var(--muted);font-size:12px}.aade-prep-eyebrow{font-size:9px;letter-spacing:.14em;font-weight:900;color:#5ba9ff}.aade-prep-state{display:flex;align-items:center;gap:11px;padding:11px 13px;border:1px solid rgba(36,173,117,.22);background:rgba(36,173,117,.075);border-radius:12px}.aade-prep-state>span{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:rgba(36,173,117,.15);color:#55d89e;font-weight:900}.aade-prep-state>div{display:grid;gap:2px}.aade-prep-state small{color:var(--muted)}.aade-prep-state.missing{border-color:rgba(236,156,58,.28);background:rgba(236,156,58,.08)}.aade-prep-state.missing>span{background:rgba(236,156,58,.14);color:#ffb15c}.aade-prep-flow{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.aade-step{display:flex;gap:9px;padding:10px 11px;border-radius:11px;background:rgba(100,130,155,.045);border:1px solid rgba(120,153,180,.13)}.aade-step>span{flex:0 0 25px;width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:rgba(47,140,255,.12);color:#82c2ff;font-size:11px;font-weight:900}.aade-step div{display:grid;gap:2px}.aade-step b{font-size:11px}.aade-step small{font-size:9px;color:var(--muted);line-height:1.35}.aade-step.done>span{background:rgba(36,173,117,.13);color:#55d89e}.aade-prep-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.aade-prep-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;border:1px solid rgba(120,153,180,.13);border-radius:10px;background:rgba(95,125,150,.035)}.aade-prep-item>div{display:grid;gap:2px;min-width:0}.aade-prep-item small{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.035em}.aade-prep-item b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.aade-copy-btn{flex:0 0 30px;width:30px;height:30px;border:0;border-radius:8px;background:rgba(47,140,255,.09);color:#80c0ff;cursor:pointer}.aade-copy-btn:disabled{opacity:.28;cursor:default}.aade-helper-note{display:flex;gap:11px;align-items:flex-start;padding:11px 12px;border-radius:11px;background:rgba(90,125,153,.06);border:1px dashed rgba(120,153,180,.22)}.aade-helper-icon{font-size:20px}.aade-helper-note>div:last-child{display:grid;gap:3px}.aade-helper-note b{font-size:11px}.aade-helper-note small{font-size:10px;color:var(--muted);line-height:1.45}.aade-prep-actions{display:flex;gap:9px;justify-content:flex-end}.aade-open-btn{min-width:180px}.aade-safety-line{font-size:9px;color:var(--muted);text-align:center;padding-top:2px}
:root.light .aade-workspace-head{background:linear-gradient(135deg,#f2f8ff,#f8fcfb);border-color:#d7e2eb;box-shadow:0 7px 20px rgba(30,58,82,.07)}:root.light .aade-overview-card{border-color:#dde6ed;box-shadow:0 7px 18px rgba(30,58,82,.06)}:root.light .aade-main-card .aade-section-head{border-color:#e0e7ed}:root.light .aade-table th{background:#f7f9fb}:root.light .aade-table tbody tr:hover{background:#f6faff}:root.light .aade-pending-row{background:#fffdf8}:root.light .aade-check span{background:#fff;border-color:#bfcbd5}:root.light .aade-prep-item,:root.light .aade-step{background:#f8fafc;border-color:#dce5ec}:root.light .aade-helper-note{background:#f8fafc;border-color:#d1dde6}:root.light .aade-accounting-summary{border-color:#dce5ec}:root.light .aade-accounting-summary>div{background:#f8fafc}
@media(max-width:900px){.aade-overview-grid{grid-template-columns:1fr 1fr}.aade-workspace-head{align-items:stretch;flex-direction:column}.aade-head-actions{justify-content:space-between}.aade-prep-grid{grid-template-columns:1fr}.aade-prep-flow{grid-template-columns:1fr}.aade-accounting-summary{grid-template-columns:1fr 1fr}.aade-prep-actions{display:grid;grid-template-columns:1fr}.aade-open-btn{min-width:0}}

/* v4.34 — cleaner TAAK / EOT workspace */
.fee-workspace{display:grid;gap:12px}.fee-toolbar-card{padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:18px;background:linear-gradient(135deg,rgba(55,130,170,.08),rgba(20,170,150,.035))}.fee-toolbar-card h3{margin:2px 0 4px;font-size:18px}.fee-toolbar-card>div small{opacity:.72}.fee-toolbar-card label{display:grid;gap:5px;min-width:130px}.fee-eyebrow{font-size:10px;letter-spacing:.13em;text-transform:uppercase;opacity:.62}.fee-kpis{margin:0}.fee-monthly-card{margin:0}.fee-monthly-table td{vertical-align:middle}.fee-monthly-table tbody tr{transition:background .15s ease}.fee-monthly-table tbody tr.clickable:hover{background:rgba(87,157,198,.07)}.fee-month-name{display:grid;gap:2px}.fee-month-name small{font-size:10px;opacity:.58;font-weight:500}.fee-deadline{display:inline-flex;white-space:nowrap;padding:5px 8px;border-radius:8px;background:rgba(90,120,145,.08);font-variant-numeric:tabular-nums}.fee-period{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:700;white-space:nowrap}.fee-period.low{background:rgba(56,139,205,.10);color:#78bde7}.fee-period.high{background:rgba(235,156,54,.11);color:#e6a75d}.fee-lower-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.75fr);gap:12px}.fee-lower-grid>.section-card{margin:0}.fee-rates-card .table th,.fee-rates-card .table td{padding-left:10px;padding-right:10px}:root.light .fee-toolbar-card{background:linear-gradient(135deg,#f7fbfe,#f5fbf9)}:root.light .fee-monthly-table tbody tr.clickable:hover{background:#f3f8fb}:root.light .fee-deadline{background:#f0f4f7;color:#334d60}:root.light .fee-period.low{background:#eaf5fc;color:#236991}:root.light .fee-period.high{background:#fff3df;color:#9a5d11}
@media(max-width:1100px){.fee-lower-grid{grid-template-columns:1fr}}@media(max-width:700px){.fee-toolbar-card{align-items:stretch;flex-direction:column}.fee-toolbar-card label{width:100%}}

/* v4.35 — unified Legacy-inspired workspace polish across every module */
:root{
  --ui-radius:14px;
  --ui-radius-sm:10px;
  --ui-shadow:0 10px 28px rgba(0,0,0,.16);
  --ui-shadow-soft:0 5px 18px rgba(0,0,0,.10);
  --ui-hairline:color-mix(in srgb,var(--line) 74%,transparent);
  --ui-soft:color-mix(in srgb,var(--panel2) 74%,var(--panel));
}
:root.light{
  --ui-shadow:0 10px 28px rgba(28,55,78,.085);
  --ui-shadow-soft:0 4px 15px rgba(28,55,78,.07);
  --ui-hairline:#d9e3eb;
  --ui-soft:#f7fafc;
}

/* Main workspace rhythm — same visual language in every tab. */
.view{padding:20px 22px 34px}
.hero{margin:0 0 14px;align-items:center;min-height:56px}
.hero>div{min-width:0}
.hero h1{font-size:24px;line-height:1.12;letter-spacing:-.025em;margin:0 0 5px}
.hero p{font-size:12px;line-height:1.45;max-width:780px}
.hero>.primary{min-height:36px}

.card{
  border:1px solid var(--ui-hairline);
  border-radius:var(--ui-radius);
  box-shadow:var(--ui-shadow-soft);
  background:var(--panel);
}
.section-card{padding:16px 17px;margin-bottom:13px}
.section-card>h3:first-child,.section-head h3{font-size:14px;line-height:1.25;letter-spacing:-.01em}
.section-card>h3:first-child{margin:0 0 12px}
.section-card>p{color:var(--muted);line-height:1.58;font-size:12px}
.section-head{min-height:32px;margin-bottom:11px;gap:12px}
.section-head>div{min-width:0}
.section-head small,.section-head span{color:var(--muted);font-size:10.5px}

/* KPI system based on Legacy's compact summary cards. */
.kpis{gap:10px;margin-bottom:13px}
.kpi{position:relative;overflow:hidden;min-height:82px;padding:13px 14px;display:flex;flex-direction:column;justify-content:center}
.kpi:before{content:"";position:absolute;left:0;top:13px;bottom:13px;width:2px;border-radius:99px;background:color-mix(in srgb,var(--blue) 72%,transparent);opacity:.8}
.kpi small{font-size:10px;line-height:1.25;color:var(--muted)}
.kpi strong{font-size:22px;line-height:1.1;letter-spacing:-.025em;margin:3px 0}
.compact-kpis .kpi{min-height:74px;padding:11px 13px}

/* Toolbars and filters: visually one control strip rather than loose fields. */
.filter-grid,.filter-row,.toolbar,.settings-actions{gap:8px}
.card.section-card>.filter-grid:first-child,
.card.section-card>.filter-row:first-child,
.analytics-filters .filter-grid{
  padding:2px;
}
.field,select.field,textarea.field{
  border:1px solid var(--ui-hairline);
  border-radius:var(--ui-radius-sm)!important;
  background:var(--ui-soft);
  min-height:36px;
  padding:8px 10px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.018);
  transition:border-color .14s ease,box-shadow .14s ease,background .14s ease;
}
.field:focus,select.field:focus,textarea.field:focus{
  border-color:color-mix(in srgb,var(--blue) 58%,var(--line));
  box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 12%,transparent);
  background:var(--panel);
}
.compact-field{min-height:32px;height:32px;padding:5px 9px}
.primary,.secondary,.danger-btn,.link-btn{transition:background .14s ease,border-color .14s ease,color .14s ease,box-shadow .14s ease;transform:none!important}
.primary,.secondary,.danger-btn{border-radius:var(--ui-radius-sm);min-height:34px;padding:8px 12px}
.primary{box-shadow:0 5px 14px rgba(20,111,210,.18)}
.secondary{border:1px solid var(--ui-hairline);background:var(--ui-soft)}
.link-btn{border-radius:8px;padding:5px 7px}
.link-btn:hover{background:color-mix(in srgb,var(--blue) 10%,transparent);text-decoration:none}

/* Tables: same density, headers, row boundaries and empty states everywhere. */
.table-wrap{
  border:1px solid var(--ui-hairline);
  border-radius:12px;
  overflow:auto;
  background:var(--panel);
}
.table{border-collapse:separate;border-spacing:0;min-width:100%}
.table th{
  position:relative;
  padding:9px 11px;
  background:color-mix(in srgb,var(--panel2) 64%,var(--panel));
  color:var(--muted);
  font-size:9.5px;
  font-weight:800;
  letter-spacing:.045em;
  text-transform:uppercase;
  border-bottom:1px solid var(--ui-hairline);
  white-space:nowrap;
}
.table td{padding:10px 11px;font-size:12px;border-bottom:1px solid color-mix(in srgb,var(--line) 56%,transparent);vertical-align:middle}
.table tbody tr:last-child td{border-bottom:0}
.table tbody tr{transition:background .12s ease;transform:none!important}
.table tbody tr.clickable:hover,.table tbody tr:hover{background:color-mix(in srgb,var(--panel2) 72%,var(--blue) 3%);transform:none!important}
.table td small{font-size:9.5px;line-height:1.35}
.table tfoot th,.table tfoot td{background:color-mix(in srgb,var(--panel2) 78%,var(--panel));font-weight:800}
.empty{padding:22px 14px!important;color:var(--muted)!important;text-align:center!important;font-size:11px!important}

/* Lists / operational screens. */
.owner-list,.ops-list{display:grid;gap:7px}
.op-row,.booking-row{
  border-bottom:1px solid color-mix(in srgb,var(--line) 60%,transparent);
  border-radius:0;
  padding:10px 4px;
  transform:none!important;
}
.op-row:last-child,.booking-row:last-child{border-bottom:0}
.op-row:hover,.booking-row:hover{transform:none!important}
.status{display:inline-flex;align-items:center;gap:4px;font-weight:700}

/* Cards that act as records should be distinct, not oversized. */
.property-grid{gap:11px}
.property-card{border:1px solid var(--ui-hairline);border-radius:var(--ui-radius);box-shadow:var(--ui-shadow-soft);transform:none!important;transition:border-color .14s ease,box-shadow .14s ease!important}
.property-card:hover{transform:none!important;border-color:color-mix(in srgb,var(--blue) 38%,var(--line));box-shadow:var(--ui-shadow)}
.property-card h3{letter-spacing:-.015em}
.property-meta,.property-fin{gap:6px}

/* Analytics / charts and settings now read like the same product. */
.analytics-grid,.settings-grid,.bottom-grid{gap:11px}
.metric-row{padding:10px 0;border-bottom:1px solid color-mix(in srgb,var(--line) 58%,transparent)}
.metric-row:last-child{border-bottom:0}
.progress{background:color-mix(in srgb,var(--line) 42%,transparent);border-radius:99px;overflow:hidden}
.progress i{border-radius:99px}
.settings-grid>.section-card{height:100%}

/* Notes / guidance copied from Legacy's quiet callout pattern. */
.app-note,.znx-note{
  border:0!important;
  border-left:3px solid var(--blue)!important;
  border-radius:10px!important;
  background:color-mix(in srgb,var(--panel2) 76%,var(--panel))!important;
  color:var(--muted);
  box-shadow:none!important;
}
.app-note.warn{border-left-color:var(--orange)!important}

/* Modals use a single, clear workspace style in dark and light mode. */
.modal-backdrop{backdrop-filter:blur(3px)}
.modal{border:1px solid var(--ui-hairline);border-radius:16px;box-shadow:0 28px 80px rgba(0,0,0,.38);padding:18px}
.modal-head{padding-bottom:12px;margin-bottom:14px;border-bottom:1px solid color-mix(in srgb,var(--line) 60%,transparent)}
.modal-head h2{font-size:19px;letter-spacing:-.02em}
.modal-head p{font-size:11px}
.form-grid{gap:11px}
.form-grid label{font-size:10.5px;font-weight:650}
.form-actions{padding-top:6px}

/* IMPORTANT: hover enlargement only belongs to the sidebar menu. */
#view *:hover{transform:none!important}
.sidebar .nav-group-toggle:hover,.sidebar .nav-btn:hover{transform:scale(1.018)!important}
.sidebar-toggle:hover{transform:scale(1.06)!important}

/* Sidebar: cleaner Legacy-like grouping, no boxed tab outlines. */
.sidebar nav{gap:3px}
.sidebar .nav-btn,.sidebar .nav-group-toggle{
  border:0!important;
  box-shadow:none!important;
  border-radius:9px!important;
}
.sidebar .nav-btn{min-height:34px;padding:8px 10px}
.sidebar .nav-group-toggle{min-height:35px;padding:8px 9px}
.sidebar .nav-group-items{padding:2px 0 4px 7px;border-left:1px solid rgba(112,145,170,.16);margin-left:8px}
.sidebar .nav-group .nav-btn{font-size:11px}
.sidebar .nav-btn.active{background:rgba(39,143,255,.14)!important;color:#eef7ff!important;box-shadow:inset 2px 0 0 var(--blue)!important}
:root.light .sidebar .nav-btn.active{background:rgba(39,143,255,.12)!important;color:#fff!important}

/* Existing dedicated AADE / TAAK workspaces inherit the global hierarchy, not fight it. */
.aade-workspace,.fee-workspace{gap:11px}
.aade-workspace-head,.fee-toolbar-card{border:1px solid var(--ui-hairline)!important;border-radius:var(--ui-radius)!important;box-shadow:var(--ui-shadow-soft)!important}
.aade-overview-card{border:1px solid var(--ui-hairline)!important;border-radius:var(--ui-radius)!important;box-shadow:var(--ui-shadow-soft)!important}
.aade-main-card,.aade-accounting-card,.fee-monthly-card,.fee-lower-grid>.section-card,.fee-rates-card{border-radius:var(--ui-radius)!important}

/* Light mode: strengthen hierarchy without thick outlines. */
:root.light .card,
:root.light .property-card,
:root.light .table-wrap,
:root.light .modal{
  border-color:#dbe5ed;
}
:root.light .section-card,:root.light .kpi,:root.light .property-card{box-shadow:0 5px 18px rgba(31,56,77,.065)}
:root.light .table th{background:#f6f9fb;color:#607487}
:root.light .table td{border-bottom-color:#e7edf2}
:root.light .table tbody tr.clickable:hover,:root.light .table tbody tr:hover{background:#f7fbfe}
:root.light .field,:root.light select.field,:root.light textarea.field{background:#f8fafc;border-color:#d8e2ea;color:#1d3447}
:root.light .field:focus,:root.light select.field:focus,:root.light textarea.field:focus{background:#fff;border-color:#8ebce7}

@media(max-width:1100px){
  .view{padding:18px 18px 30px}
  .property-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:820px){
  .view{padding:14px 12px 88px}
  .hero{min-height:0;margin-bottom:11px}
  .hero h1{font-size:21px}
  .kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .property-grid{grid-template-columns:1fr}
  .section-card{padding:13px}
  .table th,.table td{padding-left:9px;padding-right:9px}
}

/* v4.36 — tab management */
.tab-manager-card{margin-top:14px}
.tab-manager-card .section-head{align-items:flex-start}
.tab-manager-card .section-head p{margin:5px 0 0;max-width:680px;color:var(--muted);font-size:11px;line-height:1.55}
.tab-manager-list{display:grid;gap:5px;margin-top:12px}
.tab-manager-row{display:grid;grid-template-columns:30px minmax(0,1fr) auto 42px;align-items:center;gap:9px;min-height:48px;padding:7px 9px;border:1px solid color-mix(in srgb,var(--line) 65%,transparent);border-radius:10px;background:color-mix(in srgb,var(--panel2) 46%,var(--panel));transition:opacity .14s ease,border-color .14s ease,background .14s ease}
.tab-manager-row.is-hidden{opacity:.56;background:transparent}
.tab-manager-row:hover{border-color:color-mix(in srgb,var(--blue) 32%,var(--line))}
.tab-drag{border:0;background:transparent;color:var(--muted);font-size:15px;letter-spacing:-3px;cursor:default;padding:4px}
.tab-manager-name{display:grid;gap:2px;min-width:0}
.tab-manager-name b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tab-manager-name small{font-size:9.5px;color:var(--muted)}
.tab-order-actions{display:flex;gap:4px}
.tab-order-actions .icon-btn{width:29px;height:29px;min-height:29px;padding:0}
.tab-order-actions .icon-btn:disabled{opacity:.3;cursor:not-allowed}
.tab-switch{position:relative;width:36px;height:21px;display:inline-block}
.tab-switch input{position:absolute;opacity:0;pointer-events:none}
.tab-switch span{position:absolute;inset:0;border-radius:999px;background:color-mix(in srgb,var(--line) 82%,var(--panel2));border:1px solid var(--line);transition:.16s ease;cursor:pointer}
.tab-switch span:after{content:"";position:absolute;width:15px;height:15px;left:2px;top:2px;border-radius:50%;background:var(--muted);transition:.16s ease}
.tab-switch input:checked+span{background:color-mix(in srgb,var(--blue) 28%,var(--panel2));border-color:color-mix(in srgb,var(--blue) 55%,var(--line))}
.tab-switch input:checked+span:after{transform:translateX(15px);background:var(--blue)}
.tab-switch input:disabled+span{opacity:.5;cursor:not-allowed}
.tab-manager-note{margin-top:12px;padding:10px 12px;font-size:10.5px}
@media(max-width:620px){.tab-manager-row{grid-template-columns:22px minmax(0,1fr) auto 38px;gap:6px}.tab-order-actions{gap:2px}.tab-order-actions .icon-btn{width:26px;height:26px;min-height:26px}}

/* v4.37 — advanced Legacy tab manager */
.tab-groups-head{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;margin:13px 0 8px;padding:10px 11px;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--panel2) 38%,transparent)}
.tab-groups-head>span{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.tab-manager-groups{display:flex;align-items:center;flex-wrap:wrap;gap:6px}
.tab-group-chip{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;background:var(--panel);overflow:hidden}
.tab-group-name,.tab-group-delete{border:0;background:transparent;color:var(--text);cursor:pointer;min-height:28px}
.tab-group-name{padding:4px 10px;font-size:10.5px}.tab-group-name:hover{color:var(--blue)}
.tab-group-delete{width:27px;border-left:1px solid var(--line);color:var(--muted);font-size:16px}.tab-group-delete:hover{color:var(--danger);background:color-mix(in srgb,var(--danger) 8%,transparent)}
.tab-manager-columns{display:grid;grid-template-columns:30px minmax(0,1fr) minmax(145px,190px) 42px;gap:9px;padding:0 9px 3px;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.06em}
.tab-manager-row{grid-template-columns:30px minmax(0,1fr) minmax(145px,190px) 42px;position:relative}
.tab-manager-row[draggable="true"]{cursor:grab}.tab-manager-row[draggable="true"]:active{cursor:grabbing}
.tab-manager-row.dragging{opacity:.3;transform:scale(.995)}
.tab-manager-row.drag-over:before,.tab-manager-row.drag-after:after{content:"";position:absolute;left:8px;right:8px;height:2px;border-radius:99px;background:var(--blue);box-shadow:0 0 0 2px color-mix(in srgb,var(--blue) 15%,transparent)}
.tab-manager-row.drag-over:before{top:-4px}.tab-manager-row.drag-after:after{bottom:-4px}
.tab-drag{cursor:grab!important}.tab-manager-row[draggable="false"] .tab-drag{opacity:.3;cursor:not-allowed!important}
.tab-name-edit{display:inline-flex;align-items:center;gap:6px;min-width:0;width:max-content;max-width:100%;padding:0;border:0;background:transparent;color:var(--text);cursor:pointer;text-align:left}
.tab-name-edit b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tab-name-edit span{opacity:0;color:var(--muted);font-size:10px;transition:.14s ease}.tab-name-edit:hover span{opacity:1}.tab-name-edit:hover b{color:var(--blue)}
.tab-group-select{height:31px!important;min-height:31px!important;padding:4px 27px 4px 8px!important;font-size:10.5px!important}
@media(max-width:720px){.tab-groups-head{grid-template-columns:1fr}.tab-manager-columns{display:none}.tab-manager-row{grid-template-columns:22px minmax(0,1fr) 38px;gap:6px}.tab-group-select{grid-column:2/3;width:100%;margin-top:2px}.tab-switch{grid-column:3;grid-row:1/3;align-self:center}.tab-manager-name small{display:block}}

/* v4.38 — Legacy-style Year Comparison, using Mitos filter language */
.yc-workspace{display:flex;flex-direction:column;gap:10px}.yc-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;padding:12px 14px}.yc-year-pair{display:flex;align-items:flex-end;gap:9px}.yc-year-pair label{display:grid;gap:4px;min-width:138px}.yc-year-pair small{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.yc-year-pair .field{height:34px;min-height:34px}.yc-vs{display:grid;place-items:center;width:30px;height:30px;margin-bottom:2px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:9px;font-weight:800}.yc-toolbar-actions{display:flex;align-items:center;gap:8px}.yc-filter-anchor{position:relative}.yc-filter-menu{right:0;left:auto;width:min(560px,calc(100vw - 300px))}.yc-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.yc-kpi{padding:11px 12px;min-width:0}.yc-kpi-head{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:9px}.yc-kpi-head>small{color:var(--muted);font-weight:700}.yc-kpi-values{display:grid;grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr);align-items:center;gap:5px}.yc-kpi-values>div:not(.yc-kpi-arrow){display:grid;gap:2px;min-width:0}.yc-kpi-values span{font-size:8.5px;color:var(--muted)}.yc-kpi-values strong{font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.yc-kpi-arrow{text-align:center;color:var(--muted);font-size:12px}.yc-delta{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;border-radius:999px;padding:2px 6px;font-size:8.5px;font-weight:800}.yc-delta.up{background:rgba(53,185,126,.12);color:#49c98d}.yc-delta.down{background:rgba(232,94,94,.12);color:#ef7777}.yc-delta.neutral{background:rgba(145,157,171,.12);color:var(--muted)}.yc-month-card{margin:0}.yc-month-card .section-head{margin-bottom:8px}.yc-month-card .section-head h3{margin:0 0 2px}.yc-legend{display:flex;gap:10px;font-size:9px;color:var(--muted)}.yc-legend span{display:flex;align-items:center;gap:4px}.yc-legend i{width:7px;height:7px;border-radius:50%;background:var(--accent)}.yc-legend span:nth-child(2) i{opacity:.45}.yc-table th,.yc-table td{white-space:nowrap;font-size:10px}.yc-table td .yc-delta{font-size:8px}.yc-month-range label{min-width:0}
@media(max-width:1180px){.yc-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.yc-filter-menu{width:min(560px,calc(100vw - 260px))}}
@media(max-width:820px){.yc-toolbar{align-items:stretch;flex-direction:column}.yc-year-pair{width:100%}.yc-year-pair label{flex:1;min-width:0}.yc-toolbar-actions{justify-content:flex-end}.yc-filter-menu{position:fixed;left:12px;right:12px;top:110px;width:auto}.yc-summary-grid{grid-template-columns:1fr 1fr}.yc-kpi-values strong{font-size:15px}}
@media(max-width:520px){.yc-summary-grid{grid-template-columns:1fr}.yc-year-pair{gap:6px}.yc-vs{width:26px;height:26px}.yc-kpi-values strong{font-size:17px}}

/* v4.39 — status/language/PV/import/tab-manager/settings polish */
.booking-guest-cell{display:flex;align-items:center;gap:8px;min-width:150px}.booking-guest-cell>div{display:grid;min-width:0}.bp-badge-inline{flex:0 0 auto;position:static;margin:0;font-size:9px;line-height:1;padding:4px 6px;border-radius:999px;white-space:nowrap}.sidebar{padding-bottom:74px!important}.sidebar-settings-gear{position:fixed;z-index:32;left:12px;bottom:12px;width:198px;min-height:42px;border:1px solid rgba(130,155,175,.15);border-radius:10px;background:#08131e;color:#a9bac9;display:flex;align-items:center;gap:10px;padding:9px 12px;cursor:pointer;text-align:left;box-shadow:0 -8px 22px rgba(3,11,18,.22)}.sidebar-settings-gear span{font-size:18px}.sidebar-settings-gear b{font-size:12px}.sidebar-settings-gear:hover,.sidebar-settings-gear.active{background:rgba(48,139,230,.14);color:#fff}.app-shell.sidebar-collapsed .sidebar-settings-gear{opacity:0;visibility:hidden;pointer-events:none}.tab-manager-modal-body{min-width:min(780px,82vw);max-height:68vh;overflow:auto;padding-right:4px}.csv-import-workspace{display:grid;gap:12px}.csv-drop-card{text-align:center;padding:30px!important}.csv-drop-icon{font-size:38px;line-height:1;margin-bottom:8px}.csv-file-button{display:inline-flex;margin-top:10px;cursor:pointer}.csv-file-button input{display:none}.csv-mapping-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.csv-mapping-grid label{display:grid;gap:5px}.csv-mapping-grid label span{font-size:11px;color:var(--muted);font-weight:700}.csv-import-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px}.csv-import-summary>div{border:1px solid var(--line);border-radius:10px;padding:10px;display:grid;gap:3px}.csv-import-summary small{color:var(--muted)}.csv-import-summary strong{font-size:20px}.csv-duplicate{opacity:.58}.csv-invalid{background:rgba(220,80,80,.06)}.csv-preview-table td,.csv-preview-table th{white-space:nowrap}.csv-import-actions{margin-top:12px}@media(max-width:820px){.sidebar-settings-gear{display:none}.csv-mapping-grid{grid-template-columns:1fr}.csv-import-summary{grid-template-columns:repeat(2,1fr)}.tab-manager-modal-body{min-width:0;width:100%;max-height:70vh}}

/* v4.40 — revenue charts and pie analysis */
.yc-chart-card,.analytics-chart-card{overflow:hidden}
.yc-bars{height:230px;display:grid;grid-template-columns:repeat(12,minmax(34px,1fr));gap:9px;align-items:end;padding:18px 2px 0;overflow-x:auto}
.yc-bar-col{height:100%;display:grid;grid-template-rows:1fr 22px;gap:5px;text-align:center;min-width:34px}
.yc-pair{height:100%;display:flex;align-items:flex-end;justify-content:center;gap:4px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--panel) 65%,var(--bg)))}
.yc-pair i{width:31%;min-height:0;border-radius:5px 5px 1px 1px;transition:height .2s ease}.yc-pair i.a,.yc-chart-legend i.a{background:#4f7cff}.yc-pair i.b,.yc-chart-legend i.b{background:#20b8a6}
.yc-bar-col small{color:var(--muted);font-size:10px}.yc-chart-legend{display:flex;gap:12px;font-size:11px;color:var(--muted)}.yc-chart-legend span{display:flex;align-items:center;gap:5px}.yc-chart-legend i{width:9px;height:9px;border-radius:3px}
.yc-pies-grid,.analytics-pie-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.mitos-pie-wrap{display:grid;grid-template-columns:170px 1fr;gap:20px;align-items:center;min-height:190px}.mitos-pie{width:160px;height:160px;border-radius:50%;display:grid;place-items:center;position:relative;margin:auto}.mitos-pie:after{content:"";position:absolute;inset:30px;border-radius:50%;background:var(--panel);border:1px solid var(--line)}.mitos-pie>div{position:relative;z-index:1;text-align:center;font-weight:800;font-size:22px}.mitos-pie small{display:block;font-weight:500;font-size:9px;color:var(--muted);margin-top:2px}.mitos-pie-legend{display:grid;gap:8px}.mitos-pie-legend>div{display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:8px;font-size:11px}.mitos-pie-legend i{width:9px;height:9px;border-radius:3px}.mitos-pie-legend span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mitos-pie-legend b{font-size:11px}
.analytics-month-bars{height:230px;display:grid;grid-template-columns:repeat(12,minmax(44px,1fr));gap:8px;align-items:end;padding-top:14px;overflow-x:auto}.analytics-month-col{height:100%;display:grid;grid-template-rows:18px 1fr 22px;gap:4px;min-width:44px;text-align:center}.analytics-month-value{font-size:8px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.analytics-month-track{height:100%;display:flex;align-items:flex-end;justify-content:center;background:color-mix(in srgb,var(--panel) 72%,var(--bg));border-bottom:1px solid var(--line);border-radius:6px 6px 0 0}.analytics-month-track i{display:block;width:58%;border-radius:5px 5px 1px 1px;background:linear-gradient(180deg,var(--blue),var(--teal));transition:height .2s ease}.analytics-month-col small{font-size:9px;color:var(--muted)}
@media(max-width:850px){.yc-pies-grid,.analytics-pie-grid{grid-template-columns:1fr}.mitos-pie-wrap{grid-template-columns:140px 1fr}.mitos-pie{width:130px;height:130px}.mitos-pie:after{inset:25px}.yc-bars,.analytics-month-bars{grid-template-columns:repeat(12,46px)}}
@media(max-width:520px){.mitos-pie-wrap{grid-template-columns:1fr}.mitos-pie-legend{grid-template-columns:1fr 1fr}.yc-bars,.analytics-month-bars{height:190px}}
/* v4.43 import review */
.csv-preview-table input[type="checkbox"]{width:18px;height:18px;cursor:pointer;accent-color:currentColor}
.csv-preview-table .compact-btn{white-space:nowrap}
.csv-preview-table td,.csv-preview-table th{vertical-align:middle}

.csv-possible-duplicate{outline:1px dashed rgba(240,166,70,.45);outline-offset:-1px}.csv-possible-duplicate td{background:rgba(240,166,70,.035)}

/* v4.47 — Legacy-style sidebar icons, direct drag & drop, wider tab manager */
.sidebar .nav-btn{display:flex!important;align-items:center;gap:9px;position:relative;overflow:visible}
.sidebar .nav-item-icon{flex:0 0 22px;width:22px;height:22px;display:grid;place-items:center;border-radius:7px;background:rgba(79,156,232,.075);color:#86bdf0;font-size:13px;font-weight:800;line-height:1}
.sidebar .nav-item-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sidebar .nav-btn.active .nav-item-icon{background:rgba(47,143,255,.17);color:#d9ecff}
.sidebar .nav-group-title{display:flex;align-items:center;gap:7px;min-width:0}
.sidebar .nav-group-title>span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sidebar .nav-group-icon{flex:0 0 18px;width:18px;text-align:center;color:#6f8da8;font-size:11px;letter-spacing:0}
.sidebar .nav-btn[draggable="true"]{cursor:grab}
.sidebar .nav-btn[draggable="true"]:active{cursor:grabbing}
.sidebar .nav-btn.sidebar-dragging{opacity:.35}
.sidebar .nav-btn.sidebar-drop-before:before,.sidebar .nav-btn.sidebar-drop-after:after{content:"";position:absolute;left:5px;right:5px;height:2px;border-radius:99px;background:var(--blue);box-shadow:0 0 0 2px color-mix(in srgb,var(--blue) 16%,transparent);z-index:4}
.sidebar .nav-btn.sidebar-drop-before:before{top:-2px}
.sidebar .nav-btn.sidebar-drop-after:after{bottom:-2px}
.sidebar .nav-group-toggle.sidebar-group-drop{background:rgba(47,143,255,.13)!important;color:#dbeeff!important;outline:1px dashed rgba(89,169,247,.55)}
.sidebar .nav-group-toggle.sidebar-group-drop .nav-group-icon{color:#8cc8ff}

.modal:has(.tab-manager-modal-body){width:min(1120px,96vw);max-width:none;overflow:hidden;padding:22px}
.tab-manager-modal-body{width:100%;min-width:0!important;max-height:74vh!important;overflow-y:auto!important;overflow-x:hidden!important;padding-right:6px!important}
.tab-manager-modal-body .tab-groups-head{grid-template-columns:86px minmax(0,1fr)}
.tab-manager-modal-body .tab-manager-columns,.tab-manager-modal-body .tab-manager-row{grid-template-columns:34px minmax(240px,1fr) minmax(210px,280px) 62px;gap:12px}
.tab-manager-modal-body .tab-manager-list,.tab-manager-modal-body .tab-manager-row,.tab-manager-modal-body .tab-manager-columns{width:100%;min-width:0}
.tab-manager-modal-body .tab-group-select{width:100%;min-width:0}
.tab-manager-modal-body .tab-manager-name{min-width:0}
.tab-manager-modal-body .tab-manager-name small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:900px){.modal:has(.tab-manager-modal-body){width:min(760px,96vw);padding:16px}.tab-manager-modal-body .tab-manager-columns{display:none}.tab-manager-modal-body .tab-manager-row{grid-template-columns:28px minmax(0,1fr) 52px}.tab-manager-modal-body .tab-group-select{grid-column:2/3;width:100%;margin-top:4px}.tab-manager-modal-body .tab-switch{grid-column:3;grid-row:1/3;align-self:center}.tab-manager-modal-body .tab-groups-head{grid-template-columns:1fr}}
/* v4.49 Tax / PV lease polish */
.tax-zyro-toolbar .section-head{align-items:flex-end}.tax-source-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:14px 0}.tax-source-grid .section-card{margin:0}.tax-source-grid .detail-strip{margin-top:10px}.bp-row .bp-badge-inline{flex:0 0 auto}@media(max-width:900px){.tax-source-grid{grid-template-columns:1fr}}
/* v4.54 Private Panic + Settings Alerts */
.private-panic-card{border-color:rgba(225,72,72,.34);background:linear-gradient(180deg,rgba(225,72,72,.055),rgba(17,24,39,.02));margin-bottom:14px}
.private-panic-card .fee-eyebrow{color:#ff8d8d;letter-spacing:.14em;font-weight:900}
.private-panic-card .panic-action{min-width:190px;font-weight:850}
.panic-settings-status{margin-top:12px;padding:9px 11px;border:1px solid var(--border);border-radius:10px;font-size:12px;color:var(--muted)}
.panic-settings-status.active{border-color:rgba(225,72,72,.38);background:rgba(225,72,72,.08);color:#ffb0b0}

/* v4.55 Accounts / Bills */
.bills-top-grid{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:16px;align-items:start}.bills-side-stack{display:grid;gap:16px}.bills-filter-row{display:grid;grid-template-columns:minmax(210px,1fr) repeat(4,minmax(130px,.45fr));gap:10px;margin:12px 0}.bills-table td small{display:block;margin-top:3px}.bill-cat{white-space:nowrap;font-weight:650}.bill-status{border:0;cursor:pointer}.bill-row.overdue{background:rgba(180,45,45,.055)}.bill-big-number{font-size:30px;font-weight:800;margin:12px 0}.bill-category-bars{display:grid;gap:13px;margin-top:12px}.bill-category-row>div:first-child{display:flex;justify-content:space-between;gap:12px;font-size:13px}.bill-mini-track{height:7px;border-radius:99px;background:var(--line,#e5e7eb);overflow:hidden;margin-top:6px}.bill-mini-track i{display:block;height:100%;background:currentColor;opacity:.48;border-radius:99px}@media(max-width:1050px){.bills-top-grid{grid-template-columns:1fr}.bills-side-stack{grid-template-columns:1fr 1fr}.bills-filter-row{grid-template-columns:1fr 1fr}}@media(max-width:650px){.bills-side-stack,.bills-filter-row{grid-template-columns:1fr}}

/* v4.56 — desktop calendar: two fixed property lanes + compact overflow + continuous Airbnb-style rails */
@media(min-width:901px){
  .calendar-card-full .day{
    position:relative;
    overflow:hidden!important;
  }
  .calendar-card-full .calendar-day-head{
    position:relative;
    z-index:4;
  }
  .calendar-card-full .calendar-lanes{
    position:absolute;
    z-index:2;
    left:0;
    right:0;
    top:27px;
    bottom:3px;
    display:grid;
    grid-template-rows:18px 18px 11px;
    row-gap:3px;
    align-content:start;
    pointer-events:none;
  }
  .calendar-card-full .calendar-lane{
    position:relative;
    min-width:0;
    height:100%;
  }
  .calendar-card-full .calendar-lane .calendar-stay,
  .calendar-card-full .calendar-lane .calendar-more-btn{
    pointer-events:auto;
  }
  .calendar-card-full .calendar-rail{
    position:absolute!important;
    top:0;
    bottom:0;
    width:auto!important;
    min-width:0!important;
    height:18px!important;
    min-height:18px!important;
    margin:0!important;
    padding:2px 6px!important;
    border:0!important;
    border-radius:0!important;
    background:color-mix(in srgb,var(--prop-color) 34%,var(--panel))!important;
    box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--prop-color) 56%,transparent);
    overflow:hidden;
    z-index:2;
  }
  .calendar-card-full .calendar-rail.is-start{
    left:45%;
    right:-1px;
    border-radius:7px 0 0 7px!important;
  }
  .calendar-card-full .calendar-rail.is-middle{
    left:-1px;
    right:-1px;
  }
  .calendar-card-full .calendar-rail.is-checkout{
    left:-1px;
    right:55%;
    border-radius:0 7px 7px 0!important;
  }
  .calendar-card-full .calendar-rail.is-single{
    left:45%;
    right:45%;
    border-radius:7px!important;
  }
  .calendar-card-full .calendar-rail .calendar-stay-guest{
    position:relative;
    z-index:1;
    display:block;
    width:100%;
    font-size:9.5px!important;
    line-height:14px!important;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .calendar-card-full .calendar-label-hidden{
    visibility:hidden;
  }
  .calendar-card-full .calendar-overflow-count{
    position:absolute;
    left:5px;
    top:0;
    width:auto!important;
    min-width:24px;
    height:11px;
    min-height:11px!important;
    line-height:11px!important;
    padding:0 3px!important;
    margin:0!important;
    border:0!important;
    background:transparent!important;
    color:var(--blue)!important;
    font-size:8.5px!important;
    font-weight:800;
    text-align:left;
    white-space:nowrap;
  }
}
@media(min-width:901px) and (min-height:850px){
  .calendar-card-full .calendar-lanes{
    top:29px;
    grid-template-rows:20px 20px 12px;
    row-gap:3px;
  }
  .calendar-card-full .calendar-rail{
    height:20px!important;
    min-height:20px!important;
  }
  .calendar-card-full .calendar-rail .calendar-stay-guest{
    font-size:10px!important;
    line-height:16px!important;
  }
  .calendar-card-full .calendar-overflow-count{
    height:12px;
    min-height:12px!important;
    line-height:12px!important;
  }
}

/* v4.57 — Desktop flyout navigation: categories stay compact; tabs open to the right. */
@media (min-width:821px){
  .sidebar{z-index:60;overflow:visible!important}
  .sidebar nav{overflow:visible!important;position:relative}
  .sidebar .nav-group{position:relative;margin-bottom:3px}
  .sidebar .nav-group-toggle{position:relative;z-index:2}
  .sidebar .nav-group .nav-chevron{transform:none!important;transition:transform .14s ease}
  .sidebar .nav-group:hover .nav-chevron{transform:translateX(2px)!important}
  .sidebar .nav-group-items,
  .sidebar .nav-group.collapsed .nav-group-items{
    position:absolute;
    left:calc(100% + 4px);
    top:-7px;
    z-index:80;
    width:238px;
    max-height:min(72vh,620px)!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    display:grid!important;
    gap:3px;
    margin:0!important;
    padding:9px!important;
    border:1px solid rgba(118,151,178,.22)!important;
    border-left:1px solid rgba(118,151,178,.22)!important;
    border-radius:12px;
    background:#091a29;
    box-shadow:0 16px 42px rgba(0,0,0,.38);
    opacity:0!important;
    visibility:hidden;
    pointer-events:none;
    transform:translateX(-5px);
    transition:opacity .12s ease,transform .12s ease,visibility .12s ease!important;
  }
  :root.light .sidebar .nav-group-items,
  :root.light .sidebar .nav-group.collapsed .nav-group-items{background:var(--panel);box-shadow:0 16px 42px rgba(20,40,60,.18)}
  .sidebar .nav-group:hover>.nav-group-items,
  .sidebar .nav-group:focus-within>.nav-group-items{
    opacity:1!important;
    visibility:visible;
    pointer-events:auto;
    transform:translateX(0)
  }
  .sidebar .nav-group-items:before{
    content:"";position:absolute;left:-18px;top:-8px;width:22px;height:calc(100% + 16px);pointer-events:auto
  }
  .sidebar .nav-group .nav-btn{min-height:36px;padding:8px 10px;border-radius:8px}
  .sidebar .nav-group.has-active>.nav-group-toggle{background:rgba(48,139,230,.10);color:#b8daf8}
  /* Hover bridge so the flyout stays open while the pointer crosses from the category to the panel. */
  .sidebar .nav-group::after{
    content:"";position:absolute;top:-8px;left:100%;width:14px;height:calc(100% + 16px);z-index:79
  }
}

/* v4.59 — dashboard today, compact guests, visible PV panic, damages/claims */
.today-modal{color:var(--text)}
.today-flow-button{width:100%;font:inherit;color:var(--text);text-align:left;appearance:none}
.today-flow-main{min-width:0;display:grid;gap:2px}.today-flow-main b{font-size:13px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.today-flow-main small{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.today-flow-main span{font-size:10px;color:var(--muted);opacity:.9}
.today-flow-side{text-align:right;white-space:nowrap}.today-flow-side b{color:var(--text);font-size:12px}.today-flow-side small{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.today-flow-arrow{font-size:22px;color:var(--muted);line-height:1}.today-flow-button:hover .today-flow-arrow{color:var(--blue);transform:translateX(2px)}
:root.light .today-flow-row{background:#f8fafc;border-color:#dce5ec;color:#173047}:root.light .today-flow-row:hover{background:#f1f7fc;border-color:#8ebce7}:root.light .today-flow-main b,:root.light .today-flow-side b{color:#173047}:root.light .today-flow-main small,:root.light .today-flow-main span,:root.light .today-flow-side small{color:#60758a}
.guest-compact-toolbar{padding:11px 13px;margin-bottom:12px;display:flex;align-items:center;justify-content:space-between;gap:12px}.guest-compact-stats{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.guest-compact-stats span{display:flex;align-items:baseline;gap:5px;padding:6px 9px;border:1px solid var(--line);background:var(--panel2);border-radius:9px;font-size:10px;color:var(--muted)}.guest-compact-stats b{font-size:14px;color:var(--text)}.guest-compact-search{display:flex;align-items:center;gap:7px;min-width:230px;color:var(--muted)}.guest-compact-search .field{padding:8px 10px}.guest-compact-card{padding-top:8px!important}.guest-compact-table td{padding-top:10px;padding-bottom:10px;vertical-align:middle}.guest-name-cell,.guest-contact-cell{display:grid;gap:2px;min-width:0}.guest-name-cell small,.guest-contact-cell small,.guest-compact-table td>small{font-size:9px;color:var(--muted)}
.private-panic-quick{margin-top:13px;padding:11px;border:1px solid rgba(220,80,80,.28);border-radius:11px;background:rgba(220,80,80,.055);display:flex;align-items:center;justify-content:space-between;gap:12px}.private-panic-quick>div{display:grid;gap:3px}.private-panic-quick b{font-size:12px;color:#ff9da4}.private-panic-quick small{font-size:10px;color:var(--muted);line-height:1.4}.private-panic-quick.active{background:rgba(220,80,80,.10);border-color:rgba(220,80,80,.42)}:root.light .private-panic-quick{background:#fff7f7;border-color:#efc7ca}:root.light .private-panic-quick b{color:#a63843}
.damage-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:10px;margin-bottom:12px}.damage-stat{padding:12px 14px;display:grid;gap:3px}.damage-stat small{font-size:10px;color:var(--muted)}.damage-stat strong{font-size:19px}.damage-add{align-self:stretch;min-width:145px}.damage-table td{vertical-align:middle}.damage-table td small{font-size:9px}.damage-status{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:750;background:rgba(100,130,155,.1);color:var(--text)}.damage-status.s-open,.damage-status.s-pending{background:rgba(238,165,62,.12);color:#efb45f}.damage-status.s-repairing,.damage-status.s-submitted{background:rgba(55,135,230,.12);color:#75b5ff}.damage-status.s-claimed,.damage-status.s-approved{background:rgba(141,112,219,.14);color:#bba2ff}.damage-status.s-resolved,.damage-status.s-paid{background:rgba(43,172,118,.13);color:#67d7a1}.damage-status.s-rejected{background:rgba(220,80,80,.12);color:#ff989f}.damage-actions{display:flex;justify-content:flex-end;gap:5px}:root.light .damage-status.s-open,:root.light .damage-status.s-pending{color:#94601c}:root.light .damage-status.s-repairing,:root.light .damage-status.s-submitted{color:#2669a9}:root.light .damage-status.s-claimed,:root.light .damage-status.s-approved{color:#654ba7}:root.light .damage-status.s-resolved,:root.light .damage-status.s-paid{color:#247650}:root.light .damage-status.s-rejected{color:#a33941}
@media(max-width:900px){.damage-summary{grid-template-columns:1fr 1fr}.damage-add{min-height:52px}.guest-compact-toolbar{align-items:stretch;flex-direction:column}.guest-compact-search{min-width:0}.guest-compact-table{min-width:660px}}


/* v4.60 — contrast polish, clearer flyout typography, refreshed long-term icon, softer modern calendar */
/* Dashboard / Today: keep all numeric and primary values readable in dark mode. */
:root:not(.light) .dashboard-screen strong,
:root:not(.light) .dashboard-screen .mini-big,
:root:not(.light) .dashboard-screen .dashboard-bar-value,
:root:not(.light) .dashboard-screen .dash-kpi strong,
:root:not(.light) .dashboard-screen .kpi strong,
:root:not(.light) .today-modal b,
:root:not(.light) .today-modal strong,
:root:not(.light) .today-flow-side b,
:root:not(.light) .today-flow-main b{
  color:#f5f8fc!important;
}
:root:not(.light) .today-flow-row{
  color:#f5f8fc!important;
  background:#10283b!important;
  border-color:#24465e!important;
}
:root:not(.light) .today-flow-row:hover{
  background:#15334a!important;
  border-color:#2f93ea!important;
}

/* Desktop flyout: stronger, high-contrast labels in both themes. */
@media (min-width:821px){
  .sidebar .nav-group-items .nav-btn{
    color:#eef6ff!important;
    font-weight:650;
    opacity:1!important;
  }
  .sidebar .nav-group-items .nav-item-icon{color:#9ccfff!important;opacity:1!important}
  .sidebar .nav-group-items .nav-btn:hover,
  .sidebar .nav-group-items .nav-btn.active{
    color:#ffffff!important;
    background:#123f6d!important;
  }
  :root.light .sidebar .nav-group-items .nav-btn{
    color:#183247!important;
  }
  :root.light .sidebar .nav-group-items .nav-item-icon{
    color:#315e82!important;
  }
  :root.light .sidebar .nav-group-items .nav-btn:hover,
  :root.light .sidebar .nav-group-items .nav-btn.active{
    color:#102235!important;
    background:#e6f1fb!important;
  }
}

/* Calendar: modern, softer frame without changing the fixed-lane / continuous-bar logic. */
.calendar-card-full{
  border-radius:18px!important;
  border-color:color-mix(in srgb,var(--line) 72%,transparent)!important;
  background:linear-gradient(180deg,color-mix(in srgb,var(--panel) 97%,var(--blue)),var(--panel))!important;
  box-shadow:0 16px 38px rgba(0,0,0,.16)!important;
}
.calendar-card-full .calendar-toolbar{
  padding:2px 2px 8px;
}
.calendar-card-full .calendar-arrow{
  width:30px;height:30px;padding:0!important;border-radius:999px!important;
  border:1px solid color-mix(in srgb,var(--line) 78%,transparent)!important;
  background:color-mix(in srgb,var(--panel2) 88%,transparent)!important;
}
.calendar-card-full .calendar-arrow:hover{
  background:color-mix(in srgb,var(--panel2) 78%,var(--blue))!important;
  text-decoration:none!important;
}
.calendar-card-full .week{
  border-radius:13px 13px 0 0!important;
  border-color:color-mix(in srgb,var(--line) 64%,transparent)!important;
  background:color-mix(in srgb,var(--panel2) 72%,var(--panel))!important;
}
.calendar-card-full .week span{
  border-right-color:color-mix(in srgb,var(--line) 52%,transparent)!important;
  letter-spacing:.03em;
}
.calendar-card-full .calendar{
  border-left:1px solid color-mix(in srgb,var(--line) 64%,transparent)!important;
  border-top:0!important;
  border-radius:0 0 13px 13px!important;
  overflow:hidden!important;
  background:color-mix(in srgb,var(--line) 36%,transparent)!important;
}
.calendar-card-full .day{
  border-right-color:color-mix(in srgb,var(--line) 58%,transparent)!important;
  border-bottom-color:color-mix(in srgb,var(--line) 58%,transparent)!important;
  background:color-mix(in srgb,var(--panel) 98%,var(--blue))!important;
  transition:background .14s ease,box-shadow .14s ease;
}
.calendar-card-full .day:nth-child(7n+6),
.calendar-card-full .day:nth-child(7n+7){
  background:color-mix(in srgb,var(--panel) 94%,var(--panel2))!important;
}
.calendar-card-full .day:hover{
  background:color-mix(in srgb,var(--panel) 91%,var(--blue))!important;
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--blue) 22%,transparent);
}
.calendar-card-full .calendar-day-number{
  min-width:25px;height:25px;
  border-radius:9px!important;
  font-weight:750;
  color:var(--text);
}
.calendar-card-full .day.muted .calendar-day-number{opacity:.46}
.calendar-card-full .today-cell .calendar-day-number{
  border-radius:9px!important;
  box-shadow:0 5px 14px color-mix(in srgb,var(--blue) 30%,transparent);
}
.calendar-card-full .calendar-rail{
  box-shadow:0 3px 10px color-mix(in srgb,var(--prop-color) 18%,transparent),inset 0 0 0 1px color-mix(in srgb,var(--prop-color) 45%,transparent)!important;
}
.calendar-card-full .calendar-rail.is-start{border-radius:9px 0 0 9px!important}
.calendar-card-full .calendar-rail.is-checkout{border-radius:0 9px 9px 0!important}
.calendar-card-full .calendar-rail.is-single{border-radius:9px!important}
.calendar-card-full .calendar-property-legend{
  border-top-color:color-mix(in srgb,var(--line) 58%,transparent)!important;
}
:root.light .calendar-card-full{
  box-shadow:0 14px 34px rgba(37,67,92,.10)!important;
}

/* v4.62 — sidebar toggle rail, AADE light check visibility */
@media(min-width:821px){
  .sidebar-toggle{
    top:18px!important;
    right:8px!important;
    width:30px!important;
    height:30px!important;
    box-shadow:none!important;
    z-index:5!important;
  }
  .app-shell.sidebar-collapsed{grid-template-columns:46px minmax(0,1fr)!important}
  .app-shell.sidebar-collapsed .sidebar{
    width:46px!important;
    min-width:46px!important;
    padding:0!important;
    border-right:1px solid var(--line)!important;
    background:linear-gradient(180deg,#091522 0%,#08131e 55%,#07111a 100%)!important;
  }
  .app-shell.sidebar-collapsed .sidebar-toggle{
    position:absolute!important;
    top:18px!important;
    left:8px!important;
    right:auto!important;
    margin:0!important;
  }
}
:root.light .aade-check input:checked+span{
  background:#179c63!important;
  border-color:#138956!important;
  box-shadow:0 0 0 2px rgba(23,156,99,.10);
}
:root.light .aade-check input:checked+span:after{color:#fff!important}
\n/* v4.66 Legacy-style damage/claim polish */
.damage-guest-row{box-shadow:inset 3px 0 0 rgba(235,155,55,.7)}
.damage-form-rich .damage-guest-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.damage-photo-preview{display:flex;gap:8px;flex-wrap:wrap;min-height:24px}.damage-photo-thumb{width:76px;height:64px;border-radius:10px;overflow:hidden;position:relative;border:1px solid var(--border);background:var(--surface2)}.damage-photo-thumb img{width:100%;height:100%;object-fit:cover}.damage-photo-thumb button{position:absolute;right:3px;top:3px;width:20px;height:20px;border:0;border-radius:999px;background:rgba(0,0,0,.7);color:#fff;cursor:pointer}.damage-photo-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.damage-photo-gallery img{width:100%;max-height:380px;object-fit:contain;border-radius:12px;background:var(--surface2);border:1px solid var(--border)}.damage-photo-count{padding:5px 8px}
@media(max-width:700px){.damage-form-rich .damage-guest-fields{grid-template-columns:1fr}.damage-photo-gallery{grid-template-columns:1fr}}
/* v4.68 Legacy damages / claims parity */
.damage-zy-head{align-items:flex-start}
.damage-filterbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:12px 0 14px}
.damage-filterbar .field{width:auto;min-width:190px}
.damage-filterbar .secondary{margin-left:auto}
.damage-form-rich .damage-guest-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.damage-photo-preview{display:flex;gap:10px;flex-wrap:wrap;min-height:26px}
.damage-photo-thumb{position:relative;width:94px;height:74px;border-radius:10px;overflow:hidden;border:1px solid var(--line)}
.damage-photo-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.damage-photo-thumb button{position:absolute;right:4px;top:4px;width:24px;height:24px;border:0;border-radius:50%;cursor:pointer}
.damage-photo-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.damage-photo-gallery img{width:100%;border-radius:12px;border:1px solid var(--line)}
@media(max-width:800px){.damage-form-rich .damage-guest-fields{grid-template-columns:1fr}.damage-filterbar .field,.damage-filterbar .secondary{width:100%;margin-left:0}}


/* v4.69 — flyout menus without internal scroll + full-width calendar */
@media (min-width:821px){
  .sidebar .nav-group-items,
  .sidebar .nav-group.collapsed .nav-group-items{
    max-height:none!important;
    height:auto!important;
    overflow:visible!important;
    scrollbar-width:none!important;
  }
  .sidebar .nav-group-items::-webkit-scrollbar{display:none!important}
}
.calendar-screen,
.calendar-screen .calendar-card-full{
  width:100%!important;
  max-width:none!important;
}

/* v4.74 — functional Benefits workspace */
.benefit-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}
.benefit-summary-grid .kpi span{display:block;margin-top:6px;color:var(--muted);font-size:12px}
.benefit-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}
.benefit-tabs button{border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:12px;padding:10px 13px;font:inherit;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:7px}
.benefit-tabs button:hover{background:var(--panel-2)}
.benefit-tabs button.active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--panel))}
.benefit-inline-kpis{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0 14px}
.benefit-inline-kpis span{min-width:120px;border:1px solid var(--line);background:var(--panel-2);border-radius:12px;padding:9px 11px;color:var(--muted);font-size:12px}
.benefit-inline-kpis b{display:block;color:var(--text);font-size:16px;margin-bottom:2px}
.benefit-tag{display:inline-flex;align-items:center;border-radius:999px;border:1px solid var(--line);padding:4px 8px;font-size:11px;font-weight:800;background:var(--panel-2)}
.benefit-tag.ok{background:rgba(34,197,94,.12);border-color:rgba(34,197,94,.28);color:#22c55e}.benefit-tag.warn{background:rgba(249,115,22,.12);border-color:rgba(249,115,22,.3);color:#f97316}.benefit-tag.info{background:rgba(59,130,246,.12);border-color:rgba(59,130,246,.3);color:#60a5fa}
.benefit-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:5px;white-space:nowrap}.benefit-row-actions .mini{padding:6px 9px;font-size:11px}.danger-lite{color:#ef4444!important}
.link-btn{appearance:none;border:0;background:none;color:var(--text);padding:0;cursor:pointer;text-align:left;font:inherit}.link-btn:hover{text-decoration:underline}.table-sub{display:block;color:var(--muted);font-size:11px;margin-top:2px}
.benefit-mini-list{display:grid;gap:7px}.benefit-mini-list>div{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid var(--line);background:var(--panel-2);border-radius:11px;padding:9px 11px}.benefit-mini-list span{display:flex;flex-direction:column}.benefit-mini-list small{color:var(--muted);margin-top:2px}.benefit-note{border:1px solid var(--line);background:var(--panel-2);border-radius:11px;padding:10px 12px;color:var(--muted);font-size:12px}.form-section-title{grid-column:1/-1;font-weight:800;padding-top:8px;border-top:1px solid var(--line);margin-top:2px}
@media(max-width:900px){.benefit-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.benefit-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.benefit-tabs button{justify-content:flex-start}}
@media(max-width:560px){.benefit-summary-grid{grid-template-columns:1fr 1fr}.benefit-tabs{grid-template-columns:1fr}.benefit-inline-kpis{display:grid;grid-template-columns:1fr 1fr}}

/* v5.00 Cloud */
.cloud-account-card{grid-column:1/-1}.cloud-pill{display:inline-flex;align-items:center;padding:6px 10px;border:1px solid var(--line);border-radius:999px;font-size:12px;white-space:nowrap;opacity:.78}.cloud-pill.ok{opacity:1;font-weight:700}.cloud-config-grid,.cloud-login-grid{margin-top:12px}.soft-sep{border:0;border-top:1px solid var(--line);margin:18px 0}.cloud-toast{position:fixed;z-index:99999;left:50%;bottom:86px;transform:translate(-50%,14px);padding:11px 15px;border-radius:12px;background:#152b3d;color:#fff;box-shadow:0 12px 38px rgba(0,0,0,.28);opacity:0;pointer-events:none;transition:.2s ease;max-width:min(92vw,560px);text-align:center}.cloud-toast.show{opacity:1;transform:translate(-50%,0)}.cloud-toast.bad{background:#6e2222}.cloud-status-badge.connected .top-action-icon{filter:drop-shadow(0 0 5px rgba(60,200,130,.7))}@media(max-width:760px){.cloud-account-card .section-head{align-items:flex-start}.cloud-config-grid,.cloud-login-grid{grid-template-columns:1fr!important}.cloud-account-card .settings-actions{display:flex;flex-wrap:wrap}.cloud-account-card .settings-actions button{flex:1 1 150px}}

/* v5.03 login gate */
.auth-locked body{overflow:hidden}
.mitos-auth-gate{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:22px;background:linear-gradient(145deg,#071523,#10283c);font-family:inherit}
.mitos-auth-box{width:min(430px,100%);background:var(--panel,#fff);color:var(--text,#15202b);border:1px solid var(--line,#dfe6ec);border-radius:22px;padding:30px;box-shadow:0 28px 80px rgba(0,0,0,.35)}
.mitos-auth-logo{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;margin:0 auto 10px;background:#0e2234;color:#fff;font-size:28px}
.mitos-auth-box h1{text-align:center;margin:0 0 5px}.mitos-auth-box>p{text-align:center;margin:0 0 22px;opacity:.72}
.mitos-auth-box label{display:block;font-size:13px;font-weight:700;margin:12px 0}.mitos-auth-box input{display:block;width:100%;box-sizing:border-box;margin-top:6px;padding:12px 13px;border:1px solid var(--line,#ccd6df);border-radius:11px;background:var(--panel,#fff);color:inherit;font:inherit}
.mitos-password-wrap{position:relative;margin-top:6px}.mitos-password-wrap input{margin-top:0;padding-right:46px}.mitos-password-eye{position:absolute;right:7px;top:50%;transform:translateY(-50%);width:34px;height:34px;border:0;border-radius:9px;background:transparent;color:inherit;opacity:.62;font-size:18px;line-height:1;cursor:pointer;display:grid;place-items:center}.mitos-password-eye:hover,.mitos-password-eye.is-visible{background:rgba(127,127,127,.12);opacity:1}.mitos-auth-recovery{display:flex;align-items:center;justify-content:flex-end;gap:7px;margin:-2px 0 8px;font-size:12px}.mitos-auth-recovery button{border:0;background:none;padding:3px 0;color:inherit;opacity:.72;font:inherit;cursor:pointer}.mitos-auth-recovery button:hover{opacity:1;text-decoration:underline}.mitos-auth-recovery span{opacity:.35}
.mitos-auth-primary,.mitos-auth-secondary{width:100%;border-radius:11px;padding:12px 14px;margin-top:10px;font:inherit;font-weight:800;cursor:pointer}.mitos-auth-primary{border:0;background:#10283c;color:#fff}.mitos-auth-secondary{border:1px solid var(--line,#ccd6df);background:transparent;color:inherit}
.mitos-auth-box small{display:block;margin-top:14px;line-height:1.45;opacity:.65}.mitos-auth-msg{min-height:20px;margin-top:12px;text-align:center;font-size:13px}.mitos-auth-msg.bad{color:#c0392b}.mitos-auth-loader{width:34px;height:34px;border:3px solid rgba(127,127,127,.25);border-top-color:currentColor;border-radius:50%;margin:22px auto 0;animation:mitosSpin .8s linear infinite}@keyframes mitosSpin{to{transform:rotate(360deg)}}

/* v5.04 account + family access */
.cloud-user-chip{display:none;align-items:center;gap:7px;max-width:180px;border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:999px;padding:7px 10px;cursor:pointer;font:inherit}
.cloud-user-chip>span:nth-child(2){max-width:105px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cloud-user-chip small{font-size:10px;opacity:.7;text-transform:uppercase;letter-spacing:.04em}
.cloud-user-dot{width:8px;height:8px;border-radius:50%;background:#22c55e;flex:0 0 auto}
.family-access-card{grid-column:1/-1}
.family-owner-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.family-code-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.family-code-row .field{max-width:220px;text-transform:uppercase;letter-spacing:.12em;font-weight:700}
.family-members{display:grid;gap:8px;margin-top:10px}
.family-member-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:12px}
.family-connected{padding:12px 14px;border:1px solid var(--line);border-radius:12px;margin-bottom:12px}
@media(max-width:760px){.family-owner-grid{grid-template-columns:1fr}.cloud-user-chip{max-width:125px}.cloud-user-chip small{display:none}}


/* v5.08 — cloud/account controls live in the bottom-left sidebar above Settings */
.sidebar{padding-bottom:130px!important}
.sidebar-cloud-controls{
  position:fixed;
  z-index:33;
  left:12px;
  bottom:62px;
  width:198px;
  display:grid;
  grid-template-columns:42px 42px minmax(0,1fr);
  gap:6px;
  align-items:center;
}
.sidebar-cloud-btn{
  width:42px;
  height:42px;
  min-width:42px;
  border:1px solid rgba(130,155,175,.18);
  border-radius:11px;
  background:#08131e;
  color:#d7e2eb;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  padding:0;
  box-shadow:0 -6px 18px rgba(3,11,18,.16);
}
.sidebar-cloud-btn:hover,.sidebar-cloud-btn.connected{background:rgba(48,139,230,.13);color:#fff}
.sidebar-cloud-btn .top-action-icon{font-size:17px;line-height:1}
.sidebar-cloud-user{
  width:100%;
  min-width:0;
  max-width:none!important;
  height:42px;
  padding:7px 9px!important;
  border-radius:11px!important;
  background:#08131e!important;
  border-color:rgba(130,155,175,.18)!important;
  box-shadow:0 -6px 18px rgba(3,11,18,.16);
}
.sidebar-cloud-user>span:nth-child(2){max-width:78px!important}
.sidebar-cloud-user small{display:none}
.cloud-status-badge.sync-pulse{animation:mitosCloudPulse .85s ease}
@keyframes mitosCloudPulse{0%{transform:scale(1)}40%{transform:scale(1.10);box-shadow:0 0 0 5px rgba(34,197,94,.10)}100%{transform:scale(1)}}
.app-shell.sidebar-collapsed .sidebar-cloud-controls{opacity:0;visibility:hidden;pointer-events:none}
:root.light .sidebar-cloud-btn,:root.light .sidebar-cloud-user{background:#fff!important;color:#29445a;border-color:#dce6ed!important;box-shadow:0 -6px 18px rgba(30,60,80,.06)}
@media(max-width:820px){.sidebar-cloud-controls{display:none}}

/* v5.09 — Creator-only system controls and license console */
.creator-admin-card{grid-column:1/-1}
.creator-license-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid var(--line)}
.creator-license-row:last-child{border-bottom:0}
.creator-license-row>div:first-child{min-width:0;display:flex;flex-direction:column;gap:5px}
.creator-license-row small{color:var(--muted);line-height:1.45}
@media(max-width:700px){.creator-license-row{align-items:flex-start;flex-direction:column}.creator-license-row .benefit-row-actions{width:100%;justify-content:flex-start;flex-wrap:wrap}}

/* MitosBnB v5.10 — notification preferences */
.notification-pref-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0}
.notif-toggle,.notif-time{display:flex;align-items:center;gap:10px;padding:11px 12px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}
.notif-toggle input{width:18px;height:18px;flex:0 0 auto}
.notif-toggle span{display:flex;flex-direction:column;gap:2px}.notif-toggle small{opacity:.72}
.notif-time{justify-content:space-between}.notif-time .field{width:130px;margin:0}
@media(max-width:720px){.notification-pref-grid{grid-template-columns:1fr}.notif-time .field{width:120px}}

/* v5.15 — mobile completion pass + automatic cloud sync */
.auto-sync-banner{display:flex;align-items:flex-start;gap:10px;margin:12px 0;padding:11px 12px;border:1px solid rgba(38,197,150,.28);border-radius:12px;background:rgba(38,197,150,.07)}
.auto-sync-dot{width:9px;height:9px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 4px rgba(38,197,150,.12);margin-top:5px;flex:0 0 auto}.auto-sync-banner b,.auto-sync-banner small{display:block}.auto-sync-banner small{margin-top:3px;color:var(--muted)}.manual-cloud-tools{margin-top:10px}
@media(max-width:820px){
  html,body{max-width:100%;overflow-x:hidden}.app-shell{display:block;min-height:100dvh}.sidebar{position:fixed!important;z-index:1000;left:0;top:0;bottom:0;width:min(86vw,320px)!important;height:100dvh!important;transform:translateX(-105%);transition:transform .2s ease;box-shadow:18px 0 45px rgba(0,0,0,.35);overflow-y:auto;padding-bottom:24px!important}.sidebar.mobile-open{transform:translateX(0)}
  .main{width:100%;min-width:0}.topbar{height:auto;min-height:58px;padding:9px 12px;gap:8px;position:sticky}.search{width:auto;min-width:0;flex:1}.top-actions{gap:6px}.profile>div:not(.avatar):not(.initial){display:none}.view{padding:14px 12px 90px!important;max-width:100%!important;overflow-x:hidden}
  .hero{padding:0!important}.hero h1{font-size:23px!important;line-height:1.15}.hero p{font-size:12px!important}.card,.section-card{border-radius:14px}.section-head{gap:8px;align-items:flex-start!important}.section-head h3{font-size:15px;margin-top:2px}.section-head p{font-size:11px;line-height:1.4}
  .grid,.settings-grid,.form-grid,.filter-grid,.stats-grid,.analytics-grid,.report-grid{grid-template-columns:1fr!important}.dashboard-kpis,.kpis{grid-template-columns:1fr 1fr!important;gap:8px}.dash-kpi,.kpi{min-width:0;padding:10px!important}.dash-kpi strong,.kpi strong{font-size:19px!important}
  .bookings-workspace{display:block!important}.booking-filter-panel{position:static!important;margin-bottom:10px}.booking-filter-stack{grid-template-columns:1fr!important}.booking-filter-stack>*{grid-column:1!important}.booking-filter-actions{grid-template-columns:1fr 1fr!important}.booking-results{padding:9px!important;overflow:hidden}.booking-results .table-wrap,.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}
  table{font-size:11px}.modal,.dialog,.modal-card{width:calc(100vw - 20px)!important;max-width:none!important;max-height:calc(100dvh - 20px)!important;margin:10px!important;overflow:auto}.modal .form-grid,.dialog .form-grid{grid-template-columns:1fr!important}
  .settings-actions{display:grid!important;grid-template-columns:1fr!important;width:100%}.settings-actions button{width:100%!important;min-height:42px}.cloud-pill{font-size:10px;padding:5px 8px}.notification-pref-grid{grid-template-columns:1fr!important}.notif-toggle{min-height:44px}.notif-time{justify-content:space-between}.notif-time .field{width:120px!important}
  .dashboard-overview-grid{display:block!important}.dashboard-calendar-card{overflow-x:auto}.dashboard-calendar-card .calendar{min-width:650px}.dashboard-side-stack{margin-top:10px}.dash-arrival{grid-template-columns:52px minmax(0,1fr) auto}
  .benefit-summary-grid,.benefit-inline-kpis,.damage-summary{grid-template-columns:1fr 1fr!important}.benefit-tabs{grid-template-columns:1fr!important}.family-owner-grid{grid-template-columns:1fr!important}.creator-license-row{flex-direction:column;align-items:stretch!important}
}
@media(max-width:480px){.dashboard-kpis,.kpis,.benefit-summary-grid,.benefit-inline-kpis,.damage-summary{grid-template-columns:1fr!important}.topbar .icon-btn{width:36px;height:36px}.search{max-width:calc(100vw - 110px)}.booking-filter-actions{grid-template-columns:1fr!important}}

/* v5.16 — MOBILE ONLY refinement. Desktop intentionally unchanged. */
@media (max-width:820px){
  /* Portrait/phone bottom menu: always visible, larger, easier to tap. */
  .mobile-nav{
    display:grid!important;
    height:82px!important;
    min-height:82px!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    padding:4px 4px calc(6px + env(safe-area-inset-bottom))!important;
    background:rgba(7,16,25,.985)!important;
    border-top:1px solid color-mix(in srgb,var(--line) 75%,transparent)!important;
    box-shadow:0 -10px 28px rgba(0,0,0,.28)!important;
    z-index:2000!important;
  }
  .mobile-nav button{
    min-width:0!important;
    min-height:62px!important;
    padding:6px 2px!important;
    font-size:10.5px!important;
    line-height:1.05!important;
    gap:4px!important;
    border-radius:12px!important;
  }
  .mobile-nav button>span:first-child{font-size:20px!important;line-height:1!important}
  .mobile-nav button.active{background:rgba(47,143,255,.11)!important}
  .fab{width:58px!important;height:58px!important;bottom:45px!important;font-size:32px!important;z-index:2010!important}
  .view{padding-bottom:104px!important}

  /* Mobile totals: compact 2 x 2 on ALL phone widths. */
  .dashboard-kpis,.kpis,.compact-kpis,.aade-kpis,.fee-kpis,
  .benefit-summary-grid,.benefit-inline-kpis,.damage-summary,
  .csv-import-summary,.yc-summary-grid,.detail-strip,.property-stats{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:7px!important;
  }
  .dash-kpi,.kpi,.compact-kpis .kpi,.aade-kpis .kpi,.fee-kpis .kpi{
    min-height:66px!important;
    padding:8px 9px!important;
    border-radius:11px!important;
  }
  .dash-kpi strong,.kpi strong,.compact-kpis .kpi strong,.aade-kpis .kpi strong,.fee-kpis .kpi strong{
    font-size:16px!important;
    line-height:1.1!important;
  }
  .dash-kpi small,.kpi small,.compact-kpis .kpi small,.aade-kpis .kpi small,.fee-kpis .kpi small{
    font-size:9px!important;
    line-height:1.15!important;
  }
  .kpi-icon{width:29px!important;height:29px!important;font-size:13px!important;margin-bottom:4px!important}
  .benefit-summary-grid>*,.benefit-inline-kpis>*,.damage-summary>*,.csv-import-summary>*{min-width:0!important;padding:8px!important}

  /* Never force a wide mobile canvas. */
  html,body,.app-shell,.main,.view,.card,.section-card{max-width:100%!important;overflow-x:hidden!important}
  .table-wrap{max-width:100%!important}

  /* Full month calendar on phone: 7 columns fit the viewport, no horizontal scroll. */
  .calendar-screen{width:100%!important;max-width:100%!important;overflow:hidden!important}
  .calendar-screen .hero{margin-bottom:7px!important}
  .calendar-screen .hero p{display:none!important}
  .calendar-screen .calendar-card-full{
    width:100%!important;
    max-width:100%!important;
    padding:7px!important;
    margin:0!important;
    overflow:hidden!important;
    border-radius:12px!important;
  }
  .calendar-card-full .calendar-toolbar{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:6px!important;
    padding:0 0 5px!important;
  }
  .calendar-card-full .calendar-nav{
    display:grid!important;
    grid-template-columns:30px minmax(0,1fr) 30px auto!important;
    align-items:center!important;
    gap:4px!important;
    width:100%!important;
  }
  .calendar-card-full .calendar-nav h3{
    font-size:14px!important;
    text-align:center!important;
    margin:0!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .calendar-card-full .calendar-arrow{width:28px!important;height:28px!important}
  .calendar-card-full .compact-btn{padding:6px 7px!important;font-size:9px!important}
  .calendar-card-full .calendar-filters{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:5px!important;
    width:100%!important;
  }
  .calendar-card-full .calendar-filters .field{
    width:100%!important;min-width:0!important;height:30px!important;padding:4px 6px!important;font-size:9px!important
  }
  .calendar-card-full .week{
    display:grid!important;
    grid-template-columns:repeat(7,minmax(0,1fr))!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    font-size:8px!important;
  }
  .calendar-card-full .week span{padding:4px 0!important;min-width:0!important}
  .calendar-card-full .calendar{
    display:grid!important;
    grid-template-columns:repeat(7,minmax(0,1fr))!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    overflow:hidden!important;
  }
  .calendar-card-full .day{
    min-width:0!important;
    min-height:48px!important;
    height:48px!important;
    padding:2px!important;
    overflow:hidden!important;
    position:relative!important;
    font-size:8px!important;
  }
  .calendar-card-full .calendar-day-head{position:relative!important;z-index:4!important;height:14px!important}
  .calendar-card-full .calendar-day-number{
    min-width:16px!important;width:16px!important;height:16px!important;font-size:8px!important;border-radius:5px!important;
    display:grid!important;place-items:center!important
  }

  /* Same continuous reservation rails as desktop, scaled for phone. */
  .calendar-card-full .calendar-lanes{
    position:absolute!important;
    z-index:2!important;
    left:0!important;right:0!important;top:17px!important;bottom:1px!important;
    display:grid!important;
    grid-template-rows:12px 12px 8px!important;
    row-gap:1px!important;
    align-content:start!important;
    pointer-events:none!important;
  }
  .calendar-card-full .calendar-lane{position:relative!important;min-width:0!important;height:100%!important}
  .calendar-card-full .calendar-lane .calendar-stay,
  .calendar-card-full .calendar-lane .calendar-more-btn{pointer-events:auto!important}
  .calendar-card-full .calendar-rail{
    position:absolute!important;
    top:0!important;bottom:auto!important;
    height:12px!important;min-height:12px!important;
    width:auto!important;min-width:0!important;
    margin:0!important;padding:0 2px!important;
    border:0!important;border-radius:0!important;
    background:color-mix(in srgb,var(--prop-color) 34%,var(--panel))!important;
    box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--prop-color) 56%,transparent)!important;
    overflow:hidden!important;z-index:2!important;
  }
  .calendar-card-full .calendar-rail.is-start{left:44%!important;right:-1px!important;border-radius:5px 0 0 5px!important}
  .calendar-card-full .calendar-rail.is-middle{left:-1px!important;right:-1px!important}
  .calendar-card-full .calendar-rail.is-checkout{left:-1px!important;right:56%!important;border-radius:0 5px 5px 0!important}
  .calendar-card-full .calendar-rail.is-single{left:44%!important;right:44%!important;border-radius:5px!important}
  .calendar-card-full .calendar-rail .calendar-stay-guest{
    display:block!important;width:100%!important;font-size:6.5px!important;line-height:12px!important;
    white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important
  }
  .calendar-card-full .calendar-label-hidden{visibility:hidden!important}
  .calendar-card-full .calendar-overflow-count{
    position:absolute!important;left:2px!important;top:0!important;width:auto!important;min-width:12px!important;
    height:8px!important;min-height:8px!important;line-height:8px!important;padding:0 1px!important;margin:0!important;
    border:0!important;background:transparent!important;color:var(--blue)!important;font-size:6.5px!important;font-weight:800!important
  }
  .calendar-card-full .calendar-property-legend{margin-top:5px!important;padding-top:5px!important}
  .calendar-card-full .legend-title{font-size:8px!important;gap:5px!important}
  .calendar-card-full .legend-items{gap:4px!important;margin-top:4px!important}
  .calendar-card-full .legend-property{font-size:7px!important;padding:2px 4px!important}
  .calendar-card-full .legend-help{display:none!important}

  /* Dashboard calendar also fits the screen; no 650px forced canvas. */
  .dashboard-calendar-card{overflow:hidden!important}
  .dashboard-calendar-card .calendar{min-width:0!important;width:100%!important}

  /* Reservations: preserve all information without left/right scrolling. Each row becomes a readable card. */
  .booking-results .table-wrap{overflow:visible!important}
  .booking-results table.table{min-width:0!important;width:100%!important;display:block!important}
  .booking-results table.table thead{display:none!important}
  .booking-results table.table tbody{display:grid!important;gap:8px!important;width:100%!important}
  .booking-results table.table tr{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:0!important;
    width:100%!important;
    padding:8px!important;
    border:1px solid var(--line)!important;
    border-radius:11px!important;
    background:var(--panel2)!important;
  }
  .booking-results table.table td{
    display:block!important;
    min-width:0!important;
    width:auto!important;
    padding:4px 5px!important;
    border:0!important;
    font-size:10px!important;
    line-height:1.2!important;
    overflow-wrap:anywhere!important;
  }
  .booking-results table.table td::before{display:block!important;color:var(--muted)!important;font-size:7px!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:.03em!important;margin-bottom:2px!important}
  .booking-results table.table td:nth-child(1)::before{content:'Άφιξη'}
  .booking-results table.table td:nth-child(2)::before{content:'Αναχώρηση'}
  .booking-results table.table td:nth-child(3)::before{content:'Νύχτες'}
  .booking-results table.table td:nth-child(4)::before{content:'Επισκέπτης'}
  .booking-results table.table td:nth-child(5)::before{content:'Κατάλυμα'}
  .booking-results table.table td:nth-child(6)::before{content:'Πλατφόρμα'}
  .booking-results table.table td:nth-child(7)::before{content:'Ακαθάριστα'}
  .booking-results table.table td:nth-child(8)::before{content:'Προμήθεια'}
  .booking-results table.table td:nth-child(9)::before{content:'Καθαρά'}
  .booking-results table.table td:nth-child(10)::before{content:'ΤΑΚΚ'}
  .booking-results table.table td:nth-child(11)::before{content:'ΕΟΤ'}
  .booking-results table.table td:nth-child(12)::before{content:'Κατάσταση'}
  .booking-results table.table td:nth-child(13){grid-column:1/-1!important;display:flex!important;justify-content:flex-end!important;gap:10px!important;padding-top:6px!important;border-top:1px solid var(--line)!important;margin-top:3px!important}
  .booking-results table.table td:nth-child(13)::before{display:none!important}
  .booking-results .booking-guest-cell{min-width:0!important;gap:4px!important}
  .booking-results .status{font-size:9px!important}
  .booking-results .link-btn{font-size:9px!important;padding:3px!important}
}

/* Keep 2x2 totals even on narrow portrait phones. */
@media (max-width:480px){
  .dashboard-kpis,.kpis,.compact-kpis,.aade-kpis,.fee-kpis,
  .benefit-summary-grid,.benefit-inline-kpis,.damage-summary,
  .csv-import-summary,.yc-summary-grid,.detail-strip,.property-stats{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .booking-filter-actions{grid-template-columns:1fr 1fr!important}
}

/* v5.17 — MOBILE DRAWER + TRUE CENTERED POPUPS (mobile only) */
@media (max-width:820px){
  /* Side menu is a real off-canvas drawer in portrait/landscape. Closed by default. */
  .app-shell{display:block!important}
  .sidebar{
    display:flex!important;
    position:fixed!important;
    z-index:5000!important;
    top:0!important;left:0!important;bottom:0!important;
    width:min(84vw,330px)!important;
    height:100dvh!important;
    padding:14px 12px 128px!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    transform:translateX(-102%)!important;
    transition:transform .22s ease!important;
    box-shadow:18px 0 46px rgba(0,0,0,.34)!important;
  }
  .app-shell.mobile-menu-open .sidebar{transform:translateX(0)!important}
  .sidebar .brand{margin:2px 4px 13px!important}
  .sidebar nav{display:grid!important;gap:4px!important}
  .sidebar .nav-btn,.sidebar .nav-group-toggle{
    min-height:44px!important;
    width:100%!important;
    padding:10px 11px!important;
    font-size:13px!important;
  }
  .sidebar .nav-group-items{position:static!important;width:auto!important;min-width:0!important;max-height:none!important;box-shadow:none!important}
  .sidebar .sidebar-toggle{display:none!important}

  .mobile-menu-toggle{
    display:grid!important;
    place-items:center!important;
    position:fixed!important;
    z-index:5100!important;
    left:0!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    width:30px!important;
    height:58px!important;
    padding:0!important;
    border:1px solid var(--line)!important;
    border-left:0!important;
    border-radius:0 13px 13px 0!important;
    background:#0b2235!important;
    color:#dcecff!important;
    font-size:26px!important;
    line-height:1!important;
    box-shadow:5px 0 16px rgba(0,0,0,.24)!important;
    transition:left .22s ease,transform .22s ease!important;
  }
  .app-shell.mobile-menu-open + .mobile-menu-toggle,
  body.mobile-menu-open .mobile-menu-toggle{
    left:min(84vw,330px)!important;
  }
  .mobile-menu-scrim{
    display:block!important;
    position:fixed!important;
    z-index:4900!important;
    inset:0!important;
    background:rgba(0,0,0,.48)!important;
    opacity:0!important;
    pointer-events:none!important;
    transition:opacity .2s ease!important;
  }
  body.mobile-menu-open .mobile-menu-scrim{opacity:1!important;pointer-events:auto!important}

  /* Popups stay centered and fully inside the phone viewport. */
  .modal-backdrop{
    position:fixed!important;
    inset:0!important;
    width:100vw!important;
    height:100dvh!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:12px!important;
    overflow:hidden!important;
  }
  .modal-backdrop>.modal,
  .modal-backdrop>.today-modal{
    position:relative!important;
    left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;
    transform:none!important;
    margin:auto!important;
    width:min(100%,680px)!important;
    max-width:calc(100vw - 24px)!important;
    max-height:calc(100dvh - 24px)!important;
    overflow:auto!important;
    overscroll-behavior:contain!important;
  }
  .modal{box-sizing:border-box!important}
  .modal .form-grid,.modal .detail-grid{min-width:0!important;max-width:100%!important}
  .modal input,.modal select,.modal textarea,.modal .field{max-width:100%!important;min-width:0!important}
}
@media (min-width:821px){.mobile-menu-toggle,.mobile-menu-scrim{display:none!important}}


/* v5.18 — MOBILE ONLY: compact drawer + popup safe area/polish */
@media (max-width:820px){
  /* Keep all menu categories together at the top; never stretch them across drawer height. */
  .sidebar{padding:10px 10px calc(96px + env(safe-area-inset-bottom))!important;justify-content:flex-start!important;align-items:stretch!important}
  .sidebar .brand{margin:2px 4px 8px!important;flex:0 0 auto!important}
  .sidebar #sideNav,.sidebar nav{
    display:grid!important;
    grid-auto-rows:max-content!important;
    align-content:start!important;
    justify-content:stretch!important;
    gap:2px!important;
    flex:0 0 auto!important;
    min-height:0!important;
    height:auto!important;
    padding:0 1px 8px!important;
    overflow:visible!important;
  }
  .sidebar .nav-group{margin:0 0 2px!important;min-height:0!important;height:auto!important;align-self:start!important}
  .sidebar .nav-group-toggle{min-height:38px!important;height:38px!important;padding:7px 9px!important;font-size:11px!important}
  .sidebar .nav-group-items{padding:1px 0 2px 6px!important;margin-left:6px!important;gap:1px!important}
  .sidebar .nav-group .nav-btn{min-height:34px!important;padding:7px 9px!important;font-size:11.5px!important}
  .sidebar .version{display:none!important}

  /* Modal lives above the fixed bottom navigation, so its ending/actions can never be hidden. */
  .modal-backdrop{
    top:0!important;left:0!important;right:0!important;
    bottom:calc(86px + env(safe-area-inset-bottom))!important;
    width:auto!important;height:auto!important;
    padding:8px!important;
    align-items:center!important;
    justify-content:center!important;
  }
  .modal-backdrop>.modal,.modal-backdrop>.today-modal{
    width:100%!important;
    max-width:calc(100vw - 16px)!important;
    max-height:calc(100dvh - 110px - env(safe-area-inset-bottom))!important;
    margin:0!important;
    padding:12px!important;
    border-radius:14px!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
  }
  .modal-head{margin-bottom:10px!important;gap:8px!important}
  .modal-head h2{font-size:18px!important;line-height:1.1!important}
  .modal-head p{font-size:10px!important;margin-top:3px!important}
  .modal-head .icon-btn{width:32px!important;height:32px!important;flex:0 0 32px!important}

  /* Booking/detail popup: keep all information, but use the phone width efficiently. */
  .modal .detail-strip{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important;margin-bottom:8px!important}
  .modal .detail-strip>div{padding:7px 8px!important;border-radius:9px!important;min-height:54px!important}
  .modal .detail-strip small{font-size:9px!important;margin-bottom:2px!important;line-height:1.1!important}
  .modal .detail-strip b{font-size:15px!important;line-height:1.15!important}
  .modal .detail-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:6px!important;
  }
  .modal .detail-grid p{padding:7px 8px!important;border-radius:8px!important;font-size:11px!important;line-height:1.25!important;min-width:0!important;overflow-wrap:anywhere!important}
  .modal .detail-grid p b{font-size:11px!important}
  .modal .form-actions{position:sticky!important;bottom:-12px!important;z-index:3!important;grid-template-columns:1fr 1fr!important;gap:7px!important;margin:9px -4px -4px!important;padding:8px 4px 4px!important;background:linear-gradient(180deg,transparent 0,var(--panel) 28%)!important}
  .modal .form-actions>span{display:none!important}
  .modal .form-actions button{min-height:38px!important;padding:8px 10px!important;font-size:11px!important}
}
@media (max-width:390px){
  .sidebar{width:min(88vw,330px)!important}
  body.mobile-menu-open .mobile-menu-toggle{left:min(88vw,330px)!important}
  .modal-backdrop>.modal,.modal-backdrop>.today-modal{padding:10px!important}
  .modal .detail-grid p{font-size:10.5px!important;padding:6px 7px!important}
}

/* v5.19 — MOBILE ONLY: compact category rail + right flyout tabs + footer account controls */
@media (max-width:820px){
  /* Drawer is intentionally narrower so the selected category can open its tabs to the right. */
  .sidebar{
    width:min(54vw,220px)!important;
    padding:10px 8px calc(154px + env(safe-area-inset-bottom))!important;
    overflow:visible!important;
  }
  .sidebar .brand{margin:2px 3px 8px!important}
  .sidebar .brand strong{font-size:17px!important}.sidebar .brand span{font-size:9px!important}.sidebar .brand-mark{font-size:20px!important}
  .sidebar #sideNav,.sidebar nav{
    position:relative!important;
    display:grid!important;
    grid-auto-rows:max-content!important;
    align-content:start!important;
    gap:3px!important;
    overflow:visible!important;
    padding:0!important;
  }
  .sidebar .nav-dashboard,.sidebar .nav-calendar-standalone{
    min-height:38px!important;height:38px!important;padding:7px 8px!important;font-size:11px!important;
  }
  .sidebar .nav-group{
    position:relative!important;
    display:block!important;
    height:40px!important;
    min-height:40px!important;
    margin:0!important;
    padding:0!important;
  }
  .sidebar .nav-group-toggle{
    position:relative!important;
    z-index:3!important;
    width:100%!important;
    height:40px!important;
    min-height:40px!important;
    margin:0!important;
    padding:7px 8px!important;
    font-size:10.5px!important;
    border-radius:9px!important;
  }
  .sidebar .nav-group-title{min-width:0!important;gap:7px!important}.sidebar .nav-group-title>span:last-child{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .sidebar .nav-chevron{flex:0 0 auto!important}

  /* Tabs never consume vertical space: they are a true flyout panel on the right, like desktop. */
  .sidebar .nav-group-items,
  .sidebar .nav-group.collapsed .nav-group-items{
    position:absolute!important;
    left:calc(100% + 8px)!important;
    top:0!important;
    z-index:5400!important;
    display:grid!important;
    gap:3px!important;
    width:min(43vw,180px)!important;
    min-width:145px!important;
    max-width:180px!important;
    max-height:min(58dvh,470px)!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    margin:0!important;
    padding:7px!important;
    border:1px solid rgba(118,151,178,.24)!important;
    border-left:1px solid rgba(118,151,178,.24)!important;
    border-radius:11px!important;
    background:#091a29!important;
    box-shadow:0 16px 42px rgba(0,0,0,.42)!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:translateX(-5px)!important;
    transition:opacity .12s ease,transform .12s ease,visibility .12s ease!important;
  }
  .sidebar .nav-group:not(.collapsed)>.nav-group-items{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:translateX(0)!important;
  }
  .sidebar .nav-group-items .nav-btn{
    width:100%!important;
    min-height:35px!important;
    padding:7px 8px!important;
    font-size:10.5px!important;
    border-radius:8px!important;
    text-align:left!important;
  }
  :root.light .sidebar .nav-group-items{background:var(--panel)!important}

  /* Footer stays at the bottom of the drawer: settings, current user and sign out. */
  .mobile-sidebar-footer{
    display:grid!important;
    position:absolute!important;
    left:8px!important;right:8px!important;
    bottom:calc(8px + env(safe-area-inset-bottom))!important;
    gap:6px!important;
    padding-top:8px!important;
    border-top:1px solid rgba(130,155,175,.16)!important;
  }
  .mobile-footer-settings,.mobile-footer-signout,.mobile-footer-user{
    width:100%!important;min-width:0!important;min-height:38px!important;
    border:1px solid rgba(130,155,175,.17)!important;border-radius:9px!important;
    background:#08131e!important;color:#c8d6e2!important;
  }
  .mobile-footer-settings,.mobile-footer-signout{display:flex!important;align-items:center!important;gap:8px!important;padding:7px 9px!important;cursor:pointer!important;text-align:left!important}
  .mobile-footer-settings b,.mobile-footer-signout span{font-size:10.5px!important}
  .mobile-footer-user{display:flex!important;align-items:center!important;gap:7px!important;padding:7px 9px!important;overflow:hidden!important}
  .mobile-footer-user>div{display:grid!important;min-width:0!important}.mobile-footer-user small{font-size:7.5px!important;color:var(--muted)!important}.mobile-footer-user strong{font-size:9px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .mobile-footer-dot{width:7px!important;height:7px!important;border-radius:50%!important;background:var(--teal)!important;flex:0 0 auto!important}
  .mobile-footer-signout{color:#ff9ca4!important}
  .sidebar-settings-gear,.sidebar-cloud-controls{display:none!important}

  /* Drawer handle follows the narrower rail. */
  body.mobile-menu-open .mobile-menu-toggle{left:min(54vw,220px)!important}

  /* Bottom navigation: AADE replaces More; lower the + slightly. */
  .fab{bottom:31px!important}
}
@media (max-width:390px){
  .sidebar{width:min(55vw,214px)!important}
  body.mobile-menu-open .mobile-menu-toggle{left:min(55vw,214px)!important}
  .sidebar .nav-group-items,.sidebar .nav-group.collapsed .nav-group-items{width:min(41vw,165px)!important;min-width:138px!important}
}
@media (min-width:821px){.mobile-sidebar-footer{display:none!important}}

/* v5.20 — MOBILE ONLY: flyout containment + clean EN/EL labels */
@media (max-width:820px){
  /* A category flyout must never survive outside a closed drawer. */
  body:not(.mobile-menu-open) .sidebar .nav-group-items,
  body:not(.mobile-menu-open) .sidebar .nav-group:not(.collapsed)>.nav-group-items{
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:translateX(-8px)!important;
  }

  /* Keep the right-hand panel attached to the drawer, like desktop navigation. */
  body.mobile-menu-open .sidebar .nav-group:not(.collapsed)>.nav-group-items{
    left:calc(100% + 4px)!important;
    width:min(calc(100vw - min(54vw,220px) - 12px),220px)!important;
    min-width:154px!important;
    max-width:220px!important;
    max-height:min(66dvh,520px)!important;
    z-index:5600!important;
  }

  /* Do not let the translated drawer leak children over the page. */
  body:not(.mobile-menu-open) .sidebar{pointer-events:none!important}
  body.mobile-menu-open .sidebar{pointer-events:auto!important}

  /* Exactly EN / EL — no duplicated ENEN / ΕΛΕΛ text. */
  .top-lang-switch button:first-child,
  .top-lang-switch button:last-child{font-size:0!important}
  .top-lang-switch button:first-child::after{content:'EN'!important;font-size:10px!important;line-height:1!important}
  .top-lang-switch button:last-child::after{content:'EL'!important;font-size:10px!important;line-height:1!important}

  /* Slightly calmer open state and a cleaner flyout edge. */
  .sidebar .nav-group-items{box-shadow:0 14px 34px rgba(0,0,0,.38)!important}
  .sidebar .nav-group:not(.collapsed)>.nav-group-toggle{background:rgba(38,111,178,.15)!important;color:#e4f0fb!important}
}
@media (max-width:390px){
  body.mobile-menu-open .sidebar .nav-group:not(.collapsed)>.nav-group-items{
    width:min(calc(100vw - min(55vw,214px) - 10px),190px)!important;
    min-width:145px!important;
  }
}

/* v5.21 — MOBILE ONLY: no horizontal AADE rows + refined drawer handle */
@media (max-width:820px){
  /* AADE declarations: every reservation fits the phone width; no left/right scrolling. */
  .aade-main-card{overflow:hidden!important}
  .aade-main-card>.table-wrap{
    overflow-x:hidden!important;
    overflow-y:visible!important;
    width:100%!important;
    max-width:100%!important;
    padding:0 8px 10px!important;
  }
  .aade-table{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    border-collapse:separate!important;
  }
  .aade-table thead{display:none!important}
  .aade-table tbody{display:grid!important;gap:7px!important;width:100%!important}
  .aade-table tbody tr{
    display:grid!important;
    grid-template-columns:32px minmax(0,1.15fr) minmax(0,1fr)!important;
    grid-template-areas:
      "check stay guest"
      "check property platform"
      "check amount status"
      "check decl prep"!important;
    gap:5px 7px!important;
    width:100%!important;
    min-width:0!important;
    padding:8px!important;
    border:1px solid rgba(120,153,180,.18)!important;
    border-radius:11px!important;
    background:color-mix(in srgb,var(--panel) 96%,transparent)!important;
  }
  .aade-table tbody tr>td{
    display:block!important;
    width:auto!important;
    min-width:0!important;
    max-width:100%!important;
    padding:3px 2px!important;
    border:0!important;
    font-size:10.5px!important;
    line-height:1.18!important;
    overflow-wrap:anywhere!important;
  }
  .aade-table tbody tr>td:nth-child(1){grid-area:check;display:flex!important;align-items:center!important;justify-content:center!important;border-right:1px solid rgba(120,153,180,.12)!important;padding-right:7px!important}
  .aade-table tbody tr>td:nth-child(2){grid-area:stay}
  .aade-table tbody tr>td:nth-child(3){grid-area:guest}
  .aade-table tbody tr>td:nth-child(4){grid-area:property}
  .aade-table tbody tr>td:nth-child(5){grid-area:platform}
  .aade-table tbody tr>td:nth-child(6){grid-area:amount}
  .aade-table tbody tr>td:nth-child(7){grid-area:decl}
  .aade-table tbody tr>td:nth-child(8){grid-area:status}
  .aade-table tbody tr>td:nth-child(9){grid-area:prep}
  .aade-table tbody tr>td:nth-child(n+2)::before{
    display:block!important;
    margin-bottom:2px!important;
    color:var(--muted)!important;
    font-size:7.5px!important;
    line-height:1!important;
    font-weight:800!important;
    letter-spacing:.08em!important;
    text-transform:uppercase!important;
  }
  .aade-table tbody tr>td:nth-child(2)::before{content:'Διαμονή'}
  .aade-table tbody tr>td:nth-child(3)::before{content:'Επισκέπτης'}
  .aade-table tbody tr>td:nth-child(4)::before{content:'Κατάλυμα'}
  .aade-table tbody tr>td:nth-child(5)::before{content:'Πλατφόρμα'}
  .aade-table tbody tr>td:nth-child(6)::before{content:'Ποσό'}
  .aade-table tbody tr>td:nth-child(7)::before{content:'Αρ. δήλωσης'}
  .aade-table tbody tr>td:nth-child(8)::before{content:'Κατάσταση'}
  .aade-table tbody tr>td:nth-child(9)::before{content:'Ενέργεια'}
  .aade-table td b{font-size:10.5px!important;line-height:1.15!important}
  .aade-table td small{font-size:8.5px!important;line-height:1.15!important;margin-top:2px!important}
  .aade-table .aade-decl-input{width:100%!important;min-width:0!important;height:30px!important;padding:5px 6px!important;font-size:10px!important}
  .aade-table .aade-status-pill{padding:4px 6px!important;font-size:9px!important;gap:4px!important;white-space:normal!important}
  .aade-table .aade-prep-btn{width:100%!important;min-height:30px!important;padding:5px 6px!important;font-size:9px!important;white-space:normal!important}
  .aade-table .aade-check span{width:20px!important;height:20px!important}
  :root.light .aade-table tbody tr{background:#fff!important;border-color:#dbe4eb!important}

  /* Drawer handle: small, clean tab attached to the edge instead of a large floating box. */
  .mobile-menu-toggle{
    top:46%!important;
    width:25px!important;
    height:44px!important;
    border-radius:0 10px 10px 0!important;
    font-size:20px!important;
    background:rgba(8,30,47,.96)!important;
    border-color:rgba(126,158,184,.26)!important;
    box-shadow:3px 0 10px rgba(0,0,0,.18)!important;
  }
  body.mobile-menu-open .mobile-menu-toggle,
  .app-shell.mobile-menu-open + .mobile-menu-toggle{
    left:calc(min(54vw,220px) - 25px)!important;
    border-left:1px solid rgba(126,158,184,.26)!important;
    border-right:0!important;
    border-radius:10px 0 0 10px!important;
    background:rgba(8,30,47,.98)!important;
    box-shadow:-3px 0 10px rgba(0,0,0,.16)!important;
  }
}
@media (max-width:390px){
  .aade-table tbody tr{
    grid-template-columns:28px minmax(0,1fr) minmax(0,.92fr)!important;
    gap:4px 6px!important;
    padding:7px!important;
  }
  .aade-table tbody tr>td{font-size:10px!important}
  body.mobile-menu-open .mobile-menu-toggle,
  .app-shell.mobile-menu-open + .mobile-menu-toggle{left:calc(min(55vw,214px) - 25px)!important}
}

/* v5.22 — modern alerts, dropdowns, calendar and guest damage history */
.alert-click-row{cursor:pointer;transition:.16s ease;border-radius:14px;padding:12px!important}
.alert-click-row:hover{background:rgba(116,169,219,.08)}
.alert-click-row.is-unread{background:rgba(77,163,255,.07);border-color:rgba(77,163,255,.18)!important}
.alert-row-main{display:flex;align-items:center;gap:10px;min-width:0}.alert-row-main>div{min-width:0}.alert-read-dot{width:9px;height:9px;border-radius:50%;background:#3b9cff;box-shadow:0 0 0 4px rgba(59,156,255,.12);flex:none}.is-read .alert-read-dot{background:#64798b;box-shadow:none}.alert-state-wrap{display:flex;align-items:center;gap:8px}.alert-read-state{font-size:11px;padding:5px 9px;border-radius:999px;background:rgba(59,156,255,.1);color:#8fc7ff}.is-read .alert-read-state{background:rgba(120,140,155,.08);color:#8194a4}.alerts-list{display:grid;gap:7px}.alerts-filter-grid{margin-bottom:12px}
.guest-damage-summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;border:1px solid rgba(130,155,175,.14);border-radius:16px;background:rgba(100,130,155,.05);margin:14px 0 18px}.guest-damage-summary>div{display:flex;align-items:center;gap:10px}.guest-damage-summary>div>span{font-size:20px}.guest-damage-summary small,.guest-damage-summary b{display:block}.guest-damage-summary.has-damage{border-color:rgba(245,158,11,.26);background:rgba(245,158,11,.055)}.guest-damage-list{display:grid;gap:7px;margin:8px 0 16px}.guest-damage-row{display:flex;justify-content:space-between;align-items:center;gap:14px;text-align:left;width:100%;padding:11px 12px;border:1px solid rgba(130,155,175,.13);border-radius:14px;background:rgba(100,130,155,.05);color:inherit;cursor:pointer}.guest-damage-row:hover{background:rgba(100,150,200,.09)}.guest-damage-row span{display:grid;gap:2px}.guest-damage-row small{opacity:.7}
.modern-select{position:relative;width:100%}.modern-native-select{position:absolute!important;opacity:0!important;pointer-events:none!important;width:1px!important;height:1px!important;min-width:1px!important;padding:0!important;border:0!important}.modern-select-button{width:100%;min-height:42px;display:flex;justify-content:space-between;align-items:center;gap:12px;text-align:left;padding:10px 13px;border:1px solid rgba(142,170,194,.22);border-radius:14px;background:linear-gradient(180deg,rgba(31,52,69,.96),rgba(22,39,54,.96));color:var(--text);box-shadow:inset 0 1px 0 rgba(255,255,255,.025);cursor:pointer;font:inherit}.modern-select-button:hover,.modern-select.open .modern-select-button{border-color:rgba(86,160,225,.55);box-shadow:0 0 0 3px rgba(65,145,215,.08)}.modern-select-chevron{opacity:.7;font-size:14px}.modern-select-menu{display:none;position:absolute;left:0;right:0;top:calc(100% + 7px);z-index:100000;padding:6px;border:1px solid rgba(135,165,190,.2);border-radius:16px;background:#122333;box-shadow:0 18px 45px rgba(0,0,0,.38);max-height:min(330px,45vh);overflow:auto}.modern-select.open .modern-select-menu{display:grid;gap:3px}.modern-select-option{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:10px 11px;text-align:left;border:0;border-radius:11px;background:transparent;color:#eaf2f8;cursor:pointer;font:inherit}.modern-select-option:hover,.modern-select-option.selected{background:rgba(88,160,225,.12)}.modern-select-option b{font-size:12px;color:#7cc2ff}:root.light .modern-select-button{background:#fff;color:#20384d;border-color:#d6e1e9}:root.light .modern-select-menu{background:#fff;border-color:#d8e2ea;box-shadow:0 18px 45px rgba(31,55,75,.16)}:root.light .modern-select-option{color:#20384d}:root.light .modern-select-option:hover,:root.light .modern-select-option.selected{background:#edf6fd}
.modern-date-field{position:relative}.modern-date-button{width:100%;min-height:42px;display:flex;align-items:center;gap:10px;text-align:left;padding:9px 12px;border:1px solid rgba(142,170,194,.22);border-radius:14px;background:linear-gradient(180deg,rgba(31,52,69,.96),rgba(22,39,54,.96));color:var(--text);cursor:pointer;font:inherit}.modern-date-button [data-date-label]{flex:1}.calendar-ico{display:grid;place-items:center;width:24px;height:24px;border-radius:8px;background:rgba(74,157,230,.12);color:#85c6ff}.calendar-chevron{opacity:.65}.mitos-calendar-popover{position:fixed;z-index:200000;left:50%;top:50%;transform:translate(-50%,-50%);width:min(360px,calc(100vw - 28px));padding:12px;border:1px solid rgba(135,165,190,.22);border-radius:20px;background:#102231;box-shadow:0 24px 70px rgba(0,0,0,.5)}.calendar-pop-head{display:grid;grid-template-columns:38px 1fr 38px;align-items:center;gap:8px;margin-bottom:10px}.calendar-pop-head b{text-align:center;text-transform:capitalize}.calendar-pop-head button{width:36px;height:36px;border-radius:11px;border:1px solid rgba(130,155,175,.18);background:rgba(100,130,155,.07);color:inherit;font-size:22px}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.calendar-weekdays{margin-bottom:5px}.calendar-weekdays span{text-align:center;font-size:11px;opacity:.55}.calendar-grid>span{min-height:38px}.calendar-day{height:38px;border:0;border-radius:12px;background:transparent;color:inherit;cursor:pointer}.calendar-day:hover{background:rgba(80,155,220,.12)}.calendar-day.today{box-shadow:inset 0 0 0 1px rgba(88,178,255,.55)}.calendar-day.selected{background:#2e8de0;color:#fff;box-shadow:0 6px 18px rgba(46,141,224,.25)}.calendar-pop-foot{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}:root.light .modern-date-button,:root.light .mitos-calendar-popover{background:#fff;color:#20384d;border-color:#d7e2ea}:root.light .mitos-calendar-popover{box-shadow:0 24px 70px rgba(31,55,75,.2)}
@media(max-width:820px){.alert-click-row{align-items:flex-start!important}.alert-state-wrap{flex-direction:column;align-items:flex-end}.guest-damage-summary{align-items:flex-start;flex-direction:column}.guest-damage-summary>.status{align-self:flex-start}.modern-select-menu{position:fixed;left:14px;right:14px;top:auto;bottom:calc(78px + env(safe-area-inset-bottom));max-height:52vh;border-radius:20px;padding:8px}.modern-select.open .modern-select-menu{display:grid}.modern-select-option{padding:12px 13px}.mitos-calendar-popover{top:48%}}

/* v5.24 creator account recovery */
.creator-recovery-box{margin:12px 0 14px;padding:14px;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--panel) 92%,transparent)}
.creator-recovery-box h4{margin:0 0 4px}.creator-recovery-box p{margin:0 0 10px;color:var(--muted);font-size:.9rem}
.creator-recovery-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}
.creator-recovery-results{display:grid;gap:8px;margin-top:10px}
.creator-recovery-row{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}
.creator-recovery-main{min-width:0;display:grid;gap:3px}.creator-recovery-main b{overflow-wrap:anywhere}.creator-recovery-main small{color:var(--muted);overflow-wrap:anywhere}
@media(max-width:700px){.creator-recovery-search{grid-template-columns:1fr}.creator-recovery-row{align-items:flex-start;flex-direction:column}.creator-recovery-row .benefit-row-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.creator-recovery-row .benefit-row-actions button{width:100%}}
/* v5.25 secure local-style account recovery */
.mitos-auth-box-wide{width:min(500px,100%);max-height:calc(100vh - 30px);overflow:auto}.mitos-auth-select{display:block;width:100%;box-sizing:border-box;margin-top:6px;padding:12px 13px;border:1px solid var(--line,#ccd6df);border-radius:11px;background:var(--panel,#fff);color:inherit;font:inherit}.mitos-auth-box-wide small{padding:8px 10px;border-radius:10px;background:rgba(127,127,127,.08)}
@media(max-width:600px){.mitos-auth-gate{padding:10px}.mitos-auth-box-wide{padding:20px;max-height:calc(100vh - 20px)}.mitos-auth-box-wide label{margin:9px 0}.mitos-auth-box-wide>p{margin-bottom:12px}}

/* v5.25 — compact filter controls. Keep edit/create forms comfortable while reclaiming space in tab filter bars. */
.filter-grid .field,.filter-row .field,.analytics-filters .field,.booking-filter-menu .field,.yc-filter-menu .field,.bills-filter-row .field,.damage-filterbar .field,.alerts-filter-grid .field,.calendar-filters .field,
.filter-grid .modern-select-button,.filter-row .modern-select-button,.analytics-filters .modern-select-button,.booking-filter-menu .modern-select-button,.yc-filter-menu .modern-select-button,.bills-filter-row .modern-select-button,.damage-filterbar .modern-select-button,.alerts-filter-grid .modern-select-button,.calendar-filters .modern-select-button{
  min-height:32px!important;height:32px!important;padding:5px 9px!important;border-radius:10px!important;font-size:12px!important;
}
.filter-grid,.filter-row,.analytics-filters .filter-grid,.bills-filter-row,.damage-filterbar,.alerts-filter-grid{gap:6px!important}
.card.section-card>.filter-grid:first-child,.card.section-card>.filter-row:first-child,.analytics-filters .filter-grid{padding:0!important}
.filter-grid .modern-select,.filter-row .modern-select,.analytics-filters .modern-select,.booking-filter-menu .modern-select,.yc-filter-menu .modern-select,.bills-filter-row .modern-select,.damage-filterbar .modern-select,.alerts-filter-grid .modern-select,.calendar-filters .modern-select{min-width:0}
.filter-grid .modern-select-chevron,.filter-row .modern-select-chevron,.analytics-filters .modern-select-chevron,.booking-filter-menu .modern-select-chevron,.yc-filter-menu .modern-select-chevron,.bills-filter-row .modern-select-chevron,.damage-filterbar .modern-select-chevron,.alerts-filter-grid .modern-select-chevron,.calendar-filters .modern-select-chevron{font-size:11px}
@media(max-width:820px){
  .filter-grid .field,.filter-row .field,.analytics-filters .field,.booking-filter-menu .field,.yc-filter-menu .field,.bills-filter-row .field,.damage-filterbar .field,.alerts-filter-grid .field,.calendar-filters .field,
  .filter-grid .modern-select-button,.filter-row .modern-select-button,.analytics-filters .modern-select-button,.booking-filter-menu .modern-select-button,.yc-filter-menu .modern-select-button,.bills-filter-row .modern-select-button,.damage-filterbar .modern-select-button,.alerts-filter-grid .modern-select-button,.calendar-filters .modern-select-button{min-height:34px!important;height:34px!important;padding:6px 9px!important}
}

/* v5.28 — fixed dark sidebar + compact calendar filters + cleaner popups */
/* Sidebar/menu always keeps the dark visual language, independent of page theme. */
.sidebar,
:root.light .sidebar{
  --panel:#0d2031;
  --panel2:#10283b;
  --line:#1a3951;
  --text:#f5f8fc;
  --muted:#94a8ba;
  background:linear-gradient(180deg,#071625,#0a2032)!important;
  border-right-color:#1a3951!important;
  color:#f5f8fc!important;
}
:root.light .sidebar .brand strong,
:root.light .sidebar .nav-btn,
:root.light .sidebar .nav-group-toggle,
:root.light .sidebar .sidebar-settings-gear{color:#b8c6d4!important}
:root.light .sidebar .nav-btn:hover,
:root.light .sidebar .nav-btn.active,
:root.light .sidebar .nav-group-toggle:hover,
:root.light .sidebar .nav-group.has-active>.nav-group-toggle{background:#123f6d!important;color:#fff!important}
:root.light .sidebar .nav-group-items,
:root.light .sidebar .nav-group.collapsed .nav-group-items{background:#0b1d2c!important;border-color:#1a3951!important;box-shadow:0 16px 42px rgba(0,0,0,.38)!important}
:root.light .sidebar .nav-group-items .nav-btn{color:#b8c6d4!important;background:transparent!important}
:root.light .sidebar .nav-group-items .nav-btn:hover,
:root.light .sidebar .nav-group-items .nav-btn.active{background:#123f6d!important;color:#fff!important}
:root.light .sidebar .sidebar-cloud-btn,
:root.light .sidebar .sidebar-cloud-user{background:#0d2031!important;color:#dbeeff!important;border-color:#1a3951!important;box-shadow:none!important}
:root.light .sidebar .nav-group-icon,
:root.light .sidebar .nav-item-icon{color:#8fb8db!important}

/* Calendar filters: deliberately smaller and less dominant. */
.calendar-card-full .calendar-filters{gap:5px!important}
.calendar-card-full .calendar-filters .field,
.calendar-card-full .calendar-filters .modern-select-button{
  min-width:0!important;
  width:138px!important;
  height:30px!important;
  min-height:30px!important;
  padding:4px 8px!important;
  border-radius:7px!important;
  font-size:10.5px!important;
  line-height:1.1!important;
}
.calendar-card-full .calendar-filters .modern-select{width:138px!important;min-width:0!important}
.calendar-card-full .calendar-filters .modern-select-chevron{font-size:9px!important}

/* Popups: compact typography, more useful width, scroll remains functional but bars stay hidden. */
.modal{
  width:min(760px,calc(100vw - 36px));
  max-height:94dvh;
  padding:16px 18px;
  scrollbar-width:none!important;
  -ms-overflow-style:none!important;
}
.modal::-webkit-scrollbar,
.modal *::-webkit-scrollbar{width:0!important;height:0!important;display:none!important}
.modal,.modal *{scrollbar-width:none!important}
.modal-head{margin-bottom:12px!important;gap:12px}
.modal-head h2{font-size:18px!important;line-height:1.2}
.modal-head p{font-size:11px!important;line-height:1.35;margin-top:3px!important}
.modal .form-grid{gap:9px 11px!important}
.modal .form-grid label{font-size:10.5px!important;gap:4px!important;line-height:1.25}
.modal .field{min-height:34px!important;padding:7px 9px!important;font-size:11.5px!important;border-radius:7px!important}
.modal textarea.field{min-height:58px!important;resize:vertical}
.modal .form-actions{gap:6px!important;margin-top:5px!important}
.modal .primary,.modal .secondary,.modal .danger-btn{padding:8px 11px!important;font-size:11px!important;border-radius:7px!important}
.modal .icon-btn{width:32px!important;height:32px!important;font-size:14px!important;flex:0 0 32px}
.modal .app-note,.modal .conflict-box{font-size:10.5px!important;line-height:1.35;padding:8px 9px!important}
.modal-booking-v528,.modal-damage-v528{width:min(800px,calc(100vw - 36px))!important}
.modal-damage-v528 .damage-photo-preview{gap:6px!important}

@media(max-width:820px){
  .calendar-card-full .calendar-filters .field,
  .calendar-card-full .calendar-filters .modern-select-button,
  .calendar-card-full .calendar-filters .modern-select{width:100%!important;height:29px!important;min-height:29px!important;font-size:9.5px!important}
  .modal,.dialog,.modal-card{
    width:calc(100vw - 16px)!important;
    max-height:calc(100dvh - 16px)!important;
    margin:8px!important;
    padding:13px!important;
    overflow:auto!important;
    scrollbar-width:none!important;
  }
  .modal .form-grid{gap:8px!important}
  .modal .form-grid label{font-size:10px!important}
  .modal .field{min-height:33px!important;padding:6px 8px!important;font-size:11px!important}
  .modal-head h2{font-size:17px!important}
}

/* v5.29 — refined calendar navigation, sidebar collapse control and calendar filter popovers */
@media(min-width:821px){
  .sidebar-toggle{
    width:28px!important;height:28px!important;border-radius:9px!important;
    border:1px solid #24445e!important;background:#0d2233!important;color:transparent!important;
    box-shadow:0 5px 14px rgba(0,0,0,.22)!important;font-size:0!important;
    transition:background .16s ease,border-color .16s ease,transform .16s ease!important;
  }
  .sidebar-toggle::before{content:'‹';display:block;color:#c7d8e7;font:600 20px/24px Arial,sans-serif;transform:translateY(-1px)}
  .app-shell.sidebar-collapsed .sidebar-toggle::before{content:'›'}
  .sidebar-toggle:hover{background:#143149!important;border-color:#37617f!important;transform:translateY(-1px)!important}
}
.calendar-card-full .calendar-arrow{
  width:30px!important;height:30px!important;display:grid!important;place-items:center!important;padding:0!important;
  border:1px solid color-mix(in srgb,var(--line) 82%,transparent)!important;border-radius:9px!important;
  background:color-mix(in srgb,var(--panel) 94%,var(--blue))!important;color:transparent!important;
  font-size:0!important;box-shadow:none!important;transition:.15s ease!important;
}
.calendar-card-full .calendar-arrow::before{display:block;color:var(--text);font:600 21px/25px Arial,sans-serif;opacity:.78;transform:translateY(-1px)}
.calendar-card-full .calendar-nav .calendar-arrow:first-child::before{content:'‹'}
.calendar-card-full .calendar-nav .calendar-arrow:nth-of-type(2)::before{content:'›'}
.calendar-card-full .calendar-arrow:hover{border-color:color-mix(in srgb,var(--blue) 55%,var(--line))!important;background:color-mix(in srgb,var(--panel) 88%,var(--blue))!important;transform:translateY(-1px)}

/* Only the two Calendar filter dropdowns: lighter, tighter and less chunky. */
.calendar-card-full .calendar-filters .modern-select-menu{
  top:calc(100% + 4px)!important;padding:4px!important;border-radius:10px!important;
  max-height:min(235px,38vh)!important;box-shadow:0 12px 28px rgba(0,0,0,.28)!important;
}
.calendar-card-full .calendar-filters .modern-select-option{
  min-height:27px!important;padding:5px 7px!important;border-radius:7px!important;
  gap:7px!important;font-size:10px!important;line-height:1.15!important;font-weight:500!important;
}
.calendar-card-full .calendar-filters .modern-select-option b{font-size:9px!important}
.calendar-card-full .calendar-filters .modern-select-button span:first-child{font-size:10px!important;font-weight:500!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
@media(max-width:820px){
  .calendar-card-full .calendar-filters .modern-select-menu{
    left:12px!important;right:12px!important;bottom:calc(72px + env(safe-area-inset-bottom))!important;
    top:auto!important;padding:5px!important;border-radius:13px!important;max-height:38vh!important;
  }
  .calendar-card-full .calendar-filters .modern-select-option{min-height:29px!important;padding:6px 8px!important;font-size:10px!important;border-radius:8px!important}
}


/* v5.30 — compact filters/popovers across all tabs + slimmer cloud/user footer */
/* Keep filter controls visually consistent with the compact Calendar treatment. */
.filter-grid{gap:6px!important;align-items:center!important}
.filter-grid .field,
.filter-grid .modern-select-button,
.filter-grid .modern-date-button{
  min-height:32px!important;height:32px!important;padding:5px 9px!important;
  border-radius:8px!important;font-size:10.5px!important;line-height:1.15!important;
}
.filter-grid .modern-select{min-width:0!important}
.filter-grid .modern-select-button{gap:7px!important}
.filter-grid .modern-select-button span:first-child{font-size:10.5px!important;font-weight:500!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.filter-grid .modern-select-chevron{font-size:9px!important}
.filter-grid .modern-select-menu,
.modern-select-menu{
  top:calc(100% + 4px)!important;padding:4px!important;border-radius:10px!important;
  max-height:min(250px,40vh)!important;box-shadow:0 12px 28px rgba(0,0,0,.28)!important;
  scrollbar-width:none!important;-ms-overflow-style:none!important;
}
.modern-select-menu::-webkit-scrollbar{width:0!important;height:0!important;display:none!important}
.filter-grid .modern-select-option,
.modern-select-option{
  min-height:28px!important;padding:5px 8px!important;border-radius:7px!important;
  gap:7px!important;font-size:10px!important;line-height:1.15!important;font-weight:500!important;
}
.modern-select-option b{font-size:9px!important}
/* Compact date-picker popovers used by filters. */
.mitos-calendar-popover{width:min(330px,calc(100vw - 24px))!important;padding:10px!important;border-radius:14px!important}
.calendar-pop-head{grid-template-columns:31px 1fr 31px!important;gap:6px!important;margin-bottom:7px!important}
.calendar-pop-head b{font-size:11px!important}.calendar-pop-head button{width:30px!important;height:30px!important;border-radius:8px!important;font-size:17px!important}
.calendar-weekdays,.calendar-grid{gap:3px!important}.calendar-weekdays{margin-bottom:3px!important}.calendar-weekdays span{font-size:9px!important}
.calendar-grid>span{min-height:31px!important}.calendar-day{height:31px!important;border-radius:8px!important;font-size:10px!important}.calendar-pop-foot{margin-top:8px!important;gap:6px!important}.calendar-pop-foot button{font-size:10px!important;padding:6px 9px!important}
/* Desktop bottom-left status row: thinner, full user identity, clear online state. */
.sidebar{padding-bottom:112px!important}
.sidebar-cloud-controls{
  left:12px!important;bottom:58px!important;width:198px!important;
  grid-template-columns:34px 34px minmax(0,1fr)!important;gap:5px!important;
}
.sidebar-cloud-btn{width:34px!important;height:34px!important;min-width:34px!important;border-radius:9px!important;box-shadow:none!important}
.sidebar-cloud-btn .top-action-icon{font-size:14px!important}
.cloud-status-badge{background:rgba(239,68,68,.12)!important;color:#ff6b6b!important;border-color:rgba(239,68,68,.42)!important}
.cloud-status-badge.connected{background:rgba(34,197,94,.13)!important;color:#55d985!important;border-color:rgba(34,197,94,.42)!important}
.sidebar-cloud-user{height:34px!important;min-height:34px!important;padding:5px 7px!important;border-radius:9px!important;box-shadow:none!important;justify-content:flex-start!important;overflow:hidden!important}
.sidebar-cloud-user>span:nth-child(2){max-width:none!important;min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;font-size:9.5px!important}
.sidebar-cloud-user .cloud-user-dot{width:6px!important;height:6px!important;flex:0 0 6px!important}
:root.light .sidebar .cloud-status-badge{background:rgba(239,68,68,.12)!important;color:#ff6b6b!important;border-color:rgba(239,68,68,.42)!important}
:root.light .sidebar .cloud-status-badge.connected{background:rgba(34,197,94,.13)!important;color:#55d985!important;border-color:rgba(34,197,94,.42)!important}
@media(max-width:820px){
  .filter-grid .field,.filter-grid .modern-select-button,.filter-grid .modern-date-button{min-height:31px!important;height:31px!important;font-size:10px!important;padding:5px 8px!important}
  .modern-select-menu{left:12px!important;right:12px!important;bottom:calc(72px + env(safe-area-inset-bottom))!important;top:auto!important;padding:5px!important;border-radius:13px!important;max-height:40vh!important}
  .modern-select-option{min-height:29px!important;padding:6px 8px!important;font-size:10px!important;border-radius:8px!important}
}

/* v5.31 username/settings polish */
.sidebar-settings-gear{display:none!important}
.sidebar-cloud-user{cursor:pointer!important}
.settings-group-bar{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 12px;padding:7px;border:1px solid var(--border);border-radius:12px;background:var(--card)}
.settings-group-bar button{border:0;border-radius:9px;padding:7px 10px;font-size:12px;font-weight:700;background:transparent;color:var(--muted);cursor:pointer}
.settings-group-bar button.active{background:var(--accent-soft);color:var(--text)}
.settings-organized{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px!important}
.settings-organized>.section-card{margin:0!important;min-width:0}
.settings-organized>.cloud-account-card,.settings-organized>.username-account-card,.settings-organized>.family-access-card,.settings-organized>.creator-admin-card{grid-column:1/-1}
.username-settings-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end;margin:10px 0 5px}
.username-settings-row .field{min-height:36px!important;font-size:13px!important}
.username-settings-row .primary{min-height:36px;padding:7px 12px;font-size:12px}
@media(max-width:820px){.settings-organized{grid-template-columns:1fr}.settings-group-bar{position:sticky;top:0;z-index:8}.mobile-footer-settings{display:none!important}}

/* v5.32 — slim desktop sign-out in the former Settings position */
.sidebar-signout-btn{position:absolute;left:12px;right:12px;bottom:76px;min-height:34px;padding:7px 10px;border:1px solid rgba(255,255,255,.10);border-radius:9px;background:rgba(255,255,255,.045);color:#cbd7e4;display:flex;align-items:center;gap:8px;font:inherit;cursor:pointer;z-index:8}
.sidebar-signout-btn span{font-size:15px;line-height:1}.sidebar-signout-btn b{font-size:11px;font-weight:650;letter-spacing:.01em}.sidebar-signout-btn:hover{background:rgba(255,255,255,.085);color:#fff}
.sidebar-collapsed .sidebar-signout-btn{left:10px;right:10px;justify-content:center;padding:7px}.sidebar-collapsed .sidebar-signout-btn b{display:none}
@media(max-width:820px){.sidebar-signout-btn{display:none!important}}

/* v5.33 — repaired bottom-left sidebar footer */
/* Give the footer its own vertical lanes: sign-out above, cloud/user status below. */
.sidebar{padding-bottom:132px!important}
.sidebar-signout-btn{
  left:12px!important;right:12px!important;bottom:98px!important;
  min-height:32px!important;height:32px!important;padding:5px 9px!important;
  border-radius:8px!important;z-index:9!important;
}
.sidebar-signout-btn span{font-size:14px!important}.sidebar-signout-btn b{font-size:10.5px!important}
.sidebar-cloud-controls{bottom:58px!important}
.sidebar-cloud-user>span:nth-child(2){font-size:11px!important;font-weight:600!important;line-height:1.15!important}
.sidebar-collapsed .sidebar-signout-btn{bottom:98px!important}
@media(max-width:820px){.sidebar-signout-btn{display:none!important}}

/* v5.35 creator user presence */
.creator-presence-summary{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:10px}.creator-users-list{display:grid;gap:7px}.creator-online-dot,.creator-offline-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:7px;vertical-align:1px}.creator-online-dot{background:#22c55e;box-shadow:0 0 0 3px rgba(34,197,94,.12)}.creator-offline-dot{background:#ef4444;opacity:.75}

.cloud-status-badge.pending{opacity:.78;filter:saturate(.7)}

/* MitosBnB v5.40.2 — focused polish: original typography preserved; dropdowns only */
/* Keep all application typography exactly as v5.39. Only dropdown controls/options get a subtle readability lift. */
.modern-select-button span:first-child,
.modal .modern-select-button span:first-child,
.filter-grid .modern-select-button span:first-child,
.calendar-card-full .calendar-filters .modern-select-button span:first-child{
  font-size:11.5px!important;font-weight:600!important;
}
.modern-select-option,
.filter-grid .modern-select-option,
.calendar-card-full .calendar-filters .modern-select-option{
  font-size:11.5px!important;font-weight:600!important;line-height:1.25!important;
}
:root.light .modern-select-button span:first-child,:root.light .modern-select-option{color:#20384d!important}
/* Compact Settings layout retained, without changing global fonts. */
.settings-grid.settings-organized{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
.settings-grid.settings-organized>.section-card{padding:11px 12px!important;margin:0!important}
.settings-grid.settings-organized>.section-card p{margin:3px 0 7px!important;line-height:1.3}
.settings-grid.settings-organized .form-grid{gap:8px!important}
.settings-grid.settings-organized .settings-actions{gap:7px!important;margin-top:7px!important}
@media(max-width:820px){.settings-grid.settings-organized{grid-template-columns:1fr!important}}
/* Last cloud-sync tooltip. */
#v540CloudTip{position:fixed;z-index:1000;display:none;width:220px;padding:9px 11px;border:1px solid var(--line);border-radius:10px;background:#0b1d2d;color:#f4f8fc;box-shadow:0 12px 28px rgba(0,0,0,.28);font-size:12px;line-height:1.4}
#v540CloudTip b{font-size:12px}#v540CloudTip .ok{color:#69db8b}#v540CloudTip .warn{color:#ffc66d}#v540CloudTip .bad{color:#ff7c83}#v540CloudTip small{display:block;margin-top:4px;color:#afc0cf;font-size:11px}

/* v5.41.5 property-first Accounts */
.bills-property-tabs{display:flex;gap:10px;overflow-x:auto;padding:2px 1px 12px;scrollbar-width:none}.bills-property-tabs::-webkit-scrollbar{display:none}.bill-property-tab{border:1px solid var(--border,#d8e2ec);background:var(--card,#fff);border-radius:12px;padding:11px 15px;display:flex;gap:8px;align-items:center;white-space:nowrap;font-weight:700;color:inherit;cursor:pointer;box-shadow:0 2px 7px rgba(20,45,70,.05)}.bill-property-tab.active{background:#2388f2;color:#fff;border-color:#2388f2}.bills-action-card{border-color:#ffd4d4!important;background:linear-gradient(90deg,rgba(255,240,240,.9),rgba(255,255,255,.96))}.bill-action-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid rgba(220,90,90,.16);border-radius:11px;background:var(--card,#fff);margin-top:8px}.bill-action-row small{display:block;margin-top:3px}.bill-view-tabs{display:flex;gap:8px;margin:12px 0}.bill-view-tabs button{border:0;border-radius:10px;padding:9px 14px;background:rgba(110,130,150,.10);font-weight:700;cursor:pointer;color:inherit}.bill-view-tabs button.active{background:#2388f2;color:#fff}.alerts-head{align-items:center}.alerts-head>.secondary{white-space:nowrap}@media(max-width:800px){.bill-action-row{align-items:flex-start}.bills-property-tabs{margin-right:-12px}.bill-property-tab{padding:9px 12px}.alerts-head{gap:10px;align-items:flex-start}.alerts-head>.secondary{font-size:12px;padding:8px 10px}}

/* v5.41.7 — Accounts dashboard aligned with approved visual */
.bills-hero-actions{display:flex;justify-content:flex-end;margin:-42px 0 14px}.bills-property-tabs{gap:12px;padding:4px 1px 14px}.bill-property-tab{min-width:150px;min-height:62px;padding:10px 14px;border-radius:11px;justify-content:flex-start;text-align:left}.bill-property-tab>span:last-child{display:grid;gap:2px}.bill-property-tab small{display:block;font-size:10px;font-weight:500;opacity:.65}.bill-prop-icon{width:34px;height:34px;border-radius:9px;background:rgba(35,136,242,.10);display:grid;place-items:center;font-size:17px}.bill-property-tab.active .bill-prop-icon{background:rgba(255,255,255,.18)}.bills-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.bill-kpi{display:flex!important;align-items:center;gap:12px;min-height:92px}.bill-kpi>div{display:grid;gap:3px}.bill-kpi-icon{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;background:rgba(35,136,242,.12);color:#2388f2;font-weight:800;font-size:18px}.bill-kpi-icon.paid{background:rgba(24,180,115,.12);color:#18a86e}.bill-kpi-icon.pending{background:rgba(255,160,30,.14);color:#e68a00}.bill-kpi-icon.overdue{background:rgba(240,70,85,.12);color:#e43c4f}.bills-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(270px,.72fr);gap:14px;align-items:start;margin-top:14px}.bills-action-card{min-height:250px}.bill-action-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto}.bill-alert-icon{width:30px;height:30px;border-radius:9px;background:rgba(235,65,75,.11);color:#df3345;display:grid;place-items:center;font-weight:900}.bill-alert-icon.amber{background:rgba(245,155,35,.14);color:#e08a0a}.bill-chart-card{min-height:122px}.bill-chart-card .bill-big-number{margin:4px 0 8px;font-size:27px}.bill-month-chart{height:76px;display:flex;align-items:end;gap:4px}.bill-month-chart span{height:72px;flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:3px}.bill-month-chart i{display:block;width:70%;max-width:13px;min-height:7px;border-radius:4px 4px 2px 2px;background:#2388f2;opacity:.75}.bill-month-chart small{font-size:8px;opacity:.65}.bills-full-table{margin-top:14px}.bills-table th{font-size:10px;letter-spacing:.03em;text-transform:uppercase}.bills-table td{vertical-align:middle}.bill-actions-cell{white-space:nowrap}.bill-renew-btn{padding:7px 10px!important;font-size:11px!important}.bill-more{margin-left:5px}.bill-due-warn{color:#df3345!important;font-weight:700}.bills-side-stack{gap:12px}
@media(max-width:1050px){.bills-dashboard-grid{grid-template-columns:1fr}.bills-side-stack{grid-template-columns:1fr 1fr}.bills-kpis{grid-template-columns:1fr 1fr}.bills-hero-actions{margin:0 0 12px}}
@media(max-width:650px){.bills-kpis,.bills-side-stack{grid-template-columns:1fr}.bill-property-tab{min-width:135px}.bills-full-table .section-head{align-items:flex-start}.bills-full-table .section-head .primary{font-size:11px;padding:8px}.bill-month-chart small{display:none}}

/* v5.41.8 — compact Accounts property tabs + KPI totals */
.bill-property-tab{min-width:132px!important;min-height:50px!important;padding:7px 11px!important;gap:7px!important}
.bill-prop-icon{width:29px!important;height:29px!important;border-radius:8px!important;font-size:14px!important}
.bill-property-tab b{font-size:12px!important;line-height:1.15!important}
.bill-property-tab small{font-size:9px!important;line-height:1.1!important}
.bills-property-tabs{gap:9px!important;padding-bottom:10px!important}
.bill-kpi{min-height:72px!important;padding:11px 13px!important;gap:10px!important}
.bill-kpi-icon{width:34px!important;height:34px!important;border-radius:9px!important;font-size:15px!important}
.bill-kpi h2,.bill-kpi .kpi-value,.bill-kpi strong{font-size:22px!important;line-height:1.05!important}
.bill-kpi small{font-size:10px!important}
.bills-kpis{gap:9px!important}
@media(max-width:650px){.bill-property-tab{min-width:122px!important}.bill-kpi{min-height:68px!important}}

/* v5.41.15 — Accounts semantic colors */
.bill-property-tab{border-color:color-mix(in srgb,var(--bill-prop-color,#2388f2) 30%,#dfe7f1)!important;background:color-mix(in srgb,var(--bill-prop-color,#2388f2) 7%,white)!important}
.bill-property-tab .bill-prop-icon{background:color-mix(in srgb,var(--bill-prop-color,#2388f2) 15%,white)!important;color:var(--bill-prop-color,#2388f2)!important}
.bill-property-tab.active{background:var(--bill-prop-color,#2388f2)!important;border-color:var(--bill-prop-color,#2388f2)!important;color:white!important}
.bill-row-property-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:7px;vertical-align:1px}
.bill-status.paid{background:rgba(24,168,110,.13)!important;color:#138657!important;border-color:rgba(24,168,110,.28)!important}
.bill-status.pending{background:rgba(245,155,35,.15)!important;color:#b86d00!important;border-color:rgba(245,155,35,.30)!important}
.bill-status.overdue{background:rgba(228,60,79,.12)!important;color:#c92f41!important;border-color:rgba(228,60,79,.28)!important}

/* MITOS v5.41.16 branding + explicit TAAK season legend */
.brand{gap:11px}.brand .brand-mark{display:none}.mitos-brand-copy{min-width:0}.mitos-brand-copy strong{display:block;font-size:23px;line-height:1;letter-spacing:3.4px;font-weight:760;color:#e9f0f6}.mitos-brand-copy span{display:block;margin-top:5px;font-size:7px;letter-spacing:1.25px;white-space:nowrap;color:#91a5b8}.mitos-brand-symbol{position:relative;width:42px;height:42px;flex:0 0 42px;border-radius:50%;box-sizing:border-box}.mitos-maze-ring{position:absolute;inset:2px;border:3px solid #6f879b;border-radius:50%;box-shadow:inset 0 0 0 4px #0b1b2a,inset 0 0 0 7px #6f879b,inset 0 0 0 11px #0b1b2a,inset 0 0 0 14px #6f879b}.mitos-maze-ring:before,.mitos-maze-ring:after{content:"";position:absolute;background:#0b1b2a}.mitos-maze-ring:before{width:8px;height:20px;left:13px;top:-3px}.mitos-maze-ring:after{width:18px;height:7px;right:-3px;top:13px}.mitos-maze-home{position:absolute;left:13px;top:13px;z-index:2;font-size:17px;line-height:1;color:#dbe5ee}.mitos-thread{position:absolute;z-index:3;width:24px;height:15px;border-bottom:2px solid #d7a34a;border-radius:50%;left:25px;top:24px;transform:rotate(13deg);filter:drop-shadow(0 0 2px rgba(215,163,74,.35))}
.mitos-auth-gate{background:linear-gradient(145deg,#071523,#10283c)}.mitos-auth-box{position:relative;overflow:hidden}.mitos-auth-brand{text-align:center;margin:0 auto 18px}.mitos-auth-symbol{width:74px;height:74px;margin:0 auto 8px;transform:scale(1.45);transform-origin:center}.mitos-auth-word{font-size:35px;font-weight:760;letter-spacing:7px;line-height:1;color:#18334b}.mitos-auth-subtitle{margin-top:7px;font-size:8px;font-weight:700;letter-spacing:2px;color:#6d8294}.mitos-auth-box>h1{font-size:21px;margin-top:6px}.mitos-auth-box>p{margin-top:6px}
html:not(.light) .mitos-auth-word{color:#e8eef3}html:not(.light) .mitos-auth-subtitle{color:#8da1b2}
.fee-season-legend{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.fee-season-badge{display:inline-flex;gap:6px;align-items:center;padding:6px 9px;border-radius:999px;font-size:10px;line-height:1.15;border:1px solid var(--line,#dfe6ec)}.fee-season-badge.low{background:rgba(56,118,171,.08);color:#315f86;border-color:rgba(56,118,171,.22)}.fee-season-badge.high{background:rgba(211,151,47,.09);color:#8a641f;border-color:rgba(211,151,47,.24)}
@media(max-width:820px){.mitos-brand-copy strong{font-size:19px;letter-spacing:2.5px}.mitos-brand-copy span{font-size:6px;letter-spacing:.8px}.mitos-brand-symbol{width:36px;height:36px;flex-basis:36px}.mitos-maze-home{left:11px;top:11px;font-size:15px}.mitos-thread{left:22px;top:21px}.mitos-auth-symbol{transform:scale(1.25)}}


/* MITOS v5.41.17 — approved logo asset, TAAK season labels, discreet footer version */
.brand{height:74px!important;margin:0 5px 10px!important;display:flex!important;align-items:center!important;overflow:visible!important}
.mitos-brand-logo{display:block;width:100%;max-width:188px;height:auto;object-fit:contain;filter:drop-shadow(0 2px 3px rgba(0,0,0,.16))}
.mitos-auth-brand{margin:0 auto 14px!important;text-align:center!important}
.mitos-auth-logo{display:block;width:min(360px,88%);height:auto;margin:0 auto;object-fit:contain}
.sidebar .version{display:block!important;position:absolute!important;left:18px!important;bottom:10px!important;margin:0!important;padding:0!important;border:0!important;color:#7890a5!important;font-size:9.5px!important;line-height:1!important;letter-spacing:.04em!important;opacity:.72!important;z-index:7!important}
.sidebar-cloud-controls{bottom:42px!important}
.sidebar-signout-btn{bottom:82px!important}
.sidebar{padding-bottom:122px!important}
.fee-period.low{background:rgba(56,132,199,.11)!important;color:#3979ad!important;border:1px solid rgba(56,132,199,.18)!important}
@media(max-width:820px){.mitos-brand-logo{max-width:165px}.sidebar .version{display:none!important}.mitos-auth-logo{width:min(320px,92%)}}

/* MITOS v5.41.18 — compact real logo integration */
.brand{height:112px!important;margin:0 8px 8px!important;justify-content:flex-start!important;overflow:visible!important}
.mitos-brand-logo{width:150px!important;max-width:150px!important;height:auto!important;object-fit:contain!important;object-position:left center!important;filter:drop-shadow(0 2px 4px rgba(0,0,0,.16))!important}
.mitos-auth-brand{margin:0 auto 12px!important}
.mitos-auth-logo{width:230px!important;max-width:68%!important;height:auto!important;object-fit:contain!important}
.sidebar .version{left:18px!important;bottom:8px!important;font-size:9px!important;opacity:.62!important}
.sidebar-cloud-controls{bottom:36px!important}
.sidebar-signout-btn{bottom:76px!important}
.sidebar{padding-bottom:118px!important}
@media(max-width:820px){.brand{height:88px!important}.mitos-brand-logo{width:125px!important;max-width:125px!important}.mitos-auth-logo{width:200px!important;max-width:62%!important}.sidebar .version{display:none!important}}

/* MITOS v5.41.19 — clean transparent brand asset */
.brand{height:94px!important;margin:0 8px 10px!important;overflow:visible!important}
.mitos-brand-logo{width:142px!important;max-width:142px!important;height:auto!important;object-fit:contain!important;filter:drop-shadow(0 1px 1px rgba(255,255,255,.18)) drop-shadow(0 2px 3px rgba(0,0,0,.22))!important}
.mitos-auth-brand{margin:0 auto 10px!important}
.mitos-auth-logo{width:205px!important;max-width:58%!important;height:auto!important;object-fit:contain!important;filter:none!important}
.sidebar .version{bottom:7px!important;font-size:8.5px!important;opacity:.58!important}
@media(max-width:820px){.brand{height:82px!important}.mitos-brand-logo{width:120px!important;max-width:120px!important}.mitos-auth-logo{width:180px!important;max-width:56%!important}}

/* MITOS v5.41.21 — final flat transparent logo */
.mitos-brand-logo{width:132px!important;max-width:132px!important;filter:none!important}
.mitos-auth-logo{width:190px!important;max-width:54%!important;filter:none!important}
@media(max-width:820px){.mitos-brand-logo{width:112px!important;max-width:112px!important}.mitos-auth-logo{width:170px!important;max-width:52%!important}}

/* MITOS v5.41.21 — frameless dark login + high-contrast dark-surface logo */
.mitos-auth-gate{background:radial-gradient(circle at 50% 35%,#123654 0,#0b2236 38%,#071827 72%,#061522 100%)!important;padding:28px!important}
.mitos-auth-box,.mitos-auth-box-wide{width:min(600px,calc(100vw - 44px))!important;background:transparent!important;color:#eef5fa!important;border:0!important;border-radius:0!important;padding:20px 34px 28px!important;box-shadow:none!important}
.mitos-auth-brand{margin:0 auto 28px!important;text-align:center!important}
.mitos-auth-logo{content:url('../assets/mitos-logo-dark.png')!important;width:360px!important;max-width:72%!important;height:auto!important;filter:none!important;background:transparent!important;border:0!important;border-radius:0!important}
.mitos-auth-box>p{font-size:22px!important;color:#dce8f1!important;opacity:1!important;margin:0 0 30px!important}
.mitos-auth-box label{color:#f1f6fa!important;font-size:14px!important}
.mitos-auth-box input,.mitos-auth-select{background:rgba(7,27,43,.34)!important;color:#f4f8fb!important;border:1px solid #4d86b1!important;box-shadow:none!important}
.mitos-auth-box input:focus,.mitos-auth-select:focus{outline:0!important;border-color:#78b7e5!important;box-shadow:0 0 0 2px rgba(93,165,218,.16)!important}
.mitos-auth-box input::placeholder{color:#9bb3c6!important}
.mitos-auth-recovery button{color:#d7e5ef!important;opacity:.82!important}.mitos-auth-recovery span{color:#91a8ba!important}
.mitos-auth-primary{background:linear-gradient(90deg,#0e4e85,#1769aa)!important;color:#fff!important;border:1px solid rgba(132,194,238,.2)!important}
.mitos-auth-secondary{background:rgba(5,22,35,.18)!important;color:#f1f6fa!important;border:1px solid #8bb1cc!important}
.mitos-password-eye{color:#dbe9f3!important}
/* same readable logo treatment on the dark sidebar */
.brand .mitos-brand-logo{content:url('../assets/mitos-logo-dark.png')!important;width:170px!important;max-width:170px!important;height:auto!important;filter:none!important;background:transparent!important}
.brand{height:118px!important;align-items:center!important}
@media(max-width:820px){.mitos-auth-box,.mitos-auth-box-wide{width:min(520px,calc(100vw - 28px))!important;padding:18px 18px 24px!important}.mitos-auth-logo{width:300px!important;max-width:78%!important}.brand{height:96px!important}.brand .mitos-brand-logo{width:145px!important;max-width:145px!important}}


/* MITOS v5.41.22 — compact login + centered compact sidebar logo */
.mitos-auth-box,.mitos-auth-box-wide{width:min(500px,calc(100vw - 44px))!important;padding:14px 28px 22px!important}
.mitos-auth-brand{margin:0 auto 18px!important}
.mitos-auth-logo{width:285px!important;max-width:66%!important}
.mitos-auth-box>p{font-size:20px!important;margin:0 0 22px!important}
.brand{height:104px!important;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;padding-left:0!important;padding-right:0!important}
.brand .mitos-brand-logo{width:148px!important;max-width:148px!important;margin:0 auto!important;object-position:center center!important}
@media(max-width:820px){.mitos-auth-box,.mitos-auth-box-wide{width:min(460px,calc(100vw - 28px))!important;padding:12px 18px 20px!important}.mitos-auth-logo{width:250px!important;max-width:68%!important}.brand{height:88px!important}.brand .mitos-brand-logo{width:128px!important;max-width:128px!important;margin:0 auto!important}}


/* MITOS v5.41.24 — iPhone/mobile controls */
@media(max-width:820px){
  /* Mobile dropdowns use the platform-native picker; no giant fixed custom menu. */
  select.field:not(.modern-native-select){
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
  /* TAAK/EOT: fit every column inside the phone viewport — no horizontal scrolling. */
  .fee-monthly-card .table-wrap,
  .fee-lower-grid .table-wrap{
    overflow-x:hidden!important;
    overflow-y:visible!important;
    max-width:100%!important;
    width:100%!important;
  }
  .fee-monthly-table,.fee-settings-table,.fee-rates-card .table{
    min-width:0!important;
    width:100%!important;
    max-width:100%!important;
    table-layout:fixed!important;
  }
  .fee-monthly-table th,.fee-monthly-table td,
  .fee-settings-table th,.fee-settings-table td,
  .fee-rates-card .table th,.fee-rates-card .table td{
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
    min-width:0!important;
    padding:7px 3px!important;
    font-size:9px!important;
    line-height:1.15!important;
    vertical-align:middle!important;
  }
  .fee-monthly-table th{font-size:8px!important}
  .fee-monthly-table .fee-deadline,.fee-monthly-table .fee-period{font-size:8px!important;padding:3px 4px!important}
  .fee-monthly-table .fee-month-name b{font-size:9px!important}
  .fee-monthly-table .fee-month-name small{display:none!important}
  .fee-settings-table th,.fee-settings-table td{font-size:8px!important;padding:6px 2px!important}
  .fee-settings-table .field{font-size:8px!important;padding:5px 2px!important;min-height:30px!important;width:100%!important}
  .fee-rates-card .table th,.fee-rates-card .table td{font-size:9px!important;padding:7px 3px!important}
  .fee-lower-grid{grid-template-columns:minmax(0,1fr)!important}
}

/* MITOS v5.41.24 — iPhone TAAK/EOT full-width fit, no horizontal scroll */


/* MITOS v5.41.25 — final iPhone TAAK/EOT layout: readable, all content visible, zero horizontal scroll */
@media(max-width:820px){
  .fee-monthly-card,.fee-lower-grid>.section-card{overflow:hidden!important}
  .fee-monthly-card .table-wrap,.fee-lower-grid .table-wrap{overflow:visible!important;width:100%!important;max-width:100%!important}
  .fee-monthly-table{width:100%!important;table-layout:fixed!important}
  .fee-monthly-table th,.fee-monthly-table td{padding:7px 2px!important;font-size:8.5px!important;line-height:1.12!important;overflow:hidden!important}
  .fee-monthly-table th{font-size:7.5px!important;letter-spacing:.02em!important;overflow-wrap:normal!important;word-break:normal!important}
  .fee-monthly-table th:nth-child(1){width:14%!important}.fee-monthly-table th:nth-child(2){width:16%!important}.fee-monthly-table th:nth-child(3){width:13%!important}.fee-monthly-table th:nth-child(4){width:9%!important}.fee-monthly-table th:nth-child(5){width:16%!important}.fee-monthly-table th:nth-child(6){width:14%!important}.fee-monthly-table th:nth-child(7){width:18%!important}
  .fee-monthly-table .fee-month-name b{font-size:8.5px!important;line-height:1.05!important;overflow-wrap:anywhere!important}
  .fee-monthly-table .fee-deadline{display:block!important;width:100%!important;padding:3px 1px!important;border-radius:6px!important;font-size:7.2px!important;line-height:1.05!important;white-space:normal!important;overflow-wrap:anywhere!important;text-align:center!important}
  .fee-monthly-table .fee-period{display:block!important;width:100%!important;padding:3px 1px!important;border-radius:6px!important;font-size:7.4px!important;line-height:1!important;white-space:normal!important;text-align:center!important}
  .fee-monthly-table td:nth-child(n+4),.fee-monthly-table th:nth-child(n+4){text-align:center!important;font-variant-numeric:tabular-nums!important}
  .fee-monthly-table td:nth-child(5),.fee-monthly-table td:nth-child(6),.fee-monthly-table td:nth-child(7){white-space:nowrap!important;font-size:8px!important}

  /* Property settings become readable mobile cards instead of crushing six editable columns together. */
  .fee-settings-table,.fee-settings-table tbody,.fee-settings-table tr,.fee-settings-table td{display:block!important;width:100%!important;max-width:100%!important}
  .fee-settings-table thead{display:none!important}
  .fee-settings-table tbody{display:grid!important;gap:10px!important}
  .fee-settings-table tr{padding:10px!important;border:1px solid var(--line,#dbe4eb)!important;border-radius:12px!important;background:var(--card,#fff)!important;box-sizing:border-box!important}
  .fee-settings-table td{display:grid!important;grid-template-columns:92px minmax(0,1fr)!important;align-items:center!important;gap:8px!important;padding:5px 0!important;border:0!important;font-size:11px!important;overflow:visible!important}
  .fee-settings-table td::before{content:attr(data-label);font-size:9px!important;font-weight:800!important;letter-spacing:.06em!important;text-transform:uppercase!important;opacity:.62!important}
  .fee-settings-table td:first-child{grid-template-columns:1fr!important;padding:2px 0 8px!important;border-bottom:1px solid var(--line,#dbe4eb)!important;margin-bottom:2px!important;font-size:12px!important}
  .fee-settings-table td:first-child::before{display:none!important}
  .fee-settings-table .field,.fee-settings-table select.field,.fee-settings-table .fee-small-input{width:100%!important;max-width:100%!important;min-width:0!important;min-height:36px!important;padding:7px 9px!important;font-size:11px!important;box-sizing:border-box!important}
  .fee-settings-table input[type=checkbox]{width:24px!important;height:24px!important;margin:0!important}
  .fee-rates-card .table{width:100%!important;min-width:0!important;table-layout:fixed!important}
  .fee-rates-card .table th,.fee-rates-card .table td{font-size:10px!important;padding:8px 5px!important;white-space:normal!important}
}


/* MITOS v5.42.3 — dedicated phone landscape presentation layer */
html.mitos-landscape-phone,html.mitos-landscape-phone body{width:100%;max-width:100%;min-height:100%;overflow-x:hidden!important}
html.mitos-landscape-phone .app-shell{display:block!important;width:100%!important;max-width:100%!important;min-height:100dvh!important;height:auto!important;overflow:visible!important;grid-template-columns:none!important}
html.mitos-landscape-phone .main{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;height:auto!important;min-height:100dvh!important;overflow:visible!important}
html.mitos-landscape-phone .sidebar{display:none!important}
html.mitos-landscape-phone body.mobile-menu-open .sidebar,
html.mitos-landscape-phone .app-shell.mobile-menu-open .sidebar{display:flex!important;position:fixed!important;inset:0 auto 0 0!important;width:min(78vw,320px)!important;height:100dvh!important;z-index:10020!important;transform:none!important;overflow-y:auto!important;overflow-x:hidden!important;padding:12px 12px 86px!important;box-shadow:18px 0 50px rgba(0,0,0,.45)!important}
html.mitos-landscape-phone .sidebar .sidebar-toggle{display:none!important}
html.mitos-landscape-phone .mobile-menu-scrim{display:none!important}
html.mitos-landscape-phone body.mobile-menu-open .mobile-menu-scrim{display:block!important;position:fixed!important;inset:0!important;z-index:10010!important;background:rgba(0,0,0,.42)!important}
html.mitos-landscape-phone .mobile-menu-toggle{display:grid!important;place-items:center!important;position:fixed!important;z-index:10030!important;left:max(8px,env(safe-area-inset-left))!important;top:max(8px,env(safe-area-inset-top))!important;transform:none!important;width:38px!important;height:38px!important;border-radius:10px!important;background:#0b2032!important;border:1px solid #29475f!important;color:#fff!important;font-size:0!important;box-shadow:0 3px 12px rgba(0,0,0,.22)!important}
html.mitos-landscape-phone .mobile-menu-toggle::before{content:'☰';font:700 20px/1 Arial,sans-serif!important}
html.mitos-landscape-phone body.mobile-menu-open .mobile-menu-toggle{left:min(calc(78vw - 48px),272px)!important}
html.mitos-landscape-phone body.mobile-menu-open .mobile-menu-toggle::before{content:'×';font-size:26px!important}
html.mitos-landscape-phone .topbar{display:flex!important;width:100%!important;max-width:100%!important;height:54px!important;min-height:54px!important;padding:6px max(10px,env(safe-area-inset-right)) 6px calc(56px + env(safe-area-inset-left))!important;box-sizing:border-box!important;justify-content:flex-end!important;gap:8px!important}
html.mitos-landscape-phone .topbar .search{display:none!important}
html.mitos-landscape-phone .top-actions{margin-left:auto!important;gap:6px!important}
html.mitos-landscape-phone .top-action-btn{width:38px!important;height:38px!important;min-width:38px!important}
html.mitos-landscape-phone .view{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;height:auto!important;min-height:0!important;margin:0!important;padding:10px max(12px,env(safe-area-inset-right)) 22px max(12px,env(safe-area-inset-left))!important;box-sizing:border-box!important;overflow:visible!important}
html.mitos-landscape-phone .mobile-nav{display:none!important}
html.mitos-landscape-phone .fab{bottom:10px!important}
html.mitos-landscape-phone .hero{margin:0 0 8px!important;gap:8px!important}.mitos-landscape-phone .hero h1{font-size:20px!important}.mitos-landscape-phone .hero p,.mitos-landscape-phone .date-box{font-size:10px!important}
html.mitos-landscape-phone .kpis,html.mitos-landscape-phone .dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
html.mitos-landscape-phone .grid-main,html.mitos-landscape-phone .dashboard-overview-grid,html.mitos-landscape-phone .dashboard-content-grid,html.mitos-landscape-phone .bottom-grid,html.mitos-landscape-phone .analytics-grid,html.mitos-landscape-phone .settings-grid.settings-organized{grid-template-columns:1fr!important;gap:10px!important}
html.mitos-landscape-phone .card,html.mitos-landscape-phone .section-card{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important}
html.mitos-landscape-phone .table-wrap{width:100%!important;max-width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}
html.mitos-landscape-phone .modal-backdrop{padding:8px!important;align-items:center!important}
html.mitos-landscape-phone .modal{width:min(94vw,760px)!important;max-width:94vw!important;max-height:88dvh!important;overflow:auto!important}
/* Full calendar: use the whole phone width and keep all seven days visible. */
html.mitos-landscape-phone .calendar-screen{width:100%!important;max-width:100%!important;min-width:0!important}
html.mitos-landscape-phone .calendar-card-full{width:100%!important;max-width:100%!important;min-width:0!important;padding:8px!important;overflow:hidden!important}
html.mitos-landscape-phone .calendar-card-full .calendar-toolbar{display:grid!important;grid-template-columns:1fr auto!important;gap:6px!important;margin-bottom:6px!important;align-items:center!important}
html.mitos-landscape-phone .calendar-card-full .calendar-nav{display:flex!important;min-width:0!important;gap:5px!important;align-items:center!important}
html.mitos-landscape-phone .calendar-card-full .calendar-nav h3{min-width:0!important;font-size:14px!important;white-space:nowrap!important}
html.mitos-landscape-phone .calendar-card-full .calendar-filters{display:flex!important;min-width:0!important;gap:5px!important;justify-content:flex-end!important}
html.mitos-landscape-phone .calendar-card-full .compact-field{min-width:0!important;width:auto!important;max-width:150px!important;height:32px!important;font-size:10px!important;padding:4px 24px 4px 7px!important}
html.mitos-landscape-phone .calendar-card-full .compact-btn{height:32px!important;min-height:32px!important;font-size:10px!important;padding:4px 8px!important}
html.mitos-landscape-phone .calendar-card-full .week{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;width:100%!important}
html.mitos-landscape-phone .calendar-card-full .week span{min-width:0!important;font-size:9px!important;padding:4px 1px!important}
html.mitos-landscape-phone .calendar-card-full .calendar{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;width:100%!important;min-width:0!important;max-width:100%!important;overflow:hidden!important;grid-auto-rows:minmax(48px,auto)!important}
html.mitos-landscape-phone .calendar-card-full .day{min-width:0!important;min-height:48px!important;padding:4px!important;font-size:9px!important;overflow:hidden!important}
html.mitos-landscape-phone .calendar-card-full .day>b{font-size:10px!important}
html.mitos-landscape-phone .calendar-card-full .calendar-legend{font-size:9px!important;gap:8px!important;flex-wrap:wrap!important;margin-top:6px!important}
html.mitos-landscape-phone .calendar-card-full .calendar-legend>span{min-width:0!important;white-space:nowrap!important}


/* MITOS v5.42.4 — iPhone landscape: CSS owns layout, no JS/device class required. */
@media (orientation: landscape) and (max-height: 600px) and (pointer: coarse){
  html,body{width:100%!important;max-width:100%!important;overflow-x:hidden!important}
  .app-shell{display:block!important;grid-template-columns:none!important;width:100%!important;max-width:100%!important;height:auto!important;min-height:100dvh!important;overflow:visible!important}
  .main{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;height:auto!important;min-height:100dvh!important;overflow:visible!important}
  .sidebar{display:none!important}
  body.mobile-menu-open .sidebar,.app-shell.mobile-menu-open .sidebar{display:flex!important;position:fixed!important;left:0!important;top:0!important;bottom:0!important;width:min(72vw,300px)!important;height:100dvh!important;z-index:10020!important;transform:none!important;overflow-y:auto!important;overflow-x:hidden!important;padding:10px 10px 72px!important;box-shadow:18px 0 50px rgba(0,0,0,.45)!important}
  .sidebar .sidebar-toggle{display:none!important}
  .mobile-menu-toggle{display:grid!important;place-items:center!important;position:fixed!important;z-index:10030!important;left:max(8px,env(safe-area-inset-left))!important;top:max(8px,env(safe-area-inset-top))!important;width:38px!important;height:38px!important;transform:none!important;border-radius:10px!important;background:#0b2032!important;border:1px solid #29475f!important;color:#fff!important;font-size:0!important}
  .mobile-menu-toggle::before{content:'☰';font:700 20px/1 Arial,sans-serif!important}
  body.mobile-menu-open .mobile-menu-toggle{left:min(calc(72vw - 46px),254px)!important}
  body.mobile-menu-open .mobile-menu-toggle::before{content:'×';font-size:26px!important}
  .mobile-menu-scrim{display:none!important}
  body.mobile-menu-open .mobile-menu-scrim{display:block!important;position:fixed!important;inset:0!important;z-index:10010!important;background:rgba(0,0,0,.44)!important;opacity:1!important;pointer-events:auto!important}
  .topbar{display:flex!important;width:100%!important;max-width:100%!important;height:52px!important;min-height:52px!important;padding:5px max(10px,env(safe-area-inset-right)) 5px calc(54px + env(safe-area-inset-left))!important;justify-content:flex-end!important}
  .topbar .search{display:none!important}.top-actions{margin-left:auto!important;gap:6px!important}.top-action-btn{width:36px!important;height:36px!important;min-width:36px!important}
  .view{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;padding:8px max(10px,env(safe-area-inset-right)) 18px max(10px,env(safe-area-inset-left))!important;overflow:visible!important}
  .mobile-nav{display:none!important}.fab{bottom:8px!important}
  .hero{margin:0 0 8px!important;gap:8px!important}.hero h1{font-size:19px!important}.hero p,.date-box{font-size:10px!important}
  .kpis,.dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}.kpi{min-width:0!important;min-height:68px!important;padding:9px!important}
  .grid-main,.dashboard-overview-grid,.dashboard-content-grid,.bottom-grid,.analytics-grid,.settings-grid.settings-organized{grid-template-columns:1fr!important;gap:9px!important}
  .card,.section-card{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important}
  .table-wrap{width:100%!important;max-width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}
  .calendar-screen,.calendar-card-full{width:100%!important;max-width:100%!important;min-width:0!important}.calendar-card-full{padding:7px!important;overflow:hidden!important}
  .calendar-card-full .calendar-toolbar{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:5px!important;align-items:center!important;margin-bottom:5px!important}
  .calendar-card-full .calendar-nav{display:flex!important;min-width:0!important;gap:4px!important}.calendar-card-full .calendar-nav h3{font-size:13px!important;min-width:0!important;white-space:nowrap!important}
  .calendar-card-full .calendar-filters{display:flex!important;gap:4px!important;min-width:0!important}.calendar-card-full .compact-field{width:auto!important;min-width:0!important;max-width:130px!important;height:30px!important;font-size:9px!important;padding:3px 20px 3px 6px!important}.calendar-card-full .compact-btn{height:30px!important;min-height:30px!important;font-size:9px!important;padding:3px 6px!important}
  .calendar-card-full .week,.calendar-card-full .calendar{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;width:100%!important;min-width:0!important;max-width:100%!important}.calendar-card-full .calendar{overflow:hidden!important;grid-auto-rows:minmax(46px,auto)!important}
  .calendar-card-full .week span{min-width:0!important;font-size:8px!important;padding:3px 0!important}.calendar-card-full .day{min-width:0!important;min-height:46px!important;padding:3px!important;font-size:8px!important;overflow:hidden!important}.calendar-card-full .day>b{font-size:9px!important}.calendar-card-full .booking-pill{font-size:7px!important;padding:2px 3px!important;margin-top:2px!important}
  .modal-backdrop{padding:6px!important}.modal{width:min(96vw,780px)!important;max-width:96vw!important;max-height:92dvh!important;overflow:auto!important}
}


/* MITOS v5.42.5 — iPhone portrait full-screen shell + portrait-only guard */
html,body{min-height:100%;background:var(--bg,#f4f7fa)}
@media (max-width:820px) and (orientation:portrait){
  html,body{width:100%!important;min-height:100%!important;margin:0!important;padding:0!important;overflow-x:hidden!important}
  body{min-height:100dvh!important}
  .app-shell{width:100%!important;max-width:none!important;min-height:100dvh!important;margin:0!important;border:0!important;border-radius:0!important}
  .main{width:100%!important;max-width:none!important;min-height:100dvh!important;margin:0!important}
  .topbar{box-sizing:border-box!important;height:auto!important;min-height:calc(52px + env(safe-area-inset-top))!important;padding-top:calc(5px + env(safe-area-inset-top))!important;padding-left:calc(54px + env(safe-area-inset-left))!important;padding-right:max(10px,env(safe-area-inset-right))!important}
  .view{box-sizing:border-box!important;width:100%!important;max-width:none!important;margin:0!important;padding-left:max(10px,env(safe-area-inset-left))!important;padding-right:max(10px,env(safe-area-inset-right))!important;padding-bottom:calc(86px + env(safe-area-inset-bottom))!important}
  .mobile-nav{padding-bottom:env(safe-area-inset-bottom)!important}
  .mobile-menu-toggle{top:calc(8px + env(safe-area-inset-top))!important;left:max(8px,env(safe-area-inset-left))!important}
}
/* Fallback for browsers that ignore manifest orientation: do not render a broken landscape UI. */
#mitosPortraitOnly{display:none}
@media (orientation:landscape) and (max-height:700px) and (pointer:coarse){
  body> :not(#mitosPortraitOnly){visibility:hidden!important;pointer-events:none!important}
  #mitosPortraitOnly{visibility:visible!important;display:flex!important;position:fixed!important;inset:0!important;z-index:2147483647!important;align-items:center!important;justify-content:center!important;text-align:center!important;padding:max(24px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left))!important;box-sizing:border-box!important;background:#06111d!important;color:#fff!important;font:700 17px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important}
}


/* MITOS v5.42.7 — clean iPhone portrait status area (no translucent blur) */
@media (max-width:820px) and (orientation:portrait){
  html,body{background:var(--bg,#f4f7fa)!important}
  .topbar{background:var(--bg,#f4f7fa)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
}

/* v5.42.9 — mobile menu handle slightly lower */
@media (max-width:820px){
  .mobile-menu-toggle{top:52%!important;}
}


/* MITOS v5.42.14 — iPhone polish: seamless light status area + centered slightly larger menu handle */
@media (max-width:820px) and (orientation:portrait){
  :root.light .topbar{background:#fff!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
  .mobile-menu-toggle{top:50%!important;transform:translateY(-50%)!important;width:28px!important;height:48px!important;font-size:21px!important}
}

/* MITOS v5.43.7 — compact branding, refined settings folds, owner/property light-mode identity */
.sidebar .brand{height:78px!important;margin:0 8px 5px!important;justify-content:center!important;opacity:.9!important}
.sidebar .mitos-brand-logo{width:118px!important;max-width:118px!important;object-position:center center!important;filter:drop-shadow(0 1px 2px rgba(0,0,0,.12))!important}
.mitos-settings-toggle{min-height:58px!important;transition:background .16s ease!important}
.mitos-settings-toggle:hover{background:color-mix(in srgb,var(--blue) 3%,transparent)!important}
.mitos-settings-toggle:focus-visible{outline:2px solid color-mix(in srgb,var(--blue) 45%,transparent)!important;outline-offset:-2px!important;border-radius:10px!important}
.mitos-settings-fold-indicator{width:26px;height:26px;flex:0 0 26px;margin-left:10px;border:1px solid color-mix(in srgb,var(--line) 82%,transparent);border-radius:50%;background:color-mix(in srgb,var(--panel2) 78%,transparent);position:relative;transition:background .16s,border-color .16s}
.mitos-settings-fold-indicator:before,.mitos-settings-fold-indicator:after{content:"";position:absolute;left:7px;right:7px;top:12px;height:1.5px;border-radius:2px;background:var(--muted)}
.mitos-settings-fold-indicator:after{transform:rotate(90deg);transition:transform .16s}
.section-card.is-open>.mitos-settings-toggle .mitos-settings-fold-indicator:after{transform:rotate(0)}
.section-card.is-open>.mitos-settings-toggle .mitos-settings-fold-indicator{background:color-mix(in srgb,var(--blue) 8%,var(--panel));border-color:color-mix(in srgb,var(--blue) 24%,var(--line))}
/* Owner rows become compact identity banners without changing owner data/actions. */
.owner-list{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important;gap:10px!important}
.owner-list>.op-row{position:relative;overflow:hidden;min-height:76px;padding:14px 14px 14px 17px!important;border:1px solid color-mix(in srgb,var(--blue) 16%,var(--line))!important;border-radius:13px!important;background:linear-gradient(135deg,color-mix(in srgb,var(--blue) 9%,var(--panel)),var(--panel) 64%)!important;box-shadow:0 5px 16px rgba(25,54,84,.06)!important}
.owner-list>.op-row:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--blue)}
.owner-list>.op-row:nth-child(4n+2){border-color:color-mix(in srgb,#d99b32 18%,var(--line))!important;background:linear-gradient(135deg,color-mix(in srgb,#d99b32 10%,var(--panel)),var(--panel) 64%)!important}.owner-list>.op-row:nth-child(4n+2):before{background:#d99b32}
.owner-list>.op-row:nth-child(4n+3){border-color:color-mix(in srgb,#d85b7b 18%,var(--line))!important;background:linear-gradient(135deg,color-mix(in srgb,#d85b7b 9%,var(--panel)),var(--panel) 64%)!important}.owner-list>.op-row:nth-child(4n+3):before{background:#d85b7b}
.owner-list>.op-row:nth-child(4n+4){border-color:color-mix(in srgb,#27a978 18%,var(--line))!important;background:linear-gradient(135deg,color-mix(in srgb,#27a978 9%,var(--panel)),var(--panel) 64%)!important}.owner-list>.op-row:nth-child(4n+4):before{background:#27a978}
.owner-list>.op-row b{font-size:13px!important}.owner-list>.op-row small{display:block;margin-top:5px;color:var(--muted)}
/* Property identity remains clearly visible in light mode. */
:root.light .property-color-card{border:1px solid color-mix(in srgb,var(--prop-color) 42%,#d9e2eb)!important;border-top:4px solid var(--prop-color)!important;background:linear-gradient(155deg,color-mix(in srgb,var(--prop-color) 10%,#fff) 0%,#fff 52%)!important;box-shadow:0 6px 18px color-mix(in srgb,var(--prop-color) 9%,transparent)!important}
:root.light .property-color-card .property-type{border-color:color-mix(in srgb,var(--prop-color) 25%,#d9e2eb)!important;background:color-mix(in srgb,var(--prop-color) 8%,#fff)!important;color:color-mix(in srgb,var(--prop-color) 70%,#26384a)!important}
:root.light .property-color-card .property-color-chip{display:inline-block!important;width:11px!important;height:11px!important;border-radius:50%!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--prop-color) 13%,transparent)!important}
@media(max-width:820px){.sidebar .brand{height:68px!important}.sidebar .mitos-brand-logo{width:104px!important;max-width:104px!important}.owner-list{grid-template-columns:1fr!important}}


/* MITOS v5.43.9 — crisp discreet sidebar mark + tax light-mode visual grouping */
.sidebar .brand{height:66px!important;margin:0 8px 4px!important;opacity:1!important}
.sidebar .brand .mitos-brand-logo{
  content:url('../assets/mitos-sidebar-logo-dark.png')!important;
  width:94px!important;max-width:94px!important;height:auto!important;
  object-fit:contain!important;object-position:center center!important;
  opacity:.72!important;filter:none!important;
}
/* The sidebar asset intentionally omits the tiny subtitle so MITOS remains legible at this compact size. */
:root.light .tax-page-kpis .kpi{border-width:1px!important;border-style:solid!important}
:root.light .tax-page-kpis .kpi:nth-child(1){background:linear-gradient(145deg,#eef6ff,#fff)!important;border-color:#c9e1ff!important}
:root.light .tax-page-kpis .kpi:nth-child(2){background:linear-gradient(145deg,#eefbf5,#fff)!important;border-color:#c7ead9!important}
:root.light .tax-page-kpis .kpi:nth-child(3){background:linear-gradient(145deg,#fff8e9,#fff)!important;border-color:#f1dfb4!important}
:root.light .tax-page-kpis .kpi:nth-child(4){background:linear-gradient(145deg,#f5f0ff,#fff)!important;border-color:#ded0f6!important}
:root.light .tax-page-kpis .kpi:nth-child(5){background:linear-gradient(145deg,#fff0f2,#fff)!important;border-color:#f2cdd3!important}
:root.light .tax-bracket-strip>div:nth-child(4n+1){background:#eef6ff!important;border-color:#cfe3fa!important}
:root.light .tax-bracket-strip>div:nth-child(4n+2){background:#eefbf5!important;border-color:#cce9da!important}
:root.light .tax-bracket-strip>div:nth-child(4n+3){background:#fff8e9!important;border-color:#f0dfb9!important}
:root.light .tax-bracket-strip>div:nth-child(4n+4){background:#fff0f2!important;border-color:#f1d0d6!important}
:root.light .tax-source-grid .detail-strip>div{background:linear-gradient(145deg,#f5f9ff,#fff)!important;border:1px solid #dbe8f5!important;border-radius:10px!important}
:root.light .tax-source-grid .section-card:nth-child(even) .detail-strip>div{background:linear-gradient(145deg,#f2fbf6,#fff)!important;border-color:#d6eadf!important}
:root.light .tax-source-grid .table tbody tr:nth-child(odd) td{background:#f8fbff!important}
:root.light .tax-source-grid .table tbody tr:nth-child(even) td{background:#f3f8fd!important}
@media(max-width:820px){
 .sidebar .brand{height:60px!important}
 .sidebar .brand .mitos-brand-logo{width:86px!important;max-width:86px!important;opacity:.7!important}
}

/* MITOS v5.43.11 — crisp original logo assets + compact notifications */
/* Keep the original full-resolution artwork; size only via CSS to avoid raster quality loss. */
.mitos-auth-logo{content:url('../assets/mitos-logo-dark.png')!important;width:285px!important;max-width:66%!important;height:auto!important;image-rendering:auto!important;filter:none!important;opacity:.96!important}
.sidebar .brand{height:66px!important;margin:0 8px 4px!important;opacity:1!important}
.sidebar .brand .mitos-brand-logo{content:url('../assets/mitos-logo-dark.png')!important;width:94px!important;max-width:94px!important;height:auto!important;object-fit:contain!important;object-position:center center!important;image-rendering:auto!important;filter:none!important;opacity:.76!important}
/* Notifications return to a compact list: no oversized cells. */
.alerts-modern-card{padding:14px!important}
.alerts-list{gap:5px!important}
.alert-click-row{min-height:0!important;padding:7px 9px!important;border-radius:10px!important;gap:8px!important}
.alert-row-main{gap:8px!important}.alert-row-main .row{gap:5px!important}.alert-row-main b{font-size:12px!important;line-height:1.25!important}.alert-row-main small{font-size:10px!important;line-height:1.2!important}
.alert-read-dot{width:7px!important;height:7px!important;box-shadow:0 0 0 3px rgba(59,156,255,.10)!important}
.alert-read-state{font-size:9px!important;padding:3px 6px!important}.alert-done-btn{font-size:10px!important;padding:3px 5px!important}
.alerts-filter-grid{margin-bottom:8px!important;gap:7px!important}.alerts-filter-grid .field,.alerts-filter-grid button{min-height:34px!important;padding-top:6px!important;padding-bottom:6px!important;font-size:11px!important}
@media(max-width:820px){.mitos-auth-logo{width:250px!important;max-width:68%!important}.sidebar .brand{height:60px!important}.sidebar .brand .mitos-brand-logo{width:86px!important;max-width:86px!important;opacity:.74!important}.alerts-modern-card{padding:10px!important}.alert-click-row{padding:7px 8px!important}.alert-state-wrap{gap:4px!important}}

/* MITOS v5.43.11 — notification list restoration + crisp branding */
/* Alerts must stay a compact single-column notification list; generic owner-card styling must not leak here. */
.alerts-list{display:grid!important;grid-template-columns:1fr!important;gap:5px!important}
.alerts-list>.alert-click-row{min-height:0!important;padding:7px 10px!important;border-radius:9px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;background:var(--panel2)!important;border:1px solid var(--line)!important;box-shadow:none!important}
.alerts-list>.alert-click-row:before{display:none!important;content:none!important}
.alerts-list>.alert-click-row:nth-child(n){background:var(--panel2)!important;border-color:var(--line)!important}
.alerts-list>.alert-click-row.is-unread{background:rgba(77,163,255,.055)!important;border-color:rgba(77,163,255,.18)!important}
.alert-row-main{min-width:0!important;flex:1!important}.alert-row-main>div{min-width:0!important}.alert-row-main .row{display:flex!important;align-items:center!important;flex-wrap:nowrap!important;min-width:0!important}.alert-row-main .row b{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;min-width:0!important;max-width:100%!important;font-size:12px!important}.alert-row-main small{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:100%!important;font-size:10px!important;margin-top:2px!important}.alert-state-wrap{flex:none!important}.alerts-head{margin-bottom:8px!important}.alerts-head h3{margin-bottom:1px!important}.alerts-head small{font-size:10px!important;opacity:.88!important}.alerts-head>.secondary{min-height:32px!important;padding:6px 10px!important;font-size:10px!important}.alerts-filter-grid{margin-bottom:7px!important}.alerts-modern-card{padding:12px!important}
/* Use the untouched high-resolution logo; never a resized raster derivative. */
.mitos-auth-logo{content:url('../assets/mitos-logo-dark.png')!important;width:285px!important;max-width:66%!important;height:auto!important;image-rendering:auto!important;opacity:.98!important;filter:none!important}
.sidebar .brand{height:76px!important;margin:0 8px 3px!important;overflow:hidden!important}
.sidebar .brand .mitos-brand-logo{content:url('../assets/mitos-logo-dark.png')!important;width:112px!important;max-width:112px!important;height:auto!important;image-rendering:auto!important;opacity:.84!important;filter:none!important;transform:translateZ(0)}
@media(max-width:820px){.alerts-modern-card{padding:9px!important}.alerts-list>.alert-click-row{padding:7px 8px!important}.sidebar .brand{height:68px!important}.sidebar .brand .mitos-brand-logo{width:100px!important;max-width:100px!important;opacity:.84!important}}


/* MITOS v5.43.17 — Accounts dark-mode contrast + annual category consistency */
html:not(.light) .bill-property-tab{
  background:color-mix(in srgb,var(--bill-prop-color,#2388f2) 13%,var(--panel))!important;
  border-color:color-mix(in srgb,var(--bill-prop-color,#2388f2) 42%,var(--line))!important;
  color:var(--text)!important;
}
html:not(.light) .bill-property-tab b{color:var(--text)!important;opacity:1!important}
html:not(.light) .bill-property-tab small{color:var(--muted)!important;opacity:1!important}
html:not(.light) .bill-property-tab .bill-prop-icon{
  background:color-mix(in srgb,var(--bill-prop-color,#2388f2) 22%,var(--panel2))!important;
  color:color-mix(in srgb,var(--bill-prop-color,#2388f2) 72%,white)!important;
}
html:not(.light) .bill-property-tab.active{background:var(--bill-prop-color,#2388f2)!important;color:#fff!important}
html:not(.light) .bill-property-tab.active b,html:not(.light) .bill-property-tab.active small{color:#fff!important}
html:not(.light) .bills-action-card{
  background:linear-gradient(90deg,rgba(104,35,45,.28),rgba(13,32,49,.98))!important;
  border-color:rgba(255,105,120,.25)!important;
  color:var(--text)!important;
}
html:not(.light) .bills-action-card h3{color:var(--text)!important}
html:not(.light) .bills-action-card .section-head small,html:not(.light) .bills-action-card .empty{color:var(--muted)!important}
html:not(.light) .bill-action-row{background:var(--panel2)!important;color:var(--text)!important;border-color:var(--line)!important}
html:not(.light) .bill-category-row,html:not(.light) .bill-chart-card,html:not(.light) .bills-main-card{color:var(--text)!important}
html:not(.light) .bill-mini-track{background:rgba(148,168,186,.22)!important}

/* MITOS v5.43.18 — mobile layout fixes */
@media(max-width:820px){.filter-date-row{grid-template-columns:minmax(0,1fr)!important;gap:8px!important;align-items:stretch!important}.filter-date-row label{min-width:0!important;width:100%!important}.filter-date-row .field{width:100%!important;min-width:0!important;box-sizing:border-box!important}.filter-date-row .filter-reset{width:100%!important;height:34px!important;border-radius:9px!important}.bill-property-tab{min-width:0!important;width:min(42vw,155px)!important;max-width:155px!important;overflow:hidden!important}.bill-property-tab>span:last-child{min-width:0!important;overflow:hidden!important}.bill-property-tab b,.bill-property-tab small{display:block!important;max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.bills-property-tabs{width:100%!important;max-width:100%!important;overflow-x:auto!important;overscroll-behavior-inline:contain!important}}

/* MITOS v5.43.21 — family read-only */
.mitos-readonly-badge{position:fixed;right:14px;bottom:14px;z-index:9998;padding:7px 11px;border-radius:999px;background:rgba(15,23,42,.92);color:#fff;font-size:11px;font-weight:800;letter-spacing:.04em;box-shadow:0 8px 24px rgba(0,0,0,.22)}
html.mitos-family-readonly .manual-cloud-tools{display:none!important}
@media(max-width:820px){.mitos-readonly-badge{right:10px;bottom:68px;font-size:10px;padding:6px 9px}}

/* v5.43.23 strict Family read-only + account deletion */
.mitos-family-readonly [data-mitos-readonly="1"]{opacity:.72;cursor:not-allowed!important}
.danger-account-zone{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 0}.danger-account-zone h3{margin:0 0 4px}.danger-account-zone p{margin:0;opacity:.78}.danger-account-zone .danger{border:1px solid currentColor;border-radius:10px;padding:10px 14px;font-weight:700;background:transparent;color:#b42318;white-space:nowrap}@media(max-width:700px){.danger-account-zone{align-items:stretch;flex-direction:column}.danger-account-zone .danger{width:100%}}




/* MITOS v5.43.40 — larger menu logo; lettering crisp, emblem subtly translucent */
.sidebar .brand{height:112px!important;margin:0 6px 8px!important;overflow:visible!important;display:flex!important;align-items:center!important;justify-content:center!important}
.sidebar .brand .mitos-brand-logo{content:url('../assets/mitos-sidebar-logo-dark.png')!important;width:165px!important;max-width:165px!important;height:auto!important;opacity:1!important;filter:none!important;object-fit:contain!important;object-position:center center!important;image-rendering:auto!important}
@media(max-width:820px){.sidebar .brand{height:96px!important}.sidebar .brand .mitos-brand-logo{width:145px!important;max-width:145px!important;opacity:1!important}}

/* MITOS v5.43.41 — Calendar uses the full workspace width beside the sidebar */
@media(min-width:821px){
  body:has(.calendar-screen) .view{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding-left:8px!important;
    padding-right:8px!important;
  }
  body:has(.calendar-screen) .calendar-screen,
  body:has(.calendar-screen) .calendar-card-full{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin-left:0!important;
    margin-right:0!important;
  }
}

/* v5.43.42 — Sidebar: Dashboard and Calendar use the full menu width */
.sidebar nav > .nav-dashboard,
.sidebar nav > .nav-calendar-standalone{
  width:100%!important;
  max-width:none!important;
  justify-self:stretch!important;
  align-self:stretch!important;
}

/* MITOS v5.43.62 — cross-platform compatibility pass */
@supports (height:100dvh){.app-shell{min-height:100dvh}.sidebar{height:100dvh}}
button,input,select,textarea{font:inherit}
button,.nav-btn,.secondary,.primary,.danger-btn,.icon-btn{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
@supports (-webkit-touch-callout:none){input,select,textarea{font-size:max(16px,1em)}}

/* MITOS v5.43.65 — larger application logo */
.sidebar .brand{height:126px!important}
.sidebar .brand .mitos-brand-logo{width:190px!important;max-width:190px!important}
@media(max-width:820px){.sidebar .brand{height:108px!important}.sidebar .brand .mitos-brand-logo{width:165px!important;max-width:165px!important}}

/* v5.43.80 — AADE month status dropdown, native-looking control with explicit arrow. */
.aade-month-picker{position:relative;width:225px;min-width:225px;max-width:225px}
.aade-month-trigger{width:100%;min-height:34px;display:grid;grid-template-columns:minmax(0,1fr) auto 12px;align-items:center;gap:6px;text-align:left;padding:5px 8px;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--text);font:inherit;cursor:pointer}
.aade-month-trigger .aade-month-label{font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.aade-month-arrow{font-size:10px;color:var(--muted);transition:transform .15s ease}.aade-month-picker.open .aade-month-arrow{transform:rotate(180deg)}
.aade-month-status{font-size:10px;font-weight:750;white-space:nowrap}.aade-month-status.done{color:#25b96f}.aade-month-status.pending{color:#e79220}
.aade-month-menu{display:none;position:absolute;z-index:40;left:0;right:0;top:calc(100% + 5px);max-height:280px;overflow:auto;padding:4px;border:1px solid var(--line);border-radius:11px;background:var(--panel);box-shadow:0 14px 32px rgba(0,0,0,.16)}
.aade-month-picker.open .aade-month-menu{display:block}.aade-month-option{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:6px 8px;border:0;border-radius:9px;background:transparent;color:var(--text);font-size:12px;line-height:1.2;text-align:left;cursor:pointer}.aade-month-option:hover,.aade-month-option.active{background:var(--panel2)}
@media(max-width:700px){.aade-month-picker{width:100%;min-width:0;max-width:100%}.aade-month-trigger{grid-template-columns:minmax(0,1fr) auto 12px}}


/* MITOS v5.43.86 — adaptive viewport + accessible auth flow */
html,body{max-width:100%;}
.mitos-auth-gate{box-sizing:border-box!important;overflow-x:hidden!important;overflow-y:auto!important;min-height:100vh!important;min-height:100dvh!important;max-height:100dvh!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior:contain!important;}
.mitos-auth-box,.mitos-auth-box-wide{flex:0 0 auto!important;max-width:calc(100vw - 24px)!important;max-height:none!important;overflow:visible!important;}
.mitos-auth-primary:disabled,.mitos-auth-secondary:disabled{opacity:.58!important;cursor:wait!important;}
.mitos-auth-success{text-align:center!important}.mitos-auth-success-icon{width:52px;height:52px;margin:0 auto 12px;border-radius:50%;display:grid;place-items:center;background:rgba(36,173,117,.16);border:1px solid rgba(36,173,117,.38);color:#66dfa9;font-size:26px;font-weight:900}.mitos-auth-success b{overflow-wrap:anywhere}
@media(max-height:760px),(max-width:600px){.mitos-auth-gate{align-items:flex-start!important;padding:12px!important}.mitos-auth-box,.mitos-auth-box-wide{margin:auto!important;padding:12px 16px 18px!important}.mitos-auth-brand{margin-bottom:10px!important}.mitos-auth-logo{width:190px!important;max-width:58%!important}.mitos-auth-box>p{font-size:16px!important;margin-bottom:12px!important}.mitos-auth-box label{margin:8px 0!important}.mitos-auth-box input,.mitos-auth-select{padding:10px 11px!important}.mitos-auth-primary,.mitos-auth-secondary{padding:10px 12px!important;margin-top:8px!important}}
@media(max-width:420px){.mitos-auth-gate{padding:8px!important}.mitos-auth-box,.mitos-auth-box-wide{width:100%!important;max-width:100%!important;padding-left:10px!important;padding-right:10px!important}.mitos-auth-logo{width:165px!important}.mitos-auth-box h1{font-size:19px!important}}
@supports(height:100dvh){.app-shell{min-height:100dvh}.sidebar{height:100dvh}}
