:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;background:#0b1119;color:#e8eef5;font-size:16px}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 78% -15%,#143444 0,transparent 28rem),#0b1119}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.topbar{height:76px;padding:0 max(24px,calc((100vw - 1240px)/2));display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid #263342;background:#0d151fcf}.brand{display:flex;align-items:center;gap:12px;font-size:1.14rem;font-weight:750;letter-spacing:.01em;white-space:nowrap}.brand small{display:block;color:#9aafbe;font-size:.72rem;font-weight:500;letter-spacing:.13em;text-transform:uppercase;margin-top:1px}.brand-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:#72d8e4;color:#08161c;font-weight:900}.topnav{display:flex;align-items:center;gap:22px;color:#b9cad7;font-size:.9rem}.topnav a:hover,.text-button:hover{color:#72d8e4}.topnav form{margin:0}.user-name{border-left:1px solid #314351;padding-left:22px;color:#e8eef5}.text-button{border:0;background:none;color:#b9cad7;cursor:pointer;padding:8px 0}.container{max-width:1240px;margin:0 auto;padding:44px 24px 88px}.eyebrow{color:#72d8e4;font-weight:750;letter-spacing:.16em;font-size:.76rem;margin:0 0 12px}h1,h2,p{margin-top:0}h1{font-size:clamp(2rem,3vw,2.75rem);line-height:1.13;letter-spacing:-.035em;margin-bottom:14px}h2{font-size:1.12rem;line-height:1.35;letter-spacing:-.015em}.muted,.help{color:#a8bac9;line-height:1.6}.help{font-size:.86rem;margin:8px 0 0}.page-head{display:flex;align-items:start;justify-content:space-between;gap:24px;margin-bottom:34px}.page-head .muted{margin-bottom:0}.badge,.module-status{border:1px solid #314a58;background:#122934;color:#a9dce4;border-radius:999px;padding:6px 11px;font-size:.78rem;white-space:nowrap}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.module-card,.panel{border:1px solid #293947;background:#121d28;border-radius:18px;box-shadow:0 14px 35px #00000013}.module-card{min-height:212px;padding:25px;position:relative}.module-icon{display:grid;place-items:center;width:50px;height:50px;border-radius:13px;background:#1b3842;color:#77dce7;font-size:1.6rem;font-weight:700;margin-bottom:26px}.module-status{position:absolute;top:27px;right:25px;background:#202b36;border-color:#374958;color:#b2c1cb}.module-card h2{margin:0 0 7px}.module-card p{color:#a8bac9;line-height:1.5;margin:0}.next-step{margin-top:23px;padding:26px}.next-step h2{font-size:1.3rem;margin-bottom:6px}.next-step p:last-child{margin-bottom:0}.auth-layout{min-height:calc(100vh - 220px);display:grid;grid-template-columns:1fr 430px;align-items:center;gap:8vw}.auth-intro{max-width:560px}.auth-intro h1{font-size:clamp(2.7rem,5vw,4.6rem);line-height:1.05}.auth-intro p:last-child{font-size:1.06rem;color:#a8bac9;line-height:1.7;max-width:480px}.auth-card,.form-stack{padding:32px}.auth-card h2{font-size:1.5rem;margin-bottom:8px}.auth-card .muted{font-size:.92rem;margin-bottom:26px}label{display:block;color:#dbe6ee;font-size:.9rem;font-weight:650;margin:18px 0 8px}input,select{width:100%;height:46px;border:1px solid #3b4b59;border-radius:9px;background:#0c1720;color:#f0f6fa;padding:0 13px;outline:none}input:focus,select:focus{border-color:#72d8e4;box-shadow:0 0 0 3px #72d8e433}.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 17px;border-radius:9px;border:1px solid transparent;font-weight:700;cursor:pointer;white-space:nowrap}.button.primary{background:#72d8e4;color:#09202a}.button.primary:hover{background:#a0e8ed}.button.secondary{background:#1d303d;color:#dcebf3;border-color:#3c5360}.button.secondary:hover{background:#294554}.button.full{width:100%;margin-top:25px}.auth-card .help{margin-top:20px}.alert,.notice,.code-panel{border-radius:10px;padding:13px 15px;line-height:1.5}.alert{background:#4d2429;color:#ffd9dc;border:1px solid #a34751}.notice{background:#193b36;color:#c5f6db;border:1px solid #357666}.narrow{max-width:600px;margin:35px auto}.narrow>.muted{margin-bottom:25px}.form-stack h2{margin-bottom:20px}.form-stack .button{margin-top:24px}.admin-grid{display:grid;grid-template-columns:360px 1fr;gap:20px;align-items:start}.admin-grid .panel{padding:25px}.user-list{display:grid}.user-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 0;border-top:1px solid #2b3c49}.user-row strong,.user-row span,.user-row small{display:block}.user-row span{color:#b9cad7;margin-top:3px}.user-row small{color:#8199a9;margin-top:5px}.code-panel{background:#183944;border:1px solid #397582;margin:18px 0 24px}.code-panel strong,.code-panel code{display:block}.code-panel code{font-size:1.25rem;font-weight:700;letter-spacing:.08em;margin:12px 0;color:#baf7fc;overflow-wrap:anywhere}.code-panel p{margin:0;color:#c0d8df}@media(max-width:850px){.auth-layout{grid-template-columns:1fr;gap:28px;align-items:start}.auth-intro h1{font-size:2.5rem}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-grid{grid-template-columns:1fr}.topbar{height:auto;min-height:70px;flex-wrap:wrap;padding:16px 24px}.topnav{flex-wrap:wrap;gap:14px}}@media(max-width:560px){.container{padding:30px 18px 60px}.cards{grid-template-columns:1fr}.module-card{min-height:170px}.page-head{display:block}.page-head .badge{display:inline-block;margin-top:20px}.auth-card,.form-stack{padding:23px}.topnav .user-name{display:none}.user-row{align-items:start;flex-direction:column}.auth-intro p:last-child{font-size:1rem}}

