/* Color tokens and layout largely mirror the static Alpha UI. */
:root{--bg:#f6f8fb;--panel:#ffffff;--panel-2:#f9fbff;--muted:#4a5568;--text:#0b1220;--brand:#16a34a;--accent:#2563eb;--danger:#ef4444;--warn:#f59e0b;--ok:#16a34a;--border:#e2e8f0}
html,body{height:100%}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,"Helvetica Neue",Arial,"Noto Sans";background:linear-gradient(180deg,#ffffff 0%,#f6f8fb 100%);color:var(--text)}
.brand .dot{width:10px;height:10px;border-radius:50%;background:var(--brand);box-shadow:0 0 8px var(--brand)}
.brand{display:flex;align-items:center;gap:10px;font-weight:700;letter-spacing:.3px}
.brand small{color:var(--muted);font-weight:500}
.hint{color:var(--muted);font-size:12px}
.muted{color:var(--muted)}
.divider{height:1px;background:linear-gradient(90deg,transparent,var(--border),transparent);opacity:.9;margin:4px 0}
.pad{padding:10px}
.section-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:6px 0 12px}
.section-title h2{font-size:18px;margin:0}
.sub{color:var(--muted);font-size:13px}
.dropzone{border:2px dashed var(--border);border-radius:16px;padding:18px;text-align:center;background:#f8fafc;color:var(--text)}
.thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin-top:12px}
.thumb{position:relative;border:1px solid var(--border);border-radius:12px;overflow:clip;background:#0d1015}
.thumb img{display:block;width:100%;height:120px;object-fit:cover}
.thumb .meta{padding:8px;font-size:12px;color:var(--muted);display:flex;align-items:center;justify-content:space-between;gap:6px}
.flag{display:inline-flex;align-items:center;gap:6px;margin-right:8px;color:var(--muted);font-size:12px}
.cut-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}
.cut-card{border:1px solid var(--border);border-radius:10px;background:#ffffff;overflow:hidden}
.cut-card img{display:block;width:100%;height:100px;object-fit:contain;background:#0c1116}
.status{font-size:11px;padding:6px 8px;border-radius:999px;border:1px solid var(--border);color:#334155;display:inline-flex;align-items:center;gap:6px;background:#f8fafc}
.status[data-state="awaiting"],
.status[data-state="in_transit"]{
  background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8; /* 受付済み（青） */
}
.status[data-state="arrived"],
.status[data-state="ready_pickup"]{
  background:#fef3c7;border-color:#fde68a;color:#92400e; /* 入庫済み（黄〜オレンジ） */
}
.status[data-state="picked"]{
  background:#ecfdf5;border-color:#bbf7d0;color:#166534; /* 出庫済み（緑） */
}
.shipment-card{border:1px solid var(--border);border-radius:14px;background:var(--panel);overflow:clip}
.shipment-head{display:flex;align-items:center;justify-content:space-between;padding:12px;background:#f8fafc;border-bottom:1px solid var(--border)}
.shipment-body{padding:12px;display:grid;gap:10px}
.qr{width:140px;height:140px;background:#fff;border:1px solid var(--border);border-radius:8px;display:grid;place-items:center;color:#64748b;font-weight:700;letter-spacing:.15rem}
.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.detail-grid .card{padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--panel-2)}
.monospace{font-family:"SFMono-Regular","Menlo","Consolas",monospace;font-size:13px}

/* MobileSAM prompt points (include / exclude) */
circle.sam-point-include{fill:#22c55e;stroke:#ffffff;stroke-width:1.5}
circle.sam-point-exclude{fill:#ef4444;stroke:#ffffff;stroke-width:1.5}

/* Travel-Light: item photo / auto-detect panels with better contrast */
.tl-panel-light{background-color:#ffffff;color:#212529}
.tl-panel-light .card-title,
.tl-panel-light .card-text,
.tl-panel-light li,
.tl-panel-light p{color:#212529}
