@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--primary-50: #fbf0f2;--primary-100: #f6dde1;--primary-500: #9d2740;--primary-600: #7a1f2c;--primary-700: #5e1722;--neutral-0: #ffffff;--neutral-50: #f7f8fa;--neutral-100: #eef0f4;--neutral-200: #e3e6ec;--neutral-300: #c9cdd6;--neutral-400: #8b909c;--neutral-500: #5f6571;--neutral-600: #424753;--neutral-700: #2c303a;--neutral-800: #1a1d24;--neutral-900: #0b0d12;--success-50: #ecfdf3;--success-500: #16a34a;--success-700: #15803d;--warning-50: #fffaeb;--warning-500: #d97706;--warning-700: #b45309;--error-50: #fef3f2;--error-500: #e02e2e;--error-700: #b42318;--info-50: #eef4ff;--info-500: #3b6fd4;--info-700: #2c50a0;--bg: #f7f8fa;--surface: var(--neutral-0);--surface-2: #fbfbfd;--border: #e7e9ef;--border-soft: #eef0f4;--text: var(--neutral-600);--text-strong: var(--neutral-900);--text-muted: var(--neutral-400);--accent: #7a1f2c;--accent-soft: #fbf0f2;--accent-strong: #5e1722;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--radius-sm: 8px;--radius-md: 14px;--radius-lg: 20px;--radius-xl: 28px;--shadow-sm: 0 1px 2px rgba(11,13,18,.04), 0 1px 3px rgba(11,13,18,.05);--shadow-md: 0 4px 10px -2px rgba(11,13,18,.07), 0 2px 6px -2px rgba(11,13,18,.04);--shadow-lg: 0 18px 34px -10px rgba(11,13,18,.12), 0 6px 14px -6px rgba(11,13,18,.06);--shadow-glow: 0 0 0 3px rgba(122,31,44,.14);font-family:Inter,system-ui,sans-serif;font-size:14px;line-height:1.5;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}body{margin:0}a{color:inherit}.page-loader{display:flex;align-items:center;justify-content:center;min-height:100svh}.spinner{display:inline-block;width:16px;height:16px;border:2px solid var(--border);border-top-color:var(--primary-600);border-radius:50%;animation:spin .6s linear infinite}.spinner--lg{width:32px;height:32px}.spinner--light{border-color:#ffffff59;border-top-color:#fff}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{display:inline-block;background:linear-gradient(90deg,#ece6e8 25%,#f6f1f3 37%,#ece6e8 63%);background-size:400% 100%;animation:skeleton-sweep 1.4s ease infinite}@keyframes skeleton-sweep{0%{background-position:100% 50%}to{background-position:0 50%}}@media (prefers-reduced-motion: reduce){.skeleton{animation:none;background:#ece6e8}}.login-page{min-height:100svh;display:flex;align-items:center;justify-content:center;background:var(--bg);padding:var(--space-6);position:relative;overflow:hidden}.login-bg-decoration{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0}.blob{position:absolute;border-radius:50%;filter:blur(80px);opacity:.35}.blob-1{width:500px;height:500px;background:#f3c9d1;top:-120px;right:-100px}.blob-2{width:400px;height:400px;background:#f7d9c9;bottom:-80px;left:-80px}.login-card{position:relative;z-index:1;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);padding:var(--space-10);width:100%;max-width:420px;box-shadow:var(--shadow-lg)}.login-brand{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-8)}.login-logo{width:44px;height:44px;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--primary-600),var(--primary-500));color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-md)}.login-brand-name{font-size:20px;font-weight:700;color:var(--text-strong);letter-spacing:-.5px}.login-brand-tag{font-size:11px;color:var(--text-muted);font-weight:500}.login-title{font-size:24px;font-weight:700;color:var(--text-strong);letter-spacing:-.4px;margin-bottom:var(--space-1)}.login-subtitle{font-size:14px;color:var(--text-muted);margin-bottom:var(--space-8)}.login-form{display:flex;flex-direction:column;gap:var(--space-5)}.login-tabs{display:flex;gap:var(--space-2);margin-bottom:var(--space-6)}.login-tab{flex:1;padding:9px;border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-sm);font-size:13px;font-weight:600;color:var(--text);cursor:pointer;font-family:inherit;transition:all .12s}.login-tab--active{background:var(--accent-soft);border-color:var(--primary-500);color:var(--primary-600)}.field{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-3)}.field__label,.field label{font-size:13px;font-weight:600;color:var(--neutral-700)}.field__input,.field input,.field select,.field textarea{width:100%;padding:10px var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);font-size:14px;color:var(--text-strong);transition:border-color .15s,box-shadow .15s;outline:none;font-family:inherit}.field__input::placeholder,.field input::placeholder{color:var(--text-muted)}.field__input:focus,.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--primary-600);box-shadow:var(--shadow-glow)}textarea.field__input,.field textarea{min-height:72px;resize:vertical}.field__hint{margin-top:4px;font-size:11px;color:var(--text-muted)}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:10px 16px;background:var(--primary-600);color:#fff;border:none;border-radius:var(--radius-sm);font-size:14px;font-weight:600;cursor:pointer;transition:background .15s,transform .1s,box-shadow .15s;font-family:inherit;letter-spacing:-.1px}.btn-primary:hover{background:var(--primary-700);box-shadow:var(--shadow-md)}.btn-primary:active{transform:translateY(1px)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-primary--block{width:100%}.btn-ghost{display:inline-flex;align-items:center;gap:var(--space-2);padding:8px var(--space-3);background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:13px;font-weight:500;cursor:pointer;transition:background .12s,border-color .12s,color .12s;font-family:inherit}.btn-ghost:hover{background:var(--neutral-50);border-color:var(--neutral-300);color:var(--text-strong)}.btn-ghost--sm{padding:5px 10px;font-size:12px}.btn-ghost--danger{color:var(--error-700);border-color:#f3c0bc}.btn-ghost--danger:hover{background:var(--error-50)}.btn-success{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:10px 16px;background:var(--success-500);color:#fff;border:none;border-radius:var(--radius-sm);font-size:14px;font-weight:600;cursor:pointer;transition:background .15s;font-family:inherit}.btn-success:hover{background:var(--success-700)}.btn-success:disabled{opacity:.6;cursor:not-allowed}.app-shell{display:flex;flex-direction:column;min-height:100svh;background:var(--bg)}.topbar{position:sticky;top:0;z-index:30;display:none;align-items:center;gap:var(--space-3);padding:0 var(--space-4);height:56px;background:var(--surface);border-bottom:1px solid var(--border)}.topbar__menu{background:none;border:none;color:var(--text);cursor:pointer;padding:var(--space-2);border-radius:var(--radius-sm);display:flex}.topbar__menu:hover{background:var(--neutral-100)}.topbar__brand{display:flex;align-items:center;gap:8px;flex:1;font-weight:700;color:var(--text-strong)}.topbar__user{display:flex;align-items:center}.sidebar{position:fixed;top:0;left:0;height:100svh;width:248px;background:var(--surface);border-right:1px solid var(--border);padding:18px 14px 14px;display:flex;flex-direction:column;gap:14px;transform:translate(-100%);transition:transform .22s ease;z-index:40}.sidebar--open{transform:translate(0)}.sidebar__brand{display:flex;align-items:center;gap:11px;padding:4px 6px 14px;border-bottom:1px solid var(--border-soft)}.sidebar__logo{width:38px;height:38px;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--primary-600),var(--primary-500));color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:var(--shadow-sm)}.sidebar__brand-name{font-weight:700;font-size:17px;color:var(--text-strong);letter-spacing:-.4px}.sidebar__brand-tag{font-size:10.5px;color:var(--text-muted);font-weight:500}.sidebar__role-pill{margin-top:6px;display:inline-block;padding:2px 8px;font-size:9.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;border-radius:6px;background:var(--accent-soft);color:var(--primary-600);border:1px solid var(--primary-100)}.sidebar__nav{display:flex;flex-direction:column;gap:2px;flex:1;overflow-y:auto}.sidebar__nav::-webkit-scrollbar{width:5px}.sidebar__nav::-webkit-scrollbar-thumb{background:var(--neutral-200);border-radius:3px}.nav-group-label{font-size:10px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--text-muted);padding:12px 12px 4px;opacity:.7}.sidebar__link,.sidebar__group-header{display:flex;align-items:center;gap:11px;padding:9px 12px;border-radius:var(--radius-sm);color:var(--text);text-decoration:none;font-size:13.5px;font-weight:500;cursor:pointer;transition:background .12s,color .12s;border:none;background:none;width:100%;text-align:left;font-family:inherit}.sidebar__link:hover,.sidebar__group-header:hover{background:var(--neutral-50);color:var(--text-strong)}.sidebar__link--active{background:var(--accent-soft);color:var(--primary-600);font-weight:600}.sidebar__link--child{padding-left:30px;font-size:12.5px}.sidebar__group{display:flex;flex-direction:column}.sidebar__group-header--active{color:var(--primary-600);font-weight:600}.sidebar__group-children{display:flex;flex-direction:column;gap:2px;margin:2px 0 4px}.sidebar__footer{border-top:1px solid var(--border-soft);padding-top:12px;display:flex;flex-direction:column;gap:var(--space-2)}.user-pill{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2)}.avatar{width:36px;height:36px;border-radius:50%;background:var(--primary-600);color:#fff;font-size:13px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0;-webkit-user-select:none;user-select:none}.user-info{min-width:0}.user-name{font-size:13px;font-weight:600;color:var(--text-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-email{font-size:12px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-transform:capitalize}.logout-btn{display:flex;align-items:center;gap:var(--space-2);padding:8px var(--space-3);background:none;border:none;border-radius:var(--radius-sm);color:var(--text-muted);font-size:13px;font-weight:500;cursor:pointer;transition:background .12s,color .12s;font-family:inherit;width:100%;text-align:left}.logout-btn:hover{background:var(--error-50);color:var(--error-700)}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0b0d1259;z-index:35}.main{flex:1;min-width:0;padding:16px 16px 40px}@media (min-width: 900px){.sidebar{transform:translate(0)}.drawer-backdrop{display:none}.main{margin-left:248px;padding:26px 34px 60px}}@media (max-width: 899px){.topbar{display:flex}}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;margin-bottom:var(--space-6)}.page-title{font-size:26px;font-weight:700;color:var(--text-strong);letter-spacing:-.7px;margin-bottom:2px}.page-subtitle{font-size:14px;color:var(--text-muted);line-height:1.5}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-4);margin-bottom:var(--space-6)}.stat-card{position:relative;background:linear-gradient(180deg,var(--surface) 0%,var(--surface-2) 100%);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-sm);transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease;overflow:hidden;animation:card-rise .5s cubic-bezier(.16,1,.3,1) both}.stat-card:before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(90deg,var(--accent),var(--primary-500));opacity:0;transition:opacity .2s ease}.stat-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px);border-color:#e0d3d6}.stat-card:hover:before{opacity:1}@keyframes card-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.stat-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}.stat-label{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.6px}.stat-icon-wrap{width:44px;height:44px;border-radius:13px;background:linear-gradient(145deg,var(--primary-500),var(--primary-700));color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px -2px #7a1f2c73,inset 0 1px #ffffff40;transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s ease}.stat-card:hover .stat-icon-wrap{transform:translateY(-2px) scale(1.06) rotate(-3deg)}.stat-icon-wrap svg{stroke-width:2.2;filter:drop-shadow(0 1px 1px rgba(0,0,0,.15))}.icon-badge--blue{background:linear-gradient(145deg,#3b82f6,#1d4ed8);box-shadow:0 4px 12px -2px #2563eb73,inset 0 1px #ffffff4d}.icon-badge--green{background:linear-gradient(145deg,#10b981,#047857);box-shadow:0 4px 12px -2px #05966973,inset 0 1px #ffffff4d}.icon-badge--amber{background:linear-gradient(145deg,#f59e0b,#b45309);box-shadow:0 4px 12px -2px #b4530973,inset 0 1px #ffffff4d}.icon-badge--violet{background:linear-gradient(145deg,#8b5cf6,#6d28d9);box-shadow:0 4px 12px -2px #6d28d973,inset 0 1px #ffffff4d}.icon-badge--rose{background:linear-gradient(145deg,#f43f5e,#be123c);box-shadow:0 4px 12px -2px #be123c73,inset 0 1px #ffffff4d}.icon-badge--cyan{background:linear-gradient(145deg,#06b6d4,#0e7490);box-shadow:0 4px 12px -2px #0e749073,inset 0 1px #ffffff4d}.stat-value{font-size:30px;font-weight:700;color:var(--text-strong);letter-spacing:-1px;margin-bottom:2px;font-variant-numeric:tabular-nums}.stat-change{font-size:12px;color:var(--text-muted)}.stat-change--up{color:var(--success-700)}.stat-change--down{color:var(--error-700)}.section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;margin-bottom:var(--space-5);animation:card-rise .5s cubic-bezier(.16,1,.3,1) both}.section--pad{padding:var(--space-5) var(--space-6)}.section-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--border-soft);flex-wrap:wrap}.section-title{font-size:16px;font-weight:700;color:var(--text-strong);letter-spacing:-.3px}.section-sub{font-size:12.5px;color:var(--text-muted);margin-top:2px}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.table{width:100%;border-collapse:collapse;font-size:13.5px}.table th{padding:var(--space-3) var(--space-6);text-align:left;font-size:11px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.6px;background:var(--surface-2);border-bottom:1px solid var(--border);white-space:nowrap}.table td{padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--border-soft);color:var(--text)}.table tr:last-child td{border-bottom:none}.table tbody tr{transition:background .12s ease}.table tbody tr:hover td{background:var(--accent-soft)}.td-name{font-weight:600;color:var(--text-strong)}.td-num{font-variant-numeric:tabular-nums;font-weight:500;color:var(--text-strong);text-align:right}.td-action{text-align:right;white-space:nowrap}.table-empty{text-align:center;color:var(--text-muted);padding:var(--space-8);font-size:13px}.badge-status{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}.badge-status--ok,.badge-status--success{background:var(--success-50);color:var(--success-700)}.badge-status--warn{background:var(--warning-50);color:var(--warning-700)}.badge-status--danger{background:var(--error-50);color:var(--error-700)}.badge-status--info{background:var(--info-50);color:var(--info-700)}.badge-status--teal{background:#e6fbf6;color:#0f766e}.badge-status--purple{background:#f1ecfe;color:#6d28d9}.badge-status--gray{background:var(--neutral-100);color:var(--neutral-500)}.err-banner{background:var(--error-50);color:var(--error-700);border:1px solid #f3c0bc;border-radius:var(--radius-sm);padding:10px 12px;font-size:13px;margin-bottom:var(--space-3)}.ok-banner{background:var(--success-50);color:var(--success-700);border:1px solid #b7e4c7;border-radius:var(--radius-sm);padding:10px 12px;font-size:13px;margin-bottom:var(--space-3)}.info-banner{background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 14px;font-size:13px;line-height:1.55}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#0b0d1266;z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);animation:fade-in .15s ease both}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:540px;max-height:90vh;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden;animation:modal-rise .22s cubic-bezier(.16,1,.3,1) both}@keyframes modal-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.modal-maximized{max-width:96vw;width:96vw;max-height:96vh;height:96vh}.modal-wide{max-width:860px}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:var(--space-5) var(--space-6);flex:0 0 auto;border-bottom:1px solid var(--border-soft)}.modal-title{font-size:18px;font-weight:700;color:var(--text-strong);letter-spacing:-.3px;flex:1 1 auto;min-width:0}.modal-title--drag{cursor:grab;-webkit-user-select:none;user-select:none}.modal-title--drag:active{cursor:grabbing}.modal-winbar{display:flex;gap:4px;flex:0 0 auto}.modal-winbtn{background:none;border:none;cursor:pointer;color:var(--text-muted);width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:background .12s,color .12s}.modal-winbtn:hover{background:var(--neutral-100);color:var(--text-strong)}.modal-body{padding:var(--space-5) var(--space-6);overflow-y:auto;flex:1 1 auto;min-height:0;overscroll-behavior:contain}.modal-actions{display:flex;gap:var(--space-3);justify-content:flex-end;margin-top:var(--space-5)}.toaster{position:fixed;bottom:20px;left:50%;transform:translate(-50%);z-index:2000;display:flex;flex-direction:column;gap:8px;align-items:center;width:max-content;max-width:92vw}.toast{display:flex;align-items:center;gap:10px;padding:11px 16px;border-radius:var(--radius-md);background:var(--neutral-900);color:#fff;font-size:13.5px;font-weight:500;box-shadow:var(--shadow-lg);cursor:pointer;animation:toast-in .22s cubic-bezier(.16,1,.3,1) both;max-width:480px}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.toast--success{background:#0f3d2b}.toast--error{background:#4a1714}.toast--warn{background:#4a3410}.toast-icon{font-weight:700;cursor:pointer}.toast-action{margin-left:4px;padding:4px 12px;border:0;border-radius:7px;background:#ffffff2e;color:#fff;font-size:12.5px;font-weight:700;cursor:pointer;white-space:nowrap;transition:background .15s ease}.toast-action:hover{background:#ffffff52}.btn-danger{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:9px 18px;border:0;border-radius:var(--radius-md);cursor:pointer;background:#b3261e;color:#fff;font-size:14px;font-weight:600;transition:background .15s ease,box-shadow .15s ease,transform .05s ease}.btn-danger:hover{background:#8c1d18;box-shadow:var(--shadow-md)}.btn-danger:active{transform:translateY(1px)}.btn-danger:disabled{opacity:.6;cursor:not-allowed}.cmdk-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3000;background:#140c0e73;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:flex-start;justify-content:center;padding-top:12vh;animation:toast-in .15s ease both}.cmdk-box{width:92vw;max-width:560px;background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:0 24px 60px -12px #0006;overflow:hidden;animation:card-rise .2s cubic-bezier(.16,1,.3,1) both}.cmdk-search{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--border)}.cmdk-search-icon{color:var(--text-muted);flex-shrink:0}.cmdk-input{flex:1;border:0;outline:0;background:transparent;font-size:16px;color:var(--text-strong)}.cmdk-kbd{font-size:11px;font-weight:600;color:var(--text-muted);background:var(--surface-2);border:1px solid var(--border);border-radius:5px;padding:2px 6px}.cmdk-results{max-height:56vh;overflow-y:auto;padding:6px}.cmdk-group{margin-bottom:4px}.cmdk-group-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);padding:8px 10px 4px}.cmdk-item{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:10px 12px;border:0;border-radius:10px;background:transparent;cursor:pointer;font-size:14px;color:var(--text-strong)}.cmdk-item--active{background:var(--accent-soft)}.cmdk-item-label{flex:1;font-weight:500}.cmdk-item-hint{font-size:12px;color:var(--text-muted);font-variant-numeric:tabular-nums}.cmdk-item-enter{color:var(--accent)}.cmdk-empty{padding:28px 16px;text-align:center;color:var(--text-muted);font-size:14px}@media (prefers-reduced-motion: reduce){.cmdk-overlay,.cmdk-box{animation:none}}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3) var(--space-4)}.form-grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--space-3) var(--space-4)}.form-grid .field--full,.form-grid-3 .field--full{grid-column:1 / -1}.tab-bar{display:flex;gap:6px;background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:4px;margin-bottom:var(--space-5);overflow-x:auto;scrollbar-width:none}.tab-bar::-webkit-scrollbar{display:none}.tab-btn{flex:0 0 auto;white-space:nowrap;padding:8px 16px;border:none;background:none;border-radius:999px;font-size:13px;font-weight:600;cursor:pointer;color:var(--text);font-family:inherit;transition:all .15s}.tab-btn--active{background:var(--primary-600);color:#fff}.tab-count{font-size:11px;font-weight:700;opacity:.7}.tab-btn--active .tab-count{opacity:.9}.filter-select{padding:9px 30px 9px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);font-size:13.5px;color:var(--text-strong);font-family:inherit;outline:none;cursor:pointer;transition:border-color .12s,box-shadow .12s}.filter-select:focus{border-color:var(--primary-600);box-shadow:var(--shadow-glow)}.phone-input{display:flex;align-items:stretch;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);overflow:hidden;transition:border-color .12s,box-shadow .12s}.phone-input:focus-within{border-color:var(--primary-600);box-shadow:var(--shadow-glow)}.phone-input--invalid{border-color:var(--danger-500, #dc2626)}.phone-input__prefix{display:flex;align-items:center;padding:0 10px;background:var(--surface-2, #f1f3f9);color:var(--text-muted);font-size:13.5px;font-weight:600;border-right:1px solid var(--border);-webkit-user-select:none;user-select:none}.phone-input__field{flex:1;border:none;outline:none;background:transparent;padding:10px 12px;font-size:14px;font-family:inherit;color:var(--text-strong);letter-spacing:.3px}.upload-drop{display:flex;align-items:center;gap:10px;padding:14px 16px;border:1.5px dashed var(--border);border-radius:var(--radius-sm);background:var(--surface-2, #f8f9fc);color:var(--text-muted);font-size:13.5px;cursor:pointer;transition:border-color .12s,color .12s,background .12s}.upload-drop:hover{border-color:var(--primary-600);color:var(--primary-700);background:var(--primary-50, #f2f0ff)}.toolbar{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-4)}.search-wrap{position:relative;flex:1;min-width:200px}.search-wrap input{width:100%;padding:9px 12px 9px 36px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);font-size:13.5px;color:var(--text-strong);font-family:inherit;outline:none;transition:border-color .12s,box-shadow .12s}.search-wrap input:focus{border-color:var(--primary-600);box-shadow:var(--shadow-glow)}.search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none;display:flex}.muted{color:var(--text-muted)}.mono{font-variant-numeric:tabular-nums}.row{display:flex;align-items:center;gap:var(--space-3)}.row--between{justify-content:space-between}.grid-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-4)}.report-viewer{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg);z-index:300;overflow-y:auto;-webkit-overflow-scrolling:touch}.report-actions{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:var(--space-2);padding:12px var(--space-4);background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap}.report-body{max-width:840px;margin:0 auto;padding:var(--space-6) var(--space-4) 120px}.report-sheet{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm)}.report-letterhead{background:linear-gradient(135deg,var(--primary-700),var(--primary-500));color:#fff;padding:20px 24px}.report-lab-name{font-size:22px;font-weight:700;letter-spacing:-.4px}.report-section-pad{padding:var(--space-5) var(--space-6)}.report-meta-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px 18px;padding:14px 18px;border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:18px;background:var(--surface-2, #f8f9fc)}.report-meta-grid .stat-label{margin-bottom:2px}.report-meta-grid .v{font-weight:600;color:var(--text-strong);font-size:13.5px}.rgroup{margin-bottom:18px;break-inside:avoid}.rgroup__head{display:flex;align-items:baseline;gap:10px;border-bottom:2px solid var(--primary-600);padding-bottom:4px;margin-bottom:2px}.rgroup__title{font-weight:700;font-size:14.5px;color:var(--text-strong);letter-spacing:-.2px}.rgroup__cat{font-size:11.5px;color:var(--text-muted)}.rgroup__meta{font-size:11px;color:var(--text-muted);margin:3px 0 6px;display:flex;flex-wrap:wrap;gap:2px 14px}.rtable{width:100%;border-collapse:collapse;font-size:13px}.rtable th{text-align:left;font-size:10.5px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);padding:4px 8px;border-bottom:1px solid var(--border)}.rtable th.r,.rtable td.r{text-align:right}.rtable td{padding:5px 8px;border-bottom:1px solid var(--border-soft, #eef0f5)}.rtable .pname{font-weight:500;color:var(--text-strong)}.rtable .val{font-weight:700;font-variant-numeric:tabular-nums}.rtable .val--abn{color:var(--error-700)}.rflag{display:inline-block;margin-left:6px;font-size:10px;font-weight:800;padding:0 5px;border-radius:4px;background:var(--error-50);color:var(--error-700);vertical-align:middle}.rflag--low{background:#eaf2ff;color:#1d4ed8}.report-preliminary{text-align:center;font-weight:800;letter-spacing:2px;color:var(--error-700);border:1.5px dashed var(--error-700);border-radius:var(--radius-sm);padding:6px;margin-bottom:16px}@media (max-width: 768px){.report-meta-grid{grid-template-columns:1fr 1fr}.form-grid,.form-grid-3{grid-template-columns:1fr}.page-title{font-size:22px}.stat-value{font-size:26px}.table th,.table td{padding-left:var(--space-4);padding-right:var(--space-4)}}@media (prefers-reduced-motion: reduce){.stat-card,.section,.modal,.toast{animation:none}.stat-card:hover .stat-icon-wrap{transform:none}}.offers-layout{display:flex;gap:20px;flex-wrap:wrap;align-items:flex-start}.offer-list{display:flex;flex-direction:column;gap:8px;max-height:60vh;overflow-y:auto}.offer-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 14px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.offer-row--on{border-color:#0bb4d4;background:#eef9fe}.offer-row-info{display:flex;flex-direction:column;min-width:0}.offer-row-name{font-weight:600;color:var(--text-strong);font-size:14px}.offer-row-meta{font-size:12px;color:var(--text-muted)}.offer-row-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.offer-rupee{color:var(--text-muted);font-weight:700}.offer-price-input{width:78px;padding:7px 9px;border:1px solid var(--border);border-radius:8px;font-size:14px}.promo-preview-wrap{display:flex;justify-content:center}.promo{position:relative;overflow:hidden;color:#eafdfd;font-family:Outfit,system-ui,sans-serif;background:radial-gradient(120% 80% at 85% -10%,#2fd8e8 0%,transparent 55%),radial-gradient(130% 90% at -10% 110%,#1aa3e0 0%,transparent 50%),linear-gradient(160deg,#0bb4d4,#0067c7)}.promo-blob{position:absolute;border-radius:50%;opacity:.2;background:#ffd23f;pointer-events:none}.promo--wa{width:360px;height:640px;border-radius:22px;padding:30px 26px 24px;display:flex;flex-direction:column}.promo--wa .promo-blob1{width:210px;height:210px;top:-80px;right:-60px}.promo--wa .promo-blob2{width:160px;height:160px;bottom:36px;left:-70px}.promo--a4{width:794px;height:1123px;padding:60px 54px 46px;display:flex;flex-direction:column}.promo--a4 .promo-blob1{width:440px;height:440px;top:-150px;right:-120px}.promo--a4 .promo-blob2{width:320px;height:320px;bottom:56px;left:-140px}.promo-brandrow{display:flex;align-items:center;gap:14px;position:relative;z-index:2}.promo-logo{display:grid;place-items:center;border-radius:50%;flex-shrink:0;background:linear-gradient(145deg,#ffd23f,#ffb300);color:#0067c7;font-family:Fraunces,Georgia,serif;font-weight:900;box-shadow:0 8px 20px #00000040,inset 0 2px #fff6}.promo--wa .promo-logo{width:54px;height:54px;font-size:28px}.promo--a4 .promo-logo{width:92px;height:92px;font-size:48px}.promo-brand{font-family:Fraunces,Georgia,serif;font-weight:900;line-height:.95}.promo--wa .promo-brand{font-size:24px}.promo--a4 .promo-brand{font-size:44px}.promo-tag{color:#bff3fb;font-weight:600;letter-spacing:2px}.promo--wa .promo-tag{font-size:9px}.promo--a4 .promo-tag{font-size:13px}.promo-ribbon{display:inline-flex;align-items:center;width:max-content;background:#ff5630;color:#fff;font-weight:800;border-radius:100px;position:relative;z-index:2;box-shadow:0 6px 16px #ff563073}.promo--wa .promo-ribbon{padding:6px 14px;font-size:12px;margin-top:18px}.promo--a4 .promo-ribbon{padding:11px 26px;font-size:20px;margin-top:38px}.promo-headline{font-family:Fraunces,Georgia,serif;font-weight:900;line-height:1;color:#fff;position:relative;z-index:2}.promo--wa .promo-headline{font-size:30px;margin-top:12px}.promo--a4 .promo-headline{font-size:58px;margin-top:20px}.promo-packs{display:flex;flex-direction:column;position:relative;z-index:2;flex:1}.promo--wa .promo-packs{gap:9px;margin-top:16px}.promo--a4 .promo-packs{gap:16px;margin-top:34px}.promo-pack{display:flex;align-items:center;justify-content:space-between;background:#ffffff0f;border:1px solid rgba(255,255,255,.28)}.promo--wa .promo-pack{border-radius:13px;padding:12px 14px}.promo--a4 .promo-pack{border-radius:18px;padding:22px 28px}.promo-pack-left{display:flex;flex-direction:column}.promo-pname{font-family:Fraunces,Georgia,serif;font-weight:700;color:#fff;line-height:1.05}.promo--wa .promo-pname{font-size:15px}.promo--a4 .promo-pname{font-size:26px}.promo-pdesc{color:#cdeefb;font-weight:500}.promo--wa .promo-pdesc{font-size:10px;margin-top:2px}.promo--a4 .promo-pdesc{font-size:14px;margin-top:5px}.promo-price{text-align:right;flex-shrink:0}.promo-was{color:#9fd4ef;text-decoration:line-through;font-weight:600}.promo--wa .promo-was{font-size:11px}.promo--a4 .promo-was{font-size:17px}.promo-now{font-family:Fraunces,Georgia,serif;font-weight:900;color:#ffd23f;line-height:1}.promo--wa .promo-now{font-size:22px}.promo--a4 .promo-now{font-size:38px}.promo-off{display:inline-block;background:#ffd23f;color:#0067c7;font-weight:800;border-radius:6px}.promo--wa .promo-off{font-size:9px;padding:2px 6px;margin-top:3px}.promo--a4 .promo-off{font-size:13px;padding:4px 10px;margin-top:6px}.promo-footer{display:flex;align-items:center;justify-content:space-between;position:relative;z-index:2;border-top:1px dashed rgba(255,255,255,.4)}.promo--wa .promo-footer{margin-top:16px;padding-top:13px}.promo--a4 .promo-footer{margin-top:32px;padding-top:24px}.promo-foot-lbl{color:#bff3fb;text-transform:uppercase;letter-spacing:1.5px;font-weight:700}.promo--wa .promo-foot-lbl{font-size:8px}.promo--a4 .promo-foot-lbl{font-size:13px}.promo-valid{text-align:right;color:#cdeefb;font-weight:600}.promo--wa .promo-valid{font-size:10px}.promo--a4 .promo-valid{font-size:15px}.promo-logo--img{object-fit:cover;background:#fff}.promo-foot-num{font-family:Fraunces,Georgia,serif;font-weight:900;color:#fff}.promo--wa .promo-foot-num{font-size:17px;margin-top:2px}.promo--a4 .promo-foot-num{font-size:30px;margin-top:4px}
