:root{--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-display:"Outfit", sans-serif;--font-mono:"JetBrains Mono", monospace;--bg-app:#f1f5f9;--bg-surface:#fff;--bg-card:#fff;--bg-card-hover:#f8fafc;--bg-elevated:#fff;--border-subtle:#e2e8f0;--border-medium:#cbd5e1;--border-strong:#94a3b8;--border-glow:#00a3e066;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#64748b;--text-bright:#020617;--cyan-hexagon:#00828a;--cyan-bright:#00a3e0;--cyan-glow:#00828a33;--blue-ids:#0284c7;--hazard-amber:#d97706;--hazard-bg:#fef3c7;--danger-tagout:#dc2626;--danger-bg:#fee2e2;--danger-glow:#dc262640;--success-safe:#16a34a;--success-bg:#dcfce7;--success-glow:#16a34a33;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-full:9999px;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-card:0 2px 8px -1px #0f172a14, 0 1px 3px -1px #0f172a0d;--shadow-elevated:0 10px 25px -3px #0f172a1f, 0 4px 6px -2px #0f172a0d;--shadow-danger:0 0 20px #dc262633}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-app);color:var(--text-primary);-webkit-font-smoothing:antialiased;background-image:radial-gradient(circle at 10% 10%,#00828a0a 0%,#0000 40%),radial-gradient(circle at 90% 90%,#d9770608 0%,#0000 40%);min-height:100vh;line-height:1.5;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text-bright);font-weight:700}button,input,select,textarea{font-family:inherit}.glass-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);transition:all .2s cubic-bezier(.4,0,.2,1)}.glass-card-interactive:hover{background:var(--bg-card-hover);border-color:var(--border-medium);box-shadow:var(--shadow-elevated);transform:translateY(-2px)}.touch-target{touch-action:manipulation;cursor:pointer;min-height:44px}.badge{border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:6px;padding:4px 10px;font-size:.75rem;font-weight:700;display:inline-flex}.badge-ready{color:#166534;background:#dcfce7;border:1px solid #bbf7d0}.badge-tagout{color:#991b1b;background:#fee2e2;border:1px solid #fecaca;animation:2s infinite pulse-danger}.badge-amber{color:#92400e;background:#fef3c7;border:1px solid #fde68a}.badge-cyan{color:#0369a1;background:#e0f2fe;border:1px solid #bae6fd}.btn-primary{color:#fff;border-radius:var(--radius-md);cursor:pointer;background:linear-gradient(135deg,#00828a,#006670);border:none;justify-content:center;align-items:center;gap:8px;padding:12px 24px;font-size:.95rem;font-weight:600;transition:all .2s;display:inline-flex;box-shadow:0 2px 8px #00828a40}.btn-primary:hover{background:linear-gradient(135deg,#00969f,#00737e);transform:translateY(-1px);box-shadow:0 4px 12px #00828a59}.btn-primary:active{transform:translateY(0)}.btn-secondary{color:var(--text-primary);border:1px solid var(--border-medium);border-radius:var(--radius-md);cursor:pointer;box-shadow:var(--shadow-sm);background:#fff;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-size:.9rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-secondary:hover{border-color:var(--border-strong);background:#f8fafc}.btn-danger{color:#fff;border-radius:var(--radius-md);cursor:pointer;background:linear-gradient(135deg,#dc2626,#b91c1c);border:none;justify-content:center;align-items:center;gap:8px;padding:12px 20px;font-weight:700;display:inline-flex;box-shadow:0 2px 8px #dc262640}.btn-danger:hover{box-shadow:0 4px 14px #dc262666}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0f172aa6;justify-content:center;align-items:center;padding:16px;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-content{border:1px solid var(--border-medium);border-radius:var(--radius-lg);width:100%;max-width:640px;max-height:90vh;box-shadow:var(--shadow-elevated);color:var(--text-primary);background:#fff;animation:.2s cubic-bezier(.16,1,.3,1) scaleUp;overflow-y:auto}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleUp{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@keyframes pulse-danger{0%,to{box-shadow:0 0 #dc262659}50%{box-shadow:0 0 0 6px #dc262600}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#f1f5f9}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}.company-toggle-row{gap:10px;margin-top:6px;display:flex}.company-toggle-btn{border-radius:var(--radius-md);border:1px solid var(--border-light);color:var(--text-muted);cursor:pointer;transition:var(--transition-fast);background:#f8fafc;flex:1;padding:10px 14px;font-size:.85rem;font-weight:600}.company-toggle-btn.active.hex{color:#00828a;background:#00828a1f;border-color:#00828a}.company-toggle-btn.active.ids{color:#0284c7;background:#0284c71f;border-color:#0284c7}.org-chip{text-transform:uppercase;letter-spacing:.03em;border-radius:9999px;margin-top:2px;padding:2px 7px;font-size:.68rem;font-weight:700;display:inline-block}.org-chip.hex{color:#0369a1;background:#e0f2fe;border:1px solid #0284c733}.org-chip.ids{color:#00828a;background:#e0f7fa;border:1px solid #00828a40}.mini-org-tag{border-radius:4px;margin-bottom:2px;padding:1px 6px;font-size:.65rem;font-weight:700;display:inline-block}.mini-org-tag.hex{color:#00828a;background:#00828a1f}.mini-org-tag.ids{color:#0284c7;background:#0284c71f}.mini-loc-tag{color:#64748b;margin-left:4px;font-size:.65rem;font-weight:600}.loc-chip{color:#475569;align-items:center;margin-left:6px;font-size:.68rem;font-weight:600;display:inline-flex}.location-select-field{border-radius:var(--radius-md);border:1px solid var(--border-light);width:100%;color:var(--text-bright);cursor:pointer;transition:var(--transition-fast);background:#fff;outline:none;padding:10px 12px;font-size:.88rem;font-weight:600}.location-select-field:focus{border-color:var(--teal-primary);box-shadow:0 0 0 3px #00828a1f}.op-meta-sub-row{align-items:center;gap:8px;margin-top:2px;display:flex}.op-org-tag-sm{border-radius:4px;padding:1px 6px;font-size:.65rem;font-weight:700}.op-org-tag-sm.hex{color:#0284c7;background:#e0f2fe}.op-org-tag-sm.ids{color:#00828a;background:#ecfeff}.cert-modal-overlay{z-index:10000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172ad9;justify-content:center;align-items:center;padding:20px 16px;display:flex;overflow-y:auto}.certificate-modal-wrapper{background:0 0;border-radius:12px;flex-direction:column;width:100%;max-width:980px;max-height:94vh;display:flex;overflow:hidden;box-shadow:0 25px 50px -12px #00000073}.cert-top-bar{color:#f8fafc;background:#0f172a;border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;padding:12px 20px;display:flex}.cert-bar-left{align-items:center;gap:12px;display:flex}.cert-bar-icon{color:#38bdf8}.cert-bar-title{letter-spacing:.01em;font-size:.92rem;font-weight:700;display:block}.cert-bar-sub{color:#94a3b8;font-size:.72rem;display:block}.cert-top-actions{align-items:center;gap:10px;display:flex}.cert-btn-primary{color:#fff;cursor:pointer;transition:var(--transition-fast);background:linear-gradient(135deg,#0284c7,#0369a1);border:none;border-radius:6px;align-items:center;gap:7px;padding:8px 16px;font-size:.82rem;font-weight:700;display:flex}.cert-btn-primary:hover{background:linear-gradient(135deg,#0369a1,#075985);transform:translateY(-1px)}.cert-btn-secondary{color:#e2e8f0;cursor:pointer;transition:var(--transition-fast);background:#ffffff1a;border:1px solid #ffffff26;border-radius:6px;align-items:center;gap:6px;padding:8px 14px;font-size:.8rem;font-weight:600;display:flex}.cert-btn-secondary:hover{color:#fff;background:#fff3}.cert-close-btn{color:#94a3b8;cursor:pointer;transition:var(--transition-fast);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:6px;display:flex}.cert-close-btn:hover{color:#fff;background:#ffffff1a}.printable-certificate-sheet-v2{color:#0f172a;background:#fff;padding:24px 28px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.45;overflow-y:auto}.cert-inner-frame{background:#fff;border:2px solid #1e293b;border-radius:6px;padding:20px;position:relative}.cert-main-header{border-bottom:2px solid #0f172a;grid-template-columns:1.3fr auto 1.4fr;align-items:center;gap:16px;margin-bottom:14px;padding-bottom:16px;display:grid}.crown-badge-row{align-items:center;gap:8px;margin-bottom:4px;display:flex}.cert-doc-type{letter-spacing:.06em;color:#0284c7;text-transform:uppercase;font-size:.65rem;font-weight:800}.cert-standard-chip{color:#fff;background:#0f172a;border-radius:3px;padding:1px 6px;font-size:.62rem;font-weight:700}.cert-main-title{color:#0f172a;letter-spacing:-.02em;margin:0 0 4px;font-size:1.35rem;font-weight:900;line-height:1.15}.cert-form-ref{color:#64748b;font-size:.7rem;font-weight:500}.cert-seal-badge{justify-content:center;align-items:center;display:flex}.seal-outer-ring{text-align:center;background:#00828a0a;border:1.5px dashed #00828a;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:80px;height:80px;padding:4px;display:flex}.seal-text-top{color:#00828a;letter-spacing:.05em;margin-top:2px;font-size:.52rem;font-weight:800}.seal-text-bot{color:#64748b;font-size:.48rem;font-weight:700}.cert-company-block{text-align:right;flex-direction:column;align-items:flex-end;display:flex}.cert-company-logo-row{justify-content:flex-end;align-items:center;gap:10px;margin-bottom:6px;display:flex}.cert-company-logo{object-fit:contain;max-width:130px;height:28px}.cert-company-titles{text-align:right;flex-direction:column;display:flex}.cert-org-name{letter-spacing:.04em;color:#0f172a;font-size:.98rem;font-weight:900}.cert-org-facility{color:#475569;font-size:.68rem;font-weight:600}.cert-meta-codes{justify-content:flex-end;gap:12px;margin-top:4px;display:flex}.cert-code-item{gap:4px;font-size:.66rem;display:flex}.code-label{color:#64748b;font-weight:700}.code-val{color:#0f172a;font-weight:700}.cert-parameters-grid{background:#cbd5e1;border:1px solid #cbd5e1;border-radius:4px;grid-template-columns:repeat(6,1fr);gap:1px;margin-bottom:14px;display:grid;overflow:hidden}.param-cell{background:#f8fafc;flex-direction:column;padding:8px 10px;display:flex}.param-label{color:#64748b;text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px;font-size:.58rem;font-weight:800}.param-val{color:#0f172a;font-size:.78rem;font-weight:600}.highlight-val{color:#0284c7;font-weight:800}.highlight-hours{color:#0f172a;font-weight:800}.cert-verdict-banner{border-left:5px solid #0000;border-radius:6px;align-items:center;gap:14px;margin-bottom:14px;padding:10px 16px;display:flex}.cert-verdict-banner.PASSED{background:#f0fdf4;border-color:#16a34a}.cert-verdict-banner.DEFECT_REPORTED{background:#fffbeb;border-color:#d97706}.cert-verdict-banner.TAGGED_OUT{background:#fef2f2;border-color:#dc2626}.verdict-icon.pass{color:#16a34a}.verdict-icon.warn{color:#d97706}.verdict-icon.danger{color:#dc2626}.verdict-content{flex:1}.verdict-status-title{letter-spacing:.02em;margin-bottom:1px;font-size:.88rem;font-weight:900}.cert-verdict-banner.PASSED .verdict-status-title{color:#15803d}.cert-verdict-banner.DEFECT_REPORTED .verdict-status-title{color:#b45309}.cert-verdict-banner.TAGGED_OUT .verdict-status-title{color:#b91c1c}.verdict-status-desc{color:#475569;font-size:.72rem;font-weight:500}.verdict-tally{text-align:right;flex-direction:column;align-items:flex-end;display:flex}.tally-num{color:#0f172a;font-size:1.1rem;font-weight:900;line-height:1}.tally-sub{color:#64748b;text-transform:uppercase;font-size:.62rem;font-weight:700}.cert-checklist-container{margin-bottom:14px}.cert-section-header-bar{color:#fff;letter-spacing:.04em;background:#0f172a;border-radius:4px 4px 0 0;align-items:center;gap:6px;padding:6px 10px;font-size:.72rem;font-weight:800;display:flex}.cert-checklist-columns{background:#fafafa;border:1px solid #e2e8f0;border-top:none;flex-direction:column;gap:10px;padding:10px;display:flex}.cert-cat-card{background:#fff;border:1px solid #e2e8f0;border-radius:4px;overflow:hidden}.cert-cat-heading{background:#f1f5f9;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:5px 10px;display:flex}.cat-title{color:#0f172a;text-transform:uppercase;font-size:.74rem;font-weight:800}.cat-badge{color:#0284c7;background:#e0f2fe;border-radius:3px;padding:1px 6px;font-size:.64rem;font-weight:700}.cert-items-table{flex-direction:column;display:flex}.cert-item-row{border-bottom:1px solid #f1f5f9;grid-template-columns:36px 1fr 85px;align-items:center;padding:5px 10px;font-size:.72rem;display:grid}.cert-item-row:last-child{border-bottom:none}.cert-item-row.has-defect-row{background:#fffbeb;border-left:3px solid #d97706}.item-num-col{color:#64748b;font-size:.68rem;font-weight:800}.item-detail-col{flex-direction:column;padding-right:10px;display:flex}.item-title{color:#0f172a;font-size:.72rem;font-weight:800}.item-desc{color:#64748b;font-size:.64rem;line-height:1.3}.item-answer-col{text-align:right;justify-content:flex-end;display:flex}.ans-tag{letter-spacing:.03em;border-radius:4px;align-items:center;gap:4px;padding:2px 7px;font-size:.65rem;font-weight:800;display:inline-flex}.ans-tag.pass{color:#15803d;background:#dcfce7;border:1px solid #86efac}.ans-tag.defect{color:#b91c1c;background:#fee2e2;border:1px solid #fca5a5}.cert-inline-defect-box{background:#fff;border:1px solid #fcd34d;border-radius:4px;margin-top:5px;padding:6px 8px}.defect-box-top{align-items:center;gap:6px;margin-bottom:3px;display:flex}.defect-severity-tag{text-transform:uppercase;border-radius:3px;padding:1px 5px;font-size:.6rem;font-weight:800}.defect-severity-tag.minor{color:#b45309;background:#fef3c7}.defect-severity-tag.moderate{color:#c2410c;background:#fed7aa}.defect-severity-tag.critical{color:#dc2626;background:#fee2e2}.defect-repair-badge{color:#15803d;font-size:.6rem;font-weight:700}.defect-desc-text{color:#334155;font-size:.66rem}.defect-photo-inline{align-items:center;gap:8px;margin-top:4px;display:flex}.defect-thumb-img{object-fit:cover;border:1px solid #cbd5e1;border-radius:3px;width:48px;height:34px}.photo-caption{color:#64748b;font-size:.6rem;font-style:italic}.cert-statutory-box{background:#f8fafc;border:1px solid #cbd5e1;border-radius:4px;margin-bottom:14px;padding:8px 12px}.statutory-title{color:#0f172a;margin-bottom:2px;font-size:.68rem}.statutory-text{color:#475569;font-size:.62rem;line-height:1.35}.cert-signatures-container{grid-template-columns:1fr 1fr;gap:14px;margin-bottom:12px;display:grid}.cert-sign-card{background:#fff;border:1px solid #cbd5e1;border-radius:4px;padding:10px 12px}.sign-card-title{color:#0f172a;letter-spacing:.04em;border-bottom:1px solid #f1f5f9;margin-bottom:6px;padding-bottom:4px;font-size:.66rem;font-weight:800}.sign-canvas-preview{background:#fafafa;border:1px dashed #cbd5e1;border-radius:4px;justify-content:center;align-items:center;height:48px;margin-bottom:8px;display:flex}.sign-image{object-fit:contain;max-width:90%;max-height:40px}.sign-text-fallback{color:#00828a;font-size:.68rem;font-weight:700}.supervisor-stamp-box{background:#00828a0d}.enterprise-stamp{align-items:center;gap:8px;display:flex}.enterprise-stamp.hex-stamp{color:#00828a}.enterprise-stamp.ids-stamp{color:#0284c7}.stamp-text-wrap{text-align:left;flex-direction:column;display:flex}.stamp-main{letter-spacing:.05em;font-size:.72rem;font-weight:900}.stamp-sub{color:#475569;font-size:.58rem;font-weight:600}.sign-meta-lines{flex-direction:column;gap:2px;display:flex}.sign-line{justify-content:space-between;font-size:.65rem;display:flex}.meta-lbl{color:#64748b;font-weight:600}.meta-val{color:#0f172a}.text-green{color:#16a34a}.cert-footer-legal{color:#94a3b8;border-top:1px solid #e2e8f0;justify-content:space-between;padding-top:8px;font-size:.6rem;display:flex}@media (width<=640px){.cert-modal-overlay{padding:0}.certificate-modal-wrapper{border-radius:0;height:100%;max-height:100vh}.cert-top-bar{padding:10px 14px}.cert-bar-sub,.cert-btn-secondary span,.cert-btn-primary span{display:none}.cert-btn-secondary,.cert-btn-primary{padding:8px 10px}.printable-certificate-sheet-v2{padding:12px 10px 30px}.cert-inner-frame{border-radius:6px;padding:10px}.cert-main-header{grid-template-columns:1fr;gap:12px}.cert-brand-block{text-align:left}.cert-seal-badge{display:none}.cert-company-block{text-align:left;align-items:flex-start}.cert-company-logo-row{justify-content:flex-start}.cert-company-titles{text-align:left}.cert-meta-codes{justify-content:flex-start}.cert-parameters-grid{grid-template-columns:1fr 1fr;gap:6px;padding:8px 10px}.param-label{font-size:.62rem}.param-val{font-size:.78rem}.cert-verdict-banner{flex-direction:column;align-items:flex-start;gap:8px;padding:10px}.verdict-tally{margin-left:0}.cert-checklist-columns{grid-template-columns:1fr;gap:10px}.cert-signatures-container{grid-template-columns:1fr;gap:12px}}@media print{body{font-size:10pt;color:#000!important;background:#fff!important;margin:0!important;padding:0!important}.no-print,header,nav,.app-header,.header-container,.modal-overlay:not(.cert-modal-overlay),.cert-top-bar{display:none!important}.cert-modal-overlay{background:0 0!important;padding:0!important;display:block!important;position:static!important}.certificate-modal-wrapper{max-width:100%!important;max-height:none!important;box-shadow:none!important;border-radius:0!important;overflow:visible!important}.printable-certificate-sheet-v2{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;padding:0!important;overflow:visible!important}.cert-inner-frame{page-break-inside:avoid!important;border:1.5px solid #000!important;padding:12px!important}.cert-checklist-columns{page-break-inside:auto!important}.cert-item-row{page-break-inside:avoid!important}@page{size:A4 portrait;margin:8mm}}
