/* app-ui.bundle.css: generated from app.css then ui-final.css to keep cascade order. */

/* ===== app.css ===== */
:root{
  --app-bg:#eef4f3;
  --app-bg-soft:#f7fbfb;
  --app-panel:#ffffff;
  --app-border:#d8e6e4;
  --app-border-strong:#bfd6d2;
  --app-shadow:0 16px 40px rgba(45,89,108,.10);
  --app-shadow-soft:0 8px 22px rgba(45,89,108,.08);
  --app-primary:#2d596c;
  --app-primary-soft:#5b7586;
  --app-secondary:#6c969c;
  --app-accent:#8fceba;
  --app-accent-soft:#afd0cc;
  --app-success:#7dcfb5;
  --app-warning:#f4d278;
  --app-danger:#ef8d87;
  --app-info:#8bc6d6;
  --app-ink:#21313d;
  --app-ink-soft:#55707b;
  --app-ink-muted:#7f939a;
  --app-white:#ffffff;
  --app-radius:22px;
}

html,body{max-width:100%;overflow-x:hidden}
body{
  background:linear-gradient(180deg,var(--app-bg) 0%,var(--app-bg-soft) 100%) !important;
  color:var(--app-ink) !important;
  font-family:'Cairo',Tahoma,Arial,sans-serif !important;
}

body, p, label, div, span, td, th, h1, h2, h3, h4, h5, h6, .logo-text, .page-subtitle, .note, .muted, .brand-note{
  color:var(--app-ink) !important;
}

.app-shell,.main-content{max-width:1280px !important;margin:0 auto !important;padding:24px !important}

.header{
  background:linear-gradient(135deg,var(--app-primary),var(--app-secondary)) !important;
  border-bottom:1px solid rgba(255,255,255,.18) !important;
  box-shadow:0 10px 28px rgba(45,89,108,.18) !important;
  backdrop-filter:blur(14px) !important;
}
.header *{color:#fff !important}
.logo,.header-brand,.brand{display:flex;align-items:center;gap:14px;min-width:0}
.logo-icon,.brand-icon,.logo-mark{
  width:52px !important;height:52px !important;border-radius:18px !important;
  background:linear-gradient(180deg,rgba(255,255,255,.20),rgba(255,255,255,.08)) !important;
  border:1px solid rgba(255,255,255,.26) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 12px 24px rgba(0,0,0,.12) !important;
  color:#fff !important;
}
.logo-text,.brand strong,.auth-title,.page-title,.section-title,.kpi strong,.hero-item span strong{font-weight:800 !important}
.logo-text{font-size:18px !important;line-height:1.35 !important}
.brand-note,.muted,.page-subtitle,.small-text,.inline-help,.mobile-scroll-note,.note{color:var(--app-ink-soft) !important}

.header-actions,.nav,.header-actions-wrap,.nav-row{
  display:flex !important;flex-wrap:wrap !important;align-items:center !important;gap:10px !important;
}
.nav-btn,.nav a{
  padding:11px 16px !important;
  border-radius:16px !important;
  border:1px solid rgba(255,255,255,.26) !important;
  background:rgba(255,255,255,.14) !important;
  color:#fff !important;
  font-weight:700 !important;
  text-decoration:none !important;
  box-shadow:none !important;
  transition:.18s ease !important;
}
.nav-btn:hover,.nav a:hover{transform:translateY(-1px) !important;background:rgba(255,255,255,.20) !important}
.nav-btn.active,.nav a.active{
  background:linear-gradient(135deg,var(--app-accent),var(--app-accent-soft)) !important;
  color:var(--app-primary) !important;
  border-color:rgba(255,255,255,.26) !important;
}
.logout-btn,.nav a[href*="logout"]{
  background:rgba(239,141,135,.20) !important;
  border-color:rgba(255,255,255,.16) !important;
  color:#fff !important;
}
.user-info{
  background:rgba(255,255,255,.18) !important;
  border:1px solid rgba(255,255,255,.24) !important;
  border-radius:18px !important;
  padding:9px 14px !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10) !important;
}
.user-avatar{background:linear-gradient(135deg,var(--app-accent),var(--app-secondary)) !important;color:var(--app-primary) !important}

