:root{
  --bg:#f6f7f8;--card:#fff;--text:#1f2937;--muted:#6b7280;--line:#e5e7eb;
  --brand:#111827;--blue:#1d4ed8;--green:#047857;--green-bg:#ecfdf5;
  --orange:#b45309;--orange-bg:#fff7ed;--red:#b91c1c;--red-bg:#fef2f2;
  --shadow:0 12px 36px rgba(15,23,42,.08)
}
*{box-sizing:border-box}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Inter","Segoe UI",sans-serif;background:var(--bg);color:var(--text);line-height:1.55}
.app{max-width:1240px;margin:0 auto;padding:34px 18px 60px}
.topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:22px}
.eyebrow{display:inline-block;color:#3730a3;background:#eef2ff;border:1px solid #c7d2fe;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:800;margin-bottom:10px}
h1,h2{letter-spacing:-.03em;line-height:1.1}h1{font-size:38px;margin:0 0 8px}h2{font-size:22px;margin:0 0 8px}p{color:var(--muted);margin:0}
.btn{border:0;border-radius:14px;padding:12px 16px;font-weight:800;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;min-height:44px}
.btn.primary{background:var(--brand);color:white}.btn.ghost{background:#fff;color:var(--brand);border:1px solid var(--line)}.btn.danger{background:var(--red-bg);color:var(--red)}.btn:hover{opacity:.94}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:22px 0}
.stat{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:20px;box-shadow:0 8px 24px rgba(15,23,42,.04)}
.stat span{display:block;font-size:32px;font-weight:900;letter-spacing:-.04em}.stat small{color:var(--muted);font-weight:700}
.panel{background:var(--card);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);overflow:hidden}
.panel.small{padding:24px;box-shadow:0 8px 24px rgba(15,23,42,.04)}
.panel-head{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:22px;border-bottom:1px solid var(--line)}
#search{width:320px;max-width:100%;border:1px solid var(--line);border-radius:14px;padding:13px 14px;font:inherit;outline:none}
#search:focus{border-color:#c7d2fe;box-shadow:0 0 0 4px #eef2ff}
.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:14px}
th{background:#f9fafb;color:#374151;text-align:left;padding:14px 16px;white-space:nowrap;border-bottom:1px solid var(--line)}
td{padding:14px 16px;border-bottom:1px solid #f1f5f9;vertical-align:middle}tr:hover td{background:#fafafa}
.company-name{font-weight:800}.muted{color:var(--muted);font-size:13px}
.badge{display:inline-flex;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800;background:#f3f4f6;color:#374151;white-space:nowrap}
.badge.green{background:var(--green-bg);color:var(--green)}.badge.orange{background:var(--orange-bg);color:var(--orange)}
.row-actions{display:flex;gap:8px;justify-content:flex-end}
.icon-btn{border:0;background:#f3f4f6;border-radius:12px;width:38px;height:38px;cursor:pointer;font-size:20px;text-decoration:none;color:#111827;display:inline-flex;align-items:center;justify-content:center}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.checklist{margin:14px 0 0;padding:0;list-style:none}.checklist li{padding:12px 0;border-bottom:1px solid #f1f5f9}.checklist li:last-child{border-bottom:0}
dialog{width:860px;max-width:calc(100vw - 24px);border:0;border-radius:24px;padding:0;box-shadow:0 30px 90px rgba(0,0,0,.24)}
dialog::backdrop{background:rgba(15,23,42,.55)}form{padding:26px}.dialog-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:18px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:800;color:#374151;margin-bottom:14px}
input,select,textarea{width:100%;border:1px solid var(--line);border-radius:14px;padding:12px 13px;font:inherit;outline:none;background:#fff}
textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:#c7d2fe;box-shadow:0 0 0 4px #eef2ff}
.dialog-actions{display:flex;gap:10px;align-items:center;margin-top:10px}.spacer{flex:1}.empty{text-align:center;padding:34px;color:var(--muted)}
@media(max-width:850px){.topbar,.panel-head{flex-direction:column;align-items:stretch}.stats,.grid-2,.form-grid{grid-template-columns:1fr}h1{font-size:30px}}
