*{box-sizing:border-box;margin:0;padding:0}
:root{--teal:#24404c;--teal2:#5F8798;--gold:#D9B26F;--bg:#f5f7f8;--ink:#1c2b33;--mut:#6b7d87;--line:#e2e8eb}
body{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--bg);color:var(--ink);font-size:15px;line-height:1.5}
a{color:var(--teal2);text-decoration:none}
.top{background:var(--teal);color:#fff;display:flex;align-items:center;gap:28px;padding:0 22px;height:54px}
.brand{color:#fff;font-weight:700;font-size:19px;letter-spacing:.3px}
.brand span{color:var(--gold)}
.top nav{display:flex;gap:18px}
.top nav a{color:#cfdde2;padding:16px 2px}
.top nav a:hover{color:#fff}
.who{margin-left:auto;color:#9fb6bf;font-size:13px}
.who a{color:#cfdde2}
main{max-width:1000px;margin:0 auto;padding:28px 20px 70px}
h1{font-size:24px;margin-bottom:16px}
h2{font-size:16px;margin:20px 0 10px}
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;margin-bottom:8px}
.tile{background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px 16px;display:block;color:var(--ink)}
.tile b{font-size:26px;display:block}
.tile span{color:var(--mut);font-size:13px}
.tile--all{background:var(--teal);color:#fff;border-color:var(--teal)}
.tile--all span{color:#cfdde2}
.list{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.list th{background:#eef2f4;text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--mut);padding:9px 12px}
.list td{padding:11px 12px;border-top:1px solid var(--line)}
.list tr{cursor:pointer}
.list tr:hover td{background:#f7fafb}
.badge{display:inline-block;font-size:12px;font-weight:600;padding:2px 10px;border-radius:20px;background:#e2e8eb}
.badge--new{background:#d9ecff;color:#0d4d8c}
.badge--contacted{background:#fdf0d4;color:#7c5a10}
.badge--quoted{background:#e7e0f7;color:#4a3aa7}
.badge--bound{background:#d8f2d8;color:#1c6b1c}
.badge--lost{background:#f4dcdc;color:#8c2626}
.filters{display:flex;gap:10px;margin-bottom:14px}
.filters input,.filters select{padding:8px 10px;border:1px solid var(--line);border-radius:8px;font-size:14px}
.filters input{flex:1}
.filters button,button{background:var(--teal);color:#fff;border:0;border-radius:8px;padding:8px 18px;font-size:14px;cursor:pointer}
button:hover{background:#2f5361}
.empty{color:var(--mut);padding:18px 4px}
.card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:18px}
.cols{display:grid;grid-template-columns:1.2fr .8fr;gap:16px;align-items:start}
@media(max-width:760px){.cols{grid-template-columns:1fr}}
.kv{width:100%;border-collapse:collapse}
.kv th{text-align:left;color:var(--mut);font-weight:500;padding:5px 10px 5px 0;width:44%;vertical-align:top;font-size:13px}
.kv td{padding:5px 0}
.kv tr+tr th,.kv tr+tr td{border-top:1px solid #f0f3f5}
.crumb{margin-bottom:8px;font-size:13px}
.lead-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:18px}
.lead-meta{color:var(--mut);font-size:13px;margin:4px 0}
.lead-contact a{margin-right:16px;font-weight:600}
.statusform select{padding:8px 10px;border:1px solid var(--line);border-radius:8px;font-size:14px}
.statusform label{display:block;font-size:12px;color:var(--mut);margin-bottom:3px}
.noteform textarea{width:100%;border:1px solid var(--line);border-radius:8px;padding:9px;font:inherit;margin-bottom:8px}
.note{border-top:1px solid #f0f3f5;padding:10px 0}
.note-meta{font-size:12px;color:var(--mut);margin-bottom:2px}
.login-wrap{max-width:360px;margin:9vh auto 0;text-align:center}
.login-wrap h1{font-size:30px}
.login-wrap h1 span{color:var(--gold)}
.login-wrap .sub{color:var(--mut);margin:6px 0 22px}
.login-wrap .card{text-align:left}
.login-wrap label{display:block;font-size:13px;color:var(--mut);margin:10px 0 4px}
.login-wrap input{width:100%;padding:10px;border:1px solid var(--line);border-radius:8px;font-size:15px}
.login-wrap button{width:100%;margin-top:16px;padding:11px}
.error{background:#f4dcdc;color:#8c2626;border-radius:8px;padding:10px;margin-bottom:12px}

/* documents section */
.docs{margin:0 0 18px}
.docs h2{margin:0 0 10px}
.docs__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}
.doccard{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:13px 14px;color:var(--ink);transition:box-shadow .12s, border-color .12s}
.doccard:hover{border-color:var(--teal2);box-shadow:0 2px 10px rgba(36,64,76,.10)}
.doccard__icon{flex:none;width:42px;height:48px;border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;letter-spacing:.03em;color:#fff}
.doccard__icon--pdf{background:#c0392b}
.doccard__icon--xml{background:#2d7a4f}
.doccard__body{display:flex;flex-direction:column;gap:1px;min-width:0}
.doccard__body b{font-size:14px}
.doccard__body span{font-size:12px;color:var(--mut)}
.doccard__dl{margin-left:auto;flex:none;width:30px;height:30px;border-radius:50%;background:var(--bg);display:flex;align-items:center;justify-content:center;color:var(--teal);font-size:15px;font-weight:700}
.doccard:hover .doccard__dl{background:var(--teal);color:#fff}
.docs__hint{margin-top:8px;color:var(--mut);font-size:12px}

/* grouped application details */
.kv-group{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--teal2);margin:18px 0 6px;padding-bottom:4px;border-bottom:1px solid var(--line)}
.kv-group:first-of-type{margin-top:4px}
.card .kv{margin-bottom:2px}
