.record-table { min-width:790px; }
.project-delete { height:27px; padding:0 8px; color:#9b5d54; border:1px solid #ead8d3; border-radius:3px; background:#fffafa; font-size:9px; white-space:nowrap; }
.project-delete:hover { color:#803f36; border-color:#d7b6ae; background:#fff4f1; }
.project-record { cursor:pointer; transition:background .15s ease; }
.project-record:hover,.project-record:focus { outline:0; background:#fafcf6; }
.project-actions { display:flex; gap:6px; align-items:center; }
.project-batch-controls{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-left:auto;color:#7a8378;font-size:10px}.project-batch-controls label{display:flex;align-items:center;gap:5px;white-space:nowrap}.project-batch-controls select,.project-row-category{height:29px;padding:0 7px;color:#566052;border:1px solid #dbe1d8;border-radius:3px;background:#fff;font-size:10px}.project-batch-controls button:disabled{cursor:not-allowed;opacity:.55}.project-batch-select-all{padding:0 2px}.project-batch-select-all input,.project-selection-cell input,.project-selection-column input{accent-color:#7da935}.project-selection-column,.project-selection-cell{width:34px;padding-right:4px!important;text-align:center}.project-row-category{max-width:122px}.record-table td:has(.project-row-category){min-width:126px}@media(max-width:900px){.library-toolbar:has(.project-batch-controls){align-items:flex-start;flex-direction:column}.project-batch-controls{width:100%;margin-left:0}}
.project-title-cell{max-width:360px;min-width:220px}.project-title-cell b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-title-cell small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-history-title-only{padding:15px 16px}.project-history-title-only>div{min-width:0}
.project-history-button { height:27px; padding:0 8px; color:#617944; border:1px solid #d7e5bd; border-radius:3px; background:#f7fbef; font-size:9px; white-space:nowrap; }
.project-history-button:hover { color:#466027; border-color:#bcd596; background:#eff8df; }
.project-resume-button{display:inline-flex;height:27px;box-sizing:border-box;align-items:center;padding:0 8px;color:#fff;border:1px solid #566e37;border-radius:3px;background:#617c40;font-size:9px;text-decoration:none;white-space:nowrap}.project-resume-button:hover{background:#49642c}
.project-history-dialog { width:min(1040px,calc(100vw - 34px)); max-height:min(840px,calc(100vh - 34px)); overflow:hidden; padding:0; color:#313830; border:1px solid #dfe5d8; border-radius:7px; box-shadow:0 22px 70px rgba(34,43,30,.26); background:#f8faf5; }
.project-history-dialog::backdrop { background:rgba(30,36,29,.46); backdrop-filter:blur(2px); }
.project-history-heading { display:flex; justify-content:space-between; align-items:center; min-height:78px; padding:14px 22px; border-bottom:1px solid #e1e6dc; background:#fff; }
.project-history-heading p { margin:0 0 5px; color:#91a951; font:9px "DM Mono",monospace; letter-spacing:1px; }
.project-history-heading h2 { margin:0; color:#2d352d; font-size:17px; }
.project-history-heading button { width:30px; height:30px; color:#717a70; border:1px solid #dfe4dc; border-radius:3px; background:#fff; font-size:19px; line-height:1; }
.project-history-body { max-height:calc(min(840px,calc(100vh - 34px)) - 78px); overflow:auto; padding:19px 22px 28px; }
.project-history-overview { display:flex; gap:14px; align-items:center; margin-bottom:16px; padding:13px; border:1px solid #e0e6d9; border-radius:4px; background:#fff; }
.project-history-cover img,.project-history-cover .project-cover-fallback { display:block; width:140px; height:78px; object-fit:cover; border-radius:3px; }
.project-history-overview span,.project-history-overview b,.project-history-overview small { display:block; }
.project-history-overview span { margin-bottom:5px; color:#94a08c; font-size:9px; }
.project-history-overview b { color:#3c473b; font-size:13px; }
.project-history-overview small { margin-top:7px; color:#929a90; font-size:10px; }
.history-version-list { display:flex; flex-direction:column; gap:10px; }
.history-version { overflow:hidden; border:1px solid #dee5d8; border-radius:4px; background:#fff; }
.history-version summary { display:flex; justify-content:space-between; align-items:center; padding:13px 15px; cursor:pointer; list-style:none; }
.history-version summary::-webkit-details-marker { display:none; }
.history-version summary b,.history-version summary span { display:block; }
.history-version summary b { color:#46543f; font-size:11px; }
.history-version summary span { margin-top:4px; color:#9aa298; font-size:9px; }
.history-version summary i { color:#82956d; font-size:16px; font-style:normal; transition:transform .15s ease; }
.history-version[open] summary { border-bottom:1px solid #e8ede4; background:#fbfcf9; }
.history-version[open] summary i { transform:rotate(180deg); }
.history-version-content { display:flex; flex-direction:column; gap:16px; padding:15px; }
.history-version-content section h3 { margin:0 0 9px; color:#55604f; font-size:11px; }
.history-version-content section h3 span { margin-left:5px; color:#9aa198; font-size:9px; font-weight:400; }
.history-data-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin:0; border:1px solid #ebeee8; border-radius:3px; overflow:hidden; }
.history-data-grid>div { min-height:61px; padding:10px; border-right:1px solid #ebeee8; border-bottom:1px solid #ebeee8; }
.history-data-grid>div:nth-child(3n) { border-right:0; }
.history-data-grid>div:nth-last-child(-n+3) { border-bottom:0; }
.history-data-grid dt { color:#98a097; font-size:9px; }
.history-data-grid dd { margin:6px 0 0; color:#586355; font-size:10px; line-height:1.5; word-break:break-word; }
.history-pair { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.history-data-grid.compact { grid-template-columns:repeat(2,minmax(0,1fr)); }
.history-data-grid.compact>div:nth-child(3n) { border-right:1px solid #ebeee8; }
.history-data-grid.compact>div:nth-child(2n) { border-right:0; }
.history-data-grid.compact>div:nth-last-child(-n+3) { border-bottom:1px solid #ebeee8; }
.history-data-grid.compact>div:nth-last-child(-n+2) { border-bottom:0; }
.history-settings { margin:0; padding:10px; color:#63705e; border-radius:3px; background:#f4f8ee; font-size:10px; line-height:1.6; }
.history-link-row{display:grid;grid-template-columns:90px minmax(180px,max-content) 1fr;align-items:center;gap:10px;padding:10px;border:1px solid #e5eadf;border-radius:3px;background:#fbfcfa;font-size:10px}.history-link-row span{color:#8b9588}.history-link-row a,.history-video-links a{color:#557b2e;text-decoration:none}.history-link-row small{overflow:hidden;color:#929b8e;text-overflow:ellipsis;white-space:nowrap}.history-asset-links{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin-top:9px}.history-asset-links a{min-width:0;padding:9px;color:#596555;border:1px solid #e3e9dd;border-radius:3px;background:#fbfcfa;text-decoration:none}.history-asset-links span,.history-asset-links b{display:block}.history-asset-links span{color:#98a194;font-size:8px}.history-asset-links b{overflow:hidden;margin-top:4px;text-overflow:ellipsis;white-space:nowrap;font-size:9px}.history-subtitle{margin-top:15px!important}.history-prompt-list{display:grid;gap:7px}.history-prompt-list details{border:1px solid #e2e8dc;border-radius:3px;background:#fbfcfa}.history-prompt-list summary{padding:9px 10px;color:#596653;cursor:pointer;font-size:9px}.history-prompt-list summary span{float:right;color:#92a084}.history-prompt-list pre{max-height:240px;overflow:auto;margin:0;padding:11px;color:#566052;border-top:1px solid #e8ede4;background:#fff;white-space:pre-wrap;word-break:break-word;font:9px/1.65 "DM Mono",monospace}.history-video-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:9px}.history-video-links article{min-width:0;padding:10px;border:1px solid #e2e8dd;border-radius:3px;background:#fff}.history-video-links article>div{display:flex;align-items:flex-start;justify-content:space-between;gap:7px}.history-video-links b{overflow:hidden;color:#4d5949;text-overflow:ellipsis;white-space:nowrap;font-size:9px}.history-video-links small,.history-video-links a{display:block;margin-top:8px;font-size:9px}.history-generation-status{flex:none;padding:2px 5px;border-radius:8px;background:#f0f2ed;color:#788172;font-size:8px}.history-generation-status.success{color:#4d7c29;background:#edf7e2}.history-generation-status.failed{color:#b94639;background:#fff0ee}.history-report-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}.history-report-list span{padding:6px 8px;border-radius:3px;background:#f6f8f3;color:#74806e;font-size:8px}
.history-shot-table-wrap { overflow:auto; border:1px solid #e7ece4; border-radius:3px; }
.history-shot-table { width:100%; min-width:650px; border-collapse:collapse; text-align:left; }
.history-shot-table th { padding:9px 10px; color:#838d80; background:#fafcf8; font-size:9px; font-weight:600; }
.history-shot-table td { max-width:250px; padding:10px; color:#596456; border-top:1px solid #edf0ea; font-size:9px; line-height:1.55; vertical-align:top; }
.history-shot-table td:first-child { color:#8aa45d; font:10px "DM Mono",monospace; }
.history-shot-table small { display:block; margin-top:4px; color:#9da69a; font-size:8px; }
.history-empty,.history-empty-panel { margin:0; padding:16px; color:#9aa29a; border:1px dashed #dfe5db; border-radius:3px; background:#fbfcfa; font-size:10px; text-align:center; }
.history-empty-panel { padding:42px 16px; }
.history-report-list a{padding:6px 8px;border-radius:3px;background:#f6f8f3;color:#557b2e;font-size:8px;text-decoration:none}.history-report-list a:hover{background:#eef6e5}
@media(max-width:700px) { .project-actions { flex-direction:column; align-items:stretch; } .project-history-body { padding:14px; } .project-history-overview { align-items:flex-start; } .project-history-cover img,.project-history-cover .project-cover-fallback { width:96px; height:55px; } .history-data-grid,.history-pair,.history-asset-links,.history-video-links { grid-template-columns:1fr; } .history-link-row{grid-template-columns:1fr}.history-data-grid>div,.history-data-grid>div:nth-child(3n),.history-data-grid>div:nth-last-child(-n+3),.history-data-grid.compact>div,.history-data-grid.compact>div:nth-child(2n),.history-data-grid.compact>div:nth-last-child(-n+3) { border-right:0; border-bottom:1px solid #ebeee8; } .history-data-grid>div:last-child,.history-data-grid.compact>div:last-child { border-bottom:0; } }
.project-compact-time{white-space:nowrap;font:10px "DM Mono",monospace!important}.record-table td:has(.project-compact-time){width:98px;min-width:98px}
.project-view-tabs{display:flex;gap:6px;margin-bottom:13px;padding:4px;border:1px solid #e0e6dc;border-radius:5px;background:#f7f9f4;width:max-content}.project-view-tabs a{padding:8px 14px;color:#788174;border-radius:3px;font-size:10px;text-decoration:none}.project-view-tabs a.active{color:#405425;background:#fff;box-shadow:0 1px 5px rgba(43,55,34,.08);font-weight:700}.project-batch-delete,.asset-batch-delete{height:29px;padding:0 9px;color:#9b5147;border:1px solid #e4c8c2;border-radius:3px;background:#fff8f6;font-size:10px}.project-batch-delete:disabled,.asset-batch-delete:disabled{cursor:not-allowed;opacity:.5}.batch-project-status{display:inline-flex;padding:5px 8px;border-radius:12px;color:#687366;background:#eff2ec;font-size:9px;white-space:nowrap}.batch-project-status.completed{color:#4d7d28;background:#edf7e2}.batch-project-status.failed{color:#a9483f;background:#fff0ee}.batch-project-status.running{color:#6b6731;background:#f8f3d9}.batch-project-status.partial{color:#9a682b;background:#fff3df}
