*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}html,body,#root{height:100%}body{margin:0;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;scrollbar-gutter:stable both-edges}img,svg,video,canvas,audio,iframe,embed,object{display:block;max-width:100%}button,input,select,textarea{font:inherit;color:inherit}button:not([class*=bg-]):not([class*=border-]):not([class*=px-]):not([class*=py-]){background:none;border:none;padding:0}ul[role=list],ol[role=list]{list-style:none;padding:0;margin:0}h1,h2,h3,h4,h5,h6,p,figure{margin:0}a{color:inherit;text-decoration:none}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}:focus{outline:none}:focus-visible{outline:2px solid var(--color-focus, #2563eb);outline-offset:2px}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}:root{--sidebar-w: 18vw;--header-h: 3.5rem;--gap-2xs: .25rem;--gap-xs: .5rem;--gap-sm: .75rem;--gap: 1rem;--gap-lg: 1.5rem;--gap-xl: 2rem;--radius: .625rem;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .06), 0 1px 1px rgba(0, 0, 0, .04);--shadow-md: 0 6px 12px rgba(0, 0, 0, .08), 0 2px 4px rgba(0, 0, 0, .06);--shadow-lg: 0 18px 40px rgba(0, 0, 0, .15);--z-header: 50;--z-sidebar: 40;--z-backdrop: 30;--z-dropdown: 60;--z-toast: 70;--font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji";--fs-small: .875rem;--fs-body: 1rem;--fs-h3: 1.25rem;--fs-h2: 1.5rem;--fs-h1: 2rem;--color-bg: #0b0c0f;--color-surface: #111318;--color-surface-2: #151922;--color-border: #242936;--color-text: #e5e7eb;--color-text-secondary: #b6b8bd;--color-text-inverse: #0b0c0f;--color-primary: #3b82f6;--color-primary-dark: #2563eb;--color-success: #10b981;--color-warning: #f59e0b;--color-error: #ef4444;--color-focus: #60a5fa;--color-info: var(--color-primary);--color-muted: #6b7280;--table-header-bg: rgba(0, 0, 0, .05);--table-row-alt: rgba(0, 0, 0, .03);--btn-bg: var(--color-primary);--btn-text: var(--color-text-inverse);--btn-bg-hover: var(--color-primary-dark);--btn-text-hover: var(--color-text-inverse);--btn-bg-disabled: #2d3343;--btn-text-disabled: #8b90a1;--transition-fast: .12s ease;--transition: .2s ease}body{font-family:var(--font-family);font-size:var(--fs-body);color:var(--color-text);background:var(--color-bg)}.prose{max-width:72ch}.full-bleed{width:100%;max-width:none;margin-inline:0;padding-inline:0}a{color:var(--color-primary)}a:hover{color:var(--color-primary-dark)}.button,button,.btn,a.button,a.btn,[role=button]{display:inline-flex;align-items:center;justify-content:center;gap:var(--gap-2xs);height:2.5rem;padding-inline:.875rem;border-radius:var(--radius);border:1px solid var(--color-border);background:var(--btn-bg);color:var(--btn-text);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast);text-decoration:none}.button:hover,button:hover,.btn:hover,a.button:hover,a.btn:hover,[role=button]:hover{background:var(--btn-bg-hover);color:var(--btn-text-hover)}.button:disabled,button:disabled{background:var(--btn-bg-disabled);color:var(--btn-text-disabled);cursor:not-allowed}.input,.select,.textarea{width:100%;background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius);padding:.625rem .75rem;font-size:var(--fs-body)}.input::-moz-placeholder,.textarea::-moz-placeholder{color:var(--color-text-secondary)}.input::placeholder,.textarea::placeholder{color:var(--color-text-secondary)}.icon{color:var(--color-muted)}.icon--info{color:var(--color-info)}.icon--warn{color:var(--color-warning)}.icon--error{color:var(--color-error)}.icon--ok{color:var(--color-success)}.badge{display:inline-flex;align-items:center;border-radius:calc(var(--radius) - .25rem);padding:.125rem .5rem;font-size:var(--fs-small);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text)}.badge--ok{background:color-mix(in srgb,var(--color-success) 18%,transparent);color:var(--color-success)}.badge--warn{background:color-mix(in srgb,var(--color-warning) 18%,transparent);color:var(--color-warning)}.badge--error{background:color-mix(in srgb,var(--color-error) 18%,transparent);color:var(--color-error)}@media (max-width: 1100px){:root{--sidebar-w: 25vw}}@media (max-width: 800px){:root{--sidebar-w: 35vw}}@media (max-width: 600px){:root{--sidebar-w: 40vw}}@media (max-width: 450px){:root{--sidebar-w: 50vw}}.app{height:100dvh;overflow:hidden;display:grid;grid-template-columns:var(--sidebar-w) 1fr;grid-template-rows:1fr;background:var(--color-bg)}.header{grid-column:1 / -1;position:sticky;top:0;z-index:var(--z-header);display:flex;align-items:center;gap:var(--gap-xs);padding-inline:var(--gap-sm);height:var(--header-h);background:var(--color-surface);border-bottom:1px solid var(--color-border)}.brand{display:inline-flex;align-items:center;gap:var(--gap-xs)}.brand__logo{display:inline-block;height:calc(var(--header-h) - 24px);width:auto}.grow{margin-left:auto}.iconButton{display:grid;place-items:center;height:calc(var(--header-h) - 20px);aspect-ratio:1 / 1;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);cursor:pointer;transition:transform var(--transition-fast),background var(--transition-fast),border-color var(--transition-fast)}.iconButton:hover{background:var(--color-surface-2);border-color:var(--color-border)}.iconButton:active{transform:scale(.96)}.app>.sidebar,.app>.main{min-height:0;min-width:0}.sidebar{grid-row:1 / 2;grid-column:1 / 2;position:relative;top:auto;height:100%;z-index:var(--z-sidebar);background-color:#fff;background-image:radial-gradient(ellipse 350px 450px at 50% 25vh,rgba(255,255,255,.95) 0%,rgba(255,255,255,.5) 50%,transparent 100%),radial-gradient(ellipse 800px 600px at 50% 200px,rgba(255,255,255,.98) 0%,rgba(255,255,255,.6) 50%,transparent 100%),radial-gradient(ellipse 700px 500px at 30% 500px,rgba(255,255,255,.95) 0%,rgba(255,255,255,.5) 50%,transparent 100%),radial-gradient(ellipse 650px 550px at 70% 700px,rgba(255,255,255,.93) 0%,rgba(255,255,255,.45) 50%,transparent 100%),linear-gradient(to bottom,#fffffff2,#fff9,#ffffff4d,#ffffff1a 45%,#ffffff1a 55%,#ffffff4d,#fff9,#fffffff2),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 800' preserveAspectRatio='none'%3E%3Cpath fill='%23C5F3E0' opacity='0.5' d='M0,180 Q180,120 360,160 T720,180 Q900,200 1080,140 T1440,180 L1440,0 L0,0 Z'/%3E%3Cpath fill='%23A8EDD0' opacity='0.5' d='M0,380 Q200,300 400,360 T800,400 Q1000,440 1200,360 T1440,400 L1440,0 L0,0 Z'/%3E%3Cpath fill='%239EF5CF' opacity='0.6' d='M0,580 Q160,480 320,540 T640,600 Q840,660 1040,560 T1440,600 L1440,0 L0,0 Z'/%3E%3C/svg%3E");background-size:100vw 100vh;background-repeat:no-repeat;background-position:0 0;background-attachment:fixed;border-right:none;overflow:hidden;min-width:0}.sidebar__nav{display:grid;gap:var(--gap-xs);padding:var(--gap)}.nav{display:flex;align-items:center;gap:var(--gap-xs);padding:10px 12px;border-radius:var(--radius);color:var(--color-text);transition:background var(--transition-fast),color var(--transition-fast)}.nav:hover{background:var(--color-surface-2)}.nav--active{background:var(--color-primary);color:var(--color-text-inverse)}.main{grid-row:1 / 2;grid-column:2 / 3;padding:3rem;overflow:auto;max-width:none;margin:0;background-color:#fff}.cardGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--gap)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--gap);box-shadow:var(--shadow-sm)}.tableWrap{overflow:auto;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface)}.tableWrap table{width:100%;border-collapse:collapse;font-size:var(--fs-body)}.tableWrap th,.tableWrap td{padding:.75rem;border-bottom:1px solid var(--color-border);text-align:left}.tableWrap table thead th{background:var(--table-header-bg);font-weight:600}.tableWrap table tbody tr:nth-child(2n){background:var(--table-row-alt)}.backdrop{display:none}@media (max-width: 1100px){.app{grid-template-columns:1fr}.main{grid-column:1 / -1;padding-top:calc(var(--gap-lg) + 60px)}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar-w);max-width:none;transform:translate(-100%);transition:transform var(--transition);box-shadow:24px 0 48px #00000040;height:100dvh;min-width:0;overflow:auto}.sidebar[data-open=true]{transform:translate(0)}.backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;opacity:0;pointer-events:none;transition:opacity var(--transition);z-index:var(--z-backdrop)}.backdrop[data-open=true]{opacity:1;pointer-events:auto}}@media (max-width: 500px){.main{padding:1rem;padding-top:calc(1rem + 60px)}}.page{container-type:inline-size}@container (min-width: 720px){.formGrid{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap)}}@container (min-width: 1100px){.formGrid{grid-template-columns:2fr 1fr}}@media (prefers-reduced-motion: reduce){.sidebar,.backdrop,.iconButton{transition:none}}:root{--ui-scale: .55}@media (min-width: 376px){:root{--ui-scale: .55}}@media (min-width: 500px){:root{--ui-scale: .6}}@media (min-width: 600px){:root{--ui-scale: .65}}@media (min-width: 768px){:root{--ui-scale: .7}}@media (min-width: 1024px){:root{--ui-scale: .75}}@media (min-width: 1280px){:root{--ui-scale: .8}}@media (min-width: 1440px){:root{--ui-scale: .85}}@media (min-width: 1600px){:root{--ui-scale: .95}}@media (min-width: 1920px){:root{--ui-scale: 1}}@media (min-width: 2260px){:root{--ui-scale: 1.1}}@media (min-width: 2560px){:root{--ui-scale: 1.25}}@media (min-width: 3000px){:root{--ui-scale: 1.35}}@media (min-width: 3400px){:root{--ui-scale: 1.5}}@media (min-width: 3840px){:root{--ui-scale: 1.7}}@media (min-width: 4500px){:root{--ui-scale: 1.85}}@media (min-width: 5000px){:root{--ui-scale: 2}}@media (min-width: 6000px){:root{--ui-scale: 2.3}}@media (min-width: 7000px){:root{--ui-scale: 2.75}}@media (min-width: 8000px){:root{--ui-scale: 3.2}}html{font-size:calc(16px * var(--ui-scale))}
