:root{--primary:#0d6efd;--primary2:#1aa7ec;--dark:#2f3840;--body:#f4f7fb;--card:#fff;--muted:#6c757d;--success:#22a447;--danger:#dc3545;--warning:#ffc107;--info:#17a2b8;--shadow:0 10px 24px rgba(35,45,65,.08)}
*{box-sizing:border-box}body{margin:0;background:var(--body);font-family:Tahoma,Arial,sans-serif;color:#172033;direction:rtl;text-align:right}.auth-body{min-height:100vh;background:linear-gradient(135deg,#0d6efd,#0b2f73);display:flex;align-items:center;justify-content:center}.auth-card{background:#fff;border-radius:22px;padding:35px;width:420px;box-shadow:var(--shadow)}.auth-card h1{margin:0 0 20px}.layout{display:flex;min-height:100vh}.sidebar{width:285px;background:var(--dark);color:#fff;position:fixed;right:0;top:0;bottom:0;overflow:auto;z-index:10}.brand{display:flex;align-items:center;gap:12px;padding:22px;border-bottom:1px solid rgba(255,255,255,.12)}.brand-logo{width:58px;height:58px;border-radius:16px;background:linear-gradient(135deg,#fff,#9ad6ff);color:#123;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:24px}.brand-title{font-size:20px;font-weight:700}.nav{padding:14px}.nav-section{margin-top:10px;color:#cbd3da;font-size:13px;padding:8px 14px}.nav a{display:flex;align-items:center;gap:10px;color:#e9eef2;text-decoration:none;padding:12px 14px;border-radius:12px;margin:4px 0;transition:.2s}.nav a:hover,.nav a.active{background:#0d6efd;color:#fff}.main{margin-right:285px;width:calc(100% - 285px);min-height:100vh}.topbar{height:64px;background:#fff;border-bottom:1px solid #e6edf5;display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:5}.mobile-toggle{display:none;border:0;background:#edf4ff;border-radius:10px;padding:10px}.content{padding:24px}.page-title{font-size:28px;margin:0 0 20px;font-weight:800}.card{background:var(--card);border:1px solid #e7edf3;border-radius:16px;box-shadow:var(--shadow);margin-bottom:18px;overflow:hidden}.card-header{padding:16px 20px;background:#fff;border-bottom:1px solid #edf2f7;display:flex;align-items:center;justify-content:space-between;font-weight:700}.card-header.primary{background:var(--primary);color:#fff}.card-body{padding:20px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:18px}.stat{background:#fff;border-radius:16px;padding:20px;border:1px solid #e7edf3;box-shadow:var(--shadow);display:flex;justify-content:space-between;align-items:center}.stat .num{font-size:30px;font-weight:900}.stat .label{color:var(--muted);margin-top:4px}.stat .icon{width:62px;height:62px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:27px;color:#fff;background:var(--primary)}.stat.success .icon{background:var(--success)}.stat.warning .icon{background:var(--warning);color:#222}.stat.info .icon{background:var(--info)}.stat.danger .icon{background:var(--danger)}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.hero{background:linear-gradient(135deg,#0e2c83,#19b8f5);color:#fff;border-radius:20px;padding:24px;display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.hero h2{margin:0 0 8px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:10px;padding:10px 16px;text-decoration:none;cursor:pointer;font-weight:700;line-height:1.2}.btn-sm{padding:6px 10px;font-size:13px}.btn-primary{background:var(--primary);color:#fff}.btn-success{background:var(--success);color:#fff}.btn-danger{background:var(--danger);color:#fff}.btn-warning{background:var(--warning);color:#222}.btn-secondary{background:#6c757d;color:#fff}.btn-info{background:var(--info);color:#fff}.btn-light{background:#eef4ff;color:#0d6efd}.toolbar{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:14px}.search-form{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.form-control,.form-select,textarea,select,input{width:100%;border:1px solid #d7e1ec;border-radius:10px;padding:10px 12px;background:#fff;min-height:42px}.form-check-input{width:auto;min-height:auto}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-group{margin-bottom:14px}.form-group label{display:block;margin-bottom:8px;font-weight:700}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;background:#fff}.table th,.table td{border:1px solid #e1e8f0;padding:12px;vertical-align:middle;white-space:nowrap}.table th{background:#f8fafc;font-weight:800}.table tr:nth-child(even){background:#fbfcfe}.badge{display:inline-block;padding:5px 9px;border-radius:8px;font-weight:700;font-size:12px}.badge-success{background:#dff7e5;color:#116b2c}.badge-danger{background:#ffe2e6;color:#9b1326}.badge-primary{background:#e0edff;color:#075ac2}.badge-warning{background:#fff3cd;color:#7a5a00}.alert{padding:12px 16px;border-radius:12px;margin-bottom:12px}.alert-success{background:#dcfce7;color:#166534}.alert-error,.alert-danger{background:#fee2e2;color:#991b1b}.alert-warning{background:#fef3c7;color:#92400e}.chart{height:220px;display:flex;align-items:end;gap:10px;border-bottom:1px solid #dbe6f3;padding:10px}.bar{flex:1;background:linear-gradient(180deg,#0d6efd,#9bd0ff);border-radius:10px 10px 0 0;min-height:4px;position:relative}.bar span{position:absolute;top:-24px;left:0;right:0;text-align:center;font-size:12px}.list-card{display:flex;align-items:center;justify-content:space-between;border:1px solid #edf2f7;border-radius:14px;padding:12px;margin-bottom:10px;background:#fff}.student-avatar{width:44px;height:44px;border-radius:50%;background:#16a1b5;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800}.profile-head{display:grid;grid-template-columns:120px 1fr;gap:18px;align-items:center}.big-avatar{width:110px;height:110px;border-radius:24px;background:linear-gradient(135deg,#0d6efd,#17a2b8);color:#fff;font-size:42px;display:flex;align-items:center;justify-content:center;font-weight:900}.print-only{display:none}@media(max-width:1100px){.stats-grid{grid-template-columns:repeat(2,1fr)}.grid-2,.grid-3{grid-template-columns:1fr}.sidebar{transform:translateX(100%);transition:.25s}.sidebar.open{transform:translateX(0)}.main{margin-right:0;width:100%}.mobile-toggle{display:block}.content{padding:14px}.form-grid{grid-template-columns:1fr}.hero{display:block}.stats-grid{gap:10px}}@media print{.sidebar,.topbar,.toolbar,.btn,.no-print{display:none!important}.main{margin:0;width:100%}.content{padding:0}.card{box-shadow:none;border:0}.print-only{display:block}.table th,.table td{font-size:12px;padding:7px}}

/* Android app preview screens */
.mobile-preview-wrap{display:flex;justify-content:center;align-items:flex-start;padding:20px 0}.phone-frame{width:390px;max-width:100%;min-height:780px;background:#f7f8fb;border-radius:34px;border:10px solid #121212;box-shadow:0 24px 60px rgba(0,0,0,.2);overflow:hidden;direction:rtl}.phone-status{height:28px;background:#fff;color:#111;display:flex;align-items:center;justify-content:space-between;padding:0 16px;font-size:13px}.phone-appbar{background:#3b82f6;color:#fff;padding:28px 20px;text-align:center;font-weight:900;font-size:25px;box-shadow:0 3px 10px rgba(0,0,0,.12)}.phone-appbar .sub{font-size:15px;font-weight:500;opacity:.9;margin-top:10px}.phone-body{padding:18px}.mobile-section-title{font-size:24px;font-weight:900;margin:20px 0 14px}.mobile-card{background:#fff;border:1px solid #dedede;border-radius:18px;padding:18px;box-shadow:0 6px 16px rgba(0,0,0,.08);margin-bottom:16px}.mobile-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.mobile-tile{border-radius:16px;min-height:128px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-size:18px;background:#eaf4ff}.mobile-tile strong{font-size:22px;margin-top:12px}.mobile-tile.green{background:#bfe9bf}.mobile-tile.red{background:#fb8287}.mobile-tile.orange{background:#ffd797}.mobile-icon{font-size:34px;color:#3b82f6}.mobile-stat-row{display:grid;grid-template-columns:62px 1fr;gap:16px;align-items:center;background:#fff;border-radius:18px;padding:16px;margin-bottom:12px;box-shadow:0 4px 12px rgba(0,0,0,.04)}.mobile-stat-row .row-icon{font-size:34px;color:#78aef7;text-align:center}.mobile-stat-row .value{font-size:22px;font-weight:900}.floating-gear{position:absolute;width:66px;height:66px;border-radius:50%;background:#3b82f6;color:#fff;display:flex;align-items:center;justify-content:center;font-size:28px;box-shadow:0 12px 28px rgba(59,130,246,.35);bottom:28px;left:20px}.phone-relative{position:relative}.app-select-screen{min-height:780px;background:linear-gradient(180deg,#071d4b,#219cf3);color:#fff;text-align:center;padding:130px 22px 30px}.app-select-screen h1{font-size:38px;margin:0 0 70px}.app-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.app-choice{border:1px solid rgba(255,255,255,.55);border-radius:24px;padding:24px 10px;min-height:164px;background:rgba(255,255,255,.08);display:flex;flex-direction:column;align-items:center;justify-content:center}.app-choice.active{background:#67bdf7;color:#fff;border-color:#67bdf7}.app-choice .logo{font-size:54px;margin-bottom:12px}.role-btn{display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid rgba(255,255,255,.45);border-radius:24px;padding:13px 18px;margin:20px auto;width:70%;font-size:24px;color:#cce7ff}.role-btn.active{background:#72c6ff;color:#fff}.continue-btn{margin-top:90px;border:1px solid rgba(255,255,255,.5);border-radius:24px;padding:18px 10px;font-size:34px;font-weight:900}.leader-card{text-align:center}.medal{font-size:62px;margin-bottom:8px}.rank-row{display:flex;align-items:center;justify-content:space-between;background:#fff;border-radius:14px;padding:12px 14px;border-right:5px solid #d1d5db;margin-bottom:10px;box-shadow:0 3px 10px rgba(0,0,0,.04)}.rank-row.gold{border-right-color:#ffc107}.rank-row.silver{border-right-color:#94a3b8}.rank-row.bronze{border-right-color:#d97706}.rank-pill{background:#3b82f6;color:#fff;border-radius:8px;padding:4px 8px;font-weight:800}.parent-child{display:flex;gap:14px;align-items:center}.child-avatar{width:64px;height:64px;border-radius:20px;background:linear-gradient(135deg,#3b82f6,#8ac5ff);color:#fff;display:flex;align-items:center;justify-content:center;font-size:30px;font-weight:900}

/* v8 Grouped categorized sidebar */
.sidebar{scrollbar-width:thin;scrollbar-color:#65717d #2f3840}.sidebar::-webkit-scrollbar{width:8px}.sidebar::-webkit-scrollbar-track{background:#2f3840}.sidebar::-webkit-scrollbar-thumb{background:#65717d;border-radius:20px}.sidebar-backdrop{display:none}.sidebar-quick-search{margin:12px 14px 4px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:8px 10px;display:flex;align-items:center;gap:8px}.sidebar-quick-search input{min-height:34px;background:transparent;border:0;color:#fff;padding:4px;outline:0}.sidebar-quick-search input::placeholder{color:#b8c4ce}.nav-accordion{padding:10px 12px 18px}.nav-group{margin:6px 0;border-radius:14px;overflow:hidden}.nav-group-toggle{width:100%;border:0;background:transparent;color:#e9eef2;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 14px;border-radius:12px;cursor:pointer;font-family:inherit;font-size:15px;font-weight:800;text-align:right;transition:.2s}.nav-title{display:flex;align-items:center;gap:10px}.nav-icon{width:24px;display:inline-flex;align-items:center;justify-content:center;opacity:.95}.nav-caret{font-size:24px;line-height:1;transition:.25s;color:#d7e1ec}.nav-group-toggle:hover,.nav-group.open>.nav-group-toggle{background:#3b4650;color:#fff}.nav-group.open>.nav-group-toggle .nav-caret{transform:rotate(-90deg)}.nav-submenu{max-height:0;overflow:hidden;transition:max-height .28s ease;background:rgba(0,0,0,.08);border-radius:0 0 14px 14px}.nav-group.open>.nav-submenu{max-height:760px;padding:4px 0 8px}.nav a.nav-link{position:relative;display:flex;align-items:center;gap:10px;color:#e9eef2;text-decoration:none;padding:10px 14px;border-radius:11px;margin:4px 0;transition:.2s}.nav-submenu a.nav-link{margin:3px 12px 3px 4px;padding:10px 18px;font-size:14px;color:#dbe5ee;border-right:2px solid rgba(255,255,255,.12)}.nav-submenu a.nav-link:before{content:'‹';font-weight:900;color:#9fb4c6;margin-left:2px}.nav a.nav-link:hover,.nav a.nav-link.active{background:#0d6efd;color:#fff;border-right-color:#7fc1ff}.nav a.nav-link.active:after{content:'';position:absolute;left:10px;width:7px;height:7px;border-radius:50%;background:#fff}.nav-home{font-weight:900;background:rgba(255,255,255,.06)}.logout-link{color:#ffd8d8!important}.menu-empty{display:none;color:#cbd3da;text-align:center;padding:10px 12px;font-size:13px}.nav-group.menu-hidden,.nav-link.menu-hidden{display:none!important}@media(max-width:1100px){.sidebar-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.42);z-index:9}.sidebar.open+.noop{display:block}.layout.sidebar-open .sidebar-backdrop{display:block}.sidebar{width:300px;max-width:86vw}.topbar{padding:0 14px}.topbar div:last-child{font-size:13px}}@media print{.sidebar-quick-search,.sidebar-backdrop{display:none!important}}

/* v9 Barcode / QR camera attendance */
.barcode-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.muted-help{display:block;color:#64748b;margin-top:6px}.camera-frame{position:relative;min-height:330px;border-radius:18px;overflow:hidden;background:linear-gradient(135deg,#0f172a,#1d4ed8);border:2px dashed #8ab8ff;display:flex;align-items:center;justify-content:center}.camera-frame video{width:100%;height:330px;object-fit:cover;display:block}.camera-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;text-align:center;background:linear-gradient(135deg,rgba(15,23,42,.96),rgba(37,99,235,.9));gap:10px;padding:20px}.camera-icon{font-size:56px}.scanner-line{position:absolute;left:8%;right:8%;top:50%;height:3px;background:#22c55e;box-shadow:0 0 18px #22c55e;z-index:2;animation:scannerMove 1.8s infinite ease-in-out}.scanner-status{margin-top:12px;border-radius:12px;padding:12px 14px;background:#eef4ff;color:#1d4ed8;font-weight:800}.scanner-status.running{background:#dbeafe;color:#1d4ed8}.scanner-status.success{background:#dcfce7;color:#166534}.scanner-status.error{background:#fee2e2;color:#991b1b}.scanner-options{display:grid;gap:8px;margin-top:12px}.form-check-row{display:flex;align-items:center;gap:8px;font-weight:700;color:#334155}.form-check-row input{width:auto;min-height:auto}.scan-success-card{margin-top:14px;border:1px solid #bbf7d0;background:#f0fdf4;color:#14532d;border-radius:16px;padding:14px;display:flex;align-items:center;gap:12px}.scan-success-icon{width:48px;height:48px;border-radius:50%;background:#22c55e;color:#fff;display:flex;align-items:center;justify-content:center;font-size:26px;font-weight:900}@keyframes scannerMove{0%,100%{transform:translateY(-110px)}50%{transform:translateY(110px)}}@media(max-width:800px){.barcode-actions{grid-template-columns:1fr}.camera-frame,.camera-frame video{height:360px}.scanner-line{left:12%;right:12%}}
.alert-info{background:#dbeafe;color:#1e40af}


/* v10 Sidebar reliability fixes */
.nav-group-toggle{user-select:none;-webkit-tap-highlight-color:transparent;position:relative;z-index:1}.nav-group-toggle:focus{outline:2px solid rgba(127,193,255,.7);outline-offset:2px}.nav-submenu{display:block}.nav-group.open>.nav-submenu{max-height:900px}.sidebar-backdrop{pointer-events:auto}@media(max-width:1100px){.layout.sidebar-open .sidebar{transform:translateX(0)}.layout.sidebar-open .sidebar-backdrop{display:block}.sidebar{z-index:1000}.sidebar-backdrop{z-index:999}.topbar{z-index:50}}

/* v11 Parent Portal PWA */
.pwa-mini-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#eaf4ff;border:1px solid #bfdbfe;border-radius:14px;padding:12px 14px;margin-bottom:16px;color:#0f3b77;box-shadow:var(--shadow)}
.pwa-install-hero{background:linear-gradient(135deg,#0f172a,#2563eb);color:#fff;border-radius:24px;padding:30px;display:grid;grid-template-columns:1.7fr .8fr;gap:22px;align-items:center;margin-bottom:20px;box-shadow:var(--shadow);overflow:hidden;position:relative}.pwa-install-hero:after{content:"";position:absolute;inset:auto -80px -120px auto;width:260px;height:260px;border-radius:50%;background:rgba(255,255,255,.08)}.pwa-install-hero h1{font-size:34px;margin:12px 0}.pwa-install-hero p{font-size:17px;line-height:1.9;margin:0 0 16px;color:#e0efff}.pwa-toolbar{justify-content:flex-start}.pwa-phone-card{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.28);border-radius:24px;min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;backdrop-filter:blur(8px)}.pwa-app-icon{width:96px;height:96px;border-radius:28px;background:linear-gradient(135deg,#e0f2fe,#3b82f6);display:flex;align-items:center;justify-content:center;color:#0f172a;font-size:38px;font-weight:900;box-shadow:0 18px 38px rgba(0,0,0,.18)}.pwa-phone-card strong{font-size:22px}.pwa-phone-card small{color:#dbeafe}.ltr-input{direction:ltr;text-align:left}.pwa-qr-box{text-align:center}.pwa-qr-box img{width:230px;max-width:100%;background:#fff;border-radius:16px;padding:12px;border:1px solid #e5e7eb}.pwa-steps{line-height:2.1;margin:0;padding-right:22px}.offline-card{max-width:620px;margin:80px auto;background:#fff;border-radius:24px;padding:40px;text-align:center;box-shadow:var(--shadow);border:1px solid #e5edf6}.offline-icon{font-size:64px}.offline-card h1{margin:16px 0 8px}.parent-pwa-hero .toolbar{margin:14px 0 0;justify-content:flex-start}.parent-pwa-hero .btn{margin-inline-end:8px}
@media(max-width:800px){.pwa-install-hero{grid-template-columns:1fr;padding:22px}.pwa-install-hero h1{font-size:26px}.pwa-phone-card{min-height:170px}.pwa-mini-banner{display:block}.pwa-mini-banner .btn{margin-top:10px;width:100%}}

/* v16 Subscription expiry alert */
.subscription-expiry-alert{display:flex;align-items:center;gap:14px;border-radius:18px;padding:15px 18px;margin-bottom:18px;border:1px solid #fde68a;background:linear-gradient(135deg,#fffbeb,#fef3c7);color:#78350f;box-shadow:var(--shadow);position:relative;overflow:hidden}.subscription-expiry-alert:before{content:"";position:absolute;inset:0 0 0 auto;width:6px;background:#f59e0b}.subscription-expiry-alert-danger{border-color:#fecaca;background:linear-gradient(135deg,#fff1f2,#fee2e2);color:#7f1d1d}.subscription-expiry-alert-danger:before{background:#dc2626}.subscription-expiry-icon{width:48px;height:48px;border-radius:16px;background:rgba(255,255,255,.75);display:flex;align-items:center;justify-content:center;font-size:26px;flex:0 0 48px}.subscription-expiry-body{display:flex;flex-direction:column;gap:5px;line-height:1.8}.subscription-expiry-body strong{font-size:17px}.subscription-expiry-body span{font-weight:700}@media(max-width:700px){.subscription-expiry-alert{align-items:flex-start;padding:13px}.subscription-expiry-icon{width:42px;height:42px;border-radius:14px;font-size:22px;flex-basis:42px}.subscription-expiry-body strong{font-size:15px}.subscription-expiry-body span{font-size:13px}}

/* v17 Academy users permissions */
.permissions-panel h3 { margin: 0 0 8px; }
.permission-tools { display: flex; gap: 8px; margin: 12px 0; flex-wrap: wrap; }
.permission-groups #id_permissions { list-style: none; padding: 0; margin: 0; display: grid; gap: 14px; }
.permission-groups #id_permissions > li { border: 1px solid rgba(15, 23, 42, .12); border-radius: 16px; padding: 14px; background: rgba(248, 250, 252, .75); }
.permission-groups #id_permissions > li > label { display: block; font-weight: 800; color: #0f172a; margin-bottom: 10px; }
.permission-groups #id_permissions ul { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 8px; }
.permission-groups label { cursor: pointer; display: flex; align-items: center; gap: 8px; }
.permission-groups input[type="checkbox"] { width: 18px; height: 18px; }
.actions-cell { display: flex; flex-wrap: wrap; gap: 6px; }
.btn-outline { background: #fff; border: 1px solid rgba(15,23,42,.18); color: #0f172a; }
.checkbox-field input[type="checkbox"] { width: 20px; height: 20px; }

/* v19 Darsy Pro official logo branding */
.brand-logo{background:#ffffff;padding:5px;overflow:hidden;box-shadow:0 8px 22px rgba(0,0,0,.16)}
.brand-logo img{width:100%;height:100%;object-fit:contain;display:block}
.auth-card-branded{padding-top:24px}.auth-logo-wrap{display:flex;justify-content:center;align-items:center;margin-bottom:14px}.auth-logo{width:260px;max-width:100%;height:auto;display:block}.auth-card-branded form{margin-top:10px}.pwa-app-icon.logo-image{background:#fff;padding:9px;overflow:hidden}.pwa-app-icon.logo-image img{width:100%;height:100%;object-fit:contain;display:block}.receipt-logo{height:58px;width:auto;object-fit:contain}.topbar-brand-logo{height:34px;width:auto;object-fit:contain}
@media(max-width:700px){.auth-logo{width:220px}.brand-logo{width:54px;height:54px}}
@media print{.brand-logo img,.auth-logo{print-color-adjust:exact;-webkit-print-color-adjust:exact}}
.receipt-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.receipt-brand{display:flex;align-items:center;gap:12px}.receipt-brand h3{margin:0 0 5px}.receipt-brand p{margin:0}.report-brand{display:flex;align-items:center;gap:10px}


/* v20 Mobile Friendly UI - Darsy Pro */
.mobile-bottom-nav{display:none}.topbar-title{display:flex;flex-direction:column;gap:2px}.topbar-title small{color:#64748b;font-size:12px;font-weight:700}.topbar-user{color:#475569;font-weight:700}.sidebar-backdrop{display:none}.content{max-width:100%;}.table-wrap{-webkit-overflow-scrolling:touch}.table-wrap:before{content:'مرّر الجدول يمينًا ويسارًا لعرض كل البيانات';display:none;color:#64748b;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:12px;padding:8px 10px;margin-bottom:10px;font-size:13px}.mobile-only{display:none!important}.desktop-only{display:initial!important}
@media(max-width:1100px){
  body{padding-bottom:82px;background:#f6f8fc;overflow-x:hidden}.layout{display:block}.main{width:100%;margin-right:0;min-height:100vh}.sidebar{width:330px;max-width:88vw;right:0;transform:translateX(110%);transition:transform .28s ease;box-shadow:-14px 0 32px rgba(15,23,42,.22);z-index:1000}.layout.sidebar-open .sidebar{transform:translateX(0)}.layout.sidebar-open .sidebar-backdrop{display:block;position:fixed;inset:0;background:rgba(15,23,42,.48);backdrop-filter:blur(2px);z-index:999}.brand{position:sticky;top:0;background:var(--dark);z-index:2}.sidebar-quick-search{position:sticky;top:91px;background:var(--dark);z-index:2;padding-top:8px;padding-bottom:8px}.topbar{height:62px;padding:0 12px;gap:10px;position:sticky;top:0;z-index:80;box-shadow:0 8px 20px rgba(15,23,42,.06)}.mobile-toggle{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;font-size:22px;border-radius:14px;color:#0f172a}.topbar-title{min-width:0;flex:1}.topbar-title strong{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-title small{display:none}.topbar-user{font-size:12px;max-width:100px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.content{padding:14px 12px 18px}.hero{display:block;padding:18px;border-radius:18px;margin-bottom:14px}.hero h2{font-size:22px}.hero p{font-size:14px;line-height:1.7}.hero .btn{width:100%;margin:5px 0}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat{padding:14px;border-radius:15px;align-items:flex-start}.stat .num{font-size:23px}.stat .label{font-size:12px;line-height:1.45}.stat .icon{width:44px;height:44px;border-radius:14px;font-size:21px}.grid-2,.grid-3{grid-template-columns:1fr;gap:12px}.card{border-radius:16px;margin-bottom:14px}.card-header{padding:13px 14px;align-items:flex-start;gap:8px;flex-wrap:wrap}.card-body{padding:14px}.toolbar{display:block}.toolbar .page-title,.page-title{font-size:22px;margin-bottom:10px}.toolbar>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}.toolbar .btn,.search-form .btn{width:100%;margin:0}.search-form{display:grid;grid-template-columns:1fr;gap:8px}.search-form .form-control{max-width:none!important}.form-grid{grid-template-columns:1fr;gap:12px}.form-control,.form-select,textarea,select,input{min-height:46px;font-size:16px;border-radius:12px}.btn{min-height:44px;border-radius:12px;padding:11px 14px}.btn-sm{min-height:38px;padding:8px 10px}.actions-cell{display:grid!important;grid-template-columns:1fr 1fr;gap:6px}.actions-cell .btn{width:100%}.chart{height:165px;overflow:hidden}.list-card{gap:10px;align-items:flex-start}.list-card .badge{white-space:nowrap}.subscription-expiry-alert{margin-bottom:12px}.pwa-mini-banner{margin-bottom:12px}.desktop-only{display:none!important}.mobile-only{display:initial!important}
  .mobile-bottom-nav{position:fixed;right:10px;left:10px;bottom:10px;display:grid;grid-template-columns:repeat(5,1fr);gap:6px;background:rgba(255,255,255,.94);border:1px solid rgba(148,163,184,.35);box-shadow:0 16px 36px rgba(15,23,42,.18);border-radius:22px;padding:8px;z-index:900;backdrop-filter:blur(12px)}.mobile-bottom-nav a,.mobile-bottom-nav button{border:0;background:transparent;text-decoration:none;color:#334155;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:54px;border-radius:16px;font-family:inherit;font-weight:800;cursor:pointer}.mobile-bottom-nav span{font-size:20px;line-height:1}.mobile-bottom-nav small{font-size:11px}.mobile-bottom-nav a:hover,.mobile-bottom-nav button:hover{background:#eff6ff;color:#0d6efd}.mobile-bottom-nav-main{background:linear-gradient(135deg,#0d6efd,#1aa7ec)!important;color:#fff!important;box-shadow:0 8px 18px rgba(13,110,253,.28)}
}
@media(max-width:760px){
  .table-wrap{overflow:visible}.table-wrap:before{display:block}.table{display:block;background:transparent;border:0}.table thead{display:none}.table tbody{display:grid;gap:10px}.table tr{display:block;background:#fff!important;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 8px 18px rgba(15,23,42,.06);padding:10px}.table td{display:flex;align-items:center;justify-content:space-between;gap:12px;border:0!important;border-bottom:1px solid #edf2f7!important;white-space:normal!important;padding:9px 4px;text-align:left;line-height:1.6}.table td:last-child{border-bottom:0!important}.table td:before{content:attr(data-label);font-weight:900;color:#475569;text-align:right;min-width:110px;max-width:46%;}.table td .btn{margin:2px}.table td[data-label='العمليات'],.table td[data-label='إجراء'],.table td[data-label='بروفايل']{align-items:stretch;flex-direction:column}.table td[data-label='العمليات']:before,.table td[data-label='إجراء']:before,.table td[data-label='بروفايل']:before{max-width:none;margin-bottom:4px}.table td[colspan]{display:block;text-align:center}.table td[colspan]:before{display:none}.badge{font-size:12px;padding:6px 9px}.permission-groups #id_permissions ul{grid-template-columns:1fr}.barcode-actions{grid-template-columns:1fr}.camera-frame,.camera-frame video{height:360px}.receipt-header{display:block;text-align:center}.receipt-brand{justify-content:center;margin-bottom:10px}.report-brand{justify-content:center}.auth-body{align-items:flex-start;padding:20px 12px}.auth-card{width:100%;max-width:420px;padding:24px 18px;border-radius:20px;margin-top:25px}.auth-logo{width:210px}.pwa-install-hero{grid-template-columns:1fr;padding:20px;border-radius:20px}.pwa-install-hero h1{font-size:24px}.pwa-toolbar{display:grid;gap:8px}.pwa-toolbar .btn{width:100%}
}
@media(max-width:430px){
  .content{padding-inline:10px}.stats-grid{grid-template-columns:1fr}.topbar-user{display:none}.toolbar>div{grid-template-columns:1fr}.mobile-bottom-nav{right:6px;left:6px;bottom:6px;border-radius:18px}.mobile-bottom-nav a,.mobile-bottom-nav button{min-height:50px}.mobile-bottom-nav small{font-size:10px}.card-header{font-size:14px}.table td{font-size:13px}.table td:before{min-width:95px}.brand-title{font-size:18px}.sidebar{width:310px;max-width:92vw}
}
@media print{body{padding-bottom:0}.mobile-bottom-nav,.mobile-toggle{display:none!important}.main{margin:0;width:100%}.content{padding:0}.sidebar{display:none!important}}
