:root{--bg-main: #0a0e17;--bg-surface: #111827;--bg-card: rgba(17, 24, 39, .75);--bg-card-hover: rgba(30, 41, 59, .85);--border-subtle: rgba(255, 255, 255, .08);--border-focus: rgba(16, 185, 129, .5);--text-main: #f8fafc;--text-muted: #94a3b8;--text-dim: #64748b;--accent-emerald: #10b981;--accent-emerald-glow: rgba(16, 185, 129, .35);--accent-cyan: #06b6d4;--accent-gold: #f59e0b;--accent-crimson: #ef4444;--accent-indigo: #6366f1;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-display: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-body);background-color:var(--bg-main);color:var(--text-main);min-height:100vh;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-image:radial-gradient(at 10% 20%,rgba(16,185,129,.07) 0px,transparent 40%),radial-gradient(at 90% 80%,rgba(6,182,212,.07) 0px,transparent 40%);background-attachment:fixed;overflow-x:hidden}h1,h2,h3,h4,.font-display{font-family:var(--font-display);letter-spacing:-.015em;font-feature-settings:"cv02","cv03","cv04","cv11"}.glass-panel{background:var(--bg-card);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-subtle);border-radius:16px;box-shadow:0 10px 30px #00000059}.glass-panel-glow{background:var(--bg-card);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(16,185,129,.3);box-shadow:0 0 25px #10b98126;border-radius:16px}.gradient-text{background:linear-gradient(135deg,#f8fafc,#cbd5e1,#94a3b8);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.gradient-emerald{background:linear-gradient(135deg,#10b981,#06b6d4);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.gradient-gold{background:linear-gradient(135deg,#fbbf24,#f59e0b);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-body);font-weight:600;font-size:.95rem;padding:10px 20px;border-radius:10px;border:none;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);text-decoration:none}.btn:active{transform:scale(.98)}.btn-primary{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 4px 14px #10b9814d}.btn-primary:hover{background:linear-gradient(135deg,#34d399,#10b981);box-shadow:0 6px 20px #10b98173;transform:translateY(-1px)}.btn-secondary{background:#ffffff14;color:#f8fafc;border:1px solid var(--border-subtle)}.btn-secondary:hover{background:#ffffff26;border-color:#fff3}.btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 4px 14px #ef44444d}.btn-danger:hover{background:linear-gradient(135deg,#f87171,#ef4444);box-shadow:0 6px 20px #ef444473}.btn-gold{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;box-shadow:0 4px 14px #f59e0b4d}.btn-gold:hover{background:linear-gradient(135deg,#fbbf24,#f59e0b);box-shadow:0 6px 20px #f59e0b73;transform:translateY(-1px)}.badge{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;font-size:.75rem;font-weight:600;border-radius:9999px;letter-spacing:.02em;text-transform:uppercase}.badge-emerald{background:#10b98126;color:#34d399;border:1px solid rgba(16,185,129,.3)}.badge-gold{background:#f59e0b26;color:#fbbf24;border:1px solid rgba(245,158,11,.3)}.badge-indigo{background:#6366f126;color:#818cf8;border:1px solid rgba(99,102,241,.3)}.badge-crimson{background:#ef444426;color:#f87171;border:1px solid rgba(239,68,68,.3)}.input-control{width:100%;background:#0f172a99;border:1px solid var(--border-subtle);border-radius:10px;padding:10px 14px;font-size:.95rem;color:var(--text-main);outline:none;transition:all .2s}.input-control:focus{border-color:var(--accent-emerald);box-shadow:0 0 0 3px #10b98133;background:#0f172ae6}.label-control{display:block;font-size:.825rem;font-weight:500;color:var(--text-muted);margin-bottom:6px}@keyframes pulse-glow{0%,to{box-shadow:0 0 15px #10b98133}50%{box-shadow:0 0 35px #10b9818c}}.pulse-glow{animation:pulse-glow 2s infinite ease-in-out}@keyframes sold-hammer{0%{transform:scale(.6) rotate(-15deg);opacity:0}50%{transform:scale(1.15) rotate(5deg);opacity:1}to{transform:scale(1) rotate(0);opacity:1}}.animate-sold-hammer{animation:sold-hammer .5s cubic-bezier(.34,1.56,.64,1) forwards}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#0000000d}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}.portal-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:24px;box-shadow:0 1px 3px #00000008;color:#0f172a}.portal-card-flat{background:#fff;border:1px solid #e2e8f0;border-radius:16px;overflow:hidden;box-shadow:0 1px 3px #00000008;color:#0f172a}.portal-table{width:100%;border-collapse:collapse;text-align:left;font-size:.9rem;color:#0f172a}.portal-table th{padding:14px 18px;background:#f8fafc;color:#64748b;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #e2e8f0}.portal-table td{padding:14px 18px;border-bottom:1px solid #f1f5f9;vertical-align:middle}.portal-table tr:hover td{background:#f8fafc}.portal-input{width:100%;padding:10px 14px;border-radius:10px;border:1px solid #cbd5e1;background:#fff;color:#0f172a;font-size:.92rem;font-family:var(--font-body);transition:all .2s ease;outline:none}.portal-input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb26}.portal-label{display:block;font-size:.85rem;font-weight:600;color:#334155;margin-bottom:6px}.portal-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background-color:#0f172a99;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:20px}.portal-modal-card{background:#fff;border:1px solid #e2e8f0;border-radius:18px;padding:32px;width:100%;box-shadow:0 20px 40px #00000026;color:#0f172a}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none!important;margin:0!important}input[type=number]{-moz-appearance:textfield!important;-webkit-appearance:textfield!important;appearance:textfield!important}
