/* HospitalitySuite v0.4.4 · Atelier Edition
   Single design layer shared by front desk, rooms, dining, finance and administration.
   Presentation only: no API, booking or accounting rules are duplicated here. */
:root {
  --ink: #142d3b; --text: #26424d; --muted: #728793; --light: #f6f8f7;
  --surface: #ffffff; --line: #e3ecea; --green: #087d6c;
  --green-dark: #076e61; --gold: #c39960; --red: #b94f5c;
  --shadow: 0 9px 35px rgba(20, 48, 58, .035);
  --atelier-navy: #142c3a; --atelier-teal: #087e70; --atelier-mist: #e7f4ef;
  --atelier-radius: 17px; --atelier-ease: cubic-bezier(.22,.7,.25,1);
}
html { scroll-behavior:smooth; }
body { font-family: "Inter", "Aptos", "Segoe UI Variable", "Segoe UI", system-ui, sans-serif; font-size:13px; color:var(--ink); background:var(--light); }
button, input, select, textarea { font-family:inherit; }
button { -webkit-tap-highlight-color:transparent; }
:where(button, a, input, select, textarea, summary):focus-visible { outline:3px solid #47b6a4!important; outline-offset:3px!important; }
::selection { background:#bcecdf; color:#133d3b; }
.skip-to-content { position:absolute;z-index:1001;top:-100px;left:18px;background:#fff;color:#103f3c;padding:10px 18px;border-radius:10px;box-shadow:0 4px 20px #0002; }
.skip-to-content:focus { top:13px; }
/* Navigation */
.side-nav { background:linear-gradient(160deg,#112b3b 0%,#0d2936 57%,#113b40 100%); width:257px; min-width:257px; padding:28px 15px 16px; border-right:1px solid #ffffff0c; scrollbar-width:thin; scrollbar-color:#536f74 transparent; }
.nav-brand { padding:0 12px 22px; letter-spacing:-.6px; font-size:19px; }
.nav-brand .brand-emblem { width:46px;height:46px;border-radius:15px;background:linear-gradient(140deg,#20ab97,#07736c);box-shadow:0 10px 24px #0002; }
.nav-brand em { color:#9be2c9; }
.nav-brand small { letter-spacing:1.65px;font-size:8.5px;margin-top:3px; }
.nav-property-tag { margin:0 8px 22px; background:#ffffff0a;border:1px solid #ffffff19;border-radius:12px;padding:12px;display:flex;align-items:center;gap:10px; }
.property-tag-dot,.today-dot { background:#5fe1b8; width:8px;height:8px;display:block;border-radius:50%; box-shadow:0 0 0 4px #5fe1b822;flex:none; }
.nav-property-tag strong { display:block;color:#e8f4f0;font-size:9px;letter-spacing:1px;font-weight:800; }
.nav-property-tag small { display:block;color:#a1bfc2;font-size:10px;margin-top:3px; }
.nav-section-title { color:#7299a6;margin:16px 13px 8px;font-size:9px;letter-spacing:1.6px; }
.nav-item { padding:11px 13px;min-height:43px;border:1px solid transparent;border-radius:11px;gap:12px;color:#afc3ca;margin:2px 0;font-size:12px;transition:background .18s var(--atelier-ease),color .18s; }
.nav-item:hover { background:#ffffff0d;color:#fff; }
.nav-item.selected { background:linear-gradient(110deg,#1d5559,#21545c); border:1px solid #68c7ad47;border-left:3px solid #8be3c3;padding-left:11px;box-shadow:0 4px 13px #071d251e; }
.nav-symbol { width:22px;height:22px; flex:none; }
.nav-svg { width:18px;height:18px; }
.nav-help-tile { width:100%;color:#c0ded8;text-align:left;display:flex;align-items:center;gap:10px;padding:13px 12px;background:linear-gradient(115deg,#1b5555,#1c5053);border:1px solid #6ec3ac34;border-radius:13px;margin-bottom:15px; }
.nav-help-tile>span:nth-child(2) { flex:1; }
.nav-help-tile strong { display:block;color:#fff;font-size:11px; }
.nav-help-tile small { display:block;color:#bedbd5;font-size:9.5px;margin-top:2px; }
.nav-help-icon { display:grid;place-items:center;width:31px;height:31px;background:#ffffff1a;border-radius:9px; }
.nav-help-icon img { width:16px; }
.side-bottom { border-color:#ffffff22;padding-top:17px; }
.side-bottom .avatar { background:#bce9db;color:#14544c; }
/* App chrome */
.main-area { background:linear-gradient(180deg,#fafcfa 0,#f6f8f7 280px); }
.topbar { min-height:78px;height:78px;background:#ffffffee;backdrop-filter:blur(10px);padding:0 clamp(22px,3vw,48px);border-bottom:1px solid #e7eeeb; }
.breadcrumb { gap:12px;font-size:13px; }
.crumb-small { font-size:10px;letter-spacing:1.15px;font-weight:800;color:#8ba2a4; }
.breadcrumb strong { color:#1b3c49;font-weight:770; }
.top-actions { gap:12px; }
.topbar-today { border-right:1px solid #e5efeb;padding-right:18px;margin-right:4px;display:flex;align-items:center;gap:9px;white-space:nowrap;color:#6b858b;font-size:11px;font-weight:680; }
.today-dot { width:7px;height:7px;background:#0b9b82;box-shadow:0 0 0 4px #dff8ee; }
.property-switch { border-color:#dae6e2;border-radius:10px;background:#f6faf8;min-height:41px;padding:9px 13px;color:#264b52; }
.topbar-new-booking { background:#0a826f!important;color:white!important;border:0!important;box-shadow:0 6px 16px #0b756723;min-height:41px;padding:8px 15px!important;border-radius:10px!important;font-weight:800; }
.topbar-new-booking:hover { background:#096c60!important; }
.top-actions .avatar { background:#d5ede6;border:1px solid #a8d9c8;color:#155f56;width:38px;height:38px; }
.logout { color:#647d85; }
.workspace-main { max-width:1760px;padding:35px clamp(22px,3vw,46px) 58px; }
.app-footer { color:#9eb0ad;background:#f8faf8;border-color:#e5edea;font-size:10px; }
/* Headers and universal components */
.premium-page-header { margin-bottom:27px;align-items:center;gap:26px; }
.premium-page-header .eyebrow { color:#0b907d;font-size:10px;letter-spacing:1.5px;margin-bottom:10px;display:flex;align-items:center;gap:8px; }
.eyebrow-mark { width:17px;height:2px;border-radius:3px;background:#c99c63;display:inline-block; }
.premium-page-header h1 { color:#173440;letter-spacing:-1.25px;font-weight:780;font-size:clamp(27px,2.4vw,34px);line-height:1.16;margin-bottom:9px; }
.premium-page-header p { color:#788b93;font-size:12.5px;line-height:1.65;max-width:740px; }
.page-actions { gap:9px; }
.btn { min-height:42px;border-radius:10px;padding:10px 17px;letter-spacing:0;font-weight:750;box-shadow:none; }
.btn-small { min-height:33px;padding:7px 12px;border-radius:9px;font-size:11px; }
.btn-primary { background:linear-gradient(120deg,#0b967f,#087969);box-shadow:0 7px 17px #168d7928;color:#fff; }
.btn-outline { color:#36575d;border-color:#dbe6e2;background:#fff; }
.btn-danger-outline { border:1px solid #f5dce0;background:#fff9f9;color:#ad4c5b; }
.btn:hover:not(:disabled) { filter:brightness(.975);box-shadow:0 5px 15px #193e3b0c; }
.panel { border:1px solid #e3ebe8;border-radius:var(--atelier-radius);box-shadow:0 12px 33px #173e3e07; }
.panel-heading { padding:23px 25px;border-color:#edf1ef; }
.panel-heading h2 { color:#203e49;font-size:15.5px;letter-spacing:-.35px;font-weight:800; }
.panel-heading p { color:#889ba0;font-size:11.5px;line-height:1.5; }
.count-chip { color:#31796c;background:#eaf6f1;border:1px solid #d8e9e2;border-radius:20px;font-weight:750;padding:6px 11px; }
.context-help { border:1px solid #dcece5;border-left:3px solid #0c9580;border-radius:12px;background:linear-gradient(100deg,#f0faf6,#f8fcfa);padding:16px 19px;margin-bottom:21px;box-shadow:0 4px 14px #154a4005; }
.context-help strong { color:#21554e;letter-spacing:-.1px; }
.context-help p { color:#62827c;line-height:1.62; }
.metric-grid { gap:16px;margin-bottom:22px; }
.metric-card { border:1px solid #e5ece9;border-radius:16px;padding:22px 23px;min-height:155px;box-shadow:0 10px 26px #1f4c4306; }
.metric-card::before { left:22px!important;width:56px!important;height:3px!important; }
.metric-top { color:#70868b;font-size:12px;font-weight:700;margin-bottom:16px; }
.metric-card strong { color:#183a45;font-size:32px;letter-spacing:-1.15px; }
.metric-card strong.metric-money { font-size:25px; }
.metric-card p { color:#94a5a7;font-size:11px;margin-top:11px; }
.metric-icon { height:39px;width:39px;border-radius:12px; }
.metric-icon img { width:19px;height:19px;filter:brightness(.65) saturate(1.25); }
.pill { border-radius:7px;font-size:10px;padding:5px 10px; }
.data-table thead { background:#fbfcfb; }
.data-table th { color:#81999c;font-size:10px;padding:16px 20px; }
.data-table td { padding:17px 20px;border-color:#eef2f0; }
.data-table tbody tr:hover { background:#f6fbf8; }
.pulse-row { padding:15px 22px;border-color:#eef3f0; }
.pulse-icon { width:37px;height:37px;border-radius:10px;min-width:37px; }
.feature-banner { border-radius:16px;background:radial-gradient(circle at 110% 120%,#b4d7b724,transparent 52%),linear-gradient(125deg,#154650,#0a7770);padding:27px;min-height:177px; }
.feature-banner h2 { font-size:20px;line-height:1.3; }
.feature-banner p { color:#bfe2dc;font-size:11.5px; }
.empty-state,.empty-large { color:#8da1a3; }
.empty-large { border-color:#dbe8e3;border-radius:16px; }
/* Form and data entry refinement; all inputs continue to use existing Blazor bindings */
.form-panel { box-shadow:0 17px 35px #16483c08; }
.form-grid { gap:21px;padding:25px; }
.form-grid label,.setup-grid label,.login-card label { font-size:11px;color:#486c72;font-weight:780;letter-spacing:.1px;margin-bottom:8px; }
.form-grid input,.form-grid select,.setup-grid input,.setup-grid select,.login-card input,
.search-strip input,.search-strip select,.manage-controls input:not([type=checkbox]),.manage-controls select,
.form-grid textarea,.setup-grid textarea { min-height:45px;height:auto;border:1px solid #d9e6e2;border-radius:10px;background:#fff;color:#204552;padding:11px 13px;font-size:12px;transition:border .18s,box-shadow .18s; }
:where(.form-grid,.setup-grid,.manage-controls,.search-strip) :is(input,select,textarea):focus { outline:none;border-color:#42b69e;box-shadow:0 0 0 3px #c1eadc9c; }
:where(input,textarea)::placeholder { color:#a8b6ba; }
.form-hint { color:#80969a;font-size:11px;line-height:1.5; }
.form-actions { align-items:center; }
.manage-controls { gap:14px;margin:17px 0 20px;padding:14px 17px;background:#fff;border:1px solid #e7efec;border-radius:13px; }
.manage-controls label { color:#657f85; }
.search-strip { padding:19px 23px; }
.hotel-list-row { padding:17px 6px;border-color:#eff2ef; }
.hotel-list-row strong { color:#24424b;font-size:12.5px; }
.hotel-list-row p { color:#84999c;font-size:11px; }
.confirm-panel { border-radius:14px;background:#fffafa; }
/* Dashboard hero and shortcuts */
.atelier-hero.dashboard-welcome { position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(235px,.65fr);gap:38px;min-height:310px;padding:42px 45px;background:radial-gradient(circle at 83% 30%,#1b7e7c55,transparent 36%),linear-gradient(113deg,#132b3d 1%,#174856 66%,#126d66);box-shadow:0 18px 42px #143f4525;border:1px solid #ffffff14;border-radius:21px; }
.atelier-hero:before { content:"";position:absolute;width:420px;height:420px;right:9%;top:-335px;border:1px solid #fff2;border-radius:50%;pointer-events:none; }
.atelier-hero:after { content:"";position:absolute;width:480px;height:480px;right:-290px;bottom:-360px;border:1px solid #fff2;border-radius:50%;pointer-events:none; }
.atelier-hero-content { position:relative;z-index:1;min-width:0; }
.atelier-hero .hero-eyebrow { color:#b5e2d8;letter-spacing:1.45px;font-size:10px;font-weight:780; }
.atelier-hero h2 { color:#fff;font-size:clamp(30px,3.1vw,43px);font-weight:730;line-height:1.14;letter-spacing:-1.7px;margin:18px 0 14px; }
.atelier-hero h2 em { color:#c2e4d6;font-family:Georgia,serif;font-weight:400;font-style:italic;letter-spacing:-1.5px; }
.atelier-hero p { max-width:540px;font-size:12.5px;color:#bad2d8;line-height:1.72; }
.atelier-hero p strong { color:#effff9;font-weight:770; }
.hero-action-row { display:flex;flex-wrap:wrap;align-items:center;gap:13px;margin-top:24px; }
.hero-cta,.hero-secondary { border-radius:10px;min-height:43px;padding:11px 15px;font-size:12px;font-weight:780;display:inline-flex;align-items:center;gap:10px;border:1px solid transparent; }
.hero-cta { background:#f4fff9;color:#18645a;box-shadow:0 6px 18px #102e2e29; }
.hero-cta img { width:17px;filter:brightness(.65); }
.hero-cta span { margin-left:6px;font-size:17px;line-height:1; }
.hero-secondary { color:#e4f5ef;background:#ffffff0c;border-color:#ffffff44; }
.hero-secondary span { font-size:16px;margin-left:3px; }
.atelier-occupancy { position:relative;z-index:1;align-self:center;border:1px solid #ffffff3c;background:linear-gradient(150deg,#ffffff24,#ffffff0c);backdrop-filter:blur(3px);border-radius:18px;padding:25px 25px 23px;color:#fff; }
.occupancy-kicker { color:#b8ddd6;font-size:9px;letter-spacing:1.1px;font-weight:830; }
.occupancy-figure { display:flex;justify-content:space-between;align-items:center;gap:16px;margin:16px 0 18px; }
.occupancy-figure>strong { color:#fff;font-size:47px;letter-spacing:-2.4px;line-height:1; }
.occupancy-figure>strong span { font-size:20px;color:#addace;letter-spacing:0; }
.occupancy-ring { width:83px;height:83px;flex:none;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#9cdec2 var(--occupancy),#ffffff27 0);transform:rotate(-90deg); }
.occupancy-ring-core { display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:#1b5660;transform:rotate(90deg); }
.occupancy-ring-core img { width:22px;filter:brightness(3); }
.occupancy-track { background:#ffffff32;height:6px;border-radius:9px;overflow:hidden; }
.occupancy-track div { height:100%;background:#afe9c9;border-radius:9px; }
.occupancy-meta { display:flex;justify-content:space-between;gap:8px;color:#c1d9d7;font-size:10px;margin-top:11px; }
.quick-action-strip { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 21px; }
.quick-action-strip button { border:1px solid #e2ece7;border-radius:14px;display:flex;align-items:center;gap:11px;background:white;padding:16px;min-width:0;text-align:left;transition:transform .18s,box-shadow .18s; }
.quick-action-strip button:hover { transform:translateY(-2px);box-shadow:0 12px 25px #113e350d; }
.quick-action-strip button>span:nth-child(2) { flex:1;min-width:0; }
.qa-icon { width:41px;height:41px;border-radius:12px;background:#eaf6f1;flex:none;display:grid;place-items:center; }
.qa-icon img { width:20px;height:20px;filter:brightness(.65); }
.quick-action-strip strong { font-size:12px;color:#25434a;display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden; }
.quick-action-strip small { font-size:10px;color:#8c9d9e;display:block;margin-top:3px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden; }
.qa-arrow { color:#80aaa0;font-size:18px; }
/* Front desk hero and statuses */
.frontdesk-focus { display:flex;justify-content:space-between;align-items:center;gap:25px;padding:29px 34px;border-radius:18px;background:linear-gradient(112deg,#143344,#215f61);color:white;margin:0 0 18px;overflow:hidden; }
.frontdesk-focus .hero-eyebrow { color:#a9dfd2;font-size:10px;font-weight:800;letter-spacing:1.3px; }
.frontdesk-focus h2 { color:#fff;font-size:26px;letter-spacing:-.65px;margin:10px 0 9px; }
.frontdesk-focus p { color:#bfd5d5;font-size:12px;line-height:1.6;max-width:510px; }
.frontdesk-focus-number { min-width:155px;border:1px solid #ffffff26;background:#ffffff13;border-radius:14px;padding:16px 20px;display:flex;flex-direction:column; }
.frontdesk-focus-number span { font-size:9px;letter-spacing:1px;color:#c3e3dc;font-weight:800; }
.frontdesk-focus-number strong { font-size:39px;line-height:1.2;color:white; }
.frontdesk-focus-number small { color:#b6d5d0;font-size:10px; }
.hotel-metrics { gap:15px; }
.hotel-metrics>div { border:1px solid #e5ece8;border-radius:15px;padding:21px 23px;box-shadow:0 10px 25px #16413408;position:relative; }
.hotel-metrics>div:before { content:"";position:absolute;top:22px;right:20px;width:9px;height:9px;border-radius:50%;background:#c8decf; }
.hotel-metrics>div:nth-child(2):before { background:#7cbfb7; }
.hotel-metrics>div:nth-child(3):before { background:#dbb174; }
.hotel-metrics span { font-size:11px;font-weight:730;color:#718a8e; }
.hotel-metrics strong { color:#23404a;font-size:29px; }
/* Rooms: more editorial cards, same management actions */
.rooms-grid { gap:18px; }
.room-card { background:white;border:1px solid #e4ece8;border-radius:17px;padding:17px 17px 15px;box-shadow:0 10px 28px #17463a08;min-width:0;overflow:hidden; }
.room-card-top { margin-bottom:14px; }
.room-visual { background:#e9f6ef!important;border-radius:10px;width:34px;height:34px;display:grid;place-items:center; }
.room-visual img { width:18px;filter:brightness(.7); }
.room-card-art { height:116px;position:relative;border-radius:12px;overflow:hidden;background:linear-gradient(145deg,#e9f3ed 0%,#d3e5d9 53%,#c0d4ca 100%);margin-bottom:18px; }
.room-art-glow { position:absolute;width:160px;height:160px;right:-28px;top:-80px;border-radius:50%;background:#ffffff70; }
.room-art-window { position:absolute;right:21px;top:15px;width:46px;height:68px;border:5px solid #b1c8bc;border-radius:24px 24px 5px 5px;background:linear-gradient(180deg,#fdfdf9,#d9ece5);display:flex;gap:3px;padding:0 7px;justify-content:center; }
.room-art-window span { border-right:1px solid #bad0c3;flex:1; }
.room-art-bed { position:absolute;left:22px;bottom:14px;width:62%;height:33px;border-radius:8px 8px 4px 4px;background:#739d94;box-shadow:0 5px 0 #60887f; }
.room-art-bed:before { content:"";position:absolute;top:-12px;left:9px;width:30px;height:19px;border-radius:6px;background:#fdfdf5;box-shadow:31px 0 0 #fdfdf5; }
.room-art-bed span { display:block;width:100%;height:17px;position:absolute;bottom:0;background:#d5e5da;border-radius:5px 5px 2px 2px; }
.room-card-overline { color:#8d9e9b;font-size:9px;letter-spacing:.8px;text-transform:uppercase;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.room-card h3 { color:#203f4b;font-size:21px;letter-spacing:-.6px;margin-top:4px; }
.room-card-details>p { color:#83979a;font-size:11px;margin-top:5px; }
.room-card-bottom { display:flex;justify-content:space-between;align-items:baseline;gap:5px;border-top:1px solid #eaf0ec;margin:15px 0 0;padding:15px 0 0; }
.room-card-bottom>span { font-size:10px;color:#92a4a5; }
.room-card-bottom strong { font-size:15px;color:#155f54;letter-spacing:-.25px; }
.room-actions { gap:7px; }
.room-actions .btn { flex:1;min-width:0; }
.room-summary { gap:17px; }
/* Restaurant: menu as product catalogue and more useful at-a-glance numbers */
.restaurant-overview { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-bottom:18px; }
.restaurant-overview>div { border:1px solid #e4ebe7;background:#fff;border-radius:15px;padding:20px 21px;display:flex;align-items:center;gap:14px;box-shadow:0 9px 23px #16443806; }
.restaurant-overview-icon { display:grid;place-items:center;flex:none;width:46px;height:46px;border-radius:13px;background:#e8f6ee; }
.restaurant-overview-icon img { width:23px;filter:brightness(.65); }
.restaurant-overview small { display:block;font-size:9px;letter-spacing:1px;color:#86a09d;font-weight:830; }
.restaurant-overview strong { display:block;font-size:18px;color:#183d49;margin-top:3px;letter-spacing:-.3px; }
.tables-grid { gap:12px; }
.table-tile { border-radius:13px;border-color:#e5eee8;background:#fcfefd; }
.table-glyph { width:44px;height:44px;margin:0 auto 7px;border-radius:50%;background:#ebf7ef;display:grid;place-items:center; }
.table-glyph img { width:21px;filter:brightness(.68); }
.menu-catalogue-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:19px; }
.menu-product-card { border:1px solid #e5ede8;border-radius:14px;overflow:hidden;background:#fff;min-width:0;transition:box-shadow .18s,transform .18s; }
.menu-product-card:hover { transform:translateY(-2px);box-shadow:0 10px 26px #1c51420f; }
.menu-product-top { height:92px;position:relative;display:flex;align-items:center;justify-content:center;background:linear-gradient(130deg,#eaf4e9,#daeade); }
.menu-product-card:nth-child(3n + 2) .menu-product-top { background:linear-gradient(130deg,#f3e9dd,#e9ded0); }
.menu-product-card:nth-child(3n + 3) .menu-product-top { background:linear-gradient(130deg,#e6edef,#d7e8e8); }
.menu-product-top>.pill { position:absolute;top:11px;right:12px; }
.menu-food-art { width:55px;height:55px;background:#ffffff8a;border-radius:50%;display:grid;place-items:center;box-shadow:0 6px 18px #344c3d11; }
.menu-food-art img { width:26px;height:26px;filter:brightness(.67); }
.menu-product-body { padding:17px; }
.menu-category { display:block;color:#8d9f99;font-size:9px;letter-spacing:1px;text-transform:uppercase;font-weight:800;margin-bottom:5px; }
.menu-product-body>strong { color:#24434b;font-size:13.5px;display:block;min-height:24px;word-wrap:break-word; }
.menu-product-bottom { border-top:1px solid #eaf0ed;margin-top:12px;padding-top:12px;display:flex;flex-direction:column;gap:11px; }
.menu-product-bottom>span { color:#0c7667;font-size:15px;font-weight:830; }
.menu-product-bottom .row-actions { flex-wrap:wrap; }
.menu-archived { opacity:.65; }
/* Calendar & task flow */
.hotel-calendar { border-spacing:4px; }
.hotel-calendar th { color:#5b787f; }
.hotel-calendar td { height:43px;border-radius:7px; }
.hotel-calendar td span { padding:11px 0; }
.calendar-legend { background:#fafcfb;gap:22px; }
.kitchen-lane { border:1px solid #e1ebe6;background:#f2f7f4;border-radius:15px; }
.lane-head { color:#24565a;font-size:12px; }
.ticket { border-radius:12px;box-shadow:0 5px 12px #164b3f05; }
.property-tile,.table-tile { transition:box-shadow .15s; }
.property-tile:hover,.table-tile:hover { box-shadow:0 8px 21px #1948370c; }
/* Login - quiet luxury, still accessible with email/password */
.login-story { background:radial-gradient(circle at 87% 22%,#177a7147,transparent 39%),linear-gradient(135deg,#112f41,#145459 86%); }
.login-story h1 { font-weight:720;line-height:1.14; }
.login-story h1 em { color:#b2e7c9; }
.login-card h2 { font-weight:780;letter-spacing:-.9px; }
.login-card button.btn-primary { border-radius:10px; }
.login-card input { height:48px; }
/* Adaptation */
@media(max-width:1400px) {
  .atelier-hero.dashboard-welcome { gap:22px;padding:36px; }
  .topbar-today { display:none; }
  .menu-catalogue-grid { grid-template-columns:1fr 1fr; }
}
@media(max-width:1200px) {
  .quick-action-strip { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .atelier-hero.dashboard-welcome { grid-template-columns:minmax(0,1.2fr) minmax(205px,.65fr); }
  .occupancy-figure>strong { font-size:37px; }
  .side-nav { width:245px;min-width:245px; }
  .restaurant-overview { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(max-width:1020px) {
  .side-nav { position:fixed;width:265px;min-width:265px; }
  .workspace-main { padding:28px 25px 45px; }
  .atelier-hero.dashboard-welcome { grid-template-columns:1fr minmax(195px,.65fr); }
}
@media(max-width:790px) {
  .atelier-hero.dashboard-welcome { grid-template-columns:1fr;min-height:0;gap:22px;padding:28px; }
  .atelier-occupancy { display:grid;grid-template-columns:1fr 1fr;gap:6px 24px;align-self:stretch;padding:19px 22px; }
  .occupancy-kicker { grid-column:1/-1; }
  .occupancy-figure { margin:0; }
  .occupancy-figure>strong { font-size:35px; }
  .occupancy-ring { width:62px;height:62px; }
  .occupancy-ring-core { width:48px;height:48px; }
  .occupancy-meta { flex-direction:column;margin:0;gap:3px;justify-content:center; }
  .restaurant-overview { grid-template-columns:1fr 1fr; }
  .restaurant-overview>div:last-child { grid-column:1/-1; }
}
@media(max-width:680px) {
  .topbar { padding:12px 15px;height:auto;min-height:65px; }
  .workspace-main { padding:23px 14px 42px; }
  .premium-page-header { margin-bottom:20px;gap:15px; }
  .premium-page-header h1 { font-size:27px; }
  .premium-page-header p { font-size:12px; }
  .page-actions { width:100%; }
  .page-actions .btn { flex:1; }
  .metric-grid { gap:11px; }
  .metric-card { padding:17px;min-height:142px; }
  .metric-card strong { font-size:25px; }
  .metric-icon { width:34px;height:34px; }
  .atelier-hero.dashboard-welcome { padding:26px 23px;border-radius:17px; }
  .atelier-hero h2 { font-size:33px; }
  .atelier-hero p { font-size:11.5px; }
  .hero-action-row { gap:9px; }
  .hero-cta,.hero-secondary { min-height:43px;padding:10px 12px; }
  .quick-action-strip { gap:10px; }
  .quick-action-strip button { padding:12px;gap:9px; }
  .qa-icon { width:35px;height:35px; }
  .qa-icon img { width:17px; }
  .qa-arrow { display:none; }
  .hotel-metrics { gap:10px; }
  .hotel-metrics>div { padding:17px; }
  .frontdesk-focus { flex-direction:column;align-items:stretch;padding:24px;gap:16px; }
  .frontdesk-focus-number { flex-direction:row;align-items:center;justify-content:space-between; }
  .frontdesk-focus-number strong { font-size:30px; }
  .rooms-grid { gap:12px; }
  .room-card { padding:12px; }
  .room-card-art { height:82px; }
  .room-art-window { transform:scale(.7);transform-origin:top right; }
  .room-art-bed { left:12px;bottom:10px;height:24px; }
  .room-art-bed:before { transform:scale(.7);transform-origin:top left; }
  .room-card h3 { font-size:17px; }
  .room-card-bottom { display:block; }
  .room-card-bottom>span { display:block;margin-bottom:3px; }
  .room-card-bottom strong { font-size:12.5px; }
  .menu-catalogue-grid { grid-template-columns:1fr; }
  .restaurant-overview>div { padding:14px;gap:9px; }
  .restaurant-overview-icon { width:34px;height:34px; }
  .restaurant-overview-icon img { width:18px; }
  .restaurant-overview strong { font-size:14px; }
  .panel-heading { padding:19px 17px; }
  .form-grid { padding:17px;gap:14px; }
  .manage-controls { padding:12px; }
  .app-footer { gap:10px; }
}
@media(max-width:420px) {
  .quick-action-strip { grid-template-columns:1fr 1fr; }
  .quick-action-strip small { font-size:9px; }
  .topbar .property-switch { max-width:128px; }
  .atelier-occupancy { grid-template-columns:1fr; }
  .occupancy-meta { flex-direction:row;justify-content:space-between; }
  .restaurant-overview { grid-template-columns:1fr; }
  .restaurant-overview>div:last-child { grid-column:auto; }
  .hotel-metrics>div { padding:13px; }
  .hotel-metrics strong { font-size:23px; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important;transition:none!important;animation:none!important; } }
/* Branded folio printouts must not inherit workspace chrome */
@media print { .atelier-hero,.quick-action-strip,.frontdesk-focus,.restaurant-overview,.nav-help-tile { display:none!important; } }

/* Mobile booking register: show readable arrival cards rather than a clipped horizontal table. */
@media(max-width:680px) {
  .dashboard-arrivals { overflow:visible; }
  .dashboard-arrivals table { min-width:0;width:100%;display:block; }
  .dashboard-arrivals thead { display:none; }
  .dashboard-arrivals tbody { display:block; }
  .dashboard-arrivals tbody tr { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7px 11px;padding:14px 17px;border-top:1px solid #ebf0ed; }
  .dashboard-arrivals tbody td { padding:0;border:0;min-width:0;white-space:normal;font-size:11px; }
  .dashboard-arrivals tbody td:nth-child(1) { grid-column:1;grid-row:1;font-weight:830; }
  .dashboard-arrivals tbody td:nth-child(2) { grid-column:2;grid-row:1;text-align:right;font-weight:690;color:#34535b; }
  .dashboard-arrivals tbody td:nth-child(3) { grid-column:1;grid-row:2;color:#8ca0a0; }
  .dashboard-arrivals tbody td:nth-child(4) { grid-column:2;grid-row:2;text-align:right; }
}