.section-nav,.section-nav-wrap{
  background:rgba(255,255,255,.88) !important;
  border-bottom:1px solid var(--app-border) !important;
  box-shadow:0 8px 22px rgba(45,89,108,.08) !important;
  backdrop-filter:blur(14px) !important;
}
.section-nav-link{
  border-radius:16px !important;
  border:1px solid var(--app-border) !important;
  background:#fff !important;
  color:var(--app-primary) !important;
  font-weight:700 !important;
  box-shadow:var(--app-shadow-soft) !important;
}
.section-nav-link:hover,.section-nav-link.is-active{background:linear-gradient(135deg,var(--app-accent),#d8f1ea) !important;color:var(--app-primary) !important}

.glass-card,.app-card,.auth-card,.report-type-card,.report-type-grid > form,.kpi,.app-type-card,.hero-item,.floating-generate{
  background:var(--app-panel) !important;
  border:1px solid var(--app-border) !important;
  border-radius:var(--app-radius) !important;
  box-shadow:var(--app-shadow) !important;
  backdrop-filter:none !important;
}
.glass-card:hover,.app-card:hover,.app-type-card:hover{transform:none !important;box-shadow:0 18px 42px rgba(45,89,108,.12) !important}
.floating-generate{background:#fff !important}
.badge,.app-status-pill,.hero-item strong{
  display:inline-flex;align-items:center;gap:6px;border-radius:999px !important;
  padding:6px 12px !important;font-weight:800 !important;
}
.badge{background:linear-gradient(135deg,var(--app-accent),var(--app-accent-soft)) !important;color:var(--app-primary) !important}
.hero-item strong{background:#f0f8f6 !important;color:var(--app-primary) !important;font-size:12px !important;margin-bottom:10px !important}
.hero-item span{color:var(--app-ink) !important}

.app-status-pill.active{background:#e7f6f1 !important;color:#2f7c61 !important}
.app-status-pill.pending{background:#fff3d8 !important;color:#8a6821 !important}
.app-status-pill.suspended,.app-status-pill.inactive{background:#ffe4e1 !important;color:#9a3d38 !important}
.app-status-pill.rejected{background:#eef2f3 !important;color:#60727b !important}

.tbl{width:100% !important;border-collapse:separate !important;border-spacing:0 !important;border-radius:18px !important;overflow:hidden !important}
.tbl thead th{
  background:linear-gradient(135deg,var(--app-primary),var(--app-secondary)) !important;
  color:#fff !important;
  font-weight:800 !important;
  border-bottom:0 !important;
}
.tbl tbody td{background:#fff !important;color:var(--app-ink) !important;border-bottom:1px solid #edf2f1 !important}
.tbl tbody tr:nth-child(even) td{background:#fbfdfd !important}
.table-responsive{border-radius:18px !important;box-shadow:var(--app-shadow-soft) !important;background:#fff !important}

.form-input,.form-select,.field,select.field,input.field,textarea.field{
  width:100% !important;
  padding:14px 16px !important;
  border-radius:16px !important;
  border:1px solid var(--app-border-strong) !important;
  background:#fff !important;
  color:var(--app-ink) !important;
  box-shadow:inset 0 1px 2px rgba(45,89,108,.03) !important;
}
.form-input::placeholder,.field::placeholder{color:var(--app-ink-muted) !important}
.form-input:focus,.form-select:focus,.field:focus{
  outline:none !important;
  border-color:var(--app-secondary) !important;
  box-shadow:0 0 0 4px rgba(143,206,186,.22) !important;
}
.form-input:read-only{background:#f5f9f8 !important;color:var(--app-ink-soft) !important}
.form-group label,label.note{font-weight:800 !important;font-size:15px !important;line-height:1.7 !important;color:var(--app-primary) !important}
.required-star{color:#e46f67 !important}
.form-select{
  appearance:none !important;-webkit-appearance:none !important;-moz-appearance:none !important;
  background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%232d596c'%3e%3cpath d='M7 10l5 5 5-5z'/%3e%3c/svg%3e") !important;
  background-repeat:no-repeat !important;background-position:left 14px center !important;background-size:18px !important;
  padding-left:42px !important;
}
.form-select option{background:#fff !important;color:var(--app-ink) !important}

.btn,.btn-primary,.btn-secondary,.btn-alt,.btn-danger{
  border-radius:16px !important;
  padding:13px 20px !important;
  font-weight:800 !important;
  box-shadow:none !important;
}
.btn,.btn-primary{
  background:linear-gradient(135deg,var(--app-secondary),var(--app-primary)) !important;
  color:#fff !important;
}
.btn-secondary,.btn-alt{
  background:linear-gradient(135deg,var(--app-accent),var(--app-accent-soft)) !important;
  color:var(--app-primary) !important;
  border:1px solid rgba(45,89,108,.10) !important;
}
.btn-danger{background:linear-gradient(135deg,#f2a8a2,#e37c77) !important;color:#fff !important}
.btn:hover{transform:translateY(-1px) !important}
.app-form-actions{display:flex;flex-wrap:wrap;gap:10px}

.app-flash,.app-message-box,.app-guidance-item,.app-toast{
  border-radius:18px !important;
  border:1px solid var(--app-border) !important;
  box-shadow:var(--app-shadow-soft) !important;
}
.app-flash{margin:14px 0 !important;padding:14px 16px !important;background:#fff !important;color:var(--app-ink) !important}
.app-flash-success{background:#ecf8f3 !important;border-color:#c8eadf !important;color:#2f7c61 !important}
.app-flash-error{background:#fff0ef !important;border-color:#f5cbc8 !important;color:#a24843 !important}
.app-flash-warning{background:#fff7df !important;border-color:#f0dfad !important;color:#8a6821 !important}
.app-flash-info{background:#eef8fb !important;border-color:#cbe4ec !important;color:#2c6175 !important}

.app-message-box{display:none;background:#fff !important;padding:14px 16px !important;color:var(--app-ink) !important}
.app-message-box.is-visible{display:flex !important;gap:14px;align-items:flex-start}
.app-message-badge{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;font-size:12px;font-weight:800;white-space:nowrap}
.app-message-copy{line-height:1.8;color:var(--app-ink) !important;font-weight:700}
.app-message-box.success{background:#ecf8f3 !important;border-color:#c8eadf !important}
.app-message-box.success .app-message-badge{background:#d9f1e7;color:#2f7c61}
.app-message-box.error{background:#fff0ef !important;border-color:#f5cbc8 !important}
.app-message-box.error .app-message-badge{background:#ffd9d6;color:#a24843}
.app-message-box.warning{background:#fff7df !important;border-color:#f0dfad !important}
.app-message-box.warning .app-message-badge{background:#ffedb8;color:#8a6821}
.app-message-box.info{background:#eef8fb !important;border-color:#cbe4ec !important}
.app-message-box.info .app-message-badge{background:#d8ecf2;color:#2c6175}

.app-guidance{display:grid;gap:12px;margin-top:14px}
.app-guidance-item{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:flex-start;padding:14px 16px !important;background:#fff !important;color:var(--app-ink) !important}
.app-guidance-item i{margin-top:3px;flex:0 0 auto;color:var(--app-primary) !important}
.app-guidance-copy{line-height:1.8;color:var(--app-ink) !important;font-weight:700}
.app-guidance-item.info{background:#eef8fb !important;border-color:#cbe4ec !important}
.app-guidance-item.success{background:#ecf8f3 !important;border-color:#c8eadf !important}
.app-guidance-item.warning{background:#fff7df !important;border-color:#f0dfad !important}
.app-guidance-item.error{background:#fff0ef !important;border-color:#f5cbc8 !important}

.app-toast-stack{position:fixed;top:20px;right:20px;left:auto;bottom:auto;display:grid;gap:10px;z-index:1400;max-width:min(420px,calc(100vw - 24px))}
.app-toast{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:flex-start;padding:14px 16px !important;background:#fff !important;color:var(--app-ink) !important;transform:translateY(-8px);opacity:0;transition:.22s ease}
.app-toast.is-visible{transform:translateY(0);opacity:1}
.app-toast-icon{width:42px;height:42px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:#eef8fb;color:var(--app-primary)}
.app-toast.success .app-toast-icon{background:#d9f1e7;color:#2f7c61}
.app-toast.warning .app-toast-icon{background:#ffedb8;color:#8a6821}
.app-toast.error .app-toast-icon{background:#ffd9d6;color:#a24843}
.app-toast-title{font-weight:800;color:var(--app-primary);margin-bottom:2px}
.app-toast-text{line-height:1.7;color:var(--app-ink)}
.app-toast-close{border:0;background:transparent;color:var(--app-ink-muted);cursor:pointer;padding:2px}

.app-progress-overlay{position:fixed;top:20px;left:20px;right:auto;bottom:auto;background:transparent;display:none;align-items:flex-start;justify-content:flex-start;z-index:1450;padding:0;pointer-events:none}
.app-progress-overlay.is-visible{display:flex}
.app-progress-card{width:min(360px,calc(100vw - 40px));background:#fff !important;border:1px solid var(--app-border) !important;border-radius:22px !important;padding:16px 18px !important;box-shadow:0 18px 40px rgba(45,89,108,.16) !important;color:var(--app-ink) !important}
.app-progress-head{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:flex-start}
.app-progress-icon{width:44px;height:44px;border-radius:16px;background:#d8ecf2;color:var(--app-primary);display:flex;align-items:center;justify-content:center;font-size:18px}
.app-progress-title{font-size:17px !important;font-weight:800 !important;color:var(--app-primary) !important;margin-bottom:4px}
.app-progress-text{font-size:13px !important;color:var(--app-ink-soft) !important;line-height:1.7 !important}
.app-progress-bar{height:10px !important;background:#edf4f3 !important;border-radius:999px !important;overflow:hidden !important;margin-top:14px !important}
.app-progress-bar span{display:block;height:100%;width:0%;background:linear-gradient(90deg,var(--app-secondary),var(--app-accent)) !important;transition:width .2s ease !important}
.app-progress-percent{margin-top:8px !important;font-weight:800 !important;text-align:left !important;direction:ltr !important;color:var(--app-primary) !important}

.app-report-types{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
.app-type-card{padding:22px !important;color:var(--app-ink) !important;text-decoration:none !important}
.app-type-card.disabled{opacity:.55;pointer-events:none}
.auth-wrap{width:min(100%,480px)}
.auth-card{padding:28px !important}
.auth-links a{color:var(--app-primary) !important;background:#fff;padding:10px 14px;border-radius:14px;border:1px solid var(--app-border);box-shadow:var(--app-shadow-soft)}
.kpis,.hero-strip,.form-grid{gap:16px !important}
.kpi,.hero-item{padding:18px !important}

.table-responsive,.section-nav-inner,.header-actions,.search-results-dropdown,.app-scroll-x{overflow:auto;scrollbar-width:thin}
*::-webkit-scrollbar{width:10px;height:10px}
*::-webkit-scrollbar-track{background:#edf4f3;border-radius:999px}
*::-webkit-scrollbar-thumb{background:#b7d5cf;border-radius:999px;border:2px solid #edf4f3}

@media (max-width: 1024px){
  .app-shell,.main-content{padding:18px 14px !important}
  .header{padding:14px 16px !important;flex-direction:column !important;align-items:flex-start !important}
  .nav,.header-actions{width:100% !important}
  .nav-btn,.nav a{justify-content:center !important}
  .tbl th,.tbl td{white-space:nowrap !important}
}
@media (max-width: 640px){
  .app-shell,.main-content{padding:14px 12px 96px !important}
  .header-actions,.nav{display:flex !important;flex-wrap:nowrap !important;overflow:auto !important;padding-bottom:4px}
  .nav-btn,.nav a{flex:0 0 auto !important;min-width:max-content !important}
  .user-info{width:100% !important}
  .app-form-actions .btn,.app-form-actions button{width:100% !important}
  .app-toast-stack{top:12px;right:12px;left:12px;max-width:none}
  .app-progress-overlay{top:12px;left:12px;right:12px}
  .app-progress-card{width:100%}
}


body.app-has-sidebar{padding-right:296px;min-height:100vh}
body.app-has-sidebar .app-shell,
body.app-has-sidebar .main-content{max-width:none !important;margin:0 !important;padding:24px 28px !important}
body.app-has-sidebar .header{margin:16px 28px 0 !important;border-radius:28px !important;position:sticky !important;top:16px !important;z-index:90 !important}
body.app-has-sidebar .header-actions .nav-btn,
body.app-has-sidebar .header .nav a{display:none !important}
body.app-has-sidebar .header-actions{margin-inline-start:auto !important}
body.app-has-sidebar .header .nav{display:none !important}
body.app-has-sidebar .section-nav,
body.app-has-sidebar .section-nav-wrap{right:296px;left:0;width:auto}
body.app-has-sidebar .main-content{padding-top:20px !important}

.app-sidebar-toggle{display:none;position:fixed;top:18px;right:18px;z-index:1300;width:52px;height:52px;border:0;border-radius:18px;background:linear-gradient(135deg,var(--app-primary),var(--app-secondary));color:#fff;box-shadow:0 18px 36px rgba(45,89,108,.22);cursor:pointer}
.app-mobile-top-tools{display:none;gap:10px;align-items:center;position:fixed;top:14px;right:14px;z-index:1300;direction:ltr}
.app-mobile-progress-chip{display:none;min-width:58px;height:40px;padding:0 12px;border:0;border-radius:14px;background:#ffffff;color:var(--app-primary);box-shadow:0 14px 30px rgba(15,23,42,.18);font-weight:800;font-size:13px;cursor:pointer}
.app-mobile-progress-chip.is-visible{display:inline-flex;align-items:center;justify-content:center}
.app-mobile-progress-chip.is-complete{background:#e6f6ed;color:#17643a}
.app-sidebar-overlay{position:fixed;inset:0;background:rgba(12,29,38,.32);backdrop-filter:blur(2px);opacity:0;pointer-events:none;transition:.2s ease;z-index:1190}
.app-sidebar{position:fixed;top:0;right:0;bottom:0;width:272px;background:linear-gradient(180deg,#244c5d 0%,#356b75 56%,#89cdb8 100%);padding:22px 16px 18px;display:flex;flex-direction:column;gap:18px;box-shadow:-18px 0 44px rgba(23,48,60,.20);z-index:1200;color:#fff}
.app-sidebar *{color:#fff !important}
.app-sidebar-brand{display:flex;align-items:center;gap:12px;padding:8px 8px 18px;border-bottom:1px solid rgba(255,255,255,.16)}
.app-sidebar-brand-icon{width:54px;height:54px;border-radius:20px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.20);font-size:20px;box-shadow:inset 0 1px 0 rgba(255,255,255,.18)}
.app-sidebar-brand-title{font-size:18px;font-weight:800;line-height:1.2}
.app-sidebar-brand-subtitle{font-size:12px;color:rgba(255,255,255,.78) !important;margin-top:4px}
.app-sidebar-user{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.12);border-radius:22px;padding:12px 14px}
.app-sidebar-user-avatar{width:46px;height:46px;border-radius:16px;background:rgba(255,255,255,.16);display:flex;align-items:center;justify-content:center}
.app-sidebar-user-name{font-weight:800;font-size:15px}
.app-sidebar-user-role{font-size:12px;color:rgba(255,255,255,.82) !important;margin-top:2px}
.app-sidebar-nav,.app-sidebar-footer{display:grid;gap:10px}
.app-sidebar-nav{margin-top:4px}
.app-sidebar-footer{margin-top:auto;padding-top:14px;border-top:1px solid rgba(255,255,255,.16)}
.app-side-link{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;padding:12px 14px;border-radius:18px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);text-decoration:none !important;font-weight:800 !important;transition:.18s ease}
.app-side-link:hover{transform:translateX(-2px);background:rgba(255,255,255,.14)}
.app-side-link.active{background:#ffffff !important;border-color:#ffffff !important;box-shadow:0 16px 32px rgba(14,32,41,.18)}
.app-side-link.active .app-side-link-text,.app-side-link.active .app-side-link-icon{color:var(--app-primary) !important}
.app-side-link-icon{width:42px;height:42px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.12);font-size:16px}
.app-side-link.active .app-side-link-icon{background:#e9f6f2 !important}
.app-side-link-text{line-height:1.3}

@media (max-width: 1200px){
  body.app-has-sidebar{padding-right:280px}
  body.app-has-sidebar .section-nav,body.app-has-sidebar .section-nav-wrap{right:280px}
  .app-sidebar{width:256px}
}
@media (max-width: 900px){
  body.app-has-sidebar{padding-right:0}
  body.app-has-sidebar .app-shell,
  body.app-has-sidebar .main-content{padding:18px 14px !important}
  .app-mobile-top-tools{display:flex}
  body.app-has-sidebar .header{margin:74px 14px 0 !important;border-radius:24px !important}
  body.app-has-sidebar .section-nav,body.app-has-sidebar .section-nav-wrap{right:0}
  .app-sidebar-toggle{display:flex;align-items:center;justify-content:center;position:static;top:auto;right:auto;flex:0 0 52px}
  .app-sidebar{transform:translateX(100%);transition:transform .22s ease;width:min(84vw,320px)}
  body.app-sidebar-open .app-sidebar{transform:translateX(0)}
  body.app-sidebar-open .app-sidebar-overlay{opacity:1;pointer-events:auto}
  #report_completion{display:none !important}
}
@media (max-width: 640px){
  body.app-has-sidebar .header{margin:74px 12px 0 !important}
  body.app-has-sidebar .app-shell,
  body.app-has-sidebar .main-content{padding:14px 12px 96px !important}
  .app-mobile-top-tools{top:12px;right:12px}
  .app-sidebar-toggle{top:auto;right:auto}
  .app-sidebar{padding:18px 14px 16px}
  .app-side-link{padding:11px 12px}
  .app-mobile-progress-chip{min-width:56px;height:38px;font-size:12px;padding:0 10px}
}

/* ===== v6 theme and responsiveness overrides ===== */
:root{
  --app-primary:#0a4975;
  --app-secondary:#5e8fb7;
  --app-secondary-soft:#adc7d8;
  --app-surface:#e8e1d8;
  --app-rose:#d8bcb8;
  --app-mauve:#c4adb5;
  --app-bg:#f4f0eb;
  --app-bg-soft:#f8f5f2;
  --app-panel:#ffffff;
  --app-border:#d7d0c8;
  --app-border-strong:#bfc7cf;
  --app-shadow:0 14px 30px rgba(10,73,117,.10);
  --app-shadow-soft:0 8px 18px rgba(10,73,117,.08);
  --app-accent:#5e8fb7;
  --app-accent-soft:#adc7d8;
  --app-success:#dce9e3;
  --app-warning:#f2e6c9;
  --app-danger:#f0dbd8;
  --app-info:#e0eaf1;
  --app-ink:#223844;
  --app-ink-soft:#516572;
  --app-ink-muted:#788a95;
}

body{
  background:linear-gradient(180deg,var(--app-bg) 0%,var(--app-bg-soft) 100%) !important;
  color:var(--app-ink) !important;
}

.header,
body.app-has-sidebar .header{
  background:var(--app-primary) !important;
  border:1px solid rgba(255,255,255,.10) !important;
  box-shadow:0 10px 22px rgba(10,73,117,.14) !important;
  backdrop-filter:none !important;
}
.header::before,.header::after,
.app-sidebar::before,.app-sidebar::after,
.logo-icon::before,.brand-icon::before,
.logo-mark::before{display:none !important;content:none !important}

.logo-icon,.brand-icon,.logo-mark{
  background:rgba(255,255,255,.12) !important;
  border:1px solid rgba(255,255,255,.18) !important;
  box-shadow:none !important;
}

.app-header-brand,
.logo,
.header-brand,
.brand{
  display:flex !important;
  align-items:center !important;
  gap:14px !important;
  min-width:0 !important;
}

.app-header-logo,
.app-auth-logo{
  width:52px;
  height:52px;
  border-radius:50%;
  object-fit:cover;
  object-position:center;
  border:3px solid rgba(255,255,255,.28);
  background:#fff;
  box-shadow:none;
  flex:0 0 auto;
}
.app-auth-logo{
  border-color:rgba(10,73,117,.16);
}
.app-header-brand-copy,
.logo-text,
.brand strong{min-width:0}
.app-header-brand-copy small,
.logo-text small,
.brand-note{display:block;margin-top:4px;font-size:12px;font-weight:700;color:rgba(255,255,255,.74) !important}

.app-sidebar{
  background:var(--app-primary) !important;
  box-shadow:-16px 0 30px rgba(10,73,117,.16) !important;
}
.app-sidebar-brand{
  border-bottom:1px solid rgba(255,255,255,.10) !important;
  padding-bottom:16px !important;
}
.app-sidebar-brand-title{font-size:17px !important}
.app-sidebar-brand-subtitle{color:rgba(255,255,255,.72) !important}
.app-sidebar-user,
.app-side-link,
.app-side-link-icon{
  background:rgba(255,255,255,.08) !important;
  border-color:rgba(255,255,255,.10) !important;
  box-shadow:none !important;
}
.app-side-link:hover{background:rgba(255,255,255,.14) !important;transform:none !important}
.app-side-link.active{
  background:var(--app-surface) !important;
  border-color:var(--app-surface) !important;
}
.app-side-link.active .app-side-link-text,
.app-side-link.active .app-side-link-icon{color:var(--app-primary) !important}
.app-side-link.active .app-side-link-icon{background:#fff !important}
.app-sidebar-toggle{
  background:var(--app-primary) !important;
  box-shadow:0 12px 24px rgba(10,73,117,.18) !important;
}

.section-nav,.section-nav-wrap{
  background:rgba(255,255,255,.92) !important;
  box-shadow:0 6px 14px rgba(10,73,117,.06) !important;
}
.section-nav-link{
  background:#fff !important;
  border-color:#d9d0c7 !important;
  color:var(--app-primary) !important;
  box-shadow:none !important;
}
.section-nav-link:hover,.section-nav-link.is-active{
  background:var(--app-secondary-soft) !important;
  color:var(--app-primary) !important;
}

.glass-card,.app-card,.auth-card,.report-type-card,.report-type-grid>form,.kpi,.app-type-card,.hero-item,.floating-generate{
  background:rgba(255,255,255,.96) !important;
  border-color:#ddd5cc !important;
  box-shadow:var(--app-shadow) !important;
}
.badge{background:var(--app-secondary-soft) !important;color:var(--app-primary) !important}
.hero-item strong{background:var(--app-info) !important;color:var(--app-primary) !important}

.tbl thead th{
  background:var(--app-secondary) !important;
  color:#fff !important;
}
.tbl tbody td{background:#fff !important}
.tbl tbody tr:nth-child(even) td{background:#fbfaf8 !important}
.table-responsive,.table-container{
  overflow:auto !important;
  max-width:100% !important;
  border-radius:18px !important;
  background:#fff !important;
  box-shadow:var(--app-shadow-soft) !important;
}
.table-container table,.table-responsive table{min-width:760px}

.form-input,.form-select,.field,select.field,input.field,textarea.field,
#region_id,#hospital_id,#hospital_region,#doctor_id,
#hospital_ownership_type,#hospital_logo_source{
  background:#fff !important;
  color:var(--app-ink) !important;
  border-color:var(--app-border-strong) !important;
}
.form-input::placeholder,.field::placeholder{color:var(--app-ink-muted) !important}
.form-input:read-only{background:#f7f3ee !important}

.btn,.btn-primary{
  background:var(--app-primary) !important;
  color:#fff !important;
}
.btn-secondary,.btn-alt{
  background:var(--app-secondary-soft) !important;
  color:var(--app-primary) !important;
}
.btn-danger{background:#cf938d !important;color:#fff !important}
.nav-btn,.nav a{
  background:rgba(255,255,255,.12) !important;
  border-color:rgba(255,255,255,.14) !important;
}
.nav-btn.active,.nav a.active{
  background:var(--app-surface) !important;
  color:var(--app-primary) !important;
}
.logout-btn,.nav a[href*="logout"]{background:rgba(216,188,184,.28) !important;color:#fff !important}
.user-info{background:rgba(255,255,255,.14) !important;border-color:rgba(255,255,255,.10) !important;box-shadow:none !important}
.user-avatar{background:var(--app-secondary-soft) !important;color:var(--app-primary) !important}

.app-flash,.app-message-box,.app-guidance-item,.app-toast,.app-progress-card{
  box-shadow:var(--app-shadow-soft) !important;
}
.app-message-box.info,.app-guidance-item.info{background:var(--app-info) !important;border-color:#d0dde7 !important}
.app-message-box.success,.app-guidance-item.success{background:var(--app-success) !important;border-color:#cadcd4 !important}
.app-message-box.warning,.app-guidance-item.warning{background:var(--app-warning) !important;border-color:#e4d8b8 !important}
.app-message-box.error,.app-guidance-item.error{background:var(--app-danger) !important;border-color:#e0c4c0 !important}
.app-toast-title,.app-progress-title,.section-title,.page-title,.auth-title{color:var(--app-primary) !important}
.app-progress-bar{background:#efe8de !important}
.app-progress-bar span{background:linear-gradient(90deg,var(--app-primary),var(--app-secondary)) !important}

/* Auth pages */
body.app-auth-page{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
}
.auth-wrap,.wrap{width:min(100%,560px) !important;margin:0 auto !important}
.auth-card,.card{
  padding:32px 28px !important;
  background:rgba(255,255,255,.96) !important;
  border-radius:28px !important;
  border:1px solid #ddd5cc !important;
  box-shadow:0 20px 40px rgba(10,73,117,.12) !important;
}
.auth-card-head,.card-head{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.auth-sub,.card-subtitle{color:var(--app-ink-soft) !important;margin:0 0 22px !important}
.auth-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.auth-links a{background:#fff !important;color:var(--app-primary) !important;border-color:#ddd5cc !important;box-shadow:none !important}
body.app-auth-page .form-group label,
body.app-auth-page p,
body.app-auth-page div,
body.app-auth-page span{color:var(--app-ink) !important}

/* Completion tracker */
.app-completion{display:grid;gap:10px;margin:0 0 20px;padding:16px 18px;background:#fff;border:1px solid #ddd5cc;border-radius:20px;box-shadow:var(--app-shadow-soft)}
.app-completion-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.app-completion-title{font-weight:800;color:var(--app-primary) !important}
.app-completion-status{font-size:13px;font-weight:700;color:var(--app-ink-soft) !important}
.app-completion-bar{height:12px;border-radius:999px;overflow:hidden;background:#eee6dc}
.app-completion-bar span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--app-secondary),var(--app-primary));transition:width .22s ease}
.app-completion-meta{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:13px;color:var(--app-ink-soft) !important}

/* Header-only logo enforcement */
.logo-container,.site-logo{display:none !important}
.app-sidebar-brand-icon{display:none !important}

/* Page-specific responsiveness */
.app-page-admin .app-grid,
.app-page-manage .content-grid,
.app-page-manage .form-grid{gap:14px !important}
.app-page-admin .subform form,
.app-page-admin .subform,
.app-page-manage .actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.app-page-admin .subform .field{min-width:0 !important;flex:1 1 180px}
.app-page-manage .actions .btn,.app-page-admin .subform button{flex:0 0 auto}
.app-page-admin .tbl td form{width:100%}
.app-page-manage .logo-preview-frame{background:#f9f6f2 !important;border-color:#ddd5cc !important}

@media (max-width: 1100px){
  .app-page-admin .kpis{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  .app-page-admin .app-grid.app-two-col{grid-template-columns:1fr !important}
}
@media (max-width: 900px){
  .app-page-admin .tbl,.app-page-manage table{font-size:13px !important}
  .app-page-admin .header-brand strong,.app-page-manage .logo-text,.app-page-report .logo-text,.app-page-statement .logo-text{font-size:16px !important}
  .app-page-admin .nav,.app-page-manage .header-actions,.app-page-report .header-actions,.app-page-statement .header-actions,.app-page-report_types .nav{gap:8px !important}
}
@media (max-width: 760px){
  body.app-has-sidebar .header{border-radius:22px !important}
  .app-page-admin .kpis{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  .app-page-admin .kpi{padding:14px !important}
  .app-page-admin .kpi strong{font-size:22px !important}
  .app-page-admin .subform,
  .app-page-admin .subform form,
  .app-page-manage .actions{flex-direction:column;align-items:stretch !important}
  .app-page-admin .subform .field,
  .app-page-admin .subform button,
  .app-page-manage .actions .btn{width:100% !important}
  .app-page-admin .table-responsive,
  .app-page-manage .table-container{position:relative;padding-bottom:8px}
  .app-page-admin .table-responsive::after,
  .app-page-manage .table-container::after{
    content:'اسحب لعرض بقية الأعمدة';
    display:block;
    position:sticky;
    right:0;
    margin:10px 12px 0;
    width:max-content;
    padding:6px 12px;
    border-radius:999px;
    background:var(--app-surface);
    color:var(--app-primary);
    font-size:12px;
    font-weight:800;
  }
  .app-page-manage .form-grid,
  .app-page-admin .app-grid{grid-template-columns:1fr !important}
  .app-page-manage .form-group,
  .app-page-admin .app-card[style*='grid-column']{grid-column:auto !important}
}
@media (max-width: 640px){
  .app-header-logo,.app-auth-logo{width:44px;height:44px}
  .app-completion{padding:14px 14px 12px}
  .app-completion-meta{display:grid;grid-template-columns:1fr;gap:6px}
  .auth-card,.card{padding:24px 18px !important;border-radius:24px !important}
  .auth-links a{width:100%;text-align:center}
  .app-page-admin .kpis{grid-template-columns:1fr !important}
  .app-page-admin .header,
  .app-page-manage .header,
  .app-page-report .header,
  .app-page-statement .header,
  .app-page-report_types .header{padding:14px !important}
}



/* ===== v7 auth + page header refinements ===== */
:root{
  --auth-dark:#0a4975;
  --auth-mid:#5e8fb7;
  --auth-light:#adc7d8;
  --auth-cream:#e8e1d8;
  --auth-rose:#d8bcb8;
  --auth-mauve:#c4adb5;
}

body.app-auth-page{
  min-height:100vh;
  display:block !important;
  padding:32px 20px !important;
  background:
    radial-gradient(circle at top left, rgba(173,199,216,.38), transparent 30%),
    radial-gradient(circle at bottom right, rgba(196,173,181,.22), transparent 28%),
    linear-gradient(180deg, #edf3f7 0%, #f6f2ef 100%) !important;
}
.auth-shell{
  width:min(1120px,100%);
  min-height:calc(100vh - 64px);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr);
  background:rgba(255,255,255,.55);
  border:1px solid rgba(255,255,255,.7);
  border-radius:36px;
  overflow:hidden;
  box-shadow:0 30px 70px rgba(10,73,117,.12);
  backdrop-filter:blur(10px);
}
.auth-shell-register{grid-template-columns:minmax(0,1fr) minmax(460px,.96fr)}
.auth-panel{position:relative;min-width:0}
.auth-panel-hero{
  background:linear-gradient(135deg, rgba(173,199,216,.88) 0%, rgba(230,238,245,.92) 54%, rgba(245,241,239,.94) 100%);
  padding:54px 54px 42px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.auth-panel-form{
  background:rgba(249,248,247,.88);
  padding:40px 36px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.auth-wave{
  position:absolute;
  left:-8%;
  right:-8%;
  bottom:-8%;
  height:42%;
  border-radius:50% 50% 0 0/100% 100% 0 0;
  pointer-events:none;
}
.auth-wave-one{background:rgba(173,199,216,.40);transform:translateY(10px) rotate(-5deg)}
.auth-wave-two{background:rgba(216,188,184,.34);transform:translateY(46px) rotate(3deg)}
.auth-wave-three{background:rgba(196,173,181,.26);transform:translateY(76px) rotate(-2deg)}
.auth-hero-content{position:relative;z-index:1;max-width:460px;display:grid;gap:28px}
.auth-hero-logo-ring{
  width:176px;height:176px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(255,255,255,.82);
  box-shadow:0 14px 34px rgba(10,73,117,.12);
}
.auth-hero-logo{width:138px;height:138px;object-fit:contain}
.auth-hero-copy h1{
  margin:0 0 14px;
  color:var(--auth-dark) !important;
  font-size:clamp(2.2rem, 3vw, 3.5rem);
  line-height:1.25;
  font-weight:800;
}
.auth-hero-copy p{
  margin:0;
  color:#416372 !important;
  font-size:clamp(1.05rem,1.6vw,1.35rem);
  line-height:1.95;
}
.auth-hero-points{display:flex;flex-wrap:wrap;gap:10px}
.auth-hero-points span{
  display:inline-flex;align-items:center;gap:8px;
  padding:10px 14px;border-radius:999px;
  background:rgba(255,255,255,.56);
  border:1px solid rgba(255,255,255,.7);
  color:var(--auth-dark) !important;
  font-weight:700;
}
.auth-form-card{
  width:min(100%,470px);
  background:rgba(255,255,255,.98);
  border-radius:32px;
  border:1px solid rgba(219,213,206,.9);
  box-shadow:0 18px 42px rgba(10,73,117,.12);
  padding:30px 34px 26px;
}
.auth-form-card-register{width:min(100%,520px)}
.auth-form-brand{display:flex;justify-content:center;margin-bottom:14px}
.app-auth-logo{
  width:102px !important;height:102px !important;border-radius:50% !important;
  padding:10px;background:#fff;border:1px solid rgba(173,199,216,.76) !important;
  box-shadow:0 10px 28px rgba(10,73,117,.08) !important;
}
.auth-form-head{text-align:center;margin-bottom:20px}
.auth-title{margin:0 0 8px;font-size:clamp(2rem, 3vw, 2.7rem)}
.auth-sub{margin:0 !important;color:var(--app-ink-soft) !important;line-height:1.85}
.auth-form-grid{display:grid;gap:16px}
.auth-input-wrap{
  position:relative;display:flex;align-items:center;
  background:#fff;border:1px solid var(--app-border-strong);
  border-radius:18px;padding-inline:14px;
  transition:border-color .18s ease, box-shadow .18s ease;
}
.auth-input-wrap:focus-within{border-color:var(--auth-mid);box-shadow:0 0 0 4px rgba(173,199,216,.24)}
.auth-input-icon{
  color:var(--auth-mid) !important;
  display:inline-flex;align-items:center;justify-content:center;
  width:32px;height:32px;flex:0 0 32px;
}
.auth-input{
  border:0 !important;
  box-shadow:none !important;
  background:transparent !important;
  padding:14px 10px !important;
}
.auth-input:focus{box-shadow:none !important}
.auth-toggle-password{
  border:0;background:transparent;color:var(--auth-mid);
  width:36px;height:36px;border-radius:12px;cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;
}
.auth-form-links-row{display:flex;justify-content:flex-start}
.auth-form-links-row a,.auth-links-inline a{
  color:var(--auth-dark) !important;text-decoration:none;font-weight:700;
}
.auth-form-links-row a:hover,.auth-links-inline a:hover{text-decoration:underline}
.auth-submit-btn{
  min-height:56px;
  border-radius:18px !important;
  font-size:1.2rem;
  background:linear-gradient(135deg, var(--auth-mid), var(--auth-dark)) !important;
}
.auth-footer-note{
  margin-top:18px;
  text-align:center;
  color:var(--app-ink-soft);
  font-size:.95rem;
}
.auth-links-inline{justify-content:center;margin-top:18px}
.auth-links-inline a{width:auto !important;background:transparent !important;border:none !important;padding:0 !important}
body.app-auth-page .app-flash{margin-bottom:16px !important}
body.app-auth-page .app-flash + .auth-form-grid{margin-top:4px}

.app-page-header{
  margin:16px 28px 0;
  padding:18px 20px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  background:rgba(255,255,255,.94);
  border:1px solid rgba(215,208,200,.96);
  border-radius:28px;
  box-shadow:0 16px 34px rgba(10,73,117,.08);
  position:sticky;
  top:16px;
  z-index:90;
}
.app-page-header-main,
.app-page-header-side{
  display:flex;align-items:center;gap:16px;min-width:0;
}
.app-page-header-side{margin-inline-start:auto;justify-content:flex-end;flex-wrap:wrap}
.app-page-header .app-header-brand{gap:14px}
.app-page-header .app-header-logo{
  width:58px !important;height:58px !important;border-radius:50% !important;
  background:#fff;border:1px solid rgba(173,199,216,.9) !important;
  box-shadow:0 8px 24px rgba(10,73,117,.08) !important;
}
.app-page-header .app-header-brand-copy strong{
  display:block;font-size:1.22rem;color:var(--auth-dark) !important;
}
.app-page-header .app-header-brand-copy small{
  margin-top:4px;font-size:.88rem;color:var(--app-ink-soft) !important;
}
.app-page-user-chip{
  display:flex;align-items:center;gap:10px;
  padding:8px 12px;border-radius:18px;
  background:linear-gradient(135deg, rgba(173,199,216,.22), rgba(232,225,216,.42));
  border:1px solid rgba(173,199,216,.44);
}
.app-page-user-avatar{
  width:40px;height:40px;border-radius:14px;
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--auth-dark);color:#fff;
}
.app-page-user-meta{display:grid}
.app-page-user-meta strong{font-size:.95rem;color:var(--auth-dark) !important}
.app-page-user-meta small{font-size:.8rem;color:var(--app-ink-soft) !important}
.app-page-header-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.app-top-action{
  display:inline-flex;align-items:center;gap:8px;
  min-height:44px;padding:0 14px;border-radius:16px;
  text-decoration:none;font-weight:800;
  background:#fff;color:var(--auth-dark) !important;
  border:1px solid rgba(173,199,216,.56);
  box-shadow:none;
}
.app-top-action:hover{background:rgba(173,199,216,.18)}
.app-top-action.active{background:var(--auth-light);border-color:var(--auth-light)}
.app-top-action-logout{background:rgba(216,188,184,.24)}
body.app-has-sidebar .app-shell,
body.app-has-sidebar .main-content{padding-top:18px !important}
body.app-has-sidebar .header{display:none !important}

.app-sidebar{
  background:linear-gradient(180deg, #0a4975 0%, #124f76 52%, #5e8fb7 100%) !important;
  box-shadow:-18px 0 36px rgba(10,73,117,.18) !important;
}
.app-sidebar::before{display:none !important}
.app-sidebar-brand{padding:4px 0 18px !important}
.app-sidebar-brand-title{font-size:1.08rem !important}
.app-sidebar-brand-subtitle{font-size:.82rem !important}
.app-sidebar-user{
  padding:14px !important;border-radius:22px !important;
  background:rgba(255,255,255,.10) !important;
}
.app-side-link{
  min-height:54px;border-radius:18px !important;
}
.app-side-link-icon{
  width:40px;height:40px;border-radius:14px !important;
}
.app-sidebar-toggle{top:18px !important}

.app-page-report_types .app-shell{padding-top:18px !important}
.app-page-report_types .app-card:first-child{padding:26px !important}

@media (max-width: 1100px){
  .auth-shell{grid-template-columns:1fr}
  .auth-panel-hero{min-height:320px;padding:42px 30px 100px}
  .auth-panel-form{padding:0 22px 28px;transform:translateY(-44px)}
  .auth-form-card,.auth-form-card-register{width:min(100%,720px)}
  body.app-auth-page{padding:18px 12px}
}
@media (max-width: 900px){
  body.app-has-sidebar{padding-right:0 !important}
  .app-page-header{
    margin:72px 14px 0;
    padding:16px;
    top:14px;
    border-radius:24px;
    flex-direction:column;
    align-items:stretch;
  }
  .app-page-header-side{
    margin-inline-start:0;
    justify-content:flex-start;
  }
  .app-page-header-actions{justify-content:flex-start}
  .app-page-user-chip{width:100%}
  body.app-has-sidebar .app-shell,
  body.app-has-sidebar .main-content{padding:16px 14px 90px !important}
}
@media (max-width: 640px){
  .auth-shell{min-height:auto;border-radius:26px}
  .auth-panel-hero{padding:30px 18px 94px}
  .auth-hero-logo-ring{width:132px;height:132px}
  .auth-hero-logo{width:102px;height:102px}
  .auth-form-card,.auth-form-card-register{padding:24px 18px 20px;border-radius:24px}
  .app-auth-logo{width:84px !important;height:84px !important}
  .auth-title{font-size:2rem !important}
  .auth-submit-btn{min-height:52px;font-size:1.08rem}
  .app-page-header .app-header-logo{width:50px !important;height:50px !important}
  .app-top-action{width:100%;justify-content:center}
  .app-page-header-actions{display:grid;grid-template-columns:1fr;gap:8px;width:100%}
}

/* ===== v8 header/sidebar/quick-nav refinement ===== */
:root{
  --app-header-height: 88px;
  --app-quickbar-height: 66px;
}

body.app-has-sidebar{
  background: linear-gradient(180deg, #f2f0ec 0%, #f8f5f1 100%) !important;
}

body.app-has-sidebar .app-shell,
body.app-has-sidebar .main-content{
  max-width: none !important;
  padding: 14px 22px 28px !important;
}

body.app-has-sidebar .main-content{
  padding-top: 10px !important;
}

.app-page-header{
  margin: 12px 22px 0 !important;
  min-height: var(--app-header-height) !important;
  padding: 14px 18px !important;
  border-radius: 24px !important;
  background: rgba(255,255,255,.96) !important;
  border: 1px solid rgba(190, 205, 217, .86) !important;
  box-shadow: 0 10px 24px rgba(10,73,117,.08) !important;
  top: 12px !important;
}

.app-page-header .app-header-brand-copy strong{
  font-size: 1.16rem !important;
}

.app-page-header .app-header-brand-copy small{
  font-size: .82rem !important;
}

.app-page-header-side{
  gap: 10px !important;
}

.app-page-user-chip{
  min-height: 50px;
  padding: 6px 10px !important;
  border-radius: 16px !important;
}

.app-page-user-avatar{
  width: 38px !important;
  height: 38px !important;
  border-radius: 12px !important;
}

.app-page-header-actions{
  display: flex !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
}

.app-top-action{
  min-height: 40px !important;
  padding: 0 12px !important;
  border-radius: 14px !important;
  font-size: .92rem !important;
}

.app-top-action i{
  font-size: .95rem !important;
}

.app-quick-toolbar-wrap{
  position: sticky;
  top: calc(12px + var(--app-header-height) + 8px);
  z-index: 88;
  margin: 8px 22px 0 !important;
}

.app-quick-toolbar{
  display: flex;
  align-items: center;
  gap: 10px;
  overflow-x: auto;
  padding: 10px 12px;
  min-height: var(--app-quickbar-height);
  border-radius: 22px;
  background: rgba(255,255,255,.97);
  border: 1px solid rgba(190,205,217,.82);
  box-shadow: 0 8px 18px rgba(10,73,117,.08);
  scrollbar-width: thin;
}

.app-quick-toolbar::-webkit-scrollbar{height: 7px}
.app-quick-toolbar::-webkit-scrollbar-thumb{background: rgba(10,73,117,.22); border-radius: 999px}

.app-quick-link{
  display: inline-flex;
  align-items: center;
  gap: 9px;
  white-space: nowrap;
  min-height: 44px;
  padding: 0 16px;
  border-radius: 16px;
  text-decoration: none !important;
  background: #ffffff;
  color: var(--app-primary) !important;
  border: 1px solid rgba(173,199,216,.75);
  box-shadow: 0 2px 8px rgba(10,73,117,.04);
  font-weight: 800;
  transition: background-color .18s ease, border-color .18s ease, transform .18s ease;
}

.app-quick-link:hover{
  background: #eef5f8;
  border-color: rgba(94,143,183,.72);
  transform: translateY(-1px);
}

.app-quick-link.active{
  background: var(--app-primary) !important;
  color: #fff !important;
  border-color: var(--app-primary) !important;
}

.app-quick-link i{
  width: 30px;
  height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: rgba(94,143,183,.14);
}

.app-quick-link.active i{
  background: rgba(255,255,255,.14);
}

body.app-has-sidebar .section-nav-wrap,
body.app-has-sidebar .section-nav{
  top: calc(12px + var(--app-header-height) + var(--app-quickbar-height) + 18px) !important;
}

body.app-page-statement .section-nav{
  margin: 8px 22px 0 !important;
  border-radius: 22px !important;
  top: calc(12px + var(--app-header-height) + var(--app-quickbar-height) + 18px) !important;
  background: rgba(255,255,255,.97) !important;
}
body.app-page-statement .section-nav-inner{
  padding: 10px 12px !important;
}

body.app-page-report .section-nav-wrap,
body.app-page-manage .section-nav-wrap{
  margin: 8px 22px 0 !important;
}

body.app-page-report .section-nav,
body.app-page-manage .section-nav{
  padding: 10px 12px !important;
  border-radius: 22px !important;
  background: rgba(255,255,255,.97) !important;
  border: 1px solid rgba(190,205,217,.82) !important;
  box-shadow: 0 8px 18px rgba(10,73,117,.08) !important;
}

body.app-page-report .page-title,
body.app-page-manage .page-title,
body.app-page-statement .page-title{
  margin-top: 8px !important;
  margin-bottom: 10px !important;
  font-size: 1.95rem !important;
}

body.app-page-report .page-description,
body.app-page-manage .page-description,
body.app-page-statement .page-description{
  margin-top: 0 !important;
  margin-bottom: 14px !important;
}

body.app-page-report .hero-strip,
body.app-page-statement .hero-strip,
body.app-page-manage .hero-strip{
  margin-bottom: 14px !important;
}

.app-sidebar{
  background: #0a4975 !important;
  box-shadow: -14px 0 26px rgba(10,73,117,.14) !important;
  border-left: 1px solid rgba(255,255,255,.08);
}

.app-sidebar,
.app-sidebar-brand,
.app-sidebar-user,
.app-side-link,
.app-side-link-icon,
.app-sidebar-toggle{
  backdrop-filter: none !important;
}

.app-sidebar::before,
.app-sidebar::after,
.app-sidebar-brand::before,
.app-sidebar-brand::after,
.app-sidebar-user::before,
.app-sidebar-user::after,
.app-side-link::before,
.app-side-link::after{
  content: none !important;
  display: none !important;
}

.app-sidebar-brand,
.app-sidebar-user,
.app-side-link,
.app-side-link-icon{
  box-shadow: none !important;
}

.app-sidebar-user{
  background: rgba(255,255,255,.07) !important;
}

.app-side-link{
  background: rgba(255,255,255,.05) !important;
  border-color: rgba(255,255,255,.09) !important;
}

.app-side-link:hover{
  background: rgba(255,255,255,.1) !important;
}

.app-side-link-icon{
  background: rgba(255,255,255,.08) !important;
}

.app-side-link.active{
  background: #ffffff !important;
}

.app-sidebar-footer{border-top-color: rgba(255,255,255,.1) !important}

@media (max-width: 1100px){
  body.app-has-sidebar .app-shell,
  body.app-has-sidebar .main-content{
    padding-inline: 16px !important;
  }
  .app-page-header{margin-inline: 16px !important}
  .app-quick-toolbar-wrap,
  body.app-page-report .section-nav-wrap,
  body.app-page-manage .section-nav-wrap,
  body.app-page-statement .section-nav{margin-inline: 16px !important}
}

@media (max-width: 900px){
  :root{
    --app-header-height: 104px;
    --app-quickbar-height: 62px;
  }
  .app-page-header{
    margin: 74px 14px 0 !important;
    padding: 14px !important;
    gap: 12px !important;
  }
  .app-page-header-main,
  .app-page-header-side{
    width: 100% !important;
  }
  .app-page-header-side{
    justify-content: space-between !important;
    gap: 10px !important;
  }
  .app-page-header-actions{
    display: none !important;
  }
  .app-quick-toolbar-wrap{
    margin: 8px 14px 0 !important;
    top: calc(14px + var(--app-header-height));
  }
  .app-quick-toolbar{
    padding: 8px 10px;
    min-height: 58px;
  }
  .app-quick-link{
    min-height: 42px;
    padding: 0 14px;
    font-size: .9rem;
  }
  body.app-page-report .section-nav-wrap,
  body.app-page-manage .section-nav-wrap,
  body.app-page-statement .section-nav{
    margin: 8px 14px 0 !important;
    top: calc(14px + var(--app-header-height) + var(--app-quickbar-height) + 14px) !important;
  }
  body.app-has-sidebar .app-shell,
  body.app-has-sidebar .main-content{
    padding: 12px 14px 84px !important;
  }
}

@media (max-width: 640px){
  :root{
    --app-header-height: 98px;
    --app-quickbar-height: 58px;
  }
  .app-page-header{
    margin: 72px 10px 0 !important;
    border-radius: 20px !important;
    padding: 12px !important;
  }
  .app-page-header .app-header-logo{
    width: 48px !important;
    height: 48px !important;
  }
  .app-page-header .app-header-brand-copy strong{
    font-size: 1.02rem !important;
  }
  .app-page-user-chip{
    width: auto !important;
    max-width: 100%;
  }
  .app-quick-toolbar-wrap{
    position: fixed;
    right: 10px;
    left: 10px;
    bottom: 12px;
    top: auto;
    margin: 0 !important;
    z-index: 110;
  }
  .app-quick-toolbar{
    min-height: 54px;
    padding: 8px;
    border-radius: 18px;
  }
  .app-quick-link{
    min-width: 118px;
    padding: 0 12px;
    font-size: .84rem;
  }
  .app-quick-link i{
    width: 26px;
    height: 26px;
    border-radius: 8px;
  }
  body.app-page-report .section-nav-wrap,
  body.app-page-manage .section-nav-wrap,
  body.app-page-statement .section-nav{
    top: calc(12px + var(--app-header-height) + 8px) !important;
    margin-inline: 10px !important;
  }
  body.app-has-sidebar .app-shell,
  body.app-has-sidebar .main-content{
    padding: 10px 10px 92px !important;
  }
}

/* ===== v9 structural fix: compact header + single fixed quick nav ===== */
:root{
  --app-sidebar-width: 272px;
  --app-header-height: 84px;
  --app-fixed-nav-height: 64px;
}

.app-quick-toolbar-wrap{display:none !important}

body.app-has-sidebar{
  background: linear-gradient(180deg, #f6f3ee 0%, #fbf8f5 100%) !important;
}

body.app-has-sidebar .app-shell,
body.app-has-sidebar .main-content{
  max-width: none !important;
  padding: 12px 20px 24px !important;
}

body.app-has-sidebar .main-content{
  padding-top: 12px !important;
}

.app-page-header{
  position: sticky !important;
  top: 10px !important;
  z-index: 120 !important;
  margin: 10px 20px 0 !important;
  min-height: var(--app-header-height) !important;
  padding: 14px 18px !important;
  gap: 14px !important;
  border-radius: 24px !important;
  background: rgba(255,255,255,.98) !important;
  border: 1px solid rgba(94,143,183,.22) !important;
  box-shadow: 0 10px 26px rgba(10,73,117,.08) !important;
}

.app-page-header-main,
.app-page-header-side{
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  min-width: 0 !important;
}

.app-page-header-side{
  margin-inline-start: auto !important;
  flex-wrap: nowrap !important;
  justify-content: flex-end !important;
}

.app-page-header .app-header-brand{
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  min-width: 0 !important;
}

.app-page-header .app-header-logo{
  width: 52px !important;
  height: 52px !important;
  border-radius: 50% !important;
  background: #fff !important;
  border: 1px solid rgba(94,143,183,.24) !important;
  box-shadow: 0 4px 12px rgba(10,73,117,.06) !important;
  flex: 0 0 auto !important;
}

.app-page-header .app-header-brand-copy{
  min-width: 0 !important;
}

.app-page-header .app-header-brand-copy strong{
  display: block !important;
  font-size: 1.1rem !important;
  line-height: 1.2 !important;
  color: #0a4975 !important;
}

.app-page-header .app-header-brand-copy small{
  display: block !important;
  margin-top: 2px !important;
  font-size: .84rem !important;
  color: #6a8797 !important;
}

.app-page-user-chip{
  min-height: 46px !important;
  padding: 6px 10px !important;
  border-radius: 16px !important;
  border: 1px solid rgba(94,143,183,.18) !important;
  background: #f8fbfc !important;
}

.app-page-user-avatar{
  width: 36px !important;
  height: 36px !important;
  border-radius: 12px !important;
  background: #0a4975 !important;
  color: #fff !important;
}

.app-page-user-meta strong{
  color: #0a4975 !important;
  font-size: .94rem !important;
}

.app-page-user-meta small{
  color: #6a8797 !important;
  font-size: .78rem !important;
}

.app-page-header-actions{display:none !important}

.app-top-action{
  min-height: 42px !important;
  padding: 0 14px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(214, 167, 164, .36) !important;
  background: #f8efef !important;
  color: #8d5d61 !important;
  box-shadow: none !important;
  font-size: .9rem !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

.app-top-action:hover{
  background: #f3e3e4 !important;
}

.app-top-action i{font-size: .95rem !important}
.app-top-action-logout span{display:inline !important}

/* remove sidebar glow completely */
.app-sidebar{
  background: #0a4975 !important;
  background-image: none !important;
  box-shadow: none !important;
  border-left: 1px solid rgba(255,255,255,.08) !important;
}

.app-sidebar::before,
.app-sidebar::after,
.app-sidebar-brand::before,
.app-sidebar-brand::after,
.app-sidebar-user::before,
.app-sidebar-user::after,
.app-side-link::before,
.app-side-link::after{
  display:none !important;
  content:none !important;
}

.app-sidebar-brand,
.app-sidebar-user,
.app-side-link,
.app-side-link-icon,
.app-sidebar-toggle{
  box-shadow:none !important;
  background-image:none !important;
  backdrop-filter:none !important;
}

.app-side-link{
  background: rgba(255,255,255,.04) !important;
}

.app-side-link:hover{
  background: rgba(255,255,255,.09) !important;
}

.app-side-link.active{
  background: #ffffff !important;
  color: #0a4975 !important;
}

.app-side-link.active .app-side-link-icon{
  background: rgba(10,73,117,.08) !important;
  color: #0a4975 !important;
}

/* single fixed in-page quick navigation */
body.app-page-report .section-nav-wrap,
body.app-page-manage .section-nav-wrap,
body.app-page-statement .section-nav{
  position: fixed !important;
  left: 20px !important;
  right: calc(var(--app-sidebar-width) + 20px) !important;
  top: calc(10px + var(--app-header-height) + 10px) !important;
  z-index: 110 !important;
  margin: 0 !important;
}

body.app-page-report .section-nav,
body.app-page-manage .section-nav,
body.app-page-statement .section-nav{
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  overflow-x: auto !important;
  min-height: var(--app-fixed-nav-height) !important;
  padding: 10px 12px !important;
  border-radius: 20px !important;
  background: rgba(255,255,255,.98) !important;
  border: 1px solid rgba(94,143,183,.2) !important;
  box-shadow: 0 10px 22px rgba(10,73,117,.08) !important;
  scrollbar-width: thin !important;
}

body.app-page-report .section-nav-link,
body.app-page-manage .section-nav-link,
body.app-page-statement .section-nav-link{
  min-height: 42px !important;
  padding: 0 14px !important;
  border-radius: 14px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  white-space: nowrap !important;
  text-decoration: none !important;
  color: #0a4975 !important;
  background: #ffffff !important;
  border: 1px solid rgba(173,199,216,.75) !important;
  box-shadow: none !important;
  font-weight: 800 !important;
}

body.app-page-report .section-nav-link:hover,
body.app-page-manage .section-nav-link:hover,
body.app-page-statement .section-nav-link:hover{
  background: #eef5f8 !important;
}

body.app-page-report .section-nav-link.is-active,
body.app-page-manage .section-nav-link.is-active,
body.app-page-statement .section-nav-link.is-active{
  background: #0a4975 !important;
  color: #ffffff !important;
  border-color: #0a4975 !important;
}

body.app-page-report .section-nav-link i,
body.app-page-manage .section-nav-link i,
body.app-page-statement .section-nav-link i{
  color: inherit !important;
}

body.app-page-report .main-content,
body.app-page-manage .main-content,
body.app-page-statement .main-content{
  padding-top: calc(var(--app-fixed-nav-height) + 34px) !important;
}

body.app-page-report .page-title,
body.app-page-manage .page-title,
body.app-page-statement .page-title{
  margin-top: 0 !important;
  margin-bottom: 8px !important;
}

body.app-page-report .page-subtitle,
body.app-page-manage .page-description,
body.app-page-statement .page-subtitle{
  margin-top: 0 !important;
  margin-bottom: 14px !important;
}

@media (max-width: 1100px){
  :root{--app-sidebar-width: 256px}
  body.app-page-report .section-nav-wrap,
  body.app-page-manage .section-nav-wrap,
  body.app-page-statement .section-nav{
    left: 16px !important;
    right: calc(var(--app-sidebar-width) + 16px) !important;
  }
}

@media (max-width: 900px){
  :root{
    --app-header-height: 88px;
    --app-fixed-nav-height: 58px;
  }

  .app-page-header{
    margin: 70px 14px 0 !important;
    padding: 12px 14px !important;
    gap: 10px !important;
  }

  .app-page-header-side{
    gap: 8px !important;
  }

  .app-page-user-chip{
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }

  .app-top-action{
    min-width: 42px !important;
    padding: 0 12px !important;
  }

  body.app-page-report .section-nav-wrap,
  body.app-page-manage .section-nav-wrap,
  body.app-page-statement .section-nav{
    left: 14px !important;
    right: 14px !important;
    top: auto !important;
    bottom: 12px !important;
    z-index: 140 !important;
  }

  body.app-page-report .section-nav,
  body.app-page-manage .section-nav,
  body.app-page-statement .section-nav{
    min-height: 56px !important;
    border-radius: 18px !important;
    padding: 8px !important;
  }

  body.app-page-report .section-nav-link,
  body.app-page-manage .section-nav-link,
  body.app-page-statement .section-nav-link{
    min-height: 40px !important;
    padding: 0 12px !important;
    font-size: .88rem !important;
  }

  body.app-page-report .main-content,
  body.app-page-manage .main-content,
  body.app-page-statement .main-content,
  body.app-page-report .app-shell,
  body.app-page-manage .app-shell,
  body.app-page-statement .app-shell{
    padding-bottom: 88px !important;
  }
}

@media (max-width: 640px){
  .app-page-header{
    margin: 68px 10px 0 !important;
    padding: 10px 12px !important;
    border-radius: 18px !important;
  }

  .app-page-header .app-header-logo{
    width: 44px !important;
    height: 44px !important;
  }

  .app-page-header .app-header-brand-copy strong{
    font-size: .98rem !important;
  }

  .app-page-header .app-header-brand-copy small{
    font-size: .76rem !important;
  }

  .app-top-action span{display:none !important}
  .app-top-action{
    min-width: 40px !important;
    padding: 0 !important;
    justify-content: center !important;
  }
}


/* ===== v12 spacing normalization ===== */
:root{
  --app-content-gap: 14px;
  --app-content-gap-mobile: 12px;
}

body.app-has-sidebar .app-shell,
body.app-has-sidebar .main-content{
  padding-top: var(--app-content-gap) !important;
}

body.app-page-report .main-content,
body.app-page-manage .main-content,
body.app-page-statement .main-content{
  padding-top: calc(var(--app-fixed-nav-height) + var(--app-content-gap) + 12px) !important;
}

body.app-page-report_types .app-shell,
body.app-page-admin .app-shell{
  padding-top: var(--app-content-gap) !important;
}

body.app-page-report_types .app-shell > *:first-child,
body.app-page-admin .app-shell > *:first-child,
body.app-page-report .main-content > *:first-child,
body.app-page-manage .main-content > *:first-child,
body.app-page-statement .main-content > *:first-child{
  margin-top: 0 !important;
}

body.app-page-report_types .app-card:first-child{
  padding: 22px !important;
}

@media (max-width: 900px){
  body.app-has-sidebar .app-shell,
  body.app-has-sidebar .main-content{
    padding-top: var(--app-content-gap-mobile) !important;
  }

  body.app-page-report .main-content,
  body.app-page-manage .main-content,
  body.app-page-statement .main-content{
    padding-top: calc(var(--app-fixed-nav-height) + var(--app-content-gap-mobile) + 12px) !important;
  }

  body.app-page-report_types .app-shell,
  body.app-page-admin .app-shell{
    padding-top: var(--app-content-gap-mobile) !important;
  }
}

@media (max-width: 640px){
  body.app-page-report_types .app-shell,
  body.app-page-admin .app-shell,
  body.app-page-report .main-content,
  body.app-page-manage .main-content,
  body.app-page-statement .main-content{
    row-gap: 12px !important;
  }

  body.app-page-report_types .app-card:first-child{
    padding: 18px !important;
  }
}


/* UI cleanup for helper/explanatory text */
.page-subtitle{display:none !important}
.small-text:not(.keep-helper){display:none !important}
#report_dates_guidance,#dates_guidance,#practitioner_guidance,#hospital_prefix_guidance,#doctors_msg{display:none !important}


/* ===== Laravel MVC corrective overrides: logo sizing + responsive layout ===== */
img{max-width:100%;height:auto}
.app-sidebar-brand-logo{
  width:54px !important;
  height:54px !important;
  min-width:54px !important;
  max-width:54px !important;
  max-height:54px !important;
  object-fit:cover !important;
  object-position:center !important;
  border-radius:18px !important;
  background:#fff !important;
  padding:5px !important;
  border:1px solid rgba(255,255,255,.22) !important;
  display:block !important;
}
.app-sidebar-brand-copy{min-width:0 !important;display:grid !important;gap:3px !important}
.app-sidebar-brand-title{font-size:16px !important;line-height:1.35 !important;font-weight:800 !important;white-space:normal !important}
.app-sidebar-brand-subtitle{font-size:12px !important;line-height:1.3 !important;opacity:.82 !important}
.app-sidebar-user-name,.app-sidebar-user-role{display:block !important;min-width:0 !important;overflow:hidden !important;text-overflow:ellipsis !important;white-space:nowrap !important}
.auth-hero-logo{
  width:138px !important;
  height:138px !important;
  max-width:138px !important;
  max-height:138px !important;
  object-fit:contain !important;
  display:block !important;
}
.app-auth-logo{
  width:102px !important;
  height:102px !important;
  max-width:102px !important;
  max-height:102px !important;
  object-fit:contain !important;
  display:block !important;
}
.auth-hero-logo-ring{overflow:hidden !important;flex:0 0 auto !important}
.auth-panel-hero,.auth-panel-form{min-width:0 !important}
.app-page-header{box-sizing:border-box !important}
.table-responsive{width:100% !important;overflow-x:auto !important;-webkit-overflow-scrolling:touch !important}
.tbl{min-width:760px !important}
.app-grid,.content-grid,.form-grid,.report-type-grid{min-width:0 !important}
.field,.form-input,.form-select,select,input,textarea{max-width:100% !important;box-sizing:border-box !important}
.app-shell,.main-content{box-sizing:border-box !important;overflow-x:hidden !important}

@media (min-width: 1201px){
  body.app-has-sidebar{padding-right:296px !important}
  .app-sidebar{width:272px !important;transform:none !important}
  body.app-has-sidebar .app-shell,
  body.app-has-sidebar .main-content{padding:22px 28px 34px !important}
}
@media (max-width: 1200px) and (min-width: 901px){
  body.app-has-sidebar{padding-right:278px !important}
  .app-sidebar{width:256px !important;transform:none !important}
  body.app-has-sidebar .app-shell,
  body.app-has-sidebar .main-content{padding:18px 20px 30px !important}
}
@media (max-width: 900px){
  body.app-has-sidebar{padding-right:0 !important}
  .app-sidebar-toggle{display:flex !important;align-items:center !important;justify-content:center !important;position:fixed !important;top:14px !important;right:14px !important;z-index:1300 !important}
  .app-sidebar{width:min(84vw,320px) !important;transform:translateX(100%) !important;transition:transform .22s ease !important}
  body.app-sidebar-open .app-sidebar{transform:translateX(0) !important}
  body.app-sidebar-open .app-sidebar-overlay{opacity:1 !important;pointer-events:auto !important}
  body.app-has-sidebar .app-shell,
  body.app-has-sidebar .main-content{padding:74px 14px 92px !important}
  .app-page-header{margin:74px 14px 0 !important;flex-direction:column !important;align-items:stretch !important;gap:12px !important}
  .app-page-actions,.app-page-header-actions{display:grid !important;grid-template-columns:1fr !important;gap:8px !important;width:100% !important}
  .app-header-action,.app-top-action{justify-content:center !important;width:100% !important}
  .form-grid,.report-type-card .inline-grid,.report-type-grid{grid-template-columns:1fr !important}
  .kpis{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
}
@media (max-width: 640px){
  body.app-auth-page{padding:10px !important}
  .auth-shell{grid-template-columns:1fr !important;border-radius:24px !important;min-height:auto !important}
  .auth-panel-hero{padding:26px 18px 82px !important;min-height:280px !important}
  .auth-panel-form{padding:0 14px 24px !important;transform:translateY(-38px) !important}
  .auth-hero-logo-ring{width:132px !important;height:132px !important}
  .auth-hero-logo{width:102px !important;height:102px !important;max-width:102px !important;max-height:102px !important}
  .app-auth-logo{width:84px !important;height:84px !important;max-width:84px !important;max-height:84px !important}
  .auth-form-card,.auth-form-card-register{padding:22px 16px 20px !important;border-radius:24px !important}
  .auth-hero-copy h1{font-size:1.9rem !important}
  .auth-hero-copy p{font-size:1rem !important;line-height:1.75 !important}
  .auth-hero-points{display:grid !important;grid-template-columns:1fr !important}
  .app-sidebar{width:min(90vw,318px) !important;padding:16px 12px !important}
  .app-sidebar-brand-logo{width:48px !important;height:48px !important;min-width:48px !important;max-width:48px !important;max-height:48px !important}
  .app-sidebar-brand-title{font-size:15px !important}
  .app-side-link{min-height:50px !important;padding:10px 12px !important}
  .app-side-link-icon{width:38px !important;height:38px !important}
  .kpis{grid-template-columns:1fr !important}
  .tbl{min-width:680px !important}
}
@media (max-width: 420px){
  body.app-has-sidebar .app-shell,
  body.app-has-sidebar .main-content{padding-left:10px !important;padding-right:10px !important}
  .auth-form-card,.auth-form-card-register{padding-left:14px !important;padding-right:14px !important}
  .btn,.nav-btn,.app-header-action{min-height:44px !important}
}

/* Enhancements: points, reports log, account, responsive, PWA prompt */
.app-dashboard-grid{display:grid;grid-template-columns:2fr minmax(180px,.7fr) minmax(220px,.9fr);gap:16px;align-items:stretch}.app-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.app-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.app-form-grid .full{grid-column:1/-1}.app-points-card{display:flex;flex-direction:column;gap:4px}.app-points-card strong{font-size:34px;color:var(--app-primary,#1976d2);line-height:1}.copy-row,.app-search-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.app-search-row .form-input{flex:1;min-width:220px}.responsive-table{width:100%;overflow-x:auto}.app-table{width:100%;border-collapse:separate;border-spacing:0;min-width:900px}.app-table th,.app-table td{padding:10px 12px;border-bottom:1px solid rgba(15,23,42,.10);vertical-align:top;text-align:right}.app-table th{background:rgba(25,118,210,.08);font-weight:800}.btn-sm{padding:6px 10px!important;font-size:12px!important}.badge-muted{display:inline-flex;padding:6px 10px;border-radius:999px;background:#eef2f7;color:#64748b;font-weight:700}.auth-phone-grid{display:grid;grid-template-columns:145px 1fr;gap:8px}.app-hidden-original-hospital{display:none!important}.app-hospital-split{grid-column:1/-1}.app-mini-modal{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;background:rgba(15,23,42,.35);padding:18px}.app-mini-modal.is-visible{display:flex}.app-mini-modal-card{position:relative;max-width:420px;background:#fff;border-radius:20px;box-shadow:0 24px 60px rgba(15,23,42,.22);padding:24px;text-align:center}.app-mini-close{position:absolute;top:8px;left:10px;border:0;background:#eef2f7;width:32px;height:32px;border-radius:50%;font-size:22px;cursor:pointer}.app-message-box.is-visible.warning{display:block;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;border-radius:14px;padding:10px 12px;margin-top:8px}.app-message-box.is-visible.info{display:block;background:#eff6ff;border:1px solid #bfdbfe;color:#1d4ed8;border-radius:14px;padding:10px 12px;margin-top:8px}#manual_practitioner_toggle{margin-inline-start:10px}@media (max-width: 900px){.app-dashboard-grid,.app-grid-2,.app-form-grid{grid-template-columns:1fr}.auth-phone-grid{grid-template-columns:120px 1fr}.app-report-types{grid-template-columns:1fr!important}.app-table,.app-reports-table{min-width:0}.app-reports-table thead{display:none}.app-reports-table,.app-reports-table tbody,.app-reports-table tr,.app-reports-table td{display:block;width:100%}.app-reports-table tr{background:#fff;border:1px solid rgba(15,23,42,.10);border-radius:16px;margin-bottom:12px;padding:8px}.app-reports-table td{border:0;padding:7px 8px}}

/* ===== v13 corrective patch: responsive shell, independent sidebar, install banner, compact visual rhythm ===== */
html{scroll-behavior:smooth}
body{min-height:100vh}
body.app-has-sidebar{min-height:100vh !important;}
.app-sidebar{
  display:flex !important;
  flex-direction:column !important;
  height:100vh !important;
  max-height:100vh !important;
  overflow-y:auto !important;
  overscroll-behavior:contain !important;
  scrollbar-gutter:stable !important;
  padding-bottom:14px !important;
}
.app-sidebar-brand{flex:0 0 auto !important}
.app-sidebar-nav{
  flex:1 1 auto !important;
  min-height:0 !important;
  overflow-y:auto !important;
  overscroll-behavior:contain !important;
  padding-inline-end:2px !important;
}
.app-sidebar-footer{
  flex:0 0 auto !important;
  position:sticky !important;
  bottom:0 !important;
  background:#0a4975 !important;
  padding-top:12px !important;
  padding-bottom:4px !important;
}
.app-side-link.logout{background:rgba(239,141,135,.18) !important;border-color:rgba(255,255,255,.16) !important}
.app-side-link.logout:hover{background:rgba(239,141,135,.28) !important}

.app-page-header{animation:appFadeDown .32s ease both}
.app-card,.glass-card,.auth-form-card,.report-type-card{animation:appFadeUp .32s ease both;transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease}
.app-card:hover,.glass-card:hover,.report-type-card:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(10,73,117,.09) !important}
@keyframes appFadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes appFadeDown{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.app-shell,.main-content{display:grid !important;gap:14px !important}
.glass-card,.app-card{padding:18px !important;border-radius:20px !important}
.form-grid,.app-form-grid{gap:12px !important}
.form-group{margin-bottom:0 !important}
.form-input,.form-select,.field,select.field,input.field,textarea.field{min-height:48px !important;padding:12px 14px !important;border-radius:14px !important;font-size:15px !important}
.btn,.btn-primary,.btn-secondary,.btn-alt,.btn-danger{min-height:46px !important;border-radius:14px !important;padding:11px 17px !important;transition:transform .18s ease, filter .18s ease, box-shadow .18s ease !important}
.btn:hover{filter:brightness(1.02) !important;box-shadow:0 8px 18px rgba(10,73,117,.12) !important}

.app-page-header-side{flex-wrap:wrap !important}
.app-copy-code,.app-points-chip{background:#f8fbfc !important;border-color:rgba(94,143,183,.22) !important;color:#0a4975 !important}
.app-copy-code span,.app-points-chip span{color:#0a4975 !important}
.app-copy-code{cursor:pointer}
.app-points-chip{cursor:default}
.app-top-action-logout{background:#fff0ef !important;color:#9f3d3a !important;border-color:#f4c7c4 !important}
.app-top-action-logout span,.app-top-action-logout i{color:#9f3d3a !important}

.forgot-card{display:grid !important;gap:16px !important}
.forgot-step-card{background:#fff;border:1px solid rgba(94,143,183,.18);border-radius:22px;padding:16px;box-shadow:0 8px 20px rgba(10,73,117,.06)}
.forgot-step-card-accent{background:#fbfdff}
.forgot-step-head{display:flex;align-items:center;gap:10px;margin-bottom:12px;color:#0a4975;font-weight:800}
.forgot-step-head span{width:32px;height:32px;border-radius:12px;background:#0a4975;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:800}
.forgot-input-wrap{min-height:52px !important;background:#fff !important;border:1px solid #b9cdd9 !important;box-shadow:inset 0 1px 0 rgba(10,73,117,.02) !important}
.forgot-input-wrap .auth-input{min-height:50px !important;color:#21313d !important;font-weight:700 !important}
.forgot-input-wrap .auth-input::placeholder{color:#8aa0ac !important;font-weight:600 !important}



.pwa-close{position:absolute;top:8px;left:10px;border:0;background:#eef5f8;color:#0a4975;width:30px;height:30px;border-radius:999px;font-size:20px;line-height:1;cursor:pointer}
.pwa-icon{width:48px;height:48px;border-radius:16px;background:#e7f2f6;color:#0a4975;display:flex;align-items:center;justify-content:center;font-size:22px}
.pwa-copy h3{font-size:1.05rem;margin:0 0 4px !important;color:#0a4975 !important}
.pwa-copy p{line-height:1.7;margin:0 0 10px !important;color:#55707b !important}


.app-hospital-split{margin-top:12px !important}
.app-hospital-split .form-group{position:relative;transition:opacity .18s ease, transform .18s ease, border-color .18s ease;background:#fff;border:1px solid rgba(94,143,183,.13);border-radius:18px;padding:12px}
.app-hospital-split .form-group.split-selected{border-color:#0a4975;background:#f8fbfc;box-shadow:0 8px 18px rgba(10,73,117,.08)}
.app-hospital-split .form-group.split-muted{opacity:.72}
.split-hint{display:block;margin-top:8px;color:#6a8797 !important;font-size:12px;line-height:1.6}
.app-hidden-original-hospital{display:none !important}

@media (min-width:901px){
  body.app-has-sidebar{padding-right:var(--app-sidebar-width,272px) !important;}
  .app-sidebar-toggle,.app-sidebar-overlay{display:none !important}
}
@media (max-width:900px){
  .app-sidebar{position:fixed !important;right:0 !important;top:0 !important;bottom:0 !important;z-index:1200 !important;}
  .app-sidebar-footer{position:sticky !important;bottom:0 !important}
  .app-page-header{margin:72px 12px 0 !important;position:relative !important;top:auto !important;z-index:20 !important}
  .app-page-header-side{display:grid !important;grid-template-columns:1fr 1fr;gap:8px !important;width:100% !important}
  .app-page-user-chip{grid-column:1/-1 !important;width:100% !important}
  .app-copy-code,.app-points-chip,.app-top-action-logout{width:100% !important;justify-content:center !important;min-height:42px !important}
  .app-top-action-logout span{display:inline !important}
  body.app-has-sidebar .app-shell,body.app-has-sidebar .main-content{padding-top:12px !important}
  .glass-card,.app-card{padding:15px !important;border-radius:18px !important}
}
@media (max-width:640px){
  .app-page-header{margin:68px 10px 0 !important;padding:12px !important}
  .app-page-header-side{grid-template-columns:1fr !important}
  .app-page-header .app-header-brand-copy small{display:none !important}
  .app-copy-code span,.app-points-chip span,.app-top-action-logout span{display:inline !important}
  .form-input,.form-select,.field,select.field,input.field,textarea.field{font-size:14.5px !important;min-height:47px !important}
  .auth-phone-grid{grid-template-columns:112px 1fr !important}
  
}

/* Batch 4: hospital split/search interaction */
.app-hospital-search-group{grid-column:1/-1!important}
.app-hospital-search-box{position:relative;width:100%}
.app-hospital-search-box > i.fa-search{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:rgba(255,255,255,.55);pointer-events:none}
.app-hospital-search-box .form-input{padding-left:44px!important}
.search-results-dropdown.app-hospital-search-results,
.app-hospital-search-box .search-results-dropdown{position:absolute;z-index:2500;top:calc(100% + 8px);right:0;left:0;max-height:320px;overflow:auto;background:rgba(15,23,42,.98);border:1px solid rgba(255,255,255,.14);border-radius:16px;box-shadow:0 20px 44px rgba(2,6,23,.32);padding:6px;color:#fff}
.app-search-result-item{width:100%;border:0;background:transparent;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:right;padding:12px 14px;border-radius:12px;cursor:pointer;transition:background .16s ease,transform .16s ease}
.app-search-result-item:hover,.app-search-result-item:focus{background:rgba(79,70,229,.25);outline:0;transform:translateY(-1px)}
.app-search-result-main{display:flex;flex-direction:column;gap:4px;min-width:0}
.app-search-result-main strong{font-size:14px;line-height:1.6;color:#fff;white-space:normal}
.app-search-result-main em{font-style:normal;font-size:12px;color:rgba(255,255,255,.78);line-height:1.5}
.hospital-result-badge{display:inline-flex;align-items:center;justify-content:center;min-width:66px;padding:5px 10px;border-radius:999px;font-size:12px;font-weight:800;white-space:nowrap;background:rgba(148,163,184,.18);color:#e2e8f0;border:1px solid rgba(226,232,240,.16)}
.hospital-result-badge.private{background:rgba(79,70,229,.22);color:#c7d2fe;border-color:rgba(129,140,248,.28)}
.hospital-result-badge.government{background:rgba(14,165,233,.18);color:#bae6fd;border-color:rgba(125,211,252,.28)}
.app-search-state{padding:14px 12px;text-align:center;color:rgba(255,255,255,.85);font-weight:700}
.app-search-state.error{color:#fecaca}
.app-hospital-split{grid-column:1/-1!important;margin-top:12px!important}
.app-hospital-split .form-group{position:relative;transition:opacity .18s ease,transform .18s ease,border-color .18s ease,box-shadow .18s ease;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:13px}
.app-hospital-split .form-group.split-selected{border-color:rgba(125,211,252,.68);box-shadow:0 10px 26px rgba(14,165,233,.14);transform:translateY(-1px)}
.app-hospital-split .form-group.split-muted{opacity:.66}
.app-hospital-split .split-hint{display:block;margin-top:7px;font-size:12px;color:rgba(255,255,255,.72);line-height:1.6}
.app-hidden-original-hospital{display:none!important}
@media (max-width: 768px){.app-search-result-item{align-items:flex-start;flex-direction:column}.hospital-result-badge{min-width:0}.app-hospital-split{display:grid!important;grid-template-columns:1fr!important}}

/* Batch 4.1: stronger hospital search */
.app-search-help{display:block;margin-top:8px;color:rgba(226,232,240,.72);font-size:12.5px;line-height:1.6}
.app-hospital-search-box{position:relative;width:100%}
.app-hospital-search-box > i.fa-search{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:rgba(255,255,255,.55);pointer-events:none}
.app-hospital-search-box .form-input{padding-left:44px!important}
.app-hospital-search-results{direction:rtl}
.app-search-result-item.is-active{background:rgba(79,70,229,.32)!important;outline:1px solid rgba(165,180,252,.45)}
.app-search-result-main{display:flex;flex-direction:column;gap:4px;min-width:0}
.app-search-result-main strong{font-size:14px;line-height:1.45;color:#fff;white-space:normal}
.app-search-result-main em{font-style:normal;font-size:12px;line-height:1.45;color:rgba(226,232,240,.68);white-space:normal}
@media (max-width:768px){.app-hospital-search-results{max-height:260px}.app-search-help{font-size:12px}}

/* Batch 4.2: stable hospital search dropdown position */
#report_hospital,
#report_hospital .glass-card,
#report_hospital .form-grid,
#report_hospital .form-group,
.app-hospital-search-group,
.app-hospital-search-box{
  overflow: visible !important;
}
.app-hospital-search-group{
  position: relative !important;
  z-index: 120 !important;
}
.app-hospital-search-box{
  position: relative !important;
  width: 100% !important;
  z-index: 130 !important;
  isolation: isolate !important;
}
.app-hospital-search-results-stable,
.app-hospital-search-box > .app-hospital-search-results{
  position: absolute !important;
  top: calc(100% + 8px) !important;
  right: 0 !important;
  left: 0 !important;
  bottom: auto !important;
  width: 100% !important;
  min-width: 100% !important;
  transform: none !important;
  margin: 0 !important;
  z-index: 99999 !important;
  max-height: 330px !important;
  overflow-y: auto !important;
}
.app-hospital-search-results-stable .app-search-result-item{
  position: relative !important;
}
@media (max-width: 768px){
  .app-hospital-search-results-stable,
  .app-hospital-search-box > .app-hospital-search-results{
    max-height: 260px !important;
  }
}

/* Batch 4.2b: hospital search position and regions loading safety */
.form-group.app-hospital-search-group,
.app-hospital-search-box,
.app-hospital-search-box-stable{
  position: relative !important;
  overflow: visible !important;
  isolation: isolate !important;
}
#report_hospital,
#report_hospital .form-grid,
.glass-card:has(#hospital_search),
.form-grid:has(#hospital_search){
  overflow: visible !important;
}
.app-hospital-search-box-stable > #hospital_search_results,
.app-hospital-search-box > #hospital_search_results,
.search-results-dropdown.app-hospital-search-results-stable{
  position: absolute !important;
  top: calc(100% + 8px) !important;
  right: 0 !important;
  left: 0 !important;
  width: 100% !important;
  min-width: 100% !important;
  max-height: 320px !important;
  overflow-y: auto !important;
  z-index: 99999 !important;
  transform: none !important;
  margin: 0 !important;
}
@media (max-width: 768px){
  .app-hospital-search-box-stable > #hospital_search_results,
  .app-hospital-search-box > #hospital_search_results,
  .search-results-dropdown.app-hospital-search-results-stable{
    max-height: 260px !important;
  }
}

/* Batch 4.3: final stable region loading + inline hospital search results */
.app-hospital-search-group{
  grid-column: 1 / -1 !important;
  position: relative !important;
  overflow: visible !important;
  z-index: 20 !important;
}
.app-hospital-search-box{
  position: relative !important;
  width: 100% !important;
  overflow: visible !important;
}
.app-hospital-search-box > i.fa-search{
  position: absolute !important;
  left: 15px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  color: rgba(255,255,255,.55) !important;
  pointer-events: none !important;
}
.app-hospital-search-box .form-input,
.app-hospital-search-box input#hospital_search{
  padding-left: 44px !important;
}
#hospital_search_results.app-hospital-search-results-inline,
.app-hospital-search-group > #hospital_search_results,
.app-hospital-search-results-inline{
  position: static !important;
  display: none;
  width: 100% !important;
  min-width: 100% !important;
  max-height: 330px !important;
  overflow-y: auto !important;
  margin: 8px 0 0 !important;
  transform: none !important;
  inset: auto !important;
  z-index: 1 !important;
  background: rgba(15,23,42,.98) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  border-radius: 16px !important;
  box-shadow: 0 18px 38px rgba(2,6,23,.28) !important;
  padding: 6px !important;
  color: #fff !important;
}
#hospital_search_results.app-hospital-search-results-inline[style*="block"],
.app-hospital-search-results-inline[style*="block"]{
  display: block !important;
}
.app-hospital-search-results-inline .app-search-result-item,
#hospital_search_results .app-search-result-item{
  width: 100% !important;
  border: 0 !important;
  background: transparent !important;
  color: #fff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  text-align: right !important;
  padding: 12px 14px !important;
  border-radius: 12px !important;
  cursor: pointer !important;
}
.app-hospital-search-results-inline .app-search-result-item:hover,
.app-hospital-search-results-inline .app-search-result-item:focus,
.app-hospital-search-results-inline .app-search-result-item.is-active{
  background: rgba(79,70,229,.28) !important;
  outline: 1px solid rgba(165,180,252,.42) !important;
}
.app-search-result-main{display:flex !important;flex-direction:column !important;gap:4px !important;min-width:0 !important;white-space:normal !important}
.app-search-result-main strong{font-size:14px !important;line-height:1.55 !important;color:#fff !important;white-space:normal !important}
.app-search-result-main em{font-style:normal !important;font-size:12px !important;line-height:1.5 !important;color:rgba(226,232,240,.72) !important;white-space:normal !important}
.hospital-result-badge{display:inline-flex !important;align-items:center !important;justify-content:center !important;min-width:64px !important;padding:5px 10px !important;border-radius:999px !important;font-size:12px !important;font-weight:800 !important;white-space:nowrap !important;background:rgba(148,163,184,.18) !important;color:#e2e8f0 !important;border:1px solid rgba(226,232,240,.16) !important}
.hospital-result-badge.private{background:rgba(79,70,229,.22) !important;color:#c7d2fe !important;border-color:rgba(129,140,248,.28) !important}
.hospital-result-badge.government{background:rgba(14,165,233,.18) !important;color:#bae6fd !important;border-color:rgba(125,211,252,.28) !important}
.app-search-state{padding:14px 12px !important;text-align:center !important;color:rgba(255,255,255,.85) !important;font-weight:700 !important}
.app-search-state.error{color:#fecaca !important}
#report_hospital,
#report_hospital .form-grid,
#report_hospital .form-group,
.glass-card,
.form-grid{
  overflow: visible;
}
@media (max-width: 768px){
  #hospital_search_results.app-hospital-search-results-inline,
  .app-hospital-search-results-inline{max-height:260px !important}
  .app-hospital-search-results-inline .app-search-result-item{align-items:flex-start !important;flex-direction:column !important}
  .hospital-result-badge{min-width:0 !important}
}

/* ===== Batch 5: Responsive shell, compact header, independent sidebar scroll ===== */
:root{
  --app-sidebar-width: 272px;
  --app-header-safe-top: 10px;
  --app-header-height: 78px;
}

html, body{
  min-height: 100%;
  overscroll-behavior-y: none;
}

body.app-has-sidebar{
  padding-right: var(--app-sidebar-width) !important;
  min-height: 100vh !important;
}

.app-sidebar{
  width: var(--app-sidebar-width) !important;
  height: 100vh !important;
  height: 100dvh !important;
  max-height: 100dvh !important;
  padding: 16px 14px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  overflow: hidden !important;
  overscroll-behavior: contain !important;
}

.app-sidebar-brand{
  flex: 0 0 auto !important;
  min-height: 58px !important;
  padding: 4px 2px 12px !important;
  gap: 10px !important;
}

.app-sidebar-brand-logo{
  width: 46px !important;
  height: 46px !important;
  border-radius: 50% !important;
  object-fit: cover !important;
  background: #fff !important;
  border: 1px solid rgba(255,255,255,.28) !important;
}

.app-sidebar-brand-copy{
  min-width: 0 !important;
}

.app-sidebar-brand-title{
  font-size: 1rem !important;
  line-height: 1.25 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.app-sidebar-brand-subtitle{
  font-size: .78rem !important;
}

.app-sidebar-nav{
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  overscroll-behavior: contain !important;
  -webkit-overflow-scrolling: touch !important;
  padding: 2px 0 8px 3px !important;
  scrollbar-width: thin !important;
  scrollbar-color: rgba(255,255,255,.36) transparent !important;
}

.app-sidebar-nav::-webkit-scrollbar{width: 7px !important}
.app-sidebar-nav::-webkit-scrollbar-thumb{background: rgba(255,255,255,.30) !important;border-radius: 999px !important}
.app-sidebar-nav::-webkit-scrollbar-track{background: transparent !important}

.app-sidebar-footer{
  flex: 0 0 auto !important;
  margin-top: 0 !important;
  padding-top: 10px !important;
  gap: 8px !important;
  background: linear-gradient(180deg, rgba(10,73,117,0), rgba(10,73,117,.14)) !important;
}

.app-side-link{
  min-height: 46px !important;
  padding: 6px 8px !important;
  border-radius: 14px !important;
  gap: 9px !important;
  display: flex !important;
  align-items: center !important;
  text-decoration: none !important;
}

.app-side-link-icon{
  width: 34px !important;
  height: 34px !important;
  border-radius: 12px !important;
  flex: 0 0 34px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.app-side-link-text{
  font-size: .92rem !important;
  line-height: 1.25 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.app-side-link.active,
.app-side-link[aria-current="page"]{
  box-shadow: 0 8px 18px rgba(0,0,0,.08) !important;
}

.app-side-link.logout{
  background: rgba(255,255,255,.12) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
}

.app-sidebar-user{
  min-height: 52px !important;
  padding: 10px !important;
  grid-template-columns: 38px 1fr !important;
  gap: 9px !important;
}

.app-sidebar-user-avatar{
  width: 38px !important;
  height: 38px !important;
  border-radius: 13px !important;
}

.app-sidebar-user-copy{
  min-width: 0 !important;
  display: grid !important;
}

.app-sidebar-user-name{
  font-size: .9rem !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.app-sidebar-user-role{
  font-size: .76rem !important;
}

.app-sidebar-mini-stats{
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 6px !important;
}

.app-sidebar-mini-stat{
  min-width: 0 !important;
  min-height: 34px !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  background: rgba(255,255,255,.08) !important;
  border-radius: 12px !important;
  padding: 0 8px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  font-size: .78rem !important;
  font-weight: 800 !important;
  color: #fff !important;
  cursor: pointer !important;
}

span.app-sidebar-mini-stat{cursor: default !important}
.app-sidebar-mini-stat span{
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.app-page-header{
  min-height: auto !important;
  padding: 10px 14px !important;
  margin: 10px 18px 0 !important;
  top: var(--app-header-safe-top) !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
}

.app-page-header-main{
  flex: 1 1 280px !important;
  min-width: 0 !important;
}

.app-page-header-side{
  flex: 0 1 auto !important;
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}

.app-page-header .app-header-brand{
  min-width: 0 !important;
}

.app-page-header .app-header-logo{
  width: 46px !important;
  height: 46px !important;
  flex: 0 0 46px !important;
}

.app-page-header .app-header-brand-copy{
  min-width: 0 !important;
}

.app-page-header .app-header-brand-copy strong{
  font-size: 1.02rem !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.app-page-header .app-header-brand-copy small{
  font-size: .76rem !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  max-width: 320px !important;
}

.app-page-user-chip{
  min-height: 38px !important;
  padding: 5px 8px !important;
  border-radius: 13px !important;
  max-width: 210px !important;
}

.app-page-user-avatar{
  width: 30px !important;
  height: 30px !important;
  border-radius: 10px !important;
}

.app-page-user-meta strong{
  font-size: .84rem !important;
  line-height: 1.15 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.app-page-user-meta small{
  font-size: .72rem !important;
  line-height: 1.15 !important;
}

.app-top-action{
  min-height: 38px !important;
  padding: 0 10px !important;
  border-radius: 12px !important;
  gap: 6px !important;
  font-size: .82rem !important;
  flex: 0 0 auto !important;
}

.app-top-action strong{
  font-size: .78rem !important;
  direction: ltr !important;
  unicode-bidi: plaintext !important;
}

.app-top-action-label{
  opacity: .72 !important;
  font-weight: 900 !important;
}

.app-points-chip{
  background: #fff8e8 !important;
  color: #805f17 !important;
  border-color: rgba(226,179,79,.28) !important;
}

.app-copy-code{
  background: #eef7fb !important;
  color: #0a4975 !important;
  border-color: rgba(94,143,183,.26) !important;
}

.app-top-action-logout{
  display: inline-flex !important;
  background: #fbeeed !important;
  color: #9b4b45 !important;
  border-color: rgba(216,126,118,.28) !important;
}

.app-top-action-logout span{
  display: inline !important;
}

body.app-has-sidebar .app-shell,
body.app-has-sidebar .main-content{
  padding: 10px 18px 24px !important;
}

.app-dashboard-grid,
.app-report-types{
  gap: 14px !important;
}

.glass-card,.app-card,.auth-card,.report-type-card,.report-type-grid > form,.kpi,.app-type-card,.hero-item,.floating-generate{
  border-radius: 18px !important;
}

@media (max-width: 1180px){
  :root{--app-sidebar-width: 256px}
  .app-page-header .app-header-brand-copy small{max-width: 260px !important}
  .app-page-user-chip{max-width: 180px !important}
}

@media (max-width: 900px){
  body.app-has-sidebar{
    padding-right: 0 !important;
  }

  .app-sidebar-toggle{
    position: fixed !important;
    top: 14px !important;
    right: 14px !important;
    z-index: 1300 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    width: auto !important;
    min-width: 104px !important;
    height: 46px !important;
    border-radius: 16px !important;
    padding: 0 14px !important;
    font-weight: 900 !important;
  }

  .app-sidebar-toggle span{
    display: inline !important;
    color: #fff !important;
    font-size: .9rem !important;
  }

  .app-sidebar{
    width: min(88vw, 330px) !important;
    transform: translateX(105%) !important;
    transition: transform .22s ease !important;
  }

  body.app-sidebar-open .app-sidebar{
    transform: translateX(0) !important;
  }

  body.app-sidebar-open{
    overflow: hidden !important;
  }

  .app-page-header{
    margin: 70px 12px 0 !important;
    padding: 10px 12px !important;
    position: sticky !important;
    top: 10px !important;
    z-index: 110 !important;
  }

  .app-page-header-main,
  .app-page-header-side{
    flex: 1 1 100% !important;
    width: 100% !important;
  }

  .app-page-header-side{
    justify-content: flex-start !important;
    display: grid !important;
    grid-template-columns: minmax(0,1fr) auto auto auto !important;
    align-items: center !important;
  }

  .app-page-user-chip{
    max-width: none !important;
    width: 100% !important;
  }

  .app-top-action{
    min-width: 40px !important;
    min-height: 38px !important;
  }

  .app-top-action span,
  .app-top-action strong,
  .app-top-action-logout span{
    display: inline !important;
  }

  .app-page-header-actions{display:none !important}

  body.app-has-sidebar .app-shell,
  body.app-has-sidebar .main-content{
    padding: 10px 12px 86px !important;
  }

  .table-responsive,
  .app-table-wrap{
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
}

@media (max-width: 640px){
  .app-sidebar-toggle{
    min-width: 92px !important;
    height: 44px !important;
    right: 10px !important;
    top: 12px !important;
  }

  .app-page-header{
    margin: 64px 8px 0 !important;
    border-radius: 16px !important;
  }

  .app-page-header .app-header-logo{
    width: 40px !important;
    height: 40px !important;
    flex-basis: 40px !important;
  }

  .app-page-header .app-header-brand-copy strong{
    font-size: .92rem !important;
  }

  .app-page-header .app-header-brand-copy small{
    max-width: 230px !important;
    font-size: .7rem !important;
  }

  .app-page-header-side{
    grid-template-columns: minmax(0,1fr) auto auto !important;
  }

  .app-copy-code{
    max-width: 92px !important;
  }

  .app-copy-code .app-top-action-label{
    display: none !important;
  }

  .app-copy-code strong{
    max-width: 62px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .app-points-chip span{
    max-width: 74px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  .app-top-action-logout span{
    display: none !important;
  }

  body.app-has-sidebar .app-shell,
  body.app-has-sidebar .main-content{
    padding-inline: 8px !important;
  }

  .app-dashboard-grid{
    grid-template-columns: 1fr !important;
  }
}

/* =========================================================
   Batch 6: Professional visual polish, accessibility, and UX
   Scope: General UI only. No PDF / DB / hospital search logic.
   ========================================================= */
:root{
  --app-primary-900:#153747;
  --app-primary-800:#1f4758;
  --app-primary-700:#2d596c;
  --app-primary-600:#3c6f82;
  --app-teal-600:#4f9299;
  --app-teal-500:#68aaa9;
  --app-mint-400:#9fd9c7;
  --app-surface:#ffffff;
  --app-surface-2:#f8fbfb;
  --app-surface-3:#eef6f5;
  --app-line:#d7e6e4;
  --app-line-2:#c4d9d6;
  --app-text:#1e303b;
  --app-text-2:#506b76;
  --app-text-3:#7c929a;
  --app-focus:0 0 0 4px rgba(104,170,169,.24);
  --app-ease:cubic-bezier(.2,.8,.2,1);
  --app-radius-sm:12px;
  --app-radius-md:16px;
  --app-radius-lg:22px;
  --app-radius-xl:28px;
  --app-shadow-1:0 8px 22px rgba(21,55,71,.07);
  --app-shadow-2:0 14px 34px rgba(21,55,71,.10);
  --app-shadow-3:0 24px 54px rgba(21,55,71,.13);
}

html{
  scroll-behavior:smooth;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

body{
  min-height:100vh;
  background:
    radial-gradient(circle at 8% 8%, rgba(159,217,199,.26), transparent 28%),
    radial-gradient(circle at 90% 2%, rgba(104,170,169,.18), transparent 30%),
    linear-gradient(180deg,#eef6f5 0%,#f9fcfc 56%,#eef5f4 100%) !important;
  letter-spacing:0 !important;
}

::selection{background:rgba(104,170,169,.28);color:var(--app-primary-900)}

body *{box-sizing:border-box}

.app-shell,.main-content{
  width:min(100%,1280px) !important;
}

/* Better page rhythm */
.app-shell > * + *,
.main-content > * + *{
  margin-top:18px;
}

.app-dashboard-grid,
.report-type-grid,
.app-report-types,
.stats-grid,
.kpi-grid,
.cards-grid{
  gap:16px !important;
}

/* Premium cards */
.glass-card,.app-card,.auth-card,.report-type-card,.report-type-grid > form,.kpi,.app-type-card,.hero-item,.floating-generate,
.app-stat-card,.panel,.card,.box,.dashboard-card{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(255,255,255,.93)) !important;
  border:1px solid rgba(196,217,214,.88) !important;
  box-shadow:var(--app-shadow-1) !important;
}

.glass-card::before,.app-card::before,.auth-card::before,.report-type-card::before,.report-type-grid > form::before,.kpi::before,.app-type-card::before,.hero-item::before,.dashboard-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:4px;
  background:linear-gradient(90deg,var(--app-primary-700),var(--app-teal-500),var(--app-mint-400));
  opacity:.78;
  pointer-events:none;
  z-index:0;
}

.glass-card > *,.app-card > *,.auth-card > *,.report-type-card > *,.report-type-grid > form > *,.kpi > *,.app-type-card > *,.hero-item > *,.dashboard-card > *{
  position:relative;
  z-index:1;
}

.glass-card:hover,.app-card:hover,.auth-card:hover,.report-type-card:hover,.report-type-grid > form:hover,.kpi:hover,.app-type-card:hover,.hero-item:hover,.dashboard-card:hover{
  box-shadow:var(--app-shadow-2) !important;
  transform:translateY(-1px) !important;
}

/* Typography hierarchy */
h1,.page-title,.auth-title{font-size:clamp(1.35rem,1.05rem + 1.25vw,2.15rem) !important;line-height:1.35 !important;color:var(--app-primary-900) !important;letter-spacing:-.01em !important}
h2,.section-title{font-size:clamp(1.12rem,1rem + .55vw,1.55rem) !important;line-height:1.45 !important;color:var(--app-primary-800) !important}
h3,.card-title,.app-card-title{font-size:clamp(1rem,.96rem + .25vw,1.22rem) !important;line-height:1.5 !important;color:var(--app-primary-800) !important}
p,.note,.muted,.page-subtitle,.brand-note{line-height:1.85 !important}

/* Section headers */
.section-title,.app-section-title,fieldset legend{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  margin-bottom:14px !important;
  font-weight:900 !important;
}
.section-title::before,.app-section-title::before,fieldset legend::before{
  content:"";
  width:10px;
  height:28px;
  border-radius:999px;
  background:linear-gradient(180deg,var(--app-teal-500),var(--app-mint-400));
  box-shadow:0 8px 18px rgba(104,170,169,.24);
  flex:0 0 auto;
}

/* Forms: more balanced and easier for all ages */
form:not(.app-raw-form){
  --field-h:50px;
}
.form-row,.grid,.form-grid,.app-form-grid{
  gap:14px !important;
}
.form-group,.field-group,.input-group{
  position:relative;
}
.form-group label,label.note,.field-label{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:8px !important;
  margin-bottom:7px !important;
  color:var(--app-primary-800) !important;
}
.form-input,.form-select,.field,select.field,input.field,textarea.field,input[type="text"],input[type="email"],input[type="password"],input[type="number"],input[type="date"],input[type="time"],input[type="tel"],select,textarea{
  min-height:var(--field-h) !important;
  border-radius:15px !important;
  border-color:var(--app-line-2) !important;
  background:linear-gradient(180deg,#fff,#fbfdfd) !important;
  transition:border-color .18s var(--app-ease), box-shadow .18s var(--app-ease), transform .18s var(--app-ease), background .18s var(--app-ease) !important;
}
textarea,.field[rows],textarea.field{
  min-height:96px !important;
  resize:vertical !important;
}
.form-input:hover,.form-select:hover,.field:hover,input:hover,select:hover,textarea:hover{
  border-color:#aac8c4 !important;
}
.form-input:focus,.form-select:focus,.field:focus,input:focus,select:focus,textarea:focus{
  border-color:var(--app-teal-500) !important;
  box-shadow:var(--app-focus) !important;
  background:#fff !important;
}
input[readonly],textarea[readonly],.field[readonly],.form-input:read-only{
  background:#f2f7f6 !important;
  border-style:dashed !important;
}
input:disabled,select:disabled,textarea:disabled,button:disabled{
  cursor:not-allowed !important;
  opacity:.68 !important;
}
.app-field-hint,.help-text,.form-help{
  display:block;
  margin-top:6px;
  font-size:.82rem;
  color:var(--app-text-2) !important;
  line-height:1.6;
}
.app-inline-error{
  display:none;
  margin-top:6px;
  font-size:.82rem;
  font-weight:800;
  color:#a24843;
  line-height:1.6;
}
.app-field-invalid{border-color:#e89a94 !important;background:#fff9f8 !important;box-shadow:0 0 0 4px rgba(239,141,135,.15) !important}
.app-field-invalid + .app-inline-error,
.app-field-invalid ~ .app-inline-error{display:block}

/* Buttons */
.btn,.btn-primary,.btn-secondary,.btn-alt,.btn-danger,button:not(.app-unstyled):not(.pwa-close):not(.app-toast-close):not(.app-sidebar-toggle),input[type="submit"]{
  min-height:46px !important;
  border-radius:15px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  line-height:1.2 !important;
  border:0 !important;
  cursor:pointer;
  transition:transform .18s var(--app-ease), box-shadow .18s var(--app-ease), filter .18s var(--app-ease), opacity .18s var(--app-ease) !important;
}
.btn,.btn-primary,input[type="submit"]{
  background:linear-gradient(135deg,var(--app-teal-600),var(--app-primary-800)) !important;
  box-shadow:0 12px 24px rgba(31,71,88,.18) !important;
}
.btn:hover,.btn-primary:hover,.btn-secondary:hover,.btn-alt:hover,.btn-danger:hover,button:not(.app-unstyled):not(.pwa-close):not(.app-toast-close):not(.app-sidebar-toggle):hover,input[type="submit"]:hover{
  transform:translateY(-1px) !important;
  filter:saturate(1.04) !important;
}
.btn:active,.btn-primary:active,.btn-secondary:active,.btn-alt:active,.btn-danger:active,button:not(.app-unstyled):not(.pwa-close):not(.app-toast-close):not(.app-sidebar-toggle):active{
  transform:translateY(0) scale(.99) !important;
}
.btn-secondary,.btn-alt{
  background:linear-gradient(135deg,#e7f7f1,#c9ece1) !important;
  color:var(--app-primary-800) !important;
  box-shadow:0 8px 18px rgba(104,170,169,.14) !important;
}
.btn-danger{
  background:linear-gradient(135deg,#ef8d87,#d65f59) !important;
  box-shadow:0 12px 24px rgba(214,95,89,.18) !important;
}
.app-submit-loading{position:relative;pointer-events:none}
.app-submit-loading::after{
  content:"";
  width:16px;height:16px;border-radius:50%;
  border:2px solid currentColor;
  border-left-color:transparent;
  animation:appSpin .75s linear infinite;
}

/* Alerts / toasts */
.app-toast-stack{top:18px !important;right:18px !important;z-index:3000 !important}
.app-toast{
  border-radius:18px !important;
  box-shadow:var(--app-shadow-3) !important;
  border:1px solid rgba(196,217,214,.9) !important;
  padding:15px 16px !important;
}
.app-toast.success{background:linear-gradient(180deg,#f1fbf7,#fff) !important;border-color:#bfe9dc !important}
.app-toast.warning{background:linear-gradient(180deg,#fff8e4,#fff) !important;border-color:#ead6a5 !important}
.app-toast.error{background:linear-gradient(180deg,#fff0ef,#fff) !important;border-color:#f0b8b4 !important}
.app-toast.info{background:linear-gradient(180deg,#eef8fb,#fff) !important;border-color:#bfe2ec !important}
.app-toast-icon{font-size:1.25rem !important;margin-top:2px !important}
.app-toast-title{font-weight:900 !important;color:var(--app-primary-900) !important;margin-bottom:3px !important}
.app-toast-text{line-height:1.65 !important;color:var(--app-text) !important;font-weight:700 !important}
.app-toast-close{width:30px;height:30px;border-radius:10px;background:#f3f8f7 !important;color:var(--app-text-2) !important;border:1px solid var(--app-line) !important}

.app-flash,.app-message-box,.app-guidance-item{
  position:relative;
  overflow:hidden;
}
.app-flash::before,.app-message-box::before,.app-guidance-item::before{
  content:"";
  position:absolute;
  top:0;bottom:0;right:0;
  width:5px;
  background:var(--app-teal-500);
}
.app-flash-success::before,.app-message-box.success::before,.app-guidance-item.success::before{background:#43a982}
.app-flash-error::before,.app-message-box.error::before,.app-guidance-item.error::before{background:#df6c65}
.app-flash-warning::before,.app-message-box.warning::before,.app-guidance-item.warning::before{background:#d8aa35}
.app-flash-info::before,.app-message-box.info::before,.app-guidance-item.info::before{background:#4b9ab7}

/* Tables */
.table-responsive,.app-table-wrap{
  border:1px solid var(--app-line) !important;
  overflow:auto !important;
}
.tbl thead th,table thead th{
  letter-spacing:0 !important;
  white-space:nowrap;
}
.tbl tbody tr,table tbody tr{
  transition:background .16s var(--app-ease), transform .16s var(--app-ease);
}
.tbl tbody tr:hover td,table tbody tr:hover td{
  background:#f4faf8 !important;
}

/* Report type cards */
.report-type-card,.app-type-card,.report-type-grid > form{
  min-height:160px;
}
.report-type-card .btn,.app-type-card .btn,.report-type-grid > form .btn{
  width:100%;
  margin-top:auto;
}

/* Better modals/dialog-like panels if present */
.modal,.dialog,.app-modal,.whatsapp-request-panel,.hospital-request-panel{
  border-radius:22px !important;
  border:1px solid var(--app-line) !important;
  box-shadow:var(--app-shadow-3) !important;
}

/* Progress overlay */
.app-progress-overlay{
  backdrop-filter:blur(10px) !important;
  background:rgba(15,35,45,.34) !important;
}
.app-progress-card{
  border-radius:24px !important;
  border:1px solid rgba(255,255,255,.72) !important;
  box-shadow:var(--app-shadow-3) !important;
}
.app-progress-icon{
  background:linear-gradient(135deg,var(--app-teal-500),var(--app-primary-700)) !important;
}
.app-progress-bar span{
  background:linear-gradient(90deg,var(--app-primary-700),var(--app-mint-400)) !important;
}

/* PWA banner visual refinement */

.pwa-icon{background:linear-gradient(135deg,var(--app-teal-500),var(--app-primary-800)) !important;color:#fff !important}
.pwa-copy h3{color:var(--app-primary-900) !important}
.pwa-copy p{color:var(--app-text-2) !important}

/* Subtle reveal animation */
.app-batch6-ready .glass-card,
.app-batch6-ready .app-card,
.app-batch6-ready .auth-card,
.app-batch6-ready .report-type-card,
.app-batch6-ready .kpi,
.app-batch6-ready .hero-item,
.app-batch6-ready .table-responsive{
  animation:appFadeUp .36s var(--app-ease) both;
}
.app-batch6-ready .glass-card:nth-of-type(2),
.app-batch6-ready .app-card:nth-of-type(2),
.app-batch6-ready .kpi:nth-of-type(2){animation-delay:.04s}
.app-batch6-ready .glass-card:nth-of-type(3),
.app-batch6-ready .app-card:nth-of-type(3),
.app-batch6-ready .kpi:nth-of-type(3){animation-delay:.08s}

/* Focus accessibility */
:focus-visible{
  outline:3px solid rgba(104,170,169,.55) !important;
  outline-offset:3px !important;
}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  box-shadow:var(--app-focus) !important;
}

/* Empty states */
.app-empty-state,.empty-state,.no-data{
  border:1px dashed var(--app-line-2) !important;
  border-radius:22px !important;
  padding:22px !important;
  background:linear-gradient(180deg,#fff,#f8fcfb) !important;
  color:var(--app-text-2) !important;
  text-align:center !important;
}
.app-empty-state i,.empty-state i{font-size:2rem;color:var(--app-teal-500);margin-bottom:10px}

/* Form action bars */
.app-form-actions,.form-actions,.actions-row,.button-row{
  position:relative;
  display:flex !important;
  flex-wrap:wrap !important;
  gap:10px !important;
  align-items:center !important;
  justify-content:flex-start !important;
  padding-top:10px !important;
}
.floating-generate,.sticky-actions{
  border-radius:20px !important;
  background:rgba(255,255,255,.96) !important;
  backdrop-filter:blur(14px) !important;
}

/* Sidebar visual consistency */
.app-side-link{
  transition:background .18s var(--app-ease), color .18s var(--app-ease), transform .18s var(--app-ease) !important;
}
.app-side-link:hover{transform:translateX(-2px) !important}
.app-side-link.is-active,.app-side-link.active{
  box-shadow:inset -4px 0 0 var(--app-mint-400), 0 10px 22px rgba(21,55,71,.10) !important;
}

/* Mobile refinement */
@media (max-width:900px){
  .app-shell > * + *, .main-content > * + *{margin-top:14px}
  .glass-card,.app-card,.auth-card,.report-type-card,.report-type-grid > form,.kpi,.hero-item{
    border-radius:18px !important;
    box-shadow:var(--app-shadow-1) !important;
  }
  .form-row,.grid,.form-grid,.app-form-grid{
    grid-template-columns:1fr !important;
    gap:12px !important;
  }
  .btn,.btn-primary,.btn-secondary,.btn-alt,.btn-danger,button:not(.app-unstyled):not(.pwa-close):not(.app-toast-close):not(.app-sidebar-toggle),input[type="submit"]{
    min-height:48px !important;
    width:auto;
  }
  .app-form-actions .btn,.form-actions .btn,.actions-row .btn,.button-row .btn,
  .app-form-actions button,.form-actions button,.actions-row button,.button-row button{
    flex:1 1 160px !important;
  }
  .app-toast-stack{top:12px !important;right:12px !important;left:12px !important;max-width:none !important}
}

@media (max-width:640px){
  h1,.page-title,.auth-title{font-size:1.32rem !important}
  h2,.section-title{font-size:1.08rem !important}
  .form-input,.form-select,.field,input[type="text"],input[type="email"],input[type="password"],input[type="number"],input[type="date"],input[type="time"],input[type="tel"],select,textarea{
    font-size:16px !important; /* prevents mobile zoom */
  }
  .glass-card,.app-card,.auth-card,.report-type-card,.report-type-grid > form,.kpi,.hero-item{
    padding:16px !important;
  }
}

@keyframes appSpin{to{transform:rotate(360deg)}}
@keyframes appFadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    scroll-behavior:auto !important;
    transition-duration:.01ms !important;
  }
}

/* ===== ui-final.css ===== */
/* UI FINAL REBUILD - mobile app shell + desktop web layout
   Loaded after all page inline styles. Keep this file last. */
:root{
  --ui-sidebar-w: 292px;
  --ui-mobile-header-h: 0px;
  --ui-safe-bottom: env(safe-area-inset-bottom, 0px);
  --ui-bg: #f4f7f6;
  --ui-surface: #ffffff;
  --ui-surface-2: #f8fbfb;
  --ui-border: #dbe8e6;
  --ui-border-2: #c8dad7;
  --ui-ink: #153c58;
  --ui-ink-2: #526b79;
  --ui-muted: #7f94a0;
  --ui-primary: #0b5278;
  --ui-primary-2: #0d668d;
  --ui-primary-soft: #e9f5fa;
  --ui-accent: #9bc6dc;
  --ui-accent-2: #d8eef3;
  --ui-success: #0f8b68;
  --ui-danger: #b7433e;
  --ui-warning: #9a6d14;
  --ui-radius-xl: 24px;
  --ui-radius-lg: 18px;
  --ui-radius-md: 14px;
  --ui-shadow: 0 16px 42px rgba(21,60,88,.10);
  --ui-shadow-soft: 0 8px 24px rgba(21,60,88,.08);
}

*{box-sizing:border-box}
html{background:var(--ui-bg)!important;scroll-behavior:smooth;max-width:100%;overflow-x:hidden}
body{
  margin:0!important;
  min-height:100vh!important;
  max-width:100%!important;
  overflow-x:hidden!important;
  background:
    radial-gradient(circle at 12% 12%, rgba(155,198,220,.16), transparent 30%),
    linear-gradient(180deg,#f7faf9 0%, var(--ui-bg) 100%)!important;
  color:var(--ui-ink)!important;
  font-family:'Cairo', Tahoma, Arial, sans-serif!important;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body.app-scroll-locked{overflow:hidden!important;touch-action:none!important}
body.app-scroll-fixed{position:fixed!important;left:0!important;right:0!important;width:100%!important;overflow:hidden!important}

body, body *{font-family:'Cairo',Tahoma,Arial,sans-serif}
body :where(p,span,div,label,td,th,h1,h2,h3,h4,h5,h6,strong,small){color:inherit}
a{color:inherit}

/* Desktop web shell */
body.app-has-sidebar{
  padding-right:var(--ui-sidebar-w)!important;
  padding-left:0!important;
}
.app-sidebar{
  position:fixed!important;
  inset:0 0 0 auto!important;
  width:var(--ui-sidebar-w)!important;
  height:100dvh!important;
  max-height:100dvh!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch!important;
  background:linear-gradient(180deg,#07486e 0%,#0b5278 55%,#084566 100%)!important;
  border-left:1px solid rgba(255,255,255,.12)!important;
  box-shadow:-16px 0 36px rgba(5,38,60,.18)!important;
  z-index:1000!important;
  padding:22px 18px!important;
  display:flex!important;
  flex-direction:column!important;
  gap:18px!important;
  transform:none!important;
  visibility:visible!important;
}
.app-sidebar *{color:#fff!important}
.app-sidebar::-webkit-scrollbar{width:8px}.app-sidebar::-webkit-scrollbar-thumb{background:rgba(255,255,255,.22);border-radius:999px}
.app-sidebar-overlay{display:none!important}
.app-sidebar-toggle{display:none!important}
.app-sidebar-brand{
  display:flex!important;align-items:center!important;gap:12px!important;
  padding:10px 6px 18px!important;margin:0 0 6px!important;
  border-bottom:1px solid rgba(255,255,255,.14)!important;
}
.app-sidebar-brand-logo{width:48px!important;height:48px!important;border-radius:50%!important;background:#fff!important;object-fit:cover!important;flex:0 0 auto!important}
.app-sidebar-brand-copy{min-width:0!important}.app-sidebar-brand-title{font-size:17px!important;font-weight:900!important;line-height:1.4!important;white-space:normal!important}.app-sidebar-brand-subtitle{font-size:13px!important;color:rgba(255,255,255,.68)!important}
.app-sidebar-nav{display:grid!important;gap:10px!important;flex:1 1 auto!important;min-height:0!important}
.app-side-link{
  display:grid!important;grid-template-columns:48px 1fr!important;align-items:center!important;gap:12px!important;
  min-height:56px!important;padding:8px 12px!important;border-radius:18px!important;
  background:rgba(255,255,255,.07)!important;border:1px solid rgba(255,255,255,.10)!important;
  text-decoration:none!important;font-weight:900!important;font-size:16px!important;line-height:1.4!important;
  transition:background .18s ease, transform .18s ease, border-color .18s ease!important;
}
.app-side-link:hover{background:rgba(255,255,255,.12)!important;transform:translateX(-1px)!important}
.app-side-link.active{background:#fff!important;border-color:rgba(255,255,255,.35)!important;box-shadow:0 10px 24px rgba(0,0,0,.14)!important}
.app-side-link.active,.app-side-link.active *{color:var(--ui-primary)!important}
.app-side-link-icon{width:42px!important;height:42px!important;border-radius:16px!important;display:flex!important;align-items:center!important;justify-content:center!important;background:rgba(255,255,255,.10)!important;font-size:18px!important;flex:0 0 auto!important}
.app-side-link.active .app-side-link-icon{background:#eff6f9!important;color:var(--ui-primary)!important}
.app-side-link-text{min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
.app-sidebar-footer{display:grid!important;gap:12px!important;padding-top:16px!important;margin-top:auto!important;border-top:1px solid rgba(255,255,255,.14)!important}
.app-sidebar-user{display:grid!important;grid-template-columns:52px 1fr!important;gap:12px!important;align-items:center!important;background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.12)!important;border-radius:20px!important;padding:12px!important;min-width:0!important}
.app-sidebar-user-avatar{width:48px!important;height:48px!important;border-radius:16px!important;display:flex!important;align-items:center!important;justify-content:center!important;background:rgba(255,255,255,.16)!important;font-size:20px!important;flex:0 0 auto!important}
.app-sidebar-user-copy{min-width:0!important;display:grid!important;gap:2px!important}.app-sidebar-user-name{font-size:15px!important;font-weight:900!important;line-height:1.45!important;white-space:normal!important;word-break:break-word!important}.app-sidebar-user-role{font-size:12px!important;color:rgba(255,255,255,.70)!important}
.app-sidebar-mini-stats{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;min-width:0!important}
.app-sidebar-mini-stat{display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;width:100%!important;min-width:0!important;padding:10px 12px!important;border-radius:16px!important;background:rgba(255,255,255,.10)!important;border:1px solid rgba(255,255,255,.12)!important;color:#fff!important;font-weight:800!important;line-height:1.4!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
.app-sidebar-mini-stat span{min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;direction:ltr!important}.app-sidebar-mini-stat[type="button"]{cursor:pointer!important}
.app-side-link.logout{background:rgba(255,255,255,.10)!important;color:#fff!important}

.app-page-header,.header{
  position:sticky!important;top:0!important;z-index:850!important;
  display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:16px!important;
  min-height:auto!important;margin:0!important;padding:14px 22px!important;
  background:rgba(255,255,255,.88)!important;border-bottom:1px solid var(--ui-border)!important;
  box-shadow:0 10px 28px rgba(21,60,88,.08)!important;backdrop-filter:blur(18px)!important;
  color:var(--ui-ink)!important;
}
.app-page-header *,.header *{color:var(--ui-ink)!important}
.app-page-header-main,.app-page-header-side{min-width:0!important}.app-page-header-side{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:10px!important;flex-wrap:wrap!important}
.app-header-brand{display:flex!important;align-items:center!important;gap:12px!important;min-width:0!important}.app-header-logo{width:46px!important;height:46px!important;border-radius:50%!important;background:#fff!important;object-fit:cover!important;box-shadow:var(--ui-shadow-soft)!important}.app-header-brand-copy{display:grid!important;min-width:0!important}.app-header-brand-copy strong{font-size:18px!important;font-weight:900!important;line-height:1.3!important;color:var(--ui-primary)!important}.app-header-brand-copy small{font-size:12px!important;color:var(--ui-ink-2)!important;line-height:1.4!important}
.app-page-user-chip,.app-top-action,.app-header-action{height:42px!important;display:inline-flex!important;align-items:center!important;gap:8px!important;padding:8px 12px!important;border-radius:14px!important;background:#fff!important;border:1px solid var(--ui-border)!important;color:var(--ui-ink)!important;text-decoration:none!important;box-shadow:var(--ui-shadow-soft)!important;font-weight:800!important;max-width:100%!important;min-width:0!important}
.app-page-user-avatar{width:32px!important;height:32px!important;border-radius:12px!important;background:var(--ui-primary-soft)!important;color:var(--ui-primary)!important;display:flex!important;align-items:center!important;justify-content:center!important;flex:0 0 auto!important}.app-page-user-meta{display:grid!important;min-width:0!important}.app-page-user-meta strong{font-size:13px!important;white-space:nowrap!important;max-width:170px!important;overflow:hidden!important;text-overflow:ellipsis!important}.app-page-user-meta small{font-size:11px!important;color:var(--ui-muted)!important}.app-top-action strong{direction:ltr!important;max-width:120px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.app-top-action-label{font-size:11px!important;color:var(--ui-muted)!important}.app-points-chip{background:var(--ui-primary-soft)!important;color:var(--ui-primary)!important}.app-top-action-logout{background:#fff0ef!important;color:var(--ui-danger)!important;border-color:#f4ccc9!important}

.app-shell,.main-content{
  width:min(1180px, calc(100% - 28px))!important;
  margin:18px auto!important;padding:0!important;
  color:var(--ui-ink)!important;
}
.app-shell:empty,#page_messages:empty,.app-message-box:empty{display:none!important}.app-message-box:not(.is-visible):empty{display:none!important}
.page-title{
  display:flex!important;align-items:center!important;gap:12px!important;flex-wrap:wrap!important;
  font-size:clamp(24px,3vw,34px)!important;line-height:1.35!important;font-weight:900!important;
  color:var(--ui-primary)!important;margin:12px 0 18px!important;padding:0!important;text-align:right!important;
}
.page-title i{color:#7e91ff!important}.page-subtitle,.muted,.small-text,.inline-help,.app-search-help{color:var(--ui-ink-2)!important;line-height:1.8!important}

.glass-card,.app-card,.auth-card,.report-type-card,.report-type-grid>form,.floating-generate,.kpi,.hero-item{
  background:var(--ui-surface)!important;border:1px solid var(--ui-border)!important;border-radius:var(--ui-radius-xl)!important;box-shadow:var(--ui-shadow)!important;color:var(--ui-ink)!important;backdrop-filter:none!important;
}
.glass-card,.app-card{padding:24px!important;margin:0 0 18px!important}.glass-card:hover,.app-card:hover,.report-type-card:hover{transform:none!important}.section-title{display:flex!important;align-items:center!important;gap:10px!important;flex-wrap:wrap!important;margin:0 0 18px!important;padding:0 0 12px!important;border-bottom:1px solid var(--ui-border)!important;color:var(--ui-primary)!important;font-size:18px!important;font-weight:900!important;line-height:1.5!important}.section-title i{color:#7e91ff!important}.badge{order:-1!important;width:36px!important;height:36px!important;border-radius:50%!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;background:#b8d6e8!important;color:var(--ui-primary)!important;font-size:14px!important;font-weight:900!important;padding:0!important;margin:0!important;border:0!important}
.form-grid,.app-form-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important}.form-group{display:flex!important;flex-direction:column!important;gap:8px!important;min-width:0!important}.form-group.full,.app-form-grid .full{grid-column:1/-1!important}.form-group label{font-size:15px!important;font-weight:900!important;line-height:1.7!important;color:var(--ui-primary)!important;margin:0!important}.form-input,.form-select,input.form-input,select.form-input,textarea.form-input,input.field,select.field,textarea.field{width:100%!important;min-height:50px!important;border-radius:16px!important;padding:13px 15px!important;border:1px solid var(--ui-border-2)!important;background:#fff!important;color:var(--ui-ink)!important;box-shadow:inset 0 1px 2px rgba(21,60,88,.03)!important;font-size:15px!important;line-height:1.45!important;text-align:inherit!important;-webkit-text-fill-color:var(--ui-ink)!important}.form-input::placeholder{color:#91a3ad!important;-webkit-text-fill-color:#91a3ad!important}.form-input:focus,.form-select:focus,input.field:focus,select.field:focus,textarea.field:focus{outline:none!important;border-color:#72b3d1!important;box-shadow:0 0 0 4px rgba(114,179,209,.20)!important;background:#fff!important}.form-input:disabled,.form-select:disabled,.form-input[readonly]{background:#f5f8f8!important;color:#8297a2!important;-webkit-text-fill-color:#8297a2!important}.form-select,select.form-input,select.field{appearance:auto!important;-webkit-appearance:menulist!important;background-color:#fff!important;color:var(--ui-ink)!important}option{background:#fff!important;color:var(--ui-ink)!important}.row-inline{display:flex!important;gap:10px!important;align-items:center!important}.row-inline>*{flex:1 1 0!important;min-width:0!important}
.btn,.btn-primary,.btn-secondary,.btn-alt,.btn-ghost,button.btn{min-height:48px!important;border-radius:16px!important;padding:12px 18px!important;border:1px solid transparent!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;font-weight:900!important;font-size:15px!important;text-decoration:none!important;cursor:pointer!important;box-shadow:none!important;transition:transform .15s ease,filter .15s ease!important}.btn:hover{transform:translateY(-1px)!important}.btn-primary,.btn:not(.btn-secondary):not(.btn-ghost):not(.btn-danger){background:linear-gradient(135deg,var(--ui-primary-2),var(--ui-primary))!important;color:#fff!important}.btn-secondary,.btn-alt,.btn-ghost{background:#e4f0f6!important;color:var(--ui-primary)!important;border-color:#c9e1eb!important}.btn-danger{background:#fff0ef!important;color:var(--ui-danger)!important;border-color:#f4ccc9!important}.actions,.app-form-actions{display:flex!important;flex-wrap:wrap!important;gap:10px!important;margin-top:18px!important}

.app-completion{background:#fff!important;border:1px solid var(--ui-border)!important;border-radius:22px!important;box-shadow:var(--ui-shadow-soft)!important;padding:16px!important;margin:0 0 18px!important}.app-completion-head{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:10px!important;flex-wrap:wrap!important}.app-completion-title{font-weight:900!important;color:var(--ui-primary)!important}.app-completion-status{font-size:13px!important;font-weight:800!important;color:var(--ui-ink-2)!important}.app-completion-bar{height:12px!important;background:#edf4f6!important;border-radius:999px!important;overflow:hidden!important;margin-top:12px!important}.app-completion-bar span{display:block!important;height:100%!important;background:linear-gradient(90deg,#8cc7de,#0b5278)!important;border-radius:999px!important}.app-completion-meta{display:flex!important;justify-content:space-between!important;margin-top:8px!important;color:var(--ui-ink-2)!important;font-size:12px!important}

.section-nav-wrap{position:sticky!important;top:75px!important;z-index:760!important;background:rgba(244,247,246,.78)!important;backdrop-filter:blur(18px)!important;border-bottom:1px solid var(--ui-border)!important;padding:10px 0!important;margin:0!important;box-shadow:0 6px 18px rgba(21,60,88,.06)!important}.section-nav{width:min(1180px, calc(100% - 28px))!important;margin:auto!important;display:flex!important;gap:8px!important;overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:thin!important;background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;position:static!important}.section-nav-link{flex:0 0 auto!important;min-height:44px!important;border-radius:14px!important;border:1px solid var(--ui-border-2)!important;background:#fff!important;color:var(--ui-primary)!important;padding:8px 12px!important;text-decoration:none!important;font-weight:900!important;display:inline-flex!important;align-items:center!important;gap:8px!important;box-shadow:var(--ui-shadow-soft)!important}.section-nav-link i{font-size:14px!important}.section-nav-link.is-active,.section-nav-link:hover{background:var(--ui-primary)!important;color:#fff!important}

/* Hospital search final structure */
.app-hospital-search-group{position:relative!important;z-index:10!important}.app-hospital-search-box{position:relative!important;display:block!important}.app-hospital-search-box>i{position:absolute!important;left:14px!important;top:50%!important;transform:translateY(-50%)!important;color:var(--ui-ink-2)!important;pointer-events:none!important}.app-hospital-search-box .form-input{padding-left:44px!important}.app-hospital-search-results,.search-results-dropdown{display:none;position:static!important;inset:auto!important;width:100%!important;margin:8px 0 0!important;max-height:320px!important;overflow-y:auto!important;overscroll-behavior:contain!important;border-radius:18px!important;background:#fff!important;border:1px solid var(--ui-border-2)!important;box-shadow:0 18px 38px rgba(21,60,88,.14)!important;padding:8px!important;z-index:40!important;color:var(--ui-ink)!important}.app-hospital-search-results.is-visible,.search-results-dropdown.is-visible{display:grid!important;gap:6px!important}.app-search-item{width:100%!important;display:grid!important;grid-template-columns:1fr auto!important;gap:8px!important;align-items:center!important;text-align:right!important;border:0!important;border-radius:14px!important;background:#f8fbfb!important;color:var(--ui-ink)!important;padding:12px!important;cursor:pointer!important;font-weight:800!important}.app-search-item:hover,.app-search-item.is-active{background:#e9f5fa!important}.app-search-item-main{display:grid!important;gap:2px!important;min-width:0!important}.app-search-item-title{font-weight:900!important;color:var(--ui-primary)!important;white-space:normal!important}.app-search-item-sub{font-size:12px!important;color:var(--ui-ink-2)!important}.app-search-item-type{font-size:12px!important;border-radius:999px!important;padding:5px 8px!important;background:#e4f0f6!important;color:var(--ui-primary)!important;font-weight:900!important;white-space:nowrap!important}.app-search-empty{padding:14px!important;text-align:center!important;color:var(--ui-ink-2)!important;font-weight:800!important}.split-selected select{border-color:#72b3d1!important;box-shadow:0 0 0 4px rgba(114,179,209,.16)!important}.split-muted{opacity:.72!important}
.app-request-hospital-toggle{width:100%!important}.app-request-hospital-panel{background:#f8fbfb!important;border:1px solid var(--ui-border)!important;border-radius:20px!important;padding:16px!important;color:var(--ui-ink)!important}.app-request-hospital-panel.is-visible{display:block!important}.app-request-hospital-help{color:var(--ui-ink-2)!important}.app-user-hidden-note{background:#edf7fb!important;border:1px solid #cae5ee!important;color:var(--ui-primary)!important;border-radius:14px!important;padding:10px 12px!important;font-size:12px!important;line-height:1.8!important}

.app-table,.tbl{width:100%!important;border-collapse:separate!important;border-spacing:0!important;background:#fff!important;border-radius:18px!important;overflow:hidden!important}.responsive-table,.table-responsive{overflow:auto!important;border-radius:18px!important;box-shadow:var(--ui-shadow-soft)!important;background:#fff!important}.app-table th,.tbl th{background:var(--ui-primary)!important;color:#fff!important;font-weight:900!important;white-space:nowrap!important}.app-table td,.tbl td{background:#fff!important;color:var(--ui-ink)!important;border-bottom:1px solid #edf2f1!important}.app-table th,.app-table td,.tbl th,.tbl td{padding:12px 14px!important;text-align:right!important}

/* Mobile / app mode, including Chrome desktop-site on phones */
@media (max-width: 1024px){
  body.app-has-sidebar{padding-right:0!important;padding-left:0!important}
  .app-sidebar-toggle{display:inline-flex!important;position:fixed!important;top:12px!important;right:12px!important;z-index:1205!important;min-height:44px!important;align-items:center!important;justify-content:center!important;gap:7px!important;padding:10px 14px!important;border:0!important;border-radius:16px!important;background:var(--ui-primary)!important;color:#fff!important;box-shadow:0 12px 24px rgba(8,69,102,.24)!important;font-weight:900!important}.app-sidebar-toggle *{color:#fff!important}
  .app-sidebar-overlay{display:block!important;position:fixed!important;inset:0!important;background:rgba(13,28,37,.42)!important;backdrop-filter:blur(3px)!important;z-index:1190!important;opacity:0!important;visibility:hidden!important;transition:.2s ease!important;touch-action:none!important}.app-sidebar{width:min(86vw,360px)!important;transform:translateX(110%)!important;transition:transform .22s ease!important;z-index:1200!important;border-radius:0 0 0 0!important;visibility:visible!important}.app-sidebar-open .app-sidebar{transform:translateX(0)!important}.app-sidebar-open .app-sidebar-overlay{opacity:1!important;visibility:visible!important}.app-sidebar-open .app-sidebar-toggle{right:calc(min(86vw,360px) + 10px)!important;background:#fff!important;color:var(--ui-primary)!important}.app-sidebar-open .app-sidebar-toggle *{color:var(--ui-primary)!important}
  .app-page-header,.header{position:relative!important;top:auto!important;z-index:10!important;grid-template-columns:1fr!important;gap:10px!important;margin:10px 12px 12px!important;padding:14px!important;border-radius:22px!important;border:1px solid var(--ui-border)!important;box-shadow:var(--ui-shadow-soft)!important;background:#fff!important;min-height:0!important}.app-page-header-side{justify-content:stretch!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;width:100%!important}.app-page-user-chip{grid-column:1/-1!important;height:auto!important;min-height:52px!important;justify-content:flex-start!important}.app-top-action{height:42px!important;justify-content:center!important;min-width:0!important}.app-points-chip span,.app-top-action strong{max-width:100%!important}.app-header-brand-copy strong{font-size:16px!important}.app-header-logo{width:42px!important;height:42px!important}
  .app-shell,.main-content{width:100%!important;margin:0!important;padding:0 12px!important}.page-title{font-size:28px!important;margin:18px 0 14px!important;line-height:1.35!important}.glass-card,.app-card{border-radius:22px!important;padding:18px!important;margin-bottom:14px!important}.form-grid,.app-form-grid{grid-template-columns:1fr!important;gap:14px!important}.form-input,.form-select,input.form-input,select.form-input,textarea.form-input{min-height:54px!important;border-radius:16px!important;font-size:16px!important}.btn{width:100%!important}.actions{display:grid!important;grid-template-columns:1fr!important}.row-inline{flex-direction:column!important;align-items:stretch!important}.section-nav-wrap{position:sticky!important;top:0!important;padding:8px 0!important;margin:0 0 10px!important;background:rgba(244,247,246,.92)!important;z-index:700!important}.section-nav{width:100%!important;padding:0 12px 2px!important}.section-nav-link{width:46px!important;height:46px!important;min-height:46px!important;padding:0!important;justify-content:center!important;border-radius:16px!important}.section-nav-link span{display:none!important}.section-nav-link i{font-size:16px!important}.floating-generate{position:static!important;bottom:auto!important;margin-bottom:calc(18px + var(--ui-safe-bottom))!important}.app-completion{margin-top:0!important}.app-toast-stack{right:12px!important;left:12px!important;top:auto!important;bottom:14px!important;max-width:none!important}.app-progress-overlay{top:auto!important;left:12px!important;right:12px!important;bottom:14px!important}.app-progress-card{width:100%!important}.app-hospital-search-results,.search-results-dropdown{max-height:260px!important}.app-search-item{grid-template-columns:1fr!important}.app-search-item-type{justify-self:start!important}
}

@media (max-width: 640px){
  .app-sidebar{width:min(88vw,338px)!important;padding:18px 14px!important}.app-sidebar-open .app-sidebar-toggle{right:calc(min(88vw,338px) + 8px)!important}.app-side-link{grid-template-columns:44px 1fr!important;min-height:54px!important;font-size:15px!important}.app-side-link-icon{width:38px!important;height:38px!important}.app-sidebar-user{grid-template-columns:46px 1fr!important}.app-sidebar-user-avatar{width:42px!important;height:42px!important}.page-title{font-size:25px!important}.section-title{font-size:17px!important}.app-page-header-side{grid-template-columns:1fr!important}.app-top-action{justify-content:flex-start!important}.app-completion-head,.app-completion-meta{display:grid!important;grid-template-columns:1fr!important;gap:6px!important}.glass-card,.app-card{padding:16px!important}.main-content{padding-bottom:18px!important}
}

/* Force mobile app layout on real phones even when Chrome uses desktop-site viewport */
html.app-device-mobile body.app-has-sidebar{padding-right:0!important;padding-left:0!important}
html.app-device-mobile .app-sidebar-toggle{display:inline-flex!important;position:fixed!important;top:12px!important;right:12px!important;z-index:1205!important;min-height:44px!important;align-items:center!important;justify-content:center!important;gap:7px!important;padding:10px 14px!important;border:0!important;border-radius:16px!important;background:var(--ui-primary)!important;color:#fff!important;box-shadow:0 12px 24px rgba(8,69,102,.24)!important;font-weight:900!important}
html.app-device-mobile .app-sidebar-overlay{display:block!important;position:fixed!important;inset:0!important;background:rgba(13,28,37,.42)!important;backdrop-filter:blur(3px)!important;z-index:1190!important;opacity:0!important;visibility:hidden!important;transition:.2s ease!important;touch-action:none!important}
html.app-device-mobile .app-sidebar{width:min(88vw,338px)!important;transform:translateX(110%)!important;transition:transform .22s ease!important;z-index:1200!important}
html.app-device-mobile .app-sidebar-open .app-sidebar{transform:translateX(0)!important}
html.app-device-mobile .app-sidebar-open .app-sidebar-overlay{opacity:1!important;visibility:visible!important}
html.app-device-mobile .app-sidebar-open .app-sidebar-toggle{right:calc(min(88vw,338px) + 8px)!important;background:#fff!important;color:var(--ui-primary)!important}
html.app-device-mobile .app-sidebar-open .app-sidebar-toggle *{color:var(--ui-primary)!important}
html.app-device-mobile .app-page-header,html.app-device-mobile .header{position:relative!important;top:auto!important;grid-template-columns:1fr!important;margin:10px 12px 12px!important;padding:14px!important;border-radius:22px!important;background:#fff!important}
html.app-device-mobile .app-page-header-side{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;width:100%!important;justify-content:stretch!important}
html.app-device-mobile .app-shell,html.app-device-mobile .main-content{width:100%!important;margin:0!important;padding:0 12px!important}
html.app-device-mobile .form-grid,html.app-device-mobile .app-form-grid{grid-template-columns:1fr!important}
html.app-device-mobile .section-nav-wrap{position:sticky!important;top:0!important;z-index:700!important}
html.app-device-mobile .section-nav{width:100%!important;padding:0 12px 2px!important}
html.app-device-mobile .section-nav-link{width:46px!important;height:46px!important;min-height:46px!important;padding:0!important;justify-content:center!important}
html.app-device-mobile .section-nav-link span{display:none!important}
html.app-device-mobile .floating-generate{position:static!important;bottom:auto!important}

@media (min-width: 1025px){
  body:not(.app-page-report) .app-shell{padding-top:18px!important}
  body.app-page-report .main-content{padding-top:16px!important}
}

@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* section-nav alternative markup used by statement page */
.section-nav-inner{width:min(1180px, calc(100% - 28px))!important;margin:0 auto!important;display:flex!important;gap:8px!important;overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:thin!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
.section-nav > .section-nav-inner .section-nav-link{flex:0 0 auto!important}
@media (max-width:1024px){.section-nav-inner{width:100%!important;padding:0 12px 2px!important}.section-nav > .section-nav-inner .section-nav-link{width:46px!important;height:46px!important;min-height:46px!important;padding:0!important;justify-content:center!important}.section-nav > .section-nav-inner .section-nav-link span{display:none!important}}
html.app-device-mobile .section-nav-inner{width:100%!important;padding:0 12px 2px!important}
html.app-device-mobile .section-nav > .section-nav-inner .section-nav-link{width:46px!important;height:46px!important;min-height:46px!important;padding:0!important;justify-content:center!important}
html.app-device-mobile .section-nav > .section-nav-inner .section-nav-link span{display:none!important}


/* UI FINAL PATCH 1 - fixed off-canvas sidebar with overlay and scroll proxy */
html.app-sidebar-is-open,
body.app-sidebar-open{
  overscroll-behavior:none!important;
}
body.app-sidebar-open{
  overflow:hidden!important;
}
body.app-sidebar-open.app-scroll-fixed{
  position:fixed!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  overflow:hidden!important;
}
.app-sidebar{
  position:fixed!important;
  top:0!important;
  right:0!important;
  bottom:0!important;
  left:auto!important;
  height:100dvh!important;
  max-height:100dvh!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch!important;
  touch-action:pan-y!important;
  will-change:transform!important;
  contain:layout paint!important;
}
.app-sidebar-overlay{
  position:fixed!important;
  inset:0!important;
  z-index:1190!important;
  background:rgba(7,20,30,.46)!important;
  backdrop-filter:blur(3px)!important;
  -webkit-backdrop-filter:blur(3px)!important;
  touch-action:none!important;
}
@media (max-width:1024px){
  .app-sidebar{
    position:fixed!important;
    top:0!important;
    right:0!important;
    bottom:0!important;
    left:auto!important;
    height:100dvh!important;
    max-height:100dvh!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    z-index:1200!important;
  }
  .app-sidebar-overlay{
    display:block!important;
    position:fixed!important;
    inset:0!important;
    z-index:1190!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
  body.app-sidebar-open .app-sidebar-overlay,
  .app-sidebar-open .app-sidebar-overlay{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }
}
html.app-device-mobile .app-sidebar{
  position:fixed!important;
  top:0!important;
  right:0!important;
  bottom:0!important;
  left:auto!important;
  height:100dvh!important;
  max-height:100dvh!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  z-index:1200!important;
}
html.app-device-mobile .app-sidebar-overlay{
  display:block!important;
  position:fixed!important;
  inset:0!important;
  z-index:1190!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
html.app-device-mobile body.app-sidebar-open .app-sidebar-overlay,
html.app-device-mobile .app-sidebar-open .app-sidebar-overlay{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}
/* Allow the sidebar itself to receive vertical touch scrolling while the page body is locked. */
body.app-scroll-locked{touch-action:auto!important;}
body.app-sidebar-open .app-sidebar{touch-action:pan-y!important;}
body.app-sidebar-open .app-sidebar-overlay{touch-action:none!important;}
/* UX2 patch: stable hospital search, QR settings, and admin pro dashboard */
.app-hospital-search-group{position:relative!important;z-index:30!important;overflow:visible!important}.app-hospital-search-box{position:relative!important;overflow:visible!important}.app-hospital-search-results-inline,.app-hospital-search-results,.search-results-dropdown{position:relative!important;display:none!important;width:100%!important;margin:10px 0 0!important;padding:8px!important;max-height:340px!important;overflow:auto!important;background:#ffffff!important;border:1px solid rgba(19,84,120,.14)!important;border-radius:18px!important;box-shadow:0 16px 36px rgba(10,54,84,.14)!important;color:#173144!important;z-index:60!important;overscroll-behavior:contain!important}.app-hospital-search-results-inline.is-visible,.app-hospital-search-results.is-visible,.search-results-dropdown.is-visible{display:grid!important;gap:8px!important}.app-search-result-item,.search-result-item{width:100%!important;border:0!important;border-radius:14px!important;background:#f8fbfd!important;color:#173144!important;text-align:right!important;padding:12px 14px!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:10px!important;cursor:pointer!important;transition:background .15s ease,transform .15s ease!important}.app-search-result-item:hover,.app-search-result-item.is-active,.search-result-item:hover{background:#eaf5fb!important;transform:translateY(-1px)!important}.app-search-result-main{display:grid!important;gap:3px!important;min-width:0!important}.app-search-result-main strong{font-size:14px!important;color:#0a4975!important;font-weight:900!important}.app-search-result-main em{font-size:12px!important;color:#6b7f8d!important;font-style:normal!important;line-height:1.5!important}.hospital-result-badge{display:inline-flex!important;align-items:center!important;justify-content:center!important;border-radius:999px!important;padding:6px 9px!important;font-size:11px!important;font-weight:900!important;background:#e7f1f7!important;color:#0a4975!important;white-space:nowrap!important}.hospital-result-badge.private{background:#eef9f4!important;color:#0f7a4f!important}.hospital-result-badge.government{background:#eef2ff!important;color:#3730a3!important}.app-search-state{padding:14px!important;text-align:center!important;color:#667b8c!important;font-weight:800!important}.app-search-state.error{color:#b91c1c!important}.app-search-state.warning{color:#a16207!important}.app-hidden-original-hospital{display:none!important}.app-hospital-split{grid-column:1/-1!important;width:100%!important}.app-hospital-selection-loading{opacity:.65!important;pointer-events:none!important}.app-user-hidden-report-option{display:block}.app-user-privileged .app-user-hidden-report-option{display:flex}.qr-hero-card{display:flex!important;gap:18px!important;align-items:center!important;background:linear-gradient(135deg,#ecf8ff,#ffffff)!important}.qr-hero-icon{width:64px;height:64px;border-radius:22px;display:grid;place-items:center;background:linear-gradient(135deg,#0a4975,#36a0c4);color:#fff;font-size:26px;box-shadow:0 18px 36px rgba(10,73,117,.22)}.qr-hero-card h2{margin:0 0 6px!important;color:#0a4975!important}.qr-hero-card p{margin:0!important;color:#557083!important;line-height:1.8}.app-section-heading{display:flex!important;align-items:flex-start!important;gap:12px!important;margin-bottom:18px!important}.app-section-heading>i{width:42px;height:42px;border-radius:14px;background:#e9f5fb;color:#0a4975;display:grid;place-items:center;font-size:18px;flex:none}.app-section-heading h2{margin:0!important;color:#0a4975!important;font-size:20px!important}.app-section-heading p{margin:3px 0 0!important;color:#687d8d!important;line-height:1.6}.qr-settings-grid{align-items:start}.qr-preview-box{border:1px dashed rgba(10,73,117,.22);background:#f7fbfd;border-radius:18px;padding:14px;display:grid!important;gap:10px}.qr-preview-box>span{font-weight:900;color:#0a4975}.qr-preview-image{max-width:180px;max-height:180px;border-radius:16px;background:#fff;border:1px solid rgba(10,73,117,.12);padding:8px;object-fit:contain}.qr-preview-empty{min-height:140px;border-radius:16px;background:#fff;display:grid;place-items:center;color:#8aa0ad;text-align:center;gap:8px}.qr-preview-empty i{font-size:36px;color:#b7c7d0}.admin-pro-shell{display:grid!important;gap:18px!important}.admin-hero{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:20px!important;align-items:center!important;background:linear-gradient(135deg,#08324f,#0a4975 56%,#20a3c7)!important;color:#fff!important;overflow:hidden!important;position:relative!important}.admin-hero:before{content:"";position:absolute;inset:auto -80px -120px auto;width:280px;height:280px;border-radius:50%;background:rgba(255,255,255,.12)}.admin-hero-content{position:relative;z-index:1}.admin-eyebrow{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.24);padding:8px 12px;border-radius:999px;font-weight:900}.admin-hero h1{margin:14px 0 8px!important;font-size:clamp(24px,4vw,42px)!important;color:#fff!important}.admin-hero p{margin:0!important;color:rgba(255,255,255,.86)!important;line-height:1.9;max-width:760px}.admin-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.admin-hero-meter{position:relative;z-index:1}.admin-meter-ring{--value:0;width:150px;height:150px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#fff calc(var(--value)*1%),rgba(255,255,255,.22) 0);position:relative;color:#0a4975}.admin-meter-ring:after{content:"";position:absolute;inset:14px;border-radius:50%;background:#fff}.admin-meter-ring strong,.admin-meter-ring span{position:relative;z-index:1;display:block;text-align:center}.admin-meter-ring strong{font-size:34px}.admin-meter-ring span{font-weight:900;color:#5a7182;margin-top:42px;position:absolute}.admin-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.admin-kpi-card{background:#fff;border:1px solid rgba(10,73,117,.10);box-shadow:0 14px 36px rgba(16,57,85,.08);border-radius:22px;padding:18px;display:grid;gap:8px}.admin-kpi-card i{width:42px;height:42px;border-radius:16px;display:grid;place-items:center;background:#eaf5fb;color:#0a4975;font-size:18px}.admin-kpi-card span{color:#5d7485;font-weight:800}.admin-kpi-card strong{font-size:34px;color:#0a4975;line-height:1}.admin-kpi-card em{font-style:normal;color:#879aa7;font-size:13px}.admin-kpi-card.success i{background:#ecfdf3;color:#16814f}.admin-kpi-card.warning i{background:#fff7e6;color:#b96b07}.admin-kpi-card.info i{background:#eef2ff;color:#3730a3}.admin-layout-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr);gap:18px}.admin-panel{overflow:hidden!important}.admin-compact-form{grid-template-columns:repeat(2,minmax(0,1fr))!important}.admin-check{display:inline-flex;align-items:center;gap:8px;font-weight:900;color:#244254}.admin-check input{width:18px;height:18px;accent-color:#0a4975}.admin-logo-preview{min-height:150px;border:1px dashed rgba(10,73,117,.2);border-radius:20px;background:#f7fbfd;display:grid;place-items:center;margin-bottom:14px;color:#7b90a0;text-align:center}.admin-logo-preview img{max-width:240px;max-height:140px;object-fit:contain;border-radius:14px}.admin-table-tools{display:flex;align-items:center;gap:12px;margin-bottom:14px}.admin-table-tools .form-input{max-width:340px}.admin-table-tools span{color:#6d8290;font-weight:800}.admin-table td small{display:block;color:#738897;margin-top:4px}.admin-chip{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;background:#eaf5fb;color:#0a4975;font-weight:900;font-size:12px}.admin-chip.success{background:#ecfdf3;color:#16814f}.admin-chip.muted{background:#eef3f5;color:#6f8491}.admin-actions-stack{display:grid;gap:8px;min-width:280px}.admin-inline-form{display:grid;grid-template-columns:minmax(120px,1fr) auto;gap:8px;align-items:center}.admin-inline-form .admin-check{grid-column:1}.admin-report-type-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}.admin-report-type-card{border:1px solid rgba(10,73,117,.1);background:#f9fcfd;border-radius:20px;padding:16px;display:grid;gap:14px}.admin-report-type-card.is-new{border-style:dashed;background:#ffffff}.admin-report-type-head{display:flex;align-items:center;gap:10px;color:#0a4975}.admin-report-type-head i{width:36px;height:36px;border-radius:13px;background:#eaf5fb;display:grid;place-items:center}.admin-ua{max-width:360px;word-break:break-word;color:#667b8c!important;font-size:12px!important}@media(max-width:1100px){.admin-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-layout-grid{grid-template-columns:1fr}.admin-hero{grid-template-columns:1fr}.admin-hero-meter{display:none}}@media(max-width:720px){.admin-kpi-grid{grid-template-columns:1fr}.admin-compact-form{grid-template-columns:1fr!important}.admin-inline-form{grid-template-columns:1fr}.admin-actions-stack{min-width:0}.admin-table-tools{display:grid}.admin-table-tools .form-input{max-width:none}.qr-hero-card{align-items:flex-start!important}.qr-hero-icon{width:52px;height:52px;border-radius:18px;font-size:22px}}

/* UI FINAL PATCH 2 - Chrome scroll, lightweight navigation, and hidden report fields */
html, body{touch-action:pan-y!important;overscroll-behavior-y:auto!important;overflow-y:auto;}
body:not(.app-sidebar-open){position:static!important;top:auto!important;overflow-y:auto!important;touch-action:pan-y!important;}
body.app-sidebar-open{overflow:hidden!important;touch-action:none!important;}
body.app-sidebar-open .app-sidebar{touch-action:pan-y!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior:contain!important;}
body.app-sidebar-open .app-sidebar-overlay{pointer-events:auto!important;touch-action:none!important;}
.app-nav-loading-bar{position:fixed;top:0;right:0;height:3px;width:0;z-index:2500;background:linear-gradient(90deg,#9fd5e8,#0a4975);box-shadow:0 0 18px rgba(10,73,117,.35);transition:width .35s ease,opacity .25s ease;opacity:0}.app-nav-loading-bar.is-active{width:82%;opacity:1}.app-nav-loading-bar.is-active::after{content:"";position:absolute;left:0;top:0;height:100%;width:28%;background:rgba(255,255,255,.55);animation:appNavPulse 1.1s infinite}@keyframes appNavPulse{0%{transform:translateX(140%)}100%{transform:translateX(-420%)}}
body:not(.app-user-privileged) .app-user-hidden-leave-code,
body:not(.app-user-privileged) .app-user-hidden-hospital-detail,
body:not(.app-user-privileged) .app-user-hidden-hospital-guidance,
body:not(.app-user-privileged) .app-user-hidden-license-option,
body:not(.app-user-privileged) .app-user-hidden-report-option,
body:not(.app-user-privileged) #report_media,
body:not(.app-user-privileged) a[href="#report_media"],
body:not(.app-user-privileged) #qr_preset_select,
body:not(.app-user-privileged) #qr_image,
body:not(.app-user-privileged) #report_link_url,
body:not(.app-user-privileged) label[for="qr_preset_select"],
body:not(.app-user-privileged) label[for="qr_image"],
body:not(.app-user-privileged) label[for="report_link_url"],
body:not(.app-user-privileged) button[data-output="word"]{display:none!important;visibility:hidden!important;}
body:not(.app-user-privileged) .app-user-hidden-note{display:flex!important;align-items:center;gap:8px;margin-top:8px;color:#5f7787;font-weight:800;background:#f4fbfd;border:1px solid #d9edf4;border-radius:14px;padding:10px 12px;}
.app-page-admin .app-card h2 i,.app-page-qr .app-card h2 i{margin-inline-end:8px;color:#0a4975}


/* ===== UI FINAL PATCH 3: clean navigation, icon fallback, PWA, stable hospital selection ===== */
html,body{overscroll-behavior-y:auto!important;-webkit-overflow-scrolling:touch!important;touch-action:pan-y pinch-zoom!important}
body.app-sidebar-open,html.app-sidebar-is-open{overscroll-behavior:none!important;touch-action:none!important}
.app-sidebar{touch-action:pan-y!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior:contain!important}
.app-hospital-selection-loading #hospital_search,
.app-hospital-selection-loading #hospital_private_id,
.app-hospital-selection-loading #hospital_government_id,
.app-hospital-selection-loading #hospital_id{cursor:progress!important;box-shadow:0 0 0 4px rgba(54,160,196,.14)!important}
.app-nav-loading-bar{position:fixed!important;top:0!important;right:0!important;height:3px!important;width:0!important;z-index:2147483000!important;background:linear-gradient(90deg,#36a0c4,#0a4975)!important;box-shadow:0 0 18px rgba(54,160,196,.45)!important;transition:width .22s ease,opacity .22s ease!important;opacity:0!important}.app-nav-loading-bar.is-active{width:72%!important;opacity:1!important;animation:appNavPulse 1.1s ease-in-out infinite!important}@keyframes appNavPulse{0%{width:18%}55%{width:74%}100%{width:92%}}



/* ===== UI FINAL PATCH 4: smoother navigation, unified hospital search, nationality selects, sick-leave order ===== */
.app-nav-loading-bar.is-active{width:88%!important;opacity:1!important}
.app-hospital-search-results,.search-results-dropdown{position:relative!important;display:none!important;grid-template-columns:1fr!important;gap:8px!important;scrollbar-width:thin!important}
.app-hospital-search-results.is-visible,.search-results-dropdown.is-visible{display:grid!important}
.app-search-item.app-search-result-item{border:1px solid rgba(10,73,117,.08)!important;box-shadow:0 8px 20px rgba(10,54,84,.05)!important;background:#fbfdfe!important}
.app-search-item.app-search-result-item:hover{background:#eaf6fb!important;box-shadow:0 12px 26px rgba(10,73,117,.10)!important}
.app-search-item-title strong{font-size:14px!important;color:#0a4975!important}.app-search-item-sub em{font-size:12px!important;color:#6c8393!important;font-style:normal!important}
.hospital-result-badge.private{background:#ecfdf3!important;color:#157347!important}.hospital-result-badge.government{background:#eef2ff!important;color:#3730a3!important}.hospital-result-badge.unclassified{background:#f1f5f9!important;color:#475569!important}
body.app-hospital-selection-loading .app-hospital-search-group::after{content:'جاري تعبئة بيانات المستشفى...';display:block;margin-top:8px;color:#0a4975;font-weight:900;font-size:12px}
.js-nationality-select{cursor:pointer!important;background-image:linear-gradient(45deg,transparent 50%,#0a4975 50%),linear-gradient(135deg,#0a4975 50%,transparent 50%)!important;background-position:18px 50%,12px 50%!important;background-size:6px 6px,6px 6px!important;background-repeat:no-repeat!important;padding-left:38px!important}
.app-page-sick #report_print{margin-top:0!important}
.app-page-sick #report_dates .form-grid>.form-group:has(#leave_duration_days){order:10}.app-page-sick #report_dates .form-grid>.form-group:has(#leave_start_date){order:11}.app-page-sick #report_dates .form-grid>.form-group:has(#admission_date_gregorian){order:12}.app-page-sick #report_dates .form-grid>.form-group:has(#discharge_date_gregorian){order:13}.app-page-sick #report_dates .form-grid>.form-group:has(#issue_date){order:14}
@media(max-width:760px){.app-search-item.app-search-result-item{grid-template-columns:1fr!important}.hospital-result-badge{justify-self:start!important}.js-nationality-select{background-position:16px 50%,10px 50%!important}}


/* ===== UI Final Patch 5: internal navigation + unified sick leave search + patient name order ===== */
.app-hospital-search-results .search-result-item,
.app-hospital-search-results .app-search-result-item,
.app-hospital-search-results .app-search-item,
#hospital_search_results .search-result-item,
#hospital_search_results .app-search-result-item,
#hospital_search_results .app-search-item{
  width:100%!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:10px!important;
  padding:12px 14px!important;
  border:1px solid rgba(10,73,117,.08)!important;
  border-radius:14px!important;
  background:#fbfdfe!important;
  color:#173144!important;
  box-shadow:0 8px 20px rgba(10,54,84,.05)!important;
  text-align:right!important;
  cursor:pointer!important;
  transition:background .15s ease,box-shadow .15s ease,transform .15s ease!important;
}
.app-hospital-search-results .search-result-item:hover,
.app-hospital-search-results .app-search-result-item:hover,
.app-hospital-search-results .app-search-item:hover,
#hospital_search_results .search-result-item:hover,
#hospital_search_results .app-search-result-item:hover,
#hospital_search_results .app-search-item:hover,
#hospital_search_results .is-active{
  background:#eaf6fb!important;
  box-shadow:0 12px 26px rgba(10,73,117,.10)!important;
  transform:translateY(-1px)!important;
}
#hospital_search_results strong,
#hospital_search_results .app-search-item-title strong,
#hospital_search_results .app-search-result-main strong{
  color:#0a4975!important;
  text-shadow:none!important;
  font-weight:900!important;
  font-size:14px!important;
}
#hospital_search_results em,
#hospital_search_results .app-search-item-sub em,
#hospital_search_results .app-search-result-main em{
  color:#6c8393!important;
  text-shadow:none!important;
  font-style:normal!important;
  font-size:12px!important;
}
.app-transliterate-between{align-self:end!important;display:grid!important;gap:8px!important;align-content:end!important}.app-field-action-label{visibility:hidden!important;min-height:1.6em!important}.app-transliterate-btn{min-height:54px!important;justify-content:center!important}.app-transliterate-btn i{margin-inline-end:6px}@media(max-width:760px){.app-hospital-search-results .search-result-item,.app-hospital-search-results .app-search-result-item,.app-hospital-search-results .app-search-item,#hospital_search_results .search-result-item,#hospital_search_results .app-search-result-item,#hospital_search_results .app-search-item{grid-template-columns:1fr!important}.app-field-action-label{display:none!important}.app-transliterate-between{align-self:stretch!important}}

/* UI FINAL PATCH 5.2 - Statement Visit PDF button visibility */
body.app-page-statement #report_generate {
    position: relative !important;
    z-index: 950 !important;
    scroll-margin-top: 132px !important;
    margin-top: 20px !important;
    margin-bottom: 148px !important;
    padding-bottom: 18px !important;
    overflow: visible !important;
}
body.app-page-statement #report_generate.floating-generate,
body.app-page-statement .floating-generate#report_generate {
    position: static !important;
    bottom: auto !important;
    top: auto !important;
    transform: none !important;
}
body.app-page-statement #report_generate .actions {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    align-items: center !important;
    justify-content: center !important;
}
body.app-page-statement #statementPdfBtn {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    z-index: 980 !important;
    min-height: 56px !important;
    min-width: 260px !important;
    pointer-events: auto !important;
}
body.app-page-statement .section-nav-wrap,
body.app-page-statement .section-nav {
    z-index: 700 !important;
}
@media (max-width: 1024px) {
    body.app-page-statement .main-content {
        padding-bottom: 180px !important;
    }
    body.app-page-statement #report_generate {
        margin-bottom: 170px !important;
        scroll-margin-top: 106px !important;
    }
    body.app-page-statement #statementPdfBtn {
        width: 100% !important;
        min-width: 0 !important;
    }
}
:root{
  --v4-primary:#0f766e;
  --v4-primary-dark:#115e59;
  --v4-info:#2563eb;
  --v4-success:#16a34a;
  --v4-warning:#d97706;
  --v4-danger:#dc2626;
  --v4-soft:#f8fafc;
  --v4-border:#dbe7ef;
}
.app-flash{display:flex;align-items:flex-start;gap:10px;border-radius:16px;padding:12px 14px;margin:12px 0;border:1px solid var(--v4-border);box-shadow:0 10px 24px rgba(15,23,42,.07);font-weight:700}
.app-flash .v4-flash-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:10px;background:rgba(255,255,255,.65);flex:0 0 auto}
.app-flash-success{background:#ecfdf5;color:#065f46;border-color:#bbf7d0}.app-flash-success .v4-flash-icon{color:var(--v4-success)}
.app-flash-error,.app-flash-danger{background:#fef2f2;color:#991b1b;border-color:#fecaca}.app-flash-error .v4-flash-icon,.app-flash-danger .v4-flash-icon{color:var(--v4-danger)}
.app-flash-warning{background:#fffbeb;color:#92400e;border-color:#fde68a}.app-flash-warning .v4-flash-icon{color:var(--v4-warning)}
.app-flash-info{background:#eff6ff;color:#1e40af;border-color:#bfdbfe}.app-flash-info .v4-flash-icon{color:var(--v4-info)}
.v4-practitioner-mode{display:inline-flex;gap:8px;align-items:center;background:#f1f5f9;border:1px solid #dbe7ef;border-radius:16px;padding:6px;margin:0 0 16px;box-shadow:inset 0 1px 0 rgba(255,255,255,.75)}
.v4-mode-btn{border:0;border-radius:12px;background:transparent;color:#334155;font-weight:800;padding:9px 13px;cursor:pointer;display:inline-flex;align-items:center;gap:7px;transition:.18s ease}
.v4-mode-btn:hover{background:#e2e8f0;color:#0f172a}.v4-mode-btn.is-active{background:linear-gradient(135deg,var(--v4-primary),var(--v4-primary-dark));color:#fff;box-shadow:0 8px 20px rgba(15,118,110,.24)}
.v4-practitioner-manual-input{margin-top:8px}
.app-notifications{position:relative;display:inline-flex}.app-notification-toggle{position:relative}.app-notification-badge{position:absolute;top:-7px;left:-7px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:var(--v4-danger);color:#fff;font-size:11px;display:inline-flex;align-items:center;justify-content:center;border:2px solid #fff}
.app-notification-panel{display:none;position:absolute;top:calc(100% + 10px);left:0;width:min(360px,92vw);background:#fff;border:1px solid #e2e8f0;border-radius:18px;box-shadow:0 22px 45px rgba(15,23,42,.18);z-index:2000;overflow:hidden}.app-notifications.is-open .app-notification-panel{display:block}.app-notification-panel-head{display:flex;align-items:center;justify-content:space-between;padding:13px 14px;border-bottom:1px solid #e2e8f0;background:#f8fafc}.app-notification-panel-head a{font-size:12px;color:var(--v4-primary);font-weight:800;text-decoration:none}.app-notification-empty{padding:18px;text-align:center;color:#64748b}.app-notification-item{display:flex;gap:10px;padding:12px 14px;text-decoration:none;color:#0f172a;border-bottom:1px solid #f1f5f9}.app-notification-item:hover{background:#f8fafc}.app-notification-item small{display:block;color:#64748b;line-height:1.5;margin-top:3px}.app-notification-item.is-unread{background:#f0fdfa}.app-notification-dot{width:9px;height:9px;border-radius:50%;background:#94a3b8;margin-top:6px;flex:0 0 auto}.app-notification-item.is-unread .app-notification-dot{background:var(--v4-primary)}.app-notification-read-form{padding:10px;background:#f8fafc}.app-notification-read-form button{width:100%;border:0;border-radius:10px;background:#e2e8f0;color:#334155;font-weight:800;padding:9px;cursor:pointer}
.v4-notification-list{display:grid;gap:10px;margin-top:14px}.v4-notification-card{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:start;border:1px solid #e2e8f0;border-radius:16px;padding:14px;background:#fff}.v4-notification-card.is-unread{border-color:#99f6e4;background:#f0fdfa}.v4-notification-icon{width:36px;height:36px;border-radius:13px;background:#e0f2fe;color:#0369a1;display:flex;align-items:center;justify-content:center}.v4-notification-title-row{display:flex;justify-content:space-between;gap:10px;align-items:center}.v4-notification-title-row span{font-size:12px;color:#64748b}.v4-notification-body p{margin:7px 0;color:#475569;line-height:1.7}.v4-small-link{font-weight:800;color:var(--v4-primary);text-decoration:none}.v4-toolbar{display:flex;justify-content:flex-end;margin:10px 0}.v4-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:180px;color:#64748b}.v4-empty-state i{font-size:32px;color:#94a3b8}
.admin-permissions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:8px;margin-top:10px}.admin-permission-check{display:flex;align-items:center;gap:8px;border:1px solid #e2e8f0;border-radius:12px;padding:9px 10px;background:#f8fafc;font-weight:700;font-size:12px}.admin-role-chip{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:5px 9px;font-weight:800;font-size:12px;background:#eef2ff;color:#3730a3}.admin-role-chip.admin{background:#fef3c7;color:#92400e}.admin-role-chip.supervisor{background:#ecfeff;color:#155e75}.admin-role-chip.user{background:#f1f5f9;color:#334155}.admin-notification-form textarea{min-height:88px;resize:vertical}.admin-audit-table small{display:block;color:#64748b;max-width:360px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:700px){.v4-practitioner-mode{display:grid;grid-template-columns:1fr 1fr;width:100%;padding:5px}.v4-mode-btn{justify-content:center;padding:9px 8px;font-size:12px}.app-notification-panel{position:fixed;left:12px;right:12px;top:72px;width:auto}.v4-notification-card{grid-template-columns:auto 1fr}.v4-notification-card form{grid-column:1/-1}.v4-notification-title-row{display:block}.admin-permissions-grid{grid-template-columns:1fr}.app-flash{font-size:13px;padding:10px 11px}}


/* v5 transitional UI fixes: centered titles, notification icon-only, safer action buttons */
.app-page-header .app-header-brand-copy{text-align:center!important;align-items:center!important;justify-items:center!important;}
.app-page-header .app-header-brand{justify-content:center!important;}
.app-page-header-main{min-width:0!important;}
.main-content>.page-title,.page-title{justify-content:center!important;text-align:center!important;display:flex!important;align-items:center!important;gap:10px!important;margin-inline:auto!important;padding-inline:52px!important;}
.app-notifications-link-only{display:inline-flex!important;align-items:center!important;}
.app-notification-icon-only{width:44px!important;min-width:44px!important;height:44px!important;padding:0!important;border-radius:16px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;text-decoration:none!important;background:#f8fafc!important;border:1px solid #dbe7ef!important;color:#0f766e!important;box-shadow:0 8px 20px rgba(15,23,42,.07)!important;}
.app-notification-icon-only i{font-size:18px!important;}
.app-notification-icon-only:hover{background:#ecfdf5!important;color:#115e59!important;transform:translateY(-1px);}
.app-notification-icon-only .app-notification-badge{top:-8px!important;left:-8px!important;}
.app-new-request-btn{background:#f8fafc!important;color:#334155!important;border:1px solid #dbe7ef!important;}
.app-new-request-btn:hover{background:#eef6ff!important;color:#0f4f7a!important;}
.app-transliterate-between .app-transliterate-btn{width:100%;justify-content:center;}
@media(max-width:700px){
  .app-page-header .app-header-brand{width:100%!important;}
  .app-page-header .app-header-brand-copy{width:100%!important;}
  .app-page-header .app-header-brand-copy strong{display:block!important;text-align:center!important;width:100%!important;}
  .main-content>.page-title,.page-title{font-size:22px!important;padding-inline:44px!important;line-height:1.45!important;}
  .app-page-header-side{align-items:center!important;}
  .app-notification-icon-only{width:42px!important;min-width:42px!important;height:42px!important;}
}
/* v7 experience polish: إنجاز */
:root{--injaz-primary:#0d5f8f;--injaz-primary-2:#0f8aa8;--injaz-accent:#16a34a;--injaz-warn:#f59e0b;--injaz-danger:#dc2626;--injaz-soft:#f4fbff;--injaz-border:#dcebf3;--injaz-ink:#0f172a;--injaz-muted:#64748b}
.app-page-header{align-items:center!important;text-align:center!important;gap:10px!important}
.app-page-header-main{flex:1 1 260px!important;min-width:0!important;display:flex!important;justify-content:center!important;text-align:center!important;padding-inline:54px 8px!important}
.app-header-brand{justify-content:center!important;text-align:center!important;margin-inline:auto!important}
.app-header-brand-copy strong{font-size:clamp(18px,2.4vw,25px)!important;line-height:1.25!important;color:var(--injaz-ink)!important}
.app-header-brand-copy small{font-size:12px!important;color:var(--injaz-muted)!important}
.app-page-header-side{gap:7px!important;flex-wrap:wrap!important;justify-content:center!important}
.app-top-action{min-height:38px!important;border-radius:14px!important;padding:8px 11px!important;font-size:12px!important;box-shadow:0 7px 18px rgba(15,23,42,.06)!important}
.app-notification-icon-only,.app-charge-points-btn{width:42px!important;height:42px!important;min-width:42px!important;justify-content:center!important;border-radius:999px!important;padding:0!important;position:relative!important}
.app-charge-points-btn{width:auto!important;padding:0 13px!important;background:linear-gradient(135deg,#ecfdf5,#e0f2fe)!important;color:#075985!important;border:1px solid #bae6fd!important;font-weight:800!important}
.app-charge-points-btn:hover{transform:translateY(-1px);box-shadow:0 12px 25px rgba(14,116,144,.14)!important}
.app-notification-icon-only span:not(.app-notification-badge){display:none!important}
.app-notification-badge{position:absolute!important;top:-5px!important;left:-5px!important;min-width:18px!important;height:18px!important;padding:0 5px!important;border-radius:999px!important;background:#ef4444!important;color:#fff!important;font-size:10px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;border:2px solid #fff!important}
.app-points-chip{background:#fffbeb!important;color:#92400e!important;border:1px solid #fde68a!important;font-weight:800!important}
.btn,.button,button.btn{border-radius:14px!important;font-weight:800!important;letter-spacing:0!important;transition:transform .16s ease,box-shadow .16s ease,background .16s ease!important}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:linear-gradient(135deg,#0d5f8f,#0f8aa8)!important;border:0!important;color:#fff!important;box-shadow:0 12px 24px rgba(13,95,143,.18)!important}
.btn-secondary{background:linear-gradient(135deg,#155e75,#0f766e)!important;border:0!important;color:#fff!important;box-shadow:0 10px 22px rgba(15,118,110,.14)!important}
.btn-warning,.btn-inline-charge{background:linear-gradient(135deg,#f59e0b,#f97316)!important;color:#fff!important;border:0!important;box-shadow:0 10px 20px rgba(249,115,22,.16)!important}
.btn-ghost{background:#f8fafc!important;color:#334155!important;border:1px solid #e2e8f0!important}
.auth-submit-btn{min-height:52px!important;font-size:16px!important;border-radius:18px!important;background:linear-gradient(135deg,#0d5f8f,#16a34a)!important;box-shadow:0 18px 32px rgba(13,95,143,.22)!important}
.auth-form-links-row a,.auth-links a{display:inline-flex!important;align-items:center!important;gap:6px!important;padding:8px 10px!important;border-radius:12px!important;background:#f8fafc!important;border:1px solid #e2e8f0!important;text-decoration:none!important;font-weight:800!important;color:#0d5f8f!important}
.auth-form-links-row a:hover,.auth-links a:hover{background:#eef9ff!important;color:#075985!important}
.auth-hero-copy h1{font-size:clamp(30px,5vw,58px)!important;color:#fff!important;text-shadow:0 2px 16px rgba(0,0,0,.18)!important}
.auth-hero-copy p{font-size:15px!important;color:rgba(255,255,255,.92)!important}
.app-pricing-modal{position:fixed;inset:0;z-index:9998;display:none;align-items:center;justify-content:center;padding:16px;background:rgba(15,23,42,.48);backdrop-filter:blur(10px)}
.app-pricing-modal.is-visible{display:flex;animation:injazFade .18s ease both}
.app-pricing-card{width:min(94vw,520px);max-height:88vh;overflow:auto;background:#fff;border:1px solid #e2e8f0;border-radius:26px;padding:24px;box-shadow:0 28px 75px rgba(2,6,23,.28);position:relative;text-align:center}
.app-modal-close{position:absolute;top:14px;left:14px;width:36px;height:36px;border-radius:999px;border:1px solid #e2e8f0;background:#f8fafc;color:#334155;cursor:pointer}
.app-pricing-icon{width:70px;height:70px;border-radius:24px;margin:2px auto 12px;display:grid;place-items:center;background:linear-gradient(135deg,#e0f2fe,#dcfce7);color:#0d5f8f;font-size:28px;box-shadow:0 15px 28px rgba(13,95,143,.12)}
.app-pricing-card h2{margin:0 0 8px;font-size:24px;color:#0f172a}.app-pricing-card p{margin:0 auto 14px;color:#475569;line-height:1.8;max-width:440px}.app-pricing-list{display:grid;gap:8px;text-align:right;margin:16px 0}.app-pricing-list span{display:flex;gap:9px;align-items:flex-start;background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:10px 12px;color:#334155;font-weight:700;line-height:1.7}.app-pricing-list i{color:#0d5f8f;margin-top:4px}.app-pricing-actions,.app-charge-actions{display:flex!important;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:16px}.app-charge-card .app-form-grid{text-align:right;display:grid;grid-template-columns:1fr;gap:12px}.app-charge-card textarea{resize:vertical;min-height:86px}
.app-flash,.app-message-box.is-visible{border-radius:16px!important;border:1px solid #dbeafe!important;box-shadow:0 12px 26px rgba(15,23,42,.07)!important}.app-flash-success,.app-message-box.success{background:#ecfdf5!important;color:#065f46!important;border-color:#bbf7d0!important}.app-flash-error,.app-message-box.error{background:#fef2f2!important;color:#991b1b!important;border-color:#fecaca!important}.app-flash-warning,.app-message-box.warning{background:#fffbeb!important;color:#92400e!important;border-color:#fde68a!important}
.app-hospital-search-results,#hospital_search_results.app-hospital-search-results,.app-hospital-search-results-inline{max-height:420px!important;overflow:auto!important;padding:8px!important;display:none;border-radius:18px!important;background:#0f172a!important;border:1px solid rgba(226,232,240,.20)!important;box-shadow:0 22px 60px rgba(2,6,23,.30)!important}.app-hospital-search-results[style*="block"],.app-hospital-search-results.is-visible,.app-hospital-search-results-inline[style*="block"]{display:grid!important;gap:7px!important}.app-search-result-item,.search-result-item{width:100%!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:10px!important;padding:12px 14px!important;min-height:64px!important;border-radius:14px!important;background:rgba(255,255,255,.045)!important;border:1px solid rgba(226,232,240,.10)!important;color:#fff!important;text-align:right!important}.app-search-result-main,.app-search-item-main{min-width:0!important;display:flex!important;flex-direction:column!important;gap:3px!important}.app-search-result-main strong,.app-search-item-title strong,.search-result-item div:first-child{font-size:14px!important;line-height:1.5!important;color:#fff!important;white-space:normal!important;word-break:break-word!important}.app-search-result-main em,.app-search-item-sub em,.search-result-item div:nth-child(2){font-size:12px!important;line-height:1.45!important;color:#cbd5e1!important;white-space:normal!important;word-break:break-word!important}.hospital-result-badge{font-size:11px!important;padding:5px 9px!important;min-width:58px!important;white-space:nowrap!important}.app-search-result-item:hover,.search-result-item:hover{background:rgba(14,165,233,.18)!important;border-color:rgba(125,211,252,.32)!important}
.app-page-admin .btn,.app-page-manage .btn,.app-page-qr .btn{min-height:36px!important;padding:8px 12px!important;font-size:12px!important;border-radius:12px!important}.app-page-admin .form-input,.app-page-manage .form-input,.app-page-qr .form-input,.app-page-admin .form-select,.app-page-manage .form-select,.app-page-qr .form-select{min-height:39px!important;padding:8px 11px!important;font-size:13px!important;border-radius:12px!important}.app-page-admin .app-card,.app-page-manage .glass-card,.app-page-qr .app-card{border-radius:20px!important;padding:clamp(14px,2vw,22px)!important}.admin-hero{padding:18px!important}.admin-hero h1{font-size:clamp(20px,3vw,32px)!important}.admin-kpi-grid{gap:10px!important}.admin-kpi-card{padding:14px!important;min-height:auto!important}.admin-kpi-card strong{font-size:24px!important}.admin-actions-stack{gap:8px!important}.admin-inline-form,.admin-permissions-form{gap:7px!important}.admin-table td,.admin-table th{padding:9px!important;font-size:12px!important}.section-nav-link{padding:9px 12px!important;font-size:12px!important;border-radius:13px!important}
.qr-settings-grid,.app-page-manage .form-grid{gap:12px!important}.qr-hero-card{display:flex;align-items:center;gap:14px}.qr-hero-card h2{font-size:20px!important}.qr-preview-box{min-height:120px!important}.qr-preview-image{max-height:120px!important;object-fit:contain!important}
@media (max-width:900px){.app-page-header{padding-top:10px!important}.app-page-header-main{padding-inline:54px 54px!important;flex-basis:100%!important}.app-page-header-side{width:100%!important;justify-content:center!important}.app-page-user-chip,.app-copy-code,.app-top-action-logout{display:none!important}.app-charge-points-btn span{display:none!important}.app-charge-points-btn{width:42px!important;min-width:42px!important;padding:0!important}.app-top-action{font-size:11px!important}.app-shell,.main-content{padding-inline:12px!important}.admin-layout-grid,.app-dashboard-grid,.app-grid-2,.qr-settings-grid{grid-template-columns:1fr!important}.admin-table-tools{display:grid!important;grid-template-columns:1fr!important}.app-page-admin .table-responsive,.app-page-manage .table-container{overflow-x:auto!important;border-radius:16px!important}.app-page-admin table,.app-page-manage table{min-width:720px!important}.admin-hero{grid-template-columns:1fr!important;text-align:center!important}.admin-hero-actions{justify-content:center!important}.app-hospital-search-results,#hospital_search_results.app-hospital-search-results{max-height:360px!important}.app-search-result-item,.search-result-item{grid-template-columns:1fr!important;align-items:flex-start!important}.hospital-result-badge{justify-self:start!important}}
@media (max-width:520px){.app-page-header-main{padding-inline:48px 48px!important}.app-header-logo{width:34px!important;height:34px!important}.app-header-brand-copy small{display:none!important}.app-top-action{min-height:36px!important}.app-points-chip span{font-size:11px!important}.app-pricing-card{padding:20px 16px;border-radius:22px}.auth-shell{min-height:100vh!important}.auth-form-card{border-radius:24px!important;padding:20px!important}.auth-submit-btn{min-height:50px!important}.app-page-admin .btn,.app-page-manage .btn,.app-page-qr .btn{width:auto!important;min-width:0!important}.actions{gap:7px!important;flex-wrap:wrap!important}.actions .btn{flex:1 1 auto!important}.app-page-admin table,.app-page-manage table{min-width:640px!important}.qr-hero-card{align-items:flex-start}.qr-hero-icon{width:48px!important;height:48px!important}.app-hospital-search-results,#hospital_search_results.app-hospital-search-results{max-height:310px!important}}
@keyframes injazFade{from{opacity:0;transform:scale(.985)}to{opacity:1;transform:scale(1)}}
.app-page-header{position:sticky!important;top:10px!important;z-index:1200!important}

/* Clean local icon and PWA controls */
.app-wallet-chip > .fa-wallet{font-size:22px;line-height:1;flex:0 0 auto}
.app-support-floating,.app-support-floating-icon-only,[data-support-open]{position:fixed;left:18px;right:auto;bottom:18px;z-index:9200;width:52px;height:52px;border:0;border-radius:16px;display:inline-flex;align-items:center;justify-content:center;background:#075b7a;color:#fff;box-shadow:0 12px 28px rgba(7,91,122,.25);font-size:22px;padding:0}
.app-support-floating .fa-headset,.app-support-floating-icon-only .fa-headset,[data-support-open] .fa-headset{color:#fff;font-size:22px}
.enjaz-pwa-toast{position:fixed;z-index:99999;left:16px;right:16px;bottom:18px;max-width:560px;margin:auto;background:#0f3140;color:#fff;border-radius:16px;padding:14px 16px;font:800 14px Cairo,Arial,sans-serif;box-shadow:0 18px 45px rgba(0,0,0,.22);transform:translateY(24px);opacity:0;transition:.22s ease;text-align:center;pointer-events:none}.enjaz-pwa-toast.is-visible{transform:translateY(0);opacity:1}.enjaz-pwa-toast.is-success{background:#087f5b}.enjaz-pwa-toast.is-info{background:#0b5d7a}


/* ENJAZ-EXACT-REFERENCE-PWA-LIVE-V2 */
:root{--enjaz-font:"Noto Sans Arabic","Cairo",Tahoma,Arial,sans-serif}
html,body,button,input,select,textarea{font-family:var(--enjaz-font)!important}
.fa,.fas,.fa-solid{font-family:"Font Awesome 6 Free"!important;font-weight:900!important;font-style:normal!important}
.far,.fa-regular{font-family:"Font Awesome 6 Free"!important;font-weight:400!important;font-style:normal!important}
.fab,.fa-brands{font-family:"Font Awesome 6 Brands"!important;font-weight:400!important;font-style:normal!important}
.app-notification-toggle>i,.app-wallet-chip>i,.app-support-floating>i,.app-support-floating-icon-only>i,button[data-support-open]>i{display:inline-flex!important;align-items:center!important;justify-content:center!important;line-height:1!important;transform:none!important}
.app-notification-toggle>i,.app-wallet-chip>i{font-size:17px!important}
.app-support-floating>i,.app-support-floating-icon-only>i,button[data-support-open]>i{font-size:21px!important}
.pwa-install-banner{position:fixed!important;z-index:2147482000!important;inset-inline:16px!important;bottom:16px!important;display:none!important;grid-template-columns:auto minmax(0,1fr)!important;align-items:start!important;gap:13px!important;width:min(620px,calc(100vw - 32px))!important;margin-inline:auto!important;padding:16px!important;border:1px solid rgba(10,73,117,.16)!important;border-radius:22px!important;background:rgba(255,255,255,.98)!important;color:#102033!important;box-shadow:0 22px 70px rgba(15,23,42,.24)!important;backdrop-filter:blur(16px)!important;direction:rtl!important}
.pwa-install-banner.is-visible{display:grid!important}
.pwa-install-banner .pwa-close{position:absolute!important;top:9px!important;inset-inline-start:9px!important;width:32px!important;height:32px!important;border:0!important;border-radius:10px!important;background:#f1f5f9!important;color:#475569!important;cursor:pointer!important;font:900 22px/1 Arial,sans-serif!important}
.pwa-install-banner .pwa-icon{width:50px!important;height:50px!important;display:grid!important;place-items:center!important;border-radius:16px!important;background:linear-gradient(135deg,#e0f2fe,#ecfdf5)!important;color:#0a4975!important;font-size:23px!important}
.pwa-install-banner .pwa-copy{min-width:0!important;padding-inline-start:34px!important}
.pwa-install-banner h3{margin:0 0 4px!important;font-size:18px!important;color:#0a4975!important}
.pwa-install-banner p{margin:0!important;color:#526477!important;font-size:13px!important;line-height:1.75!important}
.pwa-install-banner .ios-install-help,.pwa-install-banner .android-install-help{margin-top:7px!important;color:#0f766e!important}
.pwa-install-banner .pwa-actions{display:flex!important;gap:8px!important;flex-wrap:wrap!important;margin-top:11px!important}
.pwa-install-banner .pwa-actions .btn{min-height:38px!important}
@media(max-width:640px){.pwa-install-banner{inset-inline:10px!important;bottom:10px!important;width:calc(100vw - 20px)!important;grid-template-columns:44px minmax(0,1fr)!important;border-radius:19px!important;padding:14px!important}.pwa-install-banner .pwa-icon{width:44px!important;height:44px!important;font-size:20px!important}.pwa-install-banner .pwa-copy{padding-inline-start:28px!important}.pwa-install-banner .pwa-actions{grid-column:1/-1!important}.pwa-install-banner .pwa-actions .btn{flex:1 1 120px!important;justify-content:center!important}}
