:root{
  --blue:#1B7FF5;
  --navy:#0d1b2a;
  --ink:#0d1b2a;
  --muted:#5a6675;
  --line:#e3e8ef;
  --card:#f8fafd;
  --chip:#e8f1fd;
  --red:#b3261e;
}
*{box-sizing:border-box;}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#ffffff;}

/* Brand lockup: Andiamo logo SVG + wordmark */
.brand{display:flex;align-items:center;}
.brand svg{display:block;}
.wordmark{font-weight:600;letter-spacing:-0.5px;line-height:1;margin-left:5px;}

/* RecruiterFlow badge (pure CSS) */
.rf-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#4e9af5;color:#fff;font-weight:600;line-height:1;}
.rf-badge--18{width:18px;height:18px;font-size:9px;}
.rf-badge--30{width:30px;height:30px;font-size:13px;}

/* Login page */
.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;}
.login-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:34px 36px;max-width:420px;width:100%;text-align:left;box-shadow:0 2px 10px rgba(13,27,42,.06);}
.login-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;}
.login-head .wordmark{font-size:20px;color:var(--navy);}
.rf-pill{display:inline-flex;align-items:center;gap:6px;background:var(--chip);color:#0e5cc0;border-radius:999px;padding:5px 12px;font-size:12px;font-weight:600;}
.login-card h1{margin:0 0 6px;font-size:22px;color:var(--navy);}
.login-card p{color:var(--muted);font-size:14px;margin:0 0 24px;}
.btn{display:inline-block;background:var(--blue);color:#fff;text-decoration:none;padding:12px 22px;border-radius:8px;font-weight:600;}

/* Top bar (authenticated pages) */
.topbar{display:flex;align-items:center;justify-content:space-between;background:var(--navy);padding:14px 24px;}
.topbar .wordmark{font-size:19px;color:#fff;}
.user{display:flex;align-items:center;gap:16px;font-size:14px;}
.user span{color:#9fb0c3;}
.adminlink{color:#6fb1f7;text-decoration:none;font-weight:600;}
.logout{color:#6fb1f7;text-decoration:none;font-weight:600;}

/* Content */
.content{max-width:1120px;margin:0 auto;padding:28px 24px;}
.content.narrow{max-width:640px;}
.content h1{color:var(--navy);margin:0 0 4px;}
.sub{color:var(--muted);font-size:14px;margin:0 0 28px;}

/* Directory header */
.dir-head{display:flex;align-items:center;gap:12px;margin:0 0 6px;}
.dir-head h1{font-size:24px;font-weight:600;color:var(--navy);margin:0;}

/* Report grid + cards */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:18px;display:flex;flex-direction:column;}
.card-icon{width:34px;height:34px;border-radius:8px;background:var(--chip);color:var(--blue);display:inline-flex;align-items:center;justify-content:center;margin-bottom:12px;}
.card-icon i{font-size:18px;line-height:1;}
.card h2{font-size:15px;font-weight:600;color:var(--navy);margin:0 0 6px;}
.card .intro{color:var(--muted);font-size:13px;margin:0 0 12px;}
.card ul{margin:0 0 16px;padding-left:18px;color:var(--muted);font-size:13px;}
.card li{margin-bottom:3px;}
.card .open{margin-top:auto;align-self:flex-start;}

/* Primary action button (Open report / Add report / Save) */
.open{display:inline-block;background:var(--blue);color:#fff;text-decoration:none;padding:8px 16px;border-radius:8px;font-weight:600;font-size:14px;border:none;cursor:pointer;}

/* Admin table */
.admin-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;}
.admin-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;}
.admin-table th,.admin-table td{text-align:left;padding:12px 16px;border-bottom:1px solid var(--line);font-size:14px;vertical-align:middle;}
.admin-table th{background:#eef2f7;color:var(--navy);}
.admin-table td.link a{color:var(--blue);text-decoration:none;font-size:12px;word-break:break-all;}
.rowactions{display:flex;align-items:center;gap:14px;}
.rowactions a{color:var(--blue);text-decoration:none;font-weight:600;}
.rowactions form{margin:0;}
.del{background:none;border:none;color:var(--red);font-weight:600;cursor:pointer;font-size:14px;padding:0;}

/* Admin form */
.form{display:flex;flex-direction:column;gap:8px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:24px;}
.form label{font-size:13px;color:var(--muted);margin-top:10px;font-weight:600;}
.form input,.form textarea{border:1px solid var(--line);border-radius:8px;padding:10px 12px;font-size:14px;font-family:inherit;}
.save{margin-top:20px;align-self:flex-start;}
