/* Syncground Cockpit — productinterface op basis van het Syncground-merkboard. */
:root{
  --blauw:#0A2C4C;
  --blauw-d:#07223C;
  --oranje:#1E88CE;
  --oranje-d:#146AAA;
  --licht:#E3F0FB;
  --licht2:#F2F7FC;
  --rand:#C7DDEE;
  --wit:#fff;
  --grijs:#5b6473;
  --schaduw:0 12px 34px rgba(10,44,76,.10);
}
*{box-sizing:border-box}
html,body{margin:0}
body{
  font-family:'Inter',Arial,sans-serif;
  color:var(--blauw);
  background:var(--licht2);
  -webkit-font-smoothing:antialiased;
}

/* ---------- Cockpit-topbalk ---------- */
.topbar{
  display:flex;align-items:center;justify-content:space-between;
  background:var(--blauw);color:#fff;
  padding:12px 22px;border-bottom:3px solid var(--oranje);
}
.topbar .merk{display:flex;align-items:center;gap:12px;text-decoration:none;color:#fff}
.topbar .merk img{height:34px;width:29px;color:#1E88CE;background:transparent;padding:0}
.topbar .merk .naam,.tegel h2,.inhoud h1,.login-kaart h1{font-family:'Archivo',sans-serif;font-weight:700}
.topbar .rechts{display:flex;align-items:center;gap:14px;font-size:14px;font-weight:600}
.rolbadge{
  background:rgba(255,255,255,.16);padding:3px 11px;border-radius:20px;
  font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;
}
.uitlog{background:var(--oranje);color:#fff;border:0;padding:8px 15px;border-radius:9px;
  font:inherit;font-weight:800;font-size:13px;cursor:pointer;transition:.2s}
.uitlog:hover{background:var(--oranje-d);transform:translateY(-1px)}

/* ---------- Cockpit-inhoud ---------- */
.inhoud{max-width:960px;margin:0 auto;padding:36px 22px}
.inhoud h1{font-size:30px;font-weight:900;letter-spacing:-.5px;margin:0 0 6px}
.inhoud .sub{color:var(--grijs);font-weight:600;margin:0 0 28px}

.tegels{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px}
.tegel{
  display:block;background:var(--wit);border:1.5px solid var(--blauw);border-radius:14px;
  padding:22px;text-decoration:none;color:var(--blauw);box-shadow:var(--schaduw);
  transition:transform .2s ease, box-shadow .2s ease;position:relative;overflow:hidden;
}
.tegel::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--oranje)}
a.tegel:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(47,47,126,.20)}
.tegel .icoon{font-size:30px;line-height:1}
.tegel h2{font-size:18px;font-weight:900;margin:14px 0 4px}
.tegel p{margin:0;color:var(--grijs);font-size:14px;font-weight:600;line-height:1.4}
.tegel.soon{opacity:.85}
.label{display:inline-block;margin-top:12px;font-size:11px;font-weight:800;text-transform:uppercase;
  letter-spacing:.6px;padding:4px 10px;border-radius:7px}
.label.soon{background:#fde3d2;color:var(--oranje-d)}

/* ---------- Login ---------- */
.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;
  background:linear-gradient(155deg,#15517F,#0C3358 48%,#07223C)}
.login-kaart{background:#fff;border-radius:16px;padding:36px 32px;width:340px;
  box-shadow:0 18px 48px rgba(0,0,0,.28);text-align:center}
.login-wordmark{justify-content:center;font-size:35px;margin:2px auto 24px;padding-bottom:20px;border-bottom:3px solid var(--oranje)}
.login-kaart h1{font-size:21px;font-weight:900;margin:0 0 2px;letter-spacing:-.3px}
.login-kaart .sub{color:var(--grijs);font-size:13px;font-weight:600;margin:0 0 6px;
  padding-bottom:16px;border-bottom:3px solid var(--oranje)}
.login-kaart label{display:block;text-align:left;font-size:12px;font-weight:800;text-transform:uppercase;
  letter-spacing:.5px;color:var(--grijs);margin:16px 0 5px}
.login-kaart input{width:100%;padding:11px 13px;border:1.5px solid var(--rand);border-radius:10px;
  font:inherit;font-size:15px;color:var(--blauw)}
.login-kaart input:focus{outline:none;border-color:var(--oranje)}
.login-kaart button{width:100%;margin-top:22px;background:var(--blauw);color:#fff;border:0;
  padding:12px;border-radius:10px;font:inherit;font-weight:800;font-size:15px;cursor:pointer;transition:.2s}
.login-kaart button:hover{background:var(--blauw-d);transform:translateY(-1px)}
.fout{background:#fde6e3;color:#cf3622;font-size:13px;font-weight:700;padding:10px 12px;
  border-radius:9px;margin-bottom:6px}
.microsoft-login{display:flex;align-items:center;justify-content:center;gap:11px;margin-top:18px;
  padding:12px;border-radius:10px;background:#fff;color:#24245f;border:1.5px solid #cfd5e5;
  text-decoration:none;font-size:15px;font-weight:850;transition:.2s}
.microsoft-login:hover{border-color:#8c98c1;box-shadow:0 7px 18px rgba(47,47,126,.12);transform:translateY(-1px)}
.microsoft-login>span{display:grid;grid-template-columns:repeat(2,8px);gap:2px}
.microsoft-login i{display:block;width:8px;height:8px}.microsoft-login i:nth-child(1){background:#f35325}
.microsoft-login i:nth-child(2){background:#81bc06}.microsoft-login i:nth-child(3){background:#05a6f0}
.microsoft-login i:nth-child(4){background:#ffba08}.login-scheiding{display:flex;align-items:center;gap:10px;
  margin:18px 0 2px;color:#858b9b;font-size:11px;font-weight:750}.login-scheiding:before,
.login-scheiding:after{content:"";height:1px;background:#e0e4ef;flex:1}.login-scheiding span{white-space:nowrap}

/* ---------- Iframe-frame voor onderdelen ---------- */
html.frame,body.frame{height:100%;overflow:hidden}
.frame-bar{
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;height:52px;
  background:var(--blauw);color:#fff;padding:0 16px;border-bottom:3px solid var(--oranje);
}
.fb-links{display:flex;align-items:center;gap:12px;min-width:0}
.fb-midden{display:flex;justify-content:center}
.fb-rechts{display:flex;align-items:center;justify-content:flex-end;gap:12px;min-width:0}
.terugknop{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.14);
  color:#fff;text-decoration:none;font-weight:800;font-size:14px;padding:8px 16px;border-radius:9px;
  transition:.2s;white-space:nowrap}
.terugknop:hover{background:rgba(255,255,255,.26)}
.frame-bar .titel{font-weight:900;font-size:15px;letter-spacing:-.2px;opacity:.95;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.frame-bar .merk-mini{height:28px;width:auto;background:#fff;border-radius:6px;padding:3px;flex:none}
.onderdeel{display:block;width:100%;height:calc(100vh - 52px);height:calc(100dvh - 52px);border:0}

/* ---------- Eenvoudige pagina (terug-link) ---------- */
.terug{display:inline-block;margin-bottom:18px;color:var(--blauw);font-weight:800;
  text-decoration:none;font-size:14px}
.terug:hover{color:var(--oranje)}

@media (max-width:600px){
  .topbar .merk .naam{font-size:16px}
  .frame-bar{padding:0 10px;gap:8px}
  .frame-rol{display:none}
  .terugknop{font-size:13px;padding:7px 12px}
  .frame-bar .titel{font-size:14px}
}
