.tenant-account-page{min-height:60vh;display:grid;place-items:center;padding:54px 20px 76px;background:linear-gradient(135deg,#f4f9fb 0%,#fff 55%,#fff6f7 100%)}
.tenant-account-card{width:min(100%,500px);padding:34px;border:1px solid #e1ebef;border-radius:20px;background:#fff;box-shadow:0 18px 48px rgba(9,60,93,.09)}
.tenant-account-card--login{text-align:center}
.tenant-account-card--login h1{margin-top:0}
.tenant-account-card--login .tenant-account-form>label:not(.tenant-account-remember){text-align:left}
.tenant-account-card--login .tenant-account-form input:not([type=checkbox]){text-align:left}
.tenant-account-card--login .tenant-account-remember{justify-content:center}
.tenant-account-kicker{color:#ef7488;font-size:11px;font-weight:850;letter-spacing:.13em}
.tenant-account-card h1,.tenant-dashboard__head h1{margin:8px 0;color:#0a3b59;font:750 clamp(27px,4vw,36px) Montserrat,Inter,sans-serif}
.tenant-account-lead,.tenant-dashboard__head p{margin:0;color:#71838e;font-size:14px;line-height:1.6}
.tenant-account-form{display:grid;gap:16px;margin-top:24px}
.tenant-account-form label{display:grid;gap:7px;color:#38566a;font-size:13px;font-weight:700}
.tenant-account-form input:not([type=checkbox]){width:100%;min-height:46px;border:1px solid #d9e5ea;border-radius:9px;padding:10px 12px;background:#fff;color:#183d53;font:inherit;font-weight:500}
.tenant-account-form input:focus{outline:3px solid rgba(76,174,205,.18);border-color:#55aec5}
.tenant-account-form label small{color:#82919a;font-size:11px;font-weight:500}
.tenant-account-remember{display:flex!important;grid-template-columns:16px auto;align-items:center;gap:8px!important;font-size:12px!important;font-weight:500!important}
.tenant-account-remember input{accent-color:#0a6570}
.tenant-account-submit,.tenant-account-secondary{display:inline-flex;min-height:44px;align-items:center;justify-content:center;border:0;border-radius:999px;padding:0 20px;background:#0a405f;color:white;text-decoration:none;font:700 13px Inter,sans-serif;cursor:pointer}
.tenant-account-submit:hover{background:#0b6471;color:white}
.tenant-account-switch{margin:20px 0 0;color:#70818a;font-size:13px;text-align:center}
.tenant-account-switch a,.tenant-bookings-empty a,.tenant-booking-card__side a{color:#e66f84;font-weight:750}
.tenant-account-alert{margin-top:18px;border-radius:10px;padding:12px 14px;font-size:13px;line-height:1.5}
.tenant-account-alert--success{background:#eaf7ef;color:#266d45}
.tenant-account-alert--error{background:#fff0f1;color:#a43b4c}
.tenant-dashboard{padding-top:44px;padding-bottom:76px}
.tenant-dashboard__head,.tenant-bookings-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}
.tenant-dashboard__head{margin-bottom:34px;padding:26px;border:1px solid #e1ebef;border-radius:16px;background:#fff}
.tenant-bookings-heading{margin:0 0 14px}
.tenant-bookings-heading h2{margin:0;color:#0a3b59;font:700 21px Montserrat,Inter,sans-serif}
.tenant-account-submit--small{min-height:38px;font-size:12px}
.tenant-account-secondary{border:1px solid #dbe6eb;background:white;color:#38566a}
.tenant-booking-card{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:12px 0;padding:20px 22px;border:1px solid #e1ebef;border-radius:14px;background:white;box-shadow:0 8px 24px rgba(9,60,93,.045)}
.tenant-booking-card__main>span{color:#85949d;font-size:11px;font-weight:750;letter-spacing:.05em}
.tenant-booking-card h3{margin:6px 0;color:#0a3b59;font-size:16px}
.tenant-booking-card p{margin:0;color:#778890;font-size:12px}
.tenant-booking-card__side{display:grid;justify-items:end;gap:5px;text-align:right}
.tenant-booking-cancel{padding:0;border:0;background:transparent;color:#a54a58;font:700 12px Inter,sans-serif;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.tenant-booking-cancel:disabled{opacity:.65;cursor:wait}
.tenant-booking-card__side form{margin:4px 0 0}
.tenant-booking-card__side strong{color:#e66f84;font-size:17px}
.tenant-booking-card__side span{color:#536e7a;font-size:12px}
.tenant-bookings-empty{padding:35px;border:1px dashed #d7e4e9;border-radius:14px;background:#f7fafb;text-align:center}
.tenant-bookings-empty h3{margin:0 0 6px;color:#0a3b59}
.tenant-bookings-empty p{margin:0 0 12px;color:#71838e;font-size:13px}
@media(max-width:620px){.tenant-account-card{padding:25px 20px}.tenant-dashboard__head,.tenant-booking-card{align-items:flex-start;flex-direction:column}.tenant-booking-card__side{justify-items:start;text-align:left}}

/* Tenant account dashboard */
.tenant-dashboard { padding-top: 42px; padding-bottom: 68px; }
.tenant-dashboard__head {
    position: relative;
    overflow: hidden;
    min-height: 210px;
    margin-bottom: 20px;
    padding: clamp(24px, 4vw, 42px);
    border: 1px solid #dce9ee;
    border-radius: 22px;
    background: radial-gradient(circle at 89% 12%, rgba(232,246,247,.95) 0, rgba(232,246,247,.95) 12%, transparent 12.2%), linear-gradient(120deg,#fff 0%,#fff 55%,#f2f9fa 100%);
    box-shadow: 0 14px 40px rgba(9,60,93,.055);
}
.tenant-dashboard__head::after { position:absolute; right:-52px; bottom:-115px; width:260px; height:260px; border:1px solid rgba(14,100,112,.1); border-radius:50%; content:""; pointer-events:none; }
.tenant-dashboard__welcome { position:relative; z-index:1; max-width:740px; }
.tenant-dashboard__welcome h1 { margin: 8px 0 7px; color:#0a3b59; font:800 clamp(30px,4.5vw,44px)/1.16 Montserrat,Inter,sans-serif; letter-spacing:-.035em; }
.tenant-dashboard__welcome > p { max-width:620px; margin:0; color:#647e8c; font-size:14px; line-height:1.65; }
.tenant-account-contact { display:flex; flex-wrap:wrap; gap:9px; margin-top:20px; }
.tenant-account-contact span { display:inline-flex; min-height:34px; align-items:center; gap:8px; padding:0 11px; border:1px solid #e2ebee; border-radius:999px; background:rgba(255,255,255,.82); color:#547080; font-size:12px; }
.tenant-account-contact svg,.tenant-booking-period svg { width:15px; height:15px; flex:0 0 auto; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.6; }
.tenant-dashboard__actions { position:relative; z-index:1; display:flex; align-items:center; gap:10px; }
.tenant-dashboard__actions form { margin:0; }
.tenant-dashboard__actions .tenant-account-submit,.tenant-dashboard__actions .tenant-account-secondary { min-height:43px; padding-inline:18px; font-size:12px; }
.tenant-dashboard__actions .tenant-account-secondary { background:#fff; }
.tenant-account-overview { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin:0 0 36px; }
.tenant-account-stat { display:flex; min-height:100px; align-items:center; gap:14px; padding:18px; border:1px solid #e1ebef; border-radius:15px; background:#fff; box-shadow:0 8px 24px rgba(9,60,93,.035); }
.tenant-account-stat__icon { display:grid; width:43px; height:43px; flex:0 0 auto; place-items:center; border-radius:13px; }
.tenant-account-stat__icon svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.7; }
.tenant-account-stat__icon--blue { background:#eef6fa; color:#0b6074; }
.tenant-account-stat__icon--green { background:#eaf7ef; color:#21875a; }
.tenant-account-stat__icon--rose { background:#fff1f3; color:#d55f76; }
.tenant-account-stat div { display:grid; gap:3px; }
.tenant-account-stat strong { color:#0a3b59; font-size:23px; font-weight:800; line-height:1.1; }
.tenant-account-stat div span { color:#728793; font-size:12px; }
.tenant-bookings-section { display:grid; gap:14px; }
.tenant-bookings-heading { align-items:center; margin:0 0 3px; }
.tenant-bookings-heading h2 { margin:4px 0 3px; color:#0a3b59; font:750 23px Montserrat,Inter,sans-serif; }
.tenant-bookings-heading p { margin:0; color:#778b95; font-size:13px; }
.tenant-booking-card { margin:0; padding:21px 23px; border-radius:16px; box-shadow:0 8px 24px rgba(9,60,93,.04); transition:transform .18s ease,box-shadow .18s ease; }
.tenant-booking-card:hover { transform:translateY(-2px); box-shadow:0 14px 30px rgba(9,60,93,.075); }
.tenant-booking-card__main { min-width:0; }
.tenant-booking-card__topline { display:flex; flex-wrap:wrap; align-items:center; gap:9px; }
.tenant-booking-code { color:#6a8290; font-size:10px; font-weight:800; letter-spacing:.07em; }
.tenant-booking-status { display:inline-flex; min-height:24px; align-items:center; border-radius:999px; padding:2px 9px; font-size:10px; font-weight:750; }
.tenant-booking-status.is-pending { background:#fff5df; color:#986408; }
.tenant-booking-status.is-active { background:#eaf8ef; color:#207348; }
.tenant-booking-status.is-closed { background:#f0f3f5; color:#64737b; }
.tenant-booking-card h3 { margin:10px 0 8px; color:#0a3b59; font-size:17px; font-weight:750; }
.tenant-booking-card h3 span { color:#8ba0aa; }
.tenant-booking-period { display:flex; flex-wrap:wrap; align-items:center; gap:11px; color:#71858f; font-size:12px; }
.tenant-booking-period span:first-child { display:inline-flex; align-items:center; gap:6px; }
.tenant-booking-period svg { color:#698b9a; }
.tenant-booking-card__side { min-width:180px; gap:9px; }
.tenant-booking-total-label { display:block; margin-bottom:2px; color:#7d8f98!important; font-size:10px!important; }
.tenant-booking-card__side strong { display:block; color:#0a3b59; font-size:18px; }
.tenant-booking-open { display:inline-flex; align-items:center; gap:8px; min-height:36px; justify-content:center; padding:0 13px; border-radius:9px; background:#0a5269; color:white!important; font-size:11px; text-decoration:none; }
.tenant-booking-open:hover { background:#0b6471; color:white!important; }
.tenant-booking-cancel { color:#aa4a57; font-size:11px; }
.tenant-bookings-empty { display:grid; justify-items:center; gap:10px; padding:38px 20px; border:1px dashed #d8e6eb; border-radius:16px; background:linear-gradient(135deg,#f8fbfc,#fff); }
.tenant-bookings-empty__icon { display:grid; width:48px; height:48px; place-items:center; border-radius:15px; background:#edf6f8; color:#0b6570; }
.tenant-bookings-empty__icon svg { width:23px; height:23px; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.6; }
.tenant-bookings-empty h3 { margin:1px 0 0; }
.tenant-bookings-empty p { max-width:430px; margin:0; line-height:1.6; }
.tenant-bookings-empty .tenant-account-submit { min-height:39px; margin-top:3px; font-size:12px; }
.tenant-account-pagination { overflow-x:auto; }
.tenant-account-help { display:flex; align-items:center; gap:12px; margin-top:28px; padding:16px 18px; border:1px solid #dcebed; border-radius:14px; background:#f4fafb; }
.tenant-account-help__icon { display:grid; width:39px; height:39px; flex:0 0 auto; place-items:center; border-radius:12px; background:#e4f2f4; color:#0c6470; }
.tenant-account-help__icon svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.6; }
.tenant-account-help div { flex:1; }
.tenant-account-help strong { color:#173f54; font-size:12px; }
.tenant-account-help p { margin:3px 0 0; color:#6f858f; font-size:11px; line-height:1.45; }
.tenant-account-help button { min-height:37px; padding:0 14px; border:1px solid #0d7880; border-radius:9px; background:#fff; color:#0b6672; font:700 11px Inter,sans-serif; cursor:pointer; }
@media(max-width:760px) {
    .tenant-dashboard { padding-top:25px; padding-bottom:46px; }
    .tenant-dashboard__head { min-height:0; gap:20px; margin-bottom:15px; padding:23px; }
    .tenant-dashboard__actions { width:100%; }
    .tenant-dashboard__actions form,.tenant-dashboard__actions form button { width:100%; }
    .tenant-account-overview { gap:9px; margin-bottom:28px; }
    .tenant-account-stat { min-height:87px; gap:9px; padding:12px; }
    .tenant-account-stat__icon { width:35px; height:35px; border-radius:10px; }
    .tenant-account-stat__icon svg { width:18px; height:18px; }
    .tenant-account-stat strong { font-size:20px; }
    .tenant-account-stat div span { font-size:10px; }
}
@media(max-width:620px) {
    .tenant-dashboard__head,.tenant-booking-card { align-items:flex-start; }
    .tenant-dashboard__actions { flex-direction:row; }
    .tenant-dashboard__actions .tenant-account-submit,.tenant-dashboard__actions .tenant-account-secondary { min-height:40px; padding-inline:14px; }
    .tenant-bookings-heading { align-items:flex-start; }
    .tenant-bookings-heading h2 { font-size:20px; }
    .tenant-bookings-heading .tenant-account-submit { flex:0 0 auto; }
    .tenant-booking-card__side { width:100%; justify-items:stretch; text-align:left; }
    .tenant-booking-open { width:100%; }
    .tenant-account-help { align-items:flex-start; flex-wrap:wrap; }
    .tenant-account-help button { margin-left:51px; }
}
@media(max-width:420px) {
    .tenant-account-overview { grid-template-columns:1fr; }
    .tenant-account-stat { min-height:70px; }
    .tenant-dashboard__head { padding:20px; }
    .tenant-bookings-heading { flex-direction:column; }
    .tenant-bookings-heading .tenant-account-submit { width:100%; }
}
