:root{font-family:Inter,Segoe UI,sans-serif;line-height:1.5;font-weight:400;color:#0f172a;background-color:#f8fafc;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--sand: #f8fafc;--ink: #0f172a;--green: #2563eb;--teal: #1d4ed8;--sun: #dbeafe;--coral: #ef4444;--cloud: #ffffff;--muted: #64748b;--border: #dbe2ea;--shadow: 0 24px 48px rgba(15, 23, 42, .08)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:#f8fafc;color:var(--ink);overflow-x:hidden}#root{min-height:100vh}a{color:inherit;text-decoration:none}a:hover{color:var(--teal)}button,input{font-family:inherit}input{border:1px solid var(--border);border-radius:12px;padding:12px 14px;background:#fff;font-size:.95rem;outline:none;transition:border-color .2s ease,box-shadow .2s ease}input:focus{border-color:#2563eb99;box-shadow:0 0 0 3px #2563eb24}button{border:none;border-radius:12px;padding:12px 22px;font-size:.95rem;font-weight:600;background:#2563eb;color:#fff;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}button:hover{transform:translateY(-1px);box-shadow:0 10px 24px #2563eb3d}button:disabled{opacity:.6;cursor:not-allowed;box-shadow:none;transform:none}button{touch-action:manipulation}a.secondary-btn,a.primary-btn,a.danger-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:12px;padding:12px 22px;font-size:.95rem;font-weight:600;text-decoration:none;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}a.primary-btn{background:#2563eb;color:#fff}a.secondary-btn{background:#f1f5f9;color:#0f172a}a.danger-btn{background:#ef4444;color:#fff}.app-loading{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--muted);font-size:.95rem}.spinner{width:36px;height:36px;border-radius:50%;border:3px solid rgba(37,99,235,.2);border-top-color:#2563eb;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.form-error{margin-top:12px;padding:10px 12px;border-radius:10px;background:#ef44441f;color:#b91c1c;font-size:.9rem}.muted{color:var(--muted)}.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;color:#2563eb;font-weight:700}.ghost{background:transparent;color:#1d4ed8;border:1px solid rgba(37,99,235,.3)}.ghost:hover{box-shadow:none}.toast-container{position:fixed;top:20px;right:20px;z-index:9999;display:flex;flex-direction:column;gap:10px;pointer-events:none;max-width:min(400px,calc(100vw - 24px))}.toast{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:14px;box-shadow:0 8px 28px #0f172a2e,0 2px 6px #0f172a1a;pointer-events:auto;opacity:0;transform:translate(16px) scale(.97);transition:opacity .25s ease,transform .25s ease;will-change:opacity,transform;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid transparent;min-width:240px}.toast--visible{opacity:1;transform:translate(0) scale(1)}.toast--info{background:#2563ebeb;border-color:#93c5fd59;color:#fff}.toast--success{background:#16a34aeb;border-color:#86efac59;color:#fff}.toast--error{background:#dc2626ed;border-color:#fca5a559;color:#fff}.toast--warning{background:#d97706ed;border-color:#fdd34d59;color:#fff}.toast__icon{flex-shrink:0;width:18px;height:18px;margin-top:1px;display:flex;align-items:center;justify-content:center}.toast__icon svg{width:18px;height:18px;display:block}.toast__message{flex:1;font-size:.9rem;font-weight:500;line-height:1.4;word-break:break-word}.toast__close{flex-shrink:0;width:22px;height:22px;border-radius:6px;background:#ffffff2e;border:none;color:#fff;font-size:1rem;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:background .12s;box-shadow:none;margin-top:-2px}.toast__close:hover{background:#ffffff4d;transform:none;box-shadow:none}@media(max-width:480px){.toast-container{top:auto;bottom:calc(80px + env(safe-area-inset-bottom));right:10px;left:10px;max-width:none}.toast{min-width:0}}@media(prefers-reduced-motion:reduce){.toast{transition:opacity .15s ease;transform:none!important}}
