@import url(https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap);@import url(https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400..900;1,400..900&family=Montserrat:wght@400;500;600;700&family=Alex+Brush&family=Cinzel:wght@400;700&display=swap);*{box-sizing:border-box;margin:0;padding:0}body{background-color:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}iframe,img,video{height:auto;max-width:100%}:root{--primary-bg:#0f172a;--secondary-bg:#1e293b;--card-bg:#ffffff0d;--card-bg-hover:#ffffff14;--subtle-bg:#ffffff0a;--accent-blue:#38bdf8;--accent-blue-hover:#0ea5e9;--accent-purple:#818cf8;--accent-green:#4ade80;--accent-red:#f87171;--accent-orange:#fb923c;--text-main:#f8fafc;--text-secondary:#94a3b8;--text-muted:#475569;--border:#ffffff1a;--border-strong:#fff3;--sidebar-width:260px;--admin-padding:clamp(1rem,1.8vw,2rem);--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-card:20px;--radius-btn:10px;--radius-pill:999px;--shadow:0 4px 6px -1px #0003,0 2px 4px -2px #00000026;--shadow-lg:0 10px 25px -5px #00000059,0 4px 10px -5px #0003;--shadow-glow-blue:0 0 20px #38bdf833;--shadow-glow-green:0 0 20px #4ade8033;--transition:all 0.25s cubic-bezier(0.16,1,0.3,1);--transition-fast:all 0.15s ease;--btn-primary-bg:var(--accent-blue);--btn-primary-text:#fff;--btn-secondary-bg:var(--secondary-bg);--btn-secondary-text:var(--text-main);--btn-secondary-border:var(--border)}[data-theme=light]{--primary-bg:#f1f5f9;--secondary-bg:#fff;--card-bg:#ffffffe6;--card-bg-hover:#fff;--subtle-bg:#0000000a;--accent-blue:#0284c7;--accent-blue-hover:#0171a6;--accent-purple:#6366f1;--text-main:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--border:#e2e8f0;--border-strong:#94a3b8;--shadow:0 4px 6px -1px #00000014,0 2px 4px -2px #0000000d;--shadow-lg:0 10px 25px -5px #0000001f,0 4px 10px -5px #00000012;--shadow-glow-blue:0 0 20px #0284c726;--btn-secondary-bg:#fff;--btn-secondary-text:#0f172a;--btn-secondary-border:#e2e8f0}*,:after,:before{box-sizing:border-box}html{font-size:14px}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#0f172a;background-color:var(--primary-bg);color:#f8fafc;color:var(--text-main);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;margin:0;transition:background-color .3s ease,color .3s ease}#root,body,html{min-height:100%;min-width:0}canvas,img,svg,video{max-width:100%}button{cursor:pointer;font-family:inherit;transition:all .25s cubic-bezier(.16,1,.3,1);transition:var(--transition)}button:disabled{cursor:not-allowed;opacity:.5}::-webkit-scrollbar{height:6px;width:6px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:#ffffff1a;background:var(--border);border-radius:999px;border-radius:var(--radius-pill)}::-webkit-scrollbar-thumb:hover{background:#38bdf8;background:var(--accent-blue)}*{scrollbar-color:#ffffff1a #0000;scrollbar-color:var(--border) #0000;scrollbar-width:thin}.admin-container{background-color:#0f172a;background-color:var(--primary-bg);display:flex;height:100vh;min-width:0;overflow:hidden}.admin-container.sidebar-collapsed{--sidebar-width:72px}.admin-main{background:#0f172a;background:var(--primary-bg);flex:1 1;margin-left:260px;margin-left:var(--sidebar-width);min-height:0;min-width:0;overflow-x:hidden;overflow-y:auto;padding:clamp(1rem,1.8vw,2rem);padding:var(--admin-padding);scrollbar-gutter:stable;transition:background-color .3s ease,margin-left .3s ease,width .3s ease;width:calc(100vw - 260px);width:calc(100vw - var(--sidebar-width))}.admin-main>*{min-width:0}.btn-primary{align-items:center;background:linear-gradient(135deg,#38bdf8,#818cf8);border-radius:10px;border-radius:var(--radius-btn);box-shadow:0 4px 14px #38bdf840;display:inline-flex;font-size:.875rem;gap:.5rem;transition:all .25s cubic-bezier(.16,1,.3,1);transition:var(--transition)}.btn-primary:hover:not(:disabled){box-shadow:0 8px 20px #38bdf859;transform:translateY(-2px)}.btn-secondary{align-items:center;background:#1e293b;background:var(--btn-secondary-bg);border:1px solid #ffffff1a;border:1px solid var(--btn-secondary-border);border-radius:10px;border-radius:var(--radius-btn);color:#f8fafc;color:var(--btn-secondary-text);display:inline-flex;font-size:.875rem;font-weight:600;gap:.5rem;padding:.65rem 1.3rem;transition:all .25s cubic-bezier(.16,1,.3,1);transition:var(--transition)}.btn-secondary:hover:not(:disabled){background:#ffffff14;background:var(--card-bg-hover);border-color:#38bdf8;border-color:var(--accent-blue);transform:translateY(-1px)}.btn-danger{align-items:center;background:#f871711a;border:1px solid #f8717140;border-radius:var(--radius-btn);color:#f87171;color:var(--accent-red);display:inline-flex;font-size:.875rem;gap:.5rem;padding:.65rem 1.3rem;transition:all .25s cubic-bezier(.16,1,.3,1);transition:var(--transition)}.btn-danger:hover:not(:disabled){background:#f8717133;border-color:#f8717180;transform:translateY(-1px)}.btn-add{align-items:center;background:linear-gradient(135deg,#38bdf8,#818cf8);background:linear-gradient(135deg,var(--accent-blue),var(--accent-purple));border-radius:var(--radius-btn);box-shadow:0 4px 14px #38bdf840;display:inline-flex;font-size:.875rem;font-weight:700;gap:.5rem;padding:.7rem 1.5rem;transition:all .25s cubic-bezier(.16,1,.3,1);transition:var(--transition)}.btn-add:hover:not(:disabled){box-shadow:0 8px 20px #38bdf859;transform:translateY(-2px)}.content-header{align-items:center;border-bottom:1px solid #ffffff1a;border-bottom:1px solid var(--border);flex-wrap:wrap;gap:1rem;padding-bottom:1.25rem}.content-header h2{align-items:center;color:#f8fafc;display:flex;font-size:1.5rem;gap:.6rem}.content-header h2:before{background:linear-gradient(180deg,#38bdf8,#818cf8);background:linear-gradient(180deg,var(--accent-blue),var(--accent-purple));border-radius:999px;border-radius:var(--radius-pill);content:"";display:inline-block;flex-shrink:0;height:22px;width:4px}.content-header-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.mobile-toggle{align-items:center;background:#1e293b;background:var(--secondary-bg);border:1px solid #ffffff1a;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius-md);box-shadow:0 4px 6px -1px #0003,0 2px 4px -2px #00000026;box-shadow:var(--shadow);color:#f8fafc;color:var(--text-main);display:none;font-size:1.1rem;height:42px;justify-content:center;left:1rem;position:fixed;top:1rem;transition:all .25s cubic-bezier(.16,1,.3,1);transition:var(--transition);width:42px;z-index:200}.mobile-toggle:hover{background:#ffffff14;background:var(--card-bg-hover);border-color:#38bdf8;border-color:var(--accent-blue)}.sidebar-overlay{background:#00000080;inset:0;z-index:150}.placeholder-view{color:#94a3b8;flex-direction:column;gap:1rem;height:60vh;text-align:center}.placeholder-view h2{color:#f8fafc;color:var(--text-main);font-size:1.4rem;margin:0}.empty-state{color:#94a3b8;color:var(--text-secondary);flex-direction:column;gap:.75rem;padding:3rem 1.5rem;text-align:center}.empty-state,.empty-state-icon{align-items:center;display:flex;justify-content:center}.empty-state-icon{background:#ffffff0d;background:var(--card-bg);border:1px solid #ffffff1a;border:1px solid var(--border);border-radius:20px;border-radius:var(--radius-xl);color:#475569;color:var(--text-muted);height:56px;margin-bottom:.5rem;width:56px}.badge{align-items:center;border-radius:999px;border-radius:var(--radius-pill);display:inline-flex;font-size:.72rem;font-weight:700;gap:.3rem;padding:.2rem .65rem;white-space:nowrap}.badge-blue{background:#38bdf81f;border:1px solid #38bdf840;color:#38bdf8}.badge-green{background:#4ade801f;border:1px solid #4ade8040;color:#4ade80}.badge-red{background:#f871711f;border:1px solid #f8717140;color:#f87171}.badge-orange{background:#fb923c1f;border:1px solid #fb923c40;color:#fb923c}.badge-purple{background:#818cf81f;border:1px solid #818cf840;color:#818cf8}.badge-yellow{background:#eab3081f;border:1px solid #eab30840;color:#facc15}.panel-card{background:#1e293b;background:var(--secondary-bg);border:1px solid #ffffff1a;border:1px solid var(--border);border-radius:20px;border-radius:var(--radius-card);box-shadow:0 4px 6px -1px #0003,0 2px 4px -2px #00000026;box-shadow:var(--shadow);padding:1.5rem;transition:transform .3s cubic-bezier(.16,1,.3,1),border-color .3s ease}.panel-card:hover{border-color:#38bdf833;transform:translateY(-3px)}.panel-card-header{align-items:center;border-bottom:1px solid #ffffff1a;border-bottom:1px solid var(--border);display:flex;gap:.6rem;margin-bottom:1.25rem;padding-bottom:1rem}.panel-card-header h3{color:#f8fafc;color:var(--text-main);flex:1 1;font-size:1rem;font-weight:700;margin:0}@media (max-width:768px){.mobile-toggle{display:flex}.admin-main{margin-left:0;padding:4.5rem 1rem 1rem;width:100%}.content-header{align-items:flex-start;flex-direction:column}.content-header-actions{width:100%}.content-header-actions .btn-add,.content-header-actions .btn-primary{justify-content:center;width:100%}}.toast-container{bottom:20px;display:flex;flex-direction:column;gap:10px;position:fixed;right:20px;z-index:9999}.toast{align-items:center;animation:slideInRight .3s ease;background:#1e293b;border-left:4px solid;border-radius:10px;box-shadow:0 8px 24px #0006;color:#fff;display:flex;font-size:.9rem;font-weight:500;gap:10px;max-width:500px;min-width:280px;padding:14px 22px}.toast-success{background:linear-gradient(135deg,#065f46,#047857);border-left-color:#10b981}.toast-error{background:linear-gradient(135deg,#991b1b,#dc2626);border-left-color:#ef4444}.toast-warning{background:linear-gradient(135deg,#92400e,#d97706);border-left-color:#f59e0b}.toast-info{background:linear-gradient(135deg,#1e40af,#3b82f6);border-left-color:#3b82f6}.toast-icon{flex-shrink:0;font-size:1.2rem}.toast-message{flex:1 1;line-height:1.4}.toast-close{background:#0000;border:none;color:#fff9;cursor:pointer;font-size:1.2rem;line-height:1;margin-left:10px;padding:0 5px;transition:color .2s}.toast-close:hover{color:#fff}.toast-progress{animation:toastProgress linear forwards;background:#fff6;bottom:0;height:3px;left:0;position:absolute;transform-origin:left;width:100%}@keyframes toastProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@keyframes slideOutRight{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(100%)}}.toast-exit{animation:slideOutRight .3s ease forwards}@media (max-width:768px){.toast-container{bottom:10px;left:10px;right:10px}.toast{min-width:0;min-width:auto;width:100%}}.confirm-modal-overlay{align-items:center;animation:confirm-fade-in .2s ease-out;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172abf;display:flex;height:100vh;justify-content:center;left:0;position:fixed;top:0;width:100vw;z-index:9999}.confirm-modal-content{animation:confirm-slide-up .3s cubic-bezier(.175,.885,.32,1.15);background:var(--secondary-bg);border:1px solid var(--border-strong);border-radius:var(--radius-card);box-shadow:var(--shadow-lg);color:var(--text-main);max-width:400px;overflow:hidden;position:relative;width:90%}.confirm-modal-content:before{background:linear-gradient(90deg,var(--accent-red),var(--accent-orange));content:"";height:4px;left:0;position:absolute;right:0;top:0;z-index:3}.confirm-modal-content.border-danger:before{background:linear-gradient(90deg,#ef4444,#b91c1c);background:linear-gradient(90deg,var(--accent-red,#ef4444),#b91c1c)}.confirm-modal-content.border-warning:before{background:linear-gradient(90deg,#f59e0b,#d97706);background:linear-gradient(90deg,var(--accent-orange,#f59e0b),#d97706)}.confirm-modal-content.border-success:before{background:linear-gradient(90deg,#10b981,#047857);background:linear-gradient(90deg,var(--accent-green,#10b981),#047857)}.confirm-modal-content.border-info:before,.confirm-modal-content.border-primary:before{background:linear-gradient(90deg,#3b82f6,#1d4ed8);background:linear-gradient(90deg,var(--accent-blue,#3b82f6),#1d4ed8)}.confirm-modal-header{align-items:center;background:#ffffff03;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:1.15rem 1.5rem}.confirm-title-wrapper{align-items:center;display:flex;gap:.75rem}.confirm-icon{flex-shrink:0}.icon-danger{color:#ef4444;color:var(--accent-red,#ef4444)}.icon-warning{color:#f59e0b;color:var(--accent-orange,#f59e0b)}.icon-success{color:#10b981;color:var(--accent-green,#10b981)}.icon-info{color:#3b82f6;color:var(--accent-blue,#3b82f6)}.confirm-modal-header h3{font-size:1.15rem;font-weight:800;margin:0}.confirm-modal-close{align-items:center;background:#0000;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:1.4rem;justify-content:center;line-height:1;padding:.25rem;transition:var(--transition)}.confirm-modal-close:hover{background:#ffffff0d;color:var(--text-main)}.confirm-modal-body{color:var(--text-secondary);font-size:.95rem;line-height:1.6;padding:1.5rem;text-align:left}.confirm-modal-body p{margin:0}.confirm-modal-footer{background:#00000014;border-top:1px solid var(--border);display:flex;gap:.75rem;justify-content:flex-end;padding:1rem 1.5rem}.confirm-modal-footer button{border:none;border-radius:var(--radius-btn);cursor:pointer;font-family:inherit;font-size:.9rem;font-weight:600;padding:.65rem 1.25rem;transition:var(--transition)}.confirm-btn-cancel{background:#ffffff0a;border:1px solid var(--border)!important;color:var(--text-main)}.confirm-btn-cancel:hover{background:var(--card-bg-hover);border-color:var(--border-strong)!important}.confirm-btn-danger{background:linear-gradient(135deg,var(--accent-red),#dc2626);box-shadow:0 4px 12px #ef444433;color:#fff}.confirm-btn-danger:hover{box-shadow:0 6px 16px #ef444459;transform:translateY(-1px)}.confirm-btn-primary{background:linear-gradient(135deg,#3b82f6,#1d4ed8);background:linear-gradient(135deg,var(--accent-blue,#3b82f6),#1d4ed8);box-shadow:0 4px 12px #3b82f633;color:#fff}.confirm-btn-primary:hover{box-shadow:0 6px 16px #3b82f659;transform:translateY(-1px)}.confirm-btn-success{background:linear-gradient(135deg,#10b981,#059669);background:linear-gradient(135deg,var(--accent-green,#10b981),#059669);box-shadow:0 4px 12px #10b98133;color:#fff}.confirm-btn-success:hover{box-shadow:0 6px 16px #10b98159;transform:translateY(-1px)}.confirm-btn-warning{background:linear-gradient(135deg,#f59e0b,#d97706);background:linear-gradient(135deg,var(--accent-orange,#f59e0b),#d97706);box-shadow:0 4px 12px #f59e0b33;color:#fff}.confirm-btn-warning:hover{box-shadow:0 6px 16px #f59e0b59;transform:translateY(-1px)}@keyframes confirm-fade-in{0%{opacity:0}to{opacity:1}}@keyframes confirm-slide-up{0%{opacity:0;transform:translateY(16px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:translateX(0)}}@keyframes navItemIn{0%{opacity:0;transform:translateX(-6px)}to{opacity:1;transform:translateX(0)}}.sidebar{background:var(--secondary-bg);border-right:1px solid var(--border);display:flex;flex-direction:column;height:100vh;left:0;overflow:hidden;position:fixed;top:0;transition:width .3s cubic-bezier(.4,0,.2,1),background-color .3s ease,border-color .3s ease;width:260px;width:var(--sidebar-width,260px);z-index:100}.sidebar:before{background:linear-gradient(90deg,var(--accent-blue) 0,var(--accent-purple) 60%,#0000 100%);height:2px;right:0;z-index:1}.sidebar:after,.sidebar:before{content:"";left:0;pointer-events:none;position:absolute;top:0}.sidebar:after{background:linear-gradient(180deg,#38bdf80a,#0000);height:200px;width:100%}.sidebar-logo{align-items:center;border-bottom:1px solid var(--border);display:flex;flex-shrink:0;justify-content:center;min-height:80px;padding:1.5rem 1.25rem;position:relative;transition:padding .3s ease}.sidebar.collapsed .sidebar-logo{padding:1.25rem .5rem}.sidebar-logo-img{display:block;filter:brightness(1.05);height:auto;margin:0 auto;max-width:130px;transition:max-width .3s ease;width:100%}.sidebar.collapsed .sidebar-logo-img{max-width:36px}.sidebar-nav{flex:1 1;min-height:0;overflow-y:auto;padding:1rem .75rem;scrollbar-color:#0000 #0000;scrollbar-width:thin;transition:padding .3s ease}.sidebar-nav:hover{scrollbar-color:var(--border) #0000}.sidebar.collapsed .sidebar-nav{padding:1rem .4rem}.nav-section-title{align-items:center;color:var(--text-secondary);display:flex;font-size:.68rem;font-weight:700;justify-content:space-between;letter-spacing:1.2px;margin:1.25rem 0 .6rem .5rem;opacity:.55;text-transform:uppercase;transition:opacity .2s ease,color .2s ease;-webkit-user-select:none;user-select:none}.nav-section-title:hover{color:var(--text-main);opacity:1}.nav-section-divider{background:var(--border);height:1px;margin:.75rem .25rem;opacity:.5}.nav-item{align-items:center;animation:navItemIn .25s ease both;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;display:flex;font-size:.875rem;font-weight:500;margin-bottom:.25rem;padding:.7rem .9rem;position:relative;transition:all .2s ease}.nav-item:hover{background:var(--card-bg);color:var(--text-main);transform:translateX(2px)}.nav-item.active{background:linear-gradient(135deg,#38bdf82e,#818cf81f);border:1px solid #38bdf833;color:var(--accent-blue);font-weight:700}.nav-item.active:before{background:linear-gradient(180deg,var(--accent-blue),var(--accent-purple));border-radius:0 3px 3px 0;bottom:25%;content:"";left:0;position:absolute;top:25%;width:3px}.nav-item.active .nav-icon{filter:drop-shadow(0 0 6px rgba(56,189,248,.5))}.sidebar.collapsed .nav-item{justify-content:center;padding:.75rem 0;position:relative}.sidebar.collapsed .nav-item:after{background:var(--secondary-bg);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);color:var(--text-main);content:attr(title);font-size:.8rem;font-weight:600;left:calc(100% + 12px);opacity:0;padding:.4rem .8rem;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);transition:opacity .2s ease;white-space:nowrap;z-index:200}.sidebar.collapsed .nav-item:hover:after{opacity:1}.nav-icon{align-items:center;display:flex;flex-shrink:0;justify-content:center;margin-right:.85rem;transition:margin-right .3s ease,transform .2s ease}.nav-item:hover .nav-icon{transform:scale(1.1)}.sidebar.collapsed .nav-icon{margin-right:0}.nav-item-content{display:flex;flex-direction:column;overflow:hidden}.nav-label{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dev-label{color:var(--accent-blue);font-size:.58rem;font-weight:700;letter-spacing:.5px;margin-bottom:-1px;text-transform:uppercase}.sidebar-footer{border-top:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;gap:.75rem;padding:1rem .75rem;transition:padding .3s ease}.sidebar.collapsed .sidebar-footer{align-items:center;padding:1rem .4rem}.btn-collapse-toggle{align-items:center;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;display:flex;font-family:inherit;font-size:.8rem;font-weight:600;padding:.55rem .85rem;transition:all .2s ease;width:100%}.btn-collapse-toggle:hover{background:var(--card-bg-hover);border-color:#38bdf840;color:var(--accent-blue)}.sidebar.collapsed .btn-collapse-toggle{justify-content:center;padding:.55rem 0;width:42px}.user-profile{align-items:center;border-radius:var(--radius-md);display:flex;gap:.75rem;padding:.6rem .5rem;transition:background .2s ease}.user-profile:hover{background:var(--card-bg)}.sidebar.collapsed .user-profile{justify-content:center;padding:.5rem 0}.user-avatar{align-items:center;background:linear-gradient(135deg,var(--accent-blue),var(--accent-purple));border-radius:50%;box-shadow:0 0 0 2px #38bdf833;color:#fff;display:flex;flex-shrink:0;font-size:.8rem;font-weight:800;height:36px;justify-content:center;width:36px}.user-info{display:flex;flex-direction:column;gap:.1rem;min-width:0}.user-name{color:var(--text-main);font-size:.85rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-role{color:var(--accent-blue);font-size:.68rem;font-weight:600;letter-spacing:.4px;text-transform:uppercase}.sidebar-footer-actions{align-items:center;display:flex;gap:.5rem}.sidebar.collapsed .sidebar-footer-actions{flex-direction:column}.btn-admin-toggle,.btn-theme-toggle{align-items:center;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;display:flex;flex-shrink:0;height:38px;justify-content:center;transition:all .2s ease;width:38px}.btn-admin-toggle:hover,.btn-theme-toggle:hover{background:var(--card-bg-hover);border-color:#38bdf84d;color:var(--text-main);transform:scale(1.05)}.btn-admin-toggle.active{background:#38bdf81f;border-color:#38bdf84d;box-shadow:0 0 10px #38bdf826;color:var(--accent-blue)}.btn-logout{align-items:center;background:#f8717114;border:1px solid #f8717133;border-radius:var(--radius-md);color:#f87171;cursor:pointer;display:flex;flex:1 1;font-family:inherit;font-size:.83rem;font-weight:600;gap:.5rem;justify-content:center;padding:.55rem .75rem;transition:all .2s ease}.btn-logout:hover{background:#f8717126;border-color:#f8717166;transform:translateY(-1px)}.sidebar.collapsed .btn-logout{flex:none;height:38px;padding:0;width:38px}.mobile-close{align-items:center;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-main);cursor:pointer;display:none;font-size:1rem;height:32px;justify-content:center;transition:all .2s ease;width:32px}.mobile-close:hover{background:var(--border)}@media (max-width:980px){.sidebar{box-shadow:none;transform:translateX(-100%);width:min(300px,86vw)!important}.sidebar.open{box-shadow:20px 0 60px #00000080;transform:translateX(0)}.mobile-close{display:flex;position:absolute;right:1rem;top:1.1rem}.sidebar-logo{justify-content:flex-start;padding-right:3.5rem;position:relative}.sidebar.collapsed .sidebar-logo{padding:1.5rem 3.5rem 1.5rem 1.25rem}.sidebar.collapsed .sidebar-logo-img{max-width:130px}.sidebar.collapsed .sidebar-nav{padding:1rem .75rem}.sidebar.collapsed .nav-item{justify-content:flex-start;padding:.7rem .9rem}.sidebar.collapsed .nav-icon{margin-right:.85rem}.sidebar.collapsed .user-profile{justify-content:flex-start}.sidebar.collapsed .sidebar-footer{align-items:stretch;padding:1rem .75rem}.sidebar.collapsed .sidebar-footer-actions{flex-direction:row}.sidebar.collapsed .btn-logout{flex:1 1;height:auto;padding:.55rem .75rem;width:auto}.sidebar.collapsed .btn-collapse-toggle{display:none}.sidebar.collapsed .btn-admin-toggle,.sidebar.collapsed .btn-theme-toggle{height:38px;width:38px}}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}@keyframes pulseDot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}@keyframes thinkingBounce{0%,80%,to{opacity:.4;transform:translateY(0)}40%{opacity:1;transform:translateY(-5px)}}@keyframes glowPulse{0%,to{opacity:0}50%{opacity:.4}}@keyframes loadingBar{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.dashboard{animation:fadeIn .4s ease;gap:1.5rem;min-width:0;padding:clamp(1rem,2vw,2rem)}.dashboard,.dashboard-loading{display:flex;flex-direction:column}.dashboard-loading{align-items:center;color:var(--text-secondary);font-size:1rem;gap:1rem;height:100vh;justify-content:center}.loading-spinner{animation:spin .8s linear infinite;height:40px;width:40px}.hero-header{align-items:center;animation:fadeInUp .5s ease;background:var(--secondary-bg);border:1px solid var(--border);border-radius:24px;box-shadow:var(--shadow),0 0 60px #38bdf80a;display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:space-between;overflow:hidden;padding:1.75rem 2rem;position:relative}.hero-header:before{background:linear-gradient(135deg,#38bdf80f,#6366f10a 50%,#0000);content:"";inset:0;pointer-events:none;position:absolute}.hero-header:after{background:linear-gradient(90deg,#0000 0,var(--accent-blue) 40%,#818cf8 70%,#0000 100%);content:"";height:2px;left:0;opacity:.8;position:absolute;right:0;top:0}.hero-left{gap:1.25rem}.hero-avatar,.hero-left{align-items:center;display:flex;flex-shrink:0}.hero-avatar{background:linear-gradient(135deg,var(--accent-blue),#818cf8);border-radius:50%;box-shadow:0 0 0 4px #38bdf826;color:#fff;font-size:1.4rem;font-weight:800;height:58px;justify-content:center;width:58px}.hero-greeting{display:flex;flex-direction:column;gap:.2rem}.greeting-time{color:var(--text-secondary);font-size:.82rem;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.greeting-name{color:var(--text-main);font-size:1.6rem;font-weight:800;line-height:1.1;margin:0}.greeting-sub{align-items:center;color:var(--text-secondary);display:flex;font-size:.8rem;gap:.5rem;margin-top:.15rem}.status-pulse{animation:pulseDot 2s ease-in-out infinite;background:#4ade80;border-radius:50%;box-shadow:0 0 0 0 #4ade8066;display:inline-block;height:7px;width:7px}.hero-quick-metrics{align-items:center;background:var(--card-bg);border:1px solid var(--border);border-radius:16px;display:flex;flex-shrink:0;gap:1.5rem;padding:1rem 1.5rem}.quick-metric{align-items:center;display:flex;flex-direction:column;gap:.2rem}.qm-value{color:var(--text-main);font-size:1.4rem;font-weight:800;line-height:1}.qm-green{color:#4ade80}.qm-orange{color:#fb923c}.qm-label{color:var(--text-secondary);font-size:.72rem;letter-spacing:.5px;text-transform:uppercase;white-space:nowrap}.quick-metric-divider{background:var(--border);height:36px;width:1px}.hero-actions{display:flex;flex-shrink:0;flex-wrap:wrap;gap:.75rem}.btn-ai,.btn-export{align-items:center;border-radius:12px;cursor:pointer;display:flex;font-size:.875rem;font-weight:600;gap:.5rem;padding:.65rem 1.2rem;transition:all .25s cubic-bezier(.16,1,.3,1);white-space:nowrap}.btn-ai{background:linear-gradient(135deg,var(--accent-blue),#818cf8);border:none;box-shadow:0 4px 14px #38bdf84d;color:#fff}.btn-ai:hover:not(:disabled){box-shadow:0 8px 20px #38bdf866;transform:translateY(-2px)}.btn-ai:disabled{cursor:not-allowed;opacity:.7}.btn-export{background:var(--btn-secondary-bg);border:1px solid var(--btn-secondary-border);color:var(--btn-secondary-text)}.btn-export:hover{background:var(--card-bg-hover);border-color:var(--accent-blue);transform:translateY(-2px)}.btn-spinner{animation:spin .7s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:14px;width:14px}.filters-bar{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:var(--secondary-bg);border:1px solid var(--border);border-radius:16px;flex-wrap:wrap;gap:1rem;padding:.85rem 1.25rem;position:-webkit-sticky;position:sticky;top:0;z-index:50}.filters-bar,.filters-group{align-items:center;display:flex}.filters-group{gap:.5rem}.filters-icon{flex-shrink:0}.filters-icon,.pill-btn{color:var(--text-secondary)}.pill-btn{background:#0000;border:1px solid var(--border);border-radius:20px;cursor:pointer;font-size:.82rem;font-weight:600;padding:.4rem .9rem;transition:all .2s ease}.pill-btn:hover{background:var(--card-bg);border-color:var(--accent-blue);color:var(--text-main)}.pill-btn.active{background:var(--accent-blue);border-color:var(--accent-blue);box-shadow:0 2px 10px #38bdf859;color:#fff}.city-select{background:var(--secondary-bg);border:1px solid var(--border);border-radius:20px;font-size:.82rem;font-weight:600;padding:.4rem .9rem;transition:all .2s ease}.city-select:focus,.city-select:hover{background:var(--card-bg);border-color:var(--accent-blue)}.kpi-ribbon{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(5,1fr)}.kpi-card{align-items:center;animation:fadeInUp .5s ease both;background:var(--secondary-bg);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow);display:flex;gap:1rem;overflow:hidden;padding:1.25rem 1.5rem;position:relative;transition:transform .3s cubic-bezier(.16,1,.3,1),border-color .3s ease}.kpi-card:first-child{animation-delay:.05s}.kpi-card:nth-child(2){animation-delay:.1s}.kpi-card:nth-child(3){animation-delay:.15s}.kpi-card:nth-child(4){animation-delay:.2s}.kpi-card:nth-child(5){animation-delay:.25s}.kpi-card:hover{transform:translateY(-4px)}.kpi-card:before{animation:shimmer 2.5s linear infinite;background:linear-gradient(90deg,#0000,#ffffff0a 50%,#0000);background-size:400px 100%;content:"";inset:0;pointer-events:none;position:absolute}.kpi-card:after{border-radius:18px 18px 0 0;content:"";height:2px;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.kpi-card:hover:after{opacity:1}.kpi-blue:after{background:linear-gradient(90deg,#38bdf8,#818cf8)}.kpi-green:after{background:linear-gradient(90deg,#4ade80,#22c55e)}.kpi-red:after{background:linear-gradient(90deg,#f87171,#ef4444)}.kpi-orange:after{background:linear-gradient(90deg,#fb923c,#f59e0b)}.kpi-purple:after{background:linear-gradient(90deg,#a78bfa,#818cf8)}.kpi-card:hover{border-color:#0000}.kpi-blue:hover{border-color:#38bdf866;box-shadow:0 8px 24px #38bdf826}.kpi-green:hover{border-color:#4ade8066;box-shadow:0 8px 24px #4ade8026}.kpi-red:hover{border-color:#f8717166;box-shadow:0 8px 24px #f8717126}.kpi-orange:hover{border-color:#fb923c66;box-shadow:0 8px 24px #fb923c26}.kpi-purple:hover{border-color:#a78bfa66;box-shadow:0 8px 24px #a78bfa26}.kpi-icon-wrap{align-items:center;border-radius:12px;display:flex;flex-shrink:0;height:44px;justify-content:center;width:44px}.kpi-blue .kpi-icon-wrap{background:#38bdf81f;color:#38bdf8}.kpi-green .kpi-icon-wrap{background:#4ade801f;color:#4ade80}.kpi-red .kpi-icon-wrap{background:#f871711f;color:#f87171}.kpi-orange .kpi-icon-wrap{background:#fb923c1f;color:#fb923c}.kpi-purple .kpi-icon-wrap{background:#a78bfa1f;color:#a78bfa}.kpi-body{display:flex;flex-direction:column;gap:.15rem;min-width:0}.kpi-label{color:var(--text-secondary);font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kpi-value{color:var(--text-main);font-size:1.6rem;font-weight:800;line-height:1}.kpi-glow{animation:glowPulse 3s ease-in-out infinite;border-radius:50%;bottom:-20px;height:80px;opacity:.06;pointer-events:none;position:absolute;right:-20px;width:80px}.kpi-blue .kpi-glow{background:#38bdf8}.kpi-green .kpi-glow{background:#4ade80}.kpi-red .kpi-glow{background:#f87171}.kpi-orange .kpi-glow{background:#fb923c}.kpi-purple .kpi-glow{background:#a78bfa}.mobile-tabs{display:none}.dashboard-content{display:flex;flex-direction:column;gap:1.5rem}.chart-card{background:var(--secondary-bg);border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow);min-width:0;padding:1.5rem;transition:transform .3s cubic-bezier(.16,1,.3,1),border-color .3s ease}.chart-card:hover{border-color:#38bdf840;transform:translateY(-3px)}.chart-card.chart-full{grid-column:1/-1}.chart-card-header{align-items:center;color:var(--accent-blue);display:flex;gap:.6rem;margin-bottom:1.25rem}.chart-card-header h3{color:var(--text-main);font-size:1rem;font-weight:700;margin:0}.chart-container{width:100%}.chart-center-label{fill:var(--text-main);font-size:1.5rem;font-weight:700}.charts-section{display:flex;flex-direction:column;gap:1.25rem}.charts-row{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:1fr 1fr}.heatmap-card{display:flex;flex-direction:column}.heatmap-legend{align-items:center;display:flex;gap:.75rem;margin-bottom:1rem}.heatmap-legend-label{color:var(--text-secondary);font-size:.75rem;white-space:nowrap}.heatmap-legend-bar{background:linear-gradient(90deg,#ef4444b3,#f97316b3 33%,#eab308b3 66%,#10b981b3);border-radius:4px;flex:1 1;height:8px}.heatmap-container{position:relative;width:100%}.heatmap-grid-scroll{border:1px solid var(--border);border-radius:12px;overflow-x:auto;width:100%}.heatmap-table{background:var(--card-bg);border-collapse:collapse;min-width:650px;width:100%}.heatmap-table th{background:var(--secondary-bg);border-bottom:1px solid var(--border);color:var(--text-secondary);font-size:.83rem;font-weight:600;padding:.9rem 1rem;text-align:center;white-space:nowrap}.heatmap-table th:first-child{padding-left:1.25rem;text-align:left}.heatmap-table td{border-bottom:1px solid var(--border);padding:.6rem .75rem;text-align:center}.heatmap-row:hover .heatmap-city-label{color:var(--accent-blue)}.heatmap-city-label{align-items:center;color:var(--text-main);display:flex;font-weight:600;gap:.5rem;padding-left:1.25rem!important;text-align:left!important;transition:color .2s ease;white-space:nowrap}.city-icon{color:var(--accent-blue)}.heatmap-cell,.heatmap-cell-td{position:relative}.heatmap-cell{align-items:center;border-radius:8px;cursor:pointer;display:flex;font-size:.9rem;font-weight:700;justify-content:center;min-height:44px;transition:all .2s ease;width:100%}.heatmap-cell:hover{box-shadow:0 4px 14px #0006;transform:scale(1.06);z-index:10}.heatmap-cell-critical{background:#ef444440;border:1px solid #ef444466;color:#fca5a5}.heatmap-cell-critical:hover{background:#ef444461;border-color:#ef444499}.heatmap-cell-low{background:#f9731640;border:1px solid #f9731666;color:#fdba74}.heatmap-cell-low:hover{background:#f9731661;border-color:#f9731699}.heatmap-cell-medium{background:#eab30833;border:1px solid #eab30859;color:#fde047}.heatmap-cell-medium:hover{background:#eab30852;border-color:#eab3088c}.heatmap-cell-high{background:#10b98140;border:1px solid #10b98166;color:#6ee7b7}.heatmap-cell-high:hover{background:#10b98161;border-color:#10b98199}.heatmap-cell-empty{background:#ffffff08;border:1px solid #ffffff0f;color:#fff3}.heatmap-cell-empty:hover{background:#ffffff12}.heatmap-tooltip{background:#0f172a;border:1px solid #ffffff1f;border-radius:10px;bottom:115%;box-shadow:0 10px 25px -5px #00000080;color:#fff;font-size:.79rem;font-weight:500;left:50%;opacity:0;padding:.75rem 1rem;pointer-events:none;position:absolute;text-align:left;transform:translateX(-50%);transition:opacity .2s ease,transform .2s ease;visibility:hidden;white-space:nowrap;z-index:999}.heatmap-tooltip:after{border:6px solid #0000;border-top-color:#0f172a;content:"";left:50%;margin-left:-6px;position:absolute;top:100%}.heatmap-cell:hover .heatmap-tooltip{opacity:1;transform:translateX(-50%) translateY(-4px);visibility:visible}.tooltip-divider{background:#ffffff1a;height:1px;margin:.4rem 0}.bottom-grid{grid-gap:1.25rem;align-items:start;display:grid;gap:1.25rem;grid-template-columns:1fr 1fr 1fr}.panel{background:var(--secondary-bg);border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:1rem;min-width:0;padding:1.5rem;transition:transform .3s cubic-bezier(.16,1,.3,1),border-color .3s ease}.panel:hover{border-color:#38bdf833;transform:translateY(-3px)}.panel-header{align-items:center;color:var(--accent-blue);display:flex;flex-shrink:0;gap:.6rem}.panel-header h3{color:var(--text-main);font-size:1rem;font-weight:700;margin:0}.icon-red{color:#f87171!important}.icon-orange{color:#fb923c!important}.leaderboard-panel{gap:0}.podium{align-items:flex-end;display:flex;gap:.5rem;justify-content:center;margin-bottom:.75rem;padding:1.25rem .5rem 0}.podium-card{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:.35rem;min-width:0;padding-bottom:0;position:relative}.podium-crown{animation:pulseDot 2s ease-in-out infinite;font-size:1.1rem;line-height:1}.podium-medal{font-size:1.2rem;line-height:1}.podium-avatar{align-items:center;background:var(--card-bg);border:2px solid var(--border);border-radius:50%;color:var(--text-main);display:flex;font-size:1rem;font-weight:800;height:44px;justify-content:center;transition:transform .2s ease;width:44px}.rank-1-avatar{font-size:1.2rem;height:54px;width:54px}.podium-card:hover .podium-avatar{transform:scale(1.1)}.podium-name{color:var(--text-main);font-size:.72rem;font-weight:600;max-width:100%;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.podium-score{font-size:.85rem;font-weight:800}.podium-base{border-radius:8px 8px 0 0;margin-top:.5rem;width:100%}.rank-1-base{background:linear-gradient(180deg,#eab30833,#eab3080d);border:1px solid #eab30840;border-bottom:none;height:52px}.rank-2-base{background:linear-gradient(180deg,#c0c0c026,#c0c0c00a);border:1px solid #c0c0c033;border-bottom:none;height:36px}.rank-3-base{background:linear-gradient(180deg,#cd7f3226,#cd7f320a);border:1px solid #cd7f3233;border-bottom:none;height:24px}.rank-1 .podium-avatar{background:#eab3081a;border-color:#eab308;color:#fde047}.rank-2 .podium-avatar{background:#c0c0c01a;border-color:#9ca3af;color:#d1d5db}.rank-3 .podium-avatar{background:#cd7f321a;border-color:#b45309;color:#fbbf24}.lb-rest{border-top:1px solid var(--border);display:flex;flex-direction:column;gap:.4rem;margin-top:.25rem;padding-top:.75rem}.lb-rest-row{align-items:center;border-radius:10px;display:flex;gap:.6rem;padding:.5rem .75rem;transition:background .2s ease}.lb-rest-row:hover{background:var(--card-bg)}.lb-rest-rank{color:var(--text-secondary);font-size:.75rem}.lb-rest-avatar,.lb-rest-rank{flex-shrink:0;font-weight:700;width:28px}.lb-rest-avatar{align-items:center;background:var(--border);border-radius:50%;color:var(--text-main);display:flex;font-size:.72rem;height:28px;justify-content:center}.lb-rest-name{color:var(--text-main);flex:1 1;font-size:.82rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lb-rest-city{align-items:center;color:var(--text-secondary);display:flex;font-size:.72rem;gap:.2rem;white-space:nowrap}.lb-rest-score{color:#4ade80;flex-shrink:0;font-size:.82rem;font-weight:700}.weak-list{flex-direction:column}.weak-list,.weak-row{display:flex;gap:.5rem}.weak-row{align-items:center;background:var(--card-bg);border:1px solid var(--border);border-radius:12px;justify-content:space-between;padding:.65rem .85rem;transition:border-color .2s ease}.weak-row:hover{border-color:#f871714d}.weak-info{align-items:center;display:flex;gap:.5rem;min-width:0}.weak-name{color:var(--text-main);font-size:.83rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.weak-right{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0}.weak-score{color:#f87171;font-size:.9rem;font-weight:800}.weak-date{color:var(--text-secondary);font-size:.72rem}.errors-section{display:flex;flex-direction:column;gap:.75rem}.error-group h4{color:var(--text-secondary);font-size:.82rem;font-weight:700;letter-spacing:.4px;margin:0 0 .6rem;text-transform:uppercase}.error-list{display:flex;flex-direction:column;gap:.4rem;list-style:none;margin:0;padding:0}.error-item{align-items:center;background:var(--card-bg);border:1px solid var(--border);border-radius:10px;display:flex;font-size:.83rem;gap:.5rem;justify-content:space-between;padding:.55rem .85rem}.error-name{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--text-main);display:-webkit-box;font-weight:500;overflow:hidden;text-overflow:ellipsis}.error-count-badge{background:#fb923c1a;border:1px solid #fb923c33;border-radius:8px;color:#fb923c;flex-shrink:0;font-size:.75rem;font-weight:700;padding:.15rem .5rem;white-space:nowrap}.error-count-badge.failed{background:#f871711a;border-color:#f8717133;color:#f87171}.activity-feed{display:flex;flex-direction:column;gap:.5rem}.activity-card{align-items:flex-start;animation:fadeInUp .35s ease both;background:var(--card-bg);border:1px solid var(--border);border-radius:14px;display:flex;gap:.75rem;padding:.85rem;transition:border-color .2s ease,transform .2s ease}.activity-card:first-child{animation-delay:.04s}.activity-card:nth-child(2){animation-delay:.08s}.activity-card:nth-child(3){animation-delay:.12s}.activity-card:nth-child(4){animation-delay:.16s}.activity-card:nth-child(5){animation-delay:.2s}.activity-card:hover{border-color:#38bdf840;transform:translateX(3px)}.activity-avatar{align-items:center;border-radius:50%;display:flex;flex-shrink:0;font-size:.9rem;font-weight:800;height:36px;justify-content:center;width:36px}.av-pass{background:#4ade8026;border:1px solid #4ade8040;color:#4ade80}.av-fail{background:#f8717126;border:1px solid #f8717140;color:#f87171}.activity-body{display:flex;flex:1 1;flex-direction:column;gap:.35rem;min-width:0}.activity-top{align-items:center;display:flex;gap:.5rem;justify-content:space-between}.activity-name{color:var(--text-main);font-size:.85rem;overflow:hidden;text-overflow:ellipsis}.activity-name,.activity-status{font-weight:700;white-space:nowrap}.activity-status{border-radius:8px;flex-shrink:0;font-size:.72rem;padding:.2rem .6rem}.status-pass{background:#4ade801f;color:#4ade80}.status-fail{background:#f871711f;color:#f87171}.activity-meta{align-items:center;display:flex;flex-wrap:wrap;gap:.4rem}.meta-chip{background:var(--secondary-bg);border:1px solid var(--border);border-radius:6px;display:inline-flex;padding:.15rem .5rem}.activity-time,.meta-chip{align-items:center;color:var(--text-secondary);font-size:.72rem;gap:.25rem}.activity-time{display:flex;flex-shrink:0;margin-top:.1rem;white-space:nowrap}.type-badge{background:#38bdf81a;border:1px solid #38bdf833;color:var(--accent-blue);font-weight:700;padding:.18rem .6rem}.badge-test{background:#6366f11f;border-color:#6366f140;color:#818cf8}.badge-game{background:#4ade801f;border-color:#4ade8040;color:#4ade80}.badge-quiz{background:#fb923c1f;border-color:#fb923c40;color:#fb923c}.badge-complex{background:#38bdf81f;border-color:#38bdf840;color:#38bdf8}.badge-pizza{background:#eab3081f;border-color:#eab30840;color:#facc15}.empty-msg{font-size:.875rem;margin:0;padding:1.5rem 0}.ai-overlay{backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);background:#0000008c;display:flex;inset:0;justify-content:flex-end;position:fixed;z-index:1000}.ai-side-panel{animation:slideInRight .35s cubic-bezier(.16,1,.3,1);background:var(--secondary-bg);border-left:1px solid var(--border);box-shadow:-20px 0 60px #0006;display:flex;flex-direction:column;height:100%;width:min(480px,100vw)}.ai-panel-header{align-items:center;background:var(--card-bg);border-bottom:1px solid var(--border);display:flex;flex-shrink:0;justify-content:space-between;padding:1.25rem 1.5rem}.ai-panel-title{align-items:center;color:var(--text-main);display:flex;font-size:1rem;font-weight:700;gap:.6rem}.ai-panel-title svg{color:var(--accent-blue)}.ai-thinking-dots{align-items:center;display:flex;gap:3px;margin-left:.5rem}.ai-thinking-dots span{animation:thinkingBounce 1.2s ease-in-out infinite;background:var(--accent-blue);border-radius:50%;display:inline-block;height:5px;width:5px}.ai-thinking-dots span:nth-child(2){animation-delay:.15s}.ai-thinking-dots span:nth-child(3){animation-delay:.3s}.ai-close-btn{align-items:center;background:#0000;border:1px solid var(--border);border-radius:10px;color:var(--text-secondary);cursor:pointer;display:flex;height:34px;justify-content:center;transition:all .2s ease;width:34px}.ai-close-btn:hover{background:var(--border);color:var(--text-main)}.ai-panel-body{flex:1 1;overflow-y:auto;padding:1.5rem}.ai-loading-state,.ai-panel-body{display:flex;flex-direction:column;gap:1rem}.ai-loading-state{align-items:center;color:var(--text-secondary);flex:1 1;justify-content:center}.ai-loader-ring{animation:spin .9s linear infinite;border:3px solid var(--border);border-radius:50%;border-top-color:var(--accent-blue);height:48px;width:48px}.ai-scope-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem}.ai-scope-tag{background:var(--card-bg);border:1px solid var(--border);border-radius:8px;color:var(--accent-blue);font-size:.76rem;font-weight:600;padding:.3rem .7rem}.ai-text{color:var(--text-main);font-size:.9rem;line-height:1.75;white-space:pre-wrap}@media (max-width:1200px){.kpi-ribbon{grid-template-columns:repeat(3,1fr)}.bottom-grid{grid-template-columns:1fr 1fr}.activity-panel{grid-column:1/-1}}@media (max-width:900px){.charts-row{grid-template-columns:1fr}.hero-quick-metrics{display:none}.kpi-ribbon{grid-template-columns:repeat(2,1fr)}.bottom-grid{grid-template-columns:1fr}}@media (max-width:768px){.dashboard{gap:1rem;padding:.75rem}.hero-header{align-items:flex-start;flex-direction:column;padding:1.25rem}.hero-actions{width:100%}.btn-ai,.btn-export{flex:1 1;justify-content:center}.kpi-ribbon{grid-template-columns:repeat(2,1fr)}.kpi-value{font-size:1.3rem}.mobile-tabs{background:var(--secondary-bg);border:1px solid var(--border);border-radius:16px;display:flex;gap:.25rem;padding:.4rem;position:-webkit-sticky;position:sticky;top:0;z-index:60}.mobile-tab{align-items:center;background:#0000;border:none;border-radius:12px;color:var(--text-secondary);cursor:pointer;display:flex;flex:1 1;flex-direction:column;font-size:.7rem;font-weight:600;gap:.25rem;padding:.6rem .5rem;transition:all .2s ease}.mobile-tab.active{background:var(--card-bg);color:var(--accent-blue)}.tab-section{display:none}.bottom-grid,.tab-section.tab-visible{display:flex;flex-direction:column}.charts-section,.heatmap-section{flex-direction:column}}@media (max-width:480px){.kpi-ribbon{grid-template-columns:1fr 1fr}.kpi-card:nth-child(5){grid-column:1/-1}.podium{gap:.25rem}.podium-avatar{height:36px;width:36px}.rank-1-avatar{height:44px;width:44px}.podium-name{font-size:.65rem}}.virtual-desk-container{display:flex;flex-direction:column;min-height:0}.desk-header{align-items:center;display:flex;flex-shrink:0;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1.25rem}.header-info h1{color:var(--text-main);font-size:1.7rem;line-height:1.2;margin:0}.header-info p{color:var(--text-secondary);font-size:.9rem;margin:.3rem 0 0}.header-edit-form{display:flex;flex-direction:column;gap:8px}.header-edit-row{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.edit-icon{font-size:1.5rem}.header-input{background:var(--card-bg);border:1px solid var(--border);border-radius:8px;color:var(--text-main);font-size:.95rem;padding:6px 12px;transition:var(--transition)}.header-input:focus{background:var(--card-bg-hover);border-color:var(--accent-blue);outline:none}.template-name-input{font-weight:600;min-width:220px}.time-limit-input{width:90px}.description-input{font-size:.85rem;width:100%}.header-city-selector{align-items:center;background:var(--card-bg);border:1px solid var(--border);border-radius:12px;display:flex;gap:10px;padding:.5rem 1rem}.city-label{color:var(--text-secondary);font-size:.8rem}.city-select{background:#0000;border:none;color:var(--text-main);cursor:pointer;font-size:.9rem;font-weight:500;outline:none}.city-select option{background:var(--secondary-bg);color:var(--text-main)}.header-actions{align-items:center;gap:.6rem}.desk-controls-panel{display:block;margin-bottom:.7rem}.desk-control-card{align-self:start;background:var(--card-bg);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:.65rem;padding:.8rem .9rem}.coloring-panel,.desk-surface-card{min-height:0}.desk-control-title{font-size:.72rem;font-weight:700;letter-spacing:.1em;margin-bottom:.35rem;text-transform:uppercase}.desk-control-title,[data-theme=light] .desk-control-title{color:var(--accent-blue)}.desk-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:1rem}.desk-toolbar-group{align-items:center;display:flex;gap:.7rem;min-height:40px}.desk-toolbar-presets{flex:1 1 440px}.desk-toolbar-color{flex:0 1 auto}.desk-toolbar-actions{flex:1 1 320px;justify-content:flex-end}.coloring-panel{gap:.75rem}.coloring-panel-header{align-items:center;display:flex;gap:.85rem;justify-content:space-between}.coloring-panel-subtitle{color:var(--text-secondary);font-size:.78rem;line-height:1.35}.coloring-library{display:flex;gap:.55rem;min-height:98px;overflow-x:auto;padding:.05rem 0 .25rem;width:100%}.coloring-empty{background:rgba(var(--secondary-bg),.5);border:1px dashed var(--border-strong);border-radius:8px;color:var(--text-secondary);display:flex;flex-direction:column;font-size:.82rem;gap:.25rem;justify-content:center;min-height:86px;padding:.85rem 1rem;width:100%}.coloring-empty strong{color:var(--text-main);font-size:.9rem}.coloring-card{background:var(--card-bg);border:1px solid var(--border);border-radius:8px;flex:0 0 112px;height:98px;overflow:hidden;position:relative;transition:var(--transition)}.coloring-card:hover{border-color:var(--accent-blue);box-shadow:var(--shadow);transform:translateY(-2px)}.coloring-insert{background:#0000;border:0;color:var(--text-main);cursor:pointer;display:grid;grid-template-rows:70px 1fr;height:100%;padding:0;text-align:left;width:100%}.coloring-insert:hover{background:#38bdf814}.coloring-insert img{background:var(--secondary-bg);display:block;height:70px;object-fit:cover;width:100%}.coloring-insert span{font-size:.72rem;line-height:1.15;min-width:0;overflow:hidden;padding:.25rem .4rem;text-overflow:ellipsis;white-space:nowrap}.coloring-delete{background:#0f172ad1;border:1px solid #f8717173;border-radius:6px;color:#fca5a5;cursor:pointer;height:22px;opacity:0;position:absolute;right:4px;top:4px;transition:opacity .15s,background .15s;width:22px}.coloring-card:hover .coloring-delete,.coloring-delete:focus{opacity:1}.coloring-delete:hover{background:#ef4444e6;color:#fff}.layer-toolbar{align-items:center;border-top:1px solid #94a3b81f;display:flex;gap:.75rem;justify-content:space-between;padding-top:.65rem}.selected-item-size-controls{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(2,minmax(92px,1fr));min-width:min(100%,220px)}.selected-item-size-controls label{grid-gap:.25rem;color:#9fb4d2;display:grid;font-size:.68rem;font-weight:700;gap:.25rem;letter-spacing:.04em;text-transform:uppercase}.selected-item-size-controls input{background:#0f172a8c;border:1px solid #94a3b833;border-radius:8px;box-sizing:border-box;color:#fff;font-size:.82rem;min-width:0;padding:.42rem .5rem;width:100%}.layer-actions{display:flex;flex-wrap:wrap;gap:.6rem}.underlay-actions{display:contents}.underlay-add-btn{color:#dbeafe;min-width:0;text-align:center}.underlay-add-btn:hover{background:#38bdf814}.toolbar-action-row{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.toolbar-status-line{color:#8ea4c5;font-size:.76rem;white-space:nowrap}.btn-save-template{background:var(--accent-blue);border:1px solid var(--accent-blue);border-radius:10px;box-shadow:0 4px 12px #38bdf833;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:.65rem 1.2rem;transition:all .2s;white-space:nowrap}.btn-save-template:hover{background:var(--accent-blue-hover);border-color:var(--accent-blue-hover);box-shadow:0 4px 15px #38bdf84d;transform:translateY(-1px)}.btn-header-ghost{background:var(--card-bg);border:1px solid var(--border);border-radius:10px;color:var(--text-secondary);cursor:pointer;font-size:.85rem;padding:.65rem 1rem;transition:all .2s;white-space:nowrap}.btn-header-ghost:hover{background:var(--card-bg-hover);border-color:var(--accent-blue);color:var(--text-main)}.btn-cancel-edit{border-color:#f8717140;color:#f87171}.btn-cancel-edit:hover{background:#f871711a;border-color:#f87171;color:#f87171}.desk-body{grid-gap:1rem;display:grid;flex:1 1;gap:1rem;grid-template-areas:"inventory workspace templates";grid-template-columns:190px 1fr 250px;grid-template-rows:1fr;min-height:0}.inventory-panel{grid-area:inventory}.desk-workspace{min-width:0;padding:2.35rem .25rem .15rem}.templates-list-container{display:flex;flex-direction:column;height:100%;min-height:0}.templates-import-wrapper{display:flex;gap:5px;margin-bottom:10px}.tpl-import-btn{cursor:pointer;flex:1 1;margin:0!important;text-align:center}.city-filter-container{background:var(--secondary-bg);margin-bottom:10px;padding:6px 12px}.city-filter-label{font-size:.75rem}.city-filter-select{width:100%}.desk-panel{background:var(--card-bg);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);display:flex;flex-direction:column;min-height:0;min-width:0;overflow:hidden;padding:1rem;position:relative;z-index:2}.panel-label{color:var(--text-secondary);flex-shrink:0;font-size:.7rem;font-weight:700;letter-spacing:.08em;margin-bottom:.9rem;text-transform:uppercase}.inventory-panel{overflow-y:auto}.inventory-grid{display:flex;flex-direction:column;gap:.5rem}.inv-item{align-items:center;background:var(--secondary-bg);border:1px solid var(--border);border-radius:10px;color:var(--text-main);cursor:pointer;display:flex;gap:.7rem;padding:.6rem .75rem;transition:all .15s;-webkit-user-select:none;user-select:none}.inv-item:hover{background:var(--card-bg-hover);border-color:var(--accent-blue);transform:translateX(4px)}.inv-item.active{background:#38bdf81a;border-color:var(--accent-blue);box-shadow:0 0 0 1px var(--accent-blue)}.inv-icon{align-items:center;display:inline-flex;flex-shrink:0;font-size:1.25rem;height:28px;justify-content:center;width:28px}.inv-icon-image{display:block;height:100%;object-fit:contain;width:100%}.inv-name{font-size:.85rem;font-weight:500}.inv-item.is-coloring-item{justify-content:center;padding:.45rem}.inv-item.is-coloring-item .inv-icon{font-size:1rem;height:42px;width:54px}.desk-workspace{align-items:center;background:radial-gradient(circle at center,#38bdf80d,#0000 70%);border-radius:16px;display:flex;grid-area:workspace;justify-content:center;min-height:500px;padding:.5rem;position:relative;z-index:1}[data-theme=light] .desk-workspace{background:radial-gradient(circle at center,#38bdf81a,#0000 70%)}.square-desk{aspect-ratio:1/1;background:var(--secondary-bg);border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow);cursor:crosshair;max-width:800px;overflow:hidden;position:relative;touch-action:none;width:100%}@media (hover:none) and (pointer:coarse){.square-desk{touch-action:pan-y}}.desk-grid{background-image:linear-gradient(90deg,hsla(0,0%,100%,.025) 1px,#0000 0),linear-gradient(180deg,hsla(0,0%,100%,.025) 1px,#0000 0);background-size:10% 10%;inset:0;opacity:.3}.desk-grid,.desk-guide{pointer-events:none;position:absolute}.desk-guide{background:#38bdf824}.desk-guide-horizontal{height:1px;left:0;right:0;top:50%}.desk-guide-vertical{bottom:0;left:50%;top:0;width:1px}.square-desk:hover .desk-grid,.square-desk:hover .desk-guide{opacity:.45}.desk-item{align-items:center;animation:popIn .25s cubic-bezier(.175,.885,.32,1.275);-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:8px;box-sizing:border-box;color:#fff;cursor:grab;display:flex;font-size:.74rem;gap:.2rem;padding:.18rem .28rem;position:absolute;transform:translate(-50%,-50%);transform-origin:center;transform-style:preserve-3d;-webkit-user-select:none;user-select:none;white-space:nowrap;z-index:10}.desk-item.dragging{background:#ffffff1a;border-color:#38bdf8a6;box-shadow:0 12px 28px #38bdf847;cursor:grabbing;touch-action:none!important;z-index:20}.desk-item.selected{background:#ffffff14;border-color:#38bdf8bf;box-shadow:0 8px 18px #38bdf829}.desk-item.is-photo-item.correct,.desk-item.is-photo-item.incorrect,.desk-item.is-photo-item.selected{background:#0000;border-color:#0000;box-shadow:none}.desk-item.correct{background:#4ade802e;border-color:#4ade80}.desk-item.incorrect{background:#f871712e;border-color:#f87171}.ghost-item{background:#ffffff08;border:1px dashed #fff3;padding:.4rem;pointer-events:none;z-index:5}.item-icon{align-items:center;display:inline-flex;flex-shrink:0;height:20px;justify-content:center;width:20px}.item-icon img{display:block;height:100%;object-fit:contain;width:100%}.item-text{pointer-events:none}.desk-item-content{align-items:center;display:flex;gap:.2rem;justify-content:center;width:100%}.desk-item.is-photo-item{-webkit-backdrop-filter:none;backdrop-filter:none;background:#0000;border:none;box-shadow:none;min-height:0;min-width:0;overflow:visible;padding:0}.desk-item.is-photo-item:before{display:none}.desk-item.is-photo-item .desk-item-content{background:#0000;border:none;border-radius:0;box-shadow:none;flex-direction:column;gap:0;height:100%;min-height:0;padding:0;position:relative;transform:none;width:100%}.desk-item.is-photo-item .item-icon{display:block;height:100%;min-height:0;width:100%}.desk-item.is-photo-item .item-icon-photo{background:#0000;border-radius:0;overflow:visible}.desk-item.is-photo-item .item-icon-photo img{display:block;filter:none;transform:none}.desk-item.is-photo-item .item-text{display:none}.desk-item.item-profile-coloring{background:#0000;border-color:#0000;box-shadow:none;padding:0}.desk-item.item-profile-coloring .desk-item-content{gap:0;height:100%;padding:0;width:100%}.desk-item.item-profile-coloring .item-icon{display:block;height:100%;width:100%}.desk-item.is-photo-item .desk-item-shadow,.desk-item.item-profile-coloring .item-text{display:none}.desk-item.is-photo-item.dragging .desk-item-content{filter:drop-shadow(0 0 10px rgba(56,189,248,.32))}.desk-item.is-photo-item.correct .desk-item-content{filter:drop-shadow(0 0 10px rgba(74,222,128,.35))}.desk-item.is-photo-item.incorrect .desk-item-content{filter:drop-shadow(0 0 10px rgba(248,113,113,.35))}.desk-item.is-photo-item.item-profile-flat .item-icon-photo img,.desk-item.is-photo-item.item-profile-glass .item-icon-photo img,.desk-item.is-photo-item.item-profile-utensil .item-icon-photo img{filter:none}.desk-underlay{cursor:grab;position:absolute;touch-action:none;transform-origin:center;-webkit-user-select:none;user-select:none}.desk-underlay.dragging{cursor:grabbing;touch-action:none!important}.desk-underlay.selected{outline:2px dashed #38bdf8cc;outline-offset:4px}.desk-underlay-content{height:100%;pointer-events:none;width:100%}.desk-underlay-image{display:block;filter:drop-shadow(0 10px 16px rgba(15,23,42,.12));height:100%;object-fit:fill;width:100%}.underlay-resize-handle{background:#38bdf8;border:none;border-radius:999px;box-shadow:0 0 0 2px #0f172ae6;height:12px;opacity:0;position:absolute;transition:opacity .18s ease,transform .18s ease;width:12px;z-index:4}.desk-underlay.selected .underlay-resize-handle,.desk-underlay:hover .underlay-resize-handle{opacity:1}.underlay-resize-handle:hover{transform:scale(1.08)}.underlay-resize-n{top:-8px}.underlay-resize-n,.underlay-resize-s{cursor:ns-resize;left:50%;transform:translateX(-50%)}.underlay-resize-s{bottom:-8px}.underlay-resize-e{right:-8px}.underlay-resize-e,.underlay-resize-w{cursor:ew-resize;top:50%;transform:translateY(-50%)}.underlay-resize-w{left:-8px}.underlay-resize-ne{cursor:nesw-resize;right:-8px;top:-8px}.underlay-resize-nw{cursor:nwse-resize;left:-8px;top:-8px}.underlay-resize-se{bottom:-8px;cursor:nwse-resize;right:-8px}.underlay-resize-sw{bottom:-8px;cursor:nesw-resize;left:-8px}.desk-item-controls{display:flex;gap:.25rem;opacity:0;position:absolute;right:-12px;top:-12px;transition:opacity .15s}.desk-item.is-photo-item .desk-item-controls{filter:drop-shadow(0 6px 12px rgba(15,23,42,.28));left:50%;right:auto;top:50%;transform:translate(-50%,calc(-50% - 44px));z-index:8}.desk-underlay .desk-item-controls{right:-10px;top:-34px;z-index:6}.desk-item.selected .desk-item-controls,.desk-item:hover .desk-item-controls,.desk-underlay.selected .desk-item-controls,.desk-underlay:hover .desk-item-controls{opacity:1}.desk-item .item-delete,.desk-underlay .item-delete,.item-control{align-items:center;background:#0f172aeb;border:1px solid #ffffff1f;border-radius:999px;color:#fffc;cursor:pointer;display:inline-flex;flex-shrink:0;font-size:.8rem;height:24px;justify-content:center;line-height:1;padding:0;width:24px}.desk-item .item-delete:hover,.desk-underlay .item-delete:hover,.item-control:hover{background:#1e293bfa;border-color:#38bdf8b3;color:#fff}.desk-item .item-delete:hover,.desk-underlay .item-delete:hover{border-color:#f87171bf;color:#f87171}.item-resize-handle{background:#38bdf8f2;border:1px solid #ffffff4d;border-radius:6px;bottom:-8px;cursor:nwse-resize;height:18px;opacity:0;position:absolute;right:-8px;transition:opacity .15s;width:18px}.desk-item.selected .item-resize-handle,.desk-item:hover .item-resize-handle{opacity:1}.desk-placeholder{align-items:center;display:flex;flex-direction:column;gap:.75rem;height:100%;justify-content:center;opacity:.25;pointer-events:none}.desk-icon{font-size:3.5rem}.desk-label{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}.templates-panel{display:flex;flex-direction:column;overflow:hidden}.templates-label{align-items:center;cursor:pointer;display:flex;justify-content:space-between;-webkit-user-select:none;user-select:none}.templates-toggle{font-size:.65rem;opacity:.5}.btn-all-link{background:var(--card-bg);border:1px solid var(--accent-blue);border-radius:10px;color:var(--accent-blue);cursor:pointer;font-size:.82rem;font-weight:600;margin-bottom:.6rem;padding:.55rem .75rem;transition:all .2s;white-space:nowrap;width:100%}.btn-all-link:hover{background:var(--accent-blue);box-shadow:var(--shadow);color:#fff}.btn-all-link.copied{background:#4ade801a;border-color:#4ade80;color:#4ade80}.templates-list{display:flex;flex:1 1;flex-direction:column;gap:.5rem;overflow-y:auto;padding-right:2px}.template-card{background:var(--secondary-bg);border:1px solid var(--border);border-radius:10px;flex-shrink:0;padding:.65rem .75rem;transition:all .15s}.template-card:hover{background:var(--card-bg-hover);border-color:var(--accent-blue)}.template-card.active{background:#38bdf814;border-color:var(--accent-blue)}.tpl-main{align-items:center;display:flex;gap:.6rem;margin-bottom:.5rem}.tpl-main-button{background:#0000;border:none;color:inherit;cursor:pointer;padding:0;text-align:left;width:100%}.tpl-icon{flex-shrink:0;font-size:1rem}.tpl-info{display:flex;flex:1 1;flex-direction:column;gap:.15rem;min-width:0}.tpl-name{font-size:.85rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tpl-meta{color:var(--text-secondary);font-size:.72rem}.tpl-actions{display:flex;flex-wrap:wrap;gap:.35rem;justify-content:flex-end;position:relative;z-index:1}.tpl-btn{background:var(--card-bg);border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);cursor:pointer;font-size:.85rem;min-width:28px;padding:.25rem .45rem;text-align:center;transition:all .15s}.tpl-btn:hover{background:var(--accent-blue);border-color:var(--accent-blue);color:#fff}.tpl-btn-delete:hover{background:#ef4444;border-color:#ef4444;color:#fff}.copied-label{color:#4ade80;font-size:.8rem;padding:0 .3rem}.empty-msg{font-size:.82rem;padding:1rem 0}@keyframes popIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.5)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@media (max-width:1100px){.desk-toolbar{align-items:flex-start}.desk-toolbar-group{flex-wrap:wrap;width:100%}.desk-toolbar-actions,.desk-toolbar-group{justify-content:flex-start}.desk-body{grid-template-areas:"inventory inventory" "workspace templates";grid-template-columns:1fr 240px;grid-template-rows:auto 1fr}.inventory-panel{grid-area:inventory;padding:.75rem}.inventory-grid{flex-direction:row;flex-wrap:wrap;gap:.5rem}.inv-item{flex:0 0 auto;min-width:110px}.panel-label{display:none}.desk-workspace{grid-area:workspace}.templates-panel{grid-area:templates;max-height:none}}@media (max-width:700px){.desk-control-card{padding:.8rem .85rem}.desk-toolbar{gap:.8rem}.toolbar-action-row{gap:.5rem}.coloring-panel-header,.layer-toolbar{align-items:stretch;flex-direction:column}.coloring-panel-header .underlay-add-btn,.layer-toolbar .toolbar-action-row{width:100%}.layer-toolbar .btn-header-ghost{flex:1 1}.layer-list{max-height:140px}.desk-body{gap:.75rem;grid-template-areas:"inventory" "workspace" "templates";grid-template-columns:1fr;grid-template-rows:auto auto 1fr}.desk-header{margin-bottom:.75rem}.header-info h1{font-size:1.3rem}.inventory-panel{padding:.6rem .75rem}.inventory-grid{-webkit-overflow-scrolling:touch;flex-direction:row;flex-wrap:nowrap;gap:.5rem;overflow-x:auto;padding-bottom:2px}.inv-item{flex-shrink:0;min-width:90px;padding:.5rem .6rem}.inv-icon{font-size:1.1rem}.inv-name{font-size:.78rem}.desk-workspace{min-height:280px}.square-desk{border-radius:14px;max-width:100%}.desk-item{border-radius:8px;font-size:.75rem;gap:.25rem;padding:.3rem .5rem}.desk-item-controls,.item-resize-handle{opacity:1}.templates-panel{max-height:260px}.btn-header-ghost,.btn-save-template{flex:1 1;font-size:.82rem;min-width:0;padding:.6rem .75rem}.tpl-actions{opacity:1}.tpl-btn{min-height:32px;min-width:32px}}@media (max-width:420px){.desk-item .item-text{display:none}.desk-item{gap:0;padding:.3rem .4rem}.inv-item{min-width:76px}}.student-test .desk-body{gap:.65rem;grid-template-areas:"inventory workspace";grid-template-columns:180px 1fr;grid-template-rows:1fr}.student-test.has-result .desk-body{grid-template-areas:"inventory workspace results";grid-template-columns:180px 1fr 220px}.virtual-desk-container.student-test{gap:0}.student-test .desk-header{margin-bottom:.45rem}.student-test .header-info p{margin-top:.15rem}.student-test .desk-panel{padding:.8rem}.student-test .desk-workspace{padding:.15rem}@media (max-width:1100px){.student-test .desk-body{grid-template-areas:"inventory" "workspace";grid-template-columns:1fr;grid-template-rows:auto 1fr}.student-test.has-result .desk-body{grid-template-areas:"inventory" "workspace" "results";grid-template-columns:1fr;grid-template-rows:auto auto auto}}.results-panel{background:var(--card-bg);grid-area:results}.result-card{color:var(--text-main)}.result-score{font-size:3rem;font-weight:800;margin-bottom:1rem}.result-status{font-weight:600;margin:1rem 0}.result-hint{color:var(--text-secondary);font-size:.8rem;margin-bottom:1.5rem}.registration-container{align-items:center;background:radial-gradient(circle at center,#38bdf814,#0000 70%),var(--primary-bg);display:flex;height:100vh;justify-content:center;min-height:100vh;padding:1rem}.registration-card{animation:fadeInUp .5s cubic-bezier(.16,1,.3,1);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-lg);color:var(--text-main);max-width:420px;overflow:hidden;padding:3rem 2.5rem;position:relative;width:100%}.registration-card:before{background:linear-gradient(90deg,var(--accent-blue),var(--accent-purple));content:"";height:4px;left:0;position:absolute;top:0;width:100%}.registration-card h2{color:var(--text-main);font-size:1.85rem;font-weight:850;letter-spacing:-.02em;margin:0 0 .75rem;text-align:center}.registration-card p{color:var(--text-secondary);font-size:.95rem;line-height:1.5;margin-bottom:2rem;text-align:center}.form-group input,.form-group select,.form-group textarea{background:var(--secondary-bg);border:1px solid var(--border);border-radius:var(--radius-btn);box-sizing:border-box;color:var(--text-main);font-size:.95rem;font-weight:500;outline:none;padding:.85rem 1.15rem;transition:var(--transition);width:100%}.form-group select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 1.1rem center;background-repeat:no-repeat;background-size:1rem;padding-right:2.5rem}.form-group select option{background:var(--secondary-bg);color:var(--text-main)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{background:var(--card-bg-hover);border-color:var(--accent-blue);box-shadow:0 0 0 3px #38bdf826}.form-control-disabled,.form-group input:disabled{background:#ffffff05!important;border-color:var(--border)!important;color:var(--text-muted)!important;cursor:not-allowed;opacity:.7}@media (max-width:480px){.registration-container{align-items:flex-start;padding-top:3rem}.registration-card{border-radius:16px;padding:2.2rem 1.5rem}.registration-card h2{font-size:1.4rem}}.desk-modal-overlay{align-items:center;animation:fadeIn .2s ease;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#000000b3;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:1000}.desk-modal-content{animation:slideUp .25s cubic-bezier(.175,.885,.32,1.275);background:var(--secondary-bg);border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow);color:var(--text-main);max-width:480px;overflow:hidden;width:100%}.desk-modal-header{align-items:center;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:1.25rem 1.5rem}.desk-modal-header h2{color:var(--text-main);font-size:1.3rem;margin:0}.desk-modal-close{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:1.8rem;line-height:1;padding:0}.desk-modal-body{color:var(--text-main);padding:1.5rem}.desk-modal-footer{background:var(--primary-bg);border-top:1px solid var(--border);display:flex;gap:.75rem;justify-content:flex-end;padding:1rem 1.5rem}.btn-cancel{background:var(--card-bg);border-radius:10px;color:var(--text-main);font-weight:500}.btn-cancel,.btn-confirm{padding:.65rem 1.25rem;transition:all .2s}.btn-confirm{background:var(--accent-blue);border:none;border-radius:10px;box-shadow:0 4px 12px #38bdf84d;color:#fff;cursor:pointer;font-weight:600}.btn-confirm:hover{box-shadow:0 6px 18px #38bdf866;transform:translateY(-1px)}.modal-form{display:flex;flex-direction:column;gap:1rem}.timer-warning{animation:timerPulse 1s ease-in-out infinite;color:#f87171!important}@keyframes timerPulse{0%,to{opacity:1}50%{opacity:.55}}.selection-list{display:flex;flex-direction:column;gap:.6rem}.selection-item{align-items:center;background:#ffffff0a;border:1px solid #0000;border-radius:10px;cursor:pointer;display:flex;gap:.7rem;padding:.65rem .75rem;position:relative;transition:all .15s}.selection-item:hover{background:#ffffff14}.selection-item.active{background:#38bdf81a;border-color:var(--accent-blue)}.selection-item .item-icon{font-size:1.2rem}.selection-item .item-name{flex:1 1;font-size:.85rem;font-weight:500}.item-actions{display:flex;gap:.4rem;opacity:0;transition:opacity .15s}.selection-item:hover .item-actions{opacity:1}.item-action-btn,.selection-item .item-delete{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:6px;color:#ffffff80;cursor:pointer;font-size:.9rem;padding:.25rem .4rem;transition:all .15s}.item-action-btn:hover{background:var(--accent-blue);border-color:var(--accent-blue);color:#fff}.selection-item .item-delete:hover{background:#ef4444;border-color:#ef4444;color:#fff}@media (hover:none){.item-actions,.tpl-actions{opacity:1}}.btn-add{background:var(--accent-blue);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:.65rem 1.2rem;transition:all .2s}.btn-add:hover:not(:disabled){box-shadow:0 4px 14px #38bdf859;transform:translateY(-1px)}.btn-add:disabled{cursor:not-allowed;opacity:.4}.desk-workspace{background:#0000;perspective:none}.desk-stage{align-items:center;aspect-ratio:1/1;display:flex;justify-content:center;max-width:860px;position:relative;transform-style:preserve-3d;width:100%}.desk-stage-base,.desk-stage-shadow{display:none}.square-desk.isometric-desk{aspect-ratio:auto;background:var(--secondary-bg);border:1px solid var(--border);border-radius:24px;box-shadow:var(--shadow);height:72%;max-width:none;overflow:hidden;transform:translateY(-1%);transform-style:flat;width:72%}.square-desk.isometric-desk:after,.square-desk.isometric-desk:before{display:none}.square-desk.isometric-desk .desk-grid{background-image:linear-gradient(90deg,#94a3b814 1px,#0000 0),linear-gradient(180deg,#94a3b814 1px,#0000 0);opacity:.22}.desk-item{background:#0000;border:1px solid #0000;border-radius:10px;box-shadow:none;color:#102133;touch-action:none}.desk-item.dragging{box-shadow:0 24px 36px #38bdf838}.desk-item-content{position:relative;z-index:2}.desk-item-shadow{background:radial-gradient(circle,#0f172a38,#0000 70%);border-radius:999px;bottom:-8px;filter:blur(5px);height:12px;left:10%;pointer-events:none;position:absolute;right:10%}.desk-item .item-name,.desk-item .item-text{color:#1e293b;font-weight:600;text-shadow:none}.desk-stage-front,.desk-stage-front-glow,.desk-stage-leg,.desk-stage-leg-left,.desk-stage-leg-right{display:none}.surface-presets{display:flex;flex-wrap:wrap;gap:.45rem}.surface-preset-chip{background:#ffffff0a;border:1px solid #94a3b82e;border-radius:999px;color:#dbeafe;cursor:pointer;font-size:.78rem;font-weight:600;line-height:1;padding:.45rem .72rem;transition:all .18s ease}.surface-preset-chip:hover{background:#38bdf814;border-color:#38bdf873}.surface-preset-chip.active{background:linear-gradient(180deg,#38bdf82e,#2563eb24);border-color:#38bdf8f2;box-shadow:inset 0 1px 0 #ffffff14,0 0 0 1px #38bdf82e;color:#fff}.surface-color-row{align-items:center;display:flex;flex-wrap:wrap;gap:.55rem}.surface-color-label{color:#dbeafe;font-size:.78rem;font-weight:600}.surface-color-input{background:#ffffff0a;border:1px solid #94a3b82e;border-radius:10px;cursor:pointer;height:30px;overflow:hidden;padding:0;width:42px}.surface-color-input::-webkit-color-swatch-wrapper{padding:0}.surface-color-input::-webkit-color-swatch{border:none;border-radius:6px}.surface-color-value{color:#9fb4d2;font-family:Consolas,Monaco,monospace;font-size:.78rem;letter-spacing:.04em}.surface-swatches{display:flex;flex-wrap:wrap;gap:.4rem}.surface-swatch{border:2px solid #ffffff24;border-radius:999px;cursor:pointer;height:24px;width:24px}.surface-swatch.active{border-color:#38bdf8e6;box-shadow:0 0 0 2px #38bdf829}.desk-surface-linen,.desk-surface-marble,.desk-surface-oak,.desk-surface-slate,.desk-surface-walnut{background:#0000}.desk-surface-linen:before,.desk-surface-marble:before,.desk-surface-oak:before,.desk-surface-slate:before{display:none}.desk-surface-transparent{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:#0000!important;background-color:initial!important;background-image:none!important;border:2px dashed var(--border-strong)!important;box-shadow:none!important;filter:none!important}.desk-surface-transparent .desk-grid{background-image:linear-gradient(to right,var(--border) 1px,#0000 1px),linear-gradient(to bottom,var(--border) 1px,#0000 1px);opacity:.15}.square-desk.desk-surface-transparent,.square-desk.isometric-desk.desk-surface-transparent{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:#0000!important;background-color:initial!important;background-image:none!important;border:2px dashed var(--border-strong)!important;box-shadow:none!important}.preview-mode-active{background:radial-gradient(circle at top,#1e293bcc,#0f172afa)}.preview-sandbox-container{animation:fadeIn .35s ease;display:flex;flex-direction:column;gap:1.25rem;padding:.5rem 0 2rem;width:100%}.preview-sandbox-banner{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#38bdf80f;border:1px solid #38bdf833;border-radius:14px;display:flex;flex-direction:column;gap:4px;padding:1rem 1.5rem}.sandbox-badge{color:var(--accent-blue);font-size:.75rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.sandbox-hint{color:var(--text-secondary);font-size:.86rem;line-height:1.4;margin:0}.btn-preview-toggle.active-preview{background:linear-gradient(135deg,#38bdf833,#2563eb40);border-color:var(--accent-blue);box-shadow:0 0 15px #38bdf840;color:#fff}.properties-panel{animation:slideInRight .25s cubic-bezier(.16,1,.3,1);backdrop-filter:blur(16px)!important;-webkit-backdrop-filter:blur(16px)!important;background:#1e293b73!important;border:1px solid #ffffff14!important;border-radius:16px!important;box-shadow:0 8px 32px 0 #0000004d!important;display:flex;flex:1 1 320px;flex-direction:column;gap:1rem;padding:1.25rem!important}.properties-grid{display:flex;flex-direction:column;gap:.85rem}.property-control-group{display:flex;flex-direction:column;gap:.45rem}.property-label{color:#94a3b8;font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.property-input-row{align-items:center;display:flex;gap:.6rem}.btn-adjust{align-items:center;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:50%;color:#cbd5e1;cursor:pointer;display:flex;font-size:1rem;font-weight:600;height:28px;justify-content:center;transition:all .2s ease;width:28px}.btn-adjust:hover{background:var(--accent-blue);border-color:var(--accent-blue);color:#fff;transform:scale(1.08)}.property-slider{-webkit-appearance:none;background:#ffffff1a;border-radius:4px;cursor:pointer;flex:1 1;height:6px;outline:none}.property-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:var(--accent-blue);border-radius:50%;box-shadow:0 0 8px #38bdf8cc;height:14px;-webkit-transition:transform .15s ease;transition:transform .15s ease;width:14px}.property-slider::-webkit-slider-thumb:hover{transform:scale(1.25)}.property-number-input{background:#0f172a8c;border:1px solid #ffffff1a;border-radius:8px;color:#fff;font-family:inherit;font-size:.82rem;outline:none;padding:.35rem .5rem;text-align:center;transition:border-color .2s ease;width:58px}.property-number-input:focus{border-color:var(--accent-blue)}.properties-actions{border-top:1px solid #ffffff0f;display:flex;gap:.5rem;padding-top:.85rem}.properties-actions button{flex:1 1;font-size:.78rem;padding:.55rem}.right-sidebar-panel{display:flex;flex-direction:column;grid-area:templates;min-height:0}.sidebar-tabs-header{background:#0f172a66;border:1px solid #ffffff0f;border-radius:10px;display:flex;flex-shrink:0;margin-bottom:.9rem;padding:3px}.sidebar-tab-btn{align-items:center;background:#0000;border:none;border-radius:7px;color:var(--text-secondary);cursor:pointer;display:flex;flex:1 1;font-size:.8rem;font-weight:600;gap:6px;justify-content:center;padding:.55rem .5rem;transition:all .2s ease}.sidebar-tab-btn:hover:not(.active){background:#ffffff08;color:var(--text-main)}.sidebar-tab-btn.active{background:var(--accent-blue);box-shadow:0 4px 12px #38bdf833;color:#fff}.sidebar-tab-content{flex:1 1}.layers-panel-content,.sidebar-tab-content{display:flex;flex-direction:column;min-height:0}.layers-panel-content{height:100%}.layers-list{display:flex;flex:1 1;flex-direction:column;gap:.5rem;overflow-y:auto;padding-right:2px}.layer-item-card{align-items:center;background:#ffffff05;border:1px solid #ffffff0d;border-radius:10px;cursor:pointer;display:flex;justify-content:space-between;min-height:48px;padding:.55rem .65rem;transition:all .2s ease}.layer-item-card:hover{background:#38bdf80a;border-color:#38bdf866}.layer-item-card.active{background:#38bdf814;border-color:var(--accent-blue);box-shadow:0 0 12px #38bdf81f}.layer-item-info{align-items:center;display:flex;gap:.6rem;min-width:0}.layer-item-icon{align-items:center;background:#ffffff08;border-radius:6px;display:flex;flex-shrink:0;height:28px;justify-content:center;overflow:hidden;width:28px}.layer-icon-img{height:100%;object-fit:contain;width:100%}.layer-icon-emoji{font-size:1.1rem;line-height:1}.layer-item-meta{display:flex;flex-direction:column;min-width:0}.layer-item-name{color:var(--text-main);font-size:.8rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layer-item-index{color:var(--text-secondary);font-size:.68rem;margin-top:1px}.layer-item-actions{gap:.2rem}.layer-btn,.layer-item-actions{align-items:center;display:flex}.layer-btn{background:#ffffff05;border:1px solid #ffffff0f;border-radius:4px;color:var(--text-secondary);cursor:pointer;font-size:.62rem;height:22px;justify-content:center;transition:all .15s ease;width:22px}.layer-btn:hover:not(:disabled){background:#ffffff14;border-color:#ffffff26;color:var(--text-main)}.layer-btn:disabled{cursor:not-allowed;opacity:.25}.layer-btn-delete:hover{background:#ef44442e!important;border-color:#f8717159!important;color:#f87171!important}@keyframes slideInRight{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}@media (max-width:768px){.desk-body{display:flex;flex-direction:column;gap:1rem;height:auto;overflow:visible}.inventory-panel{flex-shrink:0;max-height:120px!important;order:1;overflow-x:auto!important;overflow-y:hidden!important;padding:.5rem!important;width:100%!important}.inventory-grid{display:flex;flex-direction:row;gap:.5rem;height:100%;padding-bottom:.25rem}.inv-item{align-items:center;flex-direction:column;flex-shrink:0;gap:.25rem;height:72px;justify-content:center;margin:0;padding:.35rem .5rem;width:80px}.inv-item:hover{transform:none}.inv-name{font-size:.62rem;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap;width:100%}.inv-icon{font-size:1.1rem;height:28px;width:28px}.desk-workspace{min-height:auto;order:2;padding:.25rem;width:100%}.square-desk{aspect-ratio:1/1;margin:0 auto;max-width:500px;width:100%}.results-panel{margin-top:1rem;order:3;padding:1.25rem!important;width:100%!important}.desk-header{align-items:stretch;flex-direction:column;gap:.75rem}.desk-header,.header-info{text-align:center}.header-actions{justify-content:center;width:100%}.btn-add{padding:.75rem;text-align:center;width:100%}}.test-task-description{background:#38bdf80f;border:1px solid #38bdf82e;border-radius:var(--radius-md);color:var(--text-main);font-size:.95rem;line-height:1.5;margin:1rem 0;padding:1rem 1.25rem}.btn-start-test{background:linear-gradient(135deg,var(--accent-blue),var(--accent-purple));border:none;border-radius:var(--radius-btn);box-shadow:var(--shadow);color:#fff;cursor:pointer;font-size:1rem;font-weight:700;margin-top:1.5rem;padding:.85rem;transition:var(--transition);width:100%}.btn-start-test:hover{box-shadow:var(--shadow-glow-blue);transform:translateY(-2px)}.student-test-header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow);margin-bottom:2rem;padding:1.5rem;text-align:center}.student-test-header h1{color:var(--text-main);font-size:2rem;font-weight:850;letter-spacing:-.02em;margin:0 0 .5rem}.student-test-header p{color:var(--text-secondary);font-size:.95rem;font-weight:600;margin:0}.student-test-result-msg{align-items:center;border-radius:var(--radius-lg);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:1.25rem;margin-top:2rem;padding:1.5rem;text-align:center}.student-test-result-msg.success{background:#4ade800d;border:1px solid #4ade8033}.student-test-result-msg .result-text{color:var(--text-main);font-size:1.15rem;font-weight:600}.student-test-result-msg .result-text strong{color:var(--accent-green);font-size:1.35rem;font-weight:800}.btn-certificate-download{align-items:center;background:linear-gradient(135deg,#10b981,#059669);border-radius:var(--radius-btn);box-shadow:0 4px 14px #10b98140;color:#fff;display:inline-flex;font-size:1rem;font-weight:700;gap:8px;padding:.85rem 1.75rem;text-decoration:none;transition:var(--transition)}.btn-certificate-download:hover{box-shadow:0 6px 20px #10b98159;transform:translateY(-2px)}@media (max-width:768px){.student-test-header{border-radius:12px;margin-bottom:1rem;padding:1rem}.student-test-header h1{font-size:1.35rem}.student-test-header p{font-size:.85rem}}@keyframes tr-spin{to{transform:rotate(1turn)}}@keyframes tr-fade{0%{opacity:0}to{opacity:1}}@keyframes tr-up{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:none}}@keyframes tr-card-in{0%{opacity:0;transform:translateX(-6px)}to{opacity:1;transform:none}}.tr-page{flex-direction:column;gap:1.25rem;min-height:0}.tr-header,.tr-page{display:flex;min-width:0}.tr-header{align-items:center;flex-wrap:wrap;gap:.75rem;justify-content:space-between}.tr-title{align-items:center;color:var(--text-main);display:flex;font-size:1.6rem;font-weight:800;gap:.6rem;margin:0}.tr-title:before{background:linear-gradient(180deg,var(--accent-blue),var(--accent-purple));border-radius:999px;content:"";display:inline-block;flex-shrink:0;height:24px;width:4px}.tr-city-badge{background:#38bdf81a;border:1px solid #38bdf840;border-radius:999px;color:var(--accent-blue);font-size:.8rem;font-weight:700;padding:.2rem .75rem}.tr-header-right{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;min-width:0}.tr-btn{align-items:center;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-btn);color:var(--text-main);cursor:pointer;display:inline-flex;font-family:inherit;font-size:.85rem;font-weight:600;gap:.4rem;padding:.55rem 1rem;transition:var(--transition);white-space:nowrap}.tr-btn:hover{background:var(--card-bg-hover);border-color:var(--accent-blue);transform:translateY(-1px)}.tr-btn:disabled{cursor:not-allowed;opacity:.5;transform:none}.tr-btn.primary{background:linear-gradient(135deg,var(--accent-blue),var(--accent-purple));border:none;box-shadow:0 4px 14px #38bdf840;color:#fff}.tr-btn.primary:hover{box-shadow:0 6px 20px #38bdf859}.tr-select{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-btn);color:var(--text-main);cursor:pointer;font-family:inherit;font-size:.85rem;outline:none;padding:.55rem .9rem;transition:var(--transition)}.tr-select:focus,.tr-select:hover{border-color:var(--accent-blue)}.tr-select option{color:var(--text-main)}.tr-select option,.tr-tabs{background:var(--secondary-bg)}.tr-tabs{border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow);display:flex;flex-wrap:wrap;gap:.35rem;max-width:100%;padding:.35rem;width:-webkit-fit-content;width:fit-content}.tr-tab{align-items:center;background:#0000;border:1px solid #0000;border-radius:var(--radius-pill);color:var(--text-secondary);cursor:pointer;display:flex;font-family:inherit;font-size:.85rem;font-weight:600;gap:.45rem;padding:.45rem 1.1rem;transition:all .18s ease;white-space:nowrap}.tr-tab:hover{background:var(--card-bg);color:var(--text-main)}.tr-tab.active{background:linear-gradient(135deg,#38bdf826,#818cf81a);border-color:#38bdf84d;color:var(--accent-blue)}.tr-tab-count{background:#38bdf826;border-radius:999px;color:var(--accent-blue);font-size:.7rem;font-weight:800;padding:.05rem .5rem}.tr-stats{display:flex;flex-wrap:wrap;gap:.75rem}.tr-stat{background:var(--secondary-bg);border:1px solid var(--border);border-radius:var(--radius-lg);flex:1 1;min-width:80px;padding:1rem 1.1rem;text-align:center;transition:transform .2s ease,border-color .2s ease}.tr-stat:hover{transform:translateY(-2px)}.tr-stat.green{border-color:#4ade8033}.tr-stat.red{border-color:#f8717133}.tr-stat.neutral{border-color:#38bdf826}.tr-stat-value{font-size:1.6rem;font-weight:800;line-height:1;margin-bottom:.3rem}.tr-stat.green .tr-stat-value{color:#4ade80}.tr-stat.red .tr-stat-value{color:#f87171}.tr-stat.neutral .tr-stat-value{color:var(--accent-blue)}.tr-stat-label{color:var(--text-secondary);font-size:.7rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.tr-toolbar{align-items:center;background:var(--secondary-bg);border:1px solid var(--border);border-radius:var(--radius-lg);display:flex;flex-wrap:wrap;gap:.6rem;min-width:0;padding:.75rem 1rem}.tr-search-wrap{flex:1 1;min-width:200px;position:relative}.tr-search-icon{color:var(--text-muted);left:.85rem;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.tr-search{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-main);font-family:inherit;font-size:.88rem;outline:none;padding:.55rem 2.2rem .55rem 2.4rem;transition:border-color .2s;width:100%}.tr-search::placeholder{color:var(--text-muted)}.tr-search:focus{border-color:var(--accent-blue);box-shadow:0 0 0 3px #38bdf81a}.tr-search-clear{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:.8rem;line-height:1;padding:0;position:absolute;right:.75rem;top:50%;transform:translateY(-50%);transition:color .15s}.tr-search-clear:hover{color:var(--text-main)}.tr-count-label{color:var(--text-secondary);font-size:.78rem;white-space:nowrap}.tr-groups{display:flex;flex:1 1;flex-direction:column;gap:.75rem;min-height:0;min-width:0;overflow-x:hidden;overflow-y:auto;padding-right:.2rem;scrollbar-gutter:stable}.tr-group{background:var(--secondary-bg);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);min-width:0;overflow:hidden;transition:border-color .2s ease}.tr-group:hover{border-color:#38bdf826}.tr-group-header{align-items:center;background:var(--card-bg);cursor:pointer;display:flex;gap:.75rem;padding:.85rem 1.2rem;transition:background .15s;-webkit-user-select:none;user-select:none}.tr-group-header:hover{background:var(--card-bg-hover)}.tr-group-left{align-items:center;display:flex;flex:1 1;gap:.5rem;min-width:0;overflow:hidden}.tr-group-icon{flex-shrink:0;font-size:1rem}.tr-group-name{color:var(--text-main);font-size:.9rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tr-group-right{align-items:center;display:flex;flex-shrink:1;gap:.5rem;min-width:0}.tr-group-chips{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:flex-end}.tr-group-chevron{color:var(--text-muted);display:inline-block;font-size:1.2rem;line-height:1;transform:rotate(90deg);transition:transform .25s ease}.tr-group-chevron.open{transform:rotate(270deg)}.tr-group-body{border-top:1px solid var(--border);display:flex;flex-direction:column}.tr-load-more{align-self:center;margin:.75rem 0}.tr-chip{background:var(--card-bg);border:1px solid var(--border);border-radius:999px;color:var(--text-secondary);font-size:.7rem;font-weight:700;padding:.15rem .55rem;white-space:nowrap}.tr-chip.green{background:#4ade801a;border-color:#4ade8033;color:#4ade80}.tr-chip.red{background:#f871711a;border-color:#f8717133;color:#f87171}.tr-chip.blue{background:#38bdf81a;border-color:#38bdf833;color:var(--accent-blue)}.tr-card{align-items:center;animation:tr-card-in .2s ease both;border-bottom:1px solid var(--border);cursor:pointer;display:flex;gap:.9rem;min-width:0;padding:.7rem 1.2rem;transition:background .15s}.tr-card:last-child{border-bottom:none}.tr-card:hover{background:#38bdf808}.tr-avatar{align-items:center;border-radius:50%;display:flex;flex-shrink:0;font-size:.72rem;font-weight:800;height:36px;justify-content:center;width:36px}.tr-avatar.pass{background:#4ade801f;border:1px solid #4ade8040;color:#4ade80}.tr-avatar.fail{background:#f871711a;border:1px solid #f8717133;color:#f87171}.tr-card-main{flex:1 1;min-width:0}.tr-card-name{color:var(--text-main);font-size:.88rem;font-weight:700}.tr-card-name,.tr-card-sub{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tr-card-sub{color:var(--text-secondary);font-size:.74rem;margin-top:.1rem}.tr-card-city{display:flex;flex-direction:column;flex-shrink:0;gap:.1rem;min-width:90px}.tr-card-city span:first-child{color:var(--text-main);font-size:.82rem}.tr-card-date{color:var(--text-secondary);font-size:.7rem}.tr-card-extra{flex-shrink:0}.tr-ending,.tr-steps-count{color:var(--text-secondary);display:block;font-size:.76rem;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tr-card-score{align-items:center;display:flex;flex-shrink:0;font-size:.88rem;gap:.45rem}.clr-green{color:#4ade80}.clr-red{color:#f87171}.tr-card-chevron{color:var(--text-muted);flex-shrink:0;font-size:1.2rem;transition:color .15s,transform .15s}.tr-card:hover .tr-card-chevron{color:var(--accent-blue);transform:translateX(2px)}.tr-pill{align-items:center;border-radius:999px;display:inline-flex;font-size:.72rem;font-weight:700;padding:.18rem .65rem;white-space:nowrap}.tr-pill.pass{background:#4ade801f;border:1px solid #4ade8033;color:#4ade80}.tr-pill.fail{background:#f871711a;border:1px solid #f8717133;color:#f87171}.tr-loading{align-items:center;color:var(--text-secondary);display:flex;flex:1 1;flex-direction:column;gap:1rem;justify-content:center;padding:3rem}.tr-spinner{animation:tr-spin .8s linear infinite;border:3px solid var(--border);border-radius:50%;border-top-color:var(--accent-blue);height:36px;width:36px}.tr-empty{align-items:center;color:var(--text-secondary);display:flex;flex:1 1;flex-direction:column;font-size:.9rem;gap:.75rem;justify-content:center;padding:3rem}.tr-empty-icon{font-size:2.5rem;opacity:.4}.tr-editable-city{align-items:center;border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;gap:.35rem;margin:-.15rem -.4rem;padding:.15rem .4rem;transition:background .15s}.tr-editable-city:hover{background:#38bdf81a}.tr-edit-icon{font-size:.7rem;opacity:0;transition:opacity .15s}.tr-editable-city:hover .tr-edit-icon{opacity:1}.tr-city-editor{align-items:center;display:inline-flex;gap:.3rem}.tr-city-select{background:var(--card-bg);border:1px solid var(--accent-blue);border-radius:var(--radius-sm);color:var(--text-main);font-size:.85rem;max-width:160px;outline:none;padding:.3rem .5rem}.tr-city-select option{background:var(--secondary-bg);color:var(--text-main)}.tr-city-cancel,.tr-city-save{align-items:center;border:none;border-radius:var(--radius-sm);cursor:pointer;display:flex;font-size:.75rem;height:26px;justify-content:center;transition:all .15s;width:26px}.tr-city-save{background:#4ade8026;color:#4ade80}.tr-city-save:hover{background:#4ade804d}.tr-city-cancel{background:#f871711f;color:#f87171}.tr-city-cancel:hover{background:#f8717140}.tr-overlay{align-items:center;animation:tr-fade .18s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000bf;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:1000}.tr-modal{animation:tr-up .22s cubic-bezier(.175,.885,.32,1.275);background:var(--secondary-bg);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:0 32px 80px #00000080;max-height:90vh;max-width:580px;min-width:0;overflow-x:hidden;overflow-y:auto;position:relative;width:100%}.tr-modal:before{background:linear-gradient(90deg,#0000,var(--accent-blue) 40%,var(--accent-purple) 60%,#0000);content:"";height:1px;left:10%;position:absolute;right:10%;top:0}.tr-modal-header{align-items:center;background:var(--secondary-bg);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:1.2rem 1.5rem;position:-webkit-sticky;position:sticky;top:0;z-index:1}.tr-modal-title{color:var(--text-main);font-size:1.05rem;font-weight:800}.tr-modal-close{align-items:center;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;display:flex;height:30px;justify-content:center;transition:all .15s;width:30px}.tr-modal-close:hover{background:var(--border);color:var(--text-main)}.tr-modal-body{padding:1.5rem}.tr-detail{display:flex;flex-direction:column;gap:1.25rem;min-width:0}.tr-detail-meta{grid-gap:.65rem;display:grid;gap:.65rem;grid-template-columns:1fr 1fr}.tr-meta-field{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:.15rem;min-width:0;padding:.6rem .85rem}.tr-meta-label{color:var(--text-secondary);font-size:.65rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.tr-meta-value{color:var(--text-main);font-size:.88rem;font-weight:600;min-width:0;overflow-wrap:anywhere;word-break:break-word}.tr-score-block{border:1px solid;border-radius:var(--radius-lg);padding:1.5rem;text-align:center}.tr-score-block.pass{background:#4ade800d;border-color:#4ade802e}.tr-score-block.fail{background:#f871710d;border-color:#f871712e}.tr-score-big{font-size:3rem;font-weight:900;line-height:1;margin-bottom:.4rem}.tr-score-block.pass .tr-score-big{color:#4ade80}.tr-score-block.fail .tr-score-big{color:#f87171}.tr-score-sub{color:var(--text-secondary);font-size:.85rem;margin-bottom:.75rem}.tr-section{display:flex;flex-direction:column;gap:.5rem}.tr-section-label{color:var(--text-secondary);font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.tr-error-group{margin-bottom:.5rem}.tr-error-group-label{color:var(--text-main);font-size:.8rem;font-weight:600;margin-bottom:.35rem}.tr-error-item{align-items:flex-start;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-secondary);display:flex;font-size:.82rem;gap:.5rem;margin-bottom:.3rem;padding:.5rem .75rem}.tr-error-bullet{color:var(--accent-red);flex-shrink:0;margin-top:.1rem}@media (max-width:640px){.tr-card-city,.tr-card-extra{display:none}.tr-tabs{border-radius:var(--radius-lg)}.tr-detail-meta{grid-template-columns:1fr}}.quiz-builder,.quiz-builder-editor{color:var(--text-main);display:flex;flex-direction:column;font-family:Inter,system-ui,-apple-system,sans-serif;height:100%;min-width:0;transition:var(--transition)}.quiz-header{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--secondary-bg);border-bottom:1px solid var(--border);display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;padding:1.25rem 2rem}.quiz-header h1{color:var(--text-main);font-size:1.75rem;font-weight:700;margin:0}.quiz-header p{color:var(--text-secondary);font-size:.9rem;margin:.25rem 0 0}.quiz-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));overflow-y:auto;padding:clamp(1rem,2vw,2rem)}.quiz-card{background:var(--secondary-bg);border:1px solid var(--border);border-radius:1.25rem;box-shadow:var(--shadow);display:flex;flex-direction:column;min-width:0;overflow:hidden;transition:var(--transition)}.quiz-card:hover{border-color:var(--accent-blue);box-shadow:0 8px 30px #38bdf81a;transform:translateY(-4px)}.quiz-card-content{flex:1 1;min-width:0;padding:1.5rem}.quiz-card-content h3{color:var(--text-main);font-size:1.25rem;margin:0 0 .75rem}.quiz-card-content p{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--text-secondary);display:-webkit-box;font-size:.9rem;line-height:1.5;margin:0 0 1.25rem;overflow:hidden;text-overflow:ellipsis}.quiz-card-city-badge{align-items:center;background:#38bdf81f;border:1px solid #38bdf833;border-radius:6px;color:var(--accent-blue);display:inline-flex;font-size:.7rem;font-weight:500;gap:4px;padding:.2rem .5rem;white-space:nowrap}.quiz-meta{border-top:1px solid var(--border);color:var(--text-secondary);display:flex;flex-wrap:wrap;font-size:.8rem;gap:1rem;padding-top:.75rem}.quiz-meta span{align-items:center;display:inline-flex;gap:4px}.quiz-card-actions{grid-gap:.6rem;align-items:stretch;background:#ffffff05;border-top:1px solid var(--border);display:grid;gap:.6rem;grid-template-columns:minmax(0,1fr) 40px 40px;padding:.9rem 1.25rem}.qb-header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:var(--secondary-bg);border-bottom:1px solid var(--border);flex-wrap:wrap;gap:1.25rem;justify-content:space-between;padding:1.25rem 2rem;position:-webkit-sticky;position:sticky;top:0;z-index:100}.qb-header,.qb-header-top-row{align-items:center;display:flex}.qb-header-top-row{gap:.75rem;margin-bottom:.5rem}.qb-back-arrow-btn{align-items:center;background:#0000;border:none;border-radius:50%;color:var(--text-secondary);cursor:pointer;display:flex;justify-content:center;padding:6px;transition:var(--transition)}.qb-back-arrow-btn:hover{background:var(--border);color:var(--text-main)}.qb-title-input{background:#0000;border:none;border-bottom:2px solid var(--border);color:var(--text-main);font-size:1.6rem;font-weight:700;padding:.4rem 0;transition:all .3s;width:min(500px,100%)}.qb-title-input:focus{border-color:var(--accent-blue);outline:none}.qb-editor-layout{display:flex;flex:1 1;overflow:hidden;position:relative}.qb-editor-sidebar{background:var(--secondary-bg);border-right:1px solid var(--border);display:flex;flex-direction:column;gap:1.25rem;overflow-y:auto;padding:1.25rem;width:320px}.sidebar-stats-box{background:#ffffff05;border:1px solid var(--border);border-radius:12px;padding:1rem}.sidebar-stats-box h4{color:var(--text-main);font-size:.95rem;font-weight:700;margin:0 0 .75rem}.stats-mini-grid{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(2,1fr)}.stat-card{background:var(--primary-bg);border:1px solid var(--border);border-radius:8px;display:flex;flex-direction:column;justify-content:center;padding:.5rem;text-align:center}.stat-val{font-size:1.25rem;font-weight:700}.stat-lbl{color:var(--text-secondary);font-size:.7rem;margin-top:2px}.sidebar-search-box{position:relative;width:100%}.sidebar-search-icon{color:var(--text-secondary);left:10px;opacity:.7;position:absolute;top:50%;transform:translateY(-50%)}.sidebar-search-box input{background:var(--primary-bg);border:1px solid var(--border);border-radius:8px;color:var(--text-main);font-size:.85rem;outline:none;padding:.55rem .75rem .55rem 2.25rem;transition:var(--transition);width:100%}.sidebar-search-box input:focus{border-color:var(--accent-blue)}.sidebar-q-nav-list{display:flex;flex:1 1;flex-direction:column;gap:.4rem}.sidebar-q-list-header{color:var(--text-secondary);font-size:.75rem;font-weight:700;letter-spacing:.5px;margin-bottom:.25rem;text-transform:uppercase}.sidebar-q-nav-btn{align-items:center;background:#0000;border:1px solid #0000;border-radius:8px;color:var(--text-secondary);cursor:pointer;display:flex;gap:.65rem;min-width:0;padding:.6rem .75rem;text-align:left;transition:var(--transition)}.sidebar-q-nav-btn:hover{background:#ffffff08;color:var(--text-main)}.sidebar-q-nav-btn.active{background:#38bdf814;border-color:#38bdf840;color:var(--text-main)}.sidebar-q-nav-btn.hidden-search{display:none}.q-nav-circle{align-items:center;border-radius:50%;display:flex;flex-shrink:0;height:18px;justify-content:center;width:18px}.sidebar-q-nav-btn.valid .q-nav-circle{background:#10b98126;color:#10b981}.sidebar-q-nav-btn.invalid .q-nav-circle{background:#ef444426;color:#ef4444}.q-nav-number{flex-shrink:0;font-size:.85rem;font-weight:700}.q-nav-text-preview{flex:1 1;font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qb-main{background:var(--primary-bg);display:flex;flex:1 1;flex-direction:column;gap:1.5rem;overflow-y:auto;padding:1.5rem}.glass-panel{border-radius:16px;padding:1.5rem}.qb-section{display:flex;flex-direction:column;gap:.6rem}.qb-label{align-items:center;color:var(--text-secondary);display:inline-flex;font-size:.85rem;font-weight:600}.qb-textarea{background:var(--primary-bg);border:1px solid var(--border);border-radius:.5rem;color:var(--text-main);font-family:inherit;font-size:.85rem;padding:.75rem;resize:none;transition:var(--transition)}.qb-textarea:focus{border-color:var(--accent-blue);box-shadow:0 0 0 3px #38bdf81f;outline:none}.qb-question-card{background:var(--secondary-bg);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);margin-bottom:1.25rem;padding:1.5rem;position:relative;transition:all .25s cubic-bezier(.4,0,.2,1)}.qb-question-card.is-invalid{border-left:4px solid #ef4444}.qb-question-card.is-valid{border-left:4px solid #10b981}.qb-question-card.collapsed{padding:.85rem 1.25rem}.qb-question-card.collapsed:hover{border-color:var(--accent-blue);transform:translateX(2px)}.qb-q-header{gap:1rem;justify-content:space-between}.qb-q-header,.qb-q-header-left{align-items:center;display:flex}.qb-q-header-left{cursor:pointer;flex:1 1;gap:.75rem;min-width:0}.qb-q-grip-handle{align-items:center;color:var(--text-secondary);cursor:grab;display:flex;opacity:.5;padding:4px}.qb-q-grip-handle:hover{opacity:.9}.qb-q-preview{color:var(--text-secondary);font-size:.9rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.warning-dot{background:#ef4444;border-radius:50%;flex-shrink:0;height:7px;width:7px}.qb-q-number{background:var(--accent-blue);border-radius:20px;color:#fff;font-size:.75rem;font-weight:700;padding:.2rem .6rem}.qb-q-actions{gap:.25rem}.qb-q-actions,.qb-q-btn-icon{align-items:center;display:flex}.qb-q-btn-icon{background:#0000;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;height:28px;justify-content:center;transition:var(--transition);width:28px}.qb-q-btn-icon:hover:not(:disabled){background:#ffffff0d;color:var(--text-main)}.qb-q-btn-icon:disabled{cursor:not-allowed;opacity:.25}.qb-q-remove{align-items:center;background:#0000;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;display:flex;height:28px;justify-content:center;transition:var(--transition);width:28px}.qb-q-remove:hover{background:#ef44441a;color:#ef4444}.qb-q-body-content{animation:slideDown .2s ease-out;margin-top:1rem}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.qb-q-text{font-size:1.05rem;font-weight:600;margin-bottom:1rem;width:100%}.qb-options-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin-top:1rem}.qb-option-item{align-items:center;background:var(--primary-bg);border:1px solid var(--border);border-radius:10px;display:flex;gap:.65rem;padding:.5rem .75rem;transition:all .2s}.qb-option-item.correct{background:#10b9810f;border-color:#10b981;box-shadow:0 0 8px #10b9810a}.qb-checkbox{accent-color:#10b981;cursor:pointer;height:17px;width:17px}.qb-opt-remove{align-items:center;background:#0000;border:none;color:var(--text-secondary);cursor:pointer;display:flex;padding:4px;transition:color .2s}.qb-opt-remove:hover{color:#ef4444}.qb-btn-add-opt{align-items:center;background:#0000;border:1.5px dashed var(--border);border-radius:10px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:.85rem;font-weight:600;grid-column:1/-1;justify-content:center;padding:.65rem;transition:var(--transition)}.qb-btn-add-opt:hover{background:#38bdf808;border-color:var(--accent-blue);color:var(--accent-blue)}.qb-btn{align-items:center;border:1px solid #0000;border-radius:10px;cursor:pointer;display:inline-flex;font-size:.88rem;font-weight:600;justify-content:center;padding:.6rem 1.2rem;transition:all .2s}.qb-btn-primary{background:var(--accent-blue);color:#fff}.qb-btn-primary:hover{background:var(--accent-blue-hover);transform:translateY(-1px)}.qb-btn-secondary{background:var(--border);color:var(--text-main)}.qb-btn-secondary:hover{background:var(--border-strong)}.qb-btn-outline{background:#0000;border:1px solid var(--border);color:var(--text-secondary)}.qb-btn-outline:hover{background:#ffffff08;color:var(--text-main)}.city-filter-container{background:var(--primary-bg);gap:8px;padding:.35rem .75rem}.city-filter-label{font-size:.8rem}.qb-city-field{align-items:center;display:flex;gap:8px;margin-top:12px}.qb-city-label{color:var(--text-secondary);font-size:.8rem;white-space:nowrap}.qb-city-select{font-size:.85rem!important;padding:.4rem .6rem!important}.qb-media-row,.qb-settings-row{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:1fr 1fr}.qb-media-row{background:#ffffff03;border:1px solid var(--border);border-radius:10px;margin-top:1rem;padding:1rem}.file-upload-wrapper{display:flex;gap:.5rem}.qb-media-input{flex:1 1;font-size:.85rem!important;padding:.45rem .6rem!important}.file-upload-btn{align-items:center;background:var(--secondary-bg);border:1px solid var(--border);border-radius:8px;color:var(--text-secondary);cursor:pointer;display:flex;justify-content:center;padding:0 .75rem;transition:var(--transition)}.file-upload-btn:hover{background:var(--border);color:var(--text-main)}.qb-add-question-bottom{display:flex;justify-content:center;margin-top:1.5rem}.qb-add-q-btn{border-radius:12px!important;box-shadow:0 4px 20px #0000001a;font-size:.95rem!important;max-width:380px;padding:.85rem 2rem!important;width:100%}.qb-input,.qb-input-mini{background:var(--primary-bg);border:1px solid var(--border);border-radius:10px;color:var(--text-main);font-size:.9rem;outline:none;padding:.6rem .85rem;transition:all .2s}.qb-input-mini:focus,.qb-input:focus{background:var(--secondary-bg);border-color:var(--accent-blue)}.qb-input-mini::placeholder,.qb-input::placeholder{color:var(--text-secondary);opacity:.5}.qb-empty{color:var(--text-secondary);grid-column:1/-1;padding:5rem;text-align:center}.qb-empty-icon{background:#ffffff05;border-radius:50%;color:var(--accent-blue);display:inline-flex;margin-bottom:1rem;padding:1rem}.qb-preview-container{align-items:center;background:var(--primary-bg);display:flex;flex:1 1;justify-content:center;overflow-y:auto;padding:2rem}.qb-preview-card{background:var(--secondary-bg);border:1px solid var(--border);border-radius:20px;box-shadow:0 10px 40px #0003;max-width:600px;overflow:hidden;padding:2rem;position:relative;width:100%}.preview-progress-bar{background:var(--border);height:4px;left:0;position:absolute;top:0;width:100%}.preview-progress-fill{background:var(--accent-blue);height:100%;transition:width .3s ease-out}.preview-q-meta{align-items:center;color:var(--text-secondary);display:flex;font-size:.8rem;font-weight:600;justify-content:space-between;letter-spacing:.5px;margin-bottom:1rem;text-transform:uppercase}.badge-multi{background:#38bdf81f;border-radius:6px;color:var(--accent-blue);font-size:.7rem;padding:.2rem .5rem}.preview-q-text{color:var(--text-main);font-size:1.4rem;line-height:1.4;margin:0 0 1.5rem}.preview-media-box{background:#000;border:1px solid var(--border);border-radius:12px;display:flex;justify-content:center;margin-bottom:1.5rem;overflow:hidden;width:100%}.preview-media-box img,.preview-media-box video{max-height:280px;max-width:100%;object-fit:contain}.preview-options-list{display:flex;flex-direction:column;gap:.65rem;margin-bottom:2rem}.preview-opt-btn{align-items:center;background:var(--primary-bg);border:1px solid var(--border);border-radius:12px;color:var(--text-main);cursor:pointer;display:flex;font-size:.95rem;gap:1rem;padding:.85rem 1.25rem;text-align:left;transition:all .2s}.preview-opt-btn:hover{background:#ffffff05;border-color:var(--border-strong)}.preview-opt-btn.selected{background:#38bdf814;border-color:var(--accent-blue)}.opt-letter{align-items:center;background:var(--border);border-radius:50%;color:var(--text-secondary);display:flex;flex-shrink:0;font-size:.8rem;font-weight:700;height:24px;justify-content:center;width:24px}.preview-opt-btn.selected .opt-letter{background:var(--accent-blue);color:#fff}.preview-navigation{display:flex;gap:1rem;justify-content:space-between}.preview-finish-btn{background:#10b981}.preview-finish-btn:hover{background:#059669}.preview-results-screen{padding:1rem 0;text-align:center}.results-emoji{font-size:4.5rem;margin-bottom:1rem}.results-percentage{font-size:3rem;font-weight:800;margin-bottom:.5rem}.results-score-label{color:var(--text-secondary);font-size:1rem;margin-bottom:.5rem}.results-pass-status{font-size:1rem;font-weight:600}.qb-btn-icon-svg{display:inline-block;flex-shrink:0;margin-right:8px;vertical-align:middle}.qe-root{margin:0 auto;max-width:800px;width:100%}.qe-root.embedded{max-width:720px}.qe-header{margin-bottom:2rem;text-align:center}.qe-header h2{font-size:1.8rem;font-weight:850;letter-spacing:-.02em;margin:0}.qe-timer{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--secondary-bg);border:1px solid var(--border);border-radius:var(--radius-pill);box-shadow:var(--shadow-lg);color:var(--text-main);font-size:1.25rem;font-weight:800;padding:.75rem 1.5rem;position:fixed;right:2rem;top:2rem;z-index:1000}.qe-timer.warning{background:#f8717133;border-color:var(--accent-red);box-shadow:0 0 15px #f8717126;color:var(--accent-red)}.qe-root.embedded .qe-timer{display:inline-block;margin-bottom:1.25rem;position:static;text-align:center}.qe-progress-wrap{margin-bottom:1.5rem}.qe-progress-label{color:var(--text-secondary);display:block;font-size:.85rem;font-weight:700;letter-spacing:.05em;margin-bottom:.5rem;text-transform:uppercase}.qe-progress-bar{background:#ffffff14;border-radius:999px;height:6px;overflow:hidden}.qe-progress-fill{background:linear-gradient(90deg,var(--accent-blue),var(--accent-purple));border-radius:999px;height:100%;transition:width .4s cubic-bezier(.16,1,.3,1)}.qe-card{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-lg);padding:2.5rem}.qe-q-text{color:var(--text-main);font-size:1.35rem;font-weight:750;letter-spacing:-.015em;line-height:1.6;margin-bottom:2rem}.qe-media{background:#0000001a;border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:2rem;overflow:hidden;text-align:center}.qe-media.video{aspect-ratio:16/9}.qe-q-image{display:block;margin:0 auto;max-height:400px;max-width:100%;object-fit:contain}.qe-options{flex-direction:column}.qe-option,.qe-options{display:flex;gap:.75rem}.qe-option{align-items:center;-webkit-appearance:none;appearance:none;background:var(--secondary-bg);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-main);cursor:pointer;font-size:1.05rem;font-weight:600;padding:1.1rem 1.5rem;text-align:left;touch-action:manipulation;transition:var(--transition);-webkit-user-select:none;user-select:none;width:100%}.qe-option:disabled{opacity:1}.qe-option:hover:not(:disabled):not(.correct):not(.wrong):not(.dimmed):not(.selected){background:var(--card-bg-hover);border-color:var(--border-strong);transform:translateX(4px)}.qe-option.selected{background:#38bdf814;border-color:var(--accent-blue);box-shadow:var(--shadow-glow-blue)}.qe-option.correct{background:#4ade8014;border-color:var(--accent-green);box-shadow:var(--shadow-glow-green);color:var(--accent-green)}.qe-option.wrong{background:#f8717114;border-color:var(--accent-red);box-shadow:0 0 15px #f871711a;color:var(--accent-red)}.qe-option.dimmed{cursor:default;opacity:.4}.qe-option-text{flex:1 1}.qe-mark{flex-shrink:0;font-size:1.15rem;font-weight:800}.qe-mark.correct{color:var(--accent-green)}.qe-mark.wrong{color:var(--accent-red)}.qe-checking{color:var(--accent-purple);font-size:.95rem;font-weight:700;padding:.75rem;text-align:center}.qe-explanation{background:#38bdf80f;border:1px solid #38bdf82e;border-radius:var(--radius-md);color:var(--text-main);font-size:.95rem;line-height:1.5;margin-top:1.25rem;padding:1rem 1.25rem}.qe-nav{display:flex;justify-content:flex-end;margin-top:2rem}.qe-btn-confirm,.qe-btn-next{-webkit-appearance:none;appearance:none;background:linear-gradient(135deg,var(--accent-blue),var(--accent-blue-hover));border:none;border-radius:var(--radius-btn);box-shadow:var(--shadow);color:#fff;cursor:pointer;font-size:1.05rem;font-weight:750;padding:1rem 2rem;touch-action:manipulation;transition:var(--transition);width:100%}.qe-btn-confirm{background:linear-gradient(135deg,var(--accent-purple),#6366f1)}.qe-btn-confirm:hover,.qe-btn-next:hover{box-shadow:var(--shadow-glow-blue);transform:translateY(-2px)}.qe-btn-confirm:hover{box-shadow:0 6px 20px #818cf859}.qe-checkbox-box{align-items:center;background:var(--primary-bg);border:2px solid var(--border-strong);border-radius:6px;display:flex;flex-shrink:0;height:22px;justify-content:center;margin-right:.75rem;transition:var(--transition);width:22px}.qe-checkbox-box.checked{background:var(--accent-blue);border-color:var(--accent-blue)}.qe-checkbox-check{color:#000;font-size:.95rem;font-weight:900}.quiz-time-limit{color:var(--accent-blue);font-weight:700;margin-bottom:2rem!important}.quiz-progress-card{text-align:center}.quiz-pending-percent{color:var(--accent-blue);font-size:1.25rem;margin-top:1.5rem}.quiz-pending-percent strong{font-size:1.75rem;font-weight:850}.quiz-error-card{text-align:center}.quiz-error-text{color:var(--accent-red);font-size:1.05rem;font-weight:700;margin-bottom:1.5rem!important}.quiz-local-result{font-size:1.25rem;font-weight:800;margin-bottom:1rem}.quiz-local-result.passed{color:var(--accent-green)}.quiz-local-result.failed{color:var(--accent-orange)}.quiz-error-sub{color:var(--text-secondary);font-size:.95rem;margin-bottom:2rem!important}.quiz-result-card{align-items:center;display:flex;flex-direction:column;text-align:center}.quiz-result-emoji{animation:end-icon-bounce .6s cubic-bezier(.175,.885,.32,1.275);font-size:5rem;margin-bottom:1rem}.quiz-result-status{font-size:1.35rem;font-weight:850;margin-bottom:1rem}.quiz-result-status.passed{color:var(--accent-green)}.quiz-result-status.failed{color:var(--accent-red)}.quiz-certificate-wrapper{margin-top:1.5rem}@media (max-width:768px){.qe-card{padding:1.5rem}.qe-q-image{max-height:250px}.qe-timer{display:block;margin-bottom:1.25rem;position:static;text-align:center}.qe-q-text{font-size:1.15rem;margin-bottom:1.5rem}.qe-option{font-size:1rem;padding:.9rem 1.15rem}.qe-option:hover{transform:none}}.user-manager-container{color:var(--text-main);margin:0 auto;max-width:1280px;min-width:0;padding:clamp(1rem,1.5vw,1.5rem)}.user-manager-header{margin-bottom:1.25rem}.user-manager-header h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#38bdf8,#818cf8);-webkit-background-clip:text;background-clip:text;font-size:1.5rem;margin-bottom:.25rem}.user-manager-header p{color:var(--text-secondary);font-size:.85rem}.error-message{border-radius:8px;font-size:.88rem;margin-bottom:1rem;padding:.75rem 1rem}.create-user-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--card-bg);border:1px solid var(--border);border-radius:12px;margin-bottom:1.25rem;padding:1.1rem 1.25rem}.create-user-section h3{color:var(--text-main);font-size:1rem;font-weight:700;margin-bottom:.85rem}.create-user-form{grid-gap:.85rem;align-items:flex-end;display:grid;gap:.85rem;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.field-wrap label{color:var(--text-secondary);font-size:.78rem;font-weight:600}.create-user-form input,.create-user-form select{background:var(--secondary-bg);border:1px solid var(--border);border-radius:8px;box-sizing:border-box;color:var(--text-main);font-size:.88rem;height:38px;outline:none;padding:.5rem .85rem;transition:var(--transition);width:100%}.create-user-form input:focus,.create-user-form select:focus{border-color:var(--accent-blue);box-shadow:0 0 0 3px #38bdf826}.btn-create{background:var(--btn-primary-bg);border:none;border-radius:8px;color:var(--btn-primary-text);cursor:pointer;font-size:.88rem;font-weight:600;height:38px;padding:.55rem 1.25rem;transition:var(--transition);white-space:nowrap}.btn-create:hover{background:var(--accent-blue-hover);box-shadow:var(--shadow);transform:translateY(-1px)}.users-list-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--card-bg);border:1px solid var(--border);border-radius:12px;margin-bottom:1.25rem;padding:1.25rem}.users-list-section h3{color:var(--text-main);font-size:1rem;font-weight:700;margin-bottom:.85rem}.users-table{background:#0000;border-collapse:collapse;min-width:0;width:100%}.role-descriptions-section,.users-table{min-width:0}.role-descriptions-section,.user-manager-container>.users-table{display:block;overflow-x:auto}.users-table td,.users-table th{border-bottom:1px solid var(--border);font-size:.88rem;padding:.65rem .85rem;text-align:left}.users-table th{background:#ffffff05;color:var(--text-secondary);font-weight:700;letter-spacing:.05em}.role-badge,.users-table th{font-size:.75rem;text-transform:uppercase}.role-badge{border-radius:6px;font-weight:600;letter-spacing:.03em;padding:.2rem .55rem}.role-badge.superadmin{background:#eab3081f;border:1px solid #eab30840;color:#eab308}.role-badge.admin{background:#38bdf81f;border:1px solid #38bdf840;color:#38bdf8}.role-badge.trainer{background:#a855f71f;border:1px solid #a855f740;color:#a855f7}.role-badge.viewer{background:#94a3b81f;border:1px solid #94a3b840;color:#94a3b8}.btn-delete{background:#ef44441a;border:1px solid #ef444433;color:#ef4444;padding:.35rem .6rem;transition:all .2s}.btn-delete:hover{background:#ef4444;color:#fff}.role-descriptions-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--card-bg);border:1px solid var(--border);border-radius:12px;margin-bottom:1.25rem;padding:1.1rem 1.25rem}.role-descriptions-section h3{color:var(--text-main);font-size:.95rem;font-weight:700;margin-bottom:.75rem}.role-desc-table{border-collapse:collapse;width:100%}.role-desc-table td,.role-desc-table th{border-bottom:1px solid var(--border);font-size:.85rem;padding:.5rem .75rem;text-align:left}.role-desc-table th{color:var(--text-secondary);font-size:.75rem;text-transform:uppercase}.role-desc-table td{color:var(--text-main)}.user-actions{display:flex;gap:.4rem}.user-actions button{background:var(--secondary-bg);border:1px solid var(--border);border-radius:6px;color:var(--text-main);cursor:pointer;font-size:.9rem;padding:.35rem .6rem;transition:all .2s}.btn-edit:hover{background:#38bdf81a}.btn-block:hover{background:#f59e0b1a;border-color:#f59e0b}.btn-block.blocked{background:#f59e0b33;border-color:#f59e0b}.btn-delete:hover{background:#ef44441a;border-color:#ef4444}.modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:var(--secondary-bg);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-lg);color:var(--text-main);max-width:440px;padding:1.5rem;width:100%}.modal-content h3{color:var(--accent-blue);font-size:1.1rem;margin-bottom:1rem}.edit-user-form .form-group{margin-bottom:.9rem}.edit-user-form label{color:var(--text-secondary);display:block;font-size:.82rem;font-weight:600;margin-bottom:.3rem}.edit-user-form input,.edit-user-form select{background:var(--primary-bg);border:1px solid var(--border);border-radius:6px;box-sizing:border-box;color:var(--text-main);font-size:.9rem;outline:none;padding:.5rem .75rem;width:100%}.edit-user-form input:focus,.edit-user-form select:focus{border-color:var(--accent-blue)}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.25rem}.btn-save{background:var(--accent-blue);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.88rem;font-weight:600;padding:.55rem 1.25rem;transition:var(--transition)}.btn-save:hover{background:var(--accent-blue-hover);box-shadow:var(--shadow)}.btn-cancel{background:#0000;border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);cursor:pointer;font-size:.88rem;padding:.55rem 1.25rem;transition:var(--transition)}.btn-cancel:hover{background:var(--card-bg-hover);border-color:var(--text-secondary)}.field-wrap{display:flex;flex-direction:column;gap:.25rem;width:100%}.field-hint{font-size:.7rem}.multi-desk-container{display:flex;flex-direction:column;margin:0 auto;max-width:1200px;min-height:100vh;padding:var(--admin-padding);width:100%}.stepper{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-pill);flex-wrap:wrap;justify-content:center;margin-bottom:2rem;margin-left:auto;margin-right:auto;padding:.75rem 1.5rem;width:-webkit-fit-content;width:fit-content}.stepper,.stepper-step{align-items:center;display:flex;gap:.5rem}.step-circle{align-items:center;background:var(--secondary-bg);border:2px solid var(--border);border-radius:50%;color:var(--text-secondary);display:flex;flex-shrink:0;font-size:.9rem;font-weight:800;height:38px;justify-content:center;transition:var(--transition);width:38px}.step-circle.active{background:#38bdf81f;border-color:var(--accent-blue);box-shadow:var(--shadow-glow-blue);color:#fff}.step-circle.done{background:#4ade801f;border-color:var(--accent-green);box-shadow:var(--shadow-glow-green);color:var(--accent-green)}.step-line{background:var(--border);border-radius:999px;height:3px;transition:var(--transition);width:40px}.step-line.done{background:var(--accent-green)}.step-header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow);margin-bottom:2rem;padding:1.5rem;text-align:center}.step-header h2{color:var(--text-main);font-size:1.8rem;font-weight:850;letter-spacing:-.02em;margin:0 0 .5rem}.step-header p{color:var(--text-secondary);font-size:.95rem;font-weight:600;margin:0}.multi-summary{animation:fadeInUp .5s cubic-bezier(.16,1,.3,1);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-lg);margin:2rem auto;max-width:680px;overflow:hidden;padding:3rem 2.5rem;position:relative}.multi-summary:before{background:linear-gradient(90deg,var(--accent-blue),var(--accent-purple));content:"";height:4px;left:0;position:absolute;top:0;width:100%}.multi-summary h2{color:var(--text-main);font-size:2rem;font-weight:850;letter-spacing:-.02em;margin:0 0 2rem;text-align:center}.summary-table{border:1px solid var(--border);border-collapse:collapse;border-radius:var(--radius-md);margin-bottom:2rem;overflow:hidden;width:100%}.summary-table td,.summary-table th{border-bottom:1px solid var(--border);font-size:.95rem;padding:1rem 1.15rem;text-align:left}.summary-table th{background:#ffffff05;color:var(--text-secondary);font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.summary-table tr:last-child td{border-bottom:none}.summary-table .passed-row td{color:var(--accent-green);font-weight:600}.summary-table .failed-row td{color:var(--accent-red);font-weight:600}.overall-result{align-items:center;display:flex;flex-direction:column;gap:1.25rem;padding-top:1rem;text-align:center}.overall-score{font-size:4rem;font-weight:900;letter-spacing:-.03em;line-height:1}.overall-status{color:var(--text-main);font-size:1.25rem;font-weight:750;margin:0 0 1rem}.multi-certificate-wrapper{margin-top:1rem}.text-success{color:var(--accent-green)}.text-danger{color:var(--accent-red)}@media (max-width:768px){.multi-desk-container{padding:1rem}.stepper{gap:.35rem;padding:.5rem 1rem}.step-circle{font-size:.8rem;height:32px;width:32px}.step-line{height:2px;width:20px}.multi-summary{padding:2rem 1.25rem}.overall-score{font-size:3rem}.step-header{border-radius:12px;margin-bottom:1rem;padding:1rem}.step-header h2{font-size:1.35rem}.step-header p{font-size:.85rem}}.complex-builder{color:var(--text-main);display:flex;flex-direction:column;height:100%;min-height:0}.complex-builder-header{align-items:center;background:var(--card-bg);border-bottom:1px solid var(--border);display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:space-between;margin-bottom:1.5rem;padding:1.5rem 2rem}.complex-builder-header h1{color:var(--text-main);font-size:1.8rem;font-weight:800;letter-spacing:-.02em;margin:0}.complex-builder-header p{color:var(--text-secondary);font-size:.95rem;margin:.4rem 0 0}.builder-actions{align-items:center;display:flex;flex-wrap:wrap;gap:1.25rem}.builder-body{grid-gap:1rem;display:grid;flex:1 1;gap:1rem;grid-template-columns:1fr 300px;min-height:0;overflow:hidden}.builder-main{gap:1.5rem;overflow-y:auto;padding-right:4px}.builder-form-card,.builder-main{display:flex;flex-direction:column}.builder-form-card{background:var(--secondary-bg);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);gap:1.2rem;padding:1.5rem}.builder-field{display:flex;flex-direction:column;gap:.5rem}.builder-field label{color:var(--text-secondary);font-size:.75rem;font-weight:700;letter-spacing:.08em;padding-left:2px;text-transform:uppercase}.builder-field input,.builder-field textarea{background:var(--primary-bg);border:1px solid var(--border);border-radius:12px;box-shadow:inset 0 2px 4px #00000005;box-sizing:border-box;color:var(--text-main);font-family:inherit;font-size:.95rem;outline:none;padding:.85rem 1.1rem;transition:all .2s cubic-bezier(.4,0,.2,1);width:100%}.builder-field input::placeholder,.builder-field textarea::placeholder{color:var(--text-secondary);opacity:.5}.builder-field input:focus,.builder-field textarea:focus{background:var(--secondary-bg);border-color:var(--accent-blue);box-shadow:0 0 0 4px #38bdf81f,inset 0 2px 4px #00000005;transform:translateY(-1px)}.builder-field textarea{line-height:1.5;min-height:80px;resize:vertical}.saved-tests,.steps-section{display:flex;flex-direction:column;gap:1rem}.saved-tests-header,.steps-header{align-items:center;border-bottom:1px solid var(--border);display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;padding-bottom:.5rem}.steps-label{color:var(--accent-blue);font-size:.85rem;font-weight:700;letter-spacing:.1em;margin:0;text-transform:uppercase}.empty-saved-msg{background:var(--secondary-bg);border:1px solid var(--border);border-radius:12px;color:var(--text-secondary);font-size:.85rem;padding:1.5rem;text-align:center}.test-city-badge{background:#38bdf81a;border-radius:4px;color:var(--accent-blue);font-size:.7rem;font-weight:400;padding:2px 6px;white-space:nowrap}.test-title{align-items:center;display:flex;flex-wrap:wrap;font-size:.95rem;font-weight:600;gap:8px}.city-filter-container{align-items:center;background:var(--card-bg);border:1px solid var(--border);border-radius:8px;display:flex;font-weight:400;gap:6px;padding:4px 8px}.city-filter-label{color:var(--text-secondary);font-size:.7rem;white-space:nowrap}.city-filter-select{background:#0000;border:none;color:var(--text-main);cursor:pointer;font-size:.8rem;outline:none}.city-filter-select option{background:var(--secondary-bg);color:var(--text-main)}.steps-list{display:flex;flex-direction:column;gap:.5rem}.step-card{align-items:center;background:var(--card-bg);border:1px solid var(--border);border-radius:12px;display:flex;gap:.75rem;padding:.75rem;transition:var(--transition)}.step-card:hover{background:var(--card-bg-hover);border-color:var(--accent-blue)}.step-number{font-size:.8rem;height:30px;width:30px}.step-number.desk{background:#38bdf826;border:1px solid #38bdf84d;color:#38bdf8}.step-number.game{background:#a855f726;border:1px solid #a855f74d;color:#a855f7}.step-number.quiz{background:#fbbf2426;border:1px solid #fbbf244d;color:#fbbf24}.step-info{flex:1 1;min-width:0}.step-info .step-title{font-size:.88rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.step-info .step-type{color:var(--text-secondary);font-size:.72rem}.step-remove{align-items:center;background:none;border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);cursor:pointer;display:flex;flex-shrink:0;font-size:1rem;height:28px;justify-content:center;transition:all .15s;width:28px}.step-remove:hover{background:#ef4444;border-color:#ef4444;color:#fff}.step-arrows{display:flex;flex-direction:column;gap:2px}.step-arrow{align-items:center;background:none;border:1px solid var(--border);border-radius:4px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:.6rem;height:18px;justify-content:center;padding:0;transition:all .15s;width:22px}.step-arrow:hover{background:var(--accent-blue);border-color:var(--accent-blue);color:#fff}.step-arrow:disabled{cursor:not-allowed;opacity:.2}.empty-steps{background:var(--card-bg);border:1px dashed var(--border);border-radius:12px;color:var(--text-secondary);font-size:.9rem;padding:2rem;text-align:center}.builder-sidebar{background:var(--card-bg);border:1px solid var(--border);border-radius:16px;display:flex;flex-direction:column;min-height:0;overflow:hidden;padding:1rem}.sidebar-section{margin-bottom:1rem}.sidebar-section:last-child{margin-bottom:0}.sidebar-section-label{align-items:center;color:var(--text-secondary);display:flex;font-size:.7rem;font-weight:700;gap:.4rem;letter-spacing:.06em;margin-bottom:.5rem;text-transform:uppercase}.sidebar-items{display:flex;flex-direction:column;gap:.35rem;max-height:200px;overflow-y:auto}.sidebar-item{align-items:center;background:var(--secondary-bg);border:1px solid var(--border);border-radius:8px;color:var(--text-main);cursor:pointer;display:flex;font-size:.82rem;gap:.5rem;padding:.5rem .65rem;transition:all .15s}.sidebar-item:hover{background:var(--card-bg-hover);border-color:var(--accent-blue)}.sidebar-item .item-icon{flex-shrink:0}.sidebar-item .item-title{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-empty{color:var(--text-secondary);font-size:.78rem;opacity:.6;padding:.5rem}.saved-tests{margin-top:1rem}.saved-test-card{align-items:center;background:var(--secondary-bg);border:1px solid var(--border);border-radius:10px;display:flex;gap:.6rem;margin-bottom:.4rem;padding:.65rem .75rem;transition:all .15s}.saved-test-card:hover{background:var(--card-bg-hover);border-color:var(--accent-blue)}.saved-test-info{flex:1 1;min-width:0}.saved-test-info .test-title{font-size:.85rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.saved-test-info .test-meta{color:var(--text-secondary);font-size:.72rem}.saved-test-actions{align-items:center;display:flex;gap:.6rem}.saved-test-actions button{background:var(--card-bg);border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);cursor:pointer;font-size:.85rem;min-width:28px;padding:.25rem .45rem;text-align:center;transition:all .15s}.builder-city-select{background:var(--secondary-bg);border:1px solid var(--border);border-radius:8px;color:var(--text-main);cursor:pointer;font-size:.9rem;height:36px;outline:none;padding:0 10px;transition:var(--transition);width:200px}.builder-city-select:focus{border-color:var(--accent-blue)}.builder-city-select option{background:var(--secondary-bg);color:var(--text-main)}.saved-test-actions .btn-delete:hover{background:#ef4444;border-color:#ef4444}.saved-copied{color:#4ade80;font-size:.8rem;padding:0 .3rem}@media (max-width:900px){.builder-body{grid-template-columns:1fr;grid-template-rows:auto 1fr;overflow:auto}.builder-sidebar{max-height:300px;order:-1}.sidebar-items{max-height:120px}}@media (max-width:500px){.complex-builder-header h1{font-size:1.3rem}}.complex-builder-header{margin-bottom:2rem!important}.step-card{gap:1.25rem!important;padding:1rem!important;transition:all .25s cubic-bezier(.4,0,.2,1)!important}.step-card:hover{border-color:var(--accent-blue)!important;box-shadow:var(--shadow-lg);transform:translateY(-2px)}.step-card.desk{border-left:4px solid #38bdf8!important}.step-card.game{border-left:4px solid #a855f7!important}.step-card.quiz{border-left:4px solid #fbbf24!important}.sidebar-search-input{background:var(--primary-bg);border:1px solid var(--border);border-radius:8px;box-sizing:border-box;color:var(--text-main);font-size:.8rem;margin-bottom:.65rem;outline:none;padding:.45rem .75rem;transition:all .2s;width:100%}.sidebar-search-input:focus{border-color:var(--accent-blue);box-shadow:var(--shadow-glow-blue)}.sidebar-item{padding:.6rem .75rem!important;transition:all .2s ease!important}.sidebar-item:hover{transform:translateX(2px)}.item-add-badge{align-items:center;background:#38bdf826;border-radius:50%;color:#38bdf8;display:flex;font-size:.8rem;font-weight:700;height:18px;justify-content:center;margin-left:auto;width:18px}.step-time-setting{align-items:center;background:var(--primary-bg);border:1px solid var(--border);border-radius:8px;display:flex;flex-shrink:0;gap:8px;padding:.35rem .75rem}.time-label{color:var(--text-secondary);font-size:.7rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.step-time-slider{accent-color:#38bdf8;background:#ffffff1a;border-radius:2px;cursor:pointer;height:4px;width:90px}.step-time-input{background:var(--primary-bg)!important;border:1px solid var(--border)!important;border-radius:4px;color:var(--text-main)!important;font-size:.8rem!important;height:24px;outline:none;padding:0!important;text-align:center;width:44px}.time-unit{color:var(--text-secondary);font-size:.75rem;min-width:50px}.journey-timeline-card{background:var(--secondary-bg);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:1.25rem;padding:1.25rem 1.5rem}.journey-header{border-bottom:1px solid var(--border);gap:10px;justify-content:space-between;padding-bottom:.75rem}.journey-header,.journey-summary{align-items:center;display:flex;flex-wrap:wrap}.journey-summary{gap:8px}.journey-badge{border-radius:6px;font-size:.72rem;font-weight:700;padding:.2rem .5rem}.journey-badge.desk{background:#38bdf81a;border:1px solid #38bdf833;color:#38bdf8}.journey-badge.game{background:#a855f71a;border:1px solid #a855f733;color:#a855f7}.journey-badge.quiz{background:#fbbf241a;border:1px solid #fbbf2433;color:#fbbf24}.journey-time-badge{background:#10b9811a;border:1px solid #10b98133;border-radius:6px;color:#10b981;font-size:.75rem;font-weight:700;padding:.2rem .5rem}.journey-rail-wrapper{overflow-x:auto;padding:1rem 0}.journey-rail-wrapper::-webkit-scrollbar{height:4px}.journey-rail-wrapper::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:2px}.journey-rail{align-items:center;display:flex;min-width:-webkit-max-content;min-width:max-content;padding:0 1rem}.journey-line{background:var(--border);flex-shrink:0;height:2px;position:relative;width:60px}.journey-milestone{align-items:center;display:flex;flex-direction:column;flex-shrink:0;gap:8px;position:relative;text-align:center}.milestone-dot{align-items:center;background:var(--primary-bg);border:1px solid var(--border);border-radius:50%;box-shadow:var(--shadow);display:flex;font-size:1.2rem;height:42px;justify-content:center;transition:all .3s ease;width:42px}.journey-milestone:hover .milestone-dot{transform:scale(1.1)}.journey-milestone.desk .milestone-dot{background:#38bdf814;border-color:#38bdf8;box-shadow:0 0 10px #38bdf826}.journey-milestone.game .milestone-dot{background:#a855f714;border-color:#a855f7;box-shadow:0 0 10px #a855f726}.journey-milestone.quiz .milestone-dot{background:#fbbf2414;border-color:#fbbf24;box-shadow:0 0 10px #fbbf2426}.milestone-info{align-items:center;display:flex;flex-direction:column;width:110px}.milestone-index{color:var(--text-secondary);font-size:.6rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.milestone-title{color:var(--text-main);font-size:.78rem;font-weight:600;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.milestone-time{background:var(--primary-bg);border-radius:4px;color:var(--text-secondary);font-size:.68rem;margin-top:4px;padding:1px 6px}.milestone-label{color:var(--text-secondary);font-size:.8rem;font-weight:700}.journey-milestone.start .milestone-dot{background:#10b9810d;border-color:#10b981}.journey-milestone.end .milestone-dot{background:#a855f70d;border-color:#a855f7}.inactive-container{align-items:center;background:var(--bg-primary);color:#fff;display:flex;flex-direction:column;font-family:Inter,sans-serif;justify-content:center;min-height:100vh;padding:2rem}.inactive-card{animation:slideUp .6s ease-out;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:2rem;box-shadow:0 20px 50px #0000004d;max-width:500px;padding:3rem;text-align:center;width:100%}.inactive-icon{font-size:4rem;margin-bottom:1.5rem}.inactive-card h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#fff,#94a3b8);-webkit-background-clip:text;background-clip:text;font-size:2rem;font-weight:700;margin-bottom:1rem}.inactive-card p{color:var(--text-secondary);line-height:1.6;margin-bottom:2rem}.inactive-info{background:#ffffff0d;border-left:4px solid var(--accent-blue);border-radius:12px;color:#ffffff80;font-size:.9rem;margin-bottom:2rem;padding:1rem}.inactive-footer{color:#ffffff4d;font-size:.85rem;margin-top:2rem}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.city-management-container{animation:fadeIn .4s ease-out;color:var(--text-main);margin:0 auto;max-width:900px;padding:clamp(1.5rem,3vw,3rem)}.city-header{margin-bottom:2.5rem}.city-header h2{color:var(--text-main);font-size:2.2rem;font-weight:800;margin-bottom:.75rem}.city-header p{color:var(--text-secondary);font-size:1.1rem;max-width:600px}.add-city-section{background:var(--card-bg);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);margin-bottom:3rem;padding:2rem}.add-city-form{display:flex;flex-wrap:wrap;gap:1rem}.add-city-form input{background:var(--primary-bg);border:1px solid var(--border);border-radius:12px;box-shadow:inset 0 2px 4px #00000005;color:var(--text-main);flex:1 1 300px;font-size:1rem;outline:none;padding:.9rem 1.25rem;transition:all .2s cubic-bezier(.4,0,.2,1)}.add-city-form input:focus{background:var(--secondary-bg);border-color:var(--accent-blue);box-shadow:0 0 0 4px #38bdf81f,inset 0 2px 4px #00000005;transform:translateY(-1px)}.cities-list-section h3{color:var(--text-secondary);font-size:1.2rem;letter-spacing:.1em;margin-bottom:1.5rem;padding-left:.5rem;text-transform:uppercase}.cities-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.city-card{align-items:center;background:var(--secondary-bg);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);display:flex;justify-content:space-between;padding:1.25rem 1.5rem;transition:all .2s ease}.city-card:hover{border-color:var(--accent-blue);box-shadow:0 8px 15px #0000001a;transform:translateY(-3px)}.city-name{font-size:1.05rem;font-weight:600}.btn-delete-city{align-items:center;background:var(--card-bg);border:1px solid var(--border);border-radius:8px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:1.2rem;height:32px;justify-content:center;transition:all .2s;width:32px}.btn-delete-city:hover{background:#ef4444;border-color:#ef4444;color:#fff}.empty-msg{background:var(--card-bg);border:1px dashed var(--border);border-radius:16px;color:var(--text-secondary);font-style:italic;grid-column:1/-1;padding:4rem 2rem;text-align:center}.login-container{align-items:center;background:var(--primary-bg);display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:1.5rem;position:relative}.login-container:after,.login-container:before{animation:gradientShift 8s ease infinite;background-size:200% 200%;border-radius:50%;content:"";filter:blur(80px);opacity:.12;pointer-events:none;position:absolute}.login-container:before{background:radial-gradient(circle,var(--accent-blue),var(--accent-purple));height:500px;left:-150px;top:-150px;width:500px}.login-container:after{animation-delay:4s;background:radial-gradient(circle,var(--accent-purple),var(--accent-blue));bottom:-100px;height:400px;right:-100px;width:400px}.login-card{animation:floatUp .5s cubic-bezier(.16,1,.3,1) both;background:var(--secondary-bg);border:1px solid var(--border);border-radius:24px;box-shadow:0 25px 60px #0006,0 0 0 1px #ffffff0d,inset 0 1px 0 #ffffff14;max-width:400px;padding:2.5rem 2rem;position:relative;width:100%;z-index:1}.login-card:before{background:linear-gradient(90deg,#0000,var(--accent-blue) 40%,var(--accent-purple) 60%,#0000);border-radius:50%;content:"";height:1px;left:10%;position:absolute;right:10%;top:0}.login-logo{margin-bottom:2rem;text-align:center}.login-logo-img{display:block;filter:brightness(1.05);height:auto;margin:0 auto .85rem;max-width:120px;width:100%}.login-logo p{color:var(--text-secondary);font-size:.82rem;font-weight:500;letter-spacing:.3px;margin:0}.login-form{display:flex;flex-direction:column;gap:1rem}.form-group label{font-size:.8rem}.form-group input{padding:.8rem 1rem}.login-error-box{background:#f8717114;border:1px solid #f8717133;border-radius:var(--radius-md);color:#f87171;font-size:.85rem;padding:.75rem 1rem;text-align:center}.login-error{display:none}.btn-login{background:linear-gradient(135deg,var(--accent-blue) 0,var(--accent-purple) 100%);border:none;border-radius:var(--radius-md);box-shadow:0 4px 18px #38bdf84d;color:#fff;cursor:pointer;font-family:inherit;font-size:.95rem;font-weight:700;margin-top:.5rem;overflow:hidden;padding:.9rem;position:relative;transition:all .25s ease;width:100%}.btn-login:before{animation:shimmerBtn 1.8s linear infinite;background:linear-gradient(90deg,#0000,#ffffff26 50%,#0000);background-size:200% 100%;content:"";inset:0;opacity:0;position:absolute;transition:opacity .3s ease}.btn-login:hover:not(:disabled):before{opacity:1}.btn-login:hover:not(:disabled){box-shadow:0 8px 25px #38bdf866;transform:translateY(-2px)}.btn-login:active:not(:disabled){transform:translateY(0)}.btn-login:disabled{cursor:not-allowed;opacity:.7}.btn-login-spinner{animation:spin .7s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;display:inline-block;height:14px;margin-right:.5rem;vertical-align:middle;width:14px}@media (max-width:480px){.login-card{border-radius:18px;padding:1.5rem 1.25rem}}.game-container{flex-direction:column;margin:0 auto;max-width:1400px;width:100%}.game-container,.game-loading{background:var(--primary-bg);display:flex;min-height:100vh}.game-loading{align-items:center;color:var(--text-secondary);font-size:1.25rem;font-weight:700;justify-content:center}.game-loading:before{animation:game-spin .8s linear infinite;border:2px solid var(--border-strong);border-radius:50%;border-top-color:var(--accent-blue);content:"";height:20px;margin-right:.75rem;width:20px}@keyframes game-spin{to{transform:rotate(1turn)}}.game-header{align-items:center;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:var(--card-bg);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:1.5rem var(--admin-padding);position:-webkit-sticky;position:sticky;top:0;z-index:10}.game-title{color:var(--text-main);font-size:1.15rem;font-weight:750;letter-spacing:-.01em;margin:0}.game-header-right{align-items:center;display:flex;gap:1rem}.game-player-name{color:var(--text-secondary);font-size:.9rem;font-weight:600}.btn-back-small{background:var(--secondary-bg);border:1px solid var(--border);border-radius:var(--radius-btn);color:var(--text-secondary);cursor:pointer;font-size:.85rem;font-weight:700;padding:.45rem 1.15rem;transition:var(--transition)}.btn-back-small:hover{background:var(--card-bg-hover);border-color:var(--border-strong);color:var(--text-main)}.game-scene{animation:scene-fade-in .5s cubic-bezier(.16,1,.3,1);flex:1 1;flex-direction:column;gap:1.25rem;justify-content:center;padding:3rem 2rem 1.5rem}.game-scene,.speaker-card{align-items:center;display:flex}.speaker-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--card-bg);border:1px solid var(--border);border-left:4px solid var(--char-color,var(--accent-blue));border-radius:var(--radius-pill);box-shadow:var(--shadow);gap:.75rem;padding:.5rem 1.5rem .5rem .75rem}.speaker-avatar{font-size:2rem;line-height:1}.speaker-name{color:var(--accent-blue);color:var(--char-color,var(--accent-blue));font-size:1rem;font-weight:800;letter-spacing:.01em}.scene-text{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-lg);color:var(--text-main);font-size:1.35rem;line-height:1.8;max-width:720px;padding:3rem;text-align:center;transition:var(--transition);white-space:pre-wrap;width:100%}.scene-text.has-speaker{border-top:3px solid var(--char-color,var(--accent-blue))}.game-choices{animation:scene-fade-in .5s cubic-bezier(.16,1,.3,1) .1s both;display:flex;flex-direction:column;gap:.75rem;margin:0 auto;max-width:720px;padding:1.5rem 2rem 4rem;width:100%}.choice-btn{align-items:center;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-main);cursor:pointer;display:flex;font-family:inherit;font-size:1.05rem;font-weight:600;gap:1.15rem;line-height:1.5;padding:1.15rem 1.5rem;text-align:left;transition:var(--transition);width:100%}.choice-btn:hover{background:#38bdf814;border-color:var(--accent-blue);box-shadow:var(--shadow-glow-blue);transform:translateX(8px)}.choice-letter{align-items:center;background:#38bdf81a;border:1px solid #38bdf84d;border-radius:50%;color:var(--accent-blue);display:flex;flex-shrink:0;font-size:.85rem;font-weight:800;height:32px;justify-content:center;width:32px}.choice-text{flex:1 1}.game-registration{align-items:center;animation:scene-fade-in .4s ease;background:radial-gradient(circle at center,#38bdf814,#0000 70%),var(--primary-bg);display:flex;justify-content:center;min-height:100vh;padding:2rem 1rem}.game-reg-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-lg);max-width:440px;overflow:hidden;padding:3rem 2.5rem;position:relative;width:100%}.game-reg-card:before{background:linear-gradient(90deg,var(--accent-blue),var(--accent-purple));content:"";height:4px;left:0;position:absolute;top:0;width:100%}.game-reg-header{align-items:center;display:flex;gap:.75rem;margin-bottom:1rem}.game-reg-icon{font-size:2.2rem}.game-reg-title{color:var(--text-main);font-size:1.8rem;font-weight:850;letter-spacing:-.02em;margin:0}.game-reg-desc{border-bottom:1px solid var(--border);color:var(--text-secondary);font-size:.95rem;line-height:1.6;margin:0 0 2rem;padding-bottom:1.5rem}.game-reg-form{gap:1.25rem}.game-reg-field,.game-reg-form{display:flex;flex-direction:column}.game-reg-field{gap:.5rem}.game-reg-field label{color:var(--text-secondary);font-size:.85rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.game-reg-field input{background:var(--secondary-bg);border:1px solid var(--border);border-radius:var(--radius-btn);color:var(--text-main);font-family:inherit;font-size:.95rem;font-weight:500;outline:none;padding:.85rem 1.15rem;transition:var(--transition)}.game-reg-field input:focus{background:var(--card-bg-hover);border-color:var(--accent-blue);box-shadow:0 0 0 3px #38bdf826}.game-reg-submit{margin-top:1rem;width:100%}.game-city-input-disabled{background:#ffffff05!important;color:var(--text-muted)!important;cursor:not-allowed;opacity:.7}.game-city-input-disabled,.game-city-select{border:1px solid var(--border);border-radius:var(--radius-btn);font-size:.95rem;font-weight:500;padding:.85rem 1.15rem;width:100%}.game-city-select{-webkit-appearance:none;appearance:none;background:var(--secondary-bg);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 1.1rem center;background-repeat:no-repeat;background-size:1rem;color:var(--text-main)}.game-city-select:focus{background:var(--card-bg-hover);border-color:var(--accent-blue);box-shadow:0 0 0 3px #38bdf826;outline:none}.game-certificate-wrapper{display:flex;justify-content:center;margin-top:1rem}.game-end-screen{align-items:center;animation:scene-fade-in .5s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column;justify-content:center;min-height:100vh;padding:var(--admin-padding);text-align:center}.game-end-screen.win{background:radial-gradient(circle at center,#4ade8014,#0000 70%),var(--primary-bg)}.game-end-screen.lose{background:radial-gradient(circle at center,#f8717112,#0000 70%),var(--primary-bg)}.end-icon{animation:end-icon-bounce .6s cubic-bezier(.175,.885,.32,1.275);font-size:5.5rem;margin-bottom:1.5rem}.game-end-screen h1{font-size:2.6rem;font-weight:900;letter-spacing:-.02em;margin:0 0 1rem}.game-end-screen.win h1{color:var(--accent-green)}.game-end-screen.lose h1{color:var(--accent-red)}.end-choice{color:var(--text-secondary);font-size:.95rem;font-weight:500;margin-bottom:1rem;max-width:560px}.end-result-text{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-lg);color:var(--text-main);font-size:1.15rem;line-height:1.75;margin-bottom:2rem;max-width:600px;padding:2rem;text-align:left;white-space:pre-wrap;width:100%}.end-info{background:#f871710f;border:1px solid #f8717133;border-radius:var(--radius-md);color:var(--accent-red);font-size:1rem;font-weight:700;margin-top:1.5rem;padding:.9rem 1.75rem;text-align:center;width:-webkit-fit-content;width:fit-content}.btn-restart{background:linear-gradient(135deg,var(--accent-blue),var(--accent-blue-hover));border:none;box-shadow:var(--shadow);color:#fff;font-family:inherit;font-size:1.05rem;padding:.85rem 2rem}.btn-restart:hover{box-shadow:var(--shadow-glow-blue);transform:translateY(-2px)}@keyframes scene-fade-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes end-icon-bounce{0%{opacity:0;transform:scale(0)}60%{transform:scale(1.2)}to{opacity:1;transform:scale(1)}}@media (max-width:768px){.game-header{padding:1.25rem 1rem}.game-scene{align-items:flex-start;gap:.75rem;padding:2rem 1rem 1rem}.speaker-card{padding:.4rem 1.15rem .4rem .6rem}.speaker-avatar{font-size:1.8rem}.speaker-name{font-size:.9rem}.scene-text{border-radius:16px;font-size:1.1rem;padding:1.5rem;text-align:left}.game-choices{gap:.6rem;padding:1rem 1rem 2rem}.choice-btn{border-radius:12px;font-size:1rem;padding:.9rem 1.15rem}.choice-btn:hover{transform:none}.game-end-screen h1{font-size:2.1rem}.end-icon{font-size:4.5rem}.end-result-text{font-size:1rem;padding:1.25rem}}.analytics-page{animation:an-fade-in .4s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column;gap:1.5rem;max-width:min(1600px,100%);min-width:0;padding:var(--admin-padding)}@keyframes an-fade-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.analytics-header{align-items:center;border-bottom:1px solid var(--border);display:flex;flex-wrap:wrap;gap:1.25rem;justify-content:space-between;min-width:0;padding-bottom:.5rem}.analytics-header h1{align-items:center;color:var(--text-main);display:flex;font-size:2rem;font-weight:850;gap:.6rem;letter-spacing:-.02em;margin:0}.analytics-header h1:before{background:linear-gradient(180deg,var(--accent-blue),var(--accent-purple));border-radius:999px;content:"";display:inline-block;flex-shrink:0;height:28px;width:6px}.analytics-header p{color:var(--text-secondary);font-size:.95rem;margin:.25rem 0 0}.analytics-section-title{margin:1.5rem 0 .5rem;padding-left:.25rem}.analytics-section-title h2{color:var(--text-main);font-size:1.35rem;font-weight:800;letter-spacing:-.01em;margin:0}.analytics-section-title p{color:var(--text-secondary);font-size:.88rem;margin:.25rem 0 0}.analytics-controls{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.analytics-btn{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-btn);color:var(--text-main);cursor:pointer;display:inline-flex;font-family:inherit;font-size:.9rem;font-weight:700;gap:.5rem;padding:.65rem 1.25rem;transition:var(--transition)}.analytics-btn:hover{background:var(--card-bg-hover);border-color:var(--accent-blue);box-shadow:var(--shadow-glow-blue);color:var(--accent-blue);transform:translateY(-1px)}.analytics-select-wrap{align-items:center;display:flex;position:relative}.analytics-select-wrap .select-icon{color:var(--text-secondary);left:.85rem;pointer-events:none;position:absolute;transition:var(--transition)}.analytics-select{-webkit-appearance:none;appearance:none;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--card-bg);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right .85rem center;background-repeat:no-repeat;background-size:1rem;border:1px solid var(--border);border-radius:var(--radius-btn);color:var(--text-main);cursor:pointer;font-family:inherit;font-size:.9rem;font-weight:600;outline:none;padding:.65rem 2.2rem .65rem 1.25rem;transition:var(--transition)}.analytics-select.with-icon{padding-left:2.3rem}.analytics-select:focus{background:var(--card-bg-hover);border-color:var(--accent-blue);box-shadow:0 0 0 3px #38bdf81f}.analytics-select option{background:var(--secondary-bg);color:var(--text-main)}.analytics-cards{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}.an-card{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:.4rem;overflow:hidden;padding:1.75rem;position:relative}.an-card,.an-card:before{transition:var(--transition)}.an-card:before{background:#0000;content:"";height:3px;left:0;position:absolute;top:0;width:100%}.an-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-lg);transform:translateY(-3px)}.an-card-icon-wrapper{align-items:center;border-radius:var(--radius-md);display:flex;height:44px;justify-content:center;margin-bottom:.5rem;transition:var(--transition);width:44px}.an-card-icon-wrapper.blue{background:#38bdf81a;color:var(--accent-blue)}.an-card-icon-wrapper.green{background:#4ade801a;color:var(--accent-green)}.an-card-icon-wrapper.purple{background:#818cf81a;color:var(--accent-purple)}.an-card-icon-wrapper.amber{background:#fb923c1a;color:var(--accent-orange)}.an-card-icon-wrapper.indigo{background:#6366f11a;color:#818cf8}.an-card-icon-wrapper.red{background:#f871711a;color:var(--accent-red)}.an-card:hover .an-card-icon-wrapper{transform:scale(1.1)}.an-card-value{color:var(--text-main);font-size:2.2rem;font-weight:900;letter-spacing:-.03em;line-height:1.1}.an-card-label{color:var(--text-secondary);font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.an-card-sub{color:var(--text-muted);font-size:.85rem;font-weight:600;margin-top:.25rem}.an-card:hover .an-card-sub{color:var(--text-secondary)}.an-card.highlight{background:linear-gradient(135deg,#38bdf814,#ffffff03);border-color:#38bdf84d;box-shadow:var(--shadow-glow-blue)}.an-card.highlight:before{background:linear-gradient(90deg,var(--accent-blue),var(--accent-purple))}.an-card.highlight .an-card-value{color:var(--accent-blue)}.analytics-charts{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:minmax(0,2fr) minmax(320px,1.1fr)}@media (max-width:950px){.analytics-charts{grid-template-columns:1fr}}.an-chart-card{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow);min-width:0;padding:1.75rem}.an-chart-title{align-items:center;color:var(--text-main);display:flex;font-size:1rem;font-weight:800;gap:.5rem;letter-spacing:.05em;margin:0 0 1.5rem;text-transform:uppercase}.analytics-insights{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:minmax(0,1.5fr) minmax(320px,1fr)}@media (max-width:1050px){.analytics-insights{grid-template-columns:1fr}}.analytics-bottom{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width:950px){.analytics-bottom{grid-template-columns:1fr}}.an-table-wrap{background:#ffffff03;border:1px solid var(--border);border-radius:var(--radius-md);overflow-x:auto}.an-table{border-collapse:collapse;font-size:.92rem;width:100%}.an-table th{background:#ffffff05;color:var(--text-secondary);font-size:.72rem;font-weight:700;letter-spacing:.06em;text-align:left;text-transform:uppercase;white-space:nowrap}.an-table td,.an-table th{border-bottom:1px solid var(--border);padding:.9rem 1.1rem}.an-table td{color:var(--text-main);transition:var(--transition-fast);vertical-align:middle}.an-table tr:last-child td{border-bottom:none}.an-table tr:hover td{background:var(--card-bg-hover)}.type-badge{align-items:center;border:1px solid #0000;border-radius:var(--radius-pill);display:inline-flex;font-size:.75rem;letter-spacing:.04em;padding:.25rem .65rem}.type-desk{background:#818cf81f;border-color:#818cf840;color:var(--accent-purple)}.type-game{background:#f871711f;border-color:#f8717140;color:var(--accent-red)}.type-quiz{background:#4ade801f;border-color:#4ade8040;color:var(--accent-green)}.type-complex{background:#fb923c1f;border-color:#fb923c40;color:var(--accent-orange)}.type-multi-desk,.type-pizza{background:#38bdf81f;border-color:#38bdf840;color:var(--accent-blue)}.conv-bar-wrap{align-items:center;display:flex;gap:.75rem}.conv-bar-bg{background:#ffffff14;flex:1 1;height:6px;overflow:hidden}.conv-bar-bg,.conv-bar-fill{border-radius:var(--radius-pill)}.conv-bar-fill{background:linear-gradient(90deg,var(--accent-blue),var(--accent-purple));height:100%;transition:width .5s cubic-bezier(.16,1,.3,1)}.conv-bar-fill.success{background:linear-gradient(90deg,var(--accent-red),var(--accent-orange),var(--accent-green))}.conv-pct{color:var(--text-secondary);font-size:.85rem;font-weight:700;min-width:42px;text-align:right}.an-type-list{display:flex;flex-direction:column;gap:1.25rem}.an-type-row{grid-gap:.75rem;align-items:center;border-bottom:1px solid var(--border);display:grid;gap:.75rem;grid-template-columns:minmax(0,1.2fr) minmax(140px,1fr);padding-bottom:1.25rem}.an-type-row:last-child{border-bottom:none;padding-bottom:0}.an-type-count{color:var(--text-secondary);display:block;font-size:.82rem;font-weight:600;margin-top:.35rem}.an-risk-card{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow);padding:1.75rem}.an-risk-card .type-badge{margin:2px 4px 2px 0}.an-city-list{display:flex;flex-direction:column;gap:.5rem;list-style:none;margin:.75rem 0 0;padding:0}.an-city-item{align-items:center;border-bottom:1px solid var(--border);display:flex;gap:.75rem;padding:.75rem 0}.an-city-item:last-child{border-bottom:none}.an-city-name{color:var(--text-main);font-size:.95rem;font-weight:700;min-width:100px}.an-city-count{font-size:.88rem;font-weight:700;margin-left:auto}.an-city-count,.an-empty{color:var(--text-secondary)}.an-empty{align-items:center;display:flex;flex-direction:column;gap:.75rem;justify-content:center;padding:4rem 2rem;text-align:center}.an-empty-icon{font-size:2.5rem;opacity:.8}.an-loading{align-items:center;color:var(--text-secondary);display:flex;font-size:1.15rem;font-weight:600;gap:.75rem;height:300px;justify-content:center}.an-loading:before{animation:an-spin .8s linear infinite;border:3px solid var(--border-strong);border-radius:50%;border-top-color:var(--accent-blue);content:"";height:24px;width:24px}@keyframes an-spin{to{transform:rotate(1turn)}}.recharts-default-tooltip{border:1px solid var(--border)!important;border-radius:var(--radius-md)!important;box-shadow:var(--shadow-lg)!important}.dish-management-container{animation:fadeIn .4s ease-out;color:var(--text-main);margin:0 auto;max-width:min(1320px,100%);min-width:0;padding:clamp(1rem,2vw,2.5rem)}.content-header{align-content:center;display:flex;justify-content:space-between;margin-bottom:2rem}.content-header h2{color:var(--text-main);font-size:2rem;font-weight:800;letter-spacing:-.02em;margin:0}.dish-layout{grid-gap:2rem;align-items:flex-start;display:grid;gap:2rem;grid-template-columns:minmax(300px,380px) minmax(0,1fr);min-width:0}.dish-form-card,.dish-list-card{background:var(--card-bg);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);display:flex;flex-direction:column;max-height:calc(100vh - 140px);min-height:0;padding:1.5rem}.dish-form-card{overflow-y:auto;scrollbar-color:var(--border-strong) #0000;scrollbar-width:thin}.dish-form-card::-webkit-scrollbar{width:6px}.dish-form-card::-webkit-scrollbar-track{background:#0000}.dish-form-card::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:10px}.dish-form-card h3,.dish-list-card h3{border-bottom:1px solid var(--border);color:var(--accent-blue);font-size:1.2rem;font-weight:700;margin-bottom:1.5rem;margin-top:0;padding-bottom:.75rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-size:.85rem;letter-spacing:.05em;margin-bottom:.5rem}.form-group input{background:var(--primary-bg);border-radius:12px;box-shadow:inset 0 2px 4px #00000005;box-sizing:border-box;font-size:1rem;padding:.85rem 1.1rem;transition:all .2s cubic-bezier(.4,0,.2,1)}.form-group input:focus{background:var(--secondary-bg);box-shadow:0 0 0 4px #38bdf81f,inset 0 2px 4px #00000005;outline:none;transform:translateY(-1px)}.icon-selector-container{background:var(--secondary-bg);border:1px solid var(--border);border-radius:16px;display:flex;flex-direction:column;gap:1.25rem;padding:1.5rem}.icon-section-label{color:var(--accent-blue);font-size:.72rem;font-weight:700;letter-spacing:.08em;margin-bottom:-.5rem;text-transform:uppercase}.icon-presets-grid{grid-gap:10px;background:var(--primary-bg);border:1px solid var(--border);border-radius:12px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(42px,1fr));max-height:180px;overflow-y:auto;padding:1rem}.icon-presets-grid::-webkit-scrollbar{width:6px}.icon-presets-grid::-webkit-scrollbar-track{background:#0000}.icon-presets-grid::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:10px}.icon-btn{align-items:center;background:var(--card-bg);border:1px solid var(--border);border-radius:12px;cursor:pointer;display:flex;font-size:1.4rem;height:44px;justify-content:center;transition:all .2s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;user-select:none;width:44px}.icon-btn:hover{background:var(--card-bg-hover);border-color:var(--accent-blue);box-shadow:0 4px 12px #00000026;transform:scale(1.1) translateY(-3px);z-index:2}.icon-btn.active{background:var(--secondary-bg);border-color:var(--accent-blue);border-width:2px;box-shadow:0 0 0 3px #38bdf833;transform:scale(1.15);z-index:3}.custom-emoji-wrapper{display:flex;grid-column:span 2}.custom-icon-input{background:var(--card-bg)!important;border:1px dashed var(--border-strong)!important;border-radius:12px!important;color:var(--text-main)!important;font-size:1.1rem!important;height:44px!important;padding:0!important;text-align:center;transition:all .2s!important;width:100%!important}.custom-icon-input:focus{background:var(--secondary-bg)!important;border-color:var(--accent-blue)!important;border-style:solid!important;box-shadow:0 0 0 3px #38bdf81a!important}.icon-upload-actions{border-top:1px solid var(--border);display:flex;flex-direction:column;gap:10px;padding-top:.5rem}.btn-upload-large{align-items:center;background:var(--primary-bg);border:2px dashed var(--border-strong);border-radius:12px;color:var(--text-main);cursor:pointer;display:flex;font-weight:600;gap:12px;justify-content:center;padding:.85rem 1rem;transition:all .2s cubic-bezier(.4,0,.2,1);width:100%}.btn-upload-large:hover{background:var(--card-bg-hover);border-color:var(--accent-blue);color:var(--accent-blue);transform:translateY(-2px)}.btn-upload-large.has-photo{background:#38bdf80d;border-color:var(--accent-blue);border-style:solid}.photo-edit-group{display:flex;gap:8px}.btn-edit-icon{align-items:center;background:var(--card-bg);border:1px solid var(--border);border-radius:10px;color:var(--text-main);cursor:pointer;display:flex;flex:1 1;height:40px;justify-content:center;transition:all .2s}.btn-edit-icon:hover{background:var(--secondary-bg);border-color:var(--accent-blue);color:var(--accent-blue)}.btn-danger-action:hover{background:#ef44441a;border-color:#ef4444;color:#ef4444}.animate-spin{animation:spin 1s linear infinite}.icon-preview-tools{align-items:center;display:flex;gap:10px;justify-content:space-between;margin-top:1rem}.rotation-indicator{color:var(--text-secondary);font-size:.85rem;font-weight:500}.dish-size-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.dish-size-label{color:var(--text-secondary);display:block;font-size:.75rem;font-weight:600;margin-bottom:6px}.icon-preview-large{align-items:center;background:var(--primary-bg);border:1px solid var(--border);border-radius:16px;box-shadow:inset 0 2px 8px #00000008;display:flex;height:180px;justify-content:center;margin-top:1.25rem;overflow:visible;padding:1.5rem;width:180px}.form-actions{flex-direction:column;gap:.75rem;margin-top:2rem}.btn-primary{border-radius:12px;box-shadow:0 4px 12px #38bdf840;font-size:1rem;padding:.9rem 1.5rem}.btn-primary:hover{background:var(--accent-blue-hover);box-shadow:0 6px 16px #38bdf859;transform:translateY(-2px)}.btn-secondary{background:var(--card-bg);border-radius:12px;cursor:pointer;font-size:1rem;font-weight:500;padding:.9rem 1.5rem;transition:all .2s}.btn-secondary:hover{background:var(--card-bg-hover);border-color:var(--text-secondary)}.dish-list-scroll{min-height:0;overflow-y:auto;padding-right:8px}.dish-list-scroll::-webkit-scrollbar{width:6px}.dish-list-scroll::-webkit-scrollbar-track{background:#0000}.dish-list-scroll::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:10px}.dish-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr))}.dish-item-card{align-items:center;background:var(--secondary-bg);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);display:flex;flex-direction:column;padding:1.25rem;position:relative;text-align:center;transition:all .3s cubic-bezier(.4,0,.2,1)}.dish-item-card:hover{background:var(--card-bg-hover);border-color:var(--accent-blue);box-shadow:0 12px 24px #0000001a;transform:translateY(-5px)}.dish-icon-preview{align-items:center;display:flex;font-size:3rem;height:84px;justify-content:center;margin-bottom:1rem;overflow:visible;transition:transform .4s cubic-bezier(.175,.885,.32,1.275);width:84px}.dish-icon-preview img{height:100%;object-fit:contain;width:100%}.dish-item-card:hover .dish-icon-preview{transform:scale(1.2)}.dish-details h4{color:var(--text-main);font-size:1.1rem;font-weight:700;line-height:1.2;margin:0 0 8px;word-break:break-word}.dish-details{display:flex;flex-direction:column;gap:5px}.dish-details span{color:var(--text-secondary);font-size:.78rem;font-weight:500}.dish-actions{display:flex;gap:8px;opacity:0;position:absolute;right:12px;top:12px;transform:scale(.9);transition:all .2s ease}.dish-item-card:hover .dish-actions{opacity:1;transform:scale(1)}.btn-icon{background:var(--card-bg);box-shadow:var(--shadow);color:var(--text-main);font-size:.9rem;height:34px;transition:all .2s;width:34px}.btn-icon:hover{background:var(--secondary-bg);border-color:var(--accent-blue);color:var(--accent-blue)}.btn-icon.btn-danger:hover{background:#ef44441a;border-color:#ef4444;color:#ef4444}.empty-dish-msg{background:var(--card-bg);border:1px dashed var(--border-strong);border-radius:16px;color:var(--text-secondary);font-size:1rem;font-style:italic;padding:4rem 2rem;text-align:center}@media (max-width:1180px){.dish-layout{grid-template-columns:1fr}.dish-list-card{max-height:none}}@media (max-width:640px){.dish-form-card,.dish-list-card{padding:18px}}.settings-page{animation:fadeIn .4s ease-out;margin:0 auto;max-width:min(1200px,100%);min-width:0;padding:clamp(1rem,1.6vw,2rem)}.settings-header{margin-bottom:2.5rem}.settings-header h1{color:var(--text-main);font-size:2.2rem;margin:0 0 .5rem}.settings-header p{color:var(--text-secondary);font-size:1.1rem}.settings-grid{grid-gap:1.5rem;align-items:start;display:grid;gap:1.5rem;grid-template-columns:repeat(2,minmax(0,1fr))}.settings-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--card-bg);border:1px solid var(--border);border-radius:16px;display:flex;flex-direction:column;height:100%;padding:1.5rem;transition:transform .2s ease,box-shadow .2s ease}.settings-card.full-width{grid-column:1/-1}.settings-card-header{align-items:center;border-bottom:1px solid var(--border);display:flex;gap:.75rem;margin-bottom:1.25rem;padding-bottom:.75rem}.card-icon{font-size:1.5rem}.settings-card-header h3{font-size:1.2rem;font-weight:600;margin:0}.settings-card-body p{color:var(--text-secondary);font-size:.95rem;line-height:1.5;margin-bottom:1.5rem}.settings-card-body .settings-note{color:#93c5fd;font-size:.88rem;margin-top:-.75rem}.settings-action-row{align-items:center;display:flex;gap:1rem}.settings-select{background:var(--secondary-bg);border:1px solid var(--border);border-radius:10px;color:var(--text-main);cursor:pointer;flex:1 1;font-size:.95rem;padding:.75rem 1rem;transition:border-color .2s ease}.settings-select:focus{border-color:var(--accent-blue);outline:none}.settings-input{background:var(--secondary-bg);border:1px solid var(--border);border-radius:10px;color:var(--text-main);font-size:.95rem;margin-bottom:1.5rem;padding:.75rem 1rem;width:100%}.settings-input:focus{border-color:var(--accent-blue);outline:none}.btn-danger{background:#ef4444;border:none;border-radius:10px;color:#fff;cursor:pointer;font-weight:600;padding:.75rem 1.75rem;transition:all .2s ease}.btn-danger:hover:not(:disabled){background:#dc2626;box-shadow:0 4px 12px #ef44444d;transform:translateY(-2px)}.danger-zone{background:#ef44440d;border:1px dashed #ef4444}.btn-danger-large{background:#ef4444;border:none;border-radius:12px;box-shadow:0 4px 15px #ef444433;color:#fff;cursor:pointer;font-size:1rem;font-weight:700;letter-spacing:.05em;padding:1rem;transition:all .2s ease;width:100%}.btn-danger-large:hover:not(:disabled){background:#dc2626;box-shadow:0 6px 20px #ef444466;transform:scale(1.01)}.btn-danger:disabled{cursor:not-allowed;opacity:.5}.settings-students-list{background:#0003;border:1px solid var(--border);border-radius:10px;max-height:400px;overflow:auto}.settings-table{border-collapse:collapse;min-width:620px;text-align:left;width:100%}.settings-table td,.settings-table th{border-bottom:1px solid var(--border);padding:.75rem 1rem}.settings-table th{background:#ffffff08;color:var(--text-secondary);font-size:.85rem;letter-spacing:.05em;text-transform:uppercase}.settings-table tr:last-child td{border-bottom:none}.settings-table tr:hover td{background:#ffffff05}.btn-text-danger{background:none;border:none;border-radius:6px;color:#f87171;cursor:pointer;font-size:.9rem;padding:.4rem .8rem;transition:all .2s ease}.btn-text-danger:hover:not(:disabled){background:#ef44441a}.settings-empty{color:var(--text-secondary);font-style:italic;padding:2rem;text-align:center}.settings-loading{align-items:center;color:var(--text-secondary);display:flex;font-size:1.2rem;height:50vh;justify-content:center}@media (max-width:900px){.settings-grid{grid-template-columns:1fr}.settings-action-row{align-items:stretch;flex-direction:column}}.menu-mgmt-container{animation:fadeIn .5s ease;color:var(--text-main);padding:clamp(1rem,1.6vw,2rem)}.menu-mgmt-header{margin-bottom:2.5rem}.menu-mgmt-header h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#38bdf8,#818cf8);-webkit-background-clip:text;background-clip:text;font-size:1.8rem;font-weight:700;margin-bottom:.5rem}.menu-mgmt-header p{color:var(--text-secondary);font-size:.95rem}.menu-mgmt-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr))}.role-config-card{background:var(--card-bg);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);display:flex;flex-direction:column;padding:1.5rem;transition:all .3s ease}.role-config-card:hover{background:var(--card-bg-hover);border-color:var(--accent-blue);box-shadow:0 10px 30px -10px #00000026;transform:translateY(-5px)}.role-config-header{align-items:center;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem}.role-title{font-size:1rem;font-weight:700;letter-spacing:1px;margin:0;text-transform:uppercase}.role-title.admin{color:#38bdf8}.role-title.trainer{color:#a855f7}.role-title.viewer{color:#94a3b8}.role-title.localadmin{color:#eab308}.btn-save-mini{background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:8px;box-shadow:0 4px 12px #10b98133;color:#fff;cursor:pointer;font-size:.85rem;font-weight:600;padding:6px 14px;transition:all .2s}.btn-save-mini:hover:not(:disabled){box-shadow:0 6px 15px #10b9814d;transform:scale(1.05)}.btn-save-mini:disabled{cursor:not-allowed;opacity:.5}.menu-items-list{display:flex;flex-direction:column;gap:.35rem}.menu-item-checkbox{align-items:center;border-radius:10px;color:var(--text-main);cursor:pointer;display:flex;font-size:.95rem;padding:8px 12px;transition:all .2s;-webkit-user-select:none;user-select:none}.menu-item-checkbox:hover{background:var(--secondary-bg)}.menu-item-checkbox input{display:none}.checkbox-custom{background:var(--primary-bg);border:2px solid var(--border-strong);border-radius:6px;height:20px;margin-right:12px;position:relative;transition:all .2s;width:20px}.menu-item-checkbox input:checked+.checkbox-custom{background:var(--accent-blue);border-color:var(--accent-blue)}.menu-item-checkbox input:checked+.checkbox-custom:after{color:#fff;content:"✓";font-size:14px;font-weight:900;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.item-label{flex-grow:1;font-weight:500}.item-section{background:var(--primary-bg);border:1px solid var(--border);border-radius:4px;color:var(--text-secondary);font-size:.72rem;margin-left:8px;padding:2px 6px}.error-message{animation:shake .5s ease-in-out;background:#ef44441a;border:1px solid #ef444433;border-radius:12px;color:#ef4444;margin-bottom:2rem;padding:1rem}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}@media (max-width:768px){.menu-mgmt-container{padding:1rem}.menu-mgmt-grid{grid-template-columns:1fr}}.student-manager{animation:sm-fade-in .4s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column;gap:1.5rem;margin:0 auto;max-width:min(1400px,100%);min-width:0;padding:var(--admin-padding)}@keyframes sm-fade-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes sm-slide-down{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}.sm-header{flex-wrap:wrap;gap:1.25rem;justify-content:space-between;min-width:0}.sm-header,.sm-header h1{align-items:center;display:flex}.sm-header h1{color:var(--text-main);font-size:1.8rem;font-weight:800;gap:.6rem;margin:0 0 .4rem}.sm-header h1:before{background:linear-gradient(180deg,var(--accent-green),var(--accent-blue));border-radius:999px;content:"";display:inline-block;flex-shrink:0;height:24px;width:4px}.sm-header p{color:var(--text-secondary);font-size:.95rem;margin:0}.sm-header-right{flex-wrap:wrap;gap:.75rem}.sm-header-right,.sm-stat-item,.sm-stats-brief{align-items:center;display:flex}.sm-stat-item{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-btn);flex-direction:column;justify-content:center;min-width:110px;padding:.55rem 1.25rem}.sm-stat-val{color:var(--accent-blue);font-size:1.35rem;font-weight:800;line-height:1.2}.sm-stat-lab{color:var(--text-secondary);font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.sm-btn-assign,.sm-btn-copy,.sm-btn-create-toggle,.sm-btn-generate,.sm-btn-invite-toggle,.sm-btn-view{align-items:center;cursor:pointer;display:inline-flex;font-family:inherit;font-size:.85rem;font-weight:600;gap:.4rem;transition:var(--transition);white-space:nowrap}.sm-btn-create-toggle{background:linear-gradient(135deg,var(--accent-green),#059669);border:none;border-radius:var(--radius-btn);box-shadow:0 4px 12px #4ade8026;color:#fff;padding:.65rem 1.2rem}.sm-btn-create-toggle:hover{box-shadow:0 6px 16px #4ade804d;transform:translateY(-1px)}.sm-btn-invite-toggle{background:linear-gradient(135deg,var(--accent-blue),var(--accent-purple));border:none;border-radius:var(--radius-btn);box-shadow:0 4px 12px #38bdf826;color:#fff;padding:.65rem 1.2rem}.sm-btn-invite-toggle:hover{box-shadow:0 6px 16px #38bdf84d;transform:translateY(-1px)}.sm-btn-generate{background:var(--accent-blue);border:none;border-radius:var(--radius-btn);color:#fff;padding:.7rem 1.5rem}.sm-btn-generate:hover{background:var(--accent-blue-hover);transform:translateY(-1px)}.sm-btn-copy{background:#ffffff0a;border:1px solid var(--border);border-radius:var(--radius-btn);color:var(--text-main);padding:.5rem 1rem}.sm-btn-copy:hover{background:var(--card-bg-hover);border-color:var(--border-strong)}.sm-btn-view{background:#0000;border:1px solid var(--border);border-radius:var(--radius-btn);color:var(--text-secondary);padding:.4rem .8rem}.sm-row-clickable:hover .sm-btn-view{background:var(--accent-blue);border-color:var(--accent-blue);color:#fff}.sm-btn-assign{background:#38bdf814;border:1px solid #38bdf833;border-radius:var(--radius-btn);color:var(--accent-blue);padding:.4rem .8rem}.sm-btn-assign:hover{background:#38bdf829;border-color:var(--accent-blue);color:#fff}.sm-controls{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.sm-search-input{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-btn);color:var(--text-main);flex:1 1 280px;font-family:inherit;font-size:.92rem;outline:none;padding:.65rem 1.1rem;transition:var(--transition)}.sm-search-input::placeholder{color:var(--text-secondary);opacity:.55}.sm-search-input:focus{background:var(--card-bg-hover);border-color:var(--accent-blue);box-shadow:var(--shadow-glow-blue)}.sm-city-select{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-btn);color:var(--text-main);cursor:pointer;font-family:inherit;font-size:.92rem;outline:none;padding:.65rem 1.1rem;transition:var(--transition)}.sm-city-select:focus{border-color:var(--accent-blue)}.sm-city-select option{background:var(--secondary-bg);color:var(--text-main)}.sm-invite-card{animation:sm-slide-down .3s cubic-bezier(.16,1,.3,1);background:var(--secondary-bg);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-lg);padding:1.1rem 1.25rem}.sm-invite-card h3{color:var(--text-main);font-size:1rem;font-weight:700;margin:0 0 .85rem}.sm-create-form .form-group,.sm-invite-form .form-group{display:flex;flex-direction:column;gap:.25rem}.sm-create-form label,.sm-invite-form label{color:var(--text-secondary);font-size:.78rem;font-weight:600}.sm-invite-row{align-items:flex-end;display:flex;flex-wrap:wrap;gap:.75rem}.sm-invite-row .form-group{flex:1 1 180px}.sm-create-form input,.sm-create-form select,.sm-invite-row input,.sm-invite-row select{background:var(--primary-bg);border:1px solid var(--border);border-radius:var(--radius-btn);box-sizing:border-box;color:var(--text-main);font-family:inherit;font-size:.88rem;height:38px;outline:none;padding:.48rem .75rem;transition:var(--transition)}.sm-create-form input:focus,.sm-create-form select:focus,.sm-invite-row input:focus,.sm-invite-row select:focus{border-color:var(--accent-blue);box-shadow:0 0 0 3px #38bdf826}.sm-generated-container{align-items:center;background:var(--primary-bg);border:1px dashed var(--border-strong);border-radius:var(--radius-btn);display:flex;gap:.75rem;margin-top:1rem;padding:.4rem}.sm-generated-container input{background:#0000;border:none;color:var(--text-secondary);flex:1 1;font-size:.88rem;outline:none;padding-left:.5rem}.sm-create-grid{grid-gap:.75rem 1rem;display:grid;gap:.75rem 1rem;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.sm-table-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-card);overflow:hidden}.sm-table{border-collapse:collapse;text-align:left;width:100%}.sm-table th{background:#ffffff05;color:var(--text-secondary);font-size:.75rem;font-weight:700;letter-spacing:.05em;padding:.9rem 1.25rem;text-transform:uppercase}.sm-table td,.sm-table th{border-bottom:1px solid var(--border)}.sm-table td{color:var(--text-main);font-size:.9rem;padding:.85rem 1.25rem;vertical-align:middle}.sm-row-clickable{cursor:pointer;transition:var(--transition)}.sm-row-clickable:hover{background:var(--card-bg-hover)}.sm-avatar{background:linear-gradient(135deg,var(--accent-blue),var(--accent-purple));border-radius:8px;color:#fff;flex-shrink:0;font-size:.85rem;font-weight:700;height:36px;justify-content:center;margin-right:.85rem;width:36px}.sm-avatar,.sm-td-name{align-items:center;display:flex}.sm-td-name{font-weight:600}.sm-score-badge{border-radius:999px;display:inline-block;font-size:.8rem;font-weight:700;padding:.25rem .65rem}.sm-td-date{color:var(--text-secondary)}.sm-level-badge{border-radius:999px;display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.02em;padding:.2rem .6rem;text-transform:uppercase}.sm-level-badge.level-trainee{background:#94a3b81a;border:1px solid #94a3b833;color:#94a3b8}.sm-level-badge.level-junior{background:#38bdf81a;border:1px solid #38bdf833;color:var(--accent-blue)}.sm-level-badge.level-regular{background:#fbbf241a;border:1px solid #fbbf2433;color:var(--accent-orange)}.sm-level-badge.level-senior{background:#4ade801a;border:1px solid #4ade8033;color:var(--accent-green)}.sm-loading{align-items:center;color:var(--text-secondary);display:flex;font-size:1.1rem;gap:.75rem;height:50vh;justify-content:center}.sm-loading:before{animation:sm-spin .8s linear infinite;border:2px solid var(--border-strong);border-radius:50%;border-top-color:var(--accent-blue);content:"";height:20px;width:20px}@keyframes sm-spin{to{transform:rotate(1turn)}}.sm-empty{color:var(--text-secondary);font-size:.95rem;font-weight:500;padding:4rem 2rem;text-align:center}.sm-error-msg{background:#f8717114;border:1px solid #f8717133;border-radius:var(--radius-card);color:var(--accent-red);font-size:.9rem;font-weight:600;margin:1rem;padding:1.25rem;text-align:center}@media (max-width:768px){.sm-header{align-items:flex-start;flex-direction:column}.sm-header-right{align-items:stretch;flex-direction:column-reverse;width:100%}.sm-stats-brief{width:100%}.sm-stat-item{flex:1 1}.sm-btn-create-toggle,.sm-btn-invite-toggle{justify-content:center;width:100%}.sm-invite-row{align-items:stretch;flex-direction:column}.sm-btn-generate{justify-content:center;width:100%}.sm-generated-container{align-items:stretch;flex-direction:column}.sm-btn-copy{justify-content:center;width:100%}.sm-table-container{overflow-x:auto}}.field-hint{color:#94a3b8;color:var(--text-muted,#94a3b8);font-size:.72rem;margin-top:.1rem}.atm-overlay{align-items:center;animation:atm-fade-in .2s ease-out;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172abf;display:flex;height:100vh;justify-content:center;left:0;position:fixed;top:0;width:100vw;z-index:1100}.atm-modal{animation:atm-slide-up .3s cubic-bezier(.16,1,.3,1);background:var(--secondary-bg);border:1px solid var(--border-strong);border-radius:var(--radius-card);box-shadow:var(--shadow-lg);max-width:460px;overflow:hidden;position:relative;width:90%}.atm-modal:before{background:linear-gradient(90deg,var(--accent-blue),var(--accent-purple));content:"";height:4px;left:0;position:absolute;right:0;top:0;z-index:3}.atm-header{background:#ffffff03;border-bottom:1px solid var(--border);justify-content:space-between;padding:1.15rem 1.5rem}.atm-header,.atm-title-group{align-items:center;display:flex}.atm-title-group{gap:.5rem}.atm-title-group h3{color:var(--text-main);font-family:inherit;font-size:1.15rem;font-weight:800;margin:0}.atm-title-icon{color:var(--accent-blue);display:inline-flex}.atm-btn-close{align-items:center;background:#0000;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;display:flex;justify-content:center;padding:4px;transition:var(--transition)}.atm-btn-close:hover{background:#ffffff0d;color:var(--text-main)}.atm-form{padding:1.5rem}.atm-student-info{background:#38bdf814;border:1px solid #38bdf833;border-radius:var(--radius-btn);color:var(--text-main);font-size:.88rem;font-weight:600;margin-bottom:1.25rem;padding:.65rem 1rem;text-align:left}.atm-form .form-group{display:flex;flex-direction:column;gap:.45rem;margin-bottom:1.15rem;text-align:left}.atm-form label{color:var(--text-secondary);font-size:.8rem;font-weight:650}.atm-form select{background:var(--primary-bg);border:1px solid var(--border);border-radius:var(--radius-btn);color:var(--text-main);cursor:pointer;font-family:inherit;font-size:.92rem;outline:none;padding:.65rem .85rem;transition:var(--transition)}.atm-form select:focus{border-color:var(--accent-blue);box-shadow:0 0 0 3px #38bdf81f}.atm-form select option{background:var(--secondary-bg);color:var(--text-main)}.atm-loading{color:var(--text-secondary);font-size:.85rem;font-weight:550;padding:.25rem 0}.atm-actions{display:flex;gap:.75rem;margin-top:1.5rem}.atm-btn-submit{background:linear-gradient(135deg,var(--accent-blue),var(--accent-purple));border:none;border-radius:var(--radius-btn);box-shadow:0 4px 12px #38bdf826;color:#fff;cursor:pointer;flex:1 1;font-family:inherit;font-size:.9rem;font-weight:600;padding:.7rem;transition:var(--transition)}.atm-btn-submit:hover:not(:disabled){box-shadow:0 6px 16px #38bdf84d;transform:translateY(-1px)}.atm-btn-submit:disabled{cursor:not-allowed;opacity:.6}.atm-btn-cancel{background:#ffffff0a;border:1px solid var(--border);border-radius:var(--radius-btn);color:var(--text-main);cursor:pointer;font-family:inherit;font-size:.9rem;font-weight:600;padding:.7rem 1.25rem;transition:var(--transition)}.atm-btn-cancel:hover{background:var(--card-bg-hover);border-color:var(--border-strong)}@keyframes atm-fade-in{0%{opacity:0}to{opacity:1}}@keyframes atm-slide-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.student-profile{animation:sp-fade-in .4s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column;gap:1.5rem;margin:0 auto;max-width:min(1000px,100%);min-width:0;padding:var(--admin-padding)}@keyframes sp-fade-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes sp-modal-slide-up{0%{opacity:0;transform:scale(.98) translateY(12px)}to{opacity:1;transform:none}}.sp-header{gap:1rem;justify-content:space-between}.sp-header,.sp-header-actions{align-items:center;display:flex;flex-wrap:wrap}.sp-header-actions{gap:.5rem}.btn-back{border-radius:var(--radius-btn);font-size:.92rem;gap:.35rem;padding:.5rem .75rem}.btn-assign-task{background:linear-gradient(135deg,var(--accent-blue),var(--accent-purple));border:none;border-radius:var(--radius-btn);box-shadow:0 4px 12px #38bdf833;color:#fff;cursor:pointer;font-size:.88rem;font-weight:600;padding:.6rem 1.2rem;transition:var(--transition)}.btn-assign-task:hover{box-shadow:0 6px 16px #38bdf859;transform:translateY(-1px)}.btn-edit-profile{background:#ffffff0a;border:1px solid var(--border);border-radius:var(--radius-btn);color:var(--text-main);cursor:pointer;font-size:.88rem;font-weight:600;padding:.6rem 1.2rem;transition:var(--transition)}.btn-edit-profile:hover{background:var(--card-bg-hover);border-color:var(--border-strong)}.btn-delete-profile{background:#ef444414;border:1px solid #ef444429;border-radius:var(--radius-btn);color:var(--accent-red);cursor:pointer;font-size:.88rem;font-weight:600;padding:.6rem 1.2rem;transition:var(--transition)}.btn-delete-profile:hover{background:#ef444429;border-color:var(--accent-red)}.sp-info-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-lg);flex-wrap:wrap;justify-content:space-between;padding:1.75rem}.sp-info-card,.sp-main-info{align-items:center;display:flex;gap:1.5rem}.sp-main-info{min-width:0}.sp-large-avatar{align-items:center;background:linear-gradient(135deg,var(--accent-blue),var(--accent-purple));border-radius:18px;box-shadow:0 8px 16px #38bdf826;color:#fff;display:flex;flex-shrink:0;font-size:1.8rem;font-weight:800;height:76px;justify-content:center;width:76px}.sp-name-box{min-width:0}.sp-name-box h2{color:var(--text-main);font-size:1.6rem;font-weight:800;margin:0 0 .5rem}.sp-badges-row{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.sp-badges-row span{align-items:center;background:#ffffff08;border:1px solid var(--border);border-radius:999px;color:var(--text-secondary);display:inline-flex;font-size:.75rem;font-weight:700;gap:.35rem;padding:.25rem .65rem}.sp-badges-row .sp-level-badge.level-trainee{background:#94a3b81a;border-color:#94a3b833;color:#94a3b8}.sp-badges-row .sp-level-badge.level-junior{background:#38bdf81a;border-color:#38bdf833;color:var(--accent-blue)}.sp-badges-row .sp-level-badge.level-regular{background:#fbbf241a;border-color:#fbbf2433;color:var(--accent-orange)}.sp-badges-row .sp-level-badge.level-senior{background:#4ade801a;border-color:#4ade8033;color:var(--accent-green)}.sp-stats-grid{display:flex;gap:1.5rem}.sp-stat{display:flex;flex-direction:column;justify-content:center;text-align:right}.sp-stat-label{color:var(--text-secondary);font-size:.72rem;font-weight:700;letter-spacing:.05em;margin-bottom:.15rem;text-transform:uppercase}.sp-stat-value{color:var(--text-main);font-size:1.4rem;font-weight:800;line-height:1.2}.sp-stat-date{color:var(--text-main);font-size:1.05rem;font-weight:600}.sp-ai-card{background:#ffffff05;border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow);padding:1.5rem}.sp-ai-card.priority-high{background:linear-gradient(135deg,#f871710f,#0f172a1a);border-color:#f871714d;box-shadow:0 4px 24px #f871710d}.sp-ai-card.priority-medium{background:linear-gradient(135deg,#fbbf240a,#0f172a1a);border-color:#fbbf2440;box-shadow:0 4px 24px #fbbf240d}.sp-ai-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1.25rem}.sp-ai-header h3{color:var(--text-main);font-size:1.15rem;font-weight:700;margin:0 0 .35rem}.sp-ai-header p{color:var(--text-secondary);font-size:.92rem;line-height:1.5;margin:0}.sp-ai-priority{border-radius:999px;flex-shrink:0;font-size:.75rem;font-weight:700;letter-spacing:.02em;padding:.3rem .75rem;text-transform:uppercase}.sp-ai-priority.high{background:#f8717126;border:1px solid #f8717133;color:#fca5a5}.sp-ai-priority.medium{background:#fbbf2426;border:1px solid #fbbf2433;color:#fbbf24}.sp-ai-priority.low{background:#4ade801f;border:1px solid #4ade802e;color:#86efac}.sp-ai-appeal{background:#ffffff08;border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:1.25rem;padding:1rem}.sp-ai-appeal-label{color:var(--text-secondary);display:block;font-size:.72rem;font-weight:700;letter-spacing:.05em;margin-bottom:.35rem;text-transform:uppercase}.sp-ai-appeal p{color:var(--text-main);font-size:.92rem;line-height:1.5;margin:0}.sp-ai-weak-types{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem}.sp-ai-actions{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:1fr}.sp-ai-action{background:var(--primary-bg);border-left:4px solid var(--border-strong);border-radius:var(--radius-md);padding:.85rem 1rem}.sp-ai-action.high{background:#ef444405;border-left-color:var(--accent-red)}.sp-ai-action.medium{background:#f59e0b05;border-left-color:var(--accent-orange)}.sp-ai-action.low{background:#10b98105;border-left-color:var(--accent-green)}.sp-ai-action-title{color:var(--text-main);font-size:.9rem;font-weight:700;margin-bottom:.25rem}.sp-ai-action-detail{color:var(--text-secondary);font-size:.88rem;line-height:1.45}.sp-history-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-card);padding:1.5rem}.sp-history-section h3{color:var(--text-main);font-size:1.25rem;font-weight:800;margin:0 0 1.5rem}.sp-history-scroll{max-height:480px;overflow-y:auto;padding-right:.5rem}.sp-history-scroll::-webkit-scrollbar{width:6px}.sp-history-scroll::-webkit-scrollbar-track{background:#0000}.sp-history-scroll::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:999px}.sp-history-scroll::-webkit-scrollbar-thumb:hover{background:var(--accent-blue)}.sp-timeline{padding-left:2.25rem;position:relative}.sp-timeline:before{background:var(--border);bottom:.5rem;content:"";left:.9rem;position:absolute;top:.5rem;width:2px}.sp-history-item{display:flex;gap:1.25rem;margin-bottom:1.5rem;position:relative}.sp-history-item:last-child{margin-bottom:.5rem}.sp-item-date{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;width:68px}.sp-date-day{color:var(--text-main);font-size:.88rem;font-weight:700}.sp-date-time{color:var(--text-secondary);font-size:.72rem}.sp-item-dot{background:var(--primary-bg);border:2px solid var(--accent-blue);border-radius:50%;height:12px;left:-1.72rem;position:absolute;top:.4rem;transition:var(--transition);width:12px;z-index:2}.sp-history-item:hover .sp-item-dot{background:var(--accent-blue);box-shadow:0 0 8px var(--accent-blue)}.sp-item-content{background:#ffffff05;border:1px solid var(--border);border-radius:var(--radius-md);flex:1 1;padding:1rem;transition:var(--transition)}.sp-item-content:hover{background:var(--card-bg-hover);border-color:var(--border-strong);transform:translateX(4px)}.sp-item-header{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:.6rem}.sp-template-name{color:var(--text-main);font-size:.92rem;font-weight:600}.sp-item-result{align-items:center;display:flex;gap:.85rem}.sp-progress-mini{background:#ffffff14;border-radius:999px;flex:1 1;height:6px;overflow:hidden}.sp-progress-fill{height:100%}.sp-score-text{color:var(--text-main);font-size:.85rem;font-weight:700;white-space:nowrap}.sp-status-icon{font-size:1.1rem;line-height:1}.sp-status-icon.success{color:var(--accent-green)}.sp-status-icon.fail{color:var(--accent-red)}.sp-item-footer{display:flex;justify-content:flex-end;margin-top:.5rem}.sp-view-detail{color:var(--accent-blue);font-size:.78rem;font-weight:600}.sp-pagination{align-items:center;border-top:1px solid var(--border);display:flex;gap:1rem;justify-content:center;margin-top:1.5rem;padding-top:1rem}.sp-pagination-btn{background:var(--secondary-bg);border:1px solid var(--border);border-radius:8px;color:var(--text-main);cursor:pointer;font-size:.85rem;font-weight:600;padding:.5rem 1.1rem;transition:all .2s ease}.sp-pagination-btn:hover:not(:disabled){background:var(--accent-blue);border-color:var(--accent-blue);color:#fff}.sp-pagination-btn:disabled{cursor:not-allowed;opacity:.4}.sp-pagination-info{color:var(--text-secondary);font-size:.85rem;font-weight:500}.sp-type-badge{background:#ffffff0d;border:1px solid var(--border);border-radius:4px;color:var(--text-secondary);display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.5px;padding:.2rem .5rem;text-transform:uppercase}.sp-type-badge.sp-type-desk{background:#38bdf81a;border-color:#38bdf833;color:#38bdf8}.sp-type-badge.sp-type-game{background:#818cf81a;border-color:#818cf833;color:#818cf8}.sp-type-badge.sp-type-quiz{background:#4ade801a;border-color:#4ade8033;color:#4ade80}.sp-type-badge.sp-type-complex{background:#fb923c1a;border-color:#fb923c33;color:#fb923c}.sp-type-badge.sp-type-multi-desk{background:#ec48991a;border-color:#ec489933;color:#f472b6}.sp-type-badge.sp-type-pizza{background:#eab3081a;border-color:#eab30833;color:#facc15}.sp-type-badge.sp-type-course{background:#10b9811a;border-color:#10b98133;color:#34d399}.sp-modal-overlay{align-items:center;animation:sp-fade-in .2s ease-out;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172abf;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.sp-modal{animation:sp-modal-slide-up .3s cubic-bezier(.16,1,.3,1);background:var(--secondary-bg);border:1px solid var(--border-strong);border-radius:var(--radius-card);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;max-height:90vh;max-width:720px;overflow:hidden;position:relative;width:92%}.sp-modal:before{background:linear-gradient(90deg,var(--accent-blue),var(--accent-purple));content:"";height:4px;left:0;position:absolute;right:0;top:0;z-index:3}.sp-modal-header{align-items:center;background:#ffffff03;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:1.25rem 1.5rem}.sp-modal-title{color:var(--text-main);font-size:1.15rem;font-weight:800}.sp-modal-close{align-items:center;background:#0000;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;display:inline-flex;font-size:1.35rem;justify-content:center;padding:.25rem;transition:var(--transition)}.sp-modal-close:hover{background:#ffffff0d;color:var(--text-main)}.sp-modal-body{background:var(--primary-bg);overflow-y:auto;padding:1.5rem}.sp-detail-meta{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));margin-bottom:1.5rem}.sp-meta-field{display:flex;flex-direction:column;gap:.25rem}.sp-meta-label{color:var(--text-secondary);font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.sp-meta-value{color:var(--text-main);font-size:.95rem;font-weight:700}.sp-score-block{align-items:center;border-radius:var(--radius-md);display:flex;flex-direction:column;gap:.25rem;justify-content:center;margin-bottom:1.5rem;padding:1.5rem;text-align:center}.sp-score-block.pass{background:#4ade800f;border:1px solid #4ade8040}.sp-score-block.fail{background:#f871710f;border:1px solid #f8717140}.sp-score-big{color:var(--text-main);font-size:2.8rem;font-weight:800;line-height:1.1}.sp-score-sub{color:var(--text-secondary);font-size:.85rem;margin-bottom:.25rem}.sp-pill{border-radius:999px;font-size:.75rem;font-weight:800;letter-spacing:.02em;padding:.25rem .75rem;text-transform:uppercase}.sp-pill.pass{background:#4ade8026;border:1px solid #4ade8040;color:#86efac}.sp-pill.fail{background:#f8717126;border:1px solid #f8717140;color:#fca5a5}.sp-section-label{border-bottom:1px solid var(--border);color:var(--text-secondary);font-size:1rem;font-weight:700;margin:1.5rem 0 .85rem;padding-bottom:.4rem}.sp-answer{background:#ffffff05;border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:1rem;padding:1.25rem}.sp-answer.correct{border-left:4px solid var(--accent-green)}.sp-answer.wrong{border-left:4px solid var(--accent-red)}.sp-answer-q{color:var(--text-main);font-size:.95rem;font-weight:700;margin-bottom:.75rem}.sp-answer-img{border:1px solid var(--border);border-radius:var(--radius-sm);margin:.75rem 0;max-width:100%}.sp-answer-badge{border-radius:6px;font-size:.82rem;font-weight:700;padding:.35rem .75rem}.sp-answer-badge.correct{background:#4ade801f;color:#86efac}.sp-answer-badge.wrong{background:#f871711f;color:#fca5a5}.sp-answer-correction{background:#4ade8008;border:1px solid #4ade801a;border-radius:var(--radius-sm);margin-top:.75rem;padding:.75rem 1rem}.sp-answer-correct{color:var(--accent-green);display:block;font-size:.88rem;font-weight:700;margin-bottom:.35rem}.sp-answer-explain{color:var(--text-secondary);font-size:.85rem;line-height:1.45}.sp-path-list{display:flex;flex-direction:column;gap:.5rem}.sp-path-step{border:1px solid var(--border);color:var(--text-main);padding:.65rem .85rem}.sp-path-step,.sp-step-row{background:#ffffff05;border-radius:var(--radius-sm);font-size:.9rem}.sp-step-row{display:flex;justify-content:space-between;margin-bottom:.5rem;padding:.85rem 1rem}.sp-step-row.pass{border-right:4px solid var(--accent-green)}.sp-step-row.fail{border-right:4px solid var(--accent-red)}.sp-edit-form{display:flex;flex-direction:column;gap:1.25rem}.sp-edit-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr}@media (min-width:580px){.sp-edit-grid{grid-template-columns:1fr 1fr}}.sp-edit-form .form-group{display:flex;flex-direction:column;gap:.4rem}.sp-edit-form label{color:var(--text-secondary);font-size:.8rem;font-weight:600}.sp-edit-form input,.sp-edit-form select{background:var(--primary-bg);border:1px solid var(--border);border-radius:var(--radius-btn);color:var(--text-main);font-family:inherit;font-size:.92rem;outline:none;padding:.65rem 1rem;transition:var(--transition)}.sp-edit-form input:focus,.sp-edit-form select:focus{border-color:var(--accent-blue);box-shadow:0 0 0 3px #38bdf826}.sp-edit-actions{display:flex;gap:.75rem;margin-top:1.25rem}.sp-btn-save-edit{background:var(--accent-blue);border:none;border-radius:var(--radius-btn);color:#fff;cursor:pointer;font-weight:600;padding:.7rem 1.5rem;transition:var(--transition)}.sp-btn-save-edit:hover{background:var(--accent-blue-hover);transform:translateY(-1px)}.sp-btn-cancel-edit{background:#ffffff0a;border:1px solid var(--border);border-radius:var(--radius-btn);color:var(--text-main);cursor:pointer;font-weight:600;padding:.7rem 1.5rem;transition:var(--transition)}.sp-btn-cancel-edit:hover{background:var(--card-bg-hover);border-color:var(--border-strong)}@media (max-width:768px){.sp-header{align-items:stretch;flex-direction:column}.btn-back{align-self:flex-start}.sp-header-actions{flex-direction:column;width:100%}.sp-header-actions button{justify-content:center;width:100%}.sp-info-card{padding:1.25rem;text-align:center}.sp-info-card,.sp-main-info{align-items:center;flex-direction:column}.sp-badges-row{justify-content:center}.sp-stats-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));width:100%}.sp-stat{align-items:center;text-align:center}.sp-ai-header{align-items:flex-start;flex-direction:column}.sp-history-item{flex-direction:column;gap:.5rem}.sp-item-date{align-items:flex-start;flex-direction:row;gap:.5rem;width:100%}.sp-timeline{padding-left:1.5rem}.sp-timeline:before{left:.5rem}.sp-item-dot{left:-1.3rem}.sp-modal{border-radius:0;height:100%;max-height:100%;width:100%}.sp-modal:before{display:none}.sp-modal-body{padding:1.25rem}.sp-edit-actions{flex-direction:column}.sp-edit-actions button{justify-content:center;width:100%}}.sp-courses-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-card);display:flex;flex-direction:column;gap:1.25rem;padding:1.5rem}.sp-courses-section h3{color:var(--text-main);font-size:1.25rem;font-weight:800;margin:0}.sp-courses-grid{display:flex;flex-direction:column;gap:1rem}.sp-course-card{background:#ffffff05;border:1px solid var(--border);border-radius:var(--radius-md);padding:1.25rem;transition:var(--transition)}.sp-course-card:hover{background:var(--card-bg-hover);border-color:var(--border-strong)}.sp-course-card-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.sp-course-info-row{align-items:center;display:flex;gap:1rem;min-width:0}.sp-course-cover-mini{border:1px solid var(--border);border-radius:8px;height:48px;object-fit:cover;width:48px}.sp-course-text-details{min-width:0}.sp-course-title{color:var(--text-main);font-size:1rem;font-weight:700;margin-bottom:.25rem}.sp-course-meta{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.sp-course-stage-badge{background:#8b5cf61a;border:1px solid #8b5cf633;border-radius:4px;color:var(--accent-purple);font-size:.75rem;font-weight:700;padding:.15rem .5rem}.sp-course-steps-count{color:var(--text-secondary);font-size:.8rem;font-weight:600}.sp-course-status-side{align-items:center;display:flex;gap:.75rem}.sp-course-percentage{color:var(--text-main);font-size:1.25rem;font-weight:800}.sp-course-status-badge{border-radius:6px;font-size:.75rem;font-weight:700;padding:.25rem .65rem;text-transform:uppercase}.sp-course-status-badge.completed{background:#4ade8026;border:1px solid #4ade8033;color:var(--accent-green)}.sp-course-status-badge.in-progress{background:#fbbf2426;border:1px solid #fbbf2433;color:var(--accent-orange)}.sp-course-expand-arrow{color:var(--text-secondary);font-size:.8rem;transition:var(--transition)}.sp-course-progress-bar-container{background:#ffffff14;border-radius:999px;height:6px;margin-top:1rem;overflow:hidden}.sp-course-progress-bar-fill{background:linear-gradient(90deg,var(--accent-blue),var(--accent-purple));border-radius:999px;height:100%;transition:width .4s ease}.sp-course-steps-details{animation:sp-fade-in .3s cubic-bezier(.16,1,.3,1);border-top:1px solid var(--border);display:flex;flex-direction:column;gap:1rem;margin-top:1.25rem;padding-top:1.25rem}.sp-course-module-item{display:flex;flex-direction:column;gap:.5rem}.sp-course-module-title{color:var(--text-secondary);font-size:.88rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.sp-course-steps-list{display:flex;flex-direction:column;gap:.4rem}.sp-course-step-item{align-items:center;background:#ffffff03;border:1px solid var(--border);border-radius:6px;display:flex;font-size:.88rem;justify-content:space-between;padding:.65rem .85rem;transition:var(--transition)}.sp-course-step-item:hover{background:#ffffff08}.sp-course-step-item.status-completed{border-left:3px solid var(--accent-green)}.sp-course-step-item.status-pending{border-left:3px solid var(--accent-orange)}.sp-course-step-item.status-unlocked{border-left:3px solid var(--accent-blue)}.sp-course-step-item.status-locked{border-left:3px solid var(--border-strong);opacity:.6}.sp-course-step-left{align-items:center;display:flex;gap:.5rem;min-width:0}.sp-step-status-bullet{border-radius:50%;flex-shrink:0;height:8px;width:8px}.sp-step-status-bullet.status-completed{background:var(--accent-green)}.sp-step-status-bullet.status-pending{background:var(--accent-orange)}.sp-step-status-bullet.status-unlocked{background:var(--accent-blue)}.sp-step-status-bullet.status-locked{background:var(--text-secondary)}.sp-step-title{color:var(--text-main);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sp-step-type-badge{background:#ffffff0d;border-radius:4px;color:var(--text-secondary);font-size:.7rem;font-weight:700;padding:.1rem .35rem;text-transform:uppercase}.sp-course-step-right{align-items:center;display:flex;flex-shrink:0;gap:.5rem}.sp-step-pending-label{color:var(--accent-orange);font-size:.75rem;font-weight:600}.sp-step-unlocked-label{color:var(--accent-blue);font-size:.75rem;font-weight:600}.sp-step-locked-label{color:var(--text-secondary);font-size:.75rem;font-weight:600}.sp-step-score{color:var(--accent-green);font-size:.8rem;font-weight:700}@media (max-width:580px){.sp-course-card-header{align-items:flex-start;flex-direction:column;gap:.75rem}.sp-course-status-side{justify-content:space-between;width:100%}}.pizza-play-page{align-items:center;animation:fadeInPizzaPage .5s cubic-bezier(.16,1,.3,1);color:var(--text-main);display:flex;justify-content:center;margin:0 auto;max-width:1400px;min-height:90vh;padding:var(--admin-padding)}.pizza-play-container{width:100%}.pizza-card-view{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-lg);margin:0 auto;max-width:720px;padding:3rem}.intro-card{overflow:hidden;position:relative;text-align:center}.intro-card:before{background:linear-gradient(90deg,var(--accent-blue),var(--accent-purple));content:"";height:4px;left:0;position:absolute;top:0;width:100%}.intro-header h1{color:var(--text-main);font-size:2.2rem;font-weight:850;letter-spacing:-.02em;margin:0 0 .5rem}.scenario-desc{color:var(--text-secondary);font-size:1.1rem;font-weight:500;line-height:1.6;margin:0 0 2rem}.task-brief-box{background:#ffffff05;border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:2rem;padding:1.75rem;text-align:left}.task-brief-box h3{color:var(--accent-blue);font-size:1.15rem;font-weight:800;letter-spacing:-.01em;margin:0 0 1rem}.task-brief-box p{color:var(--text-main);font-size:1rem;line-height:1.6;margin:0 0 1.25rem}.hints-box{border-top:1px dashed var(--border);padding-top:1.25rem}.hints-box strong{display:flex;font-size:.95rem;font-weight:700;letter-spacing:.03em;margin-bottom:.75rem;text-transform:uppercase}.hints-box ul{color:var(--text-secondary);font-size:.9rem;line-height:1.6;margin:0;padding-left:1.25rem}.hints-box li{margin-bottom:.45rem}.timer-badge-intro{background:#38bdf814;border:1px solid #38bdf833;border-radius:var(--radius-pill);color:var(--accent-blue);display:inline-flex;font-size:.95rem;font-weight:700;margin-bottom:2rem;padding:.65rem 1.5rem}.btn-start-play{align-items:center;background:linear-gradient(135deg,var(--accent-blue),var(--accent-blue-hover));border:none;border-radius:var(--radius-btn);box-shadow:var(--shadow);color:#fff;cursor:pointer;display:inline-flex;font-size:1.1rem;font-weight:800;gap:.6rem;padding:.9rem 2.25rem;transition:var(--transition)}.btn-start-play:hover{box-shadow:var(--shadow-glow-blue);transform:translateY(-2px)}.pizza-play-layout{grid-gap:2rem;align-items:start;display:grid;gap:2rem;grid-template-columns:1.2fr 1fr}@media (max-width:1024px){.pizza-play-layout{grid-template-columns:1fr}}.pizza-visual-canvas-card{align-items:center;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;min-height:580px;padding:2rem}.visual-canvas-header{align-items:center;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem;width:100%}.visual-canvas-header h3{font-size:1.25rem;font-weight:800;letter-spacing:-.015em;margin:0}.play-timer{background:var(--secondary-bg);border:1px solid var(--border);border-radius:var(--radius-pill);font-size:1.15rem;font-weight:800;gap:.4rem;letter-spacing:.5px;padding:.45rem 1.15rem}.pizza-board,.play-timer{align-items:center;display:flex}.pizza-board{flex:1 1;justify-content:center;padding:2rem 1rem;width:100%}.pizza-pan{align-items:center;background:radial-gradient(circle,#2e2e2e 0,#1c1c1c 100%);border:12px solid #5a5a5a;box-shadow:inset 0 0 20px #000c,0 10px 25px #00000080;display:flex;height:min(350px,80vw);justify-content:center;width:min(350px,80vw)}.pizza-crust,.pizza-pan{border-radius:50%;position:relative}.pizza-crust{box-shadow:0 4px 10px #0006;height:88%;overflow:hidden;transition:all .35s cubic-bezier(.16,1,.3,1);width:88%}.pizza-crust.thin{background:#facc15;border:8px solid #ca8a04}.pizza-crust.thick{background:#fb923c;border:18px solid #ea580c}.pizza-crust.wholewheat{background:#b45309;border:10px solid #78350f}.pizza-sauce-layer{border-radius:50%;height:92%;left:4%;opacity:.9;position:absolute;top:4%;transition:background-color .4s ease;width:92%}.pizza-sauce-layer.tomato{background:radial-gradient(circle,#dc2626 40%,#b91c1c 100%);box-shadow:inset 0 0 10px #0000004d}.pizza-sauce-layer.white{background:radial-gradient(circle,#fef08a 30%,#fef9c3 100%);box-shadow:inset 0 0 10px #854d0e1a}.pizza-sauce-layer.pesto{background:radial-gradient(circle,#15803d 40%,#166534 100%);box-shadow:inset 0 0 10px #0006}.pizza-sauce-layer.bbq{background:radial-gradient(circle,#78350f 40%,#451a03 100%);box-shadow:inset 0 0 10px #00000080}.scattered-topping-item{align-items:center;animation:dropTopping .25s cubic-bezier(.175,.885,.32,1.275) forwards;display:flex;font-size:1.5rem;height:28px;justify-content:center;pointer-events:none;position:absolute;-webkit-user-select:none;user-select:none;width:28px}.topping-emoji{filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.pizza-canvas-footer{margin-top:1.5rem;text-align:center;width:100%}.pizza-recipe-summary{background:#ffffff05;border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-secondary);font-size:.9rem;font-weight:500;padding:.65rem 1.25rem}.pizza-recipe-summary span{color:var(--accent-blue);font-weight:700}.pizza-controller-card{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-lg);padding:2rem}.pizza-controller-card h3{border-bottom:1px solid var(--border);font-size:1.35rem;font-weight:800;letter-spacing:-.015em;margin:0 0 1.5rem;padding-bottom:.85rem}.control-section{margin-bottom:2rem}.section-label{color:var(--text-main);display:block;font-size:.95rem;font-weight:700;letter-spacing:.04em;margin-bottom:.85rem;text-transform:uppercase}.options-row{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}.option-card{align-items:center;background:var(--secondary-bg);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-main);cursor:pointer;display:flex;flex-direction:column;font-weight:600;justify-content:center;min-height:64px;padding:.85rem .65rem;text-align:center;transition:var(--transition);word-break:break-word}.option-card strong{font-size:.85rem;line-height:1.25;overflow-wrap:anywhere;word-break:break-word}.option-card:hover{background:var(--card-bg-hover);border-color:var(--border-strong)}.option-card.active{background:#38bdf814;border-color:var(--accent-blue);box-shadow:var(--shadow-glow-blue)}.option-desc{color:var(--text-secondary);font-size:.75rem;font-weight:500;margin-top:.25rem}.option-card.sauce{align-items:center;flex-direction:row;gap:.5rem;justify-content:flex-start;min-height:52px;padding:.75rem .85rem;text-align:left}.option-card.sauce strong{flex:1 1;font-size:.85rem;line-height:1.25;overflow-wrap:anywhere;word-break:break-word}.sauce-indicator{border:1px solid #fff3;border-radius:50%;flex-shrink:0;height:12px;width:12px}.toppings-selection-grid{grid-gap:.65rem;display:grid;gap:.65rem;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));max-height:250px;overflow-y:auto;padding-right:.25rem}.toppings-selection-grid::-webkit-scrollbar{width:6px}.toppings-selection-grid::-webkit-scrollbar-track{background:#ffffff05;border-radius:3px}.toppings-selection-grid::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.toppings-selection-grid::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}.topping-select-card{align-items:center;background:var(--secondary-bg);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-main);cursor:pointer;display:flex;flex-direction:column;font-weight:600;gap:.35rem;padding:.75rem .5rem;transition:var(--transition)}.topping-select-card:hover{background:var(--card-bg-hover);border-color:var(--border-strong)}.topping-select-card.active{background:#38bdf814;border-color:var(--accent-blue);box-shadow:var(--shadow-glow-blue)}.topping-emoji-large{filter:drop-shadow(0 2px 4px rgba(0,0,0,.15));font-size:1.5rem;transition:transform .2s}.topping-select-card.active .topping-emoji-large{transform:scale(1.15)}.topping-name-label{font-size:.8rem;font-weight:600;text-align:center}.btn-submit-pizza{align-items:center;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:var(--radius-btn);box-shadow:0 4px 12px #10b98133;color:#fff;cursor:pointer;display:flex;font-size:1.05rem;font-weight:850;gap:.6rem;justify-content:center;margin-top:1.5rem;padding:.95rem;transition:var(--transition);width:100%}.btn-submit-pizza:hover{box-shadow:0 6px 16px #10b98159;transform:translateY(-2px)}.result-card{overflow:hidden;position:relative;text-align:center}.result-card:before{background:linear-gradient(90deg,var(--accent-blue),var(--accent-purple));content:"";height:4px;left:0;position:absolute;top:0;width:100%}.result-icon{margin-bottom:1.25rem}.result-icon.success{color:var(--accent-green);filter:drop-shadow(0 0 10px rgba(74,222,128,.25))}.result-icon.warning{color:var(--accent-orange);filter:drop-shadow(0 0 10px rgba(251,146,60,.25))}.result-icon.danger{color:var(--accent-red);filter:drop-shadow(0 0 10px rgba(248,113,113,.25))}.score-summary-box{align-items:center;display:flex;flex-wrap:wrap;gap:3rem;justify-content:center;margin:2.5rem 0}.score-circle-wrapper{flex-shrink:0}.score-circle{align-items:center;background:var(--secondary-bg);border:6px solid var(--border);border-radius:50%;box-shadow:var(--shadow);display:flex;flex-direction:column;height:140px;justify-content:center;width:140px}.score-circle.passed{border-color:var(--accent-green)}.score-circle.warning{border-color:var(--accent-orange)}.score-circle.failed{border-color:var(--accent-red)}.score-number{font-size:2.4rem;font-weight:900;letter-spacing:-.02em;line-height:1.1}.score-label{align-items:center;color:var(--text-secondary);display:flex;font-size:.75rem;font-weight:700;gap:.2rem;letter-spacing:.05em;margin-top:.35rem;text-transform:uppercase}.score-details-list{flex:1 1;min-width:280px;text-align:left}.perfect-score-badge{align-items:center;background:#4ade800f;border:1px solid #4ade8033;border-radius:var(--radius-md);color:var(--accent-green);display:flex;font-size:1rem;gap:.75rem;line-height:1.65;padding:1.25rem}.perfect-score-icon{flex-shrink:0}.feedback-errors-box{background:#f871710a;border:1px solid #f8717126;border-radius:var(--radius-md);max-height:200px;overflow-y:auto;padding:1.25rem}.feedback-errors-box h4{align-items:center;color:var(--accent-red);display:flex;font-size:1rem;font-weight:750;gap:.4rem;margin:0 0 .65rem}.feedback-errors-box ul{color:var(--text-main);font-size:.92rem;margin:0;padding-left:1.25rem}.feedback-errors-box li{line-height:1.45;margin-bottom:.5rem}.toppings-feedback-summary{display:flex;flex-direction:column;gap:1.25rem;margin-bottom:2.5rem;text-align:left}.topping-stat-card{background:var(--secondary-bg);border:1px solid var(--border);border-radius:var(--radius-md);padding:1.25rem}.topping-stat-card strong{display:block;font-size:.95rem;font-weight:750;margin-bottom:.65rem}.topping-stat-card strong.text-danger-flex{align-items:center;color:var(--accent-red);display:flex;gap:.4rem}.topping-stat-card strong.text-warning-flex{align-items:center;color:var(--accent-orange);display:flex;gap:.4rem}.tags-container{display:flex;flex-wrap:wrap;gap:.5rem}.tag-badge{border-radius:var(--radius-pill);font-size:.85rem;font-weight:700;padding:.35rem .85rem}.tag-badge.green{background:#4ade8014;border:1px solid #4ade8033;color:var(--accent-green)}.tag-badge.red{background:#f8717114;border:1px solid #f8717133;color:var(--accent-red)}.tag-badge.yellow{background:#fb923c14;border:1px solid #fb923c33;color:var(--accent-orange)}.empty-tag-msg{color:var(--text-muted);font-size:.85rem;font-weight:500}.btn-restart{align-items:center;background:var(--secondary-bg);border:1px solid var(--border);border-radius:var(--radius-btn);color:var(--text-main);cursor:pointer;display:inline-flex;font-weight:700;gap:.5rem;padding:.85rem 1.75rem;transition:var(--transition)}.btn-restart:hover{background:var(--card-bg-hover);border-color:var(--accent-blue)}@keyframes fadeInPizzaPage{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes dropTopping{0%{opacity:0;transform:translate(-50%,-100%) scale(1.5)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.confetti-holder{animation:bounceConfetti 2s ease-in-out infinite;left:50%;position:absolute;top:1rem;transform:translateX(-50%)}.sparkle-icon{color:var(--accent-orange);filter:drop-shadow(0 0 8px rgba(251,146,60,.6))}@keyframes bounceConfetti{0%,to{transform:translate(-50%) scale(1)}50%{transform:translate(-50%,-8px) scale(1.1)}}@media (max-width:480px){.pizza-play-page{padding:.5rem}.pizza-card-view,.pizza-controller-card,.pizza-visual-canvas-card{border-radius:16px;padding:1.5rem 1.25rem}.intro-header h1{font-size:1.8rem}.pizza-pan{height:min(280px,85vw);width:min(280px,85vw)}.toppings-selection-grid{grid-template-columns:repeat(auto-fill,minmax(85px,1fr))}.options-row{grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}.score-summary-box{flex-direction:column;gap:1.5rem}}@keyframes gradientShift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}@keyframes shimmerBtn{0%{background-position:-200%}to{background-position:200%}}.register-container{align-items:center;background:var(--primary-bg);display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:1.5rem;position:relative}.register-container:after,.register-container:before{animation:gradientShift 8s ease infinite;background-size:200% 200%;border-radius:50%;content:"";filter:blur(80px);opacity:.12;pointer-events:none;position:absolute}.register-container:before{background:radial-gradient(circle,var(--accent-blue),var(--accent-purple));height:500px;left:-150px;top:-150px;width:500px}.register-container:after{animation-delay:4s;background:radial-gradient(circle,var(--accent-purple),var(--accent-blue));bottom:-100px;height:400px;right:-100px;width:400px}.register-card{animation:floatUp .5s cubic-bezier(.16,1,.3,1) both;background:var(--secondary-bg);border:1px solid var(--border);border-radius:24px;box-shadow:0 25px 60px #0006,0 0 0 1px #ffffff0d,inset 0 1px 0 #ffffff14;max-width:520px;padding:2.5rem 2rem;position:relative;width:100%;z-index:1}.register-card:before{background:linear-gradient(90deg,#0000,var(--accent-blue) 40%,var(--accent-purple) 60%,#0000);border-radius:50%;content:"";height:1px;left:10%;position:absolute;right:10%;top:0}.error-card,.loading-card{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:250px;text-align:center}.spinner{animation:spin .8s linear infinite;border:3px solid var(--border);border-radius:50%;border-top-color:var(--accent-blue);height:36px;margin-bottom:1.5rem;width:36px}.error-icon{font-size:2.5rem;margin-bottom:.75rem}.register-card h2{color:var(--text-main);font-size:1.5rem;font-weight:850;letter-spacing:-.3px;margin:0 0 .5rem}.register-logo{margin-bottom:1.75rem;text-align:center}.register-logo-img{display:block;filter:brightness(1.05);margin:0 auto .75rem;max-height:40px;object-fit:contain}.invite-tag{background:#38bdf814;border:1px solid #38bdf833;border-radius:999px;color:var(--accent-blue);display:inline-block;font-size:.8rem;font-weight:600;margin-top:.5rem;padding:.35rem .85rem}.invite-tag strong{color:var(--text-main)}.register-form{display:flex;flex-direction:column;gap:1.15rem}.form-row .form-group{flex:1 1}.form-group{gap:.45rem}.form-group label{color:var(--text-secondary);font-size:.78rem;font-weight:700;letter-spacing:.4px;text-transform:uppercase}.form-group input{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-main);font-family:inherit;font-size:.9rem;outline:none;padding:.75rem 1rem;transition:all .2s ease;width:100%}.form-group input:hover{border-color:var(--border-strong)}.form-group input:focus{background:#38bdf80a;border-color:var(--accent-blue);box-shadow:0 0 0 3px #38bdf81f}.form-group input::placeholder{color:var(--text-muted)}.form-group select.sm-position-select{background:var(--card-bg)!important;border:1px solid var(--border)!important;border-radius:var(--radius-md)!important;color:var(--text-main)!important;cursor:pointer!important;font-family:inherit!important;font-size:.9rem!important;outline:none!important;padding:.75rem 1rem;transition:all .2s ease!important;width:100%}.form-group select.sm-position-select:hover{border-color:var(--border-strong)!important}.form-group select.sm-position-select:focus{background:#38bdf80a!important;border-color:var(--accent-blue)!important;box-shadow:0 0 0 3px #38bdf81f!important}.form-group select.sm-position-select option{background:var(--secondary-bg);color:var(--text-main)}.error-banner{background:#f8717114;border:1px solid #f8717133;border-radius:var(--radius-md);color:#f87171;font-size:.85rem;font-weight:600;padding:.7rem 1rem;text-align:center}.btn-register{background:linear-gradient(135deg,var(--accent-blue) 0,var(--accent-purple) 100%);border:none;border-radius:var(--radius-md);box-shadow:0 4px 18px #38bdf84d;color:#fff;cursor:pointer;font-family:inherit;font-size:.92rem;font-weight:700;margin-top:.5rem;overflow:hidden;padding:.85rem;position:relative;transition:all .25s ease;width:100%}.btn-register:before{animation:shimmerBtn 1.8s linear infinite;background:linear-gradient(90deg,#0000,#ffffff26 50%,#0000);background-size:200% 100%;content:"";inset:0;opacity:0;position:absolute;transition:opacity .3s ease}.btn-register:hover:not(:disabled):before{opacity:1}.btn-register:hover:not(:disabled){box-shadow:0 8px 25px #38bdf866;transform:translateY(-2px)}.btn-register:active:not(:disabled){transform:translateY(0)}.btn-register:disabled{cursor:not-allowed;opacity:.7}.btn-back{border:1px solid var(--border);border-radius:var(--radius-md);font-family:inherit;margin-top:1.25rem;padding:.7rem 1.5rem;transition:var(--transition)}.btn-back:hover{background:#ffffff0a;border-color:var(--text-main);color:var(--text-main)}@media (max-width:600px){.form-row{flex-direction:column;gap:1.15rem}.register-card{border-radius:20px;padding:1.5rem}}.sd-loading{align-items:center;background-color:var(--primary-bg);color:var(--text-main);display:flex;flex-direction:column;gap:1rem;justify-content:center;min-height:100vh}.sd-loading:before{animation:sd-spin .8s linear infinite;border:3px solid var(--border-strong);border-radius:50%;border-top-color:var(--accent-blue);content:"";height:28px;width:28px}@keyframes sd-spin{to{transform:rotate(1turn)}}.sd-container{background-color:var(--primary-bg);color:var(--text-main);display:flex;flex-direction:column;gap:1.5rem;min-height:100vh;padding:var(--admin-padding)}.sd-header{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:1rem;justify-content:space-between;padding-bottom:1.25rem}.sd-header,.sd-header-left{align-items:center;display:flex}.sd-header-left{gap:1.25rem;min-width:0}.sd-logo-img{filter:drop-shadow(0 0 8px rgba(255,255,255,.15));height:44px;object-fit:contain}.sd-welcome h1{color:var(--text-main);font-size:1.7rem;font-weight:800;margin:0 0 .25rem}.sd-welcome p{color:var(--text-secondary);font-size:.92rem;margin:0}.sd-btn-logout{align-items:center;background:#ef444414;border:1px solid #ef444429;border-radius:var(--radius-btn);color:var(--accent-red);cursor:pointer;display:inline-flex;font-family:inherit;font-size:.88rem;font-weight:600;gap:.4rem;padding:.6rem 1.25rem;transition:var(--transition)}.sd-btn-logout:hover{background:#ef444429;border-color:var(--accent-red);transform:translateY(-1px)}.sd-stats-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.sd-stat-card{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-lg);display:flex;gap:1rem;padding:1.25rem;transition:var(--transition)}.sd-stat-card:hover{border-color:var(--border-strong);transform:translateY(-2px)}.sd-stat-icon{align-items:center;border-radius:12px;display:flex;flex-shrink:0;height:50px;justify-content:center;width:50px}.red-glow{background:#ef444414;border:1px solid #ef444429;box-shadow:0 4px 12px #ef44441a;color:var(--accent-red)}.green-glow{background:#4ade8014;border:1px solid #4ade8029;box-shadow:0 4px 12px #4ade801a;color:var(--accent-green)}.blue-glow{background:#38bdf814;border:1px solid #38bdf829;box-shadow:0 4px 12px #38bdf81a;color:var(--accent-blue)}.yellow-glow{color:var(--accent-purple)}.orange-glow,.yellow-glow{background:#fbbf2414;border:1px solid #fbbf2429;box-shadow:0 4px 12px #fbbf241a}.orange-glow{color:var(--accent-orange)}.sd-stat-info h3{font-size:1.4rem;font-weight:800;line-height:1.2;margin:0}.sd-stat-info p{color:var(--text-secondary);font-size:.8rem;font-weight:600;letter-spacing:.02em;margin:.15rem 0 0;text-transform:uppercase}.sd-main-layout{display:flex;flex-direction:column}.sd-content-area{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-card);min-height:420px;padding:1.75rem}.sd-tabs{-webkit-overflow-scrolling:touch;border-bottom:1px solid var(--border);display:flex;gap:1.25rem;margin-bottom:1.75rem;overflow-x:auto;scrollbar-width:none}.sd-tabs::-webkit-scrollbar{display:none}.sd-tab-btn{align-items:center;background:none;border:none;color:var(--text-secondary);cursor:pointer;display:inline-flex;flex-shrink:0;font-family:inherit;font-size:.95rem;font-weight:700;gap:.45rem;padding:.85rem .35rem;position:relative;transition:var(--transition)}.sd-tab-btn:hover{color:var(--text-main)}.sd-tab-btn.active{color:var(--accent-blue)}.sd-tab-btn.active:after{background:linear-gradient(90deg,var(--accent-blue),var(--accent-purple));border-radius:999px;bottom:-1px;box-shadow:var(--shadow-glow-blue);content:"";height:2px;left:0;position:absolute;right:0}.sd-tasks-list{display:flex;flex-direction:column;gap:1rem}.sd-task-item{align-items:center;background:#ffffff05;border:1px solid var(--border);border-radius:var(--radius-md);display:flex;gap:1.5rem;justify-content:space-between;padding:1.25rem 1.5rem;transition:var(--transition)}.sd-task-item:hover{background:var(--card-bg-hover);border-color:var(--border-strong);transform:translateX(4px)}.completed-task{opacity:.85}.sd-task-type{background:#38bdf814;border-radius:6px;color:var(--accent-blue);display:inline-block;font-size:.72rem;font-weight:800;letter-spacing:.02em;margin-bottom:.4rem;padding:.2rem .55rem;text-transform:uppercase}.sd-task-info h3{color:var(--text-main);font-size:1.1rem;font-weight:700;margin:0 0 .25rem}.sd-task-info p{color:var(--text-secondary);font-size:.88rem;margin:0}.sd-task-action{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;gap:.4rem}.sd-btn-play{align-items:center;background:linear-gradient(135deg,var(--accent-blue),var(--accent-purple));border:none;border-radius:var(--radius-btn);box-shadow:0 4px 12px #38bdf826;color:#fff;cursor:pointer;display:inline-flex;font-family:inherit;font-size:.88rem;font-weight:600;gap:.4rem;padding:.6rem 1.25rem;transition:var(--transition)}.sd-btn-play:hover{box-shadow:0 6px 16px #38bdf84d;transform:translateY(-1px)}.sd-badge-completed{background:#4ade8014;border:1px solid #4ade8026;border-radius:var(--radius-btn);color:var(--accent-green);font-size:.82rem;font-weight:800;gap:.35rem;letter-spacing:.02em;padding:.45rem 1rem;text-transform:uppercase}.sd-badge-completed,.sd-btn-retry{align-items:center;display:inline-flex}.sd-btn-retry{background:#0000;border:1px solid var(--border);border-radius:var(--radius-btn);color:var(--text-muted);cursor:pointer;font-family:inherit;font-size:.8rem;font-weight:600;gap:.4rem;margin-top:.4rem;padding:.45rem .9rem;transition:var(--transition)}.sd-btn-retry:hover{border-color:var(--accent-blue);color:var(--accent-blue);transform:translateY(-1px)}.sd-history-list{display:flex;flex-direction:column;gap:1rem}.sd-history-item{align-items:center;background:#ffffff03;border:1px solid var(--border);border-radius:var(--radius-md);display:flex;gap:1.5rem;justify-content:space-between;padding:1.15rem 1.5rem}.sd-history-meta h4{color:var(--text-main);font-size:1.05rem;font-weight:700;margin:.2rem 0}.sd-history-date{color:var(--text-secondary);font-size:.78rem}.sd-history-score-area{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;gap:.4rem}.sd-history-score{font-size:1.2rem;font-weight:800}.pass-text{color:var(--accent-green)}.fail-text{color:var(--accent-red)}.pass-pill{background:#4ade801f;border:1px solid #4ade8033;color:var(--accent-green)}.fail-pill{background:#ef44441f;border:1px solid #ef444433;color:var(--accent-red)}.sd-pagination{align-items:center;border-top:1px solid var(--border);display:flex;gap:1rem;justify-content:center;margin-top:1.5rem;padding-top:1rem}.sd-pagination-btn{background:var(--card-bg);border:1px solid var(--border);border-radius:8px;color:var(--text-main);cursor:pointer;font-size:.85rem;font-weight:600;padding:.5rem 1.1rem;transition:all .2s ease}.sd-pagination-btn:hover:not(:disabled){background:var(--accent-blue);border-color:var(--accent-blue);color:#fff}.sd-pagination-btn:disabled{cursor:not-allowed;opacity:.4}.sd-pagination-info{color:var(--text-secondary);font-size:.85rem;font-weight:500}.sd-rec-container{display:flex;flex-direction:column;gap:1.5rem;text-align:left}.sd-rec-summary{background:#ffffff05;border:1px solid var(--border);border-radius:var(--radius-card);padding:1.5rem}.sd-rec-header{align-items:center;display:flex;gap:.6rem;margin-bottom:.75rem}.sd-rec-header h3{color:var(--text-main);font-size:1.15rem;font-weight:700;margin:0}.sd-rec-appeal{color:var(--text-main);font-size:.95rem;line-height:1.55;margin:0}.sd-rec-actions h3{color:var(--text-main);font-size:1.15rem;font-weight:700;margin:0 0 1rem}.sd-rec-actions-list{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:1fr}.sd-rec-action-item{background:#ffffff03;border:1px solid var(--border);border-left-width:4px;border-radius:0 var(--radius-md) var(--radius-md) 0;padding:1rem 1.25rem}.border-high{border-left-color:var(--accent-red)}.border-medium{border-left-color:var(--accent-orange)}.border-low{border-left-color:var(--accent-green)}.sd-rec-action-item h4{color:var(--text-main);font-size:.95rem;font-weight:700;margin:0 0 .25rem}.sd-rec-action-item p{color:var(--text-secondary);font-size:.88rem;line-height:1.4;margin:0}.sd-certificates-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.sd-cert-card{align-items:center;background:#ffffff05;border:1px solid var(--border);border-radius:var(--radius-card);display:flex;gap:1rem;padding:1.25rem;transition:var(--transition)}.sd-cert-card:hover{background:var(--card-bg-hover);border-color:var(--border-strong);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.sd-cert-icon{align-items:center;background:#6366f114;border:1px solid #6366f129;border-radius:12px;color:var(--accent-purple);display:flex;flex-shrink:0;height:52px;justify-content:center;width:52px}.sd-cert-info{flex-grow:1;min-width:0;text-align:left}.sd-cert-info h4{color:var(--text-main);font-size:1.05rem;font-weight:700;margin:0 0 .2rem}.sd-cert-info h4,.sd-cert-test{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sd-cert-test{color:var(--text-secondary);font-size:.88rem;margin:0 0 .4rem}.sd-cert-meta{color:var(--text-secondary);font-size:.78rem;margin:0}.sd-cert-meta strong{color:var(--text-main)}.sd-cert-actions{align-items:stretch;display:flex;flex-direction:column;flex-shrink:0;gap:.45rem}.sd-btn-download-cert{align-items:center;background:linear-gradient(135deg,var(--accent-purple) 0,#6366f1 100%);border:none;border-radius:var(--radius-btn);color:#fff;cursor:pointer;display:inline-flex;font-family:inherit;font-size:.8rem;font-weight:600;gap:.35rem;justify-content:center;padding:.5rem .75rem;transition:var(--transition);white-space:nowrap}.sd-btn-download-cert:hover{box-shadow:0 4px 10px #6366f140;transform:translateY(-1px)}.sd-link-verify{background:#4ade8014;border:1px solid #4ade8026;border-radius:var(--radius-btn);color:var(--accent-green);font-size:.78rem;font-weight:600;padding:.35rem .5rem;text-align:center;text-decoration:none;transition:var(--transition)}.sd-link-verify:hover{background:#4ade8026;color:#a7f3d0}.sd-courses-list-tab{margin-top:.5rem}.sd-courses-grid-tab{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.sd-course-card-tab{background:#ffffff05;border:1px solid var(--border);border-radius:var(--radius-card);display:flex;flex-direction:column;overflow:hidden;transition:var(--transition)}.sd-course-card-tab:hover{background:var(--card-bg-hover);border-color:var(--border-strong);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.sd-course-card-tab.completed{border-color:#4ade8033;opacity:.85}.sd-course-card-tab.completed:hover{border-color:#4ade8059;opacity:1}.sd-course-cover-tab{background-position:50%;background-size:cover;border-bottom:1px solid var(--border);height:120px}.sd-course-cover-tab.default-grad{background:linear-gradient(135deg,var(--secondary-bg) 0,var(--accent-blue) 100%)}.sd-course-cover-tab.completed-grad{background:linear-gradient(135deg,var(--secondary-bg) 0,#4ade804d 100%)}.sd-course-card-header{align-items:flex-start;display:flex;gap:.75rem;justify-content:space-between;margin-bottom:.5rem}.sd-course-card-header h3{flex:1 1;margin:0;min-width:0}.sd-course-steps-badge{background:#38bdf81a;border-radius:8px;color:var(--accent-blue);flex-shrink:0;font-size:.72rem;font-weight:700;padding:.2rem .6rem;white-space:nowrap}.sd-completed-badge{flex-shrink:0;font-size:1.2rem}.sd-course-completed-meta{color:var(--text-secondary);display:flex;flex-wrap:wrap;font-size:.8rem;gap:.75rem;margin-top:auto}.sd-course-completed-meta span{align-items:center;display:flex;gap:.25rem}.sd-btn-review-tab{align-items:center;background:#0000;border:1px solid var(--border);border-radius:var(--radius-btn);color:var(--text-secondary);cursor:pointer;display:inline-flex;font-family:inherit;font-size:.85rem;font-weight:600;gap:.4rem;padding:.55rem 1.15rem;transition:var(--transition)}.sd-btn-review-tab:hover{background:#38bdf80d;border-color:var(--accent-blue);color:var(--accent-blue)}.sd-section-divider{align-items:center;display:flex;gap:.75rem;margin:1.5rem 0 1rem}.sd-section-divider:after,.sd-section-divider:before{background:var(--border);content:"";flex:1 1;height:1px}.sd-section-divider span{color:var(--text-secondary);font-size:.9rem;font-weight:700;white-space:nowrap}.sd-course-info-tab{display:flex;flex-direction:column;flex-grow:1;padding:1.25rem;text-align:left}.sd-course-info-tab h3{color:var(--text-main);font-size:1.15rem;font-weight:700;line-height:1.3;margin:0 0 .5rem}.sd-course-desc-tab{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--text-secondary);display:-webkit-box;font-size:.88rem;height:2.9em;line-height:1.45;margin:0 0 1.25rem;overflow:hidden}.sd-course-progress-tab{display:flex;flex-direction:column;gap:.35rem;margin-top:auto}.sd-course-progress-text-tab{color:var(--text-secondary);display:flex;font-size:.8rem;justify-content:space-between}.sd-course-progress-text-tab strong{color:var(--text-main)}.sd-course-progress-bar-tab{background:#94a3b81f;border-radius:999px;height:6px;overflow:hidden}.sd-course-progress-bar-fill-tab{background:linear-gradient(90deg,var(--accent-blue) 0,var(--accent-green) 100%);border-radius:999px;height:100%;transition:width .4s ease}.sd-course-actions-tab{background:#00000014;border-top:1px solid var(--border);display:flex;justify-content:flex-end;padding:.85rem 1.25rem}.sd-btn-play-tab{align-items:center;background:linear-gradient(135deg,var(--accent-blue) 0,var(--accent-blue-hover) 100%);border:none;border-radius:var(--radius-btn);color:#fff;cursor:pointer;display:inline-flex;font-family:inherit;font-size:.85rem;font-weight:600;gap:.4rem;padding:.55rem 1.15rem;transition:var(--transition)}.sd-btn-play-tab:hover{box-shadow:0 4px 10px #38bdf840;transform:translateY(-1px)}.sd-grouped-stages-container{display:flex;flex-direction:column;gap:2rem}.sd-stage-group-section{display:flex;flex-direction:column;gap:1rem}.sd-stage-group-header{border-bottom:1px solid var(--border);padding-bottom:.6rem;text-align:left}.sd-stage-group-header h3{color:var(--text-main);font-size:1.25rem;font-weight:750;margin:0 0 .25rem}.sd-stage-group-desc{color:var(--text-secondary);font-size:.9rem;margin:0}.sd-empty-state{color:var(--text-secondary);font-weight:500;padding:3rem 0;text-align:center}@media (max-width:768px){.sd-container{gap:1rem;padding:1rem}.sd-content-area{padding:1rem}.sd-certificates-grid,.sd-courses-grid-tab{gap:1rem;grid-template-columns:repeat(auto-fill,minmax(270px,1fr))}.sd-header{align-items:flex-start;flex-direction:column;gap:1.25rem}.sd-btn-logout{align-self:stretch;justify-content:center}.sd-task-item{align-items:stretch;flex-direction:column;gap:1rem}.sd-badge-completed,.sd-btn-play{justify-content:center;width:100%}.sd-history-item{align-items:flex-start;flex-direction:column;gap:.85rem}.sd-history-score-area{align-items:flex-start;border-top:1px solid var(--border);padding-top:.65rem;width:100%}}@media (max-width:480px){.sd-certificates-grid,.sd-courses-grid-tab,.sd-stats-grid{grid-template-columns:1fr}.sd-cert-card{align-items:center;flex-direction:column;text-align:center}.sd-cert-actions{flex-direction:row;width:100%}.sd-btn-download-cert,.sd-link-verify{flex:1 1;justify-content:center}}.sd-tasks-badge{align-items:center;background:linear-gradient(135deg,#ef4444,#dc2626);background:linear-gradient(135deg,var(--accent-red,#ef4444),#dc2626);border-radius:999px;box-shadow:0 2px 8px #ef444466;color:#fff;display:inline-flex;font-size:.72rem;font-weight:800;height:18px;justify-content:center;line-height:1;min-width:18px;padding:0 5px}.sd-alert-banner{align-items:center;animation:sd-alert-pulse 2s ease-in-out infinite;background:linear-gradient(135deg,#ef444414,#f59e0b14);border:1px solid #ef444433;border-left:4px solid #ef4444;border-left:4px solid var(--accent-red,#ef4444);border-radius:var(--radius-card);box-shadow:var(--shadow-lg);display:flex;gap:1.5rem;justify-content:space-between;padding:1rem 1.5rem}.sd-alert-content{align-items:center;display:flex;gap:1rem}.sd-alert-icon{color:#ef4444;color:var(--accent-red,#ef4444);flex-shrink:0}.sd-alert-text{display:flex;flex-direction:column;gap:.15rem;text-align:left}.sd-alert-text strong{color:var(--text-main);font-size:.98rem}.sd-alert-text span{color:var(--text-secondary);font-size:.88rem}.sd-alert-btn{align-items:center;background:linear-gradient(135deg,#ef4444,#b91c1c);background:linear-gradient(135deg,var(--accent-red,#ef4444) 0,#b91c1c 100%);border:none;border-radius:var(--radius-btn);box-shadow:0 4px 12px #ef444440;color:#fff;cursor:pointer;display:inline-flex;font-family:inherit;font-size:.88rem;font-weight:700;gap:.5rem;padding:.65rem 1.25rem;transition:var(--transition);white-space:nowrap}.sd-alert-btn:hover{box-shadow:0 6px 16px #ef444466;transform:translateY(-1px)}@keyframes sd-alert-pulse{0%,to{border-color:#ef444433}50%{border-color:#ef444473}}@media (max-width:768px){.sd-alert-banner{align-items:stretch;flex-direction:column;gap:1rem;text-align:center}.sd-alert-content{flex-direction:column;gap:.5rem}.sd-alert-text{align-items:center;text-align:center}.sd-alert-btn{justify-content:center;width:100%}}.sd-level-progress{background:linear-gradient(135deg,#38bdf814,#a855f714);border:1px solid var(--border);border-radius:16px;margin-bottom:1.25rem;padding:1rem 1.25rem}.sd-level-header{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:.75rem}.sd-level-badge{background:linear-gradient(135deg,#38bdf8,#a855f7);border-radius:999px;color:#fff;font-size:1rem;font-weight:700;padding:.25rem .85rem}.sd-level-xp{color:var(--text);font-weight:600}.sd-level-next{color:var(--text-secondary);font-size:.8rem;margin-left:auto}.sd-xp-bar{background:#94a3b82e;border-radius:999px;height:12px;overflow:hidden;width:100%}.sd-xp-fill{background:linear-gradient(90deg,#38bdf8,#a855f7);border-radius:999px;box-shadow:0 0 12px #38bdf866;height:100%;transition:width .6s ease}.leaderboard-card-container{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:var(--secondary-bg);border:1px solid var(--border);border-radius:16px;box-shadow:0 8px 32px 0 #00000026;margin-top:2rem;padding:1.5rem;transition:transform .3s ease,box-shadow .3s ease}.leaderboard-header-section{align-items:center;border-bottom:1px solid var(--border);display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1.25rem}.leaderboard-title-group{align-items:center;display:flex;gap:.75rem}.title-icon-main{animation:float 3s ease-in-out infinite;color:#fbbf24;filter:drop-shadow(0 0 8px rgba(251,191,36,.4))}.leaderboard-title-group h2{color:var(--text-main);font-family:Playfair Display,serif;font-size:1.5rem;margin:0}.leaderboard-title-group p{color:var(--text-muted);font-size:.85rem;margin:.2rem 0 0}.leaderboard-search-box{min-width:280px;position:relative}.search-icon-inside{color:var(--text-muted);left:.75rem;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.leaderboard-search-box input{background:var(--primary-bg);border:1px solid var(--border);border-radius:8px;color:var(--text-main);font-size:.9rem;outline:none;padding:.5rem .75rem .5rem 2.25rem;transition:border-color .2s;width:100%}.leaderboard-search-box input:focus{border-color:#fbbf24}.leaderboard-empty-box,.leaderboard-error-box,.leaderboard-loading-box{align-items:center;color:var(--text-muted);display:flex;flex-direction:column;gap:.75rem;justify-content:center;padding:3rem 1rem}.leaderboard-error-box{background:#ef44440d;border:1px dashed #ef444433;border-radius:8px;color:#ef4444;padding:1rem}.pulse-loader{animation:pulse-ring 1.25s cubic-bezier(.215,.61,.355,1) infinite;background-color:#fbbf24;border-radius:50%;height:32px;width:32px}.empty-icon{animation:wobble 2s ease-in-out infinite;opacity:.4}.leaderboard-table-wrapper{border-radius:8px;overflow-x:auto}.leaderboard-table-header{background:var(--primary-bg);border-radius:8px;color:var(--text-muted);font-size:.85rem;font-weight:600;letter-spacing:.5px;margin-bottom:.5rem;text-transform:uppercase}.leaderboard-row,.leaderboard-table-header{display:grid;grid-template-columns:80px 1.5fr 1fr 100px 1.5fr 120px;padding:.75rem 1rem}.leaderboard-row{align-items:center;background:#ffffff05;border:1px solid #0000;border-radius:8px;margin-bottom:.4rem;transition:all .2s ease}.leaderboard-row:hover{background:#ffffff0a;border-color:var(--border);transform:translateX(4px)}.leaderboard-row.is-self{background:#fbbf240d!important;border-color:#fbbf244d!important}.self-tag{color:#fbbf24;font-size:.75rem;font-weight:600;margin-left:.25rem}.rank-badge-wrapper{align-items:center;display:flex;height:36px;justify-content:center;width:36px}.rank-trophy.gold{color:#fbbf24;filter:drop-shadow(0 0 6px rgba(251,191,36,.6))}.rank-trophy.silver{color:#94a3b8;filter:drop-shadow(0 0 6px rgba(148,163,184,.6))}.rank-trophy.bronze{color:#b45309;filter:drop-shadow(0 0 6px rgba(180,83,9,.6))}.rank-number-text{color:var(--text-muted);font-size:1rem;font-weight:700}.leaderboard-row.top-1{background:linear-gradient(90deg,#fbbf2414,#ffffff05);border-color:#fbbf2433}.leaderboard-row.top-2{background:linear-gradient(90deg,#94a3b814,#ffffff05);border-color:#94a3b833}.leaderboard-row.top-3{background:linear-gradient(90deg,#b4530914,#ffffff05);border-color:#b4530933}.player-profile-cell{align-items:center;display:flex;gap:.75rem}.player-avatar{align-items:center;background:linear-gradient(135deg,var(--border) 0,#ffffff1a 100%);border:1px solid var(--border);border-radius:50%;color:var(--text-main);display:flex;font-size:.85rem;font-weight:700;height:38px;justify-content:center;position:relative;text-transform:uppercase;width:38px}.top-1 .player-avatar{background:linear-gradient(135deg,#fbbf24,#d97706);border-color:#fbbf24;color:#111827}.top-2 .player-avatar{background:linear-gradient(135deg,#cbd5e1,#64748b);border-color:#cbd5e1;color:#111827}.top-3 .player-avatar{background:linear-gradient(135deg,#fed7aa,#b45309);border-color:#fed7aa;color:#fff}.spark-decor{animation:spin 4s linear infinite;color:#fbbf24;position:absolute;right:-2px;top:-2px}.player-info-meta{display:flex;flex-direction:column;gap:.15rem}.player-fullname{color:var(--text-main);font-size:.95rem;font-weight:600}.player-level-badge{background:#ffffff0f;border:1px solid var(--border);border-radius:4px;color:var(--text-muted);font-size:.7rem;padding:.05rem .4rem;width:-webkit-fit-content;width:fit-content}.city-pos-cell{display:flex;flex-direction:column;gap:.15rem}.city-text{color:var(--text-main);font-size:.85rem}.position-text{color:var(--text-muted);font-size:.75rem}.streak-badge-active{align-items:center;background:#ef44441a;border:1px solid #ef444433;border-radius:20px;color:#f87171;display:inline-flex;font-size:.8rem;font-weight:600;gap:.25rem;padding:.2rem .5rem}.streak-flame-icon{animation:flicker 1s ease-in-out infinite alternate}.no-streak-text{color:var(--text-muted);font-size:.9rem}.badges-list-chips{display:flex;flex-wrap:wrap;gap:.25rem}.badge-chip-item{background:#ffffff0d;border:1px solid var(--border);border-radius:4px;color:var(--text-muted);font-size:.75rem;padding:.15rem .4rem}.badge-chip-item.gold{background:#fbbf241a;border-color:#fbbf2433;color:#fbbf24}.badge-chip-item.streak{background:#ef444414;border-color:#ef444426;color:#f87171}.empty-badge-dots{color:var(--text-muted)}.xp-badge-display{align-items:center;background:#10b9811a;border:1px solid #10b98133;border-radius:8px;color:#34d399;display:flex;font-size:.9rem;gap:.3rem;padding:.25rem .6rem;width:-webkit-fit-content;width:fit-content}.xp-badge-display strong{font-size:1rem}.xp-unit{font-size:.75rem;font-weight:600;opacity:.8}@keyframes float{0%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-4px) rotate(3deg)}to{transform:translateY(0) rotate(0deg)}}@keyframes flicker{0%{filter:brightness(1);transform:scale(1)}to{filter:brightness(1.2);transform:scale(1.1)}}@keyframes pulse-ring{0%{opacity:.5;transform:scale(.95)}50%{opacity:.8;transform:scale(1.05)}to{opacity:.5;transform:scale(.95)}}@keyframes wobble{0%,to{transform:rotate(0deg)}25%{transform:rotate(-5deg)}75%{transform:rotate(5deg)}}@media (max-width:1024px){.leaderboard-row,.leaderboard-table-header{grid-template-columns:60px 1.2fr 1fr 90px 1fr 100px}}@media (max-width:768px){.leaderboard-row,.leaderboard-table-header{grid-template-columns:50px 1.2fr .8fr 80px 100px}.col-badges{display:none}}@media (max-width:480px){.leaderboard-row,.leaderboard-table-header{gap:.5rem;grid-template-columns:40px 1.5fr 80px;padding:.6rem .75rem}.col-city,.col-streak{display:none}.player-fullname{font-size:.85rem}.xp-badge-display{font-size:.8rem;padding:.15rem .4rem}.player-avatar{font-size:.75rem;height:32px;width:32px}.leaderboard-header-section{align-items:stretch;flex-direction:column}.leaderboard-search-box{min-width:0;min-width:auto;width:100%}}.ug-container{animation:ugFadeIn .5s cubic-bezier(.16,1,.3,1);color:var(--text-main);margin:0 auto;max-width:1050px;min-height:100vh;padding:2rem}.ug-header{margin-bottom:2.5rem;position:relative}.ug-title-group{align-items:center;display:flex;gap:1.5rem}.ug-title-icon-wrapper{align-items:center;background:linear-gradient(135deg,#38bdf826,#818cf80d);border:1px solid #38bdf840;border-radius:var(--radius-lg);box-shadow:0 8px 24px #38bdf826,inset 0 2px 8px #38bdf81a;display:flex;justify-content:center;padding:.9rem;transition:var(--transition)}.ug-title-icon-wrapper:hover{border-color:#38bdf866;box-shadow:0 8px 30px #38bdf840;transform:rotate(5deg) scale(1.05)}.ug-header-icon{color:var(--accent-blue);filter:drop-shadow(0 0 8px rgba(56,189,248,.4))}.ug-title-group h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--text-main) 40%,var(--accent-blue) 100%);-webkit-background-clip:text;font-family:Outfit,Inter,sans-serif;font-size:2.4rem;font-weight:800;letter-spacing:-.5px;margin:0}.ug-title-group p{color:var(--text-secondary);font-size:1rem;font-weight:500;margin:.35rem 0 0}.ug-search-wrapper{margin-bottom:2.5rem}.ug-search-bar{align-items:center;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#1e293b66;border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);display:flex;padding:0 1.25rem;position:relative;transition:var(--transition)}.ug-search-bar:focus-within{background:#1e293ba6;border-color:var(--accent-blue);box-shadow:var(--shadow-glow-blue),0 8px 32px #0000004d}.ug-search-icon{color:var(--text-secondary);margin-right:.9rem;transition:var(--transition)}.ug-search-bar:focus-within .ug-search-icon{color:var(--accent-blue);transform:scale(1.1)}.ug-search-input{background:#0000;border:none;color:var(--text-main);font-family:inherit;font-size:1rem;font-weight:500;outline:none;padding:1.15rem 0;width:100%}.ug-search-input::placeholder{color:var(--text-secondary);opacity:.6}.ug-search-clear{align-items:center;background:#ffffff14;border:none;border-radius:50%;color:var(--text-secondary);cursor:pointer;display:flex;font-size:1.3rem;height:26px;justify-content:center;line-height:1;margin-left:.5rem;transition:var(--transition);width:26px}.ug-search-clear:hover{background:#f8717133;color:var(--accent-red);transform:scale(1.05)}.ug-tabs{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:2rem}.ug-tab-btn{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#1e293b4d;border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;display:flex;font-size:.95rem;font-weight:600;gap:.75rem;padding:.85rem 1.5rem;transition:var(--transition)}.ug-tab-btn:hover{background:#1e293b99;border-color:#fff3;color:var(--text-main);transform:translateY(-1px)}.ug-tab-btn.active{background:linear-gradient(135deg,var(--accent-blue) 0,#2563eb 100%);border-color:var(--accent-blue);box-shadow:0 8px 20px #38bdf840;color:#fff}.ug-tab-badge{background:#ffffff26;border-radius:var(--radius-pill);color:inherit;font-size:.8rem;font-weight:700;padding:.15rem .6rem;transition:var(--transition)}.ug-tab-btn.active .ug-tab-badge{background:#ffffff40}.ug-search-results-info{align-items:center;background:#38bdf80f;border:1px solid #38bdf826;border-radius:var(--radius-md);box-shadow:inset 0 1px 4px #38bdf80d;color:var(--text-secondary);display:flex;font-size:.95rem;gap:.75rem;margin-bottom:1.5rem;padding:.9rem 1.25rem}.text-blue{color:var(--accent-blue)}.text-orange{color:var(--accent-orange)}.ug-accordion-container{display:flex;flex-direction:column;gap:1.25rem;margin-bottom:3rem}.ug-accordion-item{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#1e293b40;border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:var(--transition)}.ug-accordion-item:hover{background:#1e293b66;border-color:#ffffff2e;box-shadow:0 10px 30px #00000059;transform:translateY(-2px)}.ug-accordion-item.open{background:#1e293b73;border-color:#ffffff38;box-shadow:var(--shadow-lg),0 12px 40px #0006}.ug-accordion-item.student-category.open{border-left:4px solid var(--accent-purple);box-shadow:0 10px 30px #818cf81a,var(--shadow-lg)}.ug-accordion-item.trainer-category.open{border-left:4px solid var(--accent-green);box-shadow:0 10px 30px #4ade801a,var(--shadow-lg)}.ug-accordion-item.admin-category.open{border-left:4px solid var(--accent-blue);box-shadow:0 10px 30px #38bdf81a,var(--shadow-lg)}.ug-accordion-header{align-items:center;display:flex;gap:1.5rem;justify-content:space-between;padding:1.4rem 1.75rem;-webkit-user-select:none;user-select:none}.ug-accordion-header-left{align-items:center;display:flex;flex:1 1;gap:1.25rem}.ug-accordion-icon{align-items:center;background:#ffffff08;border:1px solid #ffffff0d;border-radius:var(--radius-md);color:var(--text-main);display:flex;justify-content:center;padding:.7rem;transition:var(--transition)}.ug-accordion-item:hover .ug-accordion-icon{transform:scale(1.05)}.ug-accordion-item.student-category .ug-accordion-icon{background:#818cf81f;border-color:#818cf840;box-shadow:0 0 12px #818cf81a;color:var(--accent-purple)}.ug-accordion-item.trainer-category .ug-accordion-icon{background:#4ade801f;border-color:#4ade8040;box-shadow:0 0 12px #4ade801a;color:var(--accent-green)}.ug-accordion-item.admin-category .ug-accordion-icon{background:#38bdf81f;border-color:#38bdf840;box-shadow:0 0 12px #38bdf81a;color:var(--accent-blue)}.ug-accordion-title{color:var(--text-main);font-family:Outfit,Inter,sans-serif;font-size:1.25rem;font-weight:750;letter-spacing:-.2px;margin:0;transition:var(--transition)}.ug-accordion-item.open .ug-accordion-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#fff 60%,var(--accent-blue) 100%);-webkit-background-clip:text}.ug-accordion-summary{color:var(--text-secondary);font-size:.92rem;line-height:1.4;margin:.35rem 0 0}.ug-accordion-header-right{align-items:center;color:var(--text-secondary);display:flex;gap:1rem}.ug-accordion-header-right svg{color:var(--text-secondary);transition:transform .3s cubic-bezier(.4,0,.2,1)}.ug-accordion-item.open .ug-accordion-header-right svg{color:var(--accent-blue)}.ug-role-badge{border-radius:var(--radius-sm);font-size:.75rem;font-weight:700;letter-spacing:1px;padding:.3rem .75rem;text-transform:uppercase}.badge-student{background:#818cf826;border:1px solid #818cf84d;color:#a5b4fc}.badge-trainer{background:#4ade8026;border:1px solid #4ade804d;color:#86efac}.badge-admin{background:#38bdf826;border:1px solid #38bdf84d;color:#7dd3fc}.ug-accordion-content{background:linear-gradient(180deg,#00000026,#0000000d);border-top:1px solid #ffffff0f;padding:0 2rem 2rem}.ug-topic-body{color:var(--text-secondary);font-size:1rem;line-height:1.7;padding-top:1.5rem}.ug-topic-body p{margin:0 0 1.5rem}.ug-topic-body strong{color:var(--text-main);font-weight:600}.ug-substep{background:#ffffff05;border:1px solid #ffffff0a;border-radius:var(--radius-md);box-shadow:inset 0 1px 2px #ffffff05;margin-bottom:1.5rem;padding:1.5rem}.ug-substep h4{border-bottom:1px solid #ffffff0f;color:var(--text-main);font-size:1.1rem;font-weight:700;margin:0 0 1rem;padding-bottom:.5rem}.ug-substep ol,.ug-substep ul{margin:0;padding-left:1.5rem}.ug-substep li{line-height:1.6;margin-bottom:.65rem}.ug-substep li:last-child{margin-bottom:0}.ug-substep code{background:#0000004d;border:1px solid #fb923c26;border-radius:4px;color:var(--accent-orange);font-family:Courier New,Courier,monospace;font-size:.9rem;padding:.15rem .45rem}.ug-code-block{background:#090d16;border:1px solid #ffffff12;border-radius:var(--radius-md);box-shadow:inset 0 2px 8px #000c,0 4px 15px #00000040;color:#fcd34d;font-family:Consolas,Fira Code,Courier New,monospace;font-size:.9rem;margin:.75rem 0 1.25rem;overflow-x:auto;padding:1rem 1.25rem;position:relative;white-space:pre-wrap}.ug-code-block:before{color:var(--text-secondary);content:"HTML / IFRAME";font-size:.7rem;font-weight:700;letter-spacing:.5px;opacity:.5;position:absolute;right:.75rem;top:.25rem}.ug-alert{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:var(--radius-md);display:flex;font-size:.95rem;gap:1rem;line-height:1.6;margin-bottom:1.5rem;padding:1.2rem 1.5rem}.ug-alert-icon{align-items:center;display:flex;font-size:1.4rem;line-height:1}.ug-alert-text{flex:1 1}.ug-alert-text strong{color:var(--text-main);display:inline-block;margin-right:.25rem}.ug-alert-info{background:#38bdf814;border:1px solid #38bdf838;box-shadow:0 4px 15px #38bdf80d;color:var(--text-secondary)}.ug-alert-success{background:#4ade8014;border:1px solid #4ade8038;box-shadow:0 4px 15px #4ade800d;color:var(--text-secondary)}.ug-alert-warning{background:#fb923c14;border:1px solid #fb923c38;box-shadow:0 4px 15px #fb923c0d;color:var(--text-secondary)}.ug-no-results{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#1e293b33;border:1px solid var(--border);border-radius:var(--radius-lg);display:flex;flex-direction:column;justify-content:center;padding:4rem 2rem;text-align:center}.ug-no-results svg{filter:drop-shadow(0 0 15px rgba(251,146,60,.25));margin-bottom:1.25rem}.ug-no-results h3{color:var(--text-main);font-family:Outfit,Inter,sans-serif;font-size:1.4rem;font-weight:700;margin:.5rem 0}.ug-no-results p{color:var(--text-secondary);font-size:.95rem;margin:0;max-width:400px}.ug-footer-tips{margin-bottom:2rem;margin-top:4rem}.ug-tips-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(135deg,#ffffff05,#ffffff03);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:1.75rem;transition:var(--transition)}.ug-tips-card:hover{border-color:#ffffff26;box-shadow:0 8px 30px #0003}.ug-tips-header{align-items:center;display:flex;gap:.75rem;margin-bottom:.85rem}.ug-tips-header svg{color:var(--accent-blue);filter:drop-shadow(0 0 5px rgba(56,189,248,.4))}.ug-tips-header h4{color:var(--text-main);font-family:Outfit,Inter,sans-serif;font-size:1.05rem;font-weight:750;margin:0}.ug-tips-card p{color:var(--text-secondary);font-size:.95rem;line-height:1.6;margin:0}.animate-fade-down{animation:ugFadeDown .35s cubic-bezier(.16,1,.3,1)}.animate-pulse{animation:ugPulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes ugFadeDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes ugFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes ugPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.95)}}@media (max-width:768px){.ug-container{padding:1.25rem}.ug-header{margin-bottom:1.75rem}.ug-title-group{gap:1rem}.ug-title-icon-wrapper{padding:.7rem}.ug-title-group h1{font-size:1.8rem}.ug-title-group p{font-size:.9rem}.ug-tabs{flex-direction:column;gap:.6rem}.ug-tab-btn{justify-content:space-between;padding:.8rem 1.2rem;width:100%}.ug-accordion-header{gap:1rem;padding:1.2rem 1.25rem}.ug-accordion-content{padding:0 1.25rem 1.25rem}.ug-accordion-title{font-size:1.1rem}.ug-accordion-summary{font-size:.85rem}.ug-substep{padding:1.1rem}.ug-alert{padding:1rem 1.2rem}}.store-container{animation:fadeIn .3s ease-out;display:flex;flex-direction:column;gap:1.5rem;padding:.5rem 0 1.5rem}.store-header-card{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#4f46e526,#6366f10d);border:1px solid var(--border);border-radius:16px;box-shadow:0 4px 30px #00000008;display:flex;gap:2rem;justify-content:space-between;padding:1.75rem 2rem}.store-header-info h2{color:var(--text-main);font-size:1.8rem;font-weight:700;margin-bottom:.5rem}.store-header-info p{color:var(--text-secondary);font-size:.95rem;line-height:1.5;max-width:650px;opacity:.9}.store-balance-badge{align-items:center;background:#fbbf241a;border:1.5px solid #fbbf244d;border-radius:14px;box-shadow:0 8px 32px #fbbf240d;display:flex;gap:1rem;min-width:200px;padding:1rem 1.5rem}.coin-anim-wrapper{animation:pulse 2s ease-in-out infinite;color:#fbbf24;filter:drop-shadow(0 0 8px rgba(251,191,36,.4))}@keyframes pulse{0%,to{filter:drop-shadow(0 0 4px rgba(251,191,36,.4));transform:scale(1)}50%{filter:drop-shadow(0 0 12px rgba(251,191,36,.7));transform:scale(1.1)}}.balance-info{display:flex;flex-direction:column}.balance-title{color:var(--text-muted);font-size:.8rem;letter-spacing:.5px;text-transform:uppercase}.balance-value{align-items:baseline;color:#fbbf24;display:flex;font-size:1.8rem;font-weight:800;gap:.25rem}.balance-value span{color:var(--text-main);font-size:.9rem;font-weight:500}.store-subtabs-row{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.store-subtabs{background:#ffffff08;background:var(--bg-card-header,#ffffff08);border:1px solid var(--border);border-radius:10px;display:flex;gap:.5rem;padding:4px}.store-subtab-btn{align-items:center;background:#0000;border:none;border-radius:8px;color:var(--text-muted);cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:.5rem;padding:.5rem 1rem;transition:all .2s ease}.store-subtab-btn:hover{color:var(--text-main)}.store-subtab-btn.active{background:#4f46e5;background:var(--primary,#4f46e5);box-shadow:0 4px 12px #4f46e54d;color:#fff}.store-search-box{align-items:center;background:var(--card-bg);border:1px solid var(--border);border-radius:10px;display:flex;height:40px;padding:0 1rem;transition:border-color .2s;width:280px}.store-search-box:focus-within{border-color:#4f46e5;border-color:var(--primary,#4f46e5)}.store-search-box .store-search-icon{color:var(--text-muted);flex-shrink:0;margin-right:.5rem;position:static!important}.store-search-box input{background:#0000;border:none;color:var(--text-main);font-size:.9rem;outline:none;width:100%}.store-loading{align-items:center;color:var(--text-muted);display:flex;flex-direction:column;gap:1rem;justify-content:center;padding:5rem 0}.store-spinner{animation:spin 1s linear infinite;border:3px solid #4f46e51a;border-radius:50%;border-top-color:#4f46e5;border-top:3px solid var(--primary,#4f46e5);height:40px;width:40px}@keyframes spin{to{transform:rotate(1turn)}}.store-empty{align-items:center;background:#ffffff03;border:1.5px dashed var(--border);border-radius:16px;color:var(--text-muted);display:flex;flex-direction:column;gap:1rem;justify-content:center;padding:5rem 1rem}.store-empty p{font-size:1.05rem}.store-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.store-card{background:#ffffff08;background:var(--secondary-bg,#ffffff08);border:1px solid var(--border);border-radius:16px;box-shadow:0 4px 20px #00000008;display:flex;flex-direction:column;overflow:hidden;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.store-card:hover{border-color:#4f46e580;box-shadow:0 12px 30px #00000026;transform:translateY(-5px)}.store-card-img{background-color:#0000000d;background-position:50%;background-size:cover;border-bottom:1px solid var(--border);height:160px}.store-card-img-placeholder{background:linear-gradient(135deg,#6366f126,#a855f714);border-bottom:1px solid var(--border);height:160px}.placeholder-icon-circle,.store-card-img-placeholder{align-items:center;display:flex;justify-content:center}.placeholder-icon-circle{background:#6366f133;border:1px solid #6366f166;border-radius:50%;box-shadow:0 0 16px #6366f14d;color:#a5b4fc;height:56px;width:56px}.store-card-content{display:flex;flex-direction:column;flex-grow:1;gap:.75rem;padding:1.25rem}.store-card-content h3{color:var(--text-main);font-size:1.15rem;font-weight:600;line-height:1.3}.store-card-desc{-webkit-line-clamp:3;-webkit-box-orient:vertical;color:var(--text-muted);display:-webkit-box;flex-grow:1;font-size:.88rem;line-height:1.5;overflow:hidden}.store-card-meta{align-items:center;border-top:1px dashed var(--border);display:flex;justify-content:space-between;padding-top:.5rem}.store-card-price{align-items:center;color:#fbbf24;display:flex;font-size:1.05rem;font-weight:700;gap:.35rem}.store-card-stock{color:var(--text-muted);font-size:.8rem}.store-btn-buy{background:#4f46e5;background:var(--primary,#4f46e5);border:none;border-radius:10px;box-shadow:0 4px 12px #4f46e533;color:#fff;cursor:pointer;font-size:.95rem;font-weight:600;padding:.75rem;transition:all .2s;width:100%}.store-btn-buy:hover:not(:disabled){background:#4338ca;box-shadow:0 6px 16px #4f46e54d}.store-btn-buy:disabled{background:#ffffff0d;border:1px solid var(--border);box-shadow:none;color:var(--text-muted);cursor:not-allowed}.store-card.out-of-stock{opacity:.7}.store-card.out-of-stock:after{background:#00000008;bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:2}.store-history-list{display:flex;flex-direction:column;gap:1rem}.store-history-item{align-items:center;background:var(--card-bg);border:1px solid var(--border);border-radius:12px;display:flex;gap:1.5rem;justify-content:space-between;padding:1.25rem;transition:border-color .2s}.store-history-item:hover{border-color:#ffffff1a}.store-history-info{display:flex;flex-direction:column;gap:.35rem}.store-history-info h4{color:var(--text-main);font-size:1.1rem;font-weight:600}.store-history-date{color:var(--text-muted);font-size:.78rem}.store-history-notes{background:#ffffff05;border-left:3px solid var(--border);border-radius:0 6px 6px 0;color:var(--text-muted);font-size:.85rem;margin-top:.25rem;padding:.35rem .75rem}.store-history-status-group{align-items:flex-end;display:flex;flex-direction:column;gap:.5rem}.store-history-price{align-items:center;color:#fbbf24;display:flex;font-size:1rem;font-weight:700;gap:.25rem}.store-badge{align-items:center;border-radius:20px;display:inline-flex;font-size:.78rem;font-weight:600;gap:.35rem;letter-spacing:.3px;padding:.25rem .65rem;text-transform:uppercase}.badge-pending{background:#f59e0b1a;border:1px solid #f59e0b40;color:#f59e0b}.badge-completed{background:#10b9811a;border:1px solid #10b98140;color:#10b981}.badge-canceled{background:#ef44441a;border:1px solid #ef444440;color:#ef4444}.store-modal-overlay{align-items:center;animation:fadeIn .2s ease-out;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.store-modal{animation:modalSlide .25s cubic-bezier(.16,1,.3,1);background:var(--card-bg);border:1px solid var(--border);border-radius:16px;box-shadow:0 20px 50px #0000004d;max-width:520px;overflow:hidden;width:90%}@keyframes modalSlide{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.store-modal-header{align-items:center;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:1.25rem 1.5rem}.store-modal-header h3{color:var(--text-main);font-size:1.25rem;font-weight:700}.store-modal-close{background:#0000;border:none;color:var(--text-muted);cursor:pointer;font-size:1.5rem;line-height:1}.store-modal-close:hover{color:var(--text-main)}.store-modal-body{display:flex;flex-direction:column;gap:1.25rem;padding:1.5rem}.store-confirm-item{background:#ffffff05;border:1px solid var(--border);border-radius:12px;display:flex;gap:1rem;padding:1rem}.store-confirm-item img{border:1px solid var(--border);border-radius:8px;height:80px;object-fit:cover;width:80px}.store-confirm-item h4{color:var(--text-main);font-size:1.1rem;font-weight:600;margin-bottom:.25rem}.store-confirm-item p{color:var(--text-muted);font-size:.85rem;line-height:1.4;margin-bottom:.5rem}.store-confirm-cost{color:var(--text-main);font-size:.95rem}.store-confirm-cost strong{color:#fbbf24}.store-confirm-balance-math{background:#ffffff03;border-radius:10px;color:var(--text-muted);display:flex;flex-direction:column;font-size:.9rem;gap:.35rem;padding:.75rem 1rem}.store-confirm-balance-math span{color:var(--text-main);font-weight:600}.store-confirm-balance-math .math-result{color:#10b981;font-weight:700}.store-confirm-notes{display:flex;flex-direction:column;gap:.5rem}.store-confirm-notes label{color:var(--text-main);font-size:.9rem;font-weight:500}.store-confirm-notes textarea{background:#ffffff05;border:1px solid var(--border);border-radius:10px;color:var(--text-main);font-size:.9rem;height:80px;outline:none;padding:.75rem;resize:none;transition:border-color .2s}.store-confirm-notes textarea:focus{border-color:#4f46e5;border-color:var(--primary,#4f46e5)}.store-modal-footer{border-top:1px solid var(--border);display:flex;gap:.75rem;justify-content:flex-end;padding:1rem 1.5rem}.store-modal-btn{border:none;border-radius:8px;cursor:pointer;font-weight:600;padding:.65rem 1.25rem;transition:background-color .2s}.store-modal-btn.btn-cancel{background:#0000;border:1px solid var(--border);color:var(--text-main)}.store-modal-btn.btn-cancel:hover:not(:disabled){background:#ffffff0d}.store-modal-btn.btn-confirm{background:#4f46e5;background:var(--primary,#4f46e5);box-shadow:0 4px 12px #4f46e533;color:#fff}.store-modal-btn.btn-confirm:hover:not(:disabled){background:#4338ca}.store-modal-btn:disabled{cursor:not-allowed;opacity:.5}@media (max-width:768px){.store-header-card{align-items:stretch;flex-direction:column;gap:1.25rem;padding:1.25rem}.store-balance-badge{justify-content:center}.store-subtabs-row{align-items:stretch;flex-direction:column}.store-search-box{width:100%}.store-history-item{align-items:stretch;flex-direction:column;gap:1rem}.store-history-status-group{align-items:center;border-top:1px dashed var(--border);flex-direction:row;justify-content:space-between;padding-top:.75rem}}.store-admin-container{animation:fadeIn .3s ease-out;display:flex;flex-direction:column;gap:1.5rem;padding:.5rem 0 1.5rem}.store-admin-header{align-items:center;border-bottom:1px solid var(--border);display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:space-between;padding-bottom:1.25rem}.store-admin-header h1{color:var(--text-main);font-size:1.8rem;font-weight:700;margin-bottom:.25rem}.store-admin-header p{color:var(--text-muted);font-size:.9rem}.store-admin-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.store-admin-tab-btn{align-items:center;background:var(--card-bg);border:1px solid var(--border);border-radius:10px;color:var(--text-muted);cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:.5rem;padding:.6rem 1.2rem;position:relative;transition:all .2s}.store-admin-tab-btn:hover{border-color:#6366f1;border-color:var(--primary-light,#6366f1);color:var(--text-main)}.store-admin-tab-btn.active{background:#4f46e5;background:var(--primary,#4f46e5);border-color:#4f46e5;border-color:var(--primary,#4f46e5);box-shadow:0 4px 12px #4f46e540;color:#fff}.store-admin-tab-btn .pending-badge{background:#ef4444;border-radius:10px;color:#fff;font-size:.7rem;font-weight:700;margin-left:.25rem;padding:2px 6px}.btn-add-item{align-items:center;background:#10b981;border:none;border-radius:10px;box-shadow:0 4px 12px #10b98133;color:#fff;cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:.4rem;padding:.6rem 1.2rem;transition:background-color .2s}.btn-add-item:hover{background:#059669}.orders-filter-row{display:flex;flex-wrap:wrap;gap:.5rem}.filter-chip{background:var(--card-bg);border:1px solid var(--border);border-radius:20px;color:var(--text-muted);cursor:pointer;font-size:.85rem;font-weight:500;padding:.4rem 1rem;transition:all .2s}.filter-chip:hover{border-color:#ffffff1a;color:var(--text-main)}.filter-chip.active{background:#6366f11a;border-color:#6366f14d;color:#818cf8}.store-admin-loading{align-items:center;color:var(--text-muted);display:flex;flex-direction:column;gap:1rem;justify-content:center;padding:6rem 0}.store-admin-spinner{animation:spin 1s linear infinite;border:3px solid #4f46e51a;border-radius:50%;border-top-color:#4f46e5;border-top:3px solid var(--primary,#4f46e5);height:36px;width:36px}.store-admin-empty{align-items:center;border:1.5px dashed var(--border);border-radius:16px;color:var(--text-muted);display:flex;flex-direction:column;gap:1rem;justify-content:center;padding:5rem 1rem}.inventory-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.inventory-card{background:var(--card-bg);border:1px solid var(--border);border-radius:14px;display:flex;flex-direction:column;overflow:hidden;transition:all .2s ease}.inventory-card:hover{box-shadow:0 8px 24px #0000000d;transform:translateY(-3px)}.inventory-card.inactive{opacity:.65}.inventory-card-img{background-color:#0000000d;background-position:50%;background-size:cover;border-bottom:1px solid var(--border);height:150px}.inventory-card-img-placeholder{align-items:center;background:#ffffff03;border-bottom:1px solid var(--border);color:var(--text-muted);display:flex;height:150px;justify-content:center}.inventory-card-content{display:flex;flex-direction:column;flex-grow:1;gap:.65rem;padding:1.25rem}.inventory-card-title-row{align-items:flex-start;display:flex;gap:.5rem;justify-content:space-between}.inventory-card-title-row h3{color:var(--text-main);font-size:1.1rem;font-weight:600}.status-pill{border-radius:6px;font-size:.7rem;font-weight:600;padding:2px 6px;text-transform:uppercase}.status-pill.active{background:#10b9811a;color:#10b981}.status-pill.inactive{background:#6b72801a;color:#9ca3af}.inventory-card-desc{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--text-muted);display:-webkit-box;font-size:.85rem;height:2.9rem;line-height:1.45;overflow:hidden}.inventory-card-details{border-bottom:1px dashed var(--border);border-top:1px dashed var(--border);color:var(--text-muted);display:flex;flex-direction:column;font-size:.82rem;gap:.35rem;padding:.5rem 0}.inventory-card-details strong{color:var(--text-main)}.inventory-card-details .city-detail{align-items:center;color:#818cf8;display:flex;gap:.25rem}.inventory-card-actions{display:flex;gap:.5rem;margin-top:.5rem}.btn-edit-item{align-items:center;background:#0000;border:1px solid var(--border);border-radius:8px;color:var(--text-main);cursor:pointer;display:flex;flex-grow:1;font-size:.85rem;font-weight:600;gap:.35rem;justify-content:center;padding:.5rem;transition:background-color .2s}.btn-edit-item:hover{background:#ffffff0a}.btn-delete-item{align-items:center;background:#ef44440d;border:1px solid #ef444433;border-radius:8px;color:#ef4444;cursor:pointer;display:flex;justify-content:center;padding:.5rem .75rem;transition:all .2s}.btn-delete-item:hover{background:#ef4444;color:#fff}.admin-orders-list{display:flex;flex-direction:column;gap:1rem}.admin-order-card{align-items:center;background:var(--card-bg);border-left:1px solid var(--border);border:1px solid var(--border);border-left-width:4px;border-radius:12px;display:flex;gap:2rem;justify-content:space-between;padding:1.25rem 1.5rem}.admin-order-card.border-pending{border-left-color:#f59e0b}.admin-order-card.border-completed{border-left-color:#10b981}.admin-order-card.border-canceled{border-left-color:#ef4444}.order-main-info{display:flex;flex-direction:column;flex-grow:1;gap:.65rem}.order-student-info h4{color:var(--text-main);font-size:1.15rem;font-weight:700;margin-bottom:.25rem}.student-badges{display:flex;flex-wrap:wrap;gap:.5rem}.info-badge{align-items:center;background:#ffffff08;border:1px solid var(--border);border-radius:12px;color:var(--text-muted);display:inline-flex;font-size:.75rem;gap:.25rem;padding:2px 8px}.order-product-info{align-items:center;display:flex;font-size:.9rem;gap:.5rem}.order-product-info .product-label{color:var(--text-muted)}.order-product-info .product-title{color:var(--text-main);font-weight:600}.order-notes{background:#ffffff03;border:1px dashed var(--border);border-radius:8px;font-size:.85rem;max-width:600px;padding:.6rem .85rem}.order-notes strong{color:var(--text-muted);display:block;font-size:.8rem;margin-bottom:.25rem;text-transform:uppercase}.order-notes p{color:var(--text-main);font-style:italic}.order-date{color:var(--text-muted);font-size:.78rem}.order-status-actions{align-items:flex-end;display:flex;flex-direction:column;gap:.75rem;min-width:180px}.order-price{color:#fbbf24;font-size:1.15rem;font-weight:700}.order-action-buttons{display:flex;gap:.5rem}.btn-order-complete{align-items:center;background:#10b981;border:none;border-radius:8px;box-shadow:0 4px 10px #10b98126;color:#fff;cursor:pointer;display:flex;font-size:.85rem;font-weight:600;gap:.25rem;padding:.5rem .85rem;transition:background-color .2s}.btn-order-complete:hover{background:#059669}.btn-order-cancel{align-items:center;background:#ef444414;border:1px solid #ef444433;border-radius:8px;color:#ef4444;cursor:pointer;display:flex;font-size:.85rem;font-weight:600;gap:.25rem;padding:.5rem .85rem;transition:all .2s}.btn-order-cancel:hover{background:#ef4444;color:#fff}.order-status-badge{font-size:.85rem;font-weight:600}.status-badge-text{align-items:center;display:flex;gap:.25rem}.status-badge-text.text-completed{color:#10b981}.status-badge-text.text-canceled{color:#ef4444}.item-modal-overlay{align-items:center;animation:fadeIn .2s ease-out;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.item-modal{animation:modalSlide .25s cubic-bezier(.16,1,.3,1);background:var(--card-bg);border:1px solid var(--border);border-radius:16px;box-shadow:0 24px 60px #0006;max-width:550px;overflow:hidden;width:90%}.item-modal-header{align-items:center;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:1.25rem 1.5rem}.item-modal-header h3{color:var(--text-main);font-size:1.25rem;font-weight:700}.item-modal-close{background:#0000;border:none;color:var(--text-muted);cursor:pointer;font-size:1.5rem}.item-modal-body{gap:1.15rem;max-height:70vh;overflow-y:auto;padding:1.5rem}.form-group,.item-modal-body{display:flex;flex-direction:column}.form-group{gap:.4rem}.form-group label{color:var(--text-main);font-size:.88rem;font-weight:500}.form-group input[type=number],.form-group input[type=text],.form-group select,.form-group textarea{background:#ffffff05;border:1px solid var(--border);border-radius:8px;color:var(--text-main);font-size:.9rem;outline:none;padding:.65rem .85rem;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#4f46e5;border-color:var(--primary,#4f46e5)}.form-row{display:flex;gap:1rem}.form-group.half{flex:1 1}.checkbox-group{align-items:center;flex-direction:row;gap:.6rem;padding-top:.25rem}.checkbox-group input{cursor:pointer;height:16px;width:16px}.field-hint{color:var(--text-muted);font-size:.75rem;margin-top:-.25rem}.image-upload-wrapper{align-items:center;display:flex;gap:1rem}.uploaded-image-preview{align-items:center;background:#ffffff03;border:1px solid var(--border);border-radius:8px;display:flex;gap:.75rem;padding:.4rem}.uploaded-image-preview img{border:1px solid var(--border);border-radius:6px;height:60px;object-fit:cover;width:60px}.btn-remove-image{background:#0000;border:none;color:#ef4444;cursor:pointer;font-size:.8rem;font-weight:600}.image-upload-btn-label{align-items:center;border:1px dashed var(--border);border-radius:8px;color:var(--text-muted);cursor:pointer;display:inline-flex;font-size:.85rem;font-weight:500;gap:.35rem;padding:.5rem 1rem;transition:all .2s}.image-upload-btn-label:hover{border-color:#ffffff40;color:var(--text-main)}.item-modal-footer{border-top:1px solid var(--border);display:flex;gap:.75rem;justify-content:flex-end;padding:1rem 1.5rem}.btn-modal-cancel{background:#0000;border:1px solid var(--border);border-radius:8px;color:var(--text-main);cursor:pointer;font-weight:600;padding:.6rem 1.2rem}.btn-modal-cancel:hover{background:#ffffff0d}.btn-modal-submit{background:#4f46e5;background:var(--primary,#4f46e5);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:.6rem 1.2rem}.btn-modal-submit:hover{background:#4338ca}@media (max-width:768px){.store-admin-header{align-items:stretch;flex-direction:column}.store-admin-actions{justify-content:space-between;width:100%}.admin-order-card{align-items:stretch;flex-direction:column;gap:1.25rem}.order-status-actions{align-items:stretch;border-top:1px dashed var(--border);flex-direction:row;justify-content:space-between;padding-top:1rem}.form-row{flex-direction:column;gap:1.15rem}}.assignment-manager{animation:am-fade-in .4s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column;gap:1.5rem;min-height:100%;width:100%}@keyframes am-fade-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.subtitle{color:var(--text-secondary);font-size:.95rem;margin-top:.2rem}.am-grid{grid-gap:2rem;align-items:start;display:grid;gap:2rem;grid-template-columns:1fr 1.6fr}.am-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-lg);padding:1.75rem;transition:var(--transition)}.am-card:hover{border-color:var(--border-strong)}.am-card h3{border-bottom:1px solid var(--border);color:var(--text-main);font-size:1.2rem;font-weight:800;margin-bottom:1.25rem;margin-top:0;padding-bottom:.75rem}.am-form-card{position:-webkit-sticky;position:sticky;top:1.5rem;z-index:5}.am-form{gap:1.2rem}.am-form,.am-form .form-group{display:flex;flex-direction:column}.am-form .form-group{gap:.45rem}.am-form label{color:var(--text-secondary);font-size:.8rem;font-weight:700}.am-form select,.search-input,.type-filter-select{background:var(--primary-bg);border:1px solid var(--border);border-radius:var(--radius-btn);color:var(--text-main);font-family:inherit;font-size:.92rem;outline:none;padding:.7rem 1rem;transition:var(--transition)}.am-form select:focus,.search-input:focus,.type-filter-select:focus{border-color:var(--accent-blue);box-shadow:0 0 0 3px #38bdf826}.am-field-loading{background:var(--primary-bg);border:1px dashed var(--border);border-radius:var(--radius-btn);color:var(--text-secondary);font-size:.88rem;padding:.7rem 1rem;text-align:center}.divider{background:var(--border);height:1px;margin:.25rem 0}.target-toggle{background:var(--primary-bg);border:1px solid var(--border);border-radius:var(--radius-btn);display:flex;padding:.25rem}.toggle-btn{align-items:center;background:#0000;border:none;border-radius:8px;color:var(--text-secondary);cursor:pointer;display:flex;flex:1 1;font-size:.88rem;font-weight:700;gap:.4rem;justify-content:center;padding:.55rem;transition:var(--transition)}.toggle-btn:hover{color:var(--text-main)}.toggle-btn.active{background:var(--secondary-bg);border:1px solid #38bdf833;box-shadow:var(--shadow);color:var(--accent-blue)}.department-row{display:flex;gap:.75rem;width:100%}.flex-1{flex:1 1;min-width:0}.btn-submit{align-items:center;background:linear-gradient(135deg,var(--accent-blue),var(--accent-purple));border:none;border-radius:var(--radius-btn);box-shadow:0 4px 12px #38bdf826;color:#fff;cursor:pointer;display:flex;font-size:.92rem;font-weight:600;gap:.5rem;justify-content:center;margin-top:.5rem;padding:.75rem 1.25rem;transition:var(--transition)}.btn-submit:hover{box-shadow:0 6px 16px #38bdf859;transform:translateY(-1px)}.card-header-flex{align-items:center;border-bottom:1px solid var(--border);display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1.25rem;padding-bottom:.75rem}.card-header-flex h3{border-bottom:none;margin-bottom:0;padding-bottom:0}.filters-container{align-items:center;display:flex;gap:.5rem}.search-icon{color:var(--text-secondary);left:.75rem;pointer-events:none;position:absolute}.search-input{font-size:.85rem;padding-bottom:.45rem;padding-left:2.1rem;padding-top:.45rem;width:170px}.type-filter-select{cursor:pointer;font-size:.85rem;padding:.45rem 1.75rem .45rem .65rem}.table-responsive{overflow-x:auto;width:100%}.am-table{border-collapse:collapse;text-align:left;width:100%}.am-table td,.am-table th{border-bottom:1px solid var(--border);font-size:.88rem;padding:.85rem;vertical-align:middle}.am-table th{background:#ffffff03;color:var(--text-secondary);font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.am-table tbody tr{transition:var(--transition)}.am-table tbody tr:hover{background:var(--card-bg-hover)}.td-title{max-width:220px}.title-wrapper{align-items:center;display:flex;gap:.5rem;min-width:0}.res-title-text{color:var(--text-main);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.res-icon{flex-shrink:0}.text-purple{color:var(--accent-purple)}.text-green{color:var(--accent-green)}.text-yellow{color:var(--accent-orange)}.text-red{color:var(--accent-red)}.text-orange{color:#f59e0b}.type-badge{border-radius:6px;display:inline-block;font-size:.72rem;font-weight:800;letter-spacing:.03em;padding:.2rem .5rem;text-transform:uppercase;white-space:nowrap}.type-badge.quiz{background:#818cf81f;color:var(--accent-purple)}.type-badge.gamescenario{background:#34d3991f;color:var(--accent-green)}.type-badge.desktemplate{background:#fbbf241f;color:var(--accent-orange)}.type-badge.complextest{background:#f871711f;color:var(--accent-red)}.type-badge.pizzatemplate{background:#f59e0b1f;color:#fb923c}.target-wrapper{align-items:center;color:var(--text-main);display:flex;flex-wrap:wrap;gap:.3rem}.target-tag{border-radius:4px;font-size:.68rem;font-weight:700;margin-left:.15rem;padding:.1rem .4rem;text-transform:uppercase}.student-city{background:#38bdf81a;border:1px solid #38bdf840;color:var(--accent-blue)}.dept-city{background:#f43f5e1a;border:1px solid #f43f5e40;color:#fb7185}.date-wrapper{align-items:center;color:var(--text-secondary);display:flex;font-size:.85rem;gap:.35rem}.am-progress-badge{align-items:center;background:#38bdf81a;border-radius:999px;color:var(--accent-blue);display:inline-flex;font-size:.76rem;font-weight:800;gap:.25rem;padding:.25rem .55rem}.btn-delete{align-items:center;background:#0000;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;display:flex;justify-content:center;padding:.4rem;transition:var(--transition)}.btn-delete:hover{background:#ef44441f;color:var(--accent-red)}.list-empty,.list-loading{color:var(--text-secondary);font-size:.92rem;padding:3rem;text-align:center}.list-empty{background:var(--primary-bg);border:1px dashed var(--border);border-radius:var(--radius-md)}@media (max-width:1024px){.am-grid{gap:1.5rem;grid-template-columns:1fr}.am-form-card{position:static}}@media (max-width:768px){.card-header-flex,.filters-container{align-items:stretch;flex-direction:column}.filters-container{gap:.5rem}.search-input,.type-filter-select{width:100%}}.resource-type-cards{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(2,1fr);width:100%}@media (min-width:1200px){.resource-type-cards{grid-template-columns:repeat(2,1fr)}}.rt-card{align-items:center;background:var(--primary-bg);border:1px solid var(--border);border-radius:var(--radius-btn);cursor:pointer;display:flex;flex-direction:column;gap:.45rem;justify-content:center;padding:.65rem .5rem;text-align:center;transition:var(--transition);-webkit-user-select:none;user-select:none}.rt-card:hover{background:var(--card-bg-hover);border-color:var(--border-strong);transform:translateY(-1px)}.rt-card.active{background:#38bdf814;border-color:var(--accent-blue);box-shadow:0 0 0 3px #38bdf81f}.rt-card.active .rt-icon.text-purple{filter:drop-shadow(0 0 6px rgba(129,140,248,.4))}.rt-card.active .rt-icon.text-green{filter:drop-shadow(0 0 6px rgba(74,222,128,.4))}.rt-card.active .rt-icon.text-yellow{filter:drop-shadow(0 0 6px rgba(251,146,60,.4))}.rt-card.active .rt-icon.text-red{filter:drop-shadow(0 0 6px rgba(248,113,113,.4))}.rt-card.active .rt-icon.text-orange{filter:drop-shadow(0 0 6px rgba(245,158,11,.4))}.rt-label{color:var(--text-main);font-size:.76rem;font-weight:700}.progress-wrapper{display:inline-block;position:relative}.am-progress-badge.clickable{border:1px solid #0000;cursor:pointer;outline:none;transition:var(--transition-fast)}.am-progress-badge.clickable:hover{background:#38bdf82e;border-color:#38bdf859;transform:scale(1.05)}.am-progress-badge.clickable.active{background:var(--accent-blue);border-color:var(--accent-blue);box-shadow:0 0 8px #38bdf866;color:#fff}.completed-players-popup{animation:am-fade-in .2s cubic-bezier(.16,1,.3,1);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:var(--secondary-bg);border:1px solid var(--border-strong);border-radius:var(--radius-card);box-shadow:var(--shadow-lg);padding:.85rem;position:absolute;right:0;top:calc(100% + 8px);width:280px;z-index:100}.completed-players-popup:before{background:var(--secondary-bg);border-left:1px solid var(--border-strong);border-top:1px solid var(--border-strong);content:"";height:10px;position:absolute;right:24px;top:-6px;transform:rotate(45deg);width:10px}.popup-header{align-items:center;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;margin-bottom:.5rem;padding-bottom:.45rem}.popup-header h4{color:var(--text-secondary);font-size:.8rem;font-weight:800;letter-spacing:.05em;margin:0;text-transform:uppercase}.popup-close-btn{align-items:center;background:#0000;border:none;border-radius:4px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:1.15rem;justify-content:center;line-height:1;padding:0 .2rem}.popup-close-btn:hover{background:#ffffff0d;color:var(--text-main)}.popup-empty{color:var(--text-secondary);font-size:.82rem;font-style:italic;padding:1.5rem .5rem;text-align:center}.popup-list{display:flex;flex-direction:column;gap:.45rem;max-height:180px;overflow-y:auto;padding-right:.25rem}.popup-list::-webkit-scrollbar{width:4px}.popup-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.popup-item{align-items:center;background:#ffffff05;border:1px solid #ffffff05;border-radius:6px;display:flex;gap:.5rem;justify-content:space-between;padding:.4rem .5rem}.popup-item:hover{background:#ffffff0a;border-color:var(--border)}.popup-student-info{align-items:flex-start;display:flex;flex-direction:column;min-width:0;text-align:left}.popup-student-name{color:var(--text-main);font-size:.82rem;font-weight:700;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.popup-student-city{color:var(--text-secondary);font-size:.68rem}.popup-student-meta{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0}.popup-student-score{color:var(--accent-green);font-size:.82rem;font-weight:800}.popup-student-date{color:var(--text-secondary);font-size:.68rem}.btn-reset-player{align-items:center;background:#0000;border:none;border-radius:4px;color:var(--text-secondary);cursor:pointer;display:flex;justify-content:center;padding:.25rem;transition:var(--transition-fast)}.btn-reset-player:hover{background:#f59e0b26;color:#f59e0b}.popup-footer{border-top:1px solid var(--border);display:flex;justify-content:center;margin-top:.5rem;padding-top:.5rem}.btn-reset-all{background:#0000;border:1px dashed var(--border);border-radius:6px;color:var(--text-secondary);cursor:pointer;font-size:.76rem;font-weight:700;padding:.35rem .75rem;text-align:center;transition:var(--transition-fast);width:100%}.btn-reset-all:hover{background:#ef444414;border-color:#ef44444d;color:var(--accent-red)}.department-manager{animation:fadeIn .4s ease-out;margin:0 auto;max-width:min(1400px,100%);min-width:0;padding:clamp(1rem,1.6vw,2rem)}.dm-header{margin-bottom:2rem}.dm-header h1{color:var(--text-main);font-size:2.2rem;margin:0 0 .5rem}.dm-header p{color:var(--text-secondary);font-size:1.1rem}.dm-grid{grid-gap:2rem;align-items:start;display:grid;gap:2rem;grid-template-columns:1fr 1.5fr}.dm-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--card-bg);border:1px solid var(--border);border-radius:16px;padding:1.5rem 2rem}.dm-card h3{border-bottom:1px solid var(--border);color:var(--text-main);font-size:1.3rem;font-weight:600;margin-bottom:1.5rem;margin-top:0;padding-bottom:.75rem}.dm-form{gap:1.25rem}.dm-form,.dm-form .form-group{display:flex;flex-direction:column}.dm-form .form-group{gap:.5rem}.dm-form label{color:var(--text-secondary);font-size:.9rem;font-weight:500}.dm-form input,.dm-form textarea{background:var(--primary-bg);border:1px solid var(--border);border-radius:12px;box-shadow:inset 0 2px 4px #00000005;color:var(--text-main);font-size:1rem;outline:none;padding:.8rem 1.25rem;transition:all .2s cubic-bezier(.4,0,.2,1)}.dm-form input::placeholder,.dm-form textarea::placeholder{color:var(--text-secondary);opacity:.4}.dm-form input:focus,.dm-form textarea:focus{background:var(--secondary-bg);border-color:var(--accent-blue);box-shadow:0 0 0 4px #38bdf81f}.dm-form input:disabled{background:#ffffff05;cursor:not-allowed;opacity:.6}.field-hint{align-items:center;display:flex;font-size:.8rem;gap:.35rem;margin:.25rem 0 0}.text-warning{color:#fbbf24}.form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:.5rem}.form-actions button{align-items:center;border-radius:10px;cursor:pointer;display:flex;font-size:.95rem;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .2s ease}.btn-primary{background:var(--accent-blue);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-blue-hover);transform:translateY(-1px)}.btn-secondary{background:#ffffff0d;border:1px solid var(--border);color:var(--text-main)}.btn-secondary:hover{background:#ffffff1a}.dm-list-card{min-height:400px}.dm-list{flex-direction:column}.dm-item,.dm-list{display:flex;gap:1rem}.dm-item{align-items:center;background:var(--secondary-bg);border:1px solid var(--border);border-radius:12px;justify-content:space-between;padding:1.25rem;transition:all .2s ease}.dm-item:hover{border-color:var(--border-strong);box-shadow:0 4px 12px #0000000d;transform:translateY(-1px)}.dm-item-info{display:flex;flex:1 1;flex-direction:column;gap:.5rem;min-width:0}.dm-item-header{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.dm-item-icon{color:var(--accent-blue);flex-shrink:0;opacity:.8}.dm-item-header h4{color:var(--text-main);font-size:1.1rem;font-weight:600;margin:0}.dm-key-badge{background:#ffffff0d;border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);font-family:monospace;font-size:.8rem;padding:.15rem .5rem}.dm-key-badge.system{background:#38bdf80d;border-color:#38bdf833;color:var(--accent-blue)}.dm-item-desc{color:var(--text-secondary);font-size:.9rem;line-height:1.4;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dm-item-actions{display:flex;flex-shrink:0;gap:.5rem}.btn-icon{align-items:center;background:var(--primary-bg);border:1px solid var(--border);border-radius:8px;color:var(--text-secondary);cursor:pointer;display:flex;height:38px;justify-content:center;transition:all .2s ease;width:38px}.btn-edit:hover{background:#38bdf80d;border-color:var(--accent-blue);color:var(--accent-blue)}.btn-delete:hover:not(:disabled){background:#ef44440d;border-color:#ef4444;color:#ef4444}.btn-delete:disabled{cursor:not-allowed;opacity:.3}.dm-empty,.dm-loading{color:var(--text-secondary);padding:3rem;text-align:center}.dm-empty{font-style:italic}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width:992px){.dm-grid{grid-template-columns:1fr}}.cm-container{animation:cm-fade-in .4s cubic-bezier(.16,1,.3,1);background-color:var(--primary-bg);color:var(--text-main);display:flex;flex-direction:column;gap:1.5rem;min-height:100vh;min-width:0;padding:var(--admin-padding)}@keyframes cm-fade-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.cm-header{border-bottom:1px solid var(--border);padding-bottom:1.25rem}.cm-title-area{align-items:center;display:flex;gap:1rem}.cm-header-icon{background:#38bdf814;border:1px solid #38bdf829;border-radius:12px;color:var(--accent-blue);display:inline-flex;flex-shrink:0;padding:.65rem}.cm-title-area h1{color:var(--text-main);font-size:1.8rem;font-weight:800;margin:0}.cm-title-area p{color:var(--text-secondary);font-size:.95rem;margin:.25rem 0 0}.cm-workspace{grid-gap:1.75rem;align-items:start;display:grid;gap:1.75rem;grid-template-columns:1.8fr 1.2fr}.cm-editor-section{display:flex;flex-direction:column;gap:1.5rem}.cm-form-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-lg);padding:1.75rem}.cm-form-header{align-items:center;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;margin-bottom:1.25rem;padding-bottom:.75rem}.cm-form-header h3{color:var(--text-main);font-size:1.2rem;font-weight:800;margin:0}.cm-btn-cancel{background:#ffffff0a;border:1px solid var(--border);border-radius:var(--radius-btn);color:var(--text-main);cursor:pointer;font-size:.85rem;font-weight:600;padding:.45rem 1.15rem;transition:var(--transition)}.cm-btn-cancel:hover{background:var(--card-bg-hover);border-color:var(--border-strong)}.cm-form-grid{grid-gap:1.15rem;gap:1.15rem;margin-bottom:1.25rem}.cm-form-group{display:flex;flex-direction:column;gap:.45rem}.cm-form-group.span-2{grid-column:span 2}.cm-form-group label{color:var(--text-secondary);font-size:.8rem;font-weight:650}.cm-form-group input[type=number],.cm-form-group input[type=text],.cm-form-group select,.cm-form-group textarea{background:var(--primary-bg);border:1px solid var(--border);border-radius:var(--radius-btn);color:var(--text-main);font-family:inherit;font-size:.92rem;outline:none;padding:.65rem 1rem;transition:var(--transition)}.cm-form-group input:focus,.cm-form-group select:focus,.cm-form-group textarea:focus{border-color:var(--accent-blue);box-shadow:0 0 0 3px #38bdf81f}.cm-select-loader{align-items:center;color:var(--accent-blue);display:flex;font-size:.72rem;font-weight:600;gap:.25rem;margin-top:.2rem}.cm-form-checkboxes{display:flex;gap:1.5rem;grid-column:span 2;margin-top:.25rem}.cm-checkbox-label{align-items:center;color:var(--text-main);cursor:pointer;display:flex;font-size:.88rem;font-weight:600;gap:.45rem;-webkit-user-select:none;user-select:none}.cm-checkbox-label input{accent-color:var(--accent-blue);cursor:pointer;height:15px;width:15px}.cm-btn-submit{align-items:center;background:linear-gradient(135deg,var(--accent-blue),var(--accent-purple));border:none;border-radius:var(--radius-btn);box-shadow:0 4px 12px #38bdf826;color:#fff;cursor:pointer;display:flex;font-family:inherit;font-size:.92rem;font-weight:600;gap:.5rem;justify-content:center;padding:.75rem 1.5rem;transition:var(--transition);width:100%}.cm-btn-submit:hover:not(:disabled){box-shadow:0 6px 16px #38bdf859;transform:translateY(-1px)}.cm-btn-submit:disabled{cursor:not-allowed;opacity:.6}.cm-preview-wrapper{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-card);display:flex;flex-direction:column;gap:1rem;padding:1.5rem}.cm-preview-wrapper h4{color:var(--text-secondary);font-size:.9rem;font-weight:700;letter-spacing:.05em;margin:0;text-transform:uppercase}.cm-preview-frame{aspect-ratio:1.414;border-radius:10px;box-shadow:var(--shadow-lg);box-sizing:border-box;display:flex;padding:1.25rem;width:100%}.cm-preview-content{align-items:center;display:flex;flex:1 1;flex-direction:column;justify-content:center;text-align:center}.cm-preview-frame.classic{background-color:#fcfaf5;background-image:radial-gradient(circle at 50% 50%,#d4af3705 0,#0000 80%),repeating-linear-gradient(45deg,rgba(138,109,37,.003),rgba(138,109,37,.003) 1px,#0000 0,#0000 6px),repeating-linear-gradient(-45deg,rgba(138,109,37,.003),rgba(138,109,37,.003) 1px,#0000 0,#0000 6px);border:8px double #c5a059;color:#1e293b;outline:1.5px solid #aa7f39;outline-offset:-5px;position:relative}.cm-preview-frame .p-corner{border:1px solid #c5a059;height:16px;pointer-events:none;position:absolute;width:16px;z-index:10}.cm-preview-frame .p-corner.top-left{border-bottom:none;border-right:none;left:6px;top:6px}.cm-preview-frame .p-corner.top-right{border-bottom:none;border-left:none;right:6px;top:6px}.cm-preview-frame .p-corner.bottom-left{border-right:none;border-top:none;bottom:6px;left:6px}.cm-preview-frame .p-corner.bottom-right{border-left:none;border-top:none;bottom:6px;right:6px}.cm-preview-frame .p-corner:after{background-color:#c5a059;border-radius:50%;content:"";height:4px;position:absolute;width:4px}.cm-preview-frame .p-corner.top-left:after{bottom:-2px;right:-2px}.cm-preview-frame .p-corner.top-right:after{bottom:-2px;left:-2px}.cm-preview-frame .p-corner.bottom-left:after{right:-2px;top:-2px}.cm-preview-frame .p-corner.bottom-right:after{left:-2px;top:-2px}.cm-preview-frame .p-logo-img{filter:drop-shadow(0 1px 1px rgba(0,0,0,.05));height:28px;margin-bottom:.25rem;object-fit:contain}.cm-preview-frame.classic .p-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#aa771c,#bf953f 25%,#fcf6ba 50%,#b38728 75%,#aa771c);-webkit-background-clip:text;font-family:Cinzel,Playfair Display,serif;font-size:1.4rem;font-weight:700;letter-spacing:2px;margin:.15rem 0}.cm-preview-frame.classic .p-subtitle{color:#64748b;font-family:Playfair Display,Georgia,serif;font-size:.76rem;font-style:italic;margin-bottom:.4rem}.cm-preview-frame.classic .p-student-name{color:#0f172a;font-family:Alex Brush,cursive;font-size:2rem;font-weight:400;margin:.1rem 0}.cm-preview-frame.classic .p-divider-container{align-items:center;display:flex;gap:.4rem;justify-content:center;margin:.35rem 0;width:50%}.cm-preview-frame.classic .p-divider-line{background:linear-gradient(90deg,#0000,#c5a059 50%,#0000);flex-grow:1;height:.5px}.cm-preview-frame.classic .p-divider-diamond{background-color:#c5a059;height:4px;transform:rotate(45deg);width:4px}.cm-preview-frame.classic .p-info-text{color:#64748b;font-family:Montserrat,sans-serif;font-size:.6rem;letter-spacing:1px;margin:0;text-transform:uppercase}.cm-preview-frame.classic .p-test-title{color:#0f172a;font-family:Playfair Display,Georgia,serif;font-size:1rem;font-weight:700;margin:.15rem 0}.cm-preview-frame.classic .p-score-text{color:#64748b;font-family:Montserrat,sans-serif;font-size:.68rem;margin:0 0 .4rem}.cm-preview-frame.classic .p-sig-handwritten{color:#1e3a8a;font-family:Alex Brush,cursive;font-size:1.4rem;height:20px;line-height:20px;margin-bottom:-6px;transform:rotate(-3deg);-webkit-user-select:none;user-select:none}.cm-preview-frame.classic .p-label{color:#64748b;font-family:Montserrat,sans-serif;font-size:.52rem;margin:0 0 .1rem;text-transform:uppercase}.cm-preview-frame.classic .p-val{color:#0f172a;font-family:Playfair Display,Georgia,serif;font-size:.65rem;font-weight:700;margin:0}.cm-preview-frame.modern{background:radial-gradient(circle at 10% 20%,#1e293b 0,#0f172a 100%);border:1px solid #6366f14d;color:#f8fafc;overflow:hidden;position:relative}.cm-preview-frame.modern:before{background:linear-gradient(180deg,#6366f1,#10b981);content:"";height:100%;left:0;position:absolute;top:0;width:4px}.cm-preview-frame.modern .p-award-icon{color:#6366f1;filter:drop-shadow(0 0 6px rgba(99,102,241,.4))}.cm-preview-frame.modern .p-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#fff,#94a3b8);-webkit-background-clip:text;font-size:1.8rem;font-weight:800;letter-spacing:2px;margin:.2rem 0}.cm-preview-frame.modern .p-subtitle{color:#94a3b8;font-size:.78rem;margin:0 0 .85rem}.cm-preview-frame.modern .p-student-name{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#10b981,#34d399);-webkit-background-clip:text;font-size:1.6rem;font-weight:800;margin:0}.cm-preview-frame.modern .p-divider{background:#6366f133;height:1px;margin:.45rem 0;width:60%}.cm-preview-frame.modern .p-info-text{color:#94a3b8;font-size:.72rem;margin:0}.cm-preview-frame.modern .p-test-title{color:#fff;font-size:1.1rem;font-weight:700;margin:.2rem 0}.cm-preview-frame.modern .p-score-text{color:#10b981;font-size:.72rem;margin:0 0 1rem}.cm-preview-frame.modern .p-label{color:#94a3b8;font-size:.58rem;text-transform:uppercase}.cm-preview-frame.modern .p-val{color:#fff;font-size:.76rem;font-weight:700}.cm-preview-frame.minimal{background-color:#fff;border:1px solid #e5e7eb;color:#111827}.cm-preview-frame.minimal .cm-preview-content{border:1px solid #f3f4f6;border-radius:4px;height:100%;padding:.65rem}.cm-preview-frame.minimal .p-award-icon{color:#4b5563}.cm-preview-frame.minimal .p-title{font-size:1.4rem;font-weight:300;letter-spacing:4px;margin:.2rem 0}.cm-preview-frame.minimal .p-subtitle{color:#6b7280;font-size:.78rem;margin:0 0 .85rem}.cm-preview-frame.minimal .p-student-name{color:#111827;font-size:1.4rem;font-weight:600;margin:0}.cm-preview-frame.minimal .p-divider{background:#e5e7eb;height:1px;margin:.45rem 0;width:60%}.cm-preview-frame.minimal .p-info-text{color:#6b7280;font-size:.72rem;margin:0}.cm-preview-frame.minimal .p-test-title{color:#111827;font-size:1rem;font-weight:500;margin:.2rem 0}.cm-preview-frame.minimal .p-score-text{font-size:.72rem;margin:0 0 1rem}.cm-preview-frame.minimal .p-label{color:#6b7280;font-size:.58rem;text-transform:uppercase}.cm-preview-frame.minimal .p-val{color:#111827;font-size:.76rem;font-weight:700}.p-footer{align-items:flex-end;display:flex;justify-content:space-between;margin-top:auto;padding:0 .25rem;width:100%}.p-footer-col{align-items:center;display:flex;flex-direction:column;width:30%}.p-footer-col.left{align-items:flex-start;text-align:left}.p-footer-col.right{align-items:flex-end;text-align:right}.p-sig-line{background-color:currentColor;height:.5px;margin-bottom:.2rem;opacity:.4;width:80%}.p-qr-placeholder{align-items:center;background-color:#e2e8f0;border:1.5px dashed #cbd5e1;border-radius:4px;color:#475569;display:flex;height:40px;justify-content:center;margin-bottom:.15rem;width:40px}.cm-preview-frame.modern .p-qr-placeholder{background-color:#334155;border-color:#475569;color:#94a3b8}.p-qr-placeholder span{font-size:.45rem;font-weight:700}.p-qr-label{font-size:.5rem;opacity:.7}.cm-list-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-lg);padding:1.75rem}.cm-section-title-row{border-bottom:1px solid var(--border);margin-bottom:1.25rem;padding-bottom:.75rem}.cm-section-title-row h3{color:var(--text-main);font-size:1.2rem;font-weight:800;margin:0}.cm-empty-list,.cm-list-loading{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;font-size:.92rem;gap:.75rem;justify-content:center;padding:3rem 1rem}.cm-empty-list .empty-icon{opacity:.3}.cm-templates-list{display:flex;flex-direction:column;gap:.85rem;max-height:70vh;overflow-y:auto;padding-right:.3rem}.cm-templates-list::-webkit-scrollbar{width:5px}.cm-templates-list::-webkit-scrollbar-track{background:#0000}.cm-templates-list::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:999px}.cm-tmpl-card{align-items:center;background:#ffffff05;border:1px solid var(--border);border-radius:var(--radius-md);display:flex;gap:1rem;justify-content:space-between;padding:1.15rem;transition:var(--transition)}.cm-tmpl-card:hover{background:var(--card-bg-hover);border-color:var(--border-strong)}.cm-tmpl-card.inactive{opacity:.55}.cm-tmpl-info{display:flex;flex-direction:column;gap:.35rem;text-align:left}.cm-tmpl-title-row{align-items:center;display:flex;flex-wrap:wrap;gap:.65rem}.cm-tmpl-title-row h4{color:var(--text-main);font-size:1rem;font-weight:700;margin:0}.cm-status-badge{align-items:center;border-radius:4px;display:inline-flex;font-size:.68rem;font-weight:700;gap:.25rem;padding:.15rem .5rem;text-transform:uppercase}.cm-status-badge.active{background-color:#4ade801a;border:1px solid #4ade8033;color:var(--accent-green)}.cm-status-badge.inactive{background-color:#94a3b826;border:1px solid #94a3b840;color:var(--text-secondary)}.cm-tmpl-desc{color:var(--text-secondary);font-size:.85rem;margin:0}.cm-tmpl-desc strong{color:var(--text-main)}.cm-tmpl-style-meta{color:var(--text-secondary);font-size:.75rem;margin:0}.cm-tmpl-style-meta span{color:var(--accent-purple);font-weight:700;text-transform:uppercase}.cm-tmpl-actions{display:flex;gap:.45rem}.cm-btn-delete,.cm-btn-edit{align-items:center;background:#0000;border:1px solid var(--border);border-radius:6px;cursor:pointer;display:flex;height:32px;justify-content:center;transition:var(--transition);width:32px}.cm-btn-edit{color:var(--accent-blue)}.cm-btn-edit:hover{background-color:#38bdf814;border-color:var(--accent-blue)}.cm-btn-delete{color:var(--accent-red)}.cm-btn-delete:hover{background-color:#ef44441f;border-color:var(--accent-red)}.spin{animation:cm-spin-anim .8s linear infinite}@keyframes cm-spin-anim{to{transform:rotate(1turn)}}@media (max-width:1024px){.cm-workspace{grid-template-columns:1fr}}@media (max-width:600px){.cm-form-grid{grid-template-columns:1fr}.cm-form-group.span-2{grid-column:span 1}.cm-form-checkboxes{flex-direction:column;gap:.65rem;grid-column:span 1}.cm-tmpl-card{align-items:flex-start;flex-direction:column;gap:.85rem}.cm-tmpl-actions{justify-content:flex-end;width:100%}}.cv-page{background:linear-gradient(135deg,#020617,#0f172a);font-family:Montserrat,sans-serif;padding:2rem}.cv-loading,.cv-page{align-items:center;color:#f8fafc;display:flex;flex-direction:column;justify-content:center;min-height:100vh}.cv-loading{background-color:#020617}.cv-loading .spinner{animation:cv-spin 1s linear infinite;border:4px solid #ffffff1a;border-radius:50%;border-top-color:#6366f1;height:40px;margin-bottom:1rem;width:40px}@keyframes cv-spin{to{transform:rotate(1turn)}}.cv-verify-badge{align-items:center;background-color:#10b9811f;border:1px solid #10b98140;border-radius:9999px;box-shadow:0 4px 20px #10b98114;color:#34d399;display:flex;font-weight:600;gap:.5rem;margin-bottom:2rem;padding:.75rem 1.5rem}.cv-certificate-border{aspect-ratio:1.414;border-radius:4px;box-shadow:0 25px 60px #0009;box-sizing:border-box;container-name:certificate;container-type:inline-size;display:flex;max-width:850px;padding:2.25rem;position:relative;width:100%}.cv-certificate-border.classic{background-color:#fcfaf5;background-image:radial-gradient(circle at 50% 50%,#d4af3705 0,#0000 80%),repeating-linear-gradient(45deg,rgba(138,109,37,.003),rgba(138,109,37,.003) 1px,#0000 0,#0000 6px),repeating-linear-gradient(-45deg,rgba(138,109,37,.003),rgba(138,109,37,.003) 1px,#0000 0,#0000 6px);border:12px double #c5a059;color:#1e293b;outline:1px solid #aa7f39;outline-offset:-8px}.cert-corner{border:1.5px solid #c5a059;height:24px;pointer-events:none;position:absolute;width:24px;z-index:10}.cert-corner.top-left{border-bottom:none;border-right:none;left:10px;top:10px}.cert-corner.top-right{border-bottom:none;border-left:none;right:10px;top:10px}.cert-corner.bottom-left{border-right:none;border-top:none;bottom:10px;left:10px}.cert-corner.bottom-right{border-left:none;border-top:none;bottom:10px;right:10px}.cert-corner:after{background-color:#c5a059;border-radius:50%;content:"";height:6px;position:absolute;width:6px}.cert-corner.top-left:after{bottom:-3px;right:-3px}.cert-corner.top-right:after{bottom:-3px;left:-3px}.cert-corner.bottom-left:after{right:-3px;top:-3px}.cert-corner.bottom-right:after{left:-3px;top:-3px}.cert-logo-img{filter:drop-shadow(0 1px 2px rgba(0,0,0,.05));height:48px;margin-bottom:.5rem;object-fit:contain}.cv-certificate-border.classic .cert-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#aa771c,#bf953f 25%,#fcf6ba 50%,#b38728 75%,#aa771c);-webkit-background-clip:text;filter:drop-shadow(0 1px 1px rgba(0,0,0,.1));font-family:Cinzel,Playfair Display,serif;font-size:2.5rem;font-size:clamp(1.5rem,5.5cqw,2.5rem);font-weight:700;letter-spacing:4px;margin:.25rem 0}.cv-certificate-border.classic .cert-subtitle{color:#64748b;font-family:Playfair Display,Georgia,serif;font-size:1.1rem;font-size:clamp(.9rem,2.2cqw,1.1rem);font-style:italic;margin-bottom:1rem}.cv-certificate-border.classic .cert-student-name{color:#0f172a;font-family:Alex Brush,cursive;font-size:3.4rem;font-size:clamp(1.8rem,8cqw,3.4rem);font-weight:400;margin:.25rem 0;text-shadow:1px 1px 1px #0000000d}.cert-divider-container{align-items:center;display:flex;gap:1rem;justify-content:center;margin:.75rem 0;width:60%}.cert-divider-line{background:linear-gradient(90deg,#0000,#c5a059 50%,#0000);flex-grow:1;height:1px}.cert-divider-diamond{background-color:#c5a059;height:7px;transform:rotate(45deg);width:7px}.cv-certificate-border.classic .cert-course-label{color:#64748b;font-family:Montserrat,sans-serif;font-size:.8rem;font-size:clamp(.7rem,1.6cqw,.8rem);letter-spacing:1.5px;margin:0;text-transform:uppercase}.cv-certificate-border.classic .cert-course-title{color:#0f172a;font-family:Playfair Display,Georgia,serif;font-size:1.6rem;font-size:clamp(1.1rem,3.5cqw,1.6rem);font-weight:700;margin:.5rem 0}.cv-certificate-border.classic .cert-score{color:#64748b;font-family:Montserrat,sans-serif;font-size:.85rem;font-size:clamp(.8rem,2cqw,.85rem);margin-bottom:1.5rem}.cert-trophy-badge{align-items:center;display:flex;justify-content:center;margin:0 auto}.cert-trophy-img{filter:drop-shadow(0 4px 12px rgba(184,134,11,.35));height:76px;object-fit:contain;transition:transform .3s ease;width:auto}.cert-trophy-img:hover{transform:scale(1.06)}.cert-seal-badge{align-items:center;height:70px;margin:.5rem 0;position:relative;width:70px;z-index:2}.cert-seal-badge,.seal-ribbons{display:flex;justify-content:center}.seal-ribbons{gap:10px;height:40px;pointer-events:none;position:absolute;top:40px;width:100%;z-index:1}.seal-ribbon{background:linear-gradient(135deg,#c5a059,#aa7f39);box-shadow:0 2px 4px #00000026;-webkit-clip-path:polygon(0 0,100% 0,100% 88%,50% 100%,0 88%);clip-path:polygon(0 0,100% 0,100% 88%,50% 100%,0 88%);height:42px;width:14px}.seal-ribbon.left{background:linear-gradient(135deg,#b89248,#8e6826);transform:rotate(-15deg)}.seal-ribbon.right{transform:rotate(15deg)}.seal-outer{background:repeating-conic-gradient(from 0deg,#c5a059 0deg 5deg,#fcf6ba 5deg 10deg,#b38728 10deg 15deg);box-shadow:0 4px 12px #0003,inset 0 1px 3px #fff6;height:68px;position:absolute;width:68px}.seal-inner,.seal-outer{align-items:center;border-radius:50%;display:flex;justify-content:center}.seal-inner{background:radial-gradient(circle,#fcf6ba 0,#bf953f 65%,#aa771c 100%);border:1px double #8a6d25;box-shadow:inset 0 2px 4px #00000026;color:#5c3b00;flex-direction:column;height:52px;text-shadow:0 1px 0 #fff6;width:52px}.seal-text-top{font-size:7px;font-weight:700;letter-spacing:.5px;line-height:1;margin-bottom:2px}.seal-text-middle{font-size:5px;font-weight:700;letter-spacing:.2px;opacity:.9}.seal-text-bottom{font-size:4.5px;letter-spacing:.5px;opacity:.8}.cv-certificate-border.classic .cert-sig-handwritten{color:#1e3a8a;font-family:Alex Brush,cursive;font-size:2.2rem;font-size:clamp(1.5rem,5cqw,2.2rem);height:40px;line-height:40px;margin-bottom:-12px;transform:rotate(-3deg);-webkit-user-select:none;user-select:none}.cv-certificate-border.classic .cert-sig-title{color:#64748b;font-family:Montserrat,sans-serif;font-size:.75rem}.cv-certificate-border.classic .cert-sig-name{color:#0f172a;font-family:Playfair Display,Georgia,serif;font-weight:700}.cv-certificate-border.modern{background:radial-gradient(circle at 10% 20%,#1e293b 0,#0f172a 100%);border:1px solid #6366f14d;overflow:hidden;position:relative}.cv-certificate-border.modern:before{background:linear-gradient(180deg,#6366f1,#10b981);content:"";height:100%;left:0;position:absolute;top:0;width:6px}.cv-certificate-border.modern .cert-award-icon{color:#6366f1;filter:drop-shadow(0 0 10px rgba(99,102,241,.5))}.cv-certificate-border.modern .cert-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#fff,#94a3b8);-webkit-background-clip:text;font-size:2.8rem;font-size:clamp(1.6rem,6cqw,2.8rem);font-weight:800;letter-spacing:4px}.cv-certificate-border.modern .cert-subtitle{color:#94a3b8;font-size:1.1rem;font-size:clamp(.9rem,2.2cqw,1.1rem)}.cv-certificate-border.modern .cert-student-name{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#10b981,#34d399);-webkit-background-clip:text;font-size:2.4rem;font-size:clamp(1.6rem,6.5cqw,2.4rem);font-weight:800}.cv-certificate-border.modern .cert-divider{background:#6366f133}.cv-certificate-border.modern .cert-course-label{color:#94a3b8}.cv-certificate-border.modern .cert-course-title{color:#f8fafc;font-size:1.6rem;font-size:clamp(1.1rem,3.5cqw,1.6rem);font-weight:700}.cv-certificate-border.modern .cert-sig-title{color:#94a3b8}.cv-certificate-border.modern .cert-sig-name{color:#f8fafc;font-weight:600}.cv-certificate-border.modern .cert-qr-label{color:#94a3b8}.cv-certificate-border.minimal{background-color:#fff;border:1px solid #e5e7eb;color:#111827}.cv-certificate-border.minimal .cv-certificate-content{border:1px solid #f3f4f6;border-radius:4px;height:100%;padding:1.5rem}.cv-certificate-border.minimal .cert-award-icon{color:#4b5563}.cv-certificate-border.minimal .cert-title{font-size:2.2rem;font-size:clamp(1.4rem,5cqw,2.2rem);font-weight:300;letter-spacing:6px}.cv-certificate-border.minimal .cert-subtitle{color:#6b7280;font-size:1rem;font-size:clamp(.85rem,2cqw,1rem)}.cv-certificate-border.minimal .cert-student-name{color:#111827;font-size:2.2rem;font-size:clamp(1.5rem,6cqw,2.2rem);font-weight:600}.cv-certificate-border.minimal .cert-divider{background:#e5e7eb;height:1px}.cv-certificate-border.minimal .cert-course-label{color:#6b7280}.cv-certificate-border.minimal .cert-course-title{font-size:1.4rem;font-size:clamp(1.1rem,3.2cqw,1.4rem);font-weight:500}.cv-certificate-border.minimal .cert-sig-title{color:#6b7280}.cv-certificate-border.minimal .cert-sig-name{font-weight:600}.cv-certificate-content{align-items:center;display:flex;flex:1 1;flex-direction:column;justify-content:center;text-align:center}.cert-title{margin:.5rem 0 0}.cert-subtitle{margin:0 0 1.5rem}.cert-student-name{margin:.5rem 0}.cert-divider{height:2px;margin:1rem 0;width:60%}.cert-course-label{font-size:.9rem;font-size:clamp(.7rem,1.6cqw,.9rem);margin:0}.cert-course-title{margin:.5rem 0}.cert-score{font-size:1rem;font-size:clamp(.8rem,2.2cqw,1rem);margin:0 0 2rem}.cert-footer{align-items:flex-end;display:flex;justify-content:space-between;margin-top:auto;padding:0 1rem;width:100%}.cert-footer-center,.cert-footer-left,.cert-footer-right{align-items:center;display:flex;flex-direction:column;width:30%}.cert-footer-left{align-items:flex-start;text-align:left}.cert-footer-right{align-items:flex-end;text-align:right}.cert-date-label,.cert-qr-label,.cert-sig-title{font-size:.75rem;font-size:clamp(.65rem,1.5cqw,.75rem);letter-spacing:1px;margin:0 0 .25rem;text-transform:uppercase}.cert-date-value,.cert-sig-name{font-size:.95rem;font-size:clamp(.8rem,1.8cqw,.95rem);margin:0}.cert-qr-wrapper{align-items:flex-start;display:flex;flex-direction:column;margin-bottom:.75rem}.cert-signature-block{align-items:center;display:flex;flex-direction:column;width:100%}.cert-signature-line{background-color:currentColor;height:1px;margin-bottom:.5rem;opacity:.6;width:100%}.cert-qr-img{background-color:#fff;border-radius:4px;box-shadow:0 2px 8px #0000001a;height:65px;margin-bottom:.25rem;padding:3px;width:65px}.cert-qr-label{font-size:.65rem;font-size:clamp(.55rem,1.3cqw,.7rem);opacity:.8}.cv-controls{display:flex;gap:1rem;margin-top:2rem}.cv-btn-download{align-items:center;background:linear-gradient(135deg,#4f46e5,#6366f1);border:none;border-radius:6px;box-shadow:0 4px 12px #6366f14d;color:#fff;cursor:pointer;display:flex;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .2s ease}.cv-btn-download:hover{box-shadow:0 6px 16px #6366f166;transform:translateY(-2px)}.cv-error-container{align-items:center;background-color:#0f172a;display:flex;justify-content:center;min-height:100vh;padding:1.5rem}.cv-error-card{background-color:#1e293b;border:1px solid #ef444433;border-radius:12px;box-shadow:0 10px 30px #0000004d;max-width:450px;padding:3rem 2rem;text-align:center;width:100%}.cv-error-card .error-icon{color:#ef4444;margin-bottom:1.5rem}.cv-error-card h2{color:#f8fafc;font-size:1.75rem;margin:0 0 .75rem}.cv-error-card p{color:#94a3b8;line-height:1.5;margin:0 0 2rem}.cv-error-card .btn-home{background-color:#334155;border-radius:6px;color:#f8fafc;display:inline-block;font-weight:600;padding:.75rem 2rem;text-decoration:none;transition:background-color .2s}.cv-error-card .btn-home:hover{background-color:#475569}@media(max-width:768px){.cv-page{justify-content:flex-start;padding:2rem 1rem}.cv-verify-badge{font-size:.82rem;margin-bottom:1.25rem;padding:.6rem 1rem;text-align:center}.cv-certificate-border{aspect-ratio:unset;min-height:auto;padding:2.5rem 1.5rem}.cv-certificate-border.classic{border-width:8px;outline-offset:-5px}.cert-corner{border-width:1px;height:14px;width:14px}.cert-corner:after{height:4px;width:4px}.cert-corner.top-left{left:6px;top:6px}.cert-corner.top-right{right:6px;top:6px}.cert-corner.bottom-left{bottom:6px;left:6px}.cert-corner.bottom-right{bottom:6px;right:6px}.cert-logo-img{height:38px;margin-bottom:.25rem}.cert-title{font-size:1.4rem!important;letter-spacing:2px!important}.cert-subtitle{font-size:.85rem!important;margin-bottom:.75rem!important}.cert-student-name{font-size:2rem!important;line-height:1.2}.cert-divider-container{margin:.5rem 0;width:85%}.cert-course-label{font-size:.72rem!important}.cert-course-title{font-size:1.2rem!important;line-height:1.35;margin:.35rem 0!important}.cert-score{font-size:.85rem!important;margin-bottom:1rem!important}.cert-footer{align-items:center;flex-direction:column;gap:1.5rem;margin-top:1.5rem;padding:0}.cert-footer-center,.cert-footer-left,.cert-footer-right{align-items:center;text-align:center;width:100%}.cert-footer-left{align-items:center;text-align:center}.cert-qr-wrapper{align-items:center;margin-bottom:.5rem}.cert-qr-img{height:55px;width:55px}.cert-date-value,.cert-sig-name{font-size:.85rem!important}.cert-sig-title{font-size:.7rem!important}.cert-signature-line{width:60%}.cv-controls{margin-top:1.5rem;padding:0 .5rem;width:100%}.cv-btn-download{justify-content:center;padding:.85rem;width:100%}}.lookup-container{align-items:center;background:var(--primary-bg);display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:1.5rem;position:relative}.lookup-container:before{background:radial-gradient(circle,var(--accent-blue),var(--accent-purple));border-radius:50%;content:"";filter:blur(80px);height:500px;left:-150px;opacity:.1;pointer-events:none;position:absolute;top:-150px;width:500px}.lookup-card{animation:floatUp .5s ease-out;background:var(--secondary-bg);border:1px solid var(--border);border-radius:24px;box-shadow:0 25px 60px #0006;max-width:420px;padding:2.5rem 2rem;position:relative;width:100%;z-index:1}.lookup-header{margin-bottom:2rem;text-align:center}.lookup-icon-box{align-items:center;background:#38bdf81a;border-radius:20px;box-shadow:inset 0 0 20px #38bdf81a;color:var(--accent-blue);display:flex;height:80px;justify-content:center;margin:0 auto 1.5rem;width:80px}.lookup-header h2{color:var(--text-main);font-size:1.5rem;margin-bottom:.5rem}.lookup-header p{color:var(--text-secondary);font-size:.9rem;line-height:1.5}.lookup-form{display:flex;flex-direction:column;gap:1.5rem}.input-with-icon{align-items:center;display:flex;position:relative}.input-icon{color:var(--text-muted);left:12px;position:absolute}.input-with-icon input{padding-left:2.5rem!important}.btn-lookup{background:linear-gradient(135deg,var(--accent-blue) 0,var(--accent-purple) 100%);border:none;border-radius:var(--radius-md);box-shadow:0 4px 18px #38bdf84d;color:#fff;cursor:pointer;font-family:inherit;font-size:1rem;font-weight:700;padding:.9rem;transition:all .2s ease;width:100%}.btn-lookup:hover{box-shadow:0 8px 25px #38bdf866;transform:translateY(-2px)}.lookup-error-box{background:#f8717114;border:1px solid #f8717133;border-radius:var(--radius-md);color:#f87171;font-size:.85rem;padding:.75rem;text-align:center}.lookup-footer{border-top:1px solid var(--border);margin-top:2rem;padding-top:1.5rem;text-align:center}.btn-back{align-items:center;color:var(--text-secondary);display:inline-flex;gap:.5rem;text-decoration:none;transition:color .2s}.btn-back:hover{color:var(--accent-blue)}@keyframes floatUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width:480px){.lookup-card{border-radius:16px;padding:2rem 1.25rem}.lookup-icon-box{border-radius:16px;height:64px;margin-bottom:1rem;width:64px}.lookup-icon-box svg{height:32px;width:32px}.lookup-header h2{font-size:1.35rem}.lookup-header p{font-size:.85rem}.btn-lookup{font-size:.95rem;padding:.8rem}}.course-manager-container{color:var(--text-main);display:flex;flex-direction:column;gap:1.25rem;margin:0 auto;max-width:min(1400px,100%);min-height:100vh;padding:1.5rem}.course-manager-header{align-items:center;background:var(--card-bg);border:1px solid var(--border);border-radius:12px;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;padding:1.25rem 1.5rem}.course-manager-header h1{font-size:1.6rem;font-weight:800;margin:0 0 .25rem}.course-manager-header p{color:var(--text-secondary);font-size:.9rem;margin:0}.header-actions{display:flex;flex-wrap:wrap;gap:.75rem}.btn-primary{background:linear-gradient(135deg,var(--accent-blue),var(--accent-purple));border:none;border-radius:8px;color:var(--btn-primary-text);cursor:pointer;font-weight:600;padding:.65rem 1.3rem;transition:all .2s}.btn-primary:hover{box-shadow:var(--shadow-glow-blue);transform:translateY(-1px)}.btn-ghost{background:var(--subtle-bg);color:var(--text-main);font-weight:600;padding:.65rem 1.3rem;transition:all .2s}.cm-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:1rem}.cm-search{background:var(--card-bg);border:1px solid var(--border);border-radius:8px;color:var(--text-main);flex:1 1;font-size:.9rem;min-width:200px;outline:none;padding:.6rem 1rem;transition:border-color .2s}.cm-search:focus{border-color:var(--accent-blue)}.cm-filters{display:flex;gap:.4rem}.cm-filter-btn{background:var(--card-bg);border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);cursor:pointer;font-size:.82rem;font-weight:600;padding:.45rem .85rem;transition:all .2s}.cm-filter-btn.active{background:var(--accent-blue);border-color:var(--accent-blue);color:var(--btn-primary-text)}.cm-filter-btn:hover:not(.active){border-color:var(--border-strong);color:var(--text-main)}.cm-empty{align-items:center;background:var(--card-bg);border:2px dashed var(--border);border-radius:12px;display:flex;flex-direction:column;justify-content:center;padding:4rem 2rem;text-align:center}.cm-empty-icon{font-size:3rem;margin-bottom:1rem}.cm-empty h3{font-size:1.2rem;margin:0 0 .5rem}.cm-empty p{color:var(--text-secondary);margin:0}.cm-course-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.cm-course-card{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;display:flex;flex-direction:column;overflow:hidden;transition:all .2s}.cm-course-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.cm-course-card.inactive{opacity:.55}.cm-course-cover{background-position:50%;background-size:cover;border-bottom:1px solid var(--border);height:120px}.cm-course-body{display:flex;flex:1 1;flex-direction:column;padding:1rem}.cm-course-header{align-items:flex-start;display:flex;gap:.5rem;justify-content:space-between;margin-bottom:.4rem}.cm-course-header h3{font-size:1.05rem;font-weight:700;line-height:1.3;margin:0}.cm-badge-status{border-radius:999px;flex-shrink:0;font-size:.7rem;font-weight:700;padding:.15rem .5rem;white-space:nowrap}.cm-badge-status.active{background:color-mix(in srgb,var(--accent-green) 10%,#0000);border:1px solid color-mix(in srgb,var(--accent-green) 20%,#0000);color:var(--accent-green)}.cm-badge-status.inactive{background:color-mix(in srgb,var(--accent-red) 10%,#0000);border:1px solid color-mix(in srgb,var(--accent-red) 20%,#0000);color:var(--accent-red)}.cm-course-desc{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--text-secondary);display:-webkit-box;font-size:.82rem;line-height:1.4;margin:0 0 .75rem;overflow:hidden}.cm-course-meta{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:auto}.cm-meta-tag{border-radius:999px;font-size:.7rem;font-weight:600;padding:.2rem .5rem}.cm-meta-tag.city{background:color-mix(in srgb,var(--accent-blue) 8%,#0000);border:1px solid color-mix(in srgb,var(--accent-blue) 15%,#0000);color:var(--accent-blue)}.cm-meta-tag.modules{background:color-mix(in srgb,var(--accent-purple) 8%,#0000);border:1px solid color-mix(in srgb,var(--accent-purple) 15%,#0000);color:var(--accent-purple)}.cm-meta-tag.steps{background:color-mix(in srgb,var(--accent-orange) 8%,#0000);border:1px solid color-mix(in srgb,var(--accent-orange) 15%,#0000);color:var(--accent-orange)}.cm-meta-tag.cert{background:color-mix(in srgb,var(--accent-green) 8%,#0000);border:1px solid color-mix(in srgb,var(--accent-green) 15%,#0000);color:var(--accent-green)}.cm-meta-tag.positions{background:#0d948814;border:1px solid #0d948833;color:#0d9488}.cm-course-actions{border-top:1px solid var(--border);gap:.4rem;justify-content:flex-end;padding:.6rem 1rem}.cm-btn-icon,.cm-course-actions{background:var(--subtle-bg);display:flex}.cm-btn-icon{align-items:center;border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);cursor:pointer;font-size:.9rem;height:32px;justify-content:center;transition:all .2s;width:32px}.cm-btn-icon.edit:hover{background:color-mix(in srgb,var(--accent-blue) 10%,#0000);border-color:var(--accent-blue);color:var(--accent-blue)}.cm-btn-icon.delete:hover{background:color-mix(in srgb,var(--accent-red) 12%,#0000);border-color:var(--accent-red);color:var(--accent-red)}.cm-editor-layout,.cm-editor-main{display:flex;flex-direction:column;gap:1.25rem}.cm-section{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;padding:1.5rem}.cm-section h2{border-left:4px solid var(--accent-blue);font-size:1.15rem;font-weight:800;margin:0 0 1rem;padding-left:.65rem}.cm-section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.cm-section-header h2{margin-bottom:0}.cm-form-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.cm-form-grid .span-2{grid-column:span 2}.cm-field{display:flex;flex-direction:column;gap:.35rem}.cm-field>label{color:var(--text-secondary);font-size:.78rem;font-weight:650}.cm-field input,.cm-field select,.cm-field textarea{background:var(--primary-bg);border:1px solid var(--border);border-radius:8px;box-sizing:border-box;color:var(--text-main);font-family:inherit;font-size:.9rem;outline:none;padding:.55rem .85rem;transition:all .2s ease;width:100%}.cm-field input:focus,.cm-field select:focus,.cm-field textarea:focus{border-color:var(--accent-blue);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-blue) 15%,#0000)}.cm-field-row{gap:.4rem}.cm-field-row,.cm-icon-btn{align-items:center;display:flex}.cm-icon-btn{background:var(--subtle-bg);border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);cursor:pointer;flex-shrink:0;height:34px;justify-content:center;transition:all .2s;width:34px}.cm-icon-btn:hover{background:var(--card-bg-hover);border-color:var(--border-strong)}.cm-cover-box{display:flex;flex-direction:column;gap:.6rem;width:100%}.cm-cover-preview-bar{align-items:center;background:var(--secondary-bg);border:1px solid var(--border);border-radius:8px;box-sizing:border-box;display:flex;gap:.75rem;padding:.4rem .6rem;width:100%}.cm-cover-thumb{background:var(--primary-bg);border:1px solid var(--border);border-radius:4px;flex-shrink:0;height:34px;object-fit:cover;width:48px}.cm-cover-url-text{color:var(--text-secondary);flex:1 1;font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cm-cover-remove-btn{background:#ef44441a;border:1px solid #ef444433;border-radius:6px;color:#ef4444;cursor:pointer;flex-shrink:0;font-size:.85rem;padding:.3rem .6rem;transition:all .2s}.cm-cover-remove-btn:hover{background:#ef4444;color:#fff}.cm-cover-input-group{align-items:center;display:flex;gap:.5rem;width:100%}.cm-upload-btn{align-items:center;background:color-mix(in srgb,var(--accent-blue) 10%,#0000);border:1px solid color-mix(in srgb,var(--accent-blue) 25%,#0000);border-radius:8px;box-sizing:border-box;color:var(--accent-blue);cursor:pointer;display:inline-flex;font-size:.85rem;font-weight:600;height:38px;justify-content:center;padding:.55rem .85rem;transition:all .2s;white-space:nowrap}.cm-upload-btn:hover{background:color-mix(in srgb,var(--accent-blue) 20%,#0000);border-color:var(--accent-blue)}.cm-toggle{align-items:center;cursor:pointer;display:inline-flex;gap:.6rem;-webkit-user-select:none;user-select:none}.cm-toggle input{height:0;opacity:0;position:absolute;width:0}.cm-toggle-slider{background:var(--text-muted);border:1px solid var(--border);border-radius:999px;display:inline-block;flex-shrink:0;height:22px;position:relative;transition:all .2s;width:40px}.cm-toggle-slider:before{background:var(--text-secondary);border-radius:50%;content:"";height:14px;left:3px;position:absolute;top:50%;transform:translateY(-50%);transition:all .2s;width:14px}.cm-toggle input:checked+.cm-toggle-slider{background:var(--accent-blue);border-color:var(--accent-blue)}.cm-toggle input:checked+.cm-toggle-slider:before{background:var(--btn-primary-text);transform:translateY(-50%) translateX(18px)}.cm-toggle span:last-child{font-size:.85rem;font-weight:600}.cm-empty-modules{align-items:center;border:2px dashed var(--border);border-radius:8px;color:var(--text-secondary);display:flex;font-size:.88rem;justify-content:center;min-height:80px}.cm-btn-add{background:color-mix(in srgb,var(--accent-blue) 8%,#0000);border:1px solid color-mix(in srgb,var(--accent-blue) 20%,#0000);border-radius:6px;color:var(--accent-blue);cursor:pointer;font-size:.82rem;font-weight:600;padding:.45rem .9rem;transition:all .2s}.cm-btn-add:hover{background:color-mix(in srgb,var(--accent-blue) 16%,#0000);color:var(--btn-primary-text)}.cm-modules{display:flex;flex-direction:column;gap:1rem}.cm-module{background:var(--primary-bg);border:1px solid var(--border);border-radius:10px;padding:1.25rem}.cm-module-head{align-items:center;display:flex;gap:.6rem;margin-bottom:.5rem}.cm-module-move{display:flex;flex-direction:column;gap:1px}.cm-module-move button{background:var(--subtle-bg);border:1px solid var(--border);border-radius:3px;color:var(--text-secondary);cursor:pointer;font-size:.6rem;line-height:1;padding:1px 4px;transition:all .2s}.cm-module-move button:hover:not(:disabled){background:var(--card-bg-hover);color:var(--text-main)}.cm-module-title{background:#0000;border:none;border-bottom:2px solid var(--border);color:var(--text-main);flex:1 1;font-size:1.05rem;font-weight:800;outline:none;padding:.2rem 0;transition:border-color .2s}.cm-module-title:focus{border-color:var(--accent-blue)}.cm-module-count{background:var(--subtle-bg);border-radius:999px;color:var(--text-secondary);font-size:.72rem;padding:.15rem .5rem;white-space:nowrap}.cm-module-desc{background:var(--secondary-bg);border:1px solid var(--border);border-radius:6px;box-sizing:border-box;color:var(--text-main);font-family:inherit;font-size:.84rem;margin-bottom:.85rem;outline:none;padding:.4rem .7rem;width:100%}.cm-module-desc:focus{border-color:var(--accent-blue)}.cm-steps{display:flex;flex-direction:column;gap:.6rem;margin-bottom:.75rem}.cm-step{background:var(--secondary-bg);border:1px solid var(--border);border-radius:8px;padding:.85rem}.cm-step-head{align-items:center;display:flex;gap:.5rem;margin-bottom:.6rem}.cm-step-move{display:flex;gap:1px}.cm-step-move button{background:var(--subtle-bg);border:1px solid var(--border);border-radius:3px;color:var(--text-secondary);cursor:pointer;font-size:.55rem;line-height:1;padding:1px 3px;transition:all .2s}.cm-step-move button:hover:not(:disabled){background:var(--card-bg-hover);color:var(--text-main)}.cm-step-num{align-items:center;background:color-mix(in srgb,var(--accent-blue) 8%,#0000);border-radius:50%;color:var(--accent-blue);display:flex;flex-shrink:0;font-size:.75rem;font-weight:800;height:20px;justify-content:center;width:20px}.cm-step-icon{flex-shrink:0;font-size:1rem}.cm-step-title{background:#0000;border:none;border-bottom:1px solid var(--border);color:var(--text-main);flex:1 1;font-size:.88rem;font-weight:700;outline:none;padding:.1rem 0;transition:border-color .2s}.cm-step-title:focus{border-color:var(--accent-blue)}.cm-step-type{background:var(--subtle-bg);border-radius:999px;color:var(--text-secondary);font-size:.7rem;padding:.15rem .45rem;white-space:nowrap}.cm-btn-edit-step{align-items:center;background:color-mix(in srgb,var(--accent-orange) 8%,#0000);border:1px solid color-mix(in srgb,var(--accent-orange) 20%,#0000);border-radius:6px;color:var(--accent-orange);cursor:pointer;display:flex;font-size:.8rem;height:28px;justify-content:center;transition:all .2s;width:28px}.cm-btn-edit-step:hover{background:color-mix(in srgb,var(--accent-orange) 16%,#0000);border-color:var(--accent-orange)}.cm-step-body{grid-gap:.6rem;display:grid;gap:.6rem;grid-template-columns:1fr 1fr;margin-left:1.5rem}.cm-step-field{display:flex;flex-direction:column;gap:.25rem}.cm-step-field.half{grid-column:span 1}.cm-step-field.wide{grid-column:span 2}.cm-step-field>label{color:var(--text-secondary);font-size:.7rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.cm-step-field input,.cm-step-field select,.cm-step-field textarea{background:var(--primary-bg);border:1px solid var(--border);border-radius:5px;color:var(--text-main);font-family:inherit;font-size:.84rem;outline:none;padding:.4rem .65rem;transition:border-color .2s}.cm-step-field input:focus,.cm-step-field select:focus,.cm-step-field textarea:focus{border-color:var(--accent-blue)}.cm-hotspot-hint{color:var(--text-secondary);font-size:.78rem;font-style:italic;margin-top:.35rem}.cm-btn-add-step{background:var(--subtle-bg);border:1px dashed var(--border);border-radius:6px;color:var(--text-secondary);cursor:pointer;font-size:.82rem;font-weight:600;padding:.5rem;transition:all .2s;width:100%}.cm-btn-add-step:hover{background:var(--card-bg-hover);border-color:var(--border-strong);color:var(--text-main)}.cm-modal-overlay{align-items:center;background:#0009;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:1000}.cm-modal{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;max-height:85vh;max-width:600px;width:100%}.cm-modal-wide{max-width:900px}.cm-modal-header{align-items:center;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:1rem 1.25rem}.cm-modal-header h2{font-size:1.1rem;font-weight:800;margin:0}.cm-modal-close{align-items:center;background:none;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:1.5rem;height:32px;justify-content:center;transition:all .2s;width:32px}.cm-modal-close:hover{background:color-mix(in srgb,var(--accent-red) 10%,#0000);color:var(--accent-red)}.cm-modal-body{overflow-y:auto;padding:1.25rem}.fc-toolbar{align-items:center;color:var(--text-secondary);display:flex;font-size:.9rem;justify-content:space-between;margin-bottom:1rem}.fc-empty{border:1px dashed var(--border);border-radius:8px;color:var(--text-muted);font-size:.9rem;padding:2rem;text-align:center}.fc-card{background:var(--primary-bg);border:1px solid var(--border);border-radius:12px;margin-bottom:1rem;overflow:hidden}.fc-card-head{align-items:center;background:var(--secondary-bg);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:.5rem 1rem}.fc-card-num{color:var(--text-secondary);font-size:.85rem;font-weight:700}.fc-remove{align-items:center;background:none;border:none;border-radius:4px;color:var(--accent-red);cursor:pointer;display:flex;flex-shrink:0;font-size:1.1rem;height:28px;justify-content:center;transition:all .2s;width:28px}.fc-remove:hover{background:color-mix(in srgb,var(--accent-red) 15%,#0000)}.fc-card-body{display:flex;gap:1rem;padding:1rem}.fc-card-fields{display:flex;flex:1 1;flex-direction:column;gap:.4rem}.fc-label{color:var(--text-secondary);font-size:.78rem;font-weight:600;margin-top:.3rem}.fc-label:first-child{margin-top:0}.fc-card-fields input,.fc-card-fields textarea{background:var(--secondary-bg);border:1px solid var(--border);border-radius:6px;box-sizing:border-box;color:var(--text-main);font-family:inherit;font-size:.85rem;outline:none;padding:.5rem .7rem;width:100%}.fc-card-fields input:focus,.fc-card-fields textarea:focus{border-color:var(--accent-blue)}.fc-card-fields textarea{min-height:48px;resize:vertical}.fc-img-row{align-items:center;display:flex;gap:.35rem}.fc-img-row input{flex:1 1}.fc-card-preview{flex-shrink:0;width:180px}.fc-preview-label{color:var(--text-muted);font-size:.75rem;font-weight:600;letter-spacing:.05em;margin-bottom:.5rem;text-align:center;text-transform:uppercase}.fc-preview-card{border:1px solid var(--border);border-radius:10px;font-size:.78rem;overflow:hidden}.fc-preview-front{background:var(--secondary-bg);color:var(--text-main);display:flex;flex-direction:column;min-height:80px}.fc-preview-img{background-position:50%;background-size:cover;height:50px}.fc-preview-term{font-size:.82rem;font-weight:700;padding:.6rem;text-align:center;word-break:break-word}.fc-preview-back{background:linear-gradient(135deg,var(--accent-blue),var(--accent-purple));color:var(--btn-primary-text);display:flex;flex-direction:column;justify-content:center;min-height:50px;padding:.6rem;text-align:center}.fc-preview-back-term{font-size:.7rem;font-weight:600;margin-bottom:.2rem;opacity:.7}.fc-preview-def{font-size:.75rem;line-height:1.3;word-break:break-word}.hs-toolbar{flex-wrap:wrap;font-size:.85rem;gap:1rem;justify-content:space-between;margin-bottom:.75rem}.hs-toolbar,.hs-toolbar>div{align-items:center;display:flex}.hs-toolbar>div{gap:.4rem}.cm-btn-sm{background:var(--subtle-bg);border:1px solid var(--border);border-radius:5px;color:var(--text-secondary);cursor:pointer;font-size:.78rem;padding:.3rem .6rem;transition:all .2s}.cm-btn-sm:hover{background:var(--card-bg-hover);color:var(--text-main)}.hs-canvas{background-position:50%;background-size:cover;border:1px solid var(--border);border-radius:8px;cursor:crosshair;margin-bottom:.75rem;padding-bottom:56.25%;position:relative;width:100%}.hs-zone{align-items:center;border-radius:3px;color:var(--btn-primary-text);cursor:pointer;display:flex;font-size:.7rem;font-weight:700;justify-content:center;position:absolute;text-shadow:1px 1px 2px #000000b3}.hs-zone.correct{background:color-mix(in srgb,var(--accent-green) 25%,#0000);border:2px solid var(--accent-green)}.hs-zone.wrong{background:color-mix(in srgb,var(--text-muted) 20%,#0000);border:2px dashed var(--text-muted)}.hs-table{border-collapse:collapse;font-size:.82rem;width:100%}.hs-table th{border-bottom:1px solid var(--border);color:var(--text-secondary);font-size:.72rem;font-weight:700;padding:.4rem .5rem;text-align:left;text-transform:uppercase}.hs-table td{border-bottom:1px solid var(--subtle-bg);padding:.3rem .5rem}.hs-table td input[type=number],.hs-table td input[type=text]{background:var(--primary-bg);border:1px solid var(--border);border-radius:4px;box-sizing:border-box;color:var(--text-main);font-size:.8rem;outline:none;padding:.25rem .4rem;width:100%}.hs-table td input:focus{border-color:var(--accent-blue)}.hs-table td input[type=checkbox]{cursor:pointer;height:16px;width:16px}@media (max-width:768px){.cm-course-grid,.cm-form-grid{grid-template-columns:1fr}.cm-form-grid .span-2{grid-column:span 1}.cm-step-body{grid-template-columns:1fr;margin-left:0}.cm-step-field.wide{grid-column:span 1}}.cm-attachments-section{margin-top:.25rem}.cm-attachments-label{font-weight:500;margin-bottom:.35rem}.cm-attachments-list{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.5rem}.cm-attachment-item{align-items:center;background:#f3f4f6;background:var(--bg-secondary,#f3f4f6);border-radius:6px;display:flex;font-size:.85rem;gap:.5rem;padding:.35rem .6rem}.cm-attachment-name{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cm-attachment-link{color:var(--accent-blue);font-size:.75rem;text-decoration:none}.cm-attachment-link:hover{text-decoration:underline}.cm-attachment-remove{background:none;border:none;color:#ef4444;color:var(--danger,#ef4444);cursor:pointer;font-size:1.1rem;line-height:1;padding:0 .2rem}.cm-attachment-add-btn{background:none;border:1px dashed #d1d5db;border:1px dashed var(--border,#d1d5db);border-radius:6px;color:var(--accent-blue);cursor:pointer;font-size:.8rem;padding:.35rem .75rem;transition:background .15s}.cm-attachment-add-btn:hover{background:#f3f4f6;background:var(--bg-secondary,#f3f4f6)}.lib-select-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1100}.lib-select-modal{animation:zoomIn .3s cubic-bezier(.34,1.56,.64,1);background:var(--secondary-bg);border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow);display:flex;flex-direction:column;height:80vh;max-width:800px;overflow:hidden;width:90%}.lib-select-modal-header{align-items:center;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:1.25rem 1.5rem}.lib-select-modal-header h3{color:var(--text-main);font-size:1.25rem;font-weight:700;margin:0}.lib-select-modal-toolbar{align-items:center;background:#0000000d;border-bottom:1px solid var(--border);display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;padding:1rem 1.5rem}.lib-select-tabs{display:flex;gap:.25rem}.lib-select-tab{background:#0000;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;font-size:.85rem;font-weight:600;padding:.45rem .9rem;transition:all .2s ease}.lib-select-tab:hover{color:var(--text-main)}.lib-select-tab.active{background:var(--card-bg-hover);box-shadow:var(--shadow);color:var(--accent-blue)}.lib-select-modal-body{flex:1 1;overflow-y:auto;padding:1.5rem}.lib-select-list{display:flex;flex-direction:column;gap:.75rem}.lib-select-item{align-items:center;background:var(--card-bg);border:1px solid var(--border);border-radius:12px;cursor:pointer;display:flex;justify-content:space-between;padding:.75rem 1.25rem;transition:all .2s ease}.lib-select-item:hover{background:var(--card-bg-hover);border-color:var(--accent-blue);transform:translateX(4px)}.lib-select-item-left{align-items:center;display:flex;gap:1rem;min-width:0}.lib-select-item-icon{align-items:center;display:flex;flex-shrink:0;font-size:1.5rem;justify-content:center}.lib-select-item-info{min-width:0}.lib-select-item-title{color:var(--text-main);font-size:.95rem;font-weight:600;margin:0 0 .15rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lib-select-item-meta{color:var(--text-secondary);font-size:.75rem}.lib-select-item-right{flex-shrink:0}.lib-select-btn{background:var(--accent-blue);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.8rem;font-weight:600;padding:.4rem .8rem;transition:all .2s ease}.lib-select-btn:hover{background:var(--accent-blue-hover)}.lib-select-empty{color:var(--text-secondary);padding:4rem 1rem;text-align:center}.csm-overlay{align-items:center;animation:fadeInModal .25s ease-out;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.csm-content{background:#1e1e2e;background:var(--card-bg,#1e1e2e);border:1px solid #ffffff14;border:1px solid var(--border,#ffffff14);border-radius:20px;box-shadow:0 20px 40px #0006;display:flex;flex-direction:column;max-height:90vh;overflow:hidden;width:min(650px,95%)}.csm-header{align-items:center;border-bottom:1px solid #ffffff14;border-bottom:1px solid var(--border,#ffffff14);display:flex;justify-content:space-between;padding:1.5rem}.csm-header h3{color:#f3f4f6;color:var(--text-main,#f3f4f6);font-size:1.25rem;margin:0}.csm-close-btn{background:#0000;border:none;color:#9ca3af;color:var(--text-secondary,#9ca3af);cursor:pointer;font-size:1.5rem;transition:color .2s}.csm-close-btn:hover{color:#f3f4f6;color:var(--text-main,#f3f4f6)}.csm-body{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr;overflow-y:auto;padding:1.5rem}@media (min-width:580px){.csm-body{grid-template-columns:1fr 1fr}}.csm-error{background:#ef44441a;border:1px solid #ef444433;border-radius:10px;color:#ef4444;font-size:.9rem;grid-column:1/-1;padding:.75rem 1rem}.csm-form{display:flex;flex-direction:column;gap:1rem}.csm-form h4{color:#f3f4f6;color:var(--text-main,#f3f4f6);margin:0 0 .5rem}.csm-form-group{display:flex;flex-direction:column;gap:.35rem}.csm-form-group label{color:#9ca3af;color:var(--text-secondary,#9ca3af);font-size:.85rem}.csm-form-group input{background:#11111b;background:var(--primary-bg,#11111b);border:1px solid #ffffff14;border:1px solid var(--border,#ffffff14);border-radius:10px;color:#f3f4f6;color:var(--text-main,#f3f4f6);font-size:.95rem;outline:none;padding:.75rem 1rem;transition:border-color .2s}.csm-form-group input:focus{border-color:#38bdf8;border-color:var(--accent-blue,#38bdf8)}.csm-form-actions{display:flex;gap:.75rem;margin-top:.5rem}.csm-btn-save{background:#38bdf8;background:var(--accent-blue,#38bdf8);border:none;border-radius:10px;color:#fff;cursor:pointer;font-weight:600;padding:.75rem 1.25rem;transition:background-color .2s}.csm-btn-save:hover{background:#0ea5e9;background:var(--accent-blue-hover,#0ea5e9)}.csm-btn-cancel{background:#ffffff0d;border:1px solid #ffffff14;border:1px solid var(--border,#ffffff14);border-radius:10px;color:#f3f4f6;color:var(--text-main,#f3f4f6);cursor:pointer;font-weight:600;padding:.75rem 1.25rem;transition:background-color .2s}.csm-btn-cancel:hover{background:#ffffff1a}.csm-list-section{display:flex;flex-direction:column;gap:1rem}.csm-list-section h4{color:#f3f4f6;color:var(--text-main,#f3f4f6);margin:0}.csm-empty,.csm-loading{color:#9ca3af;color:var(--text-secondary,#9ca3af);font-style:italic;padding:2rem;text-align:center}.csm-list{display:flex;flex-direction:column;gap:.75rem;max-height:300px;overflow-y:auto;padding-right:.25rem}.csm-list-item{align-items:center;background:#11111b;background:var(--primary-bg,#11111b);border:1px solid #ffffff14;border:1px solid var(--border,#ffffff14);border-radius:12px;display:flex;gap:1rem;justify-content:space-between;padding:.85rem 1rem}.csm-item-info{display:flex;flex-direction:column;gap:.2rem;overflow:hidden}.csm-item-info strong{color:#f3f4f6;color:var(--text-main,#f3f4f6);font-size:.95rem}.csm-item-info p{color:#9ca3af;color:var(--text-secondary,#9ca3af);font-size:.8rem;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.csm-item-order{color:#38bdf8;color:var(--accent-blue,#38bdf8);font-size:.75rem;font-weight:600}.csm-item-actions{display:flex;gap:.5rem}.csm-btn-item-delete,.csm-btn-item-edit{align-items:center;background:#ffffff0d;border:1px solid #ffffff14;border:1px solid var(--border,#ffffff14);border-radius:8px;cursor:pointer;display:flex;font-size:.9rem;height:32px;justify-content:center;transition:all .2s;width:32px}.csm-btn-item-edit:hover{background:#38bdf826;border-color:#38bdf8;border-color:var(--accent-blue,#38bdf8)}.csm-btn-item-delete:hover{background:#ef444426;border-color:#ef4444}@keyframes fadeInModal{0%{opacity:0}to{opacity:1}}.course-player-container{background:var(--primary-bg);color:var(--text-main);display:flex;font-family:Outfit,Inter,sans-serif;height:100vh;overflow:hidden}.course-player-sidebar{background:var(--secondary-bg);border-right:1px solid var(--border);display:flex;flex-direction:column;height:100%;width:360px}.sidebar-header{border-bottom:1px solid var(--border);padding:1.5rem}.btn-back{background:#0000;border:none;color:var(--accent-blue);cursor:pointer;font-size:.9rem;font-weight:600;margin-bottom:1rem;padding:0;transition:transform .2s ease}.btn-back:hover{transform:translateX(-3px)}.sidebar-header h2{color:var(--text-main);font-size:1.35rem;font-weight:700;line-height:1.3;margin:0 0 1rem}.overall-progress-container{display:flex;flex-direction:column;gap:.4rem}.progress-text{color:var(--text-secondary);display:flex;font-size:.85rem;justify-content:space-between}.progress-bar-wrapper{background:#94a3b833;border-radius:4px;height:8px;overflow:hidden}.progress-bar-fill{background:linear-gradient(90deg,var(--accent-blue) 0,#818cf8 100%);border-radius:4px;height:100%;transition:width .5s ease-out}.sidebar-modules{display:flex;flex:1 1;flex-direction:column;gap:1.5rem;overflow-y:auto;padding:1.5rem}.sidebar-modules::-webkit-scrollbar{width:6px}.sidebar-modules::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.sidebar-module-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.25rem}.sidebar-module-header h3{color:#818cf8;font-size:.95rem;font-weight:700;letter-spacing:.05em;margin:0;text-transform:uppercase}.module-progress-info{align-items:center;display:flex;flex-shrink:0;gap:.3rem}.module-step-count{background:#94a3b81a;border-radius:8px;color:var(--text-secondary);font-size:.75rem;font-weight:600;padding:.15rem .5rem}.module-done-badge{font-size:1rem}.module-desc{color:#64748b;font-size:.82rem;line-height:1.4;margin:0 0 .75rem}.sidebar-steps{display:flex;flex-direction:column;gap:.5rem}.sidebar-step-btn{align-items:center;background:#94a3b80d;border:1px solid var(--border);border-radius:12px;color:var(--text-secondary);cursor:pointer;display:flex;gap:.75rem;outline:none;padding:.75rem 1rem;text-align:left;transition:all .2s ease;width:100%}.sidebar-step-btn:hover:not(.locked){background:var(--card-bg-hover);border-color:var(--border-strong);color:var(--text-main)}.sidebar-step-btn.active{background:#38bdf826;border-color:var(--accent-blue);box-shadow:0 0 12px #38bdf833;color:var(--text-main)}.sidebar-step-btn.completed{background:#22c55e0d;border-color:#22c55e66}.sidebar-step-btn.locked{background:#00000014;cursor:not-allowed;opacity:.45}.step-number{align-items:center;background:#94a3b81a;border-radius:50%;color:var(--text-secondary);display:flex;flex-shrink:0;font-size:.75rem;font-weight:700;height:24px;justify-content:center;width:24px}.sidebar-step-btn.active .step-number{background:#38bdf833;color:var(--accent-blue)}.sidebar-step-btn.completed .step-number{background:#22c55e26;color:#4ade80}.step-icon{align-items:center;display:flex;flex-shrink:0;font-size:1.15rem;justify-content:center}.step-btn-info{display:flex;flex-direction:column;min-width:0}.step-btn-title{font-size:.88rem;font-weight:600;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.step-btn-type{color:var(--text-secondary);font-size:.72rem;margin-top:.1rem}.sidebar-step-btn.active .step-btn-type{color:var(--accent-blue)}.glass-panel{background:var(--secondary-bg);border:1px solid var(--border);border-radius:24px;box-shadow:var(--shadow)}.course-player-content{align-items:flex-start;display:flex;flex:1 1;height:100%;justify-content:center;overflow-y:auto;padding:2.5rem}.course-player-content::-webkit-scrollbar{width:8px}.course-player-content::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.active-step-workspace{display:flex;flex-direction:column;justify-content:space-between;max-width:960px;min-height:80vh;padding:2.5rem;width:100%}.active-step-workspace.slide-left{animation:slideLeft .2s ease-out}@keyframes slideLeft{0%{opacity:0;transform:translateX(15px)}to{opacity:1;transform:translateX(0)}}.workspace-header{border-bottom:1px solid var(--border);margin-bottom:2rem;padding-bottom:1.25rem}.workspace-header-top{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.workspace-header .step-badge{background:#6366f126;border-radius:20px;color:#818cf8;display:inline-block;font-size:.78rem;font-weight:600;letter-spacing:.05em;padding:.3rem .75rem;text-transform:uppercase}.btn-ghost{align-items:center;background:#0000;border:1px solid var(--border);border-radius:8px;color:var(--text-secondary);cursor:pointer;display:inline-flex;font-size:.85rem;gap:.35rem;padding:.4rem .75rem;transition:all .2s ease}.btn-ghost:hover{background:var(--card-bg-hover);border-color:var(--border-strong);color:var(--text-main)}.btn-refresh{font-size:1rem;padding:.3rem .6rem}.workspace-header h1{color:var(--text-main);font-size:2rem;font-weight:700;margin:0}.workspace-body{color:var(--text-main);flex:1 1;font-size:1.05rem;line-height:1.7}.theory-text-content{padding:.5rem}.theory-text-content p{margin-bottom:1.25rem}.theory-text-content h2,.theory-text-content h3{color:var(--text-main);margin-bottom:.75rem;margin-top:1.5rem}.video-iframe-wrapper{border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);height:0;overflow:hidden;padding-bottom:56.25%;position:relative}.video-iframe-wrapper iframe{border:0;height:100%;left:0;position:absolute;top:0;width:100%}.html5-video-player{width:100%}.html5-video-player,.pdf-embed-container{border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow)}.pdf-embed-container{height:600px;margin-bottom:1.5rem;overflow:hidden}.pdf-embed-container iframe{height:100%;width:100%}.pdf-actions{display:flex;justify-content:center}.practice-step-content{align-items:center;display:flex;flex-direction:column;gap:2rem;padding:1.5rem 0}.practice-info-card{background:var(--secondary-bg);border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow);max-width:550px;padding:2.5rem;text-align:center;width:100%}.practice-icon{font-size:3.5rem;margin-bottom:1rem}.practice-info-card h2{color:var(--text-main);font-size:1.4rem;margin-bottom:.75rem;margin-top:0}.practice-info-card p{color:var(--text-secondary);font-size:.95rem;line-height:1.5;margin-bottom:2rem}.practice-stats{border-top:1px solid var(--border);display:flex;flex-direction:column;gap:.75rem;padding-top:1.5rem}.stat-row{display:flex;font-size:.95rem;justify-content:space-between}.stat-row span{color:var(--text-secondary)}.score-pass{color:#4ade80}.score-fail{color:#f87171}.status-badge{border-radius:12px;font-size:.82rem;font-weight:700;padding:.15rem .6rem}.status-badge.completed{background:#22c55e26;color:#4ade80}.status-badge.pending{background:#eab30826;color:#fde047}.practice-action-box{align-items:center;display:flex;flex-direction:column;gap:1rem}.btn-practice-start{background:linear-gradient(135deg,#3b82f6,#1d4ed8);border:none;border-radius:14px;box-shadow:0 6px 20px #2563eb66;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:700;padding:1rem 2.5rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.btn-practice-start:hover:not(:disabled){box-shadow:0 8px 25px #2563eb80;transform:translateY(-2px)}.btn-practice-start:disabled{cursor:not-allowed;opacity:.6}.practice-hint{color:var(--text-secondary);font-size:.8rem;margin:0;max-width:400px;text-align:center}.btn-sync-progress{margin-top:.5rem}.workspace-footer{border-top:1px solid var(--border);display:flex;justify-content:flex-end;margin-top:3rem;padding-top:1.5rem}.completed-lesson-banner{background:#22c55e1f;border:1px solid #22c55e40;border-radius:12px;color:#4ade80;font-weight:600;padding:1rem 1.5rem;text-align:center;width:100%}.btn-complete-lesson{background:linear-gradient(135deg,#10b981,#047857);border:none;border-radius:14px;box-shadow:0 4px 15px #10b9814d;color:#fff;cursor:pointer;font-size:1rem;font-weight:700;padding:1rem 2rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.btn-complete-lesson:hover:not(:disabled){box-shadow:0 6px 20px #10b98173;transform:translateY(-2px)}.btn-complete-lesson:disabled{cursor:not-allowed;opacity:.6}.empty-workspace{margin-top:10vh;max-width:600px;padding:4rem 2rem;text-align:center;width:100%}.empty-workspace-icon{font-size:4rem;margin-bottom:1rem}.empty-workspace h1{font-size:1.8rem;margin-bottom:.75rem}.empty-progress-hint,.empty-workspace p{color:var(--text-secondary)}.empty-progress-hint{align-items:center;display:flex;font-size:.9rem;gap:.5rem;justify-content:center;margin-top:2rem}.empty-progress-hint strong{color:var(--accent-blue);font-size:1.1rem}.placeholder-view{align-items:center;background:var(--primary-bg);color:var(--text-secondary);display:flex;font-size:1.2rem;height:100vh;justify-content:center}.error-view{flex-direction:column;gap:1.5rem}.course-completed-screen{align-items:center;animation:fadeInUp .6s ease-out;display:flex;height:100%;justify-content:center;padding:2rem;width:100%}.completed-content{max-width:550px;text-align:center}.completed-icon{animation:bounce 1.2s ease-in-out infinite;font-size:6rem;margin-bottom:1rem}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}.completed-content h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#38bdf8,#818cf8 50%,#c084fc);-webkit-background-clip:text;background-clip:text;font-size:3rem;font-weight:800;margin:0 0 .5rem}.completed-subtitle{color:var(--text-secondary);font-size:1.15rem;margin:0 0 .25rem}.completed-course-title{color:var(--text-main);font-size:1.6rem;font-weight:700;margin:0 0 2rem}.completed-stats{display:flex;gap:1rem;justify-content:center;margin-bottom:2.5rem}.completed-stat{align-items:center;background:var(--secondary-bg);border:1px solid var(--border);border-radius:16px;display:flex;flex-direction:column;gap:.3rem;min-width:100px;padding:1.25rem 1.75rem}.completed-stat-value{color:var(--accent-blue);font-size:1.8rem;font-weight:800}.completed-stat-label{color:var(--text-secondary);font-size:.75rem;letter-spacing:.04em;text-transform:uppercase}.completed-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.btn-completed-primary{background:linear-gradient(135deg,#3b82f6,#1d4ed8);border:none;border-radius:14px;box-shadow:0 4px 15px #2563eb4d;color:#fff;cursor:pointer;font-size:1rem;font-weight:700;padding:.9rem 2rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.btn-completed-primary:hover{box-shadow:0 6px 20px #2563eb73;transform:translateY(-2px)}.btn-completed-secondary{background:#0000;border:1px solid var(--border);border-radius:14px;color:var(--text-secondary);cursor:pointer;font-size:1rem;font-weight:600;padding:.9rem 2rem;transition:all .2s ease}.btn-completed-secondary:hover{background:var(--card-bg-hover);border-color:var(--border-strong);color:var(--text-main)}.theory-text-content table{border:1px solid var(--border);border-collapse:collapse;display:block;margin:1.25rem 0;overflow-x:auto;white-space:nowrap;width:100%!important}.theory-text-content td,.theory-text-content th{background:#ffffff03;border:1px solid var(--border);padding:.65rem .85rem;text-align:left}.theory-text-content th{background:#ffffff0d;font-weight:700}.theory-text-content img{box-shadow:var(--shadow);height:auto!important;margin:1.25rem 0}.theory-text-content iframe,.theory-text-content img{border-radius:12px;max-width:100%!important}.theory-text-content blockquote{background:#38bdf80d;border-left:4px solid var(--accent-blue);border-radius:0 8px 8px 0;color:var(--text-secondary);font-style:italic;margin:1.25rem 0;padding:.75rem 1.25rem}@media (max-width:768px){.mobile-sidebar-toggle{align-items:center;background:var(--secondary-bg);border:1px solid var(--border);border-radius:50%;box-shadow:0 4px 15px #0006;color:var(--text-main);cursor:pointer;display:flex;font-size:1.4rem;height:46px;justify-content:center;left:1rem;position:fixed;top:1rem;transition:all .25s cubic-bezier(.4,0,.2,1);width:46px;z-index:1001}.mobile-sidebar-toggle:hover{background:var(--card-bg-hover);transform:scale(1.05)}.mobile-sidebar-toggle.open{background:var(--card-bg-hover);border-color:var(--accent-blue);transform:rotate(90deg)}.course-player-sidebar{bottom:0;box-shadow:0 0 24px #0009;left:-290px;position:fixed;top:0;transition:transform .3s cubic-bezier(.4,0,.2,1);width:290px;z-index:1000}.course-player-sidebar.open{transform:translateX(290px)}.course-player-content{padding:5rem 1.25rem 1.25rem}.workspace-header{margin-bottom:1.5rem;padding-bottom:.75rem}.workspace-header h1{font-size:1.5rem;line-height:1.3}.workspace-body{font-size:.95rem;line-height:1.6}.active-step-workspace{min-height:auto;padding:1.5rem}.pdf-embed-container{height:420px}.practice-info-card{border-radius:16px;padding:1.5rem}.practice-icon{font-size:2.5rem}.practice-info-card h2{font-size:1.2rem}.practice-stats{gap:.5rem;padding-top:1rem}.stat-row{font-size:.88rem}.btn-practice-start{font-size:1rem;padding:.85rem 1.5rem;width:100%}.workspace-footer{justify-content:center;margin-top:2rem;padding-top:1rem}.btn-complete-lesson{font-size:.95rem;padding:.9rem 1.5rem;text-align:center;width:100%}.empty-workspace{margin-top:5vh;padding:2.5rem 1.25rem}.empty-workspace h1{font-size:1.4rem}.course-completed-screen{padding:1.5rem}.completed-icon{font-size:4rem}.completed-content h1{font-size:2.2rem}.completed-course-title{font-size:1.3rem}.completed-stats{gap:.6rem}.completed-stat{min-width:80px;padding:.9rem 1rem}.completed-stat-value{font-size:1.4rem}.completed-actions{flex-direction:column}.btn-completed-primary,.btn-completed-secondary{padding:.8rem 1.5rem;width:100%}}.sidebar-overlay{animation:fadeInOverlay .25s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000a6;bottom:0;left:0;position:fixed;right:0;top:0;z-index:999}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}.step-attachments{border-top:1px solid #e5e7eb;border-top:1px solid var(--border,#e5e7eb);margin-top:1rem;padding-top:.75rem}.step-attachments-title{font-size:.95rem;font-weight:500;margin-bottom:.5rem}.step-attachments-list{display:flex;flex-direction:column;gap:.4rem}.step-attachment-link{align-items:center;background:#ffffff0d;background:var(--card-bg,#ffffff0d);border:1px solid #ffffff1a;border:1px solid var(--border,#ffffff1a);border-radius:12px;color:#f8fafc;color:var(--text-main,#f8fafc);display:flex;font-size:.9rem;gap:.75rem;padding:.75rem 1rem;text-decoration:none;transition:all .2s ease}.step-attachment-link:hover{background:#ffffff14;background:var(--card-bg-hover,#ffffff14);border-color:#38bdf8;border-color:var(--accent-blue,#38bdf8);color:#f8fafc;color:var(--text-main,#f8fafc)}button.step-attachment-link{cursor:pointer;font-family:inherit;outline:none;text-align:left;width:100%}.step-attachment-icon{align-items:center;display:flex;flex-shrink:0;font-size:1.2rem;justify-content:center}.step-attachment-name{color:#f8fafc;color:var(--text-main,#f8fafc);flex:1 1;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.step-attachment-action{color:#38bdf8;color:var(--accent-blue,#38bdf8);font-size:.8rem;font-weight:600;white-space:nowrap}.pdf-fallback-message{align-items:center;background:#94a3b80d;border:1px dashed var(--border);border-radius:12px;color:var(--text-secondary);display:flex;flex-direction:column;height:100%;justify-content:center;padding:2rem;text-align:center}.pdf-fallback-message p{font-size:1rem;margin-bottom:1.5rem}.embed-step-container{display:flex;flex-direction:column;gap:1rem;min-height:60vh;width:100%}.embed-step-iframe{background:#fff;border:1px solid var(--border);border-radius:12px;min-height:70vh;width:100%}.embed-step-empty,.embed-step-error,.embed-step-loading{align-items:center;border:1px dashed var(--border);border-radius:12px;color:var(--text-secondary);display:flex;justify-content:center;min-height:200px;padding:1.5rem;text-align:center}.embed-completed-banner{background:#22c55e1f;border-radius:10px;color:#16a34a;font-weight:600;padding:.6rem 1rem;text-align:center}.embed-manual-complete{display:flex;justify-content:flex-end}.embed-step-container.embed-fullscreen{background:#0b0f1a;display:flex;flex-direction:column;gap:0;inset:0;padding:0;position:fixed;z-index:9999}.embed-step-toolbar{align-items:center;background:#0f172ad9;display:flex;gap:.75rem;justify-content:flex-end;padding:.5rem .75rem}.embed-completed-badge{color:#16a34a;font-size:.9rem;font-weight:600;margin-right:auto}.embed-fs-btn{background:#ffffff1a;border:1px solid var(--border);border-radius:8px;color:#fff;cursor:pointer;font-size:1.1rem;height:36px;width:36px}.embed-fs-btn:hover{background:#ffffff2e}.embed-frame-wrapper{flex:1 1;min-height:0;position:relative}.embed-loading-overlay{align-items:center;background:#0f172a99;color:var(--text-secondary);display:flex;flex-direction:column;gap:1rem;inset:0;justify-content:center;position:absolute;z-index:2}.embed-fullscreen .embed-step-iframe{border-radius:0;height:100%;min-height:0}.flashcards-step-container{margin:0 auto;max-width:500px;padding:1rem 0}.flashcard-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:.5rem}.flashcard-title-text{color:var(--text-main);font-size:1.1rem;font-weight:700;margin:0}.flashcard-subtitle{color:var(--text-muted);font-size:.85rem;margin:.25rem 0 0}.flashcard-remaining{color:var(--text-muted);font-size:.85rem;white-space:nowrap}.flashcard-progress-bar{background:var(--border);border-radius:3px;height:6px;margin-bottom:1.5rem;overflow:hidden}.flashcard-progress-fill{background:var(--accent-green);border-radius:3px;height:100%;transition:width .3s ease}.flashcard-card-wrapper{cursor:pointer;height:400px;margin-bottom:1rem;perspective:1000px}.flashcard-card-inner{height:100%;position:relative;transform-style:preserve-3d;transition:transform .5s ease;width:100%}.flashcard-card-inner.is-flipped{transform:rotateY(180deg)}.flashcard-side{-webkit-backface-visibility:hidden;backface-visibility:hidden;border:1px solid var(--border);border-radius:16px;height:100%;overflow:hidden;position:absolute;width:100%}.flashcard-side-front{background:var(--secondary-bg);color:var(--text-main);display:flex;flex-direction:column}.flashcard-side-image{background-position:50%;background-size:cover;flex:1 1}.flashcard-side-overlay{align-items:center;background:var(--secondary-bg);display:flex;justify-content:center;min-height:80px;padding:1.5rem}.flashcard-term{font-size:1.3rem;font-weight:700;margin:0;text-align:center}.flashcard-side-back{align-items:center;background:linear-gradient(135deg,var(--accent-blue),var(--accent-purple));box-shadow:inset 0 0 40px #0006;color:var(--btn-primary-text);display:flex;justify-content:center;padding:1.5rem;transform:rotateY(180deg)}.flashcard-back-body{text-align:center}.flashcard-back-term{border-bottom:1px solid var(--border-strong);color:var(--text-secondary);font-size:1rem;font-weight:600;margin-bottom:.75rem;padding-bottom:.5rem}.flashcard-definition{font-size:1rem;line-height:1.6;margin:0;word-break:break-word}.flashcard-flip-hint{color:var(--text-muted);font-size:.85rem;margin:0 0 1rem;min-height:1.5rem;text-align:center}.flashcard-actions{display:flex;gap:1rem;justify-content:center}.flashcard-btn{align-items:center;border:1px solid;border-radius:12px;cursor:pointer;display:flex;font-size:.95rem;font-weight:700;gap:.5rem;padding:.75rem 1.5rem;transition:all .15s ease}.flashcard-btn:active{transform:scale(.95)}.flashcard-btn-no{background:color-mix(in srgb,var(--accent-red) 15%,#0000);border-color:color-mix(in srgb,var(--accent-red) 40%,#0000);color:var(--accent-red)}.flashcard-btn-no:hover{background:color-mix(in srgb,var(--accent-red) 25%,#0000)}.flashcard-btn-yes{background:color-mix(in srgb,var(--accent-green) 15%,#0000);border-color:color-mix(in srgb,var(--accent-green) 40%,#0000);color:var(--accent-green)}.flashcard-btn-yes:hover{background:color-mix(in srgb,var(--accent-green) 25%,#0000)}.flashcard-complete{padding:2rem 0;text-align:center}.flashcard-complete-icon{font-size:3rem;margin-bottom:1rem}.flashcard-complete h2{color:var(--text-main);font-size:1.5rem;margin:0 0 .5rem}.flashcard-complete p{color:var(--text-muted);font-size:1rem;margin:0 0 1.5rem}.flashcard-continue-btn{background:var(--accent-green);border:none;border-radius:12px;color:var(--btn-primary-text);cursor:pointer;font-size:1rem;font-weight:700;padding:.75rem 2.5rem;transition:background .15s ease}.flashcard-continue-btn:hover{background:color-mix(in srgb,var(--accent-green) 80%,#000)}.flashcards-empty{background:var(--subtle-bg);border:1px dashed var(--border);border-radius:8px;padding:2rem;text-align:center}.srs-mode-selector{background:var(--subtle-bg);border:1px solid var(--border);border-radius:8px;display:flex;gap:.5rem;margin-bottom:1rem;padding:.25rem}.srs-mode-btn{background:#0000;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;flex:1 1;font-size:.85rem;font-weight:600;padding:.5rem;transition:all .2s ease}.srs-mode-btn.active{background:var(--secondary-bg);box-shadow:0 1px 3px #0000001a;color:var(--text-main)}.flashcard-box-indicator{background:#0009;border-radius:12px;color:#fff;font-size:.75rem;font-weight:600;padding:2px 8px;position:absolute;right:10px;top:10px;z-index:10}.srs-status-badge{background:#fff3;border-radius:4px;color:inherit;font-size:.75rem;font-weight:600;margin-left:.5rem;padding:.15rem .5rem}@media (max-width:480px){.flashcards-step-container{padding:.5rem}.flashcard-card-wrapper{height:320px}.flashcard-term{font-size:1.1rem}.flashcard-btn{flex:1 1;font-size:.85rem;justify-content:center;padding:.65rem 1rem}.srs-mode-btn{font-size:.75rem;padding:.4rem}}.hotspots-step-container{display:flex;flex-direction:column;gap:1rem;padding:1rem 0}.hotspots-header-brief{align-items:center;background:var(--subtle-bg);border:1px solid var(--border);border-radius:8px;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;padding:.75rem 1rem}.task-banner{color:var(--text-main);font-size:.95rem}.hotspots-score-badge{align-items:center;display:flex;font-size:.95rem;gap:.75rem}.badge-pass{background:color-mix(in srgb,var(--accent-green) 20%,#0000);color:var(--accent-green)}.badge-fail,.badge-pass{border-radius:4px;font-weight:600;padding:.2rem .6rem}.badge-fail{background:color-mix(in srgb,var(--accent-red) 20%,#0000);color:var(--accent-red)}.hotspots-canvas-wrapper{border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-lg);min-height:200px;overflow:hidden;position:relative;width:100%}.hotspots-canvas{aspect-ratio:16/9;background-color:var(--primary-bg);background-position:50%;background-repeat:no-repeat;background-size:cover;cursor:crosshair;position:relative;width:100%}.hotspots-image-loading{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;gap:.75rem;inset:0;justify-content:center;padding:3rem;pointer-events:none;position:absolute}.loading-spinner{animation:hotspotSpin .8s linear infinite;border:3px solid var(--border);border-radius:50%;border-top-color:var(--accent-blue);height:36px;width:36px}@keyframes hotspotSpin{to{transform:rotate(1turn)}}.hotspots-image-error{align-items:center;color:var(--accent-red);display:flex;flex-direction:column;gap:.5rem;inset:0;justify-content:center;padding:3rem;pointer-events:none;position:absolute;text-align:center}.hotspots-image-error-url{color:var(--text-secondary);font-size:.75rem;max-width:100%;word-break:break-all}.hotspot-overlay-found{animation:hotspotPulse 2s infinite;background:color-mix(in srgb,var(--accent-green) 20%,#0000);border:2px solid var(--accent-green);border-radius:4px;box-shadow:0 0 12px var(--accent-green);position:absolute}@keyframes hotspotPulse{0%{border-color:color-mix(in srgb,var(--accent-green) 60%,#0000);box-shadow:0 0 4px var(--accent-green)}50%{border-color:var(--accent-green);box-shadow:0 0 16px var(--accent-green)}to{border-color:color-mix(in srgb,var(--accent-green) 60%,#0000);box-shadow:0 0 4px var(--accent-green)}}.incorrect-click-ripple{animation:clickRipple .8s ease-out forwards;background:color-mix(in srgb,var(--accent-red) 20%,#0000);border:2px solid var(--accent-red);border-radius:50%;height:30px;pointer-events:none;position:absolute;transform:translate(-50%,-50%);width:30px}@keyframes clickRipple{0%{height:10px;opacity:1;width:10px}to{height:60px;opacity:0;width:60px}}.hotspot-detail-card{animation:fadeInUp .4s ease-out;border-radius:8px;padding:1rem}.hotspot-detail-card.correct{background:color-mix(in srgb,var(--accent-green) 10%,#0000);border:1px solid color-mix(in srgb,var(--accent-green) 30%,#0000);color:var(--text-main)}.hotspot-detail-card.incorrect{background:color-mix(in srgb,var(--accent-red) 10%,#0000);border:1px solid color-mix(in srgb,var(--accent-red) 30%,#0000);color:var(--text-main)}.detail-status-icon{display:block;font-size:.85rem;font-weight:700;letter-spacing:.05em;margin-bottom:.25rem;text-transform:uppercase}.hotspot-detail-card h4{font-size:1.05rem;font-weight:600;margin:0}.hotspots-empty{background:var(--subtle-bg);border:1px dashed var(--border);border-radius:12px;padding:3rem;text-align:center}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (max-width:480px){.hotspots-header-brief{align-items:stretch;flex-direction:column;gap:.75rem;padding:.75rem;text-align:center}.hotspots-score-badge{flex-direction:column;gap:.5rem}.badge-fail,.badge-pass{text-align:center;width:100%}}.pdf-viewer-container{background:#0f172a;background:var(--secondary-bg,#0f172a);border:1px solid #94a3b826;border:1px solid var(--border,#94a3b826);border-radius:16px;box-shadow:0 10px 30px #00000040;box-shadow:var(--shadow,0 10px 30px #00000040);display:flex;flex-direction:column;overflow:hidden;width:100%}.pdf-viewer-loader{align-items:center;color:#94a3b8;color:var(--text-secondary,#94a3b8);display:flex;flex-direction:column;gap:1rem;justify-content:center;padding:4rem 2rem}.pdf-spinner{animation:pdf-spin .8s linear infinite;border:3px solid #38bdf81a;border-radius:50%;border-top:3px solid var(--accent-blue,#38bdf8);height:40px;width:40px}@keyframes pdf-spin{to{transform:rotate(1turn)}}.pdf-viewer-toolbar{align-items:center;background:#94a3b80d;border-bottom:1px solid #94a3b826;border-bottom:1px solid var(--border,#94a3b826);display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;padding:.75rem 1rem}.pdf-toolbar-group{align-items:center;display:flex;gap:.5rem}.pdf-btn{align-items:center;background:#ffffff0d;border:1px solid #94a3b826;border:1px solid var(--border,#94a3b826);border-radius:8px;color:#f8fafc;color:var(--text-main,#f8fafc);cursor:pointer;display:inline-flex;font-size:.9rem;justify-content:center;line-height:1;padding:.4rem .75rem;text-decoration:none;transition:all .2s ease}.pdf-btn:hover:not(:disabled){background:#ffffff1a;border-color:#38bdf8;border-color:var(--accent-blue,#38bdf8);color:#38bdf8;color:var(--accent-blue,#38bdf8)}.pdf-btn:disabled{cursor:not-allowed;opacity:.4}.pdf-page-info{color:#94a3b8;color:var(--text-secondary,#94a3b8);font-size:.85rem;min-width:100px;text-align:center}.pdf-page-info strong{color:#f8fafc;color:var(--text-main,#f8fafc)}.pdf-zoom-info{color:#94a3b8;color:var(--text-secondary,#94a3b8);font-size:.85rem;min-width:45px;text-align:center}.pdf-btn-download{background:#38bdf81a;border-color:#38bdf833;color:#38bdf8;color:var(--accent-blue,#38bdf8);margin-left:auto}.pdf-canvas-wrapper{align-items:center;background:#0003;display:flex;justify-content:center;min-height:400px;overflow-x:auto;padding:1.5rem}.pdf-canvas-wrapper canvas{background:#fff;box-shadow:0 4px 20px #00000080;max-width:100%}.pdf-viewer-error{align-items:center;background:#ef44440d;border:1px dashed #ef44444d;border-radius:16px;color:#f8fafc;color:var(--text-main,#f8fafc);display:flex;flex-direction:column;gap:1rem;justify-content:center;padding:3rem 2rem;text-align:center}.pdf-error-icon{font-size:2.5rem}.pdf-viewer-error p{color:#94a3b8;color:var(--text-secondary,#94a3b8);margin:0}@media (max-width:576px){.pdf-viewer-toolbar{justify-content:center}.pdf-btn-download{margin-left:0}.pdf-canvas-wrapper{min-height:250px;padding:.5rem}}.library-container{animation:lib-fade-in .4s cubic-bezier(.16,1,.3,1);color:var(--text-main);display:flex;flex-direction:column;gap:1.5rem;margin:0 auto;max-width:min(1600px,100%);min-height:100vh;min-width:0;padding:var(--admin-padding)}@keyframes lib-fade-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.library-header{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-lg);display:flex;flex-wrap:wrap;gap:1.25rem;justify-content:space-between;padding:1.5rem 1.75rem}.library-header h1{align-items:center;color:var(--text-main);display:flex;font-size:1.8rem;font-weight:800;gap:.6rem;margin:0 0 .35rem}.library-header h1:before{background:linear-gradient(180deg,var(--accent-blue),var(--accent-purple));border-radius:999px;content:"";display:inline-block;flex-shrink:0;height:24px;width:4px}.library-header p{color:var(--text-secondary);font-size:.95rem;margin:0}.upload-section{align-items:center;background:var(--card-bg);border:2px dashed var(--border);border-radius:var(--radius-card);cursor:pointer;display:flex;flex-direction:column;gap:.85rem;overflow:hidden;padding:2.25rem 2rem;position:relative;text-align:center;transition:var(--transition)}.upload-section:hover{background:var(--card-bg-hover);border-color:var(--accent-blue)}.upload-section.drag-active{background:#38bdf814;border-color:var(--accent-blue)}.upload-icon-wrapper{align-items:center;background:#38bdf814;border-radius:50%;color:var(--accent-blue);display:flex;font-size:1.6rem;height:60px;justify-content:center;width:60px}.upload-section h3{color:var(--text-main);font-size:1.15rem;font-weight:700;margin:0}.upload-section p{color:var(--text-secondary);font-size:.88rem;margin:0}.file-input-hidden{display:none}.upload-progress-container{margin-top:.5rem;max-width:380px;width:100%}.upload-progress-text{color:var(--text-secondary);display:flex;font-size:.8rem;font-weight:600;justify-content:space-between;margin-bottom:.35rem}.upload-progress-bar{background:#ffffff14;border-radius:999px;height:6px;overflow:hidden}.upload-progress-fill{background:linear-gradient(90deg,var(--accent-blue) 0,var(--accent-purple) 100%);border-radius:999px;height:100%;transition:width .3s ease}.upload-queue-panel{animation:lib-fade-in .3s ease;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-card);overflow:hidden}.upload-queue-header{align-items:center;border-bottom:1px solid var(--border);display:flex;flex-wrap:wrap;gap:.5rem;justify-content:space-between;padding:.85rem 1.25rem}.upload-queue-header h3{color:var(--text-main);font-size:.95rem;font-weight:700;margin:0}.upload-queue-actions{display:flex;gap:.4rem}.queue-btn{background:#0000;border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);cursor:pointer;font-family:inherit;font-size:.8rem;font-weight:600;padding:.35rem .75rem;transition:var(--transition)}.queue-btn:hover{background:var(--card-bg-hover);color:var(--text-main)}.queue-btn-start{background:var(--accent-blue);border-color:var(--accent-blue);color:#fff}.queue-btn-start:hover{background:var(--accent-blue-hover)}.queue-btn-cancel{border-color:#ef444440;color:var(--accent-red)}.queue-btn-cancel:hover{background:#ef44441a}.upload-queue-list{max-height:260px;overflow-y:auto}.upload-queue-item{align-items:center;border-bottom:1px solid var(--border);display:flex;gap:.75rem;padding:.6rem 1.25rem;transition:background .15s ease}.upload-queue-item:last-child{border-bottom:none}.upload-queue-item.done{opacity:.6}.upload-queue-item.error{background:#ef44440a}.queue-item-status{align-items:center;display:flex;flex-shrink:0;justify-content:center;width:20px}.queue-icon-done{color:#22c55e}.queue-icon-error{color:#ef4444}.queue-icon-pending{color:var(--text-secondary);font-size:.9rem}.queue-spinner{animation:queue-spin .7s linear infinite;border:2px solid var(--border);border-radius:50%;border-top-color:var(--accent-blue);height:16px;width:16px}@keyframes queue-spin{to{transform:rotate(1turn)}}.queue-item-info{display:flex;flex:1 1;flex-direction:column;gap:.15rem;min-width:0}.queue-item-name{color:var(--text-main);font-size:.85rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.queue-item-error{color:var(--accent-red);font-size:.75rem}.queue-item-size{color:var(--text-secondary);flex-shrink:0;font-size:.75rem;font-weight:600}.queue-item-progress{align-items:center;display:flex;flex-shrink:0;gap:.5rem;width:100px}.queue-item-progress-bar{background:#ffffff14;border-radius:999px;flex:1 1;height:4px;overflow:hidden}.queue-item-progress-fill{background:linear-gradient(90deg,var(--accent-blue),var(--accent-purple));border-radius:999px;height:100%;transition:width .3s ease}.queue-item-progress-text{color:var(--accent-blue);font-size:.72rem;font-weight:700;min-width:28px;text-align:right}.library-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:.5rem}.filter-tabs{background:var(--primary-bg);border:1px solid var(--border);border-radius:var(--radius-btn);display:flex;flex-wrap:wrap;gap:2px;padding:.25rem}.filter-tab{align-items:center;background:#0000;border:none;border-radius:8px;color:var(--text-secondary);cursor:pointer;display:flex;font-family:inherit;font-size:.88rem;font-weight:700;gap:.45rem;padding:.55rem 1.1rem;transition:var(--transition)}.filter-tab:hover{color:var(--text-main)}.filter-tab.active{background:var(--secondary-bg);border:1px solid #38bdf826;box-shadow:var(--shadow);color:var(--accent-blue)}.search-wrapper{align-items:center;display:flex;position:relative}.search-input{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-btn);color:var(--text-main);font-family:inherit;font-size:.92rem;outline:none;padding:.6rem 1rem .6rem 2.25rem;transition:var(--transition);width:260px}.search-input:focus{border-color:var(--accent-blue);box-shadow:0 0 0 3px #38bdf81f}.library-container .search-icon{color:var(--text-secondary);left:.75rem;pointer-events:none;position:absolute}.library-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.library-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-card);display:flex;flex-direction:column;height:310px;overflow:hidden;transition:var(--transition)}.library-card:hover{background:var(--card-bg-hover);border-color:var(--border-strong);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.library-card-preview{align-items:center;background:#00000026;border-bottom:1px solid var(--border);display:flex;height:150px;justify-content:center;overflow:hidden;position:relative}.library-card-img{height:100%;object-fit:cover;width:100%}.library-card-fallback-preview{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;gap:.5rem}.fallback-icon{stroke-width:1.5px;font-size:2.5rem}.library-card-preview-overlay{align-items:center;background:#0f172a99;bottom:0;cursor:pointer;display:flex;justify-content:center;left:0;opacity:0;position:absolute;right:0;top:0;transition:var(--transition)}.library-card-preview:hover .library-card-preview-overlay{opacity:1}.preview-btn{align-items:center;background:var(--accent-blue);border:none;border-radius:50%;box-shadow:0 4px 12px #38bdf866;color:#fff;cursor:pointer;display:flex;height:44px;justify-content:center;transition:var(--transition);width:44px}.preview-btn:hover{transform:scale(1.08)}.library-card-info{display:flex;flex:1 1;flex-direction:column;justify-content:space-between;min-height:0;padding:1.15rem}.library-card-title-row{margin-bottom:.35rem;min-width:0}.library-card-title{color:var(--text-main);font-size:1rem;font-weight:700;margin:0;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.library-card-meta{color:var(--text-secondary);display:flex;font-size:.76rem;font-weight:600;justify-content:space-between}.library-card-type-badge{color:var(--accent-purple);font-size:.68rem;font-weight:800;text-transform:uppercase}.library-card-actions{border-top:1px solid var(--border);display:flex;gap:.4rem;margin-top:.45rem;padding-top:.65rem}.card-action-btn{align-items:center;background:#ffffff0a;border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);cursor:pointer;display:flex;flex:1 1;font-family:inherit;font-size:.8rem;font-weight:600;gap:.3rem;justify-content:center;padding:.4rem 0;transition:var(--transition)}.card-action-btn:hover{background:var(--card-bg-hover);border-color:var(--border-strong);color:var(--text-main)}.card-action-btn.btn-delete:hover{background:#ef44441a;border-color:#ef444440;color:var(--accent-red)}.preview-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172acc;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.preview-modal{animation:zoomIn .3s cubic-bezier(.16,1,.3,1);background:var(--secondary-bg);border:1px solid var(--border-strong);border-radius:var(--radius-card);box-shadow:var(--shadow-lg);max-width:800px;overflow:hidden;position:relative;width:90%}.preview-modal-header{align-items:center;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:1.15rem 1.5rem}.preview-modal-header h3{color:var(--text-main);font-size:1.15rem;font-weight:750;margin:0;max-width:80%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.close-modal-btn{align-items:center;background:#0000;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:1.25rem;justify-content:center;padding:.25rem;transition:var(--transition)}.close-modal-btn:hover{background:#ffffff0d;color:var(--text-main)}.preview-modal-body{align-items:center;background:#000;display:flex;justify-content:center;max-height:60vh;min-height:280px;padding:1rem}.preview-media-video{max-height:55vh;outline:none;width:100%}.preview-media-img{max-height:55vh;max-width:100%;object-fit:contain}.rename-input-wrapper{display:flex;gap:.4rem;width:100%}.rename-input{background:var(--primary-bg);border:1px solid var(--accent-blue);border-radius:6px;color:var(--text-main);flex:1 1;font-family:inherit;font-size:.88rem;outline:none;padding:.3rem .5rem}.rename-btn-confirm{background:var(--accent-blue);border:none;border-radius:6px;color:#fff;cursor:pointer;font-family:inherit;font-size:.85rem;font-weight:600;padding:.3rem .75rem;transition:var(--transition)}.rename-btn-confirm:hover{background:var(--accent-blue-hover)}.empty-library{color:var(--text-secondary);padding:4rem 1rem;text-align:center}.empty-library h3{color:var(--text-main);font-size:1.25rem;font-weight:700;margin-bottom:.4rem}@keyframes zoomIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@media (max-width:768px){.library-header{align-items:flex-start;flex-direction:column}.library-toolbar{align-items:stretch;flex-direction:column}.search-input{width:100%}.upload-queue-header{align-items:flex-start;flex-direction:column}.upload-queue-item{padding:.5rem .85rem}.queue-item-progress{width:80px}}.sub-tab-bar{align-items:center;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:var(--secondary-bg);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow);display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1.5rem;padding:.5rem .75rem;position:-webkit-sticky;position:sticky;top:0;transition:background-color .3s ease,border-color .3s ease;z-index:40}.sub-tab-btn{align-items:center;background:#0000;border:1px solid #0000;border-radius:var(--radius-pill);color:var(--text-secondary);cursor:pointer;display:inline-flex;font-family:inherit;font-size:.82rem;font-weight:600;gap:.45rem;padding:.45rem 1rem;transition:all .2s ease;white-space:nowrap}.sub-tab-btn:hover{background:var(--card-bg);border-color:var(--border);color:var(--text-main)}.sub-tab-btn.active{background:linear-gradient(135deg,#38bdf826,#818cf81a);border-color:#38bdf84d;box-shadow:0 2px 10px #38bdf826;color:var(--accent-blue)}.sub-tab-icon{align-items:center;display:flex;font-size:.9rem}@media (max-width:600px){.sub-tab-bar{border-radius:var(--radius-lg);flex-wrap:nowrap;gap:.3rem;overflow-x:auto;scrollbar-width:none}.sub-tab-bar::-webkit-scrollbar{display:none}.sub-tab-btn{flex-shrink:0;font-size:.78rem;padding:.4rem .8rem}}.hub-container{animation:hub-fade-in .4s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column;gap:1.5rem;margin:0 auto;max-width:min(1200px,100%);min-width:0;padding:var(--admin-padding)}@keyframes hub-fade-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.hub-header{text-align:left}.hub-header h1{align-items:center;color:var(--text-main);display:flex;font-size:1.8rem;font-weight:800;gap:.6rem;margin:0 0 .4rem}.hub-header h1:before{background:linear-gradient(180deg,var(--accent-orange),var(--accent-purple));border-radius:999px;content:"";display:inline-block;flex-shrink:0;height:24px;width:4px}.hub-header p{color:var(--text-secondary);font-size:.95rem;margin:0}.hub-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.hub-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-card);cursor:pointer;display:flex;flex-direction:column;overflow:hidden;padding:1.5rem;position:relative;text-align:left;transition:var(--transition)}.hub-card:hover{background:var(--card-bg-hover);border-color:var(--border-strong);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.hub-card-icon{align-items:center;border:1px solid #0000;border-radius:14px;display:flex;flex-shrink:0;height:56px;justify-content:center;margin-bottom:1.25rem;width:56px}.hub-card-content{flex-grow:1}.hub-card-content h3{color:var(--text-main);font-size:1.2rem;font-weight:700;margin:0 0 .5rem}.hub-card-content p{color:var(--text-secondary);font-size:.88rem;line-height:1.5;margin:0 0 1.5rem}.beta-badge{align-items:center;background:var(--accent-red);border-radius:4px;color:#fff;display:inline-flex;font-size:.65rem;font-weight:800;justify-content:center;letter-spacing:.5px;line-height:1;padding:.15rem .4rem;text-transform:uppercase}.hub-card-action{color:var(--accent-blue);font-size:.85rem;font-weight:700;margin-top:auto;text-align:right;transition:var(--transition)}.hub-card:hover .hub-card-action{color:var(--accent-blue-hover)}@media (max-width:600px){.hub-container{padding:1rem}.hub-grid{grid-template-columns:1fr}}
/*# sourceMappingURL=main.b83534de.css.map*/