:root {
    color-scheme: light;
    --ink:#162d2a; --muted:#566a64; --green:#216553; --deep:#163e35;
    --leaf:#dcece0; --paper:#f7f7f2; --white:#fff; --line:#dce5dd;
    --gold:#d4a666; --red:#a33b32; --radius:18px;
    font: 16px/1.55 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
*, *::before, *::after { box-sizing:border-box }
body { margin:0; color:var(--ink); background:var(--paper) }
[hidden] { display:none !important }
a { color:var(--green); text-decoration:none }
a:hover { text-decoration:underline }
img { display:block; max-width:100% }
button,input,select,textarea { font:inherit }
button { cursor:pointer }
:focus-visible { outline:3px solid #af7639; outline-offset:3px }
h1,h2,h3,p { margin:0 0 .65rem }
h1,h2,h3 { line-height:1.13; letter-spacing:-.035em; overflow-wrap:anywhere }
p,td,dd,small,.brand { overflow-wrap:anywhere }
h1 { font-size:clamp(2rem,4vw,3.4rem) }
h2 { font-size:clamp(1.35rem,2.5vw,2rem) }
h3 { font-size:1.25rem }
small,.small { font-size:.82rem }
p:last-child { margin-bottom:0 }
.muted { color:var(--muted) }
.wrap { max-width:1200px; width:calc(100% - 56px); margin-inline:auto }
.eyebrow { display:block; font-size:.7rem; font-weight:800; letter-spacing:.145em; color:var(--green); margin-bottom:.65rem }
.button {
    display:inline-flex; align-items:center; justify-content:center; gap:.4rem; min-height:42px;
    padding:.57rem .95rem; border:1px solid transparent; border-radius:9px;
    font-size:.9rem; font-weight:730; text-decoration:none; line-height:1.25; text-align:center;
}
.button:hover { text-decoration:none; filter:brightness(.94) }
.primary { background:var(--green); color:var(--white) }
.quiet { background:var(--white); border-color:var(--line); color:var(--ink) }
.light { background:#ecf3e9; color:var(--deep) }
.danger { color:var(--red) }
.inline { display:flex; align-items:center; flex-wrap:wrap; gap:.7rem }
.inline:has(.field) { align-items:end }
.stack { display:grid; gap:.9rem }
.spaced { margin-top:1rem }
.section-space { padding-block:clamp(28px,5vw,62px) }
.section-heading { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:.8rem; margin-bottom:1.15rem }
.section-heading h2,.section-heading h1,.section-heading p { margin-bottom:0 }
.inner-page { min-height:60vh }
.brand { display:flex; align-items:center; gap:.75rem; font-size:1.03rem; line-height:1.15; font-weight:780; color:inherit }
.brand:hover { text-decoration:none }
.brand small { display:block; margin-top:.25rem; font-weight:550; color:var(--muted) }
.brand-mark,.logo { width:42px; height:42px; flex:0 0 42px; border-radius:11px }
.brand-mark { display:grid; place-items:center; color:white; background:var(--green); font-size:.9rem; letter-spacing:.06em }
.logo { object-fit:contain }
.public-top { background:var(--white); border-bottom:1px solid var(--line) }
.top-row,.footer-row { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding-block:1rem }
.public-top nav,.footer-row>div:last-child { display:flex; align-items:center; flex-wrap:wrap; gap:clamp(.5rem,2vw,1.4rem) }
.public-top nav>a:not(.button) { color:var(--ink); font-size:.9rem; font-weight:650 }
.hero { background:#eef0e7; border-bottom:1px solid var(--line) }
.hero-grid { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:clamp(20px,4vw,55px); min-height:420px; padding-block:32px }
.hero h1 { font-family:Georgia,serif; font-weight:500; font-size:clamp(2.6rem,6vw,5.2rem); letter-spacing:-.05em }
.hero-copy>p { color:var(--muted); font-size:1.12rem; margin:1rem 0 1.35rem }
.hero-copy>.hero-address { font-size:.9rem; margin:1rem 0 0 }
.hero-art { min-width:0; border-radius:22px; overflow:hidden; background:#d9e4cf }
.hero-art img { width:100%; height:clamp(245px,38vw,422px); object-fit:cover }
.about,.split { display:grid; grid-template-columns:1fr 1fr; gap:1.2rem; align-items:start }
.about { border-bottom:1px solid var(--line) }
.about p { color:var(--muted) }
.hours { margin-top:1rem }
.hours span,.pill { background:var(--leaf); border-radius:99px; padding:.32rem .68rem; font-size:.8rem; color:var(--deep) }
.branches { margin-top:1rem }
.cards,.service-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,285px),1fr)); gap:1.1rem }
.room-card,.panel { background:var(--white); border:1px solid var(--line); border-radius:var(--radius); box-shadow:0 4px 16px #163e3508 }
.panel { padding:clamp(15px,2.25vw,25px); min-width:0 }
.room-card { overflow:hidden }
.room-img,.room-placeholder { width:100%; height:175px; object-fit:cover }
.room-placeholder { display:grid; place-items:center; background:radial-gradient(circle at 72% 35%,#eef0d2 0 14%,transparent 14.5%),linear-gradient(155deg,#e8eee2,#bfd6c8); color:#336a58 }
.room-placeholder span { display:grid; place-items:center; width:56px; height:56px; border-radius:15px; background:#ffffffaa; font-size:1.6rem }
.room-content { padding:1.05rem }
.room-content h3 { margin-bottom:.4rem }
.room-content p { font-size:.91rem }
.room-content .price { margin-top:1rem; font-size:1.1rem; font-weight:800 }
.price small { font-weight:500; color:var(--muted) }
.text-link { font-weight:740 }
.public-footer { background:#e7eee7; color:var(--ink); margin-top:1rem }
.public-footer p { margin:.2rem 0 0; font-size:.88rem; color:var(--muted) }
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.95rem }
.wide { grid-column:1/-1 }
.field { display:grid; align-content:start; gap:.35rem; color:var(--ink); font-size:.88rem; font-weight:650; min-width:0 }
input:not([type=checkbox]):not([type=hidden]),select,textarea {
    width:100%; min-width:0; padding:.63rem .7rem; border:1px solid #bdcfc3;
    background:#fff; color:var(--ink); border-radius:8px; font-weight:450;
}
input[type=file] { font-size:.82rem }
textarea { resize:vertical }
.check { display:flex; align-items:center; gap:.5rem; font-size:.87rem; font-weight:600 }
.check input { accent-color:var(--green); width:17px; height:17px; flex:0 0 17px }
fieldset { border:1px solid var(--line); border-radius:10px; padding:.8rem; margin:0 }
fieldset .check + .check { margin-top:.4rem }
legend { font-weight:700 }
.notice,.empty { padding:.9rem 1rem; border-radius:11px; background:#e4efe3; color:var(--deep); margin-bottom:1rem; border:1px solid #c9ddcc }
.notice.wrap { margin-top:1rem }
.notice.error { color:#812e28; background:#fff0ee; border-color:#e9c5c1 }
.empty { border-style:dashed; background:#f9faf6; color:var(--muted) }
.search-panel { margin-top:1rem }
.results { margin-top:1.7rem }
.checkout { margin-top:1rem; grid-template-columns:1.3fr 1fr }
.quote,.receipt { max-width:690px }
dl { display:grid; grid-template-columns:minmax(100px,1fr) minmax(120px,1fr); gap:.5rem .8rem; margin:1rem 0 }
dt { color:var(--muted) }
dd { margin:0; font-weight:650 }
.total { padding-top:.6rem; border-top:1px solid var(--line); font-weight:800; color:var(--ink) }
.auth-wrap { width:min(calc(100% - 36px),680px); margin:clamp(22px,6vh,70px) auto }
.auth-brand { margin-bottom:1rem }
.admin { background:#f2f6f3 }
.admin-shell { min-height:100vh; display:grid; grid-template-columns:235px minmax(0,1fr) }
.sidebar { display:flex; flex-direction:column; gap:1.2rem; background:#122f29; color:#eff8f2; padding:1.25rem .95rem; min-width:0 }
.sidebar .brand-mark { background:#d8e8d4; color:#163b32 }
.sidebar small { color:#adc3b7 }
.side-label { font-size:.68rem; letter-spacing:.13em; color:#adc3b7; font-weight:750; padding-left:.5rem }
.sidebar nav { display:grid; gap:.25rem }
.sidebar nav a { display:flex; gap:.66rem; align-items:center; padding:.68rem .7rem; border-radius:8px; color:#e8f3ed; font-size:.88rem }
.sidebar nav a:hover,.sidebar nav a[aria-current=page] { background:#2d5146; text-decoration:none }
.sidebar nav a[aria-current=page] { font-weight:800 }
.sidebar nav a span { color:#bed6c4; font-size:1.1rem; width:1.2rem; text-align:center }
.side-end { margin-top:auto; border-top:1px solid #48675d; padding-top:1rem; display:grid; gap:.5rem; font-size:.88rem }
.side-end small { display:block }
.side-signout { padding:.25rem 0; border:0; background:none; color:#e0eee3; font-size:.85rem; text-align:left }
.admin-body { min-width:0 }
.admin-top { min-height:68px; background:white; border-bottom:1px solid var(--line); display:flex; justify-content:space-between; align-items:center; gap:.6rem; padding:.7rem clamp(13px,3vw,35px) }
.top-context { display:grid }
.top-context small { color:var(--muted); font-size:.66rem; letter-spacing:.12em; font-weight:750 }
.top-actions { display:flex; flex-wrap:wrap; gap:.6rem; justify-content:flex-end }
.top-actions select { width:auto; max-width:15rem }
.mobile-toggle { display:none }
.admin-main { max-width:1420px; margin-inline:auto; padding:clamp(15px,3vw,36px) }
.page-heading { margin-bottom:1.25rem }
.page-heading h1 { font-size:clamp(1.8rem,3vw,2.6rem) }
.dashboard-hero { background:linear-gradient(118deg,#153e34,#37745c); color:#fff; border-radius:var(--radius); padding:clamp(16px,3vw,32px); display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap }
.dashboard-hero .eyebrow { color:#d8ead6 }
.dashboard-hero p { color:#e1eee6 }
.stat-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.9rem; margin:1rem 0 }
.stat { display:grid; gap:.35rem; color:var(--ink) }
.stat:hover { border-color:#70a28a; text-decoration:none }
.stat>span { color:var(--muted); font-size:.88rem }
.stat>strong { font-size:1.9rem }
.stat small { color:var(--muted) }
.quick-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr)); gap:.8rem }
.quick-grid>a { display:flex; align-items:center; justify-content:space-between; gap:.6rem; background:#f2f6f1; border-radius:11px; padding:.65rem; font-size:.87rem; font-weight:730 }
.quick-grid>a b { background:#dcece0; border-radius:8px; padding:.32rem }
.quick-grid small,.catalog-item small,td small,.booking-record small { display:block; color:var(--muted); font-weight:500 }
.admin-split { grid-template-columns:minmax(0,1fr) minmax(0,1.22fr) }
.table-wrap { overflow-x:auto }
table { width:100%; border-collapse:collapse; font-size:.88rem }
th,td { text-align:left; border-bottom:1px solid var(--line); padding:.6rem .48rem; vertical-align:middle }
.inventory-table td:last-child,.inventory-table .pill { white-space:nowrap }
th { color:var(--muted); font-size:.72rem; font-weight:800; letter-spacing:.04em }
.tabs { display:flex; flex-wrap:wrap; gap:.4rem; margin-bottom:1rem }
.tabs a { padding:.45rem .75rem; border-radius:8px; font-weight:650; font-size:.86rem }
.tabs a[aria-current=page] { background:#d8eade; color:var(--deep) }
.catalog-item { display:flex; justify-content:space-between; align-items:center; gap:.6rem; padding:.8rem 0; border-bottom:1px solid var(--line); overflow-wrap:anywhere }
.booking-record summary { cursor:pointer; display:grid; grid-template-columns:1fr 1fr auto auto; gap:.7rem; align-items:center }
.booking-record summary::marker { content:'' }
.booking-record summary .pill { justify-self:start }
.booking-record summary:after { content:'Abrir detalles ↗'; font-size:.75rem; color:var(--green); grid-column:1/-1 }
.booking-record[open] summary:after { content:'Cerrar detalles ↑' }
.pill.pending { background:#f5ecd6; color:#6c5017 }
.pill.cancelled,.pill.expired { background:#f7e8e4; color:#812e28 }
.record-body { border-top:1px solid var(--line); margin-top:.8rem }
.record-body dl { max-width:700px }
.message { border-top:1px solid var(--line); margin-top:1rem; padding-top:1rem }
.message small { color:var(--muted); margin-left:.5rem }
.thumbs { display:flex; flex-wrap:wrap; gap:.55rem }
.thumbs img { width:78px; height:58px; object-fit:cover; border-radius:7px }
.thumbs form { display:grid; gap:.3rem }
.thumbs .button { min-height:32px; padding:.25rem }
.narrow { max-width:550px }
@media(max-width:970px) {
    .stat-grid { grid-template-columns:repeat(2,minmax(0,1fr)) }
    .admin-split { grid-template-columns:1fr }
}
@media(max-width:720px) {
    .wrap { width:calc(100% - 30px) }
    .top-row,.footer-row { align-items:flex-start; flex-direction:column }
    .hero-grid,.about,.split { grid-template-columns:1fr }
    .hero-grid { min-height:0 }
    .hero-art img { height:250px }
    .admin-shell { display:block }
    .sidebar { display:none }
    .sidebar.open { display:flex }
    .mobile-toggle { display:inline-flex }
    .admin-top { flex-wrap:wrap }
    .top-actions { margin-left:auto }
    .booking-record summary { grid-template-columns:1fr 1fr }
}
@media(max-width:420px) {
    .form-grid { grid-template-columns:1fr }
    .public-top nav { column-gap:.62rem }
    .public-top nav>a:not(.button) { font-size:.82rem }
    .stat { padding:12px }
}

/* Apariencia NexStay, limitada al panel de administración. */
.admin { --ink:#0f172a; --muted:#475569; --green:#2563eb; --deep:#1e40af; --leaf:#dbeafe; --line:#e2e8f0; --radius:16px; background:radial-gradient(ellipse at top left,#eff6ff,transparent 55%),#f8fafc }
.admin .sidebar { background:#ffffffed; color:#0f172a; border-right:1px solid var(--line) }
.admin .sidebar small,.admin .side-label { color:#475569 }
.admin .sidebar nav a,.admin .side-signout { color:#334155 }
.admin .sidebar nav a span { color:inherit }
.admin .sidebar nav a:hover { background:#eff6ff }
.admin .sidebar nav a[aria-current=page],.admin .sidebar .brand-mark { background:#2563eb; color:#fff; box-shadow:0 4px 12px #2563eb30 }
.admin .side-end { border-color:var(--line) }
.admin .dashboard-hero { background:#fff; color:var(--ink); border:1px solid var(--line); box-shadow:0 4px 16px #0f172a08 }
.admin .dashboard-hero p { color:var(--muted) }
.admin .dashboard-hero .eyebrow { color:var(--green) }
.admin .dashboard-hero .light { background:#2563eb;color:white }
.admin .stat { border-left:4px solid #2563eb }
.admin .stat:nth-child(2) { border-left-color:#d97706 }
.admin .stat:nth-child(3) { border-left-color:#16a34a }
.admin .stat:nth-child(4) { border-left-color:#7c3aed }
.admin .stat strong { font-variant-numeric:tabular-nums; font-family:ui-monospace,monospace }
.admin .quick-grid>a { background:#f8fafc }
.admin .quick-grid>a b,.admin .tabs a[aria-current=page] { background:#dbeafe }
.admin .panel { box-shadow:0 4px 16px #0f172a08 }

/* Centro operativo de Hospedaje */
.admin { background:radial-gradient(ellipse at 4% 0,#eaf1ff,transparent 55%),radial-gradient(ellipse at 96% 0,#e8f7ef,transparent 55%),#f8fafc }
.admin-shell { grid-template-columns:240px minmax(0,1fr) }
.admin .sidebar { position:sticky;top:0;height:100vh;overflow:auto }
.admin .admin-top { position:sticky;top:0;z-index:10;background:#ffffffef;backdrop-filter:blur(12px) }
.admin .page-heading { margin-bottom:.45rem }
.admin .page-heading h1 { font-size:clamp(1.55rem,2.2vw,2.25rem);margin-bottom:.2rem }
.ops-property { background:#f1f5f9;border:1px solid #e2e8f0;border-radius:12px;padding:.65rem .8rem;font-size:.88rem;overflow-wrap:anywhere }
.ops-property small { display:block }
.ops-search { display:flex;flex:1 1 290px;gap:.35rem;max-width:520px }
.ops-search-label { display:flex;align-items:center;gap:.4rem;flex:1;min-width:0;background:#fff;border:1px solid #cbd5e1;border-radius:10px;padding-left:.65rem }
.admin .ops-search-label input { border:0;background:transparent;font-size:.85rem }
.ops-search-label span { color:#64748b;font-size:1.1rem }
.ops-clock { align-self:center;border:1px solid #cbd5e1;padding:.4rem .6rem;border-radius:8px;background:#fff;font:700 .8rem ui-monospace,monospace }
.ops-intro { color:var(--muted);margin-bottom:1rem }
.ops-green { background:#148544;color:white }
.ops-amber { background:#fbbf24;color:#302000;border:1px solid #e5a30b }
.ops-kpis .stat { align-content:start;min-height:140px }
.ops-kpis .stat:nth-child(2) { border-left-color:#16a34a }
.ops-kpis .stat:nth-child(3) { border-left-color:#f59e0b }
.ops-kpis .stat:nth-child(4) { border-left-color:#eab308 }
.ops-kpis .stat>span { font-size:.75rem;font-weight:800;letter-spacing:.055em }
.ops-kpis .stat strong { font-size:clamp(1.15rem,2vw,1.9rem);line-height:1.2 }
.ops-kpis progress { width:100%;height:9px;accent-color:#2563eb }
.ops-money { color:#148044;font-weight:800 }
.ops-blue { color:#1d4ed8 }
.ops-gold { color:#a34d00 }
.ops-dashboard-grid { display:grid;grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);gap:1rem }
.ops-dashboard-grid h2,.ops-chart h2 { font-size:1.13rem;letter-spacing:-.02em }
.ops-bars { display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.3rem;padding:.7rem .4rem;background:#f8fafc;border-radius:12px }
.ops-bar-day { display:grid;gap:.35rem;text-align:center }
.ops-bar-day svg { width:100%;height:145px;border-bottom:1px solid #cbd5e1 }
.ops-bar-day rect.hotel { fill:#2563eb }
.ops-bar-day rect.motel { fill:#fbbf24 }
.ops-bar-day small { font-size:.7rem;color:#475569 }
.ops-activity { display:grid;gap:.45rem;max-height:220px;overflow:auto }
.ops-activity div { background:#f8fafc;border:1px solid #e2e8f0;border-left:3px solid #2563eb;border-radius:8px;padding:.55rem .65rem;font-size:.82rem }
.ops-activity small { display:block;color:var(--muted) }
.ops-room-grid,.ops-channel-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem }
.ops-room { --accent:#94a3b8;display:grid;gap:.45rem;min-width:0;align-content:start;background:#fff;color:#0f172a;border:1px solid #e2e8f0;border-top:3px solid var(--accent);padding:1rem;border-radius:14px;box-shadow:0 3px 12px #0f172a08;overflow-wrap:anywhere }
a.ops-room:hover { text-decoration:none;background:#f8fbff }
.ops-room-head { display:flex;align-items:center;justify-content:space-between;gap:.35rem;flex-wrap:wrap }
.ops-room-head b { font:800 1.12rem ui-monospace,monospace }
.ops-free,.ops-channel-web { --accent:#16a34a }
.ops-hotel,.ops-channel-booking { --accent:#2563eb }
.ops-motel,.ops-channel-expedia { --accent:#f59e0b }
.ops-cleaning { --accent:#eab308 }
.ops-blocked,.ops-channel-airbnb { --accent:#e11d48 }
.ops-reserved { --accent:#7c3aed }
.ops-chip { display:inline-flex;align-items:center;border-radius:7px;padding:.2rem .5rem;background:#f1f5f9;color:#334155;font-size:.75rem;font-weight:750 }
.ops-chip.free,.ops-chip.ops-channel-web,.ops-chip.ops-channel-reception { background:#dcfce7;color:#166534 }
.ops-chip.hotel,.ops-chip.ops-channel-booking { background:#dbeafe;color:#1e40af }
.ops-chip.motel,.ops-chip.cleaning,.ops-chip.ops-channel-expedia { background:#fef3c7;color:#854d0e }
.ops-chip.blocked,.ops-chip.ops-channel-airbnb { background:#ffe4e6;color:#9f1239 }
.ops-chip.reserved { background:#ede9fe;color:#5b21b6 }
.ops-filters [aria-pressed=true] { outline:2px solid #2563eb;outline-offset:1px }
.ops-room-detail { display:grid;align-content:center;gap:.18rem;min-height:78px;padding:.6rem;border:1px solid #e2e8f0;background:#f1f5f9;border-radius:10px;font-size:.85rem }
.ops-room-actions .button { min-height:34px;font-size:.78rem }
.ops-room-actions details { font-size:.8rem;cursor:pointer }
.ops-room-actions details form { margin-top:.55rem }
.ops-timer { color:#9a4a00;font:800 .92rem ui-monospace,monospace }
.ops-timer.ops-urgent { color:#be123c }
.ops-room-urgent { border-color:#fb7185 }
.ops-channel-grid h2 { margin:0;font-size:1rem }
.ops-channel-grid .ops-chip { justify-self:start }
.ops-channel-grid a { font-size:.8rem;font-weight:700 }
.ops-calendar { min-width:780px;table-layout:fixed }
.ops-calendar td { vertical-align:top }
.ops-calendar thead th,.ops-booking-table thead th { background:#f1f5f9 }
.ops-calendar th:first-child { width:150px }
.ops-calendar th.ops-today { background:#dbeafe;color:#1e40af }
.ops-slot { display:grid;margin:.22rem 0;padding:.25rem .45rem;border-radius:6px;border-left:3px solid var(--accent,#148544);background:#f1f5f9;color:#0f172a;font-size:.75rem }
.ops-slot small { font-size:.69rem;color:#475569 }
.ops-slot.motel { background:#fffbeb }
.ops-booking-table { min-width:860px }
.ops-booking-table td small { white-space:normal }
.ops-calendar-filters { display:flex;flex-wrap:wrap;align-items:end;gap:.6rem;margin-bottom:1rem }
.ops-entry { max-width:900px }
@media(max-width:1200px) {
    .ops-room-grid,.ops-channel-grid { grid-template-columns:repeat(2,minmax(0,1fr)) }
}
@media(max-width:970px) {
    .ops-dashboard-grid { grid-template-columns:1fr }
    .admin .ops-clock { display:none }
}
@media(max-width:720px) {
    .admin .sidebar { position:static;height:auto }
    .admin .admin-top { position:static }
    .admin .ops-search { order:3;max-width:none;flex-basis:100% }
    .admin .top-actions { flex:1;justify-content:flex-end }
    .admin .top-actions .button { min-height:36px;padding:.35rem .55rem;font-size:.74rem }
    .admin .top-actions select { max-width:100%;font-size:.8rem }
    .admin .ops-kpis { grid-template-columns:1fr }
    .ops-kpis .stat { min-height:0 }
}
@media(max-width:460px) {
    .ops-room-grid { grid-template-columns:1fr }
    .ops-channel-grid { gap:.5rem }
    .ops-channel-grid .panel { padding:.7rem }
}

.phase3-group-rooms {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));gap:.75rem}
.phase3-edit {margin-bottom:1rem}

.stay-alerts {margin-bottom:1rem}
.stay-alert-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:.65rem}
.stay-alert {display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.3rem .5rem;align-items:center;padding:.65rem .8rem;border:1px solid #f5c672;border-radius:10px;background:#fffbeb;color:#78350f}
.stay-alert:hover {background:#fff3d0;text-decoration:none}
.stay-alert.stay-exceeded {background:#fff1f2;border-color:#fda4af;color:#9f1239}
.stay-exceeded [data-stay-warning] {background:#ffe4e6;color:#9f1239}
.stay-timing .ops-chip {margin-left:.35rem}
.admin button[disabled] {opacity:.55;cursor:not-allowed}

.cash-adjust summary {cursor:pointer;font-weight:700;color:var(--green)}
.cash-ledger {min-width:720px}
.cash-ledger .cash-adjust {min-width:185px}
.cash-ledger .cash-adjust form {margin-top:.55rem}
.cash-print-tools {margin-top:.6rem}
@media print {
    body.simple {background:#fff;color:#111}
    body.simple .auth-wrap {width:100%;max-width:none;margin:0}
    body.simple .auth-brand, .cash-print-tools {display:none!important}
    .cash-document {box-shadow:none;border:0;padding:.25rem 0;break-inside:auto}
    .cash-document .table-wrap {overflow:visible}
    .cash-document table {min-width:0}
    .cash-document tr {break-inside:avoid}
    .cash-document a {color:inherit;text-decoration:none}
}

.staff-module-list {display:grid;gap:.5rem;margin:0}
.staff-record {border-top:1px solid #e2e8f0;padding:.7rem 0;margin-top:.6rem;overflow-wrap:anywhere}
.staff-record summary {cursor:pointer;color:var(--green)}
.staff-record summary small {display:block;color:#64748b}
.staff-record[open] summary {margin-bottom:.65rem}
