:root{--paper: #f5f1ea;--panel: #ffffff;--hair: #e6dfd5;--ink: #161310;--ink-2: #3a3530;--ink-3: #7a716a;--coral: #d97757;--coral-soft: #efbfa8;--red: #b23a3a;--green: #3a8a4e;--serif: Georgia, "Times New Roman", serif;--sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--mono: ui-monospace, SF Mono, Menlo, monospace;--ease: cubic-bezier(.22, .61, .36, 1)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased;min-height:100vh}.loading{min-height:100vh;display:grid;place-items:center;color:var(--ink-3);font-family:var(--serif);font-style:italic}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:32px 16px}.auth-card{width:100%;max-width:440px;background:var(--panel);border:1px solid var(--hair);padding:36px 36px 28px;animation:fadeUp .32s var(--ease) both}.auth-brand{font-family:var(--serif);font-weight:800;font-size:32px;letter-spacing:-.02em;color:var(--ink);margin:0 0 24px}.auth-brand .dot{color:var(--coral)}.auth-title{font-family:var(--serif);font-weight:700;font-size:28px;letter-spacing:-.015em;margin:0 0 6px}.auth-lead{margin:0 0 24px;color:var(--ink-3);font-size:15px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field-label{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}.field input{font-family:var(--sans);font-size:15px;padding:11px 13px;border:1px solid var(--hair);background:var(--paper);color:var(--ink);border-radius:0;outline:none;transition:border-color .12s var(--ease)}.field input:focus{border-color:var(--coral);background:#fff}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 18px;border:1px solid var(--hair);background:var(--panel);color:var(--ink);font-family:var(--sans);font-size:14px;font-weight:600;cursor:pointer;border-radius:0;transition:background .12s var(--ease),border-color .12s var(--ease)}.btn:hover{background:#fafafa}.btn.coral{background:var(--coral);color:#fff;border-color:var(--coral)}.btn.coral:hover{background:#c5654a;border-color:#c5654a}.btn.full{width:100%}.btn:disabled{opacity:.55;cursor:not-allowed}.row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px}.alert{padding:10px 12px;margin:0 0 16px;font-size:13px;border:1px solid;border-left-width:3px}.alert.error{color:var(--red);border-color:var(--red);background:#fbeaea}.alert.info{color:var(--ink-2);border-color:var(--ink-3);background:#f0ece4}.alert.ok{color:var(--green);border-color:var(--green);background:#e8f1ea}.link{color:var(--ink-2);text-decoration:underline;text-decoration-color:var(--coral-soft);text-underline-offset:3px}.link:hover{color:var(--coral)}.muted{color:var(--ink-3);font-size:13px}.dash{min-height:100vh;padding:40px 32px;max-width:900px;margin:0 auto}.dash-head{display:flex;align-items:baseline;justify-content:space-between;border-bottom:1px solid var(--hair);padding-bottom:16px;margin-bottom:28px}.dash-brand{font-family:var(--serif);font-weight:800;font-size:28px;letter-spacing:-.02em}.dash-brand .dot{color:var(--coral)}.dash h1{font-family:var(--serif);font-weight:700;font-size:38px;letter-spacing:-.015em;margin:12px 0 6px}.dash p{color:var(--ink-3);margin:0 0 28px}.dash-card{border:1px solid var(--hair);background:var(--panel);padding:24px;margin-bottom:18px}.dash-card h3{font-family:var(--serif);margin:0 0 8px;font-size:18px}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
