:root{--content-max:100%;--brand:#0d9488;--brand-dark:#0f766e;--brand-deep:#115e59;--brand-soft:#e0f2f1;--border:#e2e8f0;--bg:#e9edf1;--ink:#1f2937;--muted:#64748b;--green:#10b981;--amber:#f59e0b;--red:#dc2626;--blue:#3b82f6}*{box-sizing:border-box}body,html{margin:0;padding:0}body{font-family:Arial,Microsoft YaHei,PingFang SC,sans-serif;font-size:14px;background:var(--bg);color:var(--ink);min-height:100vh;display:flex;flex-direction:column}a{color:var(--brand-dark)}.app-header{flex:0 0 auto;background:linear-gradient(135deg,#0f766e,#0d9488 60%,#14b8a6);color:#fff;box-shadow:0 2px 10px rgba(15,118,110,.18)}.app-header-inner{display:flex;align-items:center;gap:16px;padding:0 24px;height:52px;max-width:var(--content-max);margin:0 auto}.app-brand{display:flex;align-items:baseline;gap:9px;color:#fff;text-decoration:none;white-space:nowrap;flex:0 0 auto}.app-brand,.app-brand h1{font-weight:700;font-size:16px;letter-spacing:.5px}.app-brand h1{margin:0}.app-brand .sub{color:#ccfbf1;font-size:12px;font-weight:400}.app-nav{display:flex;gap:3px;align-items:center;flex:0 0 auto}.app-nav a{color:#fff;text-decoration:none;padding:6px 14px;border-radius:6px;font-weight:600;font-size:13px;opacity:.85;white-space:nowrap}.app-nav a:hover{background:rgba(255,255,255,.14);opacity:1}.app-nav a.active{background:#fff;color:var(--brand-deep);opacity:1}.app-right .app-nav-icon{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;padding:6px 9px;border-radius:6px;font-size:16px;line-height:1;cursor:pointer;color:inherit;text-decoration:none;opacity:.85}.app-right .app-nav-icon:hover{background:rgba(255,255,255,.14);opacity:1}.app-nav-wallet{display:inline-flex;align-items:center;gap:0;overflow:hidden;border-radius:6px;padding:6px 9px;color:#fff;text-decoration:none;font-size:16px;opacity:.85;white-space:nowrap}.app-nav-wallet:focus-visible,.app-nav-wallet:hover{background:rgba(255,255,255,.14);opacity:1}.app-nav-wallet-num{max-width:0;opacity:0;font-weight:600;font-size:13px;transition:max-width .18s ease,opacity .18s ease,margin-left .18s ease}.app-nav-wallet:focus-visible .app-nav-wallet-num,.app-nav-wallet:hover .app-nav-wallet-num{max-width:90px;opacity:1;margin-left:5px}.app-search{flex:1 1;display:flex;justify-content:center;align-items:center;min-width:0}.app-search-box{position:relative;width:100%;max-width:360px}.app-search-icon{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:#9ca3af;pointer-events:none;display:flex}.app-search-box input{width:100%;border:none;border-radius:18px;padding:7px 14px 7px 32px;font-size:13px;outline:none;background:#fff;color:#1f2937}.app-search-box input::placeholder{color:#9ca3af}.app-search-drop{position:absolute;top:calc(100% + 6px);left:0;right:0;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 6px 24px rgba(0,0,0,.14);max-height:340px;overflow:auto;z-index:60;color:#1f2937;text-align:left}.app-search-group{font-size:11px;color:var(--muted);padding:6px 12px 2px}.app-search-item{display:flex;align-items:center;gap:8px;padding:9px 12px;border-bottom:1px solid #f0f0f0;cursor:pointer}.app-search-item:last-child{border-bottom:none}.app-search-item:hover{background:var(--brand-soft)}.app-search-name{font-weight:600;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-search-type{font-size:11px;color:#6b7280;white-space:nowrap;margin-left:auto}.app-search-empty{padding:16px;text-align:center;color:#6b7280;font-size:12px}.app-right{display:flex;align-items:center;gap:8px;position:relative}.app-avatar{background:transparent;border:1px solid #fff;color:#fff;border-radius:50%;width:32px;height:32px;cursor:pointer;font-weight:600;font-size:14px;padding:0}.app-avatar:hover{background:rgba(255,255,255,.14)}.app-dropdown{position:absolute;right:0;top:40px;background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:0 6px 24px rgba(0,0,0,.14);min-width:170px;z-index:50;overflow:hidden}.app-dropdown .dd-head{padding:8px 16px;font-size:12px;color:var(--muted);border-bottom:1px solid var(--border);word-break:break-all}.app-dropdown a,.app-dropdown button.dd-item{display:block;color:var(--ink);padding:9px 16px;font-size:13px;text-decoration:none;text-align:left;background:none;border:none;width:100%;cursor:pointer}.app-dropdown a:hover,.app-dropdown button.dd-item:hover{background:var(--brand-soft)}.app-dropdown .dd-divider{border-top:1px solid var(--border)}.bell-wrap{position:relative}.bell-pop{position:absolute;right:0;top:40px;width:320px;max-width:calc(100vw - 24px);background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 28px rgba(0,0,0,.16);z-index:60;overflow:hidden}.bell-head{display:flex;align-items:center;justify-content:space-between;padding:9px 12px;border-bottom:1px solid var(--border);font-size:13px}.bell-mark-all{background:none;border:none;color:var(--brand-deep);font-size:12px;cursor:pointer;padding:0}.bell-mark-all:hover{text-decoration:underline}.bell-list{max-height:340px;overflow-y:auto}.bell-item{display:block;width:100%;text-align:left;background:none;border:none;border-bottom:1px solid var(--border);padding:9px 12px;cursor:pointer}.bell-item:hover{background:var(--brand-soft)}.bell-item.read{opacity:.55}.bell-item-title{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--ink)}.bell-item-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bell-dot{flex:0 0 auto;width:6px;height:6px;border-radius:50%;background:var(--red)}.bell-imp{flex:0 0 auto;font-size:10px;font-weight:700;color:var(--red);border:1px solid var(--red);border-radius:4px;padding:0 3px}.bell-item-body{margin-top:2px;font-size:12px;color:var(--muted);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.bell-item-time{margin-top:3px;font-size:11px;color:var(--muted)}.bell-empty{padding:22px 12px;color:var(--muted)}.bell-empty,.bell-foot{text-align:center;font-size:12px}.bell-foot{display:block;padding:9px 12px;color:var(--brand-deep);text-decoration:none;background:#fafcfd}.bell-foot:hover{background:var(--brand-soft)}.container{width:100%;max-width:var(--content-max);margin:0 auto;padding:20px 24px 48px;flex:1 0 auto}.app-shell{background:#dce2e8}.app-shell>.container{background:#f4f8f9;border:1px solid #e2e9ee;border-radius:14px;margin-top:16px;margin-bottom:20px;padding:18px 22px 26px;box-shadow:0 1px 3px rgba(15,23,42,.06)}@keyframes field-shake{0%,to{transform:translateX(0)}20%{transform:translateX(-5px)}40%{transform:translateX(5px)}60%{transform:translateX(-4px)}80%{transform:translateX(4px)}}.input-invalid{border-color:var(--red)!important;animation:field-shake .4s ease}.page-title{font-size:20px;font-weight:700;color:var(--brand-deep);margin:4px 0 6px}.page-sub{color:var(--muted);font-size:13px;margin:0 0 16px}.tabs{display:flex;gap:0;margin:4px 0 20px;border-bottom:2px solid var(--border);flex-wrap:wrap}.tab{background:none;color:var(--muted);font-size:14px;font-weight:600;padding:10px 18px;cursor:pointer;border:none;border-bottom:2px solid transparent;margin-bottom:-2px}.tab.active,.tab:hover{color:var(--brand-dark)}.tab.active{border-bottom-color:var(--brand)}.card{background:#fff;border:1px solid #dbe2ea;border-radius:10px;box-shadow:0 1px 3px rgba(15,23,42,.07);padding:16px;margin-bottom:16px}.card-title{font-size:15px;font-weight:700;color:var(--brand-deep);margin:0 0 10px;display:flex;align-items:center;gap:8px}.card-title .cnt{color:var(--muted);font-weight:400;font-size:12px}.hub-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:10px;gap:10px}.hub-item{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:#fbfcfe;color:inherit}.hub-item:hover{border-color:var(--brand);background:#f4f8ff}.stats{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:16px}.stat{display:flex;align-items:baseline;gap:6px;background:#fff;border:1px solid var(--border);border-radius:10px;padding:10px 16px}.stat .num{font-size:22px;font-weight:700;color:var(--brand-dark)}.stat .lbl{font-size:12px;color:var(--muted)}.input,.select,textarea{border:1px solid var(--border);border-radius:6px;padding:7px 10px;font-size:13px;font-family:inherit;background:#fff;color:var(--ink);outline:none}.input:focus,.select:focus,textarea:focus{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-soft)}textarea{width:100%;min-height:60px;resize:vertical}.btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);background:#fff;color:var(--ink);border-radius:6px;padding:7px 14px;font-size:13px;font-weight:600;cursor:pointer;text-decoration:none;white-space:nowrap}.btn:hover{color:var(--brand-dark)}.btn-primary,.btn:hover{border-color:var(--brand)}.btn-primary{background:var(--brand);color:#fff}.btn-primary:hover{background:var(--brand-dark);border-color:var(--brand-dark);color:#fff}.btn-danger{color:var(--red);border-color:#fecaca}.btn-danger:hover{background:#fef2f2;border-color:var(--red);color:var(--red)}.btn-ghost{border-color:transparent;background:transparent;color:var(--muted)}.btn-ghost:hover{background:var(--brand-soft);color:var(--brand-dark)}.btn-sm{padding:4px 10px;font-size:12px;border-radius:5px}.btn-xs{padding:2px 8px;font-size:11px;border-radius:4px}.wrap{overflow-x:auto;background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:0 1px 3px rgba(0,0,0,.04)}table{border-collapse:collapse;width:100%;font-size:13px}th{background:var(--brand-dark);color:#fff;padding:8px 10px;white-space:nowrap;font-weight:600}td[align=left],th,th[align=left]{text-align:left}td[align=center],th[align=center]{text-align:center}td[align=right],th[align=right]{text-align:right}td{border-bottom:1px solid #f0f0f0;padding:8px 10px;vertical-align:middle}tr:last-child td{border-bottom:none}tbody tr:hover td{background:#fafdfc}.badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;white-space:nowrap}.badge-green{background:#d1fae5;color:#047857}.flag-badge{display:inline-block;padding:1px 9px;border-radius:999px;font-size:12px;background:#fee2e2;color:#991b1b}.badge-gray{background:#e5e7eb;color:#6b7280}.badge-amber{background:#fef3c7;color:#b45309}.badge-red{background:#fee2e2;color:#b91c1c}.badge-teal{background:var(--brand-soft);color:var(--brand-deep)}.badge-blue{background:#dbeafe;color:#1d4ed8}.list{list-style:none;margin:0;padding:0}.list li{padding:8px 4px;border-bottom:1px solid #f0f0f0}.list li:last-child{border-bottom:none}.muted{color:var(--muted)}.small{font-size:12px}.error{color:var(--red)}.msg{color:var(--green)}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.mt{margin-top:8px}.mb{margin-bottom:16px}.toast-container{position:fixed;bottom:24px;right:24px;z-index:9999;display:flex;flex-direction:column;gap:10px;max-width:360px}.toast{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:8px;background:#fff;border:1px solid var(--border);box-shadow:0 4px 16px rgba(0,0,0,.12);cursor:pointer;animation:toast-in .2s ease-out;font-size:14px}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.toast-icon{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0;color:#fff}.toast-success .toast-icon{background:var(--green)}.toast-error .toast-icon{background:var(--red)}.toast-info .toast-icon{background:var(--brand)}.toast-body{flex:1 1;min-width:0}.toast-title{font-weight:600;color:var(--text)}.toast-desc{font-size:13px;color:var(--muted);margin-top:2px}.toast-close{background:none;border:none;color:var(--muted);cursor:pointer;font-size:18px;line-height:1;padding:0;flex-shrink:0}.toast-close:hover{color:var(--text)}.inline-status{display:inline-flex;align-items:center;font-size:12px;margin-left:6px;vertical-align:middle}.inline-status-saving{color:var(--muted)}.inline-status-success{color:var(--green)}.inline-status-error{color:var(--red)}.inline-status-dots{display:inline-block;animation:dots-blink 1.2s infinite;letter-spacing:2px}@keyframes dots-blink{0%,20%{opacity:.3}50%{opacity:1}80%,to{opacity:.3}}.inline-status-error-text{white-space:nowrap}.inline-status-spacer{display:inline-block;width:1em}.batch-edit-bar{position:fixed;bottom:0;left:0;right:0;z-index:900;background:#fff;border-top:1px solid var(--border);box-shadow:0 -2px 10px rgba(0,0,0,.06);animation:bar-up .2s ease-out}@keyframes bar-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.batch-edit-bar-inner{max-width:1200px;margin:0 auto;padding:12px 24px;display:flex;justify-content:space-between;align-items:center}.batch-edit-count{font-size:14px;color:var(--text)}.batch-edit-count strong{color:var(--brand);font-weight:700}@media (max-width:640px){.app-header-inner{flex-wrap:wrap;height:auto;padding:10px 14px;gap:8px}.app-brand{flex:1 1 auto}.app-right{order:2}.app-search{order:3;flex:0 0 100%}.app-nav{order:4;flex:0 0 100%;overflow-x:auto}}.app-footer{text-align:center;color:#fff;font-size:12px;padding:18px 12px 24px;background:linear-gradient(135deg,#0f766e,#0d9488 60%,#14b8a6);flex:0 0 auto;letter-spacing:.5px}.auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:40px 16px;background:linear-gradient(180deg,var(--brand-soft) 0,var(--bg) 100%)}.auth-box{width:min(420px,calc(100vw - 32px));background:#fff;border:1px solid var(--border);border-radius:14px;padding:32px 28px;box-shadow:0 8px 30px rgba(0,0,0,.08)}.auth-title{font-size:22px;letter-spacing:1px;margin:0 0 6px;font-weight:700;color:var(--brand-deep)}.auth-sub{color:var(--muted);font-size:13px;margin:0 0 24px}.auth-tabs{display:flex;border-bottom:1px solid var(--border);margin-bottom:22px}.auth-tab{background:none;border:none;color:var(--muted);font-size:14px;padding:8px 2px;margin-right:22px;cursor:pointer}.auth-tab.active{color:var(--brand);border-bottom:2px solid var(--brand)}.field-label{font-size:12px;margin:12px 0 5px}.field-label .req{color:var(--red)}.form-grid{display:flex;gap:10px}.form-grid>*{flex:1 1}.auth-block-btn{display:block;width:100%;height:42px;margin-top:22px;background:var(--brand);border:none;color:#fff;border-radius:6px;font-size:14px;letter-spacing:2px;cursor:pointer}.auth-block-btn:hover{background:var(--brand-dark)}.auth-back{display:block;text-align:center;color:var(--muted);text-decoration:none;font-size:12px;margin-top:18px}.auth-back:hover{color:var(--brand-dark)}.auth-hint{color:var(--muted);font-size:11px;line-height:1.7;margin:14px 0 0}.setting-row{border-top:1px solid var(--border);padding:16px 0}.setting-row:first-of-type{border-top:none}.setting-row .label{color:var(--muted);font-size:12px;margin-bottom:6px}.setting-row .value{font-size:15px}.board{display:flex;gap:12px;align-items:flex-start;overflow-x:auto;padding-bottom:8px}.board-col{flex:1 1;min-width:0;background:#e7edf3;border:1px solid #d5dee8;border-radius:8px;padding:8px}.board-col-head{font-size:13px;font-weight:700;color:var(--brand-deep);padding:4px 6px 8px;border-bottom:2px solid #cfe6e2;margin-bottom:8px}.board-card{display:block;background:#fff;border:1px solid #dbe2ea;border-radius:6px;padding:8px;margin-bottom:8px;box-shadow:0 1px 2px rgba(15,23,42,.06);text-decoration:none;color:inherit}.board-card:hover{border-color:var(--brand)}.board-card-slim{display:flex;align-items:stretch;padding:0}.board-card-bar{flex:0 0 3px;border-radius:6px 0 0 6px;background:#cbd5e1}.lvl-red .board-card-bar{background:#e5484d}.lvl-orange .board-card-bar{background:#f5a524}.board-card-main{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:6px;padding:5px 8px}.board-card-line{flex:1 1 auto;min-width:0;display:block;font-size:12.5px;line-height:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.board-card-tag{flex:0 0 auto;font-size:11px;font-weight:600;color:#64748b}.lvl-red .board-card-tag{color:#e5484d}.lvl-orange .board-card-tag{color:#c77a12}.board-card-flash{animation:board-card-flash 2.6s ease-out}@keyframes board-card-flash{0%{box-shadow:0 0 0 2px #4f46e5;background:#eef0ff}60%{box-shadow:0 0 0 1px #4f46e5;background:#eef0ff}to{box-shadow:none}}.board-mobile{display:none}.board-chips{display:flex;gap:8px;overflow-x:auto;padding-bottom:8px}.board-chip{flex:0 0 auto;font-size:12.5px;font-weight:600;color:var(--brand-deep);background:#e7edf3;border:1px solid #d5dee8;border-radius:999px;padding:5px 12px;white-space:nowrap}.board-chip.on{background:var(--brand);border-color:var(--brand);color:#fff}.board-mterm,.board-mterm .board-card{margin-bottom:6px}.flow-hover-card{z-index:900;background:#fff;border:1px solid #cfd8e3;border-radius:8px;padding:10px 12px;box-shadow:0 8px 24px rgba(15,23,42,.16);font-size:13px;display:flex;flex-direction:column;gap:6px;pointer-events:none}.flow-hover-row{display:flex;gap:8px;align-items:center}.flow-hover-row .muted{flex:0 0 64px}.flow-hover-row span:last-child,.flow-hover-row strong:last-child,.flow-hover-row ul{min-width:0;word-break:break-word}.dnd-dragging{opacity:.4}.dnd-over{box-shadow:inset 0 2px 0 0 var(--brand)}.dnd-drop-zone{outline:1px dashed rgba(13,148,136,.55);outline-offset:-3px;background:rgba(13,148,136,.06)}.dnd-disabled{opacity:.45}.board-term-drop{min-height:14px}.tuda-crumb{margin-bottom:12px}.app-header.header-sticky{position:-webkit-sticky;position:sticky;top:0;z-index:50}.tuda-crumb.crumb-sticky{position:-webkit-sticky;position:sticky;top:87px;z-index:40}.crumb-simple{padding:5px 10px;font-weight:600}.crumb,.crumb-simple{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--border);border-radius:8px;font-size:13px}.crumb{padding:4px 8px}.crumb.readonly{background:#fff7e6;border-color:#f0d59a}.crumb-proj{display:inline-flex;align-items:center;gap:4px;border:none;background:transparent;padding:2px 4px;border-radius:6px;font-family:inherit;font-size:13px;color:var(--ink);cursor:pointer;max-width:260px}.crumb-proj:hover{background:var(--brand-soft);color:var(--brand-deep)}.crumb-proj-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crumb-caret{opacity:.5;font-size:11px}.crumb-sep{color:var(--muted)}.crumb-here{display:inline-flex;align-items:center;gap:4px;border:none;background:transparent;padding:2px 4px;border-radius:6px;font-family:inherit;font-size:13px;font-weight:600;color:var(--ink);cursor:pointer}.crumb-here:hover{background:var(--brand-soft);color:var(--brand-deep)}.crumb-group{font-size:11px;font-weight:700;color:var(--muted);padding:6px 8px 2px}.tuda-side.help-open{z-index:350}.side-help-card{position:fixed;z-index:700}.side-help-card>.card{width:min(400px,76vw);padding:10px 12px;box-shadow:0 8px 24px rgba(0,0,0,.14)}@media (max-width:768px){.side-help-card{display:none}}.funnel{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}.funnel-tile{flex:1 1 140px;background:#fff;border:1px solid var(--border);border-radius:10px;padding:10px 14px}.funnel-num{font-size:22px;font-weight:700;color:var(--brand-deep);line-height:1.2}.funnel-sub{font-size:13px;font-weight:600;color:var(--muted)}.funnel-label{font-size:12px;color:var(--muted);margin-top:2px}.funnel-window{font-size:11px;color:#a0aab4;margin-top:1px}button.funnel-tile-link{font-family:inherit;text-align:left;cursor:pointer}.funnel-tile-link{text-decoration:none;color:inherit;transition:border-color .15s}.funnel-tile-link:hover{border-color:var(--brand)}.board-col-head.board-col-link{display:block;width:100%;background:none;border:none;font-family:inherit;text-align:left;cursor:pointer}.board-col-empty{flex:0 0 84px}.board-col-note{font-size:11px;color:var(--muted);text-align:center;padding:6px 0}.head-menu{position:relative}.head-menu-pop{position:absolute;right:0;top:calc(100% + 4px);z-index:30;min-width:150px;background:#fff;border:1px solid var(--border);border-radius:8px;overflow:hidden;box-shadow:0 4px 16px rgba(0,0,0,.08)}.board-term-drop{margin-bottom:6px}.board-term-head{display:block;width:100%;background:none;border:none;font-family:inherit;font-size:13px;font-weight:700;color:var(--brand-deep);text-align:left;padding:5px 2px;cursor:pointer}.board-term-head:hover{color:var(--brand)}.seg-toggle{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden}.seg-toggle button{border:none;background:#fff;padding:6px 12px;font-size:13px;font-family:inherit;color:var(--muted);cursor:pointer}.seg-toggle button.on{background:var(--brand);color:#fff;font-weight:700}.todo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.todo-seg{padding:12px 14px}.todo-row{display:flex;flex-direction:column;gap:2px;padding:7px 8px;margin-top:6px;border-radius:6px;text-decoration:none;color:inherit;background:#f7f9fb}.todo-row:hover{background:var(--brand-soft)}@media (max-width:900px){.todo-grid{grid-template-columns:1fr}}.hint-warn{margin-top:8px;padding:8px 10px;background:#fff7e6;border:1px solid #f0d59a;border-radius:8px;font-size:12px;color:#8a6100}.backfill{margin-top:8px;padding:10px;background:#f7f9fb;border:1px dashed var(--border);border-radius:8px}.dropdown-item{display:block;width:100%;text-align:left;padding:8px 12px;background:transparent;border:0;border-bottom:1px solid var(--border);font-size:13px;color:var(--text);cursor:pointer}.dropdown-item:last-child{border-bottom:0}.dropdown-item:hover{background:var(--bg)}.grid-2{display:grid;grid-template-columns:1fr 1fr}.link-dash{display:inline-block;margin:0 2px;color:var(--primary);text-decoration:underline;-webkit-text-decoration-style:dashed;text-decoration-style:dashed}@media (max-width:560px){.grid-2{grid-template-columns:1fr}}.tuda-shell{display:flex;flex-direction:column}.tuda-body{display:flex;gap:16px;align-items:flex-start}.tuda-side{position:-webkit-sticky;position:sticky;top:87px;max-height:calc(100vh - 99px);flex:0 0 auto;width:54px;display:flex;flex-direction:column;background:#fff;border:1px solid var(--border);border-radius:10px;padding:10px 5px;overflow:hidden;transition:width .18s ease}.tuda-side:hover{width:120px}.tuda-side-menu{flex:1 1 auto;min-height:0;overflow-y:auto;scrollbar-width:none}.tuda-side-menu::-webkit-scrollbar{display:none}.tuda-proj{width:100%;margin-bottom:8px;padding:5px 8px;font-size:12px}.tuda-side-label{font-size:11px;font-weight:700;color:var(--muted);max-height:0;opacity:0;overflow:hidden;white-space:nowrap;padding:0 6px;transition:max-height .18s ease,opacity .15s ease}.tuda-side:hover .tuda-side-label{max-height:24px;opacity:1;padding-top:7px;padding-bottom:2px}.tuda-side-group{border-top:1px solid var(--border);margin-top:8px;padding-top:2px}.tuda-side a{display:flex;align-items:center;gap:10px;padding:7px 6px;border-radius:6px;font-size:13px;text-decoration:none;color:var(--ink);white-space:nowrap;overflow:hidden}.tuda-side a svg{flex-shrink:0}.tuda-side .tuda-side-text{opacity:0;flex-shrink:0;white-space:nowrap;transition:opacity .15s}.tuda-side:hover .tuda-side-text{opacity:1}.tuda-side-star{color:var(--brand)}.tuda-side a:hover{background:var(--brand-soft);color:var(--brand-deep)}.tuda-side a.active{background:var(--brand);color:#fff;font-weight:700}.tuda-side a{position:relative}.side-badge{display:inline-flex;align-items:center;justify-content:center;margin-left:6px;background:var(--red);color:#fff;font-size:10px;font-weight:700;line-height:1;border-radius:8px;min-width:16px;height:16px;padding:0 4px;vertical-align:1px}.tuda-side.rail .side-badge{position:absolute;top:-3px;right:-4px;margin-left:0;min-width:14px;height:14px;font-size:9px}.tuda-side-add{border-top:1px solid var(--border);margin-top:10px;padding-top:8px}.tuda-main{flex:1 1 auto;min-width:0}@media (max-width:768px){.tuda-body{flex-direction:column}.tuda-side{position:static;flex:0 0 auto;width:100%;height:auto;left:auto;bottom:auto;display:flex;flex-direction:row;align-items:center;gap:4px;overflow-x:auto;padding:8px}.tuda-main{margin-left:0}.tuda-side-menu{display:contents}.tuda-proj{width:auto;margin-bottom:0}.tuda-side-label{display:none}.tuda-side .tuda-side-text{opacity:1}.tuda-side-add{border-top:none;margin-top:0;padding-top:0;flex:0 0 auto}.board{display:none}.board-mobile{display:block}.funnel{flex-direction:column}.funnel-tile{flex:1 1 auto}}.tuda-side .side-locked{display:flex;align-items:center;width:100%;padding:6px 5px;border:none;background:none;border-radius:6px;font-size:13px;color:var(--muted);cursor:pointer;white-space:nowrap;position:relative;text-align:left}.tuda-side .side-locked:hover{background:var(--bg);color:var(--ink)}.side-lock{margin-left:auto;font-size:10px;opacity:.8}.module-flash{animation:module-flash 2.4s ease}@keyframes module-flash{0%,55%{box-shadow:0 0 0 3px rgba(13,148,136,.35)}to{box-shadow:0 0 0 3px transparent}}.menu-backdrop{position:fixed;inset:0;z-index:45}.row-menu{position:absolute;right:0;top:100%;z-index:46;background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:0 6px 18px rgba(15,23,42,.12);padding:4px;display:flex;flex-direction:column;min-width:130px}.row-menu button{background:none;border:none;text-align:left;padding:7px 10px;font-size:13px;border-radius:6px;cursor:pointer;color:var(--ink)}.row-menu button:hover{background:var(--brand-soft);color:var(--brand-deep)}.drawer-overlay{position:fixed;inset:0;z-index:60;background:rgba(15,23,42,.35);display:flex;justify-content:flex-end}.drawer-right{background:#fff;width:480px;max-width:92vw;height:100%;box-shadow:-4px 0 20px rgba(15,23,42,.15);padding:20px;overflow:hidden;display:flex;flex-direction:column;gap:14px;animation:drawer-in .18s ease}.drawer-body{flex:1 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:14px}.drawer-footer{flex-shrink:0;display:flex;justify-content:flex-end;gap:8px;padding-top:12px;border-top:1px solid var(--border)}@keyframes drawer-in{0%{transform:translateX(28px);opacity:.5}to{transform:translateX(0);opacity:1}}.drawer-group{border:1px solid var(--border);border-radius:8px;padding:12px 14px 14px;margin:0;display:flex;flex-direction:column;gap:10px}.drawer-group legend{font-size:12px;font-weight:700;color:var(--brand-deep);padding:0 6px}.drawer-field{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}.drawer-field .input{font-size:13px;color:var(--ink)}.official-badge{display:inline-flex;align-items:center;gap:3px;background:var(--brand);color:#fff;font-size:10px;font-weight:700;line-height:1;padding:2px 6px;border-radius:8px;margin-left:5px;vertical-align:1px}.settings-layout{display:flex;gap:24px;align-items:flex-start}.settings-nav{width:180px;flex-shrink:0;display:flex;flex-direction:column;gap:2px;position:-webkit-sticky;position:sticky;top:70px}.settings-nav-item{text-align:left;padding:10px 14px;border:none;background:none;border-radius:8px;cursor:pointer;font-size:14px;color:var(--text)}.settings-nav-item:hover{background:var(--brand-soft)}.settings-nav-item.active{background:var(--brand);color:#fff;font-weight:600}.settings-content{flex:1 1;min-width:0}.form-group{display:flex;flex-direction:column;gap:12px}.field-label{font-size:13px;color:var(--muted);margin-bottom:4px;display:block}.form-actions{gap:10px;margin-top:8px;padding-top:16px;border-top:1px solid var(--border)}.form-actions,.level-hero{display:flex;align-items:center}.level-hero{gap:16px;padding:20px;border-radius:12px;margin-bottom:20px;position:relative;overflow:hidden}.level-hero:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;opacity:.1;background:linear-gradient(135deg,currentColor,transparent)}.level-hero>*{position:relative;z-index:1}.level-gray{color:#999;background:#f5f5f5}.level-amber{color:#d97706;background:#fffbeb}.level-blue{color:#2563eb;background:#eff6ff}.level-teal{color:#0d9488;background:#f0fdfa}.level-gold{color:#b45309;background:#fef3c7}.level-badge{width:56px;height:56px;border-radius:50%;background:currentColor;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:18px;flex-shrink:0}.level-name{margin:0;font-size:20px;color:var(--text)}.level-desc{margin:4px 0 0;font-size:13px;color:var(--muted)}.level-progress{flex:1 1;margin-left:auto;max-width:200px}.level-progress-bar{height:6px;border-radius:3px;background:currentColor;opacity:.3;transition:width .3s}.level-dots{display:flex;justify-content:space-between;margin-top:8px}.level-dot{width:10px;height:10px;border-radius:50%;background:#ddd}.level-dot.active{background:currentColor}.quota-section{margin-bottom:20px}.quota-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px}.quota-item{padding:12px;border:1px solid var(--border);border-radius:8px;display:flex;flex-direction:column;gap:6px}.quota-label{font-size:12px;color:var(--muted)}.quota-value{font-size:18px;font-weight:700}.next-level-card{border:2px dashed var(--brand);border-radius:12px;padding:20px;background:linear-gradient(135deg,rgba(59,130,246,.03),rgba(59,130,246,.01))}.next-level-header{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-weight:600}.next-level-badge{background:var(--brand);color:#fff;padding:2px 10px;border-radius:12px;font-size:12px;font-weight:700}.next-level-perks{list-style:none;padding:0;margin:0 0 12px;display:grid;grid-template-columns:1fr 1fr;grid-gap:6px 16px;gap:6px 16px}.next-level-perks li{font-size:14px}.next-level-requirement{margin-bottom:12px}.all-levels{margin-top:12px;display:flex;flex-direction:column;gap:12px}.all-levels-item{padding:12px;border:1px solid var(--border);border-radius:8px;opacity:.7}.all-levels-item.current{border-color:var(--brand);opacity:1;background:var(--brand-soft)}.verify-list{display:flex;flex-direction:column;gap:12px}.verify-item{display:flex;gap:16px;padding:16px;border:1px solid var(--border);border-radius:8px;align-items:flex-start;opacity:.6}.verify-item.achieved{opacity:1;border-color:var(--green);background:rgba(34,197,94,.04)}.verify-icon{width:40px;height:40px;border-radius:50%;background:var(--border);color:#999;display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0}.verify-item.achieved .verify-icon{background:var(--green);color:#fff}.verify-info{flex:1 1}.verify-name{font-weight:600;margin-bottom:4px}.tudan-item{width:100%;display:flex;align-items:center;gap:16px;padding:10px 0;background:none;border:none;border-bottom:1px solid var(--border);cursor:pointer;text-align:left;transition:background .15s}.tudan-item:hover{background:var(--brand-soft)}.empty-state{text-align:center;padding:40px 20px;color:var(--muted)}.lb-bands{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.lb-band{border:1px solid var(--border);background:#fff;border-radius:8px;padding:6px 12px;font-size:13px;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.lb-band.active,.lb-band:hover{border-color:var(--brand)}.lb-band.active{box-shadow:0 0 0 2px rgba(0,150,136,.15)}.lb-band .n{font-weight:700}.lb-band.red{border-left:4px solid #e5484d}.lb-band.orange{border-left:4px solid #f5a524}.lb-band.yellow{border-left:4px solid #f5d90a}.lb-band.green{border-left:4px solid #30a46c}.lb-band.blue{border-left:4px solid #3b82f6}.task-card{border:1px solid var(--border);border-left:4px solid var(--muted);border-radius:8px;background:#fff;padding:10px 14px;margin-bottom:8px}.task-card.red{border-left-color:#e5484d}.task-card.orange{border-left-color:#f5a524}.task-card.yellow{border-left-color:#d4b106}.task-card.green{border-left-color:#30a46c}.task-card.stalled{border-color:#e5484d;box-shadow:inset 0 0 0 1px #e5484d}.task-head{display:flex;justify-content:space-between;gap:8px;align-items:baseline}.task-sub{font-size:12px;color:var(--muted);margin-top:2px}.task-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.addr-block{background:#f7f7f7;border-radius:6px;padding:8px 10px;font-size:12px;white-space:pre-wrap;margin:6px 0}.ship-mini{float:right;font-size:11px;color:var(--brand);cursor:pointer;border:1px solid var(--brand);border-radius:4px;padding:0 5px;margin-left:6px;background:#fff}.ship-mini:hover{background:var(--brand);color:#fff}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(15,23,42,.5);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal{width:100%;max-width:520px;max-height:90vh;overflow-y:auto;overflow-x:hidden;margin:0;display:flex;flex-direction:column;animation:modal-in .2s ease-out}.modal.modal-structured{overflow:hidden}.modal-header{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:14px}.modal-header.modal-draggable{cursor:-webkit-grab;cursor:grab;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.modal-header.modal-draggable:active{cursor:-webkit-grabbing;cursor:grabbing}.modal.modal-resizable{position:relative}.modal-resize-handle{position:absolute;right:0;bottom:0;width:16px;height:16px;cursor:nwse-resize;touch-action:none;z-index:6}.modal-resize-handle:after{content:"";position:absolute;right:3px;bottom:3px;width:7px;height:7px;border-right:2px solid var(--border);border-bottom:2px solid var(--border);border-bottom-right-radius:2px}.modal-resize-handle:hover:after{border-color:var(--brand)}.modal-body{flex:1 1 auto;min-height:0;min-width:0;overflow-y:auto;overflow-x:hidden}.modal .input,.modal .select,.modal select,.modal textarea{width:100%;min-width:0}.modal label{min-width:0}.modal-footer{flex-shrink:0;display:flex;justify-content:flex-end;gap:8px;margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}@keyframes modal-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.picker{display:inline-flex;align-items:center;gap:6px;width:100%}.picker>.select{flex:1 1 auto;min-width:0}.picker-icon{flex-shrink:0;width:33px;height:33px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:6px;background:#fff;color:var(--muted,#7a8794);cursor:pointer;text-decoration:none;transition:color .12s,border-color .12s,background .12s,box-shadow .12s}.picker-icon:hover{color:var(--brand);border-color:var(--brand);background:var(--brand-soft,#e8f6f3)}.picker-icon:focus-visible{outline:none;border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-soft)}.picker-icon svg{display:block}.picker-icon.spinning svg{animation:picker-spin .7s linear infinite}@keyframes picker-spin{to{transform:rotate(1turn)}}.picker-icon-primary{color:var(--brand);border-color:var(--brand);background:var(--brand-soft,#e8f6f3)}.combobox{position:relative;display:inline-block;min-width:0}.combobox-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;height:33px;padding:0 10px;border:1px solid var(--border);border-radius:6px;background:#fff;font:inherit;color:var(--text);cursor:pointer;text-align:left;transition:border-color .12s,box-shadow .12s}.combobox-trigger:hover{border-color:var(--brand)}.combobox-trigger:focus-visible{outline:none;border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-soft,#e8f6f3)}.combobox-trigger:disabled{background:var(--bg-muted,#f5f7fa);cursor:not-allowed;color:var(--muted)}.combobox-placeholder{color:var(--muted,#9aa6b2)}.combobox-placeholder,.combobox-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.combobox-caret{flex-shrink:0;color:var(--muted,#7a8794);transition:transform .15s}.combobox[data-state=open] .combobox-caret{transform:rotate(180deg)}.combobox-panel{position:absolute;z-index:90;top:calc(100% + 4px);left:0;width:100%;min-width:240px;background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px rgba(15,23,42,.14);padding:6px;display:flex;flex-direction:column;gap:4px;animation:modal-in .14s ease-out}.combobox-search{display:flex;align-items:center;gap:6px;padding:2px 6px;border-bottom:1px solid var(--border);color:var(--muted,#7a8794)}.combobox-search input{flex:1 1;min-width:0;border:none;outline:none;padding:6px 0;font:inherit;background:transparent}.combobox-list{max-height:260px;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.combobox-empty{padding:12px 8px;color:var(--muted,#9aa6b2);font-size:12.5px;text-align:center}.combobox-group-label{position:-webkit-sticky;position:sticky;top:0;padding:4px 8px 2px;font-size:11px;letter-spacing:.04em;color:var(--muted,#9aa6b2);background:#fff}.combobox-option{display:block;width:100%;text-align:left;border:none;background:transparent;font:inherit;color:var(--text);padding:7px 10px;border-radius:6px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.combobox-option.active{background:var(--brand-soft,#e8f6f3)}.combobox-option.selected{font-weight:600;color:var(--brand)}.combobox-option.selected:after{content:" ✓";color:var(--brand)}.combo-mark{background:transparent;color:var(--brand);font-weight:700}.chip-toggle{border:1px solid var(--border);background:#fff;color:var(--muted,#5a6773);border-radius:999px;padding:4px 12px;font-size:12.5px;cursor:pointer;transition:all .12s}.chip-toggle.on,.chip-toggle:hover{border-color:var(--brand);color:var(--brand)}.chip-toggle.on{background:var(--brand-soft,#e8f6f3);font-weight:600}@media (max-width:768px){.settings-layout{flex-direction:column;gap:16px}.settings-nav{width:100%;position:static;flex-direction:row;overflow-x:auto}.settings-nav-item{white-space:nowrap}.next-level-perks,.quota-grid{grid-template-columns:1fr}}.wb-wrap{max-width:100%}.wb-head{margin-bottom:12px}.wb-head-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:6px}.wb-customer{font-weight:600}.wb-contact-links{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.wb-grid{display:grid;grid-template-columns:1.5fr 1fr;grid-gap:12px;gap:12px;align-items:start}@media (max-width:900px){.wb-grid{grid-template-columns:1fr}}.wb-side{display:flex;flex-direction:column;gap:12px}.wb-timeline .tl-row{display:flex;gap:10px;padding:8px 0;border-bottom:1px solid var(--border,#eef0f2)}.wb-timeline .tl-row:last-child{border-bottom:none}.tl-tag{flex:none;font-size:11px;line-height:20px;padding:0 8px;border-radius:10px;background:#eef2f6;color:#5a6b7b;height:20px;white-space:nowrap}.tl-red{background:#fde8e8;color:#c93a3f}.tl-teal{background:#e3f4ef;color:#14735c}.tl-body{font-size:13px;min-width:0}.wb-fulfill{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:6px 0;border-bottom:1px dashed #e6eaee}.wb-fulfill:last-child{border-bottom:none}.wb-stamp{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 0}.wb-stamp .input{max-width:160px}.wb-history summary{list-style:none}.wb-history[open] summary{margin-bottom:8px}.wb-actions{margin-top:12px}.wb-tabbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:10px 0;padding:10px 14px}.wb-tabbar .tabs{margin:0;border-bottom:none}.select-sm{padding:3px 6px;font-size:12.5px}.wb-customer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));grid-gap:12px;gap:12px;align-items:start}.wb-danger{display:flex;gap:10px;align-items:center;margin-top:16px}.inline-edit{cursor:text;border-radius:4px;padding:2px 4px;margin:2px 0}.inline-edit:hover{background:#f3f6f9}.wb-title-input{font-size:18px;font-weight:700}.badge-grey{background:#eef0f2;color:#7a8794}.admin-table{width:100%;border-collapse:collapse;font-size:13px}.admin-table th{text-align:left;font-size:12px;color:var(--muted);font-weight:500;background:transparent;padding:8px 10px;border-bottom:1px solid #e6eaee;white-space:nowrap}.admin-table td{padding:8px 10px;border-bottom:1px solid #f0f2f4;vertical-align:top}.admin-table tbody tr:hover{background:#f8fafc}.seg-flash{animation:seg-flash 2.4s ease-out;border-radius:8px}@keyframes seg-flash{0%,40%{background:#fff3d6;box-shadow:0 0 0 6px #fff3d6}to{background:transparent;box-shadow:0 0 0 6px transparent}}.wb-substage{max-width:110px;padding:2px 6px;font-size:12px}.wb-order-row{display:flex;justify-content:space-between;gap:8px;padding:3px 0 3px 10px;font-size:12px}.wb-order-row:hover{color:var(--brand)}.wb-head-title{align-items:baseline;flex-wrap:wrap}.wb-flow-title{font-size:17px}.wb-progress{display:flex;gap:4px;margin-top:12px}.wb-seg{flex:1 1;min-width:0;text-align:center}.wb-seg-bar{height:6px;border-radius:3px;background:#e6eaee}.wb-seg.done .wb-seg-bar{background:#9fc6b4}.wb-seg.cur .wb-seg-bar{background:var(--brand,#2f7d5d)}.wb-seg.bad.cur .wb-seg-bar{background:var(--red,#c93a3f)}.wb-seg-label{font-size:11px;color:var(--muted);margin-top:3px}.wb-seg.cur .wb-seg-label{color:var(--text,#1c2430);font-weight:600}.wb-head-title{display:flex;align-items:center;gap:10px;padding:12px 18px 10px}.wb-head-actions{margin-left:auto;display:flex;gap:8px;align-items:center}.wb-head-cols{display:grid;grid-template-columns:1.35fr 1fr 1.3fr;border-top:1px solid var(--border,#e2e8f0)}@media (max-width:900px){.wb-head-cols{grid-template-columns:1fr}}.wb-hcol{padding:12px 18px;border-right:1px solid var(--border,#e2e8f0);min-width:0}.wb-hcol:last-child{border-right:none}.wb-hcol .k{font-size:11px;color:var(--muted);margin-bottom:5px;letter-spacing:1px}.wb-hcol .sub{font-size:12px;color:var(--muted);margin-top:5px}.wb-stage-big{font-size:19px;font-weight:800;color:var(--brand,#0d9488)}.wb-stage-big.bad{color:var(--red,#dc2626)}.wb-money-big{font-size:19px;font-weight:800}.wb-cust-link{font-weight:600;border-bottom:1px dashed var(--brand,#0d9488);cursor:pointer}.wb-person-line{display:flex;gap:12px;flex-wrap:wrap;margin-top:7px;font-size:13px;align-items:center}.wb-pk{font-size:11px;color:var(--muted);background:#f1f5f9;border-radius:4px;padding:1px 6px}.mini-prog{display:flex;align-items:flex-start;margin-top:8px}.mp-seg{flex:1 1;text-align:center;position:relative}.mp-dot{width:8px;height:8px;border-radius:50%;background:#e6eaee;margin:0 auto}.mp-seg.cur .mp-dot,.mp-seg.done .mp-dot{background:var(--brand,#0d9488)}.mp-seg.cur .mp-dot{box-shadow:0 0 0 3px var(--brand-soft)}.mp-line{position:absolute;top:3px;left:-50%;width:100%;height:2px;background:#e6eaee;z-index:0}.mp-seg:first-child .mp-line{display:none}.mp-seg.done .mp-line{background:var(--brand,#0d9488)}.mp-lb{font-size:9px;color:var(--muted);margin-top:4px;white-space:nowrap}.mp-seg.cur .mp-lb{color:var(--brand,#0d9488);font-weight:700}.mp-branch{position:absolute;top:11px;left:50%;transform:translateX(18px);display:flex;flex-direction:column;align-items:center}.mp-bline{width:2px;height:8px;background:#e6eaee}.mp-branch .mp-dot{margin:0}.mp-branch .mp-lb{margin-top:3px}.mp-branch.on .mp-bline,.mp-branch.on .mp-dot{background:var(--brand,#0d9488)}.mp-branch.on .mp-dot{box-shadow:0 0 0 3px var(--brand-soft)}.mp-branch.on .mp-lb{color:var(--brand,#0d9488);font-weight:700}.pay-board{padding:10px 12px;border:1px solid var(--border,#e2e8f0);border-radius:10px;background:#fafcfc}.pay-status{font-size:14px;font-weight:800;color:var(--brand-dark,#0f766e)}.pay-amount{font-size:22px;font-weight:800;margin-top:2px}.pay-amount .small{font-weight:600}.pay-bar{height:8px;border-radius:4px;background:#e6eaee;margin-top:10px;overflow:hidden}.pay-bar-fill{height:100%;border-radius:4px;background:linear-gradient(90deg,var(--brand,#0d9488),#10b981);transition:width .3s}.pay-frac{display:flex;justify-content:space-between;margin-top:5px;font-size:12px}.pay-frac .got{font-weight:700;color:var(--brand-dark,#0f766e)}.pay-rows{margin-top:10px;border-top:1px dashed var(--border,#e2e8f0);padding-top:8px}.pay-row{display:flex;align-items:center;gap:8px;font-size:12px;padding:3px 0}.quote-axis{position:relative;padding:4px 0 2px 20px}.quote-axis:before{content:"";position:absolute;left:7px;top:12px;bottom:16px;width:2px;background:var(--border,#e2e8f0)}.q-node{position:relative;padding:6px 0 10px}.q-dot{position:absolute;left:-19px;top:12px;width:10px;height:10px;border-radius:50%;background:#fff;border:2px solid #94a3b8}.q-node.latest .q-dot{background:var(--brand,#0d9488);border-color:var(--brand,#0d9488);box-shadow:0 0 0 3px var(--brand-soft)}.q-main{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.q-amt{font-size:16px;font-weight:800}.q-node:not(.latest) .q-amt{font-size:13px;font-weight:700;color:var(--muted)}.q-delta{font-size:12px;font-weight:700}.q-delta.up{color:var(--red,#dc2626)}.q-delta.down{color:#10b981}.q-sub{font-size:11px;color:var(--muted);margin-top:2px}.q-details summary{cursor:pointer;color:var(--brand-dark,#0f766e)}.flow-board{padding:10px 12px;border:1px solid var(--border,#e2e8f0);border-radius:10px;background:#fafcfc}.fb-status{font-size:14px;font-weight:800;color:var(--brand-dark,#0f766e)}.fb-status.warn{color:var(--amber,#d97706)}.fb-status.bad{color:var(--red,#dc2626)}.fb-steps{display:flex;align-items:center;margin:10px 2px 2px}.fb-step{flex:1 1;text-align:center;position:relative}.fb-step .sd{width:10px;height:10px;border-radius:50%;background:#e6eaee;margin:0 auto}.fb-step .sl{font-size:9px;color:var(--muted);margin-top:4px;white-space:nowrap}.fb-step:before{content:"";position:absolute;top:4px;left:-50%;width:100%;height:2px;background:#e6eaee;z-index:0}.fb-step:first-child:before{display:none}.fb-step.cur .sd,.fb-step.done .sd,.fb-step.done:before{background:var(--brand,#0d9488)}.fb-step.cur .sd{box-shadow:0 0 0 3px var(--brand-soft)}.fb-step.cur .sl{color:var(--brand-dark,#0f766e);font-weight:700}.fb-kv{margin-top:10px;border-top:1px dashed var(--border,#e2e8f0);padding-top:8px;font-size:12px}.fb-kv .kv{display:flex;gap:8px;padding:3px 0;align-items:baseline}.fb-kv .k{color:var(--muted);flex:none}.fb-latest{margin-top:8px;background:#fff;border:1px solid var(--border,#e2e8f0);border-radius:8px;padding:8px 10px;font-size:12px}.fb-latest .tk-time{color:var(--muted);font-size:11px;margin-bottom:2px}.fb-pay{margin-top:8px}.fb-pay .bar{height:6px;border-radius:3px;background:#e6eaee;overflow:hidden}.fb-pay .fill{height:100%;background:linear-gradient(90deg,var(--brand,#0d9488),#10b981)}.fb-pay .lbl{display:flex;justify-content:space-between;align-items:center;font-size:11px;margin-top:3px;gap:8px}.wb-status-line{margin-top:8px}.wb-cta,.wb-status-line{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.wb-cta{margin-bottom:12px}.wb-cta .btn-primary{min-width:120px}.wb-objgrid{display:grid;grid-template-columns:1fr minmax(280px,340px) 1fr;grid-gap:12px;gap:12px;margin-bottom:12px;align-items:start}@media (max-width:1200px){.wb-objgrid{grid-template-columns:1fr}}.wb-col{display:flex;flex-direction:column;gap:12px;min-width:0}.wb-plus{width:26px;height:26px;border-radius:50%;border:1px solid var(--border);background:#fff;font-size:15px;line-height:1;color:var(--brand-dark);cursor:pointer;flex:none;display:inline-flex;align-items:center;justify-content:center;padding:0;margin-left:auto}.wb-plus:hover{background:var(--brand-soft);border-color:var(--brand)}.wb-plus:disabled{opacity:.5;cursor:not-allowed}.tl-tabs{display:inline-flex;gap:4px}.tl-tab{border:1px solid var(--border);background:#fff;color:var(--muted);border-radius:12px;padding:1px 10px;font-size:11px;font-weight:700;cursor:pointer}.tl-tab.on{color:var(--brand-deep);background:var(--brand-soft);border-color:var(--brand)}.wb-timeline .tl-wrap{position:relative}.wb-timeline .tl-rail{position:absolute;left:7px;top:4px;bottom:4px;width:2px;background:var(--border)}.wb-timeline .tl-row{position:relative;padding-left:26px}.wb-timeline .tl-dot{position:absolute;left:3px;top:16px;width:10px;height:10px;border-radius:50%;background:#94a3b8;box-shadow:0 0 0 2px #fff}.wb-timeline .tl-node-fu .tl-dot{background:var(--brand)}.wb-timeline .tl-node-red .tl-dot{background:var(--red)}.wb-obj-head{display:flex;gap:8px;align-items:center;margin-bottom:6px}.wb-obj-head .card-title{margin:0}.gc-wrap{overflow-x:auto;padding-bottom:4px}.gc{display:grid;grid-gap:1px;gap:1px;background:#b3bdca;border:1px solid #b3bdca;border-radius:8px;overflow:hidden;width:100%;min-width:560px}.gc-corner{background:#f6f8fa}.gc-label{background:#fafbfc;display:flex;align-items:center;justify-content:flex-end;padding:0 8px;font-size:11px;color:var(--muted);min-height:60px}.gc-head{background:#f6f8fa;padding:5px 6px;display:flex;flex-direction:column;gap:2px;min-height:82px;font-size:12px;min-width:0;overflow:hidden}.gc-head-date{font-weight:600;line-height:1.2}.gc-today .gc-head-date{color:#2563eb}.gc-colhide{position:absolute;top:3px;right:3px;border:0;background:transparent;color:var(--muted);font-size:10px;cursor:pointer;padding:1px 4px;border-radius:4px}.gc-head.gc-head-hl .gc-colhide{color:inherit}.gc-colhide:hover{color:var(--ink);background:rgba(0,0,0,.06)}.gc-head{position:relative}.gc-head.gc-head-hl .gc-head-date,.gc-head.gc-head-hl .gc-head-stat,.gc-head.gc-head-hl .muted{color:inherit}.gc-head-hide{cursor:pointer;align-items:center;justify-content:center;gap:3px;padding:4px 0;min-height:82px;overflow:hidden}.gc-head-hide .gc-hidetxt{writing-mode:vertical-rl;-webkit-text-orientation:upright;text-orientation:upright;letter-spacing:1px;white-space:nowrap}.gc-head-hide .gc-hidenum,.gc-head-hide .gc-hidetxt{font-size:11px;color:inherit;line-height:1}.gc-cell-hide{padding:0;background:#f6f8fa}.gc-pen{flex:0 0 auto;display:inline-flex;color:var(--brand-dark,#0f766e);font-size:11px;line-height:1}.gc-proj{flex:0 1 auto;min-width:0;max-width:72px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;line-height:1.3;padding:0 4px;border-radius:4px;background:rgba(15,23,42,.07);color:#475569}.gc-proj-sm{max-width:34px;padding:0 3px}.gc-blockrow{cursor:pointer}.gc-blockrow .gc-text{color:var(--brand-dark,#0f766e)}.gc-head-stat{font-size:11px;color:var(--muted);line-height:1.2}.gc-head .badge{font-size:10.5px;padding:1px 6px;align-self:flex-start}.gc-head-check{font-size:11px;padding:1px 7px;align-self:flex-start}.gc-planline{font-size:11px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;color:var(--ink)}.gc-planline.done{text-decoration:line-through;color:var(--muted)}.gc-cell{background:#fff;padding:3px 5px;min-height:60px;font-size:12px;display:flex;flex-direction:column;min-width:0;overflow:hidden}.gc-cell.gc-today{background:#f0f7ff}.gc-line{display:flex;align-items:center;gap:3px;line-height:1.35;white-space:nowrap;min-width:0;max-width:100%}.gc-line .gc-text{overflow:hidden;text-overflow:ellipsis;cursor:pointer}.gc-line input[type=checkbox]{width:12px;height:12px;margin:0;flex:0 0 auto}.gc-line.done .gc-text{text-decoration:line-through;color:var(--muted)}.gc-line.overdue .gc-text{color:var(--red)}.gc-block{display:flex;gap:4px;line-height:1.35;white-space:nowrap;cursor:pointer;color:var(--brand-dark)}.gc-block .gc-time{color:var(--muted);font-size:11px;flex:0 0 auto}.gc-block .gc-btext{overflow:hidden;text-overflow:ellipsis}.gc-sep{border-top:1px dashed var(--border);margin:2px 0}.gc-add{margin:auto 0 0 auto;border:0;background:transparent;color:#cbd5e1;font-size:14px;line-height:1;padding:1px 3px;cursor:pointer}.gc-add:hover{color:var(--brand)}.gc-editor{display:flex;flex-direction:column;gap:3px}.gc-editor input{font-size:12px;padding:3px 6px}.gc-editor-btns{display:flex;gap:4px}.gc-editor-btns .btn{padding:2px 8px;font-size:11px}.gc-strip{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;background:#fff;border:1px solid var(--border);border-radius:8px;cursor:pointer}.gc-strip:hover{border-color:#cbd5e1}.yr-row{display:grid;grid-template-columns:52px minmax(120px,1fr) 140px minmax(120px,1fr);grid-gap:8px;gap:8px;padding:6px 10px;align-items:center;border-bottom:1px solid var(--border);font-size:12px;cursor:pointer;background:#fff}.yr-row:hover{background:#f8fafc}.yr-head{color:var(--muted);cursor:default;font-size:11.5px}.yr-head,.yr-head:hover{background:#f6f8fa}.yr-lesson,.yr-plans{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.yr-lesson{color:var(--muted)}.yr-qtitle{margin:14px 0 4px;font-size:13px;font-weight:600}.yr-qline{font-size:11.5px;color:var(--muted);margin:0 0 4px}.gc-board{display:flex;align-items:stretch}.gc-side{width:228px;flex:0 0 228px;display:flex;flex-direction:column;border:1px solid var(--border);border-radius:8px;overflow:hidden;margin-right:1px;background:var(--border)}.gc-side-head{background:#f6f8fa;padding:6px 9px;font-size:12px;font-weight:600}.gc-side-body{background:#fff;flex:1 1}.gc-side-gtitle{font-size:11px;color:var(--muted);padding:5px 9px 2px;background:#fafbfc;border-top:1px solid var(--border)}.gc-side-gtitle:first-child{border-top:0}.gc-side-item{display:flex;gap:5px;align-items:center;padding:2px 9px;font-size:12px;line-height:1.4}.gc-side-item input[type=checkbox]{width:12px;height:12px;margin:0;flex:0 0 auto}.gc-stext{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.gc-side-item.done .gc-stext{text-decoration:line-through;color:var(--muted)}.gc-side-x{flex:0 0 auto;border:0;background:transparent;color:var(--muted);font-size:11px;cursor:pointer;padding:0 2px}.gc-side-x:hover{color:var(--red)}.gc-segstrip{grid-column:1/-1;background:#fbfcfe;color:var(--muted);font-size:11px;padding:4px 10px;display:flex;justify-content:space-between;align-items:center;gap:8px;cursor:pointer}.gc-segstrip:hover{background:#f1f5f9;color:var(--ink)}.gc-segstrip b{font-weight:600}.gc-board .gc-wrap{flex:1 1;min-width:0}.gc-review{margin-top:8px}.gc-fs{position:fixed;inset:0;z-index:300;background:#f1f5f9;overflow:auto;padding:46px 22px 22px}.gc-fs-close{top:9px;right:14px}.gc-fs-bar,.gc-fs-close{position:fixed;z-index:301}.gc-fs-bar{top:0;left:0;right:0;height:34px;background:rgba(255,255,255,.9);border-bottom:1px solid var(--border);align-items:center;padding:0 60px 0 14px}.cfg-tpl,.gc-fs-bar{display:flex;gap:6px}.cfg-tpl{flex-wrap:wrap;margin-bottom:10px}.cfg-segs,.cfg-slots{display:grid;grid-gap:4px;gap:4px}.cfg-line{display:flex;gap:6px;align-items:center;font-size:12px}.cfg-line .input,.cfg-line .select{font-size:12px;padding:3px 6px}.cfg-line input[type=color]{width:30px;height:24px;padding:0;border:1px solid var(--border)}.cfg-swatch{width:16px;height:16px;border-radius:3px;border:1px solid rgba(0,0,0,.12);flex:0 0 auto}.cfg-err{color:var(--red);font-size:11.5px;margin:6px 0}.cfg-hint{color:var(--muted);font-size:11px;margin-bottom:8px}.pn-bar{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.pn-bar.mb{margin-bottom:7px}.pn-brand{font-size:13px;font-weight:700;margin-right:2px}.pn-sep{width:1px;height:15px;background:var(--border);flex:0 0 auto}.pn-bar .btn-sm{padding:2px 9px}.gc-label{flex-direction:column;justify-content:center;text-align:center;padding:0 4px;gap:1px}.gc-lsub{font-size:9.5px;font-weight:400;color:var(--muted);line-height:1.2}.gc-side-body{min-height:0;overflow:auto}.gc-cell.gc-today{box-shadow:inset 0 0 0 2px rgba(59,130,246,.45)}.pri-dot{display:inline-block;width:7px;height:7px;border-radius:50%;flex:0 0 auto}.gc-del{margin-left:auto;border:0;background:transparent;color:transparent;font-size:11px;line-height:1;cursor:pointer;flex:0 0 auto;padding:0 2px}.gc-block:hover .gc-del,.gc-line:hover .gc-del{color:var(--muted)}.gc-block .gc-del:hover,.gc-line .gc-del:hover{color:var(--red)}.gc-num{flex:0 0 auto;color:var(--muted);font-size:11px;min-width:16px;text-align:right;cursor:-webkit-grab;cursor:grab}.gc-side-item{align-items:flex-start}.gc-stext{white-space:normal;word-break:break-word;overflow:visible;text-overflow:clip}.gc-side-plus{margin-left:auto;border:0;background:transparent;color:var(--brand-dark);font-size:13px;cursor:pointer;line-height:1;padding:0 2px}.gc-side-plus:hover{color:var(--brand)}.pn-layout{display:flex;gap:12px;align-items:flex-start}.pn-tree{display:flex;flex-direction:column;gap:6px;min-width:0}.pn-tree-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:6px 10px;background:linear-gradient(180deg,#eef7f1,#f5f9f6);border:1px solid #d8e8dd;border-radius:10px}.pn-shell-top{flex-wrap:nowrap;overflow-x:auto;gap:6px;padding:4px 8px}.pn-shell-top .pn-shell-periods{display:flex;gap:3px;flex:none}.pn-shell-top .pn-navtri{flex:none}.pn-shell-top .btn.btn-sm{padding:3px 8px}.pn-tree-tabs+.btn{flex:none}.pn-tree-duo{display:flex;gap:10px;align-items:stretch;margin-bottom:10px}.pn-tree-duo .pn-tree-panel{flex:1 1;min-width:0;margin-bottom:0}.goal-drop-over{outline:2px dashed #4a7dff;outline-offset:2px;border-radius:8px;background:rgba(74,125,255,.05)}.pn-tree-mode{font-weight:600;font-size:13px;color:#1f5c3d}.pn-tree-badge{font-size:11px;color:var(--muted);display:inline-flex;gap:2px}.pn-layer,.pn-tree-panel{min-width:0}.pn-layer{border-radius:8px;padding:5px 8px 7px;border-left:3px solid;display:flex;flex-direction:column;gap:3px}.pn-layer-plan{background:#f3efff;border-left-color:#8b7bd8}.pn-layer-act{background:#eef5ff;border-left-color:#5b8fd8}.pn-layer-head{display:flex;align-items:center;gap:6px;min-width:0}.pn-layer-tag{font-size:11px;font-weight:600;letter-spacing:2px;color:#64748b;flex:none}.pn-layer-offinfo{cursor:pointer;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pn-layer-offinfo:hover{color:#3d6db5}.pn-layer-owner{font-size:11px;color:#8fa8c4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pn-layer-owner-btn{background:none;border:0;padding:0;font:inherit;color:inherit;cursor:pointer;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;text-underline-offset:2px}.pn-layer-owner-btn:hover{color:#3d6db5}.pn-fchip{border:1px solid var(--border,#dbe3ec);border-radius:999px;padding:1px 9px;font-size:11px;background:transparent;color:#64748b;cursor:pointer;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pn-fchip:hover{color:#3d6db5;border-color:#b9cbe4}.pn-fchip.on{background:#4c6ef5;border-color:#4c6ef5;color:#fff}.pn-actrow{border-radius:6px;padding:2px 6px}.pn-act-y{background:#e2edfb}.pn-act-q{background:#eaf2fd}.pn-act-m{background:#f2f7fe}.pn-act3{display:grid;grid-template-columns:minmax(0,1fr) 280px minmax(0,1fr);grid-gap:10px;gap:10px;align-items:start}.pn-act3-title{margin:0 0 6px;font-size:13px;display:flex;align-items:baseline;gap:6px}.pn-act3-left,.pn-act3-mid,.pn-act3-right{min-width:0;background:#fff;border:1px solid #dbe7f5;border-radius:8px;padding:8px}.pn-act3-mid{align-self:start}.pn-act3-right .pn-pincard-act{background:transparent;border:0;padding:0}.pn-act3-nav{gap:8px}.pn-act3-nav,.pn-act3-sec{display:flex;flex-direction:column}.pn-act3-sec{gap:3px}.pn-act3-seclabel{font-size:12px;font-weight:600;color:#8fa8c4;padding:0 2px}.pn-act3-seclabel.on{color:#3d6db5}.pn-act3-secrev{margin-left:auto;border:none;background:none;cursor:pointer;font-size:11px;opacity:.55;padding:0 2px;line-height:1}.pn-act3-secrev:hover{opacity:1}.pn-act3-ps{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:4px;gap:4px}.pn-act3-p{padding:4px 2px;border-radius:6px;border:1px solid transparent;background:#fff;cursor:pointer;font-size:12px;color:inherit;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pn-act3-p:hover{border-color:#b9d2ee}.pn-act3-p.on{border-color:#5b8fd8;background:#e2edfb;font-weight:600}.pn-act3-p.now{box-shadow:inset 0 -2px 0 #5b8fd8}.pn-act3-pins{display:flex;align-items:center;gap:2px;padding:0 2px}@media (max-width:1000px){.pn-act3{grid-template-columns:1fr}.pn-act3-mid{order:-1}}.pn-band-坐标{background:#e7ddf9}.pn-band-规划{background:#eee6fb}.pn-band-计划{background:#f6f1fd}.pn-band-cur{flex:none;font-size:11px;font-weight:600;color:#fff;background:#8b7bd8;border-radius:4px;padding:1px 6px}.pn-band-pin{flex:none;border:none;background:transparent;cursor:pointer;font-size:12px;padding:0 2px;opacity:.28;filter:grayscale(1);line-height:1}.pn-band-pin:hover{opacity:.75;filter:none}.pn-band-pin.on{opacity:1;filter:none}.pn-pinzone{margin-bottom:6px}.pn-pincard[draggable=true]{cursor:-webkit-grab;cursor:grab}.pn-pincard.dragging{opacity:.45}.pn-pincard.dropover{box-shadow:inset 0 2px 0 0 #5b8fd8}.pn-pinzone-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px;align-items:start}@media (max-width:1100px){.pn-pinzone-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:700px){.pn-pinzone-grid{grid-template-columns:1fr}}.pn-pincard{min-width:0;border:1px solid #d8ccf2;border-radius:8px;padding:6px 10px 8px;display:flex;flex-direction:column;gap:3px}.pn-pincard.on{border-color:#8b7bd8;box-shadow:inset 0 0 0 1px #8b7bd8}.pn-pincard-head{display:flex;align-items:center;gap:6px;cursor:pointer;min-width:0;flex-wrap:wrap}.pn-pincard-sum{margin:0;font-style:italic;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pn-pincard-act{background:#eef5ff;border-color:#b9d2ee}.pn-pinchip{display:inline-flex;align-items:center;gap:4px;border:1px solid #b9d2ee;border-radius:999px;background:#fff;padding:1px 9px;font-size:12px;color:#1f2937;cursor:pointer;flex:none;line-height:18px;font-family:inherit}.pn-pinchip:hover{border-color:#0d9488}.pn-pinchip-cap{color:#64748b}.pn-pinchip b{color:#1d4ed8}.pn-pinchip-arr{font-size:9px;color:#64748b}.pn-pinlv-period{font-size:12px;color:#64748b;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pn-pincard-head .cnt{flex:none;font-size:11px;color:#64748b;background:#fff;border:1px solid #b9d2ee;border-radius:999px;padding:0 7px;line-height:16px}.pn-pinlv-opt{display:flex;align-items:center;gap:8px;width:100%;border:0;background:none;padding:6px 9px;font-size:13px;color:#1f2937;cursor:pointer;border-radius:6px;text-align:left;font-family:inherit}.pn-pinlv-opt:hover{background:#e0f2f1}.pn-pinlv-opt .pn-pinlv-hint{margin-left:auto;font-size:11px;color:#64748b}.pn-pinlv-opt.on{background:#eef5ff;color:#1d4ed8;font-weight:700}.pn-pinlv-opt.on .pn-pinlv-hint{color:#1d4ed8}.pn-docadd{min-width:0;border:1.5px dashed #c9bce8;border-radius:8px;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:14px 10px;cursor:pointer;color:#8b7bd8}.pn-docadd:hover{border-color:#8b7bd8;background:#f6f1fd}.pn-docadd-plus{font-size:22px;line-height:1}.pn-docadd-label{font-size:12px}.pn-band-peek{margin:2px 0 4px 26px;display:flex;flex-direction:column;gap:3px}.pn-band-kid{display:flex;align-items:center;gap:8px;width:100%;background:#fff;border:1px solid #e5def6;border-radius:6px;padding:4px 10px;cursor:pointer;text-align:left;min-width:0}.pn-band-kid:hover{border-color:#8b7bd8}.pn-tools{flex-wrap:nowrap}.pn-navtri{display:flex;gap:4px;flex:1 1;min-width:0}.pn-navtri .btn-sm{padding:3px 6px}.pn-navlabel{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tm-overview{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center;font-size:12px;padding:6px 8px;background:#f7fafc;border:1px solid var(--border);border-radius:8px}.tm-mini{display:inline-flex;align-items:center;gap:4px;color:var(--muted)}.tm-bar{display:inline-block;width:56px;height:6px;background:#e5eaf0;border-radius:3px;overflow:hidden}.tm-bar>span{display:block;height:100%;background:#2e9e5b}.tm-legend{font-size:11px;color:var(--muted)}.tm-heat{display:grid;grid-gap:3px;gap:3px;align-items:stretch}.tm-heat-h{text-align:center;font-size:11px;color:var(--muted);padding:2px 0}.tm-heat-name{font-size:12px;line-height:28px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tm-heat-cell{height:28px;border:1px solid var(--border);border-radius:6px;background:#fbfcfe;font-size:13px;line-height:1;cursor:pointer}.tm-heat-cell:hover{border-color:#b9cbe0;background:#f2f6fb}.tm-heat-cell.on{border-color:#4a90d9;background:#e8f1fb}.pn-view-strip{position:-webkit-sticky;position:sticky;top:12px;align-self:flex-start;flex:0 0 auto;z-index:30;display:flex;flex-direction:column;gap:4px;padding:5px 3px;background:#fff;border:1px solid var(--border);border-radius:8px}.pn-vs-btn{width:26px;height:26px;border:none;border-radius:6px;background:none;color:var(--muted);font-size:12px;line-height:1;cursor:pointer}.pn-vs-btn:hover{background:#f1f5f9;color:var(--brand-deep,var(--brand))}.pn-vs-btn.on{background:var(--brand);color:#fff;font-weight:600}.gc-side-addbtn{width:-moz-fit-content;width:fit-content;margin:6px 9px 0;padding:7px 14px;border:1.5px dashed var(--brand);border-radius:8px;background:#f2fbf6;color:var(--brand-dark);font-size:13px;font-weight:600;cursor:pointer}.gc-side-addbtn:hover{background:#e6f6ec}.ga-chip{display:inline-flex;align-items:center;gap:3px;border:1px solid var(--border);border-radius:999px;padding:2px 8px;font:inherit;font-size:11px;color:var(--ink);background:#f8fafc;cursor:pointer;white-space:nowrap;max-width:100%}.ga-chip:hover{border-color:var(--brand);color:var(--brand-dark)}.ga-chip svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}.ga-chip select{border:none;background:transparent;font:inherit;font-size:11px;color:inherit;padding:0;margin:0;cursor:pointer;outline:none;max-width:110px}.ga-chip.on{background:var(--brand-soft);color:var(--brand-deep)}.ga-chip.on,.ga-chip.star{border-color:transparent;font-weight:700}.ga-chip.star{background:#fef3c7;color:#92400e}.ga-chip.add{border-style:dashed;background:#fff;color:var(--muted)}.ga-menu{position:fixed;z-index:95;background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 14px rgba(31,41,55,.16);min-width:170px;max-height:230px;overflow-y:auto;padding:4px}.ga-menu button{display:block;width:100%;text-align:left;border:none;background:none;padding:4px 8px;border-radius:6px;cursor:pointer;font-size:12px;color:var(--ink)}.ga-menu button:hover{background:#f1f5f9}.ga-menu button.act{background:var(--brand-soft);color:var(--brand-deep);font-weight:700}.cb-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}.cb-col{border:1px solid var(--border);border-radius:10px;background:#fff;padding:10px 11px;display:flex;flex-direction:column;gap:7px;min-width:0}.cb-colhead{display:flex;align-items:baseline;justify-content:space-between;gap:6px}.cb-coltitle{font-size:13px;font-weight:700}.cb-colnav{display:flex;gap:4px;align-items:center}.cb-colnav .btn-sm{padding:1px 7px;font-size:11.5px}.cb-goal{display:flex;gap:6px;align-items:flex-start;font-size:12.5px;line-height:1.45}.cb-goal input[type=checkbox]{width:13px;height:13px;margin:2px 0 0;flex:0 0 auto}.cb-goaltext{flex:1 1;min-width:0;cursor:pointer;word-break:break-word}.cb-goal.done .cb-goaltext{text-decoration:line-through;color:var(--muted)}.cb-rate{font-size:11px;color:var(--muted)}.cb-addform{gap:6px;border:1px dashed var(--border);border-radius:8px;padding:8px;background:#fafbfc}.cb-addform,.cb-tasks{display:flex;flex-direction:column}.cb-tasks{border-top:1px dashed var(--border);padding-top:6px;gap:3px}.cb-collab{display:flex;gap:4px;flex-wrap:wrap;align-items:center}.cb-collab .badge{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.cb-multirow{display:grid;grid-template-columns:auto 1fr auto auto;grid-gap:8px;gap:8px;align-items:center;font-size:12.5px;border-top:1px solid var(--border);padding:6px 2px 0}@media (max-width:1080px){.cb-cols{grid-template-columns:1fr}}.gc-clip-btn{margin-top:2px;padding:0 5px;font-size:9.5px;line-height:15px;border:none;border-radius:6px;background:rgba(255,255,255,.55);color:#333;cursor:pointer}.gc-clip-btn:hover{background:rgba(255,255,255,.85)}.goal-card{border-radius:6px;padding:2px 6px;margin:2px 0;border:1px solid var(--border);background:#fff;font-size:14px;min-width:0;overflow:hidden}.goal-card.goal-major{background:#eef4fb;border-left:3px solid #4a7db5}.goal-card.goal-minor{border-left:3px solid transparent}.goal-card.done{opacity:.65}.goal-card{transition:background .1s,box-shadow .1s}.goal-card:hover{background:#e2edf9;box-shadow:0 1px 4px rgba(74,125,181,.25)}.goal-card.goal-minor:hover{background:#f2f6fb}.goal-major .gc-num{font-weight:700}.goal-line{display:flex;align-items:flex-start;gap:4px;line-height:1.35}.goal-line input[type=checkbox]{width:12px;height:12px;margin:2px 0 0;flex:0 0 auto}.goal-text{flex:1 1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;font-weight:500}.goal-card.goal-minor .goal-text{font-weight:400}.goal-tasks{margin:2px 0 0 20px;display:flex;flex-direction:column;gap:1px}.task-mini{display:flex;align-items:center;gap:4px;font-size:12px;padding:1px 3px;border-radius:5px;transition:background .1s;min-width:0}.task-mini:hover{background:#f2f6fb}.task-mini-text{flex:1 1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.due-badge{flex:none;font-size:10.5px;font-weight:600;white-space:nowrap}.pg-block{border:1px solid var(--border);border-radius:10px;margin-bottom:10px;overflow:hidden;background:#fff}.pg-blockhead{display:flex;align-items:center;gap:10px;padding:7px 12px;background:#f6f8fa;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.pg-blockhead:hover{background:#eef1f5}.pg-blocktitle{font-weight:600}.pg-blockgo{margin-left:auto;color:var(--muted)}.pg-blockbody{padding:4px 12px 8px}.pg-indep{border-top:1px dashed var(--border);margin-top:6px;padding-top:5px;gap:2px}.pg-indep,.pm-wrap{display:flex;flex-direction:column}.pm-wrap{gap:4px}.ge-sect{font-size:11px;border-top:1px solid var(--border);padding-top:8px}.ge-more,.ge-sect{color:var(--muted)}.ge-more{justify-self:start}.pm-chips{display:flex;flex-wrap:wrap;gap:4px}.pm-chip{display:inline-flex;align-items:center;gap:2px;padding:1px 4px 1px 8px;border:1px solid var(--border);border-radius:999px;background:#f4f7fb;font-size:12px}.pm-chip .gc-side-x{border:none;background:none;cursor:pointer;line-height:1}.pm-chip a{color:inherit;text-decoration:none}.pm-chip a:hover{text-decoration:underline}.linkbar-menu{position:absolute;top:100%;left:0;margin-top:4px;z-index:50;display:flex;flex-direction:column;min-width:150px;background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.12);padding:4px;gap:2px}.linkbar-menu button{text-align:left;border:none;background:none;padding:6px 10px;border-radius:6px;cursor:pointer;font-size:13px;white-space:nowrap}.linkbar-menu button:hover{background:var(--bg-soft)}.gc-cell.gc-nowcell{box-shadow:inset 0 0 0 2px rgba(124,58,237,.55);position:relative}.gc-nowline{position:absolute;left:0;right:0;height:0;border-top:2px solid #ef4444;pointer-events:none;z-index:3}.gc-nowline span{position:absolute;left:2px;top:-9px;font-size:9.5px;line-height:1;background:#ef4444;color:#fff;border-radius:3px;padding:1.5px 3px}.gc-cell.gc-dim{position:relative}.gc-cell.gc-dim:after{content:"";position:absolute;inset:0;background:var(--dim-c,#ffffff);opacity:var(--dim-o,.5);pointer-events:none;border-radius:inherit}.gc-cell.gc-dim:hover:after{opacity:0}.gc-wrap.deep .gc-cell:not(.gc-nowcell){filter:blur(2.5px) saturate(.7);opacity:.4;pointer-events:none}.gc-wrap.deep .gc-head{filter:blur(2px);opacity:.45}.gc-wrap.deep .gc-label{filter:blur(1px);opacity:.5}.gc-wrap.deep .gc-nowcell{box-shadow:inset 0 0 0 2px rgba(124,58,237,.75),0 0 18px rgba(124,58,237,.25);opacity:1;z-index:2}.deep-bar{display:flex;justify-content:flex-end;align-items:center;gap:8px;margin:2px 0 4px;min-height:24px}.deep-pill{font-size:12px;color:var(--ink,#1e293b);background:rgba(124,58,237,.1);border:1px solid rgba(124,58,237,.3);border-radius:999px;padding:2px 10px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.deep-banner{position:fixed;inset:0;display:grid;place-items:center;z-index:70;pointer-events:none;font-size:34px;font-weight:700;letter-spacing:.35em;color:#fff;text-shadow:0 2px 24px rgba(30,23,58,.65);animation:deepBanner 2.2s ease forwards}@keyframes deepBanner{0%{opacity:0;transform:scale(1.06)}22%{opacity:1;transform:scale(1)}70%{opacity:1}to{opacity:0;transform:scale(.98)}}.wk-execlayer{background:#eff2f6;border:1px solid #dbe3ec;border-left:3px solid #7c8aa0;border-radius:8px;padding:5px 8px 7px;margin-bottom:6px;display:flex;flex-direction:column;gap:4px;min-width:0}.wk-zone-headrow{display:flex;align-items:center;gap:6px;min-width:0}.wk-topzone{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.wk-derailzone,.wk-goalzone{min-width:0}.wk-goalzone{border:1px solid var(--border,#dbe3ec);border-radius:8px;background:#fff;padding:4px 8px 8px}.wk-zone-head{display:flex;align-items:baseline;gap:5px;padding:2px 0 4px;font-size:12.5px;border-bottom:1px dashed var(--border,#e2e8f0)}.wk-goalgroup{display:flex;flex-direction:column}.wk-lvhead{display:flex;align-items:baseline;gap:5px;padding:3px 0 1px;font-size:11.5px;font-weight:600;color:#64748b}.wk-goalrow{display:flex;align-items:center;gap:7px;padding:3px 0;font-size:12.5px}.wk-goalrow input[type=checkbox]{flex:none}.wk-goaltxt{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.wk-goaltxt:hover{color:#3d6db5;text-decoration:underline;text-underline-offset:2px}.wk-noderail{border:1px dashed var(--border,#dbe3ec);border-radius:8px;background:#fff;padding:8px 10px;margin:0;display:flex;align-items:center}@media (max-width:900px){.wk-topzone{grid-template-columns:1fr}}.pn-twocol{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;align-items:start;margin-bottom:10px}@media (max-width:900px){.pn-twocol{grid-template-columns:1fr}}.pn-stack{display:flex;flex-direction:column;gap:10px;min-width:0}.pn-twocol:has(>.pn-stack){align-items:stretch}.pn-twocol:has(>.pn-stack)>.card:first-child{display:flex;flex-direction:column}.pn-sublist{display:flex;flex-direction:column}.pn-subrow{display:flex;align-items:center;gap:8px;width:100%;padding:5px 4px;background:none;border:none;border-bottom:1px dashed var(--border,#e2e8f0);cursor:pointer;font-size:12.5px;text-align:left}.pn-subrow:hover{background:#f1f5fa}.pn-subrow:last-child{border-bottom:none}.pn-subbar{flex:1 1;height:4px;min-width:40px;background:#e8edf4;border-radius:2px;overflow:hidden}.pn-subbar>i{display:block;height:100%;background:#2e9e5b;border-radius:2px}.rv-list{overflow:auto;min-height:0}.rv-row{border:1px solid var(--border,#e2e8f0);border-radius:8px;margin-bottom:6px;overflow:hidden}.rv-row.on{border-color:#b8c8dd;background:#f8fafc}.rv-rowhead{display:flex;align-items:center;gap:8px;width:100%;padding:6px 9px;background:none;border:none;cursor:pointer;font-size:12.5px;text-align:left}.rv-rowhead:hover{background:#f1f5fa}.rv-tag{flex:none;font-size:10.5px;font-weight:600;color:#5b6b81;background:#e8edf4;border-radius:4px;padding:1px 5px}.rv-tag.rv-多年{color:#6b4fa0;background:#efe8fa}.rv-tag.rv-年{color:#2e6bb0;background:#e3edf9}.rv-tag.rv-季{color:#1f7a68;background:#e0f2ee}.rv-tag.rv-月{color:#8a6d3b;background:#f7efdd}.rv-tag.rv-周{color:#8a5a3b;background:#f6e9e0}.rv-ok{color:#2e9e5b}.rv-due,.rv-ok{font-size:11.5px}.rv-due{color:#c0392b;font-weight:600}.rv-row>div>div{min-width:0}.rv-pend{background:#fff8ee;border:1px solid #ecd9b0;border-radius:8px;overflow:hidden;margin-bottom:8px}.rv-pend-head{padding:7px 10px;font-size:12px;font-weight:600;color:#8a6d3b}.rv-pend-row{display:flex;align-items:center;gap:8px;width:100%;padding:6px 10px;border:0;border-top:1px solid #f1e4c8;background:transparent;text-align:left;cursor:pointer;font-size:12px;color:inherit}.rv-pend-row:hover{background:#fdf4e3}.rv-pend-row b{font-size:12px}.rv-pend-more{display:block;width:100%;padding:5px 10px;border:0;border-top:1px solid #f1e4c8;background:transparent;text-align:left;cursor:pointer;color:#8a6d3b;font-size:11.5px}.rv-pend-more:hover{background:#fdf4e3}.derail{border:1px solid rgba(239,68,68,.45);background:rgba(239,68,68,.05);border-radius:8px;margin-bottom:0;overflow:hidden}.derail-head{display:flex;width:100%;align-items:center;gap:8px;padding:5px 10px;font-size:12.5px;font-weight:600;color:#b91c1c;background:transparent;border:0;cursor:pointer;text-align:left}.derail-head:hover{background:rgba(239,68,68,.08)}.derail-rows{border-top:1px solid rgba(239,68,68,.25)}.derail-seg{display:flex;width:100%;align-items:center;gap:8px;padding:3px 10px;font-size:11px;color:#8a93a3;background:none;border:none;text-align:left;cursor:pointer}.derail-seg:hover{background:rgba(239,68,68,.05)}.derail-row{display:flex;align-items:center;gap:8px;padding:4px 10px;font-size:12px;border-bottom:1px dashed rgba(239,68,68,.18)}.derail-row:last-child{border-bottom:0}.derail-title{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.derail-title:hover{text-decoration:underline}.att-card{border:1px solid var(--border,#e2e8f0);border-radius:8px;padding:8px 12px;margin-bottom:6px;background:var(--surface,#fff)}.att-head{font-size:12.5px;font-weight:600;margin-bottom:6px}.att-cols{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px 20px;gap:8px 20px}.att-row{gap:6px;font-size:11.5px;padding:1.5px 0}.att-name,.att-row{display:flex;align-items:center}.att-name{flex:none;width:92px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;gap:4px}.att-dot{flex:none;width:8px;height:8px;border-radius:2px}.att-bar{flex:1 1;min-width:0;height:8px;background:rgba(100,116,139,.12);overflow:hidden}.att-bar,.att-bar>span{border-radius:4px;display:block}.att-bar>span{height:100%}.att-h{flex:none;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--muted,#64748b)}.tnav{border:1px solid rgba(124,58,237,.35);border-left:3px solid #7c3aed;border-radius:10px;background:rgba(124,58,237,.04);margin-bottom:10px;overflow:hidden}.tnav-head{display:flex;align-items:center;gap:10px;padding:8px 12px}.tnav-title{font-weight:600}.tnav-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1px;gap:1px;background:rgba(124,58,237,.15);border-top:1px solid rgba(124,58,237,.15)}.tnav-col{background:var(--bg,#fff);padding:8px 12px;min-width:0;display:flex;flex-direction:column;gap:4px}.tnav-cap{font-size:11px;color:var(--muted,#64748b);text-transform:none;letter-spacing:.02em}.tnav-item{display:flex;align-items:center;gap:6px;font-size:13px;min-width:0}.tnav-item>.tnav-title2,.tnav-item>span:last-child{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tnav-time{flex:none!important;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--muted,#64748b);font-size:12px}.tnav-title2{cursor:pointer}.tnav-title2:hover{text-decoration:underline}.tnav-done{text-decoration:line-through;opacity:.55}.guide{display:flex;flex-direction:column;gap:8px}.guide-motto{font-size:20px;font-weight:700;letter-spacing:.02em}.guide-six{font-size:16px;font-weight:600;color:#7c3aed;letter-spacing:.35em;padding:6px 0;border-top:1px dashed rgba(124,58,237,.3);border-bottom:1px dashed rgba(124,58,237,.3)}.guide-steps{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:6px;font-size:13px}.tm-heat-dates{display:block;font-size:9px;color:#a5aebc;line-height:1.2}.flow-tabsbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;flex-wrap:wrap}.flow-tabs{display:inline-flex;gap:6px}.flow-tabs button{border:1px solid var(--border);background:#fff;padding:7px 14px;font-size:13px;font-family:inherit;color:var(--muted);border-radius:8px;cursor:pointer}.flow-tabs button.on,.flow-tabs button:hover{border-color:var(--brand)}.flow-tabs button.on{background:var(--brand);color:#fff;font-weight:700}.flow-tabs-actions{display:flex;align-items:center;gap:8px}button.todo-row{width:100%;border:none;font-family:inherit;font-size:inherit;text-align:left;cursor:pointer}.flow-customer{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.customer-card{padding:12px 14px}@media (max-width:900px){.flow-customer{grid-template-columns:1fr}}.order-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--border);border-radius:10px;overflow:hidden}.order-table td,.order-table th{text-align:left;padding:9px 12px;font-size:13px;border-bottom:1px solid var(--border)}.order-table thead th{background:#f7f9fb;font-weight:700;color:var(--muted)}.order-table tbody tr:last-child td{border-bottom:none}.order-table tbody tr{cursor:pointer}.order-table tbody tr:hover{background:var(--brand-soft)}.ta-r{text-align:right}.flow-detail{display:flex;flex-direction:column;gap:12px}.flow-detail-stage{background:#f7f9fb;border-radius:10px;padding:14px 16px}.flow-detail-stage-big{font-size:26px;font-weight:700;color:var(--brand-deep);line-height:1.2}.flow-detail-row{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:13px}.badge-soft{background:#eef1f6;color:var(--muted)}