:root{
  --navy:#1B2A6B; --teal:#1CA0C4; --green:#4FA935; --purple:#7A3DA6;
  --blue:#2C6BED; --bg:#f4f6fb; --ink:#1a1a2e; --line:#e7ebf3;
}
*{box-sizing:border-box}
body{margin:0;font-family:'Segoe UI',Arial,sans-serif;color:var(--ink);background:var(--bg)}
a{color:var(--blue);text-decoration:none}
a:hover{text-decoration:underline}
.topbar{display:flex;align-items:center;gap:14px;padding:12px 22px;background:#fff;
  border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}
.topbar img{height:38px}
.brandname{font-weight:800;letter-spacing:1px;color:var(--navy);font-size:18px}
.brandname .mis{color:var(--teal)} .brandname .tree{color:var(--green)}
.topbar .spacer{flex:1}
.topbar a{color:var(--navy);font-weight:600;margin-left:18px}
.langsw{margin-left:22px;font-size:13px;color:#99a}
.langsw a{margin:0 4px;color:#99a;font-weight:600}
.langsw a.on{color:var(--teal);text-decoration:underline}

/* first-login tutorial overlay */
.tut-overlay{position:fixed;inset:0;z-index:60;background:rgba(10,16,45,.55);
  backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;
  padding:20px}
.tut-card{max-width:560px;margin:0}
.tut-steps{margin:14px 0 0;padding-left:20px;font-size:15px;line-height:1.75;color:#334}
.tut-steps li{margin-bottom:8px}
.wrap{max-width:960px;margin:28px auto;padding:0 18px}
.card{background:#fff;border:1px solid var(--line);border-radius:14px;
  box-shadow:0 4px 20px rgba(27,42,107,.06);padding:26px 30px;margin-bottom:20px}
.auth{max-width:420px;margin:60px auto}
h1{font-size:22px;color:var(--navy);margin:0 0 6px}
h2{font-size:16px;color:var(--navy);margin:0 0 14px}
label{display:block;font-size:13px;color:#556;margin:12px 0 4px}
input,select{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:9px;font-size:14px}
.btn{display:inline-block;border:0;border-radius:10px;padding:11px 20px;font-size:14px;
  font-weight:700;cursor:pointer;color:#fff;background:var(--navy)}
.btn:hover{filter:brightness(1.08);text-decoration:none}
.btn.green{background:var(--green)} .btn.teal{background:var(--teal)}
.btn.ghost{background:#eef1f8;color:var(--navy)}
.badge{display:inline-block;padding:3px 10px;border-radius:20px;font-size:12px;font-weight:700}
.badge.ok{background:#e6f6ec;color:#1f7a3a}
.badge.warn{background:#fdecec;color:#b23b3b}
.badge.info{background:#e7f1fd;color:#1c4fb0}
.flash{padding:11px 16px;border-radius:10px;margin-bottom:14px;font-size:14px}
.flash.ok{background:#e6f6ec;color:#1f7a3a} .flash.error{background:#fdecec;color:#b23b3b}
table{width:100%;border-collapse:collapse;font-size:13px}
td,th{padding:8px 10px;border-bottom:1px solid var(--line);text-align:left}
th{color:var(--navy)}
.hero{background:linear-gradient(135deg,var(--navy),var(--teal) 65%,var(--green));
  color:#fff;border-radius:14px;padding:26px 30px;margin-bottom:20px}
.hero .price{font-size:26px;font-weight:800}
.muted{color:#889;font-size:13px}

/* --- login background video --- */
.bgvideo{position:fixed;inset:0;width:100vw;height:100vh;object-fit:cover;
  z-index:-2;pointer-events:none;background:#0a1a1c}
@media (max-width:768px){
  /* mobile: the video becomes a hero block at the TOP (full frame, no crop),
     and the auth card sits BELOW it, always visible — filling the space */
  .bgvideo{position:static;width:100%;height:auto;border-radius:12px;
    display:block;box-shadow:0 6px 24px rgba(10,16,45,.35)}
  .bgvideo-tint{display:none}
  .card.auth.glass{display:block !important;position:static;margin:18px auto 0;
    width:auto;max-width:440px}
}
.bgvideo-tint{position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(160deg,rgba(27,42,107,.55),rgba(28,160,196,.30) 60%,rgba(79,169,53,.25))}
.card.glass{background:rgba(255,255,255,.88);backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);border-color:rgba(255,255,255,.6);
  box-shadow:0 10px 40px rgba(10,16,45,.35)}
/* login card pinned to the top-right so the video stays visible (desktop only) */
@media (min-width:769px){
  .card.auth.glass{position:fixed;top:84px;right:42px;margin:0;width:380px;
    max-width:calc(100vw - 40px)}
}
