/* v9 Responsive admin/system shell and visual polish */
:root{
  --v9-primary:#2563eb;--v9-primary-2:#7c3aed;--v9-success:#10b981;--v9-warning:#f59e0b;--v9-danger:#ef4444;--v9-info:#06b6d4;
  --v9-ink:#0f172a;--v9-muted:#64748b;--v9-card:#fff;--v9-soft:#f8fafc;--v9-border:rgba(148,163,184,.28);
  --app-header-height:72px;
}
body.app-has-sidebar{background:linear-gradient(135deg,#f8fafc 0%,#eef6ff 45%,#f8fbff 100%);}
.app-sidebar-toggle{z-index:5002!important;box-shadow:0 10px 24px rgba(15,23,42,.16)!important;}
.app-page-header{z-index:3000!important;}
.app-sidebar-overlay{z-index:4998!important;}
.app-sidebar{z-index:5000!important;}
body.app-sidebar-open .app-page-header{pointer-events:none;filter:blur(1px);}
.app-v9-page-header{display:grid!important;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;min-height:66px;padding:9px 14px!important;position:sticky;top:0;backdrop-filter:blur(18px);background:rgba(255,255,255,.88)!important;border-bottom:1px solid rgba(148,163,184,.22)!important;}
.app-v9-page-header .app-page-header-title{grid-column:2;text-align:center;min-width:0;line-height:1.2;}
.app-v9-page-header .app-page-header-title strong{display:block;font-weight:900;font-size:clamp(16px,2vw,22px);color:var(--v9-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:min(46vw,520px);}
.app-v9-page-header .app-page-header-title small{display:block;margin-top:2px;color:var(--v9-muted);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:min(48vw,540px);}
.app-v9-page-header .app-v9-header-side{grid-column:3;justify-self:end;display:flex!important;align-items:center;gap:6px;flex-wrap:nowrap;min-width:0;}
.app-header-logo-left{width:38px!important;height:38px!important;object-fit:cover;border-radius:13px;border:1px solid rgba(37,99,235,.18);box-shadow:0 8px 18px rgba(37,99,235,.12);order:99;margin-inline-start:4px;}
.app-top-action{min-height:38px!important;border-radius:14px!important;padding:0 10px!important;display:inline-flex!important;align-items:center;gap:7px!important;background:#fff!important;border:1px solid rgba(148,163,184,.26)!important;color:var(--v9-ink)!important;box-shadow:0 7px 18px rgba(15,23,42,.06)!important;text-decoration:none!important;position:relative;}
.app-top-action i{font-size:15px}.app-notification-icon-only{width:40px!important;justify-content:center!important;padding:0!important;background:linear-gradient(135deg,#eef2ff,#faf5ff)!important;color:#6d28d9!important}.app-notification-badge{position:absolute;top:-7px;inset-inline-end:-6px;min-width:18px;height:18px;border-radius:999px;background:#ef4444;color:#fff;font-size:10px;display:grid;place-items:center;border:2px solid #fff}.app-wallet-chip{background:linear-gradient(135deg,#ecfdf5,#eff6ff)!important;color:#047857!important;font-weight:800!important}.app-wallet-chip i{color:#10b981}.app-top-action-logout{background:#fff5f5!important;color:#b91c1c!important}.app-page-user-chip{height:38px!important;padding:4px 8px!important;border-radius:14px!important;background:#f8fafc!important}.app-page-user-meta strong{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-page-header-actions{display:none!important}
.app-wallet-popover{position:fixed;top:calc(var(--app-header-height,72px) + 10px);left:12px;width:min(310px,calc(100vw - 24px));background:#fff;border:1px solid rgba(16,185,129,.23);border-radius:22px;padding:14px;box-shadow:0 24px 60px rgba(15,23,42,.22);z-index:5300;display:none}.app-wallet-popover.is-visible{display:block;animation:v9Pop .18s ease-out}.app-wallet-popover-head{display:flex;align-items:center;gap:8px;color:#047857;font-weight:900}.app-wallet-balance{margin:12px 0;padding:12px;border-radius:18px;background:linear-gradient(135deg,#ecfdf5,#f0f9ff);display:flex;align-items:baseline;justify-content:space-between;gap:8px}.app-wallet-balance strong{font-size:30px;color:#047857}.app-wallet-balance em{font-style:normal;color:#64748b}.app-wallet-meta{display:grid;gap:6px;color:#64748b;font-size:12px;line-height:1.7}.app-inline-copy{border:0;background:#eef2ff;color:#3730a3;border-radius:10px;padding:3px 8px;cursor:pointer}.app-wallet-charge{width:100%;margin-top:12px;background:linear-gradient(135deg,#10b981,#22c55e)!important;border:0!important}
@keyframes v9Pop{from{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:none}}
.app-side-link{--side-color:#64748b;border-radius:16px!important;margin:4px 8px!important;padding:10px 12px!important;min-height:42px!important}.app-side-link-icon{background:color-mix(in srgb,var(--side-color) 12%,#fff)!important;color:var(--side-color)!important;border-radius:12px!important}.app-side-link.active,.app-side-link:hover{background:linear-gradient(135deg,color-mix(in srgb,var(--side-color) 14%,#fff),#fff)!important;color:#0f172a!important;border-color:color-mix(in srgb,var(--side-color) 28%,transparent)!important}.app-side-link-report_types{--side-color:#2563eb}.app-side-link-report{--side-color:#10b981}.app-side-link-statement{--side-color:#06b6d4}.app-side-link-account{--side-color:#8b5cf6}.app-side-link-downloads{--side-color:#f59e0b}.app-side-link-manage{--side-color:#334155}.app-side-link-points{--side-color:#eab308}.app-side-link-qr_settings{--side-color:#0ea5e9}.app-side-link-admin{--side-color:#7c3aed}.app-side-link.logout{--side-color:#ef4444;color:#991b1b!important}.app-sidebar-mini-stat{cursor:pointer;border:1px dashed rgba(37,99,235,.25)!important;background:#f8fbff!important}.app-sidebar-mini-stat i{color:#2563eb}
/* Compact responsive cards */
.admin-pro-shell,.app-shell{max-width:1220px!important}.admin-hero{display:grid;grid-template-columns:1fr auto;gap:18px;padding:20px!important}.admin-hero h1{font-size:clamp(20px,3vw,32px);margin:.2rem 0}.admin-hero p{font-size:14px;line-height:1.8}.admin-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.admin-kpi-card,.app-card,.glass-card,.qr-settings-card{border-radius:20px!important;box-shadow:0 16px 40px rgba(15,23,42,.08)!important}.admin-kpi-card{padding:14px!important;min-height:auto!important}.admin-kpi-card i{width:38px!important;height:38px!important;font-size:16px!important}.admin-kpi-card strong{font-size:24px!important}.admin-layout-grid,.app-grid-2,.qr-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.admin-panel{padding:16px!important}.app-section-heading{gap:10px!important;margin-bottom:12px!important}.app-section-heading>i{width:38px!important;height:38px!important;font-size:16px!important;display:grid!important;place-items:center;border-radius:14px;background:#eef2ff;color:#2563eb}.app-section-heading h2{font-size:17px!important;margin:0}.app-section-heading p{font-size:12px!important;margin:2px 0 0!important}.btn,.form-input,.form-select,select,input,textarea{font-size:14px!important}.btn{min-height:38px!important;border-radius:13px!important;padding:8px 12px!important;gap:7px!important}.btn i{font-size:14px}.btn-primary,.app-pdf-download-btn{background:linear-gradient(135deg,#2563eb,#3b82f6)!important;border:0!important;color:#fff!important}.btn-secondary.app-new-request-btn,.app-new-request-btn{background:linear-gradient(135deg,#10b981,#14b8a6)!important;color:#fff!important;border:0!important}.app-pdf-download-btn i{color:#fee2e2!important}.app-new-request-btn i{color:#dcfce7!important}.form-input,.form-select{min-height:40px!important;border-radius:13px!important;padding:8px 11px!important}.app-form-grid{gap:10px!important}.admin-actions-stack{gap:8px!important}.admin-inline-form{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.admin-inline-form .form-input,.admin-inline-form .form-select{min-width:120px;flex:1}.admin-permissions-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.admin-permission-check,.admin-check{padding:8px 10px!important;border-radius:12px!important;font-size:12px!important}.admin-report-type-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.admin-report-type-card{padding:14px!important;border-radius:18px!important}.table-responsive,.responsive-table{overflow:auto;-webkit-overflow-scrolling:touch}.tbl,.app-table{min-width:760px}.admin-table td small{display:block;color:#64748b;margin-top:3px}.admin-chip,.admin-role-chip,.app-status-pill{font-size:11px!important;padding:5px 9px!important;border-radius:999px!important}.app-hospital-search-results,.search-results-dropdown{max-height:360px!important;overflow:auto!important;padding:7px!important;border-radius:18px!important}.app-hospital-search-results .result-item,.search-results-dropdown .result-item,.app-search-result-item{display:grid!important;gap:4px!important;padding:11px 12px!important;border:1px solid rgba(148,163,184,.22)!important;border-radius:15px!important;margin-bottom:7px!important;background:#fff!important;min-height:64px!important}.app-search-result-main{font-size:14px!important;font-weight:800!important;white-space:normal!important;line-height:1.45}.app-search-result-sub,.app-search-result-meta{font-size:12px!important;color:#64748b!important;white-space:normal!important}.app-search-result-badge{font-size:10px!important;padding:3px 7px!important;border-radius:999px!important}.section-title i.fa-file-pdf{color:#ef4444!important}.section-title i.fa-user-doctor{color:#10b981!important}.section-title i.fa-location-dot{color:#f97316!important}.section-title i.fa-calendar-days,.section-title i.fa-clock{color:#2563eb!important}.section-title i.fa-user{color:#7c3aed!important}
/* Auth motion */
.app-auth-page{background:radial-gradient(circle at 20% 20%,rgba(37,99,235,.18),transparent 28%),radial-gradient(circle at 80% 0,rgba(16,185,129,.16),transparent 24%),linear-gradient(135deg,#f8fafc,#edf7ff)!important}.auth-form-card{animation:v9AuthCard .55s cubic-bezier(.2,.8,.2,1) both;box-shadow:0 28px 80px rgba(15,23,42,.18)!important}.auth-panel-hero{position:relative;overflow:hidden}.auth-wave{animation:v9Float 7s ease-in-out infinite}.auth-submit-btn{background:linear-gradient(135deg,#2563eb,#7c3aed)!important;color:#fff!important;border:0!important;box-shadow:0 16px 34px rgba(37,99,235,.28)!important;position:relative;overflow:hidden}.auth-submit-btn:before{content:"";position:absolute;inset:0;transform:translateX(110%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.32),transparent);animation:v9Shine 2.7s infinite}.auth-form-links-row a,.auth-links a{font-weight:800;color:#2563eb!important;text-decoration:none!important}.auth-input-wrap:focus-within{transform:translateY(-1px);box-shadow:0 10px 22px rgba(37,99,235,.08);border-radius:16px}@keyframes v9AuthCard{from{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:none}}@keyframes v9Float{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes v9Shine{0%{transform:translateX(110%)}55%,100%{transform:translateX(-110%)}}
/* QR/manage/points mobile */
.qr-hero-card{display:flex;align-items:center;gap:12px;padding:16px!important}.qr-preview-image{max-width:150px!important;max-height:150px!important}.qr-preview-box{padding:12px!important}.v9-qr-note{background:#f0f9ff;border:1px solid #bae6fd;color:#075985;border-radius:14px;padding:10px 12px;font-size:13px;line-height:1.7;margin-bottom:10px}.app-page-manage .glass-card,.app-page-points .app-card,.app-page-qr .app-card{padding:16px!important}.app-page-manage .section-nav,.app-page-statement .section-nav,.app-page-sick .section-nav-wrap{position:sticky;top:var(--app-header-height);z-index:1200;background:rgba(248,250,252,.92);backdrop-filter:blur(14px)}
@media(max-width:900px){
  .app-v9-page-header{grid-template-columns:46px 1fr auto;padding:8px 8px 8px 58px!important;min-height:60px}.app-v9-page-header .app-page-header-title{grid-column:2}.app-v9-page-header .app-v9-header-side{grid-column:3;gap:4px}.app-v9-page-header .app-page-header-title strong{font-size:15px;max-width:42vw}.app-v9-page-header .app-page-header-title small{display:none}.app-header-logo-left{width:32px!important;height:32px!important}.app-page-user-chip,.app-top-action-logout,.app-top-action .app-top-action-label,.app-wallet-chip span{display:none!important}.app-top-action{width:36px!important;height:36px!important;min-height:36px!important;padding:0!important;justify-content:center}.app-wallet-chip{display:inline-flex!important}.app-sidebar{width:min(84vw,320px)!important;max-width:320px!important;top:0!important;height:100dvh!important}.app-sidebar-overlay{top:0!important}.admin-hero{grid-template-columns:1fr;padding:15px!important}.admin-hero-meter{display:none}.admin-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.admin-kpi-card{padding:11px!important;border-radius:16px!important}.admin-kpi-card span,.admin-kpi-card em{font-size:11px!important}.admin-kpi-card strong{font-size:20px!important}.admin-layout-grid,.app-grid-2,.qr-settings-grid,.admin-report-type-grid{grid-template-columns:1fr!important;gap:10px}.admin-panel,.app-card,.glass-card,.qr-settings-card{padding:12px!important;border-radius:16px!important}.app-section-heading>i{width:32px!important;height:32px!important}.app-section-heading h2{font-size:15px!important}.app-section-heading p{font-size:11px!important}.btn{min-height:34px!important;padding:7px 10px!important;font-size:12px!important;border-radius:11px!important}.form-input,.form-select{min-height:36px!important;font-size:13px!important;padding:7px 9px!important}.app-form-grid,.form-grid{grid-template-columns:1fr!important;gap:9px!important}.admin-permissions-grid{grid-template-columns:1fr!important}.admin-inline-form{display:grid;grid-template-columns:1fr auto;width:100%}.admin-inline-form input,.admin-inline-form select{min-width:0!important}.admin-actions-stack form:not(.admin-permissions-form){padding:7px;border:1px solid var(--v9-border);border-radius:13px;background:#fff}.table-responsive table,.responsive-table table{min-width:0!important;width:100%!important}.table-responsive thead,.responsive-table thead{display:none!important}.table-responsive tr,.responsive-table tr{display:block!important;margin:0 0 10px!important;padding:8px!important;border:1px solid var(--v9-border)!important;border-radius:14px!important;background:#fff!important}.table-responsive td,.responsive-table td{display:grid!important;grid-template-columns:92px 1fr!important;gap:7px!important;border:0!important;padding:6px 4px!important;font-size:12px!important;white-space:normal!important}.table-responsive td:before,.responsive-table td:before{content:attr(data-label);font-weight:900;color:#475569}.admin-ua{max-height:48px;overflow:auto;word-break:break-all}.section-nav-link{padding:7px 10px!important;font-size:12px!important;border-radius:999px!important}.main-content{padding-inline:10px!important}.page-title{font-size:18px!important;text-align:center!important}.app-hospital-search-results,.search-results-dropdown{max-height:300px!important}.app-wallet-popover{left:8px;top:64px;width:calc(100vw - 16px)}.auth-shell{min-height:100dvh}.auth-panel-hero{min-height:210px}.auth-form-card{border-radius:22px!important;padding:18px!important}.auth-submit-btn{min-height:44px!important}
}
@media(max-width:480px){.admin-kpi-grid{grid-template-columns:1fr}.app-v9-page-header .app-page-header-title strong{max-width:38vw}.app-notification-icon-only,.app-wallet-chip{width:34px!important;height:34px!important}.app-header-logo-left{display:none}.admin-table-tools{display:grid!important;gap:6px}.qr-preview-image{max-width:118px!important;max-height:118px!important}.app-side-link{min-height:39px!important;padding:8px 10px!important}.app-sidebar-brand-title{font-size:18px!important}.admin-hero-actions{display:grid!important;grid-template-columns:1fr;gap:8px}.auth-hero-copy h1{font-size:24px!important}.auth-hero-points{grid-template-columns:1fr!important}}
.v9-admin-tabs{display:flex;gap:8px;margin:12px 0 14px;padding:8px;background:rgba(255,255,255,.72);border:1px solid rgba(148,163,184,.22);border-radius:18px;position:sticky;top:calc(var(--app-header-height,72px) + 6px);z-index:1100;backdrop-filter:blur(16px)}.v9-admin-tabs button{border:0;background:#fff;color:#334155;border-radius:999px;padding:8px 12px;font-weight:800;font-family:inherit;box-shadow:0 7px 18px rgba(15,23,42,.05);white-space:nowrap;display:flex;align-items:center;gap:7px}.v9-admin-tabs button i{color:#2563eb}.app-db-notice{display:flex;align-items:flex-start;gap:8px;background:#fffbeb;color:#92400e;border:1px solid #fde68a;border-radius:16px;padding:10px 12px;margin:0 0 12px;line-height:1.7}.app-db-notice i{margin-top:4px;color:#f59e0b}@media(max-width:900px){.v9-admin-tabs{overflow:auto;margin:8px 0 10px;padding:6px;top:64px}.v9-admin-tabs button{font-size:12px;padding:7px 10px}}
