:root{--accent:#f77e2d;--accent-deep:#ff5629;--accent-soft:#ff562940;--ink:#1c1917;--ink-soft:#44403c;--ink-muted:#a8a29e;--cream:#fff3e6;--cream-soft:#fffcf8;--line:#fce4d4;--danger:#b3261e}*{box-sizing:border-box}html,body,#root{height:100%}body{color:var(--ink);background:linear-gradient(180deg, var(--cream) 0%, var(--cream-soft) 100%);-webkit-font-smoothing:antialiased;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}a{color:var(--accent-deep)}.auth-page{flex-direction:column;justify-content:center;align-items:center;gap:24px;min-height:100%;padding:32px 16px;display:flex}.auth-card{border:1px solid var(--line);background:#fff;border-radius:18px;width:100%;max-width:420px;padding:36px 32px;box-shadow:0 12px 40px #f77e2d14}.brand-mark{background:var(--accent-deep);border-radius:50%;width:12px;height:12px;margin-bottom:18px}.auth-card h1{letter-spacing:-.4px;margin:0 0 6px;font-size:24px}.auth-sub{color:var(--ink-soft);margin:0 0 24px;font-size:14.5px;line-height:1.6}.auth-form{flex-direction:column;gap:14px;display:flex}.field{flex-direction:column;gap:6px;display:flex}.field span{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted);font-size:12px;font-weight:700}.field input{font:inherit;border:1px solid var(--line);background:var(--cream-soft);color:var(--ink);border-radius:10px;outline:none;padding:12px 14px}.field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #f77e2d26}.form-row-right{justify-content:flex-end;display:flex}.link-subtle{color:var(--ink-soft);font-size:13px}.form-error{color:var(--danger);margin:0;font-size:13.5px}.btn-primary{font:inherit;background:var(--accent-deep);color:#fff;cursor:pointer;border:0;border-radius:100px;padding:13px 16px;font-weight:700;transition:filter .12s}.btn-primary:hover:not(:disabled){filter:brightness(1.05)}.btn-primary:disabled{opacity:.55;cursor:not-allowed}.oauth-block{flex-direction:column;gap:10px;display:flex}.btn-oauth{font:inherit;border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#fff;border-radius:100px;justify-content:center;align-items:center;gap:10px;padding:12px 16px;font-weight:600;transition:background .12s;display:flex}.btn-oauth:hover:not(:disabled){background:var(--cream-soft)}.btn-oauth:disabled{opacity:.55;cursor:not-allowed}.divider{color:var(--ink-muted);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:12px;margin:20px 0;font-size:12px;display:flex}.divider:before,.divider:after{content:"";background:var(--line);flex:1;height:1px}.auth-foot{color:var(--ink-soft);text-align:center;margin:22px 0 0;font-size:14px}.auth-page-foot{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);font-size:11px}.auth-page-foot a{color:var(--ink-muted);text-decoration:none}.page-center{justify-content:center;align-items:center;min-height:100%;display:flex}.spinner{border:3px solid var(--line);border-top-color:var(--accent-deep);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.dash-page{flex-direction:column;min-height:100%;display:flex}.dash-nav{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;padding:18px 28px;display:flex}.dash-brand{letter-spacing:-.3px;align-items:center;gap:10px;font-weight:800;display:flex}.brand-dot{background:var(--accent-deep);border-radius:50%;width:10px;height:10px}.btn-ghost{font:inherit;border:1px solid var(--line);color:var(--ink-soft);cursor:pointer;background:0 0;border-radius:100px;padding:8px 18px;font-weight:600}.btn-ghost:hover{background:var(--cream-soft)}.dash-main{flex-direction:column;flex:1;gap:20px;width:100%;max-width:760px;margin:0 auto;padding:40px 20px;display:flex}.dash-card{border:1px solid var(--line);background:#fff;border-radius:18px;padding:28px 30px}.dash-eyebrow{letter-spacing:.14em;text-transform:uppercase;color:#c2410c;margin:0 0 8px;font-size:11px;font-weight:700}.dash-card h1{letter-spacing:-.4px;margin:0 0 18px;font-size:26px}.dash-card h2{margin:0 0 8px;font-size:18px}.dash-card p{color:var(--ink-soft);margin:0;line-height:1.6}.dash-meta{flex-direction:column;gap:10px;margin:0;display:flex}.dash-meta>div{border-bottom:1px solid var(--line);justify-content:space-between;gap:16px;padding-bottom:10px;display:flex}.dash-meta dt{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted);font-size:12px;font-weight:700}.dash-meta dd{margin:0;font-size:14.5px}.dash-card--soon{background:var(--cream-soft);border-style:dashed}.dash-card--warn{background:#fff7f0;border-color:#ff562973}.la-sub{color:var(--ink-soft);margin:0 0 16px;font-size:14px;line-height:1.6}.la-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.la-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:12px 0;display:flex}.la-row:last-child{border-bottom:0}.la-name{font-size:14.5px;font-weight:600}.la-actions{align-items:center;gap:10px;display:flex}.la-badge{letter-spacing:.08em;text-transform:uppercase;color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:100px;padding:4px 10px;font-size:11px;font-weight:700}.la-btn{padding:7px 16px;font-size:13.5px}.la-pw-form{gap:10px;margin-top:14px;display:flex}.la-pw-input{font:inherit;border:1px solid var(--line);background:var(--cream-soft);color:var(--ink);border-radius:10px;outline:none;flex:1;padding:10px 14px}.la-pw-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #f77e2d26}.la-pw-submit{padding:10px 22px}.la-ok{color:#166534;margin:12px 0 0;font-size:13.5px}.form-error{margin-top:12px}.mo-body{color:var(--ink-soft);margin:0 0 20px;font-size:14.5px;line-height:1.6}.mo-meta{margin-top:4px}.mo-row{gap:12px;display:flex}.mo-grow{flex:1}.mo-row .field:last-child{width:160px}.mo-textarea{font:inherit;border:1px solid var(--line);background:var(--cream-soft);color:var(--ink);resize:vertical;border-radius:10px;outline:none;padding:12px 14px}.mo-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #f77e2d26}@media (width<=520px){.mo-row{flex-direction:column}.mo-row .field:last-child{width:auto}}
