body{background-color:var(--surface-0);color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased}html,body{overscroll-behavior:none}:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}[x-cloak],[hidden]{display:none!important}[role=dialog][aria-modal=true] [data-modal-panel],[role=dialog][aria-modal=true] .card{overscroll-behavior:contain}.skip-link{position:absolute;left:-9999px;top:0;z-index:100;background:var(--brand-strong);color:#fff;padding:.5rem 1rem;border-radius:var(--radius-sm)}.skip-link:focus{left:.5rem;top:.5rem}*{scrollbar-width:thin;scrollbar-color:var(--border) transparent}.sidebar{width:var(--sidebar-w);background:var(--surface-1);border-right:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0}@media (max-width: 1023.98px){.sidebar{position:fixed;inset:0 auto 0 0;z-index:50;transform:translate(-100%);transition:transform var(--dur-base) var(--ease-out);box-shadow:var(--shadow-pop)}.sidebar.is-open{transform:translate(0)}}@media (min-width: 1024px){.sidebar{transition:width var(--dur-base) var(--ease-out)}.sidebar.is-collapsed{width:var(--sidebar-w-collapsed)}.sidebar.is-collapsed .sidebar-hide-collapsed{display:none}.sidebar.is-collapsed .nav-item{justify-content:center}.sidebar.is-collapsed .nav-item .flex-1,.sidebar.is-collapsed .nav-group-label{display:none}}.sidebar-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:var(--overlay)}.topbar{height:var(--topbar-h);background:var(--surface-1);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:20}.nav-group-label{padding:14px 18px 5px;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}.nav-item{display:flex;align-items:center;gap:10px;margin:1px 10px;padding:8px 10px;border-radius:var(--radius-md);font-size:12.5px;font-weight:500;color:var(--text-muted);transition:background-color var(--dur-fast) ease,color var(--dur-fast) ease}.nav-item:hover{background:var(--surface-2);color:var(--text)}.nav-item.is-active{background:rgb(var(--brand-rgb) / .14);color:var(--brand-text);font-weight:700}.nav-item[aria-disabled=true]{opacity:.45;pointer-events:none}.card{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.btn{transition:background-color var(--dur-fast) ease,border-color var(--dur-fast) ease,color var(--dur-fast) ease,transform var(--dur-fast) ease}.btn:active{transform:scale(.97)}.pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:3px 10px;font-size:10.5px;font-weight:700;width:fit-content;white-space:nowrap}.pill-dot{width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}.icon-tile{display:flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:var(--radius-md)}.avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;font-weight:700;flex-shrink:0;background:rgb(var(--brand-rgb) / .16);color:var(--brand-text)}.input{background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-md);color:var(--text);transition:border-color var(--dur-fast) ease}.input:focus-within,.input:focus{border-color:var(--brand)}.input::placeholder{color:var(--text-subtle)}.tab{display:inline-flex;align-items:center;gap:7px;padding:10px 14px;min-height:44px;font-size:12.5px;font-weight:600;color:var(--text-muted);border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;transition:color var(--dur-fast) ease,border-color var(--dur-fast) ease}.tab:hover{color:var(--text)}.tab.tab-active{color:var(--brand-text);border-bottom-color:var(--brand);font-weight:700}[data-tab-panel]:not([hidden]){animation:tab-panel-fade var(--dur-fast) var(--ease-out)}@keyframes tab-panel-fade{0%{opacity:0}to{opacity:1}}.toast{border-left:3px solid var(--border);box-shadow:var(--shadow-pop);animation:toast-in var(--dur-base) var(--ease-out)}@keyframes toast-in{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}.toast-success{border-left-color:var(--success)}.toast-success .toast-icon{color:var(--success-text)}.toast-danger{border-left-color:var(--danger)}.toast-danger .toast-icon{color:var(--danger-text)}.toast-warning{border-left-color:var(--warning)}.toast-warning .toast-icon{color:var(--warning-text)}.toast-info{border-left-color:var(--info)}.toast-info .toast-icon{color:var(--info-text)}.rich-text-content{font-size:13.5px;line-height:1.6;color:var(--text)}.rich-text-content>:first-child{margin-top:0}.rich-text-content>:last-child{margin-bottom:0}.rich-text-content p{margin:.6em 0}.rich-text-content ul,.rich-text-content ol{margin:.6em 0;padding-left:1.5em}.rich-text-content ul{list-style:disc}.rich-text-content ol{list-style:decimal}.rich-text-content h3,.rich-text-content h4{margin:.8em 0 .3em;font-weight:700;color:var(--text)}.rich-text-content h3{font-size:1.05em}.rich-text-content h4{font-size:1em}.rich-text-content blockquote{margin:.6em 0;padding-left:.9em;border-left:3px solid var(--border);color:var(--text-muted)}.rich-text-content a{color:var(--brand-text);text-decoration:underline}.rich-text-content code{font-family:var(--font-mono);font-size:.9em;background:var(--surface-2);border-radius:var(--radius-sm);padding:.1em .35em}.rich-text-content pre{margin:.6em 0;padding:.7em .9em;background:var(--surface-2);border-radius:var(--radius-md);overflow-x:auto}.rich-text-content pre code{background:none;padding:0}.rich-text-editor-wrap .ql-toolbar.ql-snow{border-color:var(--border);border-radius:var(--radius-md) var(--radius-md) 0 0;background:var(--surface-2)}.rich-text-editor-wrap .ql-container.ql-snow{border-color:var(--border);border-radius:0 0 var(--radius-md) var(--radius-md);font-family:var(--font-sans);font-size:13.5px;height:auto}.rich-text-editor-wrap{min-width:0;overflow:visible}.rich-text-editor-wrap .ql-editor{min-height:120px;color:var(--text);background:var(--surface-1)}.rich-text-editor-wrap .ql-editor.ql-blank:before{color:var(--text-subtle);font-style:normal}.rich-text-editor-wrap .ql-snow .ql-stroke{stroke:var(--text-muted)}.rich-text-editor-wrap .ql-snow .ql-fill{fill:var(--text-muted)}.rich-text-editor-wrap .ql-snow .ql-picker{color:var(--text-muted)}.rich-text-editor-wrap .ql-snow .ql-picker-options{background:var(--surface-1);border-color:var(--border)}.rich-text-editor-wrap .ql-toolbar.ql-snow button:hover,.rich-text-editor-wrap .ql-toolbar.ql-snow button.ql-active,.rich-text-editor-wrap .ql-toolbar.ql-snow .ql-picker-label:hover{color:var(--brand-text)}.rich-text-editor-wrap .ql-toolbar.ql-snow button:hover .ql-stroke,.rich-text-editor-wrap .ql-toolbar.ql-snow button.ql-active .ql-stroke{stroke:var(--brand-text)}.rich-text-editor-wrap .ql-toolbar.ql-snow button:hover .ql-fill,.rich-text-editor-wrap .ql-toolbar.ql-snow button.ql-active .ql-fill{fill:var(--brand-text)}.rich-text-editor-wrap .ql-snow .ql-tooltip{background:var(--surface-1);border-color:var(--border);color:var(--text);box-shadow:var(--shadow-pop)}.rich-text-editor-wrap .ql-snow .ql-tooltip input[type=text]{background:var(--surface-2);border-color:var(--border);color:var(--text)}@media (max-width: 767.98px){.responsive-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.responsive-table,.responsive-table tbody,.responsive-table tr,.responsive-table td{display:block;width:100%}.responsive-table tr{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-lg);padding:10px 14px;margin-bottom:10px}.responsive-table td{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 0;border:0}.responsive-table td:before{content:attr(data-label);font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.responsive-table td[data-label=""]:before{content:none}}.skeleton{position:relative;overflow:hidden;background:var(--surface-2);border-radius:var(--radius-md)}.skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,rgb(255 255 255 / .06),transparent);animation:skeleton-sweep 1.4s infinite}:root[data-theme=light] .skeleton:after{background:linear-gradient(90deg,transparent,rgb(35 39 66 / .07),transparent)}@keyframes skeleton-sweep{to{transform:translate(100%)}}.auth-bg{background:radial-gradient(600px 320px at 85% -5%,rgb(var(--brand-rgb) / .1),transparent 70%),radial-gradient(500px 300px at 0% 100%,rgb(var(--purple-rgb) / .07),transparent 70%),var(--surface-0)}.public-header{background-color:rgb(var(--surface-0-rgb) / .9)}.brand-logo{filter:brightness(1.6) saturate(1.15)}:root[data-theme=light] .brand-logo{filter:none}.theme-switch{position:relative;display:inline-grid;place-items:center;width:1rem;height:1rem}.theme-switch>i{position:absolute;font-size:1rem;line-height:1}:root:not([data-theme=light]) .theme-switch__sun,:root[data-theme=light] .theme-switch__moon{display:none}.hover-lift{transition:transform var(--dur-fast) ease,box-shadow var(--dur-fast) ease}.hover-lift:hover{transform:translateY(-2px);box-shadow:var(--shadow-pop)}.page-enter{animation:page-enter var(--dur-base) var(--ease-out)}.stagger-1{animation-delay:60ms;animation-fill-mode:backwards}.stagger-2{animation-delay:.14s;animation-fill-mode:backwards}.stagger-3{animation-delay:.22s;animation-fill-mode:backwards}.stagger-4{animation-delay:.3s;animation-fill-mode:backwards}@keyframes page-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.notif-badge{position:absolute;top:2px;right:2px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--danger);color:#fff;font-size:10px;font-weight:800;line-height:16px;text-align:center;animation:badge-pop var(--dur-fast) var(--ease-out)}@keyframes badge-pop{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.dropdown-panel:not([hidden]){animation:dropdown-in var(--dur-fast) var(--ease-out);transform-origin:top right}@keyframes dropdown-in{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.notif-row{transition:background-color var(--dur-fast) ease}.htmx-indicator{display:none}.htmx-request .htmx-indicator,.htmx-request.htmx-indicator{display:block}.is-dragging{opacity:.5}.is-drop-target{background-color:rgb(var(--brand-rgb) / .12);outline:2px solid var(--brand);outline-offset:-2px}.is-drop-invalid{background-color:rgb(var(--danger-rgb) / .1);outline:2px dashed var(--danger);outline-offset:-2px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.assistant-fab{opacity:.3;transition:transform var(--dur-fast) var(--ease-out),background-color var(--dur-fast) ease,opacity var(--dur-fast) ease}.assistant-fab:hover{transform:translateY(-2px);opacity:.6}.assistant-panel:not([hidden])~.assistant-fab{opacity:1}.assistant-panel:not([hidden]){animation:assistant-in var(--dur-fast) var(--ease-out);transform-origin:bottom right}@keyframes assistant-in{0%{opacity:0;transform:translateY(6px) scale(.98)}}.assistant-chip{display:inline-flex;align-items:center;min-height:30px;padding:.25rem .625rem;border:1px solid var(--border-strong);border-radius:999px;background:var(--surface-2);color:var(--text);font-size:11px;font-weight:600;line-height:1.2;text-align:left;transition:background-color var(--dur-fast) ease,border-color var(--dur-fast) ease}.assistant-chip:hover{background:rgb(var(--brand-rgb) / .14);border-color:var(--brand);color:var(--brand-text)}.assistant-chip:disabled{opacity:.45;cursor:not-allowed}.assistant-chip:disabled:hover{background:var(--surface-2);border-color:var(--border-strong);color:var(--text)}.page-progress{position:fixed;inset-inline:0;top:0;height:3px;z-index:100;pointer-events:none;opacity:0;transition:opacity var(--dur-base) ease}.page-progress.is-active{opacity:1}.page-progress__bar{position:relative;height:100%;width:0;border-start-end-radius:3px;border-end-end-radius:3px;background:linear-gradient(90deg,var(--brand-stronger),var(--brand),var(--brand-text));box-shadow:0 0 10px rgb(var(--brand-rgb) / .75),0 0 3px rgb(var(--brand-rgb) / .9);transition:width var(--dur-base) cubic-bezier(.22,1,.36,1)}.page-progress__bar:after{content:"";position:absolute;inset-block:0;inset-inline-end:0;width:90px;border-start-end-radius:3px;border-end-end-radius:3px;background:linear-gradient(90deg,transparent,rgb(255 255 255 / .55))}.spinner{display:inline-block;width:var(--spinner-size, 24px);height:var(--spinner-size, 24px);flex:none;vertical-align:middle;color:var(--brand-text)}.spinner__ring{fill:none;stroke:currentColor;stroke-linecap:round;transform-origin:50% 50%;animation:spinner-turn 1.4s linear infinite}.spinner__ring--outer{stroke-width:4;stroke-dasharray:66 132;opacity:.95}.spinner__ring--mid{stroke-width:4;stroke-dasharray:34 84;opacity:.6;animation-duration:1s;animation-direction:reverse}.spinner__ring--inner{stroke-width:3.5;stroke-dasharray:14 30;opacity:.4;animation-duration:.7s}@keyframes spinner-turn{to{transform:rotate(360deg)}}.loader-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:1.5rem;text-align:center;background:var(--surface-0);background:color-mix(in srgb,var(--surface-0) 82%,transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.loader-overlay--fixed{position:fixed}.loader-overlay__mark{position:relative;display:grid;place-items:center;width:84px;height:84px;perspective:220px}.loader-overlay__face{display:grid;place-items:center;width:46px;height:46px;border-radius:var(--radius-lg);background:rgb(var(--brand-rgb) / .16);color:var(--brand-text);font-size:24px;animation:loader-flip 2.4s cubic-bezier(.65,0,.35,1) infinite}.loader-overlay__ring{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;color:var(--brand-text)}.loader-overlay__label{font-size:13px;font-weight:600;color:var(--text-muted)}@keyframes loader-flip{0%,15%{transform:rotateY(0)}50%,65%{transform:rotateY(180deg)}to{transform:rotateY(360deg)}}.success-check{display:inline-block;width:var(--check-size, 72px);height:var(--check-size, 72px);color:var(--success-text)}.success-check__shield,.success-check__mark{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round}.success-check__shield{stroke-width:3.5;stroke-dasharray:150;stroke-dashoffset:150;animation:check-draw .7s ease forwards}.success-check__mark{stroke-width:4;stroke-dasharray:30;stroke-dashoffset:30;animation:check-draw .4s .55s ease forwards}@keyframes check-draw{to{stroke-dashoffset:0}}.search-pulse{display:inline-block;width:var(--pulse-size, 40px);height:var(--pulse-size, 40px);color:var(--brand-text)}.search-pulse__wave{fill:none;stroke:currentColor;stroke-width:4;stroke-linecap:round;transform-origin:50% 85%;opacity:0;animation:pulse-out 1.8s ease-out infinite}.search-pulse__wave:nth-of-type(2){animation-delay:.3s}.search-pulse__wave:nth-of-type(3){animation-delay:.6s}.search-pulse__dot{fill:currentColor}@keyframes pulse-out{0%{opacity:0;transform:scale(.35)}35%{opacity:1}to{opacity:0;transform:scale(1)}}.btn[aria-busy=true]{position:relative;pointer-events:none}.btn[aria-busy=true]>*{visibility:hidden}.btn[aria-busy=true]:after{content:"";position:absolute;width:1.15em;height:1.15em;border-radius:50%;border:2px solid currentColor;border-top-color:transparent;animation:spinner-turn .65s linear infinite}@media (prefers-reduced-motion: reduce){.spinner__ring,.search-pulse__wave,.loader-overlay__face,.btn[aria-busy=true]:after{animation:loader-breathe 1.6s ease-in-out infinite!important;transform:none!important}.success-check__shield,.success-check__mark{stroke-dashoffset:0!important;animation:none!important}.page-progress__bar{transition:none!important}}@keyframes loader-breathe{0%,to{opacity:.35}50%{opacity:1}}.chart-tooltip{position:fixed;left:0;top:0;z-index:80;pointer-events:none;max-width:min(320px,calc(100vw - 16px));padding:8px 11px;border:1px solid var(--border);border-radius:10px;background:var(--surface-1);color:var(--text);box-shadow:0 12px 32px -14px #00000080;font-size:12px;line-height:1.4}.chart-tooltip[hidden]{display:none}.chart-tooltip__title{font-weight:700;margin-bottom:4px;overflow-wrap:anywhere}.chart-tooltip__row{display:flex;align-items:center;gap:7px}.chart-tooltip__swatch{flex:none;width:9px;height:9px;border-radius:3px}.chart-tooltip__swatch.is-empty{background:transparent}.chart-tooltip__label{flex:1;color:var(--text-muted)}.chart-tooltip__value{padding-left:12px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.chart-tooltip__note{margin-top:5px;color:var(--text-subtle);font-size:11px}svg[data-chart]{touch-action:pan-y}svg[data-chart]:focus{outline:none}svg[data-chart]:focus-visible{outline:2px solid var(--brand);outline-offset:3px;border-radius:6px}.chart-focus{opacity:0;transition:opacity .12s ease}.chart-hit:hover .chart-focus,.chart-hit.is-active .chart-focus{opacity:1}.chart-row-bg{fill:var(--text);fill-opacity:0;transition:fill-opacity .12s ease}.chart-hit:hover .chart-row-bg,.chart-hit.is-active .chart-row-bg{fill-opacity:.06}.chart-seg{transition:stroke-width .12s ease;cursor:default}circle.chart-seg:hover,circle.chart-seg.is-active{stroke-width:30}path.chart-seg:hover,path.chart-seg.is-active{stroke-width:18}.chart-seg-bar{transition:filter .12s ease}.chart-seg-bar:hover,.chart-seg-bar.is-active{filter:brightness(1.12)}@media (prefers-reduced-motion: reduce){.chart-focus,.chart-row-bg,.chart-seg,.chart-seg-bar{transition:none}}@media print{.chart-tooltip{display:none!important}.chart-focus{opacity:0!important}}.dc-when{display:flex}@supports selector(:has(*)){.dc-spec .dc-when{display:none}.dc-spec:has(input[name=categories][value=user_management]:checked) .dc-when[data-dc-when=user_management],.dc-spec:has(input[name=categories][value=export_backup]:checked) .dc-when[data-dc-when=export_backup]{display:flex}}