/* Images des modules */
.module-image{display:block;width:60px;height:60px;max-width:60px;max-height:60px;object-fit:contain;margin:0 0 16px}

/* Module Appartements */
.module-link{display:block;transition:border-color .15s,transform .15s}.module-link:hover,.module-link:focus-visible{border-color:#72d8e4;transform:translateY(-2px)}.module-link .module-status{background:#163c3e;border-color:#367c7e;color:#b8f4ef}.location-head-actions,.location-actions,.location-row-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.location-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}.location-panel{padding:25px;margin-bottom:20px}.location-panel h2{margin-bottom:16px}.location-panel textarea{width:100%;min-height:92px;padding:12px 13px;border:1px solid #3b4b59;border-radius:9px;background:#0c1720;color:#f0f6fa;font:inherit;line-height:1.5;resize:vertical}.location-panel textarea:focus{outline:none;border-color:#72d8e4;box-shadow:0 0 0 3px #72d8e433}.location-grid-two,.location-grid-three{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.location-grid-three{grid-template-columns:1fr 2fr 1.2fr}.location-check{display:flex;align-items:center;gap:9px;margin:18px 0;color:#dbe6ee;font-size:.9rem}.location-check input[type=checkbox]{flex:none;width:18px;height:18px;margin:0;accent-color:#72d8e4}.location-actions{margin-top:22px}.location-list{display:grid}.location-row{display:flex;align-items:center;gap:16px;padding:16px 0;border-top:1px solid #2b3c49}.location-row:first-child{border-top:0}.location-row>div:first-child:not(.location-code),.location-main{flex:1;min-width:0}.location-row strong,.location-row span,.location-row small{display:block}.location-row strong{font-size:1rem}.location-row span{color:#a8bac9;margin-top:4px;line-height:1.45}.location-row small{color:#f3be74;margin-top:5px}.location-filters{display:grid;grid-template-columns:minmax(220px,1fr) 220px auto auto;align-items:end;gap:16px;padding:18px 22px;margin-bottom:20px}.location-filters label:not(.location-check){margin-top:0}.location-filters .location-check{margin-bottom:13px}.location-list-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.location-list-head h2{margin:0}.location-empty{padding:32px;text-align:center;color:#a8bac9}.location-empty p{margin-bottom:18px}.location-code{display:grid;place-items:center;flex:none;width:38px;height:38px;border-radius:10px;background:#1b3842;font-size:1.1rem}.location-meta{white-space:nowrap;color:#b8cbd6;font-size:.86rem}.location-row-actions{justify-content:flex-end}.text-link{color:#82dfe9;font-weight:650;font-size:.9rem}.text-link:hover{text-decoration:underline}.location-tabs{display:flex;gap:5px;overflow-x:auto;border-bottom:1px solid #355164;margin:10px 0 20px}.location-tabs a,.location-tabs span{padding:12px 16px;white-space:nowrap;color:#b4c9d5;border-radius:9px 9px 0 0}.location-tabs a:hover,.location-tabs a[aria-current=page]{background:#1b3440;color:#aef2f3}.location-tabs span{color:#778d9b}.location-form{display:grid;gap:0}.location-form .location-panel{scroll-margin-top:20px}.inventory-columns{grid-template-columns:minmax(0,1.35fr) minmax(300px,.8fr)}.inventory-row{display:flex;justify-content:space-between;align-items:start;gap:12px;padding:18px 0;border-top:1px solid #2b3c49}.inventory-row small{color:#72d8e4;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.inventory-row h3{margin:6px 0 7px;font-size:1rem}.inventory-row p{margin:0;color:#afc1ce;line-height:1.5}.inventory-delete{margin-top:24px;padding-top:20px;border-top:1px solid #3d4e59}.button.danger{background:#4d2429;color:#ffd9dc;border-color:#a34751}.button.danger:hover{background:#633038}@media(max-width:900px){.location-filters{grid-template-columns:1fr 1fr}.location-columns,.inventory-columns{grid-template-columns:1fr}.apartment-row{flex-wrap:wrap}.location-meta{white-space:normal}}@media(max-width:600px){.location-filters,.location-grid-two,.location-grid-three{grid-template-columns:1fr}.location-panel{padding:20px}.location-head-actions{margin-top:20px}.location-row{align-items:start}.apartment-row .location-row-actions{width:100%;justify-content:flex-start}.location-meta{width:100%;padding-left:54px}}

/* Espacement intérieur des cadres du module Appartements. */
.location-panel {
    padding: 32px;
}

.location-panel h2 {
    margin-bottom: 22px;
}

.location-filters {
    padding: 26px 28px;
    gap: 18px;
}

.location-filters.apartment-filters {
    grid-template-columns: minmax(240px, 1fr) auto auto;
}

.building-tabs {
    margin-top: 0;
}

.building-tabs a[aria-current="page"] {
    font-weight: 750;
    box-shadow: inset 0 -3px #72d8e4;
}

.location-tabs button {
    padding: 12px 16px;
    border: 0;
    border-radius: 9px 9px 0 0;
    background: transparent;
    color: #b4c9d5;
    font: inherit;
    white-space: nowrap;
    cursor: pointer;
}

.location-tabs button:hover,
.location-tabs button[aria-selected="true"] {
    background: #1b3440;
    color: #aef2f3;
}

.building-tabs button[aria-selected="true"] {
    font-weight: 750;
    box-shadow: inset 0 -3px #72d8e4;
}

.location-row[hidden],
.location-empty[hidden] {
    display: none !important;
}

.button.icon-button {
    width: 44px;
    min-width: 44px;
    padding: 0;
    font-size: 1.2rem;
    line-height: 1;
}

.button.soft-danger {
    background: #4b252d;
    border-color: #9a4d5b;
    color: #ffdce2;
}

.button.soft-danger:hover {
    background: #61303a;
}

.page-title-with-icon {
    display: flex;
    align-items: center;
    gap: 18px;
}

.page-title-with-icon > img {
    flex: none;
    width: 60px;
    height: 60px;
    object-fit: contain;
}

.page-title-with-icon h1 {
    margin-bottom: 8px;
}

@media (max-width: 600px) {
    .location-panel {
        padding: 24px;
    }

    .location-filters {
        padding: 22px;
    }

    .location-filters.apartment-filters {
        grid-template-columns: 1fr;
    }
}

/* Présentation commune des titres à l'intérieur des cadres. */
.panel h2,
.module-card h2 {
    text-align: center;
    text-transform: uppercase;
}

/* Navigation commune : liens encadrés dans la palette sombre existante. */
.topbar {
    height: auto;
    min-height: 76px;
    padding-top: 14px;
    padding-bottom: 14px;
    flex-wrap: wrap;
}

.topnav {
    gap: 8px;
    flex-wrap: wrap;
}

.topnav > a,
.topnav .text-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 9px 14px;
    border: 1px solid #293947;
    border-radius: 10px;
    background: #121d28;
    color: #b9cad7;
    line-height: 1.4;
    transition: background-color .15s, border-color .15s, color .15s;
}

