*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--c-bg: #F5F3EE;--c-surface: #FFFFFF;--c-border: #E2DED6;--c-border-md: #CBC6BC;--c-text-1: #1A1916;--c-text-2: #5C5850;--c-text-3: #9C9890;--c-accent: #2D5BE3;--c-accent-bg: #EEF2FD;--c-accent-dk: #1A3FA8;--c-green: #1A7A55;--c-green-bg: #E8F5EE;--c-amber: #B45309;--c-amber-bg: #FEF3C7;--c-red: #C0392B;--c-red-bg: #FDEEEC;--shift-1: #6B5CE7;--shift-1-bg: #F0EEFF;--shift-2: #0F7A5A;--shift-2-bg: #E6F5EF;--shift-3: #C05621;--shift-3-bg: #FEF0E7;--shift-4: #1A6FA8;--shift-4-bg: #E6F2FB;--shift-5: #7C3D8A;--shift-5-bg: #F5EAFA;--shift-6: #2D6A4F;--shift-6-bg: #E8F5EE;--font: "DM Sans", sans-serif;--mono: "DM Mono", monospace;--r-sm: 6px;--r-md: 10px;--r-lg: 14px;--r-xl: 20px;--shadow-sm: 0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);--shadow-md: 0 4px 12px rgba(0,0,0,.08), 0 2px 4px rgba(0,0,0,.04)}html,body,#root{height:100%;font-family:var(--font);background:var(--c-bg);color:var(--c-text-1);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--c-border-md);border-radius:3px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}button{font-family:var(--font);cursor:pointer;border:none;background:none}input,select,textarea{font-family:var(--font);font-size:14px}a{color:inherit;text-decoration:none}.btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:var(--r-md);font-size:13px;font-weight:500;transition:all .15s;white-space:nowrap}.btn-primary{background:var(--c-accent);color:#fff}.btn-primary:hover{background:var(--c-accent-dk)}.btn-ghost{background:none;color:var(--c-text-2);border:1px solid var(--c-border)}.btn-ghost:hover{background:var(--c-border)}.btn-sm{padding:5px 10px;font-size:12px}.btn-danger{background:var(--c-red);color:#fff}.btn-danger:hover{background:#a93226}.input{width:100%;padding:8px 11px;border:1px solid var(--c-border);border-radius:var(--r-md);background:var(--c-surface);color:var(--c-text-1);transition:border-color .15s;outline:none}.input:focus{border-color:var(--c-accent)}.input-label{font-size:12px;font-weight:500;color:var(--c-text-2);margin-bottom:5px;display:block}.card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}.badge{display:inline-block;font-size:10px;font-weight:500;padding:2px 7px;border-radius:20px}.alert{padding:10px 14px;border-radius:var(--r-md);font-size:13px}.alert-warning{background:var(--c-amber-bg);color:var(--c-amber);border:1px solid #FDE68A}.alert-error{background:var(--c-red-bg);color:var(--c-red);border:1px solid #FECACA}.alert-success{background:var(--c-green-bg);color:var(--c-green);border:1px solid #A7F3D0}.alert-info{background:var(--c-accent-bg);color:var(--c-accent);border:1px solid #BFDBFE}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes slideIn{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:none}}.fade-in{animation:fadeIn .2s ease}
