/* MELINHBIZ — nền tảng giao diện dùng chung cho website, app hội viên và khu quản trị */
@font-face{font-family:"Be Vietnam Pro";font-weight:400;font-display:swap;src:url("../fonts/be-vietnam-pro-vietnamese-400-normal.fe6a292550f5.woff2") format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}
@font-face{font-family:"Be Vietnam Pro";font-weight:400;font-display:swap;src:url("../fonts/be-vietnam-pro-latin-400-normal.79141d22ee07.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Be Vietnam Pro";font-weight:500;font-display:swap;src:url("../fonts/be-vietnam-pro-vietnamese-500-normal.ee80d72b320a.woff2") format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}
@font-face{font-family:"Be Vietnam Pro";font-weight:500;font-display:swap;src:url("../fonts/be-vietnam-pro-latin-500-normal.4ca4b0de939a.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Be Vietnam Pro";font-weight:600;font-display:swap;src:url("../fonts/be-vietnam-pro-vietnamese-600-normal.f08f144d6ee5.woff2") format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}
@font-face{font-family:"Be Vietnam Pro";font-weight:600;font-display:swap;src:url("../fonts/be-vietnam-pro-latin-600-normal.a4759a77d292.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Be Vietnam Pro";font-weight:700;font-display:swap;src:url("../fonts/be-vietnam-pro-vietnamese-700-normal.d8c5838a2fa6.woff2") format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}
@font-face{font-family:"Be Vietnam Pro";font-weight:700;font-display:swap;src:url("../fonts/be-vietnam-pro-latin-700-normal.85718a3b2569.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  --paper:#F5F6F2;--paper-2:#ECEEE8;--card:#fff;--ink:#17201B;--ink-2:#414B45;--muted:#66706A;--line:#E0E4DC;--line-2:#ECEFE9;
  --brand-base:#12A550;--brand:#0E8440;--brand-2:#109347;--brand-3:#084522;--brand-4:#052E16;--brand-t:#E7F6EE;--brand-t2:#D0EDDC;
  --leaf:#6ABA4A;--gold:#A8771C;--gold-2:#D4A64A;--gold-t:#FBF2DE;
  --ok:#1F7A45;--ok-t:#E2F2E8;--warn:#A35F00;--warn-t:#FCEED6;--bad:#B4332A;--bad-t:#F9E2DF;--info:#2B5E8F;--info-t:#E3ECF5;
  --r:12px;--r-sm:8px;--r-lg:18px;
  --sh:0 1px 2px rgba(16,32,22,.05),0 6px 20px rgba(16,32,22,.05);--sh-lg:0 14px 44px rgba(16,32,22,.14);
  --font:"Be Vietnam Pro",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --display:"Be Vietnam Pro",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --focus:0 0 0 3px rgba(18,165,80,.28);
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.6 var(--font);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg{max-width:100%;vertical-align:middle}
a{color:var(--brand-2);text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:3px}
h1,h2,h3,h4{line-height:1.25;margin:0 0 .5em;font-weight:700;letter-spacing:-.01em;text-wrap:balance}
h1{font-size:1.75rem}h2{font-size:1.35rem}h3{font-size:1.1rem}h4{font-size:1rem}
p{margin:0 0 1em}
hr{border:0;border-top:1px solid var(--line);margin:1.5rem 0}
small,.small{font-size:.86em}
.muted{color:var(--muted)}.ink2{color:var(--ink-2)}
.nowrap{white-space:nowrap}.right{text-align:right}.center{text-align:center}
.mt0{margin-top:0}.mb0{margin-bottom:0}.mt1{margin-top:.5rem}.mt2{margin-top:1rem}.mt3{margin-top:1.5rem}.mb1{margin-bottom:.5rem}.mb2{margin-bottom:1rem}.mb3{margin-bottom:1.5rem}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.num{font-variant-numeric:tabular-nums}
.ic{width:1.15em;height:1.15em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.ic.lg{width:1.5em;height:1.5em}.ic.xl{width:2.2em;height:2.2em;stroke-width:1.6}
:focus-visible{outline:none;box-shadow:var(--focus);border-radius:6px}

/* bố cục */
.wrap{max-width:1160px;margin:0 auto;padding:0 20px}
.stack>*+*{margin-top:var(--gap,1rem)}
.row{display:flex;align-items:center;gap:var(--gap,.75rem);flex-wrap:wrap}
.row.between{justify-content:space-between}.row.nw{flex-wrap:nowrap}.row.top{align-items:flex-start}
.grow{flex:1 1 auto;min-width:0}
.grid{display:grid;gap:var(--gap,1rem)}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.gauto{grid-template-columns:repeat(auto-fill,minmax(var(--min,260px),1fr))}
@media(max-width:900px){.g3,.g4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.g2,.g3,.g4{grid-template-columns:minmax(0,1fr)}}

/* thẻ */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:20px;box-shadow:var(--sh)}
.card.flat{box-shadow:none}.card.pad0{padding:0}.card.tight{padding:14px 16px}
.card-h{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:14px}
.card-h h2,.card-h h3{margin:0}
.card-link{display:block;color:inherit}.card-link:hover{text-decoration:none;border-color:var(--brand-2)}
.sect-t{font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);margin:0 0 .4rem}

/* nút */
.btn{--b:var(--line);display:inline-flex;align-items:center;justify-content:center;gap:.5em;padding:.62em 1.1em;border-radius:var(--r);border:1px solid var(--b);background:var(--card);color:var(--ink);font:600 .93rem/1.2 var(--font);cursor:pointer;text-decoration:none!important;white-space:nowrap;transition:background .15s,border-color .15s,transform .05s}
.btn:hover{border-color:var(--brand-2);color:var(--brand)}
.btn:active{transform:translateY(1px)}
.btn-primary{background:var(--brand);border-color:var(--brand);color:#fff}
.btn-primary:hover{background:var(--brand-2);border-color:var(--brand-2);color:#fff}
.btn-gold{background:var(--gold);border-color:var(--gold);color:#fff}.btn-gold:hover{background:#94691b;color:#fff;border-color:#94691b}
.btn-dark{background:#25292a;border-color:#25292a;color:#fff}.btn-dark:hover{background:#0d0f0f;border-color:#0d0f0f;color:#fff}
.btn-danger{color:var(--bad);border-color:#E9C3BD}.btn-danger:hover{background:var(--bad-t);border-color:var(--bad);color:var(--bad)}
.btn-ghost{background:transparent;border-color:transparent}.btn-ghost:hover{background:var(--paper-2);border-color:transparent}
.btn-sm{padding:.42em .75em;font-size:.84rem;border-radius:var(--r-sm)}
.btn-lg{padding:.85em 1.4em;font-size:1rem}
.btn-block{width:100%}
.btn[disabled]{opacity:.5;pointer-events:none}
.btn-icon{padding:.5em;aspect-ratio:1}

/* nhãn */
.badge{display:inline-flex;align-items:center;gap:.3em;padding:.12em .6em;border-radius:99px;font-size:.78rem;font-weight:600;line-height:1.6;white-space:nowrap;background:var(--paper-2);color:var(--ink-2)}
.t-ok{background:var(--ok-t);color:var(--ok)}.t-warn{background:var(--warn-t);color:var(--warn)}.t-bad{background:var(--bad-t);color:var(--bad)}
.t-info{background:var(--info-t);color:var(--info)}.t-gold{background:var(--gold-t);color:var(--gold)}.t-muted{background:var(--paper-2);color:var(--muted)}
.t-brand{background:var(--brand-t);color:var(--brand)}
.lv{display:inline-flex;align-items:center;gap:.4em;font-weight:600;font-size:.85rem;white-space:nowrap}
.lv i{width:.62em;height:.62em;border-radius:50%;background:currentColor;display:inline-block}
.lv-green{color:#2C7A4B}.lv-teal{color:var(--brand-2)}.lv-yellow{color:#A17A00}.lv-orange{color:#C2620E}.lv-red{color:var(--bad)}

/* ảnh đại diện */
.av{display:inline-grid;place-items:center;border-radius:50%;object-fit:cover;font-weight:700;color:#fff;background:var(--brand);flex:none;letter-spacing:.02em}
.av-sm{width:32px;height:32px;font-size:.75rem}.av-md{width:44px;height:44px;font-size:.9rem}.av-lg{width:72px;height:72px;font-size:1.3rem}.av-xl{width:112px;height:112px;font-size:2rem}
.av-c0{background:var(--brand)}.av-c1{background:#A87A22}.av-c2{background:#2E5C8A}.av-c3{background:#7A4E7E}.av-c4{background:#4E7D2F}.av-c5{background:#9B4A36}

/* biểu mẫu */
.field{margin-bottom:1rem}
.field>label,.lbl{display:block;font-weight:600;font-size:.9rem;margin-bottom:.35rem;color:var(--ink)}
.field .req{color:var(--bad)}
input:not([type]),input[type=text],input[type=email],input[type=tel],input[type=password],input[type=number],input[type=date],input[type=datetime-local],input[type=search],input[type=url],select,textarea{width:100%;padding:.62em .8em;border:1px solid #D5D1C4;border-radius:var(--r);background:#fff;color:var(--ink);font:inherit;font-size:16px;transition:border-color .15s,box-shadow .15s}
@media(min-width:700px){input,select,textarea{font-size:15px!important}}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--brand-2);box-shadow:var(--focus)}
textarea{resize:vertical;min-height:80px}
select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236B716D' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .8em center;padding-right:2.2em}
select[multiple]{background-image:none;padding-right:.8em}
input[type=checkbox],input[type=radio]{width:1.1em;height:1.1em;accent-color:var(--brand);vertical-align:-.15em;margin:0 .45em 0 0}
input[type=file]{font:inherit;font-size:.9rem;max-width:100%}
.help{font-size:.83rem;color:var(--muted);margin-top:.3rem}
.errorlist{list-style:none;margin:.35rem 0 0;padding:0;color:var(--bad);font-size:.85rem;font-weight:500}
.field.err input,.field.err select,.field.err textarea{border-color:var(--bad)}
.field ul:not(.errorlist){list-style:none;padding:0;margin:0}
.field ul:not(.errorlist) li{margin:.2rem 0}
.field ul:not(.errorlist) label{font-weight:500;display:inline-flex;align-items:center;cursor:pointer}
.check{display:flex;gap:.5rem;align-items:flex-start;font-weight:500}
.check input{margin-top:.25em}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1.25rem}
.form-grid .full{grid-column:1/-1}
@media(max-width:640px){.form-grid{grid-template-columns:1fr}}
fieldset{border:0;padding:0;margin:0 0 1.5rem}
legend{font-weight:700;font-size:1.02rem;margin-bottom:.8rem;padding:0;color:var(--brand)}
.form-actions{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center;padding-top:.5rem}

/* lựa chọn dạng nút */
.seg{display:inline-flex;flex-wrap:wrap;gap:4px}
.seg input{position:absolute;opacity:0;pointer-events:none}
.seg label{padding:.38em .7em;border:1px solid var(--line);border-radius:var(--r-sm);font-size:.84rem;font-weight:600;cursor:pointer;background:#fff;color:var(--ink-2);user-select:none;margin:0}
.seg input:checked+label{background:var(--brand);border-color:var(--brand);color:#fff}
.seg input:focus-visible+label{box-shadow:var(--focus)}
.stars{display:inline-flex;flex-direction:row-reverse;gap:2px}
.stars input{position:absolute;opacity:0}
.stars label{font-size:1.9rem;color:#D9D4C4;cursor:pointer;line-height:1;margin:0}
.stars input:checked~label,.stars label:hover,.stars label:hover~label{color:var(--gold-2)}

/* thông báo */
.alerts{display:grid;gap:.5rem;margin-bottom:1rem}
.alert{display:flex;gap:.6rem;align-items:flex-start;padding:.75rem 1rem;border-radius:var(--r);border:1px solid;font-size:.93rem;background:#fff}
.alert .ic{margin-top:.2em}
.alert-success{border-color:#BFDCC9;background:var(--ok-t);color:#1F5A37}
.alert-error{border-color:#EBC3BC;background:var(--bad-t);color:#8A2C20}
.alert-warning{border-color:#EED3A8;background:var(--warn-t);color:#7A4A00}
.alert-info{border-color:#C6D5E6;background:var(--info-t);color:#22476D}

/* bảng */
.tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--r-lg)}
table.tbl{width:100%;border-collapse:collapse;font-size:.9rem}
.tbl th{text-align:left;font-weight:600;font-size:.78rem;letter-spacing:.03em;text-transform:uppercase;color:var(--muted);padding:.7rem .8rem;border-bottom:1px solid var(--line);background:#FBFAF6;white-space:nowrap;position:sticky;top:0}
.tbl td{padding:.65rem .8rem;border-bottom:1px solid var(--line-2);vertical-align:middle}
.tbl tr:last-child td{border-bottom:0}
.tbl tbody tr:hover td{background:#FCFBF8}
.tbl .r{text-align:right}.tbl .c{text-align:center}
.tbl a.rowlink{color:var(--ink);font-weight:600}
.cell-person{display:flex;align-items:center;gap:.65rem;min-width:200px}
.cell-person b{display:block;line-height:1.3}
.cell-person small{color:var(--muted);display:block;line-height:1.3}

/* thanh tiến độ */
.bar{height:8px;border-radius:99px;background:var(--paper-2);overflow:hidden}
.bar>i{display:block;height:100%;border-radius:inherit;background:var(--brand-2)}
.bar.gold>i{background:var(--gold-2)}

/* chỉ số */
.kpi{display:flex;flex-direction:column;gap:.15rem}
.kpi .v{font-size:1.8rem;font-weight:700;line-height:1.1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.kpi .l{font-size:.85rem;color:var(--muted)}

/* trống */
.empty{text-align:center;padding:2.2rem 1rem;color:var(--muted)}
.empty .ic{width:2.4em;height:2.4em;stroke-width:1.5;color:#B9B4A5;margin-bottom:.5rem}

/* tab & lọc */
.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin-bottom:1rem;overflow-x:auto;scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tabs a{padding:.6rem .95rem;font-weight:600;font-size:.92rem;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;text-decoration:none!important;display:inline-flex;gap:.4em;align-items:center}
.tabs a.on{color:var(--brand);border-color:var(--brand)}
.tabs a .badge{font-size:.7rem}
.pills{display:flex;gap:.4rem;flex-wrap:wrap}
.pills a{padding:.32rem .8rem;border-radius:99px;border:1px solid var(--line);font-size:.85rem;font-weight:500;color:var(--ink-2);background:#fff;text-decoration:none!important}
.pills a.on{background:var(--ink);border-color:var(--ink);color:#fff}
.filters{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}
.filters input[type=search],.filters input[type=text]{max-width:280px}
.filters select{width:auto;min-width:140px}

/* phân trang */
.pager{display:flex;gap:.35rem;justify-content:center;align-items:center;margin-top:1.25rem;flex-wrap:wrap}
.pager a,.pager span{padding:.4rem .8rem;border-radius:var(--r-sm);border:1px solid var(--line);background:#fff;font-size:.88rem;color:var(--ink-2)}
.pager span.cur{background:var(--brand);color:#fff;border-color:var(--brand)}

/* danh sách định nghĩa */
.dl{display:grid;grid-template-columns:minmax(120px,38%) 1fr;gap:.5rem 1rem;margin:0;font-size:.93rem}
.dl dt{color:var(--muted)}.dl dd{margin:0;font-weight:500;word-break:break-word}

/* nội dung bài viết */
.prose{font-size:1.05rem;line-height:1.75;color:#262C2A}
.prose h2{font-family:var(--display);letter-spacing:-.02em;font-size:1.45rem;margin:1.8em 0 .6em}
.prose h3{font-size:1.15rem;margin:1.5em 0 .5em}
.prose img{border-radius:var(--r);height:auto;margin:.6em 0}
.prose figure{margin:1.4em 0}.prose figcaption{font-size:.88rem;color:var(--muted);text-align:center;margin-top:.4em}
.prose blockquote{margin:1.4em 0;padding:.4em 1.2em;border-left:3px solid var(--gold-2);color:var(--ink-2);font-style:italic;background:var(--gold-t);border-radius:0 var(--r) var(--r) 0}
.prose iframe{width:100%;aspect-ratio:16/9;border:0;border-radius:var(--r);height:auto}
.prose table{border-collapse:collapse;width:100%;font-size:.95rem}.prose td,.prose th{border:1px solid var(--line);padding:.45em .7em}
.prose ul,.prose ol{padding-left:1.4em}.prose li{margin:.3em 0}
.prose a{text-decoration:underline;text-underline-offset:3px}

/* QR */
.qr svg{width:100%;height:auto;display:block}
.qr svg path{fill:#111}

/* sao chép */
.copybox{position:relative}
.copybox pre{white-space:pre-wrap;font:inherit;font-size:.92rem;background:#FBFAF6;border:1px solid var(--line);border-radius:var(--r);padding:1rem;margin:0;max-height:420px;overflow:auto}

/* in ấn */
@media print{
  body{background:#fff;font-size:12px}
  .no-print,.sidebar,.topbar,.tabbar,.site-h,.site-f,.alerts{display:none!important}
  .card{box-shadow:none;border-color:#ccc;break-inside:avoid}
  a{color:inherit}
  .main{margin:0!important;padding:0!important}
}

.evrow{display:flex;align-items:center;gap:.8rem;color:inherit;text-decoration:none!important;padding:.55rem 0;border-bottom:1px solid var(--line-2)}
.evrow:last-child{border-bottom:0}
.evrow:hover b{color:var(--brand)}
