/* Tiện ích Việt v4: tăng độ nổi bật, nhưng giữ giao diện nhẹ và thuận tiện trên mobile */
:root{--t40-blue:#123964;--t40-green:#009b74;--t40-mint:#51ddb0}
.brand .t40-logo{width:44px;height:44px;border-radius:13px;flex:0 0 44px;object-fit:contain;box-shadow:0 5px 14px #123b6422}
.footer-brand .t40-logo{width:38px;height:38px;flex-basis:38px}
.brand{gap:10px!important}.brand small{letter-spacing:.005em}
.t40-hero-highlight{font-weight:800;color:var(--t40-blue);background:#eef9f5;padding:12px 18px;border-radius:13px;border:1px solid #c7e6db}
.t40-hero-highlight a{color:#087b60;text-decoration:underline}
.t40-source-note{font-size:13px;line-height:1.65;background:#f4f8ff;border:1px solid #d9e6f4;padding:12px 14px;border-radius:12px;color:#354f66}
.t40-bank-wrap{overflow-x:auto;scrollbar-width:thin;margin:14px 0}.t40-bank-table{min-width:630px;width:100%;border-collapse:collapse;font-size:12px}
.t40-bank-table td,.t40-bank-table th{text-align:left;border-bottom:1px solid #e3e9ec;padding:11px 8px;white-space:normal}
.t40-bank-table th{background:#eef8f5;color:#36566a}.t40-bank-table td:nth-child(n+2):nth-child(-n+6){font-variant-numeric:tabular-nums}
.t40-bank-table a{color:#087e60;text-decoration:underline}.t40-bank-table tr:hover{background:#f6fbf9}
.t40-bank-table .t40-muted{color:#8a98a4;font-style:italic}.t40-bank-badges{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0}.t40-badge{border:1px solid #d5e6dd;background:#f2faf5;color:#15705a;padding:6px 10px;border-radius:99px;font-size:11px;font-weight:700}.t40-badge.orange{color:#926315;background:#fffaec;border-color:#eae0bd}
.t40-bank-filter{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin:15px 0}.t40-bank-filter label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:700;color:#465c6f;flex:1;min-width:135px}.t40-bank-filter select,.t40-bank-filter input{min-height:44px;border:1px solid #cadde1;border-radius:10px;background:white;padding:10px;font-size:14px}
.t40-dayhead{font-size:13px;color:#586a7d;font-weight:750}.t40-lunar-big{font-size:21px!important;color:#0e785e!important;margin:8px 0 13px!important}.t40-chips{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.t40-chip{display:inline-flex;background:#eaf3fc;color:#305273;border:1px solid #d9e9f6;border-radius:9px;font-size:11px;padding:6px 8px;font-weight:700}.t40-chip.good{background:#e0f7eb;border-color:#bee5cf;color:#087f59}.t40-chip.neutral{background:#fff1e8;border-color:#ffdfc5;color:#945728}.t40-dailyrow{margin:12px 0;padding:12px;border-radius:12px;background:white}.t40-dailyrow p{margin:8px 0 0!important;font-size:13px!important}.t40-culture{font-size:12px!important;color:#73818f!important;line-height:1.6!important}.t40-day{position:relative;gap:2px;min-height:79px;padding:5px 2px;cursor:pointer;transition:box-shadow .12s}.t40-day.has-moon{border-color:#c5dbf1}.t40-day.has-event{background:#fff9e9}.t40-day.is-selected{background:#0d916e!important;color:white}.t40-day.is-selected small,.t40-day.is-selected em{color:#e5fff4!important}.t40-mini-tag{font-size:9px;color:#bd7131;font-style:normal;font-weight:700;line-height:1.1;min-height:16px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.t40-muted-day{opacity:.34}.t40-event-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:7px;margin-top:10px}.t40-event-row{border:1px solid #dfeee6;background:#f9fffc;color:#207056;padding:10px;border-radius:9px;cursor:pointer;text-align:left;font-size:12px;font-weight:700}.t40-legend{display:flex;flex-wrap:wrap;gap:11px;font-size:12px;color:#667d89;margin-top:12px}.t40-legend span{display:flex;align-items:center;gap:5px}.t40-dot{width:10px;height:10px;background:#fff9e9;border:1px solid #e0bd6e;border-radius:50%}.t40-dot.moon{background:#e8f4ff;border-color:#7cafd7}.t40-calendar-guide{margin-top:12px;color:#70828b;font-size:12px;line-height:1.6}
.t40-qr-explain{background:#eff8fd;border:1px solid #c9e4f2;padding:12px;border-radius:11px;color:#3b5d70;font-size:13px;line-height:1.6;margin:11px 0}.t40-media-tags{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0}.t40-media-tags span{border-radius:999px;background:#e8f7f0;padding:6px 9px;font-size:11px;color:#08775c;font-weight:700}
@media(max-width:700px){.t40-day{min-height:70px}.t40-mini-tag{font-size:8px}.brand .t40-logo{width:39px;height:39px;flex-basis:39px}}
@media(max-width:380px){.t40-day{min-height:61px}.t40-mini-tag{font-size:7px}}
@media print{.t40-bank-filter,.t40-event-list,.t40-legend{display:none!important}}
@media(max-width:700px){
 .t40-bank-wrap{overflow:visible}
 .t40-bank-table{min-width:0;width:100%;display:block}
 .t40-bank-table thead{display:none}
 .t40-bank-table tbody{display:grid;grid-template-columns:1fr;gap:9px}
 .t40-bank-table tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 12px;border:1px solid #e0ece6;border-radius:12px;padding:12px;background:#fff;box-shadow:0 2px 8px #123d3210}
 .t40-bank-table td{display:block;padding:1px 0;border:none;font-size:12px}
 .t40-bank-table td:first-child{grid-column:1;grid-row:1}
 .t40-bank-table td:nth-child(2){grid-column:2;grid-row:1;text-align:right;color:#087558;font-size:15px;font-weight:800}
 .t40-bank-table td:nth-child(3){grid-column:1/-1;color:#627587;font-size:11px}
 .t40-bank-table td:nth-child(4){grid-column:1;font-size:11px;color:#87949e}
 .t40-bank-table td:nth-child(5){grid-column:2;text-align:right;font-size:11px}
 .t40-bank-table .t40-badge{font-size:9px;padding:3px 6px;margin-top:5px}
}
