@charset "UTF-8";:root{--cl-accent: #635bff;--cl-accent-hover: #4b42f5;--cl-accent-soft: rgba(99, 91, 255, .08);--cl-accent-glow: 0 0 24px rgba(99, 91, 255, .28);--cl-accent-gradient: linear-gradient(135deg, #635bff 0%, #4b42f5 100%);--cl-accent-cyan: #00d4ff;--cl-accent-emerald: #10b981;--cl-text: #0a2540;--cl-muted: #425466;--cl-faint: #68778d;--cl-bg: #f6f9fc;--cl-bg-mesh: radial-gradient(at 0% 0%, rgba(99, 91, 255, .06) 0px, transparent 50%), radial-gradient(at 100% 0%, rgba(0, 212, 255, .05) 0px, transparent 40%), radial-gradient(at 50% 100%, rgba(99, 91, 255, .04) 0px, transparent 50%);--cl-surface: rgba(255, 255, 255, .72);--cl-surface-elevated: rgba(255, 255, 255, .88);--cl-surface-solid: #ffffff;--cl-border: rgba(227, 232, 239, .8);--cl-border-light: rgba(255, 255, 255, .8);--cl-glass-blur: blur(16px) saturate(180%);--cl-glass-shadow: 0 10px 30px -5px rgba(50, 50, 93, .08), 0 4px 12px -2px rgba(0, 0, 0, .04);--cl-glass-shadow-hover: 0 20px 40px -8px rgba(50, 50, 93, .14), 0 8px 18px -4px rgba(0, 0, 0, .06);--cl-glass-highlight: inset 0 1px 0 0 rgba(255, 255, 255, .9);--cl-success: #0e6245;--cl-success-bg: rgba(203, 244, 201, .7);--cl-success-border: rgba(14, 98, 69, .2);--cl-danger: #df1b41;--cl-danger-bg: rgba(255, 226, 230, .7);--cl-danger-border: rgba(223, 27, 65, .2);--cl-radius-sm: 6px;--cl-radius: 10px;--cl-radius-lg: 14px;--cl-radius-xl: 20px;--cl-font: Inter, ui-sans-serif, system-ui, -apple-system, sans-serif;--cl-display: "Instrument Serif", "Iowan Old Style", Georgia, serif;--cl-focus: 0 0 0 3px rgba(99, 91, 255, .22), 0 1px 2px rgba(0, 0, 0, .05);--cl-top: 60px;--cl-side: 254px;--cl-side-collapsed: 72px}[data-theme=dark]{--cl-accent: #7a73ff;--cl-accent-hover: #918bff;--cl-accent-soft: rgba(122, 115, 255, .16);--cl-accent-glow: 0 0 28px rgba(122, 115, 255, .4);--cl-accent-gradient: linear-gradient(135deg, #7a73ff 0%, #635bff 100%);--cl-text: #edf2f7;--cl-muted: #a0aec0;--cl-faint: #718096;--cl-bg: #07101e;--cl-bg-mesh: radial-gradient(at 0% 0%, rgba(99, 91, 255, .12) 0px, transparent 50%), radial-gradient(at 100% 0%, rgba(0, 212, 255, .08) 0px, transparent 40%), radial-gradient(at 50% 100%, rgba(122, 115, 255, .08) 0px, transparent 60%);--cl-surface: rgba(13, 26, 45, .65);--cl-surface-elevated: rgba(18, 36, 62, .85);--cl-surface-solid: #0d1e35;--cl-border: rgba(255, 255, 255, .1);--cl-border-light: rgba(255, 255, 255, .15);--cl-glass-shadow: 0 16px 40px -6px rgba(0, 0, 0, .5), 0 4px 14px -2px rgba(0, 0, 0, .3);--cl-glass-shadow-hover: 0 24px 50px -8px rgba(0, 0, 0, .7), 0 0 1px rgba(122, 115, 255, .3);--cl-glass-highlight: inset 0 1px 0 0 rgba(255, 255, 255, .14);--cl-success: #34d399;--cl-success-bg: rgba(6, 78, 59, .5);--cl-success-border: rgba(52, 211, 153, .3);--cl-danger: #f87171;--cl-danger-bg: rgba(127, 29, 29, .5);--cl-danger-border: rgba(248, 113, 113, .3)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden}body{font-family:var(--cl-font);font-size:14px;line-height:1.5;color:var(--cl-text);background-color:var(--cl-bg);background-image:var(--cl-bg-mesh);background-attachment:fixed;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}app-root{display:block;height:100%}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:none;box-shadow:var(--cl-focus)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#96a5b94d;border-radius:99px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}::-webkit-scrollbar-thumb:hover{background:#635bff66}.field{display:block;margin:0 0 16px}.field>span,.field-label{display:block;font-size:11px;font-weight:650;letter-spacing:.05em;text-transform:uppercase;color:var(--cl-faint);margin:0 0 6px}.field-hint{display:block;font-size:12px;color:var(--cl-muted);margin-top:4px}.field-error{display:block;font-size:12px;color:var(--cl-danger);margin-top:4px;font-weight:500}.form-row,.field-row{display:flex;gap:12px;align-items:center}input:not([type=checkbox]):not([type=radio]):not(.search):not([type=range]):not([type=color]),select,textarea,.form-input,.form-select,.form-textarea{display:block;width:100%;padding:9px 14px;border:1px solid var(--cl-border);border-radius:var(--cl-radius);background:var(--cl-surface);backdrop-filter:var(--cl-glass-blur);-webkit-backdrop-filter:var(--cl-glass-blur);box-shadow:inset 0 1px 2px #00000008,var(--cl-glass-highlight);color:var(--cl-text);font-size:13.5px;font-family:inherit;line-height:1.5;transition:all .16s cubic-bezier(.16,1,.3,1)}input:not([type=checkbox]):not([type=radio]):focus,select:focus,textarea:focus,.form-input:focus,.form-select:focus,.form-textarea:focus{background:var(--cl-surface-elevated);border-color:var(--cl-accent);box-shadow:var(--cl-focus)}input::placeholder,textarea::placeholder{color:var(--cl-faint);opacity:.8}input:disabled,select:disabled,textarea:disabled{opacity:.6;cursor:not-allowed;background:#00000008}select,.form-select{appearance:none;padding-right:36px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath fill='none' stroke='%2368778d' stroke-width='1.5' stroke-linecap='round' d='M3 5.5l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;cursor:pointer}.search-group,.search-box{position:relative;display:flex;align-items:center;width:100%}.search-group svg.search-icon,.search-box svg.search-icon{position:absolute;left:12px;width:15px;height:15px;pointer-events:none;stroke:var(--cl-faint);stroke-width:1.8;fill:none}.search-group input,.search-box input{padding-left:36px;padding-right:30px;border-radius:var(--cl-radius)}.search-group .search-clear,.search-box .search-clear{position:absolute;right:10px;background:none;border:0;color:var(--cl-faint);cursor:pointer;padding:4px;display:grid;place-items:center;border-radius:99px;font-size:14px;line-height:1}.search-group .search-clear:hover,.search-box .search-clear:hover{color:var(--cl-text);background:#0000000f}.switch{position:relative;display:inline-flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:13.5px;font-weight:500;color:var(--cl-text)}.switch input[type=checkbox]{position:absolute;opacity:0;width:0;height:0;margin:0}.switch-slider{position:relative;width:40px;height:22px;background:#96a5b959;border-radius:99px;transition:all .2s cubic-bezier(.16,1,.3,1);flex-shrink:0;box-shadow:inset 0 1px 2px #0000001a}.switch-slider:after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #00000040;transition:transform .2s cubic-bezier(.16,1,.3,1)}.switch input:checked+.switch-slider{background:var(--cl-accent);box-shadow:0 0 10px #635bff66}.switch input:checked+.switch-slider:after{transform:translate(18px)}.switch input:focus-visible+.switch-slider{box-shadow:var(--cl-focus)}.switch input:disabled+.switch-slider{opacity:.45;cursor:not-allowed}.switch.disabled{cursor:not-allowed;opacity:.55}.custom-check,.custom-radio{display:inline-flex;align-items:center;gap:9px;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:13.5px;color:var(--cl-text);margin:0}.custom-check input[type=checkbox],.custom-radio input[type=radio]{appearance:none;-webkit-appearance:none;width:17px;height:17px;border:1.5px solid var(--cl-border);border-radius:5px;background:var(--cl-surface);box-shadow:inset 0 1px 2px #0000000a;cursor:pointer;display:grid;place-items:center;margin:0;flex-shrink:0;transition:all .15s ease}.custom-radio input[type=radio]{border-radius:50%}.custom-check input[type=checkbox]:hover,.custom-radio input[type=radio]:hover{border-color:var(--cl-accent);background:var(--cl-surface-elevated)}.custom-check input[type=checkbox]:checked{background:var(--cl-accent);border-color:var(--cl-accent);box-shadow:0 0 8px #635bff59;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='2.5 7 5.5 10 11.5 4'/%3E%3C/svg%3E");background-size:11px 11px;background-position:center;background-repeat:no-repeat}.custom-radio input[type=radio]:checked{background:var(--cl-accent);border-color:var(--cl-accent);box-shadow:0 0 8px #635bff59;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10' fill='white'%3E%3Ccircle cx='5' cy='5' r='2.5'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat}.custom-check input:focus-visible,.custom-radio input:focus-visible{box-shadow:var(--cl-focus)}.custom-check input:disabled,.custom-radio input:disabled{opacity:.45;cursor:not-allowed}.btn,button.primary,button.secondary,button.outline,button.ghost,button.danger,button.link{font-family:inherit;font-weight:600;font-size:13.5px;letter-spacing:-.01em;border-radius:var(--cl-radius);padding:8px 16px;min-height:36px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;line-height:1.25;text-decoration:none;-webkit-user-select:none;user-select:none;transition:all .18s cubic-bezier(.16,1,.3,1);border:1px solid transparent;white-space:nowrap}.btn:disabled,button.primary:disabled,button.secondary:disabled,button.outline:disabled,button.ghost:disabled,button.danger:disabled,button.link:disabled{opacity:.5;cursor:not-allowed;transform:none!important;box-shadow:none!important}.btn-primary,button.primary,a.btn-primary{background:var(--cl-accent-gradient);color:#fff!important;border-color:transparent;box-shadow:0 4px 14px #635bff59,inset 0 1px #ffffff40}.btn-primary:hover:not(:disabled),button.primary:hover:not(:disabled),a.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 20px #635bff7a,inset 0 1px #ffffff59;color:#fff}.btn-primary:active:not(:disabled),button.primary:active:not(:disabled),a.btn-primary:active{transform:translateY(0);box-shadow:0 2px 8px #635bff4d}.btn-secondary,button.secondary,a.btn-secondary{background:var(--cl-surface-elevated);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:var(--cl-text)!important;border-color:var(--cl-border);box-shadow:0 1px 3px #0000000a,var(--cl-glass-highlight)}.btn-secondary:hover:not(:disabled),button.secondary:hover:not(:disabled),a.btn-secondary:hover{background:var(--cl-surface-solid);border-color:#635bff59;color:var(--cl-accent)!important;box-shadow:0 3px 10px #32325d14;transform:translateY(-1px)}.btn-secondary:active:not(:disabled),button.secondary:active:not(:disabled),a.btn-secondary:active{transform:translateY(0);box-shadow:0 1px 2px #0000000a}.btn-outline,button.outline,a.btn-outline{background:transparent;color:var(--cl-text);border-color:var(--cl-border)}.btn-outline:hover:not(:disabled),button.outline:hover:not(:disabled),a.btn-outline:hover{background:var(--cl-accent-soft);border-color:var(--cl-accent);color:var(--cl-accent)}.btn-ghost,button.ghost,a.btn-ghost{background:transparent;color:var(--cl-muted);border-color:transparent}.btn-ghost:hover:not(:disabled),button.ghost:hover:not(:disabled),a.btn-ghost:hover{background:var(--cl-surface-elevated);color:var(--cl-text);border-color:var(--cl-border)}.btn-danger,.btn-destructive,button.danger,a.btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff!important;border-color:transparent;box-shadow:0 4px 14px #dc262659,inset 0 1px #fff3}.btn-danger:hover:not(:disabled),.btn-destructive:hover:not(:disabled),button.danger:hover:not(:disabled),a.btn-danger:hover{transform:translateY(-1px);box-shadow:0 6px 20px #dc26267a,inset 0 1px #ffffff4d}.btn-danger-outline{background:transparent;color:var(--cl-danger);border-color:var(--cl-danger-border)}.btn-danger-outline:hover:not(:disabled){background:var(--cl-danger-bg);border-color:var(--cl-danger);color:var(--cl-danger)}.btn-success,button.success{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border-color:transparent;box-shadow:0 4px 14px #10b98159}button.link,.btn-link,a.primary-link,a{color:var(--cl-accent);background:none;border:0;cursor:pointer;text-decoration:none;font-weight:500;padding:0;min-height:auto;transition:color .12s ease,opacity .12s ease}button.link:hover,.btn-link:hover,a:hover{color:var(--cl-accent-hover);text-decoration:none}a.primary-link{font-weight:600;display:inline-flex;align-items:center;gap:4px}a.primary-link:after{content:"\2192";transition:transform .15s ease}a.primary-link:hover:after{transform:translate(3px)}.btn-xs{padding:3px 8px;font-size:11.5px;min-height:24px;border-radius:var(--cl-radius-sm);gap:4px}.btn-sm{padding:5px 12px;font-size:12.5px;min-height:30px;border-radius:var(--cl-radius-sm);gap:6px}.btn-md{padding:8px 16px;font-size:13.5px;min-height:36px;border-radius:var(--cl-radius)}.btn-lg{padding:11px 22px;font-size:15px;min-height:44px;border-radius:var(--cl-radius-lg);font-weight:650;gap:10px}.btn-group{display:inline-flex;align-items:center;border:1px solid var(--cl-border);border-radius:var(--cl-radius);background:var(--cl-surface);padding:3px;gap:2px}.btn-group .btn,.btn-group button{border:0;background:transparent;box-shadow:none;min-height:28px;padding:4px 12px;font-size:12.5px;border-radius:var(--cl-radius-sm);color:var(--cl-muted)}.btn-group .btn.active,.btn-group button.active{background:var(--cl-surface-elevated);color:var(--cl-text);font-weight:650;box-shadow:0 1px 4px #00000014}.btn-group .btn:hover:not(.active),.btn-group button:hover:not(.active){color:var(--cl-text)}.icon-btn{position:relative;display:inline-grid;place-items:center;width:36px;height:36px;min-height:36px;padding:0;border:1px solid transparent;border-radius:var(--cl-radius);background:transparent;color:var(--cl-muted);cursor:pointer;transition:all .15s ease;flex-shrink:0}.icon-btn:hover{background:var(--cl-surface-elevated);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-color:var(--cl-border);color:var(--cl-text);box-shadow:0 2px 8px #0000000a}.icon-btn.icon-btn-sm{width:28px;height:28px;min-height:28px;border-radius:var(--cl-radius-sm)}.icon-btn.icon-btn-sm svg{width:14px;height:14px}.icon-btn.icon-btn-lg{width:42px;height:42px;min-height:42px}.icon-btn.icon-btn-lg svg{width:20px;height:20px}.icon-btn.icon-btn-danger:hover{background:var(--cl-danger-bg);border-color:var(--cl-danger-border);color:var(--cl-danger)}.icon-btn svg{width:16px;height:16px}.icon-btn .dot{position:absolute;top:4px;right:4px;min-width:16px;height:16px;padding:0 4px;border-radius:99px;background:var(--cl-accent);color:#fff;font-size:9.5px;font-weight:700;line-height:16px;box-shadow:0 0 8px #635bff99}.badge,.pill{display:inline-flex;align-items:center;gap:5px;background:#e3e8ef99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid var(--cl-border);border-radius:999px;padding:2px 9px;font-size:11.5px;font-weight:600;line-height:1.4;color:var(--cl-muted);text-transform:capitalize;letter-spacing:.01em}.badge-primary,.pill.primary{background:var(--cl-accent-soft);border-color:#635bff40;color:var(--cl-accent)}.badge-success,.pill.ok,.pill.success{background:var(--cl-success-bg);border-color:var(--cl-success-border);color:var(--cl-success)}.badge-warning,.pill.warning{background:#fef3c7b3;border-color:#f59e0b4d;color:#b45309}.badge-danger,.pill.danger{background:var(--cl-danger-bg);border-color:var(--cl-danger-border);color:var(--cl-danger)}.badge-purple{background:#9333ea1a;border-color:#9333ea40;color:#9333ea}.badge-neutral{background:#64748b1a;border-color:#64748b33;color:var(--cl-muted)}app-shell{display:grid;grid-template-columns:var(--cl-side) 1fr;height:100%;max-height:100dvh;overflow:hidden;transition:grid-template-columns .24s cubic-bezier(.16,1,.3,1)}app-shell.nav-collapsed{grid-template-columns:var(--cl-side-collapsed) 1fr}.side{background:#0a2540f0;backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);color:#adbdcc;padding:0;display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden;border-right:1px solid rgba(255,255,255,.08);box-shadow:4px 0 24px #00000014;z-index:10}.brand-block{padding:18px 14px 10px;flex:none}.brand-row{display:flex;align-items:flex-start;gap:12px}.brand-mark{flex:none;width:34px;height:34px;border-radius:9px;background:var(--cl-accent-gradient);color:#fff;display:grid;place-items:center;font-weight:700;font-size:15px;box-shadow:0 4px 12px #635bff66}.brand-copy{min-width:0;flex:1}.side .brand{color:#fff;margin:0 0 8px;font-size:16px;font-weight:700;letter-spacing:-.03em}select.org-chip,.org-chip-static{width:100%;max-width:100%;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:#c4d0dc;border:1px solid rgba(255,255,255,.12);border-radius:var(--cl-radius-sm);padding:6px 28px 6px 8px;background-color:#ffffff0f;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:none}.org-chip-static{padding:2px 4px;border:0;background:transparent;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-scroll{padding:6px 12px 18px;flex:1;min-height:0;overflow-y:auto}.nav-label{margin:18px 10px 8px;font-size:10.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:#6b7c93}.side nav{display:flex;flex-direction:column;gap:3px}.side a{display:flex;align-items:center;gap:12px;color:#9aa8b8;text-decoration:none;padding:8px 12px;min-height:36px;border-radius:8px;font-size:13.5px;font-weight:500;letter-spacing:-.01em;transition:all .16s cubic-bezier(.16,1,.3,1);position:relative}.side svg{width:18px;height:18px;fill:none;opacity:.85;transition:transform .16s ease,color .16s ease}.side a.on{background:#ffffff17;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;font-weight:600;box-shadow:0 2px 10px #00000026,inset 0 1px #ffffff1a}.side a.on:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:3.5px;border-radius:0 4px 4px 0;background:#635bff;box-shadow:0 0 10px #635bff}.side a.on svg{opacity:1;color:#9d98ff}.side a:hover:not(.on){background:#ffffff0d;color:#f0f4f8;transform:translate(2px)}.side-foot{flex:none;display:grid;grid-template-columns:34px 1fr auto;gap:10px;align-items:center;margin:10px 12px 14px;padding:8px 10px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 16px #0000001f}.foot-meta .name{color:#fff;font-size:13px;font-weight:600}.side .role{color:#8898aa;font-size:11.5px}.side .icon-btn.ghost{color:#8898aa;width:auto;padding:0 8px;grid-auto-flow:column;gap:6px}.side .icon-btn.ghost:hover{color:#fff;background:#ffffff14}.signout-label{font-size:12px}app-shell.nav-collapsed .brand-copy,app-shell.nav-collapsed .nav-label,app-shell.nav-collapsed .side a span,app-shell.nav-collapsed .foot-meta,app-shell.nav-collapsed .signout-label{display:none}app-shell.nav-collapsed .side a{justify-content:center;padding:10px 6px}app-shell.nav-collapsed .side a.on:before{left:2px}app-shell.nav-collapsed .side-foot{grid-template-columns:1fr;justify-items:center;margin:8px 8px 12px;padding:10px 6px}app-shell.nav-collapsed .brand-row{flex-direction:column;align-items:center}.main{min-width:0;min-height:0;height:100%;overflow:hidden;display:flex;flex-direction:column;background:transparent}.top{display:flex;align-items:center;justify-content:space-between;gap:16px;height:var(--cl-top);flex:none;padding:0 28px 0 16px;border-bottom:1px solid var(--cl-border);background:var(--cl-surface);backdrop-filter:var(--cl-glass-blur);-webkit-backdrop-filter:var(--cl-glass-blur);box-shadow:0 1px 3px #00000005;position:relative;z-index:100}.top-left{display:flex;align-items:center;gap:12px}.top-center{flex:1;max-width:460px;margin:0 auto}.search-wrap{position:relative;width:100%}.search-wrap svg{position:absolute;left:14px;top:50%;width:15px;height:15px;transform:translateY(-50%);fill:none;stroke:var(--cl-faint);stroke-width:1.6}.search{border:1px solid var(--cl-border);border-radius:99px;padding:8px 36px 8px 38px;width:100%;background:var(--cl-surface-elevated);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:inset 0 1px 2px #00000005,var(--cl-glass-highlight);font-size:13px;transition:all .2s cubic-bezier(.16,1,.3,1)}.search:focus{background:var(--cl-surface-solid);border-color:var(--cl-accent);box-shadow:var(--cl-focus)}.search::placeholder{color:var(--cl-faint)}.search-kbd{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:10.5px;font-weight:600;padding:2px 6px;border-radius:4px;background:var(--cl-surface);border:1px solid var(--cl-border);color:var(--cl-faint);font-family:inherit;cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .15s ease}.search-kbd:hover{border-color:var(--cl-accent);color:var(--cl-accent)}.search-clear-btn{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:transparent;border:none;font-size:16px;color:var(--cl-muted);cursor:pointer;width:22px;height:22px;border-radius:999px;display:grid;place-items:center;line-height:1;transition:all .15s ease}.search-clear-btn:hover{background:var(--cl-surface);color:var(--cl-text)}.search-popover{position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%);width:min(580px,100vw - 32px);background:var(--cl-surface-elevated);backdrop-filter:var(--cl-glass-blur);-webkit-backdrop-filter:var(--cl-glass-blur);border:1px solid var(--cl-border);border-radius:var(--cl-radius-lg);box-shadow:0 16px 48px #0000002e,0 0 0 1px #635bff14;z-index:1050;overflow:hidden;max-height:520px;display:flex;flex-direction:column;animation:popoverFadeIn .18s cubic-bezier(.16,1,.3,1)}.search-sections-wrap{overflow-y:auto;flex:1;padding:6px 0}.search-section{padding:4px 0}.search-section:not(:last-child){border-bottom:1px solid var(--cl-border-light)}.search-section-header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px 4px;font-size:11px;font-weight:750;letter-spacing:.05em;text-transform:uppercase;color:var(--cl-faint)}.search-clear-all{background:transparent;border:none;font-size:11px;font-weight:600;color:var(--cl-muted);cursor:pointer;padding:2px 6px;border-radius:4px;transition:all .15s ease}.search-clear-all:hover{background:var(--cl-surface);color:var(--cl-danger)}.search-results-list{display:flex;flex-direction:column}.search-item{display:flex;align-items:center;gap:12px;padding:10px 16px;cursor:pointer;transition:all .12s ease;position:relative;background:transparent;border-left:3px solid transparent;-webkit-user-select:none;user-select:none}.search-item:hover,.search-item.active{background:var(--cl-accent-soft);border-left-color:var(--cl-accent)}.search-item-icon{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;font-size:14px;background:var(--cl-surface);border:1px solid var(--cl-border);flex-shrink:0}.search-item-icon.pages{background:#635bff1a;border-color:#635bff40;color:var(--cl-accent)}.search-item-icon.actions{background:#f59e0b1a;border-color:#f59e0b40;color:var(--cl-warning)}.search-item-icon.courses{background:#10b9811a;border-color:#10b98140;color:var(--cl-success)}.search-item-icon.labs{background:#a855f71a;border-color:#a855f740;color:#a855f7}.search-item-icon.sits{background:#3b82f61a;border-color:#3b82f640;color:#3b82f6}.search-item-icon.recent{background:var(--cl-surface);border-color:var(--cl-border);color:var(--cl-muted);font-size:13px}.search-item-content{flex:1;min-width:0}.search-item-title{font-size:13.5px;font-weight:650;color:var(--cl-text);line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-item-sub{font-size:11.5px;color:var(--cl-muted);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-item-hint{font-size:11px;font-weight:600;color:var(--cl-faint);padding:3px 8px;border-radius:4px;background:var(--cl-surface);border:1px solid var(--cl-border);flex-shrink:0;transition:all .15s ease}.search-item.active .search-item-hint{background:var(--cl-surface-elevated);border-color:var(--cl-accent);color:var(--cl-accent)}.search-highlight{background:#635bff33;color:var(--cl-accent);font-weight:750;border-radius:2px;padding:0 2px}.search-empty{padding:40px 24px;text-align:center;color:var(--cl-muted)}.search-empty-icon{font-size:32px;margin-bottom:8px}.search-empty-title{font-size:14px;font-weight:700;color:var(--cl-text);margin-bottom:4px}.search-empty-sub{font-size:12px;color:var(--cl-faint);margin:0;line-height:1.5}.search-footer{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:var(--cl-surface);border-top:1px solid var(--cl-border);font-size:11px;color:var(--cl-faint)}.search-shortcuts{display:flex;align-items:center;gap:12px}.search-shortcuts kbd{display:inline-block;padding:2px 5px;font-size:10.5px;font-family:inherit;font-weight:600;background:var(--cl-surface-elevated);border:1px solid var(--cl-border);border-radius:4px;box-shadow:0 1px 1px #0000000d;color:var(--cl-text)}.header-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.theme-toggle-btn{display:grid;place-items:center;transition:transform .2s ease,background .2s ease}.theme-toggle-btn:hover{transform:rotate(15deg) scale(1.05)}.notification-trigger-wrap{position:relative}.badge-pulse{position:absolute;top:-3px;right:-3px;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border-radius:999px;font-size:10px;font-weight:750;height:18px;min-width:18px;padding:0 4px;display:grid;place-items:center;border:2px solid var(--cl-surface);box-shadow:0 0 10px #ef444480;animation:pulseGlow 2.5s infinite}@keyframes pulseGlow{0%{transform:scale(1);box-shadow:0 0 #ef444499}70%{transform:scale(1.06);box-shadow:0 0 0 8px #ef444400}to{transform:scale(1);box-shadow:0 0 #ef444400}}.notification-popover{position:absolute;top:calc(100% + 12px);right:0;width:380px;max-width:calc(100vw - 32px);background:var(--cl-surface-elevated);backdrop-filter:var(--cl-glass-blur);-webkit-backdrop-filter:var(--cl-glass-blur);border:1px solid var(--cl-border);border-radius:var(--cl-radius-lg);box-shadow:var(--cl-glass-shadow-hover);z-index:1000;overflow:hidden;animation:popoverFadeIn .18s cubic-bezier(.16,1,.3,1)}@keyframes popoverFadeIn{0%{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.notification-popover-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--cl-border);background:var(--cl-surface)}.notification-popover-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:750;color:var(--cl-text)}.notification-list{max-height:380px;overflow-y:auto;padding:4px 0}.notification-item{display:flex;align-items:flex-start;gap:12px;padding:12px 18px;border-bottom:1px solid var(--cl-border-light);cursor:pointer;transition:all .15s ease;position:relative;text-align:left;width:100%;background:transparent;border-left:3px solid transparent}.notification-item:last-child{border-bottom:none}.notification-item:hover{background:var(--cl-surface-elevated)}.notification-item.unread{background:var(--cl-accent-soft);border-left-color:var(--cl-accent)}.notification-icon{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:var(--cl-surface);border:1px solid var(--cl-border);color:var(--cl-muted);flex-shrink:0}.notification-icon.unread{background:var(--cl-accent-soft);border-color:var(--cl-accent);color:var(--cl-accent)}.notification-content{flex:1;min-width:0}.notification-item-title{font-size:13px;font-weight:650;color:var(--cl-text);line-height:1.4;word-break:break-word}.notification-item-body{font-size:12px;color:var(--cl-muted);line-height:1.4;margin-top:2px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.notification-item-time{font-size:11px;color:var(--cl-faint);margin-top:4px}.notification-dot{width:7px;height:7px;border-radius:999px;background:var(--cl-accent);flex-shrink:0;margin-top:6px;box-shadow:0 0 6px var(--cl-accent)}.notification-empty{padding:36px 20px;text-align:center;color:var(--cl-faint)}.notification-empty-icon{font-size:28px;margin-bottom:8px}.notification-empty-title{font-size:14px;font-weight:700;color:var(--cl-text);margin-bottom:4px}.notification-empty-text{font-size:12px;margin:0}.header-user-chip{display:flex;align-items:center;gap:8px;padding:4px 10px 4px 6px;border-radius:999px;background:var(--cl-surface-elevated);border:1px solid var(--cl-border);font-size:12.5px;font-weight:600}.avatar{width:28px;height:28px;border-radius:999px;background:var(--cl-accent-gradient);color:#fff;display:grid;place-items:center;font-size:11px;font-weight:700;box-shadow:0 2px 8px #635bff59}.page{flex:1;min-height:0;overflow-y:auto;padding:32px 40px 72px;width:100%}.head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:28px}h1{font-size:30px;letter-spacing:-.035em;font-weight:750;margin:0 0 6px;line-height:1.2;color:var(--cl-text)}h2{font-size:15px;font-weight:650;letter-spacing:-.01em;margin:0 0 10px;color:var(--cl-text)}.sub{margin:0;color:var(--cl-muted);font-size:14.5px}.crumb{margin:0 0 10px;font-size:13px;font-weight:500}.crumb a{text-decoration:none;color:var(--cl-faint)}.crumb a:hover{color:var(--cl-accent)}.crumb a:before{content:"\2190  "}.card,fieldset,.studio-grid .block,.wallet-card,.layout-card{background:var(--cl-surface);backdrop-filter:var(--cl-glass-blur);-webkit-backdrop-filter:var(--cl-glass-blur);border:1px solid var(--cl-border);border-radius:var(--cl-radius-lg);box-shadow:var(--cl-glass-shadow),var(--cl-glass-highlight);padding:24px;transition:all .2s cubic-bezier(.16,1,.3,1)}.card:hover,.wallet-card:hover,.layout-card:hover{box-shadow:var(--cl-glass-shadow-hover),var(--cl-glass-highlight);border-color:#635bff47}.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin:0 0 32px;padding-bottom:0;border-bottom:0}.stat{background:var(--cl-surface);backdrop-filter:var(--cl-glass-blur);-webkit-backdrop-filter:var(--cl-glass-blur);border:1px solid var(--cl-border);border-radius:var(--cl-radius-lg);padding:20px 24px;box-shadow:var(--cl-glass-shadow),var(--cl-glass-highlight);transition:all .2s cubic-bezier(.16,1,.3,1)}.stat:hover{transform:translateY(-2px);box-shadow:var(--cl-glass-shadow-hover),var(--cl-glass-highlight);border-color:#635bff4d}.stat .num{display:block;font-size:32px;font-weight:800;letter-spacing:-.04em;line-height:1;background:linear-gradient(135deg,var(--cl-text) 0%,var(--cl-accent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.stat .lbl{display:block;margin-top:8px;color:var(--cl-faint);font-size:13px;font-weight:500}.section-title{margin:24px 0 14px;font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--cl-faint)}table{width:100%;border-collapse:separate;border-spacing:0;background:var(--cl-surface);backdrop-filter:var(--cl-glass-blur);-webkit-backdrop-filter:var(--cl-glass-blur);border:1px solid var(--cl-border);border-radius:var(--cl-radius-lg);overflow:hidden;box-shadow:var(--cl-glass-shadow),var(--cl-glass-highlight)}th{text-align:left;font-weight:650;color:var(--cl-faint);font-size:11.5px;letter-spacing:.05em;text-transform:uppercase;padding:12px 18px;border-bottom:1px solid var(--cl-border);background:var(--cl-surface-elevated)}td{padding:14px 18px;border-bottom:1px solid var(--cl-border);vertical-align:middle;transition:background .12s ease}tbody tr:last-child td{border-bottom:0}tbody tr:hover td{background:#635bff0a}.pill{display:inline-flex;align-items:center;gap:5px;background:#e3e8ef99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid var(--cl-border);border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600;color:var(--cl-muted);text-transform:capitalize}.pill.ok{background:var(--cl-success-bg);border-color:var(--cl-success-border);color:var(--cl-success)}.rows{list-style:none;margin:0;padding:0}.rows li{border-bottom:1px solid var(--cl-border);background:var(--cl-surface);-webkit-backdrop-filter:var(--cl-glass-blur);backdrop-filter:var(--cl-glass-blur);margin-bottom:8px;border-radius:var(--cl-radius);border:1px solid var(--cl-border);box-shadow:var(--cl-glass-shadow),var(--cl-glass-highlight);transition:all .18s cubic-bezier(.16,1,.3,1)}.rows li:hover{transform:translateY(-1px);box-shadow:var(--cl-glass-shadow-hover),var(--cl-glass-highlight);border-color:#635bff4d}.row{display:grid;grid-template-columns:1fr auto auto auto;gap:18px;align-items:center;padding:16px 20px;color:var(--cl-text)}.row-title{font-weight:600;color:var(--cl-text);font-size:14.5px}.row .pct{color:var(--cl-faint);font-variant-numeric:tabular-nums;font-weight:500}.row .go{font-weight:600;color:var(--cl-accent);padding:4px 10px;border-radius:var(--cl-radius-sm);background:var(--cl-accent-soft);transition:all .12s ease}.row .go:hover{background:var(--cl-accent);color:#fff}.player,.studio-editor{display:grid;grid-template-columns:260px minmax(0,1fr);gap:0;border:1px solid var(--cl-border);border-radius:var(--cl-radius-lg);overflow:hidden;background:var(--cl-surface);backdrop-filter:var(--cl-glass-blur);-webkit-backdrop-filter:var(--cl-glass-blur);box-shadow:var(--cl-glass-shadow),var(--cl-glass-highlight)}.player aside,.studio-editor aside{border-right:1px solid var(--cl-border);padding:16px 12px 20px;background:var(--cl-surface-elevated)}.lesson{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;text-align:left;padding:9px 12px;border:0;border-radius:var(--cl-radius-sm);background:none;cursor:pointer;color:var(--cl-text);text-decoration:none;font-size:13.5px;font-weight:500;transition:all .15s ease}.lesson.on{background:var(--cl-accent-soft);color:var(--cl-accent);font-weight:600}.lesson:hover:not(.on){background:#635bff0a}.mod{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--cl-faint);margin:14px 10px 6px}.player article,.studio-editor article{padding:32px 38px 44px;min-height:380px}.bar{height:5px;background:#e3e8efcc;border-radius:99px;margin:0 0 20px;overflow:hidden}.bar span{display:block;height:100%;background:var(--cl-accent-gradient);border-radius:99px;transition:width .3s cubic-bezier(.16,1,.3,1)}.cl-modal-scrim{position:fixed;inset:0;z-index:90;background:#0a254073;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);display:grid;place-items:center;padding:24px;animation:scrim-in .2s ease-out}@keyframes scrim-in{0%{opacity:0}to{opacity:1}}.cl-modal{width:min(520px,100%);max-height:min(88dvh,760px);overflow:auto;background:var(--cl-surface-elevated);backdrop-filter:blur(28px) saturate(200%);-webkit-backdrop-filter:blur(28px) saturate(200%);border-radius:var(--cl-radius-xl);box-shadow:0 25px 60px -12px #0a254059,var(--cl-glass-highlight);border:1px solid var(--cl-border-light);animation:modal-in .24s cubic-bezier(.16,1,.3,1)}.cl-modal.wide{width:min(920px,100%)}@keyframes modal-in{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.cl-modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 24px 12px}.cl-modal-head h2{margin:0;font-size:18px;font-weight:700;letter-spacing:-.02em}.cl-modal-body{padding:12px 24px 24px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.note-panel{flex:none;padding:14px 28px;border-bottom:1px solid var(--cl-border);background:var(--cl-surface-elevated);-webkit-backdrop-filter:var(--cl-glass-blur);backdrop-filter:var(--cl-glass-blur);box-shadow:0 4px 16px #0000000a}.code-pane{width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px;line-height:1.6;padding:14px;border:1px solid var(--cl-border);border-radius:var(--cl-radius);background:var(--cl-surface);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--cl-text);box-shadow:inset 0 1px 2px #00000008}.skeleton-loader{background:linear-gradient(90deg,#e3e8ef66 25%,#e3e8efb3,#e3e8ef66 75%);background-size:200% 100%;animation:skeleton-pulse 1.5s infinite;border-radius:var(--cl-radius)}@keyframes skeleton-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}@media(max-width:840px){app-shell,app-shell.nav-collapsed{grid-template-columns:1fr}.side{display:flex;position:fixed;inset:0 auto 0 0;width:min(280px,86vw);height:100dvh;z-index:30;transform:translate(-105%);transition:transform .24s cubic-bezier(.16,1,.3,1)}app-shell.nav-open .side{transform:translate(0)}app-shell.nav-open .nav-scrim{display:block;position:fixed;inset:0;z-index:25;border:0;background:#0a254080;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.player,.studio-editor{grid-template-columns:1fr}.player aside,.studio-editor aside{border-right:0;border-bottom:1px solid var(--cl-border)}.page{padding:20px 16px 48px}.top{padding:0 16px}.auth{grid-template-columns:1fr}.auth-brand{min-height:180px}.studio-grid{grid-template-columns:1fr}}.toast-viewport{position:fixed;bottom:24px;right:24px;z-index:100;display:flex;flex-direction:column;gap:10px;pointer-events:none;max-width:420px;width:calc(100vw - 32px)}.stripe-toast{pointer-events:auto;display:grid;grid-template-columns:20px 1fr 18px;align-items:start;gap:12px;padding:14px 16px;background:var(--cl-surface-elevated);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);color:var(--cl-text);border-radius:var(--cl-radius-lg);border:1px solid var(--cl-border-light);box-shadow:0 16px 36px -6px #0a25402e,var(--cl-glass-highlight);animation:toast-in .24s cubic-bezier(.16,1,.3,1) forwards}@keyframes toast-in{0%{opacity:0;transform:translateY(14px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.stripe-toast .toast-icon{width:20px;height:20px;display:grid;place-items:center;margin-top:1px}.stripe-toast .toast-icon svg{width:18px;height:18px}.stripe-toast.success .toast-icon{color:var(--cl-success)}.stripe-toast.error .toast-icon{color:var(--cl-danger)}.stripe-toast.warning .toast-icon{color:#e56f2a}.stripe-toast.info .toast-icon{color:var(--cl-accent)}.stripe-toast .toast-body{font-size:13px;line-height:1.4}.stripe-toast .toast-title{font-weight:650;color:var(--cl-text);margin-bottom:2px}.stripe-toast .toast-msg{color:var(--cl-muted)}.stripe-toast .toast-close{background:transparent;border:none;padding:2px;cursor:pointer;color:var(--cl-faint);display:grid;place-items:center;border-radius:4px;transition:all .12s ease}.stripe-toast .toast-close:hover{color:var(--cl-text);background:#0000000f}.stripe-toast .toast-close svg{width:12px;height:12px}::view-transition-old(root),::view-transition-new(root){animation-duration:.18s;animation-timing-function:cubic-bezier(.16,1,.3,1)}.cert-sheet{display:flex;justify-content:center}.verify-page{max-width:880px;margin:40px auto;padding:0 24px 48px}.layout-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px}.wallet-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}.wallet-card,.layout-card{border:1px solid var(--cl-border);border-radius:var(--cl-radius-lg);background:var(--cl-surface);-webkit-backdrop-filter:var(--cl-glass-blur);backdrop-filter:var(--cl-glass-blur);box-shadow:var(--cl-glass-shadow),var(--cl-glass-highlight);overflow:hidden;transition:all .2s cubic-bezier(.16,1,.3,1)}.wallet-card:hover,.layout-card:hover{transform:translateY(-2px);box-shadow:var(--cl-glass-shadow-hover),var(--cl-glass-highlight);border-color:#635bff4d}.wallet-preview,.layout-preview{display:block;width:100%;height:240px;overflow:hidden;padding:0;border:0;background:#f1f3f7;cursor:pointer;position:relative}.wallet-preview .cert-sheet,.layout-preview .cert-sheet{position:absolute;top:50%;left:50%;width:960px;transform:translate(-50%,-50%) scale(.44);transform-origin:center center;pointer-events:none;margin:0;transition:transform .25s cubic-bezier(.16,1,.3,1)}.wallet-preview .cert-sheet.orient-portrait,.layout-preview .cert-sheet.orient-portrait{width:480px;transform:translate(-50%,-50%) scale(.41)}.wallet-card:hover .wallet-preview .cert-sheet:not(.orient-portrait),.layout-card:hover .layout-preview .cert-sheet:not(.orient-portrait){transform:translate(-50%,-50%) scale(.47)}.wallet-card:hover .wallet-preview .cert-sheet.orient-portrait,.layout-card:hover .layout-preview .cert-sheet.orient-portrait{transform:translate(-50%,-50%) scale(.44)}.wallet-preview .cert,.layout-preview .cert{margin:0 auto;box-shadow:0 4px 24px #00000024;overflow:hidden}.wallet-card-meta,.layout-meta{padding:14px 16px 16px}.wallet-card-meta strong,.layout-meta strong{display:block;margin-bottom:8px;font-size:14.5px;font-weight:650}.layout-meta{display:flex;flex-direction:column;gap:8px}.cert-actions{display:flex;gap:14px;justify-content:center;margin:16px 0 0}.cert{--cl-display: "Georgia", "Iowan Old Style", "Times New Roman", serif;--cl-body-font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;--cert-ink: #0a2540;--cert-paper: #fffaf2;--cert-accent: #c4a35a;position:relative;width:100%;max-width:960px;margin:12px auto 24px;padding:48px 56px 44px;background:var(--cert-paper);color:var(--cert-ink);text-align:center;border:1px solid var(--cert-accent);box-sizing:border-box;aspect-ratio:297/210;min-height:0;overflow:hidden;border-radius:8px;box-shadow:0 12px 40px #00000026}.cert.font-display-georgia{--cl-display: "Georgia", "Times New Roman", serif}.cert.font-display-instrument-serif{--cl-display: "Instrument Serif", "Georgia", serif}.cert.font-display-times{--cl-display: "Times New Roman", "Georgia", serif}.cert.font-display-cinzel{--cl-display: "Cinzel", "Times New Roman", serif}.cert.font-display-playfair{--cl-display: "Playfair Display", "Georgia", serif}.cert.font-display-inter{--cl-display: "Inter", -apple-system, sans-serif}.cert.font-display-helvetica{--cl-display: "Helvetica Neue", "Arial", sans-serif}.cert.font-body-inter{--cl-body-font: "Inter", -apple-system, BlinkMacSystemFont, sans-serif}.cert.font-body-arial{--cl-body-font: "Arial", "Helvetica Neue", sans-serif}.cert.font-body-roboto{--cl-body-font: "Roboto", sans-serif}.cert.font-body-merriweather{--cl-body-font: "Merriweather", "Georgia", serif}.cert.font-body-georgia{--cl-body-font: "Georgia", serif}.cert.font-body-times{--cl-body-font: "Times New Roman", serif}.cert.font-body-mono{--cl-body-font: ui-monospace, SFMono-Regular, "Courier New", monospace}.cert.orient-landscape{max-width:960px;aspect-ratio:297/210}.cert.orient-portrait{max-width:480px;margin-left:auto;margin-right:auto;aspect-ratio:210/297;padding:36px 32px}.cert-sheet.orient-portrait .cert{max-width:480px;aspect-ratio:210/297}.cert-sheet.orient-landscape .cert{max-width:960px;aspect-ratio:297/210}.cert.frame-ornament{box-shadow:inset 0 0 0 10px var(--cert-paper),inset 0 0 0 11px var(--cert-accent)}.cert.frame-ornament:before,.cert.frame-ornament:after{content:"";position:absolute;width:18px;height:18px;border:1.5px solid var(--cert-accent)}.cert.frame-ornament:before{top:18px;left:18px;border-right:0;border-bottom:0}.cert.frame-ornament:after{top:18px;right:18px;border-left:0;border-bottom:0}.cert.frame-band{box-shadow:none;padding-top:56px}.cert.frame-band:before{content:"";position:absolute;left:0;right:0;top:0;height:14px;background:var(--cert-accent)}.cert.frame-ribbon .cert-ribbon{display:block;height:10px;margin:-20px -28px 28px;background:linear-gradient(90deg,var(--cert-accent) 0%,var(--cert-ink) 100%)}.cert.frame-seal-duo .cert-seal{box-shadow:0 0 0 4px var(--cert-paper),0 0 0 6px var(--cert-accent)}.cert.frame-none{border:0;box-shadow:none}.cert.frame-thin{border-width:1px}.cert.frame-thick{border-width:4px}.cert.frame-double{box-shadow:inset 0 0 0 6px var(--cert-paper),inset 0 0 0 8px var(--cert-accent)}.cert-logo{margin:0 0 var(--cert-header-gap, 12px)}.cert-logo.place-left{text-align:left}.cert-logo.place-center{text-align:center}.cert-logo.place-right{text-align:right}.cert-logo img{max-height:52px;max-width:160px;object-fit:contain}.cert h1,.cert-name,.cert-body,.cert-course{line-height:var(--cert-lh, 1.25)}.cert-foot{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-top:20px;min-height:48px}.cert-foot-slot.place-left{text-align:left}.cert-foot-slot.place-center{text-align:center}.cert-foot-slot.place-right{text-align:right}.cert-date{margin:0;font-family:var(--cl-body-font);font-size:11px;color:var(--cl-muted)}.cert-sign img{max-height:36px;max-width:120px;object-fit:contain}.cert-sign-name{margin:4px 0 0;font-family:var(--cl-body-font);font-size:13px;font-weight:600;color:var(--cert-ink)}.cert-sign-title{margin:0;font-family:var(--cl-body-font);font-size:11px;color:var(--cl-muted)}.cert.frame-crest .cert-seal{border-radius:8px;transform:rotate(45deg)}.cert.frame-crest .cert-seal{font-size:11px}.cert-seal{width:42px;height:42px;margin:0 auto 12px;border-radius:50%;background:var(--cert-ink);color:var(--cert-paper);display:grid;place-items:center;font-family:var(--cl-body-font);font-weight:700;font-size:13px;box-shadow:0 4px 12px #0003}.cert-kicker{letter-spacing:.2em;text-transform:uppercase;font-family:var(--cl-body-font);font-size:11px;font-weight:600;color:var(--cert-accent)}.cert h1{font-family:var(--cl-display);font-size:34px;font-weight:400;margin:8px 0 28px}.cert-name{font-family:var(--cl-display);font-size:38px;font-weight:400;margin:0 0 8px}.cert-body{font-family:var(--cl-body-font);color:var(--cl-muted);margin:0}.cert-course{font-family:var(--cl-body-font);font-size:16px;font-weight:650;margin:8px 0 20px}.cert-partners{font-family:var(--cl-body-font);color:var(--cl-muted)}.cert-meta{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--cl-faint);font-size:11px}.cert-verify{display:inline-flex;align-items:center;gap:6px;margin-top:12px;padding:5px 12px;border-radius:999px;font-family:var(--cl-body-font);background:color-mix(in srgb,var(--cert-accent) 18%,var(--cert-paper));color:var(--cert-accent);font-size:12px;font-weight:650}.cert-bg-layer{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}.cert-pattern-layer{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;overflow:hidden;display:flex;align-items:center;justify-content:center}.cert-pattern-layer svg{width:100%;height:100%;object-fit:cover;display:block}.cert-bg-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;z-index:0}.cert-watermark-layer{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;display:grid;place-items:center;z-index:2;overflow:hidden}.cert-watermark-text{font-family:var(--cl-display);font-weight:700;color:var(--cert-ink);text-transform:uppercase;white-space:nowrap;-webkit-user-select:none;user-select:none;letter-spacing:.12em;line-height:1;transform-origin:center center}.cert-watermark-img{object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;transform-origin:center center}.cert-ribbon,.cert-safe-guide,.cert-logo,.cert-seal,.cert-kicker,.cert h1,.cert-name,.cert-body,.cert-course,.cert-partners,.cert-foot,.cert-meta,.cert-verify{position:relative;z-index:3}.pattern-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:8px}.pattern-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:12px 8px;border-radius:8px;border:1px solid var(--cl-border);background:var(--cl-surface);cursor:pointer;transition:all .15s ease;font-size:11px;font-weight:550;color:var(--cl-ink)}.pattern-card:hover{border-color:var(--cl-accent);background:var(--cl-surface-hover)}.pattern-card.active{border-color:var(--cl-accent);background:color-mix(in srgb,var(--cl-accent) 12%,var(--cl-surface));color:var(--cl-accent);box-shadow:0 0 0 1px var(--cl-accent)}.pattern-card .pattern-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:var(--cl-accent)}.preset-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.preset-chip{padding:4px 10px;border-radius:999px;border:1px solid var(--cl-border);background:var(--cl-surface);font-size:11px;font-weight:550;color:var(--cl-muted);cursor:pointer;transition:all .15s}.preset-chip:hover{border-color:var(--cl-accent);color:var(--cl-ink)}.preset-chip.active{background:var(--cl-accent);color:#fff;border-color:var(--cl-accent)}.page:has(app-layout-editor),.page:has(app-workspace),.page:has(app-lab){overflow:hidden;display:flex;flex-direction:column;padding:0;height:100%}app-layout-editor,app-workspace,app-lab{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.designer-studio{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;background:var(--cl-bg)}.studio-header{flex:none;display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:var(--cl-surface);-webkit-backdrop-filter:var(--cl-glass-blur);backdrop-filter:var(--cl-glass-blur);border-bottom:1px solid var(--cl-border);gap:16px;z-index:10}.studio-header-left{display:flex;align-items:center;gap:12px}.studio-title-wrap{display:flex;align-items:center;gap:10px}.studio-title{font-size:17px;font-weight:700;margin:0;color:var(--cl-text)}.studio-header-right{display:flex;align-items:center;gap:10px}.studio-btn-group{display:flex;background:var(--cl-surface-elevated);border:1px solid var(--cl-border);border-radius:var(--cl-radius-sm);padding:2px}.studio-btn-group button{border:none;background:transparent;padding:4px 8px;cursor:pointer;color:var(--cl-faint);border-radius:4px}.studio-btn-group button:hover:not(:disabled){color:var(--cl-text);background:#0000000d}.studio-btn-group button:disabled{opacity:.35;cursor:not-allowed}.studio-banner-error{padding:8px 16px;background:#df1b411a;color:var(--cl-danger);font-size:13px;font-weight:600;border-bottom:1px solid rgba(223,27,65,.2)}.studio-workspace{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 380px;overflow:hidden}.studio-stage{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden;background:#e2e6ed}.studio-stage-bar{flex:none;display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:var(--cl-surface);-webkit-backdrop-filter:var(--cl-glass-blur);backdrop-filter:var(--cl-glass-blur);border-bottom:1px solid var(--cl-border);gap:12px;flex-wrap:wrap}.studio-pills{display:flex;background:var(--cl-surface-elevated);border:1px solid var(--cl-border);border-radius:var(--cl-radius-sm);padding:2px;gap:2px}.studio-pills button{display:inline-flex;align-items:center;gap:6px;border:none;background:transparent;padding:4px 10px;font-size:12px;font-weight:600;color:var(--cl-muted);border-radius:4px;cursor:pointer;transition:all .15s ease}.studio-pills button.active{background:#fff;color:var(--cl-accent);box-shadow:0 1px 4px #00000014}.studio-stage-tools{display:flex;align-items:center;gap:10px}.studio-select-label{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--cl-faint)}.studio-select-label select{padding:3px 8px;font-size:12px;border-radius:6px;border:1px solid var(--cl-border);background:var(--cl-surface)}button.active-tool{background:var(--cl-accent-subtle);color:var(--cl-accent);border-color:var(--cl-accent)}.studio-stage-viewport{flex:1;min-height:0;overflow:auto;display:flex;align-items:center;justify-content:center;padding:32px;position:relative}.studio-stage-viewport.grid-bg{background-size:20px 20px;background-image:linear-gradient(to right,rgba(0,0,0,.04) 1px,transparent 1px),linear-gradient(to bottom,rgba(0,0,0,.04) 1px,transparent 1px)}.studio-canvas-container{display:flex;align-items:center;justify-content:center;transition:transform .2s cubic-bezier(.16,1,.3,1);transform-origin:center center;max-width:100%}.studio-canvas-container.zoom-fit{max-width:min(100%,960px)}.studio-canvas-container.zoom-75{transform:scale(.75)}.studio-canvas-container.zoom-100{transform:scale(1)}.studio-pdf-container{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.studio-pdf-loading{display:flex;flex-direction:column;align-items:center;gap:12px}.layout-pdf-canvas{border:0;background:#fff;box-shadow:0 16px 48px #0a25402e;border-radius:4px}.layout-pdf-canvas.orient-landscape.zoom-fit{width:min(100%,960px);aspect-ratio:297/210;max-height:90%}.layout-pdf-canvas.orient-portrait.zoom-fit{height:min(90%,640px);aspect-ratio:210/297;max-width:100%}.layout-pdf-canvas.zoom-75.orient-landscape{width:720px;height:509px}.layout-pdf-canvas.zoom-100.orient-landscape{width:960px;height:678px}.layout-pdf-canvas.zoom-75.orient-portrait{width:360px;height:509px}.layout-pdf-canvas.zoom-100.orient-portrait{width:480px;height:678px}.cert.interactive-mode{cursor:default}.cert.interactive-mode [class*=cert-]{cursor:pointer;border-radius:4px;transition:outline .15s ease,box-shadow .15s ease}.cert.interactive-mode [class*=cert-]:hover{outline:1.5px dashed rgba(99,91,255,.6);outline-offset:3px}.cert.interactive-mode .cert-active-node{outline:2px solid var(--cl-accent)!important;outline-offset:4px;box-shadow:0 0 0 4px #635bff33}.cert.show-print-guides .cert-safe-guide{position:absolute;inset:18px;border:1px dashed rgba(223,27,65,.4);pointer-events:none;border-radius:4px}.cert.show-print-guides .cert-safe-guide:after{content:"Safe Margin";position:absolute;top:4px;right:6px;font-size:9px;font-family:ui-monospace,sans-serif;color:#df1b4199;font-weight:600;text-transform:uppercase}.studio-inspector{display:flex;flex-direction:column;min-height:0;background:var(--cl-surface);-webkit-backdrop-filter:var(--cl-glass-blur);backdrop-filter:var(--cl-glass-blur);border-left:1px solid var(--cl-border);overflow:hidden}.inspector-tabs{flex:none;display:flex;overflow-x:auto;border-bottom:1px solid var(--cl-border);background:var(--cl-surface-elevated)}.inspector-tabs button{flex:1;white-space:nowrap;padding:10px 8px;font-size:12px;font-weight:650;color:var(--cl-muted);border:none;background:transparent;cursor:pointer;border-bottom:2px solid transparent;transition:all .15s ease}.inspector-tabs button:hover{color:var(--cl-text)}.inspector-tabs button.active{color:var(--cl-accent);border-bottom-color:var(--cl-accent);background:var(--cl-surface)}.inspector-body{flex:1;overflow-y:auto;padding:20px}.inspector-section{display:flex;flex-direction:column;gap:12px}.inspector-heading{font-size:13px;font-weight:700;letter-spacing:-.01em;margin:0;color:var(--cl-text)}.palette-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.palette-card{display:flex;flex-direction:column;align-items:flex-start;padding:8px 10px;border:1px solid var(--cl-border);border-radius:var(--cl-radius-sm);background:var(--cl-surface);cursor:pointer;transition:all .15s ease}.palette-card:hover{border-color:var(--cl-accent);transform:translateY(-1px);box-shadow:0 2px 8px #0000000f}.palette-swatches{display:flex;gap:4px;margin-bottom:6px}.palette-swatches span{width:14px;height:14px;border-radius:50%;border:1px solid rgba(0,0,0,.1)}.palette-name{font-size:11px;font-weight:600;color:var(--cl-text);text-align:left}.frame-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.frame-card{display:flex;flex-direction:column;align-items:flex-start;padding:8px 10px;border:1px solid var(--cl-border);border-radius:var(--cl-radius-sm);background:var(--cl-surface);cursor:pointer;transition:all .15s ease;text-align:left}.frame-card:hover{border-color:var(--cl-accent)}.frame-card.selected{border-color:var(--cl-accent);background:var(--cl-accent-subtle);box-shadow:0 0 0 1px var(--cl-accent)}.frame-badge{font-size:12px;font-weight:700;color:var(--cl-text)}.frame-desc{font-size:10px;color:var(--cl-faint);margin-top:2px;line-height:1.3}.color-picker-row{display:grid;grid-template-columns:1fr;gap:10px}.color-picker-item{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:500}.color-input-wrap{display:flex;align-items:center;gap:8px}.color-input-wrap input[type=color]{width:28px;height:28px;padding:0;border:1px solid var(--cl-border);border-radius:6px;cursor:pointer;background:none}.color-input-wrap code{font-size:11px;color:var(--cl-muted)}.asset-preview-card{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--cl-surface-elevated);border:1px solid var(--cl-border);border-radius:var(--cl-radius-sm);margin-bottom:8px}.asset-preview-card img{max-height:36px;max-width:120px;object-fit:contain}.toggle-list{display:flex;flex-direction:column;gap:8px}.check-pill{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:550;color:var(--cl-text);cursor:pointer;padding:6px 10px;border-radius:var(--cl-radius-sm);background:var(--cl-surface-elevated);border:1px solid var(--cl-border-light);transition:background .12s ease}.check-pill:hover{background:#635bff0d}.spec-editor{width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px;padding:10px;background:var(--cl-surface-elevated);border:1px solid var(--cl-border);border-radius:var(--cl-radius-sm);color:var(--cl-text);line-height:1.45;resize:vertical}@media(max-width:960px){.studio-workspace{grid-template-columns:1fr}.studio-inspector{border-left:0;border-top:1px solid var(--cl-border);max-height:45vh}}@media print{@page{size:A4 landscape;margin:10mm}@page portrait-page{size:A4 portrait;margin:10mm}html,body{background:#fff!important;background-image:none!important}app-shell{display:block!important;grid-template-columns:none!important}.side,.top,.nav-scrim,.note-panel,.cert-actions,.crumb{display:none!important}.main,.page,.verify-page{padding:0!important;margin:0!important;background:#fff!important;max-width:none}.cert-sheet{display:block}.cert{max-width:none;width:100%;min-height:168mm;margin:0;page-break-inside:avoid}.cert.orient-portrait{page:portrait-page;min-height:250mm}}.auth-split-layout{display:grid;grid-template-columns:1.15fr 1fr;min-height:100vh;width:100%;background:var(--cl-bg);overflow-x:hidden;font-family:var(--cl-sans)}.auth-split-layout .auth-hero-pane{position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:64px 56px;background:radial-gradient(circle at 20% 15%,#182238,#0c1322,#060a12);color:#fff;overflow:hidden;z-index:1}.auth-split-layout .auth-hero-pane .auth-hero-bg-overlay{position:absolute;inset:0;background-image:url(/login-campus.jpg);background-size:cover;background-position:center;opacity:.12;mix-blend-mode:luminosity;pointer-events:none;z-index:-1}.auth-split-layout .auth-hero-pane .auth-hero-ambient-disc{position:absolute;border-radius:50%;filter:blur(80px);pointer-events:none;z-index:-1}.auth-split-layout .auth-hero-pane .auth-hero-ambient-disc.disc-1{width:420px;height:420px;top:-60px;left:-80px;background:radial-gradient(circle,#635bff47,#635bff00 70%)}.auth-split-layout .auth-hero-pane .auth-hero-ambient-disc.disc-2{width:480px;height:480px;bottom:-80px;right:-100px;background:radial-gradient(circle,#00d4ff33,#00d4ff00 70%)}.auth-split-layout .auth-hero-pane .auth-hero-content{display:flex;flex-direction:column;height:100%;justify-content:space-between;max-width:580px;margin:0 auto;width:100%;z-index:2}.auth-split-layout .auth-hero-pane .auth-hero-header{display:flex;align-items:center;gap:12px}.auth-split-layout .auth-hero-pane .auth-hero-header .auth-hero-logo{display:flex;align-items:center;justify-content:center}.auth-split-layout .auth-hero-pane .auth-hero-header .auth-hero-brand-name{font-size:22px;font-weight:700;letter-spacing:-.02em;color:#fff}.auth-split-layout .auth-hero-pane .auth-hero-header .auth-hero-badge{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:3px 8px;border-radius:999px;background:#ffffff1a;border:1px solid rgba(255,255,255,.15);color:#c4d1eb}.auth-split-layout .auth-hero-pane .auth-hero-copy{margin:48px 0}.auth-split-layout .auth-hero-pane .auth-hero-copy h1{font-family:var(--cl-sans);font-size:clamp(30px,3vw,40px);font-weight:750;line-height:1.18;letter-spacing:-.03em;color:#fff;margin-bottom:18px;text-shadow:0 2px 20px rgba(0,0,0,.4)}.auth-split-layout .auth-hero-pane .auth-hero-copy p{font-size:15px;line-height:1.6;color:#94a3b8;max-width:480px}.auth-split-layout .auth-hero-pane .auth-hero-cert-card{position:relative;background:#ffffff0d;border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:14px;padding:20px 24px;box-shadow:0 20px 40px -15px #00000080,inset 0 1px #ffffff1a;margin-bottom:36px;transition:transform .3s ease}.auth-split-layout .auth-hero-pane .auth-hero-cert-card:hover{transform:translateY(-2px)}.auth-split-layout .auth-hero-pane .auth-hero-cert-card .cert-mock-ribbon{position:absolute;top:0;left:24px;right:24px;height:3px;background:linear-gradient(90deg,#635bff,#00d4ff,#c4a35a);border-radius:3px}.auth-split-layout .auth-hero-pane .auth-hero-cert-card .cert-mock-top{display:flex;align-items:center;gap:12px;margin-bottom:12px;margin-top:4px}.auth-split-layout .auth-hero-pane .auth-hero-cert-card .cert-mock-top .cert-mock-icon{width:32px;height:32px;border-radius:8px;background:#635bff33;border:1px solid rgba(99,91,255,.4);color:#a5b4fc;display:flex;align-items:center;justify-content:center}.auth-split-layout .auth-hero-pane .auth-hero-cert-card .cert-mock-top .cert-mock-meta{flex:1;display:flex;flex-direction:column}.auth-split-layout .auth-hero-pane .auth-hero-cert-card .cert-mock-top .cert-mock-meta .cert-mock-kicker{font-size:10px;font-weight:700;letter-spacing:.08em;color:#c4a35a}.auth-split-layout .auth-hero-pane .auth-hero-cert-card .cert-mock-top .cert-mock-meta .cert-mock-title{font-size:13px;font-weight:650;color:#fff}.auth-split-layout .auth-hero-pane .auth-hero-cert-card .cert-mock-top .cert-mock-pill{font-size:10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:600;color:#38bdf8;background:#38bdf81f;border:1px solid rgba(56,189,248,.25);padding:2px 7px;border-radius:6px}.auth-split-layout .auth-hero-pane .auth-hero-cert-card .cert-mock-body{display:flex;flex-direction:column;gap:2px;border-top:1px solid rgba(255,255,255,.08);padding-top:10px}.auth-split-layout .auth-hero-pane .auth-hero-cert-card .cert-mock-body .cert-mock-recipient{font-size:12px;font-weight:600;color:#f1f5f9}.auth-split-layout .auth-hero-pane .auth-hero-cert-card .cert-mock-body .cert-mock-school{font-size:11px;color:#94a3b8}.auth-split-layout .auth-hero-pane .auth-hero-trust-bar{display:flex;flex-wrap:wrap;gap:16px;align-items:center}.auth-split-layout .auth-hero-pane .auth-hero-trust-bar .trust-item{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:550;color:#94a3b8}.auth-split-layout .auth-hero-pane .auth-hero-trust-bar .trust-item svg{color:#38bdf8}.auth-split-layout .auth-card-pane{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 32px;background:var(--cl-surface);overflow-y:auto}.auth-split-layout .auth-card-pane .auth-card-wrapper{width:100%;max-width:440px;display:flex;flex-direction:column;gap:20px}.auth-split-layout .auth-card-pane .auth-tenant-badge{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:12px;background:color-mix(in srgb,var(--cl-brand-accent) 8%,var(--cl-surface));border:1px solid color-mix(in srgb,var(--cl-brand-accent) 24%,var(--cl-border));animation:fadeInSlide .25s ease}.auth-split-layout .auth-card-pane .auth-tenant-badge .tenant-logo{width:32px;height:32px;object-fit:contain;border-radius:6px;background:#fff;padding:2px}.auth-split-layout .auth-card-pane .auth-tenant-badge .tenant-avatar{width:32px;height:32px;border-radius:6px;background:var(--cl-brand-accent);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px}.auth-split-layout .auth-card-pane .auth-tenant-badge .tenant-info{flex:1;display:flex;flex-direction:column}.auth-split-layout .auth-card-pane .auth-tenant-badge .tenant-info .tenant-title{font-size:13px;font-weight:650;color:var(--cl-ink)}.auth-split-layout .auth-card-pane .auth-tenant-badge .tenant-info .tenant-verified{font-size:11px;color:var(--cl-brand-accent);font-weight:550}.auth-split-layout .auth-card-pane .auth-tenant-badge .tenant-clear{background:transparent;border:0;color:var(--cl-faint);cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center}.auth-split-layout .auth-card-pane .auth-tenant-badge .tenant-clear:hover{color:var(--cl-ink);background:#0000000d}.auth-split-layout .auth-card-pane .auth-card-header h2{font-size:24px;font-weight:750;letter-spacing:-.025em;color:var(--cl-ink);margin:0 0 6px}.auth-split-layout .auth-card-pane .auth-card-header .auth-card-sub{font-size:13.5px;color:var(--cl-muted);line-height:1.45;margin:0}.auth-split-layout .auth-card-pane .demo-personas-section{display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:12px;background:var(--cl-surface-hover);border:1px solid var(--cl-border)}.auth-split-layout .auth-card-pane .demo-personas-section .demo-personas-label{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--cl-faint)}.auth-split-layout .auth-card-pane .demo-personas-section .demo-personas-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.auth-split-layout .auth-card-pane .demo-personas-section .demo-chip{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:8px;background:var(--cl-surface);border:1px solid var(--cl-border);cursor:pointer;transition:all .15s ease;text-align:left}.auth-split-layout .auth-card-pane .demo-personas-section .demo-chip:hover{border-color:var(--cl-brand-accent);background:var(--cl-surface);box-shadow:0 2px 6px #0000000d}.auth-split-layout .auth-card-pane .demo-personas-section .demo-chip.active{border-color:var(--cl-brand-accent);background:color-mix(in srgb,var(--cl-brand-accent) 10%,var(--cl-surface));box-shadow:0 0 0 1px var(--cl-brand-accent)}.auth-split-layout .auth-card-pane .demo-personas-section .demo-chip .demo-chip-icon{font-size:15px}.auth-split-layout .auth-card-pane .demo-personas-section .demo-chip .demo-chip-text{display:flex;flex-direction:column;overflow:hidden}.auth-split-layout .auth-card-pane .demo-personas-section .demo-chip .demo-chip-text .demo-chip-name{font-size:12px;font-weight:650;color:var(--cl-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.auth-split-layout .auth-card-pane .demo-personas-section .demo-chip .demo-chip-text .demo-chip-role{font-size:10px;color:var(--cl-muted)}.auth-split-layout .auth-card-pane .auth-form{display:flex;flex-direction:column;gap:14px}.auth-split-layout .auth-card-pane .auth-form .auth-alert-error{display:flex;align-items:flex-start;gap:10px;padding:11px 14px;border-radius:10px;background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;font-size:13px;line-height:1.4;animation:shake .3s ease}.auth-split-layout .auth-card-pane .auth-form .auth-alert-error .alert-icon{flex-shrink:0;margin-top:1px;color:#dc2626}.auth-split-layout .auth-card-pane .auth-form .auth-field-group{display:flex;flex-direction:column;gap:5px}.auth-split-layout .auth-card-pane .auth-form .auth-field-group label{font-size:13px;font-weight:600;color:var(--cl-ink)}.auth-split-layout .auth-card-pane .auth-form .auth-field-group .field-label-row{display:flex;align-items:center;justify-content:space-between}.auth-split-layout .auth-card-pane .auth-form .auth-field-group .field-label-row .forgot-link{font-size:12px;font-weight:550;color:var(--cl-brand-accent);text-decoration:none}.auth-split-layout .auth-card-pane .auth-form .auth-field-group .field-label-row .forgot-link:hover{text-decoration:underline}.auth-split-layout .auth-card-pane .auth-form .auth-field-group .field-label-row .slug-status-badge{font-size:10px;font-weight:600;color:var(--cl-success);background:#1e965a1a;padding:1px 6px;border-radius:4px}.auth-split-layout .auth-card-pane .auth-form .auth-field-group .auth-input-box{position:relative;display:flex;align-items:center;border-radius:10px;border:1px solid var(--cl-border);background:var(--cl-surface);transition:all .15s ease;box-shadow:0 1px 2px #00000008}.auth-split-layout .auth-card-pane .auth-form .auth-field-group .auth-input-box .field-icon{margin-left:14px;color:var(--cl-faint);flex-shrink:0}.auth-split-layout .auth-card-pane .auth-form .auth-field-group .auth-input-box input{flex:1;width:100%;border:0;outline:0;background:transparent;padding:10px 14px 10px 10px;font-size:14px;font-family:inherit;color:var(--cl-ink)}.auth-split-layout .auth-card-pane .auth-form .auth-field-group .auth-input-box input::placeholder{color:var(--cl-faint)}.auth-split-layout .auth-card-pane .auth-form .auth-field-group .auth-input-box .pw-toggle-btn{background:transparent;border:0;padding:8px 12px;color:var(--cl-faint);cursor:pointer;display:flex;align-items:center;justify-content:center}.auth-split-layout .auth-card-pane .auth-form .auth-field-group .auth-input-box .pw-toggle-btn:hover{color:var(--cl-ink)}.auth-split-layout .auth-card-pane .auth-form .auth-field-group .auth-input-box.focused{border-color:var(--cl-brand-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--cl-brand-accent) 18%,transparent)}.auth-split-layout .auth-card-pane .auth-form .auth-field-group .auth-input-box.focused .field-icon{color:var(--cl-brand-accent)}.auth-split-layout .auth-card-pane .auth-form .auth-checkbox-row{display:flex;align-items:center}.auth-split-layout .auth-card-pane .auth-form .auth-checkbox-row .custom-checkbox-label{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:13px;color:var(--cl-muted);-webkit-user-select:none;user-select:none}.auth-split-layout .auth-card-pane .auth-form .auth-checkbox-row .custom-checkbox-label input[type=checkbox]{accent-color:var(--cl-brand-accent);width:16px;height:16px;border-radius:4px;cursor:pointer}.auth-split-layout .auth-card-pane .auth-form .auth-totp-container{display:flex;flex-direction:column;align-items:center;gap:12px;padding:16px;border-radius:12px;background:var(--cl-surface-hover);border:1px solid var(--cl-border)}.auth-split-layout .auth-card-pane .auth-form .auth-totp-container .totp-icon-wrap{width:52px;height:52px;border-radius:50%;background:color-mix(in srgb,var(--cl-brand-accent) 14%,var(--cl-surface));color:var(--cl-brand-accent);display:flex;align-items:center;justify-content:center}.auth-split-layout .auth-card-pane .auth-form .auth-totp-container .totp-label{font-size:14px;font-weight:650;color:var(--cl-ink)}.auth-split-layout .auth-card-pane .auth-form .auth-totp-container .totp-box{width:220px}.auth-split-layout .auth-card-pane .auth-form .auth-totp-container .totp-box .totp-input{text-align:center;font-size:24px;letter-spacing:.35em;font-weight:700;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;padding:8px 12px}.auth-split-layout .auth-card-pane .auth-form .auth-totp-container .totp-help{font-size:12px;color:var(--cl-muted);text-align:center;margin:0}.auth-split-layout .auth-card-pane .auth-form .auth-totp-container .back-link-btn{background:transparent;border:0;color:var(--cl-brand-accent);font-size:12px;font-weight:600;cursor:pointer;margin-top:4px}.auth-split-layout .auth-card-pane .auth-form .auth-totp-container .back-link-btn:hover{text-decoration:underline}.auth-split-layout .auth-card-pane .auth-form .auth-pwd-change-container{display:flex;flex-direction:column;gap:12px}.auth-split-layout .auth-card-pane .auth-form .auth-pwd-change-container .pwd-policy-card{display:flex;flex-direction:column;gap:6px;padding:12px;border-radius:8px;background:var(--cl-surface-hover);border:1px solid var(--cl-border)}.auth-split-layout .auth-card-pane .auth-form .auth-pwd-change-container .pwd-policy-card .pwd-policy-item{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--cl-muted)}.auth-split-layout .auth-card-pane .auth-form .auth-pwd-change-container .pwd-policy-card .pwd-policy-item .check-dot{width:8px;height:8px;border-radius:50%;background:var(--cl-border)}.auth-split-layout .auth-card-pane .auth-form .auth-pwd-change-container .pwd-policy-card .pwd-policy-item.valid{color:var(--cl-success)}.auth-split-layout .auth-card-pane .auth-form .auth-pwd-change-container .pwd-policy-card .pwd-policy-item.valid .check-dot{background:var(--cl-success)}.auth-split-layout .auth-card-pane .auth-form .auth-submit-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px 20px;border-radius:10px;border:0;background:linear-gradient(180deg,var(--cl-brand-accent) 0%,color-mix(in srgb,var(--cl-brand-accent) 88%,#000) 100%);color:#fff;font-size:14px;font-weight:650;cursor:pointer;box-shadow:0 4px 14px -3px color-mix(in srgb,var(--cl-brand-accent) 50%,transparent),inset 0 1px #fff3;transition:all .15s ease}.auth-split-layout .auth-card-pane .auth-form .auth-submit-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px -3px color-mix(in srgb,var(--cl-brand-accent) 60%,transparent),inset 0 1px #ffffff40}.auth-split-layout .auth-card-pane .auth-form .auth-submit-btn:active:not(:disabled){transform:translateY(0)}.auth-split-layout .auth-card-pane .auth-form .auth-submit-btn:disabled{opacity:.65;cursor:not-allowed}.auth-split-layout .auth-card-pane .auth-form .auth-submit-btn .btn-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}.auth-split-layout .auth-card-pane .auth-form .auth-submit-btn .btn-arrow{transition:transform .15s ease}.auth-split-layout .auth-card-pane .auth-form .auth-submit-btn:hover:not(:disabled) .btn-arrow{transform:translate(2px)}.auth-split-layout .auth-card-pane .auth-form .auth-divider{position:relative;display:flex;align-items:center;justify-content:center;margin:4px 0}.auth-split-layout .auth-card-pane .auth-form .auth-divider:before{content:"";position:absolute;left:0;right:0;height:1px;background:var(--cl-border)}.auth-split-layout .auth-card-pane .auth-form .auth-divider span{position:relative;background:var(--cl-surface);padding:0 12px;font-size:12px;color:var(--cl-faint);font-weight:500}.auth-split-layout .auth-card-pane .auth-form .auth-sso-grid{display:flex;flex-direction:column;gap:8px}.auth-split-layout .auth-card-pane .auth-form .auth-sso-grid .sso-btn{display:flex;align-items:center;justify-content:center;gap:10px;padding:10px 16px;border-radius:10px;border:1px solid var(--cl-border);background:var(--cl-surface);color:var(--cl-ink);font-size:13px;font-weight:600;cursor:pointer;transition:all .15s ease}.auth-split-layout .auth-card-pane .auth-form .auth-sso-grid .sso-btn:hover{border-color:var(--cl-brand-accent);background:var(--cl-surface-hover)}.auth-split-layout .auth-card-pane .auth-card-footer{display:flex;flex-direction:column;align-items:center;gap:4px;padding-top:10px;border-top:1px solid var(--cl-border)}.auth-split-layout .auth-card-pane .auth-card-footer p{margin:0;font-size:11px;color:var(--cl-faint)}.auth-split-layout .auth-card-pane .auth-card-footer .footer-links{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--cl-faint)}.auth-split-layout .auth-card-pane .auth-card-footer .footer-links a{color:var(--cl-muted);text-decoration:none}.auth-split-layout .auth-card-pane .auth-card-footer .footer-links a:hover{color:var(--cl-brand-accent);text-decoration:underline}@media(max-width:980px){.auth-split-layout{grid-template-columns:1fr}.auth-split-layout .auth-hero-pane{display:none}.auth-split-layout .auth-card-pane{min-height:100vh;padding:32px 20px}}@keyframes fadeInSlide{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-4px)}40%,80%{transform:translate(4px)}}:root{--ide-bg: #f8fafc;--ide-surface: #ffffff;--ide-surface-elevated: #f1f5f9;--ide-surface-sunken: #eef2f6;--ide-border: #e2e8f0;--ide-border-subtle: #f1f5f9;--ide-text: #0f172a;--ide-text-muted: #64748b;--ide-text-faint: #94a3b8;--ide-tab-active-bg: #ffffff;--ide-tab-inactive-bg: #f1f5f9;--ide-tab-hover-bg: #e2e8f0;--ide-code-bg: #ffffff;--ide-code-block: #f8fafc;--ide-hero-bg: linear-gradient(135deg, #ffffff 0%, #f1f5f9 100%);--ide-hero-border: #e2e8f0;--ide-hero-shadow: 0 10px 30px rgba(0, 0, 0, .05);--ide-card-bg: #ffffff;--ide-card-border: #e2e8f0;--ide-card-shadow: 0 4px 12px rgba(0, 0, 0, .04)}[data-theme=dark]{--ide-bg: #09090b;--ide-surface: #11141c;--ide-surface-elevated: #181d2a;--ide-surface-sunken: #0c0e14;--ide-border: #1e2433;--ide-border-subtle: #1a202d;--ide-text: #f8fafc;--ide-text-muted: #94a3b8;--ide-text-faint: #64748b;--ide-tab-active-bg: #1e1e1e;--ide-tab-inactive-bg: #2d2d2d;--ide-tab-hover-bg: #252526;--ide-code-bg: #1e1e1e;--ide-code-block: #141824;--ide-hero-bg: linear-gradient(135deg, rgba(15, 23, 42, .95), rgba(30, 41, 59, .85));--ide-hero-border: rgba(255, 255, 255, .08);--ide-hero-shadow: 0 10px 30px rgba(0, 0, 0, .2);--ide-card-bg: #11141c;--ide-card-border: #1e2433;--ide-card-shadow: 0 10px 24px -6px rgba(0, 0, 0, .4)}app-workspace{display:flex;flex-direction:column;flex:1;min-height:0;height:100%;width:100%;overflow:hidden;background:var(--ide-bg);color:var(--ide-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;transition:background-color .15s,color .15s}.nimbus-container{display:flex;flex-direction:column;flex:1;min-height:0;height:100%;width:100%;background:var(--ide-bg)}.nimbus-header{display:flex;align-items:center;justify-content:space-between;height:48px;padding:0 16px;background:var(--ide-surface);border-bottom:1px solid var(--ide-border);-webkit-user-select:none;user-select:none;z-index:20}.header-left,.header-center,.header-right{display:flex;align-items:center;gap:12px}.nimbus-logo{display:flex;align-items:center;gap:8px}.logo-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;background:linear-gradient(135deg,#0284c7,#0ea5e9);color:#fff}.brand-title{font-size:15px;font-weight:700;letter-spacing:-.02em;color:var(--ide-text)}.env-badge{font-size:10px;font-weight:600;text-transform:uppercase;padding:2px 6px;border-radius:4px;background:#0ea5e926;color:#0284c7;border:1px solid rgba(14,165,233,.3)}[data-theme=dark] .env-badge{color:#38bdf8}.project-pill{display:flex;align-items:center;gap:6px;padding:4px 10px;border-radius:6px;background:var(--ide-surface-elevated);border:1px solid var(--ide-border);font-size:12px}.status-dot{width:6px;height:6px;border-radius:50%;background:#10b981}.status-dot.pulsing{box-shadow:0 0 #10b981b3;animation:pulse-dot 2s infinite}@keyframes pulse-dot{0%{box-shadow:0 0 #10b981b3}70%{box-shadow:0 0 0 6px #10b98100}to{box-shadow:0 0 #10b98100}}.template-label{font-weight:700;color:#0284c7;font-size:11px}[data-theme=dark] .template-label{color:#38bdf8}.sep{color:var(--ide-text-faint)}.active-filename{color:var(--ide-text);font-family:ui-monospace,monospace;font-size:12px}.dirty-badge{color:#f59e0b;font-size:10px}.template-selector{display:flex;background:var(--ide-surface-elevated);border:1px solid var(--ide-border);border-radius:6px;padding:2px}.tpl-btn{background:transparent;border:none;color:var(--ide-text-muted);padding:4px 10px;font-size:12px;border-radius:4px;cursor:pointer;transition:all .15s}.tpl-btn:hover{color:var(--ide-text);background:var(--ide-surface)}.tpl-btn.active{background:var(--ide-surface);color:#0284c7;font-weight:600;box-shadow:0 1px 3px #00000014}[data-theme=dark] .tpl-btn.active{background:#232a3d;color:#38bdf8;box-shadow:none}.ide-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:6px;font-size:12px;font-weight:600;background:var(--ide-surface);color:var(--ide-text);border:1px solid var(--ide-border);cursor:pointer;transition:all .15s}.ide-btn:hover:not(:disabled){background:var(--ide-surface-elevated);color:var(--ide-text);border-color:#0284c7}.ide-btn:disabled{opacity:.5;cursor:not-allowed}.ide-btn.primary-run{background:#0284c7;border-color:#0369a1;color:#fff}.ide-btn.primary-run:hover:not(:disabled){background:#0369a1}.nimbus-header kbd{background:#00000014;padding:2px 5px;border-radius:4px;font-size:10px;font-family:inherit;color:var(--ide-text-muted);border:1px solid var(--ide-border)}[data-theme=dark] .nimbus-header kbd{background:#0000004d;border-color:#ffffff1a;color:#94a3b8}.nimbus-body{display:flex;flex:1;overflow:hidden;position:relative}.nimbus-sidebar{width:220px;background:var(--ide-surface);border-right:1px solid var(--ide-border);display:flex;flex-direction:column;-webkit-user-select:none;user-select:none;transition:width .2s ease}.nimbus-sidebar.collapsed{width:0;overflow:hidden;border-right:none}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--ide-border)}.sidebar-title{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700;letter-spacing:.05em;color:var(--ide-text-muted)}.sidebar-tools{display:flex;gap:4px}.tool-icon-btn{background:transparent;border:none;color:var(--ide-text-muted);cursor:pointer;padding:3px;border-radius:4px;display:flex;align-items:center;justify-content:center}.tool-icon-btn:hover{color:var(--ide-text);background:var(--ide-surface-elevated)}.inline-new-file{display:flex;align-items:center;gap:6px;padding:6px 12px;background:var(--ide-surface-elevated);border-bottom:1px solid var(--ide-border)}.new-file-input{background:transparent;border:none;outline:none;color:#0284c7;font-family:ui-monospace,monospace;font-size:12px;width:100%}.file-tree{flex:1;overflow-y:auto;padding:6px 0}.file-node{display:flex;align-items:center;gap:8px;padding:6px 14px;cursor:pointer;font-size:13px;color:var(--ide-text);transition:all .12s}.file-node:hover{background:var(--ide-surface-elevated);color:var(--ide-text)}.file-node.active{background:#0ea5e91a;color:#0284c7;font-weight:600;border-left:2px solid #0284c7}[data-theme=dark] .file-node.active{background:#1c2333;color:#38bdf8;border-left-color:#38bdf8}.file-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,monospace;font-size:12px}.delete-file-btn{background:transparent;border:none;color:var(--ide-text-faint);cursor:pointer;font-size:14px;opacity:0;transition:opacity .15s}.file-node:hover .delete-file-btn{opacity:1}.delete-file-btn:hover{color:#ef4444}.sidebar-footer{padding:12px 14px;background:var(--ide-surface-elevated);border-top:1px solid var(--ide-border);font-size:11px}.meta-row{display:flex;justify-content:space-between;margin-bottom:4px;color:var(--ide-text-muted)}.meta-val.code{font-family:ui-monospace,monospace;color:#0284c7}[data-theme=dark] .meta-val.code{color:#38bdf8}.nimbus-workspace{flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--ide-code-bg)}.tabs-bar{display:flex;align-items:center;justify-content:space-between;height:36px;background:var(--ide-surface-elevated);border-bottom:1px solid var(--ide-border);-webkit-user-select:none;user-select:none}.tabs-scroll{display:flex;height:100%;overflow-x:auto}.editor-tab{display:flex;align-items:center;gap:8px;padding:0 14px;height:100%;background:var(--ide-tab-inactive-bg);border-right:1px solid var(--ide-border);color:var(--ide-text-muted);font-size:12px;font-family:ui-monospace,monospace;cursor:pointer;transition:all .1s}.editor-tab:hover{background:var(--ide-tab-hover-bg);color:var(--ide-text)}.editor-tab.active{background:var(--ide-tab-active-bg);color:var(--ide-text);border-top:2px solid #0284c7}[data-theme=dark] .editor-tab.active{border-top-color:#38bdf8}.tab-close{background:transparent;border:none;color:var(--ide-text-faint);cursor:pointer;font-size:14px;padding:0 2px;border-radius:3px}.tab-close:hover{background:#00000014;color:var(--ide-text)}[data-theme=dark] .tab-close:hover{background:#ffffff1a;color:#fff}.tab-action-btn{display:flex;align-items:center;gap:4px;background:transparent;border:none;color:var(--ide-text-muted);font-size:11px;padding:6px 12px;cursor:pointer}.tab-action-btn:hover,.tab-action-btn.active{color:var(--ide-text)}.editor-canvas{flex:1;position:relative;overflow:hidden;background:var(--ide-code-bg)}.empty-editor{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--ide-text-muted);gap:12px}.nimbus-status-bar{display:flex;align-items:center;justify-content:space-between;height:22px;background:#007acc;color:#fff;font-size:11px;padding:0 12px;-webkit-user-select:none;user-select:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.status-left,.status-right{display:flex;align-items:center;gap:14px}.status-item{display:flex;align-items:center;gap:4px}.bottom-panel{position:relative;background:var(--ide-surface);border-top:1px solid var(--ide-border);display:flex;flex-direction:column;z-index:15}.panel-resizer{position:absolute;top:-3px;left:0;right:0;height:6px;cursor:row-resize;z-index:20}.panel-header{display:flex;align-items:center;justify-content:space-between;height:34px;background:var(--ide-surface-elevated);border-bottom:1px solid var(--ide-border);padding:0 12px}.panel-tabs{display:flex;gap:4px}.panel-tab-btn{display:flex;align-items:center;gap:6px;background:transparent;border:none;color:var(--ide-text-muted);font-size:11px;font-weight:600;padding:6px 12px;border-radius:4px;cursor:pointer;transition:all .12s}.panel-tab-btn:hover{color:var(--ide-text);background:var(--ide-surface)}.panel-tab-btn.active{color:#0284c7;background:var(--ide-surface)}[data-theme=dark] .panel-tab-btn.active{color:#38bdf8;background:#1e2535}.badge-verdict{font-size:10px;padding:1px 6px;border-radius:4px;font-weight:700}.badge-verdict.ok{background:#10b98126;color:#059669}.badge-verdict.fail{background:#ef444426;color:#dc2626}[data-theme=dark] .badge-verdict.ok{color:#34d399}[data-theme=dark] .badge-verdict.fail{color:#f87171}.panel-actions{display:flex;gap:6px}.panel-action-btn{background:transparent;border:none;color:var(--ide-text-muted);font-size:11px;cursor:pointer;padding:2px 6px;border-radius:4px}.panel-action-btn:hover{color:var(--ide-text);background:var(--ide-surface-elevated)}.panel-body{flex:1;overflow-y:auto;padding:12px;background:var(--ide-surface-sunken)}.terminal-view{font-family:JetBrains Mono,Consolas,Menlo,monospace;font-size:12px;line-height:1.6}.term-running{display:flex;align-items:center;gap:10px;color:#0284c7}[data-theme=dark] .term-running{color:#38bdf8}.term-result{display:flex;flex-direction:column;gap:8px}.term-header{display:flex;align-items:center;gap:12px;margin-bottom:6px}.verdict-tag{font-weight:700;padding:2px 8px;border-radius:4px;font-size:11px}.verdict-tag.success{background:#10b98126;color:#059669;border:1px solid rgba(16,185,129,.3)}.verdict-tag.danger{background:#ef444426;color:#dc2626;border:1px solid rgba(239,68,68,.3)}[data-theme=dark] .verdict-tag.success{color:#10b981}[data-theme=dark] .verdict-tag.danger{color:#ef4444}.term-score{color:var(--ide-text-muted);font-size:12px}.term-stream{background:var(--ide-surface);border:1px solid var(--ide-border);border-radius:6px;padding:8px 12px}.term-stream.error{background:#ef44440d;border-color:#ef44444d}.stream-label{font-size:10px;font-weight:700;color:var(--ide-text-muted);display:block;margin-bottom:4px}.term-stream.error .stream-label{color:#ef4444}.stream-content{margin:0;white-space:pre-wrap;word-break:break-all;color:var(--ide-text);font-size:12px}.term-stream.error .stream-content{color:#dc2626}[data-theme=dark] .term-stream.error .stream-content{color:#fca5a5}.term-placeholder{color:var(--ide-text-muted);font-size:13px;text-align:center;padding:30px}.preview-view{display:flex;flex-direction:column;height:100%;background:var(--ide-surface);border-radius:6px;overflow:hidden;border:1px solid var(--ide-border)}.browser-bar{display:flex;align-items:center;gap:8px;padding:6px 12px;background:var(--ide-surface-elevated);border-bottom:1px solid var(--ide-border)}.browser-dot{width:10px;height:10px;border-radius:50%}.browser-dot.red{background:#ef4444}.browser-dot.yellow{background:#f59e0b}.browser-dot.green{background:#10b981}.browser-url{flex:1;display:flex;align-items:center;gap:6px;background:var(--ide-surface);padding:3px 10px;border-radius:4px;font-size:11px;color:var(--ide-text-muted);font-family:ui-monospace,monospace;border:1px solid var(--ide-border)}.browser-btn{background:transparent;border:none;color:var(--ide-text-muted);cursor:pointer;font-size:14px}.browser-btn:hover{color:var(--ide-text)}.preview-iframe{flex:1;width:100%;min-height:220px;border:none;background:#fff}.snapshot-list{display:flex;flex-direction:column;gap:6px}.snapshot-row{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--ide-surface);border:1px solid var(--ide-border);border-radius:6px}.ide-btn-sm{background:var(--ide-surface-elevated);border:1px solid var(--ide-border);color:var(--ide-text);padding:3px 8px;border-radius:4px;font-size:11px;cursor:pointer}.ide-btn-sm:hover{background:var(--ide-surface);color:#0284c7}.labs-hub{max-width:1200px;margin:0 auto;padding:8px 0 40px}.hub-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:32px;margin-bottom:32px;padding:32px;border-radius:16px;background:var(--ide-hero-bg);border:1px solid var(--ide-hero-border);box-shadow:var(--ide-hero-shadow);transition:all .2s ease}.hero-text h1{font-size:32px;font-weight:800;letter-spacing:-.03em;margin:0 0 10px;color:var(--ide-text)}.hero-tag{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:9999px;background:#0284c726;border:1px solid rgba(56,189,248,.3);color:#0284c7;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-bottom:12px}[data-theme=dark] .hero-tag{color:#38bdf8}.hero-sub{color:var(--ide-text-muted);font-size:14px;line-height:1.6;max-width:620px;margin:0}.hero-stats{display:flex;gap:14px}.stat-card{padding:16px 20px;border-radius:12px;background:var(--ide-card-bg);border:1px solid var(--ide-card-border);text-align:center;min-width:110px;box-shadow:var(--ide-card-shadow)}.stat-card.highlight{background:#0ea5e91a;border-color:#0ea5e94d}.stat-num{font-size:24px;font-weight:800;color:var(--ide-text);margin-bottom:2px}.stat-card.highlight .stat-num{color:#0284c7}[data-theme=dark] .stat-card.highlight .stat-num{color:#38bdf8}.stat-label{font-size:11px;color:var(--ide-text-muted);font-weight:600;text-transform:uppercase}.hub-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;flex-wrap:wrap}.search-box{position:relative;flex:1;min-width:280px}.search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--ide-text-muted);pointer-events:none}.search-input{width:100%;padding:12px 38px 12px 40px;border-radius:10px;background:var(--ide-surface);border:1px solid var(--ide-border);color:var(--ide-text);font-size:13px;outline:none;transition:all .15s}.search-input:focus{border-color:#0ea5e9;box-shadow:0 0 0 3px #0ea5e926}.clear-btn{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:transparent;border:none;color:var(--ide-text-muted);font-size:16px;cursor:pointer}.filter-pills{display:flex;gap:8px}.pill-btn{padding:8px 14px;border-radius:8px;font-size:12px;font-weight:600;background:var(--ide-surface);border:1px solid var(--ide-border);color:var(--ide-text-muted);cursor:pointer;transition:all .15s}.pill-btn:hover{background:var(--ide-surface-elevated);color:var(--ide-text)}.pill-btn.active{background:#0ea5e9;color:#fff;border-color:#0284c7}.labs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}.lab-card{display:flex;flex-direction:column;padding:20px;border-radius:14px;background:var(--ide-card-bg);border:1px solid var(--ide-card-border);box-shadow:var(--ide-card-shadow);transition:all .2s ease;position:relative;overflow:hidden}.lab-card:hover{transform:translateY(-2px);border-color:#0ea5e9;box-shadow:0 10px 24px -6px #0000001a}[data-theme=dark] .lab-card:hover{border-color:#2d384e;box-shadow:0 10px 24px -6px #0006}.card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.course-badge{font-size:11px;font-weight:600;color:#0284c7;background:#0ea5e91a;padding:3px 8px;border-radius:5px;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[data-theme=dark] .course-badge{color:#38bdf8}.diff-badge{font-size:10px;font-weight:700;text-transform:uppercase;padding:2px 7px;border-radius:4px}.diff-badge.easy{background:#10b98126;color:#059669}.diff-badge.medium{background:#f59e0b26;color:#d97706}.diff-badge.hard{background:#ef444426;color:#dc2626}[data-theme=dark] .diff-badge.easy{color:#34d399}[data-theme=dark] .diff-badge.medium{color:#fbbf24}[data-theme=dark] .diff-badge.hard{color:#f87171}.card-title{font-size:17px;font-weight:700;margin:0 0 12px;line-height:1.4}.card-title a{color:var(--ide-text);text-decoration:none;transition:color .15s}.card-title a:hover{color:#0ea5e9}.card-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px;flex:1}.tag{font-size:11px;color:var(--ide-text-muted);background:var(--ide-surface-elevated);border:1px solid var(--ide-border);padding:2px 7px;border-radius:4px}.card-footer{display:flex;justify-content:space-between;align-items:center;padding-top:14px;border-top:1px solid var(--ide-border)}.footer-meta{display:flex;gap:12px}.meta-item{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--ide-text-muted)}.solve-link{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:#0284c7;text-decoration:none;padding:6px 12px;border-radius:6px;background:#0ea5e91a;border:1px solid rgba(14,165,233,.25);transition:all .15s}.solve-link:hover{background:#0ea5e9;color:#fff}.loading-grid,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;color:var(--ide-text-muted)}.empty-icon{font-size:40px;margin-bottom:12px}.empty-state h3{color:var(--ide-text);margin:0 0 8px}.empty-state p{margin:0 0 16px}app-lab{display:flex;flex-direction:column;flex:1;min-height:0;height:100%;width:100%;overflow:hidden;background:var(--ide-bg);color:var(--ide-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;transition:background-color .15s,color .15s}.lab-workbench{display:flex;flex-direction:column;flex:1;min-height:0;height:100%;width:100%;background:var(--ide-bg)}.lab-loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:14px;color:var(--ide-text-muted)}.workbench-header{display:flex;align-items:center;justify-content:space-between;height:48px;padding:0 16px;background:var(--ide-surface);border-bottom:1px solid var(--ide-border);z-index:20;-webkit-user-select:none;user-select:none}.workbench-header .header-left,.workbench-header .header-center,.workbench-header .header-right{display:flex;align-items:center;gap:12px}.back-link{display:flex;align-items:center;gap:4px;color:var(--ide-text-muted);text-decoration:none;font-size:13px;font-weight:600;padding:4px 8px;border-radius:6px;transition:all .15s}.back-link:hover{color:var(--ide-text);background:var(--ide-surface-elevated)}.breadcrumb-sep{color:var(--ide-text-faint)}.problem-meta{display:flex;align-items:center;gap:8px}.problem-title{font-size:14px;font-weight:700;color:var(--ide-text)}.badge-solved{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;color:#059669;background:#10b98126;border:1px solid rgba(16,185,129,.3);padding:2px 7px;border-radius:4px}[data-theme=dark] .badge-solved{color:#10b981}.badge-practice{font-size:11px;font-weight:700;color:var(--ide-text-muted);background:var(--ide-surface-elevated);border:1px solid var(--ide-border);padding:2px 7px;border-radius:4px}.lang-selector{display:flex;background:var(--ide-surface-elevated);border:1px solid var(--ide-border);border-radius:6px;padding:2px}.lang-btn{background:transparent;border:none;color:var(--ide-text-muted);padding:4px 10px;font-size:12px;border-radius:4px;cursor:pointer;transition:all .12s}.lang-btn:hover{color:var(--ide-text)}.lang-btn.active{background:var(--ide-surface);color:#0284c7;font-weight:600;box-shadow:0 1px 3px #00000014}[data-theme=dark] .lang-btn.active{background:#232a3d;color:#38bdf8;box-shadow:none}.header-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:6px;font-size:12px;font-weight:600;background:var(--ide-surface);color:var(--ide-text);border:1px solid var(--ide-border);cursor:pointer;transition:all .15s}.header-btn:hover:not(:disabled){background:var(--ide-surface-elevated);color:var(--ide-text);border-color:#0284c7}.header-btn:disabled{opacity:.5;cursor:not-allowed}.header-btn.run-btn{background:#0284c7;border-color:#0369a1;color:#fff}.header-btn.run-btn:hover:not(:disabled){background:#0369a1}.header-btn.submit-btn{background:#10b981;border-color:#059669;color:#fff}.header-btn.submit-btn:hover:not(:disabled){background:#059669}.header-btn kbd{background:#00000014;padding:2px 4px;border-radius:3px;font-size:10px;color:var(--ide-text-muted)}[data-theme=dark] .header-btn kbd{background:#0000004d;color:#94a3b8}.workbench-body{display:grid;grid-template-columns:minmax(360px,44%) 1fr;flex:1;min-height:0;overflow:hidden}.problem-pane{display:flex;flex-direction:column;background:var(--ide-surface);border-right:1px solid var(--ide-border);overflow:hidden}.pane-tabs{display:flex;height:38px;background:var(--ide-surface-elevated);border-bottom:1px solid var(--ide-border);-webkit-user-select:none;user-select:none}.pane-tab{display:flex;align-items:center;gap:6px;padding:0 16px;background:transparent;border:none;color:var(--ide-text-muted);font-size:12px;font-weight:600;cursor:pointer;transition:all .12s;border-bottom:2px solid transparent}.pane-tab:hover{color:var(--ide-text)}.pane-tab.active{color:#0284c7;border-bottom-color:#0284c7;background:var(--ide-surface)}[data-theme=dark] .pane-tab.active{color:#38bdf8;border-bottom-color:#38bdf8}.pane-content{flex:1;overflow-y:auto;padding:24px}.problem-heading{font-size:22px;font-weight:800;margin:0 0 16px;color:var(--ide-text)}.statement-text{font-size:14px;line-height:1.7;color:var(--ide-text);white-space:pre-wrap}.section-subheading{font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--ide-text-muted);margin:24px 0 12px}.example-box{background:var(--ide-code-block);border:1px solid var(--ide-border);border-radius:8px;padding:14px;margin-bottom:14px}.example-header{font-size:12px;font-weight:700;color:#0284c7;margin-bottom:8px}[data-theme=dark] .example-header{color:#38bdf8}.example-field{margin-bottom:8px}.example-field:last-child{margin-bottom:0}.field-label{display:block;font-size:11px;font-weight:600;color:var(--ide-text-muted);margin-bottom:3px}.field-content{margin:0;font-family:ui-monospace,monospace;font-size:12px;color:var(--ide-text);background:var(--ide-surface);padding:6px 10px;border-radius:5px;border:1px solid var(--ide-border);white-space:pre-wrap}.specs-list{padding-left:20px;margin:0;font-size:13px;line-height:1.8;color:var(--ide-text-muted)}.specs-list strong{color:var(--ide-text)}.hints-banner{display:flex;gap:12px;padding:14px;background:#0ea5e914;border:1px solid rgba(14,165,233,.2);border-radius:8px;margin-bottom:18px}.lightbulb-icon{font-size:22px}.hints-banner h4{margin:0 0 4px;font-size:13px;color:#0284c7}[data-theme=dark] .hints-banner h4{color:#38bdf8}.hints-banner p{margin:0;font-size:12px;color:var(--ide-text-muted);line-height:1.5}.hint-cards{display:flex;flex-direction:column;gap:12px}.hint-card{background:var(--ide-code-block);border:1px solid var(--ide-border);border-radius:8px;overflow:hidden}.hint-card.unlocked{border-color:#38bdf84d}.hint-card-header{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:var(--ide-surface-elevated);border-bottom:1px solid var(--ide-border)}.hint-badge{font-size:12px;font-weight:700;color:var(--ide-text)}.unlocked-tag{font-size:10px;font-weight:700;color:#059669;background:#10b9811a;padding:2px 6px;border-radius:4px;margin-left:8px}[data-theme=dark] .unlocked-tag{color:#10b981}.unlock-btn{display:flex;align-items:center;gap:4px;font-size:11px;font-weight:600;padding:4px 10px;border-radius:5px;background:#0284c7;color:#fff;border:none;cursor:pointer;transition:background .15s}.unlock-btn:hover:not(:disabled){background:#0369a1}.unlock-btn:disabled{opacity:.6}.hint-body{padding:14px}.hint-text{margin:0;font-size:13px;line-height:1.6;color:var(--ide-text)}.locked-preview{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--ide-text-muted)}.editorial-badge{display:inline-block;font-size:11px;font-weight:700;text-transform:uppercase;color:#0284c7;background:#0ea5e91a;padding:3px 8px;border-radius:4px;margin-bottom:14px}[data-theme=dark] .editorial-badge{color:#38bdf8}.editorial-text{margin:0;font-family:inherit;font-size:14px;line-height:1.7;color:var(--ide-text);white-space:pre-wrap}.editorial-locked{text-align:center;padding:40px 20px;color:var(--ide-text-muted)}.locked-icon{font-size:36px;margin-bottom:12px}.editorial-locked h3{color:var(--ide-text);margin:0 0 8px}.editorial-locked p{margin:0 0 20px;font-size:13px;line-height:1.6}.history-list{display:flex;flex-direction:column;gap:8px}.history-item{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-radius:8px;background:var(--ide-code-block);border:1px solid var(--ide-border)}.history-item.success{border-color:#10b9814d}.sub-score{font-size:12px;font-weight:600;color:var(--ide-text-muted);margin-left:8px}.sub-lang,.sub-time{font-size:11px;color:var(--ide-text-faint);margin-left:10px}.editor-pane{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;background:var(--ide-code-bg)}.code-section{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.editor-top-bar{display:flex;justify-content:space-between;align-items:center;height:36px;background:var(--ide-surface-elevated);border-bottom:1px solid var(--ide-border);padding:0 12px;-webkit-user-select:none;user-select:none}.file-tab{display:flex;align-items:center;gap:6px;font-size:12px;font-family:ui-monospace,monospace;color:var(--ide-text)}.editor-meta-info{font-size:11px;color:var(--ide-text-muted)}.monaco-wrapper{flex:1;min-height:0;position:relative;overflow:hidden}.console-section{height:240px;background:var(--ide-surface);border-top:1px solid var(--ide-border);display:flex;flex-direction:column;z-index:10}.console-tabs-bar{display:flex;align-items:center;justify-content:space-between;height:34px;background:var(--ide-surface-elevated);border-bottom:1px solid var(--ide-border);padding:0 12px}.console-tabs{display:flex;gap:6px}.console-tab-btn{display:flex;align-items:center;gap:6px;background:transparent;border:none;color:var(--ide-text-muted);font-size:12px;font-weight:600;padding:6px 12px;border-radius:4px;cursor:pointer;transition:all .12s}.console-tab-btn:hover{color:var(--ide-text)}.console-tab-btn.active{color:#0284c7;background:var(--ide-surface)}[data-theme=dark] .console-tab-btn.active{color:#38bdf8;background:#181d2a}.verdict-dot{width:6px;height:6px;border-radius:50%;background:#dc2626}.verdict-dot.ok{background:#059669}.verdict-mini{font-size:11px;font-weight:700;color:#dc2626;background:#ef444426;padding:2px 7px;border-radius:4px}.verdict-mini.ok{color:#059669;background:#10b98126}[data-theme=dark] .verdict-mini{color:#f87171}[data-theme=dark] .verdict-mini.ok{color:#34d399}.console-body{flex:1;overflow-y:auto;padding:14px;background:var(--ide-surface-sunken)}.case-selector-bar{display:flex;gap:8px;margin-bottom:14px}.case-btn{padding:4px 12px;border-radius:6px;font-size:12px;font-weight:600;background:var(--ide-surface);border:1px solid var(--ide-border);color:var(--ide-text-muted);cursor:pointer}.case-btn.active{background:var(--ide-surface);color:#0284c7;border-color:#0284c7;box-shadow:0 1px 3px #00000014}[data-theme=dark] .case-btn.active{background:#232a3d;color:#38bdf8;border-color:#38bdf8;box-shadow:none}.case-detail{display:flex;flex-direction:column;gap:10px}.detail-block{display:flex;flex-direction:column;gap:4px}.block-label{font-size:11px;font-weight:600;color:var(--ide-text-muted)}.block-data{margin:0;font-family:ui-monospace,monospace;font-size:12px;color:var(--ide-text);background:var(--ide-surface);border:1px solid var(--ide-border);border-radius:6px;padding:8px 12px;white-space:pre-wrap}.running-state{display:flex;align-items:center;gap:10px;color:#0284c7;font-size:13px;padding:20px 0}[data-theme=dark] .running-state{color:#38bdf8}.spinner-xs{width:12px;height:12px;border:2px solid rgba(0,0,0,.1);border-top-color:#0284c7;border-radius:50%;animation:spin .8s linear infinite}[data-theme=dark] .spinner-xs{border-color:#fff3;border-top-color:#fff}.verdict-banner{display:flex;align-items:center;padding:12px 16px;border-radius:8px;background:#ef44441a;border:1px solid rgba(239,68,68,.25);margin-bottom:14px}.verdict-banner.ok{background:#10b9811a;border-color:#10b98140}.banner-title{display:flex;align-items:center;gap:12px}.banner-glyph{font-size:24px}.banner-copy h3{margin:0 0 2px;font-size:14px;font-weight:700;color:#dc2626}.verdict-banner.ok .banner-copy h3{color:#059669}[data-theme=dark] .banner-copy h3{color:#f87171}[data-theme=dark] .verdict-banner.ok .banner-copy h3{color:#34d399}.banner-copy p{margin:0;font-size:12px;color:var(--ide-text-muted)}.outcomes-list{display:flex;flex-direction:column;gap:8px}.outcomes-header{font-size:12px;font-weight:700;color:var(--ide-text-muted);margin-bottom:4px}.case-outcome-card{background:var(--ide-surface);border:1px solid var(--ide-border);border-radius:6px;padding:10px 12px}.case-outcome-card.ok{border-left:3px solid #059669}.outcome-top{display:flex;justify-content:space-between;margin-bottom:6px}.case-tag{font-size:12px;font-weight:700;color:var(--ide-text)}.case-verdict{font-size:11px;font-weight:700;color:#dc2626}.case-verdict.ok{color:#059669}[data-theme=dark] .case-verdict{color:#f87171}[data-theme=dark] .case-verdict.ok{color:#34d399}.stream-line{margin-top:6px}.line-label{display:block;font-size:10px;font-weight:600;color:var(--ide-text-muted);margin-bottom:2px}.stream-box{margin:0;font-family:ui-monospace,monospace;font-size:12px;background:var(--ide-surface-sunken);border:1px solid var(--ide-border);border-radius:4px;padding:6px 10px;color:var(--ide-text);white-space:pre-wrap}.stream-box.error{color:#dc2626;border-color:#ef44444d}[data-theme=dark] .stream-box.error{color:#fca5a5}.empty-cases{text-align:center;color:var(--ide-text-muted);padding:24px 0;font-size:13px}.cl-studio-hub{display:flex;flex-direction:column;gap:24px}.cl-studio-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;flex-wrap:wrap}.cl-studio-badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;background:var(--cl-accent-subtle);color:var(--cl-accent);border:1px solid var(--cl-accent-border, rgba(99, 91, 255, .2));margin-bottom:8px}.cl-studio-badge-dot{width:6px;height:6px;border-radius:50%;background:var(--cl-accent);box-shadow:0 0 8px var(--cl-accent)}.cl-studio-actions{display:flex;align-items:center;gap:10px}.cl-btn-secondary{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:8px;font-size:13px;font-weight:600;background:var(--cl-surface);border:1px solid var(--cl-border);color:var(--cl-text);text-decoration:none;cursor:pointer;transition:all .15s ease}.cl-btn-secondary:hover{background:var(--cl-surface-elevated);border-color:var(--cl-border-hover, #635bff);color:var(--cl-accent)}.cl-btn-primary{display:inline-flex;align-items:center;gap:6px;font-weight:600}.cl-studio-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.cl-kpi-card{background:var(--cl-surface);border:1px solid var(--cl-border);border-radius:12px;padding:18px 20px;-webkit-backdrop-filter:var(--cl-glass-blur);backdrop-filter:var(--cl-glass-blur);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.cl-kpi-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0000000f;border-color:var(--cl-border-hover, rgba(99, 91, 255, .3))}.cl-kpi-card .cl-kpi-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.cl-kpi-card .cl-kpi-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--cl-faint)}.cl-kpi-card .cl-kpi-icon{font-size:16px}.cl-kpi-card .cl-kpi-val{font-size:28px;font-weight:800;color:var(--cl-text);line-height:1.1;margin-bottom:4px}.cl-kpi-card .cl-kpi-meta{font-size:12px;color:var(--cl-faint)}.cl-kpi-card.published .cl-kpi-val{color:#10b981}.cl-kpi-card.draft .cl-kpi-val{color:#f59e0b}.cl-studio-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:12px 16px;background:var(--cl-surface);border:1px solid var(--cl-border);border-radius:12px}.cl-studio-search{display:flex;align-items:center;gap:8px;flex:1;min-width:260px;position:relative}.cl-studio-search .search-icon{position:absolute;left:12px;color:var(--cl-faint);font-size:14px;pointer-events:none}.cl-studio-search input{width:100%;padding:8px 32px 8px 36px;border-radius:8px;border:1px solid var(--cl-border);background:var(--cl-surface-elevated);color:var(--cl-text);font-size:13px}.cl-studio-search input:focus{outline:none;border-color:var(--cl-accent)}.cl-studio-search .clear-btn{position:absolute;right:10px;background:transparent;border:none;color:var(--cl-faint);cursor:pointer;font-size:12px}.cl-studio-filters{display:flex;align-items:center;gap:12px}.cl-filter-group{display:flex;background:var(--cl-surface-elevated);border:1px solid var(--cl-border);border-radius:8px;padding:2px;gap:2px}.cl-filter-tab{background:transparent;border:none;padding:6px 12px;border-radius:6px;font-size:12px;font-weight:600;color:var(--cl-faint);cursor:pointer;transition:all .15s ease}.cl-filter-tab.active{background:var(--cl-surface);color:var(--cl-text);box-shadow:0 1px 4px #00000014}.cl-view-switcher{display:flex;background:var(--cl-surface-elevated);border:1px solid var(--cl-border);border-radius:8px;padding:2px;gap:2px}.cl-view-btn{background:transparent;border:none;padding:6px 10px;border-radius:6px;font-size:12px;font-weight:600;color:var(--cl-faint);cursor:pointer}.cl-view-btn.active{background:var(--cl-surface);color:var(--cl-accent);box-shadow:0 1px 4px #00000014}.cl-studio-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}.cl-course-card{display:flex;flex-direction:column;background:var(--cl-surface);border:1px solid var(--cl-border);border-radius:14px;padding:22px;box-shadow:var(--cl-glass-shadow);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.cl-course-card:hover{transform:translateY(-3px);box-shadow:0 10px 24px #00000014;border-color:var(--cl-border-hover, rgba(99, 91, 255, .4))}.cl-course-card .cl-course-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.cl-course-card .cl-course-code-badge{font-size:11px;font-weight:800;letter-spacing:.06em;padding:3px 8px;border-radius:6px;background:var(--cl-surface-elevated);border:1px solid var(--cl-border);color:var(--cl-accent)}.cl-course-card .cl-course-card-body{flex:1;margin-bottom:16px}.cl-course-card .cl-course-card-title{font-size:17px;font-weight:750;line-height:1.3;margin:0 0 8px}.cl-course-card .cl-course-card-title a{color:var(--cl-text);text-decoration:none}.cl-course-card .cl-course-card-title a:hover{color:var(--cl-accent)}.cl-course-card .cl-course-card-desc{font-size:13px;line-height:1.5;color:var(--cl-faint);margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.cl-course-card .cl-course-card-meta{display:flex;align-items:center;gap:8px;margin-bottom:18px;flex-wrap:wrap}.cl-course-card .cl-course-card-meta .meta-tag{font-size:11px;font-weight:600;padding:3px 8px;border-radius:6px;background:var(--cl-surface-elevated);color:var(--cl-faint)}.cl-course-card .cl-course-card-meta .meta-tag.status.live{color:#10b981;background:#10b9811a}.cl-course-card .cl-course-card-actions{display:flex;align-items:center;gap:8px;border-top:1px solid var(--cl-border);padding-top:14px}.cl-course-card .cl-course-card-actions .cl-action-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:6px;font-size:12px;font-weight:600;text-decoration:none;border:1px solid var(--cl-border);background:var(--cl-surface);color:var(--cl-text);cursor:pointer;transition:all .15s ease}.cl-course-card .cl-course-card-actions .cl-action-btn.edit{background:var(--cl-accent);border-color:var(--cl-accent);color:#fff;flex:1;justify-content:center}.cl-course-card .cl-course-card-actions .cl-action-btn.edit:hover{filter:brightness(1.1)}.cl-course-card .cl-course-card-actions .cl-action-btn.preview:hover{background:var(--cl-surface-elevated);color:var(--cl-accent)}.cl-course-card .cl-course-card-actions .cl-action-btn.delete{color:var(--cl-danger)}.cl-course-card .cl-course-card-actions .cl-action-btn.delete:hover{background:#ef44441a;border-color:var(--cl-danger)}.cl-studio-table-wrap{background:var(--cl-surface);border:1px solid var(--cl-border);border-radius:12px;overflow:hidden}.cl-studio-table{width:100%;border-collapse:collapse}.cl-studio-table th{padding:12px 18px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--cl-faint);background:var(--cl-surface-elevated);border-bottom:1px solid var(--cl-border);text-align:left}.cl-studio-table td{padding:14px 18px;font-size:13px;border-bottom:1px solid var(--cl-border);vertical-align:middle}.cl-studio-table tr:last-child td{border-bottom:none}.cl-studio-table tr:hover td{background:var(--cl-surface-elevated)}.cl-studio-table .cl-code-tag{font-size:11px;font-weight:800;padding:3px 8px;border-radius:6px;background:var(--cl-accent-subtle);color:var(--cl-accent)}.cl-studio-table .cl-table-title a{font-weight:700;color:var(--cl-text);text-decoration:none}.cl-studio-table .cl-table-title a:hover{color:var(--cl-accent)}.cl-studio-table .cl-table-sub{font-size:12px;color:var(--cl-faint);margin-top:2px}.cl-studio-table .cl-table-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px}.cl-studio-table .cl-table-actions .cl-link-sub{color:var(--cl-faint);text-decoration:none;font-size:12px;font-weight:600}.cl-studio-table .cl-table-actions .cl-link-sub:hover{color:var(--cl-text)}.cl-studio-table .cl-table-actions .primary-link{color:var(--cl-accent);text-decoration:none;font-size:12px;font-weight:700}.cl-studio-table .cl-table-actions .primary-link:hover{text-decoration:underline}.cl-studio-table .cl-table-actions .cl-icon-del{background:transparent;border:none;color:var(--cl-faint);cursor:pointer;font-size:14px}.cl-studio-table .cl-table-actions .cl-icon-del:hover{color:var(--cl-danger)}.cl-studio-editor-container{display:flex;flex-direction:column;gap:16px;min-height:calc(100vh - 120px)}.cl-studio-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px;background:var(--cl-surface);border:1px solid var(--cl-border);border-radius:12px;flex-wrap:wrap}.cl-studio-topbar .cl-topbar-left{display:flex;align-items:center;gap:10px}.cl-studio-topbar .cl-back-link{font-size:13px;font-weight:700;color:var(--cl-faint);text-decoration:none}.cl-studio-topbar .cl-back-link:hover{color:var(--cl-text)}.cl-studio-topbar .cl-topbar-crumb-sep{color:var(--cl-border)}.cl-studio-topbar .cl-topbar-course-info{display:flex;align-items:center;gap:10px}.cl-studio-topbar .cl-course-code-pill{font-size:11px;font-weight:800;padding:3px 8px;border-radius:6px;background:var(--cl-accent-subtle);color:var(--cl-accent)}.cl-studio-topbar .cl-topbar-title{font-size:17px;font-weight:750;margin:0;color:var(--cl-text)}.cl-studio-topbar .cl-topbar-right{display:flex;align-items:center;gap:12px}.cl-studio-topbar .cl-health-indicator{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;padding:4px 10px;border-radius:999px;background:#f59e0b1f;color:#f59e0b;border:1px solid rgba(245,158,11,.3)}.cl-studio-topbar .cl-health-indicator .dot{width:6px;height:6px;border-radius:50%;background:currentColor}.cl-studio-topbar .cl-health-indicator.ready{background:#10b9811f;color:#10b981;border-color:#10b9814d}.cl-studio-topbar .cl-published-label{font-size:12px;font-weight:700;color:#10b981}.cl-studio-nav-tabs{display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--cl-border);padding-bottom:4px}.cl-studio-tab-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:8px 8px 0 0;border:none;background:transparent;font-size:13px;font-weight:600;color:var(--cl-faint);cursor:pointer;position:relative;transition:all .15s ease}.cl-studio-tab-btn:hover{color:var(--cl-text);background:var(--cl-surface-elevated)}.cl-studio-tab-btn.active{color:var(--cl-accent);background:var(--cl-surface);font-weight:700}.cl-studio-tab-btn.active:after{content:"";position:absolute;bottom:-4px;left:0;right:0;height:2px;background:var(--cl-accent)}.cl-studio-tab-btn .tab-badge{font-size:10px;font-weight:700;padding:1px 6px;border-radius:999px;background:var(--cl-surface-elevated);color:var(--cl-faint)}.cl-studio-tab-btn .tab-badge.ok{background:#10b98126;color:#10b981}.cl-curriculum-workspace{display:grid;grid-template-columns:280px minmax(0,1fr);gap:16px;flex:1}.cl-curriculum-sidebar{background:var(--cl-surface);border:1px solid var(--cl-border);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:14px;max-height:calc(100vh - 220px);overflow-y:auto}.cl-curriculum-sidebar .cl-sidebar-header{display:flex;align-items:center;justify-content:space-between}.cl-curriculum-sidebar .cl-sidebar-header h3{font-size:13px;font-weight:750;text-transform:uppercase;letter-spacing:.05em;color:var(--cl-faint);margin:0}.cl-curriculum-sidebar .cl-sidebar-header .cl-mini-btn{background:var(--cl-surface-elevated);border:1px solid var(--cl-border);border-radius:6px;padding:4px 8px;font-size:11px;font-weight:700;color:var(--cl-accent);cursor:pointer}.cl-curriculum-sidebar .cl-sidebar-header .cl-mini-btn:hover{background:var(--cl-accent-subtle)}.cl-curriculum-sidebar .cl-module-list{display:flex;flex-direction:column;gap:12px}.cl-curriculum-sidebar .cl-module-block{background:var(--cl-surface-elevated);border:1px solid var(--cl-border);border-radius:8px;overflow:hidden}.cl-curriculum-sidebar .cl-module-title-bar{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:#00000005;border-bottom:1px solid var(--cl-border)}.cl-curriculum-sidebar .cl-module-title-bar .cl-module-info{display:flex;align-items:center;gap:6px}.cl-curriculum-sidebar .cl-module-title-bar .cl-module-num{font-size:10px;font-weight:800;color:var(--cl-accent)}.cl-curriculum-sidebar .cl-module-title-bar .cl-module-name{font-size:12px;font-weight:700;color:var(--cl-text)}.cl-curriculum-sidebar .cl-module-title-bar .cl-module-actions{display:flex;gap:4px}.cl-curriculum-sidebar .cl-module-title-bar .cl-icon-action{background:transparent;border:none;font-size:13px;color:var(--cl-faint);cursor:pointer;padding:2px 4px;border-radius:4px}.cl-curriculum-sidebar .cl-module-title-bar .cl-icon-action:hover{color:var(--cl-text);background:#0000000d}.cl-curriculum-sidebar .cl-module-title-bar .cl-icon-action.danger:hover{color:var(--cl-danger)}.cl-curriculum-sidebar .cl-lesson-sublist{display:flex;flex-direction:column;padding:4px}.cl-curriculum-sidebar .cl-lesson-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:6px;border:none;background:transparent;text-align:left;cursor:pointer;font-size:12px;font-weight:600;color:var(--cl-text);transition:all .15s ease}.cl-curriculum-sidebar .cl-lesson-item:hover{background:var(--cl-surface)}.cl-curriculum-sidebar .cl-lesson-item.active{background:var(--cl-surface);border:1px solid var(--cl-accent-border, rgba(99, 91, 255, .3));color:var(--cl-accent);font-weight:700}.cl-curriculum-sidebar .cl-lesson-item .cl-lesson-title{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cl-curriculum-sidebar .cl-lesson-item .cl-lesson-num{font-size:10px;color:var(--cl-faint)}.cl-curriculum-sidebar .cl-no-lessons{padding:10px;text-align:center;font-size:11px;color:var(--cl-faint)}.cl-curriculum-sidebar .cl-no-lessons .cl-link-btn{display:block;margin:4px auto 0;background:transparent;border:none;color:var(--cl-accent);font-weight:700;cursor:pointer}.cl-lesson-stage{background:var(--cl-surface);border:1px solid var(--cl-border);border-radius:12px;display:flex;flex-direction:column;overflow:hidden}.cl-lesson-editor-pane{display:flex;flex-direction:column;height:100%}.cl-editor-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px;border-bottom:1px solid var(--cl-border);background:var(--cl-surface-elevated);flex-wrap:wrap}.cl-editor-header .cl-editor-title-wrap{flex:1;min-width:240px}.cl-editor-header .cl-field-label{display:block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--cl-faint);margin-bottom:4px}.cl-editor-header .cl-lesson-title-input{width:100%;font-size:16px;font-weight:750;padding:6px 10px;border-radius:6px;border:1px solid var(--cl-border);background:var(--cl-surface);color:var(--cl-text)}.cl-editor-header .cl-editor-meta-wrap{display:flex;align-items:flex-end;gap:12px}.cl-editor-header .cl-select{padding:6px 12px;border-radius:6px;border:1px solid var(--cl-border);background:var(--cl-surface);color:var(--cl-text);font-size:12px;font-weight:600}.cl-editor-header .cl-editor-actions{display:flex;align-items:center;gap:8px}.cl-editor-header .cl-save-lesson-btn{font-size:12px;font-weight:700;padding:7px 16px}.cl-video-config-bar{padding:12px 20px;border-bottom:1px solid var(--cl-border);background:#00000003}.cl-video-config-bar .cl-video-input-wrap{display:flex;align-items:center;gap:8px;margin-bottom:10px}.cl-video-config-bar .cl-video-input-wrap .cl-video-icon{font-size:16px}.cl-video-config-bar .cl-video-input-wrap .cl-video-url-input{flex:1;padding:6px 12px;border-radius:6px;border:1px solid var(--cl-border);background:var(--cl-surface);color:var(--cl-text);font-size:12px}.cl-video-config-bar .cl-video-preview-wrapper{max-width:480px;border-radius:8px;overflow:hidden;aspect-ratio:16/9;border:1px solid var(--cl-border);margin:8px 0}.cl-video-config-bar .cl-video-preview-wrapper .cl-video-preview-frame{width:100%;height:100%}.cl-markdown-authoring-container{display:flex;flex-direction:column;flex:1;min-height:480px}.cl-markdown-toolbar{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;border-bottom:1px solid var(--cl-border);background:var(--cl-surface-elevated);gap:8px;flex-wrap:wrap}.cl-markdown-toolbar .cl-toolbar-left{display:flex;align-items:center;gap:4px}.cl-markdown-toolbar .cl-tool-btn{background:transparent;border:1px solid transparent;border-radius:4px;padding:4px 8px;font-size:12px;font-weight:700;color:var(--cl-text);cursor:pointer}.cl-markdown-toolbar .cl-tool-btn:hover{background:var(--cl-surface);border-color:var(--cl-border)}.cl-markdown-toolbar .cl-tool-sep{width:1px;height:16px;background:var(--cl-border);margin:0 4px}.cl-markdown-toolbar .cl-view-modes{display:flex;background:var(--cl-surface);border:1px solid var(--cl-border);border-radius:6px;padding:2px;gap:2px}.cl-markdown-toolbar .cl-view-mode-btn{background:transparent;border:none;padding:4px 8px;border-radius:4px;font-size:11px;font-weight:600;color:var(--cl-faint);cursor:pointer}.cl-markdown-toolbar .cl-view-mode-btn.active{background:var(--cl-surface-elevated);color:var(--cl-accent);font-weight:700}.cl-markdown-panels{display:grid;grid-template-columns:1fr;flex:1;min-height:0}.cl-markdown-panels.split{grid-template-columns:1fr 1fr}.cl-markdown-panels .cl-editor-pane{display:flex;flex-direction:column;border-right:1px solid var(--cl-border)}.cl-markdown-panels .cl-markdown-textarea{width:100%;height:100%;min-height:440px;padding:18px;border:none;background:var(--cl-surface);color:var(--cl-text);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px;line-height:1.6;resize:none;outline:none}.cl-markdown-panels .cl-preview-pane{padding:22px 26px;overflow-y:auto;background:var(--cl-surface-elevated);max-height:600px}.cl-markdown-panels .cl-rendered-content{font-size:14px;line-height:1.7;color:var(--cl-text)}.cl-markdown-panels .cl-rendered-content h1,.cl-markdown-panels .cl-rendered-content h2,.cl-markdown-panels .cl-rendered-content h3{color:var(--cl-text);margin-top:18px;margin-bottom:8px}.cl-markdown-panels .cl-rendered-content p{margin-bottom:12px}.cl-markdown-panels .cl-rendered-content blockquote{border-left:3px solid var(--cl-accent);padding-left:12px;margin:12px 0;color:var(--cl-faint);font-style:italic}.cl-markdown-panels .cl-rendered-content pre{background:#0f172a;color:#f8fafc;padding:14px;border-radius:8px;overflow-x:auto}.cl-markdown-panels .cl-rendered-content code{font-family:monospace;background:#0000000f;padding:2px 5px;border-radius:4px}.cl-lesson-empty-stage{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.cl-lesson-empty-stage .cl-stage-graphic{font-size:42px;margin-bottom:14px}.cl-lesson-empty-stage h3{margin-bottom:6px;font-size:18px}.cl-quiz-workspace{display:flex;flex-direction:column;gap:20px}.cl-quiz-header-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;background:var(--cl-surface);border:1px solid var(--cl-border);border-radius:12px;flex-wrap:wrap}.cl-quiz-header-banner .cl-quiz-badge{font-size:11px;font-weight:700;text-transform:uppercase;color:var(--cl-accent)}.cl-quiz-header-banner h2{margin:4px 0;font-size:20px}.cl-quiz-header-banner .cl-quiz-header-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.cl-questions-grid{display:flex;flex-direction:column;gap:14px}.cl-question-card{background:var(--cl-surface);border:1px solid var(--cl-border);border-radius:10px;padding:16px 20px}.cl-question-card .cl-question-card-top{display:flex;align-items:center;gap:10px;margin-bottom:10px}.cl-question-card .cl-question-num-tag{font-size:11px;font-weight:800;color:var(--cl-accent)}.cl-question-card .cl-qtype-badge{font-size:11px;font-weight:600;padding:2px 8px;border-radius:4px;background:var(--cl-surface-elevated);color:var(--cl-faint)}.cl-question-card .cl-points-badge{font-size:11px;font-weight:700;color:var(--cl-faint)}.cl-question-card .cl-qdel-btn{margin-left:auto;background:transparent;border:none;color:var(--cl-faint);cursor:pointer;font-size:13px}.cl-question-card .cl-qdel-btn:hover{color:var(--cl-danger)}.cl-question-card .cl-question-prompt{font-size:14px;font-weight:600;color:var(--cl-text);margin-bottom:12px}.cl-question-card .cl-question-options{display:flex;flex-direction:column;gap:6px}.cl-question-card .cl-qoption-row{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:6px;background:var(--cl-surface-elevated);font-size:13px}.cl-question-card .cl-qoption-row.is-correct{background:#10b98114;border:1px solid rgba(16,185,129,.25)}.cl-question-card .cl-qoption-row .cl-option-letter{font-weight:800;color:var(--cl-faint);width:18px}.cl-question-card .cl-qoption-row .cl-option-text{flex:1;color:var(--cl-text)}.cl-question-card .cl-qoption-row .cl-correct-pill{font-size:11px;font-weight:700;color:#10b981}.cl-settings-workspace{display:flex;flex-direction:column}.cl-settings-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:20px}.cl-settings-card{background:var(--cl-surface);border:1px solid var(--cl-border);border-radius:12px;padding:24px}.cl-settings-card h3{margin-top:0;margin-bottom:6px;font-size:17px}.field-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.cl-health-checklist{list-style:none;padding:0;margin:20px 0;display:flex;flex-direction:column;gap:12px}.cl-health-checklist li{display:flex;align-items:flex-start;gap:12px;padding:10px 14px;border-radius:8px;background:var(--cl-surface-elevated);border:1px solid var(--cl-border)}.cl-health-checklist li .check-icon{font-weight:800;color:var(--cl-faint)}.cl-health-checklist li.pass{border-color:#10b98140;background:#10b9810a}.cl-health-checklist li.pass .check-icon{color:#10b981}.cl-health-checklist li .check-sub{font-size:11px;color:var(--cl-faint);margin-top:2px}.cl-publish-action-box{margin-top:24px;padding-top:18px;border-top:1px solid var(--cl-border)}.cl-publish-action-box .cl-full-btn{width:100%;padding:12px;font-size:14px;font-weight:700}.cl-published-banner{display:flex;align-items:center;gap:12px;padding:14px 18px;border-radius:8px;background:#10b9811a;border:1px solid rgba(16,185,129,.3)}.cl-published-banner .icon{font-size:20px;color:#10b981;font-weight:900}.cl-attached-coding-card{background:var(--cl-surface);border:1px solid var(--cl-border);border-radius:12px;padding:24px}.cl-attached-coding-card .cl-coding-tag{font-size:11px;font-weight:800;text-transform:uppercase;color:var(--cl-accent);margin-bottom:4px}.cl-attached-coding-card h3{margin:0 0 8px}.cl-attached-coding-card .cl-coding-card-actions{display:flex;gap:12px;margin-top:18px}.cl-attach-banner{margin-top:16px;padding:14px;border-radius:8px;background:var(--cl-surface-elevated);border:1px solid var(--cl-border);display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.modal-body-pad{padding:8px 4px 4px}.modal-subhead{font-size:13px;color:var(--cl-faint);margin-bottom:16px}.req{color:var(--cl-danger)}@media(max-width:860px){.cl-curriculum-workspace,.cl-settings-grid,.cl-markdown-panels.split{grid-template-columns:1fr}}.iam-container{display:flex;flex-direction:column;gap:20px}.iam-top-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:4px}.iam-workspace-grid{display:grid;grid-template-columns:310px minmax(0,1fr);gap:22px;align-items:start}@media(max-width:990px){.iam-workspace-grid{grid-template-columns:1fr}}.iam-sidebar{display:flex;flex-direction:column;gap:12px;background:var(--cl-surface);backdrop-filter:var(--cl-glass-blur);-webkit-backdrop-filter:var(--cl-glass-blur);border:1px solid var(--cl-border);border-radius:var(--cl-radius-lg);padding:16px;box-shadow:var(--cl-glass-shadow),var(--cl-glass-highlight)}.iam-sidebar-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:8px;border-bottom:1px solid var(--cl-border)}.iam-sidebar-header h3{margin:0;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--cl-faint)}.iam-scope-tabs{display:flex;gap:4px;flex-wrap:wrap}.iam-scope-tab{border:0;background:transparent;padding:4px 8px;border-radius:var(--cl-radius-sm);font-size:11.5px;font-weight:600;color:var(--cl-muted);cursor:pointer;transition:all .12s ease}.iam-scope-tab:hover{background:var(--cl-surface-elevated);color:var(--cl-text)}.iam-scope-tab.active{background:var(--cl-accent-soft);color:var(--cl-accent);font-weight:700}.iam-role-list{display:flex;flex-direction:column;gap:6px;max-height:calc(100vh - 280px);overflow-y:auto;padding-right:2px}.iam-role-card{display:flex;flex-direction:column;gap:6px;padding:12px 14px;border-radius:var(--cl-radius);border:1px solid transparent;background:transparent;cursor:pointer;text-align:left;transition:all .15s cubic-bezier(.16,1,.3,1);position:relative;width:100%}.iam-role-card:hover{background:var(--cl-surface-elevated);border-color:var(--cl-border);transform:translate(2px)}.iam-role-card.active{background:var(--cl-surface-elevated);border-color:#635bff59;box-shadow:0 4px 14px #635bff1f,inset 0 1px #fff9}.iam-role-card.active:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3.5px;border-radius:0 4px 4px 0;background:var(--cl-accent);box-shadow:0 0 8px var(--cl-accent)}.iam-role-top{display:flex;align-items:center;justify-content:space-between;gap:6px}.iam-role-title{font-size:13.5px;font-weight:650;color:var(--cl-text);margin:0}.iam-role-sub{font-size:11.5px;color:var(--cl-muted);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.iam-role-meta{display:flex;align-items:center;gap:6px;margin-top:2px}.iam-detail-panel{display:flex;flex-direction:column;gap:18px}.iam-hero-card{background:var(--cl-surface);backdrop-filter:var(--cl-glass-blur);-webkit-backdrop-filter:var(--cl-glass-blur);border:1px solid var(--cl-border);border-radius:var(--cl-radius-lg);padding:22px 26px;box-shadow:var(--cl-glass-shadow),var(--cl-glass-highlight);display:flex;flex-direction:column;gap:16px}.iam-hero-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.iam-hero-info h2{font-size:20px;font-weight:750;margin:0 0 6px;letter-spacing:-.02em;color:var(--cl-text)}.iam-hero-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.iam-safety-banner{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:var(--cl-radius);background:#635bff14;border:1px solid rgba(99,91,255,.2);font-size:13px;color:var(--cl-text)}.iam-safety-banner.locked{background:#64748b14;border-color:#64748b40}.iam-safety-banner.current-user{background:#f59e0b1a;border-color:#f59e0b4d}.iam-unsaved-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 20px;border-radius:var(--cl-radius);background:linear-gradient(135deg,#635bff24,#00d4ff14);border:1px solid rgba(99,91,255,.35);box-shadow:0 4px 16px #635bff26;animation:slide-down .2s cubic-bezier(.16,1,.3,1)}@keyframes slide-down{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.iam-unsaved-text{display:flex;align-items:center;gap:8px;font-weight:650;font-size:13.5px;color:var(--cl-text)}.iam-perms-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 20px;background:var(--cl-surface);backdrop-filter:var(--cl-glass-blur);-webkit-backdrop-filter:var(--cl-glass-blur);border:1px solid var(--cl-border);border-radius:var(--cl-radius-lg);flex-wrap:wrap}.iam-perms-stat{font-size:13px;font-weight:600;color:var(--cl-muted)}.iam-perms-stat strong{color:var(--cl-accent);font-size:14px}.iam-modules-list{display:flex;flex-direction:column;gap:14px}.iam-module-card{background:var(--cl-surface);backdrop-filter:var(--cl-glass-blur);-webkit-backdrop-filter:var(--cl-glass-blur);border:1px solid var(--cl-border);border-radius:var(--cl-radius-lg);box-shadow:var(--cl-glass-shadow),var(--cl-glass-highlight);overflow:hidden;transition:border-color .15s ease}.iam-module-card:hover{border-color:#635bff4d}.iam-module-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;background:var(--cl-surface-elevated);border-bottom:1px solid var(--cl-border);cursor:pointer;-webkit-user-select:none;user-select:none}.iam-module-title{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:700;color:var(--cl-text)}.iam-module-actions{display:flex;align-items:center;gap:8px}.iam-perms-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:10px;padding:16px 20px}.iam-perm-item{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border-radius:var(--cl-radius);background:var(--cl-surface-elevated);border:1px solid var(--cl-border);transition:all .15s ease}.iam-perm-item:hover{background:var(--cl-surface-solid);border-color:#635bff4d}.iam-perm-item.is-granted{border-color:#635bff4d;background:var(--cl-accent-soft)}.iam-perm-details{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.iam-perm-code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;font-weight:700;color:var(--cl-text);display:flex;align-items:center;gap:6px}.iam-perm-desc{font-size:12px;color:var(--cl-muted);line-height:1.4}.iam-matrix-wrapper{background:var(--cl-surface);backdrop-filter:var(--cl-glass-blur);-webkit-backdrop-filter:var(--cl-glass-blur);border:1px solid var(--cl-border);border-radius:var(--cl-radius-lg);box-shadow:var(--cl-glass-shadow),var(--cl-glass-highlight);overflow-x:auto;max-width:100%}.iam-matrix-table{width:100%;min-width:800px;border-collapse:separate;border-spacing:0}.iam-matrix-table th{position:sticky;top:0;z-index:2;background:var(--cl-surface-elevated);padding:12px 14px;font-size:12px;font-weight:700;color:var(--cl-text);border-bottom:2px solid var(--cl-border);white-space:nowrap}.iam-matrix-table th.perm-col{text-align:left;min-width:240px}.iam-matrix-table th.role-col{text-align:center;min-width:120px}.iam-matrix-table td{padding:10px 14px;border-bottom:1px solid var(--cl-border);font-size:13px}.iam-matrix-table td.role-cell{text-align:center}.iam-matrix-table tr.module-section-row td{background:#635bff0d;font-weight:750;text-transform:uppercase;font-size:11px;letter-spacing:.06em;color:var(--cl-accent);padding:8px 14px}.matrix-check-btn{background:transparent;border:none;cursor:pointer;padding:4px;border-radius:4px;display:inline-grid;place-items:center;transition:all .12s ease}.matrix-check-btn:hover:not(:disabled){background:var(--cl-accent-soft)}.matrix-check-btn:disabled{cursor:default}.dash-container{display:flex;flex-direction:column;gap:24px;max-width:1400px;margin:0 auto;width:100%}.dash-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:24px 28px;background:var(--cl-surface-elevated);backdrop-filter:var(--cl-glass-blur);-webkit-backdrop-filter:var(--cl-glass-blur);border:1px solid var(--cl-border);border-radius:var(--cl-radius-lg);box-shadow:0 4px 20px #00000008;position:relative;overflow:hidden}.dash-hero:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--cl-accent-gradient)}.dash-hero-title{font-size:24px;font-weight:800;letter-spacing:-.03em;color:var(--cl-text);margin:0 0 6px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.dash-hero-sub{color:var(--cl-muted);font-size:13.5px;margin:0;display:flex;align-items:center;gap:8px}.dash-hero-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.persona-preview-chip{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:99px;background:var(--cl-surface);border:1px solid var(--cl-border);font-size:12px;font-weight:600;color:var(--cl-text)}.dash-recommend-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 18px;border-radius:var(--cl-radius);background:linear-gradient(135deg,#635bff14,#a855f714);border:1px solid rgba(99,91,255,.25);animation:fadeIn .3s ease}.dash-recommend-content{display:flex;align-items:center;gap:12px;font-size:13px;color:var(--cl-text)}.dash-recommend-icon{font-size:18px}.dash-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.kpi-card{padding:18px 20px;background:var(--cl-surface-elevated);backdrop-filter:var(--cl-glass-blur);-webkit-backdrop-filter:var(--cl-glass-blur);border:1px solid var(--cl-border);border-radius:var(--cl-radius);box-shadow:0 2px 10px #00000005;display:flex;flex-direction:column;gap:10px;transition:all .2s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden;text-decoration:none;color:inherit}.kpi-card:hover{transform:translateY(-2px);border-color:#635bff4d;box-shadow:0 6px 20px #635bff14}.kpi-head{display:flex;align-items:center;justify-content:space-between}.kpi-icon-wrap{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:var(--cl-accent-soft);color:var(--cl-accent);font-size:16px}.kpi-icon-wrap.green{background:#10b9811f;color:var(--cl-success)}.kpi-icon-wrap.amber{background:#f59e0b1f;color:var(--cl-warning)}.kpi-icon-wrap.red{background:#ef44441f;color:var(--cl-danger)}.kpi-icon-wrap.blue{background:#3b82f61f;color:#3b82f6}.kpi-icon-wrap.purple{background:#a855f71f;color:#a855f7}.kpi-value{font-size:26px;font-weight:800;letter-spacing:-.03em;color:var(--cl-text);line-height:1.1}.kpi-label{font-size:12.5px;font-weight:600;color:var(--cl-muted)}.kpi-footer{font-size:11.5px;color:var(--cl-faint);display:flex;align-items:center;gap:4px}.dash-grid-12{display:grid;grid-template-columns:repeat(12,1fr);gap:20px}.col-12{grid-column:span 12}.col-8{grid-column:span 8}.col-6{grid-column:span 6}.col-4{grid-column:span 4}@media(max-width:1024px){.col-8,.col-6,.col-4{grid-column:span 12}}.widget-card{background:var(--cl-surface-elevated);backdrop-filter:var(--cl-glass-blur);-webkit-backdrop-filter:var(--cl-glass-blur);border:1px solid var(--cl-border);border-radius:var(--cl-radius-lg);box-shadow:0 2px 12px #00000005;display:flex;flex-direction:column;overflow:hidden;transition:border-color .2s ease}.widget-card:hover{border-color:#635bff40}.widget-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--cl-border);background:var(--cl-surface)}.widget-title-group{display:flex;align-items:center;gap:10px}.widget-title-group h3{font-size:15px;font-weight:750;margin:0;color:var(--cl-text)}.widget-actions{display:flex;align-items:center;gap:8px}.widget-body{padding:20px;flex:1}.widget-body.no-padding{padding:0}.quick-action-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.quick-action-btn{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--cl-surface);border:1px solid var(--cl-border);border-radius:var(--cl-radius);text-decoration:none;color:var(--cl-text);font-weight:650;font-size:13px;transition:all .15s ease;cursor:pointer;text-align:left}.quick-action-btn:hover{background:var(--cl-accent-soft);border-color:var(--cl-accent);color:var(--cl-accent);transform:translateY(-1px)}.quick-action-icon{width:32px;height:32px;border-radius:8px;display:grid;place-items:center;background:var(--cl-surface-elevated);border:1px solid var(--cl-border);font-size:15px;flex-shrink:0}.telemetry-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.telemetry-card{padding:14px;border-radius:var(--cl-radius);background:var(--cl-surface);border:1px solid var(--cl-border);display:flex;flex-direction:column;gap:8px}.telemetry-card-head{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--cl-muted);font-weight:600}.telemetry-card-val{font-size:14px;font-weight:750;color:var(--cl-text)}.telemetry-card-sub{font-size:11px;color:var(--cl-faint)}.activity-stream{display:flex;flex-direction:column}.activity-row{display:flex;align-items:flex-start;gap:12px;padding:12px 18px;border-bottom:1px solid var(--cl-border-light);font-size:13px}.activity-row:last-child{border-bottom:none}.activity-avatar{width:28px;height:28px;border-radius:99px;background:var(--cl-accent-soft);color:var(--cl-accent);display:grid;place-items:center;font-size:11px;font-weight:750;flex-shrink:0}.activity-content{flex:1;min-width:0}.activity-title{color:var(--cl-text);line-height:1.4}.activity-meta{font-size:11px;color:var(--cl-faint);margin-top:2px}.preset-pills-wrap{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.preset-pill-btn{padding:8px 14px;border-radius:99px;border:1px solid var(--cl-border);background:var(--cl-surface);color:var(--cl-muted);font-size:12.5px;font-weight:650;cursor:pointer;transition:all .15s ease}.preset-pill-btn:hover{background:var(--cl-surface-elevated);color:var(--cl-text)}.preset-pill-btn.active{background:var(--cl-accent-soft);border-color:var(--cl-accent);color:var(--cl-accent)}.widget-manager-list{display:flex;flex-direction:column;gap:10px;max-height:380px;overflow-y:auto;padding-right:4px}.widget-manager-row{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-radius:var(--cl-radius);background:var(--cl-surface);border:1px solid var(--cl-border);gap:14px}.widget-manager-info{display:flex;align-items:center;gap:10px;flex:1}.widget-manager-order-btns{display:flex;gap:4px}
