*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--indigo: #6366f1;--indigo-2: #818cf8;--violet: #8b5cf6;--pink: #ec4899;--emerald: #10b981;--amber: #f59e0b;--red: #ef4444;--bg: #f8f7ff;--surface: #ffffff;--surface-2: rgba(99,102,241,.04);--border: rgba(99,102,241,.12);--border-2: rgba(99,102,241,.22);--text: #1e1b4b;--text-2: #6b7280;--text-3: #9ca3af;--shadow-sm: 0 1px 3px rgba(99,102,241,.08), 0 1px 2px rgba(99,102,241,.06);--shadow-md: 0 4px 16px rgba(99,102,241,.12), 0 2px 6px rgba(99,102,241,.08);--shadow-lg: 0 12px 40px rgba(99,102,241,.16), 0 4px 12px rgba(99,102,241,.1);--font-display: "Playfair Display", Georgia, serif;--font-body: "Outfit", system-ui, sans-serif;--font-mono: "DM Mono", monospace;--radius: 14px}html,body,#root{width:100%;height:100%;background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased}body{overflow-x:hidden}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#6366f133;border-radius:2px}.page-bg{min-height:100vh;background:linear-gradient(135deg,#f0f4ff,#faf5ff 40%,#fff0f9,#f0fff8);position:relative}.page-bg:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background:radial-gradient(ellipse 80vw 60vh at 10% 10%,rgba(99,102,241,.08) 0%,transparent 60%),radial-gradient(ellipse 60vw 70vh at 90% 90%,rgba(236,72,153,.07) 0%,transparent 60%),radial-gradient(ellipse 50vw 50vh at 50% 50%,rgba(139,92,246,.05) 0%,transparent 60%)}input,select,textarea{width:100%;padding:.7rem 1rem;border-radius:10px;border:1.5px solid var(--border-2);background:var(--surface);color:var(--text);font-family:var(--font-body);font-size:.9rem;outline:none;transition:border-color .18s,box-shadow .18s;resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--indigo);box-shadow:0 0 0 3px #6366f124}input::placeholder,textarea::placeholder{color:var(--text-3)}select{-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%236366f1'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem}select option{background:#fff;color:var(--text)}button{font-family:var(--font-body);cursor:pointer}label{font-weight:600;font-size:.8rem;color:var(--text-2);letter-spacing:.04em;text-transform:uppercase;display:block;margin-bottom:5px}.card{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow-sm);overflow:hidden;transition:box-shadow .22s,transform .22s}.card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.btn-primary{padding:.7rem 1.6rem;border-radius:10px;border:none;background:linear-gradient(135deg,var(--indigo),var(--violet));color:#fff;font-weight:700;font-size:.9rem;letter-spacing:.04em;box-shadow:0 4px 16px #6366f159;transition:transform .15s,box-shadow .15s}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 22px #6366f173}.btn-primary:active{transform:translateY(0)}.btn-ghost{padding:.65rem 1.3rem;border-radius:10px;border:1.5px solid var(--border-2);background:transparent;color:var(--text-2);font-weight:600;font-size:.85rem;transition:all .15s}.btn-ghost:hover{border-color:var(--indigo);color:var(--indigo);background:#6366f10d}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#1e1b4b73;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;padding:20px;overflow-y:auto}.visa-ok{background:#10b9811a;color:#059669;border:1px solid rgba(16,185,129,.25)}.visa-warn{background:#f59e0b1f;color:#d97706;border:1px solid rgba(245,158,11,.3)}.visa-crit{background:#ef44441f;color:#dc2626;border:1px solid rgba(239,68,68,.3)}.visa-expired{background:#ef44442e;color:#991b1b;border:1px solid rgba(239,68,68,.4)}.notif-banner{position:fixed;top:16px;right:16px;z-index:2000;max-width:360px;padding:14px 18px;border-radius:12px;background:#fff;border-left:4px solid #ef4444;box-shadow:0 8px 32px #00000026;display:flex;gap:12px;align-items:flex-start}.section-title{font-family:var(--font-body);font-weight:700;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--indigo);margin-bottom:12px;display:flex;align-items:center;gap:8px}.section-title:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,rgba(99,102,241,.3),transparent)}.field-group{display:flex;flex-direction:column;gap:4px}
