@charset "UTF-8";
:root{--ink:#242640;--muted:#747789;--line:#e5e7ef;--bg:#f5f6fa;--purple:#6c5ce7;--purple-light:#eeebff;--nav:#242540;--green:#16886b;--shadow:0 12px 44px #21233f13;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);font-size:16px;line-height:1.5}
*{box-sizing:border-box}body{margin:0;background:var(--bg)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:3px}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.6}button,a,input,select,textarea{ -webkit-tap-highlight-color:transparent}a{color:var(--purple);text-decoration:none}button{border:1px solid var(--line);border-radius:7px;background:white;color:var(--ink);padding:9px 14px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:.875rem;font-weight:550}button:hover{background:#f4f3fc}button:active{transform:translateY(1px)}button.primary{background:var(--purple);border-color:var(--purple);color:white}button.primary:hover{background:#5848cc}.danger{color:#bc2747!important}.ghost{background:transparent;border-color:transparent}.icon-btn{width:36px;height:36px;padding:7px;flex-shrink:0}.icon{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.small-icon .icon{width:16px;height:16px}h1,h2,h3,p{margin:0}h1{font-size:1.75rem;line-height:1.3;font-weight:700;letter-spacing:-.7px}h2{font-size:1.125rem;letter-spacing:-.2px}h3{font-size:1rem}p{color:var(--muted)}small,.subtle{color:var(--muted);font-size:.8125rem}.muted{color:var(--muted)}.row{display:flex;align-items:center;gap:12px}.between{justify-content:space-between}.grow{flex:1;min-width:0}.wrap{flex-wrap:wrap}.stack{display:grid;gap:16px}.spacer{height:18px}.loading{padding:60px;text-align:center;color:var(--muted)}.empty{padding:40px 20px;text-align:center;color:var(--muted)}.empty h3{color:var(--ink);margin-bottom:7px}.empty button{margin-top:16px}.label{font-size:.8125rem;font-weight:650;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.shell{display:grid;grid-template-columns:238px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--nav);color:#d8d9e6;height:100vh;position:sticky;top:0;padding:26px 16px 18px;display:flex;flex-direction:column;overflow-y:auto}.brand{display:flex;align-items:center;gap:10px;font-size:1.2rem;color:white;font-weight:650;letter-spacing:-.6px;padding:0 9px 30px}.brand img{width:32px;height:32px}.brand b{font-weight:400;opacity:.55}.side-label{padding:26px 14px 8px;display:flex;align-items:center;justify-content:space-between;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:#9fa3c1}.side-label button{color:inherit;padding:0;width:25px;height:25px}.side-button{border:0;background:none;color:#c6c8dd;display:flex;justify-content:flex-start;gap:12px;width:100%;border-radius:7px;padding:10px 14px;text-align:left;margin:2px 0;font-weight:450;font-size:.875rem}.side-button:hover{background:#343551}.side-button.active{background:#414064;color:white}.side-button.active .icon{color:#b2a8ff}.side-button .board-dot{height:8px;width:8px;border-radius:3px;flex-shrink:0;margin:0 5px}.side-button .count{margin-left:auto;color:#aaaac7;font-size:.8125rem}.side-button .ellip{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-bottom{margin-top:auto;padding-top:30px}.workspace-card{border:1px solid #494963;border-radius:9px;padding:12px;margin:20px 5px 6px;display:flex;gap:11px;align-items:center}.workspace-icon{border-radius:8px;background:#454060;width:32px;height:32px;display:grid;place-items:center;color:#d1c7ff}.workspace-card strong{font-size:.8125rem;color:white;font-weight:550;display:block;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace-card small{font-size:.75rem;color:#acaec9}.main{min-width:0}.topbar{height:73px;border-bottom:1px solid var(--line);background:white;padding:0 34px;display:flex;align-items:center;justify-content:space-between;gap:20px}.breadcrumb{font-size:.875rem;display:flex;gap:11px;align-items:center;color:var(--muted)}.breadcrumb strong{font-weight:500;color:var(--ink)}.topbar .badge{font-size:.75rem;background:#f4f4f9;padding:4px 9px;border-radius:5px}.avatar{width:30px;height:30px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;flex-shrink:0;color:#4b4295;background:#ece8ff;border:2px solid white}.avatar.large{width:38px;height:38px}.profile-name{font-size:.8125rem}.profile-name small{display:block;font-size:.75rem}.content{padding:29px 34px 46px;max-width:1800px;margin:auto}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.page-heading p{margin-top:7px;font-size:.875rem}.eyebrow{font-size:.8125rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}.page-heading .heading-mark{height:12px;width:12px;display:inline-block;border-radius:4px;margin-right:11px}.mobile-toggle{display:none}.panel{background:white;border:1px solid var(--line);border-radius:10px;box-shadow:0 2px 4px #30334e02}.panel-head{padding:20px 22px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:15px}.panel-body{padding:20px 22px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:25px 0 28px}.stat{background:white;border:1px solid var(--line);border-radius:10px;padding:18px 21px;position:relative}.stat .stat-icon{padding:8px;background:var(--purple-light);color:var(--purple);border-radius:9px;display:inline-flex;position:absolute;right:18px;top:18px}.stat .stat-label{font-size:.8125rem;color:var(--muted);display:block}.stat strong{font-size:2rem;line-height:1.5;font-weight:650;letter-spacing:-1px;display:block}.stat small{font-size:.75rem}.dashboard-columns{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr);gap:22px}.board-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:25px}.board-card{background:white;border:1px solid var(--line);border-radius:10px;overflow:hidden;text-align:left;padding:0;display:block;min-height:148px;box-shadow:0 2px 3px #30334e03}.board-card:hover{border-color:#c1b8fa;background:white;box-shadow:var(--shadow)}.board-card .card-band{height:5px}.board-card .card-inner{padding:20px}.board-card p{font-size:.8125rem;margin-top:6px;line-height:1.5;min-height:38px}.progress{height:5px;background:#efeff6;border-radius:8px;overflow:hidden;display:flex}.progress span{background:var(--green);display:block}.task-list-row{display:flex;gap:14px;align-items:center;padding:14px 22px;border-bottom:1px solid #efeff5}.task-list-row:last-child{border:0}.task-list-row .task-name{color:var(--ink);border:0;padding:0;font-weight:500;font-size:.875rem;background:none;justify-content:flex-start;text-align:left}.task-list-row small{font-size:.75rem}.status-orb{width:9px;height:9px;border-radius:50%;flex-shrink:0}.status-0{background:#eceef3;color:#626779}.status-1{background:#fff1d8;color:#946117}.status-2{background:#ffe3e9;color:#bb3458}.status-3{background:#eee6ff;color:#7850be}.status-4{background:#dff4e9;color:#188461}.orb-0{background:#a7aabc}.orb-1{background:#e6a02b}.orb-2{background:#dd5779}.orb-3{background:#9471d8}.orb-4{background:#27a778}.badge{padding:5px 10px;border-radius:5px;font-size:.8125rem;white-space:nowrap;display:inline-flex;align-items:center;gap:5px}.badge.priority-Low{background:#f0f1f5;color:#687185}.badge.priority-Medium{background:#e7edff;color:#5570b0}.badge.priority-High{background:#fff0db;color:#a3681d}.badge.priority-Critical{background:#ffe4e9;color:#be3155}.overdue{color:#c3415f!important}.workload-row{padding:12px 0}.workload-row .progress{margin-top:10px}.section-title{margin:26px 0 14px}.tabs{display:flex;align-items:center;gap:26px;border-bottom:1px solid var(--line);margin-bottom:20px}.tab{border:0;border-radius:0;border-bottom:3px solid transparent;background:none;padding:13px 0;font-weight:450;color:var(--muted)}.tab.active{color:var(--purple);border-bottom-color:var(--purple);font-weight:600}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:25px}.toolbar-controls{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.search-wrap{position:relative}.search-wrap .icon{position:absolute;left:11px;top:11px;color:#9699aa;width:17px}.search-wrap input{padding-left:36px;width:245px}.toolbar select{width:auto;max-width:200px;font-size:.8125rem;padding:8px 27px 8px 10px}.toolbar input{font-size:.8125rem;min-height:38px}.view-count{font-size:.8125rem;color:var(--muted)}.group{margin-bottom:28px}.group-title{display:flex;align-items:center;gap:10px;margin-bottom:10px;min-height:32px}.group-title h2{font-weight:600;font-size:1.0625rem}.group-title small{margin-left:5px}.group-title .ghost{margin-left:auto}.table-scroll{overflow-x:auto;background:white;border:1px solid var(--line);border-left:4px solid var(--group-color,var(--purple));border-radius:8px}.board-table{border-collapse:collapse;width:100%;font-size:.875rem;min-width:800px;table-layout:fixed}.board-table th{font-size:.75rem;color:var(--muted);font-weight:500;background:#fbfbfd;height:39px;text-align:center}.board-table th:first-child{text-align:left;padding-left:20px}.board-table th,.board-table td{border-bottom:1px solid var(--line);border-right:1px solid #ededf3;padding:7px 10px}.board-table th:last-child,.board-table td:last-child{border-right:none}.board-table tr:last-child td{border-bottom:0}.board-table td{height:56px;text-align:center}.board-table th:first-child{width:34%;min-width:240px}.board-table th:nth-child(2){width:145px}.board-table th:nth-child(3){width:155px}.board-table th:nth-child(4){width:150px}.board-table th:nth-child(5){width:125px}.board-table th.custom-th{width:150px}.board-table tr:hover td{background:#faf9ff}.title-cell{display:flex;align-items:center;gap:12px}.title-cell .task-title{background:none;border:0;text-align:left;padding:4px 0;display:block;font-size:.875rem;font-weight:450;color:#34374e;white-space:normal;overflow-wrap:anywhere}.task-title.done{text-decoration:line-through;color:#8b8f9e}.title-cell .comment-number{margin-left:auto;font-size:.75rem;color:#9599a9;display:flex;align-items:center;gap:4px}.title-cell .comment-number .icon{width:15px}.cell-select{appearance:none;width:100%;max-width:160px;min-height:32px;text-align:center;text-align-last:center;border:0!important;border-radius:5px;font-size:.8125rem!important;padding:5px 6px!important;cursor:pointer}.owner-select{background:#f5f4fa;color:#65617e}.cell-date{border:0!important;padding:5px 0!important;font-size:.8125rem!important;background:transparent;color:#666d80;min-width:118px}.add-row{display:flex;align-items:center;gap:10px;padding:8px 18px;color:var(--muted)}.add-row input{border:0;background:transparent;padding:6px 3px;outline:none;font-size:.875rem}.add-row:focus-within{background:#faf9ff}.add-row button{font-size:.8125rem;padding:4px 10px;opacity:0}.add-row:focus-within button{opacity:1}.kanban{display:flex;gap:18px;overflow-x:auto;padding-bottom:20px;align-items:flex-start;min-height:300px}.kanban-lane{flex:1;min-width:225px;background:#ededf5;border-radius:9px;padding:12px;min-height:200px;border:2px solid transparent}.kanban-lane.drag-over{border-color:var(--purple);background:#ece7ff}.lane-head{display:flex;align-items:center;gap:8px;padding:0 1px 12px;font-size:.875rem}.lane-head strong{font-weight:600}.lane-head small{margin-left:auto}.kanban-card{background:white;border:1px solid #e1e3ed;border-radius:7px;padding:15px;margin-bottom:10px;cursor:grab;box-shadow:0 2px 2px #25274204}.kanban-card:hover{border-color:#bfb5f4}.kanban-card h3{font-size:.875rem;font-weight:550;margin-bottom:12px;overflow-wrap:anywhere}.kanban-card .badge{font-size:.75rem;padding:3px 7px}.kanban-card .card-foot{display:flex;align-items:center;justify-content:space-between;margin-top:14px;font-size:.75rem;color:var(--muted)}.tag{display:inline-block;font-size:.75rem;color:#78798e;background:#f2f2f7;border-radius:4px;padding:2px 7px;margin:2px 3px 2px 0}.calendar-top{display:flex;align-items:center;justify-content:space-between;padding:16px 20px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.day-label{padding:10px;text-align:center;font-size:.75rem;color:var(--muted);border-top:1px solid var(--line);background:#fafafd}.day{border-top:1px solid var(--line);border-right:1px solid var(--line);min-height:130px;padding:7px;overflow:hidden}.day:nth-child(7n){border-right:0}.day.other{background:#fafafd;color:#a5a9b7}.day .day-number{border:0;background:none;font-size:.8125rem;width:28px;height:28px;padding:0;font-weight:450;border-radius:50%}.day.today .day-number{background:var(--purple);color:white}.calendar-task{display:block;width:100%;font-size:.75rem;text-align:left;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;margin:4px 0;padding:5px 7px;border:0;border-radius:4px}.calendar-task.status-4{text-decoration:line-through}
input,select,textarea{width:100%;border:1px solid #dce0ea;border-radius:6px;padding:9px 11px;color:var(--ink);background:white;font-size:.875rem;min-width:0}input:focus,select:focus,textarea:focus{border-color:#9d8cf3;outline:2px solid #b4a7ff30}textarea{min-height:95px;resize:vertical}input[type=checkbox]{width:17px;height:17px;accent-color:var(--purple);flex-shrink:0;min-height:0;padding:0}input[type=color]{width:55px;height:39px;padding:4px}label.field{display:grid;gap:6px;font-size:.8125rem;font-weight:550}label.check-label{display:flex;align-items:center;gap:9px;font-size:.875rem;font-weight:400}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.full{grid-column:1/-1}.help{font-size:.8125rem;color:var(--muted);font-weight:400}.form-error{background:#fff0f3;border:1px solid #f3ccd6;border-radius:6px;color:#ae3653;padding:10px 12px;font-size:.875rem}.form-error:empty{display:none}.form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}dialog{border:1px solid var(--line);border-radius:13px;padding:0;width:min(530px,calc(100% - 28px));max-height:92vh;box-shadow:0 22px 100px #17173530;color:var(--ink)}dialog::backdrop{background:#17172b65;backdrop-filter:blur(2px)}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--line)}.modal-head h2{font-size:1.2rem}.modal-body{padding:24px}.drawer{margin:0 0 0 auto;height:100dvh;max-height:100dvh;width:min(680px,100%);border-radius:0;border:0;box-shadow:-12px 0 70px #17173530}.drawer .modal-head{position:sticky;top:0;background:white;z-index:2}.drawer .modal-body{padding:24px 28px}.drawer .detail-title{font-size:1.35rem;font-weight:650;border:0;padding:0;margin-bottom:4px;width:100%;resize:vertical;min-height:62px;line-height:1.35}.drawer .form-actions{position:sticky;bottom:0;background:white;padding:16px 0;margin:18px 0 26px;z-index:1}.drawer-section{margin:24px 0}.drawer-section h3{margin-bottom:14px}.checklist-row{display:flex;align-items:center;gap:10px;border-bottom:1px solid #f0eff6;padding:8px 0;font-size:.875rem}.checklist-row .ghost{margin-left:auto}.checklist-row.done span{text-decoration:line-through;color:var(--muted)}.inline-form{display:flex;gap:8px;margin-top:12px}.comment{padding:14px;border:1px solid var(--line);border-radius:9px;margin-bottom:12px}.comment .comment-meta{display:flex;align-items:center;gap:8px;font-size:.8125rem;margin-bottom:9px}.comment p{color:#54596f;font-size:.875rem;white-space:pre-wrap;overflow-wrap:anywhere}.comment small{margin-left:auto;font-size:.75rem}.activity-row{display:flex;gap:12px;padding:15px 20px;border-bottom:1px solid #ededf5;align-items:flex-start}.activity-row:last-child{border:0}.activity-row p{font-size:.875rem;color:#565c71;overflow-wrap:anywhere}.activity-row small{font-size:.75rem}.activity-dot{width:7px;height:7px;background:#b6a7ed;border-radius:50%;margin-top:8px;flex-shrink:0}.team-row{display:flex;align-items:center;gap:16px;padding:17px 22px;border-bottom:1px solid var(--line)}.team-row:last-child{border:0}.team-row .role-badge{font-size:.75rem;padding:4px 10px;background:#f2effc;color:#7b62a9;border-radius:5px;text-transform:capitalize}.team-row h3{font-size:.875rem}.team-row small{font-size:.8125rem}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.settings-grid h3{margin-bottom:7px}.settings-grid p{font-size:.875rem;margin-bottom:18px}.column-list{margin-top:20px;border-top:1px solid var(--line)}.column-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;font-size:.875rem}
.auth-page{min-height:100vh;display:grid;grid-template-columns:1fr 1.2fr;background:white}.auth-art{background:var(--nav);padding:45px 48px;color:white;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.auth-art .brand{padding:0}.auth-art h1{font-size:clamp(2.3rem,3.6vw,3.8rem);max-width:600px;letter-spacing:-1.8px;line-height:1.1;margin-bottom:25px;font-weight:600}.auth-art p{color:#b7b9d5;max-width:350px;line-height:1.7}.auth-art small{color:#9296b5;font-size:.8125rem}.mini-board{border:1px solid #4d4e6b;border-radius:10px;margin:35px 0;background:#2e2f4c;padding:20px;max-width:450px;transform:rotate(-3deg);box-shadow:0 30px 60px #14142640}.mini-row{display:flex;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid #42425d}.mini-row:last-child{border:0}.mini-line{height:8px;background:#636381;border-radius:4px;width:50%;margin-right:auto}.mini-pill{height:22px;width:75px;border-radius:4px;background:#7562aa}.mini-pill.amber{background:#a98137}.mini-pill.green{background:#338677}.auth-side{display:flex;align-items:center;justify-content:center;padding:45px 28px}.auth-form{width:100%;max-width:420px}.auth-form h1{font-size:1.85rem;margin-bottom:9px}.auth-form>p{margin-bottom:28px;font-size:.875rem}.auth-form .primary{width:100%;padding:12px;margin-top:7px}.auth-form .footnote{font-size:.75rem;margin-top:25px;text-align:center}.auth-logo-mobile{display:none}.notice{font-size:.875rem;background:#f2efff;color:#6b598d;padding:13px 15px;border-radius:7px;margin-bottom:20px}.auth-form .stack{gap:14px}.auth-form .field input{padding:10px 12px}.read-only{font-size:.8125rem;color:var(--muted);margin-bottom:18px}#toasts{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:1000;display:grid;gap:10px;pointer-events:none}.toast{background:#292943;color:white;padding:12px 20px;border-radius:8px;box-shadow:var(--shadow);font-size:.875rem;max-width:min(90vw,650px)}.toast.error{background:#a73350}.skeleton{height:130px;background:white;border-radius:10px;border:1px solid var(--line)}.text-button{border:0;background:none;color:var(--purple);padding:0}.link-button{color:var(--purple);font-weight:500;cursor:pointer}.no-margin{margin:0!important}.nowrap{white-space:nowrap}.danger-zone{border-color:#f0d9de}.footnote-text{font-size:.8125rem;color:var(--muted);margin-top:20px}
@media(min-width:1500px){.content{padding:34px 42px}.topbar{padding:0 42px}.board-table th:first-child{width:40%}}
@media(max-width:1100px){.shell{grid-template-columns:210px minmax(0,1fr)}.content{padding:24px}.topbar{padding:0 24px}.stats{gap:12px}.stat{padding:15px}.stat .stat-icon{display:none}.dashboard-columns{grid-template-columns:1fr}.settings-grid{grid-template-columns:1fr}.auth-art{padding:35px}.kanban-lane{min-width:220px}}
@media(max-width:760px){.shell{display:block}.sidebar{display:none;position:fixed;left:0;top:0;width:248px;z-index:20;box-shadow:10px 0 60px #20203a50}.sidebar.mobile-open{display:flex}.mobile-toggle{display:inline-flex}.topbar{height:62px;padding:0 16px;gap:10px}.topbar .breadcrumb{font-size:.8125rem;gap:7px}.topbar .profile-name,.topbar .badge{display:none}.content{padding:22px 16px}.page-heading{align-items:flex-start;margin-bottom:19px}.page-heading h1{font-size:1.45rem}.page-heading p{max-width:300px;font-size:.8125rem}.page-heading .actions{flex-wrap:wrap;justify-content:flex-end;gap:5px}.page-heading .actions button{padding:7px 9px;font-size:.8125rem}.stats{grid-template-columns:1fr 1fr;margin:19px 0;gap:10px}.stat strong{font-size:1.75rem}.stat small{font-size:.75rem}.tabs{gap:24px;overflow-x:auto}.tab{font-size:.8125rem;white-space:nowrap}.toolbar{gap:12px}.toolbar-controls{gap:7px;width:100%}.toolbar-controls input:not([type=checkbox]){width:100%}.search-wrap{width:100%}.toolbar select{flex:1 1 130px;max-width:none}.toolbar-controls .check-label{flex:0 0 auto;white-space:nowrap;min-height:38px}.board-table{min-width:860px}.day{min-height:105px;padding:3px}.calendar-task{font-size:.75rem;padding:3px}.day-label{font-size:.75rem;padding:7px 2px}.calendar-top{padding:12px}.calendar-top h2{font-size:1rem}.auth-page{display:block}.auth-art{display:none}.auth-side{min-height:100vh;padding:28px 24px}.auth-logo-mobile{display:flex;margin-bottom:30px}.auth-logo-mobile img{width:36px;margin-right:10px}.drawer .modal-body{padding:20px}.modal-head{padding:16px 20px}.modal-body{padding:20px}.form-grid{gap:12px}.team-row{gap:11px;padding:15px}.team-row small{overflow-wrap:anywhere}.profile-name{display:none}.task-list-row{padding:14px 15px}.task-list-row .badge{display:none}.board-grid{grid-template-columns:1fr}.board-card{min-height:auto}.board-card p{min-height:0}.panel-head{padding:17px}.calendar-grid{min-width:560px}.calendar-panel{overflow-x:auto}.sidebar-bottom{padding-top:20px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.page-heading>div:first-child{min-width:0}.page-heading h1{overflow-wrap:anywhere}.card-foot .icon{width:14px;height:14px;vertical-align:middle;margin-right:4px}
