/* SPDX-License-Identifier: MIT */
.compliance-main{max-width:80rem;padding:2rem clamp(1rem,3vw,3rem);margin-inline:auto}.compliance-main h1{font-size:clamp(1.8rem,3vw,2.7rem);line-height:1.15;margin:.35rem 0 1rem}.compliance-main h2{font-size:1.5rem}.compliance-main h3{font-size:1.1rem}.eyebrow{font-size:.75rem;font-weight:750;letter-spacing:.11em;text-transform:uppercase;color:#527267}.workspace-heading label{max-width:28rem}.compliance-content button{margin:.25rem .5rem .25rem 0}.compliance-content label{display:grid;gap:.35rem;font-weight:650;margin:.8rem 0}.compliance-content input,.compliance-content select,.compliance-content textarea{width:100%;max-width:100%;padding:.65rem .75rem;border:1px solid #9eb6ae;border-radius:.4rem;background:#fff;color:#1d3e37;font:inherit}.compliance-content input[type=checkbox]{width:1.1rem;height:1.1rem}.compliance-content fieldset{border:1px solid #ccdad4;border-radius:.7rem;padding:1rem;margin:1rem 0;min-width:0}.compliance-content legend{font-weight:750;padding:0 .4rem}.compliance-content button,.app-submenu button{border:1px solid #b1c7bf;border-radius:.45rem;background:#fff;color:#205c50;font:inherit;font-weight:700;padding:.65rem .85rem;cursor:pointer}.compliance-content button.primary{background:#205c50;color:#fff;border-color:#205c50}.compliance-content button:hover,.app-submenu button:hover{filter:brightness(.96)}.compliance-content :focus-visible,.app-submenu button:focus-visible{outline:3px solid #cc8b2d;outline-offset:3px}.app-submenu button[aria-pressed=true]{background:#deede5;border-bottom:3px solid #205c50}.save-status{min-height:1.5rem;padding:.5rem 0}.save-status[role=alert]{color:#8b302b}.form-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:1rem;margin:1rem 0}.form-card,.compliance-stats .stat-card,.compliance-content .panel{background:#fff;border:1px solid #d0dfd7;border-radius:.7rem;padding:1.15rem}.form-card p{line-height:1.5}.muted{color:#526e63;font-size:.9rem}.compliance-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1.5rem 0}.stat-card{display:grid;gap:.5rem}.stat-card strong{font-size:2rem}.calendar-toolbar,.calendar-filters{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin:1rem 0}.calendar-filters label{flex:1;min-width:10rem}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;border:1px solid #c5d7ce;background:#c5d7ce;overflow-wrap:anywhere}.weekday{padding:.6rem;background:#eaf2ed;font-weight:750;text-align:center}.calendar-day,.empty-day{background:#fff;min-height:8rem;padding:.5rem}.calendar-day h3{margin:0 0 .5rem}.calendar-day.today{box-shadow:inset 0 0 0 2px #205c50}.calendar-item{display:grid;gap:.25rem;border-left:3px solid #91ad9b;background:#f0f5f1;padding:.5rem;margin:.4rem 0;font-size:.85rem;min-width:0}.calendar-item button{padding:.35rem;font-size:.8rem}.calendar-date{font-size:.75rem;color:#586d63}.status-overdue,.status-returned{border-color:#ad4a38;background:#fbefea}.status-completed{border-color:#2a7453}.status-label{font-size:.8rem;font-weight:700}.calendar-agenda{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:.75rem}.calendar-agenda .calendar-item{font-size:1rem;padding:1rem}.form-editor,.check-editor{max-width:54rem}.check-question{background:#fff}.target-label{font-weight:750;background:#eaf2ed;padding:.5rem}.schedule-line{border-bottom:1px solid #d0dfd7;padding:.75rem 0;display:flex;flex-wrap:wrap;gap:1rem;align-items:center}.history-list{display:grid;gap:1rem;margin-top:1rem}.compact-form{max-width:36rem}.compliance-content [aria-busy=true]{opacity:.85}.compliance-content p{overflow-wrap:anywhere}
@media(max-width:42rem){.compliance-main{padding:1rem .75rem}.compliance-stats{grid-template-columns:1fr}.calendar-grid{font-size:.75rem}.calendar-day{padding:.2rem;min-height:6rem}.calendar-item{padding:.25rem}.calendar-item button{font-size:.7rem}.app-submenu{overflow-x:auto;flex-wrap:nowrap}.app-submenu button{flex:none}.form-card{padding:1rem}}
/* Keep the active section legible and building identity left aligned. */
.app-submenu button[aria-pressed=true]{color:#174c40}
.compliance-main .workspace-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.6rem 1rem;align-items:end}
.compliance-main .workspace-heading>.eyebrow,.compliance-main .workspace-heading>h1{grid-column:1/-1;text-align:left;overflow-wrap:anywhere}
.compliance-main .workspace-heading>.eyebrow{margin:0}
.compliance-main .workspace-heading>label{grid-column:1;min-width:0;width:100%}
.compliance-main .workspace-heading select{min-width:0;width:100%}
.compliance-main .workspace-heading>button{grid-column:2;grid-row:3;align-self:end}
@media(max-width:42rem){.compliance-main .workspace-heading{grid-template-columns:minmax(0,1fr)}.compliance-main .workspace-heading>button{grid-column:1;grid-row:auto;width:fit-content}}
/* Safety Checks successor: native records; no prototype data. */
.safety-categories{display:flex;gap:.45rem;flex-wrap:wrap;margin:1rem 0}.safety-categories button[aria-pressed="true"]{background:#146c63;color:white}.numbered-items{border-left:3px solid #146c63;padding:.6rem 1rem;margin:.75rem 0}.numbered-item{display:grid;grid-template-columns:1fr 1fr auto;gap:.6rem;align-items:end;margin:.5rem 0}.numbered-item input{min-width:0;width:100%}.check-editor>button,.panel>button{margin:.35rem .5rem .35rem 0}@media(max-width:42rem){.numbered-item{grid-template-columns:1fr}.safety-categories button{flex:1 1 45%;white-space:normal}}

/* Keep building identity and licence guidance out of auto-sized grid columns. */
.compliance-main .workspace-heading{grid-template-columns:minmax(0,1fr);align-items:start}
.compliance-main .workspace-heading>label{grid-column:1/-1;max-width:28rem;margin:0;display:grid;gap:.35rem}
.compliance-main .workspace-heading>p{grid-column:1/-1;min-width:0;margin:0;max-width:65ch;line-height:1.5;overflow-wrap:break-word}
.compliance-main .workspace-heading select{box-sizing:border-box;max-width:100%}
.compliance-main .workspace-heading>button{grid-column:1/-1;grid-row:auto;justify-self:start;width:fit-content}

/* Compact app layouts: screen only; calendar geometry and print remain unchanged. */
@media screen{.compliance-content fieldset{padding:12px;margin-block:12px}.compliance-content label{gap:4px}.stats{gap:12px;margin-block:12px}.calendar-toolbar,.calendar-filters{gap:8px;margin-block:8px}.calendar-agenda .calendar-item{font-size:14px;padding:8px}.schedule-line{gap:12px;padding-block:8px}.numbered-items{padding:8px 12px;margin-block:8px}.numbered-item{gap:8px;margin-block:4px}}

/* Staff checks and per-building administration have separate entry points. */
.compliance-main{margin-inline:0;width:100%;max-width:none;text-align:left}
.compliance-main .workspace-heading{justify-items:start;text-align:left;max-width:75rem}
.compliance-main .compliance-content{max-width:75rem}
.compliance-main .workspace-heading h1{font-size:24px;margin:0 0 4px;text-align:left}
.compliance-main .workspace-heading .eyebrow{display:none}
.compliance-main .workspace-heading>p{font-size:12px;color:#52616d}
.compliance-main .form-cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));gap:10px;margin-block:10px}
.compliance-main .form-card{padding:12px}
.compliance-main .safety-categories{margin-block:8px}
.compliance-main .form-card h3{margin:0 0 8px}
.compliance-main .save-status:empty{min-height:0;padding:0;margin:4px 0}

@media screen{.compliance-main{font-size:14px;padding-top:20px}.compliance-main h2{font-size:20px;margin-block:10px 6px}.compliance-main h3{font-size:16px}.compliance-main .check-guidance{margin-block:8px}.compliance-main .check-guidance summary{cursor:pointer;font-weight:600}.compliance-main .workspace-heading>label select{padding:8px 10px;font:inherit}.compliance-main .compliance-content button{padding:8px 12px}.compliance-main .calendar-day{min-height:7rem}}

/* Override the shared centred main only for Safety Checks. */
@media screen{body main#main.compliance-main{box-sizing:border-box;margin:12px 0!important;max-width:none!important;width:100%!important;padding:20px 24px!important}}
@media screen and (max-width:42rem){body main#main.compliance-main{padding:12px!important}}
