.blf-fe { font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;font-size:15px;color:#111827;max-width:1200px;margin:0 auto; }
.blf-fe * { box-sizing:border-box; }
.blf-fe-gate { background:#f9fafb;border:2px dashed #e5e7eb;border-radius:10px;padding:48px 24px;text-align:center;color:#6b7280; }
.blf-fe-gate--denied { border-color:#fca5a5;background:#fff5f5;color:#991b1b; }
.blf-fe-gate__icon { font-size:36px;display:block;margin-bottom:12px; }
.blf-fe__header { display:flex;align-items:center;gap:14px;padding:20px 24px;background:linear-gradient(135deg,#1e3a8a 0%,#1a56db 100%);border-radius:10px 10px 0 0;color:#fff; }
.blf-fe__header-text { flex:1; }
.blf-fe__header-text h2 { margin:0 0 2px;font-size:18px;font-weight:700;color:#fff; }
.blf-fe__header-text p { margin:0;font-size:13px;color:rgba(255,255,255,.75); }
.blf-fe__header-user { display:flex;align-items:center;gap:8px;font-size:13px;color:rgba(255,255,255,.9); }
.blf-fe__avatar { width:32px;height:32px;background:rgba(255,255,255,.25);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700; }
.blf-fe__notice { padding:12px 20px;font-size:13px;font-weight:500; }
.blf-fe__notice--warn { background:#fffbeb;border-left:4px solid #f59e0b;color:#78350f; }
.blf-fe__search-panel { background:#fff;border:1px solid #e5e7eb;border-top:none;padding:20px 24px 16px; }
.blf-fe__field-group { display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end; }
.blf-fe__field { display:flex;flex-direction:column;gap:6px;flex:1;min-width:200px; }
.blf-fe__field--btn { flex:0 0 auto; }
.blf-fe__field label { font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.04em; }
.blf-fe__field input { width:100%;padding:10px 14px;border:1.5px solid #e5e7eb;border-radius:8px;font-size:14px;color:#111827;background:#fff;outline:none; }
.blf-fe__field input:focus { border-color:#1a56db;box-shadow:0 0 0 3px rgba(26,86,219,.12); }
.blf-fe__hint { font-size:12px;color:#6b7280;margin:10px 0 0; }
.blf-fe__btn { display:inline-flex;align-items:center;gap:7px;padding:10px 18px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;border:1.5px solid transparent;text-decoration:none;white-space:nowrap; }
.blf-fe__btn--primary { background:#1a56db;color:#fff; }
.blf-fe__btn--primary:hover:not(:disabled) { background:#1447c0; }
.blf-fe__btn--primary:disabled { opacity:.5;cursor:not-allowed; }
.blf-fe__btn--outline { background:#fff;color:#1a56db;border-color:#1a56db; }
.blf-fe__btn--outline:hover { background:#eff6ff; }
.blf-fe__btn--ghost { background:#f9fafb;color:#111827;border-color:#e5e7eb; }
.blf-fe__loading { background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;padding:20px 24px;margin-top:16px; }
.blf-fe__loading-inner { display:flex;align-items:center;gap:16px; }
.blf-fe__loading-inner strong { display:block;color:#1e3a8a;font-size:14px; }
.blf-fe__loading-inner p { margin:4px 0 0;color:#6b7280;font-size:13px; }
.blf-fe__spinner { width:28px;height:28px;flex-shrink:0;border-radius:50%;border:3px solid #bfdbfe;border-top-color:#1a56db;animation:blf-fe-spin .7s linear infinite; }
@keyframes blf-fe-spin { to { transform:rotate(360deg); } }
.blf-fe__alert { border-radius:10px;padding:14px 18px;font-size:14px;font-weight:500;margin-top:14px;border:1px solid transparent; }
.blf-fe__alert.is-success { background:#f0fdf4;border-color:#bbf7d0;color:#057a55; }
.blf-fe__alert.is-error { background:#fff5f5;border-color:#fecaca;color:#e02424; }
.blf-fe__results-header { display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:16px 20px;background:#fff;border:1px solid #e5e7eb;border-top:none;border-bottom:1px solid #e5e7eb;margin-top:20px;border-radius:10px 10px 0 0; }
.blf-fe__results-meta { display:flex;align-items:center;gap:10px; }
.blf-fe__results-title { font-size:15px;font-weight:700; }
.blf-fe__badge { background:#1a56db;color:#fff;font-size:12px;font-weight:700;padding:2px 9px;border-radius:99px; }
.blf-fe__results-actions { display:flex;gap:8px; }
.blf-fe__table-wrap { overflow-x:auto;background:#fff;border:1px solid #e5e7eb;border-top:none;border-radius:0 0 10px 10px; }
.blf-fe__table { width:100%;border-collapse:collapse;font-size:13px; }
.blf-fe__table th { padding:10px 14px;text-align:left;font-size:11px;font-weight:700;text-transform:uppercase;color:#6b7280;border-bottom:1px solid #e5e7eb;background:#f9fafb;white-space:nowrap; }
.blf-fe__table td { padding:12px 14px;border-bottom:1px solid #e5e7eb;vertical-align:top;max-width:200px;word-break:break-word; }
.blf-fe__table tbody tr:hover td { background:#f8faff; }
.blf-fe__table tbody tr:last-child td { border-bottom:none; }
.blf-fe__table a { color:#1a56db;text-decoration:none; }
.blf-fe__cards { display:none; }
@media (max-width:720px) { .blf-fe__table-wrap { display:none; } .blf-fe__cards { display:block; } .blf-fe__field { min-width:100%; } }
.blf-fe__card { background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:16px;margin-top:10px; }
.blf-fe__card-name { font-size:15px;font-weight:700;margin-bottom:10px; }
.blf-fe__card-row { display:flex;gap:8px;font-size:13px;padding:5px 0;border-bottom:1px solid #f9fafb; }
.blf-fe__card-label { font-weight:600;color:#6b7280;min-width:70px;font-size:12px; }
