:root{
  --rv-blue:#71bde8;
  --rv-blue-2:#66b7e4;
  --rv-blue-dark:#2f9bd2;
  --rv-navy:#101926;
  --rv-text:#172333;
  --rv-muted:#66758a;
  --rv-soft:#f4f8fc;
  --rv-panel:#ffffff;
  --rv-line:#dce9f3;
  --rv-line-2:#ecf2f7;
  --rv-green:#18a56f;
  --rv-red:#dc3545;
  --rv-yellow:#d98200;
  --rv-shadow:0 8px 22px rgba(23,35,51,.06);
  --rv-radius:20px;
}
*{box-sizing:border-box}
html{height:100%;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{margin:0;min-height:100%;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Tahoma,Arial,sans-serif;color:var(--rv-text);background:var(--rv-soft)}
a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}img{max-width:100%}

/* KFH-style production shell */
.app-topbar{position:fixed;top:0;left:0;right:0;height:74px;background:var(--rv-blue);display:flex;align-items:center;gap:14px;padding:0 24px;z-index:100;border-bottom:1px solid rgba(255,255,255,.22);box-shadow:0 4px 12px rgba(45,95,125,.07)}
.top-brand{display:flex;align-items:center;min-width:145px}.top-brand img{height:42px;width:auto;display:block}.mode-pill{height:34px;display:inline-flex;align-items:center;border-radius:999px;padding:0 16px;background:rgba(255,255,255,.25);border:1px solid rgba(255,255,255,.32);color:#fff;font-weight:900;font-size:13px}.top-spacer{flex:1}.top-pills{display:flex;align-items:center;gap:9px}.pill{height:34px;display:inline-flex;align-items:center;justify-content:center;padding:0 14px;border-radius:999px;background:rgba(255,255,255,.76);border:1px solid rgba(255,255,255,.85);color:#17344b;font-weight:900;font-size:13px;white-space:nowrap}.pill.active{background:#fff;color:#17344b;box-shadow:0 6px 12px rgba(32,89,126,.12)}.user-pill{max-width:230px;overflow:hidden;text-overflow:ellipsis}.signout-pill{background:#fff;color:#101926}.mobile-menu-btn{display:none;border:0;background:rgba(255,255,255,.2);color:#fff;border-radius:14px;height:42px;width:44px;font-size:22px;font-weight:900}
.app-sidebar{position:fixed;left:0;top:74px;bottom:0;width:238px;background:#fff;border-right:1px solid var(--rv-line);z-index:80;padding:18px 16px;overflow:auto}.sidebar-nav{display:grid;gap:7px}.sidebar-nav a{display:flex;align-items:center;min-height:44px;border-radius:16px;padding:0 14px;color:#3e5065;font-weight:900;font-size:16px;letter-spacing:-.01em}.sidebar-nav a:hover{background:#f1f8fd;color:#193b58}.sidebar-nav a.active{background:#edf8ff;color:#0870aa;box-shadow:none}.app-main{margin-left:238px;padding:112px 30px 42px;min-height:100vh}.page-heading{display:flex;align-items:center;justify-content:space-between;margin:0 0 22px}.page-heading h1{margin:0;color:#141d2a;font-size:32px;line-height:1.05;letter-spacing:-.045em;font-weight:950}.page-actions{color:#63748a;font-weight:800;font-size:13px}.mobile-sidebar-backdrop{display:none}
html[dir="rtl"] .app-sidebar{left:0;right:auto}html[dir="rtl"] .app-main{margin-left:238px;margin-right:0}html[dir="rtl"] .page-heading,html[dir="rtl"] .card,html[dir="rtl"] .panel-card{text-align:right}

/* Login */
.rv-login-page{min-height:100vh;background:var(--rv-blue);display:grid;place-items:center;color:#172333}.login-wrap{width:min(100%,520px);padding:28px;display:grid;justify-items:center;gap:24px}.login-logo-row{height:110px;display:flex;align-items:end;justify-content:center}.login-logo-row img{height:74px;width:auto;display:block;filter:drop-shadow(0 6px 10px rgba(15,36,55,.05))}.login-box{width:100%;background:#fff;border-radius:22px;padding:34px 34px 30px;box-shadow:0 24px 60px rgba(17,52,75,.15)}.login-box h1{margin:0 0 8px;font-size:28px;line-height:1.05;color:#182332;letter-spacing:-.045em}.login-box p{margin:0 0 24px;color:#59708a;font-weight:700}.login-box form{display:grid;gap:16px}.login-box label{display:grid;gap:8px;color:#405269;font-size:13px;font-weight:900}.login-box input{height:52px;border:1px solid #ccdbe7;border-radius:14px;background:#fff;padding:0 14px;color:#101926;font-size:17px;font-weight:800;outline:none}.login-box input:focus{border-color:#67b8e8;box-shadow:0 0 0 4px rgba(113,189,232,.20)}.login-lang{display:flex;gap:8px}.login-lang a{height:34px;min-width:43px;padding:0 13px;border-radius:999px;background:rgba(255,255,255,.34);border:1px solid rgba(255,255,255,.65);display:flex;align-items:center;justify-content:center;color:#17344b;font-weight:900}.login-lang a.active{background:#fff}.rv-login-page .notice{width:100%;margin:0 0 8px}

/* Generic components */
.card,.panel-card,.print-console,.batch-banner,.customer-card{background:#fff;border:1px solid var(--rv-line);border-radius:var(--rv-radius);box-shadow:var(--rv-shadow);padding:22px;margin-bottom:18px}.panel-card h2,.card h2{margin:0 0 14px;color:#172333;font-size:20px;line-height:1.15;letter-spacing:-.035em}.muted{color:var(--rv-muted)!important}.notice{border-radius:16px;padding:14px 16px;margin:0 0 16px;font-weight:850;border:1px solid var(--rv-line);background:#fff}.notice.success{background:#ebfbf4;border-color:#bcebd4;color:#11734e}.notice.danger{background:#fff1f1;border-color:#f7c9c9;color:#ad1d2a}.notice.warn{background:#fff8ec;border-color:#ffdca6;color:#9a5b00}.btn{height:46px;border:0;border-radius:14px;padding:0 18px;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;font-weight:950;color:#172333;background:#f1f6fb;border:1px solid #dce9f3}.btn.primary{background:#101926;color:#fff;border-color:#101926}.btn.green{background:var(--rv-green);border-color:var(--rv-green);color:#fff}.btn.amber{background:#f4a42b;border-color:#f4a42b;color:#fff}.btn.danger{background:var(--rv-red);border-color:var(--rv-red);color:#fff}.btn.ghost{background:#fff;color:#172333;border-color:#dce9f3}.btn.small{height:36px;border-radius:12px;padding:0 12px;font-size:13px}.btn.full{width:100%}.btn:disabled{opacity:.48;cursor:not-allowed;background:#aeb8c4;border-color:#aeb8c4}
input,select,textarea{border:1px solid #d6e4ef;background:#fff;border-radius:14px;color:#172333;outline:none}input,select{height:48px;padding:0 14px;font-weight:850}textarea{min-height:96px;padding:13px 14px;font-weight:750}input:focus,select:focus,textarea:focus{border-color:#75bfe9;box-shadow:0 0 0 4px rgba(113,189,232,.14)}label{font-weight:900;color:#3e5065;font-size:13px}.form-grid{display:grid;gap:14px}.form-grid.two{grid-template-columns:1fr 1fr}.section-title{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}.section-title h2{margin:0;font-size:20px;color:#172333;letter-spacing:-.035em}.empty-state{padding:22px;border:1px dashed #cbddea;border-radius:16px;text-align:center;color:#72839a;font-weight:850;background:#f9fcff}

/* Dashboard - KFH clean */
.dashboard-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:20px}.kpi-card{background:#fff;border:1px solid var(--rv-line);border-radius:18px;padding:24px;box-shadow:var(--rv-shadow);min-height:132px;display:flex;align-items:center;gap:20px}.kpi-card.large{border-color:#bfe5fb;background:linear-gradient(180deg,#fff 0%,#fbfdff 100%)}.kpi-icon{width:68px;height:68px;border-radius:18px;background:var(--rv-blue);color:#fff;display:flex;align-items:center;justify-content:center;font-size:34px;font-weight:950;flex:0 0 auto}.kpi-icon.car{background:#72afe8}.kpi-icon.out{background:#18a56f}.kpi-card span{display:block;color:#64748b;text-transform:uppercase;letter-spacing:.055em;font-size:13px;font-weight:950;line-height:1.2}.kpi-card strong{display:inline-block;margin-top:10px;color:#141d2a;font-size:42px;line-height:.95;letter-spacing:-.055em;font-weight:950}.kpi-card em{margin-left:7px;color:#54667d;font-style:normal;font-weight:850}.dashboard-main-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.top-gate-name{display:flex;align-items:center;gap:16px;margin-top:8px}.top-gate-name>span,.gate-badge{width:58px;height:58px;border-radius:16px;background:#101926;color:#fff;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:950;flex:0 0 auto}.top-gate-name strong{display:block;font-size:28px;letter-spacing:-.05em}.top-gate-name small{display:block;margin-top:4px;color:#65758a;font-weight:850}.top-gate-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:22px}.top-gate-stats div,.report-mini{border:1px solid var(--rv-line);border-radius:16px;padding:14px;background:#fbfdff}.top-gate-stats b,.report-mini b{display:block;font-size:22px;letter-spacing:-.04em}.top-gate-stats small,.report-mini small{display:block;color:#6b7c91;font-weight:850;margin-top:4px}.quick-actions-card{display:none}.gate-performance-list{display:grid;gap:10px}.performance-row{display:grid;grid-template-columns:64px minmax(220px,1fr) 120px 120px 160px;gap:14px;align-items:center;border:1px solid var(--rv-line-2);border-radius:16px;padding:12px;background:#fff}.perf-title b{display:block;font-size:16px}.perf-title small{display:block;color:#718399;font-weight:800;margin-top:3px}.performance-row b{font-size:18px;letter-spacing:-.025em}.performance-row small{display:block;color:#738398;font-size:12px;font-weight:850;margin-top:4px}

/* Print Ticket */
.print-console{padding:24px}.print-console-head{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:20px}.print-console-head h2{margin:0;font-size:24px}.print-console-head p{display:none}.next-ticket-pill{height:64px;min-width:160px;border:1px solid #c7e8fa;background:#f1fbff;border-radius:18px;padding:9px 16px;display:flex;flex-direction:column;justify-content:center}.next-ticket-pill span{font-size:12px;color:#5c7188;font-weight:950;text-transform:uppercase;letter-spacing:.05em}.next-ticket-pill strong{font-size:28px;line-height:1;font-weight:950;color:#172333}.print-ticket-form{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:14px;margin:0 0 16px}.print-ticket-form label{display:grid;gap:8px}.print-summary-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.print-summary-row div{border:1px solid var(--rv-line);border-radius:16px;padding:13px 14px;background:#fbfdff}.print-summary-row b{display:block;font-size:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.print-summary-row span{display:block;color:#718399;font-weight:850;margin-top:5px;font-size:12px}.print-activate{display:flex;align-items:center;gap:14px}.print-primary-btn{height:54px;min-width:220px;font-size:17px}.print-activate small{color:#6c7e93;font-weight:850}.batch-banner{display:flex;justify-content:space-between;align-items:center}.batch-banner strong{display:block;font-size:18px}.batch-banner span{display:block;color:#65758a;font-weight:800;margin-top:4px}.ticket-print-sheet{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}.ticket-print-card{background:#fff;border:1px solid #111;border-radius:12px;padding:16px;text-align:center;box-shadow:var(--rv-shadow)}.ticket-print-brand img{height:38px;width:auto}.ticket-print-brand span{display:block;color:#56687d;font-size:12px;font-weight:900;margin-top:4px}.ticket-print-keytag{font-size:56px;line-height:1;font-weight:950;letter-spacing:-.08em;margin:14px 0;color:#111926}.ticket-print-qr svg{max-width:160px;height:auto}.ticket-print-copy strong{display:block;font-size:18px}.ticket-print-copy span{color:#66758a;font-weight:800}.ticket-print-meta{display:grid;gap:4px;margin-top:12px;font-size:12px;color:#1b2838;font-weight:850}.ticket-print-url{font-size:10px;color:#78889c;margin-top:8px;word-break:break-all}.print-one-btn{margin-top:12px}

/* Operations board / keys / cashier */
.board-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}.columns{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.column{background:#fff;border:1px solid var(--rv-line);border-radius:18px;box-shadow:var(--rv-shadow);overflow:hidden;min-height:420px}.column h2{margin:0;padding:18px;border-bottom:1px solid var(--rv-line);font-size:20px;display:flex;justify-content:space-between}.count{background:#edf8ff;color:#0870aa;border-radius:999px;min-width:32px;height:28px;display:inline-flex;align-items:center;justify-content:center;font-size:14px}.tickets{padding:14px;display:grid;gap:12px}.ticket{border:1px solid #dce9f3;border-radius:16px;padding:14px;background:#fff}.ticket .top{display:flex;justify-content:space-between;gap:10px}.keytag{font-size:30px;font-weight:950;color:#101926;letter-spacing:-.05em}.meta,.phone{color:#65758a;font-size:13px;font-weight:750}.customer{margin-top:12px;font-size:17px;font-weight:900}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.timer{height:30px;border-radius:999px;padding:0 10px;background:#f1f8fd;color:#2478a8;display:inline-flex;align-items:center;font-weight:900;font-size:12px}.timer.hot{background:#fff3d8;color:#9a5b00}.timer.late{background:#ffe8e8;color:#a91f2a}

/* Setup */
.setup-tabs{display:flex;gap:8px;margin-bottom:18px}.setup-tabs a{height:46px;display:inline-flex;align-items:center;padding:0 20px;border-radius:999px;background:#fff;border:1px solid var(--rv-line);font-weight:950;color:#3c4f65}.setup-tabs a small{display:none}.setup-tabs a.active{background:#101926;color:#fff;border-color:#101926}.setup-grid.two{display:grid;grid-template-columns:1fr 1fr;gap:18px}.setup-card,.clean-setup-section{background:#fff;border:1px solid var(--rv-line);border-radius:20px;box-shadow:var(--rv-shadow);padding:22px;margin-bottom:18px}.setup-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.setup-card-head h2{margin:0;font-size:22px}.setup-form{display:grid;gap:14px}.setup-form label{display:grid;gap:8px}.gate-clean-list,.staff-clean-list,.setup-list{display:grid;gap:12px}.gate-clean-card{display:grid;grid-template-columns:minmax(260px,1fr) minmax(200px,.8fr) minmax(250px,.9fr) auto;gap:16px;align-items:center;background:#fff;border:1px solid var(--rv-line);border-radius:18px;padding:15px;box-shadow:var(--rv-shadow)}.gate-main-block{display:flex;align-items:center;gap:14px;min-width:0}.gate-prefix-badge{width:58px;height:58px;border-radius:16px;background:#101926;color:#fff;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:950}.gate-main-block h3{margin:0;font-size:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gate-main-block p{margin:4px 0 0;color:#65758a;font-weight:850}.gate-agreement-summary strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gate-agreement-summary span{display:block;color:#6c7e93;font-size:12px;font-weight:850}.gate-keytag-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.gate-keytag-summary div{border:1px solid var(--rv-line);border-radius:14px;padding:10px;text-align:center;background:#fbfdff}.gate-keytag-summary strong{display:block;font-size:21px}.gate-keytag-summary small{display:block;color:#718399;font-size:11px;font-weight:850}.gate-actions-clean{display:flex;gap:8px}.staff-clean-card{display:grid;grid-template-columns:1fr auto minmax(260px,.9fr) auto;gap:12px;align-items:center;border:1px solid var(--rv-line);border-radius:18px;padding:14px;background:#fff}.staff-password-form{display:flex;gap:8px}.staff-password-form input{height:40px}.staff-status{border-radius:999px;padding:7px 10px;font-weight:950}.staff-status.active{background:#e9fbf4;color:#14845b}.staff-status.disabled{background:#ffe8e8;color:#a91f2a}.danger-zone-card{border-color:#ffcaca;background:#fffafa}

/* Customer request */
.customer-page{background:var(--rv-blue);min-height:100vh;display:grid;place-items:center;padding:20px}.customer-card{width:min(100%,460px);box-shadow:0 24px 60px rgba(17,52,75,.16)}.customer-card h1{font-size:30px;margin:0 0 8px}.customer-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}.customer-meta div{background:#f6fbff;border:1px solid var(--rv-line);border-radius:14px;padding:12px}.customer-meta span{display:block;color:#718399;font-size:12px;font-weight:900;text-transform:uppercase}.customer-meta strong{display:block;font-size:17px;margin-top:4px}.customer-form{display:grid;gap:14px}.customer-form label{display:grid;gap:8px}

/* Shift */
.shift-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:18px}.shift-card-head{display:flex;align-items:center;gap:14px;margin-bottom:18px}.shift-card-head h2{margin:0}.shift-card-head p{margin:4px 0 0;color:#65758a;font-weight:850}.shift-state{margin-left:auto;border-radius:999px;padding:7px 11px;background:#e9fbf4;color:#14845b;font-weight:950}.shift-card.closed .shift-state{background:#f1f4f8;color:#60758b}.shift-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.shift-metrics div{background:#fbfdff;border:1px solid var(--rv-line);border-radius:14px;padding:12px}.shift-metrics b{display:block;font-size:21px}.shift-metrics small{display:block;color:#718399;font-size:12px;font-weight:850}.shift-period{margin:14px 0;color:#66758a;font-weight:800}.shift-period strong{display:block;color:#172333;margin-top:4px}.shift-form{display:grid;gap:10px}.force-close{display:flex;gap:8px;align-items:center}.force-close input{height:auto}

@media(max-width:1180px){.dashboard-kpis{grid-template-columns:repeat(2,1fr)}.dashboard-main-grid,.setup-grid.two{grid-template-columns:1fr}.performance-row,.gate-clean-card,.staff-clean-card{grid-template-columns:1fr}.print-ticket-form,.print-summary-row{grid-template-columns:1fr 1fr}.columns{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.app-topbar{height:68px;padding:0 14px}.mobile-menu-btn{display:inline-flex;align-items:center;justify-content:center}.top-brand img{height:34px}.mode-pill,.user-pill{display:none}.top-pills{gap:6px}.pill{height:32px;padding:0 11px}.app-sidebar{top:68px;transform:translateX(-104%);transition:.18s ease;box-shadow:18px 0 40px rgba(16,25,38,.16)}body.sidebar-open .app-sidebar{transform:translateX(0)}body.sidebar-open .mobile-sidebar-backdrop{display:block;position:fixed;inset:68px 0 0;background:rgba(16,25,38,.26);z-index:70}.app-main{margin-left:0;width:100%;padding:96px 16px 32px}.page-heading h1{font-size:28px}.dashboard-kpis,.dashboard-main-grid,.columns,.print-ticket-form,.print-summary-row,.shift-grid{grid-template-columns:1fr}.top-gate-stats{grid-template-columns:1fr}.ticket-print-sheet{grid-template-columns:1fr}html[dir="rtl"] .app-main{margin-left:0}}

@media print{.app-topbar,.app-sidebar,.page-heading,.no-print,.mobile-menu-btn,.mobile-sidebar-backdrop{display:none!important}.app-main{margin:0!important;padding:0!important;background:#fff}.ticket-print-sheet{display:block}.ticket-print-card{page-break-after:always;box-shadow:none;border:0;margin:0 auto}}

/* Stage 8.1 — KFH-clean Royal UI reset */
:root{
  --kfh-sky:#73bee9;
  --kfh-sky-dark:#5db3e2;
  --kfh-navy:#152235;
  --kfh-text:#1b2736;
  --kfh-muted:#5f7188;
  --kfh-line:#d9e6f1;
  --kfh-bg:#f3f7fb;
  --kfh-green:#18a66a;
  --kfh-shadow:0 18px 46px rgba(17,39,64,.08);
}
body.kfh-clean{background:var(--kfh-bg)!important;color:var(--kfh-text)!important;font-family:Inter,system-ui,-apple-system,"Segoe UI",Arial,Tahoma,sans-serif!important;min-height:100vh;}
body.kfh-clean .rv-topbar,body.kfh-clean .rv-sidebar,body.kfh-clean .rv-sidebar-profile,body.kfh-clean .rv-nav{display:none!important;}
body.kfh-clean .kfh-topbar{position:fixed;top:0;left:0;right:0;height:78px;background:var(--kfh-sky);z-index:1000;display:flex;align-items:center;justify-content:space-between;padding:0 26px;box-shadow:0 2px 0 rgba(14,48,75,.08)}
body.kfh-clean .kfh-topbar-left{display:flex;align-items:center;gap:16px;min-width:0}
body.kfh-clean .kfh-brand{display:flex;align-items:center;height:78px;min-width:150px}
body.kfh-clean .kfh-brand img{width:154px;max-height:54px;object-fit:contain;display:block}
body.kfh-clean .kfh-env-pill,.kfh-pill{height:38px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;padding:0 17px;font-weight:900;font-size:14px;line-height:1;background:rgba(255,255,255,.52);color:#173a56;border:1px solid rgba(255,255,255,.66);white-space:nowrap;box-shadow:none}
body.kfh-clean .kfh-env-pill{font-size:13px;color:#fff;background:rgba(255,255,255,.25);border-color:rgba(255,255,255,.38)}
body.kfh-clean .kfh-topbar-actions{display:flex;align-items:center;gap:10px;min-width:0}
body.kfh-clean .kfh-pill.active{background:#fff;color:#12324a;border-color:#fff}
body.kfh-clean .kfh-pill.role-pill{background:#eef8ff;color:#152235;border-color:#d8edf9;max-width:240px;overflow:hidden;text-overflow:ellipsis}
body.kfh-clean .kfh-pill.signout{background:#fff;color:#0f1d2e;border-color:#fff;font-weight:1000}
body.kfh-clean .kfh-mobile-toggle{display:none;border:0;background:rgba(255,255,255,.34);border-radius:15px;width:46px;height:46px;color:#fff;font-size:22px;font-weight:1000;cursor:pointer}
body.kfh-clean .kfh-sidebar{position:fixed;top:78px;left:0;bottom:0;width:250px;background:#fff;border-right:1px solid var(--kfh-line);z-index:900;padding:24px 16px 24px;overflow:auto;box-shadow:none}
body.kfh-clean.lang-ar .kfh-sidebar{left:auto;right:0;border-right:0;border-left:1px solid var(--kfh-line)}
body.kfh-clean .kfh-nav{display:flex;flex-direction:column;gap:8px}
body.kfh-clean .kfh-nav-section{font-size:11px;line-height:1;text-transform:uppercase;letter-spacing:.08em;color:#8090a3;font-weight:1000;padding:18px 14px 4px}.kfh-nav-section:first-child{padding-top:0}
body.kfh-clean .kfh-nav a{height:48px;border-radius:16px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;color:#42566d;font-size:16px;font-weight:950;border:1px solid transparent;transition:.14s ease;text-decoration:none}
body.kfh-clean .kfh-nav a:hover{background:#f0f9ff;border-color:#e0f1fc;color:#1b4b6b}
body.kfh-clean .kfh-nav a.active{background:#e9f6ff;color:#1276ae;border-color:#e1f0fa;box-shadow:none}
body.kfh-clean .rv-main{margin-left:250px!important;margin-right:0!important;padding:116px 32px 44px!important;max-width:none!important;background:var(--kfh-bg);min-height:100vh}
body.kfh-clean.lang-ar .rv-main{margin-left:0!important;margin-right:250px!important;direction:rtl}
body.kfh-clean .rv-page-head{display:flex;align-items:flex-end;justify-content:space-between;margin:0 0 22px;padding:0;background:transparent;border:0;box-shadow:none;gap:20px}
body.kfh-clean .rv-page-head h1{margin:0;color:#1b2736;font-size:34px;letter-spacing:-.045em;line-height:1.05;font-weight:1000}
body.kfh-clean .breadcrumb{margin-top:7px;color:#5f7188;font-size:15px;font-weight:800}
body.kfh-clean .page-time{text-align:right;color:#7c8ba0;min-width:130px}.lang-ar.kfh-clean .page-time{text-align:left}
body.kfh-clean .page-time span{display:block;text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:1000;color:#8c9aab;margin-bottom:4px}
body.kfh-clean .page-time strong{font-size:18px;color:#53667d;font-weight:1000}
body.kfh-clean .mobile-sidebar-backdrop{display:none}
body.kfh-clean .notice{border-radius:18px;padding:14px 16px;margin:0 0 16px;font-weight:900;box-shadow:none}
body.kfh-clean .btn{border-radius:16px;font-weight:1000;box-shadow:none;min-height:44px;padding:0 18px}.kfh-clean .btn.primary{background:#0f172a;color:#fff}.kfh-clean .btn.green{background:#18a66a;color:#fff}.kfh-clean .btn.ghost{background:#fff;color:#152235;border:1px solid var(--kfh-line)}.kfh-clean .btn.small{min-height:38px;padding:0 14px;border-radius:13px;font-size:13px}
body.kfh-clean input,body.kfh-clean select,body.kfh-clean textarea{border:1px solid var(--kfh-line);background:#fff;border-radius:15px;min-height:48px;padding:0 14px;font-weight:850;color:#1b2736;box-shadow:none}body.kfh-clean input:focus,body.kfh-clean select:focus,body.kfh-clean textarea:focus{border-color:#73bee9;box-shadow:0 0 0 4px rgba(115,190,233,.18)}body.kfh-clean label{font-size:13px;color:#42566d;font-weight:950;margin:0 0 14px}

/* Login */
body.rv-login-page{background:var(--kfh-sky)!important;min-height:100vh;display:grid;place-items:center;color:#1b2736}.login-wrap{width:min(430px,calc(100vw - 32px));text-align:center}.login-logo-row{margin:0 0 34px;display:flex;justify-content:center}.login-logo-row img{width:220px;height:auto}.login-box{background:#fff;border:0!important;border-radius:24px!important;padding:32px!important;text-align:left;box-shadow:0 26px 72px rgba(17,39,64,.16)!important}.language-ar .login-box{text-align:right}.login-box h1{font-size:30px;margin:0 0 8px;color:#1b2736;letter-spacing:-.045em}.login-box p{margin:0 0 22px;color:#5f7188;font-weight:800}.login-box .btn.primary{height:54px;border-radius:14px;background:#0f172a}.login-lang{display:flex;justify-content:center;gap:10px;margin-top:18px}.login-lang a{height:36px;min-width:44px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,.48);border:1px solid rgba(255,255,255,.72);color:#173a56;font-weight:900}.login-lang a.active{background:#fff}

/* KFH dashboard */
body.kfh-clean .kfh-stats-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr 1fr;gap:22px;margin-bottom:22px}
body.kfh-clean .kfh-stat-card{background:#fff;border:1px solid var(--kfh-line);border-radius:20px;min-height:172px;padding:24px 26px;box-shadow:none;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}
body.kfh-clean .kfh-stat-card:before{content:"";position:absolute;inset:0 auto 0 0;width:6px;background:transparent}.lang-ar.kfh-clean .kfh-stat-card:before{left:auto;right:0}
body.kfh-clean .kfh-stat-card.hero{border-color:#b8e1f8}.kfh-stat-card.hero:before{background:#73bee9!important}
body.kfh-clean .kfh-stat-card span{display:block;text-transform:uppercase;letter-spacing:.055em;color:#64748b;font-size:13px;font-weight:1000;line-height:1.25;max-width:210px}.language-ar .kfh-stat-card span{text-transform:none;letter-spacing:0}
body.kfh-clean .kfh-stat-card strong{display:block;margin-top:14px;color:#162235;font-size:44px;font-weight:1000;line-height:.95;letter-spacing:-.055em}
body.kfh-clean .kfh-stat-card small{display:block;margin-top:11px;color:#5f7188;font-size:15px;font-weight:850}
body.kfh-clean .kfh-report-panel,body.kfh-clean .kfh-panel,body.kfh-clean .prod-card,body.kfh-clean .panel-card,body.kfh-clean .print-console{background:#fff;border:1px solid var(--kfh-line);border-radius:20px;padding:24px;box-shadow:none;margin-bottom:22px}
body.kfh-clean .kfh-panel-title,.section-title,.section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}
body.kfh-clean .kfh-panel-title h2,.section-title h2,.section-head h2{margin:0;color:#1b2736;font-size:22px;font-weight:1000;letter-spacing:-.035em}.kfh-panel-title p{margin:4px 0 0;color:#5f7188;font-size:14px;font-weight:800}.kfh-panel-actions{display:flex;gap:10px;align-items:center}
body.kfh-clean .kfh-period-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.kfh-period-grid div{border:1px solid var(--kfh-line);background:#fbfdff;border-radius:16px;padding:17px}.kfh-period-grid span{display:block;color:#64748b;text-transform:uppercase;font-size:12px;font-weight:1000;letter-spacing:.055em}.kfh-period-grid strong{display:block;color:#1b2736;font-size:24px;font-weight:1000;margin-top:8px;letter-spacing:-.035em}
body.kfh-clean .kfh-dashboard-columns{display:grid;grid-template-columns:1.15fr .85fr;gap:22px}.kfh-list{display:flex;flex-direction:column;gap:10px}.kfh-list-row{display:grid;grid-template-columns:54px minmax(220px,1fr) 120px 120px 150px;gap:12px;align-items:center;border:1px solid #e4edf5;border-radius:16px;padding:12px;background:#fff}.kfh-gate-pill,.kfh-gate-big{background:#e9f6ff;color:#1479b5;border-radius:15px;display:grid;place-items:center;font-weight:1000}.kfh-gate-pill{width:50px;height:50px;font-size:22px}.kfh-list-name strong{display:block;color:#1b2736;font-size:16px}.kfh-list-name small,.kfh-list-row small{display:block;color:#6b7d91;font-weight:800;font-size:12px;margin-top:3px}.kfh-list-row div:not(.kfh-list-name):not(.kfh-gate-pill) strong{display:block;color:#1b2736;font-size:18px;font-weight:1000}.kfh-top-gate-card{text-align:center;padding:8px 8px 0}.kfh-gate-big{width:86px;height:86px;margin:6px auto 18px;font-size:40px;border-radius:25px}.kfh-top-gate-card h3{margin:0;color:#1b2736;font-size:30px;letter-spacing:-.05em}.kfh-top-gate-card p{margin:8px 0 22px;color:#5f7188;font-weight:850}.kfh-top-metrics{display:grid;grid-template-columns:1fr 1fr;gap:12px}.kfh-top-metrics div{border:1px solid var(--kfh-line);border-radius:16px;padding:16px;background:#fbfdff}.kfh-top-metrics strong{display:block;font-size:22px;color:#1b2736}.kfh-top-metrics span{display:block;color:#6b7d91;font-weight:800;font-size:12px;margin-top:5px}

/* Setup/Gate list cleanup */
body.kfh-clean .production-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:22px}.kfh-clean .col-12{grid-column:span 12}.kfh-clean .col-8{grid-column:span 8}.kfh-clean .col-6{grid-column:span 6}.kfh-clean .col-4{grid-column:span 4}
body.kfh-clean .setup-tabs{display:flex;gap:10px;margin:0 0 22px}.kfh-clean .setup-tabs a{height:48px;padding:0 20px;border-radius:16px;border:1px solid var(--kfh-line);background:#fff;color:#42566d;font-weight:1000;display:inline-flex;align-items:center}.kfh-clean .setup-tabs a.active{background:#e9f6ff;color:#1479b5;border-color:#d4ecfb}
body.kfh-clean .form-grid,.kfh-form{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px}.kfh-clean .form-grid label,.kfh-form label{margin:0}.kfh-clean .span-12{grid-column:span 12}.kfh-clean .span-8{grid-column:span 8}.kfh-clean .span-6{grid-column:span 6}.kfh-clean .span-4{grid-column:span 4}.kfh-clean .span-3{grid-column:span 3}.kfh-clean .span-2{grid-column:span 2}.narrow-panel{max-width:560px}
body.kfh-clean .clean-gate-list{display:flex;flex-direction:column;gap:12px}.kfh-clean .clean-gate-row{display:grid;grid-template-columns:64px minmax(260px,1.3fr) minmax(180px,.9fr) 88px 100px 84px 170px;gap:12px;align-items:center;border:1px solid var(--kfh-line);border-radius:18px;background:#fff;padding:14px;min-width:0}.kfh-clean .gate-prefix{width:58px;height:58px;border-radius:16px;background:#e9f6ff;color:#1479b5;display:grid;place-items:center;font-size:28px;font-weight:1000}.kfh-clean .gate-title b,.kfh-clean .gate-agreement b{display:block;color:#1b2736;font-size:17px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kfh-clean .gate-title small,.kfh-clean .gate-agreement small,.kfh-clean .gate-stat small{display:block;color:#6b7d91;font-size:12px;font-weight:800;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kfh-clean .gate-stat{border:1px solid var(--kfh-line);border-radius:14px;padding:10px 8px;text-align:center;background:#fbfdff}.kfh-clean .gate-stat b{display:block;color:#1b2736;font-size:23px;line-height:1;font-weight:1000}.kfh-clean .gate-actions{display:flex;gap:8px;justify-content:flex-end}.kfh-clean .location-row,.kfh-clean .clean-user-row{border:1px solid var(--kfh-line);border-radius:18px;background:#fff;padding:14px;display:grid;gap:12px;align-items:center}.kfh-clean .location-row{grid-template-columns:minmax(180px,1fr) 170px 130px 100px 160px}.kfh-clean .clean-user-row{grid-template-columns:minmax(160px,1fr) 140px 150px 130px 180px 90px}.kfh-clean .access-grid{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px;margin-top:5px}.kfh-clean .access-grid label{display:flex;align-items:center;gap:8px;border:1px solid var(--kfh-line);border-radius:999px;padding:8px 11px;margin:0;background:#fbfdff}.kfh-clean .access-grid input{width:auto;min-height:0;margin:0}

/* Print ticket cleanup */
body.kfh-clean .print-console-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:18px}.print-console-head h2{margin:0;font-size:26px;letter-spacing:-.04em}.print-console-head p{margin:6px 0 0;color:#5f7188;font-weight:850}.next-ticket-pill{display:flex;align-items:center;gap:12px;background:#e9f6ff;border:1px solid #d4ecfb;border-radius:999px;padding:10px 16px}.next-ticket-pill span{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:#5f7188;font-weight:1000}.next-ticket-pill strong{font-size:25px;color:#1479b5;letter-spacing:-.04em}.kfh-clean .print-ticket-form{display:grid;grid-template-columns:minmax(260px,1.3fr) minmax(130px,.65fr) minmax(130px,.65fr) minmax(150px,.7fr);gap:14px}.kfh-clean .print-summary-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0}.print-summary-row div{border:1px solid var(--kfh-line);border-radius:16px;background:#fbfdff;padding:16px}.print-summary-row b{display:block;font-size:20px;color:#1b2736;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.print-summary-row span{display:block;color:#6b7d91;font-weight:800;margin-top:5px}.print-activate{display:flex;align-items:center;gap:14px}.print-activate small{color:#5f7188;font-weight:850}.print-primary-btn:disabled{background:#a7b4c2!important;cursor:not-allowed}
body.kfh-clean .ticket-print-card{background:#fff;border:1px solid #d9e6f1;border-radius:18px;box-shadow:none}.ticket-print-brand img{max-width:130px}

/* Shift cards */
body.kfh-clean .shift-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.shift-card{background:#fff;border:1px solid var(--kfh-line);border-radius:20px;padding:22px;box-shadow:none}.shift-card-head{display:flex;align-items:center;gap:14px;margin-bottom:16px}.shift-card-head h2{margin:0;font-size:21px;color:#1b2736}.shift-card-head p{margin:3px 0 0;color:#5f7188;font-weight:850}.shift-state{margin-left:auto;background:#e9f6ff;color:#1479b5;border-radius:999px;padding:8px 12px;font-weight:1000;font-size:12px}.lang-ar .shift-state{margin-left:0;margin-right:auto}.shift-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0}.shift-metrics div{border:1px solid var(--kfh-line);border-radius:14px;background:#fbfdff;padding:13px}.shift-metrics b{display:block;color:#1b2736;font-size:22px}.shift-metrics small{display:block;color:#6b7d91;font-weight:800;margin-top:4px}.shift-period{border-top:1px solid var(--kfh-line);padding-top:14px;margin-top:14px;color:#5f7188;font-weight:850}.shift-period strong{display:block;color:#1b2736;margin-top:3px}.shift-form{display:grid;gap:10px;margin-top:14px}.force-close{display:flex!important;align-items:center;gap:9px;margin:0!important}.force-close input{width:auto;min-height:0;margin:0}

/* Old page compatibility */
body.kfh-clean .dashboard-kpis, body.kfh-clean .dashboard-main-grid{display:none!important}.kfh-clean .card,.kfh-clean .panel-card{box-shadow:none!important;border-radius:20px!important}.kfh-clean .empty-state{border:1px dashed #cbddea;background:#fbfdff;border-radius:16px;padding:20px;text-align:center;color:#7a8b9e;font-weight:900}

@media(max-width:1180px){body.kfh-clean .kfh-stats-grid{grid-template-columns:repeat(2,1fr)}body.kfh-clean .kfh-dashboard-columns{grid-template-columns:1fr}.kfh-list-row{grid-template-columns:54px 1fr 100px 100px}.kfh-list-row>div:last-child{grid-column:2/-1}.kfh-clean .clean-gate-row{grid-template-columns:64px 1fr 160px}.kfh-clean .gate-stat,.kfh-clean .gate-actions{grid-column:2/-1}.kfh-clean .print-ticket-form,.kfh-clean .print-summary-row{grid-template-columns:1fr 1fr}.kfh-clean .shift-grid{grid-template-columns:1fr}}
@media(max-width:900px){body.kfh-clean .kfh-mobile-toggle{display:inline-flex;align-items:center;justify-content:center}body.kfh-clean .kfh-sidebar{transform:translateX(-104%);transition:.18s ease}.lang-ar.kfh-clean .kfh-sidebar{transform:translateX(104%)}body.kfh-clean.sidebar-open .kfh-sidebar{transform:translateX(0)}body.kfh-clean.sidebar-open .mobile-sidebar-backdrop{display:block;position:fixed;inset:78px 0 0;background:rgba(10,30,50,.28);z-index:850}.kfh-clean .rv-main,.kfh-clean.lang-ar .rv-main{margin:0!important;padding:104px 18px 30px!important}.kfh-clean .kfh-topbar{padding:0 14px}.kfh-clean .kfh-brand img{width:124px}.kfh-clean .kfh-env-pill,.kfh-clean .kfh-pill.role-pill,.kfh-clean .kfh-pill[href="change_password.php"]{display:none}.kfh-clean .kfh-topbar-actions{gap:6px}.kfh-clean .kfh-pill{height:36px;padding:0 12px}.kfh-clean .rv-page-head{align-items:flex-start;flex-direction:column}.kfh-clean .rv-page-head h1{font-size:30px}.kfh-clean .page-time{text-align:left}.kfh-clean.lang-ar .page-time{text-align:right}body.kfh-clean .kfh-stats-grid,.kfh-clean .kfh-period-grid{grid-template-columns:1fr}.kfh-clean .kfh-stat-card{min-height:138px}.kfh-clean .form-grid,.kfh-form{grid-template-columns:1fr}.kfh-clean .span-12,.kfh-clean .span-8,.kfh-clean .span-6,.kfh-clean .span-4,.kfh-clean .span-3,.kfh-clean .span-2{grid-column:span 1}.kfh-clean .location-row,.kfh-clean .clean-user-row{grid-template-columns:1fr}.kfh-clean .print-ticket-form,.kfh-clean .print-summary-row{grid-template-columns:1fr}.kfh-list-row{grid-template-columns:54px 1fr}.kfh-list-row>div:not(.kfh-gate-pill):not(.kfh-list-name){grid-column:2}.shift-metrics{grid-template-columns:1fr 1fr}}

/* Stage 8.1 — KFH Clean UI Reset */
:root{
  --kfh-blue:#75c2eb;
  --kfh-blue-dark:#4aaee2;
  --kfh-bg:#f4f8fc;
  --kfh-card:#ffffff;
  --kfh-text:#142335;
  --kfh-navy:#071a2f;
  --kfh-muted:#61738a;
  --kfh-line:#dce8f3;
  --kfh-soft:#eef8ff;
  --kfh-green:#16a66d;
  --kfh-shadow:0 10px 30px rgba(20,42,66,.055);
  --kfh-shadow-card:0 18px 44px rgba(20,42,66,.07);
}
html{background:var(--kfh-bg)}
body.rv-kfh{
  margin:0;
  min-height:100vh;
  background:var(--kfh-bg)!important;
  color:var(--kfh-text);
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
}
.rv-kfh a{text-decoration:none;color:inherit}
.rv-kfh button,.rv-kfh input,.rv-kfh select{font:inherit}
.kfh-topbar{
  position:fixed;top:0;left:0;right:0;height:76px;z-index:1000;
  display:flex;align-items:center;gap:18px;padding:0 26px;
  background:var(--kfh-blue);border:0;box-shadow:0 1px 0 rgba(255,255,255,.35) inset,0 2px 10px rgba(20,42,66,.05);
}
.kfh-brand{display:flex;align-items:center;gap:18px;min-width:238px;height:76px;}
.kfh-brand img{width:144px;height:auto;display:block;object-fit:contain;filter:none}
.kfh-env-pill{
  display:inline-flex;align-items:center;justify-content:center;height:34px;padding:0 16px;border-radius:999px;
  background:rgba(255,255,255,.32);border:1px solid rgba(255,255,255,.62);color:#fff;font-size:14px;font-weight:950;
}
.kfh-top-spacer{flex:1}
.kfh-top-actions{display:flex;align-items:center;gap:10px;white-space:nowrap}
.kfh-pill,.kfh-role-pill,.kfh-signout{
  height:36px;display:inline-flex;align-items:center;justify-content:center;padding:0 15px;border-radius:999px;
  background:rgba(255,255,255,.42);border:1px solid rgba(255,255,255,.65);color:#142335;font-size:13px;font-weight:950;line-height:1;
}
.kfh-pill.active,.kfh-role-pill,.kfh-signout{background:#fff;border-color:#fff;box-shadow:0 4px 12px rgba(20,42,66,.045)}
.kfh-signout{color:#071a2f;font-weight:1000}.kfh-menu-btn{display:none;border:0;background:rgba(255,255,255,.3);color:#fff;width:44px;height:44px;border-radius:14px;font-size:22px;font-weight:900}
.kfh-sidebar{
  position:fixed;left:0;top:76px;bottom:0;width:236px;background:#fff;z-index:900;
  border-right:1px solid var(--kfh-line);padding:22px 16px;overflow:auto;box-shadow:6px 0 22px rgba(20,42,66,.035);
}
.rv-kfh.language-ar .kfh-sidebar{left:auto;right:0;border-right:0;border-left:1px solid var(--kfh-line)}
.kfh-nav{display:flex;flex-direction:column;gap:8px}
.kfh-nav a{height:48px;display:flex;align-items:center;justify-content:space-between;border-radius:15px;padding:0 15px;color:#445870;font-weight:900;font-size:15px;border:1px solid transparent;transition:.14s ease;background:#fff}
.kfh-nav a:hover{background:#f4fbff;color:#0f2a44}
.kfh-nav a.active{background:#eaf7ff;color:#147db8;border-color:#d5eefb;box-shadow:none}
.kfh-main{margin-left:236px;padding:114px 30px 40px;max-width:none;width:auto}.rv-kfh.language-ar .kfh-main{margin-left:0;margin-right:236px}
.kfh-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin:0 0 22px}.kfh-page-head h1{margin:0;color:var(--kfh-text);font-size:34px;line-height:1.05;letter-spacing:-.045em;font-weight:1000}.kfh-page-head .page-time{text-align:right;min-width:110px;color:#6f8095}.rv-kfh.language-ar .kfh-page-head .page-time{text-align:left}.kfh-page-head .page-time span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:950}.kfh-page-head .page-time strong{display:block;color:#42546a;font-size:20px;margin-top:4px}.breadcrumb{display:none!important}
.rv-kfh .notice{border-radius:15px;padding:14px 16px;margin:0 0 18px;font-weight:900}.rv-kfh .notice.success{background:#ecfdf5;border:1px solid #bbf7d0;color:#166534}.rv-kfh .notice.danger{background:#fff1f2;border:1px solid #fecdd3;color:#9f1239}
.rv-kfh .btn{height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:14px;border:1px solid transparent;padding:0 18px;font-weight:1000;cursor:pointer;text-decoration:none;white-space:nowrap}.rv-kfh .btn.small{height:38px;padding:0 13px;font-size:13px}.rv-kfh .btn.dark,.rv-kfh .btn.primary{background:var(--kfh-navy);color:#fff;border-color:var(--kfh-navy)}.rv-kfh .btn.green{background:var(--kfh-green);color:#fff;border-color:var(--kfh-green)}.rv-kfh .btn.ghost{background:#fff;color:var(--kfh-navy);border-color:var(--kfh-line)}.rv-kfh .btn.red{background:#ef4444;color:#fff;border-color:#ef4444}.rv-kfh .btn:disabled{opacity:.45;cursor:not-allowed;filter:grayscale(1)}
.rv-kfh input,.rv-kfh select,.rv-kfh textarea{border:1px solid #d4e3f0;border-radius:14px;background:#fff;color:var(--kfh-text);font-weight:850;min-height:46px;padding:10px 14px;outline:none}.rv-kfh input:focus,.rv-kfh select:focus,.rv-kfh textarea:focus{border-color:var(--kfh-blue-dark);box-shadow:0 0 0 4px rgba(74,174,226,.14)}.rv-kfh label{font-size:13px;color:#40546d;font-weight:950}.rv-kfh label input,.rv-kfh label select,.rv-kfh label textarea{display:block;width:100%;margin-top:7px}
.rv-kfh .panel-card,.rv-kfh .prod-card,.rv-kfh .card,.rv-kfh .kfh-clean-card,.rv-kfh .kfh-report-card{background:#fff;border:1px solid var(--kfh-line);border-radius:22px;box-shadow:var(--kfh-shadow);padding:24px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.section-title h2{margin:0;font-size:22px;color:var(--kfh-text);letter-spacing:-.035em}.empty-state{border:1px dashed #cfe0ed;border-radius:17px;padding:22px;color:#73859a;font-weight:900;text-align:center;background:#fbfdff}
/* Dashboard */
.dashboard-kfh-page .kfh-page-head{margin-bottom:20px}.kfh-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-bottom:20px}.kfh-kpi-card{background:#fff;border:1px solid var(--kfh-line);border-radius:22px;box-shadow:var(--kfh-shadow);padding:26px;min-height:170px;display:flex;flex-direction:column;justify-content:center}.kfh-kpi-card.featured{border-color:#bfe5fa;box-shadow:var(--kfh-shadow-card)}.kfh-kpi-card span{display:block;max-width:260px;text-transform:uppercase;letter-spacing:.08em;color:#63758d;font-size:13px;font-weight:1000;line-height:1.25}.kfh-kpi-card strong{display:block;margin-top:16px;color:var(--kfh-text);font-size:48px;line-height:.95;letter-spacing:-.06em;font-weight:1000}.kfh-kpi-card small{display:block;margin-top:12px;color:#5f728a;font-size:15px;font-weight:800}.kfh-report-card{margin-bottom:20px}.kfh-report-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:18px}.kfh-report-head h2{margin:0;color:var(--kfh-text);font-size:25px;letter-spacing:-.04em}.kfh-report-head p{margin:4px 0 0;color:#5f728a;font-weight:800}.kfh-report-actions{display:flex;gap:10px;align-items:center}.kfh-report-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.kfh-report-metrics div{background:#fbfdff;border:1px solid var(--kfh-line);border-radius:16px;padding:15px 16px}.kfh-report-metrics span{display:block;text-transform:uppercase;letter-spacing:.08em;color:#63758d;font-size:12px;font-weight:1000}.kfh-report-metrics strong{display:block;margin-top:7px;color:var(--kfh-text);font-size:22px;line-height:1.05;letter-spacing:-.03em}.kfh-two-col{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.55fr);gap:20px}.kfh-performance-list{display:flex;flex-direction:column;gap:9px}.kfh-performance-row{display:grid;grid-template-columns:52px minmax(230px,1fr) repeat(3,minmax(100px,.4fr));gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid #edf3f8}.kfh-performance-row:last-child{border-bottom:0}.kfh-gate-pill,.top-gate-hero span{width:52px;height:52px;border-radius:14px;background:var(--kfh-blue);color:#fff;display:grid;place-items:center;font-size:22px;font-weight:1000}.perf-title b{display:block;color:var(--kfh-text);font-size:16px}.perf-title small,.kfh-performance-row small{display:block;color:#65778f;font-weight:800;margin-top:3px}.kfh-performance-row b{display:block;color:var(--kfh-text);font-size:18px}.top-gate-hero{display:flex;align-items:center;gap:16px;margin:6px 0 24px}.top-gate-hero strong{display:block;color:var(--kfh-text);font-size:28px;letter-spacing:-.05em}.top-gate-hero small{display:block;color:#65778f;font-weight:850;margin-top:5px}.top-gate-clean-metrics{display:grid;grid-template-columns:1fr 1fr;gap:12px}.top-gate-clean-metrics div{background:#fbfdff;border:1px solid var(--kfh-line);border-radius:16px;padding:16px}.top-gate-clean-metrics b{display:block;font-size:23px;color:var(--kfh-text)}.top-gate-clean-metrics small{display:block;color:#65778f;font-weight:850;margin-top:4px}
/* Setup / forms */
.tabs-row{display:flex;gap:8px;background:#fff;border:1px solid var(--kfh-line);border-radius:18px;width:max-content;max-width:100%;padding:6px;margin-bottom:20px;box-shadow:var(--kfh-shadow)}.tabs-row a{height:42px;display:inline-flex;align-items:center;border-radius:13px;padding:0 18px;font-weight:1000;color:#42576f}.tabs-row a.active{background:#eaf7ff;color:#147db8}.production-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}.col-12{grid-column:span 12}.col-8{grid-column:span 8}.col-6{grid-column:span 6}.col-4{grid-column:span 4}.form-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:14px;align-items:end}.span-12{grid-column:span 12}.span-8{grid-column:span 8}.span-6{grid-column:span 6}.span-4{grid-column:span 4}.span-3{grid-column:span 3}.span-2{grid-column:span 2}.section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.section-head h2{margin:0;font-size:22px;letter-spacing:-.035em}.section-head span{height:30px;border-radius:999px;background:#eaf7ff;color:#147db8;border:1px solid #d5eefb;display:inline-flex;align-items:center;padding:0 12px;font-weight:1000}.clean-gate-list,.users-clean-list{display:flex;flex-direction:column;gap:12px}.clean-gate-row{display:grid;grid-template-columns:64px minmax(220px,1fr) minmax(190px,.8fr) repeat(3,90px) auto;gap:12px;align-items:center;border:1px solid var(--kfh-line);border-radius:18px;background:#fff;padding:14px}.gate-prefix{width:54px;height:54px;border-radius:15px;background:var(--kfh-blue);color:#fff;display:grid;place-items:center;font-size:24px;font-weight:1000}.gate-title b{display:block;font-size:18px;color:var(--kfh-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gate-title small,.gate-agreement small{display:block;color:#64778f;font-weight:850;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gate-agreement b{display:block;color:var(--kfh-text)}.gate-stat{background:#fbfdff;border:1px solid var(--kfh-line);border-radius:14px;text-align:center;padding:10px 8px}.gate-stat b{display:block;font-size:22px;color:var(--kfh-text)}.gate-stat small{display:block;color:#64778f;font-size:11px;font-weight:800}.gate-actions{display:flex;gap:8px}.user-clean-card,.clean-user-row{border:1px solid var(--kfh-line);border-radius:18px;background:#fff;padding:14px}.clean-user-row{display:grid;grid-template-columns:minmax(160px,1fr) 140px 160px 130px 180px auto;gap:10px;align-items:center;margin-bottom:12px}.access-grid,.clean-access{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px}.access-grid label,.clean-access label{border:1px solid var(--kfh-line);border-radius:12px;padding:9px;display:flex;gap:8px;align-items:center}.access-grid input,.clean-access input{width:auto;min-height:0}.danger-zone{border-color:#fecaca!important;background:#fffafa!important}
/* Print Ticket */
.print-console,.print-console-card{background:#fff;border:1px solid var(--kfh-line);border-radius:22px;box-shadow:var(--kfh-shadow);padding:24px;max-width:1180px}.print-console-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:18px}.print-console-head h2{margin:0;color:var(--kfh-text);font-size:28px;letter-spacing:-.04em}.print-console-head p{margin:6px 0 0;color:#64778f;font-weight:850}.next-ticket-pill{background:#eaf7ff;border:1px solid #d5eefb;border-radius:18px;padding:12px 18px;text-align:center;min-width:140px}.next-ticket-pill span{display:block;text-transform:uppercase;letter-spacing:.08em;color:#64778f;font-size:11px;font-weight:1000}.next-ticket-pill strong{display:block;color:#147db8;font-size:30px;letter-spacing:-.04em}.print-ticket-form,.print-form-row{display:grid;grid-template-columns:minmax(280px,1.5fr) repeat(3,minmax(120px,.55fr));gap:14px;align-items:end}.print-summary-row,.print-stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0}.print-summary-row div,.print-stats-row div{background:#fbfdff;border:1px solid var(--kfh-line);border-radius:16px;padding:14px}.print-summary-row b,.print-stats-row b{display:block;color:var(--kfh-text);font-size:20px}.print-summary-row span,.print-stats-row span{display:block;color:#64778f;font-weight:850;font-size:12px;margin-top:4px}.print-activate{display:flex;align-items:center;gap:14px}.print-primary-btn{min-width:240px;height:54px}.ticket-slip-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}.ticket-slip-card,.slip-ticket{background:#fff;border:1px solid var(--kfh-line);border-radius:20px;padding:18px;text-align:center;box-shadow:var(--kfh-shadow)}
/* Login + Customer */
body.rv-login-page{background:var(--kfh-blue)!important;min-height:100vh;display:grid;place-items:center;color:var(--kfh-text)}.login-wrap{width:min(430px,calc(100vw - 32px));text-align:center}.login-logo-row{display:flex;justify-content:center;margin-bottom:34px}.login-logo-row img{width:220px;height:auto}.login-box{background:#fff;border:0;border-radius:22px;padding:30px;box-shadow:0 28px 72px rgba(16,44,70,.15);text-align:left}.language-ar .login-box{text-align:right}.login-box h1{font-size:30px;margin:0 0 6px;letter-spacing:-.045em}.login-box p{margin:0 0 22px;color:#5f7188;font-weight:800}.login-box label{display:block;font-size:13px;color:#40556d;font-weight:900;margin-bottom:14px}.login-box input{height:50px;border:1px solid #cfe0ed;border-radius:14px;padding:0 14px;margin-top:7px;background:#fff;width:100%}.login-lang{display:flex;justify-content:center;gap:10px;margin-top:18px}.login-lang a{display:inline-flex;align-items:center;justify-content:center;height:34px;min-width:42px;border-radius:999px;background:rgba(255,255,255,.42);border:1px solid rgba(255,255,255,.7);color:#16425f;font-weight:900}.login-lang a.active{background:#fff}.customer-page{background:var(--kfh-blue)!important}.customer-card{background:#fff!important;border:0!important;border-radius:24px!important;box-shadow:0 24px 60px rgba(16,44,70,.16)!important}.customer-key{color:var(--kfh-text)!important}.customer-price,.request-info{background:#f8fcff!important;border:1px solid var(--kfh-line)!important;color:var(--kfh-text)!important}
/* Operations boards */
.board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.column{background:#fff;border:1px solid var(--kfh-line);border-radius:22px;box-shadow:var(--kfh-shadow);overflow:hidden}.column h2{margin:0;padding:18px;border-bottom:1px solid var(--kfh-line);font-size:20px}.column .tickets{padding:14px}.count{float:right;background:#eaf7ff;border-radius:999px;padding:4px 10px;color:#147db8}.ticket{border:1px solid var(--kfh-line);border-radius:16px;padding:14px;margin-bottom:10px;background:#fff}.ticket .keytag{font-size:32px;font-weight:1000;color:var(--kfh-text);letter-spacing:-.04em}.ticket .meta,.ticket .phone{color:#64778f;font-weight:800}.ticket .actions{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}
@media(max-width:1180px){.kfh-kpi-grid{grid-template-columns:repeat(2,1fr)}.kfh-two-col{grid-template-columns:1fr}.kfh-performance-row{grid-template-columns:52px 1fr}.kfh-performance-row>div:not(.kfh-gate-pill):not(.perf-title){grid-column:2}.kfh-report-metrics{grid-template-columns:repeat(2,1fr)}.clean-gate-row{grid-template-columns:64px 1fr}.clean-gate-row>div:not(.gate-prefix):not(.gate-title){grid-column:2}.print-ticket-form,.print-form-row{grid-template-columns:1fr 1fr}.board{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.kfh-topbar{padding:0 14px}.kfh-menu-btn{display:inline-flex;align-items:center;justify-content:center}.kfh-brand{min-width:0}.kfh-brand img{width:116px}.kfh-env-pill,.kfh-role-pill{display:none}.kfh-top-actions{gap:6px}.kfh-pill,.kfh-signout{height:34px;padding:0 11px}.kfh-sidebar{transform:translateX(-105%);transition:.2s ease}.rv-kfh.language-ar .kfh-sidebar{transform:translateX(105%)}.rv-kfh.sidebar-open .kfh-sidebar{transform:translateX(0)}.rv-kfh.sidebar-open .mobile-sidebar-backdrop{display:block}.mobile-sidebar-backdrop{display:none;position:fixed;inset:76px 0 0;background:rgba(16,44,70,.32);z-index:850}.kfh-main,.rv-kfh.language-ar .kfh-main{margin:0;padding:104px 18px 30px}.kfh-kpi-grid,.kfh-report-metrics,.print-summary-row,.print-stats-row,.board{grid-template-columns:1fr}.kfh-report-head,.print-console-head,.print-activate{display:grid}.production-grid,.form-grid{grid-template-columns:1fr}.col-12,.col-8,.col-6,.col-4,.span-12,.span-8,.span-6,.span-4,.span-3,.span-2{grid-column:span 1}.clean-user-row{grid-template-columns:1fr}.print-ticket-form,.print-form-row{grid-template-columns:1fr}.tabs-row{width:100%;overflow:auto}.tabs-row a{white-space:nowrap}.kfh-page-head h1{font-size:30px}.kfh-kpi-card strong{font-size:42px}}
@media print{.kfh-topbar,.kfh-sidebar,.kfh-page-head,.no-print,.print-console,.print-console-card,.print-primary-btn,.print-activate,.batch-banner{display:none!important}.kfh-main{margin:0!important;padding:0!important}.ticket-slip-card,.slip-ticket{box-shadow:none!important;border:0!important;border-radius:0!important;margin:0 auto!important;page-break-after:always}}

/* Stage 8.2 production fixes */
body.rv-kfh .kfh-topbar{height:74px;padding:0 28px;background:#74bee9;overflow:hidden;box-shadow:0 2px 0 rgba(255,255,255,.34) inset,0 2px 10px rgba(20,42,66,.06)}
body.rv-kfh .kfh-brand{height:74px;min-width:210px;display:flex;align-items:center;gap:14px;overflow:hidden}
body.rv-kfh .kfh-brand img{height:42px!important;width:auto!important;max-height:42px!important;object-fit:contain;display:block;flex:0 0 auto}
body.rv-kfh .kfh-env-pill{height:34px;padding:0 16px;background:rgba(255,255,255,.35);border-color:rgba(255,255,255,.6);font-size:13px;color:#fff}
body.rv-kfh .kfh-sidebar{top:74px;width:236px;padding:22px 16px 28px;box-shadow:none;background:#fff}
body.rv-kfh .kfh-main{margin-left:236px;padding-top:112px}.rv-kfh.language-ar .kfh-main{margin-left:0;margin-right:236px}
body.rv-kfh .kfh-nav a{height:48px;border-radius:15px;font-size:15px;line-height:1.1}
body.rv-kfh .kfh-nav a.active{background:#eaf7ff;color:#147db8;border-color:#d6eefb}

/* Reports */
.report-filter-card{background:#fff;border:1px solid var(--kfh-line);border-radius:22px;padding:22px;box-shadow:var(--kfh-shadow);margin-bottom:18px}.report-filter-grid{display:grid;grid-template-columns:repeat(5,minmax(140px,1fr));gap:14px;align-items:end}.report-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.report-table-wrap{overflow:auto;background:#fff;border:1px solid var(--kfh-line);border-radius:22px;box-shadow:var(--kfh-shadow)}.report-table{width:100%;border-collapse:collapse;min-width:940px}.report-table th,.report-table td{padding:14px 16px;border-bottom:1px solid #edf3f8;text-align:left;vertical-align:middle}.language-ar .report-table th,.language-ar .report-table td{text-align:right}.report-table th{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:#64748b;font-weight:1000;background:#fbfdff}.report-table td{font-weight:850;color:#1b2736}.report-table tfoot td{font-weight:1000;background:#f8fcff}.print-report-page .kfh-sidebar,.print-report-page .kfh-topbar,.print-report-page .kfh-page-head,.print-report-page .no-print{display:none!important}.print-report-page .kfh-main{margin:0!important;padding:24px!important}

/* Operations color + search */
.ops-toolbar{background:#fff;border:1px solid var(--kfh-line);border-radius:22px;padding:18px;box-shadow:var(--kfh-shadow);margin-bottom:18px;display:flex;align-items:center;justify-content:space-between;gap:16px}.ops-toolbar strong{font-size:20px;color:var(--kfh-text)}.ops-toolbar span{display:block;color:#65778f;font-weight:850;margin-top:3px}.ops-search{display:grid;grid-template-columns:minmax(260px,420px) auto;gap:10px;align-items:end;margin-bottom:18px}.ops-search input{height:52px;font-size:18px;text-transform:uppercase}.ops-search .btn{height:52px}.board{gap:18px}.column{border-radius:22px;overflow:hidden;border:1px solid var(--kfh-line);background:#fff}.column h2{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;margin:0;border-bottom:1px solid var(--kfh-line);font-size:20px}.column h2 .count{float:none;background:#fff;color:#142335;border:1px solid rgba(255,255,255,.45);box-shadow:0 4px 12px rgba(16,44,70,.08)}.column.requested h2{background:#fff7ed;color:#9a4a00;border-color:#fed7aa}.column.transit h2{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}.column.ready h2{background:#ecfdf5;color:#047857;border-color:#bbf7d0}.column.parked h2{background:#f8fafc;color:#334155;border-color:#dbe7f2}.column.paid h2{background:#eef2ff;color:#4338ca;border-color:#c7d2fe}.ticket{border-radius:18px;border:1px solid #dbe7f2;background:#fff;box-shadow:0 8px 18px rgba(20,42,66,.045)}.ticket.status-REQUESTED{border-left:6px solid #f59e0b}.ticket.status-IN_TRANSIT{border-left:6px solid #3b82f6}.ticket.status-READY{border-left:6px solid #10b981}.ticket.status-PARKED{border-left:6px solid #64748b}.ticket.status-PAID{border-left:6px solid #6366f1}.language-ar .ticket.status-REQUESTED,.language-ar .ticket.status-IN_TRANSIT,.language-ar .ticket.status-READY,.language-ar .ticket.status-PARKED,.language-ar .ticket.status-PAID{border-left:1px solid #dbe7f2;border-right-width:6px;border-right-style:solid}.language-ar .ticket.status-REQUESTED{border-right-color:#f59e0b}.language-ar .ticket.status-IN_TRANSIT{border-right-color:#3b82f6}.language-ar .ticket.status-READY{border-right-color:#10b981}.language-ar .ticket.status-PARKED{border-right-color:#64748b}.language-ar .ticket.status-PAID{border-right-color:#6366f1}.ticket.hidden-by-search{display:none!important}.board-empty-search{grid-column:1/-1;background:#fff;border:1px dashed #cfe0ed;border-radius:18px;padding:20px;text-align:center;color:#64778f;font-weight:950}

/* Cashier payment form */
.pay-box{margin-top:12px;padding:12px;border:1px solid #dbe7f2;border-radius:16px;background:#fbfdff}.pay-box form{display:grid;gap:10px}.pay-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.pay-box label{display:block;font-size:12px;color:#40546d;font-weight:950}.pay-box select,.pay-box input{width:100%;height:42px;min-height:42px;border-radius:12px;padding:0 12px}.pay-extra{display:none}.pay-box[data-method="VIP"] .pay-extra-vip{display:block}.pay-box[data-method="BANK"] .pay-extra-bank{display:block}.pay-box .btn{width:100%;height:46px}.payment-badge{display:inline-flex;align-items:center;height:26px;border-radius:999px;padding:0 10px;background:#eef8ff;color:#147db8;font-size:12px;font-weight:1000;margin-top:8px}

/* Banks */
.bank-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.bank-card{background:#fff;border:1px solid var(--kfh-line);border-radius:18px;padding:16px;box-shadow:var(--kfh-shadow);display:flex;align-items:center;justify-content:space-between;gap:12px}.bank-card strong{font-size:18px}.bank-card span{display:block;color:#65778f;font-weight:850;font-size:12px;margin-top:4px}.switch-form{display:flex;align-items:center;gap:8px}.switch-pill{height:34px;border-radius:999px;padding:0 13px;font-weight:1000;border:1px solid var(--kfh-line);background:#fff;color:#334155}.switch-pill.on{background:#ecfdf5;border-color:#bbf7d0;color:#047857}.switch-pill.off{background:#fff1f2;border-color:#fecdd3;color:#be123c}

@media(max-width:1100px){.report-filter-grid{grid-template-columns:repeat(2,1fr)}.ops-toolbar{display:grid}.ops-search{grid-template-columns:1fr}.pay-row{grid-template-columns:1fr}}
@media(max-width:900px){body.rv-kfh .kfh-brand{min-width:0}body.rv-kfh .kfh-brand img{height:36px!important}.report-filter-grid{grid-template-columns:1fr}}
@media print{.report-filter-card,.report-actions,.no-print{display:none!important}.report-table-wrap{border:0;box-shadow:none}.report-table th,.report-table td{padding:8px 10px}}

/* Stage 8.2 production cleanup: KFH clean spacing, Royal color, operations colors */
.rv-kfh .kfh-topbar{height:76px;background:#72BCE4!important;padding:0 28px;overflow:hidden}
.rv-kfh .kfh-brand{height:76px;min-width:150px;gap:12px;overflow:hidden;align-items:center}
.rv-kfh .kfh-brand img{width:auto!important;height:54px!important;max-height:54px!important;object-fit:contain;display:block}
.rv-kfh .kfh-env-pill{height:34px;background:rgba(255,255,255,.48);border-color:rgba(255,255,255,.75);font-size:13px}
.rv-kfh .kfh-sidebar{top:76px;width:236px;padding:22px 16px;background:#fff;border-right:1px solid #dcebf5}
.rv-kfh.language-ar .kfh-sidebar{border-left:1px solid #dcebf5;border-right:0}
.rv-kfh .kfh-main{margin-left:236px;padding:106px 28px 42px;background:#f4f9fd;min-height:100vh}.rv-kfh.language-ar .kfh-main{margin-left:0;margin-right:236px}
.rv-kfh .kfh-nav a{font-size:15px;height:46px;border-radius:15px;color:#42576f;background:#fff;justify-content:flex-start;gap:8px}
.rv-kfh .kfh-nav a.active{background:#e9f6ff;color:#147db8;border-color:#d7effb}.rv-kfh .kfh-page-head{margin-bottom:18px}.rv-kfh .kfh-page-head h1{font-size:34px;letter-spacing:-.05em}.rv-kfh .page-time strong{font-size:22px}.rv-kfh .prod-card,.rv-kfh .card{border:1px solid #dcebf5;border-radius:20px;box-shadow:none;background:#fff}.rv-kfh input,.rv-kfh select{border-color:#cfe1ee!important;background:#fff!important;border-radius:13px!important}.rv-kfh .btn{border-radius:13px}.rv-kfh .btn.amber{background:#f59e0b!important;border-color:#f59e0b!important;color:#fff!important}
/* dashboard calmer */
.rv-kfh .kfh-kpi-grid{gap:16px}.rv-kfh .kfh-kpi-card{border-radius:20px;box-shadow:none;border:1px solid #dcebf5;background:#fff}.rv-kfh .kfh-kpi-icon{background:#72BCE4}.rv-kfh .kfh-kpi-card strong{letter-spacing:-.05em}
/* operations board explicit colors */
.board{gap:16px}.column{border:1px solid #dcebf5;border-radius:20px;box-shadow:none;background:#fff;overflow:hidden}.column h2{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;background:#fff;border-bottom:1px solid #e3eff7;color:#102842}.column .count{float:none;height:32px;min-width:32px;display:inline-flex;align-items:center;justify-content:center;color:#fff;background:#102842;border-radius:999px}.column.requested{border-top:6px solid #f59e0b}.column.requested .count{background:#f59e0b}.column.transit{border-top:6px solid #3b82f6}.column.transit .count{background:#3b82f6}.column.ready{border-top:6px solid #16a34a}.column.ready .count{background:#16a34a}.column.parked{border-top:6px solid #102842}.column.parked .count{background:#102842}.column.paid{border-top:6px solid #10b981}.column.paid .count{background:#10b981}.ticket{border:1px solid #dcebf5;border-radius:16px;background:#fff}.ticket.status-REQUESTED{border-left:6px solid #f59e0b}.ticket.status-IN_TRANSIT{border-left:6px solid #3b82f6}.ticket.status-READY{border-left:6px solid #16a34a}.ticket.status-PARKED{border-left:6px solid #102842}.ticket.status-PAID{border-left:6px solid #10b981}.ticket .keytag{font-size:34px;color:#102842}.search-hidden{display:none!important}.ops-toolbar{background:#fff;border:1px solid #dcebf5;border-radius:20px;padding:16px 18px;margin-bottom:16px;display:flex;align-items:center;justify-content:space-between;gap:14px}.ops-toolbar .board-search{display:flex;align-items:center;gap:10px;min-width:340px}.ops-toolbar .board-search input{height:44px;min-width:260px;font-weight:900;text-transform:uppercase}.ops-toolbar .board-search-result{min-width:210px}.ops-legend{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.ops-legend span{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:900;color:#61748b}.ops-legend i{display:inline-block;width:10px;height:10px;border-radius:999px}.ops-legend .req i{background:#f59e0b}.ops-legend .sent i{background:#3b82f6}.ops-legend .ready i{background:#16a34a}.ops-legend .parked i{background:#102842}
/* payment modal */
.rv-modal-backdrop{position:fixed;inset:0;background:rgba(15,35,55,.42);display:none;align-items:center;justify-content:center;z-index:5000;padding:20px}.rv-modal-backdrop.open{display:flex}.rv-payment-modal{width:min(520px,100%);background:#fff;border-radius:24px;border:1px solid #dcebf5;box-shadow:0 30px 80px rgba(10,31,52,.22);padding:24px}.rv-modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.rv-modal-head h2{margin:0;font-size:28px}.rv-modal-x{width:38px;height:38px;border-radius:999px;border:1px solid #dcebf5;background:#f4f9fd;font-size:24px;cursor:pointer}.pay-label{display:block;color:#435870;font-weight:950;margin-bottom:14px}.pay-label input,.pay-label select{margin-top:7px;width:100%;height:50px}.rv-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.pay-extra{background:#f8fcff;border:1px solid #dcebf5;border-radius:16px;padding:14px;margin:12px 0}
/* reports filters */
.report-filter-grid{display:grid;grid-template-columns:repeat(5,minmax(140px,1fr));gap:12px;align-items:end}.report-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.report-table{width:100%;border-collapse:separate;border-spacing:0 10px}.report-table th{text-align:left;color:#667890;font-size:12px;text-transform:uppercase;letter-spacing:.07em;padding:0 12px}.language-ar .report-table th{text-align:right}.report-table td{background:#fff;border-top:1px solid #dcebf5;border-bottom:1px solid #dcebf5;padding:14px 12px;font-weight:850}.report-table td:first-child{border-left:1px solid #dcebf5;border-radius:14px 0 0 14px}.report-table td:last-child{border-right:1px solid #dcebf5;border-radius:0 14px 14px 0}.report-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:16px 0}.report-summary div{border:1px solid #dcebf5;border-radius:16px;padding:14px;background:#fbfdff}.report-summary b{display:block;font-size:24px}.report-summary span{font-weight:900;color:#6a7c92;font-size:12px}
/* setup list fixes */
.clean-gate-row,.gate-clean-card{grid-template-columns:64px minmax(240px,2fr) minmax(180px,1fr) repeat(3,92px) 160px!important;align-items:center}.gate-title b,.kfh-list-name b{white-space:normal;line-height:1.15}.gate-title small,.kfh-list-name small{white-space:normal}.access-grid{max-height:230px;overflow:auto}
@media(max-width:1100px){.report-filter-grid{grid-template-columns:1fr 1fr}.report-summary{grid-template-columns:1fr 1fr}.clean-gate-row,.gate-clean-card{grid-template-columns:64px 1fr!important}.clean-gate-row>div:not(.gate-prefix):not(.gate-title),.gate-clean-card>div:not(.gate-prefix):not(.gate-title){grid-column:2}.ops-toolbar{display:grid}.ops-toolbar .board-search{min-width:0}.ops-toolbar .board-search input{min-width:0;width:100%}}
@media(max-width:900px){.rv-kfh .kfh-brand img{height:44px!important}.rv-kfh .kfh-main,.rv-kfh.language-ar .kfh-main{margin:0;padding:104px 18px 34px}.rv-kfh .kfh-sidebar{transform:translateX(-105%)}.rv-kfh.language-ar .kfh-sidebar{transform:translateX(105%)}.rv-kfh.sidebar-open .kfh-sidebar{transform:translateX(0)}.report-filter-grid,.report-summary{grid-template-columns:1fr}.rv-modal-actions{display:grid}.rv-modal-actions .btn{width:100%}}
/* Stage 8.2 setup row overflow fix */
body.rv-kfh .clean-gate-row{grid-template-columns:64px minmax(0,1.35fr) minmax(0,.8fr) repeat(3,82px) 154px;overflow:hidden;width:100%}
body.rv-kfh .gate-title,body.rv-kfh .gate-agreement{min-width:0;overflow:hidden}
body.rv-kfh .gate-actions{justify-content:flex-end;min-width:0;flex-wrap:wrap}
body.rv-kfh .gate-actions .btn{height:38px;padding:0 12px}

/* Stage 8.2 — Production cleanup: KFH-like, no overlap, no mixed chaos */
:root{--rv-sky:#73bee8;--rv-bg:#f5f9fd;--rv-text:#1b2736;--rv-muted:#63758d;--rv-line:#dce8f2;--rv-line-2:#edf4fa;--rv-green:#18a56f;--rv-amber:#e58600;--rv-red:#d94b4b;--rv-navy:#101926;--rv-shadow:0 18px 45px rgba(16,44,70,.06)}
body.rv-prod{margin:0;background:var(--rv-bg)!important;color:var(--rv-text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;overflow-x:hidden}
.rv-prod a{text-decoration:none;color:inherit}.rv-prod .rv-topbar{position:fixed;top:0;left:0;right:0;height:82px;background:var(--rv-sky);z-index:1000;display:flex;align-items:center;justify-content:space-between;padding:0 26px;box-shadow:0 2px 0 rgba(14,48,75,.08)}
.rv-prod .rv-topbar-left{height:82px;display:flex;align-items:center;gap:16px;min-width:0}.rv-prod .rv-brand{height:82px;display:flex;align-items:center;min-width:95px;overflow:hidden}.rv-prod .rv-brand img{height:56px!important;width:auto!important;max-width:96px!important;object-fit:contain;display:block}.rv-prod .rv-env-pill{height:34px;padding:0 18px;border-radius:999px;background:rgba(255,255,255,.34);border:1px solid rgba(255,255,255,.65);color:#fff;font-weight:900;display:inline-flex;align-items:center}
.rv-prod .rv-top-actions{display:flex;align-items:center;gap:10px;min-width:0}.rv-prod .rv-pill,.rv-prod .rv-role-pill,.rv-prod .rv-signout{height:38px;padding:0 16px;border-radius:999px;border:1px solid rgba(255,255,255,.72);background:rgba(255,255,255,.35);color:#152238;font-weight:900;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}.rv-prod .rv-pill.active,.rv-prod .rv-signout{background:#fff;border-color:#fff}.rv-prod .rv-role-pill{background:#fff}.rv-prod .rv-menu-btn{display:none;width:42px;height:42px;border:0;border-radius:14px;background:rgba(255,255,255,.36);color:#fff;font-size:22px;font-weight:900}
.rv-prod .rv-sidebar{position:fixed;top:82px;left:0;bottom:0;width:250px;background:#fff;border-right:1px solid var(--rv-line);z-index:900;padding:22px 16px;overflow:auto;box-shadow:none}.rv-prod.language-ar .rv-sidebar{left:auto;right:0;border-right:0;border-left:1px solid var(--rv-line)}
.rv-prod .rv-nav{display:flex;flex-direction:column;gap:8px}.rv-prod .rv-nav a{height:48px;padding:0 16px;border-radius:16px;color:#45586f;font-weight:900;display:flex;align-items:center;justify-content:space-between}.rv-prod .rv-nav a:hover{background:#f1f8fe;color:#147db8}.rv-prod .rv-nav a.active{background:#e9f6ff;color:#147db8}.rv-prod .rv-main{margin-left:250px;padding:122px 30px 42px;width:auto}.rv-prod.language-ar .rv-main{margin-left:0;margin-right:250px}.rv-prod .rv-page-head{display:flex;align-items:flex-start;justify-content:space-between;margin:0 0 22px;gap:20px}.rv-prod .rv-page-head h1{margin:0;color:var(--rv-text);font-size:34px;letter-spacing:-.055em;font-weight:1000}.rv-prod .rv-page-time{text-align:right;color:var(--rv-muted);font-weight:900;text-transform:uppercase;letter-spacing:.08em;font-size:11px}.rv-prod .rv-page-time strong{display:block;color:#4b5f78;font-size:20px;letter-spacing:0;text-transform:none;margin-top:4px}.rv-prod.language-ar .rv-page-time{text-align:left}
.rv-prod .prod-card,.rv-prod .panel-card,.rv-prod .card{background:#fff;border:1px solid var(--rv-line);border-radius:22px;box-shadow:var(--rv-shadow);padding:24px}.rv-prod input,.rv-prod select,.rv-prod textarea{min-height:48px;border:1px solid #d3e2ee;border-radius:14px;background:#fff;padding:0 14px;font:inherit;font-weight:800;color:var(--rv-text);box-sizing:border-box;width:100%}.rv-prod label{display:grid;gap:7px;color:#40556d;font-size:13px;font-weight:900}.rv-prod .btn{height:44px;border-radius:14px;border:1px solid #d6e5f0;padding:0 16px;display:inline-flex;align-items:center;justify-content:center;font-weight:1000;cursor:pointer;background:#fff;color:var(--rv-text);white-space:nowrap}.rv-prod .btn.primary,.rv-prod .btn.dark{background:var(--rv-navy);border-color:var(--rv-navy);color:#fff}.rv-prod .btn.green{background:var(--rv-green);border-color:var(--rv-green);color:#fff}.rv-prod .btn.amber{background:var(--rv-amber);border-color:var(--rv-amber);color:#fff}.rv-prod .btn.ghost{background:#fff}.rv-prod .btn.small{height:38px;padding:0 13px;font-size:13px}.rv-prod .notice{border-radius:16px;padding:14px 16px;margin:0 0 16px;font-weight:900}.rv-prod .notice.success{background:#ecfdf5;color:#047857;border:1px solid #bbf7d0}.rv-prod .notice.danger{background:#fff1f2;color:#be123c;border:1px solid #fecdd3}.rv-prod .notice.warn{background:#fffbeb;color:#92400e;border:1px solid #fde68a}
/* Dashboard closer to KFH */
.rv-prod .kfh-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-bottom:20px}.rv-prod .kfh-kpi-card{background:#fff;border:1px solid var(--rv-line);border-radius:22px;box-shadow:var(--rv-shadow);padding:26px;min-height:160px;display:flex;flex-direction:column;justify-content:center}.rv-prod .kfh-kpi-card.featured{border-color:#bfe5fa;background:linear-gradient(180deg,#fff,#fbfdff)}.rv-prod .kfh-kpi-card span{display:block;text-transform:uppercase;letter-spacing:.08em;color:#63758d;font-size:13px;font-weight:1000;line-height:1.25}.rv-prod .kfh-kpi-card strong{display:block;margin-top:16px;color:var(--rv-text);font-size:48px;line-height:.95;letter-spacing:-.06em;font-weight:1000}.rv-prod .kfh-kpi-card small{display:block;margin-top:12px;color:#5f7188;font-size:15px;font-weight:800}
/* Operations colors */
.rv-prod .ops-control-strip{background:#fff;border:1px solid var(--rv-line);border-radius:22px;padding:18px;margin-bottom:18px;display:grid;grid-template-columns:1fr minmax(240px,360px) auto;gap:16px;align-items:end;box-shadow:var(--rv-shadow)}.rv-prod .ops-control-strip strong{display:block;font-size:20px}.rv-prod .ops-control-strip span{display:block;color:var(--rv-muted);font-weight:850;margin-top:4px}.rv-prod .toolbar-actions{display:flex;gap:10px;align-items:center;justify-content:flex-end}.rv-prod .board{display:grid;gap:18px}.rv-prod .board-four{grid-template-columns:repeat(4,minmax(0,1fr))}.rv-prod .board-three{grid-template-columns:repeat(3,minmax(0,1fr))}.rv-prod .column{background:#fff;border:1px solid var(--rv-line);border-radius:22px;box-shadow:var(--rv-shadow);overflow:hidden;min-height:520px}.rv-prod .column h2{margin:0;padding:18px 18px 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--rv-line);font-size:22px;letter-spacing:-.04em}.rv-prod .column h2 .count,.rv-prod .count{float:none;background:#eaf7ff;border-radius:999px;min-width:34px;height:34px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;color:#147db8;font-weight:1000}.rv-prod .column .tickets{padding:14px}.rv-prod .status-requested h2{border-top:6px solid #f59e0b}.rv-prod .status-transit h2{border-top:6px solid #3b82f6}.rv-prod .status-ready h2{border-top:6px solid #16a34a}.rv-prod .status-parked h2{border-top:6px solid #0f172a}.rv-prod .status-paid h2{border-top:6px solid #22c55e}.rv-prod .ticket{border:1px solid var(--rv-line);border-radius:18px;padding:15px;margin-bottom:12px;background:#fff;box-shadow:0 10px 24px rgba(16,44,70,.04)}.rv-prod .ticket.status-REQUESTED{border-left:6px solid #f59e0b}.rv-prod .ticket.status-IN_TRANSIT{border-left:6px solid #3b82f6}.rv-prod .ticket.status-READY{border-left:6px solid #16a34a}.rv-prod .ticket.status-PARKED{border-left:6px solid #0f172a}.rv-prod .ticket .top{display:flex;justify-content:space-between;gap:12px}.rv-prod .ticket .keytag{font-size:38px;font-weight:1000;color:var(--rv-text);letter-spacing:-.055em}.rv-prod .ticket .meta,.rv-prod .ticket .phone,.rv-prod .customer.muted{color:#64778f;font-weight:850}.rv-prod .ticket .customer{font-size:16px;font-weight:950;margin-top:12px}.rv-prod .ticket .actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.rv-prod .timer{font-weight:1000;color:#64778f}.rv-prod .search-hidden{display:none!important}.rv-prod .empty-state{border:1px dashed #cbddea;background:#fbfdff;border-radius:16px;padding:18px;text-align:center;color:#7a8b9e;font-weight:900}
/* Cashier */
.rv-prod .cashier-manual-card{background:#fff;border:1px solid var(--rv-line);border-radius:22px;padding:18px;margin-bottom:18px;box-shadow:var(--rv-shadow)}.rv-prod .cashier-manual-form{display:grid;grid-template-columns:minmax(220px,1fr) auto minmax(220px,1fr);gap:14px;align-items:end}.rv-prod .payment-modal-backdrop,.rv-modal-backdrop{position:fixed;inset:0;background:rgba(16,25,38,.45);z-index:2000;display:none;align-items:center;justify-content:center;padding:20px}.rv-prod .payment-modal-backdrop:not([hidden]),.rv-modal-backdrop.open{display:flex}.rv-prod .payment-modal,.rv-payment-modal{width:min(520px,calc(100vw - 40px));background:#fff;border-radius:24px;padding:24px;box-shadow:0 30px 80px rgba(16,25,38,.24);position:relative}.rv-prod .payment-modal h2,.rv-payment-modal h2{margin:0 0 10px;font-size:28px;letter-spacing:-.045em}.rv-prod .modal-close,.rv-modal-x{position:absolute;right:18px;top:16px;border:0;background:#eef6fc;border-radius:999px;width:34px;height:34px;font-size:22px;font-weight:900;cursor:pointer}.rv-prod.language-ar .modal-close,.rv-prod.language-ar .rv-modal-x{right:auto;left:18px}.rv-prod .payment-modal form,.rv-payment-modal form{display:grid;gap:14px}.rv-prod .conditional-payment[hidden],.rv-prod .pay-extra[hidden]{display:none!important}.rv-prod .modal-actions,.rv-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:6px}
/* Reports */
.rv-prod .report-filters{margin-bottom:20px}.rv-prod .report-filter-form{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr)) auto;gap:14px;align-items:end}.rv-prod .report-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.rv-prod .report-table-card{padding:0;overflow:hidden}.rv-prod .report-table-card .section-head{padding:22px 24px;margin:0;border-bottom:1px solid var(--rv-line)}.rv-prod .table-scroll{overflow:auto}.rv-prod .report-table{width:100%;border-collapse:collapse;background:#fff}.rv-prod .report-table th,.rv-prod .report-table td{padding:14px 16px;border-bottom:1px solid var(--rv-line-2);text-align:left;white-space:nowrap}.rv-prod.language-ar .report-table th,.rv-prod.language-ar .report-table td{text-align:right}.rv-prod .report-table th{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#64778f;background:#fbfdff}.rv-prod .report-table td{font-weight:800;color:#223044}
/* Gate setup fixes */
.rv-prod .tabs-row{display:flex;gap:8px;background:#fff;border:1px solid var(--rv-line);border-radius:18px;width:max-content;max-width:100%;padding:6px;margin-bottom:20px;box-shadow:var(--rv-shadow)}.rv-prod .tabs-row a{height:42px;display:inline-flex;align-items:center;border-radius:13px;padding:0 18px;font-weight:1000;color:#42576f}.rv-prod .tabs-row a.active{background:#eaf7ff;color:#147db8}.rv-prod .production-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}.rv-prod .col-12{grid-column:span 12}.rv-prod .col-8{grid-column:span 8}.rv-prod .col-6{grid-column:span 6}.rv-prod .col-4{grid-column:span 4}.rv-prod .form-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:14px;align-items:end}.rv-prod .span-12{grid-column:span 12}.rv-prod .span-8{grid-column:span 8}.rv-prod .span-6{grid-column:span 6}.rv-prod .span-4{grid-column:span 4}.rv-prod .span-3{grid-column:span 3}.rv-prod .span-2{grid-column:span 2}.rv-prod .section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.rv-prod .section-head h2{margin:0;font-size:23px;letter-spacing:-.04em}.rv-prod .section-head span{height:30px;border-radius:999px;background:#eaf7ff;color:#147db8;border:1px solid #d5eefb;display:inline-flex;align-items:center;padding:0 12px;font-weight:1000}.rv-prod .clean-gate-list,.rv-prod .users-clean-list{display:flex;flex-direction:column;gap:12px}.rv-prod .clean-gate-row{display:grid!important;grid-template-columns:68px minmax(260px,1.4fr) minmax(220px,1fr) 88px 88px 88px auto!important;gap:12px;align-items:center;border:1px solid var(--rv-line);border-radius:18px;background:#fff;padding:14px;overflow:visible}.rv-prod .gate-prefix{width:54px;height:54px;border-radius:15px;background:var(--rv-navy);color:#fff;display:grid;place-items:center;font-size:24px;font-weight:1000}.rv-prod .gate-title,.rv-prod .gate-agreement{min-width:0}.rv-prod .gate-title b,.rv-prod .gate-agreement b{display:block;white-space:normal;overflow-wrap:anywhere;line-height:1.2}.rv-prod .gate-title small,.rv-prod .gate-agreement small{display:block;color:#64778f;font-weight:850;margin-top:4px;white-space:normal;overflow-wrap:anywhere;line-height:1.25}.rv-prod .gate-stat{background:#fbfdff;border:1px solid var(--rv-line);border-radius:14px;text-align:center;padding:10px 8px}.rv-prod .gate-stat b{display:block;font-size:22px;color:var(--rv-text)}.rv-prod .gate-stat small{display:block;color:#64778f;font-size:11px;font-weight:800}.rv-prod .gate-actions{display:flex;gap:8px;justify-content:flex-end}.rv-prod .clean-user-row{display:grid;grid-template-columns:minmax(170px,1fr) 140px 150px 120px 180px auto;gap:10px;align-items:center;margin-bottom:12px;border:1px solid var(--rv-line);border-radius:18px;background:#fff;padding:14px}.rv-prod .access-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px}.rv-prod .access-grid label{border:1px solid var(--rv-line);border-radius:12px;padding:9px;display:flex;gap:8px;align-items:center}.rv-prod .access-grid input{width:auto;min-height:0}.rv-prod .bank-add-form{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:end;margin-bottom:16px}.rv-prod .bank-list{display:grid;gap:10px}.rv-prod .bank-row{display:grid;grid-template-columns:1fr 120px auto;gap:12px;align-items:center;border:1px solid var(--rv-line);border-radius:16px;padding:12px;background:#fbfdff}
/* Print Ticket */
.rv-prod .print-console{background:#fff;border:1px solid var(--rv-line);border-radius:22px;box-shadow:var(--rv-shadow);padding:24px;max-width:1180px}.rv-prod .print-console-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:18px}.rv-prod .print-console-head h2{margin:0;color:var(--rv-text);font-size:28px;letter-spacing:-.04em}.rv-prod .print-console-head p{margin:6px 0 0;color:#64778f;font-weight:850}.rv-prod .next-ticket-pill{background:#eaf7ff;border:1px solid #d5eefb;border-radius:18px;padding:12px 18px;text-align:center;min-width:140px}.rv-prod .next-ticket-pill span{display:block;text-transform:uppercase;letter-spacing:.08em;color:#64778f;font-size:11px;font-weight:1000}.rv-prod .next-ticket-pill strong{display:block;color:#147db8;font-size:30px;letter-spacing:-.04em}.rv-prod .print-ticket-form{display:grid;grid-template-columns:minmax(280px,1.5fr) repeat(3,minmax(120px,.55fr));gap:14px;align-items:end}.rv-prod .print-summary-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0}.rv-prod .print-summary-row div{background:#fbfdff;border:1px solid var(--rv-line);border-radius:16px;padding:14px}.rv-prod .print-summary-row b{display:block;color:var(--rv-text);font-size:20px}.rv-prod .print-summary-row span{display:block;color:#64778f;font-weight:850;font-size:12px;margin-top:4px}.rv-prod .print-activate{display:flex;align-items:center;gap:14px}.rv-prod .print-primary-btn{min-width:240px;height:54px}.rv-prod .ticket-print-sheet{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px;margin-top:20px}.rv-prod .slip-ticket{background:#fff;border:1px solid var(--rv-line);border-radius:20px;padding:18px;text-align:center;box-shadow:var(--rv-shadow)}
/* Login */
body.rv-login-page{background:var(--rv-sky)!important;min-height:100vh;display:grid;place-items:center;color:var(--rv-text)}.login-wrap{width:min(430px,calc(100vw - 32px));text-align:center}.login-logo-row{display:flex;justify-content:center;margin-bottom:34px}.login-logo-row img{height:92px;width:auto;object-fit:contain}.login-box{background:#fff;border:0;border-radius:22px;padding:30px;box-shadow:0 28px 72px rgba(16,44,70,.15);text-align:left}.language-ar .login-box{text-align:right}.login-box h1{font-size:30px;margin:0 0 6px;letter-spacing:-.045em}.login-box p{margin:0 0 22px;color:#5f7188;font-weight:800}.login-lang{display:flex;justify-content:center;gap:10px;margin-top:18px}.login-lang a{display:inline-flex;align-items:center;justify-content:center;height:34px;min-width:42px;border-radius:999px;background:rgba(255,255,255,.42);border:1px solid rgba(255,255,255,.7);color:#16425f;font-weight:900}.login-lang a.active{background:#fff}
@media(max-width:1220px){.rv-prod .kfh-kpi-grid{grid-template-columns:repeat(2,1fr)}.rv-prod .board-four,.rv-prod .board-three{grid-template-columns:repeat(2,1fr)}.rv-prod .clean-gate-row{grid-template-columns:68px minmax(220px,1fr) minmax(180px,1fr)!important}.rv-prod .gate-stat,.rv-prod .gate-actions{grid-column:auto}.rv-prod .report-filter-form{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.rv-prod .rv-menu-btn{display:inline-flex;align-items:center;justify-content:center}.rv-prod .rv-topbar{padding:0 14px}.rv-prod .rv-brand img{height:48px!important;max-width:84px!important}.rv-prod .rv-env-pill,.rv-prod .rv-role-pill,.rv-prod .rv-pill[href*="change_password"]{display:none}.rv-prod .rv-top-actions{gap:6px}.rv-prod .rv-pill,.rv-prod .rv-signout{height:34px;padding:0 11px}.rv-prod .rv-sidebar{transform:translateX(-105%);transition:.2s ease}.rv-prod.language-ar .rv-sidebar{transform:translateX(105%)}.rv-prod.sidebar-open .rv-sidebar{transform:translateX(0)}.rv-prod.sidebar-open .mobile-sidebar-backdrop{display:block}.rv-prod .mobile-sidebar-backdrop{display:none;position:fixed;inset:82px 0 0;background:rgba(16,44,70,.32);z-index:850}.rv-prod .rv-main,.rv-prod.language-ar .rv-main{margin:0;padding:108px 18px 30px}.rv-prod .rv-page-head{display:grid}.rv-prod .rv-page-time{text-align:left}.rv-prod.language-ar .rv-page-time{text-align:right}.rv-prod .kfh-kpi-grid,.rv-prod .board-four,.rv-prod .board-three,.rv-prod .ops-control-strip,.rv-prod .report-filter-form,.rv-prod .print-ticket-form,.rv-prod .print-summary-row,.rv-prod .bank-add-form,.rv-prod .bank-row{grid-template-columns:1fr}.rv-prod .production-grid,.rv-prod .form-grid{grid-template-columns:1fr}.rv-prod .col-12,.rv-prod .col-8,.rv-prod .col-6,.rv-prod .col-4,.rv-prod .span-12,.rv-prod .span-8,.rv-prod .span-6,.rv-prod .span-4,.rv-prod .span-3,.rv-prod .span-2{grid-column:span 1}.rv-prod .clean-gate-row,.rv-prod .clean-user-row{grid-template-columns:1fr!important}.rv-prod .gate-prefix{width:56px}.rv-prod .gate-actions{justify-content:flex-start}.rv-prod .cashier-manual-form{grid-template-columns:1fr}.rv-prod .column{min-height:auto}}
@media print{.rv-prod .rv-topbar,.rv-prod .rv-sidebar,.rv-prod .rv-page-head,.rv-prod .no-print,.rv-prod .print-console,.rv-prod .payment-modal-backdrop{display:none!important}.rv-prod .rv-main{margin:0!important;padding:0!important}.rv-prod .prod-card,.rv-prod .panel-card,.rv-prod .card{box-shadow:none!important}.rv-prod .report-table th,.rv-prod .report-table td{font-size:11px;padding:8px}.rv-prod .slip-ticket{box-shadow:none!important;border:0!important;border-radius:0!important;margin:0 auto!important;page-break-after:always}}

/* Stage 8.4 — customer request, success ad, compact slip */
:root{--royal-blue:#71bde8;--royal-navy:#0d1b2c;--royal-border:rgba(255,255,255,.62)}
body.rv-customer-modern{min-height:100vh;background:var(--royal-blue)!important;color:var(--royal-navy);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Tahoma,Arial,sans-serif;overflow-x:hidden}
.customer-shell{width:min(100%,540px);margin:0 auto;padding:42px 18px calc(34px + env(safe-area-inset-bottom));display:grid;gap:24px;align-items:start;min-height:100vh}
.customer-top{display:grid;justify-items:center;gap:18px;padding-top:max(8px,env(safe-area-inset-top))}.customer-white-logo{width:170px;max-width:44vw;height:auto;display:block;object-fit:contain}.customer-lang-pills{display:flex;gap:9px;align-items:center;justify-content:center}.customer-lang-pills a{height:38px;min-width:48px;border-radius:999px;background:rgba(255,255,255,.26);border:1px solid rgba(255,255,255,.68);color:#153247;display:inline-flex;align-items:center;justify-content:center;font-weight:1000;font-size:13px;letter-spacing:.02em}.customer-lang-pills a.active{background:#fff;color:#153247;box-shadow:0 10px 25px rgba(17,50,75,.10)}
.customer-request-card{background:rgba(255,255,255,.90);border:1px solid var(--royal-border);border-radius:28px;box-shadow:0 28px 70px rgba(12,42,66,.16);padding:28px;width:100%;backdrop-filter:blur(10px)}.customer-request-card h1{margin:0;color:#111d2c;font-size:32px;line-height:1.05;letter-spacing:-.055em;font-weight:1000}.request-headline{display:grid;gap:8px;margin-bottom:18px}.request-headline span{color:#4d657d;text-transform:uppercase;letter-spacing:.10em;font-size:12px;font-weight:1000}.request-headline h1{font-size:29px;line-height:1.1;word-break:break-word}.customer-muted{color:#53677d;font-size:17px;line-height:1.35;font-weight:800;margin:10px 0 0}.customer-ticket-summary{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0 20px}.customer-ticket-summary.compact{margin-top:20px}.customer-ticket-summary div{border:1px solid #d7e6f1;border-radius:18px;background:#f8fcff;padding:15px}.customer-ticket-summary span{display:block;color:#6b7f95;font-size:12px;font-weight:1000;text-transform:uppercase;letter-spacing:.075em}.customer-ticket-summary strong{display:block;color:#111d2c;font-size:24px;line-height:1.1;margin-top:7px;font-weight:1000;word-break:break-word}.customer-ticket-summary div:first-child{grid-column:span 1}.customer-request-form{display:grid;gap:14px;margin-top:8px}.customer-request-form label{display:grid;gap:8px;color:#33485e;font-size:13px;font-weight:1000}.customer-request-form input{height:58px;width:100%;border:1px solid #cbddeb;border-radius:17px;background:#fff;padding:0 16px;font-size:19px;font-weight:900;color:#111d2c;outline:none}.customer-request-form input:focus{border-color:#69bce9;box-shadow:0 0 0 5px rgba(113,189,232,.20)}.customer-request-button{height:60px;border:0;border-radius:17px;background:#0f1928;color:#fff;font-size:18px;font-weight:1000;cursor:pointer;box-shadow:0 12px 22px rgba(15,25,40,.12)}.customer-request-button:active{transform:translateY(1px)}.success-check,.customer-error-mark{width:70px;height:70px;border-radius:22px;display:grid;place-items:center;margin:0 0 18px;font-size:34px;font-weight:1000}.success-check{background:#e9fbf3;color:#139764}.customer-error-mark{background:#fff1f1;color:#b52432}.success-ad-wrap{margin-top:22px;border-radius:24px;overflow:hidden;border:1px solid #d7e6f1;background:#fff;box-shadow:0 12px 30px rgba(10,32,55,.08)}.success-ad-wrap img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover}.success-ad-wrap a{display:block}.language-ar .customer-request-card{text-align:right}.language-ar .customer-request-form input{text-align:right}
@media(max-width:560px){.customer-shell{padding:34px 18px 28px}.customer-white-logo{width:150px}.customer-request-card{border-radius:27px;padding:24px}.customer-request-card h1{font-size:30px}.request-headline h1{font-size:26px}.customer-ticket-summary{grid-template-columns:1fr}.customer-ticket-summary strong{font-size:22px}.customer-request-form input,.customer-request-button{height:58px}.success-ad-wrap{border-radius:20px}}

/* Admin advertisement settings */
.ad-settings-grid{display:grid;grid-template-columns:minmax(340px,.9fr) minmax(320px,1.1fr);gap:22px;align-items:start}.ad-preview-box{border:1px solid var(--kfh-line,#dce8f3);background:#fbfdff;border-radius:22px;padding:18px}.ad-preview-box img{display:block;width:min(100%,360px);aspect-ratio:3/4;object-fit:cover;border-radius:18px;border:1px solid #dce8f3;background:#fff}.ad-preview-empty{height:320px;border:1px dashed #cbddeb;border-radius:18px;display:grid;place-items:center;color:#70859c;font-weight:900;background:#fff}.ad-upload-form{display:grid;gap:14px}.ad-upload-form label{display:grid;gap:8px}.ad-toggle-row{display:flex;align-items:center;gap:10px}.ad-toggle-row input{width:auto;height:auto;min-height:0}.ad-hint{color:#60758d;font-weight:800;line-height:1.45;margin:0}
@media(max-width:900px){.ad-settings-grid{grid-template-columns:1fr}}

/* Compact thermal slip */
.ticket-print-card.compact-slip{width:var(--ticket-width,80mm);min-height:var(--ticket-min-height,98mm);max-width:100%;margin:0 auto;padding:4.5mm 4mm!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:#fff;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:2.1mm;overflow:hidden}.compact-brand img{width:28mm!important;max-width:28mm!important;height:auto!important;display:block}.compact-brand span{display:none!important}.compact-keytag{font-size:15mm!important;line-height:.9!important;letter-spacing:-.09em!important;margin:0!important;color:#111827!important;font-weight:1000!important}.ticket-print-gate{font-size:4.2mm;line-height:1.05;color:#172333;font-weight:1000;text-transform:uppercase;max-width:100%;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.ticket-print-price{font-size:3.8mm;line-height:1;color:#4a5e75;font-weight:1000}.compact-qr{margin:1mm 0!important;min-height:0!important}.compact-qr svg{width:43mm!important;height:43mm!important;max-width:43mm!important;display:block}.ticket-print-action{font-size:4mm;line-height:1.05;color:#111827;font-weight:1000}.ticket-print-warning{border:1px solid #d8e6f1;background:#f7fbff;border-radius:3mm;padding:2.2mm 2.4mm;width:100%;display:grid;gap:1mm}.ticket-print-warning strong{display:block;font-size:3.65mm;line-height:1.2;color:#111827;font-weight:1000}.ticket-print-warning span{display:block;font-size:2.8mm;line-height:1.15;color:#53677d;font-weight:850}.layout-thermal58 .compact-brand img{width:24mm!important;max-width:24mm!important}.layout-thermal58 .compact-keytag{font-size:12.5mm!important}.layout-thermal58 .compact-qr svg{width:36mm!important;height:36mm!important;max-width:36mm!important}.layout-thermal58 .ticket-print-gate{font-size:3.5mm}.layout-thermal58 .ticket-print-action{font-size:3.5mm}.layout-thermal58 .ticket-print-warning strong{font-size:3mm}.layout-thermal58 .ticket-print-warning span{font-size:2.35mm}.ticket-print-url,.ticket-print-meta,.ticket-print-copy{display:none!important}
@media print{body{background:#fff!important}.ticket-print-sheet{display:block!important;margin:0!important;padding:0!important}.ticket-print-card.compact-slip{page-break-after:always!important;break-after:page!important;width:var(--ticket-width,80mm)!important;min-height:var(--ticket-min-height,98mm)!important;margin:0 auto!important;padding:4.5mm 4mm!important;border:0!important;box-shadow:none!important}.ticket-print-card.compact-slip:last-child{page-break-after:auto!important;break-after:auto!important}.compact-qr svg{width:43mm!important;height:43mm!important}.layout-thermal58 .compact-qr svg{width:36mm!important;height:36mm!important}.print-one-btn{display:none!important}}

/* Stage 8.4 — Customer request, success ad, compact slip */
:root{--royal-sky:#75c2eb;--royal-blue:#2f9ed7;--royal-dark:#101926;--royal-line:rgba(255,255,255,.62)}
body.rv-customer-clean{min-height:100vh;margin:0;background:var(--royal-sky)!important;color:#fff;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;display:block;padding:env(safe-area-inset-top) 16px 28px;box-sizing:border-box}.customer-lang-pills{position:fixed;z-index:10;top:calc(env(safe-area-inset-top) + 20px);left:50%;transform:translateX(-50%);display:flex;gap:10px}.customer-lang-pills a{height:34px;min-width:48px;padding:0 14px;border-radius:999px;background:rgba(255,255,255,.28);border:1px solid rgba(255,255,255,.58);display:inline-flex;align-items:center;justify-content:center;color:#fff;text-decoration:none;font-weight:950;box-shadow:0 8px 24px rgba(13,57,87,.08)}.customer-lang-pills a.active{background:#fff;color:#174864}.customer-request-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:74px 0 24px;box-sizing:border-box}.customer-request-card{width:min(100%,440px);border-radius:32px;background:linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,.10));border:1px solid rgba(255,255,255,.68);box-shadow:0 30px 80px rgba(13,57,87,.20);padding:28px;backdrop-filter:blur(8px);box-sizing:border-box}.customer-logo-white{display:block;width:178px;height:auto;margin:0 auto 22px;filter:drop-shadow(0 10px 20px rgba(12,60,92,.12))}.customer-request-card h1{margin:20px 0 6px;text-align:center;font-size:31px;line-height:1.05;letter-spacing:-.055em;color:#fff;font-weight:1000}.customer-subtitle{margin:0 auto 20px;max-width:330px;text-align:center;color:rgba(255,255,255,.88);font-size:15px;font-weight:750;line-height:1.45}.customer-ticket-summary{background:rgba(255,255,255,.95);border:1px solid rgba(255,255,255,.95);border-radius:24px;padding:16px;box-shadow:0 16px 40px rgba(13,57,87,.10);color:#101926;margin-bottom:18px}.customer-ticket-summary span{display:block;text-transform:uppercase;letter-spacing:.075em;color:#6b7c90;font-size:11px;font-weight:950}.customer-ticket-summary strong{display:block;margin-top:4px;color:#101926;font-weight:1000;line-height:1.15;overflow-wrap:anywhere}.customer-ticket-summary>div>strong{font-size:19px}.summary-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.summary-row>div{background:#f5fbff;border:1px solid #dcecf7;border-radius:16px;padding:12px}.single-row{grid-template-columns:1fr 1fr}.customer-request-form{display:grid;gap:14px}.customer-request-form label{display:grid;gap:8px;color:#fff;font-weight:950;font-size:14px}.customer-request-form input{width:100%;height:56px;box-sizing:border-box;border-radius:18px;border:1px solid rgba(255,255,255,.75);background:#fff;color:#101926;font-size:18px;font-weight:850;padding:0 16px;box-shadow:0 12px 24px rgba(13,57,87,.08);outline:none}.customer-request-form input:focus{border-color:#fff;box-shadow:0 0 0 5px rgba(255,255,255,.28)}.customer-submit{height:58px;border:0;border-radius:18px;background:#101926;color:#fff;font-size:18px;font-weight:1000;display:flex;align-items:center;justify-content:center;text-align:center;text-decoration:none;cursor:pointer;box-shadow:0 16px 34px rgba(16,25,38,.18)}.customer-link-btn{margin-top:16px}.customer-alert{border-radius:18px;padding:14px 16px;background:#fff;color:#101926;font-weight:900;text-align:center}.customer-alert.danger{background:#fff1f1;color:#b4232d}.success-card{text-align:center}.success-icon{width:74px;height:74px;margin:0 auto 16px;border-radius:24px;background:#fff;color:#12a56b;display:grid;place-items:center;font-size:44px;font-weight:1000;box-shadow:0 18px 40px rgba(13,57,87,.12)}.compact-summary{margin-top:18px}.success-ad-wrap{margin:18px auto 0;border-radius:24px;overflow:hidden;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.48);box-shadow:0 18px 48px rgba(13,57,87,.16)}.success-ad-wrap img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover}.done-btn{width:100%;margin-top:18px}.language-ar .customer-request-card{text-align:right}.language-ar .customer-request-card h1,.language-ar .customer-subtitle{text-align:center}
@media(max-width:520px){body.rv-customer-clean{padding-left:12px;padding-right:12px}.customer-request-card{border-radius:28px;padding:24px 20px}.customer-logo-white{width:164px}.customer-request-card h1{font-size:29px}.summary-row{grid-template-columns:1fr}.customer-ticket-summary>div>strong{font-size:18px}.customer-request-form input{height:56px}}

/* Stage 8.4 compact thermal slip */
.ticket-print-sheet{align-items:start}.rv-prod .compact-slip,.compact-slip{width:var(--ticket-width,80mm)!important;min-height:var(--ticket-min-height,96mm)!important;max-width:var(--ticket-width,80mm)!important;box-sizing:border-box;background:#fff!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:4mm 5mm!important;text-align:center;color:#101926;overflow:hidden}.compact-slip .ticket-print-brand img,.compact-brand img{width:auto!important;height:15mm!important;max-height:15mm!important;display:block;margin:0 auto 1mm}.compact-slip .ticket-print-gate{font-size:11px;font-weight:1000;text-transform:uppercase;letter-spacing:.025em;line-height:1.1;min-height:7mm;display:flex;align-items:center;justify-content:center;overflow:hidden}.compact-slip .ticket-print-keytag,.compact-keytag{font-size:19mm!important;line-height:.9!important;letter-spacing:-.08em!important;margin:2mm 0 1mm!important;font-weight:1000!important;color:#101926!important}.compact-slip .ticket-print-qr svg,.compact-qr svg{width:43mm!important;max-width:43mm!important;height:auto!important;display:block;margin:0 auto!important}.layout-thermal58 .compact-slip .ticket-print-qr svg,.layout-thermal58 .compact-qr svg{width:34mm!important;max-width:34mm!important}.compact-slip .ticket-print-copy,.compact-slip .ticket-print-action{font-size:10px;font-weight:950;line-height:1.15;margin-top:1.5mm;color:#101926}.compact-slip .ticket-print-copy strong{display:block;font-size:12px}.compact-slip .ticket-print-copy span{display:block;color:#475569;font-size:9px;font-weight:850}.compact-slip .ticket-print-note,.compact-slip .ticket-print-warning{margin-top:2mm;border:1px solid #111926;border-radius:8px;padding:2mm;font-size:9.5px;line-height:1.25;font-weight:950;color:#101926}.compact-slip .ticket-print-note span,.compact-slip .ticket-print-warning span{display:block;margin-top:1mm;font-size:8.5px;color:#334155;font-weight:850}.compact-slip .ticket-print-price{display:none!important}.ticket-print-url,.ticket-print-meta .ticket-print-url{display:none!important}.print-one-btn{margin-top:10px!important}.rv-prod .ticket-print-meta,.compact-slip .ticket-print-meta{display:none!important}
@media print{html,body{background:#fff!important}.ticket-print-sheet{display:block!important;margin:0!important;padding:0!important}.compact-slip{page-break-after:always!important;margin:0 auto!important}.compact-slip .print-one-btn,.no-print{display:none!important}.rv-prod .compact-slip{border:0!important}}

/* Stage 8.4 ad settings */
.ad-settings-card .kfh-report-head p{margin:6px 0 0;color:#64778f;font-weight:850}.toggle-line{display:flex!important;align-items:center;gap:10px;border:1px solid var(--kfh-line,#dce8f2);border-radius:16px;padding:14px;background:#fbfdff}.toggle-line input{width:20px!important;height:20px!important;min-height:20px!important}.ad-preview-box{width:min(100%,360px);border:1px solid var(--kfh-line,#dce8f2);border-radius:22px;overflow:hidden;background:#f8fcff}.ad-preview-box img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover}

/* Stage 8.4 — Customer Request, Success Ad, and Compact Slip Cleanup */
:root{--rv-stage84-sky:#73bee9;--rv-stage84-blue:#1f9bd4;--rv-stage84-blue-dark:#147db8;--rv-stage84-navy:#0f172a;--rv-stage84-card:#1f9bd4;--rv-stage84-line:rgba(255,255,255,.38);}
body.kfh-clean .kfh-topbar, body.rv-prod .rv-topbar{overflow:hidden;}
body.kfh-clean .kfh-brand img, body.rv-prod .rv-brand img{max-height:54px!important;width:auto!important;object-fit:contain!important;}

/* Customer-facing pages */
body.rv-customer-body{margin:0;min-height:100svh;background:var(--rv-stage84-sky);font-family:Inter,Arial,sans-serif;color:#fff;display:block;}
.rv-customer-shell{width:min(540px,calc(100vw - 30px));margin:0 auto;padding:28px 0 40px;min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;box-sizing:border-box;}
.rv-customer-lang{display:flex;gap:10px;align-items:center;justify-content:center;margin-bottom:2px;}
.rv-customer-lang a{height:38px;min-width:46px;padding:0 14px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-weight:950;color:#173a56;background:rgba(255,255,255,.34);border:1px solid rgba(255,255,255,.62);box-shadow:none;}
.rv-customer-lang a.active{background:#fff;color:#0f172a;border-color:#fff;}
.rv-customer-logo{display:block;width:min(235px,58vw);height:auto;object-fit:contain;margin:0 auto 4px;filter:none;}
.rv-request-card{width:100%;box-sizing:border-box;background:linear-gradient(180deg,#229ed8 0%,#198fd0 100%);border:1px solid rgba(255,255,255,.52);border-radius:30px;padding:28px;box-shadow:0 28px 78px rgba(11,59,91,.18);color:#fff;}
.rv-request-card h1{margin:18px 0 8px;font-size:34px;line-height:1;letter-spacing:-.055em;color:#fff;font-weight:1000;}
.language-ar .rv-request-card h1{letter-spacing:0;line-height:1.15;}
.rv-customer-copy{margin:0 0 18px;color:rgba(255,255,255,.88);font-size:16px;line-height:1.42;font-weight:800;}
.rv-request-summary{display:grid;grid-template-columns:1.5fr .8fr .8fr;gap:10px;margin:0 0 16px;}
.rv-request-summary.compact{grid-template-columns:1.4fr .8fr .8fr;margin-top:18px;margin-bottom:0;}
.rv-request-summary div{min-width:0;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.27);border-radius:18px;padding:13px 14px;}
.rv-request-summary span{display:block;color:rgba(255,255,255,.74);text-transform:uppercase;letter-spacing:.075em;font-size:11px;font-weight:1000;margin-bottom:6px;}
.language-ar .rv-request-summary span{text-transform:none;letter-spacing:0;}
.rv-request-summary strong{display:block;color:#fff;font-size:18px;line-height:1.14;font-weight:1000;overflow-wrap:anywhere;}
.rv-request-form{display:grid;gap:14px;margin-top:16px;}
.rv-request-form label{display:grid;gap:8px;margin:0;color:#fff;font-weight:950;font-size:13px;letter-spacing:.02em;}
.rv-request-form label span{display:block;color:rgba(255,255,255,.88);}
.rv-request-form input{width:100%;box-sizing:border-box;border:1px solid rgba(255,255,255,.82);background:#fff;color:#0f172a;border-radius:18px;height:58px;padding:0 18px;font-size:18px;font-weight:900;outline:none;box-shadow:none;}
.rv-request-form input:focus{border-color:#fff;box-shadow:0 0 0 5px rgba(255,255,255,.18);}
.rv-customer-button{height:60px;border:0;border-radius:18px;background:#0f172a;color:#fff;font-size:18px;font-weight:1000;cursor:pointer;box-shadow:0 12px 28px rgba(15,23,42,.18);}
.rv-customer-alert{border-radius:18px;padding:14px 16px;font-weight:900;line-height:1.35;margin-bottom:14px;}
.rv-customer-alert.error{background:rgba(255,255,255,.95);color:#9f1239;border:1px solid rgba(255,255,255,.9);}
.rv-customer-alert.success{background:rgba(255,255,255,.95);color:#166534;border:1px solid rgba(255,255,255,.9);}
.rv-customer-keytag{font-size:42px;font-weight:1000;letter-spacing:-.04em;}
.rv-customer-keytag.muted{opacity:.9;}
.rv-success-shell{justify-content:flex-start;padding-top:28px;}
.rv-success-card{text-align:center;}
.rv-success-icon{width:66px;height:66px;border-radius:999px;background:#fff;color:#16a56b;display:grid;place-items:center;margin:0 auto 14px;font-size:38px;font-weight:1000;box-shadow:0 12px 28px rgba(8,77,52,.12);}
.rv-success-ad-wrap{width:100%;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.36);border-radius:26px;padding:10px;box-shadow:0 18px 54px rgba(11,59,91,.14);box-sizing:border-box;}
.rv-success-ad-wrap a{display:block;text-decoration:none;}
.rv-success-ad-wrap img{display:block;width:100%;height:auto;border-radius:20px;aspect-ratio:3/4;object-fit:cover;background:#fff;}
.ad-preview-card{border:1px solid var(--rv-line,#dbe7f2);border-radius:18px;padding:12px;background:#fbfdff;display:grid;gap:10px;}
.ad-preview-card img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:14px;display:block;background:#eef6fc;}
.ad-preview-card span{font-weight:1000;color:#147db8;}

/* Compact production slip */
.rv-prod .ticket-print-sheet{align-items:start;}
.rv-prod .rv-slip-card{width:var(--ticket-width,80mm);min-height:var(--ticket-min-height,100mm);box-sizing:border-box;margin:0 auto;background:#fff;border:0!important;border-radius:0!important;padding:4.5mm 4.5mm 3.8mm!important;text-align:center;box-shadow:none!important;page-break-after:always;break-after:page;color:#0f172a;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:1.5mm;}
.rv-prod .rv-slip-brand img{display:block;width:30mm;max-width:82%;height:auto;margin:0 auto 0.5mm;}
.rv-prod .rv-slip-gate{font-size:12px;line-height:1.12;font-weight:1000;text-transform:uppercase;letter-spacing:.02em;max-width:100%;overflow-wrap:anywhere;margin-top:1mm;}
.rv-prod .rv-slip-keytag{font-size:44px;line-height:.95;font-weight:1000;letter-spacing:-.06em;margin:1mm 0 0;}
.rv-prod .rv-slip-qr{display:flex;align-items:center;justify-content:center;margin:0.5mm 0;}
.rv-prod .rv-slip-qr img{width:38mm!important;height:38mm!important;max-width:100%;object-fit:contain;display:block;}
.rv-prod .layout-thermal58 .rv-slip-qr img{width:34mm!important;height:34mm!important;}
.rv-prod .rv-slip-action{font-size:18px;line-height:1;font-weight:1000;margin-top:0.5mm;}
.rv-prod .rv-slip-scan{font-size:11px;line-height:1.15;font-weight:900;color:#1f2937;}
.rv-prod .rv-slip-note-ar{font-size:12px;line-height:1.25;font-weight:1000;margin-top:1mm;color:#111827;direction:rtl;}
.rv-prod .rv-slip-note-en{font-size:9.5px;line-height:1.2;font-weight:850;color:#4b5563;}
.rv-prod .rv-slip-card .print-one-btn{margin-top:4mm;}
@media print{body{background:#fff!important}.rv-prod .rv-slip-card{box-shadow:none!important;border:0!important;margin:0 auto!important}.rv-prod .ticket-print-sheet{display:block!important;margin:0!important}.rv-prod .rv-slip-card .print-one-btn{display:none!important}.rv-prod .rv-slip-brand img{width:29mm!important}.rv-prod .rv-slip-keytag{font-size:41px!important}.rv-prod .rv-slip-gate{font-size:11px!important}.rv-prod .rv-slip-qr img{width:36mm!important;height:36mm!important}.rv-prod .layout-thermal58 .rv-slip-qr img{width:33mm!important;height:33mm!important}}
@media(max-width:640px){.rv-customer-shell{width:min(100vw - 24px,520px);justify-content:flex-start;padding-top:26px}.rv-customer-logo{width:min(210px,56vw)}.rv-request-card{border-radius:28px;padding:24px 20px}.rv-request-card h1{font-size:32px}.rv-request-summary,.rv-request-summary.compact{grid-template-columns:1fr}.rv-request-summary strong{font-size:18px}.rv-request-form input{height:58px}.rv-customer-button{height:60px}.rv-success-ad-wrap{border-radius:24px}}


/* Stage 8.5 - logo hard fix */
.rv-prod .rv-topbar{height:78px!important;overflow:hidden!important;}
.rv-prod .rv-topbar-left{height:78px!important;display:flex!important;align-items:center!important;gap:16px!important;}
.rv-prod .rv-brand{height:78px!important;display:flex!important;align-items:center!important;min-width:104px!important;width:104px!important;overflow:visible!important;}
.rv-prod .rv-brand img{display:block!important;height:48px!important;width:auto!important;max-width:104px!important;object-fit:contain!important;object-position:left center!important;}
.language-ar.rv-prod .rv-brand img{object-position:right center!important;}
.rv-prod .rv-env-pill{margin-left:10px!important;}
@media(max-width:900px){.rv-prod .rv-brand{min-width:86px!important;width:86px!important}.rv-prod .rv-brand img{height:40px!important;max-width:86px!important}.rv-prod .rv-env-pill{display:none!important}}
