:root{--bg: #efe3d2;--panel: rgba(255, 249, 242, .92);--panel-strong: rgba(255, 252, 247, .97);--line: rgba(34, 24, 18, .1);--ink: #221812;--muted: #766a61;--shadow: 0 22px 60px rgba(55, 27, 10, .14)}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100vh}body{font-family:Avenir Next,Segoe UI,sans-serif;color:var(--ink);background:radial-gradient(circle at top left,rgba(255,255,255,.94),transparent 26%),linear-gradient(135deg,#ead8c1,var(--bg) 46%,#d8b691)}button,input,select{font:inherit}.app-shell{min-height:100vh;padding:14px}.page{max-width:1500px;margin:0 auto;height:calc(100vh - 28px);display:grid;grid-template-rows:auto minmax(0,1fr);gap:14px}.topbar,.workspace,.panel{border:1px solid var(--line);border-radius:24px;background:var(--panel);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.toolbar{padding:10px 12px;display:flex;gap:8px;align-items:center;overflow-x:auto}.btn,.select,.input{border-radius:16px;padding:9px 11px;white-space:nowrap;border:1px solid var(--line);background:#ffffffbd;color:var(--ink)}.btn{cursor:pointer}.btn.primary{border:0;color:#fff7ef;background:linear-gradient(135deg,#251913,#5c3222);box-shadow:0 12px 24px #2a140a2e}.btn:disabled{opacity:.62;cursor:not-allowed}.inline-loading{display:inline-flex;align-items:center;gap:8px}.spinner-dot{width:10px;height:10px;border-radius:999px;background:currentColor;animation:pulse-dot .9s ease-in-out infinite alternate}@keyframes pulse-dot{0%{opacity:.35;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.select{min-width:168px}.badge-row{display:flex;flex-wrap:wrap;gap:8px}.badge{padding:6px 10px;border-radius:999px;background:#2218120f;color:var(--muted);font-size:.78rem;white-space:nowrap}.split{display:grid;height:100%;min-height:0}.select-layout{grid-template-columns:340px minmax(0,1fr);gap:16px;padding:16px}.workspace-layout,.status-layout{grid-template-columns:420px minmax(0,1fr)}.sidebar,.content,.left-pane,.right-pane,.status-left,.status-right{min-width:0;min-height:0}.left-pane,.status-left{border-right:1px solid var(--line);background:linear-gradient(180deg,#fffbf7eb,#f4ece2e0)}.right-pane,.status-right,.content{background:radial-gradient(circle at top,rgba(255,255,255,.44),transparent 52%),linear-gradient(180deg,#f7efe5f2,#eee3d5e6)}.left-pane,.right-pane,.status-left,.status-right{padding:16px}.left-pane{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:12px}.claim-pane{display:block;overflow:auto}.right-pane,.status-right{display:grid;grid-template-rows:minmax(0,1fr)}.status-left{display:grid;grid-template-rows:auto minmax(0,1fr);gap:12px}.status-right{grid-template-rows:auto minmax(0,1fr);gap:12px}.card,.section{border:1px solid var(--line);border-radius:20px;background:var(--panel-strong);padding:14px;min-width:0;min-height:0}.card h2,.section h2{margin:0 0 10px;font-size:.88rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.select-title{display:grid;gap:6px}.select-title strong,.hint,.muted{color:var(--muted)}.claim-form-shell{display:grid;gap:14px}.claim-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.claim-field{display:grid;gap:8px;border:1px solid rgba(34,24,18,.08);border-radius:22px;padding:14px;background:#ffffffbd;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.claim-field.active{border-color:#bf4d226b;box-shadow:0 14px 26px #76431c1a;transform:translateY(-1px)}.claim-field-wide{grid-column:1 / -1}.claim-label-row{display:flex;justify-content:space-between;align-items:center;gap:10px}.claim-label{font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.claim-source{display:inline-flex;align-items:center;border-radius:999px;padding:4px 9px;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}.claim-source.visible{background:#bf4d221f;color:#9d3f1d}.claim-source.inferred{background:#6e807129;color:#4d6652}.claim-source.missing{background:#766a611f;color:var(--muted)}.claim-input-row{display:flex;gap:10px;align-items:center}.claim-input{min-width:0;width:100%;padding:12px 14px;background:#ffffffe6}.claim-select{min-width:0}.mode-field{background:radial-gradient(circle at top right,rgba(255,255,255,.8),transparent 48%),#ffffffc2}.claim-help{color:var(--muted);font-size:.82rem;line-height:1.55}.ocr-anchor-button{flex:0 0 auto;border:1px solid rgba(191,77,34,.22);border-radius:14px;padding:10px 12px;background:#bf4d2214;color:#9d3f1d;font:inherit;font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.ocr-anchor-button.active{background:linear-gradient(135deg,#251913,#5c3222);color:#fff7ef;border-color:transparent}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;overflow:auto}.sample-card{border:1px solid var(--line);border-radius:22px;overflow:hidden;background:#ffffffc7;padding:0;text-align:left;cursor:pointer}.sample-card:hover,.sample-card.active{border-color:#bf4d227a;box-shadow:0 12px 24px #76431c1f;transform:translateY(-2px)}.sample-card img{display:block;width:100%;height:170px;object-fit:cover;background:#eadbc8}.sample-card .meta{padding:12px 14px 14px;word-break:break-word}.upload-label{display:block;border:1px solid var(--line);border-radius:18px;padding:16px;text-align:center;cursor:pointer;background:linear-gradient(135deg,#ffffffe6,#f1e4d2e0)}.upload-label strong{display:block;margin-bottom:6px}.file-input{display:none}.result-list,.event-list{list-style:none;margin:0;padding:0;display:grid;gap:10px;overflow:auto}.block-item,.event-item{border:1px solid var(--line);border-radius:18px;background:#ffffffd6;padding:13px}.block-item{cursor:pointer}.field-item.visible{border-left:4px solid rgba(191,77,34,.78)}.field-item.inferred{border-left:4px solid rgba(110,128,113,.88)}.field-item.missing{border-left:4px solid rgba(118,106,97,.28)}.block-item:hover,.block-item.active{border-color:#bf4d2275;box-shadow:0 10px 22px #76421b1a}.block-item strong,.event-item strong{display:block;margin-bottom:8px;font-size:.9rem;text-transform:uppercase}.block-item p,.event-item p{margin:0 0 8px;line-height:1.62;word-break:break-word}.field-row{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}.field-row strong{margin-bottom:0}.field-value{font-weight:600;color:var(--ink)}.field-source{display:inline-flex;align-items:center;border-radius:999px;padding:4px 9px;font-size:.72rem;letter-spacing:.05em;text-transform:uppercase}.field-source.visible{background:#bf4d221f;color:#9d3f1d}.field-source.inferred{background:#6e807129;color:#4d6652}.field-source.missing{background:#766a611f;color:var(--muted)}.workspace-hint{margin:12px 0 0;line-height:1.65}.bbox-label,.event-time{color:var(--muted);font-size:.83rem;font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace}.pager{display:flex;justify-content:space-between;align-items:center;gap:10px}.canvas-stage{height:100%;min-height:0;border:1px dashed rgba(34,24,18,.16);border-radius:24px;background:linear-gradient(135deg,#fff6,#ede0d1b3),repeating-linear-gradient(135deg,transparent 0,transparent 16px,rgba(34,24,18,.03) 16px,rgba(34,24,18,.03) 32px);overflow:hidden;padding:0}.canvas-shell{width:100%;height:100%;min-height:0;display:grid;place-items:center;overflow:auto;padding:10px}.canvas-card{display:grid;grid-template-rows:auto minmax(0,1fr)}#ocrCanvas,#editorCanvas{display:block;max-width:100%;max-height:100%;width:auto;height:auto;background:#fff;box-shadow:0 18px 36px #28160c29}#editorCanvas{cursor:crosshair}.canvas-placeholder{text-align:center;color:var(--muted);line-height:1.8}.tabs{display:flex;gap:8px;flex-wrap:wrap}.tab-button{border:1px solid var(--line);border-radius:999px;padding:8px 11px;background:#ffffffb8;color:var(--muted);cursor:pointer}.tab-button.active{background:#ba4a211f;border-color:#ba4a2157;color:var(--ink)}.viewer pre{margin:0;height:100%;overflow:auto;border-radius:18px;border:1px solid var(--line);padding:14px;background:#f7f1ebf0;font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:.88rem;line-height:1.65;white-space:pre-wrap;word-break:break-word}.editor-control{display:grid;gap:6px;margin-bottom:10px}.toast-wrap{position:fixed;left:18px;top:18px;z-index:50;pointer-events:none}.toast{min-width:220px;max-width:360px;border-radius:18px;padding:12px 14px;background:#221812eb;color:#fff7ef;box-shadow:0 18px 32px #160d0838;opacity:0;transform:translateY(-6px);transition:opacity .18s ease,transform .18s ease}.toast.show{opacity:1;transform:translateY(0)}.toast.error{background:#8f241af5}@media(max-width:1180px){.select-layout,.workspace-layout,.status-layout{grid-template-columns:1fr}.left-pane,.status-left{border-right:0;border-bottom:1px solid var(--line)}.claim-form-grid{grid-template-columns:1fr}}
