:root{--afe-red:#b5121b;--afe-red-dark:#8d0d14;--afe-red-soft:#fff1f2;--ink:#172033;--muted:#667085;--line:#e7eaf0;--panel:#ffffff;--surface:#f6f7f9;--success:#13795b;--warning:#a15c00;--danger:#b42318;--info:#175cd3;--shadow:0 8px 24px rgba(16,24,40,.08);--shadow-lg:0 22px 50px rgba(16,24,40,.16);--radius:14px;--radius-sm:10px;--sidebar:268px;--font: Inter, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}*{box-sizing:border-box}html,body{height:100%;margin:0}body{font-family:var(--font);background:var(--surface);color:var(--ink);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button{cursor:pointer}a{text-decoration:none;color:inherit}h1,h2,h3,p{margin-top:0}.page{padding:24px}.page-head{display:flex;gap:16px;align-items:flex-start;justify-content:space-between;margin-bottom:22px}.page-title{font-size:28px;line-height:1.15;margin:0;color:var(--ink);letter-spacing:-.4px}.page-subtitle{margin:6px 0 0;color:var(--muted);font-size:14px}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 1px 2px #10182808}.card-pad{padding:20px}.grid{display:grid;gap:16px}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.metric{padding:18px}.metric-label{font-size:13px;color:var(--muted);font-weight:600}.metric-value{font-size:30px;font-weight:750;margin-top:8px;letter-spacing:-.6px}.metric-note{font-size:12px;color:var(--muted);margin-top:5px}.btn{border:0;border-radius:10px;min-height:42px;padding:0 15px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700;font-size:14px;transition:.18s ease}.btn:disabled{opacity:.52;cursor:not-allowed}.btn-primary{background:var(--afe-red);color:#fff;box-shadow:0 2px 6px #b5121b33}.btn-primary:hover:not(:disabled){background:var(--afe-red-dark);transform:translateY(-1px)}.btn-secondary{background:#fff;color:var(--ink);border:1px solid var(--line)}.btn-secondary:hover:not(:disabled){background:#f9fafb}.btn-danger{background:#fff1f0;color:var(--danger);border:1px solid #fecdca}.btn-ghost{background:transparent;color:var(--muted)}.btn-sm{min-height:36px;padding:0 11px;font-size:13px}.input,.select,.textarea{width:100%;border:1px solid #d0d5dd;border-radius:10px;background:#fff;color:var(--ink);outline:none;transition:.15s ease}.input,.select{height:44px;padding:0 12px}.textarea{padding:12px;min-height:90px;resize:vertical}.input:focus,.select:focus,.textarea:focus{border-color:#e48b91;box-shadow:0 0 0 4px #b5121b14}.field{display:grid;gap:7px}.field label{font-size:13px;font-weight:700;color:#344054}.field-hint{font-size:12px;color:var(--muted)}.field-error{font-size:12px;color:var(--danger)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.table-wrap{overflow:auto;border-radius:var(--radius)}.table{width:100%;border-collapse:collapse;min-width:760px}.table th{padding:12px 14px;text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#667085;background:#f9fafb;border-bottom:1px solid var(--line);white-space:nowrap}.table td{padding:13px 14px;border-bottom:1px solid #eef0f3;font-size:14px;vertical-align:middle}.table tbody tr:hover{background:#fcfcfd}.badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:750}.badge.success{background:#ecfdf3;color:#067647}.badge.warning{background:#fffaeb;color:#b54708}.badge.danger{background:#fef3f2;color:#b42318}.badge.neutral{background:#f2f4f7;color:#475467}.badge.info{background:#eff8ff;color:#175cd3}.empty{padding:44px 24px;text-align:center;color:var(--muted)}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.toolbar .input{max-width:320px}.section-title{font-size:18px;margin:0 0 4px}.section-subtitle{font-size:13px;color:var(--muted);margin:0}.divider{height:1px;background:var(--line);margin:20px 0}.skeleton{background:linear-gradient(90deg,#f0f2f5 25%,#f8f9fb,#f0f2f5 75%);background-size:200% 100%;animation:shimmer 1.4s infinite;border-radius:8px}@keyframes shimmer{to{background-position:-200% 0}}@media(max-width:1100px){.grid-4,.grid-3{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.page{padding:16px}.page-head{flex-direction:column}.page-title{font-size:24px}.grid-4,.grid-3,.grid-2,.form-grid{grid-template-columns:1fr}.btn{min-height:44px}.toolbar{align-items:stretch}.toolbar .input{max-width:none;flex:1}}
