:root{--walton-blue: #003366;--walton-blue-light: #004d99;--walton-blue-dark: #002244;--walton-blue-soft: #eff6ff;--walton-blue-border: #bfdbfe;--navy-deep: #070d18;--red: #d91e36;--red-light: #ff5a5f;--red-dark: #a8132a;--red-soft: #fef2f2;--brand-gradient: linear-gradient(135deg, #003366 0%, #002244 60%, #a8132a 100%);--success: #16a34a;--success-bg: #dcfce7;--success-border: #86efac;--danger: #dc2626;--danger-bg: #fef2f2;--danger-border: #fca5a5;--warning: #d97706;--warning-bg: #fef3c7;--warning-border: #fde68a;--gray-50: #f8fafc;--gray-100: #f1f5f9;--gray-200: #e2e8f0;--gray-300: #cbd5e1;--gray-400: #94a3b8;--gray-500: #64748b;--gray-600: #475569;--gray-700: #334155;--gray-800: #1e293b;--gray-900: #0f172a;--bg: #f1f5f9;--card-bg: #ffffff;--text: #1e293b;--text-secondary: #64748b;--text-muted: #94a3b8;--border: #e2e8f0;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--font: "Inter", system-ui, sans-serif}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{overflow-x:hidden;max-width:100vw}body{font-family:var(--font);background-color:var(--bg);color:var(--text);line-height:1.6;min-height:100vh}.container{max-width:1200px;margin:0 auto;padding:0 clamp(12px,3vw,24px)}@media (max-width: 640px){input,select,textarea{font-size:16px!important}}.table-scroll-wrapper{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--radius-md)}@media (max-width: 640px){.hide-mobile{display:none!important}}@media (min-width: 641px){.show-mobile-only{display:none!important}}button{cursor:pointer;font-family:inherit;border:none;border-radius:var(--radius-sm);padding:.5rem 1rem;font-weight:500;transition:all .2s}button.primary{background-color:var(--walton-blue);color:#fff}button.primary:hover{background-color:var(--walton-blue-light)}button.danger{background-color:var(--danger);color:#fff}button.danger:hover{background-color:#dc2626}input{font-family:inherit;border:1px solid var(--border);border-radius:var(--radius-sm);padding:.5rem;outline:none;width:100%}input:focus{border-color:var(--walton-blue);box-shadow:0 0 0 2px #0a254033}.badge{display:inline-block;padding:.25rem .5rem;border-radius:9999px;font-size:.75rem;font-weight:600;text-transform:uppercase}.badge-success{background-color:var(--success-bg);color:var(--success);border:1px solid var(--success-border)}.badge-danger{background-color:var(--danger-bg);color:var(--danger);border:1px solid var(--danger-border)}.badge-warning{background-color:var(--warning-bg);color:var(--warning)}.badge-info{background-color:var(--gray-100);color:var(--gray-600);border:1px solid var(--gray-300)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--gray-100)}::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}:focus-visible{outline:2px solid var(--red-light);outline-offset:2px}@media (pointer: coarse){button,.btn-primary,.btn-danger,.btn-cancel,.btn-confirm{min-height:44px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
