.update-banner{z-index:90;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface-1);max-width:calc(100vw - 32px);box-shadow:var(--shadow-lg);color:var(--text);animation:update-banner-in .22s var(--ease-out);align-items:center;gap:10px;padding:10px 10px 10px 14px;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}@keyframes update-banner-in{0%{opacity:0;transform:translate(-50%)translateY(8px)}to{opacity:1;transform:translate(-50%)translateY(0)}}@media (prefers-reduced-motion:reduce){.update-banner{animation:none}}.update-banner svg{color:var(--accent);flex-shrink:0}.update-banner-text{font-size:var(--fs-small);font-weight:var(--fw-medium);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.update-banner-btn{border-radius:var(--radius-pill);background:var(--accent);color:var(--accent-contrast);font-size:var(--fs-small);font-weight:var(--fw-semibold);cursor:pointer;transition:filter .15s var(--ease-out);border:0;flex-shrink:0;padding:6px 14px}.update-banner-btn:hover{filter:brightness(1.08)}.update-banner-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (width<=480px){.update-banner{max-width:none;animation:none;bottom:16px;left:16px;right:16px;transform:none}.update-banner-text{white-space:normal}}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-wght-normal-CnvboYUG.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-wght-normal-Ca2vKHc0.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-wght-normal-ukD16Tqj.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(data:font/woff2;base64,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)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/hanken-grotesk-vietnamese-wght-normal-CHiFlh_0.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/hanken-grotesk-latin-ext-wght-normal-Dg-wlmqe.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/hanken-grotesk-latin-wght-normal-CaVRRdDk.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-display:"Fraunces Variable", Georgia, serif;--font-body:"Hanken Grotesk Variable", "Helvetica Neue", Arial, sans-serif;--shell-top-h:64px;--moon-hi:#e9e0f7;--moon-mid:#a98fd8;--moon-deep:#5d3a9e;--fs-caption:12px;--fs-small:13px;--fs-body:15px;--fs-h4:16px;--fs-h3:18px;--fs-h2:22px;--fs-h1:28px;--fs-display:34px;--fs-control:14px;--fs-eyebrow:11.5px;--fw-eyebrow:700;--tracking-eyebrow:.08em;--fw-normal:400;--fw-medium:560;--fw-semibold:620;--fw-bold:700;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--card-pad:20px;--card-pad-lg:26px;--radius-xs:6px;--radius-sm:8px;--radius:12px;--radius-lg:18px;--shadow-1:0 1px 2px #0a081440, 0 2px 12px #0a08142e;--shadow-2:0 4px 18px #0a081459, 0 12px 48px #0a08144d;--ease-out:cubic-bezier(.22, 1, .36, 1)}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b0a12;--bg-raise:#12101d;--surface:#16131f;--surface-2:#1d1929;--surface-3:#262033;--text:#edeaf6;--text-strong:#fff;--muted:#9b94b5;--faint:#6e6890;--border:#beaff521;--border-strong:#beaff53d;--accent:#9d7bee;--accent-strong:#b79cf7;--accent-ink:#14102a;--accent-soft:#9d7bee24;--success:#5cd49b;--success-soft:#5cd49b24;--warning:#d9a53f;--warning-soft:#d9a53f29;--danger:#e5687f;--danger-soft:#e5687f26;--info:#6fa8f5;--info-soft:#6fa8f526;--overlay:#07060cb8;--input-bg:#ffffff09}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f6f4ef;--bg-raise:#fbfaf7;--surface:#fff;--surface-2:#f6f3fb;--surface-3:#eeeaf6;--text:#221d31;--text-strong:#14101f;--muted:#6b6580;--faint:#7c768c;--border:#e5e0d6;--border-strong:#cfc8ba;--accent:#6d4fc0;--accent-strong:#5b3fa8;--accent-ink:#fff;--accent-soft:#6d4fc01a;--success:#157a4c;--success-soft:#1f9d641f;--warning:#a4741b;--warning-soft:#a4741b21;--danger:#c2314e;--danger-soft:#c2314e1c;--info:#2f6cc4;--info-soft:#2f6cc41c;--overlay:#18122673;--input-bg:#fff;--shadow-1:0 1px 2px #1e18300f, 0 2px 12px #1e18300d;--shadow-2:0 4px 18px #1e18301a, 0 14px 44px #1e18301a}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%;margin:0;padding:0}html{background:var(--bg)}body{font-family:var(--font-body);font-size:var(--fs-body);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;line-height:1.55}.theme-root{background:var(--bg);min-height:100vh;color:var(--text);position:relative}[data-theme=dark] .theme-root:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(1100px 520px at 82% -12%,#9d7bee24,#0000 62%),radial-gradient(800px 420px at -8% 108%,#5d3a9e1f,#0000 60%);position:fixed;inset:0}[data-theme=light] .theme-root:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(900px 460px at 88% -10%,#a98fd829,#0000 60%),radial-gradient(700px 380px at -6% 106%,#6d4fc012,#0000 55%);position:fixed;inset:0}.theme-root>*{z-index:1;position:relative}h1,h2,h3,h4{font-family:var(--font-display);font-weight:var(--fw-medium);color:var(--text-strong);letter-spacing:-.01em;margin:0}p{margin:0}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}::selection{background:var(--accent);color:var(--accent-ink)}.stack{flex-direction:column;display:flex}.row{align-items:center;display:flex}.grow{flex:1;min-width:0}.wrap{flex-wrap:wrap}.gap-xs{gap:6px}.gap-sm{gap:10px}.gap-md{gap:16px}.gap-lg{gap:24px}.gap-xl{gap:36px}.mt-xs{margin-top:6px}.mt-sm{margin-top:10px}.mt-md{margin-top:16px}.mt-lg{margin-top:24px}.mt-xl{margin-top:36px}.muted{color:var(--muted)}.faint{color:var(--faint)}.small{font-size:var(--fs-small)}.tiny{font-size:var(--fs-caption)}.strong{font-weight:var(--fw-semibold);color:var(--text-strong)}.mono{font-variant-numeric:tabular-nums}.center{place-items:center;display:grid}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.btn{font:inherit;font-weight:var(--fw-semibold);font-size:var(--fs-control);border-radius:var(--radius-sm);cursor:pointer;transition:transform .12s var(--ease-out), box-shadow .15s, background .15s, opacity .15s;white-space:nowrap;-webkit-user-select:none;user-select:none;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:9px 18px;display:inline-flex;text-decoration:none!important}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn:focus-visible,.input:focus-visible,.select:focus-visible,.textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn-primary{background:linear-gradient(135deg, var(--accent-strong), var(--accent) 55%, var(--moon-deep));color:#fff;box-shadow:0 2px 10px #6d4fc059}.btn-primary:hover{box-shadow:0 4px 18px #6d4fc080}.btn-secondary{background:var(--surface-2);color:var(--text);border-color:var(--border-strong)}.btn-secondary:hover{background:var(--surface-3)}.btn-ghost{color:var(--muted);background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--accent-soft);color:var(--text)}.btn-danger{background:var(--danger-soft);color:var(--danger);border-color:#0000}.btn-danger:hover{background:var(--danger);color:#fff}.btn-sm{font-size:var(--fs-small);padding:5px 12px}.btn-lg{font-size:var(--fs-h4);border-radius:var(--radius);padding:13px 26px}.btn-block{width:100%}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field-label{font-size:var(--fs-caption);font-weight:var(--fw-semibold);letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.field-label .req{color:var(--danger);margin-left:2px}.field-hint{font-size:var(--fs-caption);color:var(--faint)}.field-error{font-size:var(--fs-caption);color:var(--danger)}.input,.select,.textarea{font:inherit;font-size:var(--fs-control);color:var(--text);background:var(--input-bg);border:1px solid var(--border-strong);border-radius:var(--radius-sm);width:100%;padding:9px 12px;transition:border-color .15s,background .15s}.input::placeholder,.textarea::placeholder{color:var(--faint)}.input:hover,.select:hover,.textarea:hover{border-color:var(--accent)}.textarea{resize:vertical;min-height:88px;line-height:1.5}.select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%);background-position:calc(100% - 18px) 55%,calc(100% - 13px) 55%;background-repeat:no-repeat;background-size:5px 5px;padding-right:34px}.checkbox-line{cursor:pointer;font-size:var(--fs-control);align-items:center;gap:9px;display:flex}.checkbox-line input{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.radio-pills{flex-wrap:wrap;gap:8px;display:flex}.radio-pill{border:1px solid var(--border-strong);font-size:var(--fs-small);font-weight:var(--fw-medium);cursor:pointer;color:var(--muted);background:var(--input-bg);-webkit-user-select:none;user-select:none;border-radius:999px;padding:7px 16px;transition:all .14s}.radio-pill:hover{border-color:var(--accent);color:var(--text)}.radio-pill[data-on=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-1)}.card-pad{padding:var(--card-pad)}.card-title{font-family:var(--font-display);font-size:var(--fs-h3);font-weight:var(--fw-medium);color:var(--text-strong)}.section-label{font-size:var(--fs-caption);font-weight:var(--fw-bold);letter-spacing:.1em;text-transform:uppercase;color:var(--faint)}.badge{font-size:var(--fs-caption);font-weight:var(--fw-semibold);letter-spacing:.02em;white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;display:inline-flex}.badge:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.badge[data-tone=neutral]{background:var(--surface-3);color:var(--muted)}.badge[data-tone=accent]{background:var(--accent-soft);color:var(--accent-strong)}.badge[data-tone=success]{background:var(--success-soft);color:var(--success)}.badge[data-tone=warning]{background:var(--warning-soft);color:var(--warning)}.badge[data-tone=danger]{background:var(--danger-soft);color:var(--danger)}.badge[data-tone=info]{background:var(--info-soft);color:var(--info)}.badge.no-dot:before{display:none}.table-wrap{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-1);overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:var(--fs-control)}.table th{text-align:left;font-size:var(--fs-eyebrow);font-weight:var(--fw-bold);letter-spacing:.08em;text-transform:uppercase;color:var(--faint);border-bottom:1px solid var(--border);white-space:nowrap;padding:12px 16px}.th-sort{cursor:pointer;font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;background:0 0;border:none;align-items:center;gap:4px;padding:0;display:inline-flex}.th-sort:hover,.th-sort[data-active=true]{color:var(--text)}.th-sort .th-sort-idle{opacity:0;transition:opacity .12s}.th-sort:hover .th-sort-idle{opacity:.5}.table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:13px 16px}.table tbody tr:last-child td{border-bottom:none}.table tbody tr{transition:background .12s}.table tbody tr.clickable{cursor:pointer}.table tbody tr.clickable:hover{background:var(--accent-soft)}.overlay{background:var(--overlay);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:60;animation:fadeIn .16s var(--ease-out);place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-2);width:100%;max-width:560px;max-height:88vh;animation:riseIn .22s var(--ease-out);overflow-y:auto}.modal-lg{max-width:760px}.modal-pad{padding:26px}.drawer-overlay{background:var(--overlay);z-index:60;animation:fadeIn .16s var(--ease-out);position:fixed;inset:0}.drawer{z-index:61;background:var(--surface);border-left:1px solid var(--border);width:min(560px,94vw);box-shadow:var(--shadow-2);animation:slideIn .24s var(--ease-out);position:fixed;top:0;bottom:0;right:0;overflow-y:auto}@keyframes fadeIn{0%{opacity:0}}@keyframes riseIn{0%{opacity:0;transform:translateY(14px)scale(.985)}}@keyframes slideIn{0%{opacity:.4;transform:translate(48px)}}.reveal{animation:reveal .5s var(--ease-out) both}.reveal[data-d="1"]{animation-delay:50ms}.reveal[data-d="2"]{animation-delay:.12s}.reveal[data-d="3"]{animation-delay:.19s}.reveal[data-d="4"]{animation-delay:.26s}.reveal[data-d="5"]{animation-delay:.33s}@keyframes reveal{0%{opacity:0;transform:translateY(10px)}}.moon-loader{background:conic-gradient(from 0deg, var(--accent), transparent 68%);border-radius:50%;width:26px;height:26px;animation:.9s linear infinite spin;-webkit-mask:radial-gradient(farthest-side,#0000 calc(100% - 4px),#000 calc(100% - 3.5px));mask:radial-gradient(farthest-side,#0000 calc(100% - 4px),#000 calc(100% - 3.5px))}.moon-loader.lg{width:42px;height:42px}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{background:var(--surface-3);border-radius:var(--radius-sm);position:relative;overflow:hidden}.skeleton:after{content:"";background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--text) 7%, transparent), transparent);animation:1.4s ease-in-out infinite skeleton-shimmer;position:absolute;inset:0;transform:translate(-100%)}@keyframes skeleton-shimmer{to{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){.skeleton:after{animation:none}}.progress{background:var(--surface-3);border-radius:999px;width:100%;height:4px;position:relative;overflow:hidden}.progress-fill{border-radius:inherit;background:var(--accent);height:100%;transition:width .18s var(--ease-out);display:block}.progress-done .progress-fill{background:var(--success,#16a34a)}.progress-error .progress-fill{background:var(--danger,#dc2626)}.progress-active .progress-fill[style*="100%"]:after{content:"";background:linear-gradient(90deg,#0000,#ffffff73,#0000);animation:1.1s ease-in-out infinite progress-pulse;position:absolute;inset:0}@keyframes progress-pulse{to{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){.progress-fill{transition:none}.progress-active .progress-fill[style*="100%"]:after{animation:none}}.toast-stack{z-index:80;flex-direction:column;gap:10px;max-width:min(380px,100vw - 44px);display:flex;position:fixed;bottom:22px;left:auto;right:22px}.toast{background:var(--surface-2);border:1px solid var(--border-strong);border-left:3px solid var(--accent);color:var(--text);border-radius:var(--radius-sm);font-size:var(--fs-control);box-shadow:var(--shadow-2);animation:slideUp .25s var(--ease-out);padding:13px 16px}.toast[data-tone=success]{border-left-color:var(--success)}.toast[data-tone=error]{border-left-color:var(--danger)}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}}.empty{text-align:center;color:var(--muted);place-items:center;gap:8px;padding:56px 24px;display:grid}.empty .orb{opacity:.5}.error-state{border-left:3px solid var(--danger);flex-wrap:wrap;align-items:center;gap:14px;display:flex}.error-state>svg{color:var(--danger);flex-shrink:0}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:8px}::-webkit-scrollbar-thumb:hover{background:var(--faint)}::-webkit-scrollbar-track{background:0 0}[data-theme=dark] ::-webkit-scrollbar-thumb{background:var(--surface-3)}[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.form-grid .span-2{grid-column:span 2}.form-grid-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}@media (width<=720px){.form-grid,.form-grid-3{grid-template-columns:1fr}.form-grid .span-2{grid-column:span 1}}.shell{min-height:100vh;display:flex}.shell-side{background:var(--bg-raise);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;width:248px;height:100vh;display:flex;position:sticky;top:0;overflow-y:auto}.shell-brand{justify-content:space-between;align-items:center;padding:20px 18px 16px;display:flex}.shell-close{color:var(--muted);cursor:pointer;background:0 0;border:none;display:none}.shell-nav{flex-direction:column;flex:1;gap:2px;padding:6px 12px;display:flex}.shell-group{font-size:var(--fs-eyebrow);font-weight:var(--fw-bold);letter-spacing:.1em;text-transform:uppercase;color:var(--faint);padding:16px 10px 6px}.shell-link{border-radius:var(--radius-sm);color:var(--muted);font-size:var(--fs-control);font-weight:var(--fw-medium);align-items:center;gap:11px;padding:9px 12px;transition:background .13s,color .13s;display:flex;text-decoration:none!important}.shell-link:hover{background:var(--accent-soft);color:var(--text)}.shell-link.active{background:var(--accent-soft);color:var(--accent-strong);box-shadow:inset 2px 0 0 var(--accent)}.shell-side-foot{border-top:1px solid var(--border);padding:16px 20px}.shell-main{flex-direction:column;flex:1;min-width:0;display:flex}.shell-top{border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--bg) 78%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:40;align-items:center;gap:12px;padding:12px 26px;display:flex;position:sticky;top:0}.shell-burger{color:var(--text);cursor:pointer;background:0 0;border:none;padding:6px;display:none}.shell-icon-btn{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--muted);cursor:pointer;background:0 0;padding:8px 9px 5px;transition:all .14s;position:relative}.shell-icon-btn:hover{color:var(--text);border-color:var(--border-strong)}.shell-bell-dot{background:var(--danger);color:#fff;font-size:10px;font-weight:var(--fw-bold);text-align:center;border-radius:999px;min-width:16px;padding:1px 5px;position:absolute;top:-6px;right:-6px}.shell-notif{z-index:70;width:min(340px,100vw - 24px);max-height:430px;position:absolute;top:calc(100% + 10px);right:0;overflow-y:auto}.shell-notif-item{text-align:left;border-radius:var(--radius-sm);cursor:pointer;color:var(--text);background:0 0;border:none;flex-direction:column;gap:2px;width:100%;padding:9px 10px;display:flex}.shell-notif-item:hover{background:var(--accent-soft)}.shell-notif-all{border:none;border-top:1px solid var(--border);width:100%;color:var(--accent);font-weight:var(--fw-semibold);font-size:var(--fs-small);cursor:pointer;text-align:center;background:0 0;margin-top:8px;padding:9px 10px;display:block}.shell-notif-all:hover{background:var(--accent-soft)}.shell-user{cursor:pointer;color:var(--text);border-radius:var(--radius-sm);background:0 0;border:none;align-items:center;gap:10px;padding:4px 6px;display:flex}.shell-user:hover{background:var(--accent-soft)}.shell-avatar{width:32px;height:32px;font-size:var(--fs-caption);font-weight:var(--fw-bold);color:#fff;background:radial-gradient(circle at 36% 32%, var(--moon-hi), var(--moon-mid) 48%, var(--moon-deep));border-radius:50%;place-items:center;display:grid}.shell-menu{z-index:70;width:230px;position:absolute;top:calc(100% + 10px);right:0;overflow:hidden}.shell-menu-item{width:100%;font-size:var(--fs-small);font-weight:var(--fw-medium);color:var(--text);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:10px;padding:11px 14px;display:flex}.shell-menu-item:hover{background:var(--accent-soft)}.shell-content{width:100%;max-width:1240px;margin:0 auto;padding:30px 34px 60px}.shell-scrim{display:none}@media (width<=920px){.shell-side{z-index:90;transition:transform .24s var(--ease-out);box-shadow:var(--shadow-2);position:fixed;left:0;transform:translate(-100%)}.shell-side.open{transform:translate(0)}.shell-close,.shell-burger{display:block}.shell-scrim{background:var(--overlay);z-index:80;display:block;position:fixed;inset:0}.shell-content{padding:20px 16px 60px}.shell-user-name{display:none}.shell-top{padding:10px 14px}}
