@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap");:root{color-scheme:light;--bg:#f7f2e8;--surface:#ffffff;--surface-secondary:#fbfbfd;--text-primary:#1d1d1f;--text-secondary:#6e6e73;--line:#d2d2d7;--line-soft:#e5e5ea;--accent:#0071e3;--accent-hover:#0066cc;--success:#2d7c31;--radius-lg:16px;--radius-md:12px;--radius-sm:10px;--shadow-card:0 2px 12px rgba(0,0,0,0.04)}*{box-sizing:border-box}body,html{margin:0;padding:0;background-color:#e8e6e1;background-image:radial-gradient(circle at 50% 0,#ffffff 0,transparent 70%),url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.95' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.04'/%3E%3C/svg%3E");background-size:100vw 100vh,150px 150px;background-repeat:no-repeat,repeat;background-attachment:fixed;color:#2c2c2e;font-family:Inter,SF Pro Text,SF Pro Display,-apple-system,BlinkMacSystemFont,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;zoom:.85}.container{width:100%;max-width:none;margin:0;padding:14px clamp(18px,3vw,48px) 40px}.topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px}.topbar>div:first-child{flex:1;min-width:0}.back-to-team-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;border:1px solid rgba(0,0,0,.06);background:#f8f9fa;color:#1c1c1e;cursor:pointer;transition:all .2s cubic-bezier(.34,1.56,.64,1);box-shadow:0 2px 5px rgba(0,0,0,.02)}.back-to-team-btn:hover{background:#fff;transform:translateX(-3px) scale(1.05);box-shadow:0 4px 12px rgba(0,0,0,.08);border-color:rgba(0,0,0,.1)}.topbar h1{margin:0;font-size:28px;font-weight:700;letter-spacing:-.5px;color:#1c1c1e}.department-tabs{margin-top:12px;position:relative;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;border:1px solid var(--line-soft);background:#eef0f4;border-radius:14px;padding:4px;overflow:hidden}.department-tab-slider{position:absolute;top:4px;bottom:4px;left:4px;border-radius:10px;background:var(--accent);box-shadow:0 6px 16px rgba(0,113,227,.28);transition:transform .28s cubic-bezier(.22,1,.36,1)}.department-tab{border:0;background:transparent;color:var(--text-secondary);border-radius:10px;padding:10px 14px;font-size:14px;font-weight:600;cursor:pointer;z-index:1;transition:color .2s ease}.department-tab.active{color:#fff}.person-groups-wrapper{display:flex;flex-direction:column;gap:56px;margin-top:24px}.person-group-section{display:flex;flex-direction:column;gap:16px}.person-group-title{font-size:22px;font-weight:800;color:#1c1c1e;letter-spacing:.05em;border-bottom:2px solid rgba(0,0,0,.05);padding-bottom:12px;margin-left:12px;display:flex;align-items:center;gap:12px}.person-group-title:before{content:"";display:block;width:6px;height:22px;border-radius:4px;background:var(--accent)}.person-tabs{margin-top:10px;display:grid;gap:48px 64px;grid-template-columns:repeat(auto-fill,312px);justify-content:center;width:100%;padding:18px 0 4px}.person-tab{border:0;background:transparent;color:var(--text-primary);cursor:pointer;position:relative;z-index:1;width:312px;height:260px;flex-shrink:0;padding:0;text-align:left;transition:transform .18s ease,z-index 0s}.person-tab:hover{transform:translateY(-3px);z-index:10}.person-tab.active{color:var(--text-primary)}.person-pin{position:absolute;left:0;top:-16px;z-index:4;width:70px;height:70px;border-radius:999px;display:grid;place-items:center;background:#050505;color:#fff;font-size:24px;font-weight:800;box-shadow:0 12px 20px rgba(0,0,0,.2)}.person-pin-image{object-fit:cover;border:3px solid rgba(255,255,255,.92);background:#050505}.person-tab.active .person-pin{background:var(--accent);box-shadow:0 12px 24px rgba(0,113,227,.28)}.person-note-stack{position:absolute;inset:22px 0 32px 40px;z-index:1}.person-note-stack span{--layer:0;position:absolute;inset:calc(var(--layer) * -6px) calc(var(--layer) * -6px) calc(var(--layer) * 6px) calc(var(--layer) * 6px);border-radius:2px 8px 8px 12px;background:var(--note-color,#fdf5c9);box-shadow:2px 6px 12px rgba(0,0,0,.15),inset 0 0 20px rgba(0,0,0,.02);z-index:calc(10 - var(--layer));transform:rotate(calc(var(--layer) * 3deg));border:1px solid rgba(0,0,0,.05);transition:all .35s cubic-bezier(.34,1.56,.64,1)}.person-tab:hover .person-note-stack span{inset:calc(var(--layer) * -12px) calc(var(--layer) * -18px) calc(var(--layer) * 12px) calc(var(--layer) * 18px);transform:rotate(calc(var(--layer) * 6deg)) translateY(calc(var(--layer) * -2px));box-shadow:4px 12px 24px rgba(0,0,0,.2),inset 0 0 20px rgba(0,0,0,.02)}.person-tab.active .person-note-stack span:first-child{outline:none;box-shadow:4px 12px 24px rgba(0,113,227,.2),inset 0 0 20px rgba(0,0,0,.02);border-color:rgba(0,113,227,.4)}.person-tab-meta-top{position:absolute;left:64px;right:16px;top:44px;z-index:3;display:flex;flex-direction:column;gap:4px;text-shadow:none;pointer-events:none}.person-tab-meta-top strong{font-size:24px;line-height:1;color:#1a1a1a;text-shadow:none}.dept-tag{width:fit-content;max-width:100%;border-radius:999px;background:rgba(0,0,0,.08);padding:3px 8px;color:#444;font-size:13px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.person-tab-meta-bottom{position:absolute;left:64px;right:24px;bottom:56px;z-index:3;display:flex;flex-direction:column;gap:4px;pointer-events:auto}.task-count-summary{display:flex;flex-direction:column;gap:10px;background:rgba(255,255,255,.45);border-radius:10px;padding:12px 16px}.task-count-summary.empty{font-size:13px;color:rgba(28,28,30,.6);text-align:center;padding:16px}.task-count-row{display:flex;justify-content:space-between;align-items:center;font-size:14px}.task-count-label{color:#3a3a3c;font-weight:600}.task-count-value{color:#1c1c1e;font-weight:800;background:rgba(0,0,0,.05);padding:4px 10px;border-radius:6px;font-size:14px}.task-count-value.highlight{color:#d97706;background:rgba(245,158,11,.15)}.ongoing-task-preview{display:flex;align-items:center;gap:8px;font-size:14px;color:#333;background:rgba(255,255,255,.5);padding:6px 12px;border-radius:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;box-shadow:0 1px 3px rgba(0,0,0,.05);cursor:pointer;transition:all .2s ease}.ongoing-task-preview:hover{background:rgba(255,255,255,.9);transform:translateY(-1px);box-shadow:0 3px 6px rgba(0,0,0,.08)}.ongoing-task-preview.empty{background:transparent;box-shadow:none;color:#666;padding:0}.task-bullet{width:6px;height:6px;border-radius:50%;flex-shrink:0}.ongoing-task-more{font-size:13px;color:#777;padding-left:6px;font-weight:700}.person-detail-zone{margin-top:18px;width:100%}.person-detail-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:12px}.person-detail-toolbar strong{font-size:20px}.person-detail-toolbar span{color:var(--text-secondary);font-size:14px}.person-toolbar-avatar{width:34px;height:34px;border-radius:999px;object-fit:cover;border:2px solid rgba(255,255,255,.9);box-shadow:0 8px 18px rgba(60,60,67,.12)}.person-toolbar-avatar.fallback{display:inline-grid;place-items:center;background:#050505;color:#fff;font-weight:800}.person-task-board{border:1px solid rgba(28,28,30,.1);border-radius:24px;background:rgba(255,255,255,.62);box-shadow:0 20px 50px rgba(60,60,67,.12);padding:18px}.filter-stack{display:grid;gap:10px;margin-bottom:18px}.product-filter{display:flex;flex-wrap:wrap;gap:8px}.product-filter-btn{border:1px solid rgba(28,28,30,.14);border-radius:999px;background:rgba(255,255,255,.72);color:var(--text-secondary);cursor:pointer;font-size:13px;font-weight:700;padding:7px 12px}.product-filter-btn.active{border-color:rgba(0,113,227,.3);background:var(--accent);color:#fff}.stage-filter{display:flex;flex-wrap:wrap;align-items:center;gap:8px;border:1px dashed rgba(28,28,30,.14);border-radius:16px;background:rgba(255,255,255,.42);padding:10px}.stage-filter-label{color:#6e6e73;font-size:12px;font-weight:800;letter-spacing:.08em}.stage-filter-btn{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(129,110,36,.2);border-radius:999px;background:rgba(255,250,225,.72);color:#67541b;cursor:pointer;padding:7px 11px;font-size:13px;font-weight:800;transition:transform .16s ease,background .16s ease,border-color .16s ease}.stage-filter-btn small{display:inline-grid;place-items:center;min-width:20px;height:20px;border-radius:999px;background:rgba(129,110,36,.12);color:inherit;font-size:11px;font-weight:900}.stage-filter-btn:hover{transform:translateY(-1px);border-color:rgba(129,110,36,.34);background:#fff7c8}.stage-filter-btn.active{border-color:rgba(0,113,227,.28);background:var(--accent);color:#fff;box-shadow:0 8px 18px rgba(0,113,227,.18)}.stage-filter-btn.active small{background:rgba(255,255,255,.22)}.stage-task-sections{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(300px,1fr);gap:18px;overflow-x:auto;overflow-y:visible;padding:4px 4px 16px;scroll-snap-type:x proximity}.stage-task-section{display:grid;align-content:start;gap:12px;min-height:520px;border:1px dashed rgba(28,28,30,.1);border-radius:18px;background:rgba(255,255,255,.35);padding:12px;scroll-snap-align:start;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}.stage-task-section.drag-over{border-color:rgba(0,113,227,.52);background:rgba(0,113,227,.08);box-shadow:0 12px 26px rgba(0,113,227,.14);transform:translateY(-2px)}.stage-section-head{display:flex;align-items:center;gap:8px;width:fit-content;border:1px solid rgba(28,28,30,.08);border-radius:999px;background:rgba(255,255,255,.85);color:#1c1c1e;padding:7px 12px;box-shadow:0 4px 12px rgba(0,0,0,.04)}.stage-section-head strong{font-size:14px}.stage-section-head span{color:#6e6e73;font-size:12px;font-weight:800}.person-task-grid{display:flex;flex-direction:column;align-items:stretch;gap:14px;min-height:430px}.person-task-card{width:100%;min-height:0;position:relative;background:var(--note-color,#fdf5c9);padding:28px 24px 24px;box-shadow:2px 6px 12px rgba(0,0,0,.15),inset 0 0 40px rgba(0,0,0,.02);cursor:pointer;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s;border-bottom-right-radius:20px 10px;border:none;isolation:isolate}.person-task-card:before{content:"";position:absolute;top:8px;left:50%;transform:translateX(-50%);width:12px;height:12px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#ffffff 0,#d1d1d6 40%,#8e8e93 100%);box-shadow:1px 3px 5px rgba(0,0,0,.25),inset -1px -1px 3px rgba(0,0,0,.2);z-index:10}.person-task-card:hover{transform:scale(1.03) rotate(0deg)!important;box-shadow:4px 12px 24px rgba(0,0,0,.2),inset 0 0 40px rgba(0,0,0,.02);z-index:5}.stage-empty-drop{display:grid;place-items:center;min-height:170px;border:1px dashed rgba(0,113,227,.15);border-radius:14px;background:rgba(255,255,255,.4);color:rgba(60,60,67,.45);font-size:13px;font-weight:800;text-align:center}.task-card-pills{display:flex;align-items:center;flex-wrap:nowrap;gap:6px;margin-bottom:10px}.task-stage-pill{flex-shrink:0;border-radius:999px;background:rgba(255,159,10,.16);border:1px solid rgba(255,159,10,.32);color:#8a5400}.task-product-pill,.task-stage-pill{width:fit-content;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:5px 12px;font-size:14px;font-weight:800}.task-product-pill{flex-shrink:1;min-width:0;border-radius:999px;background:rgba(0,113,227,.12);border:1px solid rgba(0,113,227,.22);color:#0a5fbe}.task-source-pill{width:fit-content;flex-shrink:0;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-radius:999px;background:rgba(52,199,89,.14);border:1px solid rgba(52,199,89,.28);color:#17743a;padding:5px 10px;font-size:13px;font-weight:800}.task-source-pill.source-feishu_ios{background:rgba(88,86,214,.13);border-color:rgba(88,86,214,.26);color:#403bb0}.task-status-pill{width:fit-content;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-radius:999px;border:1px solid rgba(28,28,30,.1);background:rgba(255,255,255,.52);color:#5f5f66;padding:5px 12px;font-size:14px;font-weight:800}.task-status-pill.in_progress{background:rgba(255,149,0,.16);border-color:rgba(255,149,0,.28);color:#965900}.task-status-pill.todo{background:rgba(90,90,97,.1);color:#5f5f66}.person-task-card h5{font-size:20px;font-weight:600;color:#1a1a1a;margin:14px 0;line-height:1.4}.task-description{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-size:15px;color:#333}.task-info-list{display:grid;gap:8px;margin-top:10px}.task-handlers-list{display:flex;flex-direction:column;gap:4px;padding:10px 14px;background:rgba(0,0,0,.03);border-radius:8px;margin:auto 0 0}.task-handler-row{display:flex;align-items:center;gap:8px}.task-handler-row .handler-label{font-size:13px;color:#666;font-weight:500;width:52px}.task-handler-row .handler-name{font-size:13px;color:#1a1a1a;font-weight:600}.task-stage-avatar{position:absolute;right:14px;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;object-fit:cover;border:2px solid #fff;box-shadow:0 2px 8px rgba(0,0,0,.08)}.task-info-list div{display:grid;grid-template-columns:62px minmax(0,1fr);gap:10px;align-items:baseline;border-top:1px solid rgba(132,104,30,.12);padding-top:8px}.task-info-list span{color:rgba(74,68,47,.68);font-size:14px;font-weight:700}.task-info-list strong{min-width:0;color:rgba(37,35,28,.78);font-size:14px;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-card-actions{display:flex;align-items:center;gap:8px;margin-top:auto;padding-top:10px}.feishu-record-link{display:inline-flex;align-items:center;justify-content:center;width:fit-content;border-radius:999px;border:1px solid rgba(0,113,227,.22);background:rgba(255,255,255,.62);color:var(--accent);padding:5px 10px;font-size:12px;font-weight:700;text-decoration:none}.feishu-record-link:hover{background:#fff;border-color:rgba(0,113,227,.42)}.topbar p{margin:8px 0 0;color:var(--text-secondary);font-size:15px}.topbar-actions{display:flex;align-items:center;gap:16px}.person-select-wrapper{position:relative}.person-view-select{appearance:none;background:#f1f3f5;border:1px solid rgba(0,0,0,.05);padding:6px 32px 6px 16px;border-radius:8px;font-size:14px;font-weight:600;color:var(--text-primary);cursor:pointer;transition:all .2s;outline:none}.person-view-select:hover{background:#e9ecef}.person-select-wrapper:after{content:"▼";position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:10px;color:#666;pointer-events:none}.sync-task-btn.single-sync{background:#eef2ff;color:#4f46e5;border-color:#c7d2fe}.sync-task-btn.single-sync:hover:not(:disabled){background:#e0e7ff}.page-nav{display:flex;gap:6px;padding:4px;background:var(--surface);border:1px solid var(--line-soft);border-radius:999px}.page-nav a{text-decoration:none;color:var(--text-secondary);border-radius:999px;padding:7px 12px;font-size:13px;font-weight:600}.page-nav a.active{color:#fff;background:var(--accent)}.sync-task-btn{border:1px solid rgba(0,113,227,.18);background:rgba(255,255,255,.78);color:var(--accent);border-radius:999px;padding:9px 14px;font-size:13px;font-weight:800;cursor:pointer;box-shadow:0 8px 20px rgba(0,113,227,.08);transition:transform .16s ease,border-color .16s ease,background .16s ease}.sync-task-btn:hover{border-color:rgba(0,113,227,.34);background:#fff;transform:translateY(-1px)}.sync-task-btn:disabled{cursor:not-allowed;opacity:.55;transform:none}.sync-feedback{position:fixed;top:32px;left:50%;transform:translateX(-50%);z-index:9999;width:fit-content;max-width:90vw;border-radius:999px;padding:12px 24px;font-size:14px;font-weight:600;box-shadow:0 8px 24px rgba(0,0,0,.12);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);animation:slideDownToast .4s cubic-bezier(.175,.885,.32,1.275) forwards}@keyframes slideDownToast{0%{opacity:0;transform:translate(-50%,-20px)}to{opacity:1;transform:translate(-50%)}}.sync-feedback.success{border:1px solid rgba(28,125,61,.2);background:rgba(239,250,243,.95);color:#1c7c3d}.sync-feedback.error{border:1px solid rgba(204,47,47,.2);background:rgba(255,241,241,.95);color:#cc2f2f}.primary-btn,button,input,select,textarea{font-family:inherit}.primary-btn{border:0;background:var(--accent);color:#fff;border-radius:999px;padding:10px 16px;font-size:14px;font-weight:600;cursor:pointer}.primary-btn:hover{background:var(--accent-hover)}.primary-btn:disabled{opacity:.45;cursor:not-allowed}.metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}.metric-card{background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:14px 16px}.metric-card h2{margin:0;font-size:13px;color:var(--text-secondary);font-weight:600}.metric-card strong{display:block;margin-top:8px;font-size:30px;line-height:1;letter-spacing:-.03em}.filters{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:10px;margin-bottom:14px}.filters button,.filters input,.filters select,.modal input,.modal select,.modal textarea,.user-create-grid button,.user-create-grid input,.user-create-grid select,.users-form button,.users-form input{width:100%;border:1px solid var(--line);border-radius:var(--radius-sm);padding:10px 12px;font-size:14px;background:var(--surface);color:var(--text-primary)}.filters button,.user-create-grid button,.users-form button{cursor:pointer;font-weight:600}.filters input:focus,.filters select:focus,.modal input:focus,.modal select:focus,.modal textarea:focus,.user-create-grid input:focus,.user-create-grid select:focus,.users-form input:focus{outline:2px solid rgba(0,113,227,.22);outline-offset:1px;border-color:rgba(0,113,227,.55)}.assignee-stack{display:flex;flex-direction:column;gap:14px}.assignee-stack-inline{width:100%}.assignee-stack-inline .assignee-block{margin:0}.assignee-block,.users-panel{background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:14px}.assignee-title{margin:0 0 12px;display:flex;align-items:center;gap:8px}.assignee-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.assignee-title span{font-size:18px;font-weight:600}.assignee-title small{margin-left:2px}.assignee-title small,.ghost-btn{color:var(--text-secondary);font-size:13px}.ghost-btn{border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 12px;font-weight:600;cursor:pointer}.ghost-btn:hover{color:var(--text-primary);border-color:#b8b8be}.status-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.status-column{background:var(--surface-secondary);border:1px solid var(--line-soft);border-radius:var(--radius-md);padding:10px;transition:border-color .16s ease,background-color .16s ease}.status-column.drag-over{border-color:#72a5e6;background:#f1f7ff}.status-column h4{margin:0;font-size:13px;font-weight:600}.status-column h4,.status-column span{color:var(--text-secondary)}.task-list{margin-top:8px;display:flex;flex-direction:column;gap:8px}.task-list.collapsed-stack{position:relative;gap:0;padding:16px;overflow:visible}.task-list.collapsed-stack .task-card{position:absolute;inset:16px;margin:0;transform-origin:center;cursor:pointer}.task-list.collapsed-stack .task-card:first-child{position:relative;inset:auto;z-index:3;transform:rotate(-.4deg)}.task-list.collapsed-stack .task-card:nth-child(2){z-index:2;transform:translate(-6px,-7px) rotate(-3.5deg);filter:saturate(.93) brightness(.98)}.task-list.collapsed-stack .task-card:nth-child(3){z-index:1;transform:translate(8px,8px) rotate(3.5deg);filter:saturate(.88) brightness(.96)}.task-list.collapsed-stack .task-card:not(:first-child) select{pointer-events:none}.more-btn{border:1px dashed #ccb86f;background:rgba(255,246,194,.62);color:#6d5a1b;border-radius:10px;padding:8px 10px;font-size:12px;font-weight:600;cursor:pointer;margin-top:10px;position:relative;z-index:4}.task-card{position:relative;min-height:var(--card-height,auto);border:1px solid #e2cd78;border-radius:6px;background:linear-gradient(180deg,rgba(255,255,255,.32),rgba(255,255,255,.06) 32%,transparent),repeating-linear-gradient(180deg,#fff2a0,#fff2a0 28px,#f6e58c 29px),linear-gradient(180deg,#fde887,#f4df74);padding:14px 12px 10px;display:flex;flex-direction:column;gap:6px;box-shadow:inset 0 1px 0 rgba(255,255,255,.56),0 10px 18px rgba(140,107,22,.18);transform-origin:top center;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;filter:saturate(.96)}.task-card:before{content:"";position:absolute;right:-1px;top:-1px;width:20px;height:20px;background:linear-gradient(135deg,#f6ecb3,#eadb8a 45%,#ddca6f);border-left:1px solid rgba(142,110,25,.35);border-bottom:1px solid rgba(142,110,25,.35);border-top-right-radius:6px;clip-path:polygon(100% 0,0 0,100% 100%);pointer-events:none}.task-card:hover{transform:translateY(-3px) rotate(0deg);box-shadow:inset 0 1px 0 rgba(255,255,255,.72),0 14px 24px rgba(140,107,22,.22);filter:saturate(1.03)}.task-card.dragging{opacity:.42;transform:scale(.96) rotate(0deg)!important;filter:saturate(.82) brightness(1.02);cursor:grabbing}.task-list .task-card:nth-child(odd){transform:rotate(-.9deg)}.task-list .task-card:nth-child(2n){transform:rotate(.8deg)}.task-card h5{margin:0;font-size:18px;font-weight:760;line-height:1.28}.task-card p{margin:0;color:var(--text-secondary);font-size:14px;line-height:1.45}.task-card small{color:var(--text-secondary);font-size:12px}.task-card select{width:fit-content;min-width:108px;margin-top:0;border:1px solid rgba(148,127,71,.5);border-radius:8px;background:rgba(255,250,210,.86);padding:5px 8px;font-size:12px;font-weight:700}.empty{margin:6px 0;color:var(--text-secondary);font-size:14px}.modal-mask{position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.38);display:flex;align-items:center;justify-content:center;padding:16px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.modal{position:relative;z-index:1001;width:100%;max-width:500px;background:#fff;border-radius:18px;border:1px solid var(--line-soft);box-shadow:0 16px 40px rgba(0,0,0,.2);padding:18px;display:flex;flex-direction:column;gap:10px}.task-edit-modal{max-width:min(920px,calc(100vw - 32px));max-height:calc(100vh - 48px);overflow:auto;gap:14px}.modal-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.eyebrow{display:block;color:var(--text-secondary);font-size:12px;font-weight:800;letter-spacing:.08em;margin-bottom:4px}.modal h3{margin:0 0 2px;font-size:20px;letter-spacing:-.01em}.task-edit-summary{border:1px solid rgba(28,28,30,.1);border-radius:16px;background:linear-gradient(180deg,rgba(255,255,255,.7),rgba(255,250,223,.52)),repeating-linear-gradient(180deg,rgba(255,242,160,.55),rgba(255,242,160,.55) 28px,rgba(246,229,140,.45) 29px);padding:14px}.task-edit-title-preview{display:grid;gap:6px;margin:8px 0 12px}.task-edit-title-preview.editable{gap:10px}.task-edit-title-preview strong{font-size:20px;line-height:1.3}.task-edit-title-preview p{margin:0;color:var(--text-secondary);line-height:1.5}.task-edit-meta-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.task-edit-meta-grid div,.task-edit-meta-grid label{min-width:0;border:1px solid rgba(132,104,30,.12);border-radius:12px;background:rgba(255,255,255,.5);padding:10px}.task-edit-form-section label>span,.task-edit-meta-grid span,.task-edit-title-preview label>span{display:block;color:var(--text-secondary);font-size:12px;font-weight:800;margin-bottom:6px}.task-edit-meta-grid input,.task-edit-meta-grid select,.task-edit-title-preview input,.task-edit-title-preview textarea{width:100%;border:0;border-radius:10px;background:rgba(255,255,255,.72);color:var(--text-primary);padding:9px 10px;font-size:14px;font-weight:700;box-shadow:0 0 0 1px rgba(132,104,30,.12)}.task-edit-title-preview input{font-size:20px;line-height:1.3}.task-edit-title-preview textarea{min-height:76px;resize:vertical;font-weight:600;line-height:1.5}.task-edit-meta-grid strong{display:block;min-width:0;color:var(--text-primary);font-size:13px;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-edit-form-section{display:grid;gap:10px}.task-edit-form-section label{display:grid}.task-edit-hint{margin:-2px 0 0;border:1px solid rgba(0,113,227,.14);border-radius:12px;background:rgba(240,247,255,.76);color:#245f9e;padding:10px 12px;font-size:13px;line-height:1.5}.time-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.time-grid label{display:flex;flex-direction:column;gap:6px}.time-grid span{font-weight:600}.modal small,.time-grid span{color:var(--text-secondary);font-size:12px}.modal small a{color:var(--accent);text-decoration:none}.modal-actions{display:flex;justify-content:flex-end;gap:8px}.modal-actions button{border-radius:999px;padding:9px 14px}.users-panel h3{margin:0 0 10px;font-size:17px;letter-spacing:-.01em}.users-form{display:grid;grid-template-columns:1fr auto;gap:10px}.users-list{margin-top:10px;display:flex;flex-wrap:wrap;gap:8px}.user-chip{display:inline-flex;align-items:center;padding:6px 11px;border-radius:999px;background:#f0f7ff;border:1px solid #d7e9ff;color:#1f518b;font-size:13px;font-weight:500}.user-create-grid{display:grid;grid-template-columns:1fr 1fr 1.5fr auto;gap:10px}.member-list{margin-top:12px;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.member-card{display:flex;align-items:center;gap:10px;border:1px solid var(--line-soft);background:#fff;border-radius:var(--radius-md);padding:10px}.member-card strong{font-size:14px}.member-card p{margin:4px 0 0;color:var(--text-secondary);font-size:12px}.avatar{width:36px;height:36px;border-radius:999px;object-fit:cover;flex-shrink:0;border:1px solid var(--line-soft)}.avatar-fallback{display:inline-flex;align-items:center;justify-content:center;background:#e8e8ed;color:#3a3a3c;font-weight:700}@media (max-width:980px){.topbar{flex-direction:column;align-items:stretch}.topbar-actions{justify-content:space-between}.floating-create-btn{right:16px;bottom:16px}.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filters,.status-columns,.task-edit-meta-grid,.time-grid,.user-create-grid,.users-form{grid-template-columns:1fr}.modal-title-row{flex-direction:column}}.mgmt-shell{background:var(--surface);border:1px solid var(--line-soft);border-radius:14px;padding:16px}.mgmt-row{display:grid;grid-template-columns:110px 1fr;gap:14px;align-items:start;margin-bottom:14px}.mgmt-row>label{font-weight:600;font-size:16px;padding-top:10px}.mgmt-inline{display:grid;grid-template-columns:1fr auto;gap:10px}.member-search,.mgmt-actions button,.mgmt-inline button,.mgmt-inline input,.mgmt-user-form button,.mgmt-user-form input,.mgmt-user-form select{border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:#fff}.mgmt-user-form{display:grid;grid-template-columns:1fr 1fr 1.2fr auto;gap:10px}.avatar-edit-tip{color:var(--text-secondary);padding-top:10px}.mgmt-members-row{align-items:stretch}.member-picker{min-height:420px;border:1px solid var(--line);border-radius:12px;overflow:hidden;display:grid;grid-template-columns:1fr 1fr}.member-pane{padding:12px;background:#fff}.member-pane.left{border-right:1px solid var(--line-soft)}.member-pane h4{margin:0;font-size:15px}.member-search{width:100%;margin-bottom:10px}.member-items{display:flex;flex-direction:column;gap:8px;max-height:340px;overflow:auto}.member-item{width:100%;border:1px solid var(--line-soft);border-radius:10px;background:#fff;padding:8px 10px;display:grid;grid-template-columns:36px 1fr;grid-template-areas:"avatar name" "avatar dept";align-items:center;gap:0 8px;text-align:left;cursor:pointer}.member-item .avatar{grid-area:avatar}.member-item>span{grid-area:name;font-weight:600}.member-item>small{grid-area:dept;color:var(--text-secondary)}.member-item.selected{border-color:#8ebdff;background:#f2f8ff}.selected-static{cursor:default;background:#f8fbff}.mgmt-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}.mgmt-actions button{border-radius:10px;cursor:pointer}@media (max-width:980px){.mgmt-row{grid-template-columns:1fr}.mgmt-row>label{padding-top:0}.member-picker,.mgmt-inline,.mgmt-user-form{grid-template-columns:1fr}.member-pane.left{border-right:0;border-bottom:1px solid var(--line-soft)}}.mgmt-summary{display:flex;gap:18px;margin-bottom:12px;color:var(--text-secondary);font-size:13px}.mgmt-board{display:grid;grid-template-columns:320px 1fr;gap:12px;margin-bottom:12px}.department-panel,.feishu-panel,.people-panel{background:var(--surface);border:1px solid var(--line-soft);border-radius:14px;padding:12px}.department-panel h3,.feishu-panel h3,.people-panel h3{margin:0 0 10px;font-size:16px}.department-item{width:100%;border:1px solid var(--line-soft);border-radius:10px;background:#fff;display:flex;justify-content:space-between;align-items:center;padding:10px;margin-bottom:8px;cursor:pointer;color:var(--text-primary)}.department-item small{color:var(--text-secondary)}.department-item.active{border-color:#8ebdff;background:#f2f8ff}.people-list{display:flex;flex-direction:column;gap:8px}.person-row{border:1px solid var(--line-soft);border-radius:10px;background:#fff;padding:10px;display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:10px}.person-main{display:flex;flex-direction:column}.person-main strong{font-size:14px}.person-main small,.person-row time{color:var(--text-secondary);font-size:12px}.form-error{color:#cc2f2f;margin:0;font-size:13px}.form-success{color:#1c7c3d;margin:0;font-size:13px}.feishu-panel{margin-bottom:12px}.feishu-panel p{margin:4px 0 0;color:var(--text-secondary);font-size:13px}.feishu-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:10px}.feishu-grid label{display:flex;flex-direction:column;gap:6px}.feishu-grid span{color:var(--text-secondary);font-size:12px;font-weight:600}.feishu-actions button,.feishu-grid select{border:1px solid var(--line);border-radius:10px;padding:9px 10px;background:#fff;color:var(--text-primary)}.feishu-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}.feishu-actions button{cursor:pointer;font-weight:600}@media (max-width:980px){.mgmt-summary{flex-direction:column;gap:6px}.feishu-grid,.mgmt-board{grid-template-columns:1fr}}.person-edit{display:flex;align-items:center;gap:8px}.person-edit button,.person-edit select{border:1px solid var(--line);border-radius:8px;padding:6px 10px;background:#fff}.person-edit button{cursor:pointer}.avatar-preview{width:72px;height:72px;border-radius:12px;object-fit:cover;border:1px solid var(--line-soft)}.person-clickable{cursor:pointer;transition:border-color .12s ease,transform .12s ease}.person-clickable:hover{border-color:#b8d8ff;transform:translateY(-1px)}.person-meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.person-hint{font-size:12px;color:var(--accent)}.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.panel-head h3{margin:0}.panel-add-btn{border:1px solid var(--line);background:#fff;color:var(--text-primary);border-radius:999px;padding:6px 12px;font-size:13px;font-weight:600;cursor:pointer}.panel-add-btn:hover{border-color:#b8d8ff;color:var(--accent)}.single-person-board-container{width:100%;min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;animation:fadeInBoard .4s ease;position:relative;overflow:visible}.person-board-close-btn{margin-left:auto;margin-top:0;flex-shrink:0;z-index:10;width:64px;height:64px;border-radius:50%;border:1px solid rgba(0,0,0,.1);background:rgba(255,255,255,.85);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#1c1c1e;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 10px rgba(0,0,0,.1);transition:all .2s cubic-bezier(.34,1.56,.64,1)}.person-board-close-btn:hover{background:#fff;transform:scale(1.1) rotate(90deg);box-shadow:0 4px 16px rgba(0,0,0,.15);border-color:rgba(0,0,0,.15)}.person-board-custom-add-btn{grid-area:add;margin-left:12px;margin-right:12px;margin-top:0;flex-shrink:0;z-index:10;width:64px;height:64px;border-radius:50%;border:1px solid rgba(0,0,0,.1);background:rgba(255,255,255,.85);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#1c1c1e;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 10px rgba(0,0,0,.1);transition:all .2s cubic-bezier(.34,1.56,.64,1)}.person-board-custom-add-btn:hover{background:#fff;transform:scale(1.1);box-shadow:0 4px 16px rgba(0,0,0,.15);border-color:rgba(0,0,0,.15)}.person-board-header-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"hero add close" "stages add close";align-items:start;width:100%;min-width:0;gap:22px 28px;padding:16px 40px 24px;margin:0;position:sticky;top:0;z-index:100;flex-shrink:0;isolation:isolate;pointer-events:none}.person-board-header-row:before{content:"";position:absolute;top:-100px;bottom:-100px;left:calc(-1 * clamp(18px, 3vw, 48px));right:calc(-1 * clamp(18px, 3vw, 48px));z-index:-1;pointer-events:none;background:rgba(232,230,225,.7);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);mask-image:linear-gradient(180deg,black 55%,transparent);-webkit-mask-image:linear-gradient(180deg,black 55%,transparent)}.person-board-header-row>*{position:relative;z-index:1;pointer-events:auto}@media (max-width:900px){.person-board-header-row{flex-direction:row;flex-wrap:wrap;align-items:flex-start;gap:20px 12px}}.person-board-hero{display:grid;grid-template-columns:80px minmax(200px,max-content);align-items:center;gap:16px;grid-area:hero;justify-self:start;min-width:0}.person-board-avatar{width:80px;height:80px;border-radius:50%;overflow:hidden;border:1px solid rgba(0,0,0,.08);background:rgba(255,255,255,.72);box-shadow:0 4px 16px rgba(0,0,0,.06);display:grid;place-items:center;flex-shrink:0}.person-board-avatar img{width:100%;height:100%;object-fit:cover;display:block}.person-board-avatar.fallback span{font-size:34px;font-weight:900;color:#8a6b00}.person-board-name-card{min-height:auto;display:flex;flex-direction:column;justify-content:center;gap:6px;padding:4px 0;overflow:hidden}.person-board-name-card strong{color:#1d1d1f;font-size:24px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.person-board-name-card span{color:#6e6e73;font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@keyframes fadeInBoard{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.expanded-cards-wrap{max-width:none;margin:0 auto;padding:20px 40px 80px;gap:60px;overflow:visible}.expanded-cards-wrap,.expanded-stage-section{width:100%;display:flex;flex-direction:column}.expanded-stage-section{align-items:center;border-radius:22px;transition:background .18s ease,box-shadow .18s ease}.overlay-tab{display:inline-flex;align-items:center;flex:0 0 auto;gap:8px;padding:10px 24px;background:rgba(255,255,255,.85);border:1px solid rgba(255,255,255,1);border-radius:999px;color:#333333;font-size:18px;font-weight:700;white-space:nowrap;cursor:pointer;transition:background .2s ease,transform .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease}.overlay-tab:hover{background:rgba(255,255,255,1);color:#000000;box-shadow:0 2px 8px rgba(0,0,0,.05)}.overlay-tab.active{background:#ffffff;border-color:#ffffff;color:#1d1d1f;box-shadow:0 4px 16px rgba(0,0,0,.15);transform:translateY(-2px)}.overlay-tab span{background:rgba(0,0,0,.08);padding:2px 8px;border-radius:999px;font-size:14px;font-weight:800;color:inherit}.expanded-cards-grid{display:grid;grid-template-columns:repeat(var(--board-columns,5),minmax(0,1fr));gap:var(--board-gap,32px);width:100%}.expanded-cards-grid>*{transition:opacity .16s ease;transform:translateZ(0);will-change:transform;animation:scaleInCard .4s cubic-bezier(.2,0,0,1) both;animation-delay:calc(var(--anim-delay, 0) * .04s)}@keyframes scaleInCard{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.expanded-all-stages-wrap{display:flex;flex-direction:column;gap:60px;width:100%;margin-top:20px;padding-bottom:50vh;overflow:visible}.expanded-stage-group{display:flex;flex-direction:column;align-items:flex-start;width:100%;border-radius:22px;position:relative;transition:all .2s ease;scroll-margin-top:240px;margin-left:20px;padding:20px 20px 20px 16px}.expanded-stage-group.drag-over{background:rgba(59,130,246,.06);box-shadow:inset 0 0 0 2px rgba(59,130,246,.3)}.expanded-stage-group:before{box-sizing:border-box;content:"";position:absolute;left:-21.5px;top:36px;bottom:-60px;width:3px;background-image:linear-gradient(180deg,rgba(250,204,21,.65) 50%,transparent 0);background-size:3px 16px;background-repeat:repeat-y}.expanded-stage-group:last-child:before{display:none}.expanded-stage-group:after{box-sizing:border-box;content:"";position:absolute;left:-32px;top:27px;width:24px;height:24px;border-radius:50%;border:3px solid #facc15;background:#ffffff;box-shadow:0 2px 4px rgba(250,204,21,.3);z-index:2}.expanded-stage-group .expanded-cards-grid{padding:0}.expanded-stage-group-head{display:inline-flex;align-items:center;gap:10px;margin:0 0 24px}.expanded-stage-group-title{display:inline-flex;align-items:center;font-size:20px;font-weight:800;color:#1c1c1e;margin:0;padding:4px 0;background:transparent;width:fit-content}.stage-add-task-btn{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border:3px solid #facc15;border-radius:8px;background:rgba(255,255,255,.74);color:#a16207;cursor:pointer;box-shadow:0 2px 8px rgba(250,204,21,.18);transition:transform .16s ease,background .16s ease,box-shadow .16s ease}.stage-add-task-btn:hover{background:#fff8d5;box-shadow:0 6px 14px rgba(250,204,21,.28);transform:translateY(-1px)}.stage-add-task-btn:focus-visible{outline:3px solid rgba(250,204,21,.36);outline-offset:2px}.stage-create-card{width:100%;min-height:0;aspect-ratio:180/160;display:flex;flex-direction:column;gap:8px;padding:16px;border:2px dashed rgba(180,83,9,.34);border-radius:12px;background:linear-gradient(180deg,rgba(255,255,255,.56),rgba(255,255,255,.24)),#fff7cc;box-shadow:0 10px 28px rgba(180,83,9,.14)}.stage-create-card-foot,.stage-create-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.stage-create-card-head span{color:#92400e;font-size:13px;font-weight:900}.stage-create-card-head strong{max-width:60%;overflow:hidden;color:#1f2937;font-size:13px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.stage-create-card input,.stage-create-card select,.stage-create-card textarea{width:100%;min-width:0;border:1px solid rgba(146,64,14,.18);border-radius:8px;background:rgba(255,255,255,.78);color:#1f2937;padding:8px 9px;font-size:13px;font-weight:650}.stage-create-card textarea{min-height:58px;resize:vertical}.stage-create-card input:focus,.stage-create-card select:focus,.stage-create-card textarea:focus{outline:2px solid rgba(250,204,21,.42);border-color:rgba(180,83,9,.38)}.stage-create-title-input{font-size:15px!important;font-weight:850!important}.stage-create-inline-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:8px}.stage-create-people-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.stage-create-inline-grid label,.stage-create-people-grid label{display:grid;gap:4px;min-width:0}.stage-create-inline-grid span,.stage-create-people-grid span{color:rgba(74,68,47,.72);font-size:12px;font-weight:800}.stage-create-card-foot{margin-top:auto}.stage-create-card-foot small{min-width:0;color:rgba(74,68,47,.72);font-size:12px;font-weight:750;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stage-create-card-foot div{display:flex;flex:0 0 auto;align-items:center;gap:8px}.stage-create-card-foot button{border:1px solid rgba(146,64,14,.18);border-radius:999px;background:rgba(255,255,255,.76);color:#3f3f46;padding:8px 12px;font-size:13px;font-weight:800;cursor:pointer}.stage-create-card-foot .primary-btn{border:0;background:var(--accent);color:#fff}.stage-create-card-foot button:disabled{cursor:not-allowed;opacity:.5}.flip-wrapper{animation:dealCardFlip .6s cubic-bezier(.34,1.56,.64,1) both;transform:rotate(0deg);will-change:transform}@keyframes dealCardFlip{0%{transform:translate(var(--delta-x,0),var(--delta-y,0)) scale(.6) rotate(calc(var(--anim-delay) * 5deg - 10deg));opacity:1}to{transform:translate(0) scale(1) rotate(0deg);opacity:1}}.person-task-card.expanded{width:100%;aspect-ratio:180/160;height:auto;min-height:auto;margin:0;position:relative;background:var(--note-color,#fdf5c9)!important;border:none!important;border-radius:12px!important;box-shadow:0 10px 30px rgba(0,0,0,.12);cursor:grab;transition:transform .2s,box-shadow .2s,opacity .18s ease,filter .18s ease;backface-visibility:hidden;transform:translateZ(0)}.person-task-card.expanded:after,.person-task-card.expanded:before{display:none!important}.person-task-card.expanded:hover{transform:scale(1.05) translateY(-4px)!important;box-shadow:8px 16px 30px rgba(0,0,0,.25),inset 0 0 20px rgba(0,0,0,.02);z-index:10}.person-task-card.expanded.stage-saving{cursor:wait;opacity:1;filter:none}.person-task-card.expanded.stage-saving:hover{transform:translateZ(0)!important}.task-stage-saving-badge{position:absolute;top:10px;right:10px;z-index:4;display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border-radius:999px;background:rgba(255,255,255,.82);color:#5f4a16;font-size:12px;font-weight:700;line-height:1;box-shadow:0 6px 16px rgba(72,53,10,.14);pointer-events:none}.task-stage-saving-badge span{width:10px;height:10px;border-radius:50%;border:2px solid rgba(95,74,22,.22);border-top-color:#5f4a16;animation:taskStageSavingSpin .72s linear infinite}@keyframes taskStageSavingSpin{to{transform:rotate(1turn)}}.task-completed-stamp{position:absolute;top:18px;right:16px;width:72px;height:72px;color:rgba(239,68,68,.7);border:3px solid rgba(239,68,68,.6);border-radius:50%;transform:rotate(0deg);pointer-events:none;z-index:10;box-shadow:inset 0 0 0 2px rgba(255,255,255,.5),0 0 0 2px rgba(255,255,255,.5);backdrop-filter:blur(2px)}.stamp-inner,.task-completed-stamp{display:flex;align-items:center;justify-content:center}.stamp-inner{width:44px;font-size:18px;font-weight:900;line-height:1.2;text-align:center;letter-spacing:2px;word-break:break-all;padding-left:2px}.task-product-icon-img{width:24px;height:24px;border-radius:6px;object-fit:cover;box-shadow:0 1px 3px rgba(0,0,0,.15);background:white;flex-shrink:0}.topbar-actions.floating-bottom-bar{position:fixed;bottom:32px;left:50%;transform:translateX(-50%);background:rgba(255,255,255,.85);backdrop-filter:blur(12px) saturate(180%);padding:12px 24px;border-radius:40px;box-shadow:0 10px 25px rgba(0,0,0,.08),0 4px 10px rgba(0,0,0,.04);border:1px solid rgba(255,255,255,.6);z-index:1000;display:flex;align-items:center;gap:16px}@media (max-width:768px){.person-board-hero{grid-template-columns:76px minmax(0,1fr);flex:1 1 0;width:auto;max-width:calc(100% - 88px);gap:14px;margin:0}.person-board-avatar{width:76px;height:76px;border-width:4px}.person-board-name-card{min-height:58px;border-width:4px;padding:8px 12px}.person-board-name-card strong{font-size:20px}.topbar-actions.floating-bottom-bar{width:90%;justify-content:space-around;padding:12px 16px;bottom:24px}}.topbar{margin-bottom:24px}.topbar-title-wrap{display:flex;align-items:center;gap:16px}.topbar h1.floating-title{font-size:18px;font-weight:700;margin:0;color:#1c1c1e;padding-right:4px;line-height:1}.floating-divider{width:1px;height:20px;background:rgba(0,0,0,.1);margin:0 4px}.overlay-tab-bar{margin:0 auto}.topbar-title-wrap{width:100%;justify-content:center}.overlay-tab-bar{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.person-board-header-row .overlay-tab-bar{position:static;transform:none}.person-board-header-row>.overlay-tab-bar{grid-area:stages;justify-content:flex-start;align-self:start;justify-self:start;margin-left:0}.person-board-header-row>.overlay-tab-bar .overlay-tab{border:2px solid rgba(255,255,255,.82);background:rgba(255,255,255,.58);color:rgba(29,29,31,.72);box-shadow:inset 0 1px 0 rgba(255,255,255,.65)}.person-board-header-row>.overlay-tab-bar .overlay-tab.active{color:#1d5f8f;border-color:rgba(64,156,255,.5);box-shadow:0 6px 18px rgba(64,156,255,.18),inset 0 1px 0 rgba(255,255,255,.75);transform:translateY(-1px)}.person-board-header-row>.overlay-tab-bar .overlay-tab.active span{color:#1d5f8f;background:rgba(64,156,255,.16)}.person-board-header-row .person-board-close-btn{grid-area:close;justify-self:end}.main-page-tabs{justify-content:center;width:100%;margin-top:24px}@media (max-width:1900px){.person-board-header-row{grid-template-columns:minmax(0,1fr) auto auto;align-items:start}.person-board-close-btn{margin:0}.person-board-header-row .overlay-tab-bar{position:static;transform:none;justify-content:flex-start}}@media (max-width:900px){.person-board-header-row{grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"hero add close" "stages stages stages";align-items:flex-start}.person-board-header-row .overlay-tab-bar{justify-content:flex-start}}.avatar-dropdown-menu{position:absolute;top:calc(100% + 10px);left:0;min-width:160px;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:14px;box-shadow:0 8px 30px rgba(0,0,0,.12);z-index:200;padding:8px 0;animation:fadeInDown .18s cubic-bezier(.34,1.56,.64,1) both}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-6px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.avatar-dropdown-name{padding:8px 16px 4px;font-size:14px;font-weight:600;color:#1c1c1e}.avatar-dropdown-divider{height:1px;background:rgba(0,0,0,.06);margin:6px 12px}.avatar-dropdown-logout{display:block;width:100%;padding:8px 16px;border:none;background:transparent;text-align:left;font-size:14px;font-weight:500;color:#e34c30;cursor:pointer;border-radius:8px;transition:background .15s}.avatar-dropdown-logout:hover{background:rgba(227,76,48,.08)}.expanded-all-stages-wrap,.expanded-stage-section{animation:tabSwitchFadeIn .3s cubic-bezier(.2,.8,.2,1) both}@keyframes tabSwitchFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.task-inline-link{color:#0066cc;text-decoration:underline;cursor:pointer}.task-inline-link:hover{color:#004499}.floating-drop-zone{position:fixed;bottom:-40px;right:-40px;width:500px;height:500px;background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-radius:100% 0 0 0;display:flex;align-items:center;justify-content:center;box-shadow:-10px -10px 40px rgba(34,197,94,.1);z-index:99999;transition:all .3s cubic-bezier(.34,1.56,.64,1);animation:popInBottomRight .4s cubic-bezier(.34,1.56,.64,1);border:4px dashed #86efac;border-right:none;border-bottom:none}.floating-drop-zone.is-over{background:linear-gradient(135deg,#dcfce7,#bbf7d0);transform:scale(1.1) translate(-10px,-10px);border-color:#4ade80;box-shadow:-15px -15px 50px rgba(34,197,94,.2)}.drop-zone-content{position:absolute;bottom:180px;right:180px;display:flex;flex-direction:column;align-items:center;gap:16px;pointer-events:none;transform:rotate(-10deg)}.drop-zone-icon{font-size:48px;filter:drop-shadow(0 4px 8px rgba(0,0,0,.1))}.drop-zone-label{font-size:28px;font-weight:800;color:#166534;letter-spacing:2px}@keyframes popInBottomRight{0%{opacity:0;transform:translate3d(200px,200px,0) scale(.5)}to{opacity:1;transform:translateZ(0) scale(1)}}.floating-settings-btn{position:fixed;bottom:30px;right:30px;width:48px;height:48px;border-radius:24px;background:#ffffff;border:1px solid rgba(0,0,0,.08);box-shadow:0 4px 12px rgba(0,0,0,.1);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:100;transition:all .2s ease;color:#666}.floating-settings-btn:hover{transform:scale(1.05);box-shadow:0 6px 16px rgba(0,0,0,.12);color:#333}.settings-popover{position:fixed;bottom:90px;right:30px;width:280px;background:white;border-radius:12px;box-shadow:0 8px 30px rgba(0,0,0,.12);border:1px solid rgba(0,0,0,.08);padding:16px;z-index:100;animation:slideUp .2s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.settings-popover h3{margin:0 0 16px;font-size:16px;font-weight:600;color:#333}.setting-control-group{margin-bottom:16px}.setting-control-group:last-child{margin-bottom:0}.setting-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:14px;color:#555}.setting-label span:last-child{font-weight:600;color:#222}.setting-slider{width:100%;accent-color:#0055cc}.floating-sync-btn{position:fixed;bottom:30px;right:236px;background:rgba(255,255,255,.85);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);color:#1c1c1e;padding:12px 20px;border-radius:999px;display:flex;align-items:center;gap:8px;font-weight:700;font-size:15px;box-shadow:0 8px 32px rgba(0,0,0,.12),inset 0 0 0 1px rgba(255,255,255,.4);transition:all .3s cubic-bezier(.34,1.56,.64,1);z-index:100;border:none;cursor:pointer;height:48px;box-sizing:border-box;font-family:inherit}.floating-sync-btn:hover:not(:disabled){transform:translateY(-4px) scale(1.02);box-shadow:0 16px 40px rgba(0,0,0,.16),inset 0 0 0 1px rgba(255,255,255,.6);background:rgba(255,255,255,.95)}.floating-sync-btn:disabled{opacity:.7;cursor:not-allowed}.spin-animation{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.floating-notif-btn{right:94px}.floating-gantt-btn,.floating-notif-btn{position:fixed;bottom:30px;background:rgba(255,255,255,.85);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);color:#1c1c1e;padding:12px 20px;border-radius:999px;display:flex;align-items:center;gap:8px;font-weight:700;font-size:15px;box-shadow:0 8px 32px rgba(0,0,0,.12),inset 0 0 0 1px rgba(255,255,255,.4);transition:all .3s cubic-bezier(.34,1.56,.64,1);z-index:100;text-decoration:none;height:48px;box-sizing:border-box}.floating-gantt-btn{right:236px}.floating-report-btn{position:fixed;bottom:30px;right:236px;background:rgba(255,255,255,.85);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);color:#1c1c1e;padding:12px 20px;border-radius:999px;display:flex;align-items:center;gap:8px;font-weight:700;font-size:15px;box-shadow:0 8px 32px rgba(0,0,0,.12),inset 0 0 0 1px rgba(255,255,255,.4);transition:all .3s cubic-bezier(.34,1.56,.64,1);z-index:100;border:none;cursor:pointer;height:48px;box-sizing:border-box;font-family:inherit}.floating-report-btn img{width:18px;height:18px;object-fit:contain;flex:0 0 auto}.floating-global-gantt-btn{position:fixed;bottom:30px;right:390px;background:rgba(255,255,255,.85);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);color:#1c1c1e;padding:12px 20px;border-radius:999px;display:flex;align-items:center;gap:8px;font-weight:700;font-size:15px;box-shadow:0 8px 32px rgba(0,0,0,.12),inset 0 0 0 1px rgba(255,255,255,.4);transition:all .3s cubic-bezier(.34,1.56,.64,1);z-index:100;text-decoration:none;height:48px;box-sizing:border-box}.floating-gantt-btn:hover,.floating-global-gantt-btn:hover,.floating-notif-btn:hover,.floating-report-btn:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 16px 40px rgba(0,0,0,.16),inset 0 0 0 1px rgba(255,255,255,.6);background:rgba(255,255,255,.95)}.floating-create-notif-btn{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);background:rgba(255,255,255,.85);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);color:#1c1c1e;padding:12px 24px;border-radius:999px;display:flex;align-items:center;gap:8px;font-weight:700;font-size:15px;box-shadow:0 8px 32px rgba(0,0,0,.12),inset 0 0 0 1px rgba(255,255,255,.4);transition:all .3s cubic-bezier(.34,1.56,.64,1);z-index:100;border:none;cursor:pointer;height:48px;box-sizing:border-box}.floating-create-notif-btn:hover{transform:translateX(-50%) translateY(-4px) scale(1.02);box-shadow:0 16px 40px rgba(0,0,0,.16),inset 0 0 0 1px rgba(255,255,255,.6);background:rgba(255,255,255,.95)}.person-tab[draggable=true]{cursor:grab}.person-tab.dragging{opacity:.5;transform:scale(.98);cursor:grabbing}.person-tab.drag-over-left{box-shadow:-4px 0 0 0 #3b82f6!important}.person-tab.drag-over-right{box-shadow:4px 0 0 0 #3b82f6!important}@keyframes highlight-flash-anim{0%{box-shadow:0 0 0 6px rgba(251,191,36,.8);border-color:#f59e0b}to{box-shadow:0 0 0 0 rgba(251,191,36,0)}}.highlight-flash{animation:highlight-flash-anim 3s ease-out;z-index:10}