:root{--color-bg: #f6f5fa;--color-surface: #ffffff;--color-surface-hover: #f0edf9;--color-border: #e5e1f0;--color-border-strong: #c9bfe0;--color-border-focus: #8c6fe8;--color-primary: #8c6fe8;--color-primary-dark: #7457d1;--color-primary-shadow: rgba(140, 111, 232, .3);--color-accent-pink: #ff7eb6;--color-accent-teal: #34c4c4;--color-accent-orange: #ffa94d;--color-danger: #ff6b81;--color-warning: #ffd166;--color-success: #4cd787;--color-info: #34c4c4;--color-text: #33303f;--color-text-secondary:#6b6478;--color-text-muted: #8a8598;--sidebar-width: 256px;--header-height: 148px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--shadow-card: 0 4px 24px rgba(51, 48, 63, .08);--shadow-btn: 0 4px 0 var(--color-primary-dark);--transition: .15s ease;--p-surface-ground: var(--p-surface-50);--p-surface-card: var(--p-surface-0);--p-surface-overlay: var(--p-surface-0);--p-surface-border: var(--p-surface-200);--p-surface-hover: var(--p-surface-100)}.app-dark{--p-surface-ground: #1a1625;--p-surface-card: #241f33;--p-surface-overlay: #241f33;--p-surface-border: #362f4a;--p-surface-hover: #2d2740;--color-bg: #1a1625;--color-surface: #241f33;--color-surface-hover: #2d2740;--color-border: #362f4a;--color-border-strong: #4a4162;--color-border-focus: #b39ef2;--color-primary: #b39ef2;--color-primary-dark: #9c82ea;--color-primary-shadow: rgba(179, 158, 242, .35);--color-text: #f0edf9;--color-text-secondary:#b8b0cc;--color-text-muted: #8a8298;--shadow-card: 0 4px 24px rgba(0, 0, 0, .4)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{font-family:Nunito,system-ui,-apple-system,sans-serif;font-size:16px;font-weight:600;background-color:var(--p-surface-ground);color:var(--p-text-color);line-height:1.5;-webkit-font-smoothing:antialiased;transition:background-color .2s ease,color .2s ease}a{color:var(--color-primary);text-decoration:none;font-weight:700}a:hover{text-decoration:underline}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:2rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;border:none;border-radius:var(--radius-full);font-family:inherit;font-size:1rem;font-weight:800;cursor:pointer;transition:all var(--transition);text-transform:uppercase;letter-spacing:.5px}.btn-primary{background:var(--color-primary);color:#fff;box-shadow:var(--shadow-btn)}.btn-primary:hover:not(:disabled){background:var(--color-primary-dark);transform:translateY(1px);box-shadow:0 2px 0 var(--color-primary-dark)}.btn-primary:active:not(:disabled){transform:translateY(4px);box-shadow:none}.btn-primary:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.btn-outline{background:transparent;color:var(--color-text);border:2px solid var(--color-border);box-shadow:0 4px 0 var(--color-border)}.btn-outline:hover:not(:disabled){border-color:var(--color-text-secondary);box-shadow:0 4px 0 var(--color-text-secondary)}.form-field{display:flex;flex-direction:column;gap:.375rem;margin-bottom:1rem}.form-label{font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-secondary)}.form-input{padding:.75rem 1rem;background:var(--color-bg);border:2px solid var(--color-border);border-radius:var(--radius-md);font-family:inherit;font-size:1rem;font-weight:600;color:var(--color-text);outline:none;transition:border-color var(--transition),box-shadow var(--transition)}.form-input::placeholder{color:var(--color-text-muted);font-weight:400}.form-input:focus{border-color:var(--color-border-focus);box-shadow:0 0 0 3px var(--color-primary-shadow)}.form-error{font-size:.8rem;font-weight:700;color:var(--color-danger)}.hl-letter{font-weight:900;color:var(--color-primary-dark);background:#ffd16666;border-radius:4px;padding:0 3px}.app-layout{display:flex;min-height:100vh}.app-sidebar{width:var(--sidebar-width);background:var(--p-surface-card);border-right:1px solid var(--p-surface-border);padding:1.5rem 1rem;position:fixed;top:var(--header-height);left:0;height:calc(100vh - var(--header-height));overflow-y:auto;display:flex;flex-direction:column;gap:.25rem;transition:transform var(--transition)}.app-content{margin-left:var(--sidebar-width);margin-top:var(--header-height);min-height:calc(100vh - var(--header-height));background:var(--p-surface-ground);flex:1;padding:2rem}.nav-item{appearance:none;-webkit-appearance:none;display:flex;align-items:center;gap:.85rem;padding:1rem 1.25rem;border-radius:var(--radius-lg);color:var(--color-text-secondary);font-weight:800;text-transform:uppercase;letter-spacing:.5px;font-size:1rem;cursor:pointer;transition:all var(--transition);border:2px solid var(--color-border-strong);background:var(--color-surface);box-shadow:0 4px 0 var(--color-border-strong);width:100%;text-align:left}.nav-item:hover{background:var(--color-surface-hover);color:var(--color-text);transform:translateY(-1px);box-shadow:0 5px 0 var(--color-border-strong)}.nav-item:active{transform:translateY(1px);box-shadow:0 3px 0 var(--color-border-strong)}.nav-item:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.nav-item.active{background:var(--glow-bg, rgba(255, 209, 102, .2));color:var(--color-text);border-color:var(--glow-color, var(--color-warning));box-shadow:0 0 0 1px var(--glow-color, var(--color-warning)),0 0 11px var(--glow-blur, rgba(255, 209, 102, .5)),0 4px 0 var(--glow-color, var(--color-warning))}.nav-item.active:hover{box-shadow:0 0 0 1px var(--glow-color, var(--color-warning)),0 0 13px var(--glow-blur, rgba(255, 209, 102, .6)),0 5px 0 var(--glow-color, var(--color-warning))}.sidebar-toggle,.sidebar-backdrop{display:none}@media(max-width:768px){.sidebar-toggle{display:inline-flex}.app-sidebar{transform:translate(-100%);z-index:200}.app-sidebar.open{transform:translate(0);box-shadow:var(--shadow-card)}.sidebar-backdrop.open{display:block;position:fixed;inset:var(--header-height) 0 0 0;background:#00000080;z-index:150}.app-content{margin-left:0;padding:1.5rem}}@media(max-width:480px){body{font-size:15px}.card{padding:1.25rem;border-radius:var(--radius-md)}.btn{width:100%;padding:.75rem 1rem}.app-content{padding:1rem}}
