:root{--bg:#f1f5f9;--card:#fff;--border:#e2e8f0;--text:#0f172a;--muted:#64748b;--primary:#c0440c;--primary-hover:#a8380a;--danger:#dc2626;--success:#16a34a;--radius:14px;--nav-accent:#c0440c;--nav-accent-soft:#fef1e4}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);margin:0;padding:0;font-family:PingFang SC,Microsoft YaHei,Segoe UI,system-ui,-apple-system,sans-serif;font-size:15px;line-height:1.6}h1{margin:0 0 4px;font-size:22px}h2{margin:0 0 14px;font-size:16px}a{color:var(--primary);text-decoration:none}p{margin:0 0 8px}code{color:#a8380a;background:#fef1e4;border-radius:6px;padding:1px 6px;font-size:13px}.muted{color:var(--muted)}.small-text{margin-top:12px;font-size:12.5px}.login-screen{background:linear-gradient(135deg,#fef1e4 0%,#f8fafc 45%,#fff5ea 100%);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login-card{background:var(--card);border:1px solid var(--border);border-radius:18px;width:100%;max-width:400px;padding:34px 30px;box-shadow:0 12px 40px #0f172a14}.login-brand{text-align:center;margin-bottom:22px}.login-brand h1{margin-top:8px;font-size:20px}.login-brand p{color:var(--muted);margin:0;font-size:13px}.login-hint{border:1px dashed var(--border);color:var(--muted);background:#f8fafc;border-radius:10px;margin-top:20px;padding:12px 14px;font-size:13px}.login-hint ul{margin:6px 0 0;padding-left:18px}.login-hint li{margin:2px 0}.brand-mark.large{font-size:44px;display:block}.brand-mark-img{object-fit:contain;flex:none;width:42px;height:42px;display:block}.brand-mark-img.large{width:80px;height:80px;margin:0 auto 4px}.app{flex-direction:column;min-height:100vh;display:flex}.topbar{background:var(--card);border-bottom:1px solid var(--border);z-index:20;position:sticky;top:0}.topbar-inner{align-items:center;gap:18px;max-width:1080px;height:68px;margin:0 auto;padding:0 20px;display:flex}.brand{color:var(--text);align-items:center;gap:10px;font-size:21px;font-weight:700;display:flex}.brand-mark{font-size:20px}.nav{flex:1;gap:4px;display:flex}.nav-link{color:var(--muted);border-radius:9px;align-items:center;gap:7px;padding:7px 12px;font-size:14.5px;display:inline-flex}.nav-link:hover{color:var(--text);background:#fef6ee}.nav-link.active{background:var(--nav-accent-soft);color:var(--nav-accent);font-weight:600}.nav-icon{color:#94a3b8;flex:none;width:17px;height:17px;transition:color .15s}.ui-icon{vertical-align:-.16em;flex:none;width:1em;height:1em;display:inline-block}.nav-icon.ui-icon{width:17px;height:17px}.heading-icon{vertical-align:-3px;width:18px;height:18px;margin-right:6px}.inline-icon{vertical-align:-2px;width:14px;height:14px;margin-right:4px}.btn .ui-icon,.cell-sub>.ui-icon,.status-badge .ui-icon,.person-chip .ui-icon{margin-right:2px}.feed-icon .ui-icon,.my-task-emoji .ui-icon{width:18px;height:18px}.nav-link:hover .nav-icon{color:#64748b}.nav-link.active .nav-icon{color:var(--nav-accent)}.topbar-user{align-items:center;gap:10px;display:flex}.user-chip{align-items:center;gap:8px;font-size:14.5px;font-weight:600;display:inline-flex}.role-badge{color:var(--muted);background:#f1f5f9;border-radius:999px;padding:1px 8px;font-size:11px;font-weight:500}.role-badge.role-admin{color:var(--primary);background:#fef1e4}.container{width:100%;max-width:1080px;margin:0 auto;padding:24px 20px 40px}.footer{text-align:center;color:#94a3b8;margin-top:auto;padding:14px;font-size:12.5px}.btn{border:1px solid var(--border);color:var(--text);cursor:pointer;background:#fff;border-radius:9px;justify-content:center;align-items:center;gap:4px;padding:8px 14px;font-family:inherit;font-size:14px;transition:all .12s;display:inline-flex}.btn:hover{background:#f8fafc}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-sm{border-radius:7px;padding:4px 10px;font-size:13px}.btn-primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover)}.btn-danger:hover{background:#fef2f2}.btn-ghost{color:var(--muted);background:0 0;border-color:#0000}.btn-ghost:hover{color:var(--text);background:#f1f5f9}.btn-block{width:100%;margin-top:6px}.field{flex-direction:column;gap:5px;min-width:0;display:flex}.field label{color:var(--muted);font-size:13px;font-weight:500}.field input,.field select{border:1px solid var(--border);color:var(--text);background:#fff;border-radius:9px;width:100%;padding:8px 11px;font-family:inherit;font-size:14px}.field input:focus,.field select:focus{border-color:var(--primary);outline:2px solid #f6cdaa}.form{flex-direction:column;gap:14px;display:flex}.form-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px 14px;display:grid}.form-actions{flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:6px;display:flex}.form-error{color:var(--danger);background:#fef2f2;border:1px solid #fecaca;border-radius:8px;width:100%;margin:0 0 4px;padding:8px 12px;font-size:13.5px}.form-success{color:var(--success);background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;width:100%;margin:0 0 4px;padding:8px 12px;font-size:13.5px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:18px;padding:20px}.dash-grid{grid-template-columns:1.1fr 1fr;align-items:start;gap:18px;display:grid}@media (max-width:860px){.dash-grid{grid-template-columns:1fr}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar-inner{gap:10px;padding:0 12px}.nav-link{padding:6px 8px;font-size:13.5px}}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;margin-bottom:18px;display:grid}.stat-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);text-align:center;padding:10px 12px}.stat-card-button{border:1px solid var(--border);width:100%;color:inherit;cursor:pointer;font-family:inherit;transition:transform .15s,border-color .15s,box-shadow .15s;display:block}.stat-card-button:hover{border-color:#f6cdaa;transform:translateY(-1px);box-shadow:0 7px 18px #c0440c1a}.stat-card-button:active{transform:translateY(0)}.stat-num{font-size:22px;font-weight:800;line-height:1.2}.stat-label{color:var(--muted);margin-top:2px;font-size:12px}.feed{margin:0;padding:0;list-style:none}.feed-item{border-bottom:1px solid #f1f5f9;gap:10px;padding:10px 0;display:flex}.feed-item:last-child{border-bottom:none}.feed-icon{font-size:18px;line-height:1.5}.feed-body p{margin:0;font-size:14px}.feed-time{color:#94a3b8;font-size:12px}.feed-body{flex:1;min-width:0}.feed-link{color:var(--text);font-size:14px;line-height:1.5;text-decoration:none}.feed-link:hover{color:var(--primary)}.status-badge{white-space:nowrap;border:1px solid;border-radius:999px;align-items:center;gap:5px;padding:3px 11px;font-size:13.5px;font-weight:600;display:inline-flex}.table-wrap{overflow-x:auto}.table{border-collapse:collapse;width:100%}.table th{text-align:left;color:var(--muted);border-bottom:1px solid var(--border);white-space:nowrap;padding:8px 10px;font-size:12.5px;font-weight:600}.table td{vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:10px;font-size:14px}.table tbody tr:hover{background:#fafbfd}.cell-name{font-weight:600}.cell-sub{color:var(--muted);margin-top:2px;font-size:12.5px}.note-text{white-space:nowrap;text-overflow:ellipsis;max-width:200px;overflow:hidden}.mini-badge{color:var(--muted);background:#f1f5f9;border-radius:999px;margin-left:6px;padding:1px 7px;font-size:11px}.mini-badge.admin{color:var(--primary);background:#fef1e4}.inline-form{align-items:center;gap:6px;display:inline-flex}.select-sm{border:1px solid var(--border);color:var(--text);background:#fff;border-radius:7px;padding:4px 6px;font-size:13px}.row-actions{align-items:center;gap:6px;display:inline-flex}.members-table .member-row-actions{display:none}.members-table.actions-visible .member-row-actions{display:inline-flex}.members-table .member-status-view{background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;align-items:center;gap:6px;padding:3px 9px;font-size:12px;font-weight:600;line-height:1.35;display:inline-flex}.members-table .member-status-view:before{content:"";opacity:.82;background:currentColor;border-radius:50%;flex:none;width:6px;height:6px}.members-table .member-status-edit{display:none}.members-table.actions-visible .member-status-edit{display:inline-flex}.members-table.actions-visible .member-status-view{display:none}.member-edit-toggle{min-width:56px}.field input,.field select,.field textarea{border:1px solid var(--border);color:var(--text);background:#fff;border-radius:9px;width:100%;padding:8px 11px;font-family:inherit;font-size:14px}.field textarea{resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--primary);outline:2px solid #f6cdaa}.field-wide{grid-column:1/-1}.filter-links{border:1px solid var(--border);background:#fff;border-radius:10px;gap:6px;margin-bottom:14px;padding:4px;display:inline-flex}.filter-link{color:var(--muted);border-radius:7px;padding:5px 14px;font-size:13.5px}.filter-link:hover{background:#f1f5f9}.filter-link.active{color:var(--primary);background:#fef1e4;font-weight:600}.task-title{font-size:14.5px;font-weight:600}.task-desc{color:var(--muted);max-width:320px;margin-top:3px;font-size:12.5px}.task-priority{white-space:nowrap;border-radius:999px;padding:2px 9px;font-size:12px;font-weight:600;display:inline-block}.assignee-none{color:#94a3b8}.due-overdue{color:var(--danger);font-weight:600}.progress-row{align-items:center;gap:8px;display:flex}.progress-bar{background:#e2e8f0;border-radius:999px;flex:1;min-width:70px;max-width:130px;height:7px;overflow:hidden}.progress-fill{border-radius:999px;height:100%;display:block}.num-sm{border:1px solid var(--border);border-radius:7px;font-size:13px;width:74px!important;padding:4px 6px!important}.status-edit{flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;display:flex}.my-task{border-bottom:1px solid #f1f5f9;align-items:center;gap:12px;padding:9px 0;display:flex}.my-task:last-child{border-bottom:none}.my-task-emoji{font-size:17px}.my-task-main{flex:1;min-width:0}.my-task-title{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.my-task-meta{align-items:center;gap:10px;margin-top:4px;display:flex}.my-task-bar{background:#e2e8f0;border-radius:999px;width:90px;height:6px;overflow:hidden}.my-task-fill{border-radius:999px;height:100%;display:block}.my-task-sub{color:var(--muted);white-space:nowrap;font-size:12px}.card-head-row{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.card-head-row h2{margin:0}.card-head-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.person-chip{color:#a8380a;background:#fef1e4;border-radius:999px;align-items:center;gap:4px;margin:0 6px 6px 0;padding:3px 8px 3px 12px;font-size:13px;font-weight:500;display:inline-flex}.chip-me{opacity:.7;font-size:12px;font-style:normal}.chip-form{display:inline-flex}.chip-form button{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:50%;padding:2px 5px;font-size:13px;line-height:1}.chip-form button:hover{color:var(--danger);background:#fee2e2}.duty-note{color:#475569;font-size:13px}.duty-manage{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.notice-banner{color:#9a3412;border-radius:var(--radius);background:linear-gradient(135deg,#fff7ed,#ffedd5);border:1px solid #fed7aa;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px;padding:12px 16px;display:flex}.notice-banner strong{margin-right:8px}.notice-banner .btn{color:#9a3412;background:#fff;border-color:#fdba74}.notice-banner .btn:hover{background:#ffedd5}@media (max-width:640px){.topbar-inner{flex-wrap:wrap;row-gap:4px;height:auto;padding:8px 12px}.topbar-inner .brand,.brand-mark{font-size:18px}.brand-mark-img{width:34px;height:34px}.topbar-user{order:2;gap:6px;margin-left:auto}.user-chip{font-size:13.5px}.role-badge{padding:1px 6px;font-size:10px}.nav{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;flex-basis:100%;order:3;gap:2px;padding-bottom:2px;overflow-x:auto}.nav::-webkit-scrollbar{display:none}.nav-link{white-space:nowrap;padding:6px 10px;font-size:13.5px}.container{padding:14px 10px 32px}.card{padding:14px}.form-grid{grid-template-columns:1fr}.page-head h1{font-size:19px}h2{font-size:15px}.stat-num{font-size:20px}.login-card{padding:26px 20px}.week-leader-cell{white-space:normal}.inline-form,.row-actions{flex-wrap:wrap}.duty-manage{width:100%}}.type-cell{flex-wrap:wrap;align-items:center;gap:5px 8px;min-width:0;padding:2px 0;display:flex}.type-head{justify-content:flex-start;align-items:center;gap:6px;margin-bottom:0;display:inline-flex}.type-label{font-size:13px;font-weight:700}.type-count{color:var(--muted);white-space:nowrap;font-size:12px}.type-chips{flex-wrap:wrap;gap:5px;margin-bottom:0;display:inline-flex}.type-cell .person-chip{margin:0}.type-action{align-items:center;gap:5px;margin-top:0;display:inline-flex}.week-row td{border-top:1px solid var(--border);background:#f8fafc}.week-leader-cell{flex-wrap:wrap;align-items:center;gap:8px;display:flex;padding:8px 10px!important}.week-badge{color:#a8380a;white-space:nowrap;background:#fef1e4;border-radius:999px;padding:2px 9px;font-size:12px;font-weight:700}.week-range{color:var(--muted);font-size:12px}.leader-chip{color:#b45309;background:#fffbeb;border-radius:999px;padding:2px 11px;font-size:13px;font-weight:700}.week-leader-form{margin-left:auto}@media (max-width:640px){.table thead{display:none}.table,.table tbody,.table tr,.table td{width:100%;display:block}.table tbody{padding:0}.table tr{border:1px solid var(--border);background:#fff;border-radius:12px;margin:0 0 10px;padding:4px 0}.table td{border:none;border-bottom:1px dashed #eef2f7;flex-direction:column;align-items:stretch;padding:8px 12px;display:flex}.table td:last-child{border-bottom:none}.table td:before{content:attr(data-label);color:var(--muted);margin-bottom:3px;font-size:11px;font-weight:700}.table td[data-label]:before{content:attr(data-label)}.table tbody tr:hover{background:#fff}.week-row{margin:4px 0 2px;background:0 0!important;border:none!important}.week-row td{background:#fef1e4;border:none!important}.week-leader-cell{flex-wrap:wrap}.week-leader-form{width:100%;margin-left:0}.table-wrap{overflow:visible}}body{-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;letter-spacing:.2px;line-height:1.7}h1{letter-spacing:.5px}h2{letter-spacing:.3px}.page-head h1{color:#0f172a;font-weight:800}.card h2{color:#1e293b;font-weight:700}.muted{font-size:13px;line-height:1.7}.field label{color:#475569;letter-spacing:.3px;font-size:12.5px;font-weight:600}.btn{letter-spacing:.4px;font-weight:500}.stat-label{letter-spacing:.4px}.table th{letter-spacing:.6px;color:#64748b;font-size:12px}.table td{line-height:1.6}.feed-item p{line-height:1.65}.cell-sub{line-height:1.55}.task-title{line-height:1.5}.task-desc{line-height:1.65}.nav-link{letter-spacing:.3px}.footer{letter-spacing:.6px}.status-badge,.task-priority,.person-chip{letter-spacing:.4px}.login-brand h1{letter-spacing:1px;font-weight:800}.login-brand p{letter-spacing:.6px}.login-hint{line-height:1.8}.type-label{letter-spacing:.5px}.week-range{letter-spacing:.3px}.my-task-title{line-height:1.5}.my-task-sub{letter-spacing:.2px}.sort-list{flex-direction:column;gap:8px;display:flex}.sort-item{border:1px solid var(--border);background:#fff;border-radius:10px;align-items:center;gap:10px;padding:9px 12px;display:flex}.sort-item.dragging{opacity:.45;border-color:var(--primary)}.drag-handle{cursor:grab;color:#94a3b8;-webkit-user-select:none;user-select:none;touch-action:none;font-size:17px}.sort-item-name{flex:1;font-weight:600}.sort-arrows{gap:4px;display:inline-flex}.table th{white-space:nowrap}.table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}th,td{vertical-align:middle}.table{min-width:640px}.nav{flex-wrap:nowrap}.nav-link{white-space:nowrap;flex-shrink:0}.topbar-inner{flex-wrap:nowrap}@media (max-width:900px){.nav{overflow-x:auto}.topbar-inner{flex-wrap:wrap}}.cell-name,.task-title,.my-task-title,.brand,.user-chip,.sort-item-name,.leader-chip,.status-badge,.task-priority,.mini-badge,.week-badge{white-space:nowrap}.person-chip{white-space:nowrap}.type-chips{flex-wrap:wrap;gap:6px;display:flex}.table td{overflow-wrap:anywhere}.cell-name{text-overflow:clip;max-width:none;overflow:visible}.login-brand h1{white-space:normal;font-size:clamp(18px,5.2vw,22px);line-height:1.5}.login-brand p{white-space:normal}h1,h2,.footer,.page-head,.muted{overflow-wrap:anywhere}.footer{line-height:1.7}.search-bar{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.search-bar input[type=search]{border:1px solid var(--border);border-radius:9px;flex:1;min-width:220px;padding:8px 12px;font-size:14px}.search-bar input:focus{border-color:var(--primary);outline:2px solid #f6cdaa}@media (max-width:640px){.table,.table tbody,.table tr,.table td{width:100%;display:block}.table{min-width:0!important}.table-wrap{overflow:visible}.table thead{display:none}.table tr{background:#fff;border:1px solid #e2e8f0;border-radius:14px;margin:0 0 14px;padding:10px 4px;box-shadow:0 1px 4px #0f172a0f}.table td{border:none;border-bottom:1px dashed #eef2f7;flex-direction:column;align-items:stretch;gap:2px;padding:9px 12px;display:flex}.table td:last-child{border-bottom:none}.table td:before{content:attr(data-label);color:#64748b;letter-spacing:.4px;margin-bottom:4px;font-size:11px;font-weight:700}.table td[data-label]:before{content:attr(data-label)}.table td:not([data-label]):before{content:"";display:none}.docs-table tbody tr{border-radius:11px;margin-bottom:9px;padding:8px 10px;box-shadow:0 1px 3px #0f172a0d}.docs-table td{border-bottom:0;grid-template-columns:58px minmax(0,1fr);align-items:baseline;gap:6px;font-size:12px;line-height:1.4;display:grid;padding:2px 0!important}.docs-table td:before{color:#94a3b8;margin:0;font-size:10.5px;font-weight:600;line-height:1.4}.docs-table td[data-label=文件]{border-bottom:1px dashed #eef2f7;margin-bottom:3px;display:block;padding-bottom:5px!important}.docs-table td[data-label=文件]:before{display:none}.docs-table td[data-label=上传者],.docs-table td[data-label=所属作业],.docs-table td[data-label="大小 / 时间"]{color:#64748b;font-size:11.5px}.docs-table td[data-label="大小 / 时间"]{flex-flow:wrap;align-items:baseline;gap:6px;display:flex}.docs-table td[data-label="大小 / 时间"]:before{flex:none;width:58px;display:inline-block}.docs-table .task-title{font-size:14px;line-height:1.35}.docs-table .cell-sub{margin-top:1px;font-size:10.5px;line-height:1.35}.docs-table .row-pick{width:15px;height:15px;margin-right:6px}.docs-table .row-actions{gap:5px;margin-top:4px}.docs-table .row-actions .btn{border-radius:6px;padding:3px 8px;font-size:11.5px}}.profile-view{flex-direction:column;gap:2px;display:flex}.profile-row{border-bottom:1px dashed #eef2f7;justify-content:space-between;gap:16px;padding:11px 2px;display:flex}.profile-row:last-child{border-bottom:none}.profile-row span{color:var(--muted);font-size:13.5px}.profile-row b{text-align:right;font-weight:600}.hw-list{flex-direction:column;gap:12px;display:flex}.hw-item{border:1px solid #eef1f5;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px;display:flex}.hw-item-main{flex:220px}.upload-form{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.upload-form input[type=file]{max-width:220px;font-size:13px}.check-list{flex-wrap:wrap;gap:10px 16px;padding-top:4px;display:flex}.check-item{align-items:center;gap:6px;font-size:14px;display:inline-flex}.hw-new summary{cursor:pointer;display:inline-block}.folder-list{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.folder-chip{background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:13px;display:inline-flex}.folder-chip form{display:inline}.check-toolbar{align-items:center;gap:12px;margin:2px 0;display:flex}.check-toolbar .check-all{color:#475569;cursor:pointer;align-items:center;gap:6px;font-size:13px;font-weight:600;display:inline-flex}.check-list{grid-template-columns:repeat(auto-fill,minmax(175px,1fr));gap:8px 16px;padding-top:6px;display:grid}.check-list .check-item{min-width:0;color:var(--text);align-items:center;gap:8px;font-size:14px;font-weight:500;line-height:1.4;display:flex}.check-list .check-item span{white-space:normal;overflow-wrap:anywhere}.check-toolbar .check-all span{white-space:nowrap}@media (max-width:640px){.check-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px}}.check-list input[type=checkbox],.check-all input[type=checkbox]{width:16px;min-width:16px;height:16px;accent-color:var(--primary);border-radius:4px;flex:none;margin:0;padding:0}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px;display:grid}.gallery-item{background:#fff;border:1px solid #eef1f5;border-radius:10px;flex-direction:column;margin:0;display:flex;overflow:hidden}.gallery-thumb{aspect-ratio:1;background:#f1f5f9;width:100%;display:block}.gallery-thumb img{object-fit:cover;width:100%;height:100%;display:block}.gallery-title{overflow-wrap:anywhere;margin-bottom:2px;font-size:13px;font-weight:600}.batch-bar{background:#f8fafc;border:1px dashed #e2e8f0;border-radius:10px;flex-wrap:wrap;align-items:center;gap:12px;margin:0 0 12px;padding:8px 10px;display:flex}.batch-bar .check-all{color:#475569;cursor:pointer;align-items:center;gap:6px;font-size:13px;font-weight:600;display:inline-flex}.batch-bar input[type=checkbox]{width:16px;min-width:16px;height:16px;accent-color:var(--primary);margin:0}.row-pick{vertical-align:middle;width:16px;height:16px;accent-color:var(--primary);margin:0 8px 0 0}.gallery-item{position:relative}.gallery-pick{z-index:2;width:18px;height:18px;accent-color:var(--primary);margin:0;position:absolute;top:8px;left:8px}.batch-move{align-items:center;gap:6px;display:inline-flex}.mem-bar{background:#e2e8f0;border-radius:999px;height:10px;margin:4px 0 8px;overflow:hidden}.mem-fill{background:linear-gradient(90deg,#22c55e,#eab308,#ef4444) 0 0/300% 100%;height:100%;display:block}.mem-nums{color:#475569;flex-wrap:wrap;gap:8px 18px;font-size:13px;display:flex}.mem-free{color:#16a34a}.sys-row{margin-bottom:14px}.sys-row:last-child{margin-bottom:0}.sys-label{color:#475569;font-size:13px;font-weight:600}.status-modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a6b;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.status-modal{background:#fff;border:1px solid #e8edf5;border-radius:18px;width:min(520px,100%);max-height:min(78vh,680px);padding:18px;overflow:auto;box-shadow:0 22px 55px #0f172a38}.status-modal-head{border-bottom:1px solid #eef2f7;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;padding-bottom:12px;display:flex}.status-modal-head h2{margin:0 0 2px;font-size:17px}.status-modal-close{color:#64748b;cursor:pointer;background:#f1f5f9;border:0;border-radius:50%;place-items:center;width:32px;height:32px;padding:0;font-size:22px;line-height:1;display:grid}.status-modal-close:hover{color:#0f172a;background:#e2e8f0}.status-member-list{flex-direction:column;gap:8px;display:flex}.status-member-item{border:1px solid #eef2f7;border-left:3px solid var(--border);background:#fff;border-radius:12px;padding:10px 12px}.status-member-name{align-items:center;gap:8px;font-size:14.5px;font-weight:700;display:flex}.status-member-name .mini-badge{margin-left:0}.status-member-meta{color:#64748b;margin-top:3px;font-size:12px}@media (max-width:640px){.status-modal{border-radius:15px;max-height:82vh;padding:14px}.status-modal-head h2{font-size:16px}.status-member-item{padding:9px 10px}}.btn-danger{color:#fff;background:#dc2626;border-color:#dc2626}.btn-danger:hover{background:#b91c1c;border-color:#b91c1c}.img-modal{z-index:100;background:#0f172abf;justify-content:center;align-items:center;padding:12px;display:flex;position:fixed;inset:0}.img-modal-inner{background:#fff;border-radius:12px;flex-direction:column;align-items:center;gap:10px;width:100%;max-width:560px;max-height:94vh;padding:12px;display:flex;overflow:auto}.img-modal-bar{color:#475569;justify-content:space-between;align-items:center;gap:10px;width:100%;font-size:13px;display:flex}.img-modal-pic{border:1px solid #e2e8f0;border-radius:8px;width:100%;max-width:420px;height:auto;display:block}.week-board{grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;display:grid}.day-card{background:#fff;border:1px solid #eef1f5;border-radius:10px;min-height:110px;padding:8px}.day-card.day-today{border-color:#d2691e;box-shadow:inset 0 0 0 2px #f6cdaa}.day-head{color:#334155;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:13px;font-weight:700;display:flex}.day-md{color:#94a3b8;font-weight:500}.day-line{overflow-wrap:anywhere;border-radius:6px;margin-bottom:4px;padding:3px 6px;font-size:12.5px;line-height:1.5}.day-duty{color:#166534;background:#f0fdf4}.day-hw{color:#9a3412;background:#fff7ed}.day-task{color:#8f3006;background:#fef1e4}@media (max-width:900px){.week-board{grid-template-columns:repeat(2,minmax(0,1fr))}}.past-duty{padding:0;overflow:hidden}.past-duty>summary{cursor:pointer;color:#1e293b;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;font-size:16px;font-weight:700;list-style:none;display:flex}.past-duty>summary::-webkit-details-marker{display:none}.past-arrow{color:#64748b;font-size:18px;line-height:1;transition:transform .18s}.past-duty[open] .past-arrow{transform:rotate(180deg)}.past-duty-body{padding:0 20px 20px}.duty-add{padding:0;overflow:hidden}.duty-add>summary{cursor:pointer;color:#1e293b;align-items:center;gap:8px;padding:16px 20px;font-size:16px;font-weight:700;list-style:none;display:flex}.duty-add>summary::-webkit-details-marker{display:none}.duty-add-body{padding:0 20px 20px}@media (max-width:640px){.past-duty>summary{padding:14px 16px}.past-duty-body{padding:0 12px 14px}.duty-add>summary{padding:14px 16px}.duty-add-body{padding:0 12px 14px}}.member-name-row{align-items:center;gap:6px;display:flex}.member-toggle-arrow,.member-card-toggle{display:none}@media (max-width:640px){.members-table tbody{display:block!important}.members-table tbody tr{background:#fff;border:1px solid #eef1f5;border-radius:14px;width:100%;min-width:0;margin:0 0 10px;padding:12px 14px;display:block}.members-table td{font-size:12px;line-height:1.35;border-bottom:none!important;padding:1px 0!important}.members-table td[data-label=部门],.members-table td[data-label=所在地],.members-table td:not(.member-main-cell){display:none!important}.members-table tbody tr:has(.member-card-toggle:checked) td:not(.member-main-cell){border-bottom:1px dashed #eef2f7;padding:7px 0!important;display:block!important}:is(.members-table tbody tr:has(.member-card-toggle:checked) td[data-label=部门],.members-table tbody tr:has(.member-card-toggle:checked) td[data-label=所在地]){display:none!important}.members-table tbody tr:has(.member-card-toggle:checked) td:not(.member-main-cell):last-child{border-bottom:0;padding-bottom:0!important}.members-table td[data-label]:before{content:attr(data-label) "：";color:#94a3b8;margin-right:2px;font-size:10.5px;display:inline!important}.members-table td:not([data-label]):before{display:none!important}.members-table .member-main-cell{padding:0!important}.members-table .member-name-row{cursor:pointer;gap:8px;min-height:28px}.members-table .cell-name{font-size:16.5px;line-height:1.25}.members-table .member-role-badge{margin-left:0;padding:2px 7px;font-size:11px}.members-table .member-toggle-arrow{color:#94a3b8;justify-content:center;align-items:center;width:24px;height:24px;margin-left:auto;font-size:18px;line-height:1;transition:transform .18s;display:inline-flex}.members-table tbody tr:has(.member-card-toggle:checked) .member-toggle-arrow{transform:rotate(180deg)}.members-table .member-card-toggle{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.members-table .member-self-extra{margin-top:4px;display:none!important}.members-table tbody tr:has(.member-card-toggle:checked) .member-self-extra{display:block!important}.members-table .member-college-cell{color:#1e293b;font-size:15px;font-weight:600;line-height:1.4}.members-table .member-info-line{align-items:flex-start;gap:2px;line-height:1.45;display:flex}.members-table .member-info-label{color:#94a3b8;flex:none;font-size:10.5px;font-weight:500}.members-table .member-phone,.members-table .qq-line{margin-top:3px;font-size:14.5px;font-weight:600;line-height:1.45;display:block!important}.members-table .member-status-view{gap:4px;padding:2px 7px;font-size:11px}.members-table .note-text{color:#64748b;white-space:normal;font-size:11.5px;font-weight:400}.members-table .member-action-cell{display:none!important}.members-table.actions-visible tbody tr:has(.member-card-toggle:checked) .member-action-cell{display:block!important}.members-table .row-actions{margin-top:4px}.members-table .row-actions .btn{border-radius:6px;padding:3px 8px;font-size:11.5px}}.folder-chip-active{border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary);background:#fef1e4}.folder-link{color:inherit;align-items:center;gap:4px;text-decoration:none;display:inline-flex}.folder-link:hover{color:var(--primary)}.folder-title{color:#334155;margin:16px 0 10px;font-size:15px;font-weight:700}.gallery-grid{column-count:4;column-gap:12px;display:block}.gallery-item{break-inside:avoid;page-break-inside:avoid;margin:0 0 12px;display:block}.gallery-thumb{aspect-ratio:auto;width:100%;display:block}.gallery-thumb img{object-fit:contain;background:#f8fafc;width:100%;height:auto;max-height:520px;display:block}@media (max-width:900px){.gallery-grid{column-count:3}}@media (max-width:640px){.gallery-grid{column-count:2;column-gap:8px}.gallery-item{border-radius:8px;margin-bottom:8px}.gallery-item figcaption{padding:6px 8px 8px}.gallery-thumb img{max-height:none}}.pick-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px;margin-top:4px;display:grid}.pick-item{border:1px solid var(--border);background:#fff;border-radius:10px;margin:0;position:relative;overflow:hidden}.pick-remove{z-index:2;color:#fff;cursor:pointer;background:#ef4444;border:2px solid #fff;border-radius:50%;place-items:center;width:24px;height:24px;padding:0;font-size:17px;line-height:1;display:grid;position:absolute;top:6px;right:6px;box-shadow:0 2px 7px #0f172a40}.pick-remove:hover{background:#dc2626}.pick-item img,.pick-file{object-fit:contain;background:#f1f5f9;justify-content:center;align-items:center;width:100%;height:110px;font-size:28px;display:flex}.pick-item figcaption{color:#6b7280;text-overflow:ellipsis;white-space:nowrap;padding:4px 6px;font-size:11.5px;overflow:hidden}.folder-create-form{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;margin:2px 0 12px;display:flex}.folder-create-form .form-error,.folder-create-form .form-success{flex:1 0 100%;margin:0}.folder-create-form input{min-width:0;height:42px;color:var(--text);background:#fffcf9;border:1px solid #dbe3ef;border-radius:12px;outline:none;flex:1;padding:0 13px;font-family:inherit;font-size:14px;transition:border-color .15s,box-shadow .15s,background .15s;box-shadow:inset 0 1px 2px #0f172a08}.folder-create-form input::placeholder{color:#94a3b8}.folder-create-form input:focus{border-color:var(--primary);background:#fff;box-shadow:0 0 0 3px #d2691e1f}.folder-create-form .btn{white-space:nowrap;flex:none}.folder-chip-deletable{-webkit-user-select:none;user-select:none;touch-action:manipulation;position:relative}.folder-delete-x{z-index:5;margin:0;position:absolute;top:-8px;right:-8px}.folder-delete-x button{color:#fff;width:24px;height:24px;font:inherit;cursor:pointer;background:#ef4444;border:2px solid #fff;border-radius:50%;place-items:center;padding:0;font-size:18px;line-height:1;display:grid;box-shadow:0 2px 8px #0f172a3d}.folder-delete-x button:hover{background:#dc2626}@media (max-width:640px){.folder-create-form{gap:7px}.folder-create-form input{flex-basis:100%}.folder-create-form .btn{width:100%}}.field .upload-title-input{background:#fffcf9;border:1px solid #dbe3ef;border-radius:12px;min-height:42px;transition:border-color .15s,box-shadow .15s,background .15s;box-shadow:inset 0 1px 2px #0f172a08}.field .upload-title-input:focus{border-color:var(--primary);background:#fff;box-shadow:0 0 0 3px #d2691e1f,inset 0 1px 2px #0f172a05}.file-pick-label{color:#475569;letter-spacing:.3px;margin-bottom:1px;font-size:12.5px;font-weight:600;display:block}.file-pick{cursor:pointer;background:linear-gradient(135deg,#fffaf5 0%,#fef6ee 100%);border:1.5px dashed #f6cdaa;border-radius:15px;align-items:center;gap:14px;width:100%;min-height:82px;padding:14px 16px;transition:border-color .15s,background .15s,box-shadow .15s;display:flex;position:relative}.file-pick:hover,.file-pick:focus-within{border-color:var(--primary);background:linear-gradient(135deg,#fef1e4 0%,#fef6ee 100%);box-shadow:0 0 0 3px #d2691e1a}.field .file-pick-input{opacity:0;pointer-events:none;border:0;width:1px;min-width:1px;height:1px;margin:0;padding:0;position:absolute;overflow:hidden}.field .file-pick-input:focus{outline:none}.file-pick-btn{background:var(--primary);color:#fff;border-radius:10px;flex:none;justify-content:center;align-items:center;padding:10px 15px;font-size:13px;font-weight:700;display:inline-flex;box-shadow:0 6px 14px #c0440c33}.file-pick-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.file-pick-copy b{color:#334155;font-size:13.5px;line-height:1.35}.file-pick-copy small{color:#64748b;font-size:11.5px;line-height:1.35}.gallery-item{background:#fff;border:0;border-radius:14px;transition:border-color .15s,box-shadow .15s,transform .15s;box-shadow:0 7px 22px #0f172a0e}.gallery-thumb{background:#f8fafc;outline:none;padding:8px}.gallery-thumb img{border:0;border-radius:10px}.gallery-thumb:focus-visible{box-shadow:inset 0 0 0 2px var(--primary);border-radius:10px}.gallery-pick{appearance:none;cursor:pointer;background:#0f172a61;border:2px solid #fffffff2;border-radius:6px;place-items:center;width:20px;height:20px;display:grid;box-shadow:0 2px 6px #0f172a3d}.gallery-pick:checked{background:var(--primary);border-color:#fff}.gallery-pick:after{content:"";opacity:0;border:2px solid #fff;border-width:0 2px 2px 0;width:5px;height:9px;transform:rotate(45deg)translateY(-1px)}.gallery-pick:checked:after{opacity:1}.gallery-pick:focus-visible{outline-offset:2px;outline:3px solid #d2691e73}.gallery-item figcaption{padding:10px 12px 12px}.gallery-title{margin-bottom:3px;font-size:13.5px;line-height:1.45}.gallery-item .cell-sub{font-size:11.5px;line-height:1.45}.gallery-item .row-actions{gap:6px;margin-top:8px}@media (hover:hover){.gallery-item:hover{transform:translateY(-2px);box-shadow:0 10px 28px #c0440c1f}}@media (max-width:640px){.file-pick{border-radius:13px;flex-direction:column;align-items:stretch;gap:10px;padding:12px}.file-pick-btn{width:100%}.gallery-item{border-radius:10px}.gallery-thumb{padding:5px}.gallery-item figcaption{padding:7px 8px 8px}.gallery-title{font-size:12px}}.camera-delete-toggle{min-width:82px}.cameras-table .camera-delete-control{display:none}.cameras-table.delete-mode .camera-delete-control{display:inline-flex}.camera-delete-btn{border-radius:50%;place-items:center;width:32px;height:32px;padding:0;display:grid}.duty-image-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.duty-image-actions select{min-width:150px;max-width:240px}@media (max-width:640px){.duty-image-actions{justify-content:stretch;width:100%}.duty-image-actions select{flex:1;min-width:0}}.apply-page{background:linear-gradient(135deg,#fef1e4 0%,#f8fafc 50%,#fff5ea 100%);min-height:100vh;padding:24px 14px}.apply-card{background:#fff;border:1px solid #e2e8f0;border-radius:20px;width:100%;max-width:760px;margin:0 auto;padding:24px;box-shadow:0 16px 45px #0f172a14}.apply-brand{border-bottom:1px solid #eef2f7;align-items:center;gap:14px;margin-bottom:8px;padding-bottom:18px;display:flex}.apply-brand img{object-fit:contain;width:72px;height:72px}.apply-brand h1{margin:0;font-size:23px}.apply-brand p{color:#64748b;margin:3px 0 0;font-size:13px}.apply-form-section{border-top:1px solid #eef2f7;padding:18px 0}.apply-form-section:first-of-type{border-top:0;padding-top:0}.apply-form-section h2{margin-bottom:12px}.apply-form textarea{border:1px solid var(--border);width:100%;color:var(--text);font:inherit;resize:vertical;background:#fff;border-radius:9px;padding:9px 11px}.apply-form textarea:focus{border-color:var(--primary);outline:2px solid #f6cdaa}.apply-submit{width:100%;margin-top:18px}.apply-success{text-align:center;padding:56px 16px}.apply-success-icon{color:#16a34a;width:46px;height:46px}.apply-success h2{margin:12px 0 6px}.apply-success p{margin:4px 0}.apply-qr-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.apply-qr-item{text-align:center;background:#fff;border:1px solid #eef1f5;border-radius:14px;padding:14px}.apply-qr-item h3{margin:0 0 10px;font-size:15px}.apply-qr-item img{aspect-ratio:1;width:100%;max-width:220px;margin:0 auto 10px;display:block}.application-list{flex-direction:column;gap:12px;display:flex}.application-item{background:#fff;border:1px solid #eef1f5;border-radius:14px;padding:0;overflow:hidden}.application-item-head{cursor:pointer;justify-content:space-between;align-items:center;gap:10px;padding:14px;list-style:none;display:flex}.application-item-head::-webkit-details-marker{display:none}.application-item-head strong{font-size:16px}.application-arrow{color:#94a3b8;transition:transform .18s}.application-item[open] .application-arrow{transform:rotate(180deg)}.application-item-body{padding:0 14px 14px}.application-item-meta{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.application-item-head strong{margin-right:8px;font-size:16px}.application-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 12px;margin:12px 0;display:grid}.application-grid div{flex-direction:column;gap:2px;display:flex}.application-grid b,.application-text b{color:#64748b;font-size:12px}.application-grid span{font-size:13.5px}.application-text{border-top:1px dashed #eef2f7;margin-top:8px;padding-top:8px}.application-text p{white-space:pre-wrap;margin:3px 0 0;font-size:13.5px}.application-files{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}@media (max-width:800px){.apply-qr-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.apply-page{padding:12px}.apply-card{border-radius:16px;padding:16px}.apply-brand{align-items:flex-start}.apply-brand img{width:58px;height:58px}.apply-brand h1{font-size:19px}.apply-qr-grid{gap:8px}.apply-qr-item{padding:10px}.application-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.apply-qr-actions{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.dept-filters{flex-wrap:wrap;gap:6px;margin:6px 0 10px;display:flex}.dept-filter{color:#64748b;font:inherit;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:999px;padding:5px 11px;font-size:12.5px}.dept-filter:hover{color:var(--primary);border-color:#f6cdaa}.dept-filter.active{border-color:var(--primary);color:var(--primary);background:#fef1e4;font-weight:600}.docs-table td[data-label=文件]{min-width:0}.docs-table td[data-label=文件] .task-title{max-width:100%;white-space:normal!important;overflow-wrap:anywhere!important;word-break:break-word!important}.docs-table td[data-label=文件] .cell-sub{white-space:normal;overflow-wrap:anywhere;word-break:break-word}.org-chart-scroll{overflow:visible}.org-chart-scroll img{background:#fff;border:1px solid #e8edf5;border-radius:14px;width:100%;min-width:0;height:auto;display:block}.week-picker{background:#fff;border:1px solid #e2e8f0;border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;padding:12px 14px;display:flex}.week-picker label{color:#64748b;font-size:13px;font-weight:600}.week-picker input{border:1px solid var(--border);font:inherit;border-radius:8px;padding:6px 9px}.wechat-stats-table .task-title{white-space:normal;overflow-wrap:anywhere}.wechat-summary{white-space:normal;overflow-wrap:anywhere;max-width:360px}.wechat-stat-add{padding:0;overflow:hidden}.wechat-stat-add>summary{cursor:pointer;color:#1e293b;padding:16px 20px;font-weight:700;list-style:none}.wechat-stat-add>summary::-webkit-details-marker{display:none}.wechat-stat-editor-body{padding:0 20px 20px}.wechat-stat-edit-list{flex-direction:column;gap:9px;display:flex}.wechat-stat-edit-item{background:#fff;border:1px solid #eef1f5;border-radius:12px}.wechat-stat-edit-item>summary{cursor:pointer;color:#334155;padding:12px 14px;font-weight:600}.wechat-stat-editor-form{padding:0 14px 12px}.wechat-stat-delete{padding:0 14px 14px}@media (max-width:640px){.week-picker{align-items:stretch}.week-picker label{width:100%}.week-picker input{flex:1}}.wechat-day-list{flex-direction:column;gap:0;display:flex}.wechat-day-card{margin-bottom:14px}.wechat-day-card .card-head-row{border-bottom:1px solid #eef2f7;margin-bottom:10px;padding-bottom:8px}.wechat-day-add{border-top:1px dashed #e2e8f0;margin-top:12px;padding:0}.wechat-day-add>summary{cursor:pointer;color:var(--primary);padding:12px 0 4px;font-weight:700}.wechat-day-add .wechat-stat-editor-form{padding-top:12px}.wechat-stats-table .wechat-summary{white-space:normal;overflow-wrap:anywhere;max-width:360px}.wechat-inline-edit{display:block}.wechat-inline-edit>summary{padding:4px 10px;display:inline-flex}.wechat-inline-edit[open]{background:#fff;border:1px solid #e2e8f0;border-radius:10px;min-width:520px;padding:12px;position:relative;box-shadow:0 8px 24px #0f172a14}.wechat-fixed-date{color:#475569;background:#f8fafc;border:1px solid #e2e8f0;border-radius:9px;padding:8px 11px;font-size:14px}@media (max-width:640px){.wechat-inline-edit[open]{min-width:0}}.export-week-picker input{border:1px solid var(--border);font:inherit;background:#fff;border-radius:9px;padding:7px 10px}.wechat-stat-fields-stack{grid-template-columns:1fr}.wechat-row-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.wechat-stat-edit-page{max-width:820px}.wechat-edit-actions{flex-direction:row;align-items:center}@media (max-width:640px){.wechat-edit-actions{flex-direction:column;align-items:stretch}.wechat-row-actions{flex-wrap:nowrap}}.wechat-stats-table td[data-label=阅读量],.wechat-stats-table td[data-label=转发量],.wechat-stats-table td[data-label=评论量（页面）],.wechat-stats-table td[data-label=评论量（后台数据）],.wechat-stats-table td[data-label=粉丝数量]{white-space:nowrap;font-variant-numeric:tabular-nums;min-width:7ch;overflow:visible}.wechat-stat-fields input[type=number]{appearance:textfield;min-width:0}.wechat-stat-fields input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.wechat-stat-fields input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}@media (min-width:641px){.wechat-stats-table{min-width:1120px}}.wechat-stat-list{flex-direction:column;gap:8px;display:flex}.wechat-stat-item{background:#fff;border:1px solid #eef1f5;border-radius:12px;overflow:hidden}.wechat-stat-item>summary{cursor:pointer;color:#26324a;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;font-weight:700;list-style:none;display:flex}.wechat-stat-item>summary::-webkit-details-marker{display:none}.wechat-stat-title{overflow-wrap:anywhere;align-items:center;min-width:0;display:flex}.wechat-stat-seq{color:#b93a06;background:#fdeadd;border-radius:999px;flex:none;justify-content:center;align-items:center;min-width:24px;height:24px;margin-right:8px;font-size:12px;display:inline-flex}.wechat-stat-arrow{color:#94a3b8;flex:none;transition:transform .18s}.wechat-stat-item[open] .wechat-stat-arrow{transform:rotate(180deg)}.wechat-stat-detail{border-top:1px dashed #eef2f7;padding:0 14px 14px}.wechat-stat-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;padding-top:12px;display:grid}.wechat-stat-detail-grid>div{min-width:0}.wechat-stat-detail-grid .wide{grid-column:1/-1}.wechat-stat-detail-grid span{color:#94a3b8;margin-bottom:3px;font-size:11.5px;display:block}.wechat-stat-detail-grid strong,.wechat-stat-detail-grid p{color:#334155;overflow-wrap:anywhere;margin:0;font-size:14px;line-height:1.5;display:block}.wechat-stat-item-actions{justify-content:flex-end;margin-top:12px;display:flex}.wechat-edit-delete{margin-left:auto}@supports (grid-template-columns:subgrid){.wechat-stat-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.wechat-stat-detail-grid{grid-template-columns:1fr}.wechat-edit-delete{width:100%;margin-left:0}.wechat-edit-delete form,.wechat-edit-delete .btn{width:100%}}.export-week-picker{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.week-select-wrap{align-items:center;display:inline-flex;position:relative}.week-select-wrap select{appearance:none;color:#7c2905;min-width:250px;font:inherit;background:linear-gradient(#fff 0%,#fff8f1 100%);border:1px solid #f7d3b5;border-radius:13px;padding:10px 40px 10px 15px;font-size:14px;font-weight:600;transition:border-color .15s,box-shadow .15s,transform .15s;box-shadow:0 1px 3px #b93a0614}.week-select-wrap select:focus{border-color:#d2560f;outline:none;box-shadow:0 0 0 3px #d2560f2e}.week-select-wrap:after{content:"";pointer-events:none;border-bottom:2px solid #b93a06;border-right:2px solid #b93a06;width:8px;height:8px;position:absolute;top:50%;right:15px;transform:translateY(-65%)rotate(45deg)}.week-picker input[type=week]{color:#334155;min-width:220px;font:inherit;background:#fffcf9;border:1px solid #dbe3ef;border-radius:11px;padding:9px 12px;font-weight:600;transition:border-color .15s,box-shadow .15s,background .15s;box-shadow:inset 0 1px 2px #0f172a08}.week-picker input[type=week]:focus{border-color:var(--primary);background:#fff;outline:none;box-shadow:0 0 0 3px #d2691e24}@media (max-width:640px){.export-week-picker{align-items:stretch;width:100%}.week-select-wrap,.week-select-wrap select,.week-picker input[type=week],.export-week-picker .btn{width:100%}}.week-select-wrap select{color:#8f3006;background:linear-gradient(#fff 0%,#fef1e4 100%);border-color:#f6cdaa}.week-select-wrap select:hover{border-color:#e8ab74;box-shadow:0 4px 12px #c0440c1f}.week-select-wrap select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #c0440c2e}.week-select-wrap:after{border-right-color:var(--primary);border-bottom-color:var(--primary)}.week-picker{background:linear-gradient(#fff 0%,#fef1e4 100%);border-color:#f6cdaa}.week-picker input[type=week]:hover{border-color:#e8ab74}.week-picker input[type=week]:focus{border-color:var(--primary);box-shadow:0 0 0 3px #c0440c24}.member-dept-filter{scrollbar-width:none;gap:8px;margin-bottom:6px;padding:0 0 10px;display:flex;overflow-x:auto}.member-dept-filter::-webkit-scrollbar{display:none}.member-dept-filter .filter-link{color:#64748b;white-space:nowrap;background:#fff;border:1px solid #e2e8f0;border-radius:999px;flex:none;padding:7px 14px;font-size:13px;font-weight:600}.member-dept-filter .filter-link.active{border-color:var(--primary);color:var(--primary);background:#fef1e4;box-shadow:0 2px 8px #c0440c1f}@media (max-width:640px){.members-table tbody tr:has(.member-card-toggle:checked) td[data-label]:not([data-label=所在地]){color:#334155;border-bottom:1px dashed #eef2f7;align-items:flex-start;gap:8px;font-size:14px;font-weight:500;line-height:1.5;padding:8px 0!important;display:flex!important}.members-table tbody tr:has(.member-card-toggle:checked) td[data-label=部门]{display:flex!important}.members-table .member-college-cell{color:#334155!important;font-size:14px!important;font-weight:500!important;line-height:1.5!important}.members-table .member-info-label{color:#64748b;flex:0 0 64px;font-size:12px;font-weight:500}.members-table .member-phone,.members-table .qq-line,.members-table .note-text{color:#334155!important;white-space:normal!important;max-width:none!important;font-size:14px!important;font-weight:500!important;line-height:1.5!important}.members-table .member-status-view{padding:3px 9px;font-size:13px}.members-table tbody tr:has(.member-card-toggle:checked) td[data-label]:not([data-label=所在地]){gap:4px;font-size:14px;line-height:1.35;border-bottom:0!important;padding:4px 0!important}.members-table .member-college-cell{padding:5px 0!important;line-height:1.35!important}.members-table .member-phone,.members-table .qq-line,.members-table .note-text{margin-top:0!important;font-size:14px!important;line-height:1.35!important}.members-table tbody tr:has(.member-card-toggle:checked) td[data-empty="1"]{display:none!important}.members-table tbody tr:has(.member-card-toggle:checked) td[data-label="联系方式 / QQ / 备注"]{grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 10px;display:grid!important}.members-table tbody tr:has(.member-card-toggle:checked) td[data-label="联系方式 / QQ / 备注"]:before{grid-column:1/-1}.members-table tbody tr:has(.member-card-toggle:checked) td[data-label="联系方式 / QQ / 备注"] .note-text{grid-column:1/-1}.members-table tbody tr:has(.member-card-toggle:checked){padding:8px 10px!important}.members-table tbody tr:has(.member-card-toggle:checked) td[data-label]:not([data-label=所在地]){gap:3px;font-size:13px;line-height:1.25;padding:2px 0!important}.members-table tbody tr:has(.member-card-toggle:checked) td[data-label]:before{flex-basis:54px;font-size:11px;line-height:1.25}.members-table .member-college-cell{padding:3px 0!important;font-size:13px!important;line-height:1.25!important}.members-table .member-info-line{gap:5px;line-height:1.25}.members-table .member-info-label{flex-basis:54px;font-size:11px;line-height:1.25}.members-table .member-phone,.members-table .qq-line,.members-table .note-text{margin:0!important;font-size:13px!important;line-height:1.25!important}.members-table tbody tr:has(.member-card-toggle:checked){padding:8px 10px!important;display:block!important}.members-table tbody tr:has(.member-card-toggle:checked) .member-main-cell{padding:0!important;display:block!important}.members-table tbody tr:has(.member-card-toggle:checked) td[data-label="联系方式 / QQ / 备注"]{flex-wrap:wrap;column-gap:8px;display:flex!important}.members-table .member-college-cell{flex-wrap:wrap;gap:0 10px;color:#334155!important;padding:1px 0!important;font-size:12.5px!important;font-weight:500!important;line-height:1.35!important;display:flex!important}.members-table .member-info-line{flex:0 auto;align-items:baseline;gap:0;line-height:1.35;display:flex}.members-table .member-phone,.members-table .qq-line,.members-table .note-text{color:#334155!important;white-space:normal!important;margin:0!important;font-size:12.5px!important;font-weight:500!important;line-height:1.35!important;display:inline!important}.members-table tbody tr:has(.member-card-toggle:checked){grid-template-columns:repeat(2,minmax(0,1fr));column-gap:10px;padding:8px 10px!important;display:grid!important}.members-table tbody tr:has(.member-card-toggle:checked) .member-main-cell{grid-column:1/-1}.members-table tbody tr:has(.member-card-toggle:checked) .member-college-cell{grid-column:1/-1}.members-table tbody tr:has(.member-card-toggle:checked) td[data-label="联系方式 / QQ / 备注"]{grid-column:1/-1}.members-table tbody tr:has(.member-card-toggle:checked) .member-action-cell{grid-column:1/-1}.members-table tbody tr:has(.member-card-toggle:checked) .member-main-cell{order:0}.members-table tbody tr:has(.member-card-toggle:checked) td[data-label=部门]{order:1}.members-table tbody tr:has(.member-card-toggle:checked) td[data-label=校区]{order:2}.members-table tbody tr:has(.member-card-toggle:checked) .member-college-cell{order:3}.members-table tbody tr:has(.member-card-toggle:checked) td[data-label=状态]{order:4}.members-table tbody tr:has(.member-card-toggle:checked) td[data-label="联系方式 / QQ / 备注"]{order:5}.members-table tbody tr:has(.member-card-toggle:checked) .member-action-cell{order:6}.members-table tbody tr:has(.member-card-toggle:checked) td[data-label]:not([data-label=所在地]){color:#334155;flex-wrap:wrap;align-items:baseline;gap:0 3px;font-size:12.5px;font-weight:500;line-height:1.3;border:0!important;padding:2px 0!important;display:flex!important}.members-table tbody tr:has(.member-card-toggle:checked) td[data-label]:before{color:#64748b;content:attr(data-label);flex:0 0 54px;margin:0;font-size:12.5px;font-weight:500;line-height:1.3;display:block!important}.members-table .member-college-cell{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 10px;color:#334155!important;padding:3px 0!important;font-size:12.5px!important;font-weight:500!important;line-height:1.3!important;display:grid!important}.members-table .member-info-line{align-items:baseline;gap:0;line-height:1.3;display:flex!important}.members-table .member-info-label{color:#64748b;flex:none;font-size:12.5px;font-weight:500;line-height:1.3}.members-table tbody tr:has(.member-card-toggle:checked) td[data-label="联系方式 / QQ / 备注"]{flex-wrap:wrap;align-items:baseline;column-gap:8px;display:flex!important}.members-table .member-phone,.members-table .qq-line,.members-table .note-text{color:#334155!important;margin:0!important;font-size:12.5px!important;font-weight:500!important;line-height:1.3!important;display:inline!important}.members-table .member-status-view{padding:1px 6px;font-size:12.5px;line-height:1.25}.members-table .member-name-row{min-height:20px}.members-table .member-action-cell{padding-top:3px!important}.members-table tbody tr:has(.member-card-toggle:checked) td[data-label]:not([data-label=所在地]){align-items:center;min-height:0;flex-direction:row!important}.members-table tbody tr:has(.member-card-toggle:checked) td[data-label="联系方式 / QQ / 备注"]{align-items:center;flex-direction:row!important}.members-table tbody tr:has(.member-card-toggle:checked) td[data-label="联系方式 / QQ / 备注"]{padding:3px 0!important;display:block!important}.members-table tbody tr:has(.member-card-toggle:checked) td[data-label="联系方式 / QQ / 备注"]:before{content:"联系方式";flex:none!important;margin:0 0 1px!important;display:block!important}:is(.members-table tbody tr:has(.member-card-toggle:checked) td[data-label="联系方式 / QQ / 备注"] .member-phone,.members-table tbody tr:has(.member-card-toggle:checked) td[data-label="联系方式 / QQ / 备注"] .qq-line,.members-table tbody tr:has(.member-card-toggle:checked) td[data-label="联系方式 / QQ / 备注"] .note-text){margin:0!important;line-height:1.35!important;display:block!important}.members-table tbody tr:has(.member-card-toggle:checked) td[data-label]:not([data-label="联系方式 / QQ / 备注"]):before{content:attr(data-label) "："}.members-table tbody tr:has(.member-card-toggle:checked) td[data-label="联系方式 / QQ / 备注"]:before{content:"联系方式"}.members-table tbody tr:has(.member-card-toggle:checked) td[data-label="联系方式 / QQ / 备注"]:not([data-label=所在地]){flex-direction:column!important;align-items:stretch!important;display:block!important}.members-table tbody tr:has(.member-card-toggle:checked) td[data-label="联系方式 / QQ / 备注"]:not([data-label=所在地]):before{width:100%!important;margin:0!important;display:block!important}:is(.members-table tbody tr:has(.member-card-toggle:checked) td[data-label="联系方式 / QQ / 备注"]:not([data-label=所在地]) .member-phone,.members-table tbody tr:has(.member-card-toggle:checked) td[data-label="联系方式 / QQ / 备注"]:not([data-label=所在地]) .qq-line,.members-table tbody tr:has(.member-card-toggle:checked) td[data-label="联系方式 / QQ / 备注"]:not([data-label=所在地]) .note-text){width:100%!important;display:block!important}.members-table .member-name-row{gap:17px}.members-table tbody tr:has(.member-card-toggle:checked) .member-main-cell{margin-bottom:7px}.members-table tbody tr:has(.member-card-toggle:checked) td[data-label]:not([data-label=所在地]){column-gap:5px;padding:5px 0!important}.members-table .member-college-cell{padding:5px 0!important}.members-table tbody tr:has(.member-card-toggle:checked) td[data-label="联系方式 / QQ / 备注"]{row-gap:5px}.members-table .member-phone,.members-table .qq-line,.members-table .note-text{margin-bottom:5px!important}.apply-form .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 8px}.apply-form .field input,.apply-form .field select{padding:8px 9px;font-size:13.5px}.apply-form .field label{font-size:12px}.apply-qr-grid-single{grid-template-columns:minmax(0,1fr)}.apply-qr-grid-single .apply-qr-item{max-width:320px;margin:0 auto}}.apply-form .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.apply-adjust-field{justify-content:flex-end}.apply-adjust-toggle{color:#475569;cursor:pointer;background:#f8fafc;border:1px solid #dbe3ef;border-radius:999px;align-items:center;gap:6px;width:max-content;padding:5px 10px;font-size:12px;font-weight:600;display:inline-flex}.apply-adjust-toggle input{width:14px;height:14px;accent-color:var(--primary);margin:0}.apply-adjust-toggle:hover{color:var(--primary);background:#fef1e4;border-color:#eeb98c}.upload-mask{z-index:9999;-webkit-backdrop-filter:blur(4px);background:#0f172a94;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0}.upload-modal{-webkit-overflow-scrolling:touch;text-align:center;background:#fff;border:1px solid #e2e8f0;border-radius:18px;width:100%;max-width:430px;max-height:calc(100vh - 36px);padding:22px 20px 20px;overflow-y:auto;box-shadow:0 24px 60px #0f172a4d}.upload-spinner{border:3px solid #fbe3cd;border-top-color:#c0440c;border-radius:50%;width:34px;height:34px;margin:0 auto 12px;animation:.8s linear infinite upload-spin}@keyframes upload-spin{to{transform:rotate(360deg)}}.upload-modal-head{justify-content:center;align-items:center;gap:8px;display:flex}.upload-modal-head svg{color:#c0440c;flex:none;width:20px;height:20px}.upload-modal-head h2{color:#1e293b;margin:0;font-size:17px;line-height:1.4}.upload-percent{color:#8f3006;letter-spacing:.5px;font-variant-numeric:tabular-nums;margin:16px 0 8px;font-size:32px;font-weight:700;line-height:1}.upload-bar{background:#fef1e4;border-radius:999px;height:10px;overflow:hidden}.upload-bar-fill{background:linear-gradient(90deg,#d2691e,#c0440c);border-radius:999px;height:100%;transition:width .18s}.upload-bar-fill.is-done{background:linear-gradient(90deg,#34d399,#059669)}.upload-meta{color:#475569;margin-top:12px;font-size:13px;line-height:1.7}.upload-meta b{color:#1e293b;font-variant-numeric:tabular-nums}.upload-current{color:#64748b;word-break:break-all;margin-top:4px;font-size:12px;line-height:1.6}.upload-modal-note{color:#64748b;text-align:left;background:#f8fafc;border:1px solid #eef2f7;border-radius:10px;margin:12px 0 0;padding:9px 12px;font-size:12.5px;line-height:1.65}.upload-list{text-align:left;border-top:1px solid #eef2f7;flex-direction:column;gap:7px;max-height:190px;margin-top:14px;padding-top:12px;display:flex;overflow-y:auto}.upload-list-item{color:#475569;align-items:center;gap:8px;font-size:12.5px;line-height:1.5;display:flex}.upload-list-item svg{color:#94a3b8;flex:none;width:15px;height:15px}.upload-list-item.is-done svg{color:#10b981}.upload-list-item.is-failed svg{color:#ef4444}.upload-list-item span{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.upload-list-item em{text-overflow:ellipsis;white-space:nowrap;color:#94a3b8;font-variant-numeric:tabular-nums;flex:none;max-width:45%;font-size:11.5px;font-style:normal;overflow:hidden}.upload-list-item.is-failed em{color:#ef4444}.upload-modal-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-top:16px;display:flex}.upload-modal-actions .upload-modal-note{text-align:center;background:0 0;border:0;margin:0}.pick-item figcaption em{color:#94a3b8;font-variant-numeric:tabular-nums;font-size:11px;font-style:normal;display:block}@media (max-width:480px){.upload-modal{border-radius:16px;padding:18px 16px 16px}.upload-percent{font-size:28px}.upload-modal-head h2{font-size:16px}.upload-list-item em{max-width:40%}}.week-select-wrap select{color:#18181b;box-shadow:none;background:#fff;border:1px solid #d4d4d8;border-radius:10px;font-weight:500}.week-select-wrap select option{color:#71717a;background:#fff}.week-select-wrap select option:checked{color:#18181b;font-weight:600}.week-select-wrap select:hover{box-shadow:none;background:#fafafa;border-color:#a1a1aa}.week-select-wrap select:focus{background:#fff;border-color:#18181b;outline:none;box-shadow:0 0 0 3px #18181b1a}.week-select-wrap select:disabled{color:#a1a1aa;background:#fafafa}.week-select-wrap:after{border-bottom-color:#71717a;border-right-color:#71717a}.week-select-wrap select:focus~.week-select-indicator,.week-select-wrap:hover:after{border-bottom-color:#18181b;border-right-color:#18181b}.week-picker input[type=week]{color:#3f3f46;box-shadow:none;background:#fff;border:1px solid #d4d4d8}.week-picker input[type=week]:hover{background:#fafafa;border-color:#a1a1aa}.week-picker input[type=week]:focus{background:#fff;border-color:#18181b;outline:none;box-shadow:0 0 0 3px #18181b1a}.export-week-picker .btn:not(.btn-primary){color:#3f3f46;background:#fff;border-color:#d4d4d8}.export-week-picker .btn:not(.btn-primary):hover{background:#f4f4f5}.log-filters{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;display:flex}.log-filters input{font:inherit;color:#18181b;background:#fff;border:1px solid #d4d4d8;border-radius:10px;padding:8px 12px;font-size:13.5px}.log-filters input:focus{border-color:#18181b;outline:none;box-shadow:0 0 0 3px #18181b1a}.log-filters input[name=keyword]{flex:200px;min-width:160px}.log-date{color:#64748b;align-items:center;gap:6px;font-size:13px;display:inline-flex}.log-date input{padding:7px 10px;font-size:13px}.log-feed .feed-item{align-items:flex-start}.log-feed .feed-body p{line-height:1.6}.log-type-chip{color:#c0440c;background:#fef1e4;border-radius:999px;margin-right:8px;padding:1px 8px;font-size:11.5px;font-weight:600;display:inline-block}.log-pager{border-top:1px solid #eef2f7;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:16px;padding-top:14px;display:flex}@media (max-width:640px){.log-filters{flex-direction:column;align-items:stretch}.log-filters input[name=keyword]{flex:none;width:100%}.log-date{justify-content:space-between}.log-date input{flex:auto}.log-pager{flex-direction:column;align-items:stretch}.log-pager .row-actions{gap:8px;display:flex}.log-pager .row-actions .btn{flex:1 1 0}}.library-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin-bottom:16px;display:grid}.library-card{border:1px solid var(--border);color:var(--text);background:#fff;border-radius:14px;flex-direction:column;gap:6px;padding:20px 18px;text-decoration:none;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex;position:relative}.library-card:hover{border-color:var(--primary);transform:translateY(-1px);box-shadow:0 6px 18px #c0440c1a}.library-card-icon{width:38px;height:38px;color:var(--primary);background:#fef1e4;border-radius:10px;justify-content:center;align-items:center;display:inline-flex}.library-card-icon svg{width:20px;height:20px}.library-card strong{font-size:16px}.library-card-desc{color:var(--muted);font-size:12.5px;line-height:1.6}.library-card-go{color:var(--primary);align-items:center;gap:4px;margin-top:4px;font-size:13px;font-weight:600;display:inline-flex}.library-card-go svg{width:15px;height:15px}.library-card-badge{color:#c2410c;background:#fff7ed;border:1px solid #fed7aa;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600;position:absolute;top:18px;right:18px}.stock-list{flex-direction:column;gap:12px;display:flex}.stock-item{border:1px solid var(--border);background:#fff;border-radius:12px;padding:14px 16px}.stock-item-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px;display:flex}.stock-item-title{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.stock-item-title strong{overflow-wrap:anywhere;font-size:15px;line-height:1.45}.stock-status{border-radius:999px;flex:none;padding:2px 10px;font-size:12px;font-weight:600}.stock-item-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.stock-grid{border-top:1px solid #eef2f7;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px 16px;padding-top:10px;display:grid}.stock-grid>div{min-width:0}.stock-grid .wide{grid-column:1/-1}.stock-grid span{color:var(--muted);margin-bottom:2px;font-size:12px;display:block}.stock-grid strong{overflow-wrap:anywhere;font-size:13.5px}.stock-link{overflow-wrap:anywhere;word-break:break-all;font-size:13px}.stock-bad{color:#dc2626;font-size:13px;font-style:normal}.stock-warn{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;align-items:center;gap:6px;margin:10px 0 0;padding:7px 10px;font-size:12px;line-height:1.5;display:flex}.stock-warn svg{flex:none;width:14px;height:14px}.stock-status-actions{border-top:1px solid #eef2f7;flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px;padding-top:10px;display:flex}.stock-hint{color:#b45309;align-items:flex-start;gap:5px;margin-top:4px;line-height:1.55;display:flex}.stock-hint svg{flex:none;width:13px;height:13px;margin-top:2px}@media (max-width:640px){.library-grid{grid-template-columns:1fr}.stock-item-head{flex-direction:column;align-items:stretch}.stock-item-actions{justify-content:flex-start}.stock-grid{grid-template-columns:1fr 1fr}.stock-status-actions .cell-sub{width:100%}}.library-tabs{border:1px solid var(--border);background:#fff;border-radius:12px;gap:6px;width:100%;max-width:420px;margin-bottom:16px;padding:5px;display:flex}.library-tabs .filter-link{text-align:center;flex:1 1 0;padding:9px 16px;font-size:14px;font-weight:600}.library-tabs .filter-link.active{color:var(--primary);background:#fef1e4}@media (max-width:640px){.library-tabs{max-width:none}.library-tabs .filter-link{padding:9px 8px;font-size:13.5px}}.card-head-row .export-week-picker{flex:none}@media (max-width:860px){.card-head-row{flex-wrap:wrap}.card-head-row .export-week-picker{width:100%}}.member-position-badge{color:#a8380a;background:#fef6ee;border:1px solid #f7d3b5;flex:none;font-weight:600}.folder-edit-pencil{z-index:5;background:var(--primary);color:#fff;cursor:pointer;border:2px solid #fff;border-radius:50%;place-items:center;width:24px;height:24px;padding:0;display:grid;position:absolute;top:-8px;left:-8px;box-shadow:0 2px 8px #0f172a3d}.folder-edit-pencil svg{width:12px;height:12px}.folder-edit-pencil:hover{background:var(--primary-hover)}.folder-rename-form{z-index:6;border:1px solid var(--border);white-space:nowrap;background:#fff;border-radius:10px;align-items:center;gap:6px;padding:8px;display:flex;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 8px 24px #0f172a29}.folder-rename-form input{width:150px;font:inherit;border:1px solid #d4d4d8;border-radius:8px;padding:6px 9px;font-size:13px}.folder-rename-form input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #c0440c24}.folder-rename-msg{z-index:6;color:#047857;white-space:nowrap;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:8px;padding:4px 10px;font-size:12px;position:absolute;top:calc(100% + 6px);left:0}.folder-rename-msg.is-error{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.folder-chip{z-index:1}.folder-chip-deletable{z-index:2}.sort-wrap{flex-direction:column;gap:12px;display:flex}.sort-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.sort-item{cursor:grab;transition:background .12s,border-color .12s,transform .12s}.sort-item:active{cursor:grabbing}.sort-item.dragging{opacity:.45;transform:scale(.99)}.sort-item.drag-over{border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary);background:#fef1e4}.sort-item-dept{color:#a8380a;background:#fef6ee;border:1px solid #f7d3b5}.drag-handle{cursor:grab}@media (max-width:640px){.sort-toolbar{flex-direction:column;align-items:stretch}.sort-toolbar .btn{width:100%}}.members-table{table-layout:fixed;width:100%;min-width:0}.members-table th:first-child,.members-table td:first-child{width:216px}.members-table th:nth-child(2),.members-table td:nth-child(2){white-space:nowrap;width:100px}.members-table th:nth-child(3),.members-table td:nth-child(3){width:158px}.members-table th:nth-child(4),.members-table td:nth-child(4){white-space:nowrap;width:60px}.members-table th:nth-child(5),.members-table td:nth-child(5){white-space:nowrap;width:68px}.members-table th:nth-child(6),.members-table td:nth-child(6){width:100px}.members-table th:nth-child(7),.members-table td:nth-child(7){width:196px}.members-table th:nth-child(8),.members-table td:nth-child(8){white-space:nowrap;width:62px}.members-table .member-name-row{flex-wrap:nowrap;gap:6px}.members-table .member-main-cell{overflow:hidden}@media (max-width:640px){.members-table{table-layout:auto;min-width:0}.members-table th:nth-child(n),.members-table td:nth-child(n){white-space:normal;width:auto}.members-table .member-name-row{flex-wrap:nowrap}.members-table .member-main-cell{overflow:visible}}.member-name-row .mini-badge{flex:none}@media (max-width:640px){.members-table tbody tr:has(.member-card-toggle:checked) td[data-label="联系方式 / QQ / 备注"]{flex-wrap:nowrap!important;column-gap:0!important;display:block!important}.members-table .member-phone,.members-table .qq-line,.members-table .note-text{overflow-wrap:anywhere;word-break:break-all;width:100%;max-width:100%;margin:0 0 3px!important;display:block!important}.members-table .note-text{margin-bottom:0!important}}@media (min-width:641px){.members-table .member-phone,.members-table .qq-line,.members-table .note-text{white-space:normal;overflow-wrap:anywhere;word-break:break-word}.members-table td[data-label=所在地]{white-space:nowrap;font-size:11.5px}.members-table .member-phone,.members-table .qq-line{white-space:nowrap}.members-table th:first-child,.members-table td:first-child{width:300px}.members-table .member-name-row{flex-wrap:nowrap;align-items:center;gap:6px;display:flex}.members-table .member-name-row .cell-name{flex:0 auto;min-width:0}.members-table .member-name-row .mini-badge{white-space:nowrap;flex:none}.members-table{table-layout:fixed;width:100%;min-width:0}.members-table th:nth-child(2),.members-table td:nth-child(2){width:88px}.members-table th:nth-child(3),.members-table td:nth-child(3){width:128px}.members-table th:nth-child(4),.members-table td:nth-child(4){width:54px}.members-table th:nth-child(5),.members-table td:nth-child(5){width:62px}.members-table th:nth-child(6),.members-table td:nth-child(6){width:84px}.members-table th:nth-child(7),.members-table td:nth-child(7){width:168px}.members-table th:nth-child(8),.members-table td:nth-child(8){width:60px}}.container-wide{max-width:1400px}@media (max-width:1460px){.container-wide{max-width:100%}}@media (min-width:641px){.members-table{table-layout:fixed!important;width:100%!important;min-width:0!important}.members-table th:first-child,.members-table td:first-child{width:24%!important}.members-table .member-name-row{flex-wrap:nowrap!important;align-items:center!important;gap:8px!important;display:flex!important}.members-table .member-name-row .cell-name{flex:0 auto!important;min-width:0!important}.members-table .member-name-row .mini-badge{white-space:nowrap!important;flex:none!important}.members-table th:nth-child(2),.members-table td:nth-child(2){white-space:nowrap!important;width:9%!important}.members-table th:nth-child(3),.members-table td:nth-child(3){width:18%!important}.members-table th:nth-child(4),.members-table td:nth-child(4){white-space:nowrap!important;width:6%!important}.members-table th:nth-child(5),.members-table td:nth-child(5){width:14%!important}.members-table th:nth-child(6),.members-table td:nth-child(6){width:21%!important}.members-table .member-phone,.members-table .qq-line{white-space:nowrap!important}.members-table th:nth-child(7),.members-table td:nth-child(7){white-space:nowrap!important;width:8%!important}.members-table.actions-visible th:nth-child(3),.members-table.actions-visible td:nth-child(3),.members-table.actions-visible th:nth-child(5),.members-table.actions-visible td:nth-child(5){width:16%!important}.members-table.actions-visible th:nth-child(6),.members-table.actions-visible td:nth-child(6){width:18%!important}.members-table.actions-visible th:nth-child(7),.members-table.actions-visible td:nth-child(7){width:11%!important}.members-table.actions-visible .member-status-edit{flex-wrap:nowrap;align-items:center;gap:6px;display:inline-flex!important}.members-table .member-status-edit .select-sm{flex:none;min-width:84px}.members-table .member-status-edit .btn{white-space:nowrap;flex:none}.members-table.actions-visible .member-row-actions{flex-wrap:nowrap!important;gap:6px!important;display:inline-flex!important}.members-table .member-row-actions .btn{white-space:nowrap!important;flex:none!important}}.topbar-inner,.nav{min-width:0}html,body{overflow-x:hidden}.nav{-webkit-overflow-scrolling:touch;scrollbar-width:none;min-width:0;overflow:auto hidden}.nav::-webkit-scrollbar{display:none}.topbar-user{flex:none}.nav{margin-right:4px}.topbar-inner{gap:12px;max-width:1600px;padding-left:16px;padding-right:16px}.topbar-wide .topbar-inner{max-width:1600px}.brand{gap:8px;font-size:19px}.brand-mark-img{width:38px;height:38px}@media (max-width:1400px){.topbar-inner{gap:8px;padding-left:10px;padding-right:10px}.brand{gap:6px;font-size:17px}.brand-mark-img{width:34px;height:34px}.nav-link{letter-spacing:0;gap:3px;padding:6px 7px;font-size:12.7px}.role-badge{padding-left:6px;padding-right:6px}}@media (max-width:1180px){.topbar-inner{flex-wrap:wrap;row-gap:6px;height:auto;min-height:64px;padding-top:8px;padding-bottom:8px}.brand{order:1}.topbar-user{order:2;margin-left:auto}.nav{flex-basis:100%;order:3;overflow-x:auto}}.article-format-upload{background:#fffaf4;border:1px solid #f8dcc2;border-radius:14px;margin-top:14px;padding:14px}.article-format-upload-grid{grid-template-columns:minmax(220px,330px) minmax(0,1fr);align-items:start;gap:16px;display:grid}.article-format-file{color:#475569;gap:7px;min-width:0;font-size:13px;display:grid}.article-format-file input{width:100%;font:inherit}.article-format-file img{object-fit:contain;border:1px solid var(--border);background:#fff;border-radius:10px;width:100%;max-height:320px}.article-format-file em{color:var(--muted);font-size:12px;font-style:normal;line-height:1.5}.article-format-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.article-format-fields label,.article-format-edit-form label{color:#475569;gap:5px;min-width:0;font-size:13px;display:grid}.article-format-fields input,.article-format-fields textarea,.article-format-edit-form input,.article-format-edit-form textarea{border:1px solid var(--border);width:100%;min-width:0;color:var(--text);font:inherit;resize:vertical;background:#fff;border-radius:9px;padding:8px 10px}.article-format-fields textarea{min-height:74px}.article-format-fields button{grid-column:1/-1;justify-self:start}.article-format-list{gap:18px;margin-top:16px;display:grid}.article-format-item{border:1px solid var(--border);background:#fff;border-radius:14px;padding:16px}.article-format-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:14px;display:flex}.article-format-head h3{color:#0f172a;overflow-wrap:anywhere;margin:0;font-size:17px}.article-format-layout{justify-content:center;align-items:center;gap:18px;display:flex}.article-format-side{color:#334155;white-space:pre-wrap;overflow-wrap:anywhere;background:#f8fafc;border-radius:12px;flex:1 1 0;min-width:0;padding:12px 14px;font-size:14px;line-height:1.75}.article-format-visual{text-align:center;flex:0 720px;min-width:220px;display:block}.article-format-visual img{object-fit:contain;border-radius:10px;width:auto;max-width:100%;height:auto;max-height:780px;margin:0 auto;display:block;box-shadow:0 8px 24px #0f172a14}.article-format-bottom{color:#334155;white-space:pre-wrap;overflow-wrap:anywhere;background:#f8fafc;border-radius:12px;max-width:760px;margin:16px auto 0;padding:12px 14px;font-size:14px;line-height:1.75}.article-format-edit{border-top:1px dashed var(--border);margin-top:14px;padding-top:10px}.article-format-edit summary{cursor:pointer;color:var(--primary);font-size:13px;font-weight:600}.article-format-edit-form{gap:9px;margin-top:12px;display:grid}.article-format-edit-form textarea{min-height:70px}.article-format-edit>.row-actions{margin-top:10px}@media (max-width:900px){.article-format-upload{padding:12px}.article-format-upload-grid,.article-format-fields{grid-template-columns:1fr}.article-format-item{padding:12px}.article-format-head{flex-direction:column;align-items:flex-start;gap:4px}.article-format-layout{flex-direction:column;gap:10px}.article-format-side,.article-format-visual{flex:none;width:100%;min-width:0}.article-format-visual img{max-height:none}}.nav{gap:3px!important}.nav-link{gap:6px!important;padding:8px 11px!important;font-size:14.5px!important}.topbar-inner{gap:14px}@media (max-width:1400px){.nav-link{gap:5px!important;padding:7px 9px!important;font-size:14px!important}}@media (max-width:1280px){.nav-link{gap:4px!important;padding:6px 8px!important;font-size:13.3px!important}}.topbar-inner{justify-content:center!important;gap:14px!important;max-width:none!important}.nav{flex:0 auto!important;margin-right:0!important}.topbar-user{margin-left:10px!important}@media (max-width:1180px){.topbar-inner{justify-content:space-between!important}.topbar-user{margin-left:auto!important}}.dashboard-format-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.dashboard-format-item{border:1px solid var(--border);min-width:0;color:var(--text);background:#fff;border-radius:12px;transition:border-color .15s,box-shadow .15s,transform .15s;display:block;overflow:hidden}.dashboard-format-item:hover{border-color:#f6cdaa;transform:translateY(-1px);box-shadow:0 7px 18px #c0440c1a}.dashboard-format-image{background:#f8fafc;justify-content:center;align-items:center;height:150px;display:flex;overflow:hidden}.dashboard-format-image img{object-fit:contain;width:100%;height:100%}.dashboard-format-body{min-width:0;padding:10px 12px 12px}.dashboard-format-body strong{text-overflow:ellipsis;white-space:nowrap;font-size:15px;display:block;overflow:hidden}.dashboard-format-body p{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:5px 0 0;font-size:12.5px;line-height:1.55;display:-webkit-box;overflow:hidden}@media (max-width:860px){.dashboard-format-grid{grid-template-columns:1fr}.dashboard-format-image{height:180px}}.dashboard-pair-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:18px;margin-bottom:18px;display:grid}.dashboard-pair-grid>.card{margin-bottom:0}.dashboard-pair-grid .dashboard-format-grid{grid-template-columns:1fr}.dashboard-pair-grid .dashboard-format-image{height:150px}@media (max-width:860px){.dashboard-pair-grid{grid-template-columns:1fr}}@media (min-width:861px){.dash-grid{align-items:stretch}.dash-grid>.card{flex-direction:column;height:300px;margin-bottom:0;display:flex;overflow:hidden}.dash-grid>.card .feed{flex:1;min-height:0;padding-right:4px;overflow-y:auto}}@media (max-width:860px){.dash-grid>.card{height:auto;overflow:visible}.dash-grid>.card .feed{max-height:none;overflow-y:visible}.dash-activity-card{flex-direction:column;height:240px!important;display:flex!important;overflow:hidden!important}.dash-activity-card .feed{min-height:0;padding-right:4px;flex:auto!important;max-height:none!important;overflow-y:auto!important}}.article-annotated-image{width:100%;line-height:0;display:block;position:relative;overflow:visible}.article-annotated-base{object-fit:contain;width:76%;height:76%;display:block;position:absolute;top:12%;left:12%}.article-annotation-svg{pointer-events:none;z-index:1;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.article-annotation-label{z-index:2;white-space:normal;overflow-wrap:anywhere;pointer-events:none;background:#fffffff5;border:1px solid;border-radius:7px;max-width:190px;padding:3px 7px;font-size:12px;line-height:1.45;position:absolute;transform:translate(8px,-50%);box-shadow:0 3px 10px #0f172a1f}.article-annotator{background:#fffaf4;border:1px solid #f8dcc2;border-radius:12px;margin-top:14px;padding:12px}.article-annotator-toolbar{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.article-annotator-toolbar button{border:1px solid var(--border);color:#475569;font:inherit;cursor:pointer;background:#fff;border-radius:8px;padding:6px 10px;font-size:13px}.article-annotator-toolbar button:hover{color:var(--primary);border-color:#e8a06a}.article-annotator-toolbar button.is-active{border-color:var(--primary);color:var(--primary);background:#fef1e4;font-weight:700}.article-annotator-toolbar button:disabled{opacity:.45;cursor:not-allowed}.article-annotator-sep{background:#dbe4f0;width:1px;height:22px;margin:0 2px}.article-annotator-color{color:var(--muted);align-items:center;gap:5px;font-size:13px;display:inline-flex}.article-annotator-color input{border:1px solid var(--border);background:#fff;border-radius:7px;width:30px;height:28px;padding:1px}.article-annotator-hint{color:var(--muted);margin:8px 0 0;font-size:12px}.article-annotator-canvas{border:1px solid var(--border);background:#f8fafc;border-radius:10px;width:100%;margin-top:8px;position:relative;overflow:hidden}.article-annotator-canvas .article-annotated-image{width:100%}.article-annotator-canvas .article-annotated-base{object-fit:contain;width:76%;height:76%;max-height:none}.article-annotator-draw-layer{z-index:3;cursor:crosshair;touch-action:none;position:absolute;inset:0}.article-annotator-draw-layer.is-select{cursor:default}.article-annotator-caption{color:#475569;gap:5px;margin-top:10px;font-size:13px;display:grid}.article-annotator-caption input{border:1px solid var(--border);width:100%;font:inherit;border-radius:9px;padding:8px 10px}.dashboard-format-image .article-annotated-image,.article-format-visual .article-annotated-image{width:100%;height:100%}.dashboard-format-image .article-annotated-base{object-fit:contain;width:76%;height:76%}.article-format-visual .article-annotated-base{object-fit:contain;width:76%;height:76%;max-height:none}.article-format-lightbox-trigger{width:100%;color:inherit;text-align:left;cursor:zoom-in;background:0 0;border:0;padding:0;display:block}.article-format-lightbox-trigger .article-annotated-image{width:100%}.article-format-lightbox-mask{z-index:1000;background:#0f172a9e;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.article-format-lightbox-panel{background:#fff;border-radius:16px;width:min(720px,94vw);max-height:92vh;padding:16px;position:relative;overflow:auto;box-shadow:0 24px 80px #0f172a59}.article-format-lightbox-image{width:min(720px,100%)}.article-format-lightbox-close{z-index:5;border:1px solid var(--border);color:#334155;cursor:pointer;background:#fffffff5;border-radius:999px;place-items:center;width:34px;height:34px;padding:0;display:grid;position:absolute;top:10px;right:10px;box-shadow:0 4px 14px #0f172a29}.article-format-lightbox-close:hover{color:var(--danger)}@media (max-width:640px){.article-format-lightbox-mask{padding:10px}.article-format-lightbox-panel{border-radius:12px;width:100%;max-height:94vh;padding:8px}.article-format-lightbox-close{width:30px;height:30px;top:6px;right:6px}}.article-format-title-row{align-items:center;gap:8px;min-width:0;display:flex}.article-format-drag-handle{border:1px solid var(--border);color:#64748b;cursor:grab;touch-action:none;background:#fff;border-radius:8px;flex:none;place-items:center;width:28px;height:28px;padding:0;display:inline-grid}.article-format-drag-handle:hover{color:var(--primary);border-color:#e8a06a}.article-format-drag-handle:active{cursor:grabbing}.article-format-item.is-dragging{opacity:.48}.article-format-summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;list-style:none;display:flex}.article-format-summary::-webkit-details-marker{display:none}.article-format-summary:after{content:"展开";color:var(--primary);flex:none;font-size:12px;font-weight:600}.article-format-item[open] .article-format-summary:after{content:"收起"}.article-format-content{margin-top:14px}.article-format-move-form{color:#475569;background:#f8fafc;border:1px dashed #dbe4f0;border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;padding:10px 12px;font-size:13px;display:flex}.article-format-move-form select{border:1px solid var(--border);min-width:160px;font:inherit;background:#fff;border-radius:8px;padding:7px 9px}@media (max-width:640px){.article-format-summary h3{white-space:normal;overflow-wrap:anywhere;word-break:break-word;min-width:0;margin:0;font-size:13.5px;line-height:1.35}}.article-format-meta-left{color:var(--muted);text-align:left;margin:0 0 10px;font-size:12.5px;line-height:1.4}.stock-item-summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;list-style:none;display:flex}.stock-item-summary::-webkit-details-marker{display:none}.stock-item-expand{color:var(--primary);flex:none;font-size:12px;font-weight:600}.stock-item-expand:after{content:"展开"}.stock-item[open] .stock-item-expand:after{content:"收起"}.stock-item-content{margin-top:12px}.profile-gate-mask{z-index:2000;background:#0f172a7a;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.profile-gate-card{text-align:center;background:#fff;border-radius:18px;width:min(420px,100%);padding:30px 26px 26px;position:relative;box-shadow:0 24px 70px #0f172a4d}.profile-gate-card h2{color:#0f172a;margin:10px 0 8px;font-size:24px}.profile-gate-card p{color:#64748b;margin:0 0 20px;font-size:15px;line-height:1.7}.profile-gate-logo{object-fit:contain;margin:0 auto;display:block}.profile-gate-close{border:1px solid var(--border);color:#64748b;cursor:pointer;background:#fff;border-radius:999px;place-items:center;width:32px;height:32px;padding:0;display:grid;position:absolute;top:10px;right:10px}.profile-gate-close:hover{color:var(--danger)}@media (max-width:640px){.profile-gate-card{padding:26px 18px 22px}.profile-gate-card h2{font-size:21px}}@media (min-width:641px){.article-format-layout .article-format-visual{flex:0 560px;max-width:560px}.article-format-layout.no-left.no-right .article-format-visual{flex-basis:560px}}@media (max-width:640px){.members-table tbody tr{margin-bottom:8px;padding:10px 12px}.members-table tbody tr:has(.member-card-toggle:checked) td[data-label]:not([data-label=所在地]):not([data-label=部门]){grid-template-columns:78px minmax(0,1fr);align-items:start;column-gap:6px;padding:4px 0!important;display:grid!important}.members-table tbody tr:has(.member-card-toggle:checked) td[data-label="联系方式 / QQ / 备注"]{display:block!important}.members-table td[data-label]:before{margin-right:0!important}.members-table .member-info-line{flex-wrap:wrap;gap:4px}.members-table .member-phone,.members-table .qq-line,.members-table .xiumi-line,.members-table .note-text{margin-bottom:2px!important}:is(.members-table tbody tr:has(.member-card-toggle:checked) td[data-label=部门],.members-table tbody tr:has(.member-card-toggle:checked) td[data-label=校区],.members-table tbody tr:has(.member-card-toggle:checked) td[data-label=状态]){column-gap:0!important;padding:5px 0!important;display:block!important}.members-table tbody tr:has(.member-card-toggle:checked) td[data-label]:before{margin-right:0!important;display:inline!important}.members-table .member-college-cell .member-info-line+.member-info-line{margin-top:7px}.members-table .member-phone,.members-table .qq-line,.members-table .xiumi-line{width:100%;font-size:13px;line-height:1.45;white-space:nowrap!important;word-break:normal!important;overflow-wrap:normal!important;margin:0 0 4px!important;display:block!important}.members-table .note-text{width:100%;margin:0!important;display:block!important}}.mobile-label{display:none}@media (max-width:640px){.members-table tbody tr:has(.member-card-toggle:checked) .mobile-inline-field{padding:5px 0!important;display:block!important}.members-table .mobile-label{color:#94a3b8;font-size:12px;font-weight:500;margin-right:0!important;display:inline!important}.members-table .member-college-cell .member-info-line+.member-info-line{margin-top:7px}.members-table .member-phone,.members-table .qq-line,.members-table .xiumi-line{white-space:nowrap!important;word-break:normal!important;overflow-wrap:normal!important;width:100%!important;margin:0 0 4px!important;font-size:13px!important;line-height:1.45!important;display:block!important}.members-table .note-text{width:100%!important;margin:0!important;display:block!important}.members-table tbody tr:has(.member-card-toggle:checked){display:block!important}.members-table tbody tr:has(.member-card-toggle:checked) .member-main-cell{order:0!important;grid-column:auto!important;width:100%!important;padding:5px 0!important;display:block!important}.members-table tbody tr:has(.member-card-toggle:checked) .member-college-cell{order:0!important;grid-column:auto!important;width:100%!important;padding:5px 0!important;display:block!important}.members-table tbody tr:has(.member-card-toggle:checked) .mobile-inline-field{order:0!important;grid-column:auto!important;width:100%!important;padding:5px 0!important;display:block!important}.members-table tbody tr:has(.member-card-toggle:checked) td[data-label="联系方式 / QQ / 备注"]{order:0!important;grid-column:auto!important;width:100%!important;padding:5px 0!important;display:block!important}.members-table tbody tr:has(.member-card-toggle:checked) .member-action-cell{order:0!important;grid-column:auto!important;width:100%!important;padding:5px 0!important;display:block!important}.members-table tbody tr:has(.member-card-toggle:checked) .mobile-inline-field:before{content:none!important;display:none!important}.members-table tbody tr:has(.member-card-toggle:checked) .mobile-label{display:inline!important}.members-table tbody tr:has(.member-card-toggle:checked) .member-info-line{gap:4px;display:flex!important}.members-table tbody tr:has(.member-card-toggle:checked) .member-info-line+.member-info-line{margin-top:7px!important}.members-table tbody tr:has(.member-card-toggle:checked) .mobile-inline-field{gap:0!important}.members-table tbody tr:has(.member-card-toggle:checked) .mobile-inline-field .mobile-label{margin:0!important;padding:0!important}.members-table tbody tr:has(.member-card-toggle:checked) .mobile-inline-field .member-status-view{margin-left:0!important}.members-table tbody tr:has(.member-card-toggle:checked){flex-wrap:wrap!important;align-items:flex-start!important;display:flex!important}.members-table tbody tr:has(.member-card-toggle:checked)>.member-main-cell{flex:0 0 100%!important;order:1!important;width:100%!important;display:block!important}.members-table tbody tr:has(.member-card-toggle:checked)>td.mobile-inline-field[data-label=部门]{flex:0 auto!important;order:2!important;width:auto!important;max-width:58%!important;padding:5px 10px 5px 0!important;display:block!important}.members-table tbody tr:has(.member-card-toggle:checked)>td.mobile-inline-field[data-label=校区]{flex:0 auto!important;order:3!important;width:auto!important;margin-left:14px!important;padding:5px 0!important;display:block!important}.members-table tbody tr:has(.member-card-toggle:checked)>.member-college-cell{flex:0 0 100%!important;order:4!important;width:100%!important;padding:5px 0!important;display:block!important}.members-table tbody tr:has(.member-card-toggle:checked)>td.mobile-inline-field[data-label=状态]{flex:0 0 100%!important;order:5!important;width:100%!important;padding:5px 0!important;display:block!important}.members-table tbody tr:has(.member-card-toggle:checked)>td[data-label="联系方式 / QQ / 备注"]{flex:0 0 100%!important;order:6!important;width:100%!important;padding:5px 0!important;display:block!important}.members-table tbody tr:has(.member-card-toggle:checked)>.member-action-cell{flex:0 0 100%!important;order:7!important;width:100%!important;padding:5px 0!important;display:block!important}:is(.members-table.members-table.members-table.members-table tbody tr:has(.member-card-toggle:checked) td[data-label=部门],.members-table.members-table.members-table.members-table tbody tr:has(.member-card-toggle:checked) td[data-label=校区],.members-table.members-table.members-table.members-table tbody tr:has(.member-card-toggle:checked) td[data-label=状态],.members-table.members-table.members-table.members-table tbody tr:has(.member-card-toggle:checked) td[data-label="联系方式 / QQ / 备注"]){grid-template-columns:none!important;column-gap:0!important;display:block!important}}.page-head-tools{flex-wrap:wrap;align-items:center;gap:10px;display:flex}@media (max-width:640px){.page-head-tools,.page-head-tools .export-week-picker{width:100%}.page-head-tools .week-select-wrap{flex:auto}.page-head-tools .week-select-wrap select{width:100%}}.award-tabs{flex-wrap:wrap;gap:8px;margin:-6px 0 16px;display:flex}.award-tab{border:1px solid var(--border);color:#64748b;background:#fff;border-radius:999px;align-items:center;gap:6px;padding:8px 16px;font-size:13.5px;font-weight:600;text-decoration:none;display:inline-flex}.award-tab:hover{color:#334155;border-color:#cbd5e1}.award-tab.active{color:#fff;background:#0f172a;border-color:#0f172a}.award-term-bar .award-term-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.award-term-bar select,.award-term-bar input{border:1px solid var(--border);font:inherit;background:#fff;border-radius:9px;padding:7px 10px}.award-pending-list{gap:8px;display:grid}.award-pending-item{border:1px solid var(--border);background:#fffcf9;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.award-pending-main{gap:3px;min-width:0;display:grid}.award-pending-main .task-title{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.award-table td,.award-rank-table td{white-space:nowrap}.award-auto-cell{color:#0f766e;font-weight:700}.award-auto-tag{color:#0f766e;vertical-align:middle;background:#ccfbf1;border-radius:5px;margin-left:5px;padding:1px 5px;font-size:10px;font-weight:600}.award-rank-top{background:#fffdf3}.award-rank-cell{font-weight:700}.award-record-form{border:1px solid var(--border);background:#f8fafc;border-radius:10px;gap:6px;min-width:230px;padding:10px;display:grid}.award-record-title{color:#334155;font-size:12.5px;font-weight:700}.award-record-form select,.award-record-form input{border:1px solid var(--border);font:inherit;background:#fff;border-radius:8px;width:100%;padding:6px 8px;font-size:13px}.award-record-form .row-actions{justify-content:flex-end}.award-panel-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-top:10px;display:grid}.award-panel-item{border:1px solid var(--border);background:#fff;border-radius:12px;padding:12px 14px}.award-panel-num{color:#0f172a;font-size:24px;font-weight:800;line-height:1.15}.award-panel-label{color:#334155;margin-top:2px;font-size:13px;font-weight:600}.award-panel-pay{color:#94a3b8;margin-top:2px;font-size:11.5px}.award-panel-foot{color:#475569;flex-wrap:wrap;gap:14px;margin-top:12px;font-size:13px;display:flex}.award-panel-foot b{color:#0f172a}.award-panel-pending{color:#b45309;font-weight:600}@media (max-width:640px){.award-tab{padding:7px 13px;font-size:13px}.award-term-bar .award-term-row{flex-direction:column;align-items:stretch}.award-term-bar .row-actions{flex-wrap:wrap}.award-term-bar select,.award-term-bar input{flex:auto;min-width:0}.award-panel-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.award-panel-num{font-size:21px}}.award-month-bar .award-month-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.award-month-label{color:#0f172a;font-size:15px;font-weight:700}.award-top-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin-top:10px;display:grid}.award-top-card{border:1px solid var(--border);background:#fff;border-radius:12px;padding:12px 14px}.award-top-dept{color:#334155;margin-bottom:6px;font-size:13px;font-weight:700}.award-top-row{align-items:center;gap:8px;padding:3px 0;font-size:13.5px;display:flex}.award-top-rank{text-align:center;flex:none;width:22px}.award-top-name{text-overflow:ellipsis;white-space:nowrap;color:#0f172a;flex:auto;min-width:0;overflow:hidden}.award-top-score{color:#64748b;flex:none}@media (max-width:640px){.award-top-grid{grid-template-columns:1fr}.award-month-bar .award-month-row{gap:8px}}.award-row{border:1px solid var(--border);background:#fff;border-radius:10px;flex-wrap:wrap;align-items:center;gap:14px;padding:10px 12px;display:flex}.award-row+.award-row{margin-top:8px}.award-row-head{flex-wrap:wrap;align-items:center;gap:8px;min-width:160px;display:flex}.award-row-name{color:#0f172a;font-weight:700}.award-row-work,.award-row-pay{color:#475569;font-size:13px}.award-row-work b,.award-row-pay b{color:#0f172a}.award-row-fields{flex-wrap:wrap;flex:auto;align-items:center;gap:14px;display:flex}.award-field{color:#64748b;align-items:center;gap:5px;font-size:12.5px;display:inline-flex}.award-field-label{color:#94a3b8}.award-field b{color:#0f172a;font-size:13.5px}.award-row-actions{margin-left:auto}.award-modal-mask{z-index:1200;background:#0f172a8c;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.award-modal{text-align:center;background:#fff;border-radius:16px;width:min(360px,92vw);padding:20px;box-shadow:0 24px 70px #0f172a4d}.award-modal-title{color:#0f172a;margin-bottom:8px;font-size:17px;font-weight:800}.award-modal-text{white-space:pre-line;margin:0 0 14px}.award-modal .row-actions{justify-content:center}@media (max-width:640px){.award-row{border:0;border-bottom:1px solid var(--border);background:0 0;border-radius:0;flex-direction:column;align-items:stretch;gap:6px;padding:10px 0}.award-row+.award-row{margin-top:0}.award-row:last-child{border-bottom:0}.award-row-head{min-width:0}.award-row-actions{margin-left:0}.award-row-fields{gap:6px 14px}.award-record-form{width:100%;min-width:0}}.award-proof-field{gap:4px;display:grid}.award-proof-label{color:#64748b;font-size:12px}.award-proof-field input[type=file]{font-size:12px}.award-proof-link{color:var(--primary);font-weight:600;text-decoration:underline}.award-row-self{background:#fdf0e4;border-color:#e8a06a}.award-self-badge{color:#b03c08;background:#f8dcc2}.award-audit-groups{gap:14px;display:grid}.award-audit-group{gap:6px;display:grid}.award-audit-head{align-items:center;gap:8px;display:flex}.award-audit-title{border-radius:999px;padding:2px 9px;font-size:12.5px;font-weight:700}.award-audit-pending{color:#b45309;background:#fef3c7}.award-audit-approved{color:#15803d;background:#dcfce7}.award-audit-rejected{color:#b91c1c;background:#fee2e2}.award-audit-user{color:#0f172a;font-weight:700}@media (max-width:640px){.award-row-self{border-bottom-color:#e8a06a}}.award-topic-fields{gap:5px;display:grid}.award-topic-fields input{width:100%}.award-proof-block{color:#334155;white-space:pre-line;background:#f1f5f9;border-radius:8px;margin-top:4px;padding:6px 8px;font-size:12.5px;line-height:1.6;display:block}.task-accordion{gap:8px;display:grid}.task-item{border:1px solid var(--border);background:#fff;border-radius:10px;overflow:hidden}.task-item-summary{cursor:pointer;align-items:center;gap:10px;padding:12px 14px;list-style:none;display:flex}.task-item-summary::-webkit-details-marker{display:none}.task-item-summary:hover{background:#f8fafc}.task-item-title{color:#0f172a;overflow-wrap:anywhere;flex:auto;min-width:0;font-weight:700}.task-item-meta{color:#94a3b8;flex:none;font-size:12.5px}.task-item-arrow{color:#94a3b8;flex:none;transition:transform .15s}.task-item[open] .task-item-arrow{transform:rotate(180deg)}.task-item-body{border-top:1px solid var(--border);padding:10px 14px 14px}.task-item-row{gap:10px;padding:5px 0;font-size:13.5px;display:flex}.task-item-label{color:#94a3b8;flex:0 0 86px}.task-item-value{color:#334155;flex-wrap:wrap;flex:auto;align-items:center;gap:6px;min-width:0;display:flex}@media (max-width:640px){.task-item-summary{flex-wrap:wrap;padding:11px 12px}.task-item-label{flex:0 0 72px}}.image-lightbox-mask{z-index:1300;background:#0f172ad1;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.image-lightbox-img{object-fit:contain;background:#fff;border-radius:10px;max-width:94vw;max-height:90vh;box-shadow:0 24px 80px #00000073}.image-lightbox-close{color:#0f172a;cursor:pointer;background:#ffffffeb;border:0;border-radius:999px;width:38px;height:38px;padding:0;font-size:17px;position:absolute;top:14px;right:16px}.image-lightbox-close:hover{background:#fff}.gallery-row{align-items:flex-start;gap:8px;display:flex}.gallery-row .gallery-pick{flex:none;margin-top:15px}.gallery-row .task-item{flex:auto;min-width:0}.gallery-row .task-item-title{color:#334155;font-weight:600}.gallery-body-image{margin-bottom:10px}.gallery-body-image img{border-radius:10px;max-width:100%;max-height:520px;display:block}@media (max-width:640px){.image-lightbox-mask{padding:10px}.image-lightbox-img{max-width:96vw;max-height:84vh}}.image-lightbox-trigger{cursor:zoom-in;background:0 0;border:0;padding:0;display:block}.image-lightbox-trigger>img{border:0;border-radius:10px;max-width:100%;max-height:420px;display:block}.doc-thumb{margin:8px 0 4px}.doc-thumb .image-lightbox-trigger img{width:auto;max-width:200px;height:auto;max-height:150px}@media (max-width:640px){.doc-thumb .image-lightbox-trigger img{max-width:100%;max-height:220px}}button.gallery-thumb{cursor:zoom-in;font:inherit;background:#f8fafc;border:0;padding:8px}button.gallery-thumb:focus-visible{box-shadow:inset 0 0 0 2px var(--primary)}@media (max-width:640px){button.gallery-thumb{padding:5px}}.pending-list{gap:14px;display:grid}.pending-item{border-bottom:1px dashed var(--border);flex-wrap:wrap;gap:12px;padding-bottom:14px;display:flex}.pending-item:last-child{border-bottom:0;padding-bottom:0}.pending-item-main{flex:260px;min-width:0}.pending-item .gallery-body-image{flex:none;margin:0}.pending-item .image-lightbox-trigger>img{width:auto;max-width:260px;height:auto;max-height:200px}@media (max-width:640px){.pending-item{flex-direction:column}.pending-item .gallery-body-image{width:100%}.pending-item .image-lightbox-trigger>img{max-width:100%}}.image-lightbox-mask.is-actual{justify-content:flex-start;align-items:flex-start;overflow:auto}.image-lightbox-img.is-actual{border-radius:0;width:auto;max-width:none;height:auto;max-height:none}.image-lightbox-tools{z-index:1310;flex-wrap:wrap;gap:8px;display:flex;position:fixed;top:14px;left:16px}.image-lightbox-tool{color:#0f172a;font:inherit;cursor:pointer;background:#ffffffeb;border:1px solid #ffffff59;border-radius:8px;padding:7px 12px;font-size:13px;text-decoration:none}.image-lightbox-tool:hover{background:#fff}@media (max-width:640px){.image-lightbox-tools{top:10px;left:10px}.image-lightbox-tool{padding:6px 10px;font-size:12.5px}}.doc-text-view{margin-top:4px}.doc-text-content{white-space:pre-wrap;overflow-wrap:anywhere;color:#334155;background:#f8fafc;border-radius:8px;max-height:220px;padding:8px 10px;font-size:13px;line-height:1.7;overflow:auto}.doc-text-edit{gap:6px;margin-top:6px;display:grid}.doc-text-edit textarea{width:100%;font:inherit;border:1px solid var(--border);border-radius:8px;padding:8px 10px;font-size:13px}.upload-text-block{margin-bottom:12px}.upload-text-block h3{color:#1e293b;margin:0 0 6px;font-size:15px;font-weight:700}body{flex-direction:column;min-height:100vh;display:flex}.app{flex:1 0 auto;min-height:0}.site-footer{text-align:center;color:var(--muted);margin-top:auto;padding:16px 12px;font-size:12px;line-height:1.7}@media (max-width:640px){.site-footer{padding:12px 10px;font-size:11px}}.log-tiles{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:14px;display:grid}.log-tile{border:1px solid var(--border);text-align:center;background:#f8fafc;border-radius:10px;padding:10px 8px}.log-tile-num{color:#1e293b;font-size:18px;font-weight:700;line-height:1.25}.log-tile-num.log-warn{color:#d97706}.log-tile-label{color:var(--muted);white-space:nowrap;margin-top:2px;font-size:11.5px}.log-section{margin-top:12px}.log-section-title{color:#475569;margin-bottom:6px;font-size:12.5px;font-weight:700}.log-chips{flex-wrap:wrap;gap:6px;display:flex}.log-chip{color:#475569;border:1px solid var(--border);white-space:nowrap;background:#f1f5f9;border-radius:999px;padding:3px 9px;font-size:12px;display:inline-block}.log-chip-warn{color:#b45309;background:#fffbeb;border-color:#fcd34d}.log-chip-danger{color:#b91c1c;background:#fef2f2;border-color:#fca5a5}.log-list{gap:2px;display:grid}.log-row{border-bottom:1px dashed #eef2f6;justify-content:space-between;align-items:baseline;gap:10px;padding:3px 0;font-size:12.5px;display:flex}.log-row:last-child{border-bottom:0}.log-row-key{color:#334155;overflow-wrap:anywhere}.log-row-val{color:var(--muted);white-space:nowrap}.log-ok{color:var(--success);margin:0;font-size:12.5px}@media (max-width:640px){.log-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}.doc-text-link{color:var(--primary);word-break:break-all;text-decoration:underline}.smart-media{background:#eef2f6;border-radius:6px;width:100%;max-height:520px;display:block;position:relative;overflow:hidden}.smart-media>img,.image-lightbox-trigger .smart-media>img,.pending-item .smart-media>img,.gallery-item .smart-media>img,.gallery-body-image .smart-media>img{object-fit:contain;width:100%;min-width:0;max-width:none;height:100%;max-height:none;display:block;position:absolute;inset:0}.smart-media .smart-lqip,.image-lightbox-trigger .smart-media .smart-lqip,.pending-item .smart-media .smart-lqip,.gallery-item .smart-media .smart-lqip,.gallery-body-image .smart-media .smart-lqip{object-fit:cover;filter:blur(20px);transition:opacity .5s;transform:scale(1.08)}.smart-media .smart-full{opacity:0;will-change:opacity, transform;transition:opacity .5s,transform .5s;transform:scale(1.04)}.smart-media.is-loaded .smart-full{opacity:1;transform:scale(1)}.smart-media.is-loaded .smart-lqip{opacity:0}@media (max-width:640px){.smart-media{max-height:none}}@media (prefers-reduced-motion:reduce){.smart-media .smart-full{transition:opacity .2s linear;transform:none}.smart-media .smart-lqip{transform:none}}.image-lightbox-trigger .smart-media{width:var(--box-w,auto);height:var(--box-h,auto);max-width:260px}@media (max-width:640px){.image-lightbox-trigger{width:100%}.image-lightbox-trigger .smart-media{width:min(100%, calc(340px * var(--box-arnum,1)));max-width:100%;height:auto;max-height:none;aspect-ratio:var(--box-ar)}}.nav-sliding{position:relative}.nav-indicator{background:var(--nav-accent-soft);pointer-events:none;z-index:0;border-radius:9px;position:absolute;top:0;left:0}.nav-sliding:not(.is-hydrated) .nav-link.active{background:var(--nav-accent-soft)}.nav-sliding.is-hydrated .nav-link.active{background:0 0}.nav-sliding .nav-indicator{transition:none}.nav-sliding .nav-link{z-index:1;position:relative}.nav-sliding .nav-link:hover{background:#fef6ee}.nav-sliding.is-hydrated .nav-link.active:hover{background:0 0}.nav-sliding .nav-link,.nav-sliding .nav-link.active{font-weight:500}@media (prefers-reduced-motion:reduce){.nav-sliding.is-animate .nav-indicator{transition:none}}.reveal-root{position:relative}.reveal-content>*{animation:.45s cubic-bezier(.22,.61,.36,1) both reveal-up}.reveal-content>:first-child{animation-delay:0s}.reveal-content>:nth-child(2){animation-delay:60ms}.reveal-content>:nth-child(3){animation-delay:.12s}.reveal-content>:nth-child(4){animation-delay:.18s}.reveal-content>:nth-child(5){animation-delay:.24s}.reveal-content>:nth-child(6){animation-delay:.3s}.reveal-content>:nth-child(7){animation-delay:.36s}.reveal-content>:nth-child(8){animation-delay:.42s}.reveal-content>:nth-child(9){animation-delay:.48s}.reveal-content>:nth-child(n+10){animation-delay:.54s}@keyframes reveal-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.skeleton-layer{z-index:5;pointer-events:none;opacity:1;transition:opacity .34s;position:absolute;inset:0;overflow:hidden}.skeleton-layer.is-out{opacity:0}.skeleton-shape{background:#e9edf3;display:block;position:absolute;overflow:hidden}.skeleton-shape:after{content:"";background:linear-gradient(100deg,#fff0 0%,#ffffffeb 50%,#fff0 100%);width:60%;animation:1.5s linear infinite skeleton-sweep;position:absolute;top:-40%;bottom:-40%;left:0;transform:translate(-170%)skew(-12deg)}@keyframes skeleton-sweep{0%{transform:translate(-160%)skew(-12deg)}to{transform:translate(360%)skew(-12deg)}}@media (prefers-reduced-motion:reduce){.reveal-content>*{animation:none}.skeleton-shape:after{opacity:0;animation:none}}.tab-indicator{background:var(--nav-accent-soft);pointer-events:none;z-index:0;opacity:0;border-radius:7px;transition:none;position:absolute;top:0;left:0}.sliding-tabs.sliding-animate .tab-indicator{transition:transform .34s cubic-bezier(.33,1,.68,1),width .34s cubic-bezier(.33,1,.68,1)}.sliding-tabs .filter-link{z-index:1;position:relative}.sliding-tabs .filter-link.active,.sliding-tabs.library-tabs .filter-link.active,.sliding-tabs.member-dept-filter .filter-link.active{box-shadow:none;background:0 0}.sliding-tabs .filter-link,.sliding-tabs .filter-link.active{font-weight:500}@media (prefers-reduced-motion:reduce){.sliding-tabs .tab-indicator{transition:none!important}}.threat-banner{color:#92400e;background:#fffbeb;border:1px solid #fcd34d;border-radius:12px;margin-bottom:16px;padding:12px 14px}.threat-banner.is-danger{color:#b91c1c;background:#fef2f2;border-color:#fca5a5}.threat-banner-head{align-items:center;gap:6px;font-size:14px;display:flex}.threat-banner-count{background:#0000000f;border-radius:999px;margin-left:auto;padding:1px 9px;font-size:12px}.threat-list{gap:4px;margin:8px 0 0;padding-left:18px;display:grid}.threat-list li{font-size:13px;line-height:1.6}.threat-list b{margin-right:6px}.threat-list span{opacity:.85}.log-alerts{background:#fffbeb;border:1px solid #fcd34d;border-radius:10px;margin-bottom:12px;padding:10px 12px}.log-alerts.is-danger{background:#fef2f2;border-color:#fca5a5}.log-alerts-head{color:#92400e;align-items:center;gap:4px;font-size:13px;font-weight:700;display:flex}.log-alerts.is-danger .log-alerts-head{color:#b91c1c}.log-alert-list{gap:6px;margin:6px 0 0;padding:0;list-style:none;display:grid}.log-alert-list li{color:#475569;font-size:12.5px;line-height:1.6}.log-alert-time{font-variant-numeric:tabular-nums;color:#94a3b8;margin-right:6px;display:inline-block}.log-alert-list b{color:#334155;margin-right:6px}.log-alert-detail{margin-top:1px;display:block}.sliding-tabs .filter-link.tab-pending{color:var(--primary);box-shadow:none;background:0 0}.add-collapse{padding:0;overflow:hidden}.add-summary{cursor:pointer;margin:0;padding:20px;list-style:none}.add-summary::-webkit-details-marker{display:none}.add-summary:hover{background:#f8fafc}.add-body{padding:0 20px 20px}.add-collapse[open] .task-item-arrow{transform:rotate(180deg)}@media (max-width:640px){.add-summary{padding:14px 16px}.add-body{padding:0 12px 14px}}.image-lightbox-stage{place-items:center;max-width:94vw;max-height:90vh;display:grid;position:relative}.image-lightbox-stage .image-lightbox-thumb{opacity:.9;border-radius:8px;grid-area:1/1;max-width:92vw;max-height:88vh}.image-lightbox-stage .image-lightbox-img{opacity:0;grid-area:1/1;transition:opacity .25s}.image-lightbox-stage .image-lightbox-img.is-loaded{opacity:1}.image-lightbox-hint{color:#fffc;pointer-events:none;font-size:13px;position:fixed;bottom:22px;left:50%;transform:translate(-50%)}.image-lightbox-mask.is-actual .image-lightbox-stage{max-width:none;max-height:none;display:block}.image-lightbox-mask.is-actual .image-lightbox-thumb{display:none}.image-lightbox-mask.is-actual .image-lightbox-img{opacity:1}.image-lightbox-stage .image-lightbox-thumb{object-fit:contain;opacity:.92;border-radius:8px;grid-area:1/1;width:100%;max-width:92vw;height:100%;max-height:88vh;transition:opacity .25s}.image-lightbox-stage.is-loaded .image-lightbox-thumb{opacity:0}.reveal-content.is-done>*{animation:none;transform:none}::view-transition-old(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){mix-blend-mode:normal;animation:none}::view-transition-old(root){z-index:1}::view-transition-new(root){z-index:2}.theme-toggle{border:1px solid var(--border);background:var(--card);width:34px;height:34px;color:var(--muted);cursor:pointer;border-radius:999px;flex:none;place-items:center;padding:0;transition:color .15s,background .15s,border-color .15s;display:inline-grid}.theme-toggle svg{width:17px;height:17px}.theme-toggle:hover{color:var(--text);background:#f1f5f9}.theme-toggle:focus-visible{outline:2px solid var(--nav-accent);outline-offset:2px}:root[data-theme=dark]{--bg:#0b1220;--card:#131c2e;--border:#24314b;--text:#e6edf7;--muted:#fff;--primary:#ef8b3c;--primary-hover:#e07b2c;--nav-accent:#f0a05a;--nav-accent-soft:#2b2116;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html[data-theme=dark] html[data-theme=dark] body{background:var(--bg);color:var(--text)}[data-theme=dark] .topbar{border-bottom-color:var(--border);background:#0d1524}[data-theme=dark] .brand span{color:var(--text)}[data-theme=dark] .theme-toggle{color:#fff;background:#1a2438}[data-theme=dark] .theme-toggle:hover{color:#fff;background:#223049}[data-theme=dark] .nav-link{color:#fff}[data-theme=dark] .nav-link:hover{color:#fff;background:#1b263c}[data-theme=dark] .nav-link.active{color:var(--nav-accent);background:0 0}[data-theme=dark] .nav-link.active .nav-icon{color:var(--nav-accent)}[data-theme=dark] .user-chip{color:var(--text)}[data-theme=dark] .card,[data-theme=dark] .stat-card,[data-theme=dark] .filter-links,[data-theme=dark] .library-tabs,[data-theme=dark] .task-item-body,[data-theme=dark] .pending-item,[data-theme=dark] .award-panel-item,[data-theme=dark] .award-top-card,[data-theme=dark] .day-duty,[data-theme=dark] .day-card,[data-theme=dark] .pick-item{background:var(--card);border-color:var(--border)}[data-theme=dark] .task-item-summary:hover{background:#1a2438}[data-theme=dark] .filter-link{color:var(--muted)}[data-theme=dark] .filter-link:hover{color:var(--text);background:#1b263c}[data-theme=dark] .filter-link.active{color:var(--nav-accent);background:0 0}[data-theme=dark] h1,[data-theme=dark] h2,[data-theme=dark] h3,[data-theme=dark] strong,[data-theme=dark] .task-item-title,[data-theme=dark] .task-title,[data-theme=dark] .stat-num{color:var(--text)}[data-theme=dark] .muted,[data-theme=dark] .cell-sub,[data-theme=dark] .task-item-meta{color:var(--muted)}[data-theme=dark] input::placeholder,[data-theme=dark] textarea::placeholder{color:#cbd5e1}[data-theme=dark] select option{color:var(--text);background:#0f1728}[data-theme=dark] .table th{color:var(--muted);border-color:var(--border);background:#16203a}[data-theme=dark] .table td{border-color:var(--border);color:var(--text)}[data-theme=dark] .table-wrap{border-color:var(--border)}[data-theme=dark] .btn{border-color:var(--border);color:var(--text);background:#1b263c}[data-theme=dark] .btn-primary{background:var(--primary);border-color:var(--primary);color:#1c1206}[data-theme=dark] .btn-primary:hover{background:var(--primary-hover)}[data-theme=dark] .btn-ghost{background:0 0}[data-theme=dark] .person-chip,[data-theme=dark] .mini-badge,[data-theme=dark] .week-badge,[data-theme=dark] .folder-chip,[data-theme=dark] .log-chip{border-color:var(--border);color:#fff;background:#1b263c}[data-theme=dark] .role-badge,[data-theme=dark] .status-badge{filter:brightness(1.75)saturate(1.05)}[data-theme=dark] .stat-num,[data-theme=dark] .mem-free,[data-theme=dark] .mem-free b{filter:brightness(1.35)}[data-theme=dark] .smart-media{background:#16203a}[data-theme=dark] .gallery-item{background:var(--card);border-color:var(--border)}[data-theme=dark] .skeleton-shape{background:#1e293b}[data-theme=dark] .skeleton-layer:after,[data-theme=dark] .skeleton-shape:after{background:linear-gradient(100deg,#fff0 0%,#ffffff1f 50%,#fff0 100%)}[data-theme=dark] .upload-modal,[data-theme=dark] .status-modal,[data-theme=dark] .image-lightbox-tool,[data-theme=dark] .article-format-lightbox-panel{background:var(--card);color:var(--text);border-color:var(--border)}[data-theme=dark] .image-lightbox-tool{color:#e2e8f0;background:#1e293beb;border-color:#fff3}[data-theme=dark] .site-footer{color:#e2e8f0}[data-theme=dark] code{color:#fdba74;background:#1e293b}[data-theme=dark] .nav-icon,[data-theme=dark] .nav-link:hover .nav-icon,[data-theme=dark] .footer,[data-theme=dark] .feed-time,[data-theme=dark] .assignee-none,[data-theme=dark] .chip-form button,[data-theme=dark] .duty-note,[data-theme=dark] .page-head h1,[data-theme=dark] .card h2,[data-theme=dark] .field label,[data-theme=dark] .table th,[data-theme=dark] .drag-handle,[data-theme=dark] .table td:before,[data-theme=dark] .docs-table td:before,[data-theme=dark] .docs-table td[data-label=上传者],[data-theme=dark] .docs-table td[data-label=所属作业],[data-theme=dark] .docs-table td[data-label="大小 / 时间"],[data-theme=dark] .check-toolbar .check-all,[data-theme=dark] .batch-bar .check-all,[data-theme=dark] .mem-nums,[data-theme=dark] .sys-label,[data-theme=dark] .status-modal-close,[data-theme=dark] .status-modal-close:hover,[data-theme=dark] .status-member-meta,[data-theme=dark] .img-modal-bar,[data-theme=dark] .day-head,[data-theme=dark] .day-md,[data-theme=dark] .past-duty>summary,[data-theme=dark] .past-arrow,[data-theme=dark] .duty-add>summary,[data-theme=dark] .members-table td[data-label]:before,[data-theme=dark] .members-table .member-toggle-arrow,[data-theme=dark] .members-table .member-college-cell,[data-theme=dark] .members-table .member-info-label,[data-theme=dark] .members-table .note-text,[data-theme=dark] .folder-title,[data-theme=dark] .pick-item figcaption,[data-theme=dark] .folder-create-form input::placeholder,[data-theme=dark] .file-pick-label,[data-theme=dark] .file-pick-copy b,[data-theme=dark] .file-pick-copy small,[data-theme=dark] .apply-brand p,[data-theme=dark] .application-arrow,[data-theme=dark] .application-grid b,[data-theme=dark] .application-text b,[data-theme=dark] .dept-filter,[data-theme=dark] .week-picker label,[data-theme=dark] .wechat-stat-add>summary,[data-theme=dark] .wechat-stat-edit-item>summary,[data-theme=dark] .wechat-fixed-date,[data-theme=dark] .wechat-stat-arrow,[data-theme=dark] .wechat-stat-detail-grid span,[data-theme=dark] .wechat-stat-detail-grid strong,[data-theme=dark] .wechat-stat-detail-grid p,[data-theme=dark] .week-picker input[type=week],[data-theme=dark] .member-dept-filter .filter-link{color:#fff}[data-theme=dark] .members-table tbody tr:has(.member-card-toggle:checked) td[data-label]:not([data-label=所在地]){color:#fff}[data-theme=dark] .members-table tbody tr:has(.member-card-toggle:checked) td[data-label]:before{color:#fff}[data-theme=dark] .members-table .member-phone,[data-theme=dark] .members-table .qq-line,[data-theme=dark] .members-table .note-text,[data-theme=dark] .apply-adjust-toggle,[data-theme=dark] .upload-modal-head h2,[data-theme=dark] .upload-meta,[data-theme=dark] .upload-meta b,[data-theme=dark] .upload-current,[data-theme=dark] .upload-modal-note,[data-theme=dark] .upload-list-item,[data-theme=dark] .upload-list-item svg,[data-theme=dark] .upload-list-item em,[data-theme=dark] .pick-item figcaption em,[data-theme=dark] .week-select-wrap select,[data-theme=dark] .week-select-wrap select option,[data-theme=dark] .week-select-wrap select option:checked,[data-theme=dark] .week-select-wrap select:focus,[data-theme=dark] .week-select-wrap:after,[data-theme=dark] .week-select-wrap select:focus~.week-select-indicator,[data-theme=dark] .week-select-wrap:hover:after,[data-theme=dark] .week-picker input[type=week]:focus,[data-theme=dark] .export-week-picker .btn:not(.btn-primary),[data-theme=dark] .log-filters input,[data-theme=dark] .log-filters input:focus,[data-theme=dark] .log-date,[data-theme=dark] .article-format-file,[data-theme=dark] .article-format-fields label,[data-theme=dark] .article-format-edit-form label,[data-theme=dark] .article-format-head h3,[data-theme=dark] .article-format-side,[data-theme=dark] .article-format-bottom,[data-theme=dark] .article-annotator-toolbar button,[data-theme=dark] .article-annotator-caption,[data-theme=dark] .article-format-lightbox-close,[data-theme=dark] .article-format-drag-handle,[data-theme=dark] .article-format-move-form,[data-theme=dark] .profile-gate-card h2,[data-theme=dark] .profile-gate-card p,[data-theme=dark] .profile-gate-close,[data-theme=dark] .members-table .mobile-label,[data-theme=dark] .award-tab,[data-theme=dark] .award-tab:hover,[data-theme=dark] .award-tab.active,[data-theme=dark] .award-record-title,[data-theme=dark] .award-panel-num,[data-theme=dark] .award-panel-label,[data-theme=dark] .award-panel-pay,[data-theme=dark] .award-panel-foot,[data-theme=dark] .award-panel-foot b,[data-theme=dark] .award-month-label,[data-theme=dark] .award-top-dept,[data-theme=dark] .award-top-name,[data-theme=dark] .award-top-score,[data-theme=dark] .award-row-name,[data-theme=dark] .award-row-work,[data-theme=dark] .award-row-pay,[data-theme=dark] .award-row-work b,[data-theme=dark] .award-row-pay b,[data-theme=dark] .award-field,[data-theme=dark] .award-field-label,[data-theme=dark] .award-field b,[data-theme=dark] .award-modal-title,[data-theme=dark] .award-proof-label,[data-theme=dark] .award-audit-user,[data-theme=dark] .award-proof-block,[data-theme=dark] .task-item-title,[data-theme=dark] .task-item-meta,[data-theme=dark] .task-item-arrow,[data-theme=dark] .task-item-label,[data-theme=dark] .task-item-value,[data-theme=dark] .image-lightbox-close,[data-theme=dark] .gallery-row .task-item-title,[data-theme=dark] .image-lightbox-tool,[data-theme=dark] .doc-text-content,[data-theme=dark] .upload-text-block h3,[data-theme=dark] .log-tile-num,[data-theme=dark] .log-section-title,[data-theme=dark] .log-chip,[data-theme=dark] .log-row-key,[data-theme=dark] .log-alert-list li,[data-theme=dark] .log-alert-time,[data-theme=dark] .log-alert-list b{color:#fff}[data-theme=dark] .task-item{background:var(--card);border-color:var(--border);color:#fff}[data-theme=dark] .task-item-body{background:0 0}[data-theme=dark] .btn{color:#fff!important;border-color:var(--border)!important;background:#1b263c!important}[data-theme=dark] .btn:hover{background:#223049!important}[data-theme=dark] .btn-primary{background:var(--primary)!important;color:#1c1206!important;border-color:var(--primary)!important}[data-theme=dark] .btn-danger{color:#fecaca!important;background:#2a1620!important;border-color:#7f1d1d!important}[data-theme=dark] .role-badge,[data-theme=dark] .status-badge,[data-theme=dark] .mini-badge,[data-theme=dark] .member-role-badge,[data-theme=dark] .task-priority,[data-theme=dark] .log-type-chip,[data-theme=dark] .week-badge,[data-theme=dark] .person-chip,[data-theme=dark] .folder-chip{color:#fff!important;background:#ffffff1a!important;border-color:#ffffff2e!important}[data-theme=dark] .role-badge,[data-theme=dark] .status-badge,[data-theme=dark] .mini-badge,[data-theme=dark] .member-role-badge,[data-theme=dark] .task-priority{filter:brightness(1.55)saturate(1.05)}[data-theme=dark] .dashboard-format-item,[data-theme=dark] .dashboard-format-image,[data-theme=dark] .article-format-item,[data-theme=dark] .article-format-move-form,[data-theme=dark] .article-annotator,[data-theme=dark] .article-annotator-canvas,[data-theme=dark] .article-format-side,[data-theme=dark] .article-format-upload,[data-theme=dark] .article-format-left,[data-theme=dark] .article-format-right,[data-theme=dark] .article-format-bottom{color:#fff;border-color:var(--border);background:var(--card)!important}[data-theme=dark] .article-annotator-toolbar button{color:#fff;border-color:var(--border);background:#1b263c}[data-theme=dark] .article-annotator-toolbar button.is-active{background:var(--nav-accent-soft);color:var(--nav-accent);border-color:var(--nav-accent)}[data-theme=dark] .article-format-move-form select{color:#fff;background:#0f1728}[data-theme=dark] .member-status-view{color:#fff!important;border-color:var(--border)!important;background:#16203a!important}[data-theme=dark] .wechat-fixed-date,[data-theme=dark] .wechat-stat-item,[data-theme=dark] .wechat-day-card{background:var(--card)!important;color:#fff!important;border-color:var(--border)!important}[data-theme=dark] .wechat-stat-title{color:#fff}[data-theme=dark] .wechat-day-card .card-head-row{border-bottom-color:var(--border)}[data-theme=dark] .dept-filter{color:#fff!important;border-color:var(--border)!important;background:#1b263c!important}[data-theme=dark] .dept-filter.active{background:var(--nav-accent-soft)!important;color:var(--nav-accent)!important;border-color:var(--nav-accent)!important}[data-theme=dark] .award-row{background:var(--card)!important;color:#fff!important;border-color:var(--border)!important}[data-theme=dark] .award-row-self{border-color:var(--nav-accent)!important;background:#2a2015!important}[data-theme=dark] .award-tab{color:#fff!important;border-color:var(--border)!important;background:#1b263c!important}[data-theme=dark] .award-tab.active{background:var(--nav-accent-soft)!important;color:var(--nav-accent)!important}[data-theme=dark] .week-leader-cell{color:#fff!important;background:#16203a!important}[data-theme=dark] .week-row td{color:#fff!important;background:0 0!important}[data-theme=dark] .week-row{background:var(--card)}[data-theme=dark] .filter-link{color:#fff!important;border-color:var(--border)!important;background:#1b263c!important}[data-theme=dark] .filter-link:hover{background:#223049!important}[data-theme=dark] .filter-link.active{background:var(--nav-accent-soft)!important;color:var(--nav-accent)!important;border-color:var(--nav-accent)!important}[data-theme=dark] .gallery-thumb,[data-theme=dark] .pick-item,[data-theme=dark] .stock-item,[data-theme=dark] .leader-chip,[data-theme=dark] .log-tile,[data-theme=dark] .batch-bar{border-color:var(--border)!important;color:#fff!important;background:#16203a!important}[data-theme=dark] .stock-warn{color:#ffd9a8!important;background:#2a2015!important;border-color:#7c4a12!important}[data-theme=dark] .stock-status{color:#fff!important}[data-theme=dark] .day-line,[data-theme=dark] .day-hw,[data-theme=dark] .day-task{color:#fff!important;background:#ffffff12!important}[data-theme=dark] .log-alerts,[data-theme=dark] .threat-banner{color:#ffd9a8!important;background:#2a2015!important;border-color:#7c4a12!important}[data-theme=dark] .log-alerts.is-danger,[data-theme=dark] .threat-banner.is-danger{color:#fecaca!important;background:#2a1416!important;border-color:#7f1d1d!important}[data-theme=dark] .log-alerts-head,[data-theme=dark] .threat-banner-count,[data-theme=dark] .log-alert-list li,[data-theme=dark] .log-alert-list b,[data-theme=dark] .threat-list li{color:inherit!important}[data-theme=dark] .log-ok{color:#86efac!important}[data-theme=dark] tr{background:var(--card)!important}[data-theme=dark] td,[data-theme=dark] th{border-color:var(--border)!important;color:#fff!important;background:0 0!important}[data-theme=dark] .table thead th{color:#fff!important;background:#16203a!important}[data-theme=dark] .table-wrap{background:0 0}[data-theme=dark] .members-table .member-phone,[data-theme=dark] .members-table .qq-line,[data-theme=dark] .members-table .note-text,[data-theme=dark] .members-table .member-info-line,[data-theme=dark] .members-table .member-college-cell,[data-theme=dark] .members-table td[data-label],[data-theme=dark] .members-table td[data-label]:before{color:#fff!important}[data-theme=dark] .members-table td[data-label]:before{color:#cbd5e1!important}[data-theme=dark] .nav-link:hover,[data-theme=dark] .btn:hover,[data-theme=dark] .btn-ghost:hover,[data-theme=dark] .filter-link:hover,[data-theme=dark] .table tbody tr:hover,[data-theme=dark] .week-picker input[type=week]:hover,[data-theme=dark] .apply-adjust-toggle:hover,[data-theme=dark] .task-item-summary:hover,[data-theme=dark] .image-lightbox-close:hover,[data-theme=dark] .image-lightbox-tool:hover,[data-theme=dark] .nav-sliding .nav-link:hover,[data-theme=dark] .add-summary:hover,[data-theme=dark] .theme-toggle:hover{background:#1e2a41!important}[data-theme=dark] .add-collapse,[data-theme=dark] .add-body,[data-theme=dark] .duty-add,[data-theme=dark] .duty-add-body,[data-theme=dark] .past-duty,[data-theme=dark] .past-duty-body{color:#fff;background:var(--card)!important}[data-theme=dark] .add-summary,[data-theme=dark] .duty-add>summary,[data-theme=dark] .past-duty>summary,[data-theme=dark] .form-grid label,[data-theme=dark] .field label{color:#fff}[data-theme=dark] .folder-create-form input:focus,[data-theme=dark] .field .upload-title-input:focus,[data-theme=dark] .week-picker input[type=week]:focus,[data-theme=dark] .week-select-wrap select:focus{color:#fff!important;background:#0f1728!important}[data-theme=dark] input,[data-theme=dark] select,[data-theme=dark] textarea{color:#fff!important;border-color:var(--border)!important;background:#0f1728!important}[data-theme=dark] input:focus,[data-theme=dark] select:focus,[data-theme=dark] textarea:focus,[data-theme=dark] input:focus-visible,[data-theme=dark] input:active{outline:none;color:#fff!important;border-color:var(--nav-accent)!important;background:#16203a!important}[data-theme=dark] input[type=search],[data-theme=dark] .field input,[data-theme=dark] .field select,[data-theme=dark] .field textarea,[data-theme=dark] .search-input,[data-theme=dark] .form-grid input,[data-theme=dark] .form-grid select,[data-theme=dark] .form-grid textarea{color:#fff!important;background:#0f1728!important}[data-theme=dark] input::-webkit-search-cancel-button{filter:invert()}[data-theme=dark] .award-modal,[data-theme=dark] .img-modal-inner,[data-theme=dark] .status-modal,[data-theme=dark] .upload-modal{background:var(--card)!important;border-color:var(--border)!important;color:#fff!important}[data-theme=dark] .award-modal-title,[data-theme=dark] .award-modal-text,[data-theme=dark] .img-modal-bar,[data-theme=dark] .upload-modal-head h2,[data-theme=dark] .status-modal h2{color:#fff!important}[data-theme=dark] .award-modal-text{color:#e2e8f0!important}[data-theme=dark] .upload-modal-note{color:#e2e8f0!important;border-color:var(--border)!important;background:#16203a!important}[data-theme=dark] .img-modal-pic{border-color:var(--border)!important}[data-theme=dark] .wechat-stat-seq{color:#fff!important;background:#1b263c!important}[data-theme=dark] .status-member-item{border-color:var(--border)!important;color:#fff!important;background:#16203a!important}[data-theme=dark] .status-member-item *,[data-theme=dark] .status-modal-head h2{color:#fff!important}[data-theme=dark] .status-member-item .cell-sub{color:#cbd5e1!important}[data-theme=dark] .status-modal-close{color:#fff!important;border-color:var(--border)!important;background:#1b263c!important}[data-theme=dark] input[type=file]{color:#fff!important;border-color:var(--border)!important;background:#0f1728!important}[data-theme=dark] input[type=file]::file-selector-button{color:#fff;border:1px solid var(--border);cursor:pointer;background:#1b263c;border-radius:8px;margin-right:10px;padding:6px 12px}[data-theme=dark] input[type=file]::file-selector-button{color:#fff;border:1px solid var(--border);cursor:pointer;background:#1b263c;border-radius:8px;margin-right:10px;padding:6px 12px}[data-theme=dark] input[type=file]::file-selector-button:hover{background:#223049}[data-theme=dark] .award-pending-item{background:var(--card)!important;border-color:var(--border)!important;color:#fff!important}[data-theme=dark] .award-pending-item *,[data-theme=dark] .award-audit-user,[data-theme=dark] .award-proof-label,[data-theme=dark] .award-proof-block{color:#fff!important}[data-theme=dark] .award-audit-title,[data-theme=dark] .award-audit-title.award-audit-pending{color:#ffd9a8!important;background:#2a2015!important}[data-theme=dark] .award-audit-title.award-audit-approved{color:#a7f3d0!important;background:#10291c!important}[data-theme=dark] .award-audit-title.award-audit-rejected{color:#fecaca!important;background:#2a1416!important}[data-theme=dark] .award-auto-tag{color:#99f6e4!important;background:#10302b!important;border-color:#115e59!important}body{position:relative}.app{z-index:1;position:relative}body,.app,.card,.topbar,.stat-card,.task-item,.day-card,.award-row{transition:background-color .28s,color .28s,border-color .28s}[data-theme=dark] .day-duty{color:#fff!important;background:0 0!important}.lib-search{border:1px solid var(--border);background:var(--card);border-radius:12px;align-items:center;gap:8px;margin:0 0 14px;padding:8px 12px;display:flex}.lib-search>.ui-icon{width:17px;height:17px;color:var(--muted);flex:none;margin:0}.lib-search input[type=text],.lib-search input:not([type]){min-width:0;font:inherit;color:var(--text);background:0 0;border:0;flex:auto;padding:4px 0;font-size:14px}.lib-search input:focus{outline:none}[data-theme=dark] .lib-search{background:var(--card)!important;border-color:var(--border)!important}[data-theme=dark] .lib-search input{color:#fff!important;background:0 0!important}@media (max-width:640px){.lib-search{padding:6px 10px}.lib-search .btn{padding:5px 9px;font-size:12.5px}}
