
:root{--blue:#3864ed;--ink:#24314a;--muted:#909cb0;--line:#e8edf5}
*{box-sizing:border-box}
body{margin:0;background:#f3f6fb;color:var(--ink);font:14px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif}
button,input,textarea,select{font:inherit}
button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #bed0ff;outline-offset:2px}
header{background:#fff;border-bottom:1px solid var(--line)}
.header{max-width:1250px;margin:auto;padding:21px 30px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.brand{display:flex;align-items:center;gap:12px}.logo{display:grid;place-items:center;background:var(--blue);color:white;width:42px;height:42px;border-radius:13px;font-size:27px}
.brand strong{font-size:19px}.brand small{display:block;color:var(--muted);font-size:10px;letter-spacing:1px}
.preview{font-size:10px;border:1px solid #e1e8fb;padding:5px 10px;border-radius:20px;color:#7c8fb6;background:#f6f8ff;white-space:nowrap}
main{max-width:1250px;margin:auto;padding:30px}
h1{font-size:27px;margin:0 0 5px;letter-spacing:-.8px}.intro{font-size:12px;color:var(--muted);margin:0 0 25px}
.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:24px}
.metric{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 20px;display:flex;align-items:center;justify-content:space-between}
.metric span{font-size:11px;color:var(--muted)}.metric strong{display:block;font-size:26px;line-height:1.5;font-weight:650}
.metric-icon{background:#f0f4ff;border-radius:10px;height:36px;width:36px;display:grid;place-items:center;color:#7d96df;font-size:18px}
.layout{display:grid;grid-template-columns:330px minmax(0,1fr);gap:24px;align-items:start}
.panel{background:#fff;border:1px solid var(--line);border-radius:16px}
.form-panel{padding:24px;position:sticky;top:20px}
h2{font-size:16px;margin:0;font-weight:650}.sub{font-size:11px;color:var(--muted);margin:5px 0 21px}
.type-switch{display:flex;background:#f2f5fa;border-radius:9px;padding:4px;margin-bottom:22px}
.type-switch button{flex:1;background:none;border:0;color:#8290a5;padding:8px;border-radius:6px;font-size:12px}
.type-switch .selected{background:white;color:var(--blue);box-shadow:0 2px 5px #24366c0a;font-weight:650}
label{font-size:11px;color:#63728a;display:block;margin:17px 0 8px;font-weight:600}
input,textarea{width:100%;background:#fbfcfe;border:1px solid #dfe6f0;color:var(--ink);border-radius:8px;padding:11px 12px;outline:none;font-size:12px}
textarea{min-height:105px;resize:vertical}input::placeholder,textarea::placeholder{color:#a3aec0}
input:focus,textarea:focus{border-color:#93acf6}
.hint{font-size:10px;color:#9ba6b8;margin:6px 0 0}
.primary{width:100%;border:0;background:var(--blue);color:white;padding:12px;border-radius:8px;margin-top:23px;font-size:12px}
.form-note{border-top:1px solid var(--line);margin-top:23px;padding-top:16px;color:#95a0b2;font-size:10px;line-height:1.9}
.tasks{padding:23px 24px 0;overflow:hidden}
.task-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.task-heading small{font-size:10px;color:#95a2b7}
.search-wrap{position:relative;margin-top:18px}.search-wrap span{position:absolute;top:9px;left:12px;color:#a4b0c2;font-size:17px}.search-wrap input{padding-left:34px;height:38px;background:#fafbfd;font-size:11px}
.tabs{display:flex;border-bottom:1px solid var(--line);gap:23px;margin-top:18px}
.tabs button{border:0;background:none;color:#95a0b2;font-size:11px;padding:0 1px 11px;position:relative;white-space:nowrap}
.tabs .active{color:var(--blue);font-weight:650}.tabs .active:after{content:"";height:2px;background:var(--blue);position:absolute;bottom:0;left:0;right:0}
.task{padding:21px 0;border-bottom:1px solid #edf1f7}.task:last-child{border:0}
.task-top{display:flex;align-items:start;gap:11px}
.file-icon{width:35px;height:39px;background:#f0f4ff;color:#839be1;border-radius:8px;display:grid;place-items:center;font-size:17px;flex-shrink:0}
.file-icon.green{background:#edf9f3;color:#63b49b}.file-icon.gray{background:#f2f4f8;color:#a6b0c2}
.task-name{font-size:13px;font-weight:650;margin:0 0 4px}.meta{font-size:10px;color:#9ca7b9;display:flex;gap:8px;align-items:center}
.format{font-size:9px;color:#7b90ba;background:#f3f6fc;border:1px solid #e8edf6;border-radius:4px;padding:0 5px}
.task-text{flex:1;min-width:0}.status{font-size:10px;border-radius:5px;padding:3px 8px;white-space:nowrap;background:#edf2ff;color:#6785d6}
.status.done{color:#339577;background:#edf9f3}.status.paused{background:#f2f4f8;color:#8b97a9}
.progress-area{margin:15px 0 0 46px}.progress-title{display:flex;justify-content:space-between;font-size:10px;color:#95a1b4;margin-bottom:7px}.progress-title strong{color:#6986d2;font-size:11px;font-weight:600}
.track{height:5px;background:#edf1f7;border-radius:5px;overflow:hidden}.fill{height:100%;background:#547df0;border-radius:5px}.fill.green{background:#49b18f}.fill.gray{background:#b7c4dc}
.progress-bottom{display:flex;justify-content:space-between;font-size:10px;color:#a3acbc;margin-top:8px}
.actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px;flex-wrap:wrap}
.actions button{border-radius:6px;font-size:10px;padding:6px 10px;background:#fff;border:1px solid #e4eaf3;color:#8492a7}
.actions button:hover{background:#f6f8fc}.actions .blue{background:#edf2ff;color:#5678d8;border-color:#e3eaff}.actions .danger{color:#ba826d;border-color:#f1e6e0;background:#fffbf8}
.pagination{border-top:1px solid var(--line);margin:0 -24px;padding:17px 24px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fcfdff}
.page-info{font-size:10px;color:#96a2b6;display:flex;align-items:center;gap:9px}
select{border:1px solid #e0e6f0;border-radius:5px;background:#fff;padding:4px;color:#78869d;font-size:10px}
.page-buttons{display:flex;gap:5px;align-items:center}.page-buttons button{border:1px solid #e3e9f3;background:#fff;border-radius:5px;min-width:28px;height:28px;color:#8996aa;font-size:10px;padding:0 8px}
.page-buttons button.current{background:var(--blue);border-color:var(--blue);color:#fff}.page-buttons button:disabled{opacity:.4;cursor:default}
.empty{text-align:center;color:#9aa6b8;font-size:12px;padding:45px 10px}
footer{text-align:center;color:#a6afbf;font-size:10px;margin:25px 0 0}
dialog{border:1px solid #ffffff18;border-radius:17px;padding:0;background:#111827;color:#fff;width:min(900px,calc(100% - 32px));max-height:92vh;box-shadow:0 30px 100px #0008;overflow:auto}
dialog::backdrop{background:#111a2ad1;backdrop-filter:blur(5px)}
.player-head{padding:17px 20px;display:flex;align-items:center;justify-content:space-between;gap:15px;background:#182131;border-bottom:1px solid #ffffff09}
.player-title{font-size:14px;font-weight:600}.player-sub{font-size:10px;color:#8d9cb5;margin-top:3px}
.close{border:1px solid #ffffff15;border-radius:8px;background:#ffffff08;color:#a9b6ca;font-size:21px;width:32px;height:32px;display:grid;place-items:center;line-height:1}
.screen{aspect-ratio:16/9;position:relative;background:radial-gradient(ellipse at 35% 40%,#263857,transparent 65%),#0b111c}
video{width:100%;height:100%;position:absolute;inset:0;background:transparent}
.screen-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;pointer-events:none;padding-bottom:25px;text-align:center}
.play-symbol{width:65px;height:65px;border:1px solid #ffffff25;background:#ffffff06;border-radius:50%;display:grid;place-items:center;font-size:23px;color:#c6d6f6;padding-left:4px}
.screen-placeholder p{margin:16px 0 4px;font-size:13px;color:#c0cde3}.screen-placeholder small{font-size:10px;color:#687d9e}
.player-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 20px;font-size:10px;color:#8697b2;background:#151e2c}
.player-bottom button{color:#a7bde8;border:1px solid #ffffff15;background:#ffffff05;border-radius:6px;padding:6px 11px;font-size:10px}
.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#25334d;color:#fff;font-size:12px;border-radius:8px;padding:11px 18px;z-index:20;display:none;max-width:90%;text-align:center}
@media(max-width:950px){.layout{grid-template-columns:290px minmax(0,1fr);gap:18px}.tasks{padding:21px 18px 0}.pagination{margin:0 -18px;padding:15px 18px}.metric-icon{display:none}.tabs{gap:17px}}
@media(max-width:720px){.header{padding:16px 17px}.brand strong{font-size:17px}.logo{width:36px;height:36px}.preview{font-size:9px;padding:4px 7px}main{padding:24px 15px 30px}h1{font-size:24px}.intro{font-size:11px;margin-bottom:20px}.metrics{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:18px}.metric{padding:12px 16px}.metric strong{font-size:23px}.metric-icon{display:grid;width:31px;height:31px}.layout{display:block}.form-panel{padding:21px;position:static}.tasks{margin-top:19px;padding:21px 17px 0}.task-heading small{font-size:9px}.tabs{gap:20px}.task-name{font-size:12px}.status{font-size:9px}.progress-area{margin-left:0}.actions{justify-content:flex-start}.pagination{margin:0 -17px;padding:14px 17px;flex-wrap:wrap;justify-content:center}.page-info{width:100%;justify-content:center}.player-head{padding:13px 14px}.player-title{font-size:12px}.player-bottom{padding:12px 14px}.play-symbol{width:43px;height:43px;font-size:16px}.screen-placeholder p{font-size:11px;margin-top:10px}.screen-placeholder small{font-size:9px}.screen-placeholder{padding-bottom:18px}}

[hidden]{display:none!important}.login{max-width:420px;margin:50px auto;padding:30px}.notice{background:#e7eeff;padding:12px;border-radius:8px}.type-switch button.selected,.view-switch button.selected{color:var(--blue);background:#edf2ff}.view-switch{display:flex;gap:6px;margin-top:16px}.view-switch button{font-size:11px;border:1px solid var(--line);padding:6px 12px;border-radius:6px;background:white;color:#8793a8}.task-name{overflow-wrap:anywhere}.actions a{border-radius:6px;font-size:10px;padding:6px 10px;background:#edf2ff;color:#5678d8;text-decoration:none}.actions button:disabled{opacity:.5}.task-detail{font-size:11px;color:#8b99af;margin-top:8px;overflow-wrap:anywhere}.wall{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:20px 0}.wall-card{border:1px solid var(--line);border-radius:10px;overflow:hidden;min-width:0}.cover{display:block;width:100%;aspect-ratio:16/10;background:#eaf0fc;object-fit:cover;cursor:pointer;border:0}.wall-info{padding:10px}.wall-info strong{display:block;font-size:12px;overflow-wrap:anywhere}.wall-info .actions{justify-content:flex-start;gap:5px;margin-top:10px}.wall-info .actions button,.wall-info .actions a{font-size:9px;padding:5px 7px}.drop{display:block;text-align:center;border:1px dashed #9bb3ef;border-radius:10px;padding:25px 10px;cursor:pointer;background:#f8faff}.drop input{padding:8px 0;border:0;background:none;font-size:11px}.drop .hint{display:block}.drop.dragging{background:#e7efff}progress{width:100%;height:12px;margin-top:12px;accent-color:#3864ed}#abortUpload{margin-top:10px;border:1px solid var(--line);background:white;padding:8px;border-radius:6px;color:#a66b5d}#frameGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:16px}#frameGrid button{padding:0;background:#182131;border:2px solid transparent;border-radius:7px;overflow:hidden;color:#b8c8df}#frameGrid button.chosen{border-color:#6a94ff}#frameGrid img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}.frame-hint{font-size:12px;color:#a1b1c8;padding:0 20px}.player-bottom a{color:#a7bde8}.fill{transition:width .4s}.fill.busy{width:35%;animation:busy 1.5s infinite alternate}@keyframes busy{to{transform:translateX(180%)}}@media(prefers-reduced-motion:reduce){.fill.busy{animation:none}}.tabs{gap:17px;flex-wrap:wrap}.page-buttons{flex-wrap:wrap}.toast{z-index:100}#kind{width:100%;padding:10px;font-size:12px}.frame-hint{line-height:1.7}@media(max-width:720px){.wall{grid-template-columns:repeat(2,minmax(0,1fr))}.task-heading{flex-wrap:wrap}.tabs{gap:17px}#frameGrid{gap:5px;padding:10px}.wall-info{padding:8px}}@media(max-width:380px){.wall{grid-template-columns:1fr}}

/* Integrated dashboard layout */
:root{--blue:#2875f0;--ink:#182943;--muted:#657895;--line:#dce7f4}
.header{max-width:1160px;padding:14px 20px}.header .preview{font-size:12px;color:#527099;background:#f3f8ff;border-color:#dce8f7}
main{max-width:1160px;padding:20px 20px 30px}h1{font-size:25px;letter-spacing:0}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.page-heading h1{margin:0}.page-heading .intro{margin:2px 0 0;font-size:14px}.refresh-button{padding:7px 12px;border:1px solid var(--line);border-radius:7px;background:white;color:#3e5d88}
.metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}.metric.status-metric{min-height:92px;padding:11px 13px;border-radius:11px;justify-content:flex-start;gap:10px}.status-metric .metric-icon{flex:none;width:36px;height:36px;color:var(--blue);background:#edf5ff;font-size:18px}.metric-copy{min-width:0;display:flex;flex-direction:column;gap:2px}.metric-copy>span{font-size:13px;color:var(--muted)}.metric-copy strong{font-size:19px;line-height:1.3;color:var(--ink);font-weight:700}.metric-copy small{font-size:12px;color:var(--muted);line-height:1.35}.status-dot{display:inline-block;width:9px;height:9px;margin-right:7px;border-radius:50%;background:#9ba9bb}.status-dot.online{background:#15945b}.status-dot.offline{background:#c73737}.disk-meter{height:5px;max-width:170px;background:#e9eff8;border-radius:9px;overflow:hidden;margin-top:2px}.disk-meter i{display:block;width:0;height:100%;background:#7189ab;border-radius:9px}.disk-meter i.warn{background:#e39a25}.disk-meter i.critical{background:#c73737}
.main-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;padding:6px;margin-bottom:13px;border:1px solid var(--line);border-radius:11px;background:#fff}.main-nav button{position:relative;min-width:0;padding:9px 6px;border:0;border-radius:7px;background:transparent;color:#405b7e;font-size:14px;font-weight:650}.main-nav button.active{background:var(--blue);color:#fff}.main-nav b,.main-nav i{font-size:12px;font-style:normal}.main-nav i{color:#bf3030;margin-left:5px}.main-nav button.active i,.main-nav button.active b{color:#fff}.dashboard-page{display:none}.dashboard-page.active{display:block}.overview-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:12px;align-items:start}.overview-side{display:grid;gap:12px;min-width:0}.overview-panel,.content-panel{padding:14px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:9px;margin-bottom:8px}.section-heading h2{font-size:18px}.label-chip{padding:4px 9px;border-radius:999px;background:#edf5ff;color:#2875f0;font-size:12px}.sub{font-size:13px;line-height:1.45;margin:4px 0 10px}.unavailable-grid{display:grid;gap:7px}.unavailable-grid>div{display:flex;align-items:center;justify-content:space-between;gap:9px;padding:9px 10px;border:1px solid var(--line);border-radius:8px}.unavailable-grid span{font-size:13px;color:var(--muted)}.unavailable-grid strong{font-size:14px}.notice.subtle{margin:8px 0 0;padding:8px 10px;background:#f3f7fc;color:#61758e;font-size:12px;line-height:1.45}.text-button{border:0;background:none;color:#2875f0;font-size:13px;padding:5px}.member-summary{display:grid;grid-template-columns:minmax(180px,1.15fr) repeat(3,minmax(105px,.65fr)) auto;align-items:center;gap:8px;margin-top:11px;padding:10px 12px;border-radius:10px}.member-summary-title strong{display:block;font-size:15px}.member-summary-title small{display:block;margin-top:2px;color:var(--muted);font-size:12px}.member-summary-count{padding:6px 8px;border:1px solid var(--line);border-radius:7px}.member-summary-count span{display:block;color:var(--muted);font-size:12px}.member-summary-count strong{font-size:18px}.member-link{white-space:nowrap;color:var(--blue)}.dashboard-page .content-panel{min-width:0}.member-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}.member-detail-grid h3{margin:0 0 7px;font-size:15px}.muted{color:var(--muted);font-size:12px}.files-table{width:100%;border-collapse:collapse;table-layout:fixed}.files-table th,.files-table td{padding:9px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;overflow-wrap:anywhere}.files-table th{background:#f5f8fc;color:var(--muted);font-size:13px;font-weight:650}.files-table td{font-size:14px}.files-table th:nth-child(1){width:38%}.files-table th:nth-child(2){width:15%}.files-table th:nth-child(3){width:22%}.files-table th:nth-child(4){width:25%}.files-table tr:last-child td{border-bottom:0}.files-table .actions{margin:0;justify-content:flex-start;gap:5px}.files-table .actions button,.files-table .actions a{font-size:12px;padding:5px 7px}.file-pagination{display:flex;align-items:center;justify-content:flex-end;gap:5px;margin-top:10px}.file-pagination button{min-width:30px;height:30px;border:1px solid var(--line);border-radius:5px;background:#fff;color:#536986}.file-pagination button.current{background:var(--blue);color:#fff}.file-pagination button:disabled{opacity:.4}.file-pagination span{padding:0 4px;color:var(--muted);font-size:13px}
.tasks{padding:14px 14px 0;border-radius:11px;overflow:visible}.task-heading{align-items:center}.task-heading h2{font-size:18px}.task-create{position:relative}.task-create>summary{width:auto;margin:0;padding:7px 11px;border-radius:7px;font-size:13px;list-style:none}.task-create>summary::-webkit-details-marker{display:none}.task-create-content{position:absolute;z-index:10;right:0;top:calc(100% + 6px);width:min(420px,calc(100vw - 40px));max-height:75vh;overflow:auto;padding:14px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 35px #1c37631c}.task-create-content .type-switch{margin-bottom:12px}.task-create-content label{font-size:13px;margin:10px 0 5px}.task-create-content input,.task-create-content textarea,.task-create-content select{font-size:14px}.task-create-content .primary{width:100%;margin-top:12px;font-size:14px}.task-create-content .form-note{font-size:12px;margin-top:13px;padding-top:10px}.task-counts{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:8px 0}.task-counts>.task-count-chip{padding:4px 8px;border:0;border-radius:999px;background:#eff4fb;color:#526987;font:inherit;font-size:13px;cursor:pointer;transition:background .15s,transform .15s}.task-counts>.task-count-chip:hover{background:#e3edfa;transform:translateY(-1px)}.task-counts>.task-count-chip:focus-visible{outline:2px solid #2e75e7;outline-offset:2px}.task-counts b{color:var(--ink)}.queue-summary{margin-left:auto;color:var(--muted);font-size:12px}.task-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.tasks .search-wrap{flex:1 1 220px;margin:5px 0}.tasks .search-wrap input{font-size:14px}.tasks .view-switch{margin:0}.tasks .tabs{display:flex;gap:5px;margin:5px 0 8px}.tasks .tabs button{border:1px solid transparent;background:transparent;border-radius:999px;padding:6px 10px;color:#61758f;font-size:13px}.tasks .tabs button.active{background:#edf5ff;color:#1765d5;border-color:#d8e8ff}.tasks #list{display:grid;gap:8px}.tasks .task{padding:10px 11px;border:1px solid var(--line);border-radius:9px}.tasks .task-name{font-size:15px;line-height:1.4}.tasks .status{font-size:12px}.tasks .progress-area{margin:9px 0 0 0}.tasks .progress-title{font-size:13px;color:#536a89;margin-bottom:5px}.tasks .progress-title strong{font-size:14px}.tasks .track{height:7px}.tasks .task-detail{font-size:13px;color:#586e8c}.tasks .task-extra{margin-top:6px;color:var(--muted);font-size:12px}.tasks .task-extra summary{cursor:pointer}.tasks .task-extra .meta{display:block;margin-top:4px;overflow-wrap:anywhere}.tasks .actions{margin-top:8px;gap:5px}.tasks .actions button,.tasks .actions a{font-size:12px;padding:5px 8px}.tasks .meta{font-size:12px}.tasks .format{font-size:11px}.tasks .pagination{margin:0 -14px;padding:10px 14px}.tasks .page-info{font-size:12px}.tasks .page-info select{font-size:12px}.tasks .page-buttons button{font-size:12px}.tasks .empty{padding:22px 10px;font-size:14px}
@media(max-width:900px){main{padding:17px 16px 24px}.header{padding:12px 16px}.overview-grid{grid-template-columns:minmax(0,1.35fr) minmax(240px,.85fr)}.member-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.member-summary-title{grid-column:1/-1}.member-link{justify-self:start}}
@media(max-width:720px){.header{padding:10px 12px}.header .brand strong{font-size:16px}main{padding:13px 11px 22px}.page-heading h1{font-size:22px}.page-heading .intro{font-size:13px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-bottom:9px}.metric.status-metric{min-height:80px;padding:8px}.status-metric .metric-icon{width:30px;height:30px;font-size:16px}.metric-copy>span{font-size:12px}.metric-copy strong{font-size:16px}.metric-copy small{font-size:12px}.main-nav{grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;padding:4px;margin-bottom:10px}.main-nav button{padding:8px 3px;font-size:13px}.overview-grid{grid-template-columns:1fr}.overview-side{grid-template-columns:1fr}.member-summary{grid-template-columns:repeat(3,minmax(0,1fr));padding:9px}.member-summary-count{padding:6px}.member-summary-count span{font-size:12px}.member-summary-title strong{font-size:14px}.member-detail-grid{grid-template-columns:1fr}.files-table th:nth-child(1){width:34%}.files-table th:nth-child(2){width:14%}.files-table th:nth-child(3){width:20%}.files-table th:nth-child(4){width:32%}.tasks{padding:11px 10px 0}.task-heading{flex-wrap:nowrap}.task-create>summary{padding:6px 8px;font-size:12px}.task-controls{gap:6px}.tasks .tabs{gap:2px;overflow-x:auto;flex-wrap:nowrap}.tasks .tabs button{white-space:nowrap;padding:6px 8px}.tasks .task-top{gap:8px}.tasks .task-name{font-size:14px}.tasks .progress-area{margin-left:0}.tasks .task-detail{font-size:13px}.tasks .actions{justify-content:flex-start}.queue-summary{width:100%;margin-left:0}.files-table{min-width:620px}.table-wrap{overflow-x:auto}.unavailable-grid>div{padding:8px}.dashboard-page .content-panel{padding:12px}}

/* API-backed reference layout */
main{max-width:1220px;padding:22px 28px}.page-heading{display:flex;align-items:center;justify-content:space-between;margin:0 0 13px}.page-heading h1{font-size:26px;margin:0}.page-heading .intro{font-size:14px;margin:0;color:#647b9c}.refresh-button{width:auto;margin:0;padding:8px 14px;border:1px solid #bed5ff;background:#f8fbff;color:#276be6;border-radius:8px;font-size:13px}
.metric.status-metric{justify-content:flex-start;gap:12px;min-height:102px;padding:14px 16px}.metric-icon{color:#1680ff;background:#eef5ff;font-size:20px}.metric-copy{min-width:0}.metric-copy>span{font-size:13px;color:#526c91}.metric-copy strong{font-size:21px;color:#2b241f;line-height:1.35}.metric-copy strong b{font-weight:650}.metric-copy small{display:block;font-size:12px;color:#7e92b0;margin-top:4px}.status-dot{display:inline-block;width:9px;height:9px;background:#97a3b5;border-radius:50%;margin-right:7px}.status-dot.online{background:#20b268}.disk-meter{height:5px;margin-top:4px;background:#e8eff8;border-radius:6px;overflow:hidden}.disk-meter i{display:block;height:100%;width:0;background:#387cff;transition:width .2s}.disk-meter i.warning{background:#ee9b25}.disk-meter i.critical{background:#dd3d3d}
.tasks .fill.busy{width:36%;background:linear-gradient(90deg,#387cff55,#387cff);animation:task-progress 1.4s ease-in-out infinite alternate}@keyframes task-progress{from{transform:translateX(-18%)}to{transform:translateX(210%)}}
.main-nav{gap:5px;margin-bottom:12px}.main-nav button{padding:10px}.dashboard-page{min-width:0}.overview-grid{grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr);gap:12px}.panel{border-radius:12px}.overview-panel,.content-panel{padding:14px}.section-heading h2{font-size:18px}.recent-file{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 1px;border-bottom:1px solid var(--line)}.recent-file:last-child{border-bottom:0}.recent-file strong{display:block;font-size:14px;max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-file small{display:block;font-size:12px;color:var(--muted)}.recent-file>div:last-child{text-align:right;white-space:nowrap}.member-summary{margin-top:12px}.task-heading-actions{display:flex;align-items:center;gap:8px}.task-heading-actions .text-button{white-space:nowrap}.task-create>summary{list-style:none;width:auto;margin:0;padding:7px 11px;border-radius:8px;cursor:pointer}.task-create>summary::-webkit-details-marker{display:none}.task-create-content{position:absolute;z-index:8;right:0;top:calc(100% + 7px);width:min(440px,calc(100vw - 32px));max-height:75vh;overflow:auto;padding:16px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 34px #26395726}.task-create{position:relative}.tasks{padding:15px 16px 0}.task-counts{display:flex;flex-wrap:wrap;gap:11px;font-size:13px}.queue-summary{font-size:12px}.task-controls{margin-top:10px}.overview-grid .tasks{margin:0}.overview-grid .tasks .task-controls,.overview-grid .tasks .pagination{display:none}.task-extra{margin:8px 0 0 46px;font-size:12px;color:#71829a}.task-extra summary{cursor:pointer;color:#5578ac}.task-extra .task-detail{white-space:normal;overflow-wrap:anywhere;margin-top:5px}.task-extra .meta{font-size:12px}.tasks .task{padding:12px 0}.tasks .task-name{font-size:15px}.tasks .task-top{align-items:center}.tasks .progress-area{margin-top:9px}.tasks .progress-title{font-size:13px;margin-bottom:5px}.tasks .progress-title strong{font-size:13px}.tasks .track{height:7px}.tasks .actions{margin-top:8px}.task-heading h2{font-size:18px}.overview-grid .task-heading h2{font-size:17px}.file-search{width:min(320px,55%);padding:8px 10px;font-size:13px}.files-table th,.files-table td{padding:8px 9px}.files-table .file-name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.files-table td small{display:block}.files-table .actions{flex-wrap:wrap}.file-pagination{justify-content:flex-end}.muted{font-size:12px}
@media(max-width:720px){main{padding:13px 11px 22px}.page-heading{margin-bottom:9px}.page-heading h1{font-size:22px}.page-heading .intro{font-size:13px}.metrics{margin-bottom:9px}.metric.status-metric{min-height:82px;padding:8px}.metric-copy>span{font-size:12px}.metric-copy strong{font-size:16px}.metric-copy small{font-size:12px}.main-nav{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:10px}.overview-grid{grid-template-columns:1fr}.overview-side{grid-template-columns:1fr}.task-heading-actions{gap:3px}.task-heading-actions .text-button{font-size:12px;padding:4px}.member-summary{grid-template-columns:repeat(3,minmax(0,1fr));}.member-summary-title{grid-column:1/-1}.member-link{grid-column:1/-1;justify-self:end}.task-extra{margin-left:0}.recent-file strong{max-width:220px}.files-table{min-width:620px}.file-search{width:55%}.files-table th,.files-table td{padding:7px 8px}}
@media(max-width:390px){.header .preview{font-size:11px;padding:4px 7px}.metrics{gap:6px}.metric.status-metric{min-height:77px;padding:7px}.status-metric .metric-icon{width:26px;height:26px}.metric-copy strong{font-size:15px}.main-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.member-summary{gap:5px;padding:8px}.member-summary-count strong{font-size:16px}.member-summary-count span{line-height:1.25}.files-table{min-width:600px}.tasks .actions button,.tasks .actions a{font-size:12px;padding:5px 6px}}

/* Compact service state beside the workbench title and paired live network rates. */
.service-state{display:flex;align-items:center;gap:6px;margin-top:3px;font-size:12px;color:#526b91}.service-state small{margin-left:5px;color:#8393aa}.service-state .status-dot{width:7px;height:7px;margin:0}.network-metric{justify-content:flex-start;gap:12px}.network-metric .metric-copy{flex:1;min-width:0}.network-values{display:grid;grid-template-columns:minmax(0,1fr);gap:2px;margin:2px 0}.network-values>div{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.network-values small{color:#6f819c;font-size:12px;white-space:nowrap}.network-values strong{font-size:14px;white-space:nowrap;margin-left:auto}
@media(max-width:720px){.service-state{flex-wrap:wrap}.network-metric .metric-copy>span{line-height:1.25}.network-values{grid-template-columns:minmax(0,1fr);gap:2px}.network-values>div{justify-content:space-between;gap:8px}.network-values strong{font-size:13px}}

/* CMS source poster plus the complete frame set in the wall and file list. */
.frame-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:8px;background:#f7f9fd}.frame-thumb{min-width:0;padding:2px;border:1px solid var(--line);border-radius:5px;background:#111827;color:#71829a}.frame-thumb img{display:block;width:100%;aspect-ratio:16/9;object-fit:contain;background:#05070b}.frame-thumb span{display:block;padding:2px 0;font-size:10px}.file-cover{display:block;width:64px;height:42px;object-fit:cover;border-radius:4px;margin:0 0 5px}.task-cover{width:64px;height:42px;flex:none;object-fit:cover;border-radius:5px}.wall-card>.cover{object-fit:cover}#frameGrid img{object-fit:contain;background:#05070b}
.wall-progress{padding:0 10px 10px}.wall-progress .progress-title{display:flex;justify-content:space-between;gap:8px;margin-bottom:6px;font-size:11px;color:var(--muted)}.wall-progress .track{height:8px}
.cover-placeholder{display:grid;place-items:center;color:#7586a2;text-align:center;font-size:12px;cursor:default}

.cover-wrap{position:relative}.cover-slot{width:100%;aspect-ratio:16/10;background:#eaf0fc}.cover-slot>.cover{width:100%;height:100%;aspect-ratio:auto}.cover-next{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:30px;height:30px;padding:0;border:1px solid #ffffffaa;border-radius:50%;background:#17243dcc;color:#fff;font-size:22px;line-height:1;display:grid;place-items:center;box-shadow:0 1px 5px #0005}.cover-next:hover{background:#17243dee}

.tasks .tabs button[data-filter="member-deleted"]{color:#b86148}.tasks .tabs button[data-filter="member-deleted"].active{background:#fff0ec;border-color:#f2d3c9}.status.deleted{background:#fff0ec;color:#b86148}

/* Old download node: file serving only. */
.old-file-manager .metrics,.old-file-manager .main-nav,.old-file-manager .dashboard-page:not(#page-files){display:none!important}
.old-file-manager #page-files{display:block!important}
.file-storage-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 14px}
.file-storage-summary article{min-width:0;padding:16px;border:1px solid var(--line);border-radius:11px;background:#fff;display:flex;flex-direction:column;gap:8px}
.file-storage-summary article>span,.file-storage-summary small{color:var(--muted);font-size:13px}
.file-storage-summary article>strong{font-size:21px;color:var(--ink);overflow-wrap:anywhere}
.file-storage-summary .disk-meter{width:100%;height:7px;margin-top:2px;border-radius:8px;background:#e8edf5;overflow:hidden}
.file-storage-summary .disk-meter i{display:block;width:0;height:100%;background:#4eaf8e;border-radius:8px}
@media(max-width:680px){.file-storage-summary{grid-template-columns:1fr 1fr}.file-storage-summary article:last-child{grid-column:1/-1}}

/* Keep the cover at the left of the file metadata in the completed-file list. */
.files-table td.file-name-cell{display:flex;align-items:center;gap:10px;overflow-wrap:normal}
.files-table .file-cover,.files-table .file-cover-placeholder{display:block;flex:0 0 64px;width:64px;height:44px;border-radius:5px;object-fit:cover;background:#eef2f8}
.files-table .file-cover-placeholder{display:grid;place-items:center;color:var(--muted);font-size:10px}
.files-table .file-copy{flex:1;min-width:0}
.files-table .file-copy .file-name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.files-table .file-copy small{display:block;white-space:normal;overflow-wrap:anywhere}
@media(max-width:720px){.files-table .file-cover,.files-table .file-cover-placeholder{flex-basis:54px;width:54px;height:38px}.files-table td.file-name-cell{gap:7px}}
.file-active-pulls{margin:0 0 14px;padding:12px 14px;border:1px solid #dce7f4;border-radius:9px;background:#f7faff}.file-active-heading{margin:0 0 8px;font-size:14px;color:#27456d}.file-active-job+.file-active-job{margin-top:12px;padding-top:10px;border-top:1px solid #dce7f4}.file-active-title{display:flex;justify-content:space-between;gap:10px;font-size:13px;color:#243b59}.file-active-title strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-active-job>.muted{display:block;margin-top:4px}.file-active-job .track{height:7px;margin-top:7px}.file-source-complete{color:#388e72!important}
