:root{--ink:#142d39;--muted:#546a76;--paper:#f4f6f7;--line:#dbe3e7;--amber:#efb347;--green:#14795b;--red:#ae3434;--white:#fff;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);font-size:15px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer;border:0;border-radius:8px;background:var(--ink);color:white;padding:11px 16px;font-weight:650}button:hover{filter:brightness(1.12)}button:disabled{opacity:.5;cursor:wait}button.secondary{background:white;color:var(--ink);border:1px solid var(--line)}button.amber{background:var(--amber);color:var(--ink)}button.danger{background:#fff0f0;color:var(--red);border:1px solid #f4cbcb}a{color:var(--green)}input,select,textarea{width:100%;border:1px solid #b9c9d0;border-radius:7px;background:white;padding:11px;color:var(--ink);margin-top:6px}input[type=checkbox]{width:auto;margin-right:8px}textarea{resize:vertical;min-height:140px}label{display:block;font-weight:600;margin-bottom:17px}small,.muted{color:var(--muted);font-size:.86rem;font-weight:400;line-height:1.5}h1,h2,h3,p{margin-top:0}h1{font-size:2.2rem;letter-spacing:-1px;margin-bottom:9px}h2{font-size:1.3rem}h3{font-size:1rem}p{line-height:1.6}.shell{display:grid;grid-template-columns:248px 1fr;min-height:100vh}.sidebar{background:var(--ink);color:white;padding:30px 20px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:12px;margin-bottom:32px}.mark{display:grid;place-items:center;background:var(--amber);width:44px;height:48px;flex-shrink:0;color:var(--ink);font-weight:900;font-size:15px;clip-path:polygon(0 0,100% 0,100% 76%,50% 100%,0 76%)}.brand strong{font-size:16px;display:block;line-height:1.2}.brand span{font-size:10px;color:#b9ced9;letter-spacing:1.1px;display:block;margin-top:6px;text-transform:uppercase}.sidebar .overline{color:#9cb4c1;margin:0 10px 12px}.nav{display:grid;gap:6px}.nav button{text-align:left;background:transparent;color:#d0e0e7;padding:13px}.nav button.active{background:#284550;color:white;border-left:3px solid var(--amber)}.sidebar-bottom{margin-top:auto;padding-top:25px;font-size:13px}.identity{border-top:1px solid #35505d;padding-top:20px;margin-bottom:15px}.identity strong{display:block}.identity small{color:#a4bdca}.sidebar-bottom button{padding:8px 12px;background:#284550;margin-top:8px}.main{min-width:0}.topbar{padding:17px 34px;background:white;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:72px}.topbar strong{font-size:13px}.topbar small{display:block}.connection{display:flex;align-items:center;gap:7px;font-size:12px;white-space:nowrap}.dot{width:7px;height:7px;border-radius:50%;background:var(--green)}.dot.offline{background:var(--amber)}.content{padding:35px;max-width:1350px;margin:auto}.overline{font-size:11px;letter-spacing:1.5px;font-weight:700;text-transform:uppercase;margin-bottom:10px;color:var(--muted)}.pagehead{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}.pagehead p{color:var(--muted);margin:0}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:26px}.stat{background:white;padding:20px 23px;border:1px solid var(--line);border-radius:10px}.stat b{font-size:2rem;display:block;margin-top:8px;letter-spacing:-1px}.stat span{font-size:12px;color:var(--muted)}.panel{background:white;border:1px solid var(--line);border-radius:11px;margin-bottom:22px;overflow:hidden}.panel-heading{padding:20px 23px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:12px}.panel-heading h2{margin:0}.panel-body{padding:23px}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.toolbar select,.toolbar input{width:auto;min-width:170px;margin:0}.entry{padding:21px 24px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:55px 1fr;gap:15px}.entry:last-child{border:0}.entry-number{font-weight:750;font-size:13px;color:var(--muted);padding-top:2px}.entry-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px}.entry h3{margin:0}.entry p{white-space:pre-wrap;overflow-wrap:anywhere;margin:12px 0;font-size:14px}.badge{font-size:10px;padding:5px 8px;border-radius:5px;background:#eaf0f3;color:#34505e;font-weight:700;text-transform:uppercase;letter-spacing:.4px}.badge.green{background:#e4f3ec;color:var(--green)}.badge.amber{background:#fff3db;color:#986613}.badge.red{background:#ffe8e8;color:var(--red)}.meta{font-size:12px;color:var(--muted);line-height:1.6}.entry-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.entry-actions a,.entry-actions button{font-size:12px;padding:6px 9px;line-height:1.5}.empty{text-align:center;padding:50px 25px;color:var(--muted)}.empty strong{display:block;color:var(--ink);font-size:18px;margin-bottom:8px}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}.site-card{padding:24px;background:white;border:1px solid var(--line);border-radius:10px}.site-card .site-icon{font-size:26px;margin-bottom:18px}.site-card button{margin-top:15px;width:100%}.site-card p{font-size:13px;color:var(--muted)}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.6px;background:#f9fbfc}td,th{padding:16px 22px;border-bottom:1px solid var(--line)}td strong{display:block}td small{display:block}.row-actions{display:flex;gap:6px}.row-actions button{padding:7px 10px;font-size:12px}.notice{background:#fff7e5;border:1px solid #f0dfba;border-radius:8px;padding:13px 17px;font-size:13px;line-height:1.6;margin-bottom:20px}.error{color:var(--red);background:#fff1f1}.login{min-height:100vh;display:grid;grid-template-columns:1.05fr 1fr}.login-art{background:var(--ink);color:white;padding:9vw 7vw;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.login-art:after{content:"";width:600px;height:600px;border:1px solid #36525e;border-radius:50%;position:absolute;right:-340px;bottom:-200px;box-shadow:0 0 0 65px #ffffff03,0 0 0 130px #ffffff03;pointer-events:none}.login-art .brand{margin-bottom:60px}.login-art h1{font-size:clamp(2.5rem,4vw,4rem);line-height:1.1;max-width:430px;font-weight:700}.login-art h1 em{font-style:normal;color:var(--amber)}.login-art p{color:#afc4ce;max-width:380px;margin-top:18px}.login-form{padding:50px;display:grid;place-items:center}.login-form>div{width:100%;max-width:380px}.login-form h2{font-size:1.8rem;margin-bottom:10px}.login-form form{margin-top:30px}.login-form button[type=submit]{width:100%;padding:14px}.version{font-size:11px;color:var(--muted);margin-top:25px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.full{grid-column:1/-1}.checks{border:1px solid var(--line);padding:12px;border-radius:8px;max-height:180px;overflow:auto;margin-bottom:18px}.checks label{font-weight:400;margin:5px 0}dialog{border:0;padding:0;border-radius:12px;box-shadow:0 20px 100px #102a3940;width:min(620px,94vw);max-height:90vh;color:var(--ink)}dialog::backdrop{background:#10233099}#modal-body{padding:27px}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.modal-head h2{margin:0}.modal-head button{background:#eef2f4;color:var(--ink);padding:6px 11px}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.record-controls{display:flex;gap:8px;align-items:center;margin-bottom:15px}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:5;max-width:90vw;background:var(--ink);color:white;border-radius:9px;padding:13px 20px;box-shadow:0 8px 24px #0002;display:none;font-size:14px}.loading{padding:40px}.print-only{display:none}.pending-tools{display:flex;justify-content:flex-end;gap:8px}.pending-tools button{font-size:12px;padding:7px 10px}.report-summary{margin:20px 0}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--amber);outline-offset:2px}@media(max-width:900px){.shell{grid-template-columns:190px 1fr}.sidebar{padding:25px 12px}.brand strong{font-size:14px}.brand span{font-size:8px}.content{padding:25px}.topbar{padding:16px 25px}.pagehead{align-items:flex-start}h1{font-size:1.9rem}.login-art{padding:8vw 5vw}.login-form{padding:30px}}@media(max-width:650px){.shell{display:block}.sidebar{position:static;height:auto;padding:16px}.sidebar .brand{margin-bottom:17px}.sidebar .overline,.sidebar-bottom{display:none}.nav{display:flex;overflow:auto;gap:5px}.nav button{font-size:12px;white-space:nowrap;padding:10px 12px}.nav button.active{border-left:0;border-bottom:3px solid var(--amber)}.topbar{padding:13px 18px;flex-wrap:wrap}.content{padding:23px 16px}.pagehead{flex-wrap:wrap;gap:15px;margin-bottom:23px}.stats{gap:8px}.stat{padding:15px 12px}.stat b{font-size:1.7rem}.stat span{font-size:10px}.panel-heading,.panel-body{padding:17px}.panel-heading{flex-wrap:wrap}.entry{padding:18px 15px;grid-template-columns:38px 1fr;gap:8px}.entry-top{align-items:flex-start}.entry-top h3{font-size:14px}.entry-top .badge{font-size:9px}.toolbar select,.toolbar input{min-width:120px;max-width:100%;flex:1}.login{display:block}.login-art{padding:30px}.login-art .brand{margin-bottom:25px}.login-art h1{font-size:2.4rem}.login-art p{font-size:13px;margin-bottom:0}.login-form{padding:30px 24px}.form-grid{grid-template-columns:1fr}.topbar button{padding:6px 10px;font-size:11px}}@media print{.sidebar,.topbar,.pagehead button,.toolbar,.stats,.form-actions,#toast,.entry-actions,.notice,.no-print{display:none!important}.shell{display:block}.content{padding:0}.panel{border:none}.print-only{display:block}.entry{break-inside:avoid}.pagehead{margin-bottom:12px}.entry p{font-size:12px}body{background:white}}

.personnel-photo{display:block;width:140px;height:160px;object-fit:cover;border-radius:8px;border:1px solid var(--line);margin-bottom:12px}.personnel-document{border-top:1px solid var(--line);padding-top:20px;margin-top:18px}.row-actions{flex-wrap:wrap}

.entry-link{padding:0;background:transparent;color:var(--green);font-size:inherit;text-decoration:underline}.entry-details{display:grid;grid-template-columns:135px 1fr;gap:9px;margin-bottom:24px}.entry-details dt{font-weight:650}.entry-details dd{margin:0;overflow-wrap:anywhere}.statement{white-space:pre-wrap;overflow-wrap:anywhere}.entry-evidence{margin:18px 0}.entry-evidence img,.entry-evidence video{display:block;max-width:100%;max-height:380px;margin-top:10px}.entry-evidence audio{max-width:100%;margin-top:10px}.search-result{display:block;text-align:left;width:100%;margin-bottom:12px}.search-result span{display:block;font-weight:400;margin-top:6px}.training-item{padding:14px 0;border-bottom:1px solid var(--line)}

.certificate-thumbnail{display:block;width:180px;height:220px;object-fit:contain;background:#f4f6f7;border:1px solid var(--line);border-radius:8px;margin:12px 0}.pdf-thumbnail{width:min(280px,100%);height:300px;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#f4f6f7;margin:12px 0}.pdf-thumbnail iframe{width:100%;height:100%;border:0}.document-preview-link{display:inline-block}

.entry-photo-grid{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0}.entry-photo-button{display:block;padding:0;width:140px;max-width:100%;text-align:left;background:white;color:var(--ink);border:1px solid var(--line);border-radius:8px;overflow:hidden}.entry-photo-button img{display:block;width:100%;height:110px;object-fit:cover}.entry-photo-button span{display:block;padding:7px;font-size:11px;overflow-wrap:anywhere}.entry-photo-full{display:block;width:100%;max-height:65vh;object-fit:contain;margin-bottom:16px}

.day-folder{border-top:1px solid var(--line)}.day-folder summary{cursor:pointer;padding:18px 24px;display:list-item;list-style-position:inside;background:#f9fbfc;font-weight:650}.day-folder summary .badge{float:right;margin-left:10px}.history-controls{margin-bottom:18px}.history-controls label{margin-bottom:0;flex:1;min-width:160px}.history-controls input{width:100%}.day-folder[open] summary{background:#edf3f5}@media(max-width:650px){.day-folder summary{padding:16px;font-size:13px}.day-folder summary .badge{float:none;display:inline-block;margin-top:8px}}

.setup-content{max-width:620px;margin:40px auto}
