:root,:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--primary:#2f5bea;--primary-hover:#2449c9;--primary-soft:#eaf0fe;--primary-on-soft:#2148c4;--on-primary:#fff;--secondary:#16191d;--secondary-hover:#0e1012;--secondary-soft:#eef0f2;--on-secondary:#fff;--bg:#f5f6f8;--surface:#fff;--surface-2:#f9fafb;--border:#e3e6ea;--border-strong:#cfd4da;--text:#16191d;--text-muted:#5f6873;--text-faint:#9aa2ab;--success:#1f9d55;--success-soft:#e6f6ec;--on-success:#fff;--warning:#b86e0b;--warning-soft:#fdf3e2;--on-warning:#fff;--danger:#c8372d;--danger-soft:#fdecea;--on-danger:#fff;--font-sans:"IBM Plex Sans", system-ui, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, monospace;--radius:6px;--radius-sm:4px;--radius-lg:10px;--focus-ring:0 0 0 3px color-mix(in srgb, var(--primary) 22%, transparent);--accent:var(--primary);--accent-hover:var(--primary-hover);--accent-soft:var(--primary-soft);--accent-text:var(--primary-on-soft);--on-accent:var(--on-primary);--ok:var(--success);--ok-soft:var(--success-soft);--warn:var(--warning);--warn-soft:var(--warning-soft);--sans:var(--font-sans);--mono:var(--font-mono)}*,:before,:after{box-sizing:border-box}html,body,#app{height:100%;min-height:100%;margin:0}body{font-family:var(--sans);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.45}button,input,textarea,select{font:inherit;color:inherit}button{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:.4rem;height:32px;padding:0 .8rem;font-weight:500;display:inline-flex}button .ico{flex-shrink:0;width:14px;height:14px}button:hover:not(:disabled){background:var(--surface-2)}button:focus-visible{box-shadow:var(--focus-ring);outline:none}button:disabled{color:var(--text-faint);cursor:not-allowed;opacity:.7}button.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}button.primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}button.ghost{color:var(--text-muted);background:0 0;border-color:#0000}button.ghost:hover:not(:disabled){background:var(--surface-2);color:var(--text)}button.ok{background:var(--ok);border-color:var(--ok);color:var(--on-success)}button.danger{background:var(--surface);border-color:var(--border-strong);color:var(--danger)}button.danger:hover:not(:disabled){background:var(--danger-soft);border-color:var(--danger-soft)}button.danger-soft{background:var(--danger-soft);color:var(--danger);border-color:#0000}a{color:var(--accent-text);text-decoration:none}a:hover{text-decoration:underline}.muted{color:var(--text-muted)}.faint{color:var(--text-faint)}.mono{font-family:var(--mono);font-size:.78rem}.badge{border-radius:999px;align-items:center;height:22px;padding:0 .45rem;font-size:.72rem;font-weight:600;display:inline-flex}.badge.ok{background:var(--ok-soft);color:var(--ok)}.badge.warn{background:var(--warn-soft);color:var(--warn)}.badge.muted{background:var(--surface-2);color:var(--text-muted);border:1px solid var(--border)}.badge.info{background:var(--accent-soft);color:var(--accent-text)}.page-head{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.1rem;display:flex}.page-head h1{margin:0;font-size:1.2rem;font-weight:600}.page-head p{color:var(--text-muted);max-width:42rem;margin:.25rem 0 0}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem}.panel+.panel{margin-top:.75rem}.panel h2{margin:0 0 .55rem;font-size:.92rem}.kv{gap:.65rem;display:grid}.kv .lab{color:var(--text-faint);text-transform:uppercase;letter-spacing:.03em;font-size:.72rem;font-weight:600}.kv .val{margin-top:.15rem}.desc-box{white-space:pre-wrap;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);padding:.75rem;font-size:.84rem}.list{gap:.55rem;display:grid}.row{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;text-align:left;grid-template-columns:1fr auto;align-items:center;gap:.75rem;width:100%;height:auto;padding:.85rem 1rem;display:grid}.row:hover{border-color:var(--border-strong);background:var(--surface-2)}.row .meta{flex-wrap:wrap;align-items:center;gap:.45rem;margin-top:.3rem;display:flex}.actions{flex-wrap:wrap;gap:.45rem;margin-top:.85rem;display:flex}label.field{color:var(--text-muted);gap:.3rem;margin-top:.65rem;font-size:.78rem;font-weight:500;display:grid}textarea,input[type=text],input[type=number],input[type=date],input[type=file]{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);width:100%;padding:.55rem .65rem}textarea{resize:vertical;min-height:88px}.skel{background:linear-gradient(90deg, var(--surface-2) 0%, color-mix(in srgb, var(--border) 55%, var(--surface)) 50%, var(--surface-2) 100%);border-radius:var(--radius-sm);background-size:220% 100%;animation:1.6s ease-in-out infinite skel-shimmer;display:block}@keyframes skel-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion:reduce){.skel{background:var(--surface-2);animation:none}}.state-block{text-align:center;color:var(--text-muted);padding:2rem 1rem}.state-block.error{color:var(--danger)}.media-strip{gap:.4rem;margin-top:.55rem;display:flex;overflow-x:auto}.media-strip img{border-radius:var(--radius-sm);border:1px solid var(--border);cursor:pointer;height:52px}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.5rem;margin-top:.75rem;display:grid}.photo-grid img{object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--border);width:100%;height:120px}.steps{flex-wrap:wrap;gap:.4rem;margin-bottom:1rem;display:flex}.step-pill{border:1px solid var(--border);background:var(--surface);height:28px;color:var(--text-muted);border-radius:999px;align-items:center;gap:.35rem;padding:0 .65rem;font-size:.75rem;font-weight:500;display:inline-flex}.step-pill.on{background:var(--accent-soft);color:var(--accent-text);border-color:#0000}.step-pill.done{background:var(--ok-soft);color:var(--ok);border-color:#0000}.check-row{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);cursor:pointer;align-items:flex-start;gap:.65rem;padding:.75rem .85rem;display:flex}.check-row:hover{border-color:var(--border-strong)}.check-row input{margin-top:.15rem}.drop{border:1.5px dashed var(--border-strong);border-radius:var(--radius);text-align:center;background:var(--surface-2);color:var(--text-muted);padding:1.5rem}.drop.has-file{border-style:solid;border-color:var(--ok);background:var(--ok-soft);color:var(--ok)}.dialog-backdrop{z-index:40;background:#16191d73;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.dialog{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:min(440px,100%);padding:1.25rem;box-shadow:0 16px 48px #16191d2e}.dialog h3{margin:0 0 .35rem;font-size:1.05rem}.dialog p{color:var(--text-muted);margin:0 0 1rem}.toast{z-index:50;background:var(--text);color:#fff;border-radius:var(--radius);opacity:0;pointer-events:none;max-width:320px;padding:.7rem .9rem;font-size:.84rem;transition:all .25s;position:fixed;bottom:1.25rem;right:1.25rem;transform:translateY(120%);box-shadow:0 8px 30px #0000002e}.toast.show{opacity:1;transform:translateY(0)}.toast.ok{background:var(--ok)}.toast.error{background:var(--danger)}
