.hlo-page{max-width:1600px;margin:0 auto;padding:24px;color:#193047;font-size:15px}
.hlo-page h1{font-size:1.85rem;margin:0 0 6px}.hlo-page h2{font-size:1.25rem;margin:0 0 12px}.hlo-page h3{font-size:1.05rem;margin:0}
.hlo-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:16px}.hlo-heading p{margin:0;color:#52697d}
.hlo-card{background:#fff;border:1px solid #d7e1eb;border-radius:12px;padding:22px;margin-bottom:20px;box-shadow:0 2px 6px #10243805}
.hlo-status{padding:10px 14px;border-left:3px solid #1a806e;background:#eef8f5;min-height:40px}.hlo-status.hlo-error{border-color:#a62130;background:#fff0f0;color:#9b1826}
.hlo-punch{display:grid;grid-template-columns:1fr auto;gap:14px;border-top:4px solid #1a806e}.hlo-punch h2{font-size:1.5rem;margin:8px 0}.hlo-punch .btn{min-height:48px}
.hlo-eyebrow{font-size:.8rem;font-weight:650;color:#52697d}.hlo-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.hlo-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:end}.hlo-page label{display:flex;flex-direction:column;gap:5px;font-size:.9rem;font-weight:600;margin-bottom:8px}
.hlo-toolbar label{margin:0}.hlo-page input:not([type=checkbox]),.hlo-page select,.hlo-page textarea{border:1px solid #afc0d1;border-radius:6px;padding:8px 10px;min-height:40px;background:#fff;color:#193047;max-width:100%;font-size:.95rem;font-weight:400}
.hlo-page textarea{width:100%;resize:vertical}.hlo-page fieldset{min-width:0}.hlo-page :focus-visible{outline:3px solid #2673d9;outline-offset:2px}
.hlo-muted{color:#52697d;font-size:.85rem;margin-top:12px}.hlo-block{display:block}.hlo-full{grid-column:1/-1}.hlo-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:16px 0}
.hlo-check{flex-direction:row!important;align-items:center}.hlo-check input{width:18px;height:18px}.hlo-totals{display:flex;gap:36px;flex-wrap:wrap;padding:24px 0 8px}.hlo-totals span{display:block;color:#52697d;font-size:.85rem}.hlo-totals strong{display:block;font-size:1.8rem;font-variant-numeric:tabular-nums}
.hlo-scroll{overflow:auto}.hlo-table{border-collapse:collapse;width:100%;min-width:850px}.hlo-table th,.hlo-table td{padding:12px;border-bottom:1px solid #e2e9f0;vertical-align:top;text-align:left}.hlo-table thead{background:#f0f4f8}.hlo-table th{font-weight:600}.hlo-hours{font-variant-numeric:tabular-nums;font-weight:700;white-space:nowrap}
.hlo-tag{display:inline-block;padding:3px 8px;border-radius:5px;background:#edf1f5;font-size:.8rem;font-weight:600}.hlo-approved{color:#146443;background:#e5f5ec}.hlo-empty{padding:24px;text-align:center;color:#52697d}
.hlo-editor{border-top:4px solid #286ac7;scroll-margin-top:160px}.hlo-request{border-top:1px solid #dde5ed;padding:20px 0}.hlo-request:first-of-type{border-top:0}.hlo-request label{max-width:650px;margin:14px 0 10px}.hlo-note{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6}
.hlo-history{border-bottom:1px solid #d7e1eb;padding:12px 0}.hlo-history summary{cursor:pointer}.hlo-history pre{background:#f4f6f9;padding:12px;white-space:pre-wrap;overflow-wrap:anywhere;max-height:260px;overflow:auto;font-size:.8rem}
.hlo-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:.85rem}.hlo-legend span{display:flex;gap:6px;align-items:center}.hlo-factory-dot,.hlo-shared-dot{width:12px;height:12px;border-radius:3px;background:#2468b9;display:inline-block}.hlo-shared-dot{background:#8251ad}
.hlo-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid #d7e1eb;border-radius:10px;overflow:hidden;background:#fff}.hlo-weekday{background:#edf2f7;padding:10px 12px;font-weight:650;font-size:.85rem}.hlo-day{padding:10px;min-height:145px;border-top:1px solid #dde5ed;border-right:1px solid #dde5ed}.hlo-day:nth-child(7n){border-right:0}.hlo-day-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.hlo-day-heading strong{font-size:.85rem}.hlo-add-day{border:0;background:transparent;color:#3571b5;font-size:20px;line-height:1.2;border-radius:4px;padding:0 6px}.hlo-outside{background:#f6f8fb;color:#778797}.hlo-today{box-shadow:inset 0 3px #1b6cc7;background:#f3f8ff}.hlo-week .hlo-day{min-height:400px}
.hlo-event{display:block;width:100%;text-align:left;border:0;border-left:3px solid #2468b9;border-radius:5px;background:#eaf2fc;color:#173d6b;margin:6px 0;padding:7px 8px;overflow-wrap:anywhere}.hlo-event:hover{filter:brightness(.97)}.hlo-event strong{display:block;font-size:.85rem;line-height:1.35;margin:4px 0}.hlo-event-time,.hlo-event-author,.hlo-event-scope{display:block;font-size:.7rem;line-height:1.4}.hlo-shared{border-color:#8251ad;background:#f2ebf9;color:#603581}.hlo-event-scope{font-weight:600;margin-top:3px}
.hlo-event-note{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;font-size:.85rem;white-space:pre-wrap;line-height:1.4;margin-top:5px}
.hlo-wall{position:fixed;inset:0;z-index:1100;max-width:none;margin:0;background:#edf2f6;overflow:auto;padding:24px}.hlo-wall .hlo-event strong{font-size:1rem}.hlo-wall .hlo-day{min-height:160px}.hlo-wall .hlo-week .hlo-day{min-height:55vh}
@media(max-width:900px){.hlo-page{padding:12px}.hlo-punch{grid-template-columns:1fr}.hlo-calendar{min-width:700px}.hlo-page:has(.hlo-calendar){overflow-x:auto}.hlo-calendar .hlo-day{padding:6px}.hlo-totals{gap:20px}.hlo-card{padding:16px}.hlo-form-grid{grid-template-columns:1fr}.hlo-full{grid-column:1}.hlo-wall{padding:12px}}
@media print{.hlo-toolbar,.hlo-actions,.hlo-add-day,.hlo-status,.hlo-editor,.hlo-punch{display:none!important}.hlo-page,.hlo-wall{position:static;overflow:visible;padding:0;background:#fff;max-width:none}.hlo-calendar{min-width:0;overflow:visible}.hlo-card,.hlo-day{box-shadow:none;break-inside:avoid}.hlo-event{print-color-adjust:exact;-webkit-print-color-adjust:exact}.hlo-page .btn{display:none}}
