@font-face{font-family:Wotfard;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/wotfard-regular.woff2) format("woff2")}@font-face{font-family:Wotfard;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/wotfard-medium.woff2) format("woff2")}:root{--font-sans: "Wotfard", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--fs-xs: 12px;--fs-sm: 13px;--fs-base: 13px;--fs-md: 13px;--fs-lg: 16px;--fs-xl: 19px;--fw-normal: 400;--fw-medium: 500;--lh-tight: 1.3;--lh-normal: 1.55;--color-bg: #f6f8fa;--color-surface: #ffffff;--color-surface-alt: #f1f4f7;--color-border: #e8ebef;--color-border-strong: #dbe0e6;--color-text: #1d2126;--color-text-muted: #495057;--color-text-subtle: #767d85;--color-accent: #9147E0;--color-accent-hover: #7C34C6;--color-accent-weak: #F1E9FB;--color-accent-text: #6E28B8;--brand-gradient: linear-gradient(135deg, #F0407D 0%, #9147E0 50%, #22A7E5 100%);--color-secondary: #23B7D9;--color-secondary-hover: #20A3C2;--color-secondary-weak: #E6F6FB;--color-secondary-text: #167E96;--color-success: #7fb996;--color-success-weak: #eaf5ef;--color-warning: #e2ba79;--color-warning-weak: #fbf3e4;--color-danger: #F23030;--color-danger-weak: #FDE7E7;--radius-sm: 3px;--radius-md: 4px;--radius-lg: 6px;--radius-pill: 5px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--shadow-sm: 0 1px 2px rgba(61, 67, 74, .05);--shadow-md: 0 4px 14px rgba(61, 67, 74, .07);--shadow-lg: 0 10px 30px rgba(61, 67, 74, .09);--color-sidebar-bg: #171619;--color-sidebar-border: rgba(255, 255, 255, .08);--color-sidebar-text: rgba(255, 255, 255, .72);--color-sidebar-text-subtle: rgba(255, 255, 255, .42);--color-sidebar-track: rgba(255, 255, 255, .12);--sidebar-width: 264px;--topbar-height: 60px;--content-max: 1200px}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font-sans, "Wotfard", system-ui, sans-serif);font-size:var(--fs-base);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased}a{color:var(--color-accent-text);text-decoration:none}h1,h2,h3,p{margin:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:7px 14px;min-height:32px;border-radius:var(--radius-md);border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text);font-weight:var(--fw-medium);font-size:var(--fs-sm);white-space:nowrap;cursor:pointer;transition:background .15s,border-color .15s}.btn:hover{background:var(--color-surface-alt);border-color:var(--color-text-subtle)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-sm{padding:5px 10px;min-height:28px}.btn-primary{background:var(--color-accent);border-color:var(--color-accent);color:#fff;box-shadow:0 1px 2px #9147e059}.btn-primary:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.btn-danger{background:var(--color-danger);border-color:var(--color-danger);color:#fff}.btn-danger:hover{background:#d81f1f;border-color:#d81f1f}.input{width:100%;padding:8px 11px;min-height:34px;font-family:inherit;font-size:var(--fs-md);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);outline:none}.input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-weak)}.label{display:block;margin-bottom:6px;font-size:var(--fs-sm);font-weight:500;color:var(--color-text-muted)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--radius-pill);font-size:var(--fs-xs);font-weight:500;background:var(--color-surface-alt);color:var(--color-text-muted)}.badge-success{background:var(--color-success-weak);color:#4f8f6a}.badge-warning{background:var(--color-warning-weak);color:#a67c34}.badge-danger{background:var(--color-danger-weak);color:var(--color-danger)}.badge-accent{background:var(--color-accent-weak);color:var(--color-accent-text)}table{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}th{text-align:left;padding:10px 14px;font-size:var(--fs-xs);font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text);background:var(--color-surface-alt);border-bottom:1px solid var(--color-border)}td{padding:11px 14px;border-bottom:1px solid var(--color-border)}tbody tr:hover td{background:var(--color-surface-alt)}.text-subtle{color:var(--color-text-subtle)}.text-muted{color:var(--color-text-muted)}
