.page-container{max-width:1152px;margin-left:auto;margin-right:auto;padding-left:16px;padding-right:16px}.page-grid-split-340{display:grid;grid-template-columns:1fr;gap:24px}@media(min-width:1024px){.page-grid-split-340{grid-template-columns:1fr 340px}}.page-grid-split-440{display:grid;grid-template-columns:1fr;gap:24px}@media(min-width:1024px){.page-grid-split-440{grid-template-columns:1fr 440px}}.page-grid-two-col{display:grid;grid-template-columns:1fr;gap:24px}@media(min-width:1024px){.page-grid-two-col{grid-template-columns:1fr 1fr}}.page-single{width:100%}.page-narrow{max-width:768px;margin-left:auto;margin-right:auto}.page-form{max-width:672px;margin-left:auto;margin-right:auto}.page-auth{max-width:384px;margin-left:auto;margin-right:auto;width:100%}.app-shell{display:flex;flex-direction:column;height:100dvh;background:var(--bg)}.app-shell-header{flex-shrink:0;background:color-mix(in srgb,var(--bg) 80%,transparent);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-bottom:1px solid var(--border);padding-left:16px;padding-right:16px;height:56px;display:flex;align-items:center;justify-content:space-between;z-index:20}.app-shell-main{flex:1;overflow:auto}.app-shell-main-inner{max-width:1152px;margin-left:auto;margin-right:auto;padding:16px 16px 96px}@media(min-width:768px){.app-shell-main-inner{padding-bottom:24px}}.nav-bar{display:flex;align-items:center;gap:4px}.nav-link{display:flex;align-items:center;gap:8px;padding:6px 12px;border-radius:var(--radius);font-size:14px;line-height:20px;font-weight:500;color:var(--text-secondary);transition:color var(--duration-fast) var(--ease),background-color var(--duration-fast) var(--ease)}.nav-link:hover{color:var(--text);background:var(--bg-hover)}.nav-link.active,.nav-link.active:hover{background:var(--accent-subtle);color:var(--text)}.nav-link-sm{display:flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--radius);font-size:12px;line-height:16px;font-weight:500;color:var(--text-secondary);white-space:nowrap;transition:color var(--duration-fast) var(--ease),background-color var(--duration-fast) var(--ease)}.nav-link-sm:hover{color:var(--text);background:var(--bg-hover)}.nav-link-sm.active{background:var(--accent-subtle);color:var(--text)}.admin-nav{display:none;flex-shrink:0;border-bottom:1px solid var(--border);background:var(--bg-raised)}@media(min-width:768px){.admin-nav{display:block}}.admin-nav-inner{max-width:1152px;margin-left:auto;margin-right:auto;padding-left:16px;padding-right:16px}.admin-nav-list{display:flex;align-items:center;gap:4px;height:40px;overflow-x:auto}.admin-nav-divider{display:inline-block;width:1px;height:20px;background:var(--border);margin:0 8px;flex-shrink:0}.mobile-nav{flex-shrink:0;background:color-mix(in srgb,var(--bg-raised) 90%,transparent);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom,0px);z-index:20}@media(min-width:768px){.mobile-nav{display:none}}.mobile-nav-list{display:flex}.mobile-nav-link{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 0;font-size:12px;line-height:16px;font-weight:500;color:var(--text-secondary);position:relative;transition:color var(--duration-fast) var(--ease)}.mobile-nav-link.active{color:var(--accent)}.mobile-nav-indicator{position:absolute;top:0;left:50%;transform:translate(-50%);width:24px;height:2px;background:var(--accent);border-radius:9999px}.mobile-menu-backdrop{position:fixed;inset:56px 0 0;z-index:20}@media(min-width:768px){.mobile-menu-backdrop{display:none}}.mobile-menu{position:absolute;top:56px;left:0;right:0;background:var(--bg-raised);border-bottom:1px solid var(--border);padding:12px 16px;z-index:30}@media(min-width:768px){.mobile-menu{display:none}}.mobile-menu-user{display:flex;align-items:center;gap:8px;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--border)}.mobile-menu-section{margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--border)}.mobile-menu-section>*+*{margin-top:4px}.mobile-menu-link{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:var(--radius);font-size:14px;line-height:20px;color:var(--text-secondary);transition:color var(--duration-fast) var(--ease),background-color var(--duration-fast) var(--ease)}.mobile-menu-link.active{background:var(--accent-muted);color:var(--accent)}.mobile-menu-logout{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;border-radius:var(--radius);font-size:14px;line-height:20px;color:var(--text-secondary);transition:color var(--duration-fast) var(--ease),background-color var(--duration-fast) var(--ease)}.mobile-menu-logout:hover{color:var(--error);background:var(--error-dim)}.sidebar{display:flex;flex-direction:column;gap:16px}@media(min-width:1024px){.sidebar-sticky{position:sticky;top:16px;align-self:start}}.flex-row{display:flex;align-items:center}.flex-col{display:flex;flex-direction:column}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.flex-1{flex:1;min-width:0}.shrink-0{flex-shrink:0}.stack-xs{display:flex;flex-direction:column;gap:4px}.stack-sm{display:flex;flex-direction:column;gap:8px}.stack-3{display:flex;flex-direction:column;gap:12px}.stack-md{display:flex;flex-direction:column;gap:16px}.stack-lg{display:flex;flex-direction:column;gap:24px}.stack-xl{display:flex;flex-direction:column;gap:32px}.row-xs{display:flex;align-items:center;gap:4px}.row-sm{display:flex;align-items:center;gap:8px}.row-md{display:flex;align-items:center;gap:16px}.row-lg{display:flex;align-items:center;gap:24px}.hide-mobile{display:none}@media(min-width:768px){.hide-mobile{display:flex}}.hide-mobile-block{display:none}@media(min-width:768px){.hide-mobile-block{display:block}}.hide-mobile-inline{display:none}@media(min-width:768px){.hide-mobile-inline{display:inline}}.show-mobile-only{display:flex}@media(min-width:768px){.show-mobile-only{display:none}}.hide-desktop{display:block}@media(min-width:1024px){.hide-desktop{display:none}}.show-desktop-only{display:none}@media(min-width:1024px){.show-desktop-only{display:block}}.show-desktop-flex{display:none}@media(min-width:1024px){.show-desktop-flex{display:flex}}.divide-subtle>*+*{border-top:1px solid var(--border-subtle)}.divide-border>*+*{border-top:1px solid var(--border)}.search-input-wrap{position:relative;flex:1}.search-input-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-tertiary)}.search-input{width:100%;padding:10px 16px 10px 40px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);font-size:13px;color:var(--text);transition:border-color var(--duration-fast) var(--ease),box-shadow var(--duration-fast) var(--ease)}.search-input::placeholder{color:var(--text-tertiary)}.search-input:focus{outline:none;border-color:var(--text);box-shadow:0 0 0 3px var(--accent-subtle)}.pos-relative{position:relative}.w-full{width:100%}.text-right{text-align:right}.text-center{text-align:center}.text-left{text-align:left}.stack-xxs{display:flex;flex-direction:column;gap:2px}.row-3{display:flex;align-items:center;gap:12px}.grid-4-col{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.grid-3-to-5{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}@media(min-width:768px){.grid-3-to-5{grid-template-columns:repeat(5,1fr)}}.overflow-x-auto{overflow-x:auto}.bleed-sm{margin-left:-4px;margin-right:-4px;padding-left:4px;padding-right:4px}.bleed-md{margin-left:-8px;margin-right:-8px;padding-left:8px;padding-right:8px}.nowrap{white-space:nowrap}.opacity-60{opacity:.6}.display-block{display:block}.display-inline{display:inline}.break-all{word-break:break-all}.mt-half{margin-top:2px}.mt-1{margin-top:4px}.mt-2{margin-top:8px}.mt-3{margin-top:12px}.mb-1{margin-bottom:4px}.mb-2{margin-bottom:8px}.mb-3{margin-bottom:12px}.pt-1{padding-top:4px}.pt-3{padding-top:12px}.pb-2{padding-bottom:8px}.py-2{padding-top:8px;padding-bottom:8px}.py-3{padding-top:12px;padding-bottom:12px}.mt-4{margin-top:16px}.mb-4{margin-bottom:16px}.mb-6{margin-bottom:24px}.mb-10{margin-bottom:40px}.ml-2{margin-left:8px}.ml-half{margin-left:2px}.pt-4{padding-top:16px}.mt-1-5{margin-top:6px}.loading-page{display:flex;align-items:center;justify-content:center;height:100dvh;background:var(--bg)}.nav-divider{margin-left:8px;padding-left:8px;border-left:1px solid var(--border)}.user-info-name{font-size:12px;line-height:1.3;color:var(--text-secondary)}.user-info-role{font-size:10px;line-height:1.3;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em}.section-border-top{border-top:1px solid var(--border);padding-top:12px}.section-border-top-sm{border-top:1px solid var(--border);padding-top:8px}.section-border-top-subtle{border-top:1px solid var(--border-subtle);padding-top:8px}.section-border-top-spaced{border-top:1px solid var(--border);margin-top:12px;padding-top:12px}.section-border-right{border-right:1px solid var(--border-subtle)}.grid-span-full{grid-column:1 / -1}.overlay-transparent{position:fixed;inset:0;z-index:40}.inline-icon{display:inline;vertical-align:middle;margin-right:4px}.row-3-end{display:flex;align-items:flex-end;gap:12px}.font-normal{font-weight:400}.tracking-tight{letter-spacing:-.025em}.items-start{align-items:flex-start}.p-4{padding:16px}.ml-auto{margin-left:auto}.w-10{width:40px}.w-12{width:48px}.w-16{width:64px}.w-20{width:80px}.w-24{width:96px}.w-32{width:128px}.btn-primary{border-radius:var(--radius);background:var(--text);color:var(--text-inverse);font-size:13px;font-weight:500;padding:6px 12px;transition:transform var(--duration-fast) var(--ease),opacity var(--duration-fast) var(--ease)}.btn-primary:hover{opacity:.9}.btn-primary:active{transform:scale(.97)}.btn-primary:disabled{opacity:.5;pointer-events:none}.btn-primary-lg{border-radius:var(--radius);background:var(--text);color:var(--text-inverse);font-size:14px;font-weight:600;padding:12px 16px;width:100%;display:flex;align-items:center;justify-content:center;gap:8px;transition:opacity var(--duration-fast) var(--ease)}.btn-primary-lg:hover{opacity:.85}.btn-secondary{border-radius:var(--radius);border:1px solid var(--border);color:var(--text-secondary);font-size:13px;font-weight:500;padding:6px 12px;background:transparent;transition:border-color var(--duration-fast) var(--ease),transform var(--duration-fast) var(--ease)}.btn-secondary:hover{border-color:var(--text)}.btn-secondary:active{transform:scale(.97)}.btn-ghost{border-radius:var(--radius);color:var(--text-secondary);font-size:13px;font-weight:500;padding:6px 12px;background:transparent;transition:color var(--duration-fast) var(--ease),background-color var(--duration-fast) var(--ease)}.btn-ghost:hover{background:var(--bg-hover);color:var(--text)}.btn-accent{border-radius:var(--radius);background:var(--accent);color:var(--text-inverse);font-size:14px;font-weight:600;padding:6px 12px;transition:opacity var(--duration-fast) var(--ease),transform var(--duration-fast) var(--ease)}.btn-accent:hover{opacity:.85}.btn-accent:active{transform:scale(.97)}.btn-icon{padding:6px;border-radius:var(--radius);color:var(--icon);transition:color var(--duration-fast) var(--ease),background-color var(--duration-fast) var(--ease)}.btn-icon:hover{color:var(--icon-hover);background:var(--bg-hover)}.btn-icon:disabled{opacity:.3;pointer-events:none}.btn-icon-sm{padding:4px;border-radius:var(--radius);color:var(--text-tertiary);flex-shrink:0;transition:color var(--duration-fast) var(--ease)}.btn-icon-sm:hover{color:var(--error)}.btn-icon-nobg{padding:8px;border-radius:var(--radius);color:var(--icon);transition:color var(--duration-fast) var(--ease)}.btn-icon-nobg:hover{color:var(--icon-hover)}.input{width:100%;border:1px solid var(--border);border-radius:var(--radius);padding:8px 12px;background:transparent;font-size:15px;color:var(--text);outline:none;transition:border-color var(--duration-fast) var(--ease),box-shadow var(--duration-fast) var(--ease)}.input::placeholder{color:var(--text-tertiary)}.input:focus{border-color:var(--text);box-shadow:0 0 0 3px var(--accent-subtle)}.input-mono{width:100%;border:1px solid var(--border);border-radius:var(--radius);padding:8px 12px;background:transparent;font-family:var(--font-mono);font-size:15px;color:var(--text);outline:none;transition:border-color var(--duration-fast) var(--ease),box-shadow var(--duration-fast) var(--ease)}.input-mono:focus{border-color:var(--text);box-shadow:0 0 0 3px var(--accent-subtle)}.input-sm{width:100%;padding:8px 12px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);font-size:14px;color:var(--text);outline:none;transition:border-color var(--duration-fast) var(--ease),box-shadow var(--duration-fast) var(--ease)}.input-sm::placeholder{color:var(--text-tertiary)}.input-sm:focus{border-color:var(--text);box-shadow:0 0 0 3px var(--accent-subtle)}.input-admin{width:100%;padding:8px 12px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);font-size:14px;color:var(--text-secondary);outline:none;transition:border-color var(--duration-fast) var(--ease)}.input-admin::placeholder{color:var(--text-tertiary)}.input-admin:focus{border-color:var(--text)}.select{padding:10px 12px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);font-size:13px;color:var(--text);outline:none;transition:border-color var(--duration-fast) var(--ease),box-shadow var(--duration-fast) var(--ease)}.select:focus{border-color:var(--text);box-shadow:0 0 0 3px var(--accent-subtle)}.select-sm{font-size:12px;background:transparent;border:1px solid var(--border);border-radius:var(--radius);color:var(--text-secondary);padding:4px 8px;outline:none}.select-sm:focus{box-shadow:0 0 0 3px var(--accent-subtle)}.textarea{width:100%;border:1px solid var(--border);border-radius:var(--radius);padding:8px 12px;background:transparent;font-size:13px;color:var(--text);outline:none;resize:none;transition:border-color var(--duration-fast) var(--ease),box-shadow var(--duration-fast) var(--ease)}.textarea:focus{border-color:var(--text);box-shadow:0 0 0 3px var(--accent-subtle)}.badge-success{border-radius:var(--radius);font-size:12px;font-weight:600;padding:2px 6px;background:var(--success-dim);color:var(--success)}.badge-error{border-radius:var(--radius);font-size:12px;font-weight:600;padding:2px 6px;background:var(--error-dim);color:var(--error)}.badge-accent{border-radius:var(--radius);font-family:var(--font-mono);font-size:11px;font-weight:500;padding:2px 8px;background:var(--accent-subtle);color:var(--accent)}.badge-role{font-size:12px;padding:2px 8px;border-radius:var(--radius);background:var(--accent-subtle);color:var(--accent);text-transform:uppercase;letter-spacing:.05em;font-weight:500}.card{border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px}.card-raised{border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px;background:var(--bg-raised)}.card-padded{border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;background:var(--bg-raised)}.modal-backdrop{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center}.modal-overlay{position:absolute;inset:0;background:var(--backdrop);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.modal{position:relative;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;width:100%;max-width:384px;box-shadow:0 24px 48px var(--shadow),0 2px 8px var(--shadow-sm)}.toggle{display:flex;border-radius:var(--radius);border:1px solid var(--border);overflow:hidden}.toggle-segment{flex:1;padding:8px 0;font-size:13px;font-weight:500;color:var(--text-tertiary);text-align:center;transition:transform var(--duration-fast) var(--ease)}.toggle-segment:active{transform:scale(.97)}.toggle-segment.active{background:var(--text);color:var(--text-inverse)}.toggle-segment-sm{flex:1;padding:6px 0;font-size:11px;font-weight:500;color:var(--text-tertiary);text-align:center;transition:transform var(--duration-fast) var(--ease)}.toggle-segment-sm:active{transform:scale(.97)}.toggle-segment-sm.active{background:var(--text);color:var(--text-inverse)}.pill-tab{font-size:11px;font-family:var(--font-mono);padding:2px 8px;border-radius:var(--radius);color:var(--text-tertiary);flex-shrink:0;transition:color var(--duration-fast) var(--ease),background-color var(--duration-fast) var(--ease)}.pill-tab:hover{color:var(--text-secondary)}.pill-tab.active{color:var(--text);background:var(--bg-overlay)}.pill-btn{padding:4px 12px;font-size:12px;font-weight:500;border-radius:var(--radius);color:var(--text-secondary);transition:color var(--duration-fast) var(--ease),background-color var(--duration-fast) var(--ease)}.pill-btn:hover{color:var(--text);background:var(--bg-hover)}.pill-btn.active{background:var(--text);color:var(--text-inverse)}.tooltip{position:absolute;z-index:50;top:100%;left:0;margin-top:4px;width:256px;background:var(--bg-overlay);border:1px solid var(--border);border-radius:var(--radius);padding:12px;box-shadow:0 4px 12px var(--shadow)}.collapsible{border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.collapsible-header{width:100%;display:flex;align-items:center;justify-content:space-between;padding:12px 16px;transition:background-color var(--duration-fast) var(--ease)}.collapsible-header:hover{background:var(--bg-hover)}.collapsible-body{padding:0 16px 16px;border-top:1px solid var(--border-subtle)}.skeleton{background:var(--bg-raised);border-radius:var(--radius);animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.skeleton-lg{background:var(--bg-raised);border-radius:var(--radius-lg);animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.skeleton-card{background:var(--bg-raised);border-radius:var(--radius-lg);border:1px solid var(--border);animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.dropdown-panel{position:absolute;right:0;top:100%;margin-top:8px;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--bg);box-shadow:0 24px 48px var(--shadow),0 2px 8px var(--shadow-sm);z-index:50;overflow:hidden}.list-row{transition:background-color var(--duration-fast) var(--ease)}.list-row:hover{background:var(--bg-hover)}.notif-badge{position:absolute;top:2px;right:2px;width:16px;height:16px;border-radius:var(--radius);background:var(--accent);color:var(--text-inverse);font-size:11px;font-weight:500;display:flex;align-items:center;justify-content:center}.notif-item{padding:8px 12px;border-bottom:1px solid var(--border-subtle);cursor:pointer;transition:background-color var(--duration-fast) var(--ease)}.notif-item:last-child{border-bottom:0}.notif-item:hover{background:var(--bg-hover)}.notif-item.unread{background:var(--accent-muted)}.notif-item-header{display:flex;align-items:center;gap:8px}.notif-chevron{color:var(--icon);transition:transform var(--duration-fast) var(--ease)}.notif-chevron.expanded{transform:rotate(90deg)}.notif-item-body{margin-top:6px;padding-top:6px;border-top:1px solid var(--border-subtle)}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.min-w-0{min-width:0}.page-help-panel{animation:panel-in .24s var(--ease);margin-top:8px;background:var(--bg-raised);border-radius:var(--radius-lg);border:1px solid var(--accent-subtle);padding:12px;font-size:12px;color:var(--text-secondary);line-height:1.625;transform-origin:top left}.page-help-panel>*+*{margin-top:8px}.pagination{display:flex;align-items:center;justify-content:center;gap:4px;margin-top:12px}.pagination-btn{padding:6px;border-radius:var(--radius);color:var(--icon);transition:color var(--duration-fast) var(--ease),background-color var(--duration-fast) var(--ease)}.pagination-btn:hover{color:var(--icon-hover);background:var(--bg-hover)}.pagination-btn:disabled{opacity:.3;pointer-events:none}.pagination-page{min-width:28px;height:28px;font-size:12px;font-weight:500;border-radius:var(--radius);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;transition:color var(--duration-fast) var(--ease),background-color var(--duration-fast) var(--ease)}.pagination-page:hover{color:var(--text);background:var(--bg-hover)}.pagination-page.active{background:var(--text);color:var(--text-inverse)}.announcement{background:var(--bg-raised);border-radius:var(--radius-lg);border:1px solid var(--border);padding:16px}.announcement.pinned{border-color:var(--accent)}.avatar-sm{width:32px;height:32px;border-radius:9999px;background:var(--accent-subtle);display:flex;align-items:center;justify-content:center;flex-shrink:0}.avatar-lg{width:40px;height:40px;border-radius:9999px;background:var(--accent-subtle);display:flex;align-items:center;justify-content:center;flex-shrink:0}.stepper{display:flex;align-items:center;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:border-color var(--duration-fast) var(--ease),box-shadow var(--duration-fast) var(--ease)}.stepper:focus-within{border-color:var(--text);box-shadow:0 0 0 3px var(--accent-subtle)}.stepper-btn{width:40px;height:40px;color:var(--text-secondary);transition:background-color var(--duration-fast) var(--ease)}.stepper-btn:hover{background:var(--bg-hover)}.stepper-input{flex:1;text-align:center;font-family:var(--font-mono);font-size:15px;background:transparent;outline:none;border:none;color:var(--text)}.checkbox-label{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text-secondary);cursor:pointer}.vote-btn-up{padding:6px;border-radius:var(--radius);color:var(--text-tertiary);transition:color var(--duration-fast) var(--ease),background-color var(--duration-fast) var(--ease)}.vote-btn-up:hover{color:var(--success);background:var(--bg-hover)}.vote-btn-down{padding:6px;border-radius:var(--radius);color:var(--text-tertiary);transition:color var(--duration-fast) var(--ease),background-color var(--duration-fast) var(--ease)}.vote-btn-down:hover{color:var(--error);background:var(--bg-hover)}.markdown-block{margin-bottom:8px}.markdown-block:last-child{margin-bottom:0}.markdown-block>li+li{margin-top:2px}.md-strong{color:var(--text);font-weight:600}.md-heading{font-size:14px;font-weight:600;color:var(--text);margin-bottom:4px}.md-blockquote{border-left:2px solid var(--border);padding-left:12px;font-size:14px;color:var(--text-tertiary)}.md-hr{border-color:var(--border);margin:12px 0}.md-table{width:100%;font-size:14px;border-collapse:collapse}.md-thead{border-bottom:1px solid var(--border)}.md-th{text-align:left;font-size:12px;font-weight:500;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;padding:6px 16px 6px 0}.md-td{font-size:14px;color:var(--text-secondary);padding:6px 16px 6px 0}.inline-code{font-size:12px;font-family:var(--font-mono);background:var(--bg-overlay);padding:1px 4px;border-radius:var(--radius)}.underline{text-decoration:underline}.btn-primary-admin{padding:8px 16px;background:var(--text);color:var(--text-inverse);font-size:14px;font-weight:600;border-radius:var(--radius);transition:opacity var(--duration-fast) var(--ease),transform var(--duration-fast) var(--ease)}.btn-primary-admin:hover{opacity:.85}.btn-primary-admin:active{transform:scale(.97)}.btn-primary-admin:disabled{opacity:.5;pointer-events:none}.btn-outline-admin{padding:8px 16px;background:transparent;color:var(--text);font-size:14px;font-weight:500;border-radius:var(--radius);border:1px solid var(--border);transition:background-color var(--duration-fast) var(--ease),transform var(--duration-fast) var(--ease)}.btn-outline-admin:hover{background:var(--bg-hover)}.btn-outline-admin:active{transform:scale(.97)}.btn-outline-admin:disabled{opacity:.5;pointer-events:none}.btn-accent-admin{padding:6px 12px;background:var(--accent);color:var(--text-inverse);font-size:14px;font-weight:600;border-radius:var(--radius);transition:opacity var(--duration-fast) var(--ease),transform var(--duration-fast) var(--ease)}.btn-accent-admin:hover{opacity:.85}.btn-accent-admin:active{transform:scale(.97)}.btn-sm{padding:6px 16px;background:var(--text);color:var(--text-inverse);font-size:12px;font-weight:500;border-radius:var(--radius);transition:transform var(--duration-fast) var(--ease)}.btn-sm:active{transform:scale(.97)}.btn-sm:disabled{opacity:.5;pointer-events:none}.btn-sm-secondary{padding:6px 16px;border:1px solid var(--border);color:var(--text-secondary);font-size:12px;font-weight:500;border-radius:var(--radius);background:transparent;transition:border-color var(--duration-fast) var(--ease)}.btn-sm-secondary:hover{border-color:var(--text)}.btn-xs-primary{padding:4px 12px;background:var(--text);color:var(--text-inverse);font-size:12px;font-weight:600;border-radius:var(--radius);transition:opacity var(--duration-fast) var(--ease)}.btn-xs-primary:hover{opacity:.85}.btn-xs-danger{padding:4px 12px;background:var(--error);color:var(--text-inverse);font-size:12px;font-weight:600;border-radius:var(--radius)}.btn-danger{padding:8px 16px;background:var(--error);color:var(--text-inverse);font-size:14px;font-weight:600;border-radius:var(--radius);transition:opacity var(--duration-fast) var(--ease)}.btn-danger:hover{opacity:.85}.btn-danger:disabled{opacity:.5;pointer-events:none}.btn-success{padding:8px 16px;background:var(--success);color:var(--text-inverse);font-size:14px;font-weight:600;border-radius:var(--radius);transition:opacity var(--duration-fast) var(--ease)}.btn-success:hover{opacity:.85}.btn-confirm{flex:1;padding:10px 0;background:var(--text);color:var(--text-inverse);font-size:13px;font-weight:500;border-radius:var(--radius);transition:transform var(--duration-fast) var(--ease)}.btn-confirm:active{transform:scale(.97)}.btn-confirm:disabled{opacity:.5;pointer-events:none}.btn-cancel{flex:1;padding:10px 0;border:1px solid var(--border);color:var(--text-secondary);font-size:13px;font-weight:500;border-radius:var(--radius);background:transparent;transition:transform var(--duration-fast) var(--ease)}.btn-cancel:active{transform:scale(.97)}.btn-icon-danger{padding:6px;border-radius:var(--radius);color:var(--text-tertiary);transition:color var(--duration-fast) var(--ease),background-color var(--duration-fast) var(--ease)}.btn-icon-danger:hover{color:var(--error);background:var(--error-dim)}.btn-theme-toggle{display:flex;align-items:center;gap:6px;padding:6px 8px;border-radius:var(--radius);color:var(--text-secondary);transition:color var(--duration-fast) var(--ease),background-color var(--duration-fast) var(--ease)}.btn-theme-toggle:hover{color:var(--text);background:var(--bg-hover)}.help-trigger{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary);transition:color var(--duration-fast) var(--ease)}.help-trigger:hover{color:var(--text)}.help-trigger-accent{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary);transition:color var(--duration-fast) var(--ease)}.help-trigger-accent:hover{color:var(--accent)}.input-admin-mono{width:100%;padding:8px 12px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);font-family:var(--font-mono);font-size:14px;color:var(--text-secondary);outline:none;transition:border-color var(--duration-fast) var(--ease)}.input-admin-mono:focus{border-color:var(--text)}.search-input-admin{width:100%;padding:8px 16px 8px 40px;background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);font-size:14px;color:var(--text-secondary);transition:border-color var(--duration-fast) var(--ease)}.search-input-admin::placeholder{color:var(--text-tertiary)}.search-input-admin:focus{outline:none;border-color:var(--text)}.form-label{display:block;font-size:12px;color:var(--text-secondary);margin-bottom:4px}.form-section-label{display:block;font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:4px}.toggle-switch{position:relative;width:44px;height:24px;border-radius:9999px;transition:background-color var(--duration-fast) var(--ease);cursor:pointer}.toggle-switch.on{background:var(--accent)}.toggle-switch.off{background:var(--bg-overlay)}.toggle-knob{position:absolute;top:2px;width:20px;height:20px;background:var(--text-inverse);border-radius:9999px;transition:left var(--duration-fast) var(--ease)}.toggle-knob.on{left:22px}.toggle-knob.off{left:2px}.card-compact{border:1px solid var(--border);border-radius:var(--radius-lg);padding:12px;background:var(--bg-raised)}.list-card{border:1px solid var(--border);border-radius:var(--radius-lg)}.list-card>*+*{border-top:1px solid var(--border-subtle)}.empty-state{background:var(--bg-raised);border-radius:var(--radius-lg);border:1px solid var(--border);padding:32px;text-align:center}.empty-state-inline{background:var(--bg-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:16px 20px}.section-heading-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.status-dot{display:inline-block;width:6px;height:6px;border-radius:9999px;background:var(--text-tertiary)}.dim-feedback{display:flex;flex-direction:column;gap:6px;padding-top:8px;border-top:1px solid var(--border-subtle)}.dim-feedback-row{display:grid;grid-template-columns:1fr auto 110px;gap:12px;align-items:center}.dim-feedback-label{font-size:12px;color:var(--text-secondary)}.dim-feedback-dots{display:inline-flex;gap:3px}.dim-dot{width:6px;height:6px;border-radius:9999px;background:var(--border)}.dim-dot-filled{background:var(--accent)}.dim-feedback-desc{font-size:11px;color:var(--text-tertiary);text-align:right}.presentation-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;width:100%}.presentation-row-main{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1 1 auto}.presentation-row-meta{display:flex;align-items:center;gap:8px;flex:0 0 auto;flex-wrap:wrap;justify-content:flex-end}.stat-box{background:var(--bg);border-radius:var(--radius);padding:12px}.alert-accent{background:var(--bg-raised);border-radius:var(--radius-lg);border:1px solid var(--accent-subtle);padding:12px}.alert-info{background:var(--accent-muted);border-radius:var(--radius-lg);border:1px solid var(--accent-subtle);padding:16px}.alert-error{background:var(--error-dim);border-radius:var(--radius-lg);border:1px solid var(--error-dim);padding:16px}.card-accent-border{background:var(--bg-raised);border-radius:var(--radius-lg);border:1px solid var(--accent-subtle);padding:16px}.card-danger-border{background:var(--bg-raised);border-radius:var(--radius-lg);border:1px solid var(--error-dim);padding:16px}.avatar-xs{width:24px;height:24px;border-radius:9999px;background:var(--bg-hover);display:flex;align-items:center;justify-content:center;flex-shrink:0}.avatar-xl{width:48px;height:48px;border-radius:9999px;background:var(--accent-subtle);display:flex;align-items:center;justify-content:center;flex-shrink:0}.cta-accent{display:block;background:var(--accent);border-radius:var(--radius-lg);padding:16px;transition:opacity var(--duration-fast) var(--ease)}.cta-accent:hover{opacity:.9}.btn-icon-close{padding:6px;border-radius:var(--radius);color:var(--text-secondary);transition:color var(--duration-fast) var(--ease)}.btn-icon-close:hover{color:var(--text)}.card-raised-flush{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-raised)}.opacity-70{opacity:.7}.dropdown-header{padding:8px 12px;border-bottom:1px solid var(--border-subtle)}.dropdown-body{max-height:360px;overflow-y:auto}.dropdown-empty{padding:24px 12px;text-align:center}.pagination-ellipsis{padding:0 4px;font-size:11px;color:var(--text-tertiary)}.textarea-md{min-height:120px}.textarea-sm{min-height:80px}.textarea-lg{min-height:160px}.skeleton-h12{height:12px}.skeleton-h16{height:16px}.skeleton-h20{height:20px}.skeleton-h48{height:48px}.skeleton-h80{height:80px}.skeleton-h120{height:120px}.skeleton-h160{height:160px}.skeleton-h220{height:220px}.skeleton-h300{height:300px}.skeleton-w33{width:33%}.skeleton-w50{width:50%}.skeleton-w66{width:66%}.close-btn-absolute{position:absolute;top:12px;right:12px}.checkbox-label-top{display:flex;align-items:flex-start;gap:8px;padding:4px 0;font-size:14px;color:var(--text-secondary);cursor:pointer}.input-narrow{width:96px;padding:8px 12px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);font-size:14px;color:var(--text-secondary);outline:none;transition:border-color var(--duration-fast) var(--ease)}.input-narrow:focus{border-color:var(--text)}.skeleton-h60{height:60px}.skeleton-h64{height:64px}.skeleton-w56{width:56px}.skeleton-w64{width:64px}.skeleton-w128{width:128px}.skeleton-w160{width:160px}.skeleton-w192{width:192px}.skeleton-h200{height:200px}.dropdown-panel-lg{width:320px}.min-w-10{min-width:40px}.min-w-6{min-width:24px}.rubric-section{display:flex;flex-direction:column;gap:12px;padding-top:20px;border-top:1px solid var(--border-subtle)}.rubric-section:first-of-type{padding-top:0;border-top:0}.rubric-section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.rubric-section-header>.stack-xxs{min-width:200px;flex:1 1 240px}.rubric-section-header>button{flex:0 0 auto;margin-top:2px}.rubric-section-title{font-size:13px;font-weight:500;color:var(--text)}.rubric-section-help{font-size:12px;color:var(--text-tertiary);line-height:16px}.rubric-section-empty{padding:12px 14px;border:1px dashed var(--border);border-radius:var(--radius);color:var(--text-tertiary);font-size:12px}.rubric-level-row{display:flex;align-items:flex-start;gap:10px;padding:8px 12px;border:1px solid var(--border);border-radius:6px;cursor:pointer;transition:border-color .12s cubic-bezier(.22,1,.36,1),background-color .12s cubic-bezier(.22,1,.36,1)}.rubric-level-row:hover{background-color:var(--bg-hover)}.rubric-level-row-selected{border-color:var(--text);background-color:var(--accent-muted)}.rubric-level-row input[type=radio]{margin-top:2px}.grid-cell-anim{transition:fill 1.2s cubic-bezier(.22,1,.36,1),opacity 1.2s cubic-bezier(.22,1,.36,1)}@media(prefers-reduced-motion:reduce){.grid-cell-anim{transition:none}}.hero-section{padding-top:16px;padding-bottom:8px;min-height:100px}.chart-container{min-height:188px}.hero-label{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.01em;color:var(--text-tertiary);margin-bottom:4px}.hero-value{font-family:var(--font-display);font-size:52px;font-weight:400;letter-spacing:.02em;color:var(--text);line-height:1.25}.hero-value-sm{font-family:var(--font-display);font-size:36px;font-weight:400;letter-spacing:.02em;color:var(--text);line-height:40px}.hero-change{font-family:var(--font-mono);font-size:14px;line-height:20px}.hero-change-tight{font-family:var(--font-mono);font-size:14px;line-height:20px;margin-top:2px}.ticker-symbol{font-family:var(--font-mono);font-size:11px;font-weight:500;color:var(--text)}.ticker-symbol-lg{font-family:var(--font-mono);font-size:13px;font-weight:500;color:var(--text)}.ticker-price{font-family:var(--font-mono);font-size:15px;color:var(--text)}.ticker-price-sm{font-family:var(--font-mono);font-size:14px;line-height:20px;color:var(--text)}.change-badge{display:inline-block;font-family:var(--font-mono);font-size:11px;font-weight:500;padding:2px 8px;border-radius:var(--radius)}.change-badge.gain{color:var(--success);background:var(--success-dim)}.change-badge.loss{color:var(--error);background:var(--error-dim)}.order-book-grid{display:grid;grid-template-columns:1fr 1fr}.depth-row{position:relative;height:28px;display:flex;align-items:center}.depth-bar{position:absolute;top:0;bottom:0;border-radius:2px}.depth-bar-bid{right:0;background:var(--success-dim)}.depth-bar-ask{left:0;background:var(--error-dim)}.depth-label{font-family:var(--font-mono);font-size:11px}.trade-row{display:flex;align-items:center;gap:8px}.trade-time{font-family:var(--font-mono);font-size:12px;color:var(--text-tertiary);width:32px;text-align:right;flex-shrink:0}.trade-bar-wrap{flex:1;position:relative;height:24px;display:flex;align-items:center}.trade-bar{position:absolute;inset:0 auto 0 0;border-radius:2px}.trade-bar.buy{background:var(--success-dim)}.trade-bar.sell{background:var(--error-dim)}.trade-label{position:relative;display:flex;align-items:center;justify-content:space-between;width:100%;padding:0 8px}.trade-side{font-family:var(--font-mono);font-size:12px;font-weight:500}.allocation-bar{height:6px;background:var(--bg-overlay);border-radius:3px;overflow:hidden;display:flex}.progress-bar{height:4px;border-radius:2px;background:var(--bg-overlay);overflow:hidden}.progress-fill{height:100%;border-radius:2px;background:var(--accent);transition:width var(--duration-slow) var(--ease)}.market-dot{width:6px;height:6px;border-radius:9999px;flex-shrink:0}.market-dot.open{background:var(--success)}.market-dot.closed{background:var(--text-tertiary)}.market-dot.halted{background:var(--error)}.day-range{position:relative;height:4px;background:var(--bg-overlay);border-radius:2px}.day-range-dot{position:absolute;top:50%;width:10px;height:10px;border-radius:9999px;background:var(--text);border:2px solid var(--bg);transform:translate(-50%,-50%)}.cost-summary{border-top:1px solid var(--border-subtle);padding-top:12px;display:flex;flex-direction:column;gap:4px}.cost-row{display:flex;justify-content:space-between}.cost-label{font-size:11px;color:var(--text-tertiary)}.cost-value{font-size:11px;font-family:var(--font-mono);color:var(--text-secondary)}.cooloff-warning{padding:12px;border-radius:var(--radius);background:var(--error-dim);border:1px solid var(--error)}.threshold-warning{padding:12px;border-radius:var(--radius);background:var(--accent-subtle);border:1px solid var(--accent)}.stats-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:32px;row-gap:12px}.stat-row{display:flex;align-items:center;justify-content:space-between}.stat-label{font-size:12px;color:var(--text-secondary)}.stat-value{font-size:12px;font-family:var(--font-mono);color:var(--text)}.position-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}@media(min-width:1024px){.position-grid{grid-template-columns:repeat(4,1fr)}}.stock-list-item{display:flex;align-items:center;gap:16px;padding:12px 16px;border:1px solid var(--border);border-radius:var(--radius-lg);transition:background-color var(--duration-fast) var(--ease)}.stock-list-item:hover{background:var(--bg-hover)}.holdings-row{display:flex;align-items:center;justify-content:space-between;padding:12px 8px;margin:0 -8px;border-radius:var(--radius);transition:background-color var(--duration-fast) var(--ease)}.holdings-row:hover{background:var(--bg-hover)}.order-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0}.help-grid{display:grid;grid-template-columns:1fr;gap:12px;padding-top:4px}@media(min-width:768px){.help-grid{grid-template-columns:1fr 1fr}}.help-card{background:var(--bg);border-radius:var(--radius);padding:12px}.help-card>*+*{margin-top:6px}.pre-ipo-badge{font-size:10px;padding:2px 6px;border-radius:var(--radius);background:var(--accent-subtle);color:var(--accent);font-weight:500;line-height:1}.industry-badge{font-size:10px;padding:2px 6px;border-radius:var(--radius);background:var(--bg-overlay);color:var(--text-tertiary);font-weight:500;line-height:1}.badge-side{font-size:12px;font-weight:600;padding:2px 6px;border-radius:var(--radius)}.badge-side.buy{background:var(--success-dim);color:var(--success)}.badge-side.sell{background:var(--error-dim);color:var(--error)}.side-label{font-size:12px;font-weight:600;width:32px}.price-display{font-family:var(--font-mono);font-size:30px;line-height:36px;font-weight:600;color:var(--text)}.stat-value-lg{font-family:var(--font-mono);font-size:16px;line-height:24px;font-weight:600}.value-mono-bold{font-family:var(--font-mono);font-size:14px;line-height:20px;font-weight:600;color:var(--text)}.ticker-link{font-family:var(--font-mono);font-size:14px;line-height:20px;font-weight:600;color:var(--accent);transition:color var(--duration-fast) var(--ease)}.ticker-link:hover{color:var(--accent-light)}.ticker-accent-lg{font-family:var(--font-mono);font-size:18px;line-height:28px;font-weight:700;color:var(--accent)}.buying-power-row{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.stock-header{padding-top:4px;min-height:80px}.pre-ipo-badge-lg{font-size:12px;padding:2px 8px;border-radius:var(--radius);background:var(--accent-subtle);color:var(--accent);font-weight:500}.depth-header{display:flex;justify-content:space-between;padding:0 4px;margin-bottom:4px}.depth-row-inner{position:relative;display:flex;justify-content:space-between;width:100%;padding:0 4px}.position-section{border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:12px 0}.trade-time-lg{font-family:var(--font-mono);font-size:12px;color:var(--text-tertiary);width:48px;text-align:right;flex-shrink:0}.market-status-bar{padding-top:12px;border-top:1px solid var(--border-subtle);margin-top:16px}.empty-padded{padding:16px 0;text-align:center}.empty-padded-lg{padding:32px 0;text-align:center}.empty-padded-xl{padding:48px 0;text-align:center}.empty-padded-2xl{padding:96px 0;text-align:center}.page-title{font-family:var(--font-display);font-size:41px;font-weight:400;letter-spacing:.01em;color:var(--text);line-height:1.25}.section-title{font-size:14px;line-height:20px;font-weight:600;color:var(--text-secondary)}.section-label{font-size:12px;line-height:16px;font-weight:500;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em}.section-label-secondary{font-size:12px;line-height:16px;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.text-success{color:var(--success)}.text-error{color:var(--error)}.text-accent{color:var(--accent)}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.text-inverse{color:var(--text-inverse)}.font-mono{font-family:var(--font-mono)}.font-display{font-family:var(--font-display)}.font-medium{font-weight:500}.font-semibold{font-weight:600}.gain{color:var(--success)}.loss{color:var(--error)}.text-xs{font-size:12px;line-height:16px}.text-sm{font-size:14px;line-height:20px}.text-base{font-size:16px;line-height:24px}.text-lg{font-size:18px;line-height:28px}.text-xl{font-size:20px;line-height:28px}.admin-heading{font-size:18px;line-height:28px;font-weight:700;color:var(--text)}.admin-table{background:var(--bg-raised);border-radius:var(--radius-lg);border:1px solid var(--border)}.admin-table>*+*{border-top:1px solid var(--border)}.admin-table-subtle{background:var(--bg-raised);border-radius:var(--radius-lg);border:1px solid var(--border)}.admin-table-subtle>*+*{border-top:1px solid var(--border-subtle)}.admin-row{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;text-align:left;transition:background-color var(--duration-fast) var(--ease)}.admin-row:hover{background:var(--bg-hover)}.auth-page{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg);padding:0 24px}.level-table{width:100%;overflow-x:auto}.level-table table{width:100%;font-size:13px}.level-table th{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);padding:8px 12px;text-align:left;border-bottom:1px solid var(--border)}.level-table td{padding:8px 12px;color:var(--text);border-bottom:1px solid var(--border-subtle)}.level-table .current-level{background:var(--accent-muted)}.earnings-card{border:1px solid var(--border);border-radius:var(--radius-lg)}.earnings-card>*+*{border-top:1px solid var(--border-subtle)}.earnings-header{width:100%;text-align:left;padding:16px;transition:background-color var(--duration-fast) var(--ease)}.earnings-header:hover{background:var(--bg-hover)}.earnings-body{padding:0 16px 16px;margin-top:8px}.goal-card{border:1px solid var(--border);border-radius:var(--radius-lg);padding:12px 16px}.goal-card>*+*{margin-top:8px}.week-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:4px}@media(min-width:768px){.week-grid{grid-template-columns:repeat(11,1fr)}}.report-article{padding:16px 0}.admin-form-grid{display:grid;grid-template-columns:1fr;gap:12px}@media(min-width:768px){.admin-form-grid{grid-template-columns:1fr 1fr}}.grade-badge{font-family:var(--font-mono);font-size:12px;font-weight:500;padding:2px 8px;border-radius:var(--radius)}.grade-badge.high{background:var(--success-dim);color:var(--success)}.grade-badge.mid{background:var(--accent-subtle);color:var(--accent)}.grade-badge.low{background:var(--error-dim);color:var(--error)}.window-status{font-family:var(--font-mono);font-size:11px;font-weight:500;padding:2px 8px;border-radius:var(--radius)}.window-status.open{background:var(--success-dim);color:var(--success)}.window-status.closed{background:var(--error-dim);color:var(--error)}.window-status.scheduled{background:var(--accent-subtle);color:var(--accent)}.window-status.paused{background:#c8a03226;color:#b8941a}.list-disc{list-style-type:disc}.list-decimal{list-style-type:decimal}.list-inside{list-style-position:inside}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.chevron-icon{color:var(--icon);transition:transform var(--duration-fast) var(--ease)}.chevron-icon.open{transform:rotate(180deg)}.holdings-header{display:grid;grid-template-columns:1fr 50px 65px 65px;gap:4px;padding-bottom:8px;border-bottom:1px solid var(--border);font-size:12px;color:var(--text-tertiary);font-weight:500;text-transform:uppercase;letter-spacing:.05em}@media(min-width:768px){.holdings-header{grid-template-columns:1fr 60px 70px 70px 60px 70px}}.holdings-grid{display:grid;grid-template-columns:1fr 50px 65px 65px;gap:4px;padding:12px 0;align-items:center}@media(min-width:768px){.holdings-grid{grid-template-columns:1fr 60px 70px 70px 60px 70px}}.ownership-bar{position:relative;height:6px;margin-top:6px;border-radius:3px;background:var(--bg-overlay);overflow:hidden}.ownership-bar-fill{position:absolute;inset:0 auto 0 0;background:var(--accent);border-radius:3px;transition:width .2s ease-out}.ownership-bar-tick{position:absolute;top:-2px;bottom:-2px;width:1px;background:var(--text-tertiary);opacity:.6}.disclosure-details summary{font-size:11px;color:var(--accent);cursor:pointer;font-weight:500}.disclosure-details>div{margin-top:8px;font-size:11px;color:var(--text-tertiary)}.disclosure-details>div>*+*{margin-top:4px}.link-accent{color:var(--accent);font-weight:500;transition:color var(--duration-fast) var(--ease)}.link-accent:hover{color:var(--accent-light)}.back-link{display:inline-flex;align-items:center;gap:4px;font-size:14px;color:var(--icon);transition:color var(--duration-fast) var(--ease)}.back-link:hover{color:var(--icon-hover)}.grid-2-col-sm{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}@media(min-width:768px){.grid-3-col-md{grid-template-columns:repeat(3,1fr)}}.grid-3-col{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.grid-2-to-3{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}@media(min-width:768px){.grid-2-to-3{grid-template-columns:repeat(3,1fr)}}.link-hover-accent:hover *{color:var(--accent)}.text-hover-secondary{transition:color var(--duration-fast) var(--ease)}.text-hover-secondary:hover{color:var(--text-secondary)}.text-body-sm{font-size:13px;line-height:18px}.caption{font-size:11px;line-height:14px}.heading-lg{font-size:18px;line-height:28px;font-weight:600;color:var(--text)}.heading-xl{font-size:20px;line-height:28px;font-weight:600;color:var(--text)}.card-heading{font-size:14px;line-height:20px;font-weight:600;color:var(--text)}.report-text{font-size:14px;line-height:1.625;color:var(--text);white-space:pre-wrap}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.leading-snug{line-height:1.375}.leading-none{line-height:1}.link-accent-sm{font-size:12px;font-weight:500;color:var(--accent);transition:color var(--duration-fast) var(--ease)}.link-accent-sm:hover{color:var(--accent-light)}.link-danger-sm{font-size:12px;font-weight:500;color:var(--error)}.back-link-accent{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:500;color:var(--text-secondary)}.badge-neutral{font-size:12px;padding:2px 8px;border-radius:4px;background:var(--bg-hover);color:var(--text-secondary)}.report-headline-link:hover .report-headline{color:var(--accent);transition:color var(--duration-fast) var(--ease)}.report-headline{transition:color var(--duration-fast) var(--ease)}.text-emphasis{color:var(--text);font-weight:500}.italic{font-style:italic}.whitespace-pre-wrap{white-space:pre-wrap}.inline-link-spaced{margin-top:16px;display:inline-block}.cost-row-total{display:flex;justify-content:space-between;border-top:1px solid var(--border-subtle);padding-top:8px}.activity-row{display:flex;align-items:center;justify-content:space-between;padding:10px 16px}.list-card-item{padding:12px}.admin-table-item{padding:8px 12px}.settings-row{padding:12px 0}.settings-card-inner{padding:0 16px}:root{--color-black: #0a0a0b;--color-gray-950: #131316;--color-gray-900: #1a1a1f;--color-gray-800: #26262e;--color-gray-700: #35354a;--color-gray-600: #4e4e6a;--color-gray-500: #6b6b8a;--color-gray-400: #8e8ea8;--color-gray-300: #acacc2;--color-gray-200: #cdcdd8;--color-gray-100: #e4e4ec;--color-gray-50: #f2f2f6;--color-white: #fafafc;--font-ui: "Plus Jakarta Sans", system-ui, sans-serif;--font-display: "Instrument Serif", Georgia, serif;--font-mono: "JetBrains Mono", monospace;--radius: 6px;--radius-lg: 10px;--ease: cubic-bezier(.22, 1, .36, 1);--duration-instant: 80ms;--duration-fast: .12s;--duration-normal: .16s;--duration-slow: .24s;--duration-glacial: .4s}:root,[data-theme=light]{--bg: #fafafc;--bg-raised: #f2f2f6;--bg-overlay: #e4e4ec;--bg-hover: #f2f2f6;--border: #cdcdd8;--border-subtle: #e4e4ec;--text: #0a0a0b;--text-secondary: #6b6b8a;--text-tertiary: #7a7a96;--text-inverse: #fafafc;--icon: #8e8ea8;--icon-hover: #4e4e6a;--icon-active: #0a0a0b;--accent: #8c4058;--accent-light: #a65670;--accent-subtle: rgba(140, 64, 88, .35);--accent-muted: rgba(140, 64, 88, .06);--shadow: rgba(0, 0, 0, .12);--shadow-sm: rgba(0, 0, 0, .04);--backdrop: rgba(10, 10, 11, .4);--success: #2d7d55;--success-dim: rgba(45, 125, 85, .12);--error: #c44a4a;--error-dim: rgba(196, 74, 74, .1);color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #0a0a0b;--bg-raised: #131316;--bg-overlay: #1a1a1f;--bg-hover: #1a1a1f;--border: #26262e;--border-subtle: #1a1a1f;--text: #fafafc;--text-secondary: #8e8ea8;--text-tertiary: #7a7a96;--text-inverse: #0a0a0b;--icon: #6b6b8a;--icon-hover: #8e8ea8;--icon-active: #fafafc;--accent: #c87090;--accent-light: #d4849e;--accent-subtle: rgba(200, 112, 144, .35);--accent-muted: rgba(200, 112, 144, .1);--shadow: rgba(0, 0, 0, .4);--shadow-sm: rgba(0, 0, 0, .2);--backdrop: rgba(10, 10, 11, .6);--success: #3a9a6a;--success-dim: rgba(58, 154, 106, .15);--error: #e05555;--error-dim: rgba(224, 85, 85, .15);color-scheme:dark}}[data-theme=dark]{--bg: #0a0a0b;--bg-raised: #131316;--bg-overlay: #1a1a1f;--bg-hover: #1a1a1f;--border: #26262e;--border-subtle: #1a1a1f;--text: #fafafc;--text-secondary: #8e8ea8;--text-tertiary: #7a7a96;--text-inverse: #0a0a0b;--icon: #6b6b8a;--icon-hover: #8e8ea8;--icon-active: #fafafc;--accent: #c87090;--accent-light: #d4849e;--accent-subtle: rgba(200, 112, 144, .35);--accent-muted: rgba(200, 112, 144, .1);--shadow: rgba(0, 0, 0, .4);--shadow-sm: rgba(0, 0, 0, .2);--backdrop: rgba(10, 10, 11, .6);--success: #3a9a6a;--success-dim: rgba(58, 154, 106, .15);--error: #e05555;--error-dim: rgba(224, 85, 85, .15);color-scheme:dark}html.theme-ready,html.theme-ready *,html.theme-ready *:before,html.theme-ready *:after{transition:background-color .24s cubic-bezier(.22,1,.36,1),color .24s cubic-bezier(.22,1,.36,1),border-color .24s cubic-bezier(.22,1,.36,1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;border:0 solid var(--border);-webkit-tap-highlight-color:transparent}html{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4}hr{height:0;color:inherit;border-top-width:1px}a{color:inherit;text-decoration:none}b,strong{font-weight:bolder}small{font-size:80%}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0;background:transparent;border:none}button,select{text-transform:none}button,input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}:-moz-focusring{outline:auto}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none!important}body{font-family:var(--font-ui);background:var(--bg);color:var(--text);overscroll-behavior:none;-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}@keyframes flash-up{0%{background-color:var(--success-dim)}to{background-color:transparent}}@keyframes flash-down{0%{background-color:var(--error-dim)}to{background-color:transparent}}.flash-up{animation:flash-up .8s cubic-bezier(.22,1,.36,1)}.flash-down{animation:flash-down .8s cubic-bezier(.22,1,.36,1)}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.pb-safe{padding-bottom:env(safe-area-inset-bottom,0px)}@keyframes panel-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.animate-panel-in{animation:panel-in .24s cubic-bezier(.22,1,.36,1)}@keyframes bell-pulse{0%,to{transform:scale(1)}25%{transform:scale(1.15)}50%{transform:scale(1)}75%{transform:scale(1.1)}}.animate-bell-pulse{animation:bell-pulse .6s cubic-bezier(.22,1,.36,1)}@keyframes tooltip-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.animate-tooltip-in{animation:tooltip-in .24s cubic-bezier(.22,1,.36,1)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}
