:root{--font-sans: "Inter", "Segoe UI", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", "SF Mono", ui-monospace, Menlo, monospace;--fs-xs: .75rem;--fs-sm: .875rem;--fs-md: 1rem;--fs-lg: 1.125rem;--fs-xl: 1.5rem;--fs-2xl: 2rem;--fs-3xl: 2.75rem;--lh-tight: 1.2;--lh-normal: 1.55;--fw-normal: 400;--fw-medium: 500;--fw-bold: 650;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 3rem;--space-8: 4rem;--radius-s: 6px;--radius-m: 10px;--radius-l: 16px;--radius-pill: 999px;--border-width: 1px;--shadow-1: 0 1px 2px rgb(0 0 0 / 18%);--shadow-2: 0 8px 24px rgb(0 0 0 / 28%);--z-sticky: 100;--z-sidebar: 200;--z-header: 300;--z-overlay: 400;--z-modal: 500;--z-toast: 600;--transition-fast: .12s ease;--transition-base: .2s ease;--sidebar-w: 240px;--header-h: 56px;--content-max: 1120px}@media(prefers-reduced-motion:reduce){:root{--transition-fast: 0ms;--transition-base: 0ms}}:root,[data-theme=dark]{--c-bg: #0a0c0f;--c-bg-elevated: #11141a;--c-surface: #151a22;--c-surface-hover: #1b212b;--c-border: #232a36;--c-border-strong: #323b4b;--c-fg: #e6e9ef;--c-fg-muted: #99a1b3;--c-fg-subtle: #6b7385;--c-primary: #7aa2ff;--c-primary-hover: #96b6ff;--c-primary-fg: #06101f;--c-accent: #6cf0c2;--c-accent-fg: #04150e;--c-tertiary: #bb9af7;--c-error: #f7768e;--c-error-bg: rgb(247 118 142 / 12%);--c-success: #6cf0c2;--c-success-bg: rgb(108 240 194 / 12%);--c-warning: #e0af68;--c-warning-bg: rgb(224 175 104 / 12%);--c-overlay: rgb(4 6 9 / 65%);--c-focus: #7aa2ff}[data-theme=light]{--c-bg: #f9fafb;--c-bg-elevated: #ffffff;--c-surface: #ffffff;--c-surface-hover: #f1f3f8;--c-border: #e2e6ee;--c-border-strong: #c9d0dd;--c-fg: #12161f;--c-fg-muted: #556074;--c-fg-subtle: #77819a;--c-primary: #2563eb;--c-primary-hover: #1d4ed8;--c-primary-fg: #ffffff;--c-accent: #7c3aed;--c-accent-fg: #ffffff;--c-tertiary: #7c3aed;--c-error: #dc2626;--c-error-bg: rgb(220 38 38 / 10%);--c-success: #059669;--c-success-bg: rgb(5 150 105 / 10%);--c-warning: #d97706;--c-warning-bg: rgb(217 119 6 / 10%);--c-overlay: rgb(18 22 31 / 45%);--c-focus: #2563eb}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{font-family:var(--font-sans);line-height:var(--lh-normal);-webkit-text-size-adjust:100%}body{min-height:100vh;background:var(--c-bg);color:var(--c-fg);font-size:var(--fs-md);-webkit-font-smoothing:antialiased;transition:background-color var(--transition-base),color var(--transition-base)}#root{min-height:100vh}img,picture,svg,video{display:block;max-width:100%}input,button,textarea,select{font:inherit;color:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}h1,h2,h3,h4,h5,h6{line-height:var(--lh-tight);font-weight:var(--fw-bold)}a{color:var(--c-primary);text-decoration:none}a:hover{color:var(--c-primary-hover)}button{cursor:pointer}button:disabled{cursor:not-allowed}:focus-visible{outline:2px solid var(--c-focus);outline-offset:2px}::selection{background:color-mix(in srgb,var(--c-primary) 35%,transparent)}.c-page-loading{display:grid;place-items:center;min-height:40vh}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.c-badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-2);border-radius:var(--radius-pill);font-size:var(--fs-xs);font-weight:var(--fw-medium);line-height:1.5}.c-badge--neutral{background:var(--c-surface-hover);color:var(--c-fg-muted)}.c-badge--info{background:color-mix(in srgb,var(--c-primary) 16%,transparent);color:var(--c-primary)}.c-badge--success{background:var(--c-success-bg);color:var(--c-success)}.c-badge--warning{background:var(--c-warning-bg);color:var(--c-warning)}.c-badge--danger{background:var(--c-error-bg);color:var(--c-error)}.c-spinner{display:inline-flex;align-items:center;justify-content:center;flex:none}.c-spinner__ring{display:block;border-radius:var(--radius-pill);border:2px solid var(--c-border-strong);border-top-color:var(--c-primary);animation:c-spinner-rotate .7s linear infinite}.c-spinner--sm .c-spinner__ring{width:14px;height:14px}.c-spinner--md .c-spinner__ring{width:20px;height:20px}.c-spinner--lg .c-spinner__ring{width:32px;height:32px;border-width:3px}@keyframes c-spinner-rotate{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.c-spinner__ring{animation-duration:1.6s}}.c-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border:var(--border-width) solid transparent;border-radius:var(--radius-s);font-weight:var(--fw-medium);line-height:1;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast);white-space:nowrap}.c-button__label{display:inline-block}.c-button--md{padding:var(--space-3) var(--space-4);font-size:var(--fs-sm)}.c-button--sm{padding:var(--space-2) var(--space-3);font-size:var(--fs-xs)}.c-button--primary{background:var(--c-primary);color:var(--c-primary-fg)}.c-button--primary:hover:not(:disabled){background:var(--c-primary-hover)}.c-button--secondary{background:var(--c-surface);border-color:var(--c-border-strong);color:var(--c-fg)}.c-button--secondary:hover:not(:disabled){background:var(--c-surface-hover)}.c-button--ghost{background:transparent;color:var(--c-fg-muted)}.c-button--ghost:hover:not(:disabled){background:var(--c-surface-hover);color:var(--c-fg)}.c-button--danger{background:var(--c-error-bg);color:var(--c-error);border-color:color-mix(in srgb,var(--c-error) 45%,transparent)}.c-button--danger:hover:not(:disabled){background:color-mix(in srgb,var(--c-error) 22%,transparent)}.c-button:disabled{opacity:.55}.c-card{background:var(--c-surface);border:var(--border-width) solid var(--c-border);border-radius:var(--radius-l);padding:var(--space-5)}.c-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4)}.c-card__title{font-size:var(--fs-lg);font-weight:var(--fw-bold);margin:0}.c-card__description{margin-top:var(--space-1);color:var(--c-fg-muted);font-size:var(--fs-sm)}.c-card__actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.c-empty-state{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-7) var(--space-4);text-align:center}.c-empty-state__title{font-size:var(--fs-lg);font-weight:var(--fw-medium)}.c-empty-state__description{color:var(--c-fg-muted);font-size:var(--fs-sm);max-width:42ch}.c-empty-state__action{margin-top:var(--space-3)}.c-error-boundary{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-7) var(--space-4);text-align:center}.c-error-boundary__title{font-size:var(--fs-lg);font-weight:var(--fw-medium)}.c-error-boundary__hint{color:var(--c-fg-muted);font-size:var(--fs-sm)}.c-form-field{display:flex;flex-direction:column;gap:var(--space-2)}.c-form-field__label{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--c-fg)}.c-form-field__required{color:var(--c-error);margin-inline-start:var(--space-1)}.c-form-field__hint{font-size:var(--fs-xs);color:var(--c-fg-muted);margin-top:calc(var(--space-2) * -1)}.c-form-field__error{font-size:var(--fs-xs);color:var(--c-error)}.c-input{width:100%;padding:var(--space-3);background:var(--c-bg-elevated);border:var(--border-width) solid var(--c-border-strong);border-radius:var(--radius-s);color:var(--c-fg);font-size:var(--fs-sm);transition:border-color var(--transition-fast),background-color var(--transition-fast)}.c-input::placeholder{color:var(--c-fg-subtle)}.c-input:hover:not(:disabled){border-color:var(--c-primary)}.c-input:disabled{opacity:.6}.c-input--invalid{border-color:var(--c-error)}.c-input--mono{font-family:var(--font-mono)}.c-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:var(--space-4);background:var(--c-overlay);animation:c-modal-fade var(--transition-base)}.c-modal{width:min(520px,100%);max-height:calc(100vh - var(--space-7));overflow-y:auto;background:var(--c-bg-elevated);border:var(--border-width) solid var(--c-border);border-radius:var(--radius-l);box-shadow:var(--shadow-2);animation:c-modal-rise var(--transition-base)}.c-modal__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:var(--border-width) solid var(--c-border)}.c-modal__title{font-size:var(--fs-lg);margin:0}.c-modal__body{padding:var(--space-5)}.c-modal__footer{display:flex;justify-content:flex-end;gap:var(--space-2);padding:var(--space-4) var(--space-5);border-top:var(--border-width) solid var(--c-border)}@keyframes c-modal-fade{0%{opacity:0}}@keyframes c-modal-rise{0%{opacity:0;transform:translateY(8px)}}.c-pagination{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-1);flex-wrap:wrap}.c-pagination__info,.c-pagination__page{font-size:var(--fs-xs);color:var(--c-fg-muted);font-variant-numeric:tabular-nums}.c-pagination__controls{display:flex;align-items:center;gap:var(--space-3)}.c-select{position:relative;display:inline-flex;width:100%}.c-select__control{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;padding:var(--space-3) var(--space-6) var(--space-3) var(--space-3);background:var(--c-bg-elevated);border:var(--border-width) solid var(--c-border-strong);border-radius:var(--radius-s);color:var(--c-fg);font-size:var(--fs-sm);cursor:pointer;transition:border-color var(--transition-fast)}.c-select__control:hover:not(:disabled){border-color:var(--c-primary)}.c-select__control:disabled{opacity:.6}.c-select__chevron{position:absolute;inset-inline-end:var(--space-3);top:50%;width:8px;height:8px;border-inline-end:2px solid var(--c-fg-muted);border-block-end:2px solid var(--c-fg-muted);transform:translateY(-70%) rotate(45deg);pointer-events:none}.c-table-wrap{width:100%;overflow-x:auto;border:var(--border-width) solid var(--c-border);border-radius:var(--radius-m);background:var(--c-surface)}.c-table{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}.c-table__caption{caption-side:top;text-align:start;padding:var(--space-3) var(--space-4);color:var(--c-fg-muted);font-size:var(--fs-xs)}.c-table th{text-align:start;font-weight:var(--fw-medium);color:var(--c-fg-muted);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;padding:var(--space-3) var(--space-4);border-bottom:var(--border-width) solid var(--c-border);white-space:nowrap}.c-table td{padding:var(--space-3) var(--space-4);border-bottom:var(--border-width) solid var(--c-border);vertical-align:middle}.c-table tbody tr:last-child td{border-bottom:none}.c-table tbody tr:hover{background:var(--c-surface-hover)}.c-table__row--clickable{cursor:pointer}.c-table__empty-slot{padding:var(--space-6)}.c-theme-toggle{min-width:32px;font-size:var(--fs-md)}.c-toast-stack{position:fixed;inset-block-end:var(--space-4);inset-inline-end:var(--space-4);z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--space-2);max-width:min(380px,100vw - var(--space-6))}.c-toast{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--c-bg-elevated);border:var(--border-width) solid var(--c-border-strong);border-inline-start-width:3px;border-radius:var(--radius-m);box-shadow:var(--shadow-2);font-size:var(--fs-sm);animation:c-toast-in var(--transition-base)}.c-toast__message{flex:1}.c-toast__close{background:none;border:none;color:var(--c-fg-subtle);padding:0;line-height:1;font-size:var(--fs-sm)}.c-toast__close:hover{color:var(--c-fg)}.c-toast--success{border-inline-start-color:var(--c-success)}.c-toast--error{border-inline-start-color:var(--c-error)}.c-toast--info{border-inline-start-color:var(--c-primary)}@keyframes c-toast-in{0%{opacity:0;transform:translateY(8px)}}.c-login-form{display:flex;flex-direction:column;gap:var(--space-4)}.c-login-form__error{padding:var(--space-3);background:var(--c-error-bg);color:var(--c-error);border-radius:var(--radius-s);font-size:var(--fs-sm)}.c-login-form__submit{width:100%;margin-top:var(--space-2)}.c-register-form{display:flex;flex-direction:column;gap:var(--space-4)}.c-register-form__error{padding:var(--space-3);background:var(--c-error-bg);color:var(--c-error);border-radius:var(--radius-s);font-size:var(--fs-sm)}.c-register-form__submit{width:100%;margin-top:var(--space-2)}.c-auth-loading{display:grid;place-items:center;min-height:60vh}.c-header{display:flex;align-items:center;gap:var(--space-3);height:var(--header-h);padding-inline:var(--space-4);background:var(--c-bg-elevated);border-bottom:var(--border-width) solid var(--c-border);position:sticky;top:0;z-index:var(--z-header)}.c-header__menu{display:none;font-size:var(--fs-lg)}.c-header__meta{flex:1;min-width:0}.c-header__tenant{font-size:var(--fs-sm);color:var(--c-fg-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.c-header__plan{color:var(--c-tertiary);text-transform:lowercase}.c-header__actions{display:flex;align-items:center;gap:var(--space-3)}.c-header__user{font-size:var(--fs-xs);color:var(--c-fg-muted);max-width:24ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:720px){.c-header__menu{display:inline-flex}.c-header__user{display:none}}.c-sidebar{display:flex;flex-direction:column;gap:var(--space-5);width:var(--sidebar-w);padding:var(--space-4) var(--space-3);background:var(--c-bg-elevated);border-inline-end:var(--border-width) solid var(--c-border);height:100%;overflow-y:auto}.c-sidebar__brand{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--c-fg);font-weight:var(--fw-bold);font-size:var(--fs-md);padding:var(--space-2)}.c-sidebar__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-1)}.c-sidebar__link{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-s);color:var(--c-fg-muted);font-size:var(--fs-sm);transition:background-color var(--transition-fast),color var(--transition-fast)}.c-sidebar__link:hover{background:var(--c-surface-hover);color:var(--c-fg)}.c-sidebar__link--active{background:color-mix(in srgb,var(--c-primary) 14%,transparent);color:var(--c-primary)}.c-sidebar__icon{width:1.2em;text-align:center;font-size:var(--fs-md)}.l-dashboard{display:flex;min-height:100vh}.l-dashboard__sidebar{flex:none;position:sticky;top:0;height:100vh}.l-dashboard__content{flex:1;min-width:0;display:flex;flex-direction:column}.l-dashboard__main{flex:1;padding:var(--space-5);width:min(var(--content-max),100%);margin-inline:auto}.l-dashboard__scrim{display:none}@media(max-width:900px){.l-dashboard__sidebar{position:fixed;inset-block:0;inset-inline-start:0;z-index:var(--z-sidebar);transform:translate(-100%);transition:transform var(--transition-base)}.l-dashboard__sidebar--open{transform:translate(0)}.l-dashboard__scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:calc(var(--z-sidebar) - 1);border:none;padding:0;background:var(--c-overlay);cursor:pointer}}.l-public{display:flex;flex-direction:column;min-height:100vh}.l-public__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-5);border-bottom:var(--border-width) solid var(--c-border);background:var(--c-bg-elevated);position:sticky;top:0;z-index:var(--z-header)}.l-public__brand{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--c-fg);font-weight:var(--fw-bold);font-size:var(--fs-lg)}.l-public__brand-name{letter-spacing:.02em}.l-public__nav{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap}.l-public__link{color:var(--c-fg-muted);font-size:var(--fs-sm)}.l-public__link:hover,.l-public__link.active{color:var(--c-fg)}.l-public__link--cta{padding:var(--space-2) var(--space-3);background:var(--c-primary);color:var(--c-primary-fg);border-radius:var(--radius-s)}.l-public__link--cta:hover{color:var(--c-primary-fg);background:var(--c-primary-hover)}.l-public__main{flex:1;width:min(var(--content-max),100%);margin-inline:auto;padding:var(--space-6) var(--space-5)}.l-public__footer{display:flex;justify-content:space-between;gap:var(--space-3);padding:var(--space-5);border-top:var(--border-width) solid var(--c-border);color:var(--c-fg-subtle);font-size:var(--fs-xs);flex-wrap:wrap}.l-public__footer-note{color:var(--c-fg-muted)}
