.hb-container {
    background:#fff;
    color:#334155;
    border-radius:16px;
    padding:24px;
    max-width:420px;
    box-shadow:0 2px 12px #e5e7eb;
    font-size:clamp(16px, 2.5vw, 18px);
}
.hb-title {
    color:#1a2342;
    font-size:1.5em;
    display:flex;
    align-items:center;
    gap:12px;
    font-weight:700;
    line-height:1.3;
}
.hb-title i {
    color:#1a2342;
    font-size:1.2em;
}
.hb-subtitle {
    color:#64748b;
    margin-bottom:18px;
    font-size:1em;
    font-weight:500;
    line-height:1.5;
}
.hb-table {
    width:100%;
    border-collapse:separate;
    border-spacing:0 10px;
    margin-bottom:0;
    border:none;
    font-size:1em;
}
.hb-table th, .hb-table td {
    padding:12px 16px;
    border:none;
    background:transparent;
    color:#334155;
    font-weight:500;
}
.hb-table td:last-child { text-align:right; }
.hb-row { font-size:1em; }
.hb-dot {
    display:inline-block;
    width:14px;
    height:14px;
    border-radius:50%;
    margin-right:10px;
    vertical-align:middle;
}
.hb-dot.vert { background:#22c55e; }
.hb-dot.rouge { background:#c80404; }
.hb-row.today td {
    background:#e2e8f0;
    font-weight:800;
    color:#334155;
    position:relative;
    z-index:1;
}
.hb-row.today td:first-child {
    border-top-left-radius:14px;
    border-bottom-left-radius:14px;
}
.hb-row.today td:last-child {
    border-top-right-radius:14px;
    border-bottom-right-radius:14px;
}
.hb-row.today .hb-dot {
    animation: blink 1.2s infinite alternate;
}
@keyframes blink {
    0% { opacity: 1; }
    100% { opacity: 0.35; }
}
.hb-status {
    background:#f3f4f6;
    border-radius:10px;
    padding:18px 14px 12px 14px;
    margin-top:28px;
    color:#1a2342;
    text-align:center;
    font-size:clamp(16px, 2.5vw, 18px);
}
.hb-status-icon {
    font-size:1.15em;
    margin-right:8px;
    vertical-align:middle;
    color:#1a2342;
}
.hb-time-highlight {
    background:#e2e8f0;
    border-radius:4px;
    padding:2px 10px;
    font-weight:700;
    color:#334155;
    font-size:1em;
    display:inline-block;
}
.hb-status-label {
    color:#1a2342;
    font-weight:900;
    font-size:1.1em;
    margin-right:6px;
    letter-spacing:1px;
    display:inline-block;
}
.hb-status-box {
    display:inline-block;
    border-radius:8px;
    padding:3px 18px;
    font-weight:900;
    font-size:1.1em;
    margin-left:8px;
    letter-spacing:1px;
    color:#fff !important;
}


@media (max-width: 540px) {
    .hb-container { padding:12px; }
    .hb-table th, .hb-table td { padding:8px 6px; }
    .hb-status { padding:10px 6px 8px 6px; }
}

.hb-dot.vert { background: #16a34a; }
.hb-dot.rouge { background: #c80404; }

.hb-table td {
    white-space: nowrap;
    vertical-align: middle;
    font-size: 1em;
    padding: 8px 16px;
}

.hb-today-label {
    font-size: 1.1em;
    font-weight: bold;
    margin-bottom: 0;
    line-height: 1.1;
}

.hb-today-small {
    font-size: 0.95em;
    color: #1a2342;
    margin: 0;
    padding: 0;
    line-height: 1;
    display: flex;
    align-items: center;
    gap: 4px;
}

.hb-dot {
    display: inline-block;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    margin-right: 8px;
    vertical-align: middle;
}






.today td:first-childERREUR::before,
.today td:first-childERREUR:before {
    content: none !important;
    display: none !important;
}



.hb-row.today td:first-child::before,
.hb-row.today td:first-child:before {
    content: none !important;
    display: none !important;
}



