/* BAMBUMRO MailKit — giao diện theo Brand Style Guide v2.0 */

:root{
  /* Màu chính */
  --forest:#1F4E3D;        /* Deep Forest — thương hiệu chính, header, footer */
  --forest-800:#183E31;
  --forest-600:#2A6650;
  --green:#2D8A52;         /* Bambu Green — CTA, link, highlight */
  --green-700:#256F43;
  --navy:#142841;          /* Navy Ink — tiêu đề lớn trên nền sáng */

  /* Nền & nhấn */
  --cream:#FFF5EA;         /* Warm Cream */
  --offwhite:#F8FAF9;      /* Off White */
  --sage:#E4F2EA;          /* Sage Mist */
  --white:#FFFFFF;

  /* Accent ấm */
  --terra:#C65D2E;         /* Terracotta — số liệu nổi bật, CTA phụ */
  --terra-light:#F2C9B0;

  /* Trung tính */
  --ink:#0F172A;
  --slate:#334155;
  --muted:#6B7280;
  --line:#E5E7EB;

  /* Trạng thái */
  --alert:#C44536;
  --warning:#D97706;
  --success:#16A34A;
  --info:#1B5C7A;

  --radius:10px;
  --shadow:0 1px 2px rgba(15,23,42,.04), 0 4px 16px rgba(15,23,42,.05);
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  font-family:'Cabin',system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  font-size:15px;line-height:1.6;color:var(--slate);background:var(--offwhite);
}

/* ---------- Thanh điều hướng ---------- */
header{
  background:var(--forest);color:#fff;
  display:flex;align-items:center;gap:20px;
  padding:0 24px;height:60px;
  box-shadow:0 1px 0 rgba(255,255,255,.06), 0 2px 12px rgba(15,23,42,.10);
  position:sticky;top:0;z-index:40;
}
header .brand{display:flex;align-items:center;gap:11px;text-decoration:none;flex-shrink:0}
header .brand img{height:30px;width:auto;display:block}
header .brand .sys{
  font-size:12px;font-weight:500;letter-spacing:.10em;text-transform:uppercase;
  color:rgba(255,255,255,.62);border-left:1px solid rgba(255,255,255,.22);
  padding-left:11px;line-height:1.15;white-space:nowrap;
}
header nav{display:flex;gap:2px;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none}
header nav::-webkit-scrollbar{display:none}
header nav a{
  color:rgba(255,255,255,.80);text-decoration:none;
  padding:8px 14px;border-radius:8px;font-size:14.5px;font-weight:500;white-space:nowrap;
  transition:background .12s, color .12s;
}
header nav a:hover{background:rgba(255,255,255,.10);color:#fff}
header nav a.active{background:var(--green);color:#fff;font-weight:600}
header .who{font-size:13px;color:rgba(255,255,255,.70);white-space:nowrap;flex-shrink:0}
header .who a{color:rgba(255,255,255,.92)}

/* Màn hẹp: bỏ bớt phần phụ để các mục điều hướng không bị đẩy khuất */
@media(max-width:1100px){
  header{padding:0 16px;gap:12px}
  header nav a{padding:8px 11px;font-size:14px}
  header .brand .sys{display:none}
}
@media(max-width:820px){
  header .who .uname{display:none}
  header .brand img{height:26px}
}

main{max-width:1180px;margin:26px auto;padding:0 24px 72px}

/* ---------- Chữ ---------- */
h2{margin:0 0 5px;font-size:26px;font-weight:700;color:var(--forest);letter-spacing:-.01em;line-height:1.25}
h3{margin:0 0 14px;font-size:16px;font-weight:600;color:var(--forest)}
.sub{color:var(--muted);font-size:14px;margin:0 0 20px}
.muted{color:var(--muted)}
.right{text-align:right}
a{color:var(--green-700)}
code{background:var(--sage);color:var(--forest);padding:1px 6px;border-radius:5px;
     font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px}

/* ---------- Thẻ & lưới ---------- */
.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);
      padding:20px;margin-bottom:18px;box-shadow:var(--shadow)}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.row.end{justify-content:flex-end}
.grid{display:grid;gap:16px}
.grid.k4{grid-template-columns:repeat(4,1fr)}
.grid.k3{grid-template-columns:repeat(3,1fr)}
.grid.k2{grid-template-columns:1fr 1fr}
@media(max-width:900px){.grid.k4,.grid.k3,.grid.k2{grid-template-columns:1fr 1fr}}
@media(max-width:580px){.grid.k4,.grid.k3,.grid.k2{grid-template-columns:1fr}}

/* ---------- Ô số liệu ---------- */
.stat{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);
      padding:18px;box-shadow:var(--shadow);position:relative;overflow:hidden}
.stat::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--forest)}
.stat.accent::before{background:var(--terra)}
.stat .l{font-size:11.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.09em;font-weight:600}
.stat .n{font-size:31px;font-weight:700;line-height:1.15;color:var(--forest);margin-top:3px;
         font-variant-numeric:tabular-nums}
.stat.accent .n{color:var(--terra)}
.stat .h{font-size:12.5px;color:var(--muted);margin-top:4px}

