:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f7f8fa;color:#1f2933}*{box-sizing:border-box}body{margin:0}.app-shell-header{align-items:center;background:#fff;border-bottom:1px solid #d9e2ec;display:grid;grid-gap:16px;gap:16px;grid-template-columns:auto 1fr auto;padding:14px 48px;position:-webkit-sticky;position:sticky;top:0;z-index:10}.app-brand{color:#1f2933;font-weight:800;text-decoration:none}.app-nav{display:flex;flex-wrap:wrap;gap:14px}.app-nav a{color:#52606d;font-weight:700;text-decoration:none}.app-nav a:hover{color:#1f2933}.verification-banner{background:#fff7ed;border-bottom:1px solid #fed7aa;color:#9a3412;font-weight:700;padding:10px 32px}.app-user-menu{justify-self:end;min-width:0;position:relative}.app-user-menu[open] .app-user-trigger{border-color:#9fb3c8}.app-user-trigger{align-items:center;background:#fff;border:1px solid #d9e2ec;border-radius:999px;cursor:pointer;display:inline-flex;gap:8px;max-width:240px;padding:4px 10px 4px 4px}.app-user-trigger::-webkit-details-marker,.app-user-trigger::marker{display:none}.app-user-avatar{align-items:center;background:#1f2933;border-radius:999px;color:#fff;display:inline-flex;font-size:13px;font-weight:800;height:28px;justify-content:center;width:28px}.app-user-label{color:#52606d;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-user-dropdown{background:#fff;border:1px solid #d9e2ec;border-radius:8px;box-shadow:0 18px 36px rgba(31,41,51,.14);display:grid;grid-gap:4px;gap:4px;min-width:240px;padding:8px;position:absolute;right:0;top:calc(100% + 8px);z-index:20}.app-user-details{border-bottom:1px solid #d9e2ec;display:grid;grid-gap:2px;gap:2px;margin-bottom:4px;padding:8px}.app-user-details span,.app-user-details strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-user-details span{color:#52606d;font-size:13px}.app-user-link{background:transparent;border:0;border-radius:6px;color:#1f2933;cursor:pointer;display:block;font:inherit;font-weight:700;padding:9px 10px;text-align:left;text-decoration:none;width:100%}.app-user-link:hover{background:#f0f4f8}.app-user-link.danger{color:#b42318}.page{min-height:100vh;padding:48px}.stack{display:grid;grid-gap:24px;gap:24px;margin:0 auto;max-width:1040px}.stack.compact{gap:16px}.auth-page{align-items:center;display:flex;justify-content:center}.auth-panel{background:#fff;border:1px solid #d9e2ec;border-radius:8px;max-width:420px;padding:28px;width:100%}.auth-switch{color:#52606d;margin:18px 0 0}.page-header{align-items:center;display:flex;gap:16px;justify-content:space-between}.eyebrow{color:#4f5d75;font-size:13px;font-weight:700;letter-spacing:0;margin:0 0 8px;text-transform:uppercase}h1,h2,p{margin-top:0}.lead{color:#52606d;font-size:18px;line-height:1.6;max-width:720px}.panel{background:#fff;border:1px solid #d9e2ec;border-radius:8px;padding:24px}.dashboard-grid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-card{color:inherit;display:block;text-decoration:none}.dashboard-card:hover{border-color:#8aa2bd}.dashboard-summary,.onboarding-panel{align-items:center;display:grid;grid-gap:20px;gap:20px;grid-template-columns:1fr minmax(260px,360px)}.empty-state{border:1px dashed #bcccdc;border-radius:8px;display:grid;grid-gap:12px;gap:12px;justify-items:start;padding:24px}.compact-empty{margin-top:16px;padding:18px}.danger-panel{border-color:#ffccc7}.modal-backdrop{align-items:center;background:rgba(31,41,51,.45);display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:20}.modal-panel{background:#fff;border-radius:8px;display:grid;grid-gap:16px;gap:16px;max-width:520px;padding:24px;width:100%}.muted{color:#627282}.success{color:#1f7a4d}.error{color:#b42318}.verification-card{background:#f8fafc;border:1px solid #d9e2ec;border-radius:8px;display:grid;grid-gap:12px;gap:12px;margin-top:16px;padding:16px}.verification-card p{margin:0}.actions,.inline-form{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.button{background:#1f2933;border:1px solid #1f2933;border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;font:inherit;font-weight:700;justify-content:center;padding:10px 14px;text-decoration:none}.button.secondary{background:#fff;color:#1f2933}.button.danger{background:#b42318;border-color:#b42318}.button.small{padding:7px 10px}.button:disabled{cursor:not-allowed;opacity:.6}label{display:grid;font-weight:700;grid-gap:8px;gap:8px}input,select,textarea{border:1px solid #bcccdc;border-radius:6px;font:inherit;padding:10px 12px}textarea{resize:vertical}.form-grid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.filter-bar{border-bottom:1px solid #d9e2ec;display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:20px;padding-bottom:20px}.filter-actions{align-self:end}.full{grid-column:1/-1}.list{display:grid;grid-gap:10px;gap:10px}.list-item{align-items:center;border:1px solid #d9e2ec;border-radius:6px;color:inherit;display:grid;grid-gap:8px;gap:8px;grid-template-columns:1fr auto auto;padding:14px;text-decoration:none}.maintenance-list-item{grid-template-columns:1fr auto auto auto}.attachment-list-item,.inspection-list-item{grid-template-columns:1fr auto auto auto auto auto auto}.udt-list-item,.visit-list-item{grid-template-columns:1fr auto auto auto auto}.checklist{color:#334e68;display:grid;grid-gap:6px;gap:6px;list-style:none;margin:0;padding:0}.signature-pad{display:grid;grid-gap:10px;gap:10px}.signature-canvas{aspect-ratio:4/1;background:#fff;border:1px solid #bcccdc;border-radius:6px;max-width:100%;touch-action:none;width:100%}.signature-preview{background:#fff;border:1px solid #d9e2ec;border-radius:6px;height:96px;object-fit:contain;width:min(360px,100%)}.compliance-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.compliance-card{border:1px solid #d9e2ec;border-radius:8px;display:grid;grid-gap:8px;gap:8px;padding:16px}.compliance-card strong{font-size:20px}.compliance-compliant,.compliance-up_to_date,.compliance-valid{background:#f0fff4;border-color:#b7e4c7}.compliance-attention_required,.compliance-due_soon,.compliance-expiring_soon{background:#fffaf0;border-color:#ffd591}.compliance-expired,.compliance-non_compliant,.compliance-overdue{background:#fff1f0;border-color:#ffccc7}.catalog-form,.work-hour-form{border-bottom:1px solid #d9e2ec;margin-bottom:20px;padding-bottom:20px}.part-item{grid-template-columns:1fr auto auto auto}.work-hour-item{grid-template-columns:1fr auto auto auto auto}.status-actions{margin:20px 0}.workflow-rail{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.workflow-step{border:1px solid #d9e2ec;border-radius:999px;color:#627282;font-size:13px;font-weight:700;padding:6px 10px}.workflow-step.current{background:#1f2933;border-color:#1f2933;color:#fff}.workflow-step.available{border-color:#8aa2bd;color:#334e68}.status-badge{border:1px solid #bcccdc;border-radius:999px;color:#334e68;display:inline-flex;font-size:13px;font-weight:700;justify-content:center;padding:4px 10px}.status-completed,.status-passed{background:#e3f8ec;border-color:#b7e4c7;color:#1f7a4d}.status-blocked,.status-cancelled,.status-expired,.status-failed{background:#fff1f0;border-color:#ffccc7;color:#b42318}.status-in_progress{background:#e6f4ff;border-color:#91caff;color:#0958d9}.status-planned{background:#fff7e6;border-color:#ffd591;color:#ad6800}.status-scheduled{background:#f6ffed;border-color:#b7eb8f;color:#237804}.attachment-preview-strip{display:flex;flex-wrap:wrap;gap:12px}.attachment-preview{border:1px solid #d9e2ec;border-radius:6px;margin:0;overflow:hidden;width:128px}.attachment-preview img{aspect-ratio:1;display:block;object-fit:cover;width:100%}.attachment-file-chip,.attachment-preview figcaption{color:#52606d;font-size:12px;overflow:hidden;padding:8px;text-overflow:ellipsis;white-space:nowrap}.attachment-thumb{background:#e6f4ff;border:1px solid #91caff;border-radius:4px;color:#0958d9;font-size:12px;font-weight:800;padding:4px 6px}.qr-layout{align-items:center;display:grid;grid-gap:20px;gap:20px;grid-template-columns:180px 1fr}.qr-image{border:1px solid #d9e2ec;border-radius:6px;max-width:180px;width:100%}.qr-label{align-items:center;background:#fff;border:2px solid #1f2933;border-radius:8px;display:grid;grid-gap:24px;gap:24px;grid-template-columns:240px 1fr;padding:32px}.qr-label img{width:240px}@media print{.app-shell-header,.no-print{display:none}.page{padding:0}.qr-label{border:2px solid #000}}@media (max-width:720px){.page{padding:24px}.app-shell-header{align-items:flex-start;gap:10px;grid-template-columns:1fr;padding:12px 16px}.app-brand{font-size:18px}.app-nav{flex-wrap:nowrap;gap:10px;max-width:100%;overflow-x:auto;padding-bottom:4px}.app-nav a{flex:0 0 auto;font-size:14px;line-height:1.2}.app-user-menu{justify-self:stretch;width:100%}.app-user-trigger{max-width:100%}.app-user-label{font-size:13px}.app-user-dropdown{left:0;min-width:0;right:auto;width:min(100%,320px)}.verification-banner{font-size:15px;padding:10px 16px}.auth-page{align-items:flex-start}.attachment-list-item,.filter-bar,.form-grid,.inspection-list-item,.list-item,.maintenance-list-item,.part-item,.udt-list-item,.visit-list-item,.work-hour-item{grid-template-columns:1fr}.page-header{align-items:flex-start;flex-direction:column}.compliance-grid,.dashboard-grid,.dashboard-summary,.onboarding-panel,.qr-label,.qr-layout{grid-template-columns:1fr}}.details{display:grid;grid-gap:10px 20px;gap:10px 20px;grid-template-columns:max-content 1fr}.details dt{color:#627282;font-weight:700}.details dd{margin:0}@media (max-width:720px){.page{padding:24px}.attachment-list-item,.form-grid,.inspection-list-item,.list-item,.maintenance-list-item,.page-header,.part-item,.udt-list-item,.visit-list-item,.work-hour-item{align-items:stretch;grid-template-columns:1fr}}