@import"https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap";.qr-code-image[data-v-eca18b88]{display:block;max-width:100%;height:auto;background:#fff}.certificate-canvas[data-v-3c6e46c1]{--certificate-scale:1;position:relative;width:100%;aspect-ratio:297 / 210;border-radius:14px;overflow:hidden;background:var(--bg-card-alt);background-size:cover;background-position:center;background-repeat:no-repeat;border:1px solid var(--border);color:var(--text-primary)}.certificate-canvas.is-filled[data-v-3c6e46c1]{color:#0a1e2a}.certificate-field[data-v-3c6e46c1]{position:absolute;max-width:90%;line-height:1.35;white-space:pre-line}.certificate-canvas.is-editable .certificate-field[data-v-3c6e46c1]{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.certificate-canvas.is-editable .certificate-field[data-v-3c6e46c1]:active{cursor:grabbing}.certificate-field.is-selected[data-v-3c6e46c1]{outline:2px dashed var(--accent);outline-offset:6px;border-radius:4px;z-index:5}.certificate-field[data-v-3c6e46c1]:focus-visible{outline:2px solid var(--accent);outline-offset:6px}.certificate-field.is-placeholder[data-v-3c6e46c1]{opacity:.5}.certificate-field.is-placeholder[data-v-3c6e46c1]:not(.field-signature){font-style:italic}.field-eyebrow[data-v-3c6e46c1]{text-transform:uppercase;letter-spacing:.28em;white-space:nowrap}.certificate-canvas:not(.is-filled) .field-eyebrow[data-v-3c6e46c1]{color:var(--accent)}.certificate-canvas.is-filled .field-eyebrow[data-v-3c6e46c1]{opacity:.8}.field-title[data-v-3c6e46c1]{line-height:1.12}.field-body[data-v-3c6e46c1]{line-height:1.55}.field-signatory_name[data-v-3c6e46c1],.field-signatory_title[data-v-3c6e46c1],.field-code[data-v-3c6e46c1]{white-space:nowrap}.field-code[data-v-3c6e46c1]{letter-spacing:.06em;opacity:.7}.certificate-signature-img[data-v-3c6e46c1]{display:block;width:auto;height:auto;object-fit:contain;max-height:var(--field-size,calc(46px * var(--certificate-scale)));max-width:calc(var(--field-size,calc(46px * var(--certificate-scale))) * 3.913)}.certificate-image-placeholder[data-v-3c6e46c1]{display:grid;place-items:center;width:calc(var(--field-size,calc(46px * var(--certificate-scale))) * 3.478);max-width:100%;height:var(--field-size,calc(46px * var(--certificate-scale)));border:1px dashed currentColor;border-radius:8px;font-size:calc(9px * var(--certificate-scale));letter-spacing:.08em;text-transform:uppercase}.certificate-signature-line[data-v-3c6e46c1]{display:block;width:100%;border-top:1px solid currentColor;opacity:.5}.certificate-qr-img[data-v-3c6e46c1]{width:var(--field-size,calc(90px * var(--certificate-scale)));max-width:100%;height:auto;padding:calc(4px * var(--certificate-scale));border-radius:calc(4px * var(--certificate-scale));background:#fff}.certificate-modules[data-v-3c6e46c1]{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(var(--module-columns,2),minmax(0,1fr));gap:calc(2px * var(--certificate-scale)) calc(18px * var(--certificate-scale));text-align:inherit}.certificate-modules li[data-v-3c6e46c1]{display:flex;min-width:0;gap:calc(4px * var(--certificate-scale));justify-content:var(--module-justify,flex-start);line-height:1.35;break-inside:avoid}.certificate-modules-inline[data-v-3c6e46c1]{display:block;line-height:1.35;text-align:inherit}.certificate-module-index[data-v-3c6e46c1]{opacity:.6;font-variant-numeric:tabular-nums}.certificate-module-separator[data-v-3c6e46c1]{opacity:.6;white-space:pre}.certificate-module-name[data-v-3c6e46c1]{min-width:0;overflow-wrap:anywhere}.certificate-modules-placeholder[data-v-3c6e46c1]{display:inline-block;border:1px dashed currentColor;border-radius:8px;padding:calc(6px * var(--certificate-scale)) calc(10px * var(--certificate-scale));font-size:inherit;letter-spacing:.08em;text-transform:uppercase}.certificate-resize-handle[data-v-3c6e46c1]{position:absolute;width:12px;height:12px;border-radius:50%;background:#fff;border:2px solid var(--accent);box-shadow:0 1px 4px #00000059;z-index:3;touch-action:none}.handle-nw[data-v-3c6e46c1]{left:0;top:0;transform:translate(-50%,-50%);cursor:nwse-resize}.handle-ne[data-v-3c6e46c1]{right:0;top:0;transform:translate(50%,-50%);cursor:nesw-resize}.handle-sw[data-v-3c6e46c1]{left:0;bottom:0;transform:translate(-50%,50%);cursor:nesw-resize}.handle-se[data-v-3c6e46c1]{right:0;bottom:0;transform:translate(50%,50%);cursor:nwse-resize}.handle-w[data-v-3c6e46c1]{left:0;top:50%;transform:translate(-50%,-50%);cursor:ew-resize}.handle-e[data-v-3c6e46c1]{right:0;top:50%;transform:translate(50%,-50%);cursor:ew-resize}:root{--accent:#17c993;--accent-2:#0fa87a;--accent-grad:linear-gradient(135deg,#22e0ab,#0fa87a);--accent-ink:#06281d;--accent-soft:color-mix(in srgb,var(--accent) 14%,transparent);--started:#f59e0b;--started-soft:rgba(245,158,11,.14);--sidebar-w:264px;--header-h:76px;--radius-lg:16px;--radius-md:14px;--radius-sm:10px}:root,html[data-theme=dark]{--bg-page:#0b1420;--bg-sidebar:#0d1627;--bg-header:#0b1420;--bg-card:#141f30;--bg-card-alt:#1a2537;--bg-input:#101a29;--border:#22304a;--text-primary:#eef2f7;--text-secondary:#95a3b8;--text-muted:#5b6b83;--shadow:0 14px 32px rgba(0,0,0,.38);--shadow-sm:0 3px 10px rgba(0,0,0,.28);--hero-quote:#c7d2de;--ring:#0b1420;--scrim:rgba(6,10,18,.6);color-scheme:dark}html[data-theme=light]{--bg-page:#f3f5f8;--bg-sidebar:#ffffff;--bg-header:#ffffff;--bg-card:#ffffff;--bg-card-alt:#f6f8fb;--bg-input:#eef1f6;--border:#e8ebf1;--text-primary:#16202c;--text-secondary:#5b6779;--text-muted:#94a3b8;--shadow:0 14px 32px rgba(20,30,50,.1);--shadow-sm:0 3px 10px rgba(20,30,50,.06);--hero-quote:#3d5165;--ring:#ffffff;--scrim:rgba(15,23,35,.5);color-scheme:light}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:Manrope,system-ui,sans-serif;background:var(--bg-page);color:var(--text-primary);-webkit-font-smoothing:antialiased;transition:background .2s ease,color .2s ease}a{text-decoration:none;color:inherit}button,input{font-family:inherit}ul{list-style:none;margin:0;padding:0}h1,h2,h3,p{margin:0}svg{display:block}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-thumb{background:var(--border);border-radius:5px}::-webkit-scrollbar-track{background:transparent}.icon{stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.app-shell{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-w);flex-shrink:0;background:var(--bg-sidebar);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:28px 20px;position:sticky;top:0;height:100vh;overflow:hidden;z-index:60;transition:transform .25s ease}.brand{display:flex;align-items:center;gap:10px;margin-bottom:34px;padding:0 4px;flex-shrink:0}.brand-logo{max-height:40px;max-width:100%;width:auto;object-fit:contain;display:block}.brand-mark{width:38px;height:38px;border-radius:11px;flex-shrink:0;background:var(--accent-grad);display:flex;align-items:center;justify-content:center;box-shadow:0 6px 14px color-mix(in srgb,var(--accent) 35%,transparent)}.brand-text{display:flex;flex-direction:column;line-height:1.2}.brand-name{font-size:16px;font-weight:800;letter-spacing:.1px}.brand-tag{font-size:10.5px;color:var(--text-muted);font-weight:500}.nav{display:flex;flex-direction:column;gap:4px;flex:1;min-height:0;overflow-y:auto}.nav-group-label{font-size:11px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;color:var(--text-muted);margin:14px 0 2px;padding-left:12px}.nav-link{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:11px;color:var(--text-secondary);font-weight:600;font-size:14px;border:none;background:transparent;cursor:pointer;width:100%;text-align:left;transition:background .15s ease,color .15s ease}.nav-link:hover{background:var(--bg-card-alt);color:var(--text-primary)}.nav-link.active{background:var(--accent-grad);color:var(--accent-ink);box-shadow:0 6px 16px color-mix(in srgb,var(--accent) 30%,transparent)}.nav-link.active:hover{filter:brightness(1.05)}.nav-link.has-live:not(.active){color:var(--text-primary);background:#ef444417;box-shadow:inset 0 0 0 1px #ef444438}.nav-live-badge{margin-left:auto;display:inline-flex;align-items:center;gap:5px;flex-shrink:0;background:#ef4444;color:#fff;font-size:9px;font-weight:800;letter-spacing:.04em;padding:3px 7px;border-radius:999px;line-height:1;white-space:nowrap}.nav-live-dot{width:5px;height:5px;border-radius:50%;background:#fff;animation:pulse-dot 1.6s ease-in-out infinite}.nav-badge{margin-left:auto;background:var(--accent-grad);color:var(--accent-ink);font-size:10px;font-weight:800;min-width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 5px}.help-card{background:var(--bg-card-alt);border:1px solid var(--border);border-radius:12px;padding:13px 14px;display:flex;flex-direction:column;gap:7px;flex-shrink:0;margin-top:14px}.help-icon{width:29px;height:29px;border-radius:8px;background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center}.help-title{font-weight:700;font-size:12.5px}.help-text{font-size:11px;color:var(--text-secondary);line-height:1.4}.help-link{color:var(--accent);font-weight:700;font-size:11.5px}.sidebar-backdrop{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:var(--scrim);z-index:55}.main-col{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{height:var(--header-h);flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:0 32px;background:var(--bg-header);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:40;gap:16px}.topbar-left{display:flex;align-items:center;gap:14px;min-width:0;flex:1}.hamburger{position:relative;display:none;width:38px;height:38px;border-radius:10px;border:1px solid var(--border);background:var(--bg-card-alt);color:var(--text-primary);align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.hamburger-live{position:absolute;top:6px;right:6px;width:9px;height:9px;border-radius:50%;background:#ef4444;box-shadow:0 0 0 2px var(--bg-card-alt);animation:pulse-dot 1.6s ease-in-out infinite}.search{display:flex;align-items:center;gap:10px;background:var(--bg-input);border:1px solid var(--border);border-radius:11px;padding:10px 16px;width:100%;max-width:360px;color:var(--text-muted)}.search input{border:none;background:transparent;outline:none;font-size:13.5px;color:var(--text-primary);width:100%}.search input::placeholder{color:var(--text-muted)}.topbar-right{display:flex;align-items:center;gap:20px;flex-shrink:0}.theme-toggle{position:relative;width:52px;height:28px;border-radius:999px;background:var(--accent-grad);border:none;cursor:pointer;padding:0;flex-shrink:0;box-shadow:var(--shadow-sm)}.theme-toggle .knob{position:absolute;top:3px;left:27px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 2px 5px #0000004d;transition:left .2s ease}html[data-theme=light] .theme-toggle .knob{left:3px}.theme-toggle svg{position:absolute;top:7.5px;pointer-events:none}.theme-toggle .sun{left:6px;color:#ffffffb3}.theme-toggle .moon{right:6px;color:#06281db3}.icon-btn{position:relative;width:38px;height:38px;border-radius:10px;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s ease,color .15s ease}.icon-btn:hover{background:var(--bg-card-alt);color:var(--text-primary)}.badge-dot{position:absolute;top:2px;right:2px;background:var(--accent-grad);color:var(--accent-ink);font-size:10px;font-weight:800;width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 2px var(--bg-header)}.v-divider{width:1px;height:26px;background:var(--border)}.user-menu{position:relative}.user-trigger{display:flex;align-items:center;gap:10px;cursor:pointer;background:none;border:none;color:inherit;padding:4px;border-radius:10px}.user-trigger:hover{background:var(--bg-card-alt)}.avatar{width:38px;height:38px;border-radius:50%;background:var(--accent-grad);display:flex;align-items:center;justify-content:center;color:var(--accent-ink);font-weight:800;font-size:13px;box-shadow:0 0 0 2px var(--ring),0 4px 10px color-mix(in srgb,var(--accent) 30%,transparent);flex-shrink:0}.user-text{display:flex;flex-direction:column;line-height:1.2;text-align:left}.user-name{font-size:13px;font-weight:700}.user-role{font-size:11px;color:var(--text-muted)}.user-dropdown{position:absolute;right:0;top:calc(100% + 10px);background:var(--bg-card);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);min-width:180px;padding:8px;display:none;flex-direction:column;gap:2px;z-index:50}.user-menu.open .user-dropdown{display:flex}.user-dropdown a{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:8px;font-size:13px;font-weight:600;color:var(--text-secondary)}.user-dropdown a:hover{background:var(--bg-card-alt);color:var(--text-primary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700;font-size:13.5px;padding:12px 22px;border-radius:11px;border:none;cursor:pointer;transition:filter .15s ease,transform .1s ease;white-space:nowrap}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--accent-grad);color:var(--accent-ink);box-shadow:0 10px 22px color-mix(in srgb,var(--accent) 28%,transparent)}.btn-primary:hover{filter:brightness(1.06)}.btn-primary:disabled{opacity:.6;cursor:default;filter:none}.btn-outline{background:transparent;border:1.5px solid var(--border);color:var(--text-secondary)}.btn-outline:hover{border-color:var(--accent);color:var(--text-primary)}.btn-ghost-light{background:#ffffff0f;border:1.5px solid rgba(255,255,255,.35);color:#fff}.btn-ghost-light:hover{background:#ffffff1f}.btn-block{width:100%}.content{flex:1;padding:28px 32px 40px;display:flex;flex-direction:column;gap:36px}.hero{position:relative;border-radius:22px;overflow:hidden;background:#0a1e2a;box-shadow:var(--shadow)}.hero-track{display:flex;transition:transform .6s ease;will-change:transform;cursor:grab;touch-action:pan-y}.hero-track.no-transition{transition:none}.hero-track.is-dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}.hero-slide{position:relative;flex:0 0 100%;min-height:300px;display:flex;flex-direction:column;justify-content:center;gap:14px;padding:46px 48px}.hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;background-repeat:no-repeat}.hero-mask{position:absolute;top:0;right:0;bottom:0;left:0;background:#0611198c;pointer-events:none}.hero-eyebrow{color:var(--accent);font-weight:700;font-size:12.5px;letter-spacing:1.4px;position:relative;z-index:1}.hero-title{font-size:36px;font-weight:800;color:#fff;max-width:540px;line-height:1.18;position:relative;z-index:1}.hero-title em{color:var(--accent);font-style:normal}.hero-desc{color:#c7d2de;font-size:14px;max-width:470px;line-height:1.6;position:relative;z-index:1}.hero-actions{display:flex;gap:12px;margin-top:12px;position:relative;flex-wrap:wrap;z-index:1}.hero-quote{position:absolute;right:52px;bottom:40px;color:#e7ede4;font-style:italic;font-size:13px;z-index:1}.hero-nav{position:absolute;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:50%;background:#00000059;border:1px solid rgba(255,255,255,.15);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:1}.hero-nav.prev{left:14px}.hero-nav.next{right:14px}.hero-dots{position:absolute;left:48px;bottom:22px;display:flex;gap:6px;z-index:1}.hero-dots span{width:5px;height:5px;border-radius:3px;background:#ffffff59;cursor:pointer;transition:width .2s ease,background .2s ease}.hero-dots span.active{width:20px;background:var(--accent)}.section{display:flex;flex-direction:column;gap:16px}.section-head{display:flex;align-items:center;justify-content:space-between}.section-title{font-size:18px;font-weight:800}.section-link{color:var(--accent);font-weight:700;font-size:12.5px}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.card:hover{box-shadow:var(--shadow);transform:translateY(-3px);border-color:var(--accent)}.card-thumb{position:relative;height:110px;display:flex;align-items:center;justify-content:center;overflow:hidden}.card-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.card-thumb .glow{position:absolute;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.12),transparent 70%)}.card-thumb .icon{position:relative;color:#fff;opacity:.6}.card-dur{position:absolute;top:8px;right:8px;background:#00000080;color:#fff;font-size:10px;font-weight:700;padding:2px 6px;border-radius:5px}.card-progress{position:absolute;left:0;right:0;bottom:0;height:3px;background:#ffffff40}.card-progress>span{display:block;height:100%;background:var(--accent-grad)}.card-body{padding:12px 14px;display:flex;flex-direction:column;gap:2px}.card-title{font-size:12.5px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-sub{font-size:11px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-course .card-thumb{height:auto;aspect-ratio:16/9;align-items:flex-end;padding:10px;justify-content:flex-start}.card-course .thumb-icon-tl{position:absolute;top:10px;left:10px;color:#ffffffb0}.card-course .badge-label{color:#fff;font-weight:800;font-size:13px;line-height:1.2;position:relative}.card-course .pct-badge{position:absolute;top:8px;right:8px;background:#0006;color:#fff;font-size:10.5px;font-weight:800;padding:3px 7px;border-radius:6px}.card-course .card-body{gap:7px}.progress-bar{height:5px;border-radius:3px;background:var(--bg-card-alt);overflow:hidden}.progress-bar>span{display:block;height:100%;background:var(--accent-grad)}.card-reco{position:relative}.card-reco .card-thumb{height:98px}.card-reco .card-body{padding-right:36px}.reco-arrow{position:absolute;right:10px;bottom:10px;width:24px;height:24px;border-radius:50%;background:var(--bg-card-alt);display:flex;align-items:center;justify-content:center;color:var(--accent);border:1px solid var(--border)}.card-product .product-thumb-image{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.card-product .sale-badge{background:var(--accent-grad);color:var(--accent-ink);font-weight:800}.product-price{display:flex;align-items:baseline;gap:7px;margin-top:2px}.price-old{font-size:11px;color:var(--text-muted);text-decoration:line-through}.price-now{font-size:13.5px;font-weight:800;color:var(--accent)}.product-price-lg .price-now{font-size:20px}.product-price-lg .price-old{font-size:13px}.product-detail{display:grid;grid-template-columns:minmax(240px,360px) 1fr;gap:28px;align-items:start}.product-detail-media{position:relative;min-height:220px;border-radius:var(--radius-md);overflow:hidden;display:flex;align-items:center;justify-content:center;border:1px solid var(--border)}.product-detail-media img{width:100%;height:100%;object-fit:cover}.product-detail-media .icon{color:#fff;opacity:.65}.product-detail-info{display:flex;flex-direction:column;gap:14px}.product-detail-desc{color:var(--text-secondary);font-size:13.5px;line-height:1.6;white-space:pre-line}@media (max-width:720px){.product-detail{grid-template-columns:1fr}}.public-content{width:100%;max-width:var(--public-max,1800px);margin:0 auto;padding:40px var(--public-gutter,clamp(20px,3.6vw,64px)) 96px;display:flex;flex-direction:column;gap:44px}.public-eyebrow{margin:0;font-size:11.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.public-breadcrumb{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:var(--text-muted);font-size:12px;font-weight:700}.public-breadcrumb a{color:var(--text-secondary)}.public-breadcrumb a:hover{color:var(--accent)}.public-breadcrumb .current{color:var(--text-primary)}.public-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:72px 24px;text-align:center;color:var(--text-muted);border:1px dashed var(--border);border-radius:26px;background:var(--bg-card)}.public-empty strong{color:var(--text-primary);font-size:17px}.public-empty span{max-width:480px;font-size:13.5px;line-height:1.6}.public-empty .btn{margin-top:6px}.public-warning{margin:0;padding:11px 13px;border:1px solid rgba(234,179,8,.28);border-radius:10px;background:#eab30814;color:#d9a514;font-size:12px;line-height:1.5}.trust-note{display:flex;align-items:flex-start;gap:10px;padding:13px;border-radius:11px;background:var(--accent-soft);color:var(--accent)}.trust-note>svg{flex-shrink:0;margin-top:1px}.trust-note strong{display:block;color:var(--text-primary);font-size:11.5px;font-weight:800;line-height:1.35}.trust-note span{display:block;margin-top:2px;color:var(--text-secondary);font-size:10.5px;font-weight:600;line-height:1.45}.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}.public-content a:focus-visible,.public-content button:focus-visible,.public-content input:focus-visible,.public-header a:focus-visible,.public-header button:focus-visible,.public-footer a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.lesson-content{flex:1;padding:26px 32px 36px;display:flex;gap:28px;align-items:flex-start}.lesson-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:18px}.lesson-side{width:368px;flex-shrink:0;display:flex;flex-direction:column;gap:16px}.breadcrumb{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-muted);font-weight:600;flex-wrap:wrap}.breadcrumb a{color:var(--text-muted)}.breadcrumb a:hover{color:var(--text-primary)}.breadcrumb .sep{opacity:.6}.breadcrumb .current{color:var(--accent)}.lesson-head{display:flex;align-items:flex-start;gap:12px}.lesson-head-icon{width:34px;height:34px;border-radius:9px;background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}.lesson-title{font-size:22px;font-weight:800}.video-block{background:#0a1119;border-radius:16px;overflow:hidden;position:relative;box-shadow:var(--shadow)}.video-stage{height:420px;position:relative;background:linear-gradient(120deg,#16202c,#0c141e 70%);display:flex;align-items:center;justify-content:center;overflow:hidden}.video-stage.has-player{height:auto;aspect-ratio:16/9;padding:0}.video-frame{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0}.video-stage-loading{flex-direction:column;gap:12px;background:#0c141e}.video-loading-text{color:var(--text-muted);font-size:13px;font-weight:600;letter-spacing:.3px}.video-spinner{width:38px;height:38px;border-radius:50%;border:3px solid rgba(255,255,255,.15);border-top-color:var(--accent);animation:video-spin .8s linear infinite}@keyframes video-spin{to{transform:rotate(360deg)}}.live-badge{position:absolute;top:12px;right:12px;z-index:2;display:flex;align-items:center;gap:6px;background:#e02424;color:#fff;font-size:11px;font-weight:700;letter-spacing:.06em;padding:4px 9px;border-radius:4px;box-shadow:0 2px 8px #00000059}.live-badge:before{content:"";width:7px;height:7px;border-radius:50%;background:#fff;animation:pulse-dot 1.4s ease-in-out infinite}.live-soon-badge{background:#f59e0b;color:#1a1205;font-size:11px;font-weight:800;letter-spacing:.06em;padding:4px 10px;border-radius:4px}.document-stage{background:#0c141e}.document-frame{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0;background:#fff}.document-loading{display:flex;flex-direction:column;align-items:center;gap:12px}.document-fallback{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding:0 24px;color:var(--text-muted)}.document-fallback-name{color:#fff;font-weight:800;font-size:16px;word-break:break-all}.document-fallback-text{font-size:13px;max-width:520px;margin:0;line-height:1.5}.document-download{position:absolute;top:12px;right:12px;z-index:3;display:inline-flex;align-items:center;gap:6px;background:var(--accent);color:var(--accent-ink);border:none;border-radius:9px;padding:8px 12px;font-family:inherit;font-weight:700;font-size:12.5px;cursor:pointer;box-shadow:0 2px 8px #00000059}.document-download:hover{filter:brightness(1.05)}.document-download:disabled{opacity:.6;cursor:default}.video-overlay-text{position:absolute;right:60px;top:50%;transform:translateY(-50%);text-align:right;z-index:2}.video-overlay-text .l1{color:var(--accent);font-weight:800;font-size:13px;letter-spacing:1px}.video-overlay-text .l2{color:#fff;font-weight:800;font-size:26px;line-height:1.2}.tabs{display:flex;gap:28px;border-bottom:1px solid var(--border);flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{padding:10px 2px;font-size:13.5px;font-weight:700;color:var(--text-muted);border:none;background:none;cursor:pointer;border-bottom:2px solid transparent;flex-shrink:0;white-space:nowrap}.tab.active{border-bottom-color:var(--accent);color:var(--text-primary)}.tab-panel{display:none;flex-direction:column;gap:18px}.tab-panel.active{display:flex}.tab-panel.simple{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;padding:28px;color:var(--text-secondary);font-size:13.5px;display:none}.tab-panel.simple.active{display:block}.desc-row{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;flex-wrap:wrap}.desc-text{font-size:13.5px;color:var(--text-secondary);line-height:1.65;max-width:620px}.comment-form{display:flex;flex-direction:column;gap:10px}.comment-form-actions{display:flex;align-items:center;justify-content:flex-end;gap:14px}.comment-empty{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;padding:22px;color:var(--text-muted);font-size:13px;text-align:center}.comment-row{display:flex;gap:12px;padding:16px 0;border-top:1px solid var(--border)}.comment-row:first-of-type{border-top:none}.comment-avatar{width:38px;height:38px;border-radius:50%;background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;flex-shrink:0}.comment-body{flex:1;min-width:0}.comment-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.comment-author{font-size:13px;font-weight:800}.comment-date{font-size:11.5px;color:var(--text-muted)}.comment-delete-btn{margin-left:auto;border:0;background:none;padding:0;color:var(--text-muted);font-size:11.5px;font-weight:700;cursor:pointer}.comment-delete-btn:hover{color:#ef4444;text-decoration:underline}.comment-delete-btn:disabled{opacity:.6;cursor:default;text-decoration:none}.comment-text{font-size:13.5px;color:var(--text-secondary);line-height:1.6;margin-top:4px;white-space:pre-line}.comment-badge{font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--accent);background:var(--accent-soft);border-radius:999px;padding:2px 7px}.comment-replies{margin-top:10px;display:flex;flex-direction:column;gap:8px}.comment-reply{display:flex;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:var(--bg-card-alt)}.comment-avatar-sm{width:28px;height:28px;font-size:11px}.comment-reply-area{margin-top:10px}.comment-reply-btn{border:0;background:none;padding:0;color:var(--accent);font-size:12px;font-weight:700;cursor:pointer}.comment-reply-btn:hover{text-decoration:underline}.comment-reply-form{display:flex;flex-direction:column;gap:8px;margin-top:4px}.comment-reply-cancel{border:0;background:none;padding:0;color:var(--text-muted);font-size:12px;font-weight:600;cursor:pointer}.comment-reply-cancel:hover{color:var(--text-primary)}.objectives{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;padding:22px 24px;display:flex;flex-direction:column;gap:14px}.objectives-title{font-size:14px;font-weight:800}.objective{display:flex;align-items:center;gap:10px}.check-badge{position:relative;width:18px;height:18px;flex-shrink:0;color:var(--accent)}.check-badge svg.bg{position:absolute;top:0;right:0;bottom:0;left:0}.check-badge svg.mark{position:absolute;top:4px;left:4px;color:#06281d}.objective-text{font-size:13px;color:var(--text-secondary)}.progress-card{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:20px;box-shadow:var(--shadow)}.progress-head{display:flex;align-items:center;justify-content:space-between}.progress-head .label{font-size:13.5px;font-weight:700}.progress-head .pct{font-size:13.5px;font-weight:800;color:var(--accent)}.progress-sub{font-size:11.5px;color:var(--text-muted)}.divider{height:1px;background:var(--border)}.module-list{display:flex;flex-direction:column;gap:2px}.module-row{display:flex;align-items:center;gap:10px;padding:10px 4px;border:none;background:none;width:100%;cursor:pointer;border-radius:8px;text-align:left;color:inherit;font-family:inherit}.module-row:hover{background:var(--bg-card-alt)}.module-title{flex:1;font-size:12.5px;font-weight:700}.module-count{font-size:11.5px;color:var(--text-muted);font-weight:600}.module-chevron{color:var(--text-muted);transition:transform .18s ease}.module-row[aria-expanded=true] .module-chevron{transform:rotate(180deg)}.module-row.done .module-title{color:var(--text-primary)}.module-row.todo .module-title{color:var(--text-secondary)}.lesson-sub-list{display:flex;flex-direction:column;gap:2px;padding-left:14px;overflow:hidden;max-height:0;transition:max-height .22s ease}.lesson-sub-list.open{max-height:220px}.lesson-row{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:9px}.lesson-row.current{background:var(--accent-soft)}.lesson-row .name{flex:1;font-size:12px;color:var(--text-secondary)}.lesson-row.current .name{font-weight:700;color:var(--text-primary)}.lesson-row.locked .name{color:var(--text-muted)}.lesson-row.started .name{font-weight:600;color:var(--started)}.lesson-row.started .lesson-icon{color:var(--started)}.lesson-row.started .lesson-icon svg.play-mark{color:var(--started)}.lesson-row.started.current{background:var(--started-soft)}.lesson-row .mins{font-size:11px;color:var(--text-muted)}.lesson-icon{width:16px;height:16px;flex-shrink:0;position:relative;color:var(--accent)}.lesson-icon.locked-icon{color:var(--text-muted)}.lesson-icon svg.play-mark{position:absolute;top:4px;left:4px;color:var(--text-primary)}.lesson-row.completed .lesson-icon svg.play-mark{color:var(--accent-ink)}.lesson-row.locked{cursor:not-allowed;opacity:.65}.lesson-icon .lock-mark{color:var(--text-muted)}.video-stage-locked{flex-direction:column;gap:14px;text-align:center;padding:0 20px;background:#0c141e;color:var(--text-secondary)}.video-stage-locked svg{color:var(--text-muted)}.video-stage-locked .video-overlay-text .l1{font-size:16px;font-weight:800;color:var(--text-primary)}.video-stage-locked .video-overlay-text .l2{font-size:13px;color:var(--text-muted);margin-top:4px}.lesson-nav{display:flex;gap:12px}.lesson-nav .btn{flex:1}@media (max-width:1180px){.lesson-content{flex-direction:column}.lesson-side{width:100%}}@media (max-width:960px){.sidebar{position:fixed;left:0;top:0;transform:translate(-100%);box-shadow:var(--shadow)}.sidebar.open{transform:translate(0)}.sidebar-backdrop.open{display:block}.hamburger{display:flex}.user-text{display:none}.content,.lesson-content{padding-left:20px;padding-right:20px}.topbar{padding:0 20px}}@media (max-width:640px){.hero-slide{padding:32px 24px;min-height:auto}.hero-title{font-size:26px}.hero-desc{max-width:100%}.hero-quote,.hero-nav{display:none}.search{max-width:none}.video-stage{height:260px}.video-overlay-text{right:24px}.video-overlay-text .l2,.lesson-title{font-size:19px}.desc-row{flex-direction:column}.card-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}}@media (max-width:420px){.topbar-right{gap:12px}.v-divider{display:none}}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap}.page-title{font-size:24px;font-weight:800}.page-subtitle{font-size:13px;color:var(--text-secondary);margin-top:4px}.filter-tabs{display:flex;gap:8px;flex-wrap:wrap}.filter-tab{padding:9px 16px;border-radius:999px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);font-weight:700;font-size:12.5px;cursor:pointer;white-space:nowrap;transition:background .15s ease,color .15s ease,border-color .15s ease}.filter-tab:hover{border-color:var(--accent);color:var(--text-primary)}.filter-tab.active{background:var(--accent-grad);border-color:transparent;color:var(--accent-ink)}.catalog-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:60px 20px;color:var(--text-muted);text-align:center}.empty-state svg{color:var(--text-muted)}.empty-state strong{color:var(--text-secondary);font-size:14px}.switch{position:relative;width:44px;height:24px;border-radius:999px;background:var(--border);border:none;cursor:pointer;padding:0;flex-shrink:0;transition:background .2s ease}.switch .knob{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0000004d;transition:left .2s ease}.switch.on{background:var(--accent-grad)}.switch.on .knob{left:23px}.auth-shell{--bg-page:#0b1420;--bg-sidebar:#0d1627;--bg-header:#0b1420;--bg-card:#141f30;--bg-card-alt:#1a2537;--bg-input:#101a29;--border:#22304a;--text-primary:#eef2f7;--text-secondary:#95a3b8;--text-muted:#5b6b83;--shadow:0 14px 32px rgba(0,0,0,.38);--shadow-sm:0 3px 10px rgba(0,0,0,.28);--hero-quote:#c7d2de;--ring:#0b1420;--scrim:rgba(6,10,18,.6);color-scheme:dark;min-height:100vh;display:flex;background:var(--bg-page);color:var(--text-primary)}.auth-visual{flex:1;position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:48px;background:linear-gradient(150deg,#0a1e2a,#0d372f 55%,#10392a);color:#fff;overflow:hidden}.auth-visual-glow{position:absolute;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(34,197,94,.28),transparent 70%);right:-160px;top:-120px;pointer-events:none}.auth-visual-quote{position:relative;font-size:22px;font-weight:700;line-height:1.4;max-width:420px}.auth-visual-quote span{color:var(--accent)}.auth-visual-foot{position:relative;font-size:12.5px;color:var(--hero-quote)}.auth-form-side{width:480px;flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:40px;background:var(--bg-page)}.auth-card{width:100%;max-width:360px;display:flex;flex-direction:column;gap:22px}.auth-head{display:flex;flex-direction:column;gap:6px}.auth-head h1{font-size:22px;font-weight:800}.auth-head p{font-size:13px;color:var(--text-secondary)}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:12.5px;font-weight:700;color:var(--text-secondary)}.form-control{border:1px solid var(--border);background:var(--bg-input);border-radius:10px;padding:12px 14px;font-size:13.5px;color:var(--text-primary);font-family:inherit;outline:none;width:100%;box-sizing:border-box;transition:border-color .15s ease}.form-control:focus{border-color:var(--accent)}.form-row{display:flex;gap:12px}.form-row .form-group{flex:1}.form-check{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--text-secondary)}.form-check input{accent-color:var(--accent);width:15px;height:15px}.form-hint{font-size:12px;color:var(--text-muted)}.form-error{font-size:12px;color:#ff6b6b;display:none}.form-error.show{display:block}.toast-host{position:fixed;top:18px;right:18px;z-index:200;display:flex;flex-direction:column;gap:10px;width:min(360px,calc(100vw - 36px));pointer-events:none}.toast{position:relative;pointer-events:auto;display:flex;align-items:flex-start;gap:10px;overflow:hidden;background:var(--bg-card);border:1px solid var(--border);border-left:3px solid var(--toast-accent,var(--accent));border-radius:12px;padding:12px 12px 13px;box-shadow:var(--shadow);color:var(--text-primary)}.toast--success{--toast-accent:#17c993}.toast--error{--toast-accent:#ff6b6b}.toast--warning{--toast-accent:#eab308}.toast--info{--toast-accent:#3b82f6}.toast__icon{flex-shrink:0;display:flex;color:var(--toast-accent);margin-top:1px}.toast__msg{flex:1;min-width:0;font-size:13px;line-height:1.4;margin:0}.toast__close{flex-shrink:0;background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:16px;line-height:1;padding:0 2px;font-family:inherit;transition:color .14s ease}.toast__close:hover{color:var(--text-primary)}.toast__progress{position:absolute;left:0;bottom:0;height:2px;width:100%;background:var(--toast-accent);opacity:.65;transform-origin:left;animation-name:toastProgress;animation-timing-function:linear;animation-fill-mode:forwards}@keyframes toastProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.toast-enter-active,.toast-leave-active{transition:opacity .24s cubic-bezier(.22,1,.36,1),transform .24s cubic-bezier(.22,1,.36,1)}.toast-enter-from,.toast-leave-to{opacity:0;transform:translate(26px) scale(.98)}.toast-move{transition:transform .24s ease}@media (max-width:520px){.toast-host{top:12px;right:12px;left:12px;width:auto}}.form-links{display:flex;align-items:center;justify-content:space-between;font-size:12.5px}.form-links a{color:var(--accent);font-weight:700}.auth-switch{text-align:center;font-size:13px;color:var(--text-secondary)}.auth-switch a{color:var(--accent);font-weight:700}.profile-header{display:flex;align-items:center;gap:22px;background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:24px;box-shadow:var(--shadow-sm);flex-wrap:wrap}.profile-avatar-wrap{position:relative;flex-shrink:0}.profile-avatar{width:84px;height:84px;border-radius:50%;background:var(--accent-grad);display:flex;align-items:center;justify-content:center;color:var(--accent-ink);font-weight:800;font-size:28px;box-shadow:0 8px 20px color-mix(in srgb,var(--accent) 30%,transparent)}.profile-avatar-edit{position:absolute;bottom:-2px;right:-2px;width:30px;height:30px;border-radius:50%;background:var(--bg-card);border:2px solid var(--bg-page);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer}.profile-avatar-edit:hover{color:var(--accent)}.profile-info{flex:1;min-width:200px;display:flex;flex-direction:column;gap:4px}.profile-name{font-size:19px;font-weight:800}.profile-role{font-size:12.5px;color:var(--text-muted)}.profile-plan{display:inline-flex;align-items:center;gap:6px;background:var(--accent-soft);color:var(--accent);font-size:11px;font-weight:800;padding:4px 10px;border-radius:999px;width:fit-content;margin-top:4px}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;padding:18px;display:flex;flex-direction:column;gap:6px;box-shadow:var(--shadow-sm)}.stat-icon{width:32px;height:32px;border-radius:9px;background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center}.stat-value{font-size:22px;font-weight:800}.stat-label{font-size:12px;color:var(--text-muted)}.panel{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:24px;display:flex;flex-direction:column;gap:18px;box-shadow:var(--shadow-sm)}.panel-title{font-size:15px;font-weight:800}.panel-desc{font-size:12.5px;color:var(--text-muted)}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--border)}.settings-row:last-child{border-bottom:none;padding-bottom:0}.settings-row-text{display:flex;flex-direction:column;gap:2px}.settings-row-title{font-size:13.5px;font-weight:700}.settings-row-desc{font-size:12px;color:var(--text-muted)}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px;align-items:start}.theme-options{display:flex;gap:10px}.theme-option{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px;border-radius:12px;border:1.5px solid var(--border);cursor:pointer;background:var(--bg-card-alt)}.theme-option.active{border-color:var(--accent);background:var(--accent-soft)}.theme-option-swatch{width:100%;height:36px;border-radius:8px}.theme-option span{font-size:12px;font-weight:700;color:var(--text-secondary)}.danger-zone{border-color:#ef444459}.btn-danger{background:transparent;border:1.5px solid #ef4444;color:#ef4444}.btn-danger:hover{background:#ef44441a}@media (max-width:900px){.auth-visual{display:none}.auth-form-side{width:100%}}@media (max-width:640px){.profile-header{padding:18px}.form-row{flex-direction:column}}.turma-list{display:flex;flex-direction:column;gap:16px}.turma-card{display:flex;background:var(--bg-card);border:1px solid var(--border);border-radius:16px;overflow:hidden;box-shadow:var(--shadow-sm);transition:box-shadow .16s ease,border-color .16s ease}.turma-card:hover{box-shadow:var(--shadow);border-color:var(--accent)}.turma-thumb{width:120px;flex-shrink:0;position:relative;display:flex;align-items:center;justify-content:center}.turma-thumb .glow{position:absolute;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.12),transparent 70%)}.turma-body{flex:1;min-width:0;padding:18px 22px;display:flex;flex-direction:column;gap:12px}.turma-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.turma-course{font-size:11px;color:var(--text-muted);font-weight:700;text-transform:uppercase;letter-spacing:.4px}.turma-name{font-size:15px;font-weight:800;margin-top:2px}.turma-live-badge{background:#ef4444;color:#fff;font-size:10px;font-weight:800;padding:4px 9px;border-radius:999px;display:flex;align-items:center;gap:5px;flex-shrink:0}.turma-live-badge .dot{width:6px;height:6px;border-radius:50%;background:#fff;animation:pulse-dot 1.6s ease-in-out infinite}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.35}}.turma-meta{display:flex;align-items:center;gap:18px;flex-wrap:wrap;font-size:12px;color:var(--text-secondary)}.turma-instructor{display:flex;align-items:center;gap:8px}.turma-avatar{width:24px;height:24px;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-size:10px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}.turma-session{display:flex;align-items:center;gap:6px}.turma-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:auto}.turma-progress{flex:1;min-width:140px;display:flex;flex-direction:column;gap:6px}.turma-progress-label{display:flex;justify-content:space-between;font-size:11px;color:var(--text-muted)}@media (max-width:560px){.turma-card{flex-direction:column}.turma-thumb{width:100%;height:64px}}.not-found{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:60px 24px;text-align:center}.not-found-code{font-size:88px;font-weight:800;line-height:1;background:var(--accent-grad);-webkit-background-clip:text;background-clip:text;color:transparent}.not-found-title{font-size:20px;font-weight:800}.not-found-text{font-size:13.5px;color:var(--text-secondary);max-width:380px;line-height:1.6}.notif-list{display:flex;flex-direction:column;gap:10px}.notif-item{display:flex;align-items:flex-start;gap:14px;width:100%;text-align:left;cursor:pointer;font-family:inherit;background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border);border-radius:14px;padding:16px 18px;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}.notif-item:hover{border-color:var(--accent);box-shadow:var(--shadow-sm)}.notif-item.unread{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 35%,var(--border))}.notif-icon{width:36px;height:36px;border-radius:10px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--bg-card-alt);color:var(--text-secondary)}.notif-item.unread .notif-icon{background:var(--accent-grad);color:var(--accent-ink)}.notif-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.notif-head{display:flex;align-items:center;gap:8px}.notif-type{font-size:13.5px;font-weight:700;color:var(--text-primary)}.notif-item:not(.unread) .notif-type{color:var(--text-secondary);font-weight:600}.notif-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);flex-shrink:0}.notif-message{font-size:12.5px;line-height:1.45;color:var(--text-secondary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.notif-date{font-size:11.5px;color:var(--text-muted)}.notif-menu{position:relative}.notif-dropdown{position:absolute;right:0;top:calc(100% + 10px);background:var(--bg-card);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);width:340px;max-width:calc(100vw - 32px);padding:10px;display:none;flex-direction:column;gap:4px;z-index:50}.notif-menu.open .notif-dropdown{display:flex}.notif-dropdown-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 6px 8px}.notif-dropdown-title{font-size:13px;font-weight:800}.notif-mark-all{background:none;border:none;color:var(--accent);font-size:11.5px;font-weight:700;cursor:pointer;padding:0;font-family:inherit}.notif-mark-all:hover{text-decoration:underline}.notif-empty{padding:24px 12px;text-align:center;color:var(--text-muted);font-size:12.5px}.notif-dropdown .notif-list{max-height:360px;overflow-y:auto;gap:6px;padding-right:2px;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.notif-dropdown .notif-list::-webkit-scrollbar{width:6px}.notif-dropdown .notif-list::-webkit-scrollbar-track{background:transparent}.notif-dropdown .notif-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px}.notif-dropdown .notif-list::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.notif-dropdown .notif-item{padding:12px;border-radius:10px}.notif-dropdown .notif-icon{width:32px;height:32px}.rating-summary{display:flex;align-items:center;gap:16px;background:var(--bg-card);border:1px solid var(--border);border-radius:14px;padding:16px 18px}.rating-score{display:flex;align-items:baseline;gap:2px;color:var(--text-primary)}.rating-average{font-size:26px;font-weight:800;line-height:1}.rating-average-max{font-size:13px;font-weight:700;color:var(--text-muted)}.rating-summary-body{display:flex;flex-direction:column;gap:4px}.rating-count{font-size:12px;color:var(--text-muted)}.rating-stars{display:inline-flex;align-items:center;gap:2px;color:var(--text-muted)}.rating-stars svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6}.rating-stars svg.filled{fill:var(--accent);stroke:var(--accent);color:var(--accent)}.rating-value{font-size:12px;font-weight:700;color:var(--text-secondary);margin-left:4px}.rating-mine{display:flex;align-items:center;gap:10px;background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 35%,var(--border));border-radius:12px;padding:12px 14px}.rating-mine-label{font-size:12.5px;font-weight:700;color:var(--text-secondary)}.rating-mine-value{font-size:12.5px;font-weight:700;color:var(--text-primary);margin-left:auto}.rating-form{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.rating-form-label{font-size:12.5px;font-weight:700;color:var(--text-secondary)}.rating-stars-input{gap:2px}.rating-star-btn{background:none;border:none;padding:2px;cursor:pointer;color:var(--text-muted);display:flex;line-height:0;transition:transform .12s ease}.rating-star-btn:hover{transform:scale(1.12)}.rating-star-btn svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5}.rating-star-btn svg.filled{fill:var(--accent);stroke:var(--accent);color:var(--accent)}.rating-row{display:flex;gap:14px;padding:14px 0;border-top:1px solid var(--border)}.rating-row:first-of-type{border-top:none}.rating-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.rating-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.rating-author{font-size:13px;font-weight:700;color:var(--text-primary)}.rating-date{font-size:11.5px;color:var(--text-muted)}.btn-sm{padding:7px 12px;font-size:12px;border-radius:9px}.admin-search{max-width:280px}.admin-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:14px;background:var(--bg-card);box-shadow:var(--shadow-sm)}.admin-table{width:100%;border-collapse:collapse;font-size:13.5px}.admin-table th{text-align:left;font-size:11px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:var(--text-muted);padding:12px 16px;border-bottom:1px solid var(--border)}.admin-table td{padding:14px 16px;border-bottom:1px solid var(--border);vertical-align:middle}.admin-table tbody tr:last-child td{border-bottom:none}.admin-table tbody tr:hover{background:var(--bg-card-alt)}.admin-link{font-weight:700;color:var(--text-primary)}.admin-link:hover{color:var(--accent)}.admin-sub{display:block;font-size:11px;color:var(--text-muted);margin-top:2px}.admin-muted{color:var(--text-muted);font-size:12.5px}.admin-actions{text-align:right;white-space:nowrap}.admin-actions .btn+.btn{margin-left:8px}.admin-pager{display:flex;align-items:center;justify-content:center;gap:14px}.status-pill{font-size:11px;font-weight:800;padding:3px 9px;border-radius:999px;text-transform:uppercase;letter-spacing:.4px}.status-pill.active,.status-pill.paid{background:#22c55e26;color:#22c55e}.status-pill.inactive,.status-pill.expired{background:#94a3b82e;color:#94a3b8}.status-pill.pending,.status-pill.past_due{background:#eab30824;color:#d9a514}.status-pill.canceled,.status-pill.refunded,.status-pill.failed{background:#ff6b6b24;color:#ff6b6b}.status-pill.store{background:#3b82f624;color:#3b82f6}.status-pill.manual{background:#94a3b82e;color:#94a3b8}.status-pill.unknown{background:#94a3b81a;color:#94a3b8}.admin-back{font-size:12.5px;font-weight:700;color:var(--text-muted);display:inline-block;margin-bottom:4px}.admin-back:hover{color:var(--accent)}.admin-head-actions{display:flex;gap:10px;flex-wrap:wrap}.admin-checks{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}.admin-checks .form-check{align-items:flex-start}.admin-check{-moz-appearance:none;appearance:none;-webkit-appearance:none;margin:0;flex-shrink:0;vertical-align:middle;width:18px;height:18px;display:inline-grid;place-content:center;cursor:pointer;border:1.5px solid var(--border);border-radius:6px;background:var(--bg-input);transition:border-color .14s ease,background .14s ease}.admin-check:before{content:"";width:10px;height:10px;transform:scale(0);transition:transform .12s ease;box-shadow:inset 1em 1em var(--accent-ink);clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0%,43% 62%)}.admin-check:hover{border-color:var(--accent)}.admin-check:checked{background:var(--accent);border-color:var(--accent)}.admin-check:checked:before{transform:scale(1)}.admin-check:indeterminate{background:var(--accent);border-color:var(--accent)}.admin-check:indeterminate:before{transform:scale(1);clip-path:none;width:10px;height:2px;border-radius:2px;box-shadow:inset 1em 1em var(--accent-ink)}.admin-check:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.admin-check:disabled{cursor:default;opacity:.55}.admin-json{background:var(--bg-card-alt);border:1px solid var(--border);border-radius:12px;padding:14px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:var(--text-secondary);overflow-x:auto;white-space:pre-wrap;word-break:break-word;margin:0}@media (max-width:640px){.admin-search{max-width:none;width:100%}.admin-actions{text-align:left}}.admin-layout{display:grid;grid-template-columns:minmax(320px,440px) 1fr;gap:24px;align-items:start}.admin-tree-panel{position:sticky;top:16px}.admin-panel{gap:14px}.admin-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-panel-actions{display:flex;gap:8px;flex-wrap:wrap}.admin-detail{min-width:0}.admin-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;padding:24px;z-index:100}.admin-modal{max-width:520px;width:100%;max-height:80vh;overflow:auto}.admin-modal-close{background:none;border:none;color:var(--text-muted);font-size:20px;cursor:pointer;line-height:1;padding:0 4px}.admin-attach-list{display:flex;flex-direction:column;gap:8px}.admin-attach-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border:1px solid var(--border);border-radius:11px;background:var(--bg-card);cursor:pointer;font-family:inherit;color:var(--text-primary);font-size:13px;text-align:left}.admin-attach-item:hover{border-color:var(--accent);background:var(--accent-soft)}.admin-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.admin-conflict-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.admin-conflict-list li{background:var(--bg-card-alt);border:1px solid var(--border);border-radius:10px;padding:10px 12px;font-size:13px;color:var(--text-secondary)}.admin-conflict-list strong{color:var(--text-primary)}.admin-conflict-list em{color:var(--accent);font-style:normal;font-weight:700}@media (max-width:900px){.admin-layout{grid-template-columns:1fr}.admin-tree-panel{position:static}}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:flex;justify-content:flex-end;background:#040a1480;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.drawer{width:min(460px,100%);height:100%;background:var(--bg-card);border-left:1px solid var(--border);box-shadow:-24px 0 60px #00000059;display:flex;flex-direction:column}.drawer-head{display:flex;align-items:center;gap:12px;padding:20px 22px;border-bottom:1px solid var(--border)}.drawer-head-text{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.drawer-eyebrow{font-size:11px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--text-muted)}.drawer-title{font-size:17px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drawer-close{background:none;border:none;color:var(--text-muted);font-size:24px;line-height:1;padding:0 4px;cursor:pointer;border-radius:8px;font-family:inherit}.drawer-close:hover{color:var(--text-primary)}.drawer-tabs{display:flex;gap:4px;padding:12px 16px 0;overflow-x:auto;scrollbar-width:none;border-bottom:1px solid var(--border)}.drawer-tabs::-webkit-scrollbar{display:none}.drawer-tab{padding:9px 12px;font-size:12.5px;font-weight:700;color:var(--text-muted);background:none;border:none;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;font-family:inherit}.drawer-tab:hover{color:var(--text-primary)}.drawer-tab.active{color:var(--text-primary);border-bottom-color:var(--accent)}.drawer-body{padding:20px 22px;display:flex;flex-direction:column;gap:16px;overflow:auto;flex:1}.drawer-foot{display:flex;justify-content:flex-end;gap:10px;padding:16px 22px;border-top:1px solid var(--border);background:var(--bg-card)}@media (max-width:560px){.drawer{width:100%}}.drawer-enter-active,.drawer-leave-active{transition:opacity .2s ease}.drawer-enter-active .drawer,.drawer-leave-active .drawer{transition:transform .26s cubic-bezier(.22,1,.36,1)}.drawer-enter-from,.drawer-leave-to{opacity:0}.drawer-enter-from .drawer,.drawer-leave-to .drawer{transform:translate(40px)}@media (prefers-reduced-motion: reduce){.hamburger-live,.nav-live-dot{animation:none}}
