/* =====================================================================
   CÔNG CỤ PDF — Tí Nị Tí Hon
   Giao diện khối nổi ba chiều, nền trắng pha xanh da trời pastel,
   mỗi nhóm công cụ một màu riêng cho dễ phân biệt.
   ===================================================================== */
:root{
  --lam:#3b9ae1; --lam-d:#2a6fae;
  --tim:#8b7ef0; --tim-d:#6354cf;
  --luc:#3fc79a; --luc-d:#2a9b76;
  --cam:#ffa552; --cam-d:#d47a26;
  --hong:#f4718b; --hong-d:#cf4c67;
  --vang:#f0b429; --vang-d:#c08c10;
  --do:#e25563; --do-d:#b63a47;
  --muc:#123a5c; --nhat:#6b8aa6; --vien:#d5e8f8; --trang:#fff;
  --bong1:0 2px 4px rgba(18,58,92,.07),0 10px 24px rgba(59,154,225,.15);
  --bong2:0 6px 0 rgba(173,206,233,.5),0 18px 34px rgba(70,135,200,.18);
}
*{box-sizing:border-box}
body{
  margin:0;font-family:'Be Vietnam Pro',system-ui,Segoe UI,Roboto,Arial,sans-serif;
  color:var(--muc);font-size:15px;line-height:1.6;
  background:
    radial-gradient(1200px 560px at 10% -10%,#ffffff 0%,rgba(255,255,255,0) 60%),
    radial-gradient(900px 480px at 95% 5%,#fdf2ff 0%,rgba(255,255,255,0) 55%),
    linear-gradient(180deg,#f6fbff 0%,#e8f3ff 100%);
  background-attachment:fixed;min-height:100vh;
}
a{color:var(--lam-d)}
.bao{max-width:1120px;margin:0 auto;padding:18px 16px 60px}

/* ---------- đỉnh trang ---------- */
.dinh{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:22px}
.dinh .bieu{width:54px;height:54px;flex:none;border-radius:17px;display:grid;place-items:center;font-size:26px;
  background:linear-gradient(145deg,#ffffff,#dcefff);
  box-shadow:0 4px 0 #a9cdea,0 10px 20px rgba(80,140,200,.2),inset 0 2px 0 #fff}
.dinh h1{margin:0;font-size:25px;font-weight:900;letter-spacing:-.4px}
.dinh .sub{font-size:13.5px;color:var(--nhat)}
.day{flex:1}
.nut{border:none;border-radius:13px;padding:11px 20px;font:inherit;font-weight:800;cursor:pointer;color:#fff;
  background:linear-gradient(145deg,#8fd0ff,#3f93d8 60%,#2f7fc4);text-shadow:0 1px 2px rgba(16,55,90,.3);
  box-shadow:0 4px 0 var(--lam-d),0 10px 18px rgba(47,127,196,.26),inset 0 2px 0 rgba(255,255,255,.5);
  transition:.14s;text-decoration:none;display:inline-flex;align-items:center;gap:7px}
.nut:hover{transform:translateY(-2px);box-shadow:0 6px 0 var(--lam-d),0 14px 22px rgba(47,127,196,.3),inset 0 2px 0 rgba(255,255,255,.5)}
.nut:active{transform:translateY(3px);box-shadow:0 1px 0 var(--lam-d),inset 0 2px 0 rgba(255,255,255,.45)}
.nut:disabled{opacity:.45;transform:none;cursor:default;box-shadow:0 2px 0 #9fb8cd}
.nut.phu{background:linear-gradient(145deg,#ffffff,#eaf4fe);color:#2a6aa0;text-shadow:none;
  box-shadow:0 3px 0 #cfe2f3,0 8px 16px rgba(80,140,200,.15),inset 0 2px 0 #fff}
.nut.phu:hover{box-shadow:0 5px 0 #cfe2f3,0 12px 20px rgba(80,140,200,.2),inset 0 2px 0 #fff}
.nut.luc{background:linear-gradient(145deg,#8ee3c2,#1f9f74 65%,#178a63);box-shadow:0 4px 0 #137453,0 10px 18px rgba(31,159,116,.26),inset 0 2px 0 rgba(255,255,255,.45)}
.nut.luc:active{box-shadow:0 1px 0 #137453,inset 0 2px 0 rgba(255,255,255,.4)}
.nut.nho{padding:7px 14px;font-size:13px;border-radius:11px}

/* ---------- lời giới thiệu ---------- */
.gioi{border-radius:22px;padding:18px 22px;margin-bottom:22px;color:#fff;position:relative;overflow:hidden;
  background:linear-gradient(140deg,#9fd8ff,#6fa8e8 42%,#8b7ef0 100%);
  box-shadow:0 7px 0 rgba(90,130,190,.45),0 20px 38px rgba(90,130,200,.3),inset 0 2px 0 rgba(255,255,255,.4)}
.gioi::after{content:'';position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(420px 180px at 85% -10%,rgba(255,255,255,.45),transparent 65%)}
.gioi>*{position:relative;z-index:1}
.gioi b{font-size:17px;display:block;margin-bottom:4px;text-shadow:0 2px 4px rgba(16,55,90,.3)}
.gioi p{margin:0;font-size:13.5px;opacity:.97;line-height:1.65}
.gioi .ghim{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.26);border-radius:999px;
  padding:5px 13px;font-size:12.5px;font-weight:800;margin-top:9px;margin-right:7px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.5)}

/* ---------- lưới công cụ ---------- */
.nhom{margin-bottom:26px}
.nhom h2{font-size:16px;font-weight:900;margin:0 0 12px;display:flex;align-items:center;gap:9px;color:#1d4b73}
.nhom h2 i{font-style:normal;width:30px;height:30px;border-radius:10px;display:grid;place-items:center;font-size:15px;
  background:linear-gradient(145deg,#ffffff,#e4f1ff);box-shadow:0 2px 0 #c3dcf0,inset 0 1px 0 #fff}
.luoi{display:grid;grid-template-columns:repeat(auto-fill,minmax(228px,1fr));gap:14px}
.cc{border:none;border-radius:20px;padding:16px 17px;text-align:left;cursor:pointer;color:#fff;position:relative;
  overflow:hidden;font:inherit;transition:transform .17s,box-shadow .17s;display:block;width:100%}
.cc::after{content:'';position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(200px 110px at 82% -8%,rgba(255,255,255,.42),transparent 62%)}
.cc>*{position:relative;z-index:1}
.cc .bi{font-size:30px;line-height:1;display:block;margin-bottom:7px;filter:drop-shadow(0 2px 3px rgba(16,55,90,.28))}
.cc b{display:block;font-size:15.5px;font-weight:900;text-shadow:0 2px 3px rgba(16,55,90,.3)}
.cc small{display:block;font-size:12px;opacity:.95;margin-top:3px;line-height:1.5}
.cc:hover{transform:translateY(-5px)}
.cc:active{transform:translateY(2px)}
.cc.m-lam{background:linear-gradient(145deg,#9ad6ff,var(--lam));box-shadow:0 6px 0 var(--lam-d),0 14px 28px rgba(59,154,225,.35)}
.cc.m-lam:hover{box-shadow:0 9px 0 var(--lam-d),0 20px 34px rgba(59,154,225,.4)}
.cc.m-tim{background:linear-gradient(145deg,#c3b8ff,var(--tim));box-shadow:0 6px 0 var(--tim-d),0 14px 28px rgba(139,126,240,.35)}
.cc.m-tim:hover{box-shadow:0 9px 0 var(--tim-d),0 20px 34px rgba(139,126,240,.4)}
.cc.m-luc{background:linear-gradient(145deg,#8fe8c6,var(--luc));box-shadow:0 6px 0 var(--luc-d),0 14px 28px rgba(63,199,154,.35)}
.cc.m-luc:hover{box-shadow:0 9px 0 var(--luc-d),0 20px 34px rgba(63,199,154,.4)}
.cc.m-cam{background:linear-gradient(145deg,#ffd0a0,var(--cam));box-shadow:0 6px 0 var(--cam-d),0 14px 28px rgba(255,165,82,.35)}
.cc.m-cam:hover{box-shadow:0 9px 0 var(--cam-d),0 20px 34px rgba(255,165,82,.4)}
.cc.m-hong{background:linear-gradient(145deg,#ffb3c4,var(--hong));box-shadow:0 6px 0 var(--hong-d),0 14px 28px rgba(244,113,139,.35)}
.cc.m-hong:hover{box-shadow:0 9px 0 var(--hong-d),0 20px 34px rgba(244,113,139,.4)}
.cc.m-vang{background:linear-gradient(145deg,#ffe08a,var(--vang));box-shadow:0 6px 0 var(--vang-d),0 14px 28px rgba(240,180,41,.35)}
.cc.m-vang:hover{box-shadow:0 9px 0 var(--vang-d),0 20px 34px rgba(240,180,41,.4)}

/* ---------- khu làm việc ---------- */
.lam{border-radius:24px;padding:22px;background:var(--trang);border:2px solid var(--vien);
  box-shadow:var(--bong2);margin-bottom:22px}
.lam-dau{display:flex;align-items:center;gap:13px;flex-wrap:wrap;margin-bottom:16px}
.lam-dau .bi{width:48px;height:48px;flex:none;border-radius:15px;display:grid;place-items:center;font-size:23px;color:#fff}
.lam-dau h3{margin:0;font-size:19px;font-weight:900}
.lam-dau p{margin:0;font-size:13px;color:var(--nhat)}

.tha{border:3px dashed #bcdcf5;border-radius:20px;padding:30px 20px;text-align:center;cursor:pointer;
  background:linear-gradient(160deg,#fbfdff,#eef7ff);transition:.16s}
.tha:hover,.tha.keo{border-color:#6fb0e6;background:linear-gradient(160deg,#ffffff,#e2f1ff);transform:translateY(-2px)}
.tha .to{font-size:40px;line-height:1}
.tha b{display:block;font-size:16px;font-weight:900;margin-top:6px}
.tha small{color:var(--nhat);font-size:12.5px}

.ds-tep{display:grid;gap:9px;margin-top:14px}
.tep{display:flex;align-items:center;gap:11px;border-radius:14px;padding:10px 13px;
  background:linear-gradient(160deg,#ffffff,#f2f9ff);border:1px solid #e1eefa;
  box-shadow:0 2px 0 rgba(190,219,241,.5)}
.tep .ic{width:36px;height:36px;flex:none;border-radius:11px;display:grid;place-items:center;font-size:17px;
  background:linear-gradient(145deg,#eaf5ff,#d4e9fb);box-shadow:inset 0 1px 0 #fff}
.tep .tt{flex:1;min-width:0}
.tep .tt b{display:block;font-size:13.5px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tep .tt small{color:var(--nhat);font-size:11.5px}
.tep .bo{border:none;background:#ffe9ec;color:#c34a5c;border-radius:9px;width:30px;height:30px;cursor:pointer;
  font-weight:900;font-size:14px;flex:none;box-shadow:0 2px 0 #f2c3cb}
.tep .bo:hover{background:#ffd9df}

.tuy{display:grid;gap:13px;margin-top:16px;padding-top:16px;border-top:2px dashed #e3f0fb}
.hang{display:flex;gap:13px;flex-wrap:wrap;align-items:flex-end}
.o{display:flex;flex-direction:column;gap:5px}
.o label{font-size:12.5px;font-weight:800;color:#2a6aa0}
.o input,.o select,.o textarea{border:2px solid #cfe4f7;border-radius:12px;padding:9px 13px;font:inherit;font-size:14px;
  background:#fbfdff;box-shadow:inset 0 2px 4px rgba(120,160,200,.1);transition:.14s;min-width:150px}
.o input:focus,.o select:focus,.o textarea:focus{outline:none;border-color:#6fb0e6;box-shadow:0 0 0 3px rgba(111,176,230,.22)}
.o textarea{min-height:130px;resize:vertical;min-width:100%;font-family:inherit}
.o .ghi{font-size:11.5px;color:var(--nhat)}
.o.rong{flex:1;min-width:230px}

.chay-hang{display:flex;gap:11px;align-items:center;flex-wrap:wrap;margin-top:17px}
.tien{flex:1;min-width:170px;height:12px;border-radius:999px;background:#e8f2fb;overflow:hidden;
  box-shadow:inset 0 2px 4px rgba(120,160,200,.2);display:none}
.tien.hien{display:block}
.tien i{display:block;height:100%;width:0;border-radius:999px;transition:width .25s;
  background:linear-gradient(90deg,#8fd0ff,#3f93d8)}
.trang-thai{font-size:13px;font-weight:700;color:var(--nhat)}
.trang-thai.loi{color:#c34a5c}
.trang-thai.xong{color:#1f8f5f}

.kq{margin-top:17px;padding-top:16px;border-top:2px dashed #e3f0fb;display:none}
.kq.hien{display:block}
.kq h4{margin:0 0 11px;font-size:14.5px;font-weight:900;color:#1f8f5f}
.ds-kq{display:grid;gap:9px}
.mot-kq{display:flex;align-items:center;gap:11px;border-radius:14px;padding:11px 13px;
  background:linear-gradient(160deg,#f1fbf6,#e2f6ee);border:1px solid #c9ead9;
  box-shadow:0 2px 0 rgba(176,221,201,.6)}
.mot-kq .ic{width:36px;height:36px;flex:none;border-radius:11px;display:grid;place-items:center;font-size:17px;
  background:linear-gradient(145deg,#ffffff,#d8f2e6);box-shadow:inset 0 1px 0 #fff}
.mot-kq .tt{flex:1;min-width:0}
.mot-kq .tt b{display:block;font-size:13.5px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mot-kq .tt small{color:#4f8a72;font-size:11.5px}

.luu-y{margin-top:14px;border-radius:14px;padding:11px 15px;font-size:12.5px;line-height:1.6;
  background:linear-gradient(160deg,#fffdf3,#fff6dd);border:1px solid #f3e2b4;color:#7a5e18}
.luu-y b{color:#5d4710}

/* xem trước trang PDF để chọn */
.ds-trang{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:11px;margin-top:14px;
  max-height:420px;overflow:auto;padding:4px}
.mot-trang{border-radius:13px;overflow:hidden;cursor:pointer;position:relative;background:#fff;
  border:3px solid #dcecfa;box-shadow:0 3px 0 rgba(190,219,241,.6);transition:.14s}
.mot-trang:hover{transform:translateY(-3px)}
.mot-trang canvas,.mot-trang img{width:100%;display:block}
.mot-trang .so{position:absolute;left:5px;top:5px;background:rgba(18,58,92,.78);color:#fff;border-radius:8px;
  padding:2px 8px;font-size:11.5px;font-weight:900}
.mot-trang.chon{border-color:#3f93d8;box-shadow:0 0 0 3px rgba(63,147,216,.28),0 4px 0 #2a6fae}
.mot-trang.chon::after{content:'✓';position:absolute;right:5px;top:5px;width:22px;height:22px;border-radius:50%;
  background:linear-gradient(145deg,#8ee3c2,#1f9f74);color:#fff;font-size:13px;font-weight:900;
  display:grid;place-items:center;box-shadow:0 2px 0 #137453}

.an{display:none !important}
.trong{padding:26px;text-align:center;color:var(--nhat);font-size:13.5px}
footer.chan{text-align:center;color:var(--nhat);font-size:12.5px;padding:24px 10px;line-height:1.8}

@media(max-width:600px){
  .bao{padding:14px 12px 44px}
  .dinh h1{font-size:21px}
  .luoi{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:11px}
  .cc{padding:13px}
  .cc .bi{font-size:25px}
  .cc b{font-size:14px}
  .lam{padding:16px;border-radius:20px}
  .o input,.o select{min-width:130px}
}
