:root { color-scheme: light; --bg:#f4f5f7; --panel:#fff; --line:#e1e4e8; --text:#1f252b; --muted:#6a737d; --primary:#176b5b; --danger:#b54545; --soft:#e9f3f0; }
* { box-sizing:border-box; }
body { min-width:320px; margin:0; background:var(--bg); color:var(--text); font-family:"Microsoft YaHei",system-ui,sans-serif; }
[hidden] { display:none !important; }
button,input,select { font:inherit; }
button { cursor:pointer; }
.button { min-height:34px; padding:0 12px; border:1px solid var(--line); border-radius:5px; background:var(--panel); color:var(--text); text-decoration:none; font-size:13px; line-height:32px; white-space:nowrap; }
.button.primary { border-color:var(--primary); background:var(--primary); color:#fff; }
.button.secondary:hover,.button.secondary:focus-visible { border-color:#9ca9a5; background:#f8faf9; outline:0; }
.enterprise-auth { min-height:100vh; display:grid; place-items:center; padding:24px; text-align:center; }
.enterprise-auth > div { max-width:390px; }
.enterprise-mark { width:46px; height:46px; display:inline-grid; place-items:center; border-radius:8px; background:var(--primary); color:#fff; font-weight:800; font-size:20px; }
.enterprise-auth h1 { margin:16px 0 8px; font-size:28px; }
.enterprise-auth p { margin:0 0 20px; color:var(--muted); line-height:1.65; }
.enterprise-app { min-height:100vh; display:grid; grid-template-columns:210px minmax(0,1fr); }
.enterprise-rail { position:sticky; top:0; height:100vh; display:flex; flex-direction:column; padding:18px 12px; border-right:1px solid var(--line); background:var(--panel); }
.enterprise-brand { display:flex; align-items:center; gap:9px; padding:4px 8px 24px; color:var(--text); text-decoration:none; }
.enterprise-brand span { width:32px; height:32px; display:grid; place-items:center; border-radius:7px; background:var(--primary); color:#fff; font-size:12px; font-weight:800; }
.enterprise-brand strong { font-size:15px; }
.enterprise-rail nav { display:grid; gap:4px; }
.enterprise-nav { width:100%; min-height:38px; display:flex; align-items:center; padding:0 10px; border:0; border-radius:5px; background:transparent; color:var(--muted); font-size:13px; text-align:left; text-decoration:none; }
.enterprise-nav:hover,.enterprise-nav.active { background:var(--soft); color:var(--primary); }
.enterprise-nav-workbench { margin-top:6px; }
.enterprise-rail-foot { display:grid; gap:5px; margin-top:auto; padding:12px 8px 0; border-top:1px solid var(--line); }
.enterprise-rail-foot a { color:var(--muted); font-size:12px; text-decoration:none; }
.enterprise-main { min-width:0; padding:30px clamp(18px,4vw,54px) 48px; }
.enterprise-header { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; padding-bottom:24px; border-bottom:1px solid var(--line); }
.enterprise-kicker { margin:0 0 5px; color:var(--primary); font-size:12px; font-weight:700; }
.enterprise-header h1 { margin:0; font-size:26px; }
.enterprise-header p:not(.enterprise-kicker) { margin:7px 0 0; color:var(--muted); font-size:13px; }
.enterprise-header-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; }
.enterprise-header-actions select { min-width:170px; min-height:34px; padding:0 9px; border:1px solid var(--line); border-radius:5px; background:#fff; color:var(--text); }
.enterprise-invitation-actions { display:flex; flex-wrap:wrap; gap:8px; }
.enterprise-empty { min-height:calc(100vh - 160px); display:grid; place-items:center; text-align:center; }
.enterprise-empty > div { max-width:520px; }
.enterprise-empty h2 { margin:15px 0 8px; font-size:24px; }
.enterprise-empty p { margin:0 0 18px; color:var(--muted); line-height:1.75; }
.enterprise-inline-form { display:flex; justify-content:center; gap:8px; }
.enterprise-inline-form input,.enterprise-invite-form input,.enterprise-pairing-actions input,.enterprise-dispatch-form input,.enterprise-dispatch-form select,.enterprise-invite-form select { min-height:34px; padding:0 10px; border:1px solid var(--line); border-radius:5px; background:#fff; color:var(--text); }
.enterprise-inline-form input { width:min(320px,60vw); }
.enterprise-invitations { display:grid; gap:8px; margin:0 auto 18px; text-align:left; }
.enterprise-invitation { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:12px; border:1px solid #b8d8d0; border-radius:6px; background:#f2f8f6; }
.enterprise-invitation strong { display:block; font-size:13px; }
.enterprise-invitation small { display:block; margin-top:3px; color:#51605d; font-size:11px; }
.enterprise-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-bottom:1px solid var(--line); background:var(--panel); }
.enterprise-summary article { min-height:114px; display:grid; align-content:center; gap:3px; padding:18px; border-right:1px solid var(--line); }
.enterprise-summary article:last-child { border-right:0; }
.enterprise-summary span,.enterprise-summary small { color:var(--muted); font-size:12px; }
.enterprise-summary strong { font-size:25px; font-weight:750; }
.enterprise-view { padding-top:28px; }
.enterprise-section-head { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:14px; }
.enterprise-section-head > :first-child { min-width:0; }
.enterprise-section-head h2 { margin:0; font-size:18px; }
.enterprise-section-head p { margin:5px 0 0; color:var(--muted); font-size:12px; line-height:1.55; }
.enterprise-section-actions { display:flex; flex:0 0 auto; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:8px; }
.enterprise-project-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(245px,1fr)); gap:10px; }
.enterprise-project { width:100%; min-width:0; display:grid; grid-template-columns:68px minmax(0,1fr); gap:10px; padding:10px; border:1px solid var(--line); border-radius:6px; background:var(--panel); color:var(--text); text-align:left; }
.enterprise-project:hover,.enterprise-project:focus-visible { border-color:#8dbbb0; background:#f8fbfa; outline:0; }
.enterprise-project img,.enterprise-project-thumb { width:68px; height:86px; display:block; border-radius:4px; background:#e8eceb; object-fit:cover; }
.enterprise-project-thumb { display:grid; place-items:center; color:#a6afad; font-size:18px; }
.enterprise-project h3 { overflow:hidden; margin:2px 0 5px; font-size:14px; text-overflow:ellipsis; white-space:nowrap; }
.enterprise-project p,.enterprise-project small { display:block; overflow:hidden; margin:0 0 4px; color:var(--muted); font-size:11px; line-height:1.45; text-overflow:ellipsis; white-space:nowrap; }
.enterprise-tag { display:inline-block; max-width:100%; overflow:hidden; padding:2px 5px; border-radius:3px; background:#edf4f2; color:var(--primary); font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.enterprise-project-body { min-width:0; }
.enterprise-project-workflow { grid-column:1 / -1; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:7px; padding-top:8px; border-top:1px solid var(--line); }
.enterprise-project-workflow select { min-width:0; min-height:30px; padding:0 8px; border:1px solid var(--line); border-radius:4px; background:#fff; color:var(--text); font-size:11px; }
.enterprise-project-actions { grid-column:1 / -1; display:flex; flex-wrap:wrap; gap:6px; }
.enterprise-project-actions .button { min-height:29px; padding:0 8px; line-height:27px; font-size:11px; }
.enterprise-project-copy-dialog { width:min(420px,calc(100vw - 28px)); padding:0; border:1px solid var(--line); border-radius:7px; background:#fff; color:var(--text); box-shadow:0 20px 70px rgba(0,0,0,.25); }
.enterprise-project-copy-dialog::backdrop { background:rgba(20,28,26,.45); }
.enterprise-project-copy-body { display:grid; gap:14px; padding:16px 20px 20px; }
.enterprise-project-copy-body label { display:grid; gap:7px; color:var(--muted); font-size:12px; }
.enterprise-project-copy-body select { width:100%; min-height:34px; padding:7px 10px; border:1px solid var(--line); border-radius:5px; background:#fff; color:var(--text); font-size:12px; }
.enterprise-project-copy-body > div { display:flex; justify-content:flex-end; gap:8px; }
.enterprise-workflow-note { grid-column:1 / -1; overflow:hidden; margin:0; color:var(--muted); font-size:11px; line-height:1.45; text-overflow:ellipsis; white-space:nowrap; }
.enterprise-resource-form { display:grid; grid-template-columns:140px minmax(220px,1fr) minmax(140px,.75fr) minmax(180px,1fr) auto; gap:8px; margin-bottom:14px; }
.enterprise-resource-form select,.enterprise-resource-form input,.enterprise-product-form input,.enterprise-product-form textarea { width:100%; min-height:34px; padding:7px 10px; border:1px solid var(--line); border-radius:5px; background:#fff; color:var(--text); font-size:12px; }
.enterprise-resource-picker { position:relative; min-width:0; }
.enterprise-resource-source-trigger { width:100%; min-height:48px; display:flex; align-items:center; gap:8px; padding:4px 9px 4px 5px; border:1px solid var(--line); border-radius:5px; background:#fff; color:var(--text); text-align:left; }
.enterprise-resource-source-trigger:hover,.enterprise-resource-source-trigger:focus-visible { border-color:#91aaa3; outline:0; }
.enterprise-resource-source-thumb,.enterprise-resource-source-option-thumb { width:38px; height:38px; flex:0 0 38px; display:grid; place-items:center; overflow:hidden; border-radius:3px; background:#edf1ef; color:#6b817b; font-size:12px; }
.enterprise-resource-source-thumb img,.enterprise-resource-source-option-thumb img { width:100%; height:100%; object-fit:cover; }
.enterprise-resource-source-name { min-width:0; display:grid; gap:2px; }
.enterprise-resource-source-name strong,.enterprise-resource-source-option strong { overflow:hidden; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.enterprise-resource-source-name small,.enterprise-resource-source-option small { color:var(--muted); font-size:10px; }
.enterprise-resource-source-arrow { margin-left:auto; color:var(--muted); font-size:18px; line-height:1; }
.enterprise-resource-source-empty { color:var(--muted); font-size:12px; }
.enterprise-resource-source-menu { position:absolute; z-index:20; top:calc(100% + 5px); left:0; width:max(100%,300px); max-height:278px; overflow:auto; padding:5px; border:1px solid #ccd6d3; border-radius:6px; background:#fff; box-shadow:0 12px 28px rgba(24,43,37,.18); }
.enterprise-resource-source-option { width:100%; display:grid; grid-template-columns:38px minmax(0,1fr); align-items:center; gap:8px; padding:5px; border:1px solid transparent; border-radius:4px; background:#fff; color:var(--text); text-align:left; }
.enterprise-resource-source-option:hover,.enterprise-resource-source-option:focus-visible,.enterprise-resource-source-option.selected { border-color:#b8d8d0; background:#f2f8f6; outline:0; }
.enterprise-resource-source-option > span:last-child { min-width:0; display:grid; gap:2px; }
.enterprise-resource-source-none { margin:7px; color:var(--muted); font-size:12px; }
.enterprise-resource-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(205px,1fr)); gap:10px; }
.enterprise-resource { min-width:0; display:grid; grid-template-rows:auto 1fr; border:1px solid var(--line); border-radius:6px; overflow:hidden; background:var(--panel); }
.enterprise-resource-preview { display:grid; aspect-ratio:3 / 4; place-items:center; overflow:hidden; padding:6px; background:#edf1ef; color:#8a9692; font-size:12px; }
.enterprise-resource-preview img { width:100%; height:100%; object-fit:contain; object-position:center; }
.enterprise-resource-copy { display:grid; gap:7px; padding:10px; }
.enterprise-resource-copy h3 { overflow:hidden; margin:0; font-size:13px; text-overflow:ellipsis; white-space:nowrap; }
.enterprise-resource-copy p { min-height:30px; margin:0; color:var(--muted); font-size:11px; line-height:1.45; }
.enterprise-resource-copy small { color:var(--muted); font-size:10px; }
.enterprise-resource-actions { display:flex; flex-wrap:wrap; gap:6px; }
.enterprise-resource-actions .button { min-height:29px; padding:0 8px; line-height:27px; font-size:11px; }
.enterprise-product-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.enterprise-product-upload { min-height:34px; display:flex; align-items:center; justify-content:center; gap:7px; padding:0 11px; border:1px dashed #8bb7aa; border-radius:5px; background:#f3f9f6; color:var(--primary); cursor:pointer; font-size:12px; }
.enterprise-product-upload small { color:#5d7c73; font-size:10px; }
.enterprise-product-form input.enterprise-product-file-input { position:absolute; width:1px; min-height:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0 0 0 0); border:0; white-space:nowrap; }
.enterprise-product-form .enterprise-product-upload,.enterprise-product-form .enterprise-form-actions,.enterprise-product-existing-images { grid-column:1 / -1; }
.enterprise-product-form .enterprise-form-actions { display:flex; justify-content:flex-end; }
.enterprise-form-actions { display:flex; gap:8px; }
.enterprise-product-list { display:grid; grid-template-columns:repeat(auto-fill,minmax(270px,1fr)); gap:12px; }
.enterprise-product { min-width:0; display:grid; grid-template-columns:1fr; grid-template-rows:auto auto auto; overflow:hidden; border:1px solid var(--line); border-radius:6px; background:var(--panel); }
.enterprise-product-gallery { overflow:hidden; border-bottom:1px solid var(--line); background:#f8faf9; }
.enterprise-product-copy { min-width:0; padding:11px 12px 6px; }
.enterprise-product strong { display:block; overflow:hidden; font-size:13px; text-overflow:ellipsis; white-space:nowrap; }
.enterprise-product p,.enterprise-product small { margin:4px 0 0; color:var(--muted); font-size:11px; line-height:1.5; white-space:pre-wrap; }
.enterprise-product-actions { display:flex; flex-wrap:wrap; gap:6px; padding:8px 12px 12px; }
.enterprise-product-actions .button { min-height:29px; padding:0 8px; line-height:27px; font-size:11px; }
.enterprise-product-stage { position:relative; width:100%; aspect-ratio:3 / 4; overflow:hidden; background:#eef1f0; }
.enterprise-product-stage img { width:100%; height:100%; display:block; object-fit:cover; }
.enterprise-product-gallery-count { position:absolute; top:8px; left:8px; min-height:22px; padding:0 7px; border-radius:3px; background:rgba(22,29,27,.68); color:#fff; font-size:10px; line-height:22px; }
.enterprise-product-gallery-arrow { position:absolute; top:50%; width:29px; height:36px; padding:0; border:0; border-radius:3px; background:rgba(22,29,27,.62); color:#fff; font-size:24px; line-height:32px; transform:translateY(-50%); }
.enterprise-product-gallery-arrow:hover { background:rgba(22,29,27,.82); }
.enterprise-product-gallery-arrow.previous { left:8px; }.enterprise-product-gallery-arrow.next { right:8px; }
.enterprise-product-thumbnails { display:flex; gap:6px; overflow-x:auto; padding:8px; border-top:1px solid var(--line); }
.enterprise-product-thumbnail { width:38px; height:50px; flex:0 0 38px; overflow:hidden; padding:0; border:2px solid transparent; border-radius:3px; background:#eef1f0; }
.enterprise-product-thumbnail.active { border-color:var(--primary); }
.enterprise-product-thumbnail img { width:100%; height:100%; display:block; object-fit:cover; }
.enterprise-product-images { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; min-width:0; }
.enterprise-product-image { position:relative; width:100%; aspect-ratio:3 / 4; overflow:hidden; border:1px solid var(--line); border-radius:3px; background:#eef1f0; }
.enterprise-product-image img { width:100%; height:100%; display:block; object-fit:cover; }
.enterprise-product-image button { position:absolute; top:2px; right:2px; width:17px; height:17px; padding:0; border:0; border-radius:50%; background:rgba(24,30,29,.76); color:#fff; font-size:14px; line-height:15px; }
.enterprise-product-image-more { display:grid; min-height:0; place-items:center; border:1px dashed #aab8b4; border-radius:3px; background:#fff; color:var(--muted); font-size:12px; }
.enterprise-product-image-empty { min-height:210px; display:grid; place-items:center; border:1px dashed var(--line); border-radius:4px; color:var(--muted); font-size:11px; }
.enterprise-task-filters { display:flex; gap:7px; margin:0 0 12px; }
.enterprise-task-filters .button.active { border-color:var(--primary); background:var(--soft); color:var(--primary); }
.enterprise-product-task-publish-setting { display:inline-flex; flex:0 0 auto; align-items:center; gap:7px; min-height:34px; padding:0 10px; border:1px solid #b8d8d0; border-radius:5px; background:#f2f8f6; color:#176b5b; font-size:12px; white-space:nowrap; cursor:pointer; }
.enterprise-product-task-publish-setting input { width:15px; height:15px; margin:0; accent-color:var(--primary); cursor:pointer; }
.enterprise-product-task-publish-setting:has(input:not(:checked)) { border-color:var(--line); background:#f7f8f8; color:var(--muted); }
.enterprise-product-task-list { display:grid; grid-template-columns:repeat(auto-fill,minmax(265px,1fr)); gap:12px; align-items:stretch; }
.enterprise-product-task { min-width:0; display:flex; flex-direction:column; gap:0; overflow:hidden; border:1px solid var(--line); border-radius:6px; background:var(--panel); }
.enterprise-product-task-gallery { padding:8px; border-bottom:1px solid var(--line); background:#f8faf9; }
.enterprise-product-task-gallery .enterprise-product-images { grid-template-columns:repeat(2,minmax(0,1fr)); }
.enterprise-product-task-copy { min-width:0; }
.enterprise-product-task-copy { padding:11px 12px 7px; }
.enterprise-product-task-heading { display:flex; align-items:center; gap:8px; min-width:0; }
.enterprise-product-task-heading > strong { min-width:0; flex:1 1 auto; overflow:hidden; font-size:13px; text-overflow:ellipsis; white-space:nowrap; }
.enterprise-product-task-copy small,.enterprise-product-task-copy p,.enterprise-product-task-actions small { display:block; margin:4px 0 0; color:var(--muted); font-size:11px; line-height:1.5; }
.enterprise-task-claimer { color:var(--text) !important; }
.enterprise-task-progress { display:flex; flex-wrap:wrap; gap:6px; margin-top:7px; }
.enterprise-task-progress span { min-height:22px; display:inline-flex; align-items:center; padding:0 7px; border-radius:3px; background:#eff1f1; color:#72807c; font-size:10px; }
.enterprise-task-progress span.done { background:#e6f4ee; color:#176b5b; }
.enterprise-product-task-actions { display:flex; align-items:flex-end; justify-content:space-between; gap:10px; margin-top:auto; padding:8px 12px 12px; }
.enterprise-product-task-action-group,.enterprise-product-task-meta { display:flex; flex-wrap:wrap; align-items:center; gap:6px; }
.enterprise-product-task-meta { flex-direction:column; align-items:flex-end; justify-content:flex-end; }
.enterprise-product-task-actions .button { min-height:29px; padding:0 8px; line-height:27px; font-size:11px; }
.enterprise-product-task-actions .button.danger { color:var(--danger); }
.enterprise-product-task-actions small { margin:0; text-align:right; }
.enterprise-task-claimants { min-width:0; max-width:58%; display:inline-flex; align-items:center; gap:4px; min-height:22px; padding:0 6px; border:1px solid #cfe0db; border-radius:3px; background:#f2f8f6; color:#176b5b; cursor:pointer; }
.enterprise-task-claimants:hover,.enterprise-task-claimants:focus-visible { border-color:#82b9aa; background:#e7f4ef; outline:0; }
.enterprise-task-claimants > small { flex:0 0 auto; display:inline; margin:0; color:#5d7c73; font-size:10px; white-space:nowrap; }
.enterprise-task-claimants span { min-width:0; overflow:hidden; color:#176b5b; font-size:10px; line-height:1.2; text-overflow:ellipsis; white-space:nowrap; }
.enterprise-task-claims-dialog { width:min(380px,calc(100vw - 28px)); padding:0; border:1px solid var(--line); border-radius:7px; background:#fff; color:var(--text); box-shadow:0 20px 70px rgba(0,0,0,.25); }
.enterprise-task-claims-dialog::backdrop { background:rgba(20,28,26,.45); }
.enterprise-task-claim-history { display:grid; gap:0; padding:8px 20px 18px; }
.enterprise-task-claim-history-row { display:grid; grid-template-columns:48px minmax(0,1fr); gap:10px; align-items:center; min-height:52px; border-bottom:1px solid var(--line); }
.enterprise-task-claim-history-row:last-child { border-bottom:0; }
.enterprise-task-claim-history-row > span { color:#668078; font-size:11px; }
.enterprise-task-claim-history-row strong { display:block; overflow:hidden; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.enterprise-task-claim-history-row small { display:block; margin-top:3px; color:var(--muted); font-size:11px; }
@media (max-width:620px) { .enterprise-product-form .enterprise-form-actions { grid-column:auto; }.enterprise-product-task-list { grid-template-columns:1fr; } }
.enterprise-review-dialog { width:min(860px,calc(100vw - 28px)); max-height:min(760px,calc(100vh - 28px)); padding:0; border:1px solid var(--line); border-radius:7px; background:#fff; color:var(--text); box-shadow:0 20px 70px rgba(0,0,0,.25); }
.enterprise-review-dialog::backdrop { background:rgba(20,28,26,.45); }
.enterprise-review-detail-preview-dialog { width:min(840px,calc(100vw - 28px)); max-height:min(860px,calc(100vh - 28px)); padding:0; border:1px solid var(--line); border-radius:7px; background:#fff; color:var(--text); box-shadow:0 20px 70px rgba(0,0,0,.25); }
.enterprise-review-detail-preview-dialog::backdrop { background:rgba(20,28,26,.45); }
.enterprise-review-detail-preview-images { max-height:calc(100vh - 128px); overflow:auto; padding:0 20px 20px; background:#f1f3f2; }
.enterprise-review-detail-preview-images img { display:block; width:min(100%,790px); height:auto; margin:0 auto; background:#fff; }
.enterprise-product-dialog { width:min(680px,calc(100vw - 28px)); max-height:min(760px,calc(100vh - 28px)); padding:0; border:1px solid var(--line); border-radius:7px; background:#fff; color:var(--text); box-shadow:0 20px 70px rgba(0,0,0,.25); }
.enterprise-product-dialog::backdrop { background:rgba(20,28,26,.45); }
.enterprise-product-dialog .enterprise-product-form { max-width:none; margin:0; padding:16px 20px 20px; }
.enterprise-product-dialog .enterprise-product-upload { min-height:56px; flex-direction:column; padding:8px 12px; }
.enterprise-product-image-source { display:grid; grid-column:1 / -1; grid-template-columns:minmax(0,1fr) 96px; gap:8px; }
.enterprise-product-image-source .button { min-height:56px; }
.enterprise-product-existing-images { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
.enterprise-product-existing-image { position:relative; aspect-ratio:3 / 4; overflow:hidden; border:1px solid var(--line); border-radius:4px; background:#eef1f0; }
.enterprise-product-existing-image img { width:100%; height:100%; display:block; object-fit:cover; }
.enterprise-product-existing-image button { position:absolute; top:5px; right:5px; width:22px; height:22px; padding:0; border:0; border-radius:50%; background:rgba(24,30,29,.76); color:#fff; font-size:17px; line-height:20px; }
.enterprise-product-material-dialog { width:min(880px,calc(100vw - 28px)); max-height:min(780px,calc(100vh - 28px)); padding:0; border:1px solid var(--line); border-radius:7px; background:#fff; color:var(--text); box-shadow:0 20px 70px rgba(0,0,0,.25); }
.enterprise-product-material-dialog::backdrop { background:rgba(20,28,26,.45); }
.enterprise-product-material-tools { padding:14px 20px 10px; border-bottom:1px solid var(--line); }
.enterprise-product-material-tools input { width:100%; min-height:34px; padding:7px 10px; border:1px solid var(--line); border-radius:5px; background:#fff; color:var(--text); font-size:12px; }
.enterprise-product-material-list { display:grid; grid-template-columns:repeat(auto-fill,minmax(104px,1fr)); gap:10px; max-height:min(490px,calc(100vh - 278px)); padding:14px 20px; overflow-y:auto; }
.enterprise-product-material-card { position:relative; aspect-ratio:3 / 4; overflow:hidden; padding:0; border:2px solid transparent; border-radius:4px; background:#eef1f0; cursor:pointer; text-align:left; }
.enterprise-product-material-card.selected { border-color:var(--primary); }
.enterprise-product-material-checkbox { position:absolute; z-index:2; top:7px; right:7px; width:18px; height:18px; margin:0; accent-color:var(--primary); cursor:pointer; }
.enterprise-product-material-card img { width:100%; height:100%; display:block; object-fit:cover; }
.enterprise-product-material-card span { position:absolute; right:0; bottom:0; left:0; overflow:hidden; padding:5px 6px; background:rgba(21,28,26,.72); color:#fff; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.enterprise-product-material-empty { grid-column:1 / -1; padding:34px 12px; color:var(--muted); font-size:12px; text-align:center; }
.enterprise-product-material-actions { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 20px 20px; border-top:1px solid var(--line); }
.enterprise-product-material-actions small { color:var(--muted); font-size:12px; }
.enterprise-review-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding:18px 20px 14px; border-bottom:1px solid var(--line); }
.enterprise-review-head h2 { margin:0; font-size:18px; }
.enterprise-review-head p { margin:5px 0 0; color:var(--muted); font-size:12px; line-height:1.5; }
.icon-close { width:30px; height:30px; border:0; border-radius:4px; background:transparent; color:var(--muted); font-size:22px; line-height:1; }
.icon-close:hover { background:#f1f3f2; color:var(--text); }
.enterprise-review-groups { max-height:min(470px,calc(100vh - 285px)); overflow:auto; padding:0 20px; }
.enterprise-review-group { padding:14px 0 16px; border-bottom:1px solid var(--line); }
.enterprise-review-group:last-child { border-bottom:0; }
.enterprise-review-group > header { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:10px; }
.enterprise-review-group-title { display:flex; align-items:center; gap:8px; min-width:0; }
.enterprise-review-group h3 { margin:0; color:var(--text); font-size:13px; }
.enterprise-review-group > header span { color:var(--muted); font-size:11px; }
.enterprise-review-preview-button { min-height:24px; padding:2px 8px; border:1px solid #b6ccc4; border-radius:4px; background:#fff; color:var(--primary); font-size:11px; cursor:pointer; }
.enterprise-review-preview-button:hover { border-color:var(--primary); background:#edf6f2; }
.enterprise-review-images { display:grid; grid-template-columns:repeat(auto-fill,minmax(120px,1fr)); gap:10px; }
.enterprise-review-image { position:relative; display:grid; gap:5px; min-width:0; cursor:pointer; }
.enterprise-review-image img { width:100%; aspect-ratio:3 / 4; border:2px solid transparent; border-radius:5px; object-fit:cover; background:#edf1ef; }
.enterprise-review-group[data-review-group="size"] .enterprise-review-image img { aspect-ratio:4 / 3; object-fit:contain; }
.enterprise-review-image input { position:absolute; top:7px; right:7px; width:17px; height:17px; accent-color:var(--primary); }
.enterprise-review-image input:checked + img { border-color:var(--primary); }
.enterprise-review-image span { overflow:hidden; color:var(--muted); font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.enterprise-review-note-field { display:grid; gap:6px; padding:0 20px 16px; color:var(--muted); font-size:12px; }
.enterprise-review-note-field textarea { min-height:76px; padding:9px; border:1px solid var(--line); border-radius:5px; resize:vertical; }
.enterprise-review-actions { display:flex; justify-content:flex-end; gap:8px; padding:14px 20px 20px; border-top:1px solid var(--line); }
.enterprise-invite-form { display:grid; grid-template-columns:minmax(220px,1fr) 150px auto; gap:8px; max-width:650px; margin-bottom:13px; }
.enterprise-note { margin:0 0 12px; color:var(--muted); font-size:12px; }
.enterprise-member-list,.enterprise-task-list,.enterprise-device-list { border-top:1px solid var(--line); background:var(--panel); }
.enterprise-member { display:grid; grid-template-columns:minmax(150px,1fr) 120px 110px 100px auto; align-items:center; gap:12px; min-height:62px; padding:10px 12px; border-bottom:1px solid var(--line); }
.enterprise-member strong,.enterprise-task strong,.enterprise-device strong { display:block; font-size:13px; }
.enterprise-member small,.enterprise-task small,.enterprise-device small { display:block; margin-top:3px; color:var(--muted); font-size:11px; }
.enterprise-status { display:inline-flex; width:max-content; align-items:center; min-height:22px; padding:0 7px; border-radius:3px; background:#edf1f2; color:#52605c; font-size:11px; }
.enterprise-status.online,.enterprise-status.completed { background:#e6f4ee; color:#176b5b; }
.enterprise-status.queued,.enterprise-status.claimed,.enterprise-status.scanning,.enterprise-status.ai_updating,.enterprise-status.publishing,.enterprise-status.running { background:#fff4df; color:#966600; }
.enterprise-status.failed,.enterprise-status.offline { background:#fcebec; color:#a63d47; }
.enterprise-member-actions { display:flex; justify-content:flex-end; gap:6px; }
.enterprise-member-actions button { min-height:28px; padding:0 8px; border:1px solid var(--line); border-radius:4px; background:#fff; color:var(--muted); font-size:11px; }
.enterprise-member-actions button.danger { color:var(--danger); }
.enterprise-dispatch-form { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; padding:14px; border:1px solid var(--line); border-radius:6px; background:#fff; }
.enterprise-dispatch-form label { min-width:0; display:grid; gap:5px; color:var(--muted); font-size:11px; }
.enterprise-dispatch-form label select,.enterprise-dispatch-form label input { width:100%; }
.enterprise-dispatch-form .enterprise-dispatch-note { grid-column:span 2; }
.enterprise-dispatch-form button { align-self:end; }
.enterprise-task { display:grid; grid-template-columns:110px minmax(170px,1fr) minmax(140px,.8fr) 120px; gap:14px; align-items:start; padding:13px; border-bottom:1px solid var(--line); }
.enterprise-task p { margin:5px 0 0; color:var(--muted); font-size:12px; line-height:1.45; }
.enterprise-task-log { grid-column:2 / -1; margin:0; padding:8px; overflow:auto; border:1px solid #e7e9e9; border-radius:4px; background:#f7f8f8; color:#51605d; font:11px/1.5 ui-monospace,Consolas,monospace; white-space:pre-wrap; }
.enterprise-pairing { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:16px; border:1px solid var(--line); border-radius:6px; background:#fff; }
.enterprise-pairing strong { font-size:14px; }
.enterprise-pairing p { margin:5px 0 0; color:var(--muted); font-size:12px; line-height:1.5; }
.enterprise-pairing-actions { display:flex; gap:8px; }
.enterprise-pairing-code { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin-top:10px; padding:12px; border:1px solid #b8d8d0; border-radius:6px; background:#f2f8f6; }
.enterprise-pairing-code strong { font-size:12px; }
.enterprise-pairing-code code { padding:5px 7px; border-radius:3px; background:#fff; color:var(--primary); font-size:15px; font-weight:800; letter-spacing:.08em; }
.enterprise-pairing-code p { width:100%; margin:1px 0 0; color:#51605d; font:11px/1.55 ui-monospace,Consolas,monospace; word-break:break-all; }
.enterprise-device { display:grid; grid-template-columns:minmax(180px,1fr) 110px minmax(150px,.8fr) 140px; gap:12px; align-items:center; min-height:64px; padding:11px 13px; border-bottom:1px solid var(--line); }
.enterprise-empty-list { padding:28px 14px; color:var(--muted); font-size:13px; text-align:center; }
.enterprise-toast { position:fixed; z-index:30; right:22px; bottom:22px; max-width:min(400px,calc(100vw - 44px)); padding:10px 13px; border-radius:5px; background:#26312e; color:#fff; font-size:13px; box-shadow:0 8px 30px rgba(0,0,0,.2); }
@media (max-width:900px) { .enterprise-app { grid-template-columns:1fr; }.enterprise-rail { position:static; height:auto; flex-direction:row; align-items:center; gap:14px; }.enterprise-brand { padding:0; }.enterprise-rail nav { display:flex; flex-wrap:wrap; gap:3px; }.enterprise-nav { width:auto; min-height:30px; }.enterprise-rail-foot { display:none; }.enterprise-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }.enterprise-summary article:nth-child(2) { border-right:0; }.enterprise-header { flex-direction:column; }.enterprise-header-actions { justify-content:flex-start; }.enterprise-member { grid-template-columns:1fr 100px 90px auto; }.enterprise-member small { grid-column:1 / 2; }.enterprise-dispatch-form { grid-template-columns:1fr 1fr; }.enterprise-dispatch-form .enterprise-dispatch-note { grid-column:span 2; }.enterprise-task { grid-template-columns:100px 1fr; }.enterprise-task > :nth-child(3),.enterprise-task > :nth-child(4) { grid-column:2; }.enterprise-device { grid-template-columns:1fr 95px; }.enterprise-device > :nth-child(3),.enterprise-device > :nth-child(4) { grid-column:2; }.enterprise-resource-form { grid-template-columns:1fr 1fr; }.enterprise-resource-form input,.enterprise-resource-form .button { grid-column:span 2; }.enterprise-product { grid-template-columns:1fr; grid-template-rows:auto auto auto; }.enterprise-product-actions { justify-content:flex-start; } }
@media (max-width:720px) { .enterprise-section-head { align-items:flex-start; flex-direction:column; }.enterprise-section-actions { justify-content:flex-start; } }
@media (max-width:620px) { .enterprise-main { padding:20px 12px 36px; }.enterprise-summary { grid-template-columns:1fr 1fr; }.enterprise-summary article { min-height:96px; padding:13px; }.enterprise-project-grid { grid-template-columns:1fr; }.enterprise-invite-form,.enterprise-dispatch-form,.enterprise-resource-form,.enterprise-product-form { grid-template-columns:1fr; }.enterprise-dispatch-form .enterprise-dispatch-note,.enterprise-resource-form input,.enterprise-resource-form .button,.enterprise-product-form #enterprise-product-description,.enterprise-product-form #enterprise-product-specification,.enterprise-product-form .enterprise-form-actions { grid-column:auto; }.enterprise-pairing { align-items:flex-start; flex-direction:column; }.enterprise-pairing-actions { width:100%; }.enterprise-pairing-actions input { min-width:0; flex:1; }.enterprise-member { grid-template-columns:1fr auto; }.enterprise-member > :nth-child(2),.enterprise-member > :nth-child(3) { grid-column:1; }.enterprise-member-actions { grid-column:2; grid-row:1 / span 3; align-self:center; flex-direction:column; }.enterprise-header-actions select { max-width:100%; }.enterprise-inline-form { flex-direction:column; align-items:center; }.enterprise-inline-form input { width:100%; }.enterprise-invitation { align-items:flex-start; flex-direction:column; }.enterprise-invitation .button { width:100%; text-align:center; }.enterprise-project-workflow,.enterprise-product { grid-template-columns:1fr; }.enterprise-resource-grid { grid-template-columns:1fr 1fr; }.enterprise-review-groups { max-height:min(440px,calc(100vh - 285px)); padding:0 13px; }.enterprise-review-images { grid-template-columns:repeat(2,minmax(0,1fr)); }.enterprise-review-detail-preview-images { max-height:calc(100vh - 120px); padding:0 13px 13px; }.enterprise-review-head,.enterprise-review-note-field,.enterprise-review-actions { padding-left:13px; padding-right:13px; } }
