/* Gastronomy Intranet v4.5.0 - ROCC Centre and Absence Management */
:root{--v45-teal:var(--teal,#20a994);--v45-ink:var(--ink,#0d2627);--v45-soft:color-mix(in srgb,var(--v45-teal) 9%,var(--surface,#fff));--v45-warning:#a15c00;--v45-warning-soft:#fff7e6;--v45-danger:#b42318}
.v45-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin:0 0 20px}.v45-stat{display:flex;flex-direction:column;gap:5px;min-height:120px}.v45-stat span{font-size:.72rem;font-weight:820;letter-spacing:.11em;text-transform:uppercase;color:var(--muted)}.v45-stat strong{font-size:clamp(1.4rem,3vw,2rem);line-height:1;color:var(--v45-ink)}.v45-stat small{color:var(--muted);line-height:1.35}
.v45-filter-bar{margin-bottom:18px}.v45-filter-bar .form{margin:0}.v45-report-list,.v45-stack,.v45-template-stack{display:grid;gap:14px}.v45-report-card{display:grid;gap:15px}.v45-report-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.v45-report-head h2,.v45-report-head h3{margin:.2rem 0}.v45-report-head p{margin:.25rem 0;color:var(--muted)}.v45-metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}.v45-metric-grid.large{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.v45-metric{display:flex;flex-direction:column;gap:5px;padding:13px;border:1px solid var(--line);border-radius:15px;background:var(--v45-soft)}.v45-metric strong{font-size:1.25rem}.v45-metric small{color:var(--muted)}.v45-detail-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:18px;align-items:start}.v45-pdf-panel{position:sticky;top:88px;min-height:720px;padding:0;overflow:hidden}.v45-pdf-panel iframe{display:block;width:100%;height:min(78vh,940px);border:0;background:#eef2f1}.v45-definition-list{display:grid;gap:10px}.v45-definition-list>article{padding:13px;border:1px solid var(--line);border-radius:15px;background:var(--surface)}.v45-definition-list code{overflow-wrap:anywhere}.v45-admin-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}.v45-admin-grid>.panel{align-self:start}
.v45-calendar-panel{overflow:auto}.v45-calendar-label,.v45-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));min-width:840px}.v45-calendar-label span{padding:8px 10px;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.v45-calendar-day{min-height:140px;padding:9px;border-top:1px solid var(--line);border-right:1px solid var(--line);background:var(--surface)}.v45-calendar-day:nth-child(7n+1){border-left:1px solid var(--line)}.v45-calendar-day.empty{background:color-mix(in srgb,var(--canvas) 70%,var(--surface))}.v45-calendar-day.today{box-shadow:inset 0 0 0 2px var(--v45-teal)}.v45-calendar-day>strong{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;font-size:.85rem}.v45-calendar-day.today>strong{background:var(--v45-teal);color:#fff}.v45-calendar-events{display:grid;gap:5px;margin-top:6px}.v45-calendar-event{display:flex;flex-direction:column;gap:1px;padding:6px 7px;border-left:3px solid var(--v45-warning);border-radius:8px;background:var(--v45-warning-soft);color:var(--v45-ink);text-decoration:none;font-size:.75rem;overflow:hidden}.v45-calendar-event strong,.v45-calendar-event small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v45-calendar-event.excluded{border-left-color:var(--v45-teal);background:var(--v45-soft)}
.v45-stage-card{display:grid;gap:10px;padding:14px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.v45-stage-card.current{border-color:var(--v45-warning);background:var(--v45-warning-soft)}.v45-stage-card.complete{border-color:var(--v45-teal);background:var(--v45-soft)}.v45-case-card{border-left:5px solid color-mix(in srgb,var(--v45-teal) 75%,var(--line))}.v45-case-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.6fr);gap:18px;margin:16px 0}.v45-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.v45-check-grid label{display:flex;gap:9px;align-items:flex-start;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.v45-review-form,.v45-outcome-form,.v45-adjustment-form{padding:16px;border-radius:16px;background:var(--v45-soft);border:1px solid color-mix(in srgb,var(--v45-teal) 35%,var(--line))}.v45-document-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:14px 0}.v45-document-actions h4{width:100%;margin:0}.v45-document-actions form{margin:0}.v45-danger-zone{margin-top:16px;border-top:1px solid var(--line);padding-top:12px}.v45-danger-zone summary{color:var(--v45-danger);font-weight:750;cursor:pointer}.v45-danger-zone .form{margin-top:12px}.v45-rule-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:14px}.v45-template-stack details>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;list-style:none}.v45-template-stack details>summary::-webkit-details-marker{display:none}.v45-template-stack summary span:first-child{display:flex;flex-direction:column}.v45-template-stack summary small{color:var(--muted)}.v45-template-editor{margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}.v45-template-editor textarea[name=body_html]{font:500 .85rem/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;min-height:380px}.v45-admin-jump{display:flex;gap:8px;overflow:auto;margin:-5px 0 18px;padding-bottom:4px}.v45-admin-jump a{white-space:nowrap;padding:9px 13px;border:1px solid var(--line);border-radius:999px;background:var(--surface);text-decoration:none;color:var(--v45-ink);font-weight:730}.v45-admin-jump a:hover{border-color:var(--v45-teal);background:var(--v45-soft)}.v45-inline-access,.v45-import-form{padding:14px;margin-bottom:16px;border:1px solid var(--line);border-radius:16px;background:var(--v45-soft)}.v45-adjustment-form{margin-bottom:16px}.absence-employee-page .data-table small,.rocc-page .data-table small,.rocc-detail-page .data-table small{display:block;color:var(--muted);margin-top:3px}.absence-admin-page code{font-size:.85em;background:var(--canvas);padding:2px 5px;border-radius:5px}.notice.warning{background:var(--v45-warning-soft);border-color:color-mix(in srgb,var(--v45-warning) 45%,var(--line));color:#6b3d00}.error-text{color:var(--v45-danger)}
@media(max-width:1100px){.v45-detail-grid,.v45-admin-grid,.v45-case-columns{grid-template-columns:1fr}.v45-pdf-panel{position:static;min-height:600px}.v45-pdf-panel iframe{height:720px}}
@media(max-width:720px){.v45-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v45-report-head{flex-direction:column}.v45-report-head .page-actions{width:100%}.v45-metric-grid,.v45-metric-grid.large,.v45-rule-grid{grid-template-columns:1fr}.v45-check-grid{grid-template-columns:1fr}.v45-pdf-panel{min-height:480px}.v45-pdf-panel iframe{height:560px}.v45-template-stack details>summary{align-items:flex-start}.v45-calendar-panel{padding:12px}.v45-document-actions{align-items:stretch}.v45-document-actions form,.v45-document-actions .button{width:100%}}
@media(max-width:480px){.v45-stat-grid{grid-template-columns:1fr}.v45-stat{min-height:auto}.v45-admin-jump{margin-inline:-4px}.v45-pdf-panel iframe{height:470px}}
@media(prefers-reduced-motion:reduce){.v45-report-card,.v45-calendar-event,.v45-stage-card{transition:none!important;animation:none!important}}
