*{box-sizing:border-box}html,body{color:#111827;background:#f5f7fa;margin:0;padding:0;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.app-layout{min-height:100vh;display:flex}.sidebar{color:#e0e0e0;background:#1a1a2e;flex-direction:column;flex-shrink:0;width:220px;height:100vh;display:flex;position:sticky;top:0;overflow-y:auto}.main-content{flex:1;width:100%;min-width:0;padding:24px 24px 48px}.mobile-topbar{display:none}.sidebar-overlay{z-index:99;background:#00000080;display:none;position:fixed;inset:0}@media (max-width:768px){.app-layout{min-height:100vh;display:block}.sidebar{z-index:100;height:100vh;transition:transform .2s;position:fixed;top:0;left:0;transform:translate(-100%)}.sidebar.sidebar-open{transform:translate(0)}.sidebar-overlay.sidebar-open{display:block}.mobile-topbar{color:#e0e0e0;z-index:10;background:#1a1a2e;justify-content:flex-start;align-items:center;gap:12px;width:100%;padding:12px 16px;display:flex;position:sticky;top:0}.main-content{padding:12px 12px 48px}}main{padding:0}h1{margin:0 0 8px}.card{background:#fff;border:1px solid #d1d5db;border-radius:8px;min-width:0;max-width:100%;margin:16px 0;padding:16px}.row{flex-wrap:wrap;gap:12px;display:flex}label{margin-bottom:6px;font-size:14px;font-weight:600;display:block}input,select,textarea,button{font:inherit}input,select,textarea{background:#fff;border:1px solid #9ca3af;border-radius:6px;width:100%;padding:8px 10px}input[type=checkbox],input[type=radio]{width:auto;min-width:0}input[type=file]{background:0 0;border:0;border-radius:0;width:auto;min-width:0;max-width:100%;padding:0}button{color:#fff;cursor:pointer;background:#0f766e;border:0;border-radius:6px;padding:10px 14px}button:disabled{opacity:.6;cursor:not-allowed}pre{white-space:pre-wrap;word-break:break-word;color:#e5e7eb;background:#0b1220;border-radius:8px;padding:12px;overflow:auto}.badge{text-transform:uppercase;letter-spacing:.04em;border-radius:12px;padding:2px 9px;font-size:11px;font-weight:700;display:inline-block}.badge-pending{color:#92400e;background:#fef3c7}.badge-approved{color:#065f46;background:#d1fae5}.badge-scheduled{color:#1e40af;background:#dbeafe}.badge-published{color:#4c1d95;background:#ede9fe}.badge-rejected{color:#991b1b;background:#fee2e2}.badge-info{color:#0369a1;background:#e0f2fe}.prompt-box{color:#e2e8f0;white-space:pre-wrap;word-break:break-word;resize:vertical;background:#1e293b;border:1px solid #334155;border-radius:6px;width:100%;min-height:72px;padding:10px 12px;font-family:Consolas,Menlo,monospace;font-size:13px;line-height:1.5}.chips{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.chip{color:#0369a1;background:#e0f2fe;border-radius:14px;padding:2px 10px;font-size:12px}.btn-approve{background:#059669}.btn-reject{background:#dc2626}.btn-neutral{background:#6b7280}.btn-sm{padding:6px 10px;font-size:13px}.switch-row{color:#374151;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;margin:0;font-size:13px;font-weight:600;display:flex}.switch-row input{opacity:0;pointer-events:none;position:absolute}.switch-track{background:#d1d5db;border-radius:999px;flex:none;width:38px;height:22px;transition:background .15s;position:relative}.switch-track:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #00000040}.switch-row input:checked+.switch-track{background:#0f766e}.switch-row input:checked+.switch-track:after{transform:translate(16px)}.switch-row input:focus-visible+.switch-track{outline-offset:2px;outline:2px solid #2563eb}.generate-action-row{align-items:flex-end;gap:12px;display:flex}.generate-mobile-row{flex-direction:column;justify-content:flex-end;padding-bottom:8px;display:flex}.section-head{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;margin-bottom:12px;display:flex}.section-head h2{margin:0}.metrics-last-collected{color:#6b7280;white-space:nowrap;font-size:12px}.table-scroll{-webkit-overflow-scrolling:touch;width:100%;min-width:0;max-width:100%;overflow-x:auto}.table-scroll table{min-width:720px}.posts-list-scroll{resize:vertical;height:520px;min-height:260px;max-height:75vh}.posts-list-scroll thead th{z-index:1;background:#fff;position:sticky;top:0}.mobile-stack{gap:12px;display:grid}.mobile-grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.toolbar-wrap{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.truncate{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.break-anywhere{overflow-wrap:anywhere;word-break:break-word}.section-actions{min-width:0;max-width:100%;margin-left:auto}.attribution-filters{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.attribution-date-field{min-width:160px;min-inline-size:0}.attribution-date-field input{inline-size:100%;min-width:0;min-inline-size:0;max-width:100%;max-inline-size:100%;display:block}@media (max-width:768px){.main-content>*,.card>*,.section-head>*{min-width:0;max-width:100%}.card{margin:12px 0;padding:12px}.section-head{align-items:flex-start;gap:8px 10px}.section-head h2{flex-basis:100%;font-size:18px;line-height:1.25}.section-actions{width:100%;margin-left:0}.attribution-filters{align-items:flex-start}.attribution-date-field{flex:0 150px;width:150px;min-width:0}.attribution-date-field input{width:150px;inline-size:150px;max-width:100%;max-inline-size:100%}.toolbar-wrap{width:100%}.mobile-grid-2{grid-template-columns:1fr}.row>*{min-width:0}button{min-height:38px}.generate-action-row{flex-direction:column;flex-basis:100%;align-items:stretch;gap:8px;width:100%}.generate-action-row button{width:100%}.generate-mobile-row{flex-basis:100%;width:100%;padding-bottom:0}.reel-upload-control{flex:100%;justify-content:flex-start;max-width:100%;margin-left:0!important}.reel-upload-control input[type=file]{width:100%;max-width:100%;font-size:11px}}.numbered-list{margin:0;padding:0;list-style:none}.numbered-list li{align-items:flex-start;gap:8px;margin-bottom:10px;display:flex}.numbered-list .idx{color:#6b7280;min-width:22px;padding-top:8px;font-weight:700}.prompt-row{align-items:flex-start;gap:8px;margin-bottom:8px;display:flex}.prompt-row textarea{flex:1}.ok-text{color:#059669;font-weight:600}.err-text{color:#dc2626}
