/*
 * Portal Nutrifight UI recovery layer.
 * Restores shared components used by current views without changing app.css.
 */
:root{--ui-ink:#172115;--ui-muted:#667064;--ui-line:#dce4d7;--ui-line-strong:#c8d4c2;--ui-green:#9dca3f;--ui-green-soft:#edf8dd;--ui-dark:#0d1510;--ui-danger:#c93636;--ui-shadow:0 14px 38px rgba(24,35,24,.08)}

/* Shared actions and accessibility */
.btn,.time-clock-action-button,.admin-area-quick,.admin-area-logout,.admin-area-mobile-logout{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:7px;max-width:100%;padding:9px 15px;border:1px solid transparent;border-radius:7px;font:inherit;font-size:14px;font-weight:800;line-height:1.2;text-align:center;text-decoration:none;white-space:normal;cursor:pointer}
.btn:hover,.time-clock-action-button:hover,.admin-area-quick:hover,.admin-area-logout:hover,.admin-area-mobile-logout:hover{text-decoration:none}
.btn-primary,.time-clock-action-button{color:#0b1208;background:var(--ui-green);border-color:var(--ui-green)}
.btn-primary:hover,.time-clock-action-button:hover{color:#071006;background:#acd958;border-color:#acd958}
.btn-secondary{color:var(--ui-ink);background:#fff;border-color:var(--ui-line-strong)}
.btn-secondary:hover{color:var(--ui-ink);background:var(--ui-green-soft);border-color:#9bc85a}
.btn-danger,.time-clock-action-button-out{color:#fff;background:var(--ui-danger);border-color:var(--ui-danger)}
.btn-danger:hover,.time-clock-action-button-out:hover{color:#fff;background:#a92525;border-color:#a92525}
.btn-small{min-height:34px;padding:6px 11px;font-size:12px}.btn[disabled],.btn.is-disabled{opacity:.55;cursor:not-allowed}
.btn:focus-visible,.time-clock-action-button:focus-visible,.admin-area-nav a:focus-visible,.admin-area-nav summary:focus-visible,button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(157,202,63,.38);outline-offset:2px}
.admin-area-quick{min-height:38px;padding:7px 12px;color:#07120f!important;background:#fff}
.admin-area-logout,.admin-area-mobile-logout{min-height:38px;padding:7px 12px;color:#fff!important;background:transparent;border-color:rgba(255,255,255,.24)}
.admin-area-logout:hover,.admin-area-mobile-logout:hover{background:var(--ui-danger);border-color:var(--ui-danger)}
.alert-info{color:#286487;background:#edf7fc;border:1px solid #bfdeed}

/* Common forms and tables */
.form-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid-5{grid-template-columns:repeat(5,minmax(0,1fr))}
.form-field-full,.form-field-checkbox,.form-submit-field{grid-column:1/-1}.form-actions-end{justify-content:flex-end}.form-actions-compact{margin-top:12px}.form-wide{width:100%}
.form-field-checkbox,.settings-checkbox-label{display:flex;align-items:flex-start;gap:10px}.form-field-checkbox input,.settings-checkbox-label input{width:18px;height:18px;margin:2px 0 0}
.table-panel-header,.time-card-header,.client-section-heading,.project-file-group-header,.project-panel-header-tight{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.table-panel-header,.time-card-header{margin-bottom:16px}.table-panel-header h2,.time-card-header h2,.client-section-heading h2,.project-file-group-header h3{margin:0}
.table-panel-header p,.time-card-header p{margin:5px 0 0;color:var(--ui-muted)}
.table-responsive{width:100%;overflow-x:auto;overscroll-behavior-inline:contain}
.time-table,.project-template-table,.users-table,.client-project-table,.project-reminders-table,.import-review-table,.factusol-items-table,.cron-run-table,.time-clock-reminder-log-table{width:100%;border-collapse:collapse;color:var(--ui-ink);font-size:14px}
.time-table th,.time-table td,.project-template-table th,.project-template-table td,.users-table th,.users-table td,.client-project-table th,.client-project-table td,.project-reminders-table th,.project-reminders-table td,.import-review-table th,.import-review-table td,.factusol-items-table th,.factusol-items-table td,.cron-run-table th,.cron-run-table td,.time-clock-reminder-log-table th,.time-clock-reminder-log-table td{padding:12px 11px;border-bottom:1px solid #e3e9df;text-align:left;vertical-align:top}
.time-table th,.project-template-table th,.users-table th,.client-project-table th,.project-reminders-table th,.import-review-table th,.factusol-items-table th,.cron-run-table th,.time-clock-reminder-log-table th{color:#5e695b;background:#f3f6f0;font-size:11px;font-weight:900;text-transform:uppercase}
.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.detail-grid-single{grid-template-columns:1fr}.detail-item-full{grid-column:1/-1}
.detail-item{min-width:0;padding:14px;border:1px solid #e2e8de;border-radius:7px;background:#f8faf7}.detail-item>span,.detail-item>small{display:block;margin-bottom:5px;color:var(--ui-muted);font-size:11px;font-weight:800;text-transform:uppercase}.detail-item>strong,.detail-item>p{margin:0;overflow-wrap:anywhere}

/* Common module structure */
.time-page,.settings-shell,.users-shell,.company-admin-shell,.client-admin-shell,.client-detail-shell,.project-templates-shell,.signature-evidence-page,.factusol-import-page,.installation-report-shell,.installation-instructions-shell,.installer-shell,.phase-one-tests-page,.payment-instructions-page{width:calc(100% - 48px);max-width:1392px;margin:0 auto;padding:28px 0 48px}
.time-hero,.installer-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:20px;padding:24px 26px;border:1px solid rgba(157,202,63,.35);border-radius:8px;color:#fff;background:var(--ui-dark);box-shadow:var(--ui-shadow)}
.time-hero h1,.installer-header h1{margin:4px 0 7px;color:#fff;font-size:clamp(1.9rem,3vw,2.8rem)}.time-hero p,.installer-header p{margin:0;color:rgba(255,255,255,.78)}.time-hero .eyebrow,.installer-header .eyebrow{color:var(--ui-green)}
.time-hero-actions,.installer-action-bar,.final-pdf-actions,.project-empty-actions,.client-card-actions,.company-card-actions,.project-card-actions,.template-actions,.settings-actions,.import-actions,.factusol-confirm-actions,.report-final-pdf-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}
.time-hero-actions{max-width:58%}.time-hero-actions .btn-secondary,.installer-header .btn-secondary{color:#fff;background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.23)}.time-hero-actions .btn-secondary:hover{color:#0b1208;background:var(--ui-green);border-color:var(--ui-green)}
.time-card,.form-panel,.client-panel,.client-data-panel,.client-notes-panel,.client-payment-panel,.project-template-list-panel,.project-items-panel,.project-file-library,.project-reminders-panel,.factusol-import-panel,.factusol-preview-card,.factusol-totals-panel,.diagnostics-card,.settings-section,.settings-file-panel,.settings-cron-section,.cron-status-card,.cron-runs-panel,.users-panel,.user-panel,.user-security-panel,.final-pdf-panel,.signature-evidence-card,.installation-filter-panel,.installation-project-panel,.installation-instruction-panel,.installation-instruction-admin-panel,.installation-incidents-panel,.installation-report-summary-panel,.report-readonly-panel,.report-photos-panel,.report-signature-panel,.report-final-pdf-panel,.report-ready-panel,.report-status-panel,.payment-admin-box,.payment-status-card,.payment-proof-box,.payment-total-request-box,.payment-reject-panel{min-width:0;margin-bottom:18px;padding:20px;border:1px solid var(--ui-line);border-radius:8px;background:#fff;box-shadow:var(--ui-shadow)}
.time-card-body{min-width:0}.time-card-header-split{align-items:center}

/* Time clock */
.time-clock-status-card{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:18px;padding:22px;border:1px solid #cfe0c3;border-left:5px solid var(--ui-green);border-radius:8px;background:#fff;box-shadow:var(--ui-shadow)}
.time-clock-status-card h2{margin:0 0 5px}.time-clock-status-card p{margin:0;color:var(--ui-muted)}.time-clock-status-actions form{margin:0}.time-clock-today-cards{margin-bottom:18px}
.time-clock-duration,.time-hours-positive{color:#39701d;font-weight:900;white-space:nowrap}
.time-clock-badge,.time-status-badge,.time-type-pill,.time-request-status,.time-request-type,.time-lock-badge,.time-request-pending-badge{display:inline-flex;align-items:center;max-width:100%;padding:5px 9px;border-radius:999px;color:#465241;background:#edf1ea;font-size:11px;font-weight:850;line-height:1.2}
.time-clock-badge-open,.time-status-pending,.time-request-status-pending,.time-lock-badge-open{color:#885910;background:#fff1d6}.time-clock-badge-closed,.time-status-approved,.time-request-status-approved,.time-lock-badge-closed{color:#286436;background:#e3f5e8}.time-clock-badge-corrected{color:#285c7b;background:#e8f2f8}.time-clock-badge-warning,.time-status-rejected,.time-request-status-rejected{color:#9a2929;background:#ffe5e5}.time-status-cancelled,.time-request-status-cancelled{color:#667064;background:#edf0eb}.time-request-pending-badge{color:#0b1208;background:var(--ui-green)}
.time-kpi-grid,.request-summary-grid,.time-report-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.time-kpi-card,.request-summary-card,.time-report-summary>div{min-width:0;padding:17px;border:1px solid var(--ui-line);border-top:4px solid var(--ui-green);border-radius:8px;background:#fff;box-shadow:0 9px 24px rgba(24,35,24,.06)}
.time-kpi-card.time-warning{border-top-color:#e7a538}.time-kpi-label,.time-report-summary span{display:block;color:var(--ui-muted);font-size:12px;font-weight:750}.time-kpi-value,.time-report-summary strong{display:block;margin-bottom:4px;color:var(--ui-ink);font-size:1.45rem}
.request-summary-card{display:grid;align-content:start;gap:8px}.request-summary-card p{margin:0;color:var(--ui-muted);line-height:1.5}.request-summary-card .btn{justify-self:start}
.time-filter-form,.time-request-form,.time-clock-team-filters,.settings-form,.user-form,.company-form,.project-template-form,.factusol-create-form,.factusol-preview-form,.installation-form,.installation-instruction-form,.installation-report-form,.report-sign-form{display:grid;gap:16px}
.time-clock-team-filters{grid-template-columns:repeat(4,minmax(0,1fr)) auto;align-items:end}.time-clock-team-filters>label,.time-filter-form>label{display:grid;gap:6px;color:var(--ui-ink);font-size:13px;font-weight:750}
.time-clock-team-filters input,.time-clock-team-filters select,.time-filter-form input,.time-filter-form select,.time-filter-form textarea{width:100%;min-height:42px;padding:9px 11px;border:1px solid var(--ui-line-strong);border-radius:7px;background:#fff;font:inherit}
.time-clock-filter-actions{display:flex;align-items:center;gap:8px}.time-request-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.42fr);gap:18px;align-items:start}.time-request-action-forms,.time-request-action-forms-stacked{display:grid;gap:12px}.time-request-side{position:sticky;top:84px}
.time-signature-box{padding:18px;border:1px dashed #b8c7b0;border-radius:8px;background:#f8faf7}.time-signature-box-signed{border-style:solid;border-color:#a8d486;background:#f0f9e8}.time-warning-card{margin:0 0 18px;padding:15px 17px;border:1px solid #efd29c;border-radius:8px;color:#7d5010;background:#fff7e7}.time-clock-edit-summary,.time-clock-audit-data{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}

/* Entity cards and forms */
.company-card-grid,.client-card-grid,.installation-card-grid,.project-file-grid,.project-items-grid,.installation-file-grid,.installation-media-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.company-card,.client-card,.installation-card,.project-item-card,.project-file-card,.installation-file-card,.installation-media-card{min-width:0;display:flex;flex-direction:column;gap:14px;padding:18px;border:1px solid var(--ui-line);border-top:4px solid var(--ui-green);border-radius:8px;background:#fff;box-shadow:var(--ui-shadow)}
.company-card-title-row,.client-card-header,.project-item-card-header,.project-file-card-main,.installation-card-main{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.company-card h2,.client-card h2,.installation-card h2,.project-item-card h3{margin:0;overflow-wrap:anywhere}
.company-legal-name,.client-last-project,.installer-muted,.project-file-meta,.project-item-summary-muted{color:var(--ui-muted)}
.company-card-details,.client-card-details,.project-item-meta-grid,.installation-detail-grid,.client-data-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;margin:0}.company-card-details dt,.client-card-details dt,.project-item-meta-grid dt,.installation-detail-grid dt,.client-data-list dt{color:var(--ui-muted);font-size:11px;font-weight:800;text-transform:uppercase}.company-card-details dd,.client-card-details dd,.project-item-meta-grid dd,.installation-detail-grid dd,.client-data-list dd{margin:4px 0 0;overflow-wrap:anywhere}
.company-logo-preview,.company-logo-preview-small,.company-logo-preview-large{display:grid;place-items:center;overflow:hidden;border:1px solid var(--ui-line);border-radius:7px;background:#f4f6f2}.company-logo-preview-small{width:66px;height:48px}.company-logo-preview-large{width:min(280px,100%);min-height:130px}.company-logo-preview img,.company-logo-preview-small img,.company-logo-preview-large img{display:block;width:100%;height:100%;object-fit:contain}
.company-status-badge,.user-status-badge,.file-visibility-badge,.file-primary-badge,.document-type-badge,.quick-filter-badge,.import-confidence-badge{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;color:#315f22;background:var(--ui-green-soft);font-size:11px;font-weight:850}
.company-form-layout,.client-detail-layout,.client-secondary-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.4fr);gap:18px;align-items:start}.company-form-grid,.user-form-grid,.report-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.company-logo-panel{position:sticky;top:84px}
.client-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.client-summary-card{padding:17px;border:1px solid var(--ui-line);border-top:4px solid var(--ui-green);border-radius:8px;background:#fff}.client-summary-card-warning{border-top-color:#e6a43a}.client-summary-card span{display:block;color:var(--ui-muted);font-size:11px;font-weight:800;text-transform:uppercase}.client-summary-card strong{display:block;margin-top:6px;font-size:1.35rem}.client-data-wide{grid-column:1/-1}.client-project-list,.client-payment-list,.client-note-list,.client-activity-list{display:grid;gap:10px}.client-payment-row,.client-note-card,.client-activity-item{padding:14px;border:1px solid #e2e8de;border-radius:7px;background:#f9fbf8}.client-note-header,.client-note-form-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.client-note-body{margin-top:10px;line-height:1.6}.client-note-form{display:grid;gap:12px}

/* Projects, imports, settings and dashboard */
.project-filter-panel{margin-bottom:18px}.project-filter-form{display:grid;gap:14px}.project-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.project-filter-search{grid-column:span 2}.project-filter-actions,.project-list-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}.project-card-badges,.project-item-badges,.project-file-card-badges{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.project-card-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.project-file-group+.project-file-group{margin-top:22px;padding-top:20px;border-top:1px solid var(--ui-line)}.project-file-dropzone{display:grid;gap:10px;padding:18px;border:2px dashed #b9c8b0;border-radius:8px;background:#f8faf7}.project-file-dropzone-title{font-weight:850}.project-file-upload-form,.project-item-form,.project-item-edit-form,.project-reminder-form,.factusol-import-form,.factusol-manual-form,.file-meta-form{display:grid;gap:13px}.project-file-upload-actions,.project-item-form-actions,.project-item-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.project-item-list{display:grid;gap:12px}.project-item-edit{margin-top:6px;padding-top:12px;border-top:1px solid var(--ui-line)}
.project-items-summary,.project-items-total-panel,.checklist-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.project-items-summary>div,.project-items-total-panel>div,.checklist-summary>div{padding:13px;border:1px solid var(--ui-line);border-radius:7px;background:#f7f9f5}.project-items-summary-expanded{grid-template-columns:repeat(4,minmax(0,1fr))}
.final-pdf-panel{border-left:5px solid var(--ui-green)}.final-pdf-status{display:inline-flex;padding:5px 9px;border-radius:999px;color:#315f22;background:var(--ui-green-soft);font-size:11px;font-weight:850}.final-pdf-upload-form,.final-pdf-generate-form,.final-pdf-toolbar-form{display:flex;align-items:center;flex-wrap:wrap;gap:9px}
.project-signature-grid,.signature-evidence-grid,.signature-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.signature-evidence-card-wide{grid-column:1/-1}.project-signature-details,.signature-check-item{padding:13px;border:1px solid var(--ui-line);border-radius:7px;background:#f8faf7}.project-signature-hash,.signature-hash-list,.signature-user-agent,.installation-evidence-hash{overflow-wrap:anywhere;font-family:Consolas,monospace;font-size:12px}.signature-image-frame,.project-signature-image-panel{display:grid;place-items:center;min-height:150px;padding:14px;border:1px solid var(--ui-line);border-radius:7px;background:#f7f9f5}.signature-image-frame img,.project-signature-image-panel img{max-width:100%;max-height:260px;object-fit:contain}
.checklist-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}.checklist-item{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--ui-line);border-radius:7px}.checklist-summary-ok{border-color:#add49a!important;background:#eff8e9!important}.checklist-summary-warning{border-color:#efd29c!important;background:#fff8eb!important}.checklist-summary-error{border-color:#efb8b8!important;background:#fff1f1!important}
.factusol-preview-grid,.factusol-help-grid,.factusol-import-methods,.diagnostics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.factusol-import-method,.choice-card,.diagnostics-card{min-width:0;padding:17px;border:1px solid var(--ui-line);border-radius:8px;background:#fff}.factusol-paste-box textarea{min-height:320px;font-family:Consolas,monospace}.factusol-warning,.import-warning-box,.payment-warning,.payment-bank-warning{padding:14px;border:1px solid #efd29c;border-radius:8px;color:#785018;background:#fff7e7}.import-raw-line,.diagnostics-output,.cron-output-box,.cron-command-box,.cron-url-box{overflow:auto;padding:12px;border:1px solid var(--ui-line);border-radius:7px;background:#121914;color:#e8f2e2;font-family:Consolas,monospace;font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere}
.settings-grid,.cron-settings-grid,.cron-status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.settings-help{color:var(--ui-muted);font-size:13px;line-height:1.5}.settings-textarea{min-height:130px}.settings-file-current{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--ui-line);border-radius:7px;background:#f8faf7}.user-danger-panel{border-color:#efbcbc;background:#fff6f6}.user-inline-form{display:inline-flex;align-items:center;gap:8px}.user-active-field,.company-active-field,.role-active-field{display:flex;align-items:center;gap:9px}
.dashboard-workday-cards,.dashboard-action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.dashboard-action-card{display:grid;gap:9px;padding:18px;border:1px solid var(--ui-line);border-top:4px solid var(--ui-green);border-radius:8px;background:#fff}.dashboard-action-card-featured{color:#fff;background:var(--ui-dark)}.dashboard-worklist{display:grid;gap:9px}.dashboard-worklist-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 16px;padding:14px;border:1px solid var(--ui-line);border-radius:7px;background:#fff}.dashboard-worklist-featured{border-left:4px solid var(--ui-green)}.dashboard-worklist-meta{display:flex;flex-wrap:wrap;gap:8px;color:var(--ui-muted);font-size:13px}.dashboard-worklist-item-action{grid-column:2;grid-row:1/span 2}

/* Installations, reports, payments and public additions */
.installation-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:end}.installation-hero-card{margin-bottom:18px;padding:22px;border:1px solid var(--ui-line);border-left:5px solid var(--ui-green);border-radius:8px;background:#fff;box-shadow:var(--ui-shadow)}.installation-info-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.installation-info-list div{padding:12px;border:1px solid var(--ui-line);border-radius:7px;background:#f8faf7}.installation-team-list,.installation-timeline-list,.report-hash-list{display:grid;gap:9px;margin:0;padding:0;list-style:none}.installation-team-member,.installation-timeline-list li{padding:12px;border:1px solid var(--ui-line);border-radius:7px;background:#f8faf7}
.report-form-grid,.report-readonly-grid,.report-signed-grid,.report-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.report-readonly-wide{grid-column:1/-1}.report-check-summary,.report-evidence-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.report-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.report-photo-grid img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:6px}.report-signature-pad,.public-signature-pad{overflow:hidden;border:1px solid var(--ui-line-strong);border-radius:8px;background:#fff}.report-signature-pad-header,.public-signature-pad-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid var(--ui-line);background:#f6f8f4}
.payment-center-grid,.payment-instructions-grid,.payment-center{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.42fr);gap:18px}.payment-bank-details,.payment-reference-box,.payment-instructions-extra{padding:15px;border:1px solid var(--ui-line);border-radius:8px;background:#f8faf7}.payment-center-actions{display:flex;flex-wrap:wrap;gap:9px}.payment-instructions-document{padding:24px;border:1px solid var(--ui-line);border-radius:8px;background:#fff;box-shadow:var(--ui-shadow)}
.public-project-overview,.public-payment-layout,.public-signer-grid,.public-item-groups,.public-file-library{display:grid;gap:16px}.public-payment-layout{grid-template-columns:minmax(0,1fr) minmax(270px,.38fr)}.public-payment-side{position:sticky;top:18px}.public-item-group,.public-legal-document-card{padding:17px;border:1px solid #dfe6da;border-radius:8px;background:#fff}.public-item-list{display:grid;gap:8px}.public-item-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;padding:11px 0;border-bottom:1px solid #e7ebe4}.public-signature-canvas{display:block;width:100%;height:220px;touch-action:none}.public-legal-modal[hidden]{display:none}.public-legal-modal{position:fixed;inset:0;z-index:1600;display:grid;place-items:center;padding:18px}.public-legal-modal-backdrop{position:absolute;inset:0;background:rgba(4,10,6,.72)}.public-legal-modal-dialog{position:relative;z-index:1;width:min(900px,100%);max-height:calc(100vh - 36px);display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border-radius:8px;background:#fff}.public-legal-modal-header,.public-legal-modal-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid #dfe6da}.public-legal-pdf-viewer{width:100%;min-height:66vh;border:0}

/* Proposal preview recovery */
.premium-preview-shell{width:min(1120px,calc(100% - 32px));margin:22px auto 50px}.premium-page,.premium-cover-page{position:relative;width:100%;min-height:1120px;overflow:hidden;border-radius:8px;background:#fff;box-shadow:0 20px 58px rgba(8,14,10,.16)}.premium-page+.premium-page{margin-top:24px}.premium-cover-page{color:#fff;background:#071015}.premium-cover-bg,.premium-page-bg,.premium-cover-shade,.premium-layer{position:absolute;inset:0;width:100%;height:100%}.premium-cover-bg,.premium-page-bg{object-fit:cover}.premium-cover-shade{background:linear-gradient(90deg,rgba(3,9,12,.94),rgba(3,9,12,.58) 55%,rgba(3,9,12,.12))}.premium-layer{z-index:1;display:flex;flex-direction:column;padding:54px}.premium-cover-logo-img{display:block;width:min(360px,52%);max-height:90px;object-fit:contain}.premium-cover-title{max-width:84%;margin:80px 0 12px;color:#fff;font-size:clamp(4.2rem,8vw,7rem);line-height:.92}.premium-cover-subtitle{max-width:560px;color:rgba(255,255,255,.84);font-size:1.35rem}.premium-cover-card{width:min(520px,100%);margin-top:30px;padding:18px;border:1px solid rgba(255,255,255,.22);border-left:4px solid var(--ui-green);border-radius:8px;background:rgba(5,12,14,.72)}.premium-cover-card-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.14)}.premium-cover-bottom-copy{margin-top:auto}.premium-cover-brands{display:flex;align-items:center;gap:24px}.premium-cover-brand-logo{max-width:170px;max-height:54px;object-fit:contain}.premium-cover-footer{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:26px;padding-top:18px;border-top:1px solid rgba(255,255,255,.22)}.premium-cover-qr{position:absolute;right:54px;bottom:118px;z-index:2}.premium-cover-qr-img{width:96px;height:96px;padding:6px;background:#fff;object-fit:contain}.premium-page-content{position:relative;z-index:1;padding:52px}.premium-page-heading{margin-bottom:24px;padding-bottom:14px;border-bottom:3px solid var(--ui-green)}.premium-summary-grid,.premium-two-columns,.proposal-item-groups,.proposal-standard-grid,.conditions-visual-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.premium-summary-block,.premium-totals-box,.premium-items-block,.proposal-item-group,.proposal-premium-overview,.proposal-premium-visual,.condition-visual-card{padding:17px;border:1px solid var(--ui-line);border-radius:8px;background:#fff}.condition-visual-card{border-left:4px solid var(--ui-green)}.premium-items-table,.proposal-item-table{width:100%;border-collapse:collapse}.premium-items-table th,.premium-items-table td,.proposal-item-table th,.proposal-item-table td{padding:10px;border-bottom:1px solid var(--ui-line);text-align:left}.proposal-item-table-wrap{overflow-x:auto}

@media(max-width:1100px){.form-grid-5,.project-filter-grid,.installation-filters,.time-clock-team-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.project-filter-search,.time-clock-filter-actions{grid-column:1/-1}.time-hero-actions{max-width:48%}.time-kpi-grid,.client-summary-grid,.dashboard-workday-cards,.dashboard-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.time-page,.settings-shell,.users-shell,.company-admin-shell,.client-admin-shell,.client-detail-shell,.project-templates-shell,.signature-evidence-page,.factusol-import-page,.installation-report-shell,.installation-instructions-shell,.installer-shell,.phase-one-tests-page,.payment-instructions-page{width:calc(100% - 32px)}.time-hero,.installer-header,.time-clock-status-card{flex-direction:column}.time-hero-actions{max-width:none;justify-content:flex-start}.form-grid-3,.detail-grid,.company-form-layout,.client-detail-layout,.client-secondary-layout,.time-request-layout,.payment-center-grid,.payment-instructions-grid,.payment-center,.public-payment-layout,.factusol-preview-grid,.factusol-help-grid,.factusol-import-methods,.diagnostics-grid,.installation-info-list,.report-check-summary,.report-evidence-summary{grid-template-columns:1fr}.time-request-side,.company-logo-panel,.public-payment-side{position:static}.company-card-grid,.client-card-grid,.installation-card-grid,.project-file-grid,.project-items-grid,.installation-file-grid,.installation-media-grid,.premium-summary-grid,.premium-two-columns,.proposal-item-groups,.proposal-standard-grid,.conditions-visual-grid{grid-template-columns:1fr}.premium-cover-page,.premium-page{min-height:900px}.premium-layer,.premium-page-content{padding:32px}}
@media(max-width:560px){.form-grid-2,.form-grid-3,.form-grid-5,.company-form-grid,.user-form-grid,.report-form-grid,.project-filter-grid,.installation-filters,.time-clock-team-filters,.time-kpi-grid,.request-summary-grid,.time-report-summary,.client-summary-grid,.dashboard-workday-cards,.dashboard-action-grid,.project-items-summary,.project-items-summary-expanded,.project-items-total-panel,.checklist-summary,.project-signature-grid,.signature-evidence-grid,.signature-check-grid,.report-readonly-grid,.report-signed-grid,.report-check-grid,.settings-grid,.cron-settings-grid,.cron-status-grid,.time-clock-edit-summary,.time-clock-audit-data{grid-template-columns:1fr}.time-page,.settings-shell,.users-shell,.company-admin-shell,.client-admin-shell,.client-detail-shell,.project-templates-shell,.signature-evidence-page,.factusol-import-page,.installation-report-shell,.installation-instructions-shell,.installer-shell,.phase-one-tests-page,.payment-instructions-page{width:calc(100% - 24px)}.time-hero,.installer-header{padding:20px}.time-hero-actions{width:100%}.time-hero-actions .btn{width:100%}.time-card,.form-panel,.client-panel,.settings-section,.project-items-panel,.project-file-library{padding:16px}.table-panel-header,.time-card-header,.client-section-heading,.project-file-group-header,.company-card-title-row,.client-card-header,.project-item-card-header,.project-file-card-main,.installation-card-main{flex-direction:column}.company-card-details,.client-card-details,.project-item-meta-grid,.installation-detail-grid,.client-data-list{grid-template-columns:1fr}.premium-preview-shell{width:100%;margin-top:0}.premium-cover-page,.premium-page{min-height:760px;border-radius:0}.premium-layer,.premium-page-content{padding:22px}.premium-cover-footer{grid-template-columns:1fr}.premium-cover-qr{display:none}}
@media print{.btn,.admin-area-nav,.admin-context-bar,.time-hero-actions,.installer-action-bar,.preview-print-toolbar,.no-print{display:none!important}.premium-preview-shell{width:100%;margin:0}.premium-page,.premium-cover-page{min-height:297mm;margin:0;border-radius:0;box-shadow:none;break-after:page;page-break-after:always}.premium-page:last-child{break-after:auto;page-break-after:auto}}



/* Extended module recovery */
.permission-muted,.empty-copy,.installer-muted,.table-muted-line{color:var(--ui-muted)}
.empty-copy,.cron-empty-state,.dashboard-empty-state,.client-empty-state,.company-empty-state,.installer-empty-state,.project-empty-card,.premium-empty-state{margin:0;padding:22px;border:1px dashed var(--ui-line-strong);border-radius:8px;color:var(--ui-muted);background:#f8faf7;text-align:center}
.plain-link{color:#34751f;font-weight:800;text-decoration:none}.plain-link:hover{text-decoration:underline}
.compact{padding:14px!important}.filter-panel,.client-filter-panel{margin-bottom:18px;padding:18px;border:1px solid var(--ui-line);border-radius:8px;background:#fff;box-shadow:var(--ui-shadow)}
.card,.check-card,.meta-box,.authorization-activation-panel,.email-test-panel,.send-confirm-box,.project-send-checklist,.module-placeholder-card,.module-placeholder-list-card{min-width:0;padding:17px;border:1px solid var(--ui-line);border-radius:8px;background:#fff}
.meta-row{display:grid;grid-template-columns:minmax(130px,.35fr) minmax(0,1fr);gap:14px;padding:9px 0;border-bottom:1px solid var(--ui-line)}.meta-label{color:var(--ui-muted);font-size:12px;font-weight:800;text-transform:uppercase}.meta-value{min-width:0;overflow-wrap:anywhere;font-weight:750}
.richtext,.rich-text,.premium-richtext,.installation-richtext{line-height:1.68;overflow-wrap:anywhere}.richtext>:first-child,.rich-text>:first-child,.premium-richtext>:first-child,.installation-richtext>:first-child{margin-top:0}.richtext>:last-child,.rich-text>:last-child,.premium-richtext>:last-child,.installation-richtext>:last-child{margin-bottom:0}
.optional-badge,.item-type-badge,.file-type-label,.status-pill-muted{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;color:#586254;background:#edf0eb;font-size:11px;font-weight:850}.is-warning{border-color:#e7bd74!important;background:#fff8ea!important}.is-danger{border-color:#eca9a9!important;background:#fff1f1!important}.is-active{border-color:#9bcf73!important}.is-private{border-left:4px solid #65736b!important}.is-disabled{opacity:.58}.hidden-form{display:none!important}
.print-help-box{margin:12px 0;padding:13px 15px;border:1px solid #bad58f;border-radius:8px;color:#365523;background:#f2f9e9;line-height:1.5}.checkbox-line,.report-conformity-check,.public-checkbox-disabled{display:flex;align-items:flex-start;gap:10px}.checkbox-line input,.report-conformity-check input{width:18px;height:18px;margin-top:2px}
.segmented-control{display:inline-flex;max-width:100%;padding:4px;border:1px solid var(--ui-line);border-radius:8px;background:#f1f4ef}.segmented-control a,.segmented-control button{min-height:34px;padding:7px 11px;border:0;border-radius:6px;color:var(--ui-muted);background:transparent;font:inherit;font-size:13px;font-weight:800;text-decoration:none}.segmented-control .is-active{color:#0b1208;background:#fff;box-shadow:0 2px 8px rgba(22,34,20,.1)}

/* Dashboard and health */
.dashboard-workday-shell,.portal-notifications-page,.module-placeholder-shell,.time-report-page,.time-closures-page,.time-request-create-page,.time-signature-page{width:calc(100% - 48px);max-width:1392px;margin:0 auto;padding:28px 0 48px}.dashboard-section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:14px}.dashboard-section-title h2{margin:0}.dashboard-worklist-topline{display:flex;align-items:center;justify-content:space-between;gap:10px}.dashboard-worklist-activity{border-left:4px solid #71969b}.dashboard-priority-badge{display:inline-flex;padding:5px 9px;border-radius:999px;color:#794f0b;background:#fff1d6;font-size:11px;font-weight:850}.dashboard-priority-danger{color:#9a2929;background:#ffe5e5}.dashboard-priority-muted{color:#5f695c;background:#edf0eb}
.health-summary,.health-section,.release-candidate-card,.phase-tests-section,.phase-tests-summary,.phase-tests-notice{margin-bottom:18px;padding:20px;border:1px solid var(--ui-line);border-radius:8px;background:#fff;box-shadow:var(--ui-shadow)}.health-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 24px;border-left:5px solid var(--ui-green)}.health-summary dl,.phase-tests-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(100px,1fr));gap:10px;margin:0}.health-summary dl div,.phase-tests-summary-grid>div{padding:11px;border:1px solid var(--ui-line);border-radius:7px;background:#f8faf7}.health-summary dt{color:var(--ui-muted);font-size:11px;font-weight:800;text-transform:uppercase}.health-summary dd{margin:4px 0 0;font-size:1.25rem;font-weight:900}.health-section>header,.phase-tests-header,.release-candidate-card,.release-candidate-actions,.health-check,.health-check-actions,.phase-tests-actions{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.health-check-list,.phase-test-list{display:grid;gap:10px}.health-check,.phase-test-item{padding:14px;border:1px solid var(--ui-line);border-radius:7px;background:#f9fbf8}.health-check-copy p,.phase-test-item p{margin:5px 0 0;color:var(--ui-muted)}.health-check-actions{flex-wrap:wrap}.health-warning-classifier form{display:grid;gap:10px;margin-top:10px;min-width:280px}.health-warning-classifier label{display:grid;gap:5px}.health-log-table{min-width:900px}.release-candidate-card{border-top:4px solid var(--ui-green)}.release-inline-blockers{width:100%;margin:0;padding-left:20px}.phase-tests-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.phase-tests-progress{height:9px;overflow:hidden;border-radius:999px;background:#e8ede4}.phase-tests-progress span{display:block;height:100%;background:var(--ui-green)}.phase-test-help{color:var(--ui-muted);font-size:13px;line-height:1.55}.acceptance-priority{display:inline-flex;padding:4px 8px;border-radius:999px;color:#5e6559;background:#edf0eb;font-size:11px;font-weight:850}

/* Client, company and project refinements */
.client-detail-header,.projects-header,.installation-subheader,.instruction-manager-hero,.installation-incident-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.client-filter-form{display:grid;grid-template-columns:minmax(220px,2fr) repeat(2,minmax(150px,1fr)) auto;gap:12px;align-items:end}.client-filter-actions{display:flex;align-items:center;gap:8px}.client-project-count{display:inline-flex;min-width:28px;justify-content:center;padding:4px 8px;border-radius:999px;background:var(--ui-green-soft);font-weight:850}.company-card-main,.project-item-card-main{min-width:0;flex:1}.company-website{overflow-wrap:anywhere}.company-logo-field{display:grid;gap:8px}.document-type-recommendation,.document-type-reference-card,.installation-warning-panel,.project-items-total-note-warning{padding:14px;border:1px solid #efd29c;border-radius:8px;background:#fff8eb}.document-type-reference-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.document-type-selector-field,.project-item-title-field{grid-column:span 2}.document-type-current-help,.project-items-total-note,.final-pdf-panel-copy{color:var(--ui-muted);font-size:13px}.project-template-picker,.permission-fieldset,.work-memory-field{padding:16px;border:1px solid var(--ui-line);border-radius:8px;background:#f8faf7}.permission-fieldset{display:grid;gap:9px}.permission-fieldset legend{padding:0 5px;font-weight:850}.work-memory-heading,.project-item-section-title,.project-items-total-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.work-memory-template-button{justify-self:start}.project-duplicate-form,.project-items-sync-form,.project-item-create-form,.project-send-checklist-compact{display:grid;gap:12px}.project-item-create-form{padding:16px;border:1px dashed var(--ui-line-strong);border-radius:8px;background:#fafcf9}.project-item-optional-field{align-self:end}.project-item-card-main{display:grid;gap:9px}.project-file-card-actions,.project-file-visible-toggle,.project-file-drop-field{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.project-file-drop-field{align-items:flex-start}.project-file-drop-field input[type=file]{max-width:100%}.project-payment-bank-list,.factusol-import-list{display:grid;gap:9px;margin:0;padding:0;list-style:none}.factusol-import-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:12px;border:1px solid var(--ui-line);border-radius:7px}.factusol-import-history,.factusol-import-manual,.factusol-diagnostics-summary{margin-top:16px;padding-top:16px;border-top:1px solid var(--ui-line)}.factusol-definition-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}.factusol-definition-list div{padding:11px;border:1px solid var(--ui-line);border-radius:7px;background:#f8faf7}.factusol-definition-list dt{color:var(--ui-muted);font-size:11px;font-weight:800;text-transform:uppercase}.factusol-definition-list dd{margin:4px 0 0}.factusol-warning-list{margin:0;padding-left:20px}.factusol-confirm-section,.factusol-diagnostics-panel,.factusol-client-choice{padding:16px;border:1px solid var(--ui-line);border-radius:8px;background:#fff}.import-review-form{display:grid;gap:16px}.import-actions-separated{padding-top:16px;border-top:1px solid var(--ui-line)}.import-selected-cell{text-align:center}.diagnostics-details{margin-top:12px}.diagnostics-details summary{cursor:pointer;font-weight:800}.diagnostics-card-wide{grid-column:1/-1}.project-empty-card{text-align:left}.project-signature-block{display:grid;gap:14px}.project-signature-pending-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.project-signature-empty{padding:17px;border:1px dashed var(--ui-line-strong);border-radius:8px;color:var(--ui-muted);background:#f8faf7}.version-pdf-inline-details{display:grid;gap:8px;margin-top:8px}.send-confirm-check{display:flex;align-items:flex-start;gap:9px}

/* Installations and installer */
.installations-shell{width:calc(100% - 48px);max-width:1392px;margin:0 auto;padding:28px 0 48px}.installations-list,.installer-mobile-card-list,.installer-grid,.installer-link-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.installation-detail,.installation-incident-detail{display:grid;gap:18px}.installation-card-actions,.installer-card-actions,.instruction-actions-row,.instruction-admin-actions,.instruction-approval-form,.report-final-pdf-upload,.report-final-pdf-publish{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.installation-reference{color:var(--ui-muted);font-size:12px;font-weight:800}.installation-subheader{margin-bottom:18px}.installation-team,.installation-timeline,.installation-file-gallery,.installation-media-section,.installation-incident-files,.installation-incident-status-panel,.installation-incident-source-panel,.installation-report-incidents-panel,.incident-visits-section,.incident-visit-dashboard-section,.installation-incident-dashboard-section,.operations-incidents-panel,.operations-visits-panel{padding:18px;border:1px solid var(--ui-line);border-radius:8px;background:#fff;box-shadow:var(--ui-shadow)}.installation-timeline{position:relative}.installation-assignment-form,.installation-incident-form,.operation-session-form{display:grid;gap:14px}.installation-file-gallery,.installation-media-grid{align-items:start}.installation-media-thumb{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:7px}.installation-media-modal[hidden]{display:none}.installation-media-modal{position:fixed;inset:0;z-index:1700;display:grid;place-items:center;padding:24px;background:rgba(4,10,6,.82)}.installation-media-modal img{max-width:min(1100px,100%);max-height:90vh;object-fit:contain}.installation-media-modal-close{position:absolute;top:18px;right:18px;z-index:1}.installation-mobile-nav{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px}.installer-mobile-section,.installer-card,.installer-clock-card,.installer-current-card,.installer-links-panel{min-width:0;padding:18px;border:1px solid var(--ui-line);border-radius:8px;background:#fff;box-shadow:var(--ui-shadow)}.installer-mobile-card{display:grid;gap:13px;padding:17px;border:1px solid var(--ui-line);border-top:4px solid var(--ui-green);border-radius:8px;background:#fff}.installer-mobile-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.installer-mobile-card-header h3{margin:0}.installer-mobile-card-header span{color:var(--ui-muted);font-size:12px}.installer-mobile-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:0}.installer-mobile-card dt{color:var(--ui-muted);font-size:11px;font-weight:800;text-transform:uppercase}.installer-mobile-card dd{margin:4px 0 0}.installer-card-meta-row{display:flex;align-items:center;flex-wrap:wrap;gap:7px;color:var(--ui-muted);font-size:12px}.installer-card-actions{margin-top:auto}.installer-warning-text{margin:0;padding:10px;border-radius:7px;color:#805317;background:#fff2d8}.installer-action-bar-sticky{position:sticky;bottom:12px;z-index:20;padding:10px;border:1px solid var(--ui-line);border-radius:8px;background:rgba(255,255,255,.96);box-shadow:var(--ui-shadow)}.installer-action-form{margin:0}.instruction-guide-grid,.instruction-approval-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.instruction-guide-wide{grid-column:1/-1}.instruction-actions-panel,.instruction-review-panel,.instruction-status-panel,.instruction-admin-summary,.instruction-repeatable-section{padding:16px;border:1px solid var(--ui-line);border-radius:8px;background:#fff}.instruction-repeatable-list{display:grid;gap:10px}.instruction-repeatable-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:start;padding:12px;border:1px solid var(--ui-line);border-radius:7px;background:#f8faf7}.instruction-summary-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}.instruction-summary-list li{padding:10px;border-bottom:1px solid var(--ui-line)}.instruction-version-table{min-width:760px}.installation-report-camera-empty{padding:20px;border:1px dashed var(--ui-line-strong);border-radius:8px;color:var(--ui-muted);text-align:center}.report-client-comments,.report-final-pdf-meta{padding:13px;border:1px solid var(--ui-line);border-radius:7px;background:#f8faf7}.report-signature-image{display:block;max-width:100%;max-height:260px;object-fit:contain}.report-signature-signed{border-color:#a8d486;background:#f2faec}.incident-visit-header,.incident-visit-team{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.incident-visit-operation-time{padding:14px;border-left:4px solid #71969b;background:#f0f6f6}.incident-visit-team{flex-wrap:wrap}

/* Operations and generic reports */
.operation-management-summary,.operation-report-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.operation-management-summary>article,.operation-report-summary>article{padding:14px;border:1px solid var(--ui-line);border-top:4px solid var(--ui-green);border-radius:8px;background:#fff}.operations-report-hub-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.operation-session-form,.form-intro,.inline-review-form,.inline-note-form{padding:16px;border:1px solid var(--ui-line);border-radius:8px;background:#fff}.form-intro{color:var(--ui-muted);line-height:1.55}.inline-review-form,.inline-note-form{display:grid;gap:10px}.time-report-table{min-width:820px}.time-clock-history{overflow-x:auto}.time-clock-edit-card,.time-request-card{padding:18px;border:1px solid var(--ui-line);border-radius:8px;background:#fff;box-shadow:var(--ui-shadow)}.time-request-main{display:grid;gap:16px}.time-clock-reminder-settings,.time-clock-reminder-cron-box,.time-clock-reminder-logs-panel{padding:17px;border:1px solid var(--ui-line);border-radius:8px;background:#fff}.cron-empty-state{text-align:left}

/* Public and printable document helpers */
.public-project-intro,.public-dossier-section,.public-items-section,.public-payment-main,.public-payment-steps,.public-sign-steps,.public-sign-legal,.public-visit-location{padding:17px;border:1px solid #dfe6da;border-radius:8px;background:#fff}.public-hero-actions,.public-legal-modal-status{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.public-sign-panel-enhanced{border-top:4px solid var(--ui-green)}.public-enhanced-sign-form{display:grid;gap:14px}.public-payment-not-required{color:#39701d;background:#eff9e8}.public-priority-wide{grid-column:1/-1}.public-sat{display:grid;gap:16px}.public-legal-modal-close{min-height:38px;padding:7px 11px;border:1px solid #cdd7c8;border-radius:7px;background:#fff;font:inherit;font-weight:800;cursor:pointer}.payment-instructions-header,.payment-instructions-footer{display:flex;align-items:center;justify-content:space-between;gap:18px}.payment-reference-box-large{padding:18px;border:2px solid #a6ce63;border-radius:8px;background:#f3faeb;font-size:1.1rem}.payment-bank-details-print{box-shadow:none}.public-payment-steps{display:grid;gap:10px}.public-payment-steps li{line-height:1.5}
.nf-cg-a4-page{width:210mm;min-height:297mm;margin:0 auto;padding:14mm 16mm;color:#172115;background:#fff}.nf-cg-header,.nf-cg-footer,.nf-cg-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.nf-cg-header{padding-bottom:8mm;border-bottom:2px solid var(--ui-green)}.nf-cg-logo{max-width:68mm;max-height:18mm;object-fit:contain}.nf-cg-kicker{color:#649422;font-size:10px;font-weight:900;text-transform:uppercase}.nf-cg-title-block h2{margin:2mm 0;font-size:30px}.nf-cg-line{width:24mm;height:3px;background:var(--ui-green)}.nf-cg-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8mm;margin-top:8mm}.nf-cg-col{display:grid;gap:3mm}.nf-cg-row{align-items:flex-start}.nf-cg-icon{flex:0 0 9mm;width:9mm;height:9mm;color:#6b992b}.nf-cg-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.7}.nf-cg-body{flex:1;line-height:1.38}.nf-cg-body strong{display:block}.nf-cg-body p{margin:1mm 0 0;color:#566252;font-size:9px}.nf-cg-footer{margin-top:8mm;padding-top:5mm;border-top:1px solid #cad5c4}.nf-cg-footer-box{font-size:9px}.nf-cg-footer-box-right{text-align:right}.nf-cg-print-note{color:#697464;font-size:8px}
.pdf-final-document .page{width:210mm;min-height:297mm;margin:0 auto 12mm;padding:18mm;background:#fff;box-shadow:var(--ui-shadow)}.pdf-final-document .cover{position:relative;overflow:hidden;color:#fff;background:#081116}.pdf-final-document .cover-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.pdf-final-document .cover-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12mm}.pdf-final-document .cover-cell,.pdf-final-document .section,.pdf-final-document .meta-box{padding:6mm;border:1px solid rgba(255,255,255,.22);background:rgba(4,11,14,.72)}.pdf-final-document .section{color:#172115;background:#fff}.pdf-final-document .grid,.pdf-final-document .two-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7mm}.pdf-final-document .file-table{width:100%;border-collapse:collapse}.pdf-final-document .file-table th,.pdf-final-document .file-table td{padding:3mm;border-bottom:1px solid #dce4d7;text-align:left}.pdf-final-document .footer-note{color:#667064;font-size:10px}
.premium-cover-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.premium-cover-built{color:var(--ui-green);font-size:11px;font-weight:900;text-transform:uppercase}.premium-cover-card-row-wide{grid-template-columns:1fr}.premium-cover-distributor{color:rgba(255,255,255,.7);font-size:11px}.premium-cover-logo-fallback,.premium-cover-bodytone-text{color:#fff;font-weight:900}.premium-cover-brand-logo-ikex,.premium-cover-brand-logo-bodytone{object-fit:contain}.premium-cover-brand-logo-bodytone{max-width:190px}.premium-cover-qr-placeholder{display:grid;place-items:center;width:96px;height:96px;border:1px dashed rgba(255,255,255,.5)}.cover-card-icon,.cover-footer-icon{display:grid;place-items:center;color:var(--ui-green)}.cover-card-label{color:rgba(255,255,255,.68);font-size:10px;font-weight:800;text-transform:uppercase}.cover-footer-item{display:grid;grid-template-columns:auto 1fr;gap:9px;align-items:start}.cover-qr-box{display:grid;gap:5px;text-align:center}.cover-render-frame{overflow:hidden;border:1px solid rgba(255,255,255,.18);border-radius:8px}.cover-render-frame img{display:block;width:100%;height:100%;object-fit:cover}.cover-render-placeholder,.premium-cover-missing-notice{display:grid;place-items:center;min-height:180px;padding:20px;border:1px dashed rgba(255,255,255,.4);color:rgba(255,255,255,.7)}.premium-summary-page,.premium-items-page{background:#fff}.premium-summary-wide{grid-column:1/-1}.premium-total-final{border-color:#9bcf73;background:#eff9e8}.premium-page-heading-inline{display:flex;align-items:flex-end;justify-content:space-between;gap:14px}.premium-item-group-title{margin:0 0 10px}.premium-import-note{color:var(--ui-muted);font-size:12px}

/* Responsive completion */
@media(max-width:1100px){.client-filter-form{grid-template-columns:repeat(2,minmax(0,1fr))}.client-filter-actions{grid-column:1/-1}.operation-management-summary,.operation-report-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.installations-list,.installer-grid,.installer-link-grid{grid-template-columns:1fr}}
@media(max-width:820px){.dashboard-workday-shell,.portal-notifications-page,.module-placeholder-shell,.time-report-page,.time-closures-page,.time-request-create-page,.time-signature-page,.installations-shell{width:calc(100% - 32px)}.health-summary,.release-candidate-card,.client-detail-header,.projects-header,.installation-subheader,.instruction-manager-hero,.installation-incident-hero,.incident-visit-header,.payment-instructions-header,.payment-instructions-footer{display:flex;flex-direction:column}.phase-tests-grid,.document-type-reference-grid,.project-signature-pending-grid,.instruction-guide-grid,.instruction-approval-grid,.operation-management-summary,.operation-report-summary{grid-template-columns:1fr}.installer-mobile-card-list{grid-template-columns:1fr}.installer-action-bar-sticky{position:static}.pdf-final-document .page{width:100%;min-height:0;margin:0;padding:24px;box-shadow:none}}
@media(max-width:560px){.dashboard-workday-shell,.portal-notifications-page,.module-placeholder-shell,.time-report-page,.time-closures-page,.time-request-create-page,.time-signature-page,.installations-shell{width:calc(100% - 24px)}.client-filter-form,.factusol-definition-list,.installer-mobile-card dl,.health-summary dl,.phase-tests-summary-grid{grid-template-columns:1fr}.meta-row{grid-template-columns:1fr;gap:4px}.instruction-repeatable-row,.factusol-import-row{grid-template-columns:1fr}.client-filter-actions,.installation-card-actions,.installer-card-actions,.instruction-actions-row,.report-final-pdf-upload,.report-final-pdf-publish{align-items:stretch;flex-direction:column}.client-filter-actions .btn,.installation-card-actions .btn,.installer-card-actions .btn{width:100%}.nf-cg-a4-page{width:100%;min-height:0;padding:20px}.nf-cg-cols{grid-template-columns:1fr}.premium-cover-header,.premium-page-heading-inline{flex-direction:column}}
@media print{.print-help-box,.installation-mobile-nav,.installer-action-bar-sticky,.installation-media-modal{display:none!important}.nf-cg-a4-page,.pdf-final-document .page{width:210mm;min-height:297mm;margin:0;padding:14mm 16mm;box-shadow:none;break-after:page;page-break-after:always}}


/* Remaining view-specific components */
.quick-filter-badge-warning,.quick-filter-badge-danger{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:850}
.quick-filter-badge-warning{color:#805317;background:#fff1d6}.quick-filter-badge-danger{color:#982929;background:#ffe5e5}
.module-placeholder-grid,.effective-permissions,.role-permissions,.role-audit-section{display:grid;gap:16px}.module-placeholder-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.phase-tests-page{width:calc(100% - 48px);max-width:1392px;margin:0 auto;padding:28px 0 48px}
.settings-file-current-empty{padding:14px;border:1px dashed var(--ui-line-strong);border-radius:7px;color:var(--ui-muted);background:#f8faf7}
.checklist-summary-compact{grid-template-columns:repeat(2,minmax(0,1fr))}.checklist-item-status{white-space:nowrap;font-weight:850}
.factusol-import-submit-field{display:flex;align-items:flex-end}.factusol-difference-override{padding:14px;border:1px solid #efd29c;border-radius:8px;background:#fff8eb}
.installation-project-table{width:100%;min-width:760px;border-collapse:collapse}.installation-project-table th,.installation-project-table td{padding:11px;border-bottom:1px solid var(--ui-line);text-align:left;vertical-align:top}
.home-favorites{display:grid;gap:12px}.proposal-items-section{break-inside:avoid}.cover-subtitle{max-width:560px;color:rgba(255,255,255,.82);line-height:1.5}
.installation-report-print-body{color:#172115;background:#fff}.installation-report-print-cover-brand{display:flex;align-items:center;justify-content:space-between;gap:16px}.installation-report-print-upload{display:grid;gap:12px;padding:16px;border:1px solid var(--ui-line);border-radius:8px;background:#fff}
.calendar-detail-dialog,.calendar-event-dialog{width:min(720px,calc(100% - 32px));max-height:calc(100vh - 32px);overflow:auto;border:0;border-radius:8px;padding:0;box-shadow:0 28px 80px rgba(9,18,11,.28)}
@media(max-width:820px){.module-placeholder-grid{grid-template-columns:1fr}.phase-tests-page{width:calc(100% - 32px)}}
@media(max-width:560px){.phase-tests-page{width:calc(100% - 24px)}.checklist-summary-compact{grid-template-columns:1fr}}
@media print{.installation-report-print-upload{display:none!important}}

.alert.warning{color:#7b5012;background:#fff6e3;border-color:#efd09a}.alert.success{color:#2d672c;background:#ebf8e7;border-color:#b6dca8}.pdf-final-document .column{min-width:0}.pdf-final-document .status{display:inline-flex;padding:5px 9px;border-radius:999px;color:#315f22;background:#edf8dd;font-size:11px;font-weight:850}