.topnav > a:hover,
.topnav .text-button:hover {
    background: #1d303d;
    border-color: #3c5360;
    color: #72d8e4;
}

.topnav > a[aria-current] {
    background: #122934;
    border-color: #72d8e4;
    color: #a9dce4;
    font-weight: 700;
}

.topnav > a:focus-visible,
.topnav .text-button:focus-visible {
    outline: 2px solid #72d8e4;
    outline-offset: 3px;
}

.topnav .user-name {
    margin-left: 8px;
    padding-left: 16px;
    margin-right: 8px;
}

@media (max-width: 560px) {
    .topnav { gap: 8px; }
    .topnav > a,
    .topnav .text-button { padding: 9px 11px; }
}

@media (prefers-reduced-motion: reduce) {
    .topnav > a,
    .topnav .text-button { transition: none; }
}

/* Module Locataires */
.warning {
    padding: 13px 15px;
    border: 1px solid #9b7034;
    border-radius: 10px;
    background: #41321d;
    color: #ffe3ae;
    line-height: 1.5;
}

.tenant-filters {
    grid-template-columns: minmax(260px, 1fr) auto auto;
}

.tenant-row[hidden],
.tenant-tab-panel[hidden],
.tenant-save-actions[hidden],
[data-tenant-empty][hidden] {
    display: none !important;
}

