.lib { max-width: 1450px; margin: auto; }
.lib-head,.lib-reviews>header { display:flex; justify-content:space-between; align-items:center; gap:20px; margin:8px 0 24px; }
.lib h1 { margin:0 0 7px; font-size:32px; letter-spacing:-.04em; }
.lib p,.lib small { color:var(--lab-sub,#76736d); line-height:1.5; }
.lib-head p,.lib-reviews p { margin:5px 0; font-size:13px; }
.lib-btn,.review-public button,.review-public .review-download { display:inline-flex; align-items:center; justify-content:center; gap:6px; min-height:36px; padding:8px 12px; border:1px solid var(--lab-line,#ddd9d0); border-radius:8px; background:var(--panel,#fff); color:var(--text,#201f1b); box-shadow:none; font:inherit; font-size:12px; font-weight:650; cursor:pointer; text-decoration:none; }
.lib-btn:disabled,.review-public button:disabled { opacity:.45; cursor:default; }
.lib-btn.lib-primary,.review-public button.review-primary { background:var(--accent,#e8c560); color:#221e12; border-color:var(--accent,#e8c560); }
.lib-layout { display:grid; grid-template-columns:210px minmax(0,1fr); gap:24px; }
.lib-folders { display:flex; flex-direction:column; align-items:stretch; gap:5px; }
.lib-folders>.eyebrow { margin:10px 12px; }
.lib-folder { display:flex; justify-content:space-between; gap:8px; background:transparent; border:0; padding:11px 12px; border-radius:8px; color:var(--lab-sub,#76736d); text-align:left; font-size:12px; cursor:pointer; }
.lib-folder span { overflow:hidden; text-overflow:ellipsis; }
.lib-folder.active { background:var(--panel,#fff); color:var(--text,#201f1b); box-shadow:inset 0 0 0 1px var(--lab-line,#ddd9d0); }
.lib-folder b { font-size:11px; }
.lib-folders>a { margin:20px 12px; font-size:12px; color:var(--lab-sub,#76736d); }
.lib-filters { display:flex; align-items:end; gap:12px; margin-bottom:15px; }
.lib-filters label { display:grid; gap:6px; margin:0; font-size:11px; color:var(--lab-sub,#76736d); }
.lib-filters label:first-child { flex:1; }
.lib-filters input,.lib-filters select { min-height:37px; margin:0; }
.lib-selection { min-height:53px; display:flex; align-items:center; flex-wrap:wrap; gap:8px; padding:10px 12px; background:var(--panel,#fff); border:1px solid var(--lab-line,#ddd9d0); border-radius:10px 10px 0 0; font-size:11px; }
.lib-selection>span { margin-right:6px; font-weight:700; }
.lib-selection small { width:100%; }
.lib-files { border:1px solid var(--lab-line,#ddd9d0); border-top:0; border-radius:0 0 10px 10px; overflow:hidden; }
.lib-file { display:flex; align-items:center; gap:13px; padding:13px; background:var(--panel,#fff); }
.lib-file+.lib-file { border-top:1px solid var(--lab-line,#ddd9d0); }
.lib-check { margin:0; padding:5px 0; }
.lib-check input { width:16px; height:16px; margin:0; accent-color:var(--accent,#bca047); }
.lib-preview { width:100px; height:68px; flex-shrink:0; background:#1d1c19; border-radius:6px; overflow:hidden; display:grid; place-items:center; color:#ddd; font-size:11px; }
.lib-preview video { width:100%; height:100%; object-fit:contain; }
.lib-file-info { display:grid; gap:5px; flex:1; min-width:0; }
.lib-file-info strong { font-size:12px; overflow-wrap:anywhere; }
.lib-file-info small { font-size:11px; }
.lib-stage { color:var(--lab-sub,#76736d); font-size:10px; }
.lib-file-actions { display:flex; align-items:center; gap:8px; }
.lib-file-actions summary { color:var(--lab-sub,#76736d); cursor:pointer; font-size:11px; }
.lib-file-actions details[open] { display:grid; gap:6px; }
.lib-file-actions details[open] .lib-btn { display:block; margin-top:6px; }
.lib-empty { text-align:center; padding:45px 20px; color:var(--lab-sub,#76736d); font-size:13px; }
.lib-reviews { margin-top:36px; padding-top:24px; border-top:1px solid var(--lab-line,#ddd9d0); }
.lib-reviews h2 { font-size:20px; margin:0; }
.lib-batch { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:16px; margin-top:10px; background:var(--panel,#fff); border:1px solid var(--lab-line,#ddd9d0); border-radius:10px; }
.lib-batch>div:first-child { display:grid; gap:6px; }
.lib-batch strong { font-size:13px; }
.lib-batch span,.lib-batch small { font-size:11px; }
.lib-batch>div:last-child { display:flex; flex-wrap:wrap; gap:7px; }
.lib-feedback { display:grid; gap:6px; padding:15px 0; border-bottom:1px solid var(--lab-line,#ddd9d0); }
.lib-feedback p { margin:0; white-space:pre-wrap; overflow-wrap:anywhere; }
.lib-selected-names { max-height:220px; overflow:auto; font-size:13px; }
.lib-error { color:#b34c39!important; }
.review-public { color:#282622; background:#f5f3ed; margin:0; font:14px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.review-public * { box-sizing:border-box; }
.review-public main { max-width:1160px; padding:42px 24px 70px; margin:auto; }
.review-public h1 { font-size:clamp(26px,4vw,40px); letter-spacing:-.045em; margin:8px 0; overflow-wrap:anywhere; }
.review-public h2 { font-size:16px; margin:0; overflow-wrap:anywhere; }
.review-public p { color:#716c62; }
.review-public .review-brand { font-weight:800; font-size:13px; letter-spacing:.05em; }
.review-public header { margin-bottom:25px; }
.review-public .review-tools { display:flex; gap:12px; align-items:center; flex-wrap:wrap; padding:15px 0; }
.review-public label { display:grid; gap:6px; font-size:12px; }
.review-public input,.review-public textarea,.review-public select { border:1px solid #d8d3c8; border-radius:7px; padding:9px 10px; color:#282622; background:white; font:inherit; width:100%; }
.review-public .review-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; align-items:start; }
.review-public article { border:1px solid #dfdacd; border-radius:13px; background:white; overflow:hidden; }
.review-public video { width:100%; height:280px; background:#191815; object-fit:contain; display:block; }
.review-public .review-card-body { display:grid; gap:13px; padding:18px; }
.review-public .review-meta { display:flex; justify-content:space-between; align-items:center; gap:14px; }
.review-public .review-meta small { color:#817b6f; }
.review-public form { display:grid; gap:10px; }
.review-public textarea { min-height:90px; resize:vertical; }
.review-public .review-actions { display:flex; align-items:center; gap:10px; }
.review-public .review-note { font-size:12px; margin:0; }
.review-public .review-status { padding:10px 12px; background:#f5f3ed; border-radius:7px; font-size:12px; white-space:pre-wrap; overflow-wrap:anywhere; }
.review-public .review-status.changes { background:#fff0df; }
.review-public .review-status.approved { background:#edf5e5; }
.review-public .review-message { min-height:20px; font-size:12px; color:#726442; }
.review-public .review-message.error { color:#a53828; }
.review-public .review-empty { padding:60px 0; text-align:center; }
.review-public :focus-visible,.lib :focus-visible { outline:2px solid #b79842; outline-offset:3px; }
@media(max-width:850px) { .lib-layout { grid-template-columns:1fr; gap:15px; } .lib-folders { flex-direction:row; overflow:auto; } .lib-folders>.eyebrow,.lib-folders>a { display:none; } .lib-folder { white-space:nowrap; flex-shrink:0; } .lib-batch { align-items:start; flex-direction:column; } }
@media(max-width:600px) { .lib-head { align-items:start; } .lib-head h1 { font-size:27px; } .lib-filters { flex-wrap:wrap; } .lib-filters label:first-child { flex-basis:100%; } .lib-file { flex-wrap:wrap; } .lib-preview { width:76px; height:58px; } .lib-file-actions { margin-left:29px; } .lib-reviews>header { align-items:start; } .review-public main { padding:26px 16px 45px; } .review-public .review-grid { grid-template-columns:1fr; } .review-public video { height:300px; } }

/* Branded approval folders, keeping feedback beside each exact video. */
.review-public{background:#0c0b09;color:#f4f1e9}.review-public main{max-width:1440px}.review-public p{color:#aba699}.review-public .review-topline{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px;color:#a5a095}.review-public .review-brand{font-size:22px;letter-spacing:-1px;color:#f4f1e9}.review-dot{color:#ffe14d}.review-public article{background:#161512;border-color:#2b2924;border-radius:16px}.review-public .review-grid{grid-template-columns:repeat(auto-fit,minmax(265px,1fr));gap:20px}.review-public video{height:350px;background:#080807}.review-public input,.review-public textarea{background:#0d0c0b;border-color:#37332c;color:#f4f1e9}.review-public button,.review-public .review-download{background:#25221c;border:1px solid #39352d;color:#f4f1e9;border-radius:10px;padding:10px 14px;text-decoration:none;cursor:pointer}.review-public button:disabled{opacity:.45;cursor:default}.review-public .review-primary{background:#ffe14d;color:#18150b;border-color:#ffe14d}.review-public .review-status{background:#25221c;color:#c7c1b6}.review-public .review-status.approved{background:#183528;color:#8ae1ae}.review-public .review-status.changes{background:#3b2817;color:#efbd7c}.review-public .review-message{color:#c6b677}.review-public .review-filters{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px}.review-public .review-filters [aria-pressed=true]{border-color:#ffe14d;color:#ffe14d}.review-public .review-filters b{margin-left:7px}.review-public [hidden]{display:none!important}.review-public .review-actions{flex-wrap:wrap}@media(max-width:600px){.review-public .review-grid{grid-template-columns:1fr}.review-public video{height:350px}}
