*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:var(--font-body);font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--font-mono);font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}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}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}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}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}body,html{height:100%}body{background-color:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:13px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-moz-selection{background-color:var(--accent-soft);color:var(--accent-ink)}::selection{background-color:var(--accent-soft);color:var(--accent-ink)}kbd{font-family:var(--font-body);font-size:11px;font-weight:500;padding:1px 5px;border-radius:4px;background:rgba(0,0,0,.06);color:var(--ink-3)}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-8{margin-bottom:2rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-7{margin-top:1.75rem}.block{display:block}.inline-block{display:inline-block}.\!inline{display:inline!important}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.\!table{display:table!important}.table{display:table}.grid{display:grid}.contents{display:contents}.min-h-screen{min-height:100vh}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.animate-spin{animation:spin 1s linear infinite}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-x-5{-moz-column-gap:1.25rem;column-gap:1.25rem}.gap-x-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.gap-y-3{row-gap:.75rem}.gap-y-4{row-gap:1rem}.break-all{word-break:break-all}.border{border-width:1px}.px-4{padding-left:1rem;padding-right:1rem}.text-center{text-align:center}.text-sm{font-size:.875rem;line-height:1.25rem}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.underline{text-decoration-line:underline}.line-through{text-decoration-line:line-through}.outline{outline-style:solid}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.small-caps{font-variant:small-caps;letter-spacing:.06em;font-size:11px;text-transform:uppercase;color:var(--ink-3);font-weight:600}.tabular-nums{font-variant-numeric:tabular-nums}.text-ink-3{color:var(--ink-3)}:root{--bg:#F6F7F8;--bg-2:#F1F2F4;--surface:#FFFFFF;--vibrancy:rgba(246,247,248,0.78);--separator:rgba(20,24,28,0.09);--ink:#17181A;--ink-2:#5A5F68;--ink-3:#9AA0AA;--ink-4:#BABFC7;--border:#E8EAED;--border-soft:#F0F1F3;--accent:#0FB58F;--accent-ink:#0B8A6D;--accent-strong:#067A62;--accent-soft:#E5F7F1;--accent-border:rgba(15,181,143,0.28);--success:#0FB58F;--success-ink:#0B8A6D;--success-soft:#E5F7F1;--success-border:rgba(15,181,143,0.28);--warn:#B45309;--warn-ink:#B45309;--warn-soft:#FCF1E3;--warn-border:rgba(180,83,9,0.20);--danger:#C93838;--danger-ink:#A82A2A;--danger-soft:#FBEAEA;--danger-border:rgba(201,56,56,0.20);--role-brand:#6B3FC0;--role-brand-ink:#5A2FA8;--role-brand-soft:rgba(107,63,192,0.10);--role-brand-border:rgba(107,63,192,0.22);--font-body:"Inter Variable","Inter",-apple-system,BlinkMacSystemFont,system-ui,sans-serif;--font-display:"Inter Variable","Inter",-apple-system,BlinkMacSystemFont,system-ui,sans-serif;--font-mono:"JetBrains Mono Variable","JetBrains Mono",ui-monospace,monospace;--rd:12px;--rds:8px;--rd-pill:9999px;--sh:0 1px 2px rgba(20,24,28,0.04),0 4px 16px rgba(20,24,28,0.04);--sh-2:0 1px 2px rgba(20,24,28,0.05),0 12px 32px rgba(20,24,28,0.10)}.app-shell{display:grid;grid-template-columns:auto 1fr;min-height:100vh}.app-shell>main{min-width:0}.ap-sidebar{position:sticky;top:0;height:100vh;width:260px;padding:14px 12px;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;gap:0;z-index:10}.ap-sidebar.is-collapsed{width:64px}.ap-brand{display:flex;align-items:center;gap:10px;padding:4px 8px 18px}.ap-sidebar.is-collapsed .ap-brand{padding-left:4px;padding-right:4px;justify-content:center}.ap-brand .icon{width:28px;height:28px;border-radius:7px;background:var(--ink);color:#fff;display:grid;place-items:center;font-weight:700;font-size:11px;letter-spacing:-.3px;flex-shrink:0}.ap-brand .label{display:flex;flex-direction:column;line-height:1.15;flex:1;min-width:0}.ap-brand .label .name{font-size:14px;letter-spacing:-.2px;color:var(--ink)}.ap-brand .label .sub{font-size:11px;color:var(--ink-3)}.collapse-btn{width:22px;height:22px;display:grid;place-items:center;border-radius:5px;border:0;background:transparent;color:var(--ink-3);cursor:pointer}.collapse-btn:hover{background:rgba(0,0,0,.06);color:var(--ink)}.ap-nav{display:flex;flex-direction:column;gap:2px;flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;padding-bottom:12px;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.18) transparent}.ap-nav::-webkit-scrollbar{width:8px}.ap-nav::-webkit-scrollbar-thumb{background:rgba(0,0,0,.15);border-radius:8px;border:2px solid transparent;background-clip:padding-box}.ap-nav::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.28);background-clip:padding-box}.ap-user-wrap{flex:0 0 auto;padding-top:8px}.ap-nav .group-title{padding:12px 12px 6px;font-size:11px;font-weight:600;color:var(--ink-3);text-transform:uppercase;letter-spacing:.04em}.ap-nav .group-title.with-sep{margin-top:8px}.ap-nav .group-sep{height:1px;margin:12px 8px;background:rgba(0,0,0,.06)}.ap-nav a{position:relative;display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:7px;text-decoration:none;color:var(--ink);font-size:13.5px;font-weight:500;transition:background .12s,color .12s}.ap-nav a:hover{background:rgba(0,0,0,.05)}.ap-nav a.is-active{background:rgba(0,0,0,.06);color:var(--accent-ink)}.ap-nav a.is-active:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:2px;background:var(--accent);border-radius:2px}.ap-nav a.is-active .ap-nav-icon{color:var(--accent-ink)}.ap-nav-icon{width:20px;height:20px;display:grid;place-items:center;color:var(--ink-3);flex-shrink:0}.ap-nav a:hover .ap-nav-icon{color:var(--ink-2)}.ap-nav-label{flex:1;min-width:0}.ap-nav a .count{font-size:11.5px;font-weight:600;color:var(--ink-3);font-variant-numeric:tabular-nums}.ap-nav a.is-active .count{color:var(--accent-ink)}.ap-sidebar.is-collapsed .ap-nav a{justify-content:center;padding:8px 0}.ap-nav-btn{position:relative;display:flex;align-items:center;gap:10px;width:100%;padding:7px 10px;border-radius:7px;border:0;background:transparent;cursor:pointer;color:var(--ink);font-size:13.5px;font-weight:500;font-family:inherit;text-align:left;transition:background .12s,color .12s}.ap-nav-btn:hover{background:rgba(0,0,0,.05)}.ap-nav-btn:hover .ap-nav-icon{color:var(--ink-2)}.ap-nav-btn.is-active{background:rgba(0,0,0,.06)}.ap-sidebar.is-collapsed .ap-nav-btn{justify-content:center;padding:8px 0}.ap-user-wrap{margin-top:auto;position:relative;padding:0 4px}.ap-user-card{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;background:rgba(0,0,0,.05);cursor:pointer;border:0;width:100%;text-align:left;transition:background .12s}.ap-user-card:hover{background:rgba(0,0,0,.08)}.ap-user-card.is-open{background:rgba(0,0,0,.09)}.ap-user-card .av{width:30px;height:30px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font-weight:600;font-size:12px;flex-shrink:0}.ap-user-card .meta{display:flex;flex-direction:column;line-height:1.15;min-width:0;flex:1}.ap-user-card .name{font-size:13px;font-weight:600;color:var(--ink)}.ap-user-card .name,.ap-user-card .org{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ap-user-card .org{font-size:11.5px;color:var(--ink-3)}.ap-sidebar.is-collapsed .ap-user-card{justify-content:center;padding:8px 0}.user-menu{position:absolute;bottom:calc(100% + 8px);left:4px;right:4px;background:var(--surface);border:1px solid var(--separator);border-radius:14px;box-shadow:var(--sh-2);z-index:50;padding:6px;overflow:hidden}.user-menu .identity{padding:12px 10px 10px;border-bottom:1px solid var(--border-soft);margin-bottom:6px}.user-menu .identity .row{display:flex;gap:10px;align-items:center}.user-menu .identity .av{width:36px;height:36px;border-radius:50%;background:var(--accent-soft);color:var(--accent-ink);display:grid;place-items:center;font-weight:600;font-size:13px}.user-menu .identity .who{display:flex;flex-direction:column;min-width:0;flex:1}.user-menu .identity .name{font-size:14px;font-weight:700;color:var(--ink)}.user-menu .identity .email{font-size:12px;color:var(--ink-3)}.user-menu .identity .tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}.user-menu .tag{font-size:10.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:2px 7px;border-radius:var(--rd-pill);background:var(--accent-soft);color:var(--accent-ink);border:1px solid var(--accent-border)}.user-menu .tag.is-neutral{background:rgba(0,0,0,.04);color:var(--ink-2);border-color:var(--border)}.user-menu .item{width:100%;text-align:left;display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;border:0;background:transparent;cursor:pointer;font-size:13px;color:var(--ink);transition:background .12s}.user-menu .item:hover{background:rgba(0,0,0,.05)}.user-menu .item.is-danger{color:var(--danger)}.user-menu .item.is-danger:hover{background:var(--danger-soft)}.user-menu .item .right{margin-left:auto;font-size:11px;color:var(--ink-3)}.user-menu .sep{height:1px;background:var(--border-soft);margin:6px 0}.page-chip{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:4px 10px;border-radius:var(--rd-pill);background:var(--accent-soft);color:var(--accent-ink);border:1px solid var(--accent-border)}.page-title{font-size:30px;font-weight:700;letter-spacing:-.6px;color:var(--ink);margin-top:10px}.page-subtitle{color:var(--ink-3);font-size:15px;margin-top:4px}.page-meta{font-size:12px;color:var(--ink-3)}.card{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--rd);box-shadow:var(--sh)}.card-pad{padding:18px}.kpi{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--rd);padding:16px 18px;display:flex;flex-direction:column;gap:6px;min-height:110px}.kpi .kpi-label{font-size:12.5px;color:var(--ink-3);font-weight:600;display:flex;align-items:center;gap:6px}.kpi .kpi-value{font-size:32px;font-weight:700;color:var(--ink);letter-spacing:-.6px;font-variant-numeric:tabular-nums}.kpi .kpi-sub{font-size:12px;color:var(--ink-3)}.kpi .kpi-sub.is-accent{color:var(--accent-ink);font-weight:500}.kpi.is-warn{background:linear-gradient(0deg,var(--warn-soft),var(--warn-soft)),var(--surface);border-color:var(--warn-border)}.kpi.is-warn .kpi-label,.kpi.is-warn .kpi-sub{color:var(--warn-ink)}.chip{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;padding:3.5px 9px;border-radius:6px;background:var(--surface);color:var(--ink-2);border:1px solid var(--border)}.chip.is-accent{background:var(--accent-soft);color:var(--accent-ink);border-color:var(--accent-border)}.chip.is-warn{background:var(--warn-soft);color:var(--warn-ink);border-color:var(--warn-border)}.chip.is-danger{background:var(--danger-soft);color:var(--danger-ink);border-color:var(--danger-border)}.chip.is-info{background:var(--info-soft);color:var(--info-ink);border-color:var(--info-border)}.chip.is-done{background:var(--done-soft);color:var(--done-ink);border-color:var(--done-border)}.chip.is-mono{font-family:var(--font-mono);font-size:11px}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;font-size:13.5px;font-weight:600;white-space:nowrap;border:1px solid var(--border);background:var(--surface);color:var(--ink);cursor:pointer;transition:background .12s,border-color .12s,color .12s}.btn,.btn svg{flex-shrink:0}.btn:hover{background:var(--bg-2)}.btn.is-primary{background:var(--accent);color:white;border-color:var(--accent)}.btn.is-primary:hover{background:var(--accent-ink);border-color:var(--accent-ink)}.btn.is-ghost{background:transparent;border-color:transparent;color:var(--ink-2)}.btn.is-ghost:hover{background:rgba(0,0,0,.05);color:var(--ink)}.btn-sm{padding:5px 10px;font-size:12.5px}.input,.select{display:block;width:100%;padding:8px 12px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--ink);font-size:13.5px;font-family:inherit;transition:border-color .12s,box-shadow .12s}.input[type=number]::-webkit-inner-spin-button,.input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.input:focus,.select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.filter-bar{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:10px;transition:border-color .12s,box-shadow .12s}.filter-bar:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.filter-bar-row{display:flex;align-items:center;gap:8px;padding:6px 10px;flex-wrap:wrap}.filter-bar-input{flex:1;min-width:100px;border:0;outline:0;background:transparent;font-size:13.5px;padding:4px 0;color:var(--ink)}.filter-bar-input::-moz-placeholder{color:var(--ink-3)}.filter-bar-input::placeholder{color:var(--ink-3)}.chip-x{display:inline-grid;place-items:center;width:16px;height:16px;margin-left:2px;border-radius:50%;border:0;background:transparent;cursor:pointer;color:inherit;opacity:.7}.chip-x:hover{background:rgba(0,0,0,.1);opacity:1}.filter-bar-menu{position:absolute;top:calc(100% + 6px);left:0;right:0;background:var(--surface);border:1px solid var(--separator);border-radius:12px;box-shadow:var(--sh-2);padding:6px;z-index:30;max-height:320px;overflow-y:auto}.filter-bar-menu-title{font-size:11px;font-weight:600;color:var(--ink-3);text-transform:uppercase;letter-spacing:.04em;padding:6px 10px 4px}.filter-bar-menu-empty{font-size:13px;color:var(--ink-3);padding:10px 12px}.filter-bar-menu-item{width:100%;text-align:left;display:flex;align-items:center;justify-content:space-between;padding:7px 10px;border-radius:7px;border:0;background:transparent;cursor:pointer;font-size:13.5px;color:var(--ink)}.filter-bar-menu-item.is-active,.filter-bar-menu-item:hover{background:var(--accent-soft);color:var(--accent-ink)}.filter-bar-count{font-size:11.5px;font-variant-numeric:tabular-nums;color:var(--ink-3);font-weight:500}.filter-bar-menu-item.is-active .filter-bar-count{color:var(--accent-ink)}.admin-tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);padding-bottom:0;overflow-x:auto}.admin-tab{display:flex;align-items:center;gap:8px;padding:10px 14px;border:0;background:transparent;font-size:13.5px;font-weight:500;color:var(--ink-3);cursor:pointer;border-radius:8px 8px 0 0;position:relative;transition:background .12s,color .12s}.admin-tab:hover{color:var(--ink);background:rgba(0,0,0,.03)}.admin-tab.is-active{color:var(--ink);font-weight:600;background:var(--ink);color:var(--bg)}.admin-tab-icon{display:grid;place-items:center}.admin-tab-badge{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;background:var(--accent);color:white;border-radius:999px;font-size:11px;font-weight:700}.mf-tabs{gap:4px;padding:3px;background:var(--bg-2);border:1px solid var(--border-soft);border-radius:var(--rd-pill)}.mf-tab,.mf-tabs{display:inline-flex}.mf-tab{align-items:center;gap:7px;border:none;background:transparent;cursor:pointer;font-size:13px;font-weight:600;color:var(--ink-3);padding:5px 14px;border-radius:var(--rd-pill);transition:background .12s,color .12s}.mf-tab:hover{color:var(--ink-2)}.mf-tab.is-active{background:var(--surface);color:var(--ink);box-shadow:var(--sh)}.mf-tab-count{font-size:11px;font-weight:700;color:var(--ink-3);background:var(--bg-2);border-radius:var(--rd-pill);padding:1px 7px;font-variant-numeric:tabular-nums}.mf-tab.is-active .mf-tab-count{background:var(--accent-soft);color:var(--accent-ink)}.feedback-stats{display:inline-flex;flex-wrap:wrap;align-items:stretch;border:1px solid var(--border-soft);border-radius:var(--rd);background:var(--surface);overflow:hidden;max-width:100%}.feedback-stat{display:flex;align-items:baseline;gap:7px;padding:9px 16px}.feedback-stat-value{font-size:17px;font-weight:700;line-height:1;letter-spacing:-.3px;font-variant-numeric:tabular-nums}.feedback-stat-label{font-size:11.5px;font-weight:600;color:var(--ink-3);text-transform:uppercase;letter-spacing:.04em}.feedback-views{display:flex;gap:8px;flex-wrap:wrap;padding:4px 0}.view-chip{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border:1px solid var(--border);background:var(--surface);border-radius:var(--rd-pill);font-size:13px;font-weight:500;color:var(--ink-2);cursor:pointer;transition:all .12s}.view-chip:hover{background:var(--bg-2)}.view-chip.is-active{background:var(--accent-soft);color:var(--accent-ink);border-color:var(--accent-border);font-weight:600}.view-chip.is-dark{background:var(--ink);color:var(--bg);border-color:var(--ink)}.view-chip.is-dark:hover{background:var(--ink-2)}.view-chip.is-dark.is-active{background:var(--ink);color:var(--bg)}.view-chip-count{display:inline-grid;place-items:center;min-width:18px;padding:0 6px;background:rgba(0,0,0,.08);border-radius:var(--rd-pill);font-size:11px;font-weight:700}.view-chip.is-active .view-chip-count{background:var(--accent);color:white}.view-chip.is-dark .view-chip-count{background:rgba(255,255,255,.18);color:var(--bg)}.density-toggle{display:inline-flex;border:1px solid var(--border);border-radius:6px;overflow:hidden;background:var(--surface)}.density-toggle button{border:0;background:transparent;padding:5px 12px;font-size:12px;font-weight:500;color:var(--ink-2);cursor:pointer}.density-toggle button.is-active{background:var(--ink);color:var(--bg)}.admin-table{width:100%;background:var(--surface);border:1px solid var(--border-soft);border-radius:12px;border-collapse:separate;border-spacing:0;overflow:hidden}.admin-table th{font-size:10.5px;font-weight:700;letter-spacing:.06em;color:var(--ink-3);text-transform:uppercase;text-align:left;background:var(--bg)}.admin-table td,.admin-table th{padding:12px 16px;border-bottom:1px solid var(--border-soft)}.admin-table td{font-size:13.5px;vertical-align:middle}.admin-table tr:last-child td{border-bottom:0}.admin-table tr:hover td{background:rgba(0,0,0,.02)}.admin-table.is-compact td{padding:7px 12px;font-size:12.5px}.admin-table.is-compact th{padding:8px 12px}.avatar-sm{width:28px;height:28px;border-radius:50%;background:var(--accent-soft);color:var(--accent-ink);display:grid;place-items:center;font-weight:600;font-size:11px}.sheet-overlay{position:fixed;inset:0;background:rgba(11,11,15,.4);backdrop-filter:blur(4px);z-index:90;display:flex;justify-content:flex-end;animation:cmdk-fade .15s ease}.sheet-panel{background:var(--surface);width:100%;max-width:480px;height:100%;overflow-y:auto;border-left:1px solid var(--separator);box-shadow:-8px 0 32px rgba(0,0,0,.1);animation:sheet-in .25s cubic-bezier(.2,.9,.3,1)}@keyframes sheet-in{0%{transform:translateX(20px);opacity:0}to{transform:translateX(0);opacity:1}}.link-button{background:none;border:0;padding:0;color:var(--accent-ink);text-decoration:underline;cursor:pointer;font:inherit}.link-button:hover{color:var(--accent)}.splash{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;background:var(--bg);transition:opacity .25s ease}.splash.is-hidden{opacity:0;pointer-events:none}.splash-inner{display:flex;flex-direction:column;align-items:center;gap:18px}.splash-logo{width:88px;height:88px;border-radius:22px;background:var(--accent);display:grid;place-items:center;box-shadow:0 4px 24px rgba(15,181,143,.25),0 1px 2px rgba(0,0,0,.06);animation:splash-logo-in .4s ease-out}.splash-wordmark{display:flex;align-items:center;gap:10px;font-family:var(--font-body);animation:splash-text-in .5s ease-out .1s both}.splash-name{font-size:22px;font-weight:700;letter-spacing:-.4px;color:var(--ink)}.splash-sep{display:inline-block;width:1px;height:14px;background:var(--border)}.splash-ai{font-size:11px;font-weight:600;letter-spacing:.12em;color:var(--ink-3)}.splash-trail{display:block;margin-top:6px;overflow:visible}.splash-trail-bg{stroke:var(--bg-2);stroke-width:2;stroke-linecap:round}.splash-trail-line{stroke:var(--accent);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:340;stroke-dashoffset:340;animation:splash-trail-draw 2.4s cubic-bezier(.4,0,.2,1) infinite}.splash-trail-node{fill:var(--accent);opacity:.18;transform-box:fill-box;transform-origin:center;animation-duration:2.4s;animation-timing-function:cubic-bezier(.4,0,.2,1);animation-iteration-count:infinite}.splash-trail-node.n1{animation-name:splash-node-1}.splash-trail-node.n2{animation-name:splash-node-2}.splash-trail-node.n3{animation-name:splash-node-3}.splash-trail-node.n4{animation-name:splash-node-4}.splash-label{font-size:12.5px;color:var(--ink-3);animation:splash-text-in .5s ease-out .2s both}@keyframes splash-trail-draw{0%{stroke-dashoffset:340;opacity:1}70%{stroke-dashoffset:0;opacity:1}88%{stroke-dashoffset:0;opacity:.6}to{stroke-dashoffset:340;opacity:0}}@keyframes splash-node-1{0%,to{opacity:.18;transform:scale(.8)}4%{opacity:1;transform:scale(1.5)}14%,82%{opacity:1;transform:scale(1)}92%{opacity:.18;transform:scale(.8)}}@keyframes splash-node-2{0%,18%,to{opacity:.18;transform:scale(.8)}25%{opacity:1;transform:scale(1.5)}35%,82%{opacity:1;transform:scale(1)}92%{opacity:.18;transform:scale(.8)}}@keyframes splash-node-3{0%,41%,to{opacity:.18;transform:scale(.8)}48%{opacity:1;transform:scale(1.5)}58%,82%{opacity:1;transform:scale(1)}92%{opacity:.18;transform:scale(.8)}}@keyframes splash-node-4{0%,63%,to{opacity:.18;transform:scale(.8)}70%{opacity:1;transform:scale(1.5)}80%,86%{opacity:1;transform:scale(1)}92%{opacity:.18;transform:scale(.8)}}@keyframes splash-logo-in{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes splash-text-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.splash-label,.splash-logo,.splash-trail-line,.splash-trail-node,.splash-wordmark{animation:none}.splash-trail-line{stroke-dashoffset:0}.splash-trail-node{opacity:1}}@keyframes cmdk-fade{0%{opacity:0}to{opacity:1}}.cmdk-loader{width:12px;height:12px;border-radius:50%;border:2px solid var(--border);border-top-color:var(--accent);animation:cmdk-spin .7s linear infinite}@keyframes cmdk-spin{to{transform:rotate(1turn)}}.row-card{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--surface);border:1px solid var(--border-soft);border-radius:10px;transition:border-color .12s,transform .12s,box-shadow .12s;cursor:pointer;text-decoration:none;color:inherit}.row-card:hover{border-color:var(--accent-border);box-shadow:var(--sh)}.row-card .row-main{flex:1;min-width:0}.row-card .row-title{font-weight:600;color:var(--ink);font-size:14px}.row-card .row-sub{color:var(--ink-3);font-size:12.5px;margin-top:2px}.row-card .row-meta{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--ink-3)}.srow:hover{background:var(--bg)}.srow:focus-visible{outline:2px solid var(--accent-border);outline-offset:-2px}.palette-overlay{position:fixed;inset:0;z-index:60;display:flex;align-items:flex-start;justify-content:center;padding:11vh 16px 16px;background:rgba(20,24,28,.32);backdrop-filter:saturate(140%) blur(2px);animation:palette-fade .16s ease}@keyframes palette-fade{0%{opacity:0}to{opacity:1}}.palette-card{position:relative;width:100%;max-width:680px;background:var(--surface);border:1px solid var(--border);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 32px 90px -24px rgba(20,24,28,.34),0 2px 8px rgba(20,24,28,.06);animation:palette-pop .18s cubic-bezier(.2,.9,.3,1)}@keyframes palette-pop{0%{opacity:0;transform:translateY(-6px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.palette-header{display:flex;align-items:center;gap:11px;padding:15px 18px}.palette-input{flex:1;background:transparent;border:0;outline:0;font-size:16px;color:var(--ink);font-family:inherit}.palette-input::-moz-placeholder{color:var(--ink-3);font-weight:400}.palette-input::placeholder{color:var(--ink-3);font-weight:400}.palette-header-title{flex:1;font-size:14px;font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.palette-back-btn{padding:4px;border:0;background:transparent;border-radius:6px;color:var(--ink-3);cursor:pointer;display:grid;place-items:center}.palette-back-btn:hover{background:var(--bg-2);color:var(--ink)}.palette-scope-chip{font-size:11.5px;font-weight:600;padding:3px 9px;border-radius:7px;background:var(--bg-2);color:var(--ink-2)}.palette-loading-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);animation:palette-pulse 1.2s ease-in-out infinite;flex-shrink:0}@keyframes palette-pulse{0%,to{opacity:.4;transform:scale(.85)}50%{opacity:1;transform:scale(1)}}.palette-results{max-height:58vh;overflow-y:auto;padding:6px 0 8px;border-top:1px solid var(--border-soft)}.palette-section{padding:0 0 4px}.palette-section-header{position:sticky;top:0;z-index:2;background:var(--surface);padding:9px 18px 5px;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-4);display:flex;align-items:center;gap:7px}.palette-section-count{font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:0;color:var(--ink-4);background:var(--bg-2);border-radius:var(--rd-pill);padding:0 6px}.palette-section.is-nav .palette-row-t{font-weight:400}.palette-row{position:relative;width:100%;text-align:left;padding:7px 18px;display:flex;align-items:center;gap:11px;border:0;background:transparent;cursor:pointer;transition:background .1s;color:var(--ink)}.palette-row.is-active{background:var(--bg-2)}.palette-row.is-active:before{content:"";position:absolute;left:0;top:5px;bottom:5px;width:2.5px;border-radius:0 3px 3px 0;background:var(--accent)}.palette-row-nav{padding:6px 18px}.palette-row-ic{width:26px;height:26px;flex:none;border-radius:7px;display:grid;place-items:center}.palette-row-ic,.palette-row-ic.is-neutral{background:var(--bg-2);color:var(--ink-2)}.palette-row-txt{min-width:0;flex:1;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.palette-row-t{font-size:13.5px;font-weight:550}.palette-row-s,.palette-row-t{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:0 1 auto;min-width:0}.palette-row-s{font-size:12.5px;color:var(--ink-3)}.palette-row-prov{flex-basis:100%;font-size:11.5px;color:var(--ink-4)}.palette-row-prov b{color:var(--ink-3);font-weight:600}.palette-row-acc{margin-left:auto;display:flex;align-items:center;gap:8px;flex:none}.palette-row-kind{font-size:11px;color:var(--ink-4)}.palette-row-hotkeys{display:none;gap:4px;align-items:center}.palette-row.is-active .palette-row-hotkeys{display:inline-flex}.palette-row.is-active .palette-row-kind{display:none}.palette-row-label{flex:1;font-size:13.5px;font-weight:500}.palette-row-hint,.palette-row-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.palette-row-hint{font-size:12.5px;margin-left:4px;color:var(--ink-3);max-width:280px}.palette-row-alias{margin-left:auto;font-size:10.5px;font-weight:600;padding:1px 6px;border-radius:4px;background:var(--bg-2);color:var(--ink-3);font-family:inherit}.palette-star{color:var(--accent-ink);font-size:11px}.palette-separator{margin:6px 18px;height:1px;background:var(--border-soft)}.palette-empty{padding:26px 18px 20px;text-align:center;font-size:13px;color:var(--ink-3)}.palette-empty-t{font-size:14px;font-weight:600;color:var(--ink);margin-bottom:4px}.palette-empty-s{font-size:12.5px;color:var(--ink-3);max-width:44ch;margin:0 auto 10px}.palette-empty-s b{color:var(--ink-2)}.palette-see-all-chip.is-blocking{background:var(--danger-soft);color:var(--danger);border-color:var(--danger-border,var(--border))}.palette-kbd{font-size:10.5px;font-weight:600;padding:1.5px 5px;border-radius:5px;border:1px solid var(--border);background:var(--surface);color:var(--ink-3);font-family:inherit;box-shadow:0 1px 0 var(--border)}.palette-footer{display:flex;align-items:center;gap:10px;padding:9px 16px;border-top:1px solid var(--border);background:var(--bg);font-size:11.5px;color:var(--ink-3)}.palette-brand{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:var(--ink-2);letter-spacing:-.01em}.palette-brand-dot{width:4px;height:4px;border-radius:50%;background:var(--accent)}.palette-footer-hint{display:inline-flex;align-items:center;gap:5px}.palette-footer-hint.is-primary{font-weight:650;color:var(--ink-2)}.palette-footer-tail{margin-left:auto;display:flex;align-items:center;gap:10px}.palette-actbtn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);background:var(--surface);border-radius:7px;padding:3px 9px;font:inherit;font-size:11.5px;font-weight:600;color:var(--ink-2);cursor:pointer}.palette-actbtn:hover{border-color:var(--accent-border);color:var(--accent-ink)}@media (max-width:620px){.palette-footer-hint:not(.is-primary){display:none}}.palette-tip{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 18px 4px;font-size:11.5px;color:var(--ink-4)}.palette-tip .sep{color:var(--border)}.palette-recent-wrap{position:relative}.palette-recent-wrap .palette-pin-btn{position:absolute;top:50%;right:10px;transform:translateY(-50%);width:22px;height:22px;border:0;background:transparent;border-radius:5px;color:var(--ink-4);opacity:0;cursor:pointer;transition:opacity .12s,color .12s,background .12s;display:grid;place-items:center}.palette-recent-wrap .palette-pin-btn.is-pinned,.palette-recent-wrap:hover .palette-pin-btn{opacity:1}.palette-recent-wrap .palette-pin-btn.is-pinned{color:var(--accent-ink)}.palette-recent-wrap .palette-pin-btn:hover{background:var(--bg-2);color:var(--ink)}.palette-chips-row{display:flex;flex-wrap:wrap;gap:6px;padding:8px 18px 4px}.palette-see-all-chip{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:500;padding:3px 10px;border-radius:var(--rd-pill);background:var(--surface);color:var(--ink-2);border:1px solid var(--border);cursor:pointer;transition:background .12s,border-color .12s}.palette-see-all-chip:hover{background:var(--accent-soft);border-color:var(--accent-border,var(--border));color:var(--accent-ink)}.palette-chip-x{color:var(--ink-4);font-weight:600}.palette-chip-x:hover{color:var(--danger)}.palette-apanel-scrim{position:absolute;inset:0;z-index:8;background:rgba(20,24,28,.28);animation:palette-fade .12s ease}.palette-apanel{position:absolute;right:12px;bottom:50px;z-index:9;width:min(340px,calc(100% - 24px));background:var(--surface);border:1px solid var(--border);border-radius:13px;box-shadow:0 24px 60px -12px rgba(20,24,28,.34),0 2px 6px rgba(20,24,28,.08);overflow:hidden;display:flex;flex-direction:column;animation:palette-ap-pop .14s cubic-bezier(.2,.9,.3,1)}@keyframes palette-ap-pop{0%{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.palette-ap-search{display:flex;align-items:center;gap:8px;padding:10px 13px;border-bottom:1px solid var(--border-soft)}.palette-ap-back{border:0;background:transparent;padding:0;cursor:pointer;color:var(--ink-3);display:grid;place-items:center;flex-shrink:0}.palette-ap-input{flex:1;min-width:0;border:0;outline:0;background:transparent;font:inherit;font-size:13px;color:var(--ink)}.palette-ap-input::-moz-placeholder{color:var(--ink-4)}.palette-ap-input::placeholder{color:var(--ink-4)}.palette-ap-list{max-height:46vh;overflow-y:auto;padding:4px 0}.palette-ap-sec+.palette-ap-sec{border-top:1px solid var(--border-soft);margin-top:4px;padding-top:4px}.palette-ap-sec.is-danger{border-top-color:var(--danger-border,var(--border))}.palette-ap-h{padding:6px 13px 4px;font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-4)}.palette-ap-r{width:100%;text-align:left;display:flex;align-items:center;gap:10px;padding:6px 13px;border:0;background:transparent;font:inherit;font-size:13px;color:var(--ink-2);cursor:pointer}.palette-ap-r.is-active{background:var(--bg-2);color:var(--ink);font-weight:600}.palette-ap-r.is-primary{color:var(--ink);font-weight:650}.palette-ap-r.is-danger{color:var(--danger)}.palette-ap-i{flex:none;display:grid;place-items:center;color:var(--ink-4)}.palette-ap-r.is-active .palette-ap-i{color:var(--accent-ink)}.palette-ap-r.is-danger .palette-ap-i{color:var(--danger)}.palette-ap-l{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.palette-ap-k{margin-left:auto;flex:none}.palette-ap-empty{padding:18px 13px;text-align:center;font-size:12.5px;color:var(--ink-4)}.palette-ap-foot{display:flex;align-items:center;gap:8px;padding:7px 13px;border-top:1px solid var(--border);background:var(--bg);font-size:11px;color:var(--ink-4)}.palette-ap-target{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.palette-ap-keys{margin-left:auto;display:flex;gap:9px;flex:none}.selected-banner{display:flex;align-items:center;gap:10px;padding:8px 12px;margin:4px 0 8px;background:linear-gradient(to right,var(--accent-soft) 0,var(--bg-2) 100%);border:1px solid var(--accent-border,var(--border));border-radius:10px;position:sticky;top:0;z-index:4;backdrop-filter:blur(8px)}.selected-banner-back{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;font-size:11.5px;font-weight:600;background:var(--surface);border:1px solid var(--border);border-radius:6px;color:var(--ink-2);cursor:pointer;transition:background .12s,color .12s,border-color .12s}.selected-banner-back:hover{background:var(--accent-soft);border-color:var(--accent-border,var(--accent));color:var(--accent-ink)}.selected-banner-body{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden}.selected-banner-kind{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--accent-ink)}.selected-banner-title{font-size:13px;font-weight:600;color:var(--ink)}.selected-banner-sub,.selected-banner-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selected-banner-sub{font-size:11.5px;color:var(--ink-3)}.fb-overlay{position:fixed;inset:0;background:rgba(10,46,35,.32);z-index:100;animation:fb-fade .2s ease}@keyframes fb-fade{0%{opacity:0}to{opacity:1}}.fb-overlay.is-capturing,.fb-panel.is-capturing{visibility:hidden!important;opacity:0!important}.fb-panel{position:fixed;top:0;right:0;bottom:0;width:min(460px,96vw);background:var(--surface);border-left:1px solid var(--border);box-shadow:-8px 0 32px rgba(0,0,0,.08);z-index:101;display:flex;flex-direction:column;animation:fb-slide .25s cubic-bezier(.4,0,.2,1)}@keyframes fb-slide{0%{transform:translateX(100%)}to{transform:translateX(0)}}.fb-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px 14px;border-bottom:1px solid var(--border)}.fb-title{margin:0;font-size:17px;font-weight:700;color:var(--ink);letter-spacing:-.2px}.fb-sub{margin:2px 0 0;font-size:12px;line-height:1.4}.fb-close,.fb-sub{color:var(--ink-3)}.fb-close{padding:6px;border-radius:8px;border:0;background:transparent;cursor:pointer;display:grid;place-items:center;transition:background-color .12s ease,color .12s ease}.fb-close:hover{background:var(--bg-2);color:var(--ink)}.fb-body{flex:1;overflow-y:auto;padding:16px 20px 20px;gap:16px}.fb-body,.fb-section{display:flex;flex-direction:column}.fb-section{gap:8px}.fb-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3)}.fb-label-hint{font-weight:400;color:var(--ink-3);margin-left:6px;text-transform:none}.fb-hint{margin:0;font-size:11px;color:var(--ink-3);line-height:1.45}.fb-kbd{display:inline-block;padding:1px 5px;border-radius:4px;border:1px solid var(--border);background:var(--bg);font-size:10.5px;font-weight:500;font-family:inherit}.fb-code,.fb-kbd{color:var(--ink-2)}.fb-code{font-family:var(--font-mono,monospace);font-size:11px;background:var(--bg-2);padding:1px 6px;border-radius:4px}.fb-chips{display:flex;flex-wrap:wrap;gap:6px}.fb-chip{display:inline-flex;align-items:center;gap:5px;padding:6px 11px;border-radius:999px;border:1px solid var(--border);background:var(--bg);color:var(--ink-2);font-size:12.5px;font-weight:500;cursor:pointer;transition:background-color .12s ease,color .12s ease,border-color .12s ease}.fb-chip:hover{border-color:var(--accent-border,var(--accent));color:var(--ink)}.fb-chip-active{background:var(--accent);color:#fff;border-color:var(--accent);font-weight:600}.fb-chip-active:hover{background:var(--accent-ink);color:#fff}.fb-chip-x{margin-left:4px;padding:2px;border-radius:4px;color:inherit;opacity:.7;border:0;background:transparent;cursor:pointer}.fb-chip-x:hover{opacity:1;background:rgba(0,0,0,.06)}.fb-input,.fb-textarea{width:100%;padding:10px 12px;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--ink);font-size:13.5px;line-height:1.5;font-family:inherit;outline:none;transition:border-color .12s ease,background-color .12s ease}.fb-textarea{resize:vertical}.fb-input:focus,.fb-textarea:focus{border-color:var(--accent);background:var(--surface)}.fb-actions-row{display:flex;flex-direction:row;gap:8px;flex-wrap:wrap}.fb-action-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--ink-2);font-size:12.5px;font-weight:500;cursor:pointer;position:relative;transition:background-color .12s ease,border-color .12s ease,color .12s ease}.fb-action-btn:hover{border-color:var(--accent-border,var(--accent));color:var(--ink);background:var(--bg)}.fb-action-btn[disabled]{opacity:.55;cursor:not-allowed}.fb-action-btn input{position:absolute;opacity:0;pointer-events:none}.fb-action-primary{background:var(--accent-soft);border-color:var(--accent-border,var(--accent));color:var(--accent-ink);font-weight:600}.fb-action-primary:hover{background:var(--accent);border-color:var(--accent);color:#fff}.hidden{display:none}.fb-thumb{position:relative;border-radius:10px;border:1px solid var(--accent-border,var(--accent));overflow:hidden;cursor:pointer;background:var(--bg-2);aspect-ratio:16/10;transition:border-color .15s ease,transform .15s ease}.fb-thumb:hover{border-color:var(--accent)}.fb-thumb:hover .fb-thumb-overlay{opacity:1}.fb-thumb-img{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:top;object-position:top}.fb-thumb-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:rgba(13,173,141,.85);color:#fff;font-weight:600;font-size:12.5px;opacity:0;pointer-events:none;transition:opacity .15s ease}.fb-thumb-remove{position:absolute;top:8px;right:8px;background:rgba(255,255,255,.92);color:var(--danger);border-radius:999px;padding:5px;border:0;display:grid;place-items:center;box-shadow:0 1px 3px rgba(0,0,0,.15);cursor:pointer;z-index:2}.fb-thumb-remove:hover{background:var(--danger);color:#fff}.fb-files{list-style:none;padding:0;margin:4px 0 0;display:flex;flex-direction:column;gap:4px}.fb-file{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:7px;border:1px solid var(--border);background:var(--bg);font-size:12px;color:var(--ink-2)}.fb-file-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fb-file-size{color:var(--ink-3);font-size:11px;font-variant-numeric:tabular-nums}.fb-error{margin:0;font-size:13px;color:var(--danger);padding:8px 10px;background:rgba(239,68,68,.08);border-radius:6px;border:1px solid rgba(239,68,68,.2)}.fb-footer{padding:14px 20px;border-top:1px solid var(--border);background:var(--surface)}.fb-submit{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:11px 16px;border-radius:10px;background:var(--ink);color:var(--bg);font-size:13.5px;font-weight:600;cursor:pointer;border:0;transition:background-color .15s ease,opacity .15s ease}.fb-submit:hover:not([disabled]){background:var(--ink-2)}.fb-submit[disabled]{opacity:.5;cursor:not-allowed}.fb-spin{animation:fb-spin .8s linear infinite}@keyframes fb-spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.fb-sent{padding:40px 20px;text-align:center}.fb-sent-icon{width:56px;height:56px;border-radius:50%;background:var(--accent-soft);display:grid;place-items:center;margin:0 auto 16px;color:var(--accent-ink)}.fb-sent-title{font-size:15px;font-weight:600;margin:0}.fb-sent-sub{font-size:13px;color:var(--ink-3);margin-top:4px}.fb-annot-modal{position:fixed;inset:0;z-index:110;display:grid;place-items:center;background:rgba(10,46,35,.55);padding:16px}.fb-annot-card{width:95vw;height:92vh;max-width:1800px;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:0 24px 60px rgba(0,0,0,.25);display:flex;flex-direction:column;overflow:hidden}.fb-annot-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border)}.fb-annot-title{font-weight:700;font-size:15px;color:var(--ink)}.annot-root{flex:1;display:flex;flex-direction:column;min-height:0;background:var(--bg)}.annot-toolbar{display:flex;justify-content:space-between;gap:10px;padding:8px 14px;border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0}.annot-toolbar,.annot-tools{align-items:center;flex-wrap:wrap}.annot-tools{display:inline-flex;gap:4px}.annot-tool-btn{display:inline-flex;align-items:center;gap:5px;padding:7px 10px;border-radius:7px;background:transparent;color:var(--ink-2);border:1px solid transparent;font-size:12.5px;font-weight:500;font-family:inherit;cursor:pointer;transition:background-color .12s,color .12s,border-color .12s}.annot-tool-btn:hover{background:var(--bg-2);color:var(--ink)}.annot-tool-btn[disabled]{opacity:.4;cursor:not-allowed}.annot-tool-btn.is-active{background:var(--accent-soft);color:var(--accent-ink);border-color:var(--accent-border,var(--accent))}.annot-divider{width:1px;height:20px;background:var(--border);margin:0 6px}.annot-actions{gap:6px}.annot-actions,.annot-size-group{display:inline-flex;align-items:center}.annot-size-group{gap:1px;margin-left:6px;padding:3px;background:var(--bg);border:1px solid var(--border);border-radius:8px}.annot-size-btn{display:inline-grid;place-items:center;width:28px;height:26px;border-radius:5px;border:0;background:transparent;color:var(--ink-3);cursor:pointer;transition:background-color .12s ease,color .12s ease}.annot-size-btn:hover{color:var(--ink)}.annot-size-btn.is-active{background:var(--surface);color:var(--accent-ink);box-shadow:0 0 0 1px var(--accent-border,var(--accent))}.annot-canvas-wrap{position:relative;flex:1;min-height:0;display:grid;place-items:center;padding:10px;background:linear-gradient(45deg,rgba(0,0,0,.04) 25%,transparent 25%,transparent 75%,rgba(0,0,0,.04) 75%) 0 0 /16px 16px,linear-gradient(45deg,rgba(0,0,0,.04) 25%,transparent 25%,transparent 75%,rgba(0,0,0,.04) 75%) 8px 8px /16px 16px,var(--bg-2);overflow:hidden}.annot-canvas{max-width:100%;max-height:100%;display:block;background:#fff;border-radius:6px;box-shadow:0 1px 3px rgba(0,0,0,.08);touch-action:none}.annot-cursor-crosshair{cursor:crosshair}.annot-cursor-text{cursor:text}.annot-cursor-grab{cursor:grab}.annot-cursor-grabbing{cursor:grabbing}.annot-text-popover{position:absolute;display:inline-flex;flex-direction:column;gap:4px;padding:6px;background:var(--surface);border:2px solid var(--accent);border-radius:10px;box-shadow:0 8px 28px rgba(10,46,35,.22);z-index:10;transform:translateY(-4px);max-width:min(420px,calc(100% - 24px));animation:annot-fade .15s ease}@keyframes annot-fade{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(-4px)}}.annot-text-input{min-width:260px;max-width:380px;width:100%;min-height:28px;max-height:180px;padding:6px 9px;border:0;outline:0;background:transparent;color:var(--ink);font-size:13.5px;line-height:1.45;font-weight:600;font-family:inherit;resize:none;overflow-y:auto;word-break:break-word;white-space:pre-wrap}.annot-text-popover-actions{display:inline-flex;gap:4px;align-items:center;justify-content:flex-end;padding-top:4px;border-top:1px solid var(--border)}.annot-hint{padding:8px 14px;border-top:1px solid var(--border);background:var(--surface);font-size:11.5px;color:var(--ink-3);flex-shrink:0}.annot-kbd{display:inline-block;margin:0 3px;padding:1px 5px;border-radius:4px;border:1px solid var(--border);background:var(--bg);font-size:10.5px;font-weight:500;color:var(--ink-2);font-family:inherit}.palette-toast{position:absolute;bottom:52px;left:50%;transform:translateX(-50%);background:var(--ink);color:var(--surface);font-size:12px;font-weight:500;padding:7px 12px;border-radius:8px;box-shadow:0 4px 14px rgba(0,0,0,.18);display:inline-flex;align-items:center;gap:6px;animation:palette-toast-in .14s ease-out;z-index:5}@keyframes palette-toast-in{0%{opacity:0;transform:translate(-50%,4px)}to{opacity:1;transform:translate(-50%)}}.palette-quicklook{border-top:1px solid var(--border-soft);padding:14px 16px;background:var(--bg);display:flex;flex-direction:column;gap:8px;animation:palette-toast-in .14s ease-out}.palette-quicklook-kind{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--accent-ink)}.palette-quicklook-title{font-size:14px;font-weight:700;color:var(--ink);line-height:1.25}.palette-quicklook-sub{font-size:12px;color:var(--ink-3)}.palette-quicklook-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.palette-quicklook-meta .chip{font-size:11px}.palette-quicklook-hint{margin-top:4px;font-size:11px;color:var(--ink-4);display:inline-flex;gap:8px;align-items:center}.palette-section.is-ai{padding:4px 10px 8px}.palette-ai-card{background:var(--surface);border:1px solid var(--accent-border,var(--border));border-radius:10px;padding:14px 14px 12px;margin:4px 8px 0;display:flex;flex-direction:column;gap:8px}.palette-ai-big{font-size:30px;font-weight:800;color:var(--accent-ink);line-height:1;letter-spacing:-.02em}.palette-ai-headline{font-size:13px;font-weight:600;color:var(--ink)}.palette-ai-samples,.palette-ai-suggestions{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.wiz-pane{display:flex;flex-direction:column}.wiz-header{gap:8px;padding:10px 12px;border-bottom:1px solid var(--border-soft);background:var(--bg)}.wiz-breadcrumb,.wiz-header{display:flex;align-items:center}.wiz-breadcrumb{flex:1;gap:4px;font-size:12px;color:var(--ink-3)}.wiz-crumb{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:6px;font-weight:500}.wiz-crumb+.wiz-crumb:before{content:"›";color:var(--ink-4);margin-right:4px;font-weight:400}.wiz-crumb.is-active{background:var(--accent-soft)}.wiz-crumb.is-active,.wiz-crumb.is-done{color:var(--accent-ink)}.wiz-crumb-n{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;font-size:9.5px;font-weight:700;background:var(--bg-2);color:var(--ink-2)}.wiz-crumb.is-active .wiz-crumb-n{background:var(--accent);color:white}.wiz-body{padding:16px;display:flex;flex-direction:column;gap:10px}.wiz-context{font-size:12px;color:var(--ink-3);padding:8px 10px;background:var(--bg-2);border-radius:8px}.wiz-context strong{color:var(--ink);font-weight:600}.wiz-label{font-size:11.5px;font-weight:600;color:var(--ink-3);text-transform:uppercase;letter-spacing:.04em;margin-top:4px}.wiz-campus-grid{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.wiz-campus-chip{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:500;padding:5px 10px;border-radius:14px;background:var(--bg-2);color:var(--ink-2);border:1px solid var(--border);cursor:pointer;transition:all .12s}.wiz-campus-chip:hover{background:var(--accent-soft);border-color:var(--accent-border,var(--border))}.wiz-campus-chip.is-active{background:var(--accent-soft);color:var(--accent-ink);border-color:var(--accent);font-weight:600}.wiz-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}.wiz-error{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--danger-ink);background:var(--danger-soft);border:1px solid var(--danger-border);border-radius:6px;padding:8px 10px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.spin{animation:spin .9s linear infinite}.cell-editable:hover{background:var(--accent-soft)}.cell-editable:hover .cell-pencil{opacity:.65}.cell-editable:focus-visible{outline:2px solid var(--accent);border-radius:5px}.btn.is-primary{background:var(--accent-strong);border-color:var(--accent-strong)}.btn.is-primary:hover{background:#056B56;border-color:#056B56}:where(a,button,[role=button],input,select,textarea,summary,.palette-row,.filter-bar-menu-item,.admin-tab,.view-chip):focus-visible{outline:2px solid var(--accent-strong);outline-offset:2px;border-radius:var(--rds)}@media (max-width:900px){.admin-table{display:block;overflow-x:auto}}.ecole-quick{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:7px;color:var(--ink-3);background:transparent;transition:background .1s,color .1s}.ecole-quick:hover{background:var(--bg-2);color:var(--accent-ink)}:root{color-scheme:light;--ink-4:#8A8A90;--info:#3B7DF6;--info-ink:#2563EB;--info-soft:rgba(59,125,246,0.10);--info-border:rgba(59,125,246,0.22);--purple:#7C3AED;--purple-soft:rgba(124,58,237,0.06);--purple-border:rgba(124,58,237,0.30);--done:#16A34A;--done-ink:#15803D;--done-soft:rgba(22,163,74,0.10);--done-border:rgba(22,163,74,0.22);--mod-appr-ink:#2563EB;--mod-appr-soft:rgba(59,125,246,0.10);--mod-appr-border:rgba(59,125,246,0.26);--mod-init-ink:#6D28D9;--mod-init-soft:rgba(124,58,237,0.08);--mod-init-border:rgba(124,58,237,0.26);--mod-cont-ink:#15803D;--mod-cont-soft:rgba(22,163,74,0.10);--mod-cont-border:rgba(22,163,74,0.24);--ring-track:#E4E4E9;--ring-fill:#3A3A42;--font-editorial:var(--font-display)}[data-theme=dark]{color-scheme:dark;--bg:#0E1013;--bg-2:#1D2026;--surface:#16181D;--vibrancy:rgba(22,24,29,0.78);--separator:rgba(255,255,255,0.09);--ink:#E8EAF0;--ink-2:#9CA1B0;--ink-3:#5E6373;--ink-4:#474C59;--border:#242830;--border-soft:#1D2129;--accent:#19C99F;--accent-ink:#3BD9B3;--accent-soft:rgba(25,201,159,0.12);--accent-border:rgba(25,201,159,0.28);--success:#19C99F;--success-ink:#3BD9B3;--success-soft:rgba(25,201,159,0.12);--success-border:rgba(25,201,159,0.28);--warn:#F5A623;--warn-ink:#F7B84E;--warn-soft:rgba(245,166,35,0.13);--warn-border:rgba(245,166,35,0.30);--danger:#F26D6D;--danger-ink:#F58B8B;--danger-soft:rgba(242,109,109,0.12);--danger-border:rgba(242,109,109,0.30);--info:#5B95F7;--info-ink:#8BB4FA;--info-soft:rgba(91,149,247,0.15);--info-border:rgba(91,149,247,0.30);--mod-appr-ink:#8BB4FA;--mod-appr-soft:rgba(91,149,247,0.16);--mod-appr-border:rgba(91,149,247,0.32);--mod-init-ink:#C3A6FF;--mod-init-soft:rgba(167,124,255,0.16);--mod-init-border:rgba(167,124,255,0.32);--mod-cont-ink:#74E098;--mod-cont-soft:rgba(22,163,74,0.16);--mod-cont-border:rgba(22,163,74,0.30);--done:#3DD68C;--done-ink:#74E098;--done-soft:rgba(61,214,140,0.12);--done-border:rgba(61,214,140,0.30);--ring-track:#242830;--ring-fill:#9CA1B0;--sh:none;--sh-2:0 12px 40px rgba(0,0,0,0.55)}html{background:var(--bg)}body{transition:background-color .25s ease,color .25s ease}[data-theme=dark] kbd{background:rgba(255,255,255,.08)}.page-title{font-family:var(--font-editorial);font-weight:600;letter-spacing:-.015em}.ap-brand .label .name{font-family:var(--font-display);font-weight:700;letter-spacing:-.3px}.comp-ring{--p:0;--sz:38px;position:relative;width:var(--sz);height:var(--sz);border-radius:50%;flex:none;display:grid;place-items:center;background:conic-gradient(var(--ring-fill) calc(var(--p) * 1%),var(--ring-track) 0)}.comp-ring:after{content:"";position:absolute;width:calc(var(--sz) - var(--rt, 9px));height:calc(var(--sz) - var(--rt, 9px));border-radius:50%;background:var(--surface)}.comp-ring .rv{position:relative;z-index:1;font-size:11px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--ink-2)}.comp-ring.is-full{background:var(--done)}.comp-ring.is-full:after{background:var(--done-soft)}.comp-ring.is-full .rv{color:var(--done-ink)}.pill2{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;border-radius:999px;padding:3px 10px;white-space:nowrap;line-height:1.3}.pill2 .pdot{width:6px;height:6px;border-radius:50%;flex:none}.pill2.is-brand{background:var(--accent-soft);color:var(--accent-ink)}.pill2.is-info{background:var(--info-soft);color:var(--info-ink)}.pill2.is-info .pdot{background:var(--info)}.pill2.is-done{background:var(--done-soft);color:var(--done-ink)}.pill2.is-done .pdot{background:var(--done)}.pill2.is-warn{background:var(--warn-soft);color:var(--warn-ink)}.pill2.is-warn .pdot{background:var(--warn)}.pill2.is-neutral{background:var(--bg-2);color:var(--ink-3)}.soon-tag{margin-left:auto;font-size:9.5px;letter-spacing:.04em;text-transform:uppercase;background:var(--bg-2);color:var(--ink-4);border-radius:5px;padding:1px 6px;font-weight:600}.ap-nav .ap-theme-toggle{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:7px 9px;border-radius:9px;color:var(--ink-2);font-size:13.5px;background:none;border:0;cursor:pointer;margin-top:2px}.ap-nav .ap-theme-toggle:hover{background:var(--bg-2)}.is-collapsed .ap-nav .ap-theme-toggle,.nf-wrap{justify-content:center}.nf-wrap{display:flex;flex-direction:column;align-items:flex-start;min-height:70vh;padding:40px 48px;gap:14px}.nf-code{font-family:var(--font-editorial);font-size:84px;line-height:.9;font-weight:600;color:var(--ink)}.nf-msg{font-size:16px;color:var(--ink-3);max-width:420px}.nf-actions{display:flex;gap:10px;margin-top:8px}.nf-btn{display:inline-flex;align-items:center;gap:7px;padding:9px 15px;border-radius:10px;font-size:13.5px;font-weight:600;border:1px solid var(--border);background:var(--surface);color:var(--ink)}.nf-btn.primary{background:var(--accent);color:#06231C;border-color:transparent}.kpi.is-danger{background:linear-gradient(0deg,var(--danger-soft),var(--danger-soft)),var(--surface);border-color:var(--danger-border)}.kpi.is-danger .kpi-label,.kpi.is-danger .kpi-sub{color:var(--danger-ink)}.dsh-grid{display:grid;gap:14px}.dsh-g5{grid-template-columns:repeat(5,1fr)}.dsh-g4{grid-template-columns:repeat(4,1fr)}.dsh-g3{grid-template-columns:repeat(3,1fr)}.dsh-g2{grid-template-columns:1fr 1fr}.dsh-g23{grid-template-columns:1.5fr 1fr}@media (max-width:980px){.dsh-g2,.dsh-g23,.dsh-g3,.dsh-g4,.dsh-g5{grid-template-columns:1fr}}.dsh-ch-h{font-size:14px;font-weight:600}.dsh-ch-sub{font-size:11.5px;color:var(--ink-3);margin:2px 0 14px}.dsh-hbar{display:grid;grid-template-columns:130px 1fr 60px;align-items:center;gap:12px;padding:5px 0}.dsh-hbar .nm{font-size:12.5px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dsh-track{height:9px;border-radius:999px;background:var(--ring-track);overflow:hidden}.dsh-track>span{display:block;height:100%;border-radius:999px;background:var(--ring-fill)}.dsh-track>span.is-brand{background:var(--accent)}.dsh-track>span.is-info{background:var(--info)}.dsh-hbar .vl{font-size:12px;color:var(--ink-3);text-align:right;font-variant-numeric:tabular-nums}.dsh-donut{width:140px;height:140px;border-radius:50%;flex:none;position:relative}.dsh-donut:after{content:"";position:absolute;inset:30px;border-radius:50%;background:var(--surface)}.dsh-donut .dc{position:absolute;inset:0;display:grid;place-items:center;z-index:1;text-align:center}.dsh-legend{display:flex;flex-direction:column;gap:8px}.dsh-lg{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--ink-3)}.dsh-lg i{width:9px;height:9px;border-radius:3px;flex:none}.dsh-heat .hc{height:30px;border-radius:6px;display:grid;place-items:center;font-size:11px;font-variant-numeric:tabular-nums;color:var(--ink-2)}.dsh-heat .hh{font-size:11px;color:var(--ink-3);font-weight:600;display:grid;place-items:center}.dsh-heat .rl{font-size:12px;font-weight:500;display:flex;align-items:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dsh-tl{position:relative;height:72px;margin:14px 10px 4px}.dsh-tl-axis{position:absolute;top:42px;left:0;right:0;height:2px;background:var(--border)}.dsh-tl-m{top:35px;width:14px;height:14px;border-radius:50%;border:2px solid var(--surface)}.dsh-tl-lab,.dsh-tl-m{position:absolute;transform:translateX(-50%)}.dsh-tl-lab{font-size:10px;font-weight:600;white-space:nowrap;text-align:center}.dsh-tl-yr{position:absolute;top:48px;transform:translateX(-50%);font-size:11px;color:var(--ink-3)}.dsh-focale{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.dsh-focale select{background:var(--surface);border:1px solid var(--border);border-radius:9px;padding:7px 10px;font-size:13px;font-family:inherit;color:var(--ink);cursor:pointer}.dsh-v2{background:repeating-linear-gradient(135deg,var(--bg-2),var(--bg-2) 10px,transparent 10px,transparent 20px);border:1px dashed var(--border);border-radius:14px;padding:18px;display:flex;align-items:center;gap:14px}.dsh-v2-badge{font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--info-ink);background:var(--info-soft);border-radius:6px;padding:3px 9px;flex:none}.dsh-table{width:100%;border-collapse:collapse;font-size:12.5px}.dsh-table th{text-align:left;font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-4);font-weight:600;padding:0 10px 9px}.dsh-table td{padding:11px 10px;border-top:1px solid var(--border-soft)}.dsh-table td.r,.dsh-table th.r{text-align:right;font-variant-numeric:tabular-nums}.dsh-table .tt{font-weight:600}.codex-home{max-width:780px;margin:0 auto;padding:clamp(44px,8vh,96px) 24px 56px;min-height:78vh;font-family:var(--font-body)}.ch-hero,.codex-home{display:flex;flex-direction:column;align-items:center}.ch-hero{text-align:center}.ch-mark{width:54px;height:54px;border-radius:15px;background:var(--accent);display:grid;place-items:center;box-shadow:var(--sh-2);margin-bottom:16px}.ch-eyebrow{font-size:13px;font-weight:600;color:var(--ink-4);margin-bottom:8px}.ch-title{font-family:var(--font-display);font-size:clamp(18px,2.2vw,21px);font-weight:600;letter-spacing:-.01em;color:var(--ink);line-height:1.3}.ch-lede{font-size:16px;color:var(--ink-3);margin-top:10px}.ch-search-zone{width:100%;margin-top:24px;position:relative}.ch-bar{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--accent-border);border-radius:16px;padding:0 18px;height:64px;box-shadow:0 0 0 4px var(--accent-soft),var(--sh-2);transition:border-color .12s,box-shadow .12s}.ch-bar:focus-within{border-color:var(--accent);box-shadow:0 0 0 5px var(--accent-soft),var(--sh-2)}.ch-bar .ch-si{color:var(--ink-4);display:flex}.ch-bar input{flex:1;border:0;outline:0;background:transparent;font:inherit;font-size:16px;color:var(--ink)}.ch-bar input::-moz-placeholder{color:var(--ink-4)}.ch-bar input::placeholder{color:var(--ink-4)}.ch-kbd{font-size:11px;font-weight:600;color:var(--ink-3);background:var(--bg-2);border:1px solid var(--border-soft);border-radius:6px;padding:3px 6px}.ch-clr{display:grid;place-items:center;border:0;background:var(--bg-2);color:var(--ink-3);width:26px;height:26px;border-radius:var(--rd-pill);cursor:pointer}.ch-clr:hover{color:var(--ink)}.ch-panel{position:absolute;left:0;right:0;top:70px;border:1px solid var(--border);border-radius:16px;box-shadow:var(--sh-2);overflow:hidden auto;z-index:20;max-height:62vh}.ch-panel,.ch-tabs{background:var(--surface)}.ch-tabs{display:flex;gap:8px;padding:14px 16px 6px;flex-wrap:wrap;position:sticky;top:0;border-bottom:1px solid var(--border-soft)}.ch-tab{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--ink-3);background:transparent;border:0;padding:6px 12px;cursor:pointer}.ch-tab,.ch-tab .n{border-radius:var(--rd-pill)}.ch-tab .n{font-size:11px;color:var(--ink-4);background:var(--bg-2);padding:0 6px}.ch-tab.on{background:var(--accent);color:#fff}.ch-tab.on .n{background:rgba(255,255,255,.22);color:#fff}.ch-tab:not(.on):hover{background:var(--bg-2)}.ch-grp{padding:12px 18px 4px}.ch-gl{font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-4)}.ch-res{display:flex;align-items:center;gap:12px;width:100%;padding:11px 18px;cursor:pointer;text-align:left;background:transparent;border:0;border-left:2px solid transparent}.ch-res.hl{background:var(--accent-soft);border-left-color:var(--accent)}.ch-ri{width:34px;height:34px;border-radius:9px;background:var(--bg-2);color:var(--ink-3);display:grid;place-items:center;flex-shrink:0}.ch-res.hl .ch-ri{background:var(--surface);color:var(--accent-ink)}.ch-rmeta{display:flex;flex-direction:column;min-width:0;flex:1}.ch-rt{font-size:14px;font-weight:600;color:var(--ink);line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ch-rs mark,.ch-rt mark{background:transparent;color:var(--accent-ink);font-weight:700}.ch-rs{font-size:12.5px;color:var(--ink-3);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ch-rr{margin-left:auto;display:flex;align-items:center;gap:12px;flex-shrink:0}.ch-tag{font-size:10px;font-weight:700;letter-spacing:.04em;color:var(--ink-3);background:var(--bg-2);border-radius:6px;padding:3px 7px;text-transform:uppercase}.ch-open{display:none;align-items:center;gap:5px;font-size:12px;font-weight:600;color:var(--accent-ink)}.ch-res.hl .ch-open{display:flex}.ch-open kbd{display:inline-flex;align-items:center;color:var(--accent-ink);background:var(--surface);border:1px solid var(--accent-border);border-radius:5px;padding:2px 5px}.ch-empty{padding:34px 18px;text-align:center;color:var(--ink-3);font-size:13.5px}.ch-section{width:100%}.ch-slabel{font-size:10.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-4);margin:30px 0 12px}.ch-slabel-row{display:flex;align-items:baseline;justify-content:space-between;margin:30px 0 12px}.ch-slabel-row .ch-slabel{margin:0}.ch-clear-all{border:0;background:transparent;font-size:12px;font-weight:600;color:var(--ink-3);cursor:pointer}.ch-clear-all:hover{color:var(--accent-ink)}.ch-chips{display:flex;gap:8px;flex-wrap:wrap}.ch-chip{display:inline-flex;align-items:stretch;background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--rd-pill);box-shadow:var(--sh);overflow:hidden}.ch-chip:hover{border-color:var(--accent-border)}.ch-chip-main{display:inline-flex;align-items:center;gap:7px;background:transparent;border:0;padding:8px 5px 8px 13px;font:inherit;font-size:13px;font-weight:500;color:var(--ink-2);cursor:pointer}.ch-chip-main svg{color:var(--ink-4)}.ch-chip-x{display:grid;place-items:center;border:0;background:transparent;color:var(--ink-4);cursor:pointer;padding:0 9px 0 3px}.ch-chip-x:hover{color:var(--danger-ink)}.ch-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;width:100%}.ch-qa{display:flex;align-items:center;gap:13px;background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--rd);padding:16px;text-decoration:none;box-shadow:var(--sh);transition:transform .1s,border-color .12s,box-shadow .12s}.ch-qa:hover{transform:translateY(-1px);border-color:var(--accent-border);box-shadow:var(--sh-2)}.ch-qi{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;flex-shrink:0}.ch-qmeta{display:flex;flex-direction:column;min-width:0}.ch-qt{font-family:var(--font-display);font-size:14.5px;font-weight:700;color:var(--ink);line-height:1.15}.ch-qs{font-size:12px;color:var(--ink-3);margin-top:2px}.qa-form{background:var(--info-soft);color:var(--info-ink)}.qa-sess{background:var(--accent-soft);color:var(--accent-ink)}.qa-camp{background:var(--warn-soft);color:var(--warn-ink)}.qa-rncp{background:var(--role-brand-soft);color:var(--role-brand-ink)}.qa-met{background:var(--danger-soft);color:var(--danger-ink)}.qa-comp{background:var(--done-soft);color:var(--done-ink)}.ch-foot{display:flex;gap:22px;justify-content:center;flex-wrap:wrap;margin-top:44px;font-size:12px;color:var(--ink-4)}.ch-foot span{display:inline-flex;align-items:center;gap:6px}.ch-foot kbd{font-size:10.5px;font-weight:600;color:var(--ink-3);background:var(--bg-2);border:1px solid var(--border-soft);border-radius:5px;padding:2px 6px}@media (max-width:720px){.ch-cards{grid-template-columns:1fr}.ch-title{font-size:19px}}.cl-root{background:var(--bg)}.cl-hero{background:var(--surface);border-bottom:1px solid var(--border)}.cl-hero-inner{max-width:860px;margin:0 auto;padding:32px 40px 28px}.cl-badges{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}.cl-latest{font-size:11px;font-weight:600;color:var(--ink-3);background:var(--bg-2);border:1px solid var(--border);border-radius:var(--rd-pill);padding:2px 10px;font-variant-numeric:tabular-nums}.cl-h1{font-size:32px;font-weight:800;letter-spacing:-.5px;color:var(--ink);line-height:1.15}.cl-pitch{margin-top:10px;font-size:14px;line-height:1.6;color:var(--ink-2);max-width:640px}.cl-banner{display:flex;align-items:center;gap:10px;margin-top:18px;padding:10px 14px;background:var(--accent-soft);border:1px solid var(--accent-border);border-radius:var(--rds);color:var(--accent-ink);font-size:13px}.cl-banner strong{color:var(--accent-ink);font-weight:700}.cl-banner-link{margin-left:auto;font-size:12px;font-weight:600;color:var(--accent-ink);background:transparent;border:none;cursor:pointer;white-space:nowrap}.cl-banner-link:hover{text-decoration:underline}.cl-view-toggle{margin-left:auto;background:var(--bg-2);border:1px solid var(--border);padding:3px}.cl-view-btn,.cl-view-toggle{display:inline-flex;border-radius:var(--rd-pill)}.cl-view-btn{align-items:center;gap:4px;font-size:11px;font-weight:600;color:var(--ink-3);padding:4px 10px;border:none;background:transparent;cursor:pointer;transition:background .15s,color .15s;letter-spacing:.02em}.cl-view-btn:hover{color:var(--ink-2)}.cl-view-btn.active{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px rgba(16,24,40,.06)}.cl-timeline{padding:32px 40px 60px}.cl-timeline-layout{max-width:860px;margin:0 auto}.cl-content{max-width:860px;min-width:0}.cl-toc{display:none}@media (min-width:1100px){.cl-timeline-layout{display:grid;grid-template-columns:200px 1fr;gap:56px;max-width:1116px;align-items:start}.cl-toc{display:block;position:sticky;top:80px;align-self:start;max-height:calc(100vh - 100px);overflow-y:auto}.cl-content{max-width:100%}}.cl-toc-inner{padding-right:4px}.cl-toc-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);margin-bottom:10px;padding-left:10px}.cl-toc-list{list-style:none;padding:0;margin:0;border-left:1px solid var(--border)}.cl-toc-link{display:flex;align-items:baseline;gap:8px;padding:6px 10px;margin-left:-1px;border-left:2px solid transparent;text-decoration:none;color:var(--ink-3);font-size:12px;line-height:1.4;transition:background .15s,color .15s,border-color .15s;position:relative}.cl-toc-link:hover{background:var(--bg-2);color:var(--ink-2)}.cl-toc-link.active{color:var(--ink);border-left-color:var(--accent);background:var(--accent-soft)}.cl-toc-version{font-weight:600;font-variant-numeric:tabular-nums;color:inherit}.cl-toc-link.active .cl-toc-version{color:var(--accent-ink)}.cl-toc-date{font-size:11px;color:var(--ink-3);margin-left:auto}.cl-toc-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);position:absolute;right:4px;top:50%;transform:translateY(-50%)}.cl-toc-actions{margin-top:12px;padding-left:10px}.cl-toc-action-btn{font-size:11px;font-weight:600;color:var(--ink-3);background:transparent;border:1px solid var(--border);border-radius:6px;padding:5px 10px;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.cl-toc-action-btn:hover{background:var(--surface);color:var(--ink-2);border-color:var(--ink-3)}.cl-entry{padding:4px 0}.cl-entry+.cl-entry{border-top:1px solid var(--border-soft);margin-top:4px}.cl-entry-header{display:flex;align-items:flex-start;gap:12px;width:100%;background:transparent;border:none;padding:12px 4px;cursor:pointer;text-align:left;border-radius:6px;transition:background .15s}.cl-entry-header:hover{background:var(--bg-2)}.cl-entry-main{flex:1;min-width:0}.cl-entry-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:4px}.cl-version-badge{font-size:11px;font-weight:700;color:var(--accent-ink);background:var(--accent-soft);border:1px solid var(--accent-border);border-radius:5px;padding:1px 7px;font-variant-numeric:tabular-nums}.cl-entry-date{font-size:12px;color:var(--ink-3)}.cl-new-badge{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#fff;background:var(--accent);border-radius:4px;padding:1px 6px}.cl-count{font-size:12px;color:var(--ink-3)}.cl-entry-title{font-size:20px;font-weight:700;letter-spacing:-.3px;color:var(--ink);scroll-margin-top:80px}.cl-chevron{flex-shrink:0;margin-top:6px;color:var(--ink-3);transition:transform .2s}.cl-chevron.open{transform:rotate(180deg)}.cl-entry.is-new>.cl-entry-header{border-left:3px solid var(--accent);padding-left:10px;margin-left:-13px}.cl-entry-body{padding:0 4px 16px}.cl-intro{font-size:14px;line-height:1.6;color:var(--ink-2);margin-bottom:16px}.cl-section{margin-bottom:14px}.cl-kind{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;border:1px solid;border-radius:10px;padding:3px 10px;margin-bottom:8px}.cl-items{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.cl-items li{font-size:13.5px;line-height:1.6;color:var(--ink-2);padding-left:16px;position:relative}.cl-items li:before{content:"–";position:absolute;left:2px;color:var(--ink-4)}.cl-items li code{font-size:11.5px;color:var(--ink)}.cl-items li code,.cl-items li kbd{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,monospace;padding:1px 5px;border-radius:4px;background:var(--bg);border:1px solid var(--border)}.cl-items li kbd{font-size:10.5px;font-weight:500;color:var(--ink-3)}.cl-items li strong{color:var(--ink);font-weight:600}.cl-items li em{font-style:italic;color:var(--ink-2)}.cl-admin-badge{display:inline-flex;align-items:center;font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:1px 5px;margin-left:6px;border-radius:4px;background:var(--bg-2);color:var(--ink-3);border:1px solid var(--border);vertical-align:2px}.cl-footer{margin-top:24px;padding-top:16px;border-top:1px solid var(--border-soft);font-size:12px;color:var(--ink-3)}@media (max-width:720px){.cl-hero-inner,.cl-timeline{padding-left:20px;padding-right:20px}.cl-h1{font-size:26px}}.se-tone-formation .ch-ri,.se-tone-formation .palette-row-ic,.se-tone-formation .sr-ic{background:var(--info-soft);color:var(--info-ink)}.se-tone-session .ch-ri,.se-tone-session .palette-row-ic,.se-tone-session .sr-ic{background:var(--accent-soft);color:var(--accent-ink)}.se-tone-rncp .ch-ri,.se-tone-rncp .palette-row-ic,.se-tone-rncp .sr-ic{background:var(--role-brand-soft);color:var(--role-brand-ink)}.se-tone-ecole .ch-ri,.se-tone-ecole .palette-row-ic,.se-tone-ecole .sr-ic{background:var(--warn-soft);color:var(--warn-ink)}.se-tone-campus .ch-ri,.se-tone-campus .palette-row-ic,.se-tone-campus .sr-ic{background:var(--done-soft);color:var(--done-ink)}.se-tone-metier .ch-ri,.se-tone-metier .palette-row-ic,.se-tone-metier .sr-ic{background:var(--mod-appr-soft);color:var(--mod-appr-ink)}.se-tone-competence .ch-ri,.se-tone-competence .palette-row-ic,.se-tone-competence .sr-ic{background:var(--mod-init-soft);color:var(--mod-init-ink)}.se-eye-formation{color:var(--info-ink)}.se-eye-session{color:var(--accent-ink)}.se-eye-rncp{color:var(--role-brand-ink)}.se-eye-ecole{color:var(--warn-ink)}.se-eye-campus{color:var(--done-ink)}.ch-hintr{font-size:11.5px;font-weight:600;color:var(--ink-4);white-space:nowrap}.ch-bar:focus-within .ch-hintr{color:var(--accent-ink)}.ch-seeall{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px 18px;border:0;border-top:1px solid var(--border-soft);background:var(--bg-2);color:var(--accent-ink);font:inherit;font-size:13px;font-weight:600;cursor:pointer;position:sticky;bottom:0}.ch-seeall:hover{background:var(--accent-soft)}.ch-kpis{display:flex;gap:12px;width:100%;margin-top:30px;flex-wrap:wrap}.ch-kpi{flex:1;min-width:120px;display:flex;flex-direction:column;align-items:flex-start;background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--rd);padding:16px 18px;box-shadow:var(--sh)}.ch-kpi-n{font-family:var(--font-display);font-size:26px;font-weight:800;color:var(--ink);line-height:1}.ch-kpi-l{font-size:12px;color:var(--ink-3);margin-top:5px}.ch-recent{display:flex;flex-direction:column;gap:6px}.ch-recent-row{display:flex;align-items:center;gap:12px;padding:10px 12px;text-decoration:none;background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--rd);box-shadow:var(--sh);transition:border-color .12s,box-shadow .12s}.ch-recent-row:hover{border-color:var(--accent-border);box-shadow:var(--sh-2)}.ch-recent-meta{margin-left:auto;display:flex;align-items:center;gap:12px;flex-shrink:0}.ch-recent-time{font-size:11.5px;color:var(--ink-4);white-space:nowrap}.ch-recent-empty{font-size:13px;color:var(--ink-4)}.sr-wrap{max-width:860px;margin:0 auto;padding:0 24px 60px;font-family:var(--font-body)}.sr-sticky{position:sticky;top:0;z-index:20;padding:18px 0 0;background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:blur(10px)}.sr-barrow{display:flex;align-items:center;gap:10px}.sr-back{display:grid;place-items:center;width:40px;height:46px;flex-shrink:0;border:1px solid var(--border);background:var(--surface);border-radius:12px;color:var(--ink-3);cursor:pointer}.sr-back:hover{color:var(--accent-ink);border-color:var(--accent-border)}.sr-bar{flex:1;display:flex;align-items:center;gap:10px;height:46px;padding:0 8px 0 14px;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--sh)}.sr-bar:focus-within{border-color:var(--accent-border);box-shadow:0 0 0 3px var(--accent-soft),var(--sh)}.sr-si{color:var(--ink-4);display:flex}.sr-bar input{flex:1;border:0;outline:0;background:transparent;font:inherit;font-size:15px;color:var(--ink)}.sr-bar input::-moz-placeholder{color:var(--ink-4)}.sr-bar input::placeholder{color:var(--ink-4)}.sr-clr{display:grid;place-items:center;border:0;background:var(--bg-2);color:var(--ink-3);width:24px;height:24px;border-radius:var(--rd-pill);cursor:pointer}.sr-clr:hover{color:var(--ink)}.sr-go{display:inline-flex;align-items:center;gap:6px;border:0;background:var(--accent);color:#fff;font:inherit;font-size:12.5px;font-weight:600;padding:8px 12px;border-radius:9px;cursor:pointer;white-space:nowrap}.sr-go:hover{background:var(--accent-ink)}.sr-tabs{display:flex;gap:6px;flex-wrap:wrap;padding:14px 0 12px;border-bottom:1px solid var(--border-soft)}.sr-tab{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--ink-3);background:transparent;border:0;border-bottom:2px solid transparent;padding:6px 10px 8px;cursor:pointer}.sr-tab .n{font-size:11px;color:var(--ink-4);background:var(--bg-2);border-radius:var(--rd-pill);padding:0 6px}.sr-tab:hover{color:var(--ink)}.sr-tab.on{color:var(--accent-ink);border-bottom-color:var(--accent)}.sr-tab.on .n{background:var(--accent-soft);color:var(--accent-ink)}.sr-body{padding-top:18px}.sr-metarow{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:14px}.sr-meta{font-size:13.5px;color:var(--ink-3)}.sr-meta b{color:var(--ink);font-weight:700}.sr-sorts{display:inline-flex;gap:4px;background:var(--bg-2);border-radius:var(--rd-pill);padding:3px}.sr-sort{font-size:12px;font-weight:600;color:var(--ink-3);background:transparent;border:0;border-radius:var(--rd-pill);padding:5px 11px;cursor:pointer}.sr-sort.on{background:var(--surface);color:var(--accent-ink);box-shadow:var(--sh)}.sr-list{display:flex;flex-direction:column;gap:6px;animation:fadeIn .18s ease}.sr-row{display:flex;align-items:center;gap:12px;width:100%;text-align:left;cursor:pointer;background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--rd);padding:9px 14px;transition:border-color .12s,box-shadow .12s}.sr-row:hover{border-color:var(--accent-border);box-shadow:var(--sh)}.sr-ic{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;flex-shrink:0;background:var(--bg-2);color:var(--ink-3)}.sr-line{display:flex;flex-direction:column;min-width:0;flex:1;overflow:hidden}.sr-head{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.sr-metai{font-size:13.5px;color:var(--ink-4);font-weight:400}.sr-title{font-size:13.5px;font-weight:500;color:var(--ink)}.sr-aside mark,.sr-metai mark,.sr-prov mark,.sr-title mark{background:var(--accent-soft);color:var(--accent-ink);font-weight:600;border-radius:2px;padding:0 1px}.sr-aside{flex-shrink:0;align-self:center;margin-left:12px;font-size:12.5px;color:var(--ink-4);white-space:nowrap}.sr-prov{font-size:12px;color:var(--ink-4);margin-top:5px;line-height:1.4}.sr-prov b{color:var(--ink-3);font-weight:700}.sr-aside-count{font-weight:600;color:var(--ink-3);background:var(--bg-2);border-radius:var(--rd-pill);padding:4px 10px}.sr-pager{display:flex;justify-content:center;gap:16px;margin-top:26px}.sr-pager,.sr-pg{align-items:center}.sr-pg{display:inline-flex;gap:5px;font:inherit;font-size:13px;font-weight:600;color:var(--ink-2);background:var(--surface);border:1px solid var(--border);border-radius:9px;padding:8px 13px;cursor:pointer}.sr-pg:hover:not(:disabled){border-color:var(--accent-border);color:var(--accent-ink)}.sr-pg:disabled{opacity:.45;cursor:default}.sr-pgl{font-size:12.5px;color:var(--ink-4)}@keyframes fadeIn{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}.ch-kpiline{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;width:100%;margin-top:28px;justify-content:center;font-size:13px;color:var(--ink-3)}.ch-kpi-item{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.ch-kpiline b{color:var(--ink);font-weight:700}.ch-kpisep{color:var(--ink-4);margin-right:2px}.mod-badge{display:inline-flex;align-items:center;gap:5px;flex:none;border-radius:var(--rd-pill);padding:2px 9px;font-size:11.5px;font-weight:600;line-height:1.5;white-space:nowrap;border:1px solid var(--border);background:var(--bg-2);color:var(--ink-2)}.mod-badge.is-md{font-size:12px;padding:3px 11px}.mod-badge .mod-dot{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.7;flex:none}.mod-badge.is-appr{background:var(--mod-appr-soft);color:var(--mod-appr-ink);border-color:var(--mod-appr-border)}.mod-badge.is-init{background:var(--mod-init-soft);color:var(--mod-init-ink);border-color:var(--mod-init-border)}.mod-badge.is-cont{background:var(--mod-cont-soft);color:var(--mod-cont-ink);border-color:var(--mod-cont-border)}.mod-badge mark{background:transparent;color:inherit;font-weight:800;text-decoration:underline;text-underline-offset:2px}.sr-aside-wrap{display:flex;align-items:center;gap:9px;flex-shrink:0;margin-left:12px}.sr-aside-wrap .sr-aside{margin-left:0}.vw-wrap{border-bottom:1px solid var(--border-soft)}.vw-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-bottom:12px}.vw-lbl{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-4)}.vw-seg{gap:2px;background:var(--border-soft);border-radius:11px;padding:3px;flex-wrap:wrap}.vw-seg,.vw-tab{display:inline-flex;align-items:center}.vw-tab{gap:6px;border:0;background:transparent;border-radius:8px;padding:6px 12px;font-size:12.5px;font-weight:650;color:var(--ink-3);cursor:pointer;font-family:inherit;transition:background .14s,color .14s;white-space:nowrap}.vw-tab:hover{color:var(--ink-2)}.vw-tab.on{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px rgba(16,24,40,.14)}.vw-ico{flex-shrink:0}.vw-ico.lock{color:var(--accent-ink)}.vw-ico.star{color:#E8A33D}.vw-ico.org{color:var(--ink-3)}.vw-dot{width:6px;height:6px;border-radius:50%;background:#E8A33D;display:inline-block}.vw-add{display:inline-flex;align-items:center;gap:4px;border:1px dashed var(--border);background:transparent;color:var(--accent-ink);font-weight:700;font-size:12.5px;padding:6px 11px;border-radius:9px;cursor:pointer;font-family:inherit}.vw-add:hover{background:var(--accent-soft);border-color:var(--accent-border)}.vw-add.editing{border-style:solid;border-color:var(--accent);background:var(--surface);padding:4px 6px;box-shadow:0 0 0 3px var(--accent-soft)}.vw-add.editing input{border:0;outline:0;background:transparent;font-size:12.5px;font-family:inherit;width:140px;color:var(--ink-2)}.vw-add .ko,.vw-add .ok{display:inline-flex;border:0;background:transparent;cursor:pointer;padding:2px 3px}.vw-add .ok{color:var(--accent-ink)}.vw-add .ko{color:var(--ink-4)}.vw-add .ok:disabled{opacity:.35;cursor:not-allowed}.vw-right{margin-left:auto;gap:8px}.vw-btn,.vw-right{display:inline-flex;align-items:center}.vw-btn{gap:5px;font-size:12.5px;font-weight:500;color:var(--ink-2);padding:6px 10px;border:1px solid var(--border);border-radius:var(--rds);background:var(--surface);cursor:pointer;font-family:inherit}.vw-btn:hover{border-color:var(--ink-4)}.vw-btn.on{background:#123a30;color:#fff;border-color:#123a30}.vw-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .24s cubic-bezier(.22,.61,.36,1)}.vw-panel.open{grid-template-rows:1fr}.vw-panel>div{overflow:hidden}.vw-panel-in{padding:0 0 12px}.vw-mgmt{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--bg);border:1px solid var(--border-soft);border-radius:var(--rds);padding:9px 12px}.vw-mgmt-lbl{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-4)}.vw-name{display:inline-flex;align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:5px 10px}.vw-name input{border:0;outline:0;background:transparent;font-size:13px;font-weight:600;font-family:inherit;color:var(--ink);width:190px}.vw-name input:disabled{color:var(--ink-3)}.vw-vbtn{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:5px 10px;font-size:11.5px;font-weight:650;color:var(--ink-2);cursor:pointer;font-family:inherit}.vw-vbtn:hover{border-color:var(--ink-4)}.vw-vbtn:disabled{opacity:.45;cursor:not-allowed}.vw-vbtn.star,.vw-vbtn.warn{color:#9A6410;border-color:#E8A33D;background:#FDF3E3}.vw-vbtn.del:hover{color:var(--danger);border-color:var(--danger)}.vw-saved{margin-left:auto;font-size:11px;color:var(--accent-ink);display:inline-flex;align-items:center;gap:5px;opacity:0;transition:opacity .2s}.vw-saved.show{opacity:1}.vw-saved .d{width:6px;height:6px;border-radius:50%;background:var(--accent)}.vw-hint{margin-left:auto;font-size:11.5px;color:var(--ink-3);max-width:560px;text-align:right;line-height:1.45}.vw-hint.left{margin-left:0;text-align:left}.vx-layout{display:grid;grid-template-columns:264px minmax(0,1fr);gap:14px;align-items:start}@media (max-width:980px){.vx-layout{grid-template-columns:1fr}}.vx-stats{display:flex;align-items:center;gap:26px;padding:13px 18px}.vx-stat{display:flex;flex-direction:column;gap:1px}.vx-stat-n{font-size:19px;font-weight:700;letter-spacing:-.015em;line-height:1.1}.vx-stat-l{font-size:11px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.vx-stat button.vx-stat-n{border:0;background:none;padding:0;cursor:pointer;font-family:inherit;color:var(--warn-ink);text-align:left}.vx-stat button.vx-stat-n:hover{text-decoration:underline}.vx-progress{flex:1;min-width:90px;display:flex;flex-direction:column;gap:5px;align-items:flex-end}.vx-bar{width:100%;height:5px;background:var(--bg-2);overflow:hidden}.vx-bar,.vx-bar>i{border-radius:99px}.vx-bar>i{display:block;height:100%;background:var(--accent);transition:width .3s}.vx-rail-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 10px 6px 14px}.vx-rail-title{font-size:11px;font-weight:700;color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em}.vx-rail-list{padding:2px 6px 8px;display:flex;flex-direction:column;gap:1px}.vx-rail-sep{height:1px;background:var(--border-soft);margin:6px 8px}.vx-item-row{display:flex;align-items:center;border-radius:8px;padding-right:4px}.vx-item-row:hover{background:var(--bg-2)}.vx-item-row.is-active{background:var(--accent-soft)}.vx-item{flex:1;min-width:0;display:flex;align-items:center;gap:8px;padding:6px 8px;border:0;background:none;cursor:pointer;font:inherit;font-size:13px;color:var(--ink);text-align:left}.vx-item-row.is-active .vx-item{color:var(--accent-strong);font-weight:600}.vx-dot{width:8px;height:8px;border-radius:99px;flex:none}.vx-item-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vx-count{font-size:11.5px;color:var(--ink-3);font-variant-numeric:tabular-nums;flex:none}.vx-item-row.is-active .vx-count{color:var(--accent-ink)}.vx-item-actions{display:flex;gap:1px;width:0;overflow:hidden;opacity:0;transition:opacity .12s}.vx-item-row:focus-within .vx-item-actions,.vx-item-row:hover .vx-item-actions{width:auto;overflow:visible;opacity:1}.vx-item-actions .vx-icon-btn{width:24px;height:24px}.vx-rail-form{display:flex;gap:6px;padding:6px 10px 12px}.vx-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 14px;border-bottom:1px solid var(--border-soft)}.vx-search{position:relative;flex:1;min-width:170px;max-width:300px}.vx-search>svg{position:absolute;left:9px;top:50%;transform:translateY(-50%);color:var(--ink-3);pointer-events:none}.vx-search .input{padding-left:28px}.vx-search .input,.vx-select{padding-top:6px;padding-bottom:6px}.vx-select{width:auto;min-width:128px}.vx-toggle{display:inline-flex;align-items:center;gap:5px;padding:5px 11px;border-radius:99px;border:1px solid var(--border);background:var(--surface);color:var(--ink-2);font-size:12.5px;font-family:inherit;cursor:pointer;white-space:nowrap}.vx-toggle:hover{background:var(--bg-2)}.vx-toggle.is-on{background:var(--accent-soft);border-color:var(--accent-border);color:var(--accent-strong);font-weight:600}.vx-table{width:100%;border-collapse:collapse;font-size:13px}.vx-table th{text-align:left;font-weight:600;font-size:11px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em;padding:9px 14px;border-bottom:1px solid var(--border-soft)}.vx-group td{padding:14px 14px 5px}.vx-group-label{display:inline-flex;align-items:baseline;gap:7px}.vx-group-label b{font-size:12px;font-weight:700;letter-spacing:.02em}.vx-group-label span{font-size:11.5px;color:var(--ink-3)}.vx-row>td{padding:5px 14px;border-top:1px solid var(--border-soft)}.vx-row:hover>td{background:var(--bg-2)}.vx-row.is-archived .vx-name{color:var(--ink-3)}.vx-name{display:inline-flex;align-items:center;gap:7px;font-weight:500}.vx-num{text-align:right;font-variant-numeric:tabular-nums;color:var(--ink-2)}.vx-num.is-zero{color:var(--ink-4)}.vx-meta-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:auto;max-width:210px;border:1px solid transparent;border-radius:99px;padding:3px 25px 3px 11px;font-size:12.5px;font-family:inherit;color:var(--ink-2);background-color:var(--bg-2);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%239AA0AA' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 9px center;cursor:pointer;transition:box-shadow .12s}.vx-meta-select:hover:not(:disabled){box-shadow:0 0 0 1px var(--border)}.vx-meta-select:disabled{cursor:default;opacity:1}.vx-meta-select.is-empty{color:var(--ink-3);background-color:transparent;border-color:var(--border-soft)}.vx-actions{display:flex;gap:2px;justify-content:flex-end;opacity:0;transition:opacity .12s}.vx-row:focus-within .vx-actions,.vx-row:hover .vx-actions{opacity:1}.vx-icon-btn{width:27px;height:27px;display:grid;place-items:center;border-radius:7px;border:0;background:transparent;color:var(--ink-3);cursor:pointer}.vx-icon-btn:hover{background:var(--surface);color:var(--ink);box-shadow:0 0 0 1px var(--border)}.vx-icon-btn.is-danger:hover{color:var(--danger-ink)}.vx-icon-btn:disabled{opacity:.35;cursor:not-allowed}.vx-empty{padding:34px 14px;text-align:center;color:var(--ink-3);font-size:13px}.vx-modal{width:100%;max-width:470px;max-height:86vh;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:14px}.vx-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.vx-modal-head h3{font-size:15px;font-weight:700;letter-spacing:-.01em}.vx-field{display:flex;flex-direction:column;gap:5px}.vx-field>label{font-size:12px;font-weight:600;color:var(--ink-2)}.vx-field .vx-hint{font-size:11.5px;color:var(--ink-3);line-height:1.45}.vx-note{font-size:12.5px;line-height:1.5;color:var(--ink-2);background:var(--bg-2);border-radius:9px;padding:10px 12px}.vx-note.is-warn{background:var(--warn-soft);color:var(--warn-ink)}.vx-picker{border:1px solid var(--border);border-radius:10px;max-height:300px;overflow-y:auto}.vx-picker-group{padding:6px 12px;background:var(--bg-2);font-size:11px;font-weight:700;color:var(--ink-3);letter-spacing:.05em;position:sticky;top:0}.vx-picker-item{display:flex;align-items:center;gap:9px;padding:6px 12px;font-size:13px;cursor:pointer}.vx-picker-item:hover{background:var(--bg-2)}.vx-modal-foot{display:flex;align-items:center;justify-content:flex-end;gap:8px}.vx-alert{display:flex;align-items:flex-start;gap:10px;padding:11px 14px;border-radius:10px;background:var(--danger-soft);color:var(--danger-ink);font-size:13px;line-height:1.45;border:1px solid var(--danger-border)}@media (min-width:640px){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width:1024px){.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}