:root{--dk-bg:#1a1a2e;--dk-surface:#16213e;--dk-surface-alt:#1e2e4a;--dk-input:#0f1828;--dk-text:#e0e0e0;--dk-text-dim:#b0bec5;--dk-text-muted:#89b;--dk-text-soft:#94a3b8;--dk-text-faint:#a0b0c8;--dk-placeholder:#6b7280;--dk-border:#2a3a5c;--dk-accent:#4a90d9;--dk-success:#22c55e;--dk-warn:#f59e0b;--dk-danger:#ef4444}*{box-sizing:border-box}html,body{background:var(--dk-bg);color:var(--dk-text);margin:0;padding:0;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.app-layout{min-height:100vh;display:flex}.sidebar{background:var(--dk-bg);width:220px;color:var(--dk-text);flex-direction:column;flex-shrink:0;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{background:var(--dk-bg);width:100%;color:var(--dk-text);z-index:10;justify-content:flex-start;align-items:center;gap:12px;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{background:var(--dk-accent);color:#fff;cursor:pointer;border:0;border-radius:6px;padding:8px 16px;font-size:14px}button:disabled{opacity:.45;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-warning{background:#b45309}.btn-neutral{background:var(--dk-surface-alt);border:1px solid var(--dk-border)}.btn-ghost{color:var(--dk-text-dim);background:0 0;border:1px solid #0000}.btn-ghost:hover:not(:disabled){border-color:var(--dk-border);color:var(--dk-text)}.btn-sm{padding:5px 10px;font-size:12px}.dark-page button{color:#fff!important}.dark-page .btn-neutral{color:var(--dk-text)!important}.dark-page .btn-ghost{color:var(--dk-text-dim)!important}.dark-page .btn-ghost:hover:not(:disabled){color:var(--dk-text)!important}.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:var(--dk-text-faint);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}.dark-page{background:var(--dk-bg);color:var(--dk-text);border-radius:10px;margin-top:8px;padding:8px 12px 24px}.dark-page .card{color:var(--dk-text);background:var(--dk-surface)!important;border-color:var(--dk-border)!important}.dark-page h2,.dark-page strong{color:var(--dk-text)}.dark-page label,.dark-page .switch-row{color:var(--dk-text-dim)}.dark-page input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]),.dark-page select,.dark-page textarea{background:var(--dk-input)!important;border-color:var(--dk-border)!important;color:var(--dk-text)!important}.dark-page input::placeholder,.dark-page textarea::placeholder{color:var(--dk-placeholder)}.dark-page .posts-list-scroll thead th{background:var(--dk-surface);color:var(--dk-text-muted)}.dark-page .chip{color:#93c5fd;background:#1e3050}.dark-page .badge-pending{color:#fde047;background:#3d2600}.dark-page .badge-approved{color:#4ade80;background:#052e16}.dark-page .badge-scheduled{color:#93c5fd;background:#1e3a5f}.dark-page .badge-published{color:#c4b5fd;background:#2e1065}.dark-page .badge-rejected{color:#fca5a5;background:#3b0f0f}.dark-page .badge-info{color:#7dd3fc;background:#0c2340}@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{min-width:22px;color:var(--dk-text-faint);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}
