@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500;600;700&display=swap"layer(brand);@layer brand;@layer brand{:root{--ink:#0A0A0A;--bone:#F5F5F0;--magenta:#E0218A;--magenta-on-dark:#E3288F;--magenta-on-light:#CC1A7D;--volt:#E7FF3D;--positive:#7CFF6B;--positive-paper:#1E7A34;--negative:#FF4D4D;--negative-paper:#C42020;--line:#2A2A2A;--line-paper:#DCDCD4;--muted:#8A8A82;--muted-paper:#66665F;--body:#D8D8D2;--body-paper:#3A3A36;--color-bg:var(--ink);--color-bg-raised:#0D0D0C;--color-fg:var(--bone);--color-body:var(--body);--color-brand:var(--magenta);--color-accent:var(--magenta-on-dark);--color-button:var(--magenta-on-light);--color-button-fg:var(--bone);--color-highlight:var(--volt);--color-highlight-fg:var(--ink);--color-border:var(--line);--color-muted:var(--muted);--color-positive:var(--positive);--color-negative:var(--negative);--font-display:"Inter",-apple-system,sans-serif;--font-body:"Inter",-apple-system,sans-serif;--font-mono:"JetBrains Mono",ui-monospace,monospace;--text-2xs: clamp(.68rem, .64rem + .2vw, .75rem);--text-xs: clamp(.75rem, .71rem + .2vw, .8125rem);--text-sm: clamp(.875rem, .84rem + .2vw, .9375rem);--text-base:clamp(1rem, .95rem + .25vw, 1.0625rem);--text-lg: clamp(1.125rem, 1.05rem + .4vw, 1.375rem);--text-xl: clamp(1.375rem, 1.2rem + .8vw, 1.875rem);--text-2xl: clamp(1.75rem, 1.4rem + 1.6vw, 2.5rem);--text-3xl: clamp(2.25rem, 1.7rem + 2.6vw, 3.5rem);--text-4xl: clamp(3rem, 2rem + 4.5vw, 5.5rem);--text-5xl: clamp(3.75rem, 2.2rem + 7vw, 8rem);--leading-tight:.94;--leading-snug:1.2;--leading-normal:1.55;--tracking-tight:-.03em;--tracking-normal:0em;--tracking-wide:.08em;--tracking-wider:.16em;--space-1: clamp(.375rem,.34rem + .15vw,.5rem);--space-2: clamp(.625rem,.56rem + .3vw,.875rem);--space-3: clamp(1rem,.9rem + .45vw,1.375rem);--space-4: clamp(1.5rem,1.35rem + .7vw,2rem);--space-5: clamp(2.25rem,2rem + 1.1vw,3rem);--space-6: clamp(3.5rem,3.1rem + 1.8vw,5rem);--space-7: clamp(5rem,4.4rem + 2.8vw,7.5rem);--border-width:1.5px;--border-width-hairline:1px;--radius:0px;--radius-pill:999px;--max-w:1120px;--ease:cubic-bezier(.2,.7,.2,1)}[data-mode=paper],.paper{--color-bg:var(--bone);--color-bg-raised:#F0F0EA;--color-fg:var(--ink);--color-body:var(--body-paper);--color-accent:var(--magenta-on-light);--color-border:var(--line-paper);--color-muted:var(--muted-paper);--color-positive:var(--positive-paper);--color-negative:var(--negative-paper)}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:900;letter-spacing:var(--tracking-tight);line-height:var(--leading-tight);text-transform:uppercase;margin:0 0 var(--space-2)}h1{font-size:var(--text-5xl)}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-2xl)}h4{font-size:var(--text-xl);font-weight:700}h5{font-size:var(--text-lg);font-weight:700;text-transform:none;letter-spacing:var(--tracking-normal)}h6{font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:700;letter-spacing:var(--tracking-wider);color:var(--color-accent);text-transform:uppercase}body{background:var(--color-bg);color:var(--color-fg);font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased}p{font-size:var(--text-base);color:var(--color-body);max-width:62ch;margin:0 0 var(--space-3)}strong{color:var(--color-fg);font-weight:700}small{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--color-muted);letter-spacing:var(--tracking-wide);text-transform:uppercase}a{color:var(--color-accent);text-decoration:none;font-weight:600;border-bottom:var(--border-width) solid currentColor}a:hover{color:var(--color-fg)}blockquote{border-left:3px solid var(--color-accent);padding-left:var(--space-3);margin:var(--space-4) 0;font-size:var(--text-lg);font-weight:600;color:var(--color-fg)}mark{background:var(--color-highlight);color:var(--color-highlight-fg);padding:0 .12em;box-decoration-break:clone;-webkit-box-decoration-break:clone}.wordmark{font-family:var(--font-display);font-weight:900;letter-spacing:var(--tracking-tight);text-transform:uppercase;color:var(--color-fg)}.wordmark b{color:var(--color-brand);font-weight:inherit}button{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:var(--tracking-wide);padding:var(--space-2) var(--space-3);border:var(--border-width) solid var(--color-fg);background:transparent;color:var(--color-fg);cursor:pointer;transition:background .15s var(--ease),color .15s var(--ease);margin:0 var(--space-2) var(--space-2) 0}button:hover{background:var(--color-fg);color:var(--color-bg)}button[data-variant=primary]{background:var(--color-button);border-color:var(--color-button);color:var(--color-button-fg)}button[data-variant=primary]:hover{background:transparent;color:var(--color-accent)}button[data-variant=ghost]{border-color:var(--color-border);color:var(--color-muted)}ul[data-list=tags]{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-1)}ul[data-list=tags] li{font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:700;text-transform:uppercase;letter-spacing:var(--tracking-wide);border:var(--border-width) solid var(--color-accent);color:var(--color-accent);padding:.3em .7em;border-radius:var(--radius-pill)}label{display:block;font-family:var(--font-mono);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--color-muted);margin-bottom:var(--space-1)}input,select,textarea{width:100%;background:transparent;color:var(--color-fg);border:none;border-bottom:var(--border-width) solid var(--color-border);font-family:var(--font-body);font-size:var(--text-base);padding:var(--space-2) 0;margin-bottom:var(--space-3)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-accent)}table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}th{text-align:left;font-family:var(--font-mono);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--color-muted);padding:var(--space-2);border-bottom:2px solid var(--color-fg)}td{padding:var(--space-2);border-bottom:var(--border-width-hairline) solid var(--color-border);color:var(--color-body)}td[data-metric]{font-family:var(--font-mono);color:var(--color-accent);font-weight:700}code{font-family:var(--font-mono);font-size:.92em;color:var(--color-accent);background:var(--color-bg-raised);padding:.1em .4em}pre{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-fg);background:var(--color-bg-raised);border:var(--border-width) solid var(--color-border);padding:var(--space-3);overflow-x:auto;line-height:1.65}pre code{background:none;padding:0;color:inherit}main{max-width:var(--max-w);margin:0 auto;padding:0 var(--space-5)}section{padding:var(--space-6) 0;border-bottom:var(--border-width-hairline) solid var(--color-border)}section:last-of-type{border-bottom:none}article{border:var(--border-width) solid var(--color-border);padding:var(--space-4)}}:root{--font-display: var(--font-body);--bg: var(--color-bg);--surface-1: var(--color-bg-raised);--surface-2: #161614;--surface-3: #1D1D17;--border: var(--color-border);--border-strong: #3A3A32;--text-1: var(--color-fg);--text-2: var(--color-body);--text-3: var(--color-muted);--brand: var(--color-brand);--accent: var(--color-accent);--button-bg: var(--color-button);--button-bg-hover: #B3166E;--button-fg: var(--color-button-fg);--success: var(--color-positive);--success-bg: rgba(124, 255, 107, .12);--warning: #F2C14E;--warning-bg: rgba(242, 193, 78, .12);--danger: var(--color-negative);--danger-bg: rgba(255, 77, 77, .12);--info: #6FA8FF;--info-bg: rgba(111, 168, 255, .12);--r-sm: var(--radius);--r-md: var(--radius);--r-lg: var(--radius);--sidebar-w: 240px;--sidebar-w-collapsed: 64px;--content-max: 1280px;--field-max: 640px;--tap: 44px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .4);--shadow-md: 0 6px 20px rgba(0, 0, 0, .5);--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--sp-7: 48px;--fs-label: 11px;--fs-secondary: 12px;--fs-ui: 13px;--fs-input: 14px;--fs-title: 22px;--fs-section: 14px;--fs-headline: 20px;--fs-figure: 24px}:root[data-theme=light]{--bg: var(--bone);--surface-1: #FFFFFF;--surface-2: #F0F0EA;--surface-3: #E8E8E1;--border: var(--line-paper);--border-strong: #CFCFC4;--text-1: var(--ink);--text-2: var(--body-paper);--text-3: var(--muted-paper);--accent: var(--magenta-on-light);--success: var(--positive-paper);--success-bg: rgba(30, 122, 52, .1);--warning: #8A5A00;--warning-bg: rgba(180, 121, 12, .1);--danger: var(--negative-paper);--danger-bg: rgba(196, 32, 32, .1);--info: #2563C7;--info-bg: rgba(37, 99, 199, .1);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08);--shadow-md: 0 6px 20px rgba(0, 0, 0, .1)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text-1);font-family:var(--font-display);font-size:var(--fs-input);line-height:1.55;-webkit-font-smoothing:antialiased;transition:background .15s ease,color .15s ease}strong,b{font-size:var(--fs-input)}.muted,.text-3{color:var(--text-3)}.small{font-size:var(--fs-secondary)}.mono{font-family:var(--font-mono);color:var(--text-1)}.error{background:var(--danger-bg);border:1px solid var(--danger);color:var(--danger);border-radius:var(--r-sm);padding:var(--sp-2) var(--sp-3);margin:var(--sp-2) 0;font-size:var(--fs-ui)}button{cursor:pointer;font:inherit;text-transform:none;letter-spacing:normal;margin:0}button.primary,button.ghost,button.danger-solid,a.ghost.as-button{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:var(--tracking-wide)}button.primary{background:var(--button-bg);color:var(--button-fg);border:1px solid var(--button-bg);border-radius:var(--r-sm);padding:var(--sp-2) var(--sp-4);font-weight:700;font-size:var(--fs-ui);transition:background .15s ease,border-color .15s ease}button.primary:hover{background:var(--button-bg-hover);border-color:var(--button-bg-hover);color:var(--button-fg)}button.primary:focus-visible{background:var(--button-bg);color:var(--button-fg)}button.primary:disabled{background:var(--button-bg);color:var(--button-fg);box-shadow:inset 0 0 0 999px #0a0a0a73;cursor:not-allowed}button.ghost{background:transparent;border:1px solid var(--border);border-radius:var(--r-sm);color:var(--text-2);padding:var(--sp-2) var(--sp-4);font-weight:600;font-size:var(--fs-ui)}button.ghost:hover,a.ghost:hover{color:var(--text-1);border-color:var(--border-strong);background:var(--surface-2)}button.ghost.danger{color:var(--danger)}button.ghost.danger:hover{border-color:var(--danger);background:var(--danger-bg)}button.ghost.is-on{color:var(--text-1);border-color:var(--border-strong);background:var(--surface-2)}button.ghost:disabled{opacity:.4;cursor:not-allowed}a.ghost.as-button{display:inline-flex;align-items:center;background:transparent;border:1px solid var(--border);border-radius:var(--r-sm);color:var(--text-2);padding:var(--sp-2) var(--sp-4);font-weight:600;font-size:var(--fs-ui);text-decoration:none;white-space:nowrap}button.danger-solid{background:var(--danger);color:#fff;border:1px solid var(--danger);border-radius:var(--r-sm);padding:var(--sp-2) var(--sp-4);font-weight:700;font-size:var(--fs-ui)}button.danger-solid:disabled{opacity:.4;cursor:not-allowed}button.primary,button.ghost,button.danger-solid,a.ghost.as-button,.icon-btn{min-height:36px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button:focus:not(:focus-visible),a:focus:not(:focus-visible){outline:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}button.link{background:none;border:0;color:var(--text-2);padding:var(--sp-1) var(--sp-2);min-height:32px;border-radius:var(--r-sm);font-family:var(--font-display);font-size:var(--fs-ui);font-weight:600}button.link:hover{color:var(--text-1)}button.link.danger{color:var(--danger)}button.link.danger:hover{opacity:.8}button.link.back{padding-left:0;color:var(--text-3);font-weight:600}button.link.back:hover{color:var(--text-1)}input,select{font:inherit;padding:var(--sp-2) var(--sp-3);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-2);color:var(--text-1);width:100%;font-family:var(--font-display);font-size:var(--fs-input)}input,select,textarea{min-height:38px}input::placeholder{color:var(--text-3);opacity:1}input:focus,select:focus{outline:2px solid var(--accent);outline-offset:1px}input[aria-invalid=true],select[aria-invalid=true]{border-color:var(--danger)}input[type=search]{-webkit-appearance:none;-moz-appearance:none;appearance:none}input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}input:disabled,select:disabled{opacity:.55;cursor:not-allowed;background:var(--surface-3)}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:34px;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238A8A82' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");background-repeat:no-repeat;background-position:right 12px center}input[type=datetime-local],input[type=date]{font-family:var(--font-mono);font-size:var(--fs-ui);color-scheme:dark}:root[data-theme=light] input[type=datetime-local],:root[data-theme=light] input[type=date]{color-scheme:light}input[type=datetime-local]::-webkit-calendar-picker-indicator{opacity:.6;cursor:pointer;filter:invert(.6)}:root[data-theme=light] input[type=datetime-local]::-webkit-calendar-picker-indicator{filter:none}.color-input{display:flex;align-items:center;gap:var(--sp-2)}.color-swatch{position:relative;flex:none;width:38px;height:38px;border-radius:var(--r-sm);border:1px solid var(--border-strong);overflow:hidden;cursor:pointer}.color-swatch input[type=color]{position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px;width:calc(100% + 16px);height:calc(100% + 16px);padding:0;border:0;cursor:pointer;opacity:0}.color-input input.mono{max-width:130px;text-transform:uppercase}label{display:grid;gap:var(--sp-1);font-size:var(--fs-label);margin-bottom:var(--sp-3);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--text-3)}.field{display:grid;gap:var(--sp-1);margin-bottom:0;font-family:var(--font-display);text-transform:none;letter-spacing:0;font-size:var(--fs-input);color:var(--text-1);max-width:var(--field-max)}.field-label{display:inline-flex;align-items:center;gap:var(--sp-1);font-family:var(--font-mono);font-size:var(--fs-label);text-transform:uppercase;letter-spacing:.05em;color:var(--text-3)}.field-label .req{color:var(--danger);font-weight:700}.field-hint{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;border:1px solid var(--border-strong);font-size:10px;color:var(--text-3);cursor:help;margin-left:var(--sp-1);text-transform:none}.helper{font-family:var(--font-display);font-size:var(--fs-secondary);color:var(--text-3);text-transform:none;letter-spacing:0;line-height:1.45;margin:0}.field-error{font-family:var(--font-display);font-size:var(--fs-secondary);color:var(--danger);text-transform:none;letter-spacing:0}.field.has-error input,.field.has-error select{border-color:var(--danger)}.readonly-value{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);min-height:38px;padding:0 var(--sp-1) 0 var(--sp-3);background:var(--surface-3);border:1px dashed var(--border-strong);border-radius:var(--r-sm);color:var(--text-2)}.input-with-action{display:flex;gap:var(--sp-2);align-items:stretch}.input-with-action input{flex:1;min-width:0}.inline-notes{display:flex;flex-wrap:wrap;gap:var(--sp-3);align-items:center}.note{font-size:var(--fs-secondary);padding:var(--sp-1) var(--sp-2);border-radius:var(--r-sm);border:1px solid transparent}.note.warning{background:var(--warning-bg);color:var(--warning);border-color:var(--warning)}.note.danger{background:var(--danger-bg);color:var(--danger);border-color:var(--danger);margin-top:var(--sp-3)}.form-section{display:grid;gap:var(--sp-4);padding:var(--sp-5);background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-lg)}.form-section-head{display:grid;gap:var(--sp-1)}.form-section-title{margin:0;font-size:var(--fs-section);font-weight:700;letter-spacing:-.005em}.form-section-body{display:grid;gap:var(--sp-4)}.form-section-body .two{max-width:var(--field-max)}.card{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-5);box-shadow:var(--shadow-sm)}.center{min-height:100vh;display:grid;place-items:center;padding:var(--sp-5);background:var(--bg)}.brand-mark{display:flex;align-items:baseline;gap:var(--sp-2);margin-bottom:var(--sp-2)}.wordmark{font-family:var(--font-body);font-weight:900;letter-spacing:-.03em;text-transform:uppercase;color:var(--text-1);line-height:1}.wordmark b{color:var(--brand);font-weight:inherit;font-size:inherit}.brand-mark .wordmark{font-size:22px}.brand-tag{font-family:var(--font-mono);font-size:var(--fs-label);font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--text-3)}.login{width:340px;display:grid;gap:var(--sp-1)}.login h1{margin:0 0 var(--sp-1);font-size:var(--fs-title);font-weight:700;letter-spacing:-.01em;font-family:var(--font-display)}.bo-shell{display:grid;grid-template-columns:var(--sidebar-w) 1fr;min-height:100vh;transition:grid-template-columns .18s ease}.bo-shell.collapsed{grid-template-columns:var(--sidebar-w-collapsed) 1fr}.bo-sidebar{background:var(--surface-1);border-right:1px solid var(--border);padding:var(--sp-4) var(--sp-3);display:flex;flex-direction:column;gap:var(--sp-1);overflow:hidden;transition:padding .18s ease}.bo-sidebar.collapsed{padding:var(--sp-4) var(--sp-2);align-items:center}.bo-sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);margin-bottom:var(--sp-3)}.bo-sidebar.collapsed .bo-sidebar-head{flex-direction:column;gap:var(--sp-2)}.bo-sidebar .brand{display:flex;align-items:baseline;gap:var(--sp-2);font-size:18px;padding:var(--sp-2) var(--sp-2);color:var(--text-1);white-space:nowrap;overflow:hidden}.bo-sidebar.collapsed .brand{padding:var(--sp-1) 0;font-size:var(--fs-input)}.sidebar-toggle{background:none;border:1px solid var(--border);border-radius:var(--r-sm);color:var(--text-3);width:32px;height:32px;flex:none;display:flex;align-items:center;justify-content:center;font-size:var(--fs-secondary);font-family:var(--font-mono)}.sidebar-toggle:hover{color:var(--text-1);border-color:var(--border-strong)}.bo-sidebar-nav{display:flex;flex-direction:column;gap:var(--sp-1);flex:1;width:100%}.bo-sidebar a,.bo-sidebar button.navlink{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-2);min-height:40px;border-radius:var(--r-sm);font-size:var(--fs-ui);font-weight:600;color:var(--text-2);text-decoration:none;background:none;border:0;width:100%;text-align:left;font-family:var(--font-display)}.bo-sidebar.collapsed button.navlink{justify-content:center;padding:var(--sp-2)}.bo-sidebar a .dot,.bo-sidebar button.navlink .dot{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.5;flex:none}.bo-sidebar a.active,.bo-sidebar button.navlink.active{background:var(--surface-2);color:var(--text-1)}.bo-sidebar a.active .dot,.bo-sidebar button.navlink.active .dot{background:var(--brand);opacity:1}.bo-sidebar.collapsed .label{display:none}.bo-main{display:flex;flex-direction:column;min-width:0}.bo-sidebar-footer{border-top:1px solid var(--border);margin-top:var(--sp-2);padding-top:var(--sp-3);width:100%;display:flex;flex-direction:column;gap:var(--sp-2)}.bo-sidebar.collapsed .bo-sidebar-footer{align-items:center}.theme-toggle{display:flex;align-items:center;gap:var(--sp-1);background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:var(--sp-1);cursor:pointer;font-family:var(--font-mono);font-size:var(--fs-label);font-weight:700;width:100%}.bo-sidebar.collapsed .theme-toggle{width:auto}.theme-toggle span{flex:1;text-align:center;padding:var(--sp-2) var(--sp-3);border-radius:999px;color:var(--text-3)}.theme-toggle span.active{background:var(--button-bg);color:var(--button-fg)}.user-menu-wrap{position:relative;width:100%}.bo-sidebar.collapsed .user-menu-wrap{width:auto}.user-chip{display:flex;align-items:center;gap:var(--sp-2);width:100%;background:none;border:1px solid transparent;border-radius:var(--r-sm);padding:var(--sp-2);color:var(--text-1);text-align:left}.user-chip:hover{background:var(--surface-2);border-color:var(--border)}.bo-sidebar.collapsed .user-chip{width:32px;height:32px;padding:0;justify-content:center}.user-avatar{flex:none;width:26px;height:26px;border-radius:50%;background:var(--button-bg);color:var(--button-fg);display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-weight:800;font-size:var(--fs-secondary)}.user-chip-text{display:flex;flex-direction:column;min-width:0;flex:1;gap:1px}.user-chip-email{font-size:var(--fs-secondary);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-chip-role{font-size:var(--fs-label);color:var(--text-3)}.chevron{flex:none;color:var(--text-3);display:flex}.user-menu{position:absolute;bottom:calc(100% + var(--sp-2));left:0;min-width:220px;background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-md);padding:var(--sp-2);z-index:30}.user-menu-email{padding:var(--sp-2) var(--sp-3) var(--sp-2);font-size:var(--fs-secondary);color:var(--text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-bottom:1px solid var(--border);margin-bottom:var(--sp-1)}.user-menu-item{display:flex;align-items:center;gap:var(--sp-2);width:100%;background:none;border:0;border-radius:var(--r-sm);padding:var(--sp-2) var(--sp-3);color:var(--text-2);font-family:var(--font-display);font-size:var(--fs-ui);font-weight:600;text-align:left}.user-menu-item:hover{background:var(--surface-2);color:var(--text-1)}.user-menu-item.danger:hover{color:var(--danger)}.user-menu-divider{height:1px;background:var(--border);margin:var(--sp-1) 0}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:35}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:grid;place-items:center;z-index:50;padding:var(--sp-5)}.modal-panel{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-md);width:360px;max-width:100%;padding:var(--sp-5)}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--sp-4)}.modal-head h3{margin:0;font-size:var(--fs-input);font-weight:700}.modal-close{background:none;border:0;color:var(--text-3);font-size:var(--fs-figure);line-height:1;padding:var(--sp-1)}.modal-close:hover{color:var(--text-1)}.modal-label{font-family:var(--font-mono);font-size:var(--fs-label);text-transform:uppercase;letter-spacing:.05em;color:var(--text-3);margin-bottom:var(--sp-2)}.bo-content{padding:var(--sp-6) var(--sp-5);display:flex;flex-direction:column;gap:var(--sp-5)}.bo-content>div,.bo-content>form{display:flex;flex-direction:column;gap:var(--sp-5)}.page{width:100%;max-width:var(--content-max)}.page-head{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:var(--sp-3)}.page-head-main{display:grid;gap:var(--sp-1);min-width:0}.page-head-actions{display:flex;gap:var(--sp-2);align-items:center}.page-head h2,.page-title{margin:0;font-size:var(--fs-title);font-weight:800;letter-spacing:-.02em;line-height:1.2}.page-summary{margin:0;font-size:var(--fs-ui);color:var(--text-3)}.page-head-nav{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap}.breadcrumbs{display:flex;align-items:center;gap:var(--sp-1);list-style:none;margin:0;padding:0;font-size:var(--fs-secondary);color:var(--text-3)}.breadcrumbs li{display:inline-flex;align-items:center;gap:var(--sp-1)}.crumb{background:none;border:0;padding:0;color:var(--text-3);font:inherit;cursor:pointer}.crumb:hover{color:var(--text-1);text-decoration:underline}.crumb.current{color:var(--text-2)}.crumb-sep{color:var(--border-strong)}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);flex-wrap:wrap}.toolbar-left{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap;min-width:0}.stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-3)}.stat-card{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--sp-4)}.stat-card dt{font-family:var(--font-mono);font-size:var(--fs-label);text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);margin:0 0 var(--sp-2)}.stat-card dd{font-family:var(--font-mono);font-weight:700;font-size:var(--fs-figure);margin:0;color:var(--accent)}.stat-card dd small{color:var(--text-3)}.metric{font-family:var(--font-mono);font-weight:700;color:var(--accent)}.stat-card dd small{font-size:var(--fs-label);font-weight:700;margin-left:var(--sp-2)}.stat-card dd small.up{color:var(--success)}.stat-card dd small.down{color:var(--danger)}.stat-card.up dd small{color:var(--success)}.stat-card.down dd small{color:var(--danger)}.filter-bar{display:flex;gap:var(--sp-2);flex-wrap:wrap;align-items:center}.filter-bar input,.filter-bar select{width:auto;min-width:160px}.filter-bar input[type=search]{min-width:220px}.data-card{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden}.data-card table{border-collapse:collapse;width:100%;font-size:var(--fs-ui)}.data-card th{text-align:left;font-family:var(--font-mono);font-size:var(--fs-label);text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border);background:var(--surface-2)}.data-card td{padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border);color:var(--text-2)}.data-card tr:last-child td{border-bottom:none}.data-card tr:hover td{background:var(--surface-2)}.data-card td select{max-width:220px}.cell-title{display:flex;align-items:center;gap:var(--sp-2)}.row-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--sp-2)}.row-actions .card-actions{margin:0}.badge{display:inline-flex;align-items:center;gap:var(--sp-1);padding:var(--sp-1) var(--sp-2);border-radius:999px;font-family:var(--font-mono);font-size:var(--fs-label);font-weight:700;text-transform:uppercase;letter-spacing:.03em}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.badge.icon:before{display:none}.badge.success{background:var(--success-bg);color:var(--success)}.badge.warning{background:var(--warning-bg);color:var(--warning)}.badge.danger{background:var(--danger-bg);color:var(--danger)}.badge.info{background:var(--info-bg);color:var(--info)}.badge.neutral{background:var(--surface-3);color:var(--text-3)}.toggle-group{display:flex;align-items:center;gap:2px;background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:var(--sp-1)}.toggle-group button{background:none;border:0;min-height:34px;padding:var(--sp-2) var(--sp-3);border-radius:999px;color:var(--text-3);font-family:var(--font-mono);font-size:var(--fs-label);font-weight:700;text-transform:uppercase;letter-spacing:.03em}.toggle-group button.active{background:var(--surface-3);color:var(--text-1);box-shadow:inset 0 0 0 1px var(--border-strong)}:root[data-theme=light] .toggle-group button.active{background:var(--text-1);color:var(--surface-1);box-shadow:none}.calendar-card{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);background:var(--surface-2)}.calendar-weekdays div{padding:var(--sp-2) var(--sp-1);text-align:center;font-family:var(--font-mono);font-size:var(--fs-label);text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);border-bottom:1px solid var(--border)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-cell{min-height:76px;padding:var(--sp-2);border-right:1px solid var(--border);border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:var(--sp-1)}.calendar-cell:nth-child(7n){border-right:none}.calendar-cell.empty{background:var(--surface-2)}.calendar-cell.today{background:var(--surface-1);box-shadow:inset 0 0 0 1px var(--accent)}.calendar-cell.today .calendar-daynum{color:var(--accent)}.calendar-daynum{font-family:var(--font-mono);font-size:var(--fs-secondary);font-weight:700;color:var(--text-2)}.calendar-camp{display:inline-flex;align-items:center;gap:var(--sp-1);font-size:var(--fs-secondary);color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.camp-dot{width:8px;height:8px;border-radius:50%;flex:none;display:inline-block}.tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--sp-3)}.tile{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-2)}.tile input{font-weight:700}.tile-meta{display:flex;flex-direction:column;gap:var(--sp-2);font-size:var(--fs-ui);color:var(--text-2)}.tile-meta>div{display:flex;align-items:center;gap:var(--sp-2)}.tile-meta .k{color:var(--text-3);font-family:var(--font-mono);font-size:var(--fs-label);text-transform:uppercase;letter-spacing:.06em;min-width:60px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--sp-3)}.grid{grid-template-columns:repeat(auto-fill,minmax(360px,1fr))}.campaign{padding:0;overflow:visible;border-radius:var(--r-lg);display:grid;grid-template-columns:112px 1fr;border-left:4px solid var(--camp-color, var(--border))}.campaign-thumb{position:relative;height:100%;min-height:200px;overflow:hidden;border-radius:calc(var(--r-lg) - 3px) 0 0 calc(var(--r-lg) - 3px);display:flex;align-items:center;justify-content:center}.campaign-thumb img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;display:block}.campaign-thumb-empty{font-family:var(--font-mono);font-size:var(--fs-label);text-transform:uppercase;letter-spacing:.05em;color:var(--bone);background:#0a0a0ac7;padding:2px var(--sp-2)}.campaign-body{padding:var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-2);min-width:0}.campaign-head{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--sp-2)}.campaign-title{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap;min-width:0}.campaign-title strong{font-size:var(--fs-input)}.campaign-headline{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.camp-meta{display:grid;gap:var(--sp-1);font-size:var(--fs-ui);color:var(--text-2);margin-top:var(--sp-1)}.camp-meta-row{display:grid;grid-template-columns:52px 1fr;gap:var(--sp-2);align-items:baseline}.camp-meta-k{font-family:var(--font-mono);font-size:var(--fs-label);text-transform:uppercase;letter-spacing:.06em;color:var(--text-3)}.camp-remaining{color:var(--text-2)}.camp-remaining.running.urgent{color:var(--warning);font-weight:700}.camp-remaining.ended{color:var(--text-3)}.camp-remaining.upcoming{color:var(--info)}.camp-warnings{display:flex;flex-wrap:wrap;gap:var(--sp-1)}.card-actions{display:flex;gap:var(--sp-2);margin-top:auto;padding-top:var(--sp-2);flex-wrap:wrap}.card-actions .ghost{min-height:36px;padding:var(--sp-2) var(--sp-3)}.row-between{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-2)}.actions{display:flex;gap:var(--sp-3);margin-top:var(--sp-3);flex-wrap:wrap;align-items:center}.icon-btn{flex:none;width:36px;height:36px;margin:-6px -6px 0 0;display:inline-flex;align-items:center;justify-content:center;background:none;border:1px solid transparent;border-radius:var(--r-sm);color:var(--text-3)}.icon-btn:hover,.icon-btn[aria-expanded=true]{color:var(--text-1);background:var(--surface-2);border-color:var(--border)}.overflow{position:relative}.overflow-menu{position:absolute;top:calc(100% + 4px);right:0;z-index:20;min-width:170px;background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-md);padding:var(--sp-1)}.overflow-item{display:block;width:100%;text-align:left;background:none;border:0;border-radius:var(--r-sm);padding:var(--sp-2) var(--sp-3);min-height:36px;color:var(--text-2);font-size:var(--fs-ui);font-weight:600}.overflow-item:hover{background:var(--surface-2);color:var(--text-1)}.overflow-item.danger{color:var(--danger)}.overflow-item.danger:hover{background:var(--danger-bg)}.overflow-item:disabled{opacity:.4;cursor:not-allowed}.editor-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:var(--sp-5);align-items:start}.editor-form{display:grid;gap:var(--sp-4);min-width:0}.two{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3);align-items:start}.preview-col{position:sticky;top:var(--sp-5);align-self:start;display:grid;gap:var(--sp-2);justify-items:start}.editor{padding-bottom:88px}.save-bar{position:sticky;bottom:0;z-index:25;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);flex-wrap:wrap;margin:0 calc(-1 * var(--sp-5)) calc(-1 * var(--sp-6));padding:var(--sp-3) var(--sp-5);background:color-mix(in srgb,var(--surface-1) 92%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--border)}.save-bar-status{font-size:var(--fs-ui);min-width:0}.save-bar-dirty{color:var(--warning);font-weight:600}.save-bar-error{color:var(--danger);font-weight:600}.save-bar-actions{display:flex;gap:var(--sp-2);margin-left:auto}.contrast{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-sm);border:1px solid;font-size:var(--fs-ui);max-width:var(--field-max)}.contrast.ok{background:var(--success-bg);color:var(--success);border-color:var(--success)}.contrast.bad{background:var(--danger-bg);color:var(--danger);border-color:var(--danger)}.contrast .mono{color:inherit;font-weight:700}.contrast-sample{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--r-sm);font-weight:800;border:1px solid rgba(0,0,0,.15)}.presets{display:grid;gap:var(--sp-1)}.preset-row{display:flex;gap:var(--sp-2);flex-wrap:wrap}.preset{width:40px;height:40px;border-radius:var(--r-sm);border:1px solid var(--border-strong);font-weight:800;font-size:var(--fs-ui);cursor:pointer}.preset.active{outline:2px solid var(--accent);outline-offset:2px}.dropzone{display:grid;grid-template-columns:96px 1fr;gap:var(--sp-4);align-items:center;border:1px dashed var(--border-strong);border-radius:var(--r-md);padding:var(--sp-4);background:var(--surface-2);max-width:var(--field-max);transition:border-color .15s ease,background .15s ease}.dropzone:not(.has-image){grid-template-columns:1fr}.dropzone.over{border-color:var(--accent);background:var(--surface-3)}.dropzone-thumb{aspect-ratio:9 / 16;width:96px;border-radius:var(--r-sm);overflow:hidden;border:1px solid var(--border)}.dropzone-thumb img{width:100%;height:100%;object-fit:cover;display:block}.dropzone-side{display:grid;gap:var(--sp-2);min-width:0}.dropzone-empty{display:grid;gap:var(--sp-1);justify-items:center;text-align:center;background:none;border:0;padding:var(--sp-4);width:100%;color:var(--text-2);cursor:pointer;min-height:var(--tap)}.dropzone-empty .helper{max-width:420px}.dropzone-icon{font-size:var(--fs-headline);color:var(--text-3)}.phone-frame{width:280px;padding:14px;border-radius:44px;background:var(--surface-3);border:1px solid var(--border);box-shadow:var(--shadow-md)}.phone-screen{position:relative;width:100%;aspect-ratio:9 / 16;border-radius:30px;overflow:hidden}.phone-screen-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;display:block}.phone-screen-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:var(--surface-2)}.phone-screen-panel{position:absolute;left:0;right:0;bottom:0;padding:var(--sp-4);border-top-left-radius:var(--r-lg);border-top-right-radius:var(--r-lg)}.preview-headline{font-weight:800;font-size:var(--fs-headline);letter-spacing:-.01em}.preview-sub{font-size:var(--fs-ui);opacity:.85;margin:var(--sp-1) 0 var(--sp-4)}.preview-cta{display:inline-block;padding:var(--sp-2) var(--sp-4);border-radius:999px;font-size:var(--fs-secondary);font-weight:700;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em}.modal-panel.wide{width:660px}.img-editor{display:grid;grid-template-columns:auto 1fr;gap:var(--sp-5);align-items:start}.img-editor-stage{position:relative;flex:none;border-radius:var(--r-md);overflow:hidden;border:1px solid var(--border-strong);background:var(--surface-2);box-shadow:var(--shadow-sm)}.img-editor-canvas{display:block;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.img-editor-canvas:active{cursor:grabbing}.img-editor-grid{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:linear-gradient(to right,rgba(255,255,255,.28) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.28) 1px,transparent 1px);background-size:33.333% 33.333%;background-position:-1px -1px}.img-editor-controls{min-width:0}.img-editor-controls p{margin:0 0 var(--sp-4)}.img-editor-controls .actions{margin-top:var(--sp-4)}.img-editor-rotate{display:flex;align-items:center;gap:var(--sp-2)}.img-editor-rotate button{padding:var(--sp-2) var(--sp-3)}.img-editor-quality{border-radius:var(--r-sm);padding:var(--sp-2) var(--sp-3);font-size:var(--fs-secondary);border:1px solid transparent}.img-editor-quality.ok{background:var(--success-bg);color:var(--success);border-color:var(--success)}.img-editor-quality.warn{background:var(--warning-bg);color:var(--warning);border-color:var(--warning)}.img-editor-quality.bad{background:var(--danger-bg);color:var(--danger);border-color:var(--danger)}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:0;background:transparent;height:20px;cursor:pointer}input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:999px;background:var(--surface-3)}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;margin-top:-5px;border-radius:50%;background:var(--brand);border:0}input[type=range]::-moz-range-track{height:4px;border-radius:999px;background:var(--surface-3)}input[type=range]::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--brand);border:0}@media (max-width: 720px){.img-editor{grid-template-columns:1fr;justify-items:center}.img-editor-controls{width:100%}}.switch{display:flex;align-items:center;gap:var(--sp-2)}.switch button{width:38px;height:22px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border);position:relative}.switch button:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--text-3)}.switch button.on{background:var(--button-bg);border-color:var(--button-bg)}.switch button.on:after{left:18px;background:var(--button-fg)}.toast{display:flex;align-items:center;gap:var(--sp-3);background:var(--surface-1);border:1px solid var(--border);border-left:3px solid var(--success);border-radius:var(--r-sm);padding:var(--sp-2) var(--sp-3);font-size:var(--fs-ui);box-shadow:var(--shadow-md);width:fit-content}.modal-demo{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-5);width:280px;box-shadow:var(--shadow-md)}.overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-3)}.panel{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--sp-4);display:grid;gap:var(--sp-3);align-content:start}.panel-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-2)}.panel-title{margin:0;font-size:var(--fs-section);font-weight:700}.panel-list{list-style:none;margin:0;padding:0;display:grid;gap:2px}.panel-link{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--sp-2);width:100%;min-height:40px;padding:var(--sp-1) var(--sp-2);margin:0 calc(-1 * var(--sp-2));background:none;border:0;border-radius:var(--r-sm);color:var(--text-1);text-align:left;font-size:var(--fs-ui)}.panel-link:hover{background:none;box-shadow:inset 0 0 0 1px var(--border-strong)}.panel-link-main{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.panel-badges{display:flex;gap:var(--sp-1);flex-wrap:wrap;justify-content:flex-end}.chart-card{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--sp-4);display:grid;gap:var(--sp-3)}.chart-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-2);flex-wrap:wrap}.bars{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:2px;height:96px;align-items:end;border-bottom:1px solid var(--border)}.bar-col{height:100%;display:flex;align-items:flex-end}.bar{width:100%;min-height:2px;background:var(--text-2);border-radius:4px 4px 0 0;opacity:.75}.bar-col:hover .bar{opacity:1}.bars-axis{display:flex;justify-content:space-between;font-family:var(--font-mono)}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--sp-2);padding:var(--sp-7) var(--sp-5);background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-md);color:var(--text-3)}.empty-state-icon{font-size:var(--fs-figure);opacity:.5}.empty-state-title{font-size:var(--fs-input);font-weight:700;color:var(--text-2)}.empty-state-desc{font-size:var(--fs-secondary);max-width:320px}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,var(--surface-2) 25%,var(--surface-3) 50%,var(--surface-2) 75%);background-size:200% 100%;animation:shimmer 1.6s ease-in-out infinite;border-radius:var(--r-sm)}.skeleton-tile{height:148px;border-radius:var(--r-lg)}.skeleton-row td{padding:var(--sp-3) var(--sp-4)}.skeleton-line{height:12px;border-radius:4px;width:70%}@media (max-width: 900px){.bo-shell,.bo-shell.collapsed{grid-template-columns:var(--sidebar-w-collapsed) 1fr}.stat-row{grid-template-columns:repeat(2,1fr)}.overview-grid{grid-template-columns:1fr}.bo-sidebar:not(.collapsed){position:fixed;top:0;left:0;bottom:0;width:var(--sidebar-w);z-index:40;box-shadow:var(--shadow-md)}}@media (max-width: 760px){.editor-grid{grid-template-columns:1fr}.preview-col{position:static}.bo-content{padding:var(--sp-4)}.stat-row,.grid{grid-template-columns:1fr}.campaign{grid-template-columns:1fr;border-left:1px solid var(--border);border-top:4px solid var(--camp-color, var(--border))}.campaign-thumb{height:150px;min-height:0;border-radius:calc(var(--r-lg) - 3px) calc(var(--r-lg) - 3px) 0 0}.save-bar{margin:0 calc(-1 * var(--sp-4)) calc(-1 * var(--sp-4));padding:var(--sp-3) var(--sp-4)}.two{grid-template-columns:1fr}.dropzone.has-image{grid-template-columns:1fr;justify-items:start}.input-with-action{flex-wrap:wrap}}
