:root{--trust-blue: #1863dc;--trust-blue-dark: #1250b8;--deep-navy: #0b1e3f;--soft-white: #f9fafb;--bg: #f9fafb;--surface: #ffffff;--surface-2: #f2f5fa;--border: #e6e9f0;--text: #0b1e3f;--text-muted: #5b6784;--text-soft: #8b95ab;--green: #16a34a;--amber: #d97706;--red: #dc2626;--green-soft: #dcfce7;--amber-soft: #fef3c7;--red-soft: #fee2e2;--blue-soft: #e3edfd;--star: #f5a623;--radius: 16px;--radius-sm: 10px;--radius-lg: 22px;--shadow-sm: 0 1px 3px rgba(11, 30, 63, .06);--shadow: 0 6px 20px rgba(11, 30, 63, .08);--shadow-lg: 0 12px 34px rgba(11, 30, 63, .14);--ease: cubic-bezier(.4, 0, .2, 1);--app-max: 480px;--nav-h: 64px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);font-family:Poppins,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color-scheme:light dark}@media (prefers-color-scheme: dark){:root{--bg: #0a1730;--surface: #10233f;--surface-2: #16294a;--border: #23375c;--text: #eef3fb;--text-muted: #a9b6d0;--text-soft: #7e8db0;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow: 0 6px 20px rgba(0, 0, 0, .35);--shadow-lg: 0 12px 34px rgba(0, 0, 0, .5);--green-soft: #10331f;--amber-soft: #3a2c0c;--red-soft: #3a1414;--blue-soft: #14284a}}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overscroll-behavior-y:none}#root{display:flex;justify-content:center}button{font-family:inherit;font-size:inherit;cursor:pointer;border:none;background:none;color:inherit}input,select,textarea{font-family:inherit;font-size:16px;color:var(--text);width:100%;border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-sm);padding:13px 14px;outline:none;transition:border-color .15s var(--ease),box-shadow .15s var(--ease)}input:focus,select:focus,textarea:focus{border-color:var(--trust-blue);box-shadow:0 0 0 3px var(--blue-soft)}a{color:var(--trust-blue);text-decoration:none}img{max-width:100%;display:block}h1,h2,h3,h4{color:var(--text);line-height:1.25;font-weight:700}::-webkit-scrollbar{width:0;height:0}.app-shell{width:100%;max-width:var(--app-max);min-height:100dvh;background:var(--bg);position:relative;display:flex;flex-direction:column}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:600;padding:14px 18px;border-radius:var(--radius-sm);transition:transform .08s var(--ease),background .15s var(--ease),opacity .15s var(--ease);min-height:48px;width:100%}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--trust-blue);color:#fff}.btn-primary:active{background:var(--trust-blue-dark)}.btn-secondary{background:var(--surface);color:var(--trust-blue);border:1.5px solid var(--border)}.btn-ghost{background:var(--surface-2);color:var(--text)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field label{font-size:13px;font-weight:600;color:var(--text-muted)}.field .hint{font-size:12px;color:var(--text-soft)}.field .error{font-size:12px;color:var(--red);font-weight:500}input.invalid,select.invalid{border-color:var(--red)}.badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;padding:3px 9px;border-radius:999px}.badge-green{background:var(--green-soft);color:var(--green)}.badge-amber{background:var(--amber-soft);color:var(--amber)}.badge-red{background:var(--red-soft);color:var(--red)}.badge-blue{background:var(--blue-soft);color:var(--trust-blue)}.spinner{width:26px;height:26px;border:3px solid var(--border);border-top-color:var(--trust-blue);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.center-screen{min-height:100dvh;display:flex;align-items:center;justify-content:center;width:100%}@keyframes fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.fade-in{animation:fade-in .25s var(--ease)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
