:root{--bg: #eef4f8;--surface: #ffffff;--ink: #18212f;--ink-soft: #4b5b72;--accent: #0f6f79;--accent-dark: #0a5462;--warn: #b45309;--danger: #b91c1c;--ok: #166534;--line: #d7e0ea;--shadow: 0 10px 28px rgba(19, 40, 72, .09);--radius: 12px;--space-xs: .4rem;--space-sm: .6rem;--space-md: .9rem;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;color:var(--ink)}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at top,#ddeaf2 0%,var(--bg) 48%)}.app{max-width:1080px;margin:0 auto;padding:var(--space-md)}.header{background:var(--surface);border-radius:var(--radius);padding:var(--space-md);box-shadow:var(--shadow);border:1px solid #e8eef4;margin-bottom:var(--space-sm)}.header h1{margin:0;font-size:1.25rem}.badges{display:flex;gap:var(--space-xs);flex-wrap:wrap;margin-top:var(--space-sm)}.sync-progress{margin-top:var(--space-sm);border:1px solid #dbe6f1;border-radius:10px;background:#f6f9fc;padding:.5rem .6rem}.sync-progress-head{display:flex;align-items:center;gap:.4rem;margin-bottom:.15rem}.sync-progress.done{border-color:#cde7d7;background:#f3fbf6}.sync-progress.failed{border-color:#f7cdcd;background:#fff5f5}.spinner{width:14px;height:14px;border-radius:50%;border:2px solid #b9d1e8;border-top-color:#1d4ed8;display:inline-block;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.badge{border-radius:999px;padding:.26rem .56rem;font-size:.75rem;font-weight:600;border:1px solid #d8e1eb;background:#edf2f7;color:#2d3b4f}.badge.online{background:#dcfce7;color:#14532d}.badge.offline{background:#fee2e2;color:#7f1d1d}.card{background:var(--surface);border-radius:var(--radius);padding:var(--space-md);box-shadow:var(--shadow);border:1px solid #e8eef4}.card h2{margin:0;font-size:1.08rem}.card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-sm)}.question-chip{font-size:.75rem;background:#edf5f6;color:#164f58;border-radius:999px;border:1px solid #d3e4e8;padding:.24rem .52rem}label{display:block;font-size:.9rem;margin-bottom:.25rem;font-weight:600}input,select,textarea,button{width:100%;font:inherit}textarea,select,input[type=file]{padding:.64rem .68rem;border:1px solid var(--line);border-radius:10px;margin-bottom:var(--space-sm);background:#fbfdff}.photo-row{font-size:.82rem;margin:.2rem 0 .55rem;display:flex;justify-content:space-between;align-items:center;gap:.45rem;padding:.4rem .5rem;border-radius:9px;border:1px solid #edf2f7;background:#fcfeff}.photo-row-name{min-width:0;flex:1;word-break:break-word;overflow-wrap:anywhere}.photo-row-actions{display:flex;gap:.35rem;flex-wrap:wrap;justify-content:flex-end;flex-shrink:0}.photo-row-actions button{width:auto;min-width:92px}button{border:0;border-radius:10px;padding:.56rem .82rem;background:var(--accent);color:#fff;cursor:pointer;min-height:40px;height:40px;font-weight:600;transition:transform .06s ease,background-color .2s ease}button:hover{background:var(--accent-dark)}button:active{transform:translateY(1px)}button:disabled{cursor:not-allowed;opacity:.56}button.secondary{background:#334155}button.secondary:hover{background:#243142}button.ghost{background:#edf2f8;color:#223248}button.ghost:hover{background:#dce6f0}button.warning{background:var(--warn)}.actions{display:grid;grid-template-columns:1fr;gap:var(--space-xs);margin-top:var(--space-sm)}.actions-row{display:flex;gap:var(--space-xs);flex-wrap:wrap;margin:var(--space-sm) 0}.actions-row button{width:auto;min-width:120px}.actions-row.compact{margin:var(--space-xs) 0 0}.photo-actions{margin:.25rem 0 .5rem}.photo-actions button{flex:1}.hidden-input{display:none}.step-indicator{display:flex;gap:.4rem;margin-bottom:var(--space-sm)}.step-dot{width:34px;min-width:34px;height:34px;min-height:34px;border-radius:50%;padding:0;background:#dfe7f0;color:#1b2a3b;font-size:.86rem}.step-dot.done{background:#d7f4e4;color:#155736}.step-dot.active{outline:2px solid #90d0dd;background:#0f6f79;color:#fff}.question-panel{border:1px solid #e4ebf2;background:#fafcfe;border-radius:12px;padding:var(--space-sm)}.readonly-detail-list{display:grid;gap:.65rem}.readonly-answer{border:1px solid #e5ecf3;border-radius:10px;background:#fff;padding:.65rem}.readonly-answer h3{margin:0;font-size:.92rem}.readonly-question-text{margin:.24rem 0 0;font-size:.8rem;color:var(--ink-soft)}.readonly-answer-text{margin:.38rem 0 0;font-size:.9rem;white-space:pre-wrap;word-break:break-word}.thumb-grid{margin-top:.5rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(116px,1fr));gap:.45rem}.thumb-item{width:100%;height:auto;min-height:0;border:1px solid #dbe4ee;border-radius:10px;background:#f8fbff;padding:.34rem;color:var(--ink);display:flex;flex-direction:column;align-items:stretch;gap:.3rem;text-align:left}.thumb-item img{width:100%;aspect-ratio:1 / 1;object-fit:cover;border-radius:7px;border:1px solid #e2e8f0;background:#eef3f8}.thumb-item span{font-size:.74rem;line-height:1.2;color:#334155;word-break:break-word}.step-nav{display:flex;gap:var(--space-xs);justify-content:space-between;margin-top:var(--space-xs)}.step-nav button{width:auto;flex:1}.validation-summary{margin-top:var(--space-sm);border-radius:10px;padding:var(--space-sm);background:#fff8e8;border:1px solid #fde9b0}.issue-list{margin:.4rem 0 0;padding-left:1rem;color:#6b4f0b;font-size:.83rem}.overview-actions{margin-bottom:var(--space-sm)}.overview-table-wrap{width:100%;overflow-x:auto;border:1px solid #e3eaf2;border-radius:10px;background:#fcfdff}.overview-table{width:100%;border-collapse:collapse;min-width:760px}.overview-table th,.overview-table td{text-align:left;padding:.62rem .68rem;border-bottom:1px solid #e8eef4;vertical-align:top;font-size:.83rem}.overview-table th{font-size:.76rem;font-weight:700;color:#475569;background:#f4f7fb;letter-spacing:.01em;white-space:nowrap}.overview-table tr:last-child td{border-bottom:none}.overview-table .cell-strong{font-weight:600}.table-actions{display:flex;gap:var(--space-xs);flex-wrap:wrap}.table-actions button{width:auto;min-width:116px}.table-note{margin-top:.3rem;margin-bottom:0}.source-label{margin-top:.3rem;color:var(--ink-soft);font-size:.74rem}.empty-row{color:var(--ink-soft);text-align:center;padding:1rem .8rem}.overview-mobile{display:none}.overview-item{border:1px solid #e7edf4;border-radius:12px;padding:.72rem;background:#fbfdff;margin-bottom:.6rem}.overview-head{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.overview-head h3{margin:0;font-size:.98rem}.overview-meta{margin-top:.35rem;display:flex;flex-wrap:wrap;gap:.55rem;font-size:.8rem;color:var(--ink-soft)}.status-badge{border-radius:999px;padding:.22rem .56rem;font-size:.72rem;font-weight:700;white-space:nowrap}.status-badge.Concept,.status-badge.InQueue{background:#e8edf5;color:#344256}.status-badge.Incomplete{background:#fff5d6;color:#8a6208}.status-badge.ReadyForSync{background:#d8f4e6;color:#155736}.status-badge.Syncing{background:#dceafe;color:#1d4ed8}.status-badge.Sent{background:#d7f6e3;color:#18633f}.status-badge.Failed{background:#fee2e2;color:#991b1b}.inline-note{border-radius:8px;padding:.34rem .46rem;margin-top:var(--space-xs);font-size:.76rem}.warning-note{background:#fff7e0;border:1px solid #fde6a5;color:#805b0d}.error-note{background:#fff0f0;border:1px solid #fecaca;color:#8f1d1d}.checklist-row{display:flex;gap:.55rem;flex-wrap:wrap;margin-top:var(--space-xs);margin-bottom:var(--space-xs)}.checklist-row span{padding:.24rem .5rem;border-radius:999px;font-size:.78rem;font-weight:600}.checklist-row .ok{background:#d7f6e3;color:#176140}.checklist-row .warn{background:#ffeccc;color:#8a6208}.toast-stack{position:fixed;right:.75rem;bottom:.75rem;display:grid;gap:.5rem;z-index:50;width:min(360px,calc(100vw - 1.5rem))}.toast{border-radius:10px;padding:.56rem .62rem;display:flex;justify-content:space-between;align-items:start;gap:.55rem;color:#0f172a;box-shadow:var(--shadow);background:#f8fafc;border:1px solid #e2e8f0}.toast.info{background:#e0f2fe;border-color:#bae6fd}.toast.success{background:#dcfce7;border-color:#bbf7d0}.toast.warning{background:#fef3c7;border-color:#fde68a}.toast.error{background:#fee2e2;border-color:#fecaca}.toast-text{font-size:.84rem;line-height:1.35}.toast-close{background:transparent;border:0;color:#334155;min-width:auto;min-height:auto;padding:0;width:auto}.small{font-size:.8rem;color:var(--ink-soft)}@media (max-width: 719px){.header,.card{padding:var(--space-sm)}.photo-row{flex-direction:column;align-items:flex-start}.photo-row-actions{width:100%;justify-content:flex-start}.photo-row-actions button{flex:1;min-width:0}.overview-desktop{display:none}.overview-mobile{display:block}.actions-row button,.table-actions button{min-width:0;flex:1}}@media (min-width: 720px){.overview-mobile{display:none}.overview-desktop{display:block}}@media (min-width: 720px){.app{padding:1rem}.actions{grid-template-columns:repeat(3,minmax(0,1fr))}}
