:root{--sw-bg:#f4f4f2;--sw-surface:#fff;--sw-ink:#1f2124;--sw-muted:#6b7076;--sw-line:#dcdedf;--sw-accent:#2b5fd9;--sw-accent-ink:#fff;--sw-danger:#b3261e;--sw-radius:12px;--sw-font:system-ui, sans-serif;--sw-tap:44px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--sw-bg);color:var(--sw-ink);font-family:var(--sw-font);font-size:16px;line-height:1.4}button,input{font:inherit}.sw-page{flex-direction:column;min-height:100%;display:flex}.sw-header{border-bottom:1px solid var(--sw-line);background:var(--sw-surface);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.sw-main{flex:1;padding:20px}.sw-card{background:var(--sw-surface);border:1px solid var(--sw-line);border-radius:var(--sw-radius);max-width:420px;margin:40px auto;padding:20px}.sw-field{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.sw-input{height:var(--sw-tap);border:1px solid var(--sw-line);background:var(--sw-surface);border-radius:10px;padding:0 12px}.sw-btn{min-height:var(--sw-tap);background:var(--sw-accent);color:var(--sw-accent-ink);cursor:pointer;border:1px solid #0000;border-radius:10px;padding:0 18px;font-weight:600}.sw-btn[disabled]{opacity:.6;cursor:default}.sw-btn--ghost{color:var(--sw-ink);border-color:var(--sw-line);background:0 0}.sw-error{color:var(--sw-danger);margin:0 0 12px}.sw-muted{color:var(--sw-muted)}
