:root{
	--fh-primary:#2563EB;
	--fh-secondary:#111827;
	--fh-bg:#F8FAFC;
	--fh-card:#FFFFFF;
	--fh-border:#E5E7EB;
	--fh-text:#0F172A;
	--fh-muted:#64748B;
	--fh-radius:16px;
	--fh-shadow:0 1px 2px rgba(15,23,42,.04),0 8px 24px rgba(15,23,42,.06);
}
@media (prefers-color-scheme: dark){
	:root{ --fh-bg:#0B1220; --fh-card:#111827; --fh-border:#1F2937; --fh-text:#F8FAFC; --fh-muted:#94A3B8; }
}
.fh{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:var(--fh-text);}
.fh *{box-sizing:border-box}
.fh h1,.fh h2,.fh h3{font-family:Poppins,Inter,sans-serif;letter-spacing:-.01em}
.fh-container{max-width:1200px;margin:0 auto;padding:24px}
.fh-card{background:var(--fh-card);border:1px solid var(--fh-border);border-radius:var(--fh-radius);box-shadow:var(--fh-shadow);padding:24px}
.fh-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}
.fh-btn{display:inline-flex;align-items:center;justify-content:center;background:var(--fh-primary);color:#fff;border:0;border-radius:12px;padding:12px 18px;font-weight:600;cursor:pointer;transition:transform .12s ease,opacity .12s ease;text-decoration:none}
.fh-btn:hover{transform:translateY(-1px);opacity:.95}
.fh-btn-ghost{background:transparent;color:var(--fh-primary);border:1px solid var(--fh-border)}
.fh-input,.fh-textarea,.fh-select{width:100%;padding:12px 14px;border:1px solid var(--fh-border);border-radius:12px;background:var(--fh-card);color:var(--fh-text);font:inherit;transition:border-color .12s}
.fh-input:focus,.fh-textarea:focus,.fh-select:focus{outline:none;border-color:var(--fh-primary);box-shadow:0 0 0 4px rgba(37,99,235,.12)}
.fh-field{margin-bottom:14px}
.fh-label{display:block;font-size:13px;font-weight:600;color:var(--fh-muted);margin-bottom:6px}
.fh-auth{max-width:440px;margin:40px auto}
.fh-auth h1{font-size:26px;margin:0 0 4px}
.fh-auth p.fh-sub{color:var(--fh-muted);margin:0 0 20px}
.fh-dashboard{display:grid;grid-template-columns:240px 1fr;gap:24px}
@media (max-width: 900px){ .fh-dashboard{grid-template-columns:1fr} }
.fh-sidebar{background:var(--fh-card);border:1px solid var(--fh-border);border-radius:var(--fh-radius);padding:16px;position:sticky;top:24px;height:fit-content}
.fh-sidebar a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;color:var(--fh-text);text-decoration:none;font-weight:500}
.fh-sidebar a:hover,.fh-sidebar a.active{background:rgba(37,99,235,.08);color:var(--fh-primary)}
.fh-vehicle{background:var(--fh-card);border:1px solid var(--fh-border);border-radius:var(--fh-radius);overflow:hidden;box-shadow:var(--fh-shadow);transition:transform .15s}
.fh-vehicle:hover{transform:translateY(-2px)}
.fh-vehicle img{width:100%;height:180px;object-fit:cover;display:block}
.fh-vehicle .fh-body{padding:16px}
.fh-vehicle h3{margin:0 0 6px;font-size:17px}
.fh-badge{display:inline-block;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600;background:rgba(37,99,235,.1);color:var(--fh-primary)}
.fh-msg-thread{display:grid;grid-template-columns:280px 1fr;gap:16px;min-height:520px}
.fh-msg-list{border:1px solid var(--fh-border);border-radius:var(--fh-radius);overflow:hidden;background:var(--fh-card)}
.fh-msg-item{padding:14px;border-bottom:1px solid var(--fh-border);cursor:pointer}
.fh-msg-item:hover{background:rgba(37,99,235,.05)}
.fh-msg-window{display:flex;flex-direction:column;background:var(--fh-card);border:1px solid var(--fh-border);border-radius:var(--fh-radius);padding:16px}
.fh-msg-bubble{max-width:70%;padding:10px 14px;border-radius:14px;margin-bottom:8px;background:#F1F5F9}
.fh-msg-bubble.me{margin-left:auto;background:var(--fh-primary);color:#fff}
.fh-notif{display:flex;gap:12px;padding:14px;border-bottom:1px solid var(--fh-border)}
.fh-notif .dot{width:8px;height:8px;border-radius:50%;background:var(--fh-primary);margin-top:6px;flex-shrink:0}
.fh-table{width:100%;border-collapse:separate;border-spacing:0;background:var(--fh-card);border:1px solid var(--fh-border);border-radius:var(--fh-radius);overflow:hidden}
.fh-table th,.fh-table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--fh-border);font-size:14px}
.fh-table th{background:rgba(15,23,42,.03);font-weight:600;color:var(--fh-muted)}
.fh-alert{padding:12px 14px;border-radius:12px;background:rgba(37,99,235,.08);color:var(--fh-primary);margin-bottom:14px}
.fh-alert.error{background:rgba(239,68,68,.08);color:#DC2626}
