:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:#17243b;background:#f5f7fb;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}[hidden]{display:none!important}.muted{color:#7a879b}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.16em;color:#5371ab;margin:0 0 12px}.primary{border:0;background:#355cc9;color:#fff;border-radius:10px;padding:11px 17px;font-weight:700;box-shadow:0 5px 12px #355cc927}.primary:hover{background:#294cb3}.primary.full{width:100%;display:flex;justify-content:space-between;margin-top:24px}.secondary{border:1px solid #dce3ef;background:white;color:#34445d;border-radius:10px;padding:10px 17px}.link-button{border:0;background:none;color:#355cc9;font-weight:700}.error{min-height:18px;color:#c43745;font-size:13px}.brand-mark{width:43px;height:43px;background:#355cc9;color:white;border-radius:12px;display:grid;place-items:center;font-size:27px;box-shadow:0 9px 18px #355cc936}.brand-mark.small{width:38px;height:38px;font-size:24px;flex:none}.login-screen{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:white}.login-card{width:min(420px,calc(100% - 44px));align-self:center;justify-self:center;padding:50px 0}.login-card h1{font-size:43px;letter-spacing:-.055em;line-height:1.2;margin:9px 0 14px}.login-card .muted{font-size:14px;line-height:1.7;margin-bottom:35px}.login-card label,.dialog-form label{display:block;font-size:13px;font-weight:700;color:#41516c;margin:15px 0 0}.login-card input,.dialog-form input:not([type=range]),.dialog-form textarea,.dialog-form select,.list-toolbar input,.list-toolbar select{width:100%;border:1px solid #dce3ed;border-radius:9px;padding:11px 12px;outline:none;background:#fff;color:#17243b;margin-top:7px}.login-card input:focus,.dialog-form input:focus,.dialog-form textarea:focus,.dialog-form select:focus,.list-toolbar input:focus{border-color:#5376d5;box-shadow:0 0 0 3px #5376d520}.login-aside{position:relative;overflow:hidden;background:linear-gradient(145deg,#18346d,#355bc5 55%,#7598e0);display:flex;align-items:center;padding:12%}.aside-orbit{position:absolute;width:520px;height:520px;border:1px solid #ffffff48;border-radius:50%;right:-130px;top:-100px;box-shadow:0 0 0 100px #ffffff0b,0 0 0 200px #ffffff0b}.aside-copy{position:relative;color:white;font-weight:800;font-size:clamp(38px,5vw,75px);line-height:1.32;letter-spacing:-.05em}.aside-copy em{font-style:normal;color:#c7dcff}.aside-note{position:absolute;bottom:40px;color:#d0dcff;font-size:11px;letter-spacing:.25em}.shell{display:flex;min-height:100vh}.sidebar{width:238px;flex:none;background:#fff;border-right:1px solid #e7ebf2;display:flex;flex-direction:column;padding:27px 16px}.side-brand{display:flex;align-items:center;gap:11px;font-size:18px;font-weight:800;padding:0 9px;margin-bottom:53px}.side-brand small{display:block;font-size:10px;letter-spacing:.05em;color:#9aa6b7;font-weight:600;margin-top:3px}.side-group-label{font-size:11px;color:#9aa7b8;font-weight:800;letter-spacing:.1em;margin:0 12px 13px}.nav-item{width:100%;border:0;background:none;text-align:left;padding:12px 14px;color:#697990;border-radius:9px;font-weight:650;margin-bottom:4px}.nav-item span{font-size:18px;margin-right:10px;vertical-align:-1px}.nav-item.active,.nav-item:hover{color:#315bc4;background:#ebf1ff}.side-bottom{margin-top:auto;border-top:1px solid #eef0f4;padding:20px 5px 0;display:flex;align-items:center;gap:10px}.avatar{width:35px;height:35px;border-radius:50%;display:grid;place-items:center;background:#dce8ff;color:#315bc4;font-weight:800}.account{flex:1;min-width:0}.account b{display:block;overflow:hidden;text-overflow:ellipsis}.account small{font-size:11px;color:#9aa6b7}.side-bottom button{border:0;background:none;font-size:22px;color:#8996aa}.main{flex:1;min-width:0}.topbar{height:76px;border-bottom:1px solid #e7ebf2;background:white;display:flex;align-items:center;justify-content:space-between;padding:0 38px}.breadcrumb{font-size:13px;color:#96a1b3}.breadcrumb span{margin:0 10px;color:#c7ced9}.breadcrumb b{color:#35445b}.top-actions{display:flex;align-items:center;gap:26px;color:#8a97aa;font-size:13px}.content{max-width:1500px;margin:auto;padding:36px 38px 70px}.page-heading{margin-bottom:30px}.page-heading h1{font-size:30px;letter-spacing:-.04em;margin:0 0 9px}.page-heading .muted{margin:0;font-size:14px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-bottom:20px}.stat-card{min-height:150px;background:white;border:1px solid #e9edf3;border-radius:14px;padding:23px 24px;box-shadow:0 5px 19px #26385a08}.stat-card span{display:block;color:#66758d;font-size:13px;font-weight:700}.stat-card strong{display:block;font-size:34px;letter-spacing:-.04em;margin:10px 0 4px}.stat-card small{color:#a0aabb}.stat-card.accent{background:#355cc9;color:#fff;border-color:#355cc9}.stat-card.accent span,.stat-card.accent small{color:#d2ddff}.overview-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:20px}.panel{background:#fff;border:1px solid #e9edf3;border-radius:14px;box-shadow:0 5px 19px #26385a08}.overview-grid .panel{min-height:285px}.panel-head{padding:23px 25px 17px;display:flex;justify-content:space-between;align-items:center}.panel h2{font-size:17px;margin:0 0 5px}.panel-head p{font-size:12px;color:#9aa6b7;margin:0}.stage-bars{padding:8px 25px 25px}.stage-row{margin:12px 0}.stage-label{display:flex;justify-content:space-between;font-size:12px;color:#687791;margin-bottom:8px}.bar{height:8px;border-radius:10px;background:#edf1f7;overflow:hidden}.bar i{display:block;height:100%;border-radius:10px}.recent-panel{margin-top:20px}.task-row{padding:14px 25px;border-top:1px solid #f0f2f6;display:flex;align-items:center;gap:13px;cursor:pointer}.task-row:hover,.table-wrap tbody tr:hover{background:#f8faff}.task-icon{width:35px;height:35px;display:grid;place-items:center;border-radius:9px;background:#edf2ff;color:#4d6fcb;font-size:17px}.task-main{flex:1;min-width:0}.task-main b{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-main small{color:#a0aabb;font-size:11px}.badge{display:inline-block;border-radius:20px;padding:5px 9px;font-size:11px;font-weight:750;white-space:nowrap}.badge.todo{background:#eef1f5;color:#6f7d90}.badge.doing{background:#e8efff;color:#4167c5}.badge.review{background:#fff4df;color:#ba8626}.badge.done{background:#e4f7ed;color:#228658}.priority-high{color:#d44c55}.priority-medium{color:#d49a2f}.priority-low{color:#7b93aa}.empty{padding:45px 20px;text-align:center;color:#a2adbb;font-size:13px}.board{display:grid;grid-template-columns:repeat(4,minmax(220px,1fr));gap:16px;align-items:start;overflow-x:auto}.board-col{background:#edf1f7;border-radius:13px;padding:13px;min-height:300px}.board-col-head{display:flex;align-items:center;justify-content:space-between;padding:5px 5px 15px;font-weight:750;font-size:13px}.board-col-head span{color:#8793a5}.board-card{background:white;border:1px solid #e6ebf3;border-radius:10px;margin-bottom:10px;padding:17px;cursor:pointer;box-shadow:0 3px 10px #1f31550a}.board-card:hover{border-color:#91a9e6}.board-card h3{font-size:13px;margin:0 0 9px;line-height:1.4}.board-card p{font-size:11px;color:#9aa6b7;margin:0 0 15px;min-height:15px}.board-card-foot{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#8d9bad}.mini-progress{height:5px;border-radius:10px;background:#edf1f7;margin:12px 0 0}.mini-progress i{display:block;height:100%;background:#5e7bda;border-radius:10px}.list-toolbar{display:flex;gap:12px;margin-bottom:16px}.list-toolbar input{max-width:380px;margin:0}.list-toolbar select{width:155px;margin:0}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap}th{text-align:left;font-size:11px;color:#93a0b1;padding:18px 20px;border-bottom:1px solid #e9edf3}td{font-size:12px;padding:17px 20px;border-bottom:1px solid #f0f2f6;color:#687791}td:first-child{font-weight:700;color:#24334b;max-width:280px;overflow:hidden;text-overflow:ellipsis}tbody tr{cursor:pointer}td .mini-progress{display:inline-block;width:75px;vertical-align:middle;margin:0 6px 0 0}td .mini-progress i{min-width:1px}dialog{border:0;border-radius:16px;box-shadow:0 25px 80px #17243b3b;width:min(580px,calc(100vw - 24px));max-height:calc(100vh - 40px);padding:0}dialog::backdrop{background:#17243b7d}.dialog-form{padding:26px 30px 24px;overflow:auto;max-height:calc(100vh - 40px)}.dialog-head{display:flex;justify-content:space-between;align-items:flex-start}.dialog-head h2{margin:0;font-size:23px}.icon-button{border:0;background:none;font-size:26px;color:#9ca8ba}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.dialog-form textarea{resize:vertical}.dialog-form input[type=range]{width:100%;accent-color:#355cc9;margin:14px 0 2px}.dialog-form label span{float:right;color:#355cc9}.dialog-actions{display:flex;gap:9px;align-items:center;margin-top:17px}.dialog-actions span{flex:1}.danger{border:0;background:none;color:#c63d4c;font-weight:700}.section-line{display:flex;justify-content:space-between;margin:22px 0 10px;font-size:13px}.section-line small{color:#9aa6b7}.step{display:flex;align-items:center;gap:9px;border-bottom:1px solid #f0f2f6;padding:8px 0;font-size:13px}.step input{accent-color:#355cc9}.step span{flex:1}.step.done span{text-decoration:line-through;color:#a1aab8}.step button{border:0;background:none;color:#a9b3c1;font-size:20px}.step-add{display:flex;gap:8px}.step-add input{margin:7px 0 0!important}.step-add button{border:0;background:#edf2ff;color:#355cc9;border-radius:8px;margin-top:7px;padding:0 13px;font-weight:700}#toast{position:fixed;right:24px;bottom:24px;background:#26385d;color:#fff;padding:11px 17px;border-radius:9px;box-shadow:0 8px 24px #0002;opacity:0;pointer-events:none;transition:opacity .2s}#toast.show{opacity:1}@media(max-width:1000px){.stats{grid-template-columns:repeat(2,1fr)}.overview-grid{grid-template-columns:1fr}.board{grid-template-columns:repeat(4,250px)}}@media(max-width:650px){.login-screen{grid-template-columns:1fr}.login-aside{display:none}.sidebar{width:65px;padding:18px 8px}.side-brand{padding:0 5px}.side-brand>span:last-child,.side-group-label,.nav-item:not(.active),.nav-item{font-size:0}.nav-item span{font-size:20px;margin:0}.side-bottom .account,.side-bottom button{display:none}.topbar{padding:0 18px}.top-actions span{display:none}.content{padding:25px 16px}.stats{gap:9px}.stat-card{padding:16px;min-height:128px}.stat-card strong{font-size:28px}.form-row{grid-template-columns:1fr}.dialog-form{padding:23px 18px}}

.team-hint{margin-top:18px;padding:20px 25px;color:#697990;font-size:13px;line-height:1.7}

.member-delete{padding:7px 11px;border:1px solid #f0cdd1;border-radius:8px;background:#fff5f6;color:#c63d4c}.member-delete:hover{background:#fce9eb}
