:root{color-scheme:light;--slate-50:#f8fafc;--slate-100:#f1f5f9;--slate-200:#e2e8f0;--slate-300:#cbd5e1;--slate-400:#94a3b8;--slate-500:#64748b;--slate-600:#475569;--slate-700:#334155;--slate-800:#1e293b;--slate-900:#0f172a;--blue-600:#2563eb;--red-50:#fef2f2;--red-200:#fecaca;--red-700:#b91c1c;--green-50:#f0fdf4;--green-200:#bbf7d0;--green-700:#15803d;--amber-50:#fffbeb;--amber-200:#fde68a;--amber-800:#92400e}
*{box-sizing:border-box}body{margin:0;background:var(--slate-50);color:var(--slate-900);font:14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",sans-serif;-webkit-font-smoothing:antialiased}.shell{width:min(calc(100% - 48px),1280px);margin-inline:auto}.app-header{background:#fff;border-bottom:1px solid var(--slate-200)}.header-row{height:66px;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{font-size:22px;font-weight:700;color:var(--slate-900);text-decoration:none}.brand-label{margin-left:10px;color:var(--slate-500)}.tabs{display:flex;gap:4px;overflow-x:auto}.tab{white-space:nowrap;padding:11px 13px 10px;color:var(--slate-600);text-decoration:none;border-bottom:2px solid transparent;font-weight:500}.tab:hover{color:var(--slate-900);background:var(--slate-50)}.tab.active{color:var(--slate-900);border-bottom-color:var(--slate-900)}.page{padding-block:28px 40px}.page-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:22px}.page-heading h1{font-size:28px;line-height:1.2;margin:0 0 6px}.page-heading p{margin:0;color:var(--slate-600)}a{color:var(--blue-600)}a:hover{text-decoration:underline}.button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 14px;border:1px solid transparent;border-radius:6px;background:var(--slate-900);color:#fff;font:inherit;font-weight:500;text-decoration:none;cursor:pointer}.button:hover{text-decoration:none;background:var(--slate-800)}.button-secondary{background:#fff;color:var(--slate-900);border-color:var(--slate-200)}.button-secondary:hover,.button-ghost:hover{background:var(--slate-100)}.button-danger{background:#fff;color:var(--red-700);border-color:var(--red-200)}.button-ghost{background:transparent;color:var(--slate-700)}.button-small{min-height:32px;padding:5px 10px;font-size:12px}.button:disabled{opacity:.5;cursor:not-allowed}.inline-form{display:inline}.button-row{display:flex;flex-wrap:wrap;gap:8px}.notice{padding:12px 14px;border:1px solid;border-radius:6px;margin-bottom:16px}.notice-success{background:var(--green-50);border-color:var(--green-200);color:var(--green-700)}.notice-error{background:var(--red-50);border-color:var(--red-200);color:var(--red-700)}.notice-warning{background:var(--amber-50);border-color:var(--amber-200);color:var(--amber-800)}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:22px}.metric{background:#fff;border:1px solid var(--slate-200);border-radius:8px;padding:15px}.metric-label{color:var(--slate-600);font-size:12px;font-weight:500}.metric-value{font-size:25px;font-weight:700;margin-top:4px}.metric-detail{color:var(--slate-500);font-size:12px;margin-top:2px}.panel{min-width:0;background:#fff;border:1px solid var(--slate-200);border-radius:8px;margin-bottom:20px;box-shadow:0 1px 3px rgb(15 23 42 / .05)}.panel-header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--slate-200)}.panel-header h2{margin:0;font-size:16px}.panel-body{padding:16px}.table-wrap{max-width:100%;overflow:auto}.table-wrap table{width:100%;border-collapse:collapse;min-width:900px}.table-wrap th{height:48px;padding:0 12px;background:var(--slate-100);border-bottom:1px solid var(--slate-200);color:var(--slate-600);font-weight:600;text-align:left;white-space:nowrap}.table-wrap td{padding:9px 12px;border-bottom:1px solid var(--slate-200);vertical-align:top}.table-wrap tbody tr:hover td{background:var(--slate-50)}.table-wrap tbody tr:last-child td{border-bottom:0}.table-wrap .numeric{text-align:right;font-variant-numeric:tabular-nums}.filters{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:10px;align-items:end}.field{grid-column:span 3}.field-wide{grid-column:span 5}.field-small{grid-column:span 2}.field label{display:block;color:var(--slate-600);font-size:12px;font-weight:500;margin-bottom:5px}.input,.select{width:100%;height:40px;padding:8px 10px;border:1px solid var(--slate-300);border-radius:6px;background:#fff;color:var(--slate-900);font:inherit}.input:focus,.select:focus{outline:2px solid var(--slate-900);outline-offset:1px}.filter-actions{grid-column:span 2;display:flex;gap:7px}.pagination{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;border-top:1px solid var(--slate-200);color:var(--slate-600)}.pagination-links{display:flex;gap:5px;align-items:center}.page-link{min-width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--slate-200);border-radius:6px;background:#fff;color:var(--slate-700);text-decoration:none}.page-link.active{background:var(--slate-900);border-color:var(--slate-900);color:#fff}.page-link.disabled{opacity:.45;pointer-events:none}.badge{display:inline-flex;padding:2px 7px;border-radius:999px;background:var(--slate-100);color:var(--slate-700);font-size:12px;white-space:nowrap}.badge-published,.badge-completed,.badge-parsed,.badge-called{background:var(--green-50);color:var(--green-700)}.badge-needs_review,.badge-failed,.badge-error{background:var(--red-50);color:var(--red-700)}.badge-queued,.badge-calling,.badge-initiated,.badge-imported{background:var(--amber-50);color:var(--amber-800)}.empty-state{text-align:center!important;color:var(--slate-500);padding:34px!important}.muted{color:var(--slate-500)}.truncate{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.definition{display:grid;grid-template-columns:180px minmax(0,1fr);border-bottom:1px solid var(--slate-200);padding:8px 0;gap:14px}.definition:last-child{border-bottom:0}.definition dt{color:var(--slate-600)}.definition dd{margin:0;overflow-wrap:anywhere}.raw-block{border-top:1px solid var(--slate-200)}.raw-block:first-child{border-top:0}.raw-block summary{cursor:pointer;padding:12px 16px;font-weight:500}.raw-block pre{margin:0;padding:14px 16px;background:var(--slate-900);color:#f8fafc;overflow:auto;white-space:pre-wrap;word-break:break-word;max-height:480px}.raw-notice{margin:0;padding:8px 16px;background:var(--amber-50);color:var(--amber-800)}.footer{padding:18px 0 30px;color:var(--slate-500);font-size:12px}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px}.login-box{width:min(100%,420px);background:#fff;border:1px solid var(--slate-200);border-radius:8px;padding:26px;box-shadow:0 1px 3px rgb(15 23 42 / .1)}.login-box h1{margin:0 0 6px;font-size:26px}.login-box p{margin:0 0 20px;color:var(--slate-600)}.login-box .field{margin-bottom:14px}.login-box .button{width:100%}.split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.split .table-wrap table{min-width:620px}.code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.actions-cell{white-space:nowrap}.warning-text{color:var(--amber-800)}
.compact-detail-grid{display:block}.compact-detail-grid dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px;margin:0}.callagent-actions{margin-top:18px}.result-panel{border-left-width:4px}.result-success{border-left-color:var(--green-700)}.result-error{border-left-color:var(--red-700)}.field-help{margin:6px 0 0;color:var(--slate-500);font-size:12px}.field-error{min-height:18px;margin:5px 0 0;color:var(--red-700);font-size:12px}.checkbox-row{display:flex;align-items:flex-start;gap:9px;margin-top:16px;color:var(--slate-700)}.checkbox-row input{width:16px;height:16px;margin-top:2px;accent-color:var(--slate-900)}.modal{width:min(calc(100% - 32px),560px);padding:0;border:1px solid var(--slate-200);border-radius:8px;background:#fff;color:var(--slate-900);box-shadow:0 20px 50px rgb(15 23 42 / .22)}.modal::backdrop{background:rgb(15 23 42 / .48)}.modal form{margin:0}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 18px;border-bottom:1px solid var(--slate-200)}.modal-header h2{margin:0;font-size:18px}.modal-close{width:32px;height:32px;border:0;border-radius:6px;background:transparent;color:var(--slate-600);font-size:24px;line-height:1;cursor:pointer}.modal-close:hover{background:var(--slate-100);color:var(--slate-900)}.modal-body{padding:18px}.modal-body .field{margin-bottom:14px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;padding:14px 18px;border-top:1px solid var(--slate-200);background:var(--slate-50)}
@media(max-width:980px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.field,.field-wide,.field-small{grid-column:span 6}.filter-actions{grid-column:span 6}.detail-grid,.split{grid-template-columns:1fr}}
@media(max-width:640px){.shell{width:min(calc(100% - 24px),1280px)}.header-row{height:58px}.brand-label{display:none}.page{padding-top:20px}.page-heading{display:block}.page-heading .button-row{margin-top:12px}.metrics{grid-template-columns:1fr}.filters{display:block}.field,.filter-actions{margin-bottom:10px}.pagination{align-items:flex-start;flex-direction:column}.definition{grid-template-columns:1fr;gap:2px}.compact-detail-grid dl{grid-template-columns:1fr}.tabs{margin-inline:-12px;padding-inline:12px}.modal-actions{flex-direction:column-reverse}.modal-actions .button{width:100%}}
.notice-info{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}.restaurant-thumbnail{display:block;width:56px;height:42px;object-fit:cover;border-radius:4px;border:1px solid var(--slate-200)}.photo-placeholder{display:grid;place-items:center;width:56px;height:42px;border:1px dashed var(--slate-300);border-radius:4px;color:var(--slate-500);font-size:10px;text-align:center}.photo-section{padding:16px;border-top:1px solid var(--slate-200)}.photo-section h3{margin:0 0 12px;font-size:14px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.section-heading h3{margin:0}.inline-settings-form,.photo-upload-form{display:flex;align-items:end;flex-wrap:wrap;gap:10px}.inline-settings-form .field,.photo-upload-form .field{flex:1 1 190px}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.photo-item{min-width:0;border:1px solid var(--slate-200);border-radius:6px;overflow:hidden;background:#fff}.restaurant-photo{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:var(--slate-100)}.primary-photo{width:min(100%,560px);margin:0}.primary-photo figcaption{padding:8px 0;color:var(--slate-600)}.photo-meta{display:flex;flex-direction:column;gap:7px;padding:10px;color:var(--slate-600);font-size:12px}.photo-edit-form{padding:0 10px 10px}.photo-edit-form .field{margin-bottom:8px}.photo-item>.button-row{padding:0 10px 10px}.photo-author{display:flex;align-items:center;gap:7px}.author-avatar{width:24px;height:24px;border-radius:50%;object-fit:cover}.photo-links{display:flex;flex-wrap:wrap;gap:6px}.photos-panel input[type=file]{padding-top:7px}@media(max-width:900px){.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.photo-grid{grid-template-columns:1fr}.section-heading{align-items:flex-start;flex-direction:column}}
.saved-photo-item{position:relative;transition:transform .12s ease,border-color .12s ease,opacity .12s ease}.saved-photo-item.is-dragging{opacity:.48;border-color:var(--slate-500);transform:scale(.985)}.photo-drag-handle{position:absolute;z-index:2;top:7px;right:7px;width:34px;height:34px;border:1px solid rgb(255 255 255 / .7);border-radius:6px;background:rgb(15 23 42 / .82);color:#fff;font-size:17px;line-height:1;cursor:grab;touch-action:none}.photo-drag-handle:active{cursor:grabbing}.photo-badges{display:flex;flex-wrap:wrap;gap:5px}.badge-low_relevance{background:var(--amber-50);color:var(--amber-800)}.photo-import-state{min-height:20px;margin:8px 0}.photo-state-error{color:var(--red-700)}.photo-order-status{min-height:20px;margin:8px 0 0}.saved-photo-item>.button-row{padding:0 10px 10px}