[data-request-draft-form][hidden],
[data-prepare-request][hidden] {
    display: none !important;
}

.tenant-row {
    flex-wrap: nowrap;
}

.tenant-row .tenant-status-current {
    color: #7ee0c2;
}

.tenant-apartment-choice {
    padding: 24px 28px;
    margin-bottom: 18px;
}

.tenant-apartment-choice label {
    margin-top: 0;
}

.tenant-section-tabs {
    gap: 3px;
}

.tenant-section-tabs button:focus-visible,
.building-tabs button:focus-visible {
    outline: 2px solid #72d8e4;
    outline-offset: -2px;
}

.tenant-person {
    position: relative;
}

.tenant-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 8px;
}

.tenant-card-head h2 {
    flex: 1;
    margin: 0;
}

.tenant-save-actions {
    position: sticky;
    bottom: 14px;
    z-index: 5;
    display: flex;
    justify-content: flex-end;
    padding: 14px;
    margin-top: 20px;
    border: 1px solid #314856;
    border-radius: 14px;
    background: #0d1721eb;
    box-shadow: 0 12px 30px #0008;
    backdrop-filter: blur(8px);
}

.amount-lines {
    display: grid;
    gap: 10px;
    margin-bottom: 14px;
}

.amount-line {
    display: grid;
    grid-template-columns: 150px minmax(220px, 1fr) 150px auto;
    gap: 10px;
    align-items: center;
}

.money-output {
    display: flex;
    align-items: center;
    min-height: 46px;
    padding: 0 13px;
    border: 1px solid #355164;
    border-radius: 9px;
    background: #132735;
    color: #baf7fc;
    font-weight: 750;
}