/* ---------- Biểu mẫu ---------- */
input[type=text],input[type=email],input[type=password],input[type=datetime-local],
input[type=file],select,textarea{
  padding:10px 12px;border:1px solid #CBD5D1;border-radius:8px;background:#fff;width:100%;
  font-family:inherit;font-size:14.5px;color:var(--ink);transition:border-color .12s, box-shadow .12s;
}
input:focus,select:focus,textarea:focus{
  outline:none;border-color:var(--green);box-shadow:0 0 0 3px rgba(45,138,82,.14);
}
input[type=file]{padding:8px 10px;background:var(--offwhite);cursor:pointer}
textarea{resize:vertical;min-height:96px}
label{display:block;font-size:13px;color:var(--slate);margin:0 0 5px;font-weight:600}
.f{margin-bottom:14px;flex:1;min-width:180px}

/* ---------- Nút ---------- */
button{
  padding:9px 17px;border:1px solid #CBD5D1;border-radius:8px;background:#fff;color:var(--slate);
  cursor:pointer;font-family:inherit;font-size:14.5px;font-weight:600;
  transition:background .12s, border-color .12s, color .12s;
}
button:hover{background:var(--offwhite);border-color:#B6C4BE}
button.p{background:var(--green);border-color:var(--green);color:#fff}
button.p:hover{background:var(--green-700);border-color:var(--green-700)}
button.d{background:var(--alert);border-color:var(--alert);color:#fff}
button.d:hover{filter:brightness(.93)}
button.sm{padding:5px 11px;font-size:13px;font-weight:500}
button:disabled{opacity:.45;cursor:not-allowed}
a>button{width:100%}

/* ---------- Bảng ---------- */
table{width:100%;border-collapse:collapse;font-size:14px}
th,td{text-align:left;padding:11px 12px;border-bottom:1px solid var(--line);vertical-align:middle}
th{font-size:11.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);
   font-weight:700;background:var(--offwhite);border-bottom:1px solid var(--line)}
tbody tr:hover{background:var(--sage)}
tbody tr:last-child td{border-bottom:none}

/* ---------- Nhãn trạng thái ---------- */
.tag{display:inline-block;padding:3px 10px;border-radius:20px;font-size:11.5px;
     font-weight:600;white-space:nowrap;letter-spacing:.01em}
.tag.ok{background:var(--sage);color:#15603D}
.tag.no{background:#FBE4E0;color:var(--alert)}
.tag.wait{background:#FEF0DC;color:#9A5B08}
.tag.go{background:#DCEAF2;color:var(--info)}
.tag.mute{background:#EEF1F0;color:var(--muted)}

/* ---------- Hộp thông báo ---------- */
.warn,.err,.ok,.info-box{padding:13px 16px;border-radius:9px;font-size:14px;margin-bottom:16px;
                         border:1px solid;line-height:1.55}
.warn{background:#FEF7EC;border-color:#F5DCB6;color:#8A5308}
.err{background:#FDF0EE;border-color:#F3CFC8;color:#9C3327}
.ok{background:var(--sage);border-color:#BEDECC;color:#14603C}
.info-box{background:var(--cream);border-color:#EBDCC8;color:#6B5232}

/* ---------- Hộp thoại ---------- */
.modal{position:fixed;inset:0;background:rgba(15,23,42,.55);backdrop-filter:blur(2px);
       display:flex;align-items:flex-start;justify-content:center;padding:44px 16px;
       overflow:auto;z-index:60}
.modal .box{background:#fff;border-radius:14px;padding:26px;width:100%;max-width:760px;
            box-shadow:0 20px 60px rgba(15,23,42,.28)}
.modal .box.wide{max-width:1000px}
.modal .box h3{font-size:19px;margin-bottom:6px}

/* ---------- Linh tinh ---------- */
.chip{display:inline-block;background:var(--sage);color:var(--forest);border:1px solid #C7E0D2;
      border-radius:7px;padding:4px 9px;font-size:12px;
      font-family:ui-monospace,SFMono-Regular,Menlo,monospace;cursor:pointer;margin:0 5px 5px 0;
      transition:background .12s}
.chip:hover{background:#D3EADD}
iframe.prev{width:100%;height:540px;border:1px solid var(--line);border-radius:9px;background:#fff}
.bar{height:8px;background:var(--line);border-radius:5px;overflow:hidden}
.bar i{display:block;height:100%;background:var(--green);transition:width .3s}
.bar i.warn-fill{background:var(--warning)}
.hidden{display:none}

/* ---------- Trang đăng nhập ---------- */
.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;
            padding:24px;background:var(--forest);
            background-image:radial-gradient(circle at 18% 12%, rgba(45,138,82,.34), transparent 52%),
                             radial-gradient(circle at 88% 82%, rgba(198,93,46,.16), transparent 48%)}
.login-card{background:#fff;border-radius:16px;padding:34px 32px;width:100%;max-width:392px;
            box-shadow:0 24px 64px rgba(0,0,0,.3)}
.login-card .logo{text-align:center;margin-bottom:22px}
.login-card .logo img{height:76px;width:auto}
.login-card .tagline{text-align:center;font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;
                     color:var(--muted);margin:9px 0 0;font-weight:600}
.login-card h1{font-size:17px;font-weight:600;color:var(--forest);text-align:center;margin:0 0 22px}
.login-card input{margin-bottom:12px}
.login-card button{width:100%;padding:12px;font-size:15px;margin-top:6px}
.login-foot{text-align:center;font-size:12px;color:var(--muted);margin-top:20px}
