*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--primary: #e8443a;--primary-dark: #c73028;--primary-light: #ff6b63;--secondary: #1a1a2e;--accent: #f97316;--bg: #f8fafc;--bg-card: #ffffff;--text: #1e293b;--text-muted: #64748b;--border: #e2e8f0;--success: #22c55e;--danger: #ef4444;--warning: #f59e0b;--radius: 12px;--radius-sm: 8px;--shadow: 0 1px 3px rgba(0,0,0,.08), 0 4px 12px rgba(0,0,0,.06);--shadow-lg: 0 10px 40px rgba(0,0,0,.12);--font-display: "Outfit", sans-serif;--font-body: "Inter", sans-serif}body{font-family:var(--font-body);background:var(--bg);color:var(--text);line-height:1.6}a{color:var(--primary);text-decoration:none;transition:color .2s}a:hover{color:var(--primary-dark)}img{max-width:100%}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);letter-spacing:-.02em}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-100%;left:1rem;z-index:10000;padding:.75rem 1.5rem;background:var(--primary);color:#fff;border-radius:0 0 8px 8px;font-weight:700;transition:top .2s}.skip-link:focus{top:0}.container{max-width:1200px;margin:0 auto;padding:0 1.5rem}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-1{gap:.5rem}.gap-2{gap:1rem}.gap-3{gap:1.5rem}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mb-2{margin-bottom:1rem}.w-full{width:100%}.text-center{text-align:center}.text-sm{font-size:.875rem}.text-muted{color:var(--text-muted)}.font-bold{font-weight:700}.hidden{display:none}.card{background:var(--bg-card);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.5rem}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;border-radius:var(--radius-sm);border:none;cursor:pointer;font-size:.9rem;font-weight:600;transition:all .25s ease;text-decoration:none;font-family:var(--font-body)}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark);color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #e8443a4d}.btn-secondary{background:var(--secondary);color:#fff}.btn-outline{background:transparent;color:var(--primary);border:2px solid var(--primary)}.btn-outline:hover{background:var(--primary);color:#fff;transform:translateY(-2px)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:#dc2626}.btn-sm{padding:.375rem .875rem;font-size:.8rem}.btn-lg{padding:.875rem 2rem;font-size:1rem}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.form-group{margin-bottom:1.25rem}.form-label{display:block;font-weight:600;margin-bottom:.375rem;font-size:.9rem;color:var(--text)}.form-control{width:100%;padding:.625rem 1rem;border:2px solid var(--border);border-radius:var(--radius-sm);font-size:.9rem;color:var(--text);background:#fff;transition:all .2s;font-family:var(--font-body)}.form-control:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #e8443a1a}.form-control.error{border-color:var(--danger)}select.form-control{cursor:pointer}textarea.form-control{resize:vertical;min-height:100px}.error-msg{color:var(--danger);font-size:.8rem;margin-top:.25rem}.badge{display:inline-flex;align-items:center;padding:.2rem .6rem;border-radius:99px;font-size:.75rem;font-weight:600}.badge-primary{background:#fee2e2;color:var(--primary)}.badge-success{background:#dcfce7;color:#166534}.badge-warning{background:#fef3c7;color:#92400e}.badge-muted{background:var(--border);color:var(--text-muted)}.table-wrapper{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--border);font-size:.9rem}th{font-weight:600;color:var(--text-muted);background:var(--bg);font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}tr:hover td{background:#f8fafc}.page-header{margin-bottom:2rem}.page-header h1{font-size:1.875rem;font-weight:800;color:var(--text)}.page-header p{color:var(--text-muted);margin-top:.25rem}.alert{padding:.875rem 1.25rem;border-radius:var(--radius-sm);font-size:.9rem;margin-bottom:1rem}.alert-success{background:#dcfce7;color:#166534;border-left:4px solid var(--success)}.alert-danger{background:#fee2e2;color:#991b1b;border-left:4px solid var(--danger)}.alert-info{background:#dbeafe;color:#1e40af;border-left:4px solid #3b82f6}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}button:focus:not(:focus-visible),a:focus:not(:focus-visible){outline:none}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.spinner{width:2rem;height:2rem;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .7s linear infinite}.spinner-sm{width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.loading-center{display:flex;justify-content:center;align-items:center;padding:3rem}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .2s ease}.modal{background:#fff;border-radius:var(--radius);padding:2rem;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;animation:slideDown .3s ease}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.modal-header h2{font-size:1.25rem;font-weight:700}.modal-close{background:none;border:none;cursor:pointer;font-size:1.25rem;color:var(--text-muted);transition:color .2s}.modal-close:hover{color:var(--text)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}::selection{background:var(--primary);color:#fff}@media (max-width: 768px){.page-header h1{font-size:1.5rem}}
