:root{--primary: #7a4f93;--primary-hover: #68427e;--primary-light: #f7f0fa;--primary-soft: #fbf7fd;--primary-border: #e5d8ee;--text: #333333;--text-secondary: #666666;--text-light: #999999;--border: #e8e8e8;--border-light: #eeeeee;--bg: #fbf8fd;--danger: #ef606d;--success: #11cb9e;--warning: #ffa730;--info: #3eaafe;--header-height: 56px;--shadow: 0 2px 6px rgba(172, 183, 190, .4)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;font-size:14px;color:var(--text);background:var(--bg);line-height:1.7;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button,input,select,textarea{font-family:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}img{display:block}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#d9d2e0;border-radius:8px}::-webkit-scrollbar-track{background:transparent}.app-header{position:sticky;top:0;z-index:100;height:var(--header-height);background:#765092;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 12px 0 16px;box-shadow:0 1px 4px #00000029}.header-left,.header-right{display:flex;align-items:center}.header-left{gap:12px}.header-right{gap:0}.header-icon-btn{width:32px;height:32px;border:none;background:transparent;color:#fff;border-radius:4px;display:flex;align-items:center;justify-content:center;padding:0;transition:background .15s ease}.header-icon-btn:hover{background:#ffffff21}.brand{display:flex;align-items:center;gap:10px;border:none;background:transparent;color:#fff;padding:0;height:44px}.brand-logo{width:28px;height:28px}.brand-title{font-size:16px;font-weight:600;letter-spacing:.4px}.bell-btn{position:relative;width:46px;height:56px;border-radius:0}.header-badge{position:absolute;top:9px;left:20px;width:28px;min-width:28px;height:16px;padding:0;background:#f9434d;border:1px solid rgba(255,255,255,.7);border-radius:9px;font-size:12px;line-height:14px;font-weight:400;color:#fff;text-align:center}.lang-btn{width:48px;height:56px;padding:0;border:none;border-radius:0;background:transparent;color:#fff;font-size:13px;display:flex;align-items:center;justify-content:center;gap:4px;transition:background .15s ease}.lang-btn span{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;line-height:24px}.lang-btn:hover{background:#ffffff21}.avatar-btn{width:48px;height:56px;padding:0;border:none;background:transparent;border-radius:0;margin-left:0;display:flex;align-items:center;justify-content:center}.avatar-btn img{width:28px;height:28px;border-radius:50%;border:1px solid rgba(255,255,255,.6)}.header-action-wrap{position:relative;display:flex;align-items:center}.header-dropdown{position:absolute;top:calc(100% + 10px);right:0;background:#fff;color:var(--text);border-radius:6px;box-shadow:0 8px 30px #0000002e;z-index:130;overflow:hidden;animation:fadeDown .15s ease}.notification-dropdown{width:360px}.lang-dropdown{width:152px;padding:5px}.avatar-dropdown{width:224px;padding:5px 5px 7px}.dropdown-head{padding:14px 16px;display:flex;align-items:center;justify-content:space-between;font-size:14px;font-weight:600;border-bottom:1px solid #f0f0f0}.dropdown-head .link-btn{font-size:12px;font-weight:400}.notification-list{max-height:360px;overflow-y:auto}.notification-item{width:100%;display:flex;gap:10px;padding:13px 16px;background:#fff;border:none;border-bottom:1px solid #f4f4f4;text-align:left;transition:background .15s}.notification-item:hover{background:var(--primary-soft)}.notification-item.is-unread{background:#fdfbff}.notification-dot{width:7px;height:7px;border-radius:50%;background:transparent;margin-top:6px;flex-shrink:0}.notification-item.is-unread .notification-dot{background:var(--primary)}.notification-content{display:flex;flex-direction:column;gap:3px;min-width:0}.notification-title{font-size:13px;font-weight:600;color:#333}.notification-text{font-size:12px;color:#777;line-height:18px}.notification-time{font-size:11px;color:#aaa}.dropdown-foot{padding:11px 16px;font-size:12px;color:#999;background:#fafafa;text-align:center}.dropdown-empty{padding:34px 0;display:flex;flex-direction:column;align-items:center;gap:8px;color:#bbb;font-size:12px}.dropdown-option{width:100%;min-height:36px;padding:8px 10px;display:flex;align-items:center;gap:9px;border:none;border-radius:4px;background:transparent;color:#444;font-size:13px;text-align:left;transition:background .15s}.dropdown-option:hover{background:var(--primary-soft)}.dropdown-option.is-active{color:var(--primary);font-weight:600}.dropdown-option.danger{color:var(--danger)}.dropdown-option span{flex:1}.dropdown-divider{height:1px;background:#f0f0f0;margin:5px 4px}.avatar-summary{display:flex;align-items:center;gap:10px;padding:11px 10px}.avatar-summary img{width:38px;height:38px;border-radius:50%}.avatar-name{font-size:14px;font-weight:600}.avatar-email{font-size:11px;color:#999;margin-top:2px}.drawer-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#18101f75;z-index:200;display:flex;animation:fadeIn .15s ease}.nav-drawer{width:286px;height:100%;background:#fff;display:flex;flex-direction:column;box-shadow:8px 0 28px #0000002e;animation:slideIn .2s ease}.drawer-head{height:56px;padding:0 18px;display:flex;align-items:center;gap:10px;border-bottom:1px solid #f0f0f0;font-size:15px;font-weight:600}.drawer-head img{width:28px;height:28px}.drawer-head .modal-close{margin-left:auto}.drawer-nav{padding:12px;display:flex;flex-direction:column;gap:4px}.drawer-item{height:44px;padding:0 14px;border:none;border-radius:6px;background:transparent;color:#555;font-size:14px;display:flex;align-items:center;gap:12px;text-align:left;transition:background .15s}.drawer-item:hover{background:var(--primary-soft)}.drawer-item.is-active{background:var(--primary-light);color:var(--primary);font-weight:600}.drawer-foot{margin-top:auto;padding:20px;font-size:11px;color:#bbb}.app{min-height:100vh;background:var(--bg)}.page-shell{display:flex;align-items:flex-start;gap:16px;width:100%;min-height:calc(100vh - var(--header-height));padding:20px max(6%,calc((100vw - 1720px)/2))}.sidebar{width:280px;flex-shrink:0;height:calc(100vh - 96px);min-height:500px;position:sticky;top:76px;background:#fff;border-radius:4px;box-shadow:var(--shadow);display:flex;flex-direction:column;overflow:hidden}.sidebar-search{position:relative;margin:20px 20px 16px}.sidebar-search input{width:100%;height:36px;border:1px solid #d9d9d9;border-radius:4px;padding:0 32px 0 54px;font-size:14px;line-height:22px;color:#333;outline:none;background:#fff;transition:border-color .15s,box-shadow .15s}.sidebar-search input::placeholder{color:#aaa}.sidebar-search input:focus{border-color:var(--primary);box-shadow:0 0 0 2px #6f4d8a14}.sidebar-search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#999;pointer-events:none}.sidebar-search-clear{position:absolute;right:9px;top:50%;transform:translateY(-50%);width:18px;height:18px;padding:0;border:none;border-radius:50%;background:#f1edf5;color:#8b7a9b;display:flex;align-items:center;justify-content:center}.sidebar-menu{flex:1;overflow-y:auto;padding:0 0 10px}.nav-item{width:100%;height:44px;padding:0 23px 0 20px;border:none;background:transparent;color:#333;display:flex;align-items:center;gap:10px;font-size:14px;line-height:40px;text-align:left;transition:background .15s,color .15s}.nav-item:hover{background:var(--primary-soft)}.nav-item.is-selected{background:var(--primary-light);color:var(--primary)}.nav-item.is-parent-active{color:var(--primary)}.nav-icon{color:#c5c5c5;flex-shrink:0}.nav-icon+.nav-label{font-weight:600}.nav-item.is-selected .nav-icon,.nav-item.is-parent-active .nav-icon{color:var(--primary)}.nav-label{white-space:nowrap}.nav-chevron{color:#999;transition:transform .18s ease;flex-shrink:0}.nav-chevron.is-open{transform:rotate(180deg)}.nav-spacer{flex:1}.nav-count{color:#333;font-size:14px;font-weight:400}.nav-item.is-selected .nav-count,.nav-item.is-parent-active .nav-count{color:var(--primary)}.nav-child{height:44px;padding-left:44px;font-size:12px;line-height:44px;color:#333}.nav-child.is-selected{background:var(--primary-light);color:var(--primary)}.sidebar-footer{padding:20px}.sidebar-footer .new-project-btn{width:100%;height:44px;padding:10px 16px;font-size:16px;line-height:22px;border-radius:4px}.main-area{flex:1;min-width:0}.panel{background:#fff;border-radius:4px;box-shadow:var(--shadow);min-height:calc(100vh - 144px);padding:0 40px 40px;position:relative}.panel-header{height:61px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:4px;margin-bottom:12px;border-bottom:1px solid #eaeaea}.panel-title{display:flex;align-items:center;gap:16px;height:56px;line-height:56px;font-size:16px;font-weight:600;color:#333;min-width:0}.export-btn{border:none;background:transparent;color:var(--primary);font-size:14px;font-weight:400;line-height:22px;padding:6px 0;height:36px;display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.export-btn:hover{opacity:.75}.panel-checks{display:flex;align-items:center;gap:16px;margin-right:-8px;height:56px;flex-shrink:0}.tz-checkbox{position:relative;display:inline-flex;align-items:center;gap:8px;height:56px;padding-right:8px;line-height:56px;font-size:14px;color:#333;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.tz-checkbox input{position:absolute;opacity:0;width:0;height:0}.tz-checkbox-box{width:16px;height:16px;border:1px solid #d0d0d0;border-radius:2px;background:#fff;display:inline-flex;align-items:center;justify-content:center;color:#fff;transition:background .15s,border-color .15s;flex-shrink:0}.tz-checkbox:hover .tz-checkbox-box{border-color:var(--primary)}.tz-checkbox-box.is-checked{background:var(--primary);border-color:var(--primary)}.filter-row{display:flex;align-items:center;gap:12px;height:36px;margin-bottom:12px;flex-wrap:nowrap}.filter-spacer{flex:1}.sort-control{width:135px;height:32px;display:flex;align-items:center;border:1px solid #d9d9d9;border-radius:4px;background:#fff;position:relative;padding-right:3px;flex-shrink:0}.sort-trigger{height:30px;flex:1;border:none;background:transparent;padding:0 7px 0 12px;color:#333;font-size:14px;line-height:30px;display:flex;align-items:center;justify-content:space-between;gap:6px}.sort-trigger svg{transition:transform .18s}.sort-trigger svg.is-rotated{transform:rotate(180deg)}.sort-divider{width:1px;height:16px;background:#e8e8e8}.sort-direction{width:30px;height:30px;border:none;background:transparent;color:var(--primary);display:flex;align-items:center;justify-content:center;border-radius:3px}.sort-direction:hover{background:var(--primary-soft)}.filter-control{position:relative}.filter-trigger{height:32px;min-width:120px;border:1px solid #d9d9d9;border-radius:4px;background:#fff;padding:0 10px;display:flex;align-items:center;gap:8px;color:#333;font-size:14px;white-space:nowrap;transition:border-color .15s}.filter-trigger:hover{border-color:var(--primary-border)}.filter-trigger.is-active{border-color:var(--primary-border);color:var(--primary)}.filter-trigger svg{color:#999;flex-shrink:0;transition:transform .18s}.filter-trigger svg.is-rotated{transform:rotate(180deg)}.filter-trigger.is-active>svg{color:var(--primary)}.filter-placeholder{color:#8b7c96}.date-control .filter-trigger{width:220px;height:28px;padding:0 12px;font-size:12px;line-height:26px;justify-content:space-between}.date-control .filter-trigger>span{overflow:hidden;text-overflow:ellipsis}.meeting-control .filter-trigger,.project-status-control .filter-trigger{width:120px;height:36px;padding:0 16px;justify-content:space-between}html[lang=en] .project-status-control .filter-trigger,html[lang=en] .meeting-control .filter-trigger{width:150px}.filter-clear{width:18px;height:18px;border:none;border-radius:50%;background:#f1edf5;color:#8b7a9b;display:flex;align-items:center;justify-content:center;padding:0;flex-shrink:0}.filter-popover{position:absolute;top:calc(100% + 6px);left:0;min-width:150px;background:#fff;border-radius:6px;box-shadow:0 8px 24px #00000029;padding:5px;z-index:60;animation:fadeDown .14s ease}.sort-popover{min-width:170px}.popover-option{width:100%;min-height:34px;padding:7px 10px;border:none;border-radius:4px;background:transparent;display:flex;align-items:center;justify-content:space-between;gap:22px;color:#444;font-size:13px;text-align:left;white-space:nowrap}.popover-option:hover{background:var(--primary-soft)}.popover-option.is-active{color:var(--primary);font-weight:600}.date-popover{width:338px;padding:14px}.date-fields{display:flex;align-items:flex-end;gap:8px}.date-fields label{flex:1;min-width:0}.date-fields label span{display:block;font-size:12px;color:#999;margin-bottom:6px}.date-fields input{width:100%;height:32px;border:1px solid #e0e0e0;border-radius:4px;padding:0 8px;font-size:12px;color:#444;outline:none}.date-fields input:focus{border-color:var(--primary)}.date-sep{color:#bbb;padding-bottom:8px}.popover-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px;padding-top:12px;border-top:1px solid #f0f0f0}.view-toggle{display:flex;height:28px;width:56px;border:1px solid #d9d9d9;border-radius:4px;overflow:hidden;flex-shrink:0}.view-btn{flex:1;width:auto;border:none;border-left:1px solid #e8e8e8;background:#fff;color:#777;display:flex;align-items:center;justify-content:center;padding:0}.view-btn:first-child{border-left:none}.view-btn:hover{color:var(--primary)}.view-btn.is-active{background:var(--primary-light);color:var(--primary)}.cards-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 16px;padding-top:0}.project-card{position:relative;min-width:0;background:#fff;border-radius:2px;box-shadow:0 2px 6px #0000001f;overflow:hidden;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease;outline:none}.project-card:hover,.project-card:focus-visible{transform:translateY(-1px);box-shadow:0 7px 18px #00000029}.card-status{position:absolute;top:0;left:0;z-index:2;height:22px;padding:0 8px;border-radius:4px 0 8px;color:#fff;font-size:12px;font-weight:500;line-height:22px;white-space:nowrap}.card-preview-wrap{height:144px;padding:12px 12px 0;display:flex;justify-content:center}.card-preview{width:100%;height:120px;border-radius:2px;overflow:hidden;position:relative;box-shadow:-4px -4px 8px #0000000d;background:#fafafa}.thumb-full,.thumb-full img{width:100%;height:100%}.thumb-full img,.thumb-two img,.thumb-three img{object-fit:cover;border-radius:2px}.thumb-two{width:100%;height:100%;display:flex;gap:4px}.thumb-two img{width:50%;height:100%}.thumb-three{width:100%;height:100%;display:flex;gap:4px;position:relative}.thumb-main{width:50%;height:100%}.thumb-main img{width:100%;height:100%}.thumb-side{width:50%;height:100%;display:flex;flex-direction:column;gap:4px;position:relative}.thumb-side img{width:100%;height:calc(50% - 2px)}.thumb-overlay{position:absolute;right:25%;bottom:25%;transform:translate(50%,50%);width:50%;height:50%;border-radius:2px;background:#00000080;color:#fff;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:600}.thumb-empty{width:100%;height:100%;background:#f8f8f8;color:#999;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:11px}.thumb-empty img{width:62px;height:62px}.card-content{padding:0;min-width:0}.card-name{margin:0 20px 0 12px;font-size:14px;font-weight:600;line-height:23.8px;color:#000;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-meta{display:flex;align-items:center;justify-content:space-between;gap:6px;margin:10px 16px 0 12px;padding-bottom:16px;color:#999;font-size:12px;line-height:20.4px;white-space:nowrap}.card-people{color:#666;display:inline-flex;align-items:center;gap:4px}.table-wrap{width:100%;overflow-x:auto}.project-table{width:100%;border-collapse:collapse;font-size:13px}.project-table th{padding:11px 14px;background:#fafafa;border-bottom:1px solid #eaeaea;color:#999;font-size:12px;font-weight:500;text-align:left;white-space:nowrap}.project-table td{padding:14px;border-bottom:1px solid #f1f1f1;color:#333;vertical-align:middle}.project-table tbody tr{cursor:pointer;transition:background .12s}.project-table tbody tr:hover{background:var(--primary-soft)}.table-project-name{font-size:14px;font-weight:500;max-width:340px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table-project-number{font-size:11px;color:#aaa;margin-top:4px}.table-creator{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}.mini-avatar{width:22px;height:22px;border-radius:50%;color:#fff;font-size:10px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.table-muted{color:#999!important;white-space:nowrap}.status-tag{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;border-radius:3px;font-size:12px;line-height:18px;white-space:nowrap}.status-dot{width:6px;height:6px;border-radius:50%}.link-btn{border:none;background:transparent;color:var(--primary);padding:0;font-size:13px}.link-btn:hover{text-decoration:underline}.pagination{display:flex;align-items:center;justify-content:center;gap:8px;margin:20px 0 0}.page-btn{width:32px;height:32px;border:1px solid #d9d9d9;border-radius:4px;background:#fff;color:#666;font-size:14px;display:flex;align-items:center;justify-content:center;transition:all .14s}.page-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.page-btn-active{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:500}.page-btn-active:hover{color:#fff}.page-btn:disabled{opacity:.38}.page-arrow{color:#888}.empty-state{padding:90px 20px 70px;text-align:center;color:#999}.empty-state.small{padding:50px 20px}.empty-icon{width:92px;height:92px;margin:0 auto 14px;border-radius:50%;background:#f7f4fa;color:#c9bdd7;display:flex;align-items:center;justify-content:center}.empty-title{font-size:15px;color:#666}.empty-desc{font-size:12px;color:#aaa;margin-top:7px}.empty-state .btn{margin-top:16px}.list-summary{display:none}.btn{height:36px;padding:0 16px;border:1px solid transparent;border-radius:4px;background:#fff;color:#444;font-size:14px;display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;transition:all .15s ease}.btn:disabled{opacity:.45}.btn-primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}.btn-default{border-color:#d9d9d9;color:#444;background:#fff}.btn-default:hover:not(:disabled){border-color:var(--primary);color:var(--primary);background:var(--primary-soft)}.btn-text{border-color:transparent;background:transparent;color:#666}.btn-text:hover:not(:disabled){color:var(--primary)}.btn-success{background:var(--success);border-color:var(--success);color:#fff}.btn-success:hover:not(:disabled){background:#0eb68d;border-color:#0eb68d}.btn-danger-ghost{background:#fff;border-color:var(--danger);color:var(--danger)}.btn-danger-ghost:hover:not(:disabled){background:#fdeff0}.btn-danger-solid{background:var(--danger);border-color:var(--danger);color:#fff}.btn-danger-solid:hover:not(:disabled){background:#e04d5a;border-color:#e04d5a}.btn-sm{height:30px;padding:0 12px;font-size:13px}.danger-text{color:var(--danger)!important}.modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;background:#140e1a75;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .15s ease}.modal{max-width:100%;max-height:calc(100vh - 40px);background:#fff;border-radius:5px;box-shadow:0 16px 50px #0000003d;display:flex;flex-direction:column;animation:modalIn .18s ease}.modal-header{height:54px;flex-shrink:0;padding:0 20px;border-bottom:1px solid #eee;display:flex;align-items:center;justify-content:space-between}.modal-title{font-size:16px;font-weight:600;color:#333;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-close{width:30px;height:30px;padding:0;border:none;background:transparent;color:#999;border-radius:4px;display:flex;align-items:center;justify-content:center}.modal-close:hover{background:#f5f5f5;color:#333}.modal-body{padding:24px;overflow-y:auto}.modal-footer{flex-shrink:0;padding:14px 20px;border-top:1px solid #eee;display:flex;align-items:center;justify-content:flex-end;gap:10px}.confirm-content p{margin:0 0 8px;line-height:1.6}.confirm-content .muted{color:#999;font-size:12px}.form{display:flex;flex-direction:column;gap:18px}.form-item{display:flex;flex-direction:column;gap:7px;position:relative;min-width:0}.form-label{font-size:13px;color:#555}.form-label em{color:var(--danger);font-style:normal;margin-right:4px}.form-input,.form-textarea,.form-select{width:100%;border:1px solid #d9d9d9;border-radius:4px;color:#333;font-size:13px;background:#fff;outline:none;transition:border-color .15s,box-shadow .15s}.form-input,.form-select{height:36px;padding:0 11px}.form-textarea{padding:9px 11px;line-height:1.55;resize:vertical;min-height:80px}.form-input:focus,.form-textarea:focus,.form-select:focus{border-color:var(--primary);box-shadow:0 0 0 2px #6f4d8a1a}.form-input.has-error{border-color:var(--danger)}.form-input::placeholder,.form-textarea::placeholder{color:#bbb}.form-error{font-size:12px;color:var(--danger)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.select-wrap{position:relative;display:block}.form-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:30px}.select-arrow{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:#999;pointer-events:none}.form-counter{position:absolute;right:10px;bottom:7px;font-size:11px;color:#bbb}.form-hint{display:flex;align-items:flex-start;gap:6px;padding:9px 12px;border-radius:4px;background:#f7f4fa;color:#7c6b8e;font-size:12px;line-height:18px}.form-hint svg{flex-shrink:0;margin-top:1px}.input-with-count{position:relative;display:block}.input-with-count .form-input{padding-right:48px}.input-count{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:11px;color:#bbb;pointer-events:none}.date-input-wrap{position:relative;display:block}.date-input-wrap input[type=date]{padding-right:34px}.date-input-icon{position:absolute;right:11px;top:50%;transform:translateY(-50%);color:#999;pointer-events:none}.radio-row{display:flex;align-items:center;gap:24px;min-height:36px}.radio-item{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:#444;cursor:pointer}.radio-item input{position:absolute;opacity:0;width:0;height:0}.radio-dot{width:16px;height:16px;border:1px solid #cfcfcf;border-radius:50%;background:#fff;position:relative;flex-shrink:0}.radio-item.is-checked .radio-dot{border-color:var(--primary)}.radio-item.is-checked .radio-dot:after{content:"";position:absolute;left:4px;top:4px;width:6px;height:6px;border-radius:50%;background:var(--primary)}.danone-form{gap:0}.danone-create-modal .modal-header{height:66px;padding:0 40px}.danone-create-modal .modal-body{padding:24px 40px 44px}.danone-create-modal .modal-footer{padding:20px 40px 24px;border-top:none}.danone-form .form-item{display:grid;grid-template-columns:121px minmax(0,1fr);align-items:start;gap:0;min-height:48px;margin:0 0 5px}.danone-form .form-label{font-size:14px;color:#333;height:48px;line-height:48px;white-space:nowrap}.danone-form .form-label em{color:var(--danger);font-style:normal;margin-right:4px}.danone-create-modal .form-input,.danone-create-modal .form-select{height:48px;font-size:14px}.danone-create-modal .form-textarea{height:134px;min-height:134px;font-size:14px}.danone-create-modal .input-with-count{height:48px}.danone-create-modal .input-count{font-size:12px}.danone-create-modal .radio-row,.danone-create-modal .date-input-wrap,.danone-create-modal .select-wrap{height:48px}.danone-create-modal .date-input-icon{right:11px}.danone-form .form-error{grid-column:2;padding:4px 0 8px}.date-placeholder{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:#bbb;font-size:14px;pointer-events:none}.date-empty{color:transparent}.date-empty::-webkit-datetime-edit{color:transparent}.danone-create-modal input[type=date]::-webkit-calendar-picker-indicator{opacity:0;position:absolute;right:0;width:40px;height:100%;cursor:pointer}.danone-create-modal .modal-footer .btn{min-width:80px;height:36px}.step-bar{display:flex;align-items:center;justify-content:center;gap:12px;padding-bottom:18px;margin-bottom:22px;border-bottom:1px solid #f0f0f0}.step-item{display:flex;align-items:center;gap:7px;font-size:13px;color:#aaa}.step-item.is-active{color:var(--primary);font-weight:600}.step-index{width:22px;height:22px;border-radius:50%;background:#f0f0f0;color:#999;font-size:12px;display:flex;align-items:center;justify-content:center}.step-item.is-active .step-index{background:var(--primary);color:#fff}.step-line{width:72px;height:1px;background:#e5e5e5}.selected-members{padding:12px;background:#faf8fc;border:1px dashed #e2d8eb;border-radius:4px;margin-bottom:14px}.selected-title{font-size:12px;color:#999;margin-bottom:8px}.selected-list{display:flex;flex-wrap:wrap;gap:8px}.member-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 8px 3px 4px;background:#fff;border:1px solid #e6deee;border-radius:16px;font-size:12px;color:#555}.member-chip-self{background:#f4eff8;border-color:#ddd0e9}.member-chip button{border:none;background:transparent;color:#999;padding:0;display:flex}.member-search{position:relative;margin-bottom:10px}.member-search svg{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:#999}.member-search input{width:100%;height:34px;border:1px solid #e0e0e0;border-radius:4px;padding:0 12px 0 34px;font-size:13px;outline:none}.member-search input:focus{border-color:var(--primary)}.member-list{max-height:260px;overflow-y:auto;border:1px solid #f0f0f0;border-radius:4px}.member-row{width:100%;padding:10px 12px;display:flex;align-items:center;gap:10px;background:#fff;border:none;border-bottom:1px solid #f5f5f5;text-align:left}.member-row:last-child{border-bottom:none}.member-row:hover{background:#faf8fc}.member-row.is-checked{background:#fcfaff}.member-avatar{width:30px;height:30px;border-radius:50%;color:#fff;font-size:11px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.member-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.member-name{font-size:13px;color:#333}.member-email{font-size:11px;color:#aaa;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-role{font-size:11px;color:#999;background:#f5f5f5;border-radius:3px;padding:2px 6px;flex-shrink:0}.member-check{width:18px;height:18px;border:1px solid #d9d9d9;border-radius:50%;background:#fff;color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}.member-check.is-checked{background:var(--primary);border-color:var(--primary)}.member-tip{display:flex;align-items:flex-start;gap:6px;margin-top:10px;font-size:12px;color:#999;line-height:18px}.detail-panel{padding:20px 40px;min-height:calc(100vh - 96px)}.detail-back-row{margin-top:0;height:36px;display:flex;align-items:center}.detail-back-row.with-banner{margin-top:25px}.back-link{display:inline-flex;align-items:center;gap:6px;height:36px;border:none;background:transparent;color:#333;font-size:14px;padding:0}.back-link:hover{color:var(--primary)}.breadcrumb-sep{color:#d5d5d5}.detail-title-row{margin-top:4px;height:32px;margin-right:-40px;display:flex;align-items:center}.detail-title-line{display:flex;align-items:center;gap:12px;flex-wrap:nowrap;min-width:0}.detail-title-line h1{margin:0;font-size:18px;font-weight:600;color:#222;line-height:32px;word-break:break-all}.detail-status{font-size:14px;line-height:20px;padding:6px 10px;border-radius:4px;flex-shrink:0}.detail-meta-line{display:none}.copy-link{border:none;background:transparent;color:var(--primary);font-size:11px;padding:0 0 0 6px}.dot-sep{color:#d5d5d5}.detail-action-row{margin-top:44px;margin-right:-40px;height:36px;display:flex;align-items:center;justify-content:flex-end;gap:8px}.detail-actions{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;flex-shrink:0}.icon-action-btn{width:36px;height:36px;border:1px solid var(--primary);border-radius:4px;background:#fff;color:var(--primary);display:inline-flex;align-items:center;justify-content:center;padding:0}.icon-action-btn:hover{background:var(--primary-soft)}.detail-action-row .btn{height:36px;padding:6px 16px;margin:0}.detail-action-row .btn-default:disabled{background:#efe6f4;border-color:#d3d7db;color:#b8afc1;opacity:1}.danone-action-btn{width:90px}.danone-action-btn.is-short{width:76px}.danone-action-btn.is-submit{width:118px}.archived-pill{padding:6px 14px;border-radius:16px;background:#f4eff8;color:#8d76ab;font-size:13px}.detail-tabs{display:flex;gap:40px;height:51.2px;margin-right:-40px;border-bottom:1px solid #eee}.detail-tab{position:relative;padding:12px 0;border:none;background:transparent;color:#333;font-size:14px;line-height:23.8px}.detail-tab:hover{color:var(--primary)}.detail-tab.is-active{color:var(--primary);font-weight:500}.detail-tab.is-active:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--primary)}.tab-count,.section-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:17px;padding:0 5px;margin-left:3px;border-radius:9px;background:var(--primary-light);color:var(--primary);font-size:11px;font-weight:500}.detail-layout{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(280px,1fr);gap:24px;padding-top:24px}.detail-main-col,.detail-side-col{min-width:0}.detail-side-col{display:flex;flex-direction:column;gap:20px}.info-card,.section-block,.side-card{border:1px solid #f0f0f0;border-radius:6px;padding:20px;background:#fff}.card-section-title{display:flex;align-items:center;gap:4px;font-size:15px;font-weight:600;color:#333;margin-bottom:14px}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 24px}.info-item span{display:block;font-size:12px;color:#999;margin-bottom:5px}.info-item strong{font-size:13px;font-weight:500;color:#333}.info-item.is-wide{grid-column:span 2}.info-item p{margin:0;font-size:13px;line-height:1.7;color:#555;white-space:pre-wrap;word-break:break-word}.section-block{margin-top:24px}.section-head,.tab-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}.section-head .card-section-title{margin-bottom:0}.section-actions{display:flex;align-items:center;gap:12px}.section-count{background:#f5f5f5;color:#999}.material-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.material-card{border:1px solid #eee;border-radius:4px;overflow:hidden;background:#fff;cursor:pointer;transition:box-shadow .15s}.material-card:hover{box-shadow:0 4px 14px #0000001a}.material-thumb{height:120px;background:#fafafa;position:relative;overflow:hidden}.material-thumb img{width:100%;height:100%;object-fit:cover}.material-hover{position:absolute;top:0;right:0;bottom:0;left:0;background:#3f2a5059;color:#fff;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s}.material-card:hover .material-hover{opacity:1}.material-body{padding:10px}.material-name{font-size:13px;font-weight:500;color:#333;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.material-meta{display:flex;align-items:center;gap:6px;margin-top:6px;font-size:11px;color:#999}.material-status{margin-left:auto;padding:1px 5px;border-radius:2px;font-size:10px}.material-grid.is-compact .material-thumb{height:110px}.member-list-view{display:flex;flex-direction:column;gap:13px}.member-view-row{display:flex;align-items:center;gap:10px}.member-view-info{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.member-view-info span{font-size:13px;color:#333}.member-view-info small{font-size:11px;color:#999}.me-tag{font-size:10px;color:var(--primary);background:var(--primary-light);border-radius:8px;padding:1px 6px}.timeline-item{display:flex;gap:10px;min-height:58px}.timeline-track{width:18px;display:flex;flex-direction:column;align-items:center;flex-shrink:0}.timeline-dot{width:18px;height:18px;border-radius:50%;background:#f0f0f0;color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative;z-index:1;margin-top:2px}.timeline-item.is-done .timeline-dot{background:var(--success)}.timeline-item.is-current .timeline-dot{background:var(--primary);box-shadow:0 0 0 3px #6f4d8a24}.timeline-item.is-reject .timeline-dot{background:var(--danger)}.timeline-dot-inner{width:6px;height:6px;border-radius:50%;background:#fff}.timeline-line{width:1px;flex:1;background:#eaeaea;margin:3px 0}.timeline-content{padding-bottom:14px;min-width:0}.timeline-title{font-size:13px;font-weight:500;color:#333;line-height:20px}.timeline-desc{font-size:12px;color:#777;line-height:1.65;margin-top:2px;word-break:break-word}.timeline-time{font-size:11px;color:#aaa;margin-top:4px}.timeline.is-compact .timeline-item{min-height:50px}.timeline.is-compact .timeline-desc{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.side-more{margin-top:2px}.detail-tab-panel{padding-top:22px}.tab-toolbar-title{font-size:15px;font-weight:600;color:#333}.detail-tab-panel .material-grid{grid-template-columns:repeat(auto-fill,210px);gap:16px}.detail-tab-panel .material-thumb{height:140px}.mini-empty{padding:28px;border:1px dashed #e8e2ee;border-radius:4px;display:flex;flex-direction:column;align-items:center;gap:8px;color:#aaa;font-size:12px}.mini-empty svg{color:#c9bdd7}.detail-empty{min-height:560px;display:flex;flex-direction:column;align-items:center;justify-content:center}.preview-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(200px,1fr);gap:22px}.preview-image{min-height:300px;max-height:460px;border-radius:4px;background:#f8f8f8;display:flex;align-items:center;justify-content:center;overflow:hidden}.preview-image img{max-width:100%;max-height:460px;object-fit:contain}.preview-info{display:flex;flex-direction:column;gap:14px;padding-left:22px;border-left:1px solid #eee}.preview-info-row{display:flex;flex-direction:column;gap:3px}.preview-info-row span{font-size:12px;color:#999}.preview-info-row strong{font-size:13px;font-weight:500;color:#333}.thumb-picker{display:flex;gap:6px;flex-wrap:wrap}.thumb-pick{width:46px;height:42px;padding:0;border:1px solid #e5e5e5;border-radius:4px;overflow:hidden;background:#fff}.thumb-pick img{width:100%;height:100%;object-fit:cover}.thumb-pick.is-active{border-color:var(--primary);box-shadow:0 0 0 2px #6f4d8a1f}.account-card{display:flex;flex-direction:column;align-items:center;text-align:center}.account-avatar{width:68px;height:68px;border-radius:50%;border:2px solid #f0eaf6}.account-name{margin-top:12px;font-size:18px;font-weight:600}.account-email{margin-top:4px;font-size:12px;color:#999}.account-grid{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-top:22px;background:#f0f0f0;border:1px solid #f0f0f0;border-radius:4px;overflow:hidden}.account-grid>div{background:#fafafa;padding:12px;display:flex;flex-direction:column;gap:4px;text-align:left}.account-grid span{font-size:11px;color:#999}.account-grid strong{font-size:13px;font-weight:500;color:#333}.danone-banner{margin:0;min-height:42px;padding:9px 16px;background:#e8f8f6;border:1px solid #cdeee8;border-radius:4px;color:#2b7468;font-size:13px;display:flex;align-items:center;justify-content:space-between;gap:12px}.banner-close{border:none;background:transparent;color:#6f9e95;padding:2px;display:flex}.danone-detail-layout{display:grid;grid-template-columns:minmax(0,866fr) minmax(0,460fr);gap:27px;padding-top:23px;margin-right:-40px}.danone-detail-main,.danone-detail-side{min-width:0}.approval-card,.supplement-card{border:none;border-radius:8px;padding:16px 16px 22px;background:#f8f9fa}.supplement-card{display:flex;flex-direction:column;height:100%}.supplement-card.is-empty .card-section-title{margin-bottom:0}.supplement-empty{flex:1;min-height:300px;display:flex;align-items:center;justify-content:center;color:#999;font-size:12px}.approval-card .card-section-title,.supplement-card .card-section-title{margin-bottom:24px;font-size:14px;line-height:23.8px;font-weight:500}.approval-creator{display:flex;align-items:center;justify-content:space-between;margin-left:48px;min-height:54px}.approval-creator-label{font-size:14px;color:#333}.approval-creator-person{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:#333}.timeline-avatar{width:38px;height:38px;border-radius:50%;color:#fff;font-size:12px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.timeline-avatar.small{width:30px;height:30px;font-size:11px}.approval-node{margin:36px 0 0 48px;position:relative}.approval-node.is-auditing{margin:24px 0 0 36px}.approval-node:before{content:"";position:absolute;left:-25px;top:-56px;bottom:18px;width:2px;background:#cdeee8}.approval-node:after{content:"";position:absolute;left:-30px;top:2px;width:12px;height:12px;border-radius:50%;background:#11cb9e;border:2px solid #cdeee8}.approval-creator:before{content:"";position:absolute;left:23px;top:54px;width:12px;height:12px;border-radius:50%;background:#11cb9e;border:2px solid #cdeee8;z-index:1}.approval-card{position:relative}.approval-node-title{display:flex;flex-direction:column;align-items:flex-start;gap:4px;font-size:14px;font-weight:500;margin-bottom:11px}.approval-groups{font-size:12px;color:#999;font-weight:400;line-height:20.4px}.approver-list{display:grid;grid-template-columns:1fr 1fr;gap:34px 0}.approver-cell{min-width:0;padding:10px 0}.approver-main{display:flex;align-items:center;gap:8px;height:20.4px}.approver-main .timeline-avatar.small{width:22px;height:22px;font-size:10px}.approver-name{font-size:14px;color:#333;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.approver-status{font-size:12px;line-height:16px;margin-top:2px;margin-left:36px}.approval-card{height:100%}.approval-group-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px}.approval-group-card{background:#fff;border-radius:8px;padding:12px;min-width:0}.approval-group-head{display:flex;flex-direction:column;gap:2px;padding-bottom:12px;margin-bottom:14px;border-bottom:1px solid #eee}.approval-group-title{font-size:14px;line-height:23.8px;color:#111827}.approval-group-body{display:flex;flex-direction:column;gap:14px}.approval-group-approver{display:flex;align-items:center;gap:10px}.outline-avatar{width:30px;height:30px;border-radius:50%;border:1px solid #d9d9d9;color:#999;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.approval-group-person{display:flex;flex-direction:column;gap:2px}.approval-group-name{font-size:12px;line-height:20.4px;color:#111827}.approval-group-status{font-size:12px;line-height:16px;color:#98a2b3}.supplement-card .card-section-title{margin-bottom:9px}.supplement-item{padding:0;border-radius:0;background:transparent;margin-bottom:23px}.supplement-item:last-child{margin-bottom:0}.supplement-head{display:flex;align-items:center;gap:8px}.supplement-head .timeline-avatar.small{width:24px;height:24px;font-size:10px}.supplement-name{font-size:13px;color:#333;min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis}.risk-tag{font-size:11px;border-radius:10px;padding:2px 8px;flex-shrink:0}.supplement-time{font-size:11px;line-height:16px;color:#aaa;margin:6px 0 6px 32px}.supplement-box{background:#fff;border:1px solid #eee;border-radius:4px;padding:8px 10px;font-size:12px;line-height:18px;color:#666}.material-storage-badge{position:absolute;left:8px;bottom:8px;background:#0000008c;color:#fff;border-radius:3px;padding:2px 7px;font-size:11px}.material-status-ribbon{position:absolute;left:0;top:0;color:#fff;font-size:12px;line-height:22px;height:22px;padding:0 8px;border-radius:4px 0 8px;z-index:2}.material-toolbar .section-actions{gap:16px}.material-toolbar{margin-top:-7px;margin-bottom:23px}.mark-risk-btn{width:118px}.risk-options{display:flex;align-items:center;gap:12px}.risk-option{height:36px;padding:0 16px;border:1px solid #ddd;border-radius:4px;font-size:13px;background:#fff}.risk-option.is-active{font-weight:500}.project-log-item{border-bottom:1px solid #eee;padding-bottom:20px;margin-bottom:20px}.project-log-item:last-child{border-bottom:none;margin-bottom:0}.ai-detail-page{position:fixed;top:0;right:0;bottom:0;left:0;z-index:500;background:#fff;display:flex;flex-direction:column}.ai-detail-header{height:56px;flex-shrink:0;border-bottom:1px solid #eee;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 24px}.ai-detail-head-left,.ai-detail-head-right{display:flex;align-items:center;gap:18px;min-width:0}.ai-back{width:32px;height:32px;border:none;background:transparent;color:#333;display:flex;align-items:center;justify-content:center}.ai-title{font-size:16px;color:#333;white-space:nowrap}.ai-project-no,.ai-project-name{font-size:13px;color:#666;white-space:nowrap}.ai-download{color:var(--danger)}.ai-header-tabs{display:flex;align-items:center;gap:26px;height:56px}.ai-header-tabs span{position:relative;height:56px;line-height:56px;font-size:13px;color:#666;white-space:nowrap}.ai-header-tabs span.is-active{color:var(--primary);display:inline-flex;align-items:center;gap:6px}.ai-header-tabs span.is-active svg{color:#8c8c8c}.ai-header-tabs span.is-active:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--primary)}.ai-header-tabs em{font-style:normal;color:var(--danger)}.ai-detail-body{flex:1;min-height:0;display:flex}.ai-image-panel{flex:1;position:relative;min-width:0;background-color:#2f2f2f;background-image:linear-gradient(45deg,#3a3a3a 25%,transparent 25%),linear-gradient(-45deg,#3a3a3a 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#3a3a3a 75%),linear-gradient(-45deg,transparent 75%,#3a3a3a 75%);background-size:8px 8px;background-position:0 0,0 4px,4px -4px,-4px 0;overflow:hidden;display:flex;align-items:center;justify-content:center}.ai-image-panel>img{max-width:100%;max-height:100%;object-fit:contain}.ai-bounding-box{position:absolute;display:inline-flex;align-items:center;gap:4px;font-size:12px;color:#f5222d;border:1px solid #f5222d;padding:2px 5px;background:#ffffff14;white-space:nowrap}.ai-bounding-box em{font-style:normal;background:#f5222d;color:#fff;min-width:14px;height:14px;border-radius:2px;display:inline-flex;align-items:center;justify-content:center;font-size:10px}.ai-box-1{left:18%;top:10%}.ai-box-2{left:42%;top:10%}.ai-box-3{left:20%;top:52%}.ai-box-4{left:50%;top:38%}.ai-box-5{left:44%;top:78%}.ai-box-6{left:30%;top:74%}.ai-zoom-bar{position:absolute;left:50%;bottom:18px;transform:translate(-50%);height:36px;padding:0 14px;border-radius:18px;background:#000000b8;color:#fff;display:flex;align-items:center;gap:16px;font-size:13px;white-space:nowrap}.ai-origin-text{margin-left:10px;color:#ffffffeb}.ai-result-panel{width:462px;flex-shrink:0;border-left:1px solid #eee;overflow-y:auto;padding:14px 12px 30px;background:#fff}.ai-result-section{border-bottom:1px solid #eee;padding-bottom:14px;margin-bottom:14px}.ai-result-head{height:36px;padding:0 12px;border-radius:4px;background:#f8f9fa;display:flex;align-items:center;justify-content:space-between;font-size:13px;color:#333}.ai-result-head-left{display:inline-flex;align-items:center;gap:6px}.ai-result-head-left svg{color:#52c41a}.ai-empty-result{width:100%;padding-top:68px;text-align:center;color:#999;font-size:13px}.ai-result-count{color:#999}.ai-version-tag{margin-top:12px;padding:6px 10px;border:1px solid #91d5b5;color:#1f8f6b;background:#f0fbf7;border-radius:3px;font-size:12px;text-align:center}.ai-risk-group{border-radius:4px;border:1px solid #ffe0d8;overflow:hidden}.ai-risk-group-head{height:38px;padding:0 12px;background:#fff7f5;display:flex;align-items:center;gap:6px;font-size:12px;color:#d4380d}.ai-risk-title{flex:1}.ai-risk-count{color:#d4380d}.ai-risk-item{position:relative;margin:8px;padding:12px 48px 12px 38px;border:1px solid #f2c8bf;border-radius:3px;background:#fff}.ai-risk-item-index{position:absolute;left:10px;top:12px;width:18px;height:18px;border-radius:3px;background:#fff1ee;color:#d4380d;font-size:11px;display:flex;align-items:center;justify-content:center}.ai-risk-item-title{font-size:12px;color:#d4380d}.ai-risk-item-term{font-size:12px;color:#333;margin-top:5px}.ai-risk-item-desc{font-size:12px;color:#999;margin-top:4px}.ai-ignore-btn{position:absolute;right:10px;bottom:10px;height:24px;padding:0 8px;border:1px solid #ddd;border-radius:3px;background:#fff;color:#999;font-size:11px}.material-project-info{display:flex;flex-direction:column;gap:4px;margin-top:7px;font-size:11px;color:#777}.material-project-info span{display:block;padding:3px 6px;border:1px solid #e5e5e5;border-radius:2px;background:#fafafa;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.no-more{display:flex;align-items:center;justify-content:center;gap:12px;margin:36px 0 10px;color:#999;font-size:12px}.minutes-panel{padding:44px 21px 0}.minutes-editor{border:1px solid #e8e8e8;border-radius:4px;padding:0 0 14px}.minutes-toolbar{height:41px;padding:0 12px;border-bottom:1px solid #eee;display:flex;align-items:center;gap:13px;color:#666;font-size:14px}.toolbar-btn.strike{text-decoration:line-through}.toolbar-btn.color-a{position:relative;display:inline-flex;align-items:center;gap:1px}.color-tri{font-size:8px}.minutes-actions{display:flex;justify-content:flex-end;padding:0 14px}.minutes-actions .btn{height:36px;min-width:60px}.minutes-toolbar-select{height:28px;min-width:80px;border:1px solid #ddd;border-radius:4px;display:inline-flex;align-items:center;padding:0 10px;font-size:13px}.toolbar-btn{display:inline-flex;align-items:center;justify-content:center;min-width:16px;font-size:14px;color:#666;cursor:default}.toolbar-btn.strong{font-weight:700}.toolbar-btn.italic{font-style:italic}.toolbar-btn.underline{text-decoration:underline}.toolbar-sep{width:1px;height:18px;background:#eee}.minutes-textarea{width:100%;min-height:150px;border:none;outline:none;padding:14px;resize:vertical;font-size:13px;color:#333;line-height:1.7}.minutes-textarea::placeholder{color:#bbb}.minutes-records{margin-top:28px;padding-top:20px;border-top:1px solid #eee}.minutes-empty{min-height:210px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#999;font-size:12px}.minutes-empty-icon{width:72px;height:72px;border-radius:50%;background:#f7f4fa;color:#c9bdd7;display:flex;align-items:center;justify-content:center}.minutes-record-list{display:flex;flex-direction:column;gap:14px}.minutes-record{border:1px solid #eee;border-radius:6px;padding:14px 16px;background:#fafafa}.minutes-record-head{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#999}.minutes-record-head strong{color:#333;font-weight:500}.minutes-record p{margin:10px 0 0;font-size:13px;color:#555;line-height:1.7;white-space:pre-wrap}.log-panel{padding-top:26px}.project-log{position:relative}.project-log-item{position:relative;display:flex;gap:18px;padding-bottom:26px}.project-log-dot{position:absolute;left:9px;top:4px;width:10px;height:10px;border-radius:50%;border:2px solid #d8cfdf;background:#fff;z-index:1}.project-log-line{position:absolute;left:14px;top:15px;bottom:0;width:1px;background:#eee}.project-log-content{flex:1;padding-left:30px;min-width:0}.project-log-time{font-size:12px;color:#999;margin-bottom:8px}.project-log-text{font-size:13px;color:#333;line-height:1.6}.project-log-operator{font-size:12px;color:#999;white-space:nowrap}.toast-stack{position:fixed;top:72px;left:50%;transform:translate(-50%);z-index:1200;display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none}.toast{display:flex;align-items:center;gap:8px;padding:10px 16px;border-radius:6px;background:#2f2f2f;color:#fff;font-size:13px;box-shadow:0 6px 20px #0003;animation:slideDown .2s ease;max-width:80vw}.toast-success svg{color:#4ade80}.toast-error svg{color:#ff7b7b}.toast-warning svg{color:#fbbf24}.toast-info svg{color:#93c5fd}.login-screen{min-height:100vh;background:radial-gradient(circle at 20% 20%,#795a92,#563b6c 42%,#2f1f3f);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;padding:24px}.login-deco{position:absolute;border-radius:50%;filter:blur(2px);pointer-events:none}.login-deco-1{width:520px;height:520px;top:-180px;right:-120px;background:radial-gradient(circle,#ffffff1f,#fff0)}.login-deco-2{width:420px;height:420px;bottom:-160px;left:-100px;background:radial-gradient(circle,#bea0dc38,#bea0dc00)}.login-card{position:relative;width:424px;max-width:100%;background:#fffffffa;border-radius:12px;padding:38px 36px 30px;box-shadow:0 26px 70px #00000052;animation:modalIn .25s ease}.login-brand{display:flex;align-items:center;gap:10px;color:var(--primary);font-size:17px;font-weight:600}.login-brand img{width:36px;height:36px}.login-card h1{margin:26px 0 8px;font-size:25px;font-weight:600;color:#2d2435}.login-sub{margin:0;font-size:13px;color:#999}.login-form{display:flex;flex-direction:column;gap:16px;margin-top:26px}.login-form label>span{display:block;font-size:12px;color:#666;margin-bottom:6px}.login-input{height:42px;border:1px solid #e2ddea;border-radius:6px;padding:0 12px;display:flex;align-items:center;gap:8px;color:#a99bb8;transition:border-color .15s,box-shadow .15s}.login-input:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px #6f4d8a1a}.login-input input{flex:1;min-width:0;height:100%;border:none;outline:none;font-size:13px;color:#333;background:transparent}.login-btn{width:100%;height:44px;margin-top:4px;font-size:15px}.login-tip{display:flex;align-items:flex-start;gap:6px;margin-top:18px;padding:10px;border-radius:6px;background:#f7f3fb;color:#88739b;font-size:12px;line-height:18px}.login-foot{position:absolute;bottom:22px;left:0;right:0;text-align:center;color:#ffffff94;font-size:12px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeDown{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes modalIn{0%{opacity:0;transform:translateY(-8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes slideIn{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@media (min-width: 768px){.cards-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width: 1200px){.cards-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}@media (min-width: 1600px){.cards-grid{grid-template-columns:repeat(8,minmax(0,1fr))}}@media (max-width: 1200px){.detail-layout,.danone-detail-layout{grid-template-columns:minmax(0,1fr)}.detail-tab-panel .material-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.preview-layout{grid-template-columns:minmax(0,1fr)}.preview-info{padding-left:0;border-left:none;border-top:1px solid #eee;padding-top:16px}}@media (max-width: 992px){.page-shell{padding:16px 20px}.sidebar{width:248px}.panel,.detail-panel{padding-left:24px;padding-right:24px}.panel-checks{gap:14px}.date-control .filter-trigger{width:190px}}@media (max-width: 860px){.page-shell{flex-direction:column;gap:14px}.sidebar{position:static;width:100%;height:auto;min-height:0}.sidebar-menu{max-height:286px}.panel{min-height:520px}.cards-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.detail-tab-panel .material-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.brand-title{display:none}.panel,.detail-panel{padding-left:16px;padding-right:16px}.panel-header{height:auto;min-height:62px;padding:10px 0;flex-wrap:wrap}.panel-checks{gap:12px;flex-wrap:wrap}.cards-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 10px}.filter-row{gap:8px;height:auto;flex-wrap:wrap}.filter-spacer{display:none}.date-control .filter-trigger{width:180px}.date-popover{width:min(338px,calc(100vw - 54px))}.date-fields{flex-wrap:wrap}.date-sep{display:none}.detail-head{flex-direction:column}.detail-title-line h1{font-size:18px}.detail-layout{gap:16px}.material-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-row{grid-template-columns:1fr}.notification-dropdown{width:min(360px,calc(100vw - 30px));right:-80px}.header-right{gap:0}.lang-btn svg{display:none}.toast{font-size:12px}}@media (max-width: 440px){.cards-grid{grid-template-columns:1fr}.modal-mask{padding:10px}.modal-body{padding:18px}.avatar-dropdown{right:-4px}}
