:root{color-scheme:light dark;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:#f5f2ee;color:#2b2420}#app{min-height:100vh}.centered-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.card{width:100%;max-width:360px;background:#fff;border-radius:16px;padding:32px 28px;box-shadow:0 4px 24px #00000014}h1{font-size:20px;margin:0 0 20px}label{display:block;font-size:13px;font-weight:600;margin-bottom:6px;margin-top:16px}input,textarea{width:100%;box-sizing:border-box;padding:10px 12px;border-radius:10px;border:1px solid #ddd6cf;font-size:14px;font-family:inherit}button{padding:11px 16px;border-radius:10px;border:none;background:#44332d;color:#fff;font-size:14px;font-weight:600;cursor:pointer}.card button[type=submit]{width:100%;margin-top:24px}button:disabled{opacity:.5;cursor:default}button.secondary{background:transparent;color:#44332d;border:1px solid #ddd6cf}.error{margin-top:16px;font-size:13px;color:#b3261e}.hello{text-align:center}.hello p{font-size:14px;color:#6b625c}.shell{display:flex;min-height:100vh}.sidebar{width:240px;flex-shrink:0;background:#2b2420;color:#f5f2ee;display:flex;flex-direction:column;padding:24px 16px}.sidebar-title{font-size:15px;font-weight:700;line-height:1.35;margin-bottom:28px;padding:0 8px}.nav-list{list-style:none;margin:0;padding:0;flex:1}.nav-link{display:block;padding:10px 12px;border-radius:8px;color:#d8cfc5;text-decoration:none;font-size:14px;font-weight:500;margin-bottom:4px}.nav-link:hover{background:#ffffff0f;color:#fff}.nav-link.active{background:#6b5648;color:#fff}.sidebar-footer{border-top:1px solid rgba(255,255,255,.12);padding-top:16px;margin-top:16px}.sidebar-email{font-size:12px;color:#b7ac9f;margin-bottom:10px;word-break:break-all}.sidebar-footer button.secondary{width:100%;color:#f5f2ee;border-color:#ffffff40}.content{flex:1;min-width:0;padding:32px 40px}.menu-toggle{display:none;position:fixed;top:14px;left:14px;z-index:30;width:40px;height:40px;padding:0;border-radius:10px;background:#2b2420;flex-direction:column;align-items:center;justify-content:center;gap:4px}.menu-toggle span{display:block;width:18px;height:2px;background:#fff;border-radius:1px}.menu-toggle.hidden,.sidebar-backdrop{display:none}.view-header{margin-bottom:24px}.view-header h1{margin-bottom:4px}.view-subtitle{font-size:14px;color:#6b625c;margin:0}.state-message{font-size:14px;color:#6b625c}.state-message.error{color:#b3261e}.state-message.success{color:#2f6b3f}.back-link{display:inline-block;margin-bottom:16px;color:#44332d;font-size:13px;font-weight:600;text-decoration:none}.back-link:hover{text-decoration:underline}.table-scroll{overflow-x:auto;background:#fff;border-radius:14px;box-shadow:0 2px 12px #0000000d}.queue-table{width:100%;border-collapse:collapse;font-size:13.5px;min-width:640px}.queue-table th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#8a8078;padding:14px 16px;border-bottom:1px solid #efe9e2}.queue-table td{padding:14px 16px;border-bottom:1px solid #f2ede7;vertical-align:top}.queue-row{cursor:pointer}.queue-row:hover td{background:#faf7f3}.flags-empty{color:#b7ac9f}.status-badge{display:inline-block;font-size:11px;font-weight:700;padding:3px 10px;border-radius:999px;text-transform:uppercase;letter-spacing:.03em}.status-badge.approved{background:#e4efe1;color:#2f6b3f}.status-badge.rejected{background:#f6e3e0;color:#a4362a}.flag-badge{display:inline-block;background:#f1e6d8;color:#6b5237;font-size:11px;font-weight:600;padding:3px 8px;border-radius:999px;margin:0 4px 4px 0;white-space:nowrap}.detail-layout{display:flex;gap:32px;align-items:flex-start}.detail-photos{width:420px;flex-shrink:0}.photo-gallery{display:flex;flex-direction:column;gap:16px}.photo-thumb{display:block;border-radius:10px;overflow:hidden;background:#eee}.photo-thumb img{width:100%;height:auto;display:block}.detail-content{flex:1;min-width:0;background:#fff;border-radius:14px;padding:24px 28px;box-shadow:0 2px 12px #0000000d}.detail-content h1{margin-bottom:6px}.detail-content h2{font-size:15px;margin:24px 0 10px}.detail-submitted{font-size:13px;color:#6b625c;margin:0 0 14px}.detail-description{font-size:14px;color:#443a33;line-height:1.5}.meta-badges{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.meta-badge{font-size:12px;background:#f5f2ee;border:1px solid #ece4d9;color:#574a3f;padding:4px 10px;border-radius:999px;white-space:nowrap}.ingredient-list,.instruction-list{padding-left:20px;font-size:14px;line-height:1.6;margin:0}.ingredient-note{color:#8a8078}.instruction-list li{margin-bottom:10px}.instruction-tip{font-size:12.5px;color:#8a8078;margin-top:2px}.tag-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:20px}.tag-chip{font-size:11.5px;background:#eef1ea;color:#47523c;padding:4px 10px;border-radius:999px}.review-actions{margin-top:28px;padding-top:20px;border-top:1px solid #f2ede7;display:flex;gap:12px}.approve-button{background:#2f6b3f}.reject-button{background:#a4362a}.reject-form{width:100%}.reject-form textarea{margin-top:6px;resize:vertical}.reject-form-buttons{display:flex;gap:10px;margin-top:12px}.reject-form-buttons button{margin-top:0}#review-feedback{margin-top:12px}.ai-usage-section{margin-top:32px}.ai-usage-section h2{font-size:15px;margin:0 0 10px}.ai-usage-table{min-width:720px}.ai-usage-table td,.ai-usage-table th{white-space:nowrap}.ai-usage-totals-row td{font-weight:700;border-top:2px solid #ddd6cf;background:#faf7f3}.ai-usage-note{font-size:12px;color:#8a8078;margin-top:8px}@media(max-width:900px){.menu-toggle{display:flex}.sidebar{position:fixed;top:0;left:0;bottom:0;z-index:25;transform:translate(-100%);transition:transform .2s ease;box-shadow:4px 0 24px #0003}.sidebar.open{transform:translate(0)}.sidebar-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:20;opacity:0;pointer-events:none;transition:opacity .2s ease}.sidebar-backdrop.visible{opacity:1;pointer-events:auto}.content{padding:72px 20px 32px}.detail-layout{flex-direction:column}.detail-photos{width:100%}.detail-content{padding:20px}.queue-table{min-width:560px}}@media(max-width:480px){.review-actions{flex-direction:column}.review-actions button{width:100%}}
