:root{--blue:#007aff;--blue-tint:#007aff1a;--blue-tint-strong:#007aff29;--green:#34c759;--green-tint:#34c7591f;--red:#ff3b30;--red-tint:#ff3b301a;--orange:#ff9500;--orange-tint:#ff95001f;--purple:#af52de;--purple-tint:#af52de1f;--bg:#f2f2f7;--surface:#fff;--fill:#78788014;--fill-hover:#78788024;--label:#1c1c1e;--label-2:#3c3c43;--secondary:#6c6c70;--tertiary:#aeaeb2;--placeholder:#c7c7cc;--separator:#3c3c431a;--separator-opaque:#d1d1d6;--shadow-card:0 1px 3px #0000000a, 0 4px 16px #0000000f;--shadow-elevated:0 8px 40px #0000002e, 0 2px 8px #00000014;--radius-xs:6px;--radius-sm:9px;--radius-md:13px;--radius-lg:18px;--radius-pill:100px;--font:-apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Helvetica Neue", Arial, sans-serif;--font-mono:"SF Mono", "Menlo", "Monaco", "Courier New", monospace}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:var(--font);background:var(--bg);color:var(--label);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:15px;line-height:1.47059}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}input,select,textarea{font-family:var(--font);color:var(--label);background:var(--fill);border-radius:var(--radius-sm);appearance:none;border:1.5px solid #0000;outline:none;width:100%;padding:11px 14px;font-size:15px;transition:border-color .15s,background .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{background:var(--surface);border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-tint)}input[type=checkbox],input[type=radio]{appearance:auto;width:16px;height:16px;accent-color:var(--blue);cursor:pointer;background:0 0;border:none;flex:none;padding:0}input[type=checkbox]:focus,input[type=radio]:focus{background:0 0;border:none}input[type=checkbox]:disabled,input[type=radio]:disabled{cursor:not-allowed;opacity:.5}input::placeholder{color:var(--placeholder)}select{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23AEAEB2' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:34px}button{font-family:var(--font);cursor:pointer;border-radius:var(--radius-sm);white-space:nowrap;background:var(--fill);color:var(--label);border:none;justify-content:center;align-items:center;gap:6px;padding:11px 20px;font-size:15px;font-weight:500;transition:opacity .15s,transform .1s,background .15s;display:inline-flex}button:hover:not(:disabled){background:var(--fill-hover)}button:active:not(:disabled){opacity:.85;transform:scale(.97)}button:disabled{cursor:not-allowed;opacity:.38}.btn-primary{background:var(--blue)!important;color:#fff!important}.btn-primary:hover:not(:disabled){opacity:1;background:#0071eb!important}.btn-tinted{background:var(--blue-tint)!important;color:var(--blue)!important}.btn-tinted:hover:not(:disabled){background:#007aff29!important}.btn-destructive{background:var(--red)!important;color:#fff!important}.btn-destructive:hover:not(:disabled){opacity:1;background:#e8342a!important}.btn-destructive-tinted{background:var(--red-tint)!important;color:var(--red)!important}.btn-destructive-tinted:hover:not(:disabled){background:#ff3b3029!important}.btn-ghost{padding:4px 10px;color:var(--blue)!important;background:0 0!important}.btn-ghost:hover:not(:disabled){background:var(--blue-tint)!important}.btn-sm{border-radius:var(--radius-xs);padding:4px 10px;font-size:12px}.btn-full{width:100%}.card{background:var(--surface);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:20px}.page-wrap{max-width:860px;margin:0 auto;padding:0 20px 60px}.auth-wrap{background:var(--bg);justify-content:center;align-items:flex-start;min-height:100vh;padding:80px 20px 40px;display:flex}.auth-card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);width:100%;max-width:380px;padding:40px 36px}.app-header{-webkit-backdrop-filter:blur(20px)saturate(180%);border-bottom:.5px solid var(--separator-opaque);z-index:100;background:#f2f2f7e0;position:sticky;top:0}.app-header-inner{justify-content:space-between;align-items:center;max-width:860px;margin:0 auto;padding:11px 20px;display:flex}.app-logo{align-items:center;gap:10px;display:flex}.app-logo-icon{background:var(--blue);color:#fff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:16px;display:flex;box-shadow:0 2px 6px #007aff4d}.app-logo-name{letter-spacing:-.15px;color:var(--label);font-size:16px;font-weight:600}.segmented{background:var(--fill);border-radius:var(--radius-sm);gap:2px;padding:2px;display:inline-flex}.seg-item{color:var(--secondary);letter-spacing:-.05px;background:0 0;border-radius:7px;padding:6px 18px;font-size:13px;font-weight:500;transition:background .2s,color .2s,box-shadow .2s}.seg-item:hover:not(:disabled){color:var(--label);opacity:1;background:0 0}.seg-item.active{font-weight:600;box-shadow:0 1px 4px #0000001a,0 0 0 .5px #0000000d;background:var(--surface)!important;color:var(--label)!important}.progress-track{background:var(--fill);border-radius:var(--radius-pill);height:5px;overflow:hidden}.progress-fill{border-radius:var(--radius-pill);height:100%;transition:width .5s}.progress-fill--indeterminate{background:linear-gradient(90deg, transparent 0%, var(--blue) 40%, transparent 80%);background-size:200% 100%;animation:1.4s ease-in-out infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.status-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px;display:inline-block}.dot-running{background:var(--blue);animation:1.5s ease-in-out infinite pulse-dot}.dot-paused{background:var(--orange)}.dot-complete{background:var(--green)}.dot-stopped{background:var(--red)}.dot-idle{background:var(--tertiary)}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.82)}}@keyframes pulse-bar{0%,to{opacity:1}50%{opacity:.45}}.progress-panel{background:var(--fill);border-radius:var(--radius-sm);padding:14px 16px}.section-icon{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:15px;display:flex}.badge{border-radius:var(--radius-pill);letter-spacing:.02em;white-space:nowrap;align-items:center;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.badge-photo{background:var(--blue-tint);color:var(--blue)}.badge-video{background:var(--purple-tint);color:var(--purple)}.badge-observation{background:var(--green-tint);color:#248a3d}.badge-neutral{background:var(--fill-hover);color:var(--secondary)}.badge-accident{background:var(--red-tint);color:#b71c1c}.badge-assessment{background:var(--orange-tint);color:#6e3800}.apple-table{border-collapse:collapse;width:100%}.apple-table thead th{text-align:left;letter-spacing:.06em;text-transform:uppercase;color:var(--tertiary);border-bottom:1px solid var(--separator);padding:10px 16px;font-size:11px;font-weight:600}.sort-header{width:100%;color:var(--secondary);border-radius:0;justify-content:flex-start;gap:4px;padding:10px 16px;font-size:13px;font-weight:500;background:0 0!important}.sort-header:hover:not(:disabled){color:var(--label);background:var(--fill)!important}.sort-header:active:not(:disabled){transform:none}.sort-arrow{color:var(--blue);font-size:9px}.apple-table tbody td{border-bottom:1px solid var(--separator);padding:11px 16px;font-size:14px}.apple-table tbody tr:last-child td{border-bottom:none}.apple-table tbody tr:hover td{background:var(--fill)}.empty-state{text-align:center;color:var(--secondary);padding:64px 24px}.empty-state-icon{opacity:.4;margin-bottom:16px;font-size:40px}.empty-state h3{color:var(--label);margin-bottom:6px;font-size:18px;font-weight:600}.empty-state p{font-size:14px}.modal-backdrop{-webkit-backdrop-filter:blur(10px);z-index:1000;background:#0000005c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-sheet{background:var(--surface);border-radius:var(--radius-lg);width:90%;max-width:460px;box-shadow:var(--shadow-elevated);padding:28px}.selection-bar{background:var(--blue-tint-strong);border-radius:var(--radius-sm);align-items:center;gap:10px;padding:10px 14px;display:flex}.media-card{background:var(--surface);border-radius:var(--radius-md);box-shadow:var(--shadow-card);transition:transform .18s cubic-bezier(.34,1.56,.64,1),box-shadow .18s;position:relative;overflow:hidden}.media-card:hover{transform:translateY(-3px);box-shadow:0 8px 28px #00000021}.media-card.selected{box-shadow:0 0 0 2.5px var(--blue), var(--shadow-card)}.danger-zone{border-radius:var(--radius-md);border:1px solid #ff3b3038;padding:20px}.lightbox{z-index:2000;background:#000000eb;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.loading-screen{background:var(--bg);height:100vh;color:var(--secondary);justify-content:center;align-items:center;gap:10px;font-size:15px;display:flex}.notice{border-radius:var(--radius-sm);padding:12px 16px;font-size:13px;line-height:1.5}.notice-warning{background:var(--orange-tint);color:#6e3800;border:1px solid #ff950033}.notice-error{background:var(--red-tint);color:#b71c1c}.notice-success{background:var(--green-tint);color:#1b5e20}.notice-info{background:var(--blue-tint);color:var(--primary);border:1px solid #007aff26}.input-group{flex-direction:column;gap:10px;display:flex}.settings-section{flex-direction:column;gap:16px;display:flex}.settings-label{letter-spacing:.05em;text-transform:uppercase;color:var(--secondary);margin-bottom:8px;padding:0 2px;font-size:12px;font-weight:600}@media (width<=560px){.header-last-login,.app-logo-name{display:none}}@media (width<=400px){.header-version{display:none}.app-header-inner{gap:8px;padding:10px 14px}}
