.hg-wide{max-width:none;padding:0 12px}
.hg-card{padding:16px}
.hg-demo{background:#1976D2;border:1px solid #D32F2F;color: white;padding:10px 14px;border-radius:8px;margin-bottom:14px;font-size:.88rem}
.hg-toolbar{justify-content:center;display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.hg-toolbar .btn{padding:8px 16px}
.hg-range{margin-left:6px;color:var(--text)}
.hg-date{border:1px solid var(--gray-light);border-radius:8px;padding:8px 10px;font:inherit;font-size:.85rem;color:var(--text)}
.hg-tabs{display:none;gap:6px;overflow-x:auto;margin-bottom:12px}
.hg-tabs button{flex:1 0 auto;border:1px solid var(--gray-light);background:var(--off-white);border-radius:8px;padding:8px 10px;font:inherit;font-size:.82rem;cursor:pointer;color:var(--text)}
.hg-tabs button.on{background:var(--blue);border-color:var(--blue);color:#fff}
.hg-scroll{overflow-x:visible;padding:8px 0 6px}
.hg-grid{display:grid;gap:2px;grid-template-columns:42px repeat(21,minmax(0,1fr));gap:3px}
.hg-dayh{grid-column:span 3;margin-left:5px;background:var(--blue-dark);color:#fff;border-radius:6px;text-align:center;padding:6px 2px;font-weight:700;font-size:.82rem}
.hg-dayh small{display:block;font-weight:400;opacity:.8;font-size:.72rem}
.hg-dayh.today{background:var(--red)}
.hg-subh{background:var(--blue);color:#fff;border-radius:6px;text-align:center;padding:5px 1px;font-size:clamp(.54rem,.72vw,.7rem);font-weight:700;line-height:1.15;display:flex;align-items:center;justify-content:center}
.hg-c.first{margin-left:5px}
.hg-time{position:relative}
.hg-time span{position:absolute;right:4px;top:-1.5px;transform:translateY(-50%);font-size:.7rem;line-height:1;color:var(--text-light);white-space:nowrap}
.hg-end{height:0}
.hg-cell{min-height:26px;border-radius:4px;font-size:clamp(.54rem,.78vw,.72rem);display:flex;align-items:center;justify-content:center;padding:0 1px;text-align:center;overflow:hidden}
.hg-cell.free{background:#E8F5E9;color:#1B5E20}
.hg-cell.busy{background:#FDECEA;color:var(--red-dark);font-weight:600}
.hg-cell.past{background:var(--gray-light);color:var(--gray)}
.hg-msg{grid-column:1/-1}
.hg-legend{justify-content:center;display:flex;gap:18px;flex-wrap:wrap;margin:14px 0 6px;font-size:.85rem;color:var(--text-light)}
.hg-dot{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.hg-dot.free{background:#A5D6A7}.hg-dot.busy{background:#EF9A9A}.hg-dot.past{background:#CFD8DC}
.hg-abbr{text-align:center;font-size:.88rem;color:var(--text);margin:10px 0 0}
.hg-cta{text-align:center;margin:20px 0 6px}
.hg-note{text-align:center;font-size:.85rem;color:var(--text-light);margin:8px 0 0}
@media(max-width:900px){
  .hg-tabs{display:flex}
  .hg-grid{grid-template-columns:48px repeat(3,1fr)}
  .hg-corner.top,.hg-dayh{display:none}
  .hg-c:not(.sel){display:none}
  .hg-c.first{margin-left:0}
  .hg-subh{font-size:.8rem}
  .hg-cell{min-height:34px;font-size:.85rem}
  .hg-toolbar .btn{flex:1 0 auto}
}
.hg-card:hover{transform:none}
.hg-grid{padding-right:45px}
@media(max-width:900px){.hg-grid{padding-right:0}}
.hg-card{max-width:none;width:100%;margin:0 auto 24px}
.hg-toolbar .btn{background:#fff;color:var(--blue);border:2px solid var(--blue);box-shadow:none}
.hg-toolbar .btn:hover{background:var(--blue);color:#fff}
