:root{--navy:#152d4b;--blue:#24517e;--gold:#efb85d;--bg:#f3f6fa;--muted:#718096}*{box-sizing:border-box}body.rp-body{background:var(--bg);color:#1b2a3b;min-height:100vh}.rp-nav{background:var(--navy)}.rp-mark{width:42px;height:42px;border-radius:12px;background:var(--gold);color:var(--navy);display:grid;place-items:center;font-weight:900;font-size:1.4rem}.rp-sub{font-size:.55rem;letter-spacing:.12em;color:#c5d2e2}.rp-title{font-weight:800;letter-spacing:-.035em}.rp-card{background:#fff;border:1px solid #e4eaf1;border-radius:16px;padding:1.25rem;box-shadow:0 5px 22px #1a355008;height:100%}.rp-stat{font-size:2rem;font-weight:850}.rp-muted{color:var(--muted)}.rp-footer{border-top:1px solid #e1e7ef;padding-top:1rem;color:#7b8796;font-size:.8rem}.rp-login{min-height:100vh;display:grid;place-items:center;padding:1rem;background:linear-gradient(145deg,#10243d,#24517e)}.rp-login-card{width:min(100%,490px);background:white;border-radius:22px;padding:clamp(1.5rem,5vw,2.5rem);box-shadow:0 20px 70px #0003}.form-control{padding:.7rem}.btn-primary{background:var(--blue);border-color:var(--blue)}

/* RestoPro unified navigation and live dashboard */
.rp-nav-section{font-size:.62rem;letter-spacing:.12em;color:#91a7c0;padding:0 .35rem}
.rp-user-role{font-size:.68rem;color:#b9c9dc;text-transform:capitalize}
.rp-nav .nav-link{border-radius:8px;padding:.55rem .7rem;color:#dce6f2}
.rp-nav .nav-link:hover,.rp-nav .nav-link:focus{background:#ffffff18;color:#fff}
.rp-metric-card{height:100%;background:#fff;border:1px solid #e4eaf1;border-radius:16px;padding:1.15rem;box-shadow:0 5px 22px #1a355008}
.rp-metric-top{display:flex;justify-content:space-between;align-items:center;color:#718096;font-size:.85rem;font-weight:600}
.rp-metric-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#edf3fb;color:#24517e;font-weight:800}
.rp-metric-value{font-size:clamp(1.35rem,2vw,1.85rem);font-weight:850;letter-spacing:-.04em;margin:.65rem 0 .2rem;color:#172b45;overflow-wrap:anywhere}
.rp-metric-note{font-size:.75rem;color:#8793a2}
.rp-chart{display:flex;align-items:stretch;gap:clamp(8px,2vw,22px);height:230px;padding:12px 8px 0}
.rp-chart-col{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:8px}
.rp-chart-value{font-size:.65rem;color:#738196;white-space:nowrap;min-height:16px}
.rp-chart-track{height:165px;width:min(100%,42px);display:flex;align-items:flex-end;background:#f1f5f9;border-radius:8px 8px 3px 3px;overflow:hidden}
.rp-chart-bar{width:100%;min-height:3px;background:linear-gradient(180deg,#4b86d1,#24517e);border-radius:7px 7px 2px 2px}
.rp-chart-label{font-size:.72rem;color:#718096}
.rp-action-link{display:flex;align-items:center;gap:12px;padding:11px;border:1px solid #e8edf3;border-radius:12px;color:#1b2a3b;text-decoration:none;transition:.15s}
.rp-action-link:hover{border-color:#b8cbe3;background:#f8fbff;color:#173b78;transform:translateY(-1px)}
.rp-action-link small{display:block;color:#8491a1;font-size:.72rem;margin-top:2px}
.rp-action-icon{width:36px;height:36px;flex:0 0 36px;display:grid;place-items:center;border-radius:10px;background:#edf3fb;color:#24517e;font-size:1.2rem;font-weight:700}
.rp-dashboard-table thead th{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:#8390a0;font-weight:700;border-bottom-color:#e8edf3;white-space:nowrap}
.rp-dashboard-table td{font-size:.82rem}
.rp-small-pill{background:#edf3fb;color:#24517e;border-radius:30px;padding:5px 9px;font-size:.68rem;font-weight:700}
.rp-top-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #edf0f4;font-size:.84rem}
.rp-dashboard-foot{display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid #edf0f4;color:#718096;font-size:.85rem}
@media(max-width:575.98px){.rp-chart{height:195px;gap:6px}.rp-chart-track{height:135px}.rp-chart-value{font-size:.58rem}.rp-dashboard-head .btn{width:100%}}

/* Responsive app shell: desktop sidebar, mobile bottom navigation */
:root{--rp-sidebar-width:252px;--rp-topbar-height:72px;--rp-ink:#172b45;--rp-line:#e5eaf1}
body.rp-body{padding:0 0 env(safe-area-inset-bottom);}
.rp-topbar{height:var(--rp-topbar-height);background:var(--navy);color:#fff;z-index:1030;box-shadow:0 3px 16px #10243d18}
.rp-topbar-inner{height:100%;display:flex;align-items:center;gap:15px;padding:0 22px}
.rp-brand{display:flex;align-items:center;gap:11px;color:#fff;text-decoration:none;min-width:205px}
.rp-brand:hover{color:#fff}
.rp-brand-copy strong{display:block;font-size:1.12rem;line-height:1.1;letter-spacing:-.02em}
.rp-brand-copy small{display:block;font-size:.55rem;letter-spacing:.12em;color:#c5d2e2;margin-top:4px}
.rp-sidebar-toggle,.rp-mobile-more{border:1px solid #ffffff35;background:#ffffff12;color:#fff;border-radius:10px;width:38px;height:38px;align-items:center;justify-content:center;font-size:1.15rem}
.rp-topbar-spacer{flex:1}
.rp-top-restaurant{text-align:right;line-height:1.25;margin-right:5px}
.rp-top-restaurant strong{display:block;font-size:.82rem}
.rp-top-restaurant small{font-size:.68rem;color:#c5d2e2}
.rp-user-chip{display:flex;align-items:center;gap:8px;font-size:.8rem;color:#f3f6fa}
.rp-user-avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#efb85d;color:#152d4b;font-weight:800}
.rp-app-shell{display:flex;min-height:calc(100vh - var(--rp-topbar-height))}
.rp-sidebar{width:var(--rp-sidebar-width);flex:0 0 var(--rp-sidebar-width);background:#fff;border-right:1px solid var(--rp-line);padding:22px 14px 18px;display:flex;flex-direction:column;transition:width .2s ease,flex-basis .2s ease;position:relative;z-index:5}
.rp-sidebar-caption{font-size:.64rem;font-weight:800;letter-spacing:.13em;color:#98a4b4;padding:0 12px 18px}
.rp-sidebar-group{margin-bottom:20px}
.rp-sidebar-group-title{font-size:.62rem;letter-spacing:.12em;font-weight:800;color:#9aa5b4;padding:0 12px 8px}
.rp-side-link{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:11px;color:#536174;text-decoration:none;font-size:.86rem;font-weight:600;margin:2px 0;transition:.15s}
.rp-side-link:hover{background:#f3f6fb;color:#173b78}
.rp-side-link.active{background:#eaf1fb;color:#1d4d84;box-shadow:inset 3px 0 #24517e}
.rp-side-icon{width:24px;flex:0 0 24px;text-align:center;font-size:1.15rem;color:#6480a1}
.rp-side-link.active .rp-side-icon{color:#24517e}
.rp-sidebar-bottom{margin-top:auto;border-top:1px solid #edf0f4;padding:16px 10px 0;color:#8290a1;font-size:.72rem;display:flex;align-items:center;gap:8px}
.rp-status-dot{width:8px;height:8px;border-radius:50%;background:#22a06b;box-shadow:0 0 0 3px #e4f5ed}
.rp-main{min-width:0;flex:1;display:flex;flex-direction:column}
.rp-page-content{width:100%;max-width:1700px;margin:0 auto;padding:26px clamp(16px,2.4vw,36px);flex:1}
.rp-footer{margin:0 clamp(16px,2.4vw,36px);padding:14px 0 20px;border-top:1px solid #e1e7ef;color:#8491a1;font-size:.75rem}
.rp-sidebar-collapsed .rp-sidebar{width:78px;flex-basis:78px;padding-left:10px;padding-right:10px}
.rp-sidebar-collapsed .rp-sidebar-caption,.rp-sidebar-collapsed .rp-sidebar-group-title,.rp-sidebar-collapsed .rp-side-label,.rp-sidebar-collapsed .rp-sidebar-bottom span:last-child{display:none}
.rp-sidebar-collapsed .rp-side-link{justify-content:center;padding:12px 8px}
.rp-sidebar-collapsed .rp-side-icon{font-size:1.3rem}
.rp-mobile-bottom{display:none}
.rp-mobile-drawer{max-width:min(88vw,360px)}
.rp-drawer-link{display:flex;align-items:center;gap:13px;padding:13px 12px;border-radius:10px;color:#35465b;text-decoration:none;font-weight:600;margin-bottom:4px}
.rp-drawer-link span{width:24px;text-align:center;font-size:1.15rem;color:#52749d}
.rp-drawer-link.active,.rp-drawer-link:hover{background:#edf3fb;color:#173b78}
@media(max-width:991.98px){
  :root{--rp-topbar-height:62px}
  .rp-topbar-inner{padding:0 13px;gap:10px}
  .rp-brand{min-width:0;gap:8px}
  .rp-mark{width:36px;height:36px;font-size:1.2rem;border-radius:10px}
  .rp-brand-copy strong{font-size:1rem}
  .rp-brand-copy small{font-size:.48rem}
  .rp-top-restaurant,.rp-user-name,.rp-top-logout{display:none!important}
  .rp-user-chip{margin-left:auto}
  .rp-app-shell{display:block;min-height:calc(100vh - var(--rp-topbar-height))}
  .rp-sidebar{display:none!important}
  .rp-page-content{padding:19px 14px 92px}
  .rp-footer{display:none}
  .rp-mobile-bottom{position:fixed;z-index:1025;left:0;right:0;bottom:0;display:flex;justify-content:space-around;align-items:stretch;min-height:calc(62px + env(safe-area-inset-bottom));padding:6px 5px calc(6px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #e3e9f1;box-shadow:0 -5px 22px #18314e0d}
  .rp-mobile-nav-item{border:0;background:transparent;color:#7c8999;text-decoration:none;display:flex;flex:1;min-width:0;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:.65rem;font-weight:600;padding:2px}
  .rp-mobile-nav-icon{font-size:1.28rem;line-height:1.2}
  .rp-mobile-nav-item.active{color:#24517e}
  .rp-mobile-nav-item.active .rp-mobile-nav-icon{background:#eaf1fb;border-radius:9px;padding:3px 12px}
}
@media(min-width:992px){.rp-mobile-more{display:none!important}}
@media(max-width:575.98px){
  .rp-page-content{padding-left:12px;padding-right:12px}
  .rp-metric-card{padding:.9rem}
  .rp-metric-value{font-size:1.3rem}
  .rp-chart{overflow:hidden}
  .rp-dashboard-table{min-width:540px}
}


/* Compact report and order-history layouts: prevent global .rp-card height:100%
   from stretching filter/table panels and pushing report content below the fold. */
.rp-order-history-page .rp-card,
.rp-sales-report-page .rp-card,
.rp-sales-report-page .rp-card.h-100 {
    height: auto !important;
    min-height: 0 !important;
}
.rp-order-history-page .table-responsive,
.rp-sales-report-page .table-responsive {
    width: 100%;
    overflow-x: auto;
}
.rp-sales-report-page > .row,
.rp-order-history-page > .row {
    align-items: flex-start;
}
.rp-sales-report-page .rp-card h2,
.rp-order-history-page .rp-card h2 {
    margin-bottom: .85rem;
}
.rp-sales-report-page .rp-card table,
.rp-order-history-page .rp-card table {
    margin-bottom: 0;
}
@media (min-width: 992px) {
    .rp-sales-report-page .row.g-3.mb-3 > [class*="col-"] .rp-card {
        height: auto !important;
    }
}
