:root{--green:#4f9d1d;--green-dark:#34750d;--blue:#0753a4;--blue-dark:#043b78;--bg:#f5f8f5;--danger:#b42318;--text:#1f2937;--line:#cbd5e1}*{box-sizing:border-box}html{min-height:100%;background:var(--bg)}body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;background:var(--bg);color:var(--text);min-height:100vh}body.camera-open{overflow:hidden}header{background:#fff;border-bottom:4px solid var(--green);display:flex;align-items:center;gap:14px;padding:10px 18px;position:sticky;top:0;z-index:20;box-shadow:0 1px 8px #0001}header img{width:64px;height:64px;object-fit:contain;flex:0 0 auto}header h1{font-size:1.35rem;color:var(--blue);margin:0;line-height:1.15}.wrap{max-width:1100px;margin:20px auto;padding:0 14px}.card{background:#fff;border-radius:14px;padding:18px;margin-bottom:16px;box-shadow:0 2px 12px #0001}.login-card{max-width:580px;margin:28px auto}h2{color:#123f72;margin-top:0}label{font-weight:650;display:block;margin:12px 0 5px}.required-mark{color:var(--danger)}input,select,textarea,button{font:inherit}input,select,textarea{width:100%;padding:11px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--text)}input:focus,select:focus,textarea:focus{outline:3px solid #0753a422;border-color:var(--blue)}textarea{min-height:90px;resize:vertical}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.actions,.camera-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}button,.btn{border:0;border-radius:9px;padding:11px 16px;background:var(--blue);color:#fff;font-weight:700;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px}button:hover,.btn:hover{filter:brightness(.96)}button:disabled{opacity:.5;cursor:not-allowed}.secondary{background:var(--green)}.camera-primary{background:var(--blue)}.danger{background:var(--danger)}.small-button{padding:8px 12px;min-height:36px}.muted{color:#64748b;font-size:.92rem}.hidden{display:none!important}.status{padding:10px 12px;border-radius:8px;background:#eaf4ff;margin:10px 0;border-left:4px solid var(--blue)}.danger-status{background:#fff0f0;color:#7a1a13;border-left-color:var(--danger)}.record{border:1px solid #e2e8f0;border-radius:10px;padding:12px;margin:10px 0}.record img{max-width:180px;border-radius:8px}.pill{display:inline-block;padding:3px 8px;border-radius:999px;background:#e2e8f0;font-size:.8rem}.nav{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.map{height:520px;border-radius:12px}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.kpi{font-size:1.7rem;font-weight:800;color:var(--blue)}table{width:100%;border-collapse:collapse}th,td{padding:8px;border-bottom:1px solid #e5e7eb;text-align:left;font-size:.9rem}.sticky-actions{padding-top:4px}

.camera-field{margin:18px 0;padding:16px;border:1px solid #dce7d5;border-radius:12px;background:#fbfdf9}.camera-help{margin:4px 0 8px}.photo-preview-box{margin-top:14px;display:grid;grid-template-columns:minmax(120px,220px) 1fr auto;align-items:center;gap:12px;border:1px solid #d7e3ef;border-radius:12px;padding:10px;background:#f8fbff}.photo-preview-box img{width:100%;max-height:180px;object-fit:contain;background:#111;border-radius:8px}.photo-preview-info{display:flex;flex-direction:column;gap:4px}.camera-modal{position:fixed;inset:0;background:rgba(0,0,0,.9);z-index:1000;display:flex;align-items:center;justify-content:center;padding:12px}.camera-panel{width:min(820px,100%);max-height:calc(100vh - 24px);overflow:auto;background:#0b1724;color:#fff;border-radius:16px;box-shadow:0 20px 60px #0008}.camera-topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:14px 16px}.camera-topbar h2{margin:0;color:#fff;font-size:1.2rem}.camera-status{font-size:.9rem;color:#cfe4ff;margin-top:4px}.camera-close{background:#ffffff1c;border:1px solid #ffffff33;border-radius:50%;font-size:1.8rem;line-height:1;padding:0;width:44px;height:44px;min-height:44px}.camera-stage{position:relative;background:#000;aspect-ratio:4/3;overflow:hidden}.camera-stage video,.camera-stage img{width:100%;height:100%;object-fit:contain;display:block}.camera-guide{position:absolute;inset:8%;border:2px solid rgba(255,255,255,.55);border-radius:12px;pointer-events:none}.camera-live-meta{display:flex;flex-direction:column;gap:4px;padding:10px 16px;background:#101f30;font-size:.86rem;color:#dbeafe}.camera-live-meta .ready{color:#baf7a5}.camera-footer{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;padding:14px 16px}.camera-note{padding:0 16px 16px;margin:0;color:#cbd5e1}.camera-open header{z-index:1}

@media(max-width:700px){header{align-items:center;flex-wrap:wrap;padding:8px 10px}header img{width:48px;height:48px}header h1{font-size:1.02rem;flex:1;min-width:180px}.nav{width:100%;margin-left:0;justify-content:flex-start}.nav .btn,.nav button{padding:8px 10px;min-height:38px;font-size:.88rem}.grid,.kpis{grid-template-columns:1fr}.wrap{margin-top:12px;padding:0 9px}.card{padding:14px;border-radius:11px}.map{height:420px}.camera-actions button{width:100%}.photo-preview-box{grid-template-columns:1fr}.photo-preview-box img{max-height:240px}.photo-preview-box .small-button{width:100%}.camera-modal{padding:0;align-items:stretch}.camera-panel{max-height:100vh;border-radius:0;width:100%;display:flex;flex-direction:column}.camera-stage{flex:1;min-height:42vh;aspect-ratio:auto}.camera-footer{padding-bottom:max(14px,env(safe-area-inset-bottom))}.sticky-actions{position:sticky;bottom:0;background:#fff;padding:10px 0 4px;z-index:4;border-top:1px solid #eef2f7}.sticky-actions button{flex:1}}
