:root{
  --brand:#0b2545;        /* blu profondo */
  --brand-2:#13315c;
  --accent:#f4a259;       /* arancio caldo */
  --accent-2:#e98a32;
  --ink:#1a2238;
  --muted:#6b7280;
  --soft:#f5f7fb;
  --line:#e6eaf1;
}
*{box-sizing:border-box}
body{
  font-family:'Plus Jakarta Sans',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  color:var(--ink);
  background:#fff;
}
a{text-decoration:none}
.text-accent{color:var(--accent)!important}
.bg-brand{background:var(--brand)!important}
.btn-accent{background:var(--accent);border-color:var(--accent);color:#231300;font-weight:600}
.btn-accent:hover{background:var(--accent-2);border-color:var(--accent-2);color:#231300}
.btn-brand{background:var(--brand);border-color:var(--brand);color:#fff}
.btn-brand:hover{background:var(--brand-2);border-color:var(--brand-2);color:#fff}

.navbar-brand span{font-size:1.15rem;letter-spacing:-.3px}
.navbar .nav-link{color:rgba(255,255,255,.85)}
.navbar .nav-link:hover{color:#fff}

/* ---------- Hero ---------- */
.hero{
  background:linear-gradient(140deg,var(--brand) 0%,var(--brand-2) 55%,#1c4a7a 100%);
  color:#fff;position:relative;overflow:hidden;
}
.hero::after{
  content:"";position:absolute;inset:0;
  background:radial-gradient(circle at 80% 20%,rgba(244,162,89,.25),transparent 45%);
}
.hero .container{position:relative;z-index:2}
.hero h1{font-weight:800;letter-spacing:-1px;line-height:1.1}
.hero .lead{color:rgba(255,255,255,.8)}
.search-card{background:#fff;border-radius:18px;box-shadow:0 20px 50px rgba(11,37,69,.25)}

/* ---------- Cards ---------- */
.card{border:1px solid var(--line);border-radius:16px}
.feature-icon{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;
  background:rgba(244,162,89,.15);color:var(--accent-2);font-size:1.4rem}
.region-tile{display:block;padding:1.1rem 1.25rem;border:1px solid var(--line);border-radius:14px;
  color:var(--ink);transition:.15s;background:#fff;height:100%}
.region-tile:hover{border-color:var(--accent);box-shadow:0 10px 24px rgba(11,37,69,.08);transform:translateY(-2px)}
.region-tile .count{color:var(--muted);font-size:.85rem}

.breadcrumb{background:var(--soft);padding:.6rem 1rem;border-radius:10px}
.breadcrumb a{color:var(--brand-2)}

.advisor-card{transition:.15s}
.advisor-card:hover{box-shadow:0 14px 30px rgba(11,37,69,.10);transform:translateY(-2px)}
.avatar{width:64px;height:64px;border-radius:50%;background:var(--brand);color:#fff;
  display:grid;place-items:center;font-weight:700;font-size:1.3rem;flex:none}
.avatar-lg{width:104px;height:104px;font-size:2rem}
.badge-soft{background:rgba(11,37,69,.07);color:var(--brand-2);font-weight:600}
.badge-cert{background:rgba(244,162,89,.16);color:var(--accent-2);font-weight:600}

.section-soft{background:var(--soft)}
.chip{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .7rem;border-radius:999px;
  background:var(--soft);border:1px solid var(--line);font-size:.85rem;color:var(--ink)}

/* ---------- Filtri ricerca ---------- */
.filter-panel{position:sticky;top:84px}
.form-check-label{font-size:.92rem}

/* ---------- Footer ---------- */
.footer-brand{background:var(--brand);color:#fff}
.footer-links a{color:rgba(255,255,255,.7);display:block;padding:.2rem 0}
.footer-links a:hover{color:#fff}

/* ---------- Auth ---------- */
.auth-wrap{min-height:calc(100vh - 70px);display:grid;place-items:center;background:var(--soft);padding:2rem 1rem}
.auth-card{max-width:480px;width:100%}

/* ============ ADMIN ============ */
.admin-body{background:var(--soft)}
.admin-shell{display:flex;min-height:100vh}
.admin-sidebar{width:248px;background:var(--brand);color:#fff;flex:none;position:fixed;inset:0 auto 0 0;z-index:1040}
.admin-brand{padding:1.2rem 1.25rem;font-weight:700;border-bottom:1px solid rgba(255,255,255,.1)}
.admin-nav{display:flex;flex-direction:column;padding:.5rem 0}
.admin-nav a{color:rgba(255,255,255,.78);padding:.7rem 1.25rem;display:flex;align-items:center;gap:.6rem}
.admin-nav a:hover{background:rgba(255,255,255,.06);color:#fff}
.admin-nav a.active{background:var(--accent);color:#231300;font-weight:600}
.admin-main{margin-left:248px;flex:1;min-width:0;display:flex;flex-direction:column}
.admin-topbar{background:#fff;border-bottom:1px solid var(--line);padding:.8rem 1.5rem;display:flex;align-items:center;gap:1rem}
.admin-content{padding:1.5rem}
.stat-card{border-radius:16px;border:1px solid var(--line);background:#fff;padding:1.25rem}
.stat-card .num{font-size:1.9rem;font-weight:800;color:var(--brand)}
.stat-card .ico{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;font-size:1.3rem}

@media (max-width:991.98px){
  .admin-sidebar{transform:translateX(-100%);transition:.2s}
  body.sidebar-open .admin-sidebar{transform:none}
  .admin-main{margin-left:0}
}

/* ---------- Utility brand aggiuntive ---------- */
.text-brand{color:var(--brand)!important}
.bg-accent{background:var(--accent)!important;color:#231300!important}
.btn-outline-brand{color:var(--brand);border-color:var(--brand);background:transparent}
.btn-outline-brand:hover{background:var(--brand);border-color:var(--brand);color:#fff}
