:root{--accent: #1f6f4a;--accent-dark: #164d33;--danger: #b3372c;--bg: #f5f6f5;--surface: #ffffff;--text: #1c1f1d;--muted: #6b706d;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text)}button{font:inherit;cursor:pointer;border:none;border-radius:8px;padding:.6rem 1rem;background:var(--accent);color:#fff}button.secondary{background:transparent;color:var(--accent-dark);border:1px solid #d0d5d1}button.danger{background:var(--danger)}button:disabled{opacity:.6;cursor:default}input,select,textarea{font:inherit;padding:.55rem .7rem;border:1px solid #d0d5d1;border-radius:8px;width:100%;background:#fff}label{display:flex;flex-direction:column;gap:.3rem;font-size:.9rem;color:var(--muted);margin-bottom:.8rem}.centered-page{min-height:100%;display:flex;align-items:center;justify-content:center;padding:1rem}.card-form{background:var(--surface);border-radius:16px;padding:1.5rem;width:100%;max-width:400px;box-shadow:0 4px 20px #00000014}.card-form h1{margin-top:0;font-size:1.4rem;text-align:center}.error-text{color:var(--danger);font-size:.9rem}.page{padding:1rem 1rem 5rem;max-width:900px;margin:0 auto}.top-bar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}.top-bar h1{font-size:1.3rem;margin:0}.top-bar-actions{display:flex;gap:.5rem}.filters{display:flex;gap:.6rem;margin-bottom:1rem;flex-wrap:wrap}.filters input{flex:1;min-width:180px}.filters select{width:auto}.image-placeholder{width:100%;aspect-ratio:1.6 / 1;border-radius:8px;background:#e3e6e3}.fab{position:fixed;right:1.2rem;bottom:1.2rem;width:56px;height:56px;border-radius:50%;font-size:1.8rem;line-height:1;box-shadow:0 4px 14px #00000040}.empty-state{color:var(--muted);text-align:center;margin-top:3rem}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:flex-end;justify-content:center;z-index:10}@media (min-width: 600px){.modal-backdrop{align-items:center}}.modal{max-height:90vh;overflow-y:auto;border-bottom-left-radius:0;border-bottom-right-radius:0;width:100%}@media (min-width: 600px){.modal{border-radius:16px}}.modal-actions{display:flex;justify-content:flex-end;gap:.6rem;margin-top:.5rem}.card-detail{display:flex;flex-direction:column;align-items:center;gap:.7rem;text-align:center}.card-detail-image{width:100%;max-width:480px;border-radius:12px;box-shadow:0 2px 10px #0000001f}.tag{display:inline-block;background:#e3ede8;color:var(--accent-dark);padding:.15rem .6rem;border-radius:999px;font-size:.8rem}.device-list{display:flex;flex-direction:column;gap:.6rem}.device-row{background:var(--surface);border-radius:10px;padding:.8rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;border-left:4px solid #d0d5d1}.device-row-pending{border-left-color:#d99a1f}.device-row-approved{border-left-color:var(--accent)}.device-row-revoked{border-left-color:var(--danger)}.device-meta{font-size:.82rem;color:var(--muted)}.device-actions{display:flex;gap:.5rem}.image-field{display:flex;flex-direction:column;gap:.4rem;margin-bottom:.8rem}.field-label{font-size:.9rem;color:var(--muted)}.image-field-preview{width:100%;max-height:180px;object-fit:contain;border-radius:8px;background:#e3e6e3}.image-field-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.editor-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000eb;z-index:30;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.8rem;padding:1rem;color:#fff}.editor-canvas{touch-action:none;max-width:100%;border-radius:4px}.editor-hint,.editor-message{margin:0;font-size:.85rem;color:#cfd3d0;text-align:center}.editor-bar{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem}.editor-bar button.secondary{color:#fff;border-color:#fff6}.fullscreen-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000;z-index:40}.fullscreen-image,.fullscreen-backdrop .image-placeholder{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100vw;height:100vh;aspect-ratio:auto;object-fit:contain;border-radius:0;background:transparent}.fullscreen-image-rotated{transform:translate(-50%,-50%) rotate(90deg);width:100vh;height:100vw}.fullscreen-bar{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:center;gap:.6rem;padding:.8rem;padding-bottom:calc(.8rem + env(safe-area-inset-bottom));background:linear-gradient(transparent,#000000b3)}.fullscreen-bar button{background:#ffffff2e;color:#fff;border:1px solid rgba(255,255,255,.35)}.card-detail-image-clickable{cursor:zoom-in}.card-detail-notes{white-space:pre-wrap;font-size:1.1rem;background:var(--surface);border-radius:12px;padding:.8rem 1rem;max-width:480px;width:100%;text-align:left}.image-field-note{margin:0;font-size:.85rem;color:var(--danger)}button.secondary.danger-text{color:var(--danger)}.card-list{background:var(--surface);border-radius:12px;overflow:hidden;box-shadow:0 1px 4px #0000000f}.card-row{display:flex;align-items:center;gap:.8rem;width:100%;padding:.65rem .8rem;border-radius:0;border-bottom:1px solid #e3e6e3;background:transparent;color:var(--text);text-align:left}.card-row:last-child{border-bottom:none}.card-row .card-row-thumb{flex:none;width:72px;height:48px;aspect-ratio:auto;object-fit:cover;border-radius:6px;background:#e3e6e3}.card-row-thumb-empty{display:flex;align-items:center;justify-content:center;font-size:1.4rem;font-weight:600;color:var(--muted)}.card-row-text{flex:1;display:flex;flex-direction:column;gap:.1rem;min-width:0}.card-row-name{font-size:1.2rem;font-weight:600;line-height:1.2;overflow-wrap:anywhere}.card-row-category,.card-row-notes{font-size:.8rem;color:var(--muted)}.card-row-notes{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-row-distance{flex:none;font-size:.95rem;font-weight:600;color:var(--accent-dark)}.near-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1rem}.near-bar-text{flex:1;font-size:.9rem;color:var(--muted)}.near-bar-error{flex-basis:100%;margin:0}.card-locations{max-width:480px;margin:1.5rem auto 0}.card-locations h3{margin:0 0 .3rem;font-size:1rem}.card-locations-hint{margin:0 0 .6rem;font-size:.85rem;color:var(--muted)}.card-locations-ok{font-size:.9rem;color:var(--accent-dark)}.card-locations-list{list-style:none;margin:.8rem 0 0;padding:0;background:var(--surface);border-radius:12px}.card-locations-list li{display:flex;justify-content:space-between;align-items:center;gap:.6rem;padding:.5rem .8rem;border-bottom:1px solid #e3e6e3;font-size:.9rem}.card-locations-list li:last-child{border-bottom:none}.card-locations-actions{display:flex;align-items:center;gap:.6rem}
