/* Premium presentation layer. Shared product components stay in platform.css. */
:root {
  --ink: #233047;
  --muted: #788397;
  --paper: #f4f6fa;
  --line: #e5e9f1;
  --teal: #4b63d5;
  --dark: #101e33;
  --mint: #d5b980;
  --radius: 16px;
  --gold: #c4a368;
}
body { font-size: 14px; }
.brand-mark { font-family: Georgia, serif; border-color: #ffffff26; }
.brand-mark span { color: #d4b578; }
.button { font-size: 13px; padding: 12px 18px; border-radius: 9px; }
.primary { background: #4b63d5; box-shadow: 0 3px 8px #4b63d51a; }
.primary:hover { background: #3d52bd; }
.secondary:hover { background: #f1f4fa; }
.field label { font-size: 13px; color: #3b465b; }
.field-hint { font-size: 12px; color: #7e8a9b; }
input:not([type=radio]):not([type=hidden]),select { border-color: #dfe5ed; border-radius: 9px; }
input:focus,select:focus { border-color: #8493d7; box-shadow: 0 0 0 3px #4b63d512; }
.tile-icon { background: #edf1fb; color: #6074b2; border-color: #e2e8f7; }
.tile-icon.restaurant { background: #f9f3e8; color: #a88647; }
.tile-icon.cafeteria { background: #eef4f1; color: #658a79; }
.badge { font-size: 11px; background: #eff2f8; color: #6a7790; }
.badge.green { background: #edf7f1; color: #3b8761; }
.badge.amber { background: #fbf2e2; color: #a47f38; }
.badge.gray { background: #f0f2f6; color: #7d8798; }
.panel { box-shadow: 0 2px 5px #16284302; }
.panel-description,.section-heading p { font-size: 12px; }
h2 { font-size: 20px; font-weight: 650; letter-spacing: -.5px; }
.alert { font-size: 13px; }

/* Login: architectural illustration, restrained typography, focused access card. */
.auth-premium {
  background: #101d32;
  color: #f8fafc;
}
.premium-login {
  min-height: 100svh;
  padding: 38px max(38px, calc((100vw - 1350px) / 2));
  display: flex;
  flex-direction: column;
  position: relative;
  overflow: hidden;
  background: radial-gradient(ellipse at 25% 75%, #26425955, transparent 55%),
    radial-gradient(ellipse at 100% 5%, #40536b25, transparent 50%), #101d32;
}
.premium-login::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: linear-gradient(#ffffff02 1px, transparent 1px),
    linear-gradient(90deg, #ffffff02 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: linear-gradient(to bottom, black, transparent);
  pointer-events: none;
}
.premium-login>* { position: relative; }
.login-header { display: flex; justify-content: space-between; align-items: center; padding: 0 12px; }
.login-header .brand { color: #f4f6f9; font-size: 27px; }
.login-header .brand small { font-size: 8px; letter-spacing: 2.1px; color: #c0c9d8; }
.login-header-caption { color: #8091a8; font-size: 12px; }
.login-grid { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(340px,440px); gap: clamp(35px,6vw,95px); align-items: center; width: 100%; margin: auto; padding: 55px 12px 45px; }
.login-editorial { min-width: 0; }
.login-eyebrow { color: #bdc7d6; font-size: 10px; letter-spacing: 2.2px; display: flex; align-items: center; gap: 10px; font-weight: 500; }
.login-eyebrow i { width: 6px; height: 6px; border-radius: 50%; background: var(--gold); box-shadow: 0 0 0 4px #c4a36812; }
.login-editorial h1 { font-size: clamp(36px,4.1vw,61px); line-height: 1.12; letter-spacing: -2.1px; font-weight: 500; margin: 24px 0 22px; }
.login-editorial h1 em { font-family: Georgia,serif; font-weight: 400; color: #d6bd8f; letter-spacing: -1.5px; }
.login-editorial>p { font-size: 14px; color: #9facbf; line-height: 1.8; max-width: 485px; margin-bottom: 0; }
.architectural-scene { height: 250px; position: relative; margin: 25px 0 20px; max-width: 620px; }
.architecture { width: 100%; height: 100%; filter: drop-shadow(0 15px 35px #00000025); }
.scene-label { position: absolute; display: flex; align-items: center; gap: 12px; padding: 12px 16px; background: #1d2c42e8; border: 1px solid #70849e35; border-radius: 10px; box-shadow: 0 15px 35px #08122235; backdrop-filter: blur(8px); }
.scene-label>.icon { color: #cbb48a; width: 22px; height: 22px; }
.scene-label strong { display: block; color: #e6ebf2; font-size: 11px; font-weight: 500; }
.scene-label small { display: block; color: #8192aa; font-size: 9px; margin-top: 3px; }
.scene-hotel { top: 8px; left: 12px; }
.scene-dining { bottom: 28px; right: 0; }
.login-benefits { display: grid; grid-template-columns: repeat(3,1fr); gap: 15px; border-top: 1px solid #8e9eb323; padding-top: 22px; }
.login-benefits .icon { width: 18px; height: 18px; color: #c7af82; margin-bottom: 10px; }
.login-benefits strong { font-size: 11px; color: #d9e0e9; font-weight: 500; display: block; }
.login-benefits span { font-size: 10px; color: #7e90a8; display: block; margin-top: 4px; }
.login-card { background: #fff; color: var(--ink); padding: 37px; border-radius: 20px; box-shadow: 0 30px 70px #00000025, 0 0 0 1px #ffffff08; position: relative; overflow: hidden; }
.login-card::before { content: ""; height: 3px; background: linear-gradient(90deg, #d4ba89, #ede3ce, #bccadd); position: absolute; top: 0; left: 0; right: 0; }
.login-card-top { display: flex; align-items: center; gap: 12px; margin-bottom: 27px; color: #8290a0; font-size: 9px; letter-spacing: 1.8px; font-weight: 500; }
.login-lock { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 11px; background: #f4f2ec; border: 1px solid #eae4d6; color: #ad8d53; }
.login-lock .icon { width: 19px; height: 19px; }
.login-card h2 { font-size: 32px; font-weight: 600; letter-spacing: -1.1px; margin-bottom: 9px; }
.login-card-description { color: #8a95a3; font-size: 13px; margin-bottom: 28px; }
.login-card .field { margin-bottom: 21px; }
.login-card .field label { font-size: 12px; margin-bottom: 9px; }
.login-card .input-wrap input { min-height: 50px; font-size: 12px; background: #fbfcfe; }
.login-card .input-wrap>.icon { color: #9aa5b5; }
.login-card input::placeholder { color: #a6afbd; }
.login-card .signin-submit { margin-top: 6px; background: #172b48; min-height: 50px; padding: 14px 18px; font-size: 12px; box-shadow: 0 4px 8px #162b4812; }
.login-card .signin-submit:hover { background: #233b5e; }
.login-card .signin-submit>.icon { color: #d2b881; }
.login-card-divider { border-bottom: 1px solid #e9edf3; text-align: center; padding: 22px 0; font-size: 10px; color: #949dac; }
.login-card .login-help { margin-top: 20px; font-size: 11px; color: #576b91; }
.login-card-footnote { display: flex; justify-content: center; align-items: center; gap: 7px; color: #a1aab6; font-size: 9px; margin-top: 22px; text-align: center; }
.login-card-footnote .icon { width: 13px; height: 13px; }
.login-bottom { border-top: 1px solid #8291a61c; display: flex; justify-content: space-between; padding: 20px 12px 0; color: #6f829c; font-size: 10px; }
.login-bottom i { font-style: normal; padding: 0 10px; color: #ab9163; }

/* Workspace shell. */
.sidebar { width: 258px; background: linear-gradient(165deg,#14243c,#0f1d31 65%); padding: 30px 18px 0; transition: none; }
.sidebar .brand { font-size: 25px; margin: 0 10px 27px; }
.sidebar .brand small { color: #a9b7ca; }
.workspace-main { margin-left: 258px; width: calc(100% - 258px); }
.workspace-switcher { display: flex; gap: 10px; align-items: center; color: #b7c5d8; border: 1px solid #93a9c221; border-radius: 9px; padding: 12px; margin: 0 4px 27px; background: #ffffff03; }
.workspace-switcher>.icon { color: #b6a27e; width: 17px; height: 17px; }
.workspace-switcher>span { font-size: 11px; font-weight: 500; }
.workspace-switcher small { display: block; font-size: 9px; color: #7389a6; margin-top: 3px; }
.nav-caption { color: #627b9b; font-size: 9px; letter-spacing: 1.6px; }
.nav-link { font-size: 13px; padding: 12px 15px; color: #8fa4c1; margin: 5px 0; border: 1px solid transparent; }
.nav-link:hover { background: #ffffff05; color: #dfe8f7; }
.nav-link.active { background: #263c63; color: #dbe7fb; border-color: #809aca18; box-shadow: inset 3px 0 #c7ad79; }
.nav-link .icon { width: 18px; height: 18px; }
.sidebar-note { border-top-color: #98aac01a; padding-top: 20px; margin-bottom: 27px; }
.sidebar-note>.icon { color: #af986e; }
.sidebar-note strong { color: #aebed5; font-size: 11px; }
.sidebar-note p { color: #637d9e; font-size: 10px; }
.sidebar-note>a { color: #a2b7d5; font-size: 10px; margin-top: 12px; display: flex; align-items: center; gap: 8px; }
.sidebar-note>a .icon { width: 13px; height: 13px; }
.profile { margin: 0 -18px; padding: 18px; border-color: #98aac01a; }
.avatar { background: #314866; color: #d8e3f3; }
.profile strong { color: #c8d5e8; font-size: 12px; }
.profile small { color: #66809f; font-size: 10px; }
.profile .icon { color: #8399b7; }
.topbar { height: 76px; padding: 0 36px; }
.breadcrumb { font-size: 12px; color: #96a1b1; }
.breadcrumb strong { color: #56657c; font-weight: 500; }
.topbar-right { display: flex; align-items: center; gap: 15px; }
.role-chip { display: flex; align-items: center; gap: 6px; background: #f6f7fb; color: #7e8ba3; font-size: 10px; padding: 6px 10px; border: 1px solid #edf0f6; border-radius: 7px; }
.role-chip .icon { width: 13px; height: 13px; }
.topbar-avatar { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; background: #e7ecf6; color: #667ba1; font-size: 12px; }
.content { padding: 31px 36px; }
.workspace-footer { color: #a5afbd; padding: 18px 36px; font-size: 10px; }
.sidebar-close,.navigation-scrim { display: none; }
.page-heading .eyebrow { color: #8b98b0; }
.page-heading h1 { font-size: 30px; }
.page-heading p { font-size: 13px; }
.business-card { box-shadow: 0 3px 8px #16284303; }
.business-card h3 { font-size: 16px; }
.business-card p,.business-card .service-type { font-size: 12px; }
.business-card .card-bottom>a { font-size: 12px; }
.stat-top { font-size: 12px; color: #8a94a6; }
.stat-card strong { font-size: 33px; }
.stat-card small { font-size: 11px; color: #9aa4b3; }
.money-line strong { color: #233047; }
.hotel-key,.hotel-bar { background: #667ac6; }
.dining-key,.dining-bar { background: #ccb483; }
.chart-day>span,.chart-legend,.chart-data summary { font-size: 11px; color: #8f9bb0; }
.stock-item strong { font-size: 13px; }
.stock-item small { font-size: 11px; color: #93a0b1; }
.stock-level strong { font-size: 17px; color: #ad8d51; }
.connection-banner { background: #edf1fa; border-color: #dee5f6; }
.connection-banner p { font-size: 12px; color: #8090ae; }
.connection-item small { font-size: 11px; }
th { font-size: 10px; color: #97a2b3; background: #f8f9fc; }
td { font-size: 12px; border-color: #edf0f5; }
.table-sub { font-size: 11px; color: #96a1b0; }
.setup-summary { background: #eef1f9; border-color: #dfe6f6; }
.setup-summary p,.setup-summary li { color: #6e7fa1; }
.setup-summary small { border-color: #dbe3f2; color: #8796b0; }

/* Superadmin command dashboard. */
.command-heading { display: flex; align-items: center; justify-content: space-between; gap: 25px; margin-bottom: 26px; }
.command-heading .eyebrow { font-size: 9px; letter-spacing: 1.6px; color: #97a2b5; }
.command-heading h1 { font-size: 36px; margin: 10px 0 8px; letter-spacing: -1.3px; }
.heading-dot { color: #b49765; }
.command-heading p { font-size: 12px; color: #97a1b3; margin: 0; }
.heading-actions { display: flex; gap: 12px; align-items: center; }
.date-chip { color: #7e8da5; font-size: 10px; padding: 10px 12px; background: white; border: 1px solid var(--line); border-radius: 8px; white-space: nowrap; }
.heading-actions .button { font-size: 11px; min-height: 40px; padding: 10px 14px; }
.command-hero { background: radial-gradient(ellipse at 90% 20%,#3b4f6a70,transparent 55%),linear-gradient(105deg,#172941,#20334d); border-radius: 16px; padding: 26px 30px; display: flex; align-items: center; justify-content: space-between; gap: 25px; color: white; margin-bottom: 23px; overflow: hidden; }
.hero-overline { font-size: 9px; letter-spacing: 1.8px; color: #8d9eb8; }
.command-hero h2 { font-size: 25px; letter-spacing: -.6px; font-weight: 500; margin: 11px 0 9px; }
.command-hero p { font-size: 11px; color: #8ea2bf; margin-bottom: 20px; }
.hero-service-list { display: flex; flex-wrap: wrap; gap: 14px; }
.service-state { display: inline-flex; align-items: center; gap: 7px; font-size: 9px; color: #b0bfcd; }
.service-state i { width: 5px; height: 5px; border-radius: 50%; }
.service-state.online i { background: #8bbcad; box-shadow: 0 0 0 3px #8bbcad12; }
.service-state.offline i { background: #dfa178; box-shadow: 0 0 0 3px #dfa17812; }
.hero-emblem { width: 175px; height: 135px; position: relative; flex-shrink: 0; margin-right: 20px; }
.emblem-ring { position: absolute; width: 128px; height: 128px; border: 1px solid #9fb0ca20; border-radius: 50%; top: 50%; left: 50%; transform: translate(-50%,-50%); }
.emblem-ring.second { width: 185px; height: 185px; opacity: .5; }
.hero-emblem>span { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); width: 62px; height: 62px; border: 1px solid #9aacca50; background: #3b526d; border-radius: 18px; display: grid; place-items: center; box-shadow: 0 0 35px #abc2e01a; }
.hero-emblem>span .icon { width: 27px; height: 27px; color: #d9c192; }
.orbit-tile { width: 31px; height: 31px; display: grid; place-items: center; position: absolute; background: #293f5b; border: 1px solid #92a7c035; border-radius: 9px; }
.orbit-tile .icon { width: 15px; height: 15px; color: #b3c1d5; }
.orbit-tile.one { top: 7px; left: 8px; }
.orbit-tile.two { top: 30px; right: 0; }
.orbit-tile.three { bottom: 0; left: 18px; }
.command-stats { gap: 17px; margin-bottom: 23px; }
.command-stats .stat-card { padding: 19px 21px 15px; position: relative; transition: border-color .15s; }
.command-stats .stat-card:hover { border-color: #bdc9ed; }
.command-stats .stat-top { margin-bottom: 9px; font-size: 10px; gap: 8px; }
.stat-icon { width: 30px; height: 30px; background: #f0f3fa; color: #8696bd; border-radius: 8px; display: grid; place-items: center; }
.stat-icon .icon { width: 15px; height: 15px; color: inherit; }
.command-stats strong { font-size: 31px; color: #233047; font-weight: 550; }
.command-stats small { font-size: 9px; color: #a2aaba; margin-top: 4px; }
.stat-link { display: flex; justify-content: space-between; align-items: center; border-top: 1px solid #eef1f7; padding-top: 10px; margin-top: 14px; font-size: 9px; color: #94a2c3; }
.stat-link .icon { width: 13px; height: 13px; }
.command-main-grid { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(280px,1fr); gap: 22px; margin-bottom: 23px; }
.command-main-grid>.panel { margin-bottom: 0; padding: 23px 25px; }
.panel-kicker { color: #a0aabd; font-size: 8px; letter-spacing: 1.5px; display: block; margin-bottom: 7px; }
.command-main-grid h2,.directory-panel h2,.command-bottom-grid h2 { font-size: 19px; letter-spacing: -.5px; }
.command-main-grid .section-heading p { font-size: 10px; color: #9aa5b5; }
.command-main-grid .section-heading .badge { font-size: 9px; }
.revenue-headlines { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin: 26px 0 20px; }
.revenue-headlines>div>span { color: #8d9bb3; font-size: 10px; display: flex; align-items: center; gap: 7px; margin-bottom: 6px; }
.revenue-headlines i { width: 6px; height: 6px; border-radius: 2px; }
.revenue-headlines strong { display: flex; align-items: baseline; gap: 6px; font-size: 25px; font-weight: 550; letter-spacing: -.8px; color: #304059; }
.revenue-headlines strong small { font-size: 8px; font-weight: 400; color: #a3aebf; letter-spacing: 0; }
.revenue-panel .revenue-chart { height: 165px; margin-top: 26px; background: repeating-linear-gradient(to top,transparent 0,transparent 44px,#f0f3f8 44px,#f0f3f8 45px); }
.revenue-panel .bar-pair { height: 143px; gap: 5px; }
.revenue-panel .chart-bar { width: 19px; border-radius: 4px 4px 0 0; }
.revenue-panel .chart-day>span { font-size: 9px; }
.chart-caption { display: flex; justify-content: space-between; gap: 15px; font-size: 8px; color: #a5aebe; margin-top: 19px; }
.revenue-panel .chart-data { margin-top: 12px; }
.revenue-panel .chart-data summary { font-size: 9px; color: #94a2c1; }
.attention-row { display: flex; align-items: center; gap: 10px; padding: 13px 0; border-bottom: 1px solid #f0f2f7; color: #65738b; }
.attention-row>span:nth-child(2) { flex: 1; min-width: 0; }
.attention-icon { width: 32px; height: 32px; border-radius: 8px; background: #f3f5f9; display: grid; place-items: center; color: #9aa7bd; flex-shrink: 0; }
.attention-icon.has-items { background: #faf3e8; color: #b19664; }
.attention-icon .icon { width: 15px; height: 15px; }
.attention-row strong { font-size: 11px; font-weight: 500; color: #64738c; display: block; }
.attention-row small { font-size: 9px; color: #a6afbd; display: block; margin-top: 3px; }
.attention-row b { font-size: 13px; font-weight: 500; color: #6e7d96; }
.attention-row>.icon { width: 12px; height: 12px; color: #b1bdcf; }
.attention-row:hover strong { color: #425abf; }
.stock-control { padding-top: 15px; }
.stock-control>span { display: flex; gap: 8px; align-items: center; color: #a79064; }
.stock-control>span .icon { width: 15px; height: 15px; }
.stock-control strong { font-size: 10px; font-weight: 500; }
.stock-control>small { font-size: 9px; display: block; color: #a4adbb; margin: 5px 0 0 23px; }
.stock-control .chart-data { margin-top: 9px; margin-left: 23px; }
.stock-control summary { font-size: 9px; }
.stock-review-link { display: flex; gap: 10px; justify-content: space-between; padding: 10px 0; border-bottom: 1px solid var(--line); font-size: 11px; }
.stock-review-link small { display: block; color: #9aa6b8; font-size: 9px; }
.stock-review-link b { font-size: 10px; white-space: nowrap; color: #b19565; }
.directory-panel { padding: 25px 0 0; overflow: hidden; margin-bottom: 23px; }
.directory-panel>.section-heading { padding: 0 25px; margin-bottom: 22px; }
.panel-link { display: inline-flex; align-items: center; gap: 8px; color: #8393bb; font-size: 10px; }
.panel-link .icon { width: 13px; height: 13px; }
.directory-panel th { font-size: 9px; padding: 13px 20px; }
.directory-panel td { font-size: 10px; color: #8996ab; padding: 15px 20px; }
.directory-business { display: flex; gap: 10px; align-items: center; }
.directory-business .tile-icon { width: 29px; height: 29px; border-radius: 7px; flex-shrink: 0; }
.directory-business .icon { width: 14px; height: 14px; }
.directory-business strong { color: #60718b; font-size: 11px; font-weight: 500; }
.directory-panel .badge { font-size: 9px; }
.service-chip { font-size: 9px; color: #8a99b3; }
.directory-open { display: flex; align-items: center; gap: 8px; color: #8192b9; font-size: 10px; }
.directory-open .icon { width: 12px; height: 12px; }
.command-bottom-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.command-bottom-grid>.panel { padding: 24px 25px; margin-bottom: 0; }
.quick-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.quick-actions>a { position: relative; padding: 14px; background: #fafbfe; border: 1px solid #e9edf5; border-radius: 10px; color: #8191ae; }
.quick-actions>a:hover { background: #f2f5fc; }
.quick-icon { display: block; color: #8ea0c5; margin-bottom: 10px; }
.quick-icon .icon { width: 17px; height: 17px; }
.quick-actions strong { display: block; font-size: 11px; font-weight: 500; color: #687c9e; }
.quick-actions small { display: block; font-size: 9px; color: #a1adbf; margin-top: 5px; }
.quick-actions>a>.icon { position: absolute; top: 14px; right: 13px; width: 12px; height: 12px; color: #b0bdd2; }
.activity-row { display: flex; align-items: center; gap: 12px; padding: 13px 0; border-bottom: 1px solid #eef1f7; }
.activity-row:last-child { border: 0; }
.activity-dot { width: 6px; height: 6px; border-radius: 50%; background: #a8b6d2; box-shadow: 0 0 0 4px #f4f6fa; flex-shrink: 0; }
.activity-row>div { flex: 1; }
.activity-row strong { font-size: 10px; font-weight: 500; color: #6f7d98; display: block; }
.activity-row small { font-size: 9px; color: #9eabbd; display: block; margin-top: 4px; }
.activity-row time { color: #b0bbcc; font-size: 8px; }

@media(min-width:1500px) { .login-grid { gap: 110px; padding-top: 70px; padding-bottom: 70px; } .architectural-scene { height: 285px; } }
@media(max-width:1150px) {
  .premium-login { padding: 30px; }
  .login-grid { grid-template-columns: minmax(0,1fr) 370px; gap: 40px; padding: 45px 0; }
  .login-editorial h1 { font-size: 39px; }
  .login-editorial>p { font-size: 13px; }
  .login-card { padding: 30px; }
  .architectural-scene { height: 200px; }
  .login-benefits { gap: 10px; }
  .login-benefits strong { font-size: 10px; }
  .login-benefits span { font-size: 9px; }
  .sidebar { width: 223px; }
  .sidebar .brand { font-size: 23px; }
  .workspace-main { margin-left: 223px; width: calc(100% - 223px); }
  .content { padding: 27px; }
  .topbar { padding: 0 27px; }
  .command-main-grid { grid-template-columns: 1fr; }
  .command-stats { gap: 12px; }
  .command-stats .stat-card { padding: 16px; }
  .command-heading { align-items: start; }
  .heading-actions { flex-direction: column; align-items: end; gap: 8px; }
  .command-hero { padding: 25px; }
  .command-hero h2 { font-size: 23px; }
}
@media(max-width:850px) {
  .premium-login { padding: 26px; }
  .login-grid { grid-template-columns: minmax(0,1fr) 330px; gap: 24px; }
  .login-header-caption { display: none; }
  .login-editorial h1 { font-size: 32px; letter-spacing: -1.1px; }
  .login-eyebrow { font-size: 8px; letter-spacing: 1.3px; }
  .architectural-scene { height: 175px; }
  .scene-label { padding: 10px; gap: 8px; }
  .scene-label strong { font-size: 10px; }
  .scene-label small { font-size: 8px; }
  .scene-label .icon { width: 16px; height: 16px; }
  .scene-hotel { left: 0; }
  .scene-dining { right: -8px; bottom: 6px; }
  .login-benefits { grid-template-columns: 1fr; gap: 13px; }
  .login-benefits>div { display: grid; grid-template-columns: 20px 1fr; gap: 0 10px; }
  .login-benefits .icon { grid-row: span 2; margin: 2px 0 0; }
  .login-benefits span { grid-column: 2; }
  .login-card { padding: 27px; }
  .sidebar { width: 205px; }
  .sidebar .brand { font-size: 21px; margin-left: 5px; }
  .sidebar .brand small { font-size: 7px; letter-spacing: 1.4px; }
  .workspace-switcher { padding: 11px 8px; gap: 8px; }
  .workspace-switcher>span { font-size: 10px; }
  .workspace-main { margin-left: 205px; width: calc(100% - 205px); }
  .content { padding: 24px; }
  .command-heading { flex-direction: column; gap: 16px; }
  .heading-actions { flex-direction: row; align-items: center; }
  .command-stats { grid-template-columns: 1fr 1fr; }
  .command-hero h2 { font-size: 21px; }
  .hero-emblem { width: 120px; margin-right: 0; }
  .hero-emblem .emblem-ring.second { width: 140px; height: 140px; }
  .command-bottom-grid { grid-template-columns: 1fr; }
}
@media(max-width:640px) {
  .navigation-open { overflow: hidden; }
  .sidebar-close { display: grid; position: absolute; right: 12px; top: 13px; color: #a3b3cc; }
  .sidebar-close .icon { transform: rotate(45deg); }
  .navigation-scrim:not([hidden]) { display: block; position: fixed; inset: 0; z-index: 25; background: #111e3277; border: 0; padding: 0; }
  .premium-login { padding: 25px 20px; }
  .login-header { padding: 0; }
  .login-header .brand { font-size: 23px; }
  .login-header .brand small { font-size: 7px; }
  .login-grid { display: flex; flex-direction: column; align-items: stretch; gap: 24px; padding: 33px 0 30px; margin: 0; }
  .login-editorial h1 { font-size: 32px; margin: 17px 0 13px; letter-spacing: -1.1px; }
  .login-editorial>p { font-size: 12px; max-width: 350px; line-height: 1.7; }
  .architectural-scene,.login-benefits { display: none; }
  .login-card { padding: 27px 25px; border-radius: 16px; }
  .login-card-top { margin-bottom: 20px; }
  .login-lock { width: 34px; height: 34px; }
  .login-card h2 { font-size: 29px; }
  .login-card-description { font-size: 12px; margin-bottom: 23px; }
  .login-card-divider { padding: 19px 0; }
  .login-card-footnote { font-size: 8px; margin-top: 17px; }
  .login-bottom { font-size: 8px; padding: 17px 0 0; gap: 10px; }
  .login-bottom i { padding: 0 4px; }
  .sidebar { width: 258px; box-shadow: 12px 0 40px #0e1b3430; }
  .sidebar .brand { font-size: 25px; }
  .workspace-main { margin-left: 0; width: 100%; }
  .topbar { height: 62px; padding: 0 18px; }
  .breadcrumb { font-size: 10px; }
  .breadcrumb span { margin: 0 8px; }
  .topbar-right { margin-left: auto; }
  .role-chip { display: none; }
  .topbar-avatar { width: 26px; height: 26px; font-size: 10px; }
  .content { padding: 24px 18px; }
  .workspace-footer { padding: 18px; font-size: 9px; }
  .command-heading h1 { font-size: 33px; }
  .command-heading p { font-size: 11px; }
  .command-heading .eyebrow { font-size: 8px; }
  .heading-actions { gap: 8px; flex-wrap: wrap; }
  .heading-actions .button { font-size: 10px; padding: 10px 12px; }
  .date-chip { padding: 10px; font-size: 9px; }
  .command-hero { padding: 22px; }
  .hero-emblem { display: none; }
  .command-hero h2 { font-size: 22px; }
  .command-hero p { font-size: 11px; }
  .hero-service-list { gap: 10px; }
  .service-state { font-size: 8px; }
  .command-stats { gap: 10px; }
  .command-stats .stat-card { padding: 15px; }
  .command-stats .stat-top { font-size: 9px; }
  .stat-icon { width: 25px; height: 25px; flex-shrink: 0; }
  .stat-icon .icon { width: 12px; height: 12px; }
  .command-stats strong { font-size: 28px; }
  .command-stats small { font-size: 8px; }
  .command-main-grid { gap: 18px; }
  .command-main-grid>.panel { padding: 22px; }
  .revenue-headlines { gap: 14px; }
  .revenue-headlines strong { font-size: 21px; }
  .revenue-headlines>div>span { font-size: 9px; }
  .chart-caption { flex-direction: column; gap: 5px; }
  .revenue-panel .chart-bar { width: 12px; }
  .revenue-panel .bar-pair { gap: 3px; }
  .directory-panel>.section-heading { padding: 0 22px; }
  .directory-panel .section-heading { align-items: start; }
  .panel-link { font-size: 9px; gap: 5px; }
  .panel-kicker { font-size: 7px; }
  .directory-panel .table-scroll { margin: 0; }
  .directory-panel table { min-width: 640px; }
  .command-bottom-grid>.panel { padding: 22px; }
  .quick-actions { gap: 10px; }
  .quick-actions>a { padding: 13px; }
  .quick-actions strong { font-size: 10px; }
  .quick-actions small { font-size: 8px; }
  .page-heading h1 { font-size: 27px; }
  .stat-top { font-size: 11px; }
  .stat-card small { font-size: 10px; }
}
@media(prefers-reduced-motion:reduce) { .command-stats .stat-card { transition: none; } }

/* Administrative analytics. */
.admin-analytics { background:#f3f5fa; }
.admin-analytics .content { max-width:1680px; margin:0 auto; width:100%; box-sizing:border-box; }
.analytics-heading { display:flex; justify-content:space-between; align-items:center; gap:24px; margin-bottom:18px; }
.analytics-heading .eyebrow { color:#66758f; font-size:10px; letter-spacing:1.6px; }
.analytics-heading h1 { font-size:34px; letter-spacing:-1.2px; margin:9px 0; color:#172640; }
.analytics-heading p { color:#69788e; font-size:13px; margin:0; }
.analytics-status { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:14px 18px; background:#e9edf7; border:1px solid #dfe5f1; border-radius:12px; margin-bottom:24px; color:#61708a; font-size:12px; }
.analytics-status>div { display:flex; gap:18px; flex-wrap:wrap; }
.analytics-status .service-state { font-size:11px; color:#51637c; }
.analytics-status .online i { background:#20947a; }
.analytics-status .offline i { background:#cb763e; }
.analytics-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; margin-bottom:20px; }
.analytics-kpi { position:relative; display:flex; flex-direction:column; padding:23px; border:1px solid #e2e7f0; border-radius:16px; background:#fff; box-shadow:0 5px 18px #20345504; min-width:0; }
.kpi-label { font-size:12px; font-weight:600; color:#66758e; padding-right:25px; }
.analytics-kpi>strong { font-size:clamp(23px,2.15vw,34px); font-weight:650; letter-spacing:-1px; color:#1e304e; margin-top:20px; overflow-wrap:anywhere; }
.analytics-kpi strong small { font-size:13px; letter-spacing:0; font-weight:500; }
.analytics-kpi p { font-size:11px; line-height:1.6; color:#6f7d92; margin:10px 0 16px; }
.kpi-foot { font-size:10px; color:#6f7d92; margin-top:auto; display:flex; align-items:center; gap:8px; }
.kpi-foot .icon { width:13px; height:13px; }
.kpi-icon { position:absolute; right:18px; top:18px; width:30px; height:30px; display:grid; place-items:center; background:#eef0fd; color:#5865d8; border-radius:9px; }
.kpi-icon .icon { width:16px; height:16px; }
.amber-icon { background:#fff4e3; color:#b58336; }
.analytics-kpi.featured { background:linear-gradient(125deg,#283c72,#5265d5); border-color:#4357b0; }
.featured .kpi-label,.featured p,.featured .kpi-foot { color:#d6dff9; }
.featured>strong { color:white; }
.featured .kpi-icon { background:#ffffff19; color:#fff; }
.metric-track { height:7px; display:block; border-radius:20px; background:#edf0f7; overflow:hidden; }
.metric-track>span { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#7b88ed,#5865e8); }
.analytics-kpi>.metric-track { margin-top:auto; }
.admin-analytics .command-stats .stat-card { border-radius:12px; box-shadow:none; padding:16px 19px; }
.admin-analytics .command-stats strong { font-size:28px; font-weight:650; }
.admin-analytics .command-stats .stat-top { font-size:12px; color:#64738d; }
.admin-analytics .command-stats small { font-size:11px; color:#718096; line-height:1.5; }
.admin-analytics .stat-link { color:#5869af; font-size:11px; }
.admin-analytics .panel { border-color:#e1e6f0; box-shadow:0 5px 20px #20345504; border-radius:16px; }
.admin-analytics .panel-kicker { font-size:9px; color:#70809a; letter-spacing:1.4px; }
.admin-analytics .section-heading h2 { color:#233551; font-size:19px; }
.admin-analytics .section-heading p { font-size:12px; color:#718096; line-height:1.6; }
.admin-analytics .command-main-grid { grid-template-columns:minmax(0,1.65fr) minmax(300px,1fr); }
.admin-analytics .revenue-panel { position:relative; }
.admin-analytics .revenue-headlines { padding:19px; border:1px solid #e8ecf5; background:#f9faff; border-radius:12px; }
.admin-analytics .revenue-headlines strong { font-size:27px; font-weight:650; flex-wrap:wrap; overflow-wrap:anywhere; }
.admin-analytics .revenue-headlines>div>span { font-size:11px; color:#5f708b; }
.admin-analytics .revenue-headlines strong small { font-size:10px; color:#677893; }
.admin-analytics .hotel-bar,.admin-analytics .hotel-key { background:#5865e8; }
.admin-analytics .dining-bar,.admin-analytics .dining-key { background:#25a99a; }
.admin-analytics .revenue-panel .revenue-chart { height:236px; margin-left:78px; margin-top:30px; background:repeating-linear-gradient(to top,transparent 0,transparent 99px,#e8edf5 99px,#e8edf5 100px); }
.admin-analytics .revenue-panel .bar-pair { height:210px; gap:6px; }
.admin-analytics .revenue-panel .chart-bar { width:clamp(8px,1.5vw,24px); min-height:0; border-radius:5px 5px 0 0; }
.admin-analytics .revenue-panel .chart-day>span { font-size:11px; color:#64738e; }
.revenue-axis { position:absolute; left:25px; bottom:123px; height:210px; display:flex; flex-direction:column; justify-content:space-between; font-size:10px; color:#78869c; max-width:75px; }
.admin-analytics .chart-caption { color:#6f7d93; font-size:10px; flex-wrap:wrap; }
.admin-analytics .chart-data summary { color:#5869aa; font-size:11px; }
.admin-analytics .attention-row strong { font-size:12px; color:#465873; }
.admin-analytics .attention-row small { font-size:11px; color:#77859a; }
.admin-analytics .attention-row b { font-weight:650; color:#374c6b; }
.admin-analytics .stock-control>small { font-size:11px; color:#77859a; }
.analytics-section-title { display:flex; justify-content:space-between; align-items:center; gap:15px; margin:30px 0 18px; }
.analytics-section-title h2 { margin:0 0 6px; color:#233551; }
.analytics-section-title p { margin:0; font-size:12px; color:#718096; }
.analytics-charts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin-bottom:22px; }
.analytics-charts .panel { padding:24px; margin-bottom:0; }
.analytics-charts .section-heading>.icon { color:#8390ad; width:20px; }
.mix-chart { width:166px; height:166px; margin:24px auto; border-radius:50%; display:grid; place-items:center; }
.mix-chart>div { width:126px; height:126px; background:#fff; border-radius:50%; display:flex; flex-direction:column; align-items:center; justify-content:center; }
.mix-chart strong { font-size:36px; letter-spacing:-1px; color:#243753; }
.mix-chart span { color:#73829b; font-size:10px; margin-top:4px; }
.mix-legend>div { display:flex; gap:12px; align-items:center; padding:10px 0; font-size:12px; border-bottom:1px solid #edf0f6; }
.mix-legend>div:last-child { border-bottom:0; }
.mix-legend span { display:flex; gap:8px; align-items:center; flex:1; color:#61718b; }
.mix-legend i { width:8px; height:8px; border-radius:3px; }
.mix-legend b { color:#304461; font-weight:650; }
.mix-legend small { width:36px; text-align:right; color:#7a879b; }
.capacity-summary { display:flex; align-items:center; gap:14px; padding:24px 0; border-bottom:1px solid #e9edf5; }
.capacity-summary>strong { font-size:42px; color:#253a58; letter-spacing:-1px; }
.capacity-summary>span { font-size:12px; color:#50637d; }
.capacity-summary small { display:block; font-size:11px; color:#7a879b; margin-top:7px; line-height:1.5; }
.hotel-capacity { margin-top:22px; }
.hotel-capacity>div:first-child { display:flex; justify-content:space-between; gap:14px; margin-bottom:10px; font-size:12px; color:#4e6080; }
.hotel-capacity a { overflow-wrap:anywhere; }
.hotel-capacity small { display:block; font-size:10px; color:#78869c; margin-top:8px; }
.plan-total { display:flex; align-items:baseline; gap:12px; margin:30px 0; }
.plan-total strong { font-size:42px; color:#253a58; }
.plan-total span { font-size:12px; color:#7a879b; }
.plan-stack { display:flex; height:16px; border-radius:6px; overflow:hidden; background:#edf0f6; margin-bottom:24px; }
.analytics-text-link { display:flex; align-items:center; gap:8px; font-size:12px; color:#5865c2; margin-top:24px; }
.analytics-text-link .icon { width:14px; }
.leaderboard-panel { padding:25px; }
.leader-row { display:flex; align-items:center; gap:18px; padding:18px 0; border-bottom:1px solid #edf0f6; }
.leader-row:last-child { border:0; }
.leader-rank { font-size:12px; color:#9aa5b7; width:24px; }
.leader-name { flex:1; min-width:140px; }
.leader-name strong { display:block; color:#405471; font-size:13px; font-weight:600; }
.leader-name small { display:block; color:#7d899d; font-size:11px; margin-top:5px; }
.leader-row>.metric-track { flex:1; max-width:350px; }
.leader-row>b { font-size:12px; color:#405471; text-align:right; min-width:135px; }
.leader-row>.icon { width:14px; color:#8191b2; }
.analytics-empty { font-size:12px; line-height:1.8; color:#75839a; padding:20px 0; }
.admin-analytics .directory-panel td { padding-top:18px; padding-bottom:18px; }
.admin-analytics .directory-business strong { font-size:13px; color:#405471; }
.admin-analytics .directory-open,.admin-analytics .panel-link { color:#5865c2; font-size:12px; }
.admin-analytics .service-chip { font-size:11px; }
.admin-analytics .quick-actions strong,.admin-analytics .activity-row strong { font-size:12px; color:#506482; }
.admin-analytics .quick-actions small,.admin-analytics .activity-row small { font-size:11px; color:#78869c; line-height:1.6; }
.admin-analytics .activity-row time { font-size:10px; color:#78869c; }
@media(max-width:1200px) { .analytics-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); } .admin-analytics .command-main-grid { grid-template-columns:1fr; } .analytics-charts { grid-template-columns:repeat(2,minmax(0,1fr)); } .plans-panel { grid-column:1/-1; } }
@media(max-width:640px) { .analytics-heading { flex-direction:column; align-items:flex-start; } .analytics-heading h1 { font-size:28px; } .analytics-heading .heading-actions { flex-direction:row; flex-wrap:wrap; align-items:center; } .analytics-status { align-items:flex-start; flex-direction:column; } .analytics-status>div { gap:12px; } .analytics-kpis { gap:10px; } .analytics-kpi { padding:17px 14px; } .analytics-kpi>strong { font-size:23px; } .kpi-label { font-size:11px; padding-right:0; padding-top:36px; } .kpi-icon { left:14px; right:auto; top:12px; width:26px; height:26px; } .analytics-charts { grid-template-columns:1fr; } .plans-panel { grid-column:auto; } .leader-row { gap:10px; flex-wrap:wrap; } .leader-name { min-width:100px; } .leader-row>.metric-track { display:none; } .leader-row>b { min-width:0; font-size:11px; } .leaderboard-panel { padding:20px; } .admin-analytics .revenue-panel .revenue-chart { margin-left:55px; } .revenue-axis { font-size:8px; max-width:55px; left:20px; } .admin-analytics .revenue-headlines { padding:14px; gap:12px; } .admin-analytics .revenue-headlines strong { font-size:21px; } }
.admin-analytics .revenue-plot { position:relative; }
.admin-analytics .revenue-axis { left:0; top:0; bottom:auto; }

/* Monthly reports. */
.report-filters { display:flex; align-items:flex-end; flex-wrap:wrap; gap:16px; padding:22px; }
.report-filters .field { flex:1; min-width:160px; margin:0; }
.report-filters .field:nth-of-type(3) { flex:2; }
.report-filters .button { min-height:44px; }
.report-period { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; margin:24px 0; color:#6c7b93; font-size:12px; }
.report-period strong { font-size:21px; color:#2c405e; }
.reports-page .panel { padding:25px; }
.reports-page .command-bottom-grid { margin-bottom:24px; }
.report-note { line-height:1.8; margin-top:20px; }
.report-trend { display:flex; gap:15px; height:225px; padding:20px 5px 30px; margin-top:24px; background:repeating-linear-gradient(to top,transparent 0,transparent 55px,#edf0f6 55px,#edf0f6 56px); }
.report-trend>div { flex:1; position:relative; display:flex; align-items:flex-end; justify-content:center; min-width:0; }
.report-trend-bar { width:min(32px,90%); border-radius:5px 5px 0 0; background:linear-gradient(#8291ee,#5865d8); }
.report-trend small { position:absolute; top:calc(100% + 12px); white-space:nowrap; font-size:10px; color:#6f7f99; }
.report-activity { display:flex; gap:15px; flex-wrap:wrap; margin:20px 0; }
.report-activity>div { padding:16px; background:#f7f9fd; border:1px solid #e7ecf5; border-radius:10px; flex:1; min-width:160px; }
.report-activity strong { display:block; font-size:24px; color:#3e5373; }
.report-activity span { font-size:12px; display:block; margin-top:8px; color:#72829b; }
@media(max-width:640px) { .reports-page .panel { padding:18px; } .report-filters { flex-direction:column; align-items:stretch; } .report-trend { gap:6px; } .report-trend small { writing-mode:vertical-rl; font-size:9px; } .report-trend { margin-bottom:35px; } .report-period { align-items:flex-start; flex-direction:column; } }
@media print { .reports-page .sidebar,.reports-page .topbar,.reports-page .workspace-footer,.reports-page .report-filters,.reports-page .analytics-heading>.button { display:none!important; } .reports-page .workspace-main { margin:0; width:100%; } .reports-page .content { padding:0; } .reports-page .panel { box-shadow:none; break-inside:avoid; } .reports-page .table-scroll { overflow:visible; } .reports-page table { min-width:0; width:100%; } .reports-page .analytics-kpis { grid-template-columns:repeat(2,1fr); } .reports-page .analytics-kpi.featured { background:white; } .reports-page .featured>strong,.reports-page .featured p,.reports-page .featured .kpi-label,.reports-page .featured .kpi-foot { color:#233047; } .reports-page { background:white; } }
.reports-page .table-sub { display:block; margin-top:5px; }
.report-daily-scroll { overflow-x:auto; }
.report-daily { display:flex; height:210px; min-width:620px; gap:8px; padding:20px 0; }
.report-daily>div { flex:1; min-width:10px; }
.report-daily-pair { height:175px; display:flex; align-items:flex-end; gap:3px; }
.report-daily-pair span { flex:1; background:#5865e8; border-radius:3px 3px 0 0; }
.report-daily-pair span+span { background:#25a99a; }
.report-daily small { display:block; text-align:center; margin-top:9px; color:#75849c; font-size:10px; }

/* Business administrator dashboard. */
.business-analytics .panel { padding:25px; }
.business-finance-grid { display:grid; grid-template-columns:minmax(0,1.8fr) minmax(280px,1fr); gap:22px; margin-bottom:24px; }
.business-finance-grid>.panel { margin-bottom:0; }
.business-trend { margin-bottom:18px; }
.combined-calculation { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:14px; background:#f4f6fd; border-radius:10px; padding:17px; margin-top:20px; font-size:11px; color:#72819b; }
.combined-calculation b { display:block; margin-top:5px; color:#344b73; font-size:15px; }
.service-revenue { padding:24px 0; border-bottom:1px solid #e9edf5; }
.service-revenue>div:first-child { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px; margin-bottom:12px; font-size:12px; color:#62738e; }
.service-revenue i { display:inline-block; width:8px; height:8px; border-radius:3px; margin-right:7px; }
.service-revenue strong { font-size:14px; color:#334967; }
.service-revenue small { display:block; margin-top:9px; color:#7c899d; font-size:11px; }
.business-separated,.business-operations { margin-bottom:24px; }
.finance-details { margin-top:25px; border-top:1px solid #e5eaf4; }
.finance-details>div { display:flex; justify-content:space-between; gap:15px; padding:13px 0; border-bottom:1px solid #edf0f6; font-size:12px; color:#6c7e98; }
.finance-details b { color:#364d6e; white-space:nowrap; }
.cumulative-chart { width:100%; height:auto; max-height:260px; margin-top:20px; }
.cumulative-total { font-size:22px; color:#465cc4; white-space:nowrap; }
.business-quick-links { display:flex; gap:12px; flex-wrap:wrap; margin-top:24px; }
.business-analytics .section-heading>.icon { width:20px; color:#6e7d9a; }
@media(max-width:1150px) { .business-finance-grid { grid-template-columns:1fr; } }
@media(max-width:640px) { .business-analytics .panel { padding:19px; } .business-analytics .command-bottom-grid { grid-template-columns:1fr; } .business-trend { gap:6px; margin-bottom:40px; } .business-trend small { writing-mode:vertical-rl; font-size:9px; } .combined-calculation { gap:10px; } .combined-calculation b { font-size:13px; } .cumulative-panel .section-heading { flex-wrap:wrap; } .finance-details>div { font-size:11px; } .business-quick-links .button { width:100%; justify-content:center; } }
.business-analytics .chart-scale { font-size:10px; color:#77859c; margin-top:12px; }
.business-analytics .combined-panel .section-heading { flex-wrap:wrap; }

/* Expressive, consistent analytics colors. */
.admin-analytics { --hotel-accent:#6657dc; --dining-accent:#07998b; --total-accent:#da7d23; background:linear-gradient(135deg,#f2f3fc,#f2f8f7 60%,#fcf7ef); }
.admin-analytics .analytics-heading h1 { color:#293759; }
.admin-analytics .analytics-status { background:linear-gradient(100deg,#edf0ff,#e5f5f0); border-color:#d9e6ea; }
.admin-analytics .analytics-kpi:nth-child(4n+2) { background:linear-gradient(135deg,#fff,#eeecfd); border-top:3px solid #8472e3; }
.admin-analytics .analytics-kpi:nth-child(4n+3) { background:linear-gradient(135deg,#fff,#e8f8f3); border-top:3px solid #25aa96; }
.admin-analytics .analytics-kpi:nth-child(4n+4) { background:linear-gradient(135deg,#fff,#fff3df); border-top:3px solid #e5a33e; }
.admin-analytics .analytics-kpi.featured { background:linear-gradient(125deg,#354777,#6657dc); }
.admin-analytics .command-stats .stat-card:nth-child(2) .stat-icon { background:#e1f5ee;color:#1c8c71; }
.admin-analytics .command-stats .stat-card:nth-child(3) .stat-icon { background:#fff0dc;color:#b37d27; }
.admin-analytics .command-stats .stat-card:nth-child(4) .stat-icon { background:#f6eafb;color:#9962b5; }
.admin-analytics .combined-panel,.admin-analytics .revenue-panel { border-top:3px solid #8472e3; }
.admin-analytics .business-separated>.panel:first-child { border-top:3px solid #8472e3; }
.admin-analytics .business-separated>.panel:last-child { border-top:3px solid #25aa96; }
.admin-analytics .mix-panel { border-top:3px solid #8472e3; }
.admin-analytics .occupancy-panel { border-top:3px solid #25aa96; }
.admin-analytics .plans-panel,.admin-analytics .attention-panel { border-top:3px solid #e5a33e; }
.admin-analytics .section-heading h2 { color:#2c3e61; }
.admin-analytics table tbody tr:nth-child(even) { background:#f7f9fe; }
.admin-analytics table tbody tr:hover { background:#eef4ff; }
.admin-analytics th { background:#edf1fa; color:#586b8c; }
.admin-analytics .report-filters { background:linear-gradient(110deg,#fff,#edf5fc); border-top:3px solid #60a2da; }
.admin-analytics .report-period strong { color:#5b51a9; }
.admin-analytics .report-trend-bar { background:linear-gradient(#9b86ed,#6657dc); }
.admin-analytics .report-activity>div:nth-child(3n+1) { background:#f0edfc; }
.admin-analytics .report-activity>div:nth-child(3n+2) { background:#eaf7f2; }
.admin-analytics .report-activity>div:nth-child(3n) { background:#fff4e3; }

/* Long-term planning scenarios. */
.admin-analytics .projection-panel { padding:28px; margin-top:28px; border:1px solid #d9dff0; border-top:4px solid #a274d6; background:linear-gradient(135deg,#fff 65%,#f7f1fc); }
.projection-badge { background:#eee5f9; color:#805ba8; }
.projection-baseline { padding:16px 18px; background:#f1f3fb; border-left:3px solid #8671c6; border-radius:8px; margin:20px 0; }
.projection-baseline strong { color:#4a5680; font-size:12px; }
.projection-baseline p { font-size:12px; line-height:1.7; color:#677591; margin:7px 0; }
.projection-baseline small { font-size:11px; color:#6b7893; line-height:1.6; }
.projection-controls { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.projection-controls label { display:block; line-height:1.6; font-size:12px; }
.projection-controls input { display:block; margin-top:8px; width:100%; box-sizing:border-box; }
.projection-presets { display:flex; align-items:center; flex-wrap:wrap; gap:9px; margin:8px 0 24px; font-size:12px; color:#73809a; }
.projection-presets button { background:#fff; border:1px solid #dce2f0; color:#5d6d8c; padding:9px 14px; border-radius:20px; cursor:pointer; font:inherit; }
.projection-presets button.selected { background:#6657dc; color:white; border-color:#6657dc; }
.projection-presets button:focus-visible { outline:3px solid #bcb2f5; outline-offset:2px; }
.projection-horizons { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:15px; }
.projection-horizons article { min-width:0; padding:20px; background:#efedfc; border:1px solid #dfdaf7; border-radius:12px; }
.projection-horizons article:nth-child(2) { background:#e9f7f2; border-color:#d1eadf; }
.projection-horizons article:nth-child(3) { background:#fff3e3; border-color:#f1dfbf; }
.projection-horizons article:nth-child(4) { background:#f7edf8; border-color:#ead6ee; }
.projection-horizons article>span { font-size:12px; font-weight:600; color:#556582; }
.projection-horizons article>strong { display:block; font-size:clamp(18px,1.7vw,27px); letter-spacing:-.6px; margin:14px 0 7px; color:#2b3f65; overflow-wrap:anywhere; }
.projection-horizons small { font-size:10px; color:#73819b; }
.projection-horizons article>div { margin-top:17px; padding-top:12px; border-top:1px solid #b8c4df55; }
.projection-horizons article>div span { display:flex; justify-content:space-between; flex-wrap:wrap; gap:5px; margin:7px 0; font-size:10px; color:#657692; }
.projection-horizons b { color:#455977; }
.projection-chart-heading { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px; margin-top:30px; }
.projection-chart-heading h3 { font-size:16px; color:#364c6f; }
.projection-legend { display:flex; flex-wrap:wrap; gap:15px; font-size:11px; color:#6e7f99; }
.projection-legend i { display:inline-block; width:8px; height:8px; border-radius:3px; margin-right:6px; }
.projection-hotel { background:#6657dc; }.projection-dining { background:#07998b; }.projection-combined { background:#da7d23; }
.projection-chart { display:block; width:100%; height:auto; max-height:330px; margin-top:14px; }
.projection-chart polyline { fill:none; stroke-width:3; stroke-linejoin:round; stroke-linecap:round; }
.projection-chart text { fill:#75849d; font-size:11px; }
.projection-method { font-size:11px; color:#6b7c95; line-height:1.9; margin-top:20px; }
.projection-invalid .projection-chart { opacity:.35; }
.projection-invalid [data-project-error] { color:#b25645; background:#fff2ef; padding:12px; border-radius:8px; }
@media(max-width:1100px) { .projection-controls,.projection-horizons { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:640px) { .admin-analytics .projection-panel { padding:19px; } .projection-controls { gap:10px; } .projection-horizons { gap:10px; } .projection-horizons article { padding:14px; } .projection-horizons article>strong { font-size:18px; } .projection-presets { gap:7px; } .projection-presets button { font-size:11px; padding:8px 11px; } }
@media print { .projection-controls,.projection-presets { display:none; } .projection-panel { break-inside:auto!important; } .projection-horizons { grid-template-columns:repeat(2,1fr); } .projection-panel * { print-color-adjust:exact; } }
.admin-analytics .hotel-bar,.admin-analytics .hotel-key { background:#6657dc; }
.admin-analytics .dining-bar,.admin-analytics .dining-key { background:#07998b; }
.admin-analytics .combined-panel { border-top-color:#da7d23; }
.admin-analytics .report-daily-pair span { background:#6657dc; }
.admin-analytics .report-daily-pair span+span { background:#07998b; }
.business-analytics .cumulative-chart polyline { stroke:#da7d23; }
.business-analytics .cumulative-chart polygon { fill:#da7d2312; }
.business-analytics .cumulative-chart circle { fill:#da7d23; }
.business-analytics .cumulative-total { color:#a96121; }
.operations-page .panel { padding:25px; }
.operations-actions { display:flex; align-items:center; flex-wrap:wrap; gap:9px; margin:10px 0; }
.operations-actions form { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.operations-actions .button { font-size:11px; padding:9px 12px; }
.operations-actions input { width:170px; padding:8px; font-size:11px; }
.superadmin-operations { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin:24px 0; }
.superadmin-operations>a { padding:20px; background:linear-gradient(135deg,#fff,#edf0fc); border:1px solid #dce2f1; border-radius:14px; }
.superadmin-operations>a:nth-child(2) { background:linear-gradient(135deg,#fff,#e6f6ef); }
.superadmin-operations>a:nth-child(3) { background:linear-gradient(135deg,#fff,#fff1df); }
.superadmin-operations>a:nth-child(4) { background:linear-gradient(135deg,#fff,#f5eaf9); }
.superadmin-operations strong { display:block; font-size:27px; color:#34486b; margin:10px 0; }
.superadmin-operations span { font-size:12px; color:#627493; }
.superadmin-operations small { display:block; font-size:11px; line-height:1.7; color:#74839c; }
@media(min-width:641px) { .sidebar { overflow-y:auto; } .sidebar-note { margin-top:28px; } .profile { margin-top:auto; } }
@media(max-width:1100px) { .superadmin-operations { grid-template-columns:repeat(2,minmax(0,1fr)); } }
.service-pie-wrap { display:flex; flex-direction:column; align-items:center; padding:6px 0 16px; border-bottom:1px solid #e8edf5; }
.service-pie { display:block; width:210px; max-width:100%; height:auto; }
.service-pie-slice { transition:opacity .15s; cursor:help; }
.service-pie-slice:hover,.service-pie-slice:focus-visible { opacity:.78; outline:none; stroke:#243b64; stroke-width:3; }
.service-pie-total { text-align:center; margin-top:5px; }
.service-pie-total>span { display:block; color:#71819c; font-size:11px; }
.service-pie-total strong { display:block; color:#304868; font-size:27px; letter-spacing:-.8px; margin:7px 0; overflow-wrap:anywhere; }
.service-pie-total small { color:#7f8ca2; font-size:10px; }
.service-revenue small b { color:#435b7f; }
@media(prefers-reduced-motion:reduce) { .service-pie-slice { transition:none; } }
.fiscal-page .panel { padding:25px; }
.fiscal-checklist { display:grid; gap:13px; margin:20px 0; }
.fiscal-checklist label { display:flex; align-items:flex-start; gap:10px; font-size:12px; color:#566a88; line-height:1.7; }
.fiscal-checklist input { width:16px; height:16px; flex-shrink:0; margin-top:3px; }
.fiscal-guide ol { padding-left:24px; }
.fiscal-guide li { font-size:13px; line-height:1.9; color:#61738f; margin:18px 0; }
.fiscal-guide li strong { color:#344d70; }
.fiscal-guide a,.fiscal-page td a { color:#4d60c5; text-decoration:underline; }
.fiscal-integration-state { background:#fff6e8; border-left:3px solid #e2a446; padding:18px; border-radius:8px; margin-top:24px; }
.fiscal-integration-state strong { color:#846533; font-size:13px; }
.fiscal-integration-state p { color:#786b54; font-size:12px; line-height:1.8; }
