:root{--bg: #ffffff;--fg: #222222;--muted: #666;--primary: #1e88e5}:root[data-theme=dark]{--bg: #121212;--fg: #e5e5e5;--muted: #aaa;--primary: #90caf9}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--fg);font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}.app-header{display:flex;gap:16px;align-items:center;padding:8px 16px;border-bottom:1px solid #ddd}.app-header a{color:var(--fg);text-decoration:none;margin-right:8px}.app-header a:hover{color:var(--primary)}main{padding:16px}.toolbar{display:flex;gap:8px;align-items:center;margin-bottom:12px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(260px,1fr));gap:8px 16px}.actions{margin-top:12px;display:flex;gap:8px}.error{color:#b00020;margin:8px 0}.tbl{width:100%;border-collapse:collapse}.tbl th,.tbl td{border-bottom:1px solid #ddd;padding:8px;text-align:left}.tbl th{cursor:pointer}.uploader{border:1px dashed #aaa;padding:12px;border-radius:8px}.uploader.drag{background:#0000000d}.uploader .previews{display:flex;gap:8px;margin:8px 0}.uploader .previews img{width:100px;height:100px;object-fit:cover;border-radius:4px}.photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px}.photo img{width:100%;height:120px;object-fit:cover;border:1px solid #ddd;border-radius:4px}.photo button{margin-top:4px}@media print{.app-header,.toolbar,.actions,button{display:none!important}main{padding:0}.print{padding:0}}
