:root{--bg: #f7f9fb;--bg-grad: radial-gradient(1200px 600px at 90% -10%, #e0f2f1 0%, transparent 55%), radial-gradient(900px 500px at -10% 110%, #e8f0fe 0%, transparent 50%);--surface: #ffffff;--surface-2: #f1f5f9;--surface-3: #e8eef4;--border: #e3e9ef;--border-strong: #cbd5e1;--text: #0f172a;--text-2: #475569;--muted: #64748b;--primary: #0d9488;--primary-2: #14b8a6;--primary-dark: #0f766e;--primary-soft: #d5f5f0;--primary-glow: rgba(13, 148, 136, .28);--danger: #dc2626;--danger-soft: #fee2e2;--warn: #d97706;--warn-soft: #fef3c7;--ok: #16a34a;--ok-soft: #dcfce7;--info: #2563eb;--info-soft: #dbeafe;--r-sm: 8px;--r: 12px;--r-lg: 16px;--r-xl: 22px;--sh-1: 0 1px 2px rgba(15,23,42,.05), 0 1px 3px rgba(15,23,42,.06);--sh-2: 0 2px 6px rgba(15,23,42,.06), 0 6px 16px rgba(15,23,42,.07);--sh-3: 0 8px 24px rgba(15,23,42,.1), 0 18px 48px rgba(15,23,42,.1);--sh-glow: 0 0 0 4px var(--primary-glow);--t-fast: .12s;--t: .2s;--t-slow: .34s;--ease: cubic-bezier(.4, 0, .2, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1)}[data-theme=dark]{--bg: #070c16;--bg-grad: radial-gradient(1200px 600px at 90% -10%, #0d2b2b 0%, transparent 55%), radial-gradient(900px 500px at -10% 110%, #101c33 0%, transparent 50%);--surface: #0f1826;--surface-2: #16223а;--surface-2: #16223a;--surface-3: #1d2b45;--border: #22304a;--border-strong: #33425f;--text: #e6edf5;--text-2: #a7b6c9;--muted: #8296ad;--primary-soft: #0d3b38;--primary-glow: rgba(20, 184, 166, .22);--danger-soft: #45191b;--warn-soft: #3f2f0b;--ok-soft: #12331f;--info-soft: #14243f;--sh-1: 0 1px 2px rgba(0,0,0,.4);--sh-2: 0 2px 8px rgba(0,0,0,.45);--sh-3: 0 12px 34px rgba(0,0,0,.55)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}*{box-sizing:border-box}html,body,#root{height:100%}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);background-image:var(--bg-grad);background-attachment:fixed;color:var(--text);font-family:IBM Plex Sans Arabic,system-ui,Segoe UI,Tahoma,sans-serif;font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;transition:background-color var(--t-slow) var(--ease),color var(--t-slow) var(--ease)}.ltr{direction:ltr;unicode-bidi:isolate}h1,h2,h3,h4{margin:0 0 .5rem;font-weight:650;line-height:1.3;letter-spacing:-.01em}h2{font-size:1.4rem}h3{font-size:1.1rem}h4{font-size:.95rem}a{color:var(--primary);text-decoration:none;transition:color var(--t-fast) var(--ease)}a:hover{color:var(--primary-dark)}::selection{background:var(--primary-soft);color:var(--primary-dark)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:99px;border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:var(--muted);background-clip:content-box}.shell{display:flex;min-height:100vh}.sidebar{width:246px;flex-shrink:0;background:color-mix(in srgb,var(--surface) 86%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-inline-start:1px solid var(--border);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;z-index:30}.brand{padding:1.15rem 1.1rem;border-bottom:1px solid var(--border)}.brand b{font-size:1.06rem;letter-spacing:-.02em;background:linear-gradient(120deg,var(--primary),var(--primary-2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.brand small{display:block;color:var(--muted);font-size:.78rem;margin-top:1px}.nav{flex:1;padding:.55rem;overflow-y:auto}.nav a{position:relative;display:flex;align-items:center;gap:.65rem;padding:.6rem .75rem;margin-bottom:3px;border-radius:var(--r);color:var(--text-2);font-weight:550;font-size:.93rem;transition:color var(--t) var(--ease),background var(--t) var(--ease),transform var(--t-fast) var(--ease);overflow:hidden}.nav a:before{content:"";position:absolute;inset-inline-start:0;top:50%;width:3px;height:0;border-radius:99px;background:linear-gradient(var(--primary),var(--primary-2));transform:translateY(-50%);transition:height var(--t) var(--ease-spring)}.nav a:hover{background:var(--surface-2);color:var(--text);transform:translate(-2px)}.nav a.active{background:var(--primary-soft);color:var(--primary-dark);font-weight:650}.nav a.active:before{height:60%}.nav .ico{width:22px;text-align:center;font-size:1.05rem;transition:transform var(--t) var(--ease-spring)}.nav a:hover .ico{transform:scale(1.18) rotate(-4deg)}.sidebar-foot{padding:.7rem;border-top:1px solid var(--border)}.main{flex:1;min-width:0;display:flex;flex-direction:column}.content{padding:1.3rem 1.5rem 3rem;flex:1;animation:pageIn var(--t-slow) var(--ease-out)}@keyframes pageIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.page-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.15rem;flex-wrap:wrap}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--sh-1);transition:box-shadow var(--t) var(--ease),transform var(--t) var(--ease),border-color var(--t) var(--ease)}.card-pad{padding:1.1rem 1.2rem}.card+.card{margin-top:1rem}.card-hover:hover{box-shadow:var(--sh-2);transform:translateY(-2px)}.grid{display:grid;gap:1rem}.g2{grid-template-columns:repeat(auto-fit,minmax(270px,1fr))}.g3{grid-template-columns:repeat(auto-fit,minmax(205px,1fr))}.g4{grid-template-columns:repeat(auto-fit,minmax(172px,1fr))}.row{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}.spacer{flex:1}.muted{color:var(--muted)}.small{font-size:.86rem}.tiny{font-size:.77rem}.center{text-align:center}.mono{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}button,.btn{position:relative;overflow:hidden;font:inherit;font-weight:600;font-size:.92rem;cursor:pointer;border:1px solid transparent;border-radius:var(--r);padding:.58rem 1.05rem;background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;box-shadow:var(--sh-1);transition:transform var(--t-fast) var(--ease),box-shadow var(--t) var(--ease),filter var(--t-fast) var(--ease),background var(--t) var(--ease);-webkit-tap-highlight-color:transparent}button:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.22) 50%,transparent 70%);transform:translate(-120%);transition:transform var(--t-slow) var(--ease)}button:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--sh-2)}button:hover:not(:disabled):after{transform:translate(120%)}button:active:not(:disabled){transform:translateY(0) scale(.975);box-shadow:var(--sh-1)}button:focus-visible,a:focus-visible{outline:none;box-shadow:var(--sh-glow)}button:disabled{opacity:.45;cursor:not-allowed;filter:saturate(.5)}.btn-ghost{background:transparent;color:var(--text-2);border-color:var(--border-strong);box-shadow:none}.btn-ghost:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.btn-soft{background:var(--surface-2);color:var(--text);box-shadow:none}.btn-soft:hover:not(:disabled){background:var(--surface-3)}.btn-danger{background:linear-gradient(135deg,#dc2626,#ef4444)}.btn-warn{background:linear-gradient(135deg,#d97706,#f59e0b)}.btn-ok{background:linear-gradient(135deg,#16a34a,#22c55e)}.btn-sm{padding:.34rem .72rem;font-size:.84rem;border-radius:var(--r-sm)}.btn-lg{padding:.78rem 1.5rem;font-size:1.02rem;border-radius:var(--r)}.btn-block{width:100%}.btn-icon{padding:.45rem;width:34px;height:34px}label{display:block;font-weight:550;font-size:.86rem;margin-bottom:.3rem;color:var(--text-2)}input,select,textarea{font:inherit;width:100%;padding:.58rem .75rem;border:1px solid var(--border-strong);border-radius:var(--r);background:var(--surface);color:var(--text);transition:border-color var(--t) var(--ease),box-shadow var(--t) var(--ease),background var(--t) var(--ease)}input:hover:not(:disabled),select:hover:not(:disabled),textarea:hover:not(:disabled){border-color:var(--muted)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:var(--sh-glow)}input:disabled,select:disabled,textarea:disabled{background:var(--surface-2);color:var(--muted);cursor:not-allowed}input::placeholder,textarea::placeholder{color:var(--muted);opacity:.75}textarea{resize:vertical;min-height:64px;font-family:inherit}input[type=checkbox],input[type=radio]{width:auto;accent-color:var(--primary);cursor:pointer;transition:transform var(--t-fast) var(--ease-spring)}input[type=checkbox]:active{transform:scale(1.25)}.field{margin-bottom:.85rem}.field-err{color:var(--danger);font-size:.8rem;margin-top:.25rem}table{width:100%;border-collapse:collapse}th,td{padding:.68rem .8rem;text-align:right;border-bottom:1px solid var(--border)}th{background:var(--surface-2);font-size:.82rem;font-weight:650;color:var(--muted);letter-spacing:.01em;position:sticky;top:0;z-index:2}tbody tr{transition:background var(--t-fast) var(--ease)}tbody tr:hover{background:var(--surface-2)}tbody tr:last-child td{border-bottom:none}.table-wrap{overflow-x:auto;border-radius:var(--r-lg)}.badge{display:inline-flex;align-items:center;gap:.25rem;padding:.16rem .6rem;border-radius:99px;font-size:.76rem;font-weight:650;white-space:nowrap;background:var(--surface-3);color:var(--text-2);transition:transform var(--t-fast) var(--ease)}.badge:hover{transform:scale(1.05)}.b-ok{background:var(--ok-soft);color:var(--ok)}.b-warn{background:var(--warn-soft);color:var(--warn)}.b-danger{background:var(--danger-soft);color:var(--danger)}.b-info{background:var(--primary-soft);color:var(--primary-dark)}.alert{padding:.8rem 1rem;border-radius:var(--r);margin-bottom:.9rem;font-size:.9rem;border:1px solid transparent;border-inline-start-width:3px;animation:alertIn var(--t) var(--ease-out)}@keyframes alertIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.a-err{background:var(--danger-soft);color:var(--danger);border-inline-start-color:var(--danger)}.a-ok{background:var(--ok-soft);color:var(--ok);border-inline-start-color:var(--ok)}.a-warn{background:var(--warn-soft);color:var(--warn);border-inline-start-color:var(--warn)}.a-info{background:var(--primary-soft);color:var(--primary-dark);border-inline-start-color:var(--primary)}.a-err.pulse{animation:alertIn var(--t) var(--ease-out),pulseRing 2.4s ease-out 3}@keyframes pulseRing{0%{box-shadow:0 0 #dc262647}70%{box-shadow:0 0 0 12px #dc262600}to{box-shadow:0 0 #dc262600}}.stat{padding:1rem 1.1rem;position:relative;overflow:hidden}.stat:before{content:"";position:absolute;inset-inline-end:-20px;top:-20px;width:90px;height:90px;border-radius:50%;background:var(--primary-soft);opacity:.5;transition:transform var(--t-slow) var(--ease-out)}.stat:hover:before{transform:scale(1.35)}.stat .l{color:var(--muted);font-size:.84rem;font-weight:550;position:relative}.stat .v{font-size:1.7rem;font-weight:700;line-height:1.2;letter-spacing:-.02em;position:relative;animation:countIn var(--t-slow) var(--ease-out)}@keyframes countIn{0%{opacity:0;transform:translateY(6px) scale(.96)}to{opacity:1;transform:none}}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#0f172a80;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:flex-start;justify-content:center;padding:4vh 1rem;overflow-y:auto;animation:fadeIn var(--t) var(--ease)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--surface);border-radius:var(--r-xl);width:100%;max-width:620px;box-shadow:var(--sh-3);border:1px solid var(--border);animation:modalIn var(--t-slow) var(--ease-out)}@keyframes modalIn{0%{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:none}}.modal-head{padding:1rem 1.2rem;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:var(--surface);border-radius:var(--r-xl) var(--r-xl) 0 0;z-index:3}.modal-body{padding:1.2rem}.modal-foot{padding:1rem 1.2rem;border-top:1px solid var(--border);display:flex;gap:.6rem;flex-wrap:wrap;position:sticky;bottom:0;background:var(--surface);border-radius:0 0 var(--r-xl) var(--r-xl)}.toast-wrap{position:fixed;bottom:1.2rem;inset-inline-start:1.2rem;z-index:200;display:flex;flex-direction:column;gap:.55rem;pointer-events:none}.toast{padding:.75rem 1.1rem;border-radius:var(--r);color:#fff;font-weight:600;font-size:.9rem;max-width:400px;box-shadow:var(--sh-3);animation:toastIn var(--t-slow) var(--ease-spring);pointer-events:auto}@keyframes toastIn{0%{opacity:0;transform:translate(-110%) scale(.9)}to{opacity:1;transform:none}}.t-ok{background:linear-gradient(135deg,#16a34a,#22c55e)}.t-err{background:linear-gradient(135deg,#dc2626,#ef4444)}.t-info{background:linear-gradient(135deg,#2563eb,#3b82f6)}.spin{width:18px;height:18px;display:inline-block;border:2.5px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:sp .7s linear infinite}@keyframes sp{to{transform:rotate(360deg)}}.skel{background:linear-gradient(90deg,var(--surface-2) 25%,var(--surface-3) 37%,var(--surface-2) 63%);background-size:400% 100%;animation:shimmer 1.4s ease infinite;border-radius:var(--r-sm)}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.skel-row{height:44px;margin-bottom:8px}.skel-text{height:12px;margin-bottom:8px}.empty{padding:2.8rem 1rem;text-align:center;color:var(--muted)}.empty-ico{font-size:2.2rem;opacity:.45;display:block;margin-bottom:.5rem}.q-item{display:flex;align-items:center;gap:.9rem;padding:.85rem 1rem;border-bottom:1px solid var(--border);transition:background var(--t) var(--ease),transform var(--t) var(--ease);animation:rowIn var(--t-slow) var(--ease-out) backwards}@keyframes rowIn{0%{opacity:0;transform:translate(14px)}to{opacity:1;transform:none}}.q-item:hover{background:var(--surface-2);transform:translate(-3px)}.q-num{width:48px;height:48px;flex-shrink:0;border-radius:14px;display:grid;place-items:center;background:var(--primary-soft);color:var(--primary-dark);font-weight:750;font-size:1.22rem;transition:transform var(--t) var(--ease-spring),box-shadow var(--t) var(--ease)}.q-item:hover .q-num{transform:scale(1.06) rotate(-3deg);box-shadow:var(--sh-2)}.q-item.active .q-num{background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;box-shadow:0 0 0 4px var(--primary-glow)}.display{min-height:100vh;padding:2rem;background:#070c16;background-image:radial-gradient(900px 500px at 50% -10%,#0d3b38 0%,transparent 60%);color:#fff}.display h1{text-align:center;font-size:2.4rem;margin-bottom:2rem;background:linear-gradient(120deg,#5eead4,#99f6e4);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.d-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(330px,1fr))}.d-card{background:#131c2ebf;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid #22304a;border-radius:22px;padding:1.6rem;text-align:center;transition:transform var(--t-slow) var(--ease-out),border-color var(--t) var(--ease)}.d-card:hover{transform:translateY(-4px);border-color:#2dd4bf}.d-card .doc{font-size:1.3rem;color:#94a3b8;margin-bottom:.25rem}.d-card .room{color:#5eead4;font-size:.95rem;margin-bottom:1rem}.d-card .now{font-size:5.2rem;font-weight:800;line-height:1;background:linear-gradient(160deg,#5eead4,#2dd4bf);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:numPop var(--t-slow) var(--ease-spring)}@keyframes numPop{0%{opacity:0;transform:scale(.75)}to{opacity:1;transform:none}}.d-card .lbl{color:#64748b;font-size:.95rem;margin-top:.45rem}.d-next{margin-top:1rem;padding-top:1rem;border-top:1px solid #22304a;display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap}.d-next span{background:#1b2740;border-radius:10px;padding:.32rem .85rem;font-size:1.2rem;font-weight:700;transition:transform var(--t) var(--ease-spring)}.d-next span:hover{transform:translateY(-3px)}.enc-grid{display:grid;gap:1rem;grid-template-columns:310px 1fr 310px}.tabs-mobile{display:none}.enc-col h4{margin:0 0 .45rem;font-size:.88rem;color:var(--muted);font-weight:650}.tabs{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:1.15rem}.tab{padding:.5rem 1rem;border-radius:99px;cursor:pointer;font-weight:600;font-size:.9rem;border:1px solid var(--border);background:var(--surface);color:var(--text-2);box-shadow:none;transition:all var(--t) var(--ease)}.tab:hover{background:var(--surface-2);transform:translateY(-1px)}.tab.on{background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;border-color:transparent;box-shadow:var(--sh-2)}.receipt{width:80mm;padding:4mm;background:#fff;color:#000;font-family:IBM Plex Sans Arabic,sans-serif;font-size:12px}.receipt hr{border:none;border-top:1px dashed #000;margin:6px 0}.receipt .big{font-size:34px;font-weight:800;text-align:center;margin:6px 0}.receipt table{font-size:12px}.receipt th,.receipt td{border:none;padding:2px 0;background:none}@media print{body{background:#fff;background-image:none}.no-print,.sidebar,.modal-head,.modal-foot{display:none!important}.content{padding:0;animation:none}.card,.modal{border:none;box-shadow:none}.modal-bg{position:static;background:none;padding:0;-webkit-backdrop-filter:none;backdrop-filter:none}@page{size:80mm auto;margin:3mm}}@media (max-width: 1100px){.enc-grid{grid-template-columns:1fr}.tabs-mobile{display:flex}.hide-mobile{display:none}}@media (max-width: 880px){.shell{flex-direction:column}.sidebar{width:100%;height:auto;position:sticky;top:0;flex-direction:row;overflow-x:auto;border-inline-start:none;border-bottom:1px solid var(--border)}.brand,.sidebar-foot{display:none}.nav{display:flex;gap:.3rem;padding:.45rem}.nav a{white-space:nowrap;flex-direction:column;gap:.12rem;font-size:.7rem;padding:.45rem .65rem;min-width:62px}.nav a:before{inset-inline-start:50%;top:auto;bottom:0;width:0;height:3px;transform:translate(50%)}.nav a.active:before{width:55%;height:3px}.nav a:hover{transform:none}.content{padding:.85rem .85rem 2rem}th,td{padding:.55rem .5rem;font-size:.87rem}.d-card .now{font-size:3.6rem}.modal{max-width:100%}.toast-wrap{inset-inline:.8rem;bottom:.8rem}.toast{max-width:none}}@media (max-width: 420px){.page-head{gap:.6rem}.page-head h2{font-size:1.2rem}.stat .v{font-size:1.4rem}}
