:root{--bg:#f3f5f8;--surface:#ffffff;--surface-2:#eef1f6;--border:#dde3ec;--text:#12151c;--muted:#6b7285;--accent:#12151c;--accent-2:#ff8a1f;--brand:#1a8cff;--brand-deep:#0a3d7a;--danger:#e5484d;--ok:#2fa36b;--radius:14px;--radius-sm:8px;--radius-md:10px;--radius-lg:14px;--shadow:0 18px 50px rgba(10,18,32,0.12);--shadow-sm:0 1px 2px rgba(10,18,32,0.04),0 4px 12px rgba(10,18,32,0.04);--font:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--sidebar-w:264px;--topbar-h:56px;--fs-xs:0.8125rem;--fs-sm:0.875rem;--fs-md:0.9375rem;--fs-base:1rem;--fs-lg:1.125rem;--fs-xl:1.375rem;--fs-2xl:1.75rem;--lh:1.5}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:var(--fs-base);line-height:var(--lh);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit;color:var(--text)}::placeholder{color:#9aa3b2}.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(280px,1.05fr) minmax(320px,.95fr)}.auth-brand{position:relative;overflow:hidden;color:#f4f7fb;background:radial-gradient(1200px 600px at -10% -20%,rgba(26,140,255,.45),transparent 55%),radial-gradient(900px 500px at 110% 10%,rgba(255,138,31,.28),transparent 50%),linear-gradient(160deg,#071018,#0c1b33 48%,#10243f);padding:40px 48px;display:flex;flex-direction:column;justify-content:space-between;min-height:100vh}.auth-brand-glow{inset:auto -20% -30% auto;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(26,140,255,.35),transparent 68%);filter:blur(8px);animation:auth-drift 12s ease-in-out infinite alternate}.auth-brand-glow,.auth-brand-grid{position:absolute;pointer-events:none}.auth-brand-grid{inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 0),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 0);background-size:48px 48px;-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.55),transparent 85%);mask-image:linear-gradient(180deg,rgba(0,0,0,.55),transparent 85%)}.auth-brand-inner{position:relative;z-index:1;max-width:440px;animation:auth-rise .7s ease-out both}.auth-mark{display:inline-flex;align-items:center;gap:12px;margin-bottom:48px}.auth-mark-glyph{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;font-size:13px;font-weight:800;letter-spacing:.04em;color:#0a1220;background:linear-gradient(145deg,#ff8a1f,#ffb457);box-shadow:0 8px 24px rgba(255,138,31,.35)}.auth-mark-text{display:flex;flex-direction:column;font-size:15px;font-weight:700;letter-spacing:-.02em;line-height:1.2}.auth-mark-text small{font-size:12px;font-weight:500;color:rgba(244,247,251,.62);letter-spacing:.02em}.auth-brand-title{margin:0 0 14px;font-size:clamp(2rem,3.2vw,2.75rem);line-height:1.12;letter-spacing:-.035em;font-weight:700}.auth-brand-copy{margin:0 0 28px;color:rgba(244,247,251,.72);font-size:15px;line-height:1.55;max-width:36ch}.auth-brand-points{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.auth-brand-points li{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:500;color:rgba(244,247,251,.82)}.auth-brand-points li:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent-2);box-shadow:0 0 0 4px rgba(255,138,31,.18)}.auth-brand-foot{position:relative;z-index:1;margin:40px 0 0;font-size:12px;color:rgba(244,247,251,.45)}.auth-main{display:grid;place-items:center;padding:40px 28px;background:radial-gradient(800px 400px at 100% 0,rgba(26,140,255,.08),transparent 55%),var(--bg)}.auth-panel{width:min(100%,400px);background:var(--surface);border:1px solid var(--border);border-radius:calc(var(--radius) + 4px);padding:36px 32px;box-shadow:var(--shadow);animation:auth-rise .7s ease-out .08s both}.auth-panel--welcome{text-align:left}.auth-kicker{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--brand)}.auth-heading,.auth-kicker{margin:0 0 10px;font-weight:700}.auth-heading{font-size:1.65rem;letter-spacing:-.03em;line-height:1.2}.auth-lead{margin:0 0 28px;color:var(--muted);font-size:14px;line-height:1.55}.auth-form{gap:14px}.auth-field,.auth-form{display:flex;flex-direction:column}.auth-field{gap:6px;font-size:13px;font-weight:600}.auth-field input{width:100%;padding:12px 14px;border-radius:10px;border:1px solid var(--border);background:var(--surface);font-size:14px;font-weight:500;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.auth-field input:focus{border-color:rgba(26,140,255,.55);box-shadow:0 0 0 3px rgba(26,140,255,.15)}.auth-password{position:relative;display:flex;align-items:center}.auth-password input{padding-right:108px}.auth-password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:none;background:transparent;color:var(--brand-deep);font-size:12px;font-weight:700;padding:6px 8px;border-radius:8px}.auth-password-toggle:hover{background:var(--surface-2)}.auth-remember{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:600;color:var(--text);-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:pointer}.auth-remember input{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.auth-error{padding:10px 12px;border-radius:10px;background:rgba(229,72,77,.08);border:1px solid rgba(229,72,77,.25);color:var(--danger);font-size:13px;font-weight:500}.auth-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 18px;border-radius:11px;border:none;font-size:14px;font-weight:700;letter-spacing:-.01em;transition:transform .15s ease,background .15s ease,opacity .15s ease}.auth-btn:disabled{opacity:.65;cursor:not-allowed}.auth-btn--primary{width:100%;background:var(--accent);color:#fff}.auth-btn--primary:hover:not(:disabled){background:#1c2230;transform:translateY(-1px)}.auth-hint{margin:22px 0 0;font-size:13px;color:var(--muted);text-align:center}.auth-hint a{color:var(--brand-deep);font-weight:600}.auth-hint a:hover{text-decoration:underline}@keyframes auth-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes auth-drift{0%{transform:translateZ(0) scale(1)}to{transform:translate3d(-28px,-18px,0) scale(1.08)}}@media (max-width:860px){.auth-shell{grid-template-columns:1fr}.auth-brand{min-height:auto;padding:28px 24px 36px}.auth-brand-title{font-size:1.75rem}.auth-brand-points{flex-direction:row;flex-wrap:wrap;gap:8px 16px}.auth-brand-foot{display:none}.auth-main{padding:24px 16px 40px}.auth-panel{padding:28px 22px;box-shadow:0 10px 30px rgba(10,18,32,.08)}}@media (prefers-reduced-motion:reduce){.auth-brand-glow,.auth-brand-inner,.auth-panel{animation:none}}.admin-shell{display:flex;min-height:100vh;background:var(--bg)}.admin-sidebar{--side-text:#12151c;--side-muted:#6b7285;--side-hover:#f3f5f8;--side-active:#fff4e8;width:var(--sidebar-w);flex-shrink:0;position:-webkit-sticky;position:sticky;top:0;height:100vh;z-index:40;padding:18px 12px 14px;display:flex;flex-direction:column;gap:10px;color:var(--side-text);background:linear-gradient(180deg,#ffffff,#fbfcfe);border-right:1px solid var(--border);overflow:hidden}.admin-sidebar-glow{position:absolute;inset:-80px -60px auto auto;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,rgba(255,138,31,.12),transparent 70%);pointer-events:none}.admin-sidebar-top{position:relative;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding:2px 6px 10px}.admin-brand{display:flex;align-items:center;gap:10px;min-width:0}.admin-brand-glyph{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;font-size:var(--fs-xs);font-weight:800;letter-spacing:.04em;color:#0a1220;background:linear-gradient(145deg,#ff8a1f,#ffb457);box-shadow:0 6px 16px rgba(255,138,31,.22);flex-shrink:0}.admin-brand-glyph--sm{width:30px;height:30px;border-radius:8px;font-size:11px;box-shadow:none}.admin-brand-text{display:flex;flex-direction:column;min-width:0;font-size:var(--fs-md);font-weight:800;letter-spacing:-.02em;line-height:1.25;color:var(--text)}.admin-brand-text small{font-size:var(--fs-xs);font-weight:500;color:var(--muted)}.admin-sidebar-close{display:none;width:32px;height:32px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--muted);font-size:14px;flex-shrink:0}.admin-nav{position:relative;z-index:1;display:flex;flex-direction:column;gap:14px;overflow-y:auto;flex:1 1;padding:0 2px 8px;scrollbar-width:thin;scrollbar-color:rgba(18,21,28,.15) transparent}.admin-nav-group{display:flex;flex-direction:column;gap:2px}.admin-nav-group-label{padding:0 12px 6px;font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#9aa3b2}.admin-nav-link{position:relative;display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;color:var(--side-muted);font-size:var(--fs-md);font-weight:600;transition:background .14s ease,color .14s ease,box-shadow .14s ease}.admin-nav-link:hover{background:var(--side-hover);color:var(--text)}.admin-nav-link.is-active{background:var(--side-active);color:#9a4a00;box-shadow:inset 0 0 0 1px rgba(255,138,31,.28)}.admin-nav-link.is-active:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:#ff8a1f}.admin-nav-icon{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:#f3f5f8;color:inherit;flex-shrink:0}.admin-nav-icon svg{width:16px;height:16px}.admin-nav-link.is-active .admin-nav-icon{background:rgba(255,138,31,.18);color:#c45f00}.admin-nav-label{min-width:0}.admin-sidebar-foot{position:relative;z-index:1;margin-top:auto;padding-top:12px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:10px}.admin-user-card{display:flex;align-items:center;gap:10px;padding:10px;border-radius:12px;background:#f7f8fb;border:1px solid var(--border)}.admin-user-avatar{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-size:11px;font-weight:800;letter-spacing:.04em;color:#0a1220;background:linear-gradient(145deg,#8ec5ff,#1a8cff);flex-shrink:0}.admin-user-meta{min-width:0;flex:1 1}.admin-user-email{font-size:var(--fs-sm);font-weight:650;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-user-role{margin-top:2px;font-size:var(--fs-xs);font-weight:600;color:var(--muted);text-transform:capitalize}.admin-logout{width:100%;min-height:40px;border-radius:10px;border:1px solid rgba(229,72,77,.28);background:#fff;color:var(--danger);font-size:var(--fs-md);font-weight:700;transition:background .12s ease,border-color .12s ease}.admin-logout:hover{background:rgba(229,72,77,.06);border-color:rgba(229,72,77,.45)}.modal-root{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:20px}.modal-backdrop{position:absolute;inset:0;border:none;padding:0;background:rgba(10,18,32,.45);cursor:pointer}.modal-card{position:relative;z-index:1;width:min(100%,400px);background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:24px;box-shadow:var(--shadow);animation:auth-rise .2s ease-out both}.modal-title{margin:0 0 8px;font-size:var(--fs-xl);font-weight:750;letter-spacing:-.02em}.modal-body{margin:0 0 20px;color:var(--muted);font-size:var(--fs-md);line-height:1.5}.modal-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.modal-actions .btn--danger{background:var(--danger);border-color:var(--danger);color:#fff}.modal-actions .btn--danger:hover:not(:disabled){background:#c53d42;border-color:#c53d42}.admin-topbar{display:none;height:var(--topbar-h);align-items:center;gap:12px;padding:0 16px;border-bottom:1px solid var(--border);background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:-webkit-sticky;position:sticky;top:0;z-index:30}.admin-topbar-brand{display:flex;align-items:center;gap:10px;min-width:0}.admin-menu-btn{width:40px;height:40px;border-radius:10px;border:1px solid var(--border);background:var(--surface);display:grid;place-items:center;color:var(--text);flex-shrink:0}.admin-menu-btn span{display:block;width:16px;height:2px;background:currentColor;border-radius:2px;box-shadow:0 -5px 0 currentColor,0 5px 0 currentColor}.admin-topbar-title{font-size:var(--fs-md);font-weight:700;letter-spacing:-.02em}.admin-backdrop{display:none}.admin-main{flex:1 1;min-width:0;display:flex;flex-direction:column}.admin-content{flex:1 1;padding:28px 32px 48px;max-width:1120px;width:100%}.page{display:flex;flex-direction:column;gap:20px}.page--narrow{max-width:640px}.page--mid{max-width:720px}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap}.page-title{margin:0;font-size:var(--fs-2xl);font-weight:750;letter-spacing:-.03em;line-height:1.2}.page-subtitle{margin:5px 0 0;color:var(--muted);font-size:var(--fs-md);line-height:1.5}.page-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.section-title{margin:0;font-size:var(--fs-lg);font-weight:700;letter-spacing:-.02em}.section{display:flex;flex-direction:column;gap:12px}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-sm)}.panel>.section-title{margin-bottom:4px}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:12px;gap:12px}.stat-grid--featured{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.stat-card{min-width:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px 18px;box-shadow:var(--shadow-sm)}a.stat-card{transition:border-color .12s ease,transform .12s ease}a.stat-card:hover{border-color:rgba(26,140,255,.45);transform:translateY(-1px)}.stat-card--accent{background:linear-gradient(160deg,#0c1b33,#123055);border-color:transparent;color:#f4f7fb}.stat-card--accent .stat-card-hint,.stat-card--accent .stat-card-label{color:rgba(244,247,251,.7)}.stat-card--warn{border-color:rgba(255,138,31,.35);background:linear-gradient(180deg,#fffaf3,#fff)}.stat-card-label{color:var(--muted);font-size:var(--fs-sm);font-weight:600;letter-spacing:.02em;margin-bottom:6px}.stat-card-value{font-size:1.5rem;font-weight:750;letter-spacing:-.02em;line-height:1.2;overflow-wrap:anywhere}.stat-card-hint{margin-top:8px;font-size:var(--fs-sm);color:var(--muted)}.toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.toolbar .input,.toolbar .select{flex:1 1;min-width:120px}.search{width:100%;max-width:360px}.field{display:flex;flex-direction:column;gap:6px;font-size:var(--fs-md);font-weight:600}.field-label-row{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.req{color:var(--danger);font-weight:700}.opt{font-size:var(--fs-xs);font-weight:600;letter-spacing:.02em}.field-hint,.opt{color:var(--muted)}.field-hint{font-weight:500;font-size:var(--fs-sm)}.form-stack{display:flex;flex-direction:column;gap:14px}.check{display:flex;align-items:center;gap:8px;font-size:var(--fs-md);font-weight:500;cursor:pointer}.check input{width:16px;height:16px;accent-color:var(--accent)}.input,.select,.textarea{width:100%;padding:11px 13px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:var(--fs-md);font-weight:500;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.textarea{min-height:96px;resize:vertical}.input:focus,.select:focus,.textarea:focus{border-color:rgba(26,140,255,.55);box-shadow:0 0 0 3px rgba(26,140,255,.14)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:42px;padding:0 16px;border-radius:var(--radius-sm);border:1px solid transparent;font-size:var(--fs-md);font-weight:700;letter-spacing:-.01em;white-space:nowrap;transition:background .12s ease,border-color .12s ease,color .12s ease,transform .12s ease}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn--primary{background:var(--accent);color:#fff}.btn--primary:hover:not(:disabled){background:#1c2230}.btn--secondary{background:var(--surface);border-color:var(--border);color:var(--text)}.btn--secondary:hover:not(:disabled){background:var(--surface-2)}.btn--ghost{background:transparent;border-color:var(--border);color:var(--muted)}.btn--danger{background:transparent;border-color:rgba(229,72,77,.35);color:var(--danger)}.btn--ok{background:var(--ok);color:#fff}.btn--link{background:transparent;border:none;color:var(--danger);min-height:auto;padding:4px 6px;font-weight:600}.btn--sm{min-height:32px;padding:0 11px;font-size:var(--fs-sm);border-radius:7px}.btn--block{width:100%}.link{color:var(--brand-deep);font-weight:650}.link:hover{text-decoration:underline}.table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm)}.table{width:100%;border-collapse:collapse;min-width:560px}.table td,.table th{padding:12px 14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--border);font-size:var(--fs-md)}.table th{color:var(--muted);font-size:var(--fs-sm);font-weight:700;letter-spacing:.02em;text-transform:uppercase;background:#f8f9fc;white-space:nowrap}.table tbody tr:last-child td{border-bottom:none}.table tbody tr:hover td{background:rgba(243,245,248,.65)}.table .cell-muted{color:var(--muted);font-size:var(--fs-sm);margin-top:2px}.table .cell-num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.table .cell-num-link{font-weight:700}.table .cell-actions{display:flex;flex-wrap:wrap;gap:6px}.pagination{gap:8px}.pagination,.pagination-pages{display:flex;flex-wrap:wrap;align-items:center}.pagination-pages{gap:4px}.pagination-ellipsis{display:inline-flex;align-items:center;justify-content:center;min-width:28px;color:var(--muted);font-size:var(--fs-sm);font-weight:700}.pagination-meta{margin-left:auto;font-size:var(--fs-sm)}.produk-toolbar{align-items:end}.produk-toolbar .field{margin:0}.th-sort{display:inline-flex;align-items:center;gap:6px;padding:0;border:0;background:transparent;color:inherit;font:inherit;font-weight:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer}.th-sort.is-active,.th-sort:hover{color:var(--text)}.th-sort-icon{font-size:11px;opacity:.55}.th-sort.is-active .th-sort-icon{opacity:1}.eyebrow{margin:0 0 6px;color:var(--muted);font-size:var(--fs-sm);font-weight:600}.detail-cover{align-items:flex-start}.detail-cover,.detail-list{display:flex;flex-direction:column}.detail-list{margin:0;gap:12px}.detail-row{display:grid;grid-template-columns:140px minmax(0,1fr);grid-gap:8px 16px;gap:8px 16px;align-items:start}.detail-row dt{margin:0;color:var(--muted);font-size:var(--fs-sm);font-weight:650}.detail-row dd{margin:0;min-width:0}.detail-text{margin:0;white-space:pre-wrap;line-height:1.55}.detail-benefits{margin:0;padding-left:1.25rem;display:flex;flex-direction:column;gap:6px;line-height:1.45}.list{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);overflow:hidden;box-shadow:var(--shadow-sm)}.list-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid var(--border)}.list-row:last-child{border-bottom:none}.list-row-main{min-width:0;flex:1 1}.list-row-meta{color:var(--muted);font-size:var(--fs-sm);margin-top:3px}.list-row-actions{gap:6px;flex-shrink:0}.chips,.list-row-actions{display:flex;flex-wrap:wrap}.chips{gap:8px}.chip{display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;font-size:var(--fs-sm);font-weight:700;background:var(--surface-2);color:var(--muted);border:1px solid var(--border)}.chip--active{background:#12151c;color:#fff;border-color:#12151c}.badge{display:inline-flex;align-items:center;padding:2px 7px;border-radius:999px;font-size:var(--fs-xs);font-weight:700;background:var(--surface-2);color:var(--muted);text-transform:capitalize}.badge--ok{background:rgba(47,163,107,.12);color:#1f7a4d}.badge--warn{background:rgba(255,138,31,.14);color:#a34f00}.badge--danger{background:rgba(229,72,77,.12);color:#b42318}.alert{padding:9px 11px;border-radius:var(--radius-sm);font-size:var(--fs-md);font-weight:500}.alert--error{background:rgba(229,72,77,.08);border:1px solid rgba(229,72,77,.22);color:var(--danger)}.alert--ok{background:rgba(47,163,107,.1);border:1px solid rgba(47,163,107,.22);color:#1f7a4d}.alert--warn{background:rgba(217,149,30,.1);border:1px solid rgba(217,149,30,.28);color:#9a6b12;margin-top:8px}.feature-toggle-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px;box-shadow:var(--shadow-sm)}.feature-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.feature-switch{display:inline-flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0}.feature-switch.is-busy{opacity:.65;pointer-events:none}.feature-switch input{position:absolute;opacity:0;width:0;height:0}.feature-switch-track{width:46px;height:28px;border-radius:999px;background:#c9d0db;position:relative;transition:background .15s ease}.feature-switch.is-on .feature-switch-track{background:var(--ok)}.feature-switch-thumb{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(10,18,32,.25);transition:transform .15s ease}.feature-switch.is-on .feature-switch-thumb{transform:translateX(18px)}.feature-switch-label{font-size:var(--fs-sm);font-weight:650;color:var(--muted);min-width:4.5rem}.feature-switch.is-on .feature-switch-label{color:#1f7a4d}.cover-upload{display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap}.cover-preview{flex:0 0 auto;width:132px;aspect-ratio:4/5;border-radius:var(--radius-sm);overflow:hidden;background:var(--surface-2);border:1px solid var(--border);display:grid;place-items:center;color:var(--muted);font-size:var(--fs-sm);font-weight:600}.cover-preview.is-empty{border-style:dashed}.cover-preview img{width:100%;height:100%;object-fit:cover;display:block}.media-review-wrap{display:flex;flex-direction:column;gap:10px;padding:14px;border-radius:var(--radius-md,10px);border:1px solid var(--border);background:var(--surface-2,var(--surface-alt,#f8f8f9))}.media-review-title{margin:0;font-size:var(--fs-md,15px);font-weight:700}.media-review{display:flex;flex-direction:column;gap:8px}.media-review-audio{width:100%}.media-review-video{width:100%;max-height:420px;background:#0b0b0c;border-radius:var(--radius-sm,8px)}.media-review-pdf-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.media-review-pdf-page{width:100%;height:auto;border-radius:var(--radius-sm,8px);border:1px solid var(--border);background:#fff;display:block}.cover-upload-meta{flex:1 1;min-width:200px;gap:10px}.benefit-list,.cover-upload-meta{display:flex;flex-direction:column}.benefit-list{gap:8px}.benefit-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.benefit-index{flex:0 0 22px;width:22px;height:22px;border-radius:999px;display:grid;place-items:center;font-size:var(--fs-xs);font-weight:700;color:var(--muted);background:var(--surface-2)}.benefit-row .input{flex:1 1;min-width:180px}.benefit-actions{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.empty,.muted{color:var(--muted)}.empty{font-size:var(--fs-md);padding:8px 2px}.row-actions{display:flex;flex-wrap:wrap;gap:8px}.dash-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);grid-gap:16px;gap:16px}.chart-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}.segmented{display:inline-flex;padding:3px;border-radius:10px;background:var(--surface-2);border:1px solid var(--border)}.segmented button{border:none;background:transparent;color:var(--muted);font-size:var(--fs-sm);font-weight:700;padding:6px 10px;border-radius:8px}.segmented button.is-active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.chart-axis-hint{font-size:var(--fs-xs);color:var(--muted);margin-bottom:8px;text-align:right}.chart-bars{display:flex;align-items:flex-end;gap:4px;height:180px;padding-top:8px}.chart-bar-col{flex:1 1;min-width:0;height:100%;display:flex;flex-direction:column;align-items:center;gap:6px}.chart-bar-track{flex:1 1;width:100%;display:flex;align-items:flex-end;justify-content:center}.chart-bar{width:70%;max-width:28px;min-height:4px;border-radius:6px 6px 2px 2px;transition:height .2s ease}.chart-bar-label{font-size:.75rem;color:var(--muted);font-weight:600}.chart-donut-wrap{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.chart-donut{width:150px;height:150px;flex-shrink:0}.chart-donut-total{font-size:22px;font-weight:750;fill:var(--text);font-family:var(--font)}.chart-donut-sub{font-size:var(--fs-xs);fill:var(--muted);font-family:var(--font)}.chart-legend{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;flex:1 1;min-width:140px}.chart-legend li{display:grid;grid-template-columns:10px 1fr auto;grid-gap:8px;gap:8px;align-items:center;font-size:var(--fs-md)}.chart-legend-dot{width:10px;height:10px;border-radius:50%}.chart-legend-label{color:var(--muted)}.rank-list{display:flex;flex-direction:column;gap:14px}.rank-row{display:flex;gap:12px;align-items:flex-start}.rank-idx{width:24px;height:24px;border-radius:7px;background:var(--surface-2);display:grid;place-items:center;font-size:var(--fs-xs);font-weight:750;color:var(--muted);flex-shrink:0}.rank-main{flex:1 1;min-width:0}.rank-title{font-size:var(--fs-md);font-weight:650;margin-bottom:5px}.rank-bar-track{height:8px;border-radius:999px;background:var(--surface-2);overflow:hidden}.rank-bar{height:100%;border-radius:999px;background:linear-gradient(90deg,#1a8cff,#4da3ff)}.rank-meta{margin-top:5px;font-size:var(--fs-xs);color:var(--muted)}.promo-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(220px,.7fr);grid-gap:16px;gap:16px;align-items:start}.promo-form-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}.promo-form-span{grid-column:1/-1}.promo-help-list{margin:10px 0 0;padding:0 0 0 16px;display:flex;flex-direction:column;gap:8px;color:var(--muted);font-size:var(--fs-md);line-height:1.45}.promo-help-list strong{color:var(--text)}.promo-code{display:inline-block;padding:2px 7px;border-radius:6px;background:#f3f5f8;border:1px solid var(--border);font-size:var(--fs-md);font-weight:700;letter-spacing:.04em}.input-affix{position:relative;display:flex;align-items:center}.input-affix .input{width:100%}.input-affix-prefix+.input{padding-left:36px}.input-affix:has(.input-affix-suffix) .input{padding-right:36px}.input-affix-prefix,.input-affix-suffix{position:absolute;top:50%;transform:translateY(-50%);font-size:var(--fs-md);font-weight:700;color:var(--muted);pointer-events:none}.input-affix-prefix{left:12px}.input-affix-suffix{right:12px}@media (max-width:960px){.admin-shell{display:block}.admin-topbar{display:flex}.admin-sidebar-close{display:grid;place-items:center}.admin-sidebar{position:fixed;left:0;top:0;height:100vh;transform:translateX(-105%);transition:transform .2s ease;box-shadow:none}.admin-shell.is-nav-open .admin-sidebar{transform:translateX(0);box-shadow:12px 0 40px rgba(10,18,32,.18)}.admin-backdrop{display:block;position:fixed;inset:0;background:rgba(10,18,32,.42);border:none;padding:0;z-index:35;opacity:0;pointer-events:none;transition:opacity .2s ease}.admin-shell.is-nav-open .admin-backdrop{opacity:1;pointer-events:auto}.admin-content{padding:20px 16px 40px}.page-title{font-size:1.5rem}.list-row{flex-direction:column;align-items:flex-start}.list-row-actions{width:100%}.detail-row{grid-template-columns:1fr;gap:4px}.toolbar .input,.toolbar .select{min-width:100%}.btn--block-mobile{width:100%}.dash-grid{grid-template-columns:1fr}.stat-grid,.stat-grid--featured{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-card{padding:14px}.stat-card-value{font-size:1.2rem}.input,.select,.textarea{font-size:16px}.settings-grid{grid-template-columns:1fr}.program-switch{width:100%}.table-card-toolbar .field,.table-card-toolbar .field--narrow{flex:1 1 100%;min-width:0}.panel-foot{flex-direction:column;align-items:stretch}.panel-foot .btn{width:100%;margin-left:0}.pagination-pages{display:none}.pagination-meta{margin-left:0;width:100%;order:-1}.pagination{justify-content:space-between}.promo-form-grid,.promo-layout{grid-template-columns:1fr}.chart-bars{height:150px}}.wysiwyg{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);overflow:hidden}.wysiwyg-toolbar{position:-webkit-sticky;position:sticky;top:0;z-index:5;display:flex;flex-wrap:wrap;align-items:center;gap:2px;padding:6px 8px;border-bottom:1px solid var(--border);background:var(--surface-2,var(--surface))}.wysiwyg-tb-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:none;border-radius:8px;background:transparent;color:var(--text);cursor:pointer;transition:background-color .15s ease,color .15s ease;flex-shrink:0}.wysiwyg-tb-btn:hover{background:var(--surface)}.wysiwyg-tb-btn.is-active{background:var(--surface);color:var(--accent);box-shadow:inset 0 0 0 1.5px var(--accent)}.wysiwyg-tb-btn:disabled{opacity:.4;cursor:not-allowed}.wysiwyg-modal__btn:focus-visible,.wysiwyg-modal__close:focus-visible,.wysiwyg-popover__apply:focus-visible,.wysiwyg-popover__remove:focus-visible,.wysiwyg-select__trigger:focus-visible,.wysiwyg-tb-btn:focus-visible{outline:2px solid var(--brand);outline-offset:1px}.wysiwyg-tb-sep{width:1px;height:20px;background:var(--border);margin:0 4px;flex-shrink:0}.wysiwyg-icon{width:16px;height:16px;flex-shrink:0}.wysiwyg-icon--xs{width:13px;height:13px}.wysiwyg-icon--lg{width:24px;height:24px}.wysiwyg-tooltip{z-index:60;border-radius:6px;background:#1f2430;color:#fff;font-size:12px;line-height:1.4;padding:4px 8px;box-shadow:var(--shadow-sm)}.wysiwyg-tooltip__arrow{fill:#1f2430}.wysiwyg-select__trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:6px;height:34px;min-width:108px;padding:0 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font-size:var(--fs-sm);cursor:pointer;flex-shrink:0}.wysiwyg-select__trigger:hover{border-color:var(--accent)}.wysiwyg-select__content{z-index:60;min-width:108px;overflow:hidden;border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.wysiwyg-select__item{position:relative;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 10px;font-size:var(--fs-sm);color:var(--text);cursor:pointer;outline:none}.wysiwyg-select__item:hover,.wysiwyg-select__item[data-highlighted]{background:var(--surface-2,#eef1f6)}.wysiwyg-select__item[data-state=checked]{color:var(--accent);font-weight:600}.wysiwyg-popover{z-index:60;width:300px;border:1px solid var(--border);border-radius:var(--radius-md,10px);background:var(--surface);padding:12px;box-shadow:var(--shadow)}.wysiwyg-popover__label{margin:0 0 8px;font-size:var(--fs-xs);font-weight:600;color:var(--muted)}.wysiwyg-popover__actions{display:flex;gap:8px;margin-top:8px}.wysiwyg-popover__apply{flex:1 1;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;border:none;border-radius:8px;background:var(--brand);color:#fff;font-size:var(--fs-sm);font-weight:600;cursor:pointer}.wysiwyg-popover__apply:hover{background:var(--brand-deep)}.wysiwyg-popover__remove{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--muted);font-size:var(--fs-sm);cursor:pointer}.wysiwyg-popover__remove:hover{background:var(--surface-2,#eef1f6);color:var(--text)}.wysiwyg-popover__arrow{fill:var(--surface);stroke:var(--border);stroke-width:1px}.wysiwyg .wysiwyg-content{min-height:280px;padding:14px 16px;outline:none;font-size:var(--fs-md);color:var(--text);line-height:1.65;overflow-wrap:break-word;word-break:break-word}.wysiwyg .wysiwyg-content p{margin:0 0 .75em}.wysiwyg .wysiwyg-content h1{font-size:1.5rem;margin:1.25em 0 .5em;line-height:1.3}.wysiwyg .wysiwyg-content h2{font-size:1.25rem;margin:1.15em 0 .45em;line-height:1.3}.wysiwyg .wysiwyg-content h3{font-size:1.1rem;margin:1em 0 .4em;line-height:1.35}.wysiwyg .wysiwyg-content h4{font-size:1rem;margin:1em 0 .4em;line-height:1.4}.wysiwyg .wysiwyg-content ol,.wysiwyg .wysiwyg-content ul{padding-left:1.5em;margin:0 0 .75em}.wysiwyg .wysiwyg-content li{margin-bottom:.25em}.wysiwyg .wysiwyg-content blockquote{border-left:3px solid var(--border);margin:.75em 0;padding:.25em 0 .25em .875em;color:var(--muted);font-style:italic}.wysiwyg .wysiwyg-content pre{background:var(--surface-2,#f3f4f6);border-radius:6px;padding:.75em 1em;overflow-x:auto;margin:.75em 0}.wysiwyg .wysiwyg-content pre code{background:none;padding:0;border-radius:0;color:inherit}.wysiwyg .wysiwyg-content code,.wysiwyg .wysiwyg-content pre code{font-family:ui-monospace,SFMono-Regular,Cascadia Code,Menlo,Consolas,monospace;font-size:.9em}.wysiwyg .wysiwyg-content code{background:var(--surface-2,#f3f4f6);padding:.15em .35em;border-radius:3px}.wysiwyg .wysiwyg-content hr{border:none;border-top:2px solid var(--border);margin:1.25em 0}.wysiwyg .wysiwyg-content a{color:var(--brand);text-decoration:underline;text-underline-offset:2px}.wysiwyg .wysiwyg-content mark{background-color:#fef08a;color:inherit;padding:0 .15em;border-radius:2px}.wysiwyg .wysiwyg-content img{max-width:100%;height:auto;border-radius:6px;margin:.5em 0;display:block}.wysiwyg .wysiwyg-content p.is-editor-empty:first-child:before{color:var(--muted);content:attr(data-placeholder);float:left;height:0;pointer-events:none}.wysiwyg-modal-overlay{position:fixed;inset:0;z-index:70;background:rgba(15,20,30,.5)}.wysiwyg-modal{position:fixed;left:50%;top:50%;z-index:70;transform:translate(-50%,-50%);width:calc(100vw - 2rem);max-width:460px;border:1px solid var(--border);border-radius:var(--radius-lg,14px);background:var(--surface);box-shadow:var(--shadow);padding:20px;outline:none}.wysiwyg-modal__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.wysiwyg-modal__title{margin:0;font-size:var(--fs-lg);font-weight:700;color:var(--text)}.wysiwyg-modal__close{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer}.wysiwyg-modal__close:hover{background:var(--surface-2,#eef1f6);color:var(--text)}.wysiwyg-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:160px;padding:20px;border:2px dashed var(--border);border-radius:var(--radius-md,10px);background:var(--surface-2,#f8f9fb);cursor:pointer;text-align:center;transition:border-color .15s ease,background-color .15s ease}.wysiwyg-dropzone:hover{border-color:var(--muted)}.wysiwyg-dropzone.is-dragging{border-color:var(--brand);background:#eaf3ff}.wysiwyg-dropzone.has-file{border-color:var(--ok);background:#effaf3}.wysiwyg-dropzone__icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:var(--surface);color:var(--muted)}.wysiwyg-dropzone.has-file .wysiwyg-dropzone__icon,.wysiwyg-dropzone.is-dragging .wysiwyg-dropzone__icon{color:var(--brand)}.wysiwyg-dropzone__filename{margin:0;font-size:var(--fs-sm);color:var(--text);word-break:break-all}.wysiwyg-dropzone__filename span{color:var(--muted);font-size:var(--fs-xs)}.wysiwyg-dropzone__hint p{margin:2px 0;font-size:var(--fs-sm);color:var(--text)}.wysiwyg-dropzone__hint p:first-child{font-weight:600}.wysiwyg-dropzone__hint p:nth-child(2){color:var(--muted)}.wysiwyg-dropzone__meta{color:var(--muted)!important;font-size:var(--fs-xs)!important}.wysiwyg-modal__error{margin:12px 0 0;font-size:var(--fs-sm);color:var(--danger)}.wysiwyg-modal__field{margin-top:14px;display:grid;grid-gap:6px;gap:6px}.wysiwyg-modal__field label{font-size:var(--fs-sm);font-weight:500;color:var(--text)}.wysiwyg-opt{color:var(--muted);font-weight:400;font-size:var(--fs-xs)}.wysiwyg-modal__actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.wysiwyg-modal__btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:0 16px;border-radius:8px;font-size:var(--fs-sm);font-weight:600;cursor:pointer}.wysiwyg-modal__btn:disabled{opacity:.5;cursor:not-allowed}.wysiwyg-modal__btn--primary{border:none;background:var(--brand);color:#fff}.wysiwyg-modal__btn--primary:hover:not(:disabled){background:var(--brand-deep)}.wysiwyg-modal__btn--ghost{border:1px solid var(--border);background:var(--surface);color:var(--text)}.wysiwyg-modal__btn--ghost:hover:not(:disabled){background:var(--surface-2,#eef1f6)}.wysiwyg-spinner{width:15px;height:15px;animation:wysiwyg-spin .8s linear infinite}@keyframes wysiwyg-spin{to{transform:rotate(1turn)}}.wysiwyg-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.program-switch{display:flex;align-items:center;justify-content:space-between;gap:12px 18px;max-width:420px;padding:12px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.program-switch-copy{min-width:0}.program-switch-title{margin:0;font-size:var(--fs-sm);font-weight:700;letter-spacing:-.01em}.program-switch-hint{margin:3px 0 0;color:var(--muted);font-size:var(--fs-xs);line-height:1.4}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}.panel-lead{margin:4px 0 0;color:var(--muted);font-size:var(--fs-sm);font-weight:500}.panel-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.panel-foot .alert{margin:0;flex:1 1 220px}.panel-foot .btn{margin-left:auto;flex-shrink:0}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px}.fee-split{display:grid;grid-template-columns:minmax(128px,.85fr) minmax(0,1fr);grid-gap:8px;gap:8px}.workspace{display:flex;flex-direction:column;gap:0;min-width:0}.page-tabs{display:flex;gap:2px;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scrollbar-width:none;border-bottom:1px solid var(--border)}.page-tabs::-webkit-scrollbar{display:none}.page-tabs button{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 14px;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;background:transparent;color:var(--muted);font-size:var(--fs-sm);font-weight:700;letter-spacing:-.01em;white-space:nowrap}.page-tabs button:hover{color:var(--text)}.page-tabs button.is-active{color:var(--text);border-bottom-color:var(--brand)}.page-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.4rem;height:1.25rem;padding:0 6px;border-radius:999px;background:var(--surface-2);color:var(--muted);font-size:11px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.page-tabs button.is-active .page-tab-count{background:rgba(26,140,255,.12);color:var(--brand-deep)}.page-tab-count.is-warn{background:rgba(255,138,31,.16);color:#9a6b12}.table-card{min-width:0;background:var(--surface);border:1px solid var(--border);border-top:0;border-radius:0 0 var(--radius-lg) var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.table-card-toolbar{padding:14px 16px 12px;background:#f8f9fc;border-bottom:1px solid var(--border)}.table-card-toolbar .field{flex:1 1 220px;min-width:160px}.table-card-toolbar .field--narrow{flex:0 1 180px;min-width:140px}.table-card .table-wrap{border:0;border-radius:0;box-shadow:none}.table-card-foot{padding:10px 12px 12px;border-top:1px solid var(--border);background:var(--surface)}.table-card-foot:not(:has(.pagination)){display:none}.code-chip{display:inline-block;padding:2px 8px;border-radius:6px;background:var(--surface-2);border:1px solid var(--border);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:var(--fs-xs);font-weight:650;letter-spacing:.03em}@media (max-width:720px){.settings-grid{grid-template-columns:1fr}.fee-split{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.program-switch{max-width:none;width:100%}.page-header{flex-direction:column}}