/* Original console layout, independently implemented for the new components. */
.nav-tools{margin-top:10px}.nav-tools summary{padding:10px 12px;font-size:13px;color:#64748b;cursor:pointer;list-style:none}.nav-tools summary::after{content:'⌄';float:right;color:#94a3b8}.nav-tools[open] summary::after{content:'⌃'}.nav-tools button{width:100%;padding-left:20px!important}
:root{--bg:#f8fafc;--ink:#334155;--muted:#94a3b8;--line:#edf0f5;--green:#3b82f6;--mint:#eff6ff;--red:#b9433c;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}
.workspace{display:block}.sidebar{width:256px;padding:12px 16px 0;background:#fff;color:#4b5563;border-right:1px solid #f1f3f6;z-index:30;overflow-y:auto;transition:transform .18s}
.sidebar nav{gap:3px;flex:1}.sidebar nav button{padding:10px 12px;border-radius:8px;font-size:17px;gap:13px;color:#556171;min-height:40px}
.sidebar nav button span{font-size:14px}.sidebar nav button:hover{background:#f8fafc;color:#334155}.sidebar nav button.active{background:#eff4ff;color:#4f68cc}
.sidebar{padding-top:24px}.sidebar nav{gap:0}.sidebar nav button{height:40px;min-height:40px;line-height:20px;gap:12px}.sidebar nav button span{line-height:20px;font-weight:500}.sidebar nav [data-page=notifications],.sidebar nav [data-page=accounts],.sidebar nav [data-page=system]{margin-bottom:4px}
.nav-caption{color:#9ca3af;font-size:12px;font-weight:600;letter-spacing:0;padding:0 12px 8px;height:24px;line-height:16px}.nav-caption:not(:first-child){margin-top:20px}.sidebar-bottom{border-top:1px solid #f1f3f6;text-align:center;padding:12px 0;color:#9ca3af;font-size:10px;line-height:14px;margin:8px -16px 0}.sidebar-bottom a{margin-top:6px;color:#9ca3af}
main{margin-left:256px;width:calc(100% - 256px);padding:0;max-width:none;min-width:0}.topbar{height:70px;min-height:70px;padding:0 26px;border-bottom:1px solid #edf1f5;background:#fff;gap:16px;position:sticky;top:0;z-index:15}
.heading-group{flex:1;min-width:0}.heading-group h1{font-size:20px;letter-spacing:0;font-weight:600;color:#1f2937}.heading-group p{font-size:12px;color:#9ca3af;margin-top:4px}.menu-toggle{border:0;background:transparent;color:#4b5563;font-size:16px;padding:4px;cursor:pointer}.top-actions{gap:9px}.user-pill{background:#f4f6f9;font-size:11px;padding:6px 10px}.top-actions .button{padding:7px 10px}
#view{padding:24px;min-height:calc(100vh - 124px)}footer{padding:18px 24px;font-size:10px;color:#a5adba;letter-spacing:0}.panel{border-radius:10px;border-color:#e9edf3;box-shadow:0 2px 8px #0f172a04;padding:20px;margin-bottom:20px}.panel-title{margin-bottom:22px}.panel h3{font-size:15px;color:#374151}.button{font-weight:500;font-size:12px;border:0;background:#f3f5f9;color:#64748b;padding:10px 16px;border-radius:6px}.button.primary{background:#3b82f6;color:#fff}.button.danger{background:#fef2f2;color:#b9433c}.button.ghost{background:transparent}.form-actions{justify-content:flex-start;border-top:0;margin-top:22px}.form-actions .primary{min-width:120px}
input,select,textarea{border-color:#e2e8f0;border-radius:7px;font-size:13px;min-width:0}label{font-size:13px;font-weight:500;color:#475569}.form-grid{gap:22px 26px;max-width:1080px;grid-template-columns:repeat(2,minmax(0,1fr))}.form-stack{gap:20px}.toolbar{gap:12px}.toolbar label{font-size:11px}.toolbar input{min-width:150px}.hint{color:#9ca3af}.notice{background:#eff6ff;border-color:#93b4f5;color:#64748b}.empty{padding:54px 20px}.empty strong{font-size:13px;color:#9ca3af;font-weight:400}.empty-mark{font-size:20px;color:#a0a8b4}.empty p{font-size:12px}
.resource-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.resource-card{box-shadow:0 1px 4px #0f172a05;border-color:#edf0f5;border-radius:10px}.resource-image{height:200px;object-fit:cover}.resource-body{padding:16px}.resource-body h3{font-size:14px;color:#374151;font-weight:550}.resource-body .actions{margin-top:12px}.card-placeholder{background:#f1f5f9;color:#bac5d1}.account-card{border-color:#e9edf3;border-radius:10px}.account-icon{background:#eff6ff;color:#3b82f6}.account-head .tag{color:#5b73b8;background:#eff6ff}.tag{letter-spacing:0;background:#f1f5f9;color:#64748b}.tag.succeeded,.tag.uploaded{background:#ecfdf5;color:#16a36c}.tag.open{color:#4f6cc7;background:#eef2ff}
.drama-cover{position:relative;height:200px;background:#f1f5f9;overflow:hidden}.drama-cover .resource-image{position:absolute;inset:0;width:100%;height:100%}.drama-cover .card-placeholder{height:100%;font-size:12px}.drama-pager{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-start;align-items:center;margin:18px 0}.drama-pager .button{min-width:34px;padding:8px 10px}.page-summary{margin:0 4px}.page-jump{display:flex;gap:6px;align-items:center;margin-left:auto}.page-jump label{flex-direction:row;align-items:center;gap:8px;white-space:nowrap}.page-jump input{width:68px;min-width:0;padding:6px 8px;min-height:34px}.drama-pager button:disabled{cursor:default}
.hero{background:#eff6ff;border-color:#e3ecff;border-radius:10px}.hero h2{color:#334155}.hero p{color:#64748b}.hero-art{color:#93b4ed}.stat-card{border-color:#e9edf3}.cards{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}.channel-row{background:#f9fafc;border-color:#edf0f5}.form-note,.log{background:#f8fafc;color:#64748b}.tabs button.active{background:#eff6ff;color:#3b82f6}.toast{background:#334155}.toast.bad{background:#a44740}dialog{border-radius:12px;box-shadow:0 20px 70px #0f172a25}dialog::backdrop{background:#0f172a55;backdrop-filter:none}.qr-box img{max-width:100%;height:auto}
.failures-panel{padding:0}.failure-heading{padding:16px;display:flex;align-items:center;justify-content:space-between;gap:15px;background:#fffdfd;border-bottom:1px solid #edf0f5}.failure-heading h3{color:#b4493e}.failure-heading p{margin-top:6px;font-size:11px}.failure-summary{padding:12px 16px;display:flex;align-items:center;justify-content:space-between;background:#fafbfd;border-bottom:1px solid #edf0f5}.failure-summary .tag{background:#fff1f1;color:#b4493e}.metadata-art img{display:block;max-width:100%;max-height:420px;object-fit:contain;margin:12px auto;border-radius:8px}.metadata-art h3{font-size:12px;color:#94a3b8}.source-url{overflow-wrap:anywhere}.data-table td{overflow-wrap:anywhere}.login-brand h1{color:#334155}.login-card{border-color:#e2e8f0}.login-brand .wordmark b{color:#638ac9;border-color:#b7c9e7}
.sidebar-collapsed .sidebar{transform:translateX(-100%)}.sidebar-collapsed main{margin-left:0;width:100%}#sidebar-overlay{position:fixed;inset:0;border:0;background:#0f172a55;z-index:25}
@media(min-width:1600px){.resource-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.failure-heading p{font-size:10px;line-height:14px}.failure-summary{padding:8px 16px}.failure-summary .check-label{margin:0;font-size:11px;gap:7px}.failures-panel .empty{padding:52px 20px}.failures-panel .empty-mark{display:inline-block;font-size:14px;margin:0 8px 0 0}.failures-panel .empty strong{display:inline;font-size:12px}.failures-panel .empty p{display:none}
@media(max-width:1100px){.grid-three,.resource-grid,.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar{padding:0 20px}#view{padding:20px}}
@media(max-width:760px){.sidebar{position:fixed;inset:0 auto 0 0;width:256px;padding:12px 16px 0;transform:translateX(-100%)}.sidebar nav{flex-direction:column;flex-wrap:nowrap;margin:0;gap:3px}.sidebar nav button{padding:10px 12px;font-size:17px;gap:13px}.sidebar nav button span{font-size:14px}.nav-caption,.sidebar-bottom{display:block}.mobile-menu-open .sidebar{transform:translateX(0)}main,.sidebar-collapsed main{width:100%;margin-left:0}.topbar{height:66px;padding:0 14px;gap:10px}.heading-group h1{font-size:17px}.heading-group p{font-size:11px}.top-actions .user-pill{display:none}#view{padding:16px}.form-grid,.grid-two,.grid-three,.resource-grid{grid-template-columns:minmax(0,1fr)}.panel{padding:18px}.failures-panel{padding:0}.failure-heading{align-items:flex-start;flex-direction:column}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-card{padding:16px}.resource-image{height:220px}.login-page{padding:24px}.heading-group{overflow:hidden}.heading-group h1{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.metadata-art img{max-height:320px}}

.scrape-task-card h3{margin:16px 0}.task-path{overflow-wrap:anywhere;white-space:pre-wrap}.scrape-task-card progress{width:100%;height:8px;accent-color:#3b82f6}.scrape-task-card .actions{margin-top:16px}
