@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap";:root{--clr-primary:#198754;--clr-primary-dark:#146c43;--clr-primary-hover:#157347;--clr-primary-light:#ecfdf5;--clr-primary-soft:#1987541a;--clr-teal:#0f9d8a;--clr-teal-glow:#0f9d8a38;--clr-gradient:linear-gradient(135deg, #198754, #0f9d8a);--clr-top-bar:linear-gradient(90deg, #198754, #0f9d8a, #06b6d4);--clr-bg:#eef1f4;--clr-surface:#ffffffeb;--clr-card:#fff;--clr-border:#dbe5ef;--sb-bg:#0b1523;--sb-border:#ffffff0f;--sb-w:252px;--sb-w-collapsed:68px;--clr-slate:#0f172a;--clr-slate-700:#334155;--clr-slate-600:#475569;--clr-slate-500:#64748b;--clr-slate-400:#94a3b8;--clr-slate-300:#cbd5e1;--clr-slate-200:#e2e8f0;--clr-slate-100:#f1f5f9;--clr-blue:#3b82f6;--clr-amber:#f59e0b;--clr-red:#ef4444;--clr-purple:#8b5cf6;--font-body:"Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--text-xs:.68rem;--text-sm:.78rem;--text-base:.88rem;--text-md:1rem;--text-lg:1.1rem;--text-xl:1.25rem;--radius-xl:18px;--radius-lg:14px;--radius-md:10px;--radius-sm:8px;--radius-xs:6px;--radius-pill:999px;--shadow-sm:0 2px 8px #0f172a0d;--shadow-md:0 4px 20px #0f172a12;--shadow-lg:0 8px 32px #0f172a1a;--shadow-xl:0 20px 60px #0f172a2e;--topbar-h:64px;--transition:.18s cubic-bezier(.4, 0, .2, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);font-size:var(--text-base);color:var(--clr-slate);background:var(--clr-bg);-webkit-font-smoothing:antialiased;line-height:1.6}a{color:var(--clr-primary);text-decoration:none}a:hover{color:var(--clr-primary-dark)}.page-body{flex:1;padding:28px}.card{background:var(--clr-card);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);border:1px solid var(--clr-border);overflow:hidden}.card-accent{background:var(--clr-gradient);height:4px}.card-body{padding:24px}.card-header{border-bottom:1px solid var(--clr-border);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.card-title{font-weight:600;font-size:var(--text-md);color:var(--clr-slate)}.btn{border-radius:var(--radius-md);height:40px;font-family:var(--font-body);font-size:var(--text-sm);cursor:pointer;transition:all var(--transition);border:none;align-items:center;gap:8px;padding:0 18px;font-weight:600;text-decoration:none;display:inline-flex}.btn-primary{background:var(--clr-gradient);color:#fff;box-shadow:0 2px 8px #19875440}.btn-primary:hover{opacity:.92;transform:translateY(-1px);box-shadow:0 4px 14px #19875459}.btn-outline{color:var(--clr-primary);border:1.5px solid var(--clr-primary);background:0 0}.btn-outline:hover{background:var(--clr-primary-light)}.btn-ghost{color:var(--clr-slate-600);border:1.5px solid var(--clr-border);background:0 0}.btn-ghost:hover{background:var(--clr-slate-100)}.btn-danger{background:var(--clr-red);color:#fff}.btn-danger:hover{opacity:.9}.btn-sm{height:32px;font-size:var(--text-xs);padding:0 12px}.btn-lg{height:48px;font-size:var(--text-md);padding:0 24px}.badge{border-radius:var(--radius-pill);font-size:var(--text-xs);align-items:center;gap:4px;padding:3px 10px;font-weight:600;display:inline-flex}.badge-green{background:var(--clr-primary-light);color:var(--clr-primary)}.badge-amber{color:var(--clr-amber);background:#f59e0b1f}.badge-red{color:var(--clr-red);background:#ef44441a}.badge-blue{color:var(--clr-blue);background:#3b82f61a}.badge-gray{background:var(--clr-slate-100);color:var(--clr-slate-500)}.input{border:1.5px solid var(--clr-slate-200);border-radius:var(--radius-lg);width:100%;height:42px;font-family:var(--font-body);font-size:var(--text-sm);color:var(--clr-slate);transition:border-color var(--transition);background:#fff;outline:none;padding:0 14px}.input:focus{border-color:var(--clr-primary);box-shadow:0 0 0 3px var(--clr-primary-soft)}.input-group{flex-direction:column;gap:6px;display:flex}.input-label{font-size:var(--text-sm);color:var(--clr-slate-700);font-weight:600}.table{border-collapse:collapse;width:100%}.table th{text-align:left;font-size:var(--text-xs);color:var(--clr-slate-500);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--clr-border);background:var(--clr-slate-100);padding:12px 16px;font-weight:600}.table td{font-size:var(--text-sm);border-bottom:1px solid var(--clr-border);color:var(--clr-slate-700);padding:14px 16px}.table tr:last-child td{border-bottom:none}.table tr:hover td{background:var(--clr-slate-100)}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.fade-up{animation:.25s both fadeUp}@keyframes spin{to{transform:rotate(360deg)}}.spinner{border:2.5px solid var(--clr-border);border-top-color:var(--clr-primary);border-radius:50%;width:20px;height:20px;animation:.7s linear infinite spin;display:inline-block}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-8{gap:8px}.gap-12{gap:12px}.gap-16{gap:16px}.gap-24{gap:24px}.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.text-muted{color:var(--clr-slate-500)}.text-sm{font-size:var(--text-sm)}.font-semibold{font-weight:600}.font-bold{font-weight:700}.grid-2{grid-template-columns:1fr 1fr;gap:20px;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.empty-state{text-align:center;color:var(--clr-slate-500);padding:60px 24px}.empty-state i{opacity:.4;margin-bottom:12px;font-size:2.5rem;display:block}.empty-state p{font-size:var(--text-sm)}.alert{border-radius:var(--radius-md);font-size:var(--text-sm);align-items:flex-start;gap:10px;padding:12px 16px;display:flex}.alert-success{background:var(--clr-primary-light);color:var(--clr-primary);border:1px solid #19875433}.alert-error{color:var(--clr-red);background:#ef444412;border:1px solid #ef444433}.alert-info{color:var(--clr-blue);background:#3b82f612;border:1px solid #3b82f633}.cred-box{background:var(--sb-bg);border-radius:var(--radius-lg);font-family:SF Mono,Fira Code,monospace;font-size:var(--text-sm);color:#e2e8f0;padding:20px}.cred-row{border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:center;padding:6px 0;display:flex}.cred-row:last-child{border-bottom:none}.cred-key{color:var(--clr-slate-400);font-size:var(--text-xs);min-width:160px}.cred-val{color:#f1f5f9;font-size:var(--text-sm);word-break:break-all}.copy-btn{color:var(--clr-teal);cursor:pointer;transition:background var(--transition);background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:.9rem}.copy-btn:hover{background:#0f9d8a26}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;background:#0f172a8c;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal{background:var(--clr-card);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);width:100%;max-width:560px;max-height:90vh;animation:.2s both fadeUp;overflow-y:auto}.modal-header{border-bottom:1px solid var(--clr-border);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modal-body{padding:24px}.modal-footer{border-top:1px solid var(--clr-border);justify-content:flex-end;gap:10px;padding:16px 24px;display:flex}@media (width<=768px){.sidebar{width:0}.main-content{margin-left:0}.grid-2,.grid-3{grid-template-columns:1fr}}:root{--green:var(--color-primary,#198754);--teal:var(--clr-teal,#0f9d8a);--bg:#f0f2f5;--slate:#0f172a;--sb-bg:#0b1523;--sb-border:#ffffff0f;--sb-w:252px;--sb-c:68px;--tx:.24s cubic-bezier(.4,0,.2,1);--accent:var(--clr-teal,#0f9d8a);--accent-dim:#0f9d8a21;--accent-glow:#0f9d8a38}*,:before,:after{box-sizing:border-box}html,body{min-height:100%;margin:0}body{font-family:var(--font-body,"Plus Jakarta Sans", system-ui, -apple-system, sans-serif);background:var(--bg);color:var(--slate);min-height:100vh;overflow-x:hidden}.app-shell{min-height:100vh;display:flex}.sidebar{width:var(--sb-w);background:var(--sb-bg);z-index:300;min-height:100vh;transition:width var(--tx);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0;overflow:hidden}.sidebar.collapsed{width:var(--sb-c)}.sb-accent{background:linear-gradient(90deg, var(--color-primary,#198754), var(--clr-teal,#0f9d8a), #06b6d4);flex-shrink:0;height:3px}.sb-brand{border-bottom:1px solid var(--sb-border);flex-shrink:0;align-items:center;gap:11px;height:64px;padding:0 14px;display:flex;overflow:hidden}.sb-logo{background:linear-gradient(135deg, var(--color-primary,#198754), var(--clr-teal,#0f9d8a));color:#fff;letter-spacing:.04em;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:.7rem;font-weight:900;display:flex;box-shadow:0 4px 12px #0f9d8a47}.sb-brand-text{transition:opacity var(--tx);flex:1;overflow:hidden}.sidebar.collapsed .sb-brand-text{opacity:0;pointer-events:none}.sb-brand-name{color:#fff;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;font-size:.78rem;font-weight:800;line-height:1.2}.sb-brand-sub{color:#ffffff47;white-space:nowrap;letter-spacing:.02em;margin-top:2px;font-size:.6rem}.sb-toggle{color:#ffffff52;cursor:pointer;width:26px;height:26px;transition:background .13s, color .13s, transform var(--tx);background:#ffffff0a;border:1px solid #ffffff1a;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.sb-toggle:hover{color:#ffffffbf;background:#ffffff1a}.sidebar.collapsed .sb-toggle{transform:rotate(180deg)}.sb-search{transition:opacity var(--tx), max-height var(--tx), margin var(--tx);opacity:1;flex-shrink:0;max-height:40px;margin:10px 10px 4px;position:relative;overflow:hidden}.sidebar.collapsed .sb-search{opacity:0;max-height:0;margin-top:0;margin-bottom:0}.sb-search input{color:#ffffffa6;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff14;border-radius:9px;outline:none;width:100%;padding:7px 34px 7px 30px;font-family:inherit;font-size:.74rem;font-weight:500;transition:border .13s,background .13s}.sb-search input::placeholder{color:#ffffff38}.sb-search input:focus{border-color:var(--accent-glow);background:#ffffff12}.sb-si{color:#ffffff3d;pointer-events:none;font-size:.78rem;position:absolute;top:50%;left:9px;transform:translateY(-50%)}.sb-kbd{color:#ffffff2e;pointer-events:none;border:1px solid #ffffff1a;border-radius:4px;padding:1px 4px;font-size:.53rem;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.sb-nav{flex:1;padding:6px 0 0;overflow:hidden auto}.sb-nav::-webkit-scrollbar{width:3px}.sb-nav::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:3px}.sb-section{padding:14px 0 2px}.sb-section:first-child{padding-top:6px}.sb-label{letter-spacing:.16em;text-transform:uppercase;color:#ffffff2e;white-space:nowrap;transition:opacity var(--tx), max-height var(--tx), padding var(--tx);opacity:1;max-height:24px;padding:0 16px 6px;font-size:.55rem;font-weight:800;overflow:hidden}.sidebar.collapsed .sb-label{opacity:0;max-height:0;padding-top:0;padding-bottom:0}.sb-items{padding:0 8px}.sb-link{color:#ffffff6b;text-align:left;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:11px;align-items:center;gap:10px;width:100%;height:40px;margin:1px 0;padding:0 10px;font-family:inherit;font-size:.78rem;font-weight:600;text-decoration:none;transition:background .13s,color .13s;display:flex;position:relative;overflow:hidden}.sb-link i{text-align:center;flex-shrink:0;width:18px;font-size:.92rem;transition:color .13s}.sb-lt{text-overflow:ellipsis;transition:opacity var(--tx);flex:1;overflow:hidden}.sidebar.collapsed .sb-lt{opacity:0}.sidebar.collapsed .sb-link{justify-content:center;padding:0}.sb-link:hover{color:#ffffffc7;background:#ffffff0f}.sb-link:hover i{color:#ffffffc7}.sb-link.active{background:var(--accent-dim);color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}.sb-link.active i{color:var(--accent)}.sidebar.collapsed .sb-link.active{box-shadow:none}.sidebar.collapsed .sb-link[title]:hover:after{content:attr(title);left:calc(var(--sb-c));color:#ffffffe0;white-space:nowrap;pointer-events:none;z-index:9999;background:#1a2f4a;border:1px solid #ffffff14;border-radius:8px;padding:5px 11px;font-size:.73rem;font-weight:600;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 6px 18px #00000073}.sb-link.newtab .sb-lt:after{content:" ↗";opacity:.38;font-size:.6em}.sb-sep{background:var(--sb-border);height:1px;margin:6px 10px}.sb-live-wrap{transition:opacity var(--tx), max-height var(--tx), margin var(--tx);opacity:1;background:#ffffff05;border:1px solid #ffffff0f;border-radius:12px;max-height:160px;margin:8px 8px 4px;overflow:hidden}.sidebar.collapsed .sb-live-wrap{opacity:0;max-height:0;margin:0}.sb-live-hd{cursor:pointer;align-items:center;gap:7px;padding:8px 11px;display:flex}.sb-live-dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:6px;height:6px;animation:2s infinite ps-pulse}@keyframes ps-pulse{0%,to{box-shadow:0 0 #34d39980}50%{box-shadow:0 0 0 4px #34d39900}}.sb-live-lbl{color:#ffffff61;flex:1;font-size:.68rem;font-weight:700}.sb-live-chev{color:#fff3;font-size:.65rem;transition:transform .2s}.sb-live-wrap.open .sb-live-chev{transform:rotate(180deg)}.sb-live-frame{background:0 0;border:none;width:100%;height:0;transition:height .24s;display:block}.sb-live-wrap.open .sb-live-frame{height:112px}.sb-bottom{border-top:1px solid var(--sb-border);flex-shrink:0;padding:12px 8px}.sb-user{cursor:default;background:#ffffff08;border:1px solid #ffffff0d;border-radius:12px;align-items:center;gap:9px;margin-bottom:7px;padding:8px 9px;transition:background .13s;display:flex;overflow:hidden}.sb-user:hover{background:#ffffff0f}.sb-avatar{background:linear-gradient(135deg, var(--color-primary,#198754), var(--clr-teal,#0f9d8a));color:#fff;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.65rem;font-weight:900;display:flex;box-shadow:0 2px 8px #0f9d8a33}.sb-uinfo{transition:opacity var(--tx);flex:1;overflow:hidden}.sidebar.collapsed .sb-uinfo{opacity:0;pointer-events:none}.sb-uname{color:#ffffffb8;white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;font-weight:700;overflow:hidden}.sb-urole{color:#ffffff40;white-space:nowrap;font-size:.58rem}.sb-logout{color:#ffffff47;cursor:pointer;background:0 0;border:1px solid #ffffff12;border-radius:10px;justify-content:center;align-items:center;gap:6px;width:100%;padding:7px;font-family:inherit;font-size:.72rem;font-weight:700;transition:all .13s;display:flex;overflow:hidden}.sb-logout-t{transition:opacity var(--tx)}.sidebar.collapsed .sb-logout-t{opacity:0}.sb-logout:hover{color:#fca5a5;background:#ef444417;border-color:#ef44443d}.mob-backdrop{z-index:250;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0b152399;display:none;position:fixed;inset:0}.mob-backdrop.open{display:block}.main{margin-left:var(--sb-w);width:calc(100% - var(--sb-w));background:var(--bg);min-height:100vh;transition:margin-left var(--tx), width var(--tx)}.main.sb-col{margin-left:var(--sb-c);width:calc(100% - var(--sb-c))}.mob-topbar{z-index:420;min-height:56px;padding:max(env(safe-area-inset-top),0px) 14px 0;background:var(--sb-bg);border-bottom:1px solid #ffffff12;justify-content:space-between;align-items:center;display:none;position:sticky;top:0;box-shadow:0 4px 16px #0b152333}.mob-ham{color:#fff;cursor:pointer;background:#ffffff12;border:1px solid #ffffff24;border-radius:9px;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.mob-title{color:#ffffffe0;font-size:.88rem;font-weight:800}.desk-topbar{z-index:100;background:#fff;border-bottom:1px solid #0f172a12;align-items:center;gap:16px;width:100%;height:68px;min-height:68px;padding:0 24px;display:flex;position:sticky;top:0;box-shadow:0 1px 3px #0f172a0d,0 4px 16px #0f172a0a}.dt-left{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.dt-sec-chip{background:var(--color-primary-soft,#19875417);color:var(--color-primary,#198754);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;border:1px solid #1987542e;border-radius:20px;flex-shrink:0;align-items:center;padding:3px 11px;font-size:.65rem;font-weight:800;display:inline-flex}.dt-titles{min-width:0}.dt-title{color:var(--slate);white-space:nowrap;text-overflow:ellipsis;font-size:1rem;font-weight:800;line-height:1.2;overflow:hidden}.dt-sub{color:#64748b;white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-size:.7rem;overflow:hidden}.dt-right{flex-shrink:0;align-items:center;gap:8px;display:flex}.dt-icon-btn{color:#64748b;cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;font-size:.9rem;transition:background .13s,border-color .13s,color .13s;display:flex;position:relative}.dt-icon-btn:hover{background:var(--color-primary-light,#ecfdf5);color:var(--color-primary,#198754);border-color:#86efac}.dt-badge{color:#fff;background:#ef4444;border:1.5px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:14px;height:14px;font-size:.52rem;font-weight:800;display:flex;position:absolute;top:-3px;right:-3px}.dt-divider{background:#e2e8f0;flex-shrink:0;width:1px;height:26px}.dt-user{cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;align-items:center;gap:9px;padding:5px 10px 5px 7px;transition:background .13s,border-color .13s;display:flex}.dt-user:hover{background:var(--color-primary-light,#ecfdf5);border-color:#86efac}.dt-av{background:linear-gradient(135deg, var(--color-primary,#198754), var(--clr-teal,#0f9d8a));color:#fff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:.65rem;font-weight:900;display:flex;box-shadow:0 2px 6px #19875433}.dt-ui{flex-direction:column;display:flex}.dt-uname{color:var(--slate);white-space:nowrap;font-size:.74rem;font-weight:700;line-height:1.2}.dt-urole{color:#64748b;white-space:nowrap;font-size:.6rem}.workspace-card{margin:0;padding:14px}.workspace-frame{background:#fff;border:none;border-radius:18px;width:100%;height:calc(100vh - 96px);min-height:400px;transition:box-shadow .2s;display:block;box-shadow:0 0 0 1px #0f172a0f,0 4px 12px #0f172a0f,0 16px 40px #0f172a0f}.workspace-frame:hover{box-shadow:0 0 0 1px #0f172a14,0 4px 16px #0f172a14,0 20px 48px #0f172a14}.qs-overlay{z-index:9999;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0b15238c;justify-content:center;align-items:flex-start;padding-top:100px;display:none;position:fixed;inset:0}.qs-overlay.open{display:flex}.qs-box{background:#0f1e32;border:1px solid #ffffff1a;border-radius:18px;width:480px;max-width:92vw;animation:.17s qsIn;overflow:hidden;box-shadow:0 28px 72px #0000008c}@keyframes qsIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.qs-ir{border-bottom:1px solid #ffffff12;align-items:center;gap:10px;padding:14px 16px;display:flex}.qs-ir i{color:#ffffff52;font-size:1rem}.qs-in{color:#fff;background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:.9rem;font-weight:500}.qs-in::placeholder{color:#fff3}.qs-res{max-height:320px;padding:6px;overflow-y:auto}.qs-item{cursor:pointer;color:#ffffff94;border-radius:10px;align-items:center;gap:10px;padding:9px 12px;font-size:.8rem;font-weight:600;transition:background .1s;display:flex}.qs-item:hover,.qs-item.hi{color:#fff;background:#34d39917}.qs-item:hover i,.qs-item.hi i{color:var(--accent)}.qs-item i{text-align:center;color:#ffffff42;flex-shrink:0;width:18px;font-size:.88rem}.qs-item-label{flex:1}.qs-item-sec{color:#fff3;background:#ffffff0a;border-radius:20px;padding:2px 7px;font-size:.6rem;font-weight:500}.qs-ft{color:#ffffff2e;border-top:1px solid #ffffff0f;align-items:center;gap:8px;padding:8px 16px;font-size:.62rem;display:flex}.qs-k{border:1px solid #ffffff21;border-radius:4px;padding:2px 5px;font-size:.57rem}.sb-link:focus-visible,.sb-toggle:focus-visible,.sb-logout:focus-visible,.mob-ham:focus-visible,.dt-icon-btn:focus-visible,.dt-user:focus-visible{outline:2px solid var(--color-primary,#198754);outline-offset:2px}.qs-in:focus-visible{outline:2px solid var(--color-primary,#198754);outline-offset:0}@media (width>=861px) and (width<=1100px){:root{--sb-w:220px}.desk-topbar{padding-inline:18px}.workspace-card{padding:12px}.workspace-frame{border-radius:16px;height:calc(100vh - 92px);min-height:360px}}.mob-qs-btn{color:#fffc;cursor:pointer;background:#ffffff12;border:1px solid #ffffff24;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:.9rem;display:flex}.mob-qs-btn:hover{background:#ffffff24}@media (width<=860px){.sidebar{transform:translate(-100%);box-shadow:0 20px 48px #0b152373;width:min(84vw,290px)!important;transition:transform .28s cubic-bezier(.4,0,.2,1)!important}.sidebar.mob-open{transform:translate(0)!important}.sb-label,.sb-brand-text,.sb-lt,.sb-uinfo,.sb-logout-t,.sb-search,.sb-live-wrap{max-height:unset!important;opacity:1!important;margin:revert!important;padding:revert!important}.sb-link{justify-content:flex-start!important;padding:0 10px!important}.sb-link.active{box-shadow:inset 3px 0 0 var(--accent)!important}.sb-toggle{display:none}.main,.main.sb-col{width:100%;margin-left:0;transition:none}.mob-topbar{display:flex!important}.desk-topbar{display:none}.workspace-card{padding:10px}.workspace-frame{height:calc(100vh - 56px - max(env(safe-area-inset-top), 0px) - 20px);border-radius:14px;min-height:300px}}@media (width<=640px){.mob-topbar{padding-left:10px;padding-right:10px}.mob-title{text-overflow:ellipsis;white-space:nowrap;max-width:calc(100vw - 110px);overflow:hidden}.workspace-card{padding:8px}.workspace-frame{min-height:240px}}@supports (padding:max(0px, env(safe-area-inset-bottom))){.sb-bottom{padding-bottom:max(12px, env(safe-area-inset-bottom))}}:root{--portal-bg:#f5faf7;--portal-surface:#ffffffe6;--portal-border:#d7e6dc;--portal-text:#122033;--portal-muted:#6b7d74;--portal-accent:#198754;--portal-accent-soft:#ecfdf5;--portal-danger:#d95f5f;--portal-shadow:#1220330f;--font-sans:"Plus Jakarta Sans", system-ui, -apple-system, sans-serif}body.portal-shell-page{background:radial-gradient(circle at top left, #19875414, transparent 28%), radial-gradient(circle at bottom right, #0f9d8a14, transparent 24%), var(--portal-bg);font-family:var(--font-sans);color:var(--portal-text)}.portal-shell-page,.portal-shell-page button,.portal-shell-page input,.portal-shell-page select,.portal-shell-page textarea{font-family:var(--font-sans)!important}.portal-shell-page .main{background:0 0}.portal-shell-page .sidebar{background:var(--portal-surface);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-right:1px solid var(--portal-border);box-shadow:12px 0 34px var(--portal-shadow)}.portal-shell-page .sb-accent{background:linear-gradient(90deg,#198754 0%,#18a56f 56%,#0f9d8a 100%);height:4px}.portal-shell-page .sb-brand{border-bottom:1px solid var(--portal-border);height:78px;padding:0 16px}.portal-shell-page .sidebar.collapsed .sb-brand{justify-content:center;padding:0}.portal-shell-page .sb-logo{background:#fff;border-radius:14px;flex:none;justify-content:center;align-items:center;width:46px;height:46px;display:flex;overflow:hidden;box-shadow:inset 0 0 0 1px #19875414,0 8px 18px #1220330d}.portal-shell-page .sb-logo-link{border-radius:14px;text-decoration:none;display:inline-flex}.portal-shell-page .sb-logo img{object-fit:cover;width:100%;height:100%;display:block}.portal-shell-page .sidebar.collapsed .sb-logo,.portal-shell-page .sidebar.collapsed .sb-brand-text{opacity:0;pointer-events:none;width:0;margin:0}.portal-shell-page .sb-brand-name{color:var(--portal-text);letter-spacing:-.01em;text-transform:none;font-size:.84rem;font-weight:800}.portal-shell-page .sb-brand-sub{color:var(--portal-muted);letter-spacing:.04em;text-transform:uppercase;font-size:.64rem}.portal-shell-page .sb-toggle,.portal-shell-page .mob-ham{border:1px solid var(--portal-border);color:var(--portal-muted);box-shadow:none;background:#fff}.portal-shell-page .sb-toggle:hover,.portal-shell-page .mob-ham:hover{color:var(--portal-accent);background:#f8fbff;border-color:#bfd0e4}.portal-shell-page .sb-label{color:#8b98aa;letter-spacing:.18em;font-size:.56rem}.portal-shell-page .sb-link{color:#526173;border-radius:14px;height:44px;font-size:.79rem;font-weight:600;transition:background .18s,color .18s,transform .18s}.portal-shell-page .sb-link i{color:#8492a6;font-size:.94rem}.portal-shell-page .sidebar.collapsed .sb-link{border-radius:14px;justify-content:center;width:48px;margin-inline:auto;padding:0}.portal-shell-page .sidebar.collapsed .sb-link i{width:auto;margin:0;font-size:1.05rem}.portal-shell-page .sb-link:hover{color:var(--portal-text);background:#f3fbf7;transform:translate(2px)}.portal-shell-page .sb-link:hover i{color:var(--portal-accent)}.portal-shell-page .sb-link.active{color:var(--portal-accent);box-shadow:inset 3px 0 0 var(--portal-accent), 0 10px 22px #19875414;background:linear-gradient(135deg,#ecfdf5 0%,#f0fdf4 100%)}.portal-shell-page .sb-link.active i{color:var(--portal-accent)}.portal-shell-page .sb-sep{background:var(--portal-border);margin:8px 12px}.portal-shell-page .sb-live-wrap,.portal-shell-page .sb-user{border:1px solid var(--portal-border);box-shadow:none;background:#fff}.portal-shell-page .sb-live-wrap{background:linear-gradient(#fff 0%,#f8fffc 100%);border-radius:18px}.portal-shell-page .sb-live-dot{background:#0f9d8a;box-shadow:0 0 0 4px #0f9d8a1a}.portal-shell-page .sb-live-lbl,.portal-shell-page .sb-uname{color:var(--portal-text)}.portal-shell-page .sb-urole{color:var(--portal-muted)}.portal-shell-page .sb-avatar{background:var(--portal-accent-soft);color:var(--portal-accent);box-shadow:none}.portal-shell-page .sb-bottom{border-top:1px solid var(--portal-border);background:#ffffffb8}.portal-shell-page .sb-logout{border:1px solid var(--portal-border);color:var(--portal-muted);background:#fff;border-radius:12px;font-size:.73rem}.portal-shell-page .sb-logout:hover{color:var(--portal-danger);background:#fff5f5;border-color:#f2c9c9}.portal-shell-page .mob-topbar{border-bottom:1px solid var(--portal-border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:none;background:#ffffffeb}.portal-shell-page .mob-title{color:var(--portal-text);font-size:.92rem;font-weight:800}.portal-shell-page .qs-overlay{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#14203333}.portal-shell-page .qs-box{border:1px solid var(--portal-border);color:var(--portal-text);background:#fffffff5;border-radius:24px;box-shadow:0 28px 60px #14203324}.portal-shell-page .qs-ir{border-bottom:1px solid var(--portal-border);padding:16px 18px}.portal-shell-page .qs-ir i,.portal-shell-page .qs-ft{color:var(--portal-muted)}.portal-shell-page .qs-item{color:var(--portal-text);border-radius:14px;padding:10px 12px}.portal-shell-page .qs-item:hover,.portal-shell-page .qs-item.hi{color:var(--portal-text);background:#f1f6ff}.portal-shell-page .qs-item:hover i,.portal-shell-page .qs-item.hi i{color:var(--portal-accent)}.portal-shell-page .qs-item-sec,.portal-shell-page .qs-k{color:#7e8da0;border:1px solid var(--portal-border);background:#f6f8fb}.portal-shell-page .portal-live-modal{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:2200;background:#0f172a85;justify-content:center;align-items:center;padding:24px;display:none;position:fixed;inset:0}.portal-shell-page .portal-live-modal.open{display:flex}.portal-shell-page .portal-live-box{border:1px solid var(--portal-border);background:#fff;border-radius:24px;width:min(560px,100%);overflow:hidden;box-shadow:0 28px 70px #0f172a38}.portal-shell-page .portal-live-head{background:linear-gradient(#f8fffb 0%,#fff 100%);border-bottom:1px solid #e6eef6;justify-content:space-between;align-items:flex-start;gap:16px;padding:22px 24px 16px;display:flex}.portal-shell-page .portal-live-kicker{letter-spacing:.08em;text-transform:uppercase;color:#198754;margin-bottom:4px;font-size:.72rem;font-weight:800}.portal-shell-page .portal-live-title{color:var(--portal-text);font-size:1.2rem;font-weight:800;line-height:1.2}.portal-shell-page .portal-live-sub{color:var(--portal-muted);margin-top:6px;font-size:.86rem}.portal-shell-page .portal-live-close{border:1px solid var(--portal-border);width:38px;height:38px;color:var(--portal-muted);cursor:pointer;background:#fff;border-radius:12px;justify-content:center;align-items:center;display:inline-flex}.portal-shell-page .portal-live-close:hover{color:var(--portal-danger);background:#fff5f5;border-color:#f2c9c9}.portal-shell-page .portal-live-body{gap:12px;padding:20px 24px 16px;display:grid}.portal-shell-page .portal-live-row{grid-template-columns:110px 1fr;align-items:start;gap:12px;font-size:.88rem;display:grid}.portal-shell-page .portal-live-key{color:var(--portal-muted);font-weight:700}.portal-shell-page .portal-live-val{color:var(--portal-text);font-weight:600;line-height:1.45}.portal-shell-page .portal-live-actions{justify-content:flex-end;gap:12px;padding:18px 24px 24px;display:flex}.portal-shell-page .portal-live-btn{border:1px solid var(--portal-border);cursor:pointer;border-radius:14px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 18px;font-weight:700;text-decoration:none;display:inline-flex}.portal-shell-page .portal-live-btn.secondary{color:var(--portal-muted);background:#fff}.portal-shell-page .portal-live-btn.primary{color:#fff;background:#198754;border-color:#198754}.portal-shell-page .portal-live-btn.secondary:hover{color:var(--portal-text);background:#f8fafc}.portal-shell-page .portal-live-btn.primary:hover{color:#fff;background:#157347;border-color:#157347}.portal-shell-page .sb-link:focus-visible,.portal-shell-page .sb-toggle:focus-visible,.portal-shell-page .sb-logout:focus-visible,.portal-shell-page .mob-ham:focus-visible{outline-offset:2px;outline:2px solid #1d4ed859}.portal-shell-page .sidebar.collapsed .sb-link[title]:hover:after{border:1px solid var(--portal-border);color:var(--portal-text);background:#fff;left:calc(100% + 10px);box-shadow:0 14px 26px #1420331a}.portal-shell-page .sidebar.collapsed .sb-link[title]:hover:before{content:"";border-left:1px solid var(--portal-border);border-top:1px solid var(--portal-border);z-index:9998;background:#fff;width:10px;height:10px;position:absolute;top:50%;left:calc(100% + 4px);transform:translateY(-50%)rotate(45deg)}.portal-shell-page .sb-nav::-webkit-scrollbar-thumb{background:#d1ddeb}.portal-shell-page .mob-qs-btn{border:1px solid var(--portal-border);color:var(--portal-muted);background:#fff}.portal-shell-page .mob-qs-btn:hover{color:var(--portal-accent);background:#f8fbff;border-color:#bfd0e4}.portal-shell-page .page-body{padding-left:clamp(12px,3vw,28px);padding-right:clamp(12px,3vw,28px)}@media (width<=860px){.portal-shell-page .top-bar,.portal-shell-page .page-top-bar,.portal-shell-page .section-topbar{top:56px!important}.portal-shell-page .portal-live-modal{padding:12px}.portal-shell-page .portal-live-box{border-radius:18px}.portal-shell-page .portal-live-head,.portal-shell-page .portal-live-body,.portal-shell-page .portal-live-actions{padding-left:16px;padding-right:16px}.portal-shell-page .portal-live-row{grid-template-columns:1fr;gap:4px}.portal-shell-page .portal-live-actions{flex-direction:column-reverse}.portal-shell-page .portal-live-btn{width:100%}.portal-shell-page .sb-live-wrap,.portal-shell-page .sb-user{background:#ffffffd9}}@media (width>=861px) and (width<=1100px){.portal-shell-page .sb-brand-name{font-size:.78rem}.portal-shell-page .sb-link{height:40px;font-size:.76rem}}@media (width>=1440px){.portal-shell-page .page-body{padding-left:32px;padding-right:32px}}
