*{box-sizing:border-box}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:inherit;background-color:inherit}a{color:inherit}:root{color-scheme:light dark;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;font-weight:400;background-color:#f5f7fb;color:#101828}body{margin:0;background:linear-gradient(180deg,#f5f7fb,#eef2f8)}#root{width:100%}.app-shell{margin:0 auto;padding:1.25rem;max-width:960px;display:flex;flex-direction:column;gap:1.5rem}.app-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.app-header h1{margin:0;font-size:clamp(1.5rem,4vw,2rem);font-weight:600}.app-header p{margin:.35rem 0 0;color:#475467;font-size:.95rem}.capture-card{background:#fff;border-radius:16px;padding:1.25rem;box-shadow:0 12px 40px #0f172a14;display:flex;flex-direction:column;gap:1rem}.scan-form{display:flex;flex-direction:column;gap:.75rem}.input-label{font-size:.85rem;font-weight:600;color:#344054;letter-spacing:.02em}.scan-input-row{display:flex;gap:.75rem}.scan-input-row input{flex:1;border-radius:12px;border:1px solid #d0d5dd;padding:.85rem 1rem;font-size:1.05rem;background-color:#f9fafb;transition:border .2s ease,box-shadow .2s ease}.scan-input-row input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f633;background-color:#fff}.scan-input-row button{padding:.85rem 1.4rem;border-radius:12px;border:none;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;font-weight:600;letter-spacing:.02em;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease;white-space:nowrap}.scan-input-row button:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.scan-input-row button:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 10px 18px #2563eb33}.card-footer{display:flex;flex-direction:column;gap:.5rem}.card-footer .secondary{align-self:flex-start}.card-footer button{padding:.6rem 1rem;border-radius:10px;border:1px solid #d0d5dd;background:#f8fafc;color:#344054;font-weight:500;cursor:pointer}.card-footer button:disabled{opacity:.5;cursor:not-allowed}.status-message{margin:0;font-size:.9rem;padding:.5rem .75rem;border-radius:10px;background:#eff4ff;color:#1d4ed8}.status-message.success{background:#ecfdf3;color:#047857}.status-message.error{background:#fef2f2;color:#b91c1c}.status-message.warning{background:#fefce8;color:#b45309}.sync-feedback{font-size:.85rem;color:#475467;display:flex;flex-direction:column;gap:.25rem}.table-section{background:#fff;border-radius:16px;padding:.5rem;box-shadow:0 12px 40px #0f172a0f}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:720px}thead{background:#f9fafb}thead th{text-align:left;padding:.75rem .65rem;font-size:.85rem;font-weight:600;color:#475467;border-bottom:1px solid #e4e7ec}tbody td{padding:.7rem .65rem;border-bottom:1px solid #f1f5f9;font-size:.9rem;color:#1f2937}tbody tr:hover{background:#f9fafb}.mono{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace}table a{color:#2563eb;text-decoration:none;font-weight:500}table a:hover{text-decoration:underline}.empty-state{text-align:center;padding:2.5rem 1rem;color:#94a3b8;font-style:italic}@media (max-width: 720px){.app-shell,.capture-card{padding:1rem}.scan-input-row{flex-direction:column}.scan-input-row button{width:100%}.card-footer{flex-direction:column;align-items:stretch}.card-footer .secondary{align-self:stretch}table{min-width:600px}}@media (prefers-color-scheme: dark){:root{background-color:#0f172a;color:#f8fafc}body{background:linear-gradient(180deg,#0f172a,#1f2937)}.app-header p{color:#cbd5f5}.capture-card,.table-section{background:#111827;box-shadow:0 18px 48px #00000073}.scan-input-row input{background-color:#1f2937;border-color:#334155;color:#f8fafc}.scan-input-row input:focus{background-color:#0f172a}.scan-input-row button{background:linear-gradient(135deg,#60a5fa,#3b82f6)}thead{background:#1f2937}thead th{color:#cbd5f5;border-bottom:1px solid #1e293b}tbody td{border-bottom:1px solid #1e293b;color:#e2e8f0}tbody tr:hover{background:#94a3b81f}.empty-state{color:#64748b}}
