*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #fafafa;--surface: #fff;--surface2: #f4f4f5;--border: #e4e4e7;--text: #18181b;--muted: #71717a;--muted2: #a1a1aa;--primary: #2563eb;--primary-h: #1d4ed8;--primary-s: #f4f4f5;--ring: rgba(37,99,235,.22);--danger: #ef4444;--success: #16a34a}[data-theme=dark]{--bg: #09090b;--surface: #111113;--surface2: #1c1c1f;--border: #27272a;--text: #fafafa;--muted: #a1a1aa;--muted2: #71717a;--primary: #3b82f6;--primary-h: #60a5fa;--primary-s: #1c1c1f;--ring: rgba(59,130,246,.28)}html,body,#root{height:100%;font-family:Inter,sans-serif;background:var(--bg);color:var(--text);overflow:hidden}button{cursor:pointer;font-family:inherit;border:none;background:none}input{font-family:inherit}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-thumb{background:var(--border);border-radius:99px}*{transition-property:background-color,border-color,color,transform,opacity;transition-duration:.14s}.btn-primary{background:var(--primary);color:#fff;padding:11px 18px;font-size:14px;font-weight:600;border-radius:8px;width:100%;display:inline-flex;align-items:center;justify-content:center;gap:7px}.btn-primary:hover{background:var(--primary-h)}.btn-primary:disabled{opacity:.55;cursor:not-allowed}.btn-primary:active:not(:disabled){transform:scale(.99)}.btn-sso{background:var(--surface);color:var(--text);padding:10px 16px;font-size:13.5px;font-weight:500;border-radius:8px;border:1px solid var(--border);display:inline-flex;align-items:center;justify-content:center;gap:9px;width:100%}.btn-sso:hover{background:var(--surface2);border-color:var(--primary)}input.ds-input{width:100%;padding:10px 12px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:14px;outline:none}input.ds-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--ring)}input.ds-input::placeholder{color:var(--muted2)}input.ds-input.error{border-color:var(--danger);box-shadow:0 0 0 3px #ef444424}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}@keyframes spin{to{transform:rotate(360deg)}}