.feature-coming {
    min-height: 260px;
    display: grid;
    align-content: center;
    justify-items: center;
    text-align: center;
}

.feature-coming p {
    max-width: 720px;
    color: #a8bac9;
    line-height: 1.7;
}

.insurance-columns {
    grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr);
}

.insurance-document {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 15px 0;
    border-top: 1px solid #2b3c49;
}

.insurance-document strong,
.insurance-document span {
    display: block;
}

.insurance-document span {
    margin-top: 5px;
    color: #a8bac9;
    font-size: .88rem;
}

.insurance-upload {
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid #3b4b59;
}

input[type="file"] {
    height: auto;
    min-height: 46px;
    padding: 10px 12px;
}

.recipient-summary {
    padding: 12px 14px;
    border: 1px solid #397582;
    border-radius: 10px;
    background: #183944;
    color: #c0eaf0;
    line-height: 1.55;
}

/* Navigation et tableau de bord — palette commune, accents par rubrique. */
:root {
    --app-night: #0b1119;
    --app-surface: #121d28;
    --app-line: #293947;
    --app-accent: #72d8e4;
    --section-color: var(--app-accent);
    --color-apartments: #72d8cf;
    --color-tenants: #91c9ff;
    --color-leases: #f1bc82;
    --color-rents: #8cd6ab;
    --color-documents: #b9a8ed;
    --color-incidents: #ec9eaf;
    --color-inventory: #83dbe8;
    --color-neutral: #bac9d6;
    --sidebar-width: 224px;
}
.section-apartments { --section-color: var(--color-apartments); }
.section-tenants { --section-color: var(--color-tenants); }
.section-leases { --section-color: var(--color-leases); }
.section-rents { --section-color: var(--color-rents); }
.section-documents { --section-color: var(--color-documents); }
.section-incidents { --section-color: var(--color-incidents); }
.section-inventory { --section-color: var(--color-inventory); }
.section-users, .section-settings, .section-account { --section-color: var(--color-neutral); }
.ui-icon { display: inline-block; width: 22px; height: 22px; flex: none; vertical-align: middle; }
.button { gap: 8px; }
.button .ui-icon { width: 18px; height: 18px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.skip-link { position: fixed; left: 16px; top: -100px; z-index: 100; padding: 12px; background: #72d8e4; color: #09202a; border-radius: 8px; }
.skip-link:focus { top: 12px; }
.app-shell :is(a, button, summary):focus-visible { outline: 2px solid var(--app-accent); outline-offset: 4px; }
.app-shell { background: radial-gradient(ellipse at 80% 0, #102b38 0, transparent 650px), var(--app-night); }
.app-shell [hidden] { display: none !important; }
.shell-sidebar { position: fixed; inset: 0 auto 0 0; width: var(--sidebar-width); z-index: 50; display: flex; flex-direction: column; overflow-y: auto; padding: 32px 14px 20px; background: #0d151f; border-right: 1px solid var(--app-line); }
.sidebar-heading { display: flex; justify-content: space-between; align-items: center; padding: 0 14px; margin-bottom: 24px; min-height: 30px; color: #a8bac9; font-size: .72rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.sidebar-links { display: grid; gap: 7px; }
.sidebar-link { display: flex; align-items: center; gap: 11px; padding: 12px; min-height: 48px; border: 1px solid transparent; border-radius: 10px; color: #bdcbd7; font-size: .88rem; }
.sidebar-link .ui-icon { color: var(--section-color); width: 21px; height: 21px; }
.sidebar-link[aria-current] { background: #172b37; border-color: #365669; box-shadow: inset 3px 0 var(--section-color); color: #f0f6fa; font-weight: 650; }
a.sidebar-link:hover { background: #162633; color: #fff; }
.sidebar-coming small { margin-left: auto; font-size: .62rem; white-space: nowrap; color: #a8bac9; border: 1px solid #293947; padding: 2px 4px; border-radius: 4px; }
.sidebar-coming { gap: 8px; }
.sidebar-foot { margin: auto 12px 0; padding-top: 32px; color: #b9cad7; font-size: .9rem; }
.sidebar-foot span { font-size: .75rem; color: #8da3b4; }
.shell-topbar { margin-left: var(--sidebar-width); min-height: 100px; padding: 20px 28px; display: grid; grid-template-columns: auto minmax(160px, 1fr) auto; align-items: center; gap: 24px; background: #0d151fe8; border-bottom: 1px solid var(--app-line); }
.shell-brand-group { display: flex; gap: 12px; align-items: center; min-width: 0; }
.shell-brand { display: flex; align-items: center; gap: 11px; font-weight: 750; font-size: 1.12rem; white-space: nowrap; }
.shell-brand small { display: block; margin-top: 4px; font-size: .59rem; letter-spacing: .14em; text-transform: uppercase; color: #a8bac9; font-weight: 500; }
.shell-logo { width: 48px; height: 48px; object-fit: contain; }
.global-search { display: flex; align-items: center; gap: 10px; min-width: 0; padding: 0 5px 0 14px; border: 1px solid #314553; border-radius: 12px; background: #111e2a; color: #a8bac9; }
.global-search:focus-within { border-color: var(--app-accent); }
.global-search input { border: 0; background: transparent; min-width: 0; height: 46px; padding: 0; font-size: .85rem; box-shadow: none; }
.global-search input:focus { box-shadow: none; }
.global-search input::placeholder { color: #a8bac9; opacity: 1; }
.shell-icon-button { display: inline-flex; align-items: center; justify-content: center; border: 1px solid #293947; width: 42px; min-width: 42px; height: 42px; border-radius: 9px; background: #121d28; color: #b9cad7; cursor: pointer; padding: 0; }
.global-search .shell-icon-button { border: 0; background: transparent; }
.shell-icon-button:hover { background: #1d303d; color: var(--app-accent); }
.shell-tools { position: relative; display: flex; align-items: center; gap: 12px; min-width: 0; }
.shell-dropdown summary { list-style: none; cursor: pointer; }
.shell-dropdown summary::-webkit-details-marker { display: none; }
.account-summary { display: flex; align-items: center; gap: 10px; min-height: 44px; color: #e8eef5; border-radius: 8px; }
.account-summary > .ui-icon:first-child { color: var(--app-accent); }
.account-summary > .ui-icon:last-child { width: 15px; }
.account-name { max-width: 145px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .83rem; }
.account-name small { display: block; margin-top: 3px; color: #a8bac9; font-size: .7rem; }
.shell-popover { position: absolute; z-index: 40; right: 0; top: calc(100% + 15px); width: 300px; max-width: calc(100vw - 32px); padding: 20px; border: 1px solid #3c5360; border-radius: 13px; background: #15232f; box-shadow: 0 15px 40px #0005; overflow-wrap: anywhere; }
.shell-popover p { color: #b9cad7; font-size: .85rem; line-height: 1.6; margin: 8px 0 16px; }
.shell-popover form { margin: 12px 0 0; }
.shell-popover a, .shell-popover button { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 44px; text-align: left; border: 0; border-radius: 8px; padding: 10px; color: #dcebf3; background: #1d303d; font: inherit; font-size: .83rem; cursor: pointer; }
.shell-content.container { max-width: 1600px; margin-left: var(--sidebar-width); margin-right: auto; padding: 24px 32px 72px; min-width: 0; }
.shell-content > * { min-width: 0; }
.shell-content :is(input, select, textarea, fieldset) { min-width: 0; max-width: 100%; }
.shell-content .location-tabs { flex-wrap: wrap; overflow-x: visible; }
.shell-content .location-tabs :is(a, button, span) { white-space: normal; }
.shell-content .location-grid-two, .shell-content .location-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.shell-content :is(.location-main, .location-row, .insurance-document, .panel) { overflow-wrap: anywhere; }
.shell-content .page-head h1 { font-size: clamp(1.8rem, 3vw, 2.6rem); }
.shell-breadcrumb { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 30px; color: #98aebf; font-size: .75rem; }
.shell-breadcrumb span { color: #607f92; }
.shell-content .eyebrow { color: var(--section-color); }
.sidebar-toggle, .sidebar-close { display: none; }
.sidebar-backdrop { position: fixed; inset: 0; background: #030910b8; border: 0; z-index: 45; }
.sidebar-backdrop[hidden] { display: none; }
.dashboard-heading { align-items: center; }
.dashboard-date { display: flex; align-items: center; gap: 9px; color: #b9cad7; font-size: .85rem; }
.dashboard-date .ui-icon { width: 18px; }
.dashboard-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.dashboard-card { display: flex; flex-direction: column; min-width: 0; min-height: 242px; padding: 24px; border: 1px solid #293947; border-radius: 16px; background: #121d28; box-shadow: 0 10px 30px #0001; }
a.dashboard-card:hover { border-color: var(--section-color); background: #152431; }
.dashboard-card-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; margin-bottom: 20px; }
.dashboard-icon { display: grid; place-items: center; width: 54px; height: 54px; border-radius: 14px; background: #1a2d3a; color: var(--section-color); }
.dashboard-icon .ui-icon { width: 31px; height: 31px; }
.dashboard-link-icon { color: #a8bac9; }
.dashboard-link-icon .ui-icon { width: 18px; }
.dashboard-coming { border: 1px solid #354753; padding: 4px 7px; border-radius: 6px; font-size: .66rem; color: #bdcbd7; }
.dashboard-card h2 { margin: 0 0 10px; font-size: 1rem; font-weight: 650; }
.dashboard-value { margin: 0 0 12px; font-size: 2.5rem; font-weight: 750; line-height: 1.15; font-variant-numeric: tabular-nums; letter-spacing: -.03em; }
.dashboard-value.is-unavailable { font-size: 1.1rem; color: #bdcbd7; font-weight: 500; letter-spacing: 0; line-height: 1.5; }
.dashboard-description { margin: auto 0 0; color: #a8bac9; font-size: .8rem; line-height: 1.6; }
.dashboard-followup { margin-top: 26px; padding: 28px; scroll-margin-top: 20px; }
.dashboard-section-head { display: flex; align-items: center; justify-content: space-between; gap: 18px; flex-wrap: wrap; margin-bottom: 22px; }
.dashboard-section-head h2, .search-results h2 { display: flex; align-items: center; gap: 10px; text-align: left; text-transform: none; margin: 0; font-size: 1.2rem; }
.dashboard-section-head h2 .ui-icon { color: var(--app-accent); }
.insurance-summary { display: flex; gap: 14px 24px; flex-wrap: wrap; font-size: .82rem; color: #a8bac9; margin-bottom: 20px; }
.insurance-summary strong { color: #e8eef5; font-size: 1.1rem; margin-right: 5px; }
.dashboard-followup-row { display: flex; align-items: center; gap: 14px; border-top: 1px solid #293947; padding: 17px 0; }
.dashboard-followup-row > div { flex: 1; min-width: 0; }
.dashboard-followup-row p { margin: 5px 0 0; font-size: .8rem; color: #a8bac9; }
.dashboard-followup-row .button { font-size: .8rem; }
.followup-icon { color: #a8bac9; }
.search-scope { margin-bottom: 22px; }
.search-results { padding: 26px; margin-bottom: 20px; }
.search-results h2 { margin-bottom: 20px; }
.search-count { font-size: .8rem; color: #b9cad7; margin-left: auto; }
.search-result { display: flex; justify-content: space-between; align-items: center; gap: 20px; border-top: 1px solid #293947; padding: 20px 0; }
.search-result > div { min-width: 0; overflow-wrap: anywhere; }
.search-result h3 { margin: 0 0 7px; font-size: 1rem; }
.search-result p { color: #b9cad7; font-size: .87rem; line-height: 1.6; margin: 0 0 5px; }
.page-title-icon { display: grid; place-items: center; flex: none; width: 60px; height: 60px; border-radius: 16px; color: var(--section-color); background: #1a2d3a; }
.page-title-icon .ui-icon { width: 32px; height: 32px; }
@media (min-width: 1101px) and (max-width: 1280px) {
    .shell-topbar { gap: 16px; padding: 20px; }
    .account-name { max-width: 100px; }
    .shell-content .location-filters { grid-template-columns: 1fr; }
    .shell-content .amount-line { grid-template-columns: 1fr 1fr; }
    .shell-content .insurance-columns, .shell-content .inventory-columns { grid-template-columns: 1fr; }
}
@media (max-width: 1100px) {
    .shell-topbar { margin-left: 0; }
    .shell-content.container { margin-left: 0; }
    .shell-sidebar { position: static; width: auto; }
    .sidebar-foot { display: none; }
    .shell-ready .shell-sidebar { position: fixed; inset: 0 auto 0 0; width: min(300px, 85vw); transform: translateX(-100%); visibility: hidden; }
    .shell-ready.navigation-open .shell-sidebar { transform: translateX(0); visibility: visible; }
    .shell-ready .sidebar-toggle, .shell-ready .sidebar-close { display: inline-flex; }
    .navigation-open { overflow: hidden; }
    .sidebar-heading { padding: 0 0 0 12px; }
}
@media (max-width: 800px) {
    .shell-topbar { grid-template-columns: 1fr auto; padding: 16px 20px; gap: 16px; }
    .global-search { grid-column: 1 / -1; grid-row: 2; }
    .shell-tools { grid-column: 2; grid-row: 1; }
    .shell-content.container { padding: 22px 22px 60px; }
    .dashboard-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .shell-content .location-columns, .shell-content .inventory-columns, .shell-content .insurance-columns, .shell-content .admin-grid { grid-template-columns: 1fr; }
    .shell-content .page-head { flex-wrap: wrap; }
}
@media (max-width: 600px) {
    .shell-topbar { padding: 14px 16px; gap: 14px 8px; }
    .shell-brand { font-size: .97rem; gap: 7px; }
    .shell-brand small { font-size: .52rem; letter-spacing: .06em; }
    .shell-logo { width: 32px; height: 32px; }
    .shell-brand-group { gap: 8px; }
    .shell-icon-button { min-width: 38px; width: 38px; height: 44px; }
    .shell-tools { gap: 6px; }
    .account-summary { gap: 4px; }
    .account-name { display: none; }
    .account-summary > .ui-icon:last-child { display: none; }
    .account-summary { min-width: 38px; justify-content: center; }
    .shell-content.container { padding: 20px 16px 48px; }
    .shell-breadcrumb { margin-bottom: 24px; }
    .dashboard-grid { grid-template-columns: 1fr; gap: 14px; }
    .dashboard-card { min-height: 215px; }
    .dashboard-followup, .search-results { padding: 20px; }
    .dashboard-followup-row, .search-result, .shell-content .insurance-document { flex-wrap: wrap; }
    .dashboard-followup-row { display: grid; grid-template-columns: 22px minmax(0, 1fr); }
    .dashboard-followup-row .button { grid-column: 2; justify-self: start; }
    .search-result > div { width: 100%; }
    .shell-content .location-grid-two, .shell-content .location-grid-three { grid-template-columns: 1fr; }
    .shell-content .button { white-space: normal; text-align: center; }
    .global-search input { font-size: 16px; }
    .shell-content input, .shell-content select, .shell-content textarea { font-size: 16px; }
}

@media (max-width: 900px) {
    .tenant-row { flex-wrap: wrap; }
    .amount-line { grid-template-columns: 130px minmax(180px, 1fr) 130px; }
    .amount-line .button { grid-column: 1 / -1; justify-self: start; }
    .insurance-columns { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
    .tenant-filters,
    .amount-line { grid-template-columns: 1fr; }
    .tenant-row .location-meta,
    .tenant-row .location-row-actions { width: 100%; padding-left: 54px; justify-content: flex-start; }
    .tenant-card-head { align-items: flex-start; }
    .tenant-card-head h2 { text-align: left; }
    .tenant-save-actions { bottom: 8px; }
    .tenant-save-actions .button { width: 100%; }
}

