:root{--brand: #0e7490;--brand-accent: #7fcbe2;--bg: #f7fbfc;--card: #ffffff;--line: #d5eaf2;--text: #1a1a1a;--muted: #506e79;--danger: #cf222e;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}.app{max-width:720px;margin:0 auto}.topbar{position:sticky;top:0;z-index:5;display:flex;align-items:baseline;gap:.5rem;background:var(--brand);color:#fff;padding:.9rem 1rem}.brand-logo{height:26px;width:auto;display:block}.tag{font-size:.8rem;opacity:.85}.spacer{flex:1}.signout{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.4);font-size:.75rem;padding:.3rem .6rem}.signin{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--brand);padding:1rem}.signin-card{background:#fff;border-radius:14px;padding:2rem 1.6rem;text-align:center;max-width:360px;width:100%;display:flex;flex-direction:column;align-items:center;gap:.5rem}.signin-logo{width:200px;max-width:80%;height:auto;margin-bottom:.4rem}.signin-card h1{margin:0;color:var(--brand);font-size:1.6rem;letter-spacing:.01em}.signin-card .primary{margin-top:.6rem}.start{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:.9rem;display:flex;flex-direction:column;gap:.4rem}.ticket-row{display:flex;gap:.5rem}.ticket-row input{flex:1}.error{color:var(--danger, #cf222e)}main{padding:1rem 1rem 4rem}.screen{display:flex;flex-direction:column;gap:1rem}h2{font-size:1rem;margin:.5rem 0 0}.muted{color:var(--muted)}.small{font-size:.85rem}button{font:inherit;cursor:pointer;border-radius:8px;border:1px solid var(--line);background:var(--card);padding:.6rem .9rem}button.primary{background:var(--brand);color:#fff;border-color:var(--brand)}button.secondary{background:#eef1ef}button.link{border:none;background:none;color:var(--brand);padding:.4rem 0}button.big{width:100%;padding:.9rem;font-size:1.05rem}.list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.6rem}.card{display:flex;justify-content:space-between;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:.8rem 1rem;cursor:pointer}.card-main{display:flex;flex-direction:column}.card-side{display:flex;flex-direction:column;align-items:flex-end;gap:.3rem}.status{font-size:.75rem;color:var(--muted)}.badge{color:#fff;font-weight:700;font-size:.8rem;padding:.15rem .5rem;border-radius:999px}.fields{display:flex;flex-direction:column;gap:.7rem}label{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem;color:var(--muted)}input,textarea{font:inherit;color:var(--text);border:1px solid var(--line);border-radius:8px;padding:.55rem .6rem;background:#fff}.editor-head{display:flex;justify-content:space-between;align-items:center}.hazards{display:flex;flex-direction:column;gap:.5rem;padding-bottom:5.5rem}.hz{background:var(--card);border:1px solid var(--line);border-radius:10px}.hz.na{opacity:.6}.hz.done{border-color:#bfe0cc;background:#fbfefc}.hz-head{display:flex;align-items:center;gap:.6rem;padding:.65rem .75rem;cursor:pointer;min-height:44px}.hz-title{flex:1;display:flex;align-items:baseline;gap:.5rem;min-width:0}.hz-title strong{font-size:.95rem}.hz-photos{font-size:.75rem;color:var(--muted);white-space:nowrap}.hz-tick{width:34px;height:34px;flex:none;border-radius:50%;border:2px solid var(--line);background:#fff;color:transparent;font-size:1rem;font-weight:700;padding:0;line-height:1}.hz-tick.on{background:#1a7f37;border-color:#1a7f37;color:#fff}.hz-tick.locked{border-style:dashed;opacity:.6}.badge-na{background:var(--muted)}.hz-body{padding:.7rem .75rem .9rem;display:flex;flex-direction:column;gap:.7rem;border-top:1px dashed var(--line)}.check-note{margin:0;padding:.5rem .7rem;background:#fff8e6;border:1px solid #f0d58c;border-radius:8px;font-size:.85rem}.hz-scores{display:flex;flex-wrap:wrap;align-items:end;gap:.8rem}.risk-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);width:100%}.na-toggle{flex-direction:row;align-items:center;gap:.4rem}.scorepick{display:flex;flex-direction:column;gap:.25rem}.scorepick-label{font-size:.75rem;color:var(--muted)}.scorepick-row{display:flex;gap:.25rem}.scorepick-btn{width:44px;height:44px;padding:0;font-size:1.05rem;font-weight:600;border-radius:8px;border:1px solid var(--line);background:#fff}.scorepick-btn.sel{background:var(--brand);border-color:var(--brand);color:#fff}.controls{margin-top:.6rem}textarea{resize:vertical}.jobcard{display:flex;align-items:center;gap:.7rem;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:.8rem .9rem}.jobcard-main{flex:1;display:flex;flex-direction:column;min-width:0}.ticket-chip{background:var(--brand);color:#fff;font-weight:700;border-radius:999px;padding:.25rem .7rem;font-size:.85rem;white-space:nowrap}.hint{margin:0;font-size:.85rem;color:var(--muted)}.hint-tick{display:inline-block;width:1.2rem;height:1.2rem;border-radius:50%;background:#1a7f37;color:#fff;text-align:center;line-height:1.2rem;font-size:.75rem}.offline-chip{font-size:.75rem;background:#fff8e6;border:1px solid #f0d58c;border-radius:999px;padding:.2rem .6rem}.stickybar{position:fixed;bottom:0;left:0;right:0;z-index:10;display:flex;align-items:center;gap:.7rem;background:var(--card);border-top:1px solid var(--line);padding:.7rem 1rem calc(.7rem + env(safe-area-inset-bottom));max-width:720px;margin:0 auto}.progress{flex:1;height:8px;border-radius:999px;background:var(--line);overflow:hidden}.progress-fill{height:100%;background:var(--brand);transition:width .2s}.progress-text{font-size:.8rem;color:var(--muted);min-width:3.2rem;text-align:center}.stickybar .primary{min-height:44px}.stickybar .primary:disabled{opacity:.55}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:20;display:flex;align-items:flex-end}.sheet{background:var(--card);border-radius:16px 16px 0 0;width:100%;max-width:720px;margin:0 auto;padding:.6rem 1rem calc(1rem + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:.7rem}.sheet-grab{width:40px;height:4px;border-radius:999px;background:var(--line);margin:.2rem auto .4rem}.sheet h2{margin:0}.whatsnew-list{margin:0;padding-left:1.2rem;display:flex;flex-direction:column;gap:.5rem;font-size:.92rem}.syncstatus h1{color:var(--brand);margin:.5rem 0}.status-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.9rem}.status-list li{display:flex;align-items:center;gap:.7rem;font-size:.95rem}.tick{width:26px;height:26px;flex:none;border-radius:50%;text-align:center;line-height:26px;font-weight:700}.tick.done{background:#1a7f37;color:#fff}.tick.failed{background:#9a6700;color:#fff}.tick.pending{border:2px dashed var(--line);animation:pulse 1.2s infinite}@keyframes pulse{50%{opacity:.4}}.head-actions{display:flex;gap:.5rem}.banner{background:#e7f3ec;border:1px solid #bfe0cc;color:#14532d;border-radius:8px;padding:.5rem .8rem;font-size:.9rem}.evidence{margin-top:.7rem;padding-top:.6rem;border-top:1px dashed var(--line)}.evidence-strip{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.thumb{position:relative;width:72px;height:72px;border-radius:8px;overflow:hidden;border:1px solid var(--line)}.thumb img{width:100%;height:100%;object-fit:cover}.thumb-del{position:absolute;top:2px;right:2px;width:20px;height:20px;padding:0;border-radius:50%;background:#0009;color:#fff;border:none;line-height:1}.add-photo{display:flex;flex-direction:column;align-items:center;justify-content:center;width:72px;height:72px;gap:.1rem;font-size:1.2rem;border-style:dashed}.add-photo span{font-size:.6rem}.thumb-video{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#1a1f1c;color:#fff;font-size:1.3rem}.thumb-duration{font-size:.65rem}.recorder-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000;z-index:30;display:flex}.recorder{flex:1;display:flex;flex-direction:column}.recorder-preview{flex:1;width:100%;object-fit:cover;background:#000}.recorder .error{color:#fff;margin:auto;padding:1rem}.recorder-bar{display:flex;align-items:center;justify-content:space-between;padding:.8rem 1rem calc(.8rem + env(safe-area-inset-bottom));background:#111}.recorder-bar .link{color:#fff}.recorder-time{color:#ff5a5a;font-weight:700}.rec-btn{background:#cf222e;color:#fff;border:none;border-radius:999px;padding:.8rem 1.6rem;font-weight:700}.rec-btn.stop{background:#fff;color:#cf222e}.signoff{display:flex;flex-direction:column;gap:.7rem;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:.9rem}.sigpad{border:1px solid var(--line);border-radius:8px;background:#fff}.sig-canvas{width:100%;height:160px;touch-action:none;display:block;border-radius:8px 8px 0 0}.sig-actions{display:flex;justify-content:space-between;align-items:center;padding:.3rem .6rem;border-top:1px solid var(--line)}.print-toolbar{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0}.sheet{background:#fff;color:#000;padding:1rem;border:1px solid var(--line);border-radius:8px}.sheet h1{font-size:1.2rem;margin:0 0 .6rem}.sheet table{width:100%;border-collapse:collapse;margin-bottom:.8rem}.sheet th,.sheet td{border:1px solid #999;padding:4px 6px;font-size:.72rem;text-align:left;vertical-align:top}.meta th{background:#f0f0f0;width:14%;white-space:nowrap}.grid th{background:#0b3d2e;color:#fff}.pill{color:#fff;font-weight:700;padding:1px 5px;border-radius:4px;white-space:nowrap}.evidence-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.6rem;margin-bottom:.8rem}.evidence-grid figure{margin:0;border:1px solid #999;border-radius:6px;overflow:hidden}.evidence-grid img{width:100%;height:110px;object-fit:cover;display:block}.evidence-grid figcaption{font-size:.65rem;padding:3px 5px;background:#f0f0f0}.sig-block{display:flex;flex-direction:column;gap:.2rem}.sig-img{width:220px;border:1px solid #999;border-radius:6px;background:#fff}@media print{.no-print,.topbar{display:none!important}body{background:#fff}.sheet{border:none;border-radius:0;padding:0}.app{max-width:none}main{padding:0}}.navlink{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.4);font-size:.75rem;padding:.3rem .6rem}.admin-filters{display:flex;flex-wrap:wrap;gap:.4rem}.admin-filters input[type=text],.admin-filters input:not([type]){flex:1 1 12rem}.admin-filters select,.admin-filters input[type=date]{flex:0 1 auto}.admin-detail-bar{display:flex;gap:.5rem;align-items:center}.admin-table-wrap{overflow-x:auto;background:var(--card);border:1px solid var(--line);border-radius:10px}.admin-table{border-collapse:collapse;width:100%;font-size:.85rem}.admin-table th,.admin-table td{text-align:left;padding:.5rem .6rem;border-bottom:1px solid var(--line);vertical-align:top}.admin-table th{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.admin-table tr:last-child td{border-bottom:none}.admin-evidence{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.admin-evidence img{width:96px;height:96px;object-fit:cover;border-radius:8px;border:1px solid var(--line)}.video-badge{background:var(--brand)}.admin-jobs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.3rem}.admin-jobs li{display:flex;justify-content:space-between;gap:1rem;background:var(--card);border:1px solid var(--line);border-radius:8px;padding:.45rem .6rem;font-size:.85rem}.admin-tabs{display:flex;gap:.4rem}.admin-tabs button.sel{background:var(--brand);border-color:var(--brand);color:#fff}.admin-lib-card{flex-direction:column;align-items:stretch;gap:0}.admin-lib-head{display:flex;justify-content:space-between;gap:.6rem;cursor:pointer}.admin-lib-body{display:flex;flex-direction:column;gap:.6rem;border-top:1px dashed var(--line);margin-top:.6rem;padding-top:.6rem;cursor:default}.admin-persons{display:flex;flex-wrap:wrap;gap:.3rem .8rem}.admin-person{flex-direction:row;align-items:center;gap:.3rem;font-size:.8rem}.admin-scores{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.5rem}.admin-lib-actions{display:flex;gap:.4rem;align-items:center}button.danger{color:var(--danger);border-color:var(--danger)}.report-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.6rem}.report-tile{background:var(--card);border:1px solid var(--line);border-left:4px solid;border-radius:10px;padding:.7rem .9rem;display:flex;flex-direction:column;gap:.15rem}.report-n{font-size:1.8rem;font-weight:700;line-height:1}.banner-error{background:#fdecea;border:1px solid var(--danger);color:var(--danger)}
