:root{--ink:#1d1b23;--muted:#77747f;--line:#e8e6eb;--soft:#f7f6f8;--purple:#6f52ed;--purple-dark:#5d40df;--sidebar:#f4f2f7;--white:#fff}*{box-sizing:border-box}html,body{min-height:100%;color:var(--ink);background:#fbfafc;margin:0;font-family:Avenir Next,Leelawadee UI,Noto Sans Thai,Inter,system-ui,sans-serif}button,input,select,textarea{font:inherit}button,a,select{cursor:pointer}button{color:inherit}.app-shell{min-height:100vh;display:flex}.sidebar{background:var(--sidebar);z-index:20;border-right:1px solid #e7e3eb;flex-direction:column;width:236px;padding:22px 14px 16px;display:flex;position:fixed;inset:0 auto 0 0}.brand{letter-spacing:-.8px;align-items:center;gap:10px;padding:0 8px 22px;font-size:21px;font-weight:800;display:flex}.brand-mark{color:#fff;background:linear-gradient(145deg,#856af5,#5c3bdd);border-radius:9px;place-items:center;width:29px;height:29px;display:grid;box-shadow:0 6px 15px #6d50e638}.workspace-switcher{background:#fff;border:1px solid #e4e1e8;border-radius:10px;align-items:center;gap:9px;padding:10px;display:flex;box-shadow:0 1px 2px #25202f08}.workspace-switcher>div{flex-direction:column;flex:1;min-width:0;display:flex}.workspace-switcher strong{white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.workspace-switcher span{color:var(--muted);margin-top:1px;font-size:10px}.main-nav,.project-nav{flex-direction:column;gap:3px;margin-top:18px;display:flex}.main-nav a,.project-nav a,.sidebar-bottom>a{color:#6e6a74;border-radius:8px;align-items:center;gap:10px;height:37px;padding:0 10px;font-size:12px;font-weight:600;text-decoration:none;display:flex}.main-nav a:hover,.project-nav a:hover,.sidebar-bottom>a:hover{color:#302d36;background:#ece8f1}.main-nav a.active{color:#5f43dd;background:#e8e2fb}.main-nav b{background:#ded8eb;border-radius:10px;margin-left:auto;padding:2px 6px;font-size:10px}.nav-label{color:#a09ba7;text-transform:uppercase;letter-spacing:1px;justify-content:space-between;align-items:center;margin:25px 10px 6px;font-size:9px;font-weight:800;display:flex}.project-nav{margin-top:0}.project-nav i{border-radius:2px;width:7px;height:7px}.project-nav span{color:#aaa6af;margin-left:auto;font-size:10px}.project-nav a.active{color:#312d38;background:#eae7ee}.sidebar-bottom{margin-top:auto}.profile{border-top:1px solid #e2dfe6;align-items:center;gap:9px;margin-top:12px;padding:15px 8px 0;display:flex}.profile>div{flex-direction:column;flex:1;display:flex}.profile strong{font-size:11px}.profile span{color:var(--muted);margin-top:2px;font-size:10px}.main-area{width:calc(100% - 236px);min-height:100vh;margin-left:236px}.topbar{border-bottom:1px solid var(--line);z-index:10;background:#fff;align-items:center;gap:20px;height:64px;padding:0 31px;display:flex;position:sticky;top:0}.icon-button{background:0 0;border:0;border-radius:8px;place-items:center;width:34px;height:34px;display:grid;position:relative}.icon-button:hover{background:var(--soft)}.icon-button i{background:#ee5d65;border:2px solid #fff;border-radius:50%;width:6px;height:6px;position:absolute;top:5px;right:6px}.global-search{color:#8c8991;background:#f7f6f8;border:1px solid #efedf0;border-radius:8px;align-items:center;gap:8px;width:min(440px,45vw);height:35px;margin:auto;padding:0 10px;display:flex}.global-search input{background:0 0;border:0;outline:0;flex:1;min-width:0;font-size:11px}.global-search kbd{color:#99949f;background:#fff;border:1px solid #e1dee4;border-radius:5px;align-items:center;gap:2px;padding:2px 6px;font-size:9px;display:flex;box-shadow:0 1px #ddd9e1}.top-actions{align-items:center;gap:3px;display:flex}.content{padding:27px 31px 45px;overflow:hidden}.breadcrumb{color:#9c98a1;gap:9px;font-size:10px;display:flex}.breadcrumb b{color:#c9c6cc;font-weight:400}.page-heading{justify-content:space-between;align-items:center;margin-top:14px;display:flex}.page-heading h1{letter-spacing:-.8px;margin:0;font-size:24px}.page-heading p{color:var(--muted);margin:6px 0 0;font-size:11px}.primary-button{background:var(--purple);color:#fff;border:0;border-radius:8px;justify-content:center;align-items:center;gap:7px;height:36px;padding:0 14px;font-size:11px;font-weight:700;display:inline-flex;box-shadow:0 4px 12px #6f52ed26}.primary-button:hover{background:var(--purple-dark)}.view-tabs{z-index:2;border-bottom:1px solid var(--line);align-items:end;gap:7px;height:48px;margin-top:23px;display:flex;position:relative}.view-tabs button{color:#85818b;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:7px;height:39px;padding:0 10px;font-size:11px;font-weight:600;display:flex}.view-tabs button:hover{color:#5b5661}.view-tabs button.active{color:#5f43df;border-color:#6d4deb}.view-tabs span{flex:1}.filters{align-items:center;gap:8px;height:62px;display:flex}.filters button,.filters select{color:#5f5b65;background:#fff;border:1px solid #e1dee4;border-radius:7px;height:32px;padding:0 10px;font-size:10px}.filters button{align-items:center;gap:6px;display:flex}.search-tasks{color:#99959e;background:#fff;border:1px solid #e1dee4;border-radius:7px;align-items:center;gap:7px;width:190px;height:32px;padding:0 9px;display:flex}.search-tasks input{background:0 0;border:0;outline:0;width:100%;font-size:10px}.filter-spacer{flex:1}.avatar-stack{padding-left:8px;display:flex}.avatar-stack .avatar{border:2px solid #fbfafc;margin-left:-6px}.board{overscroll-behavior-x:contain;grid-template-columns:repeat(4,minmax(240px,1fr));gap:13px;padding-bottom:10px;display:grid;overflow-x:auto}.column{border-radius:12px;min-height:520px;padding:0 8px 14px;transition:all .15s}.column.is-dragging{background:#f5f2fc;outline:1px dashed #c6baef}.column-header{justify-content:space-between;align-items:center;height:38px;padding:0 4px;display:flex}.column-header>div{align-items:center;gap:8px;display:flex}.column-header i{border-radius:50%;width:7px;height:7px}.column-header strong{font-size:11px}.column-header span{color:#817d86;background:#eeecef;border-radius:6px;place-items:center;min-width:19px;height:19px;font-size:9px;display:grid}.column-header button,.task-top button,.add-task{color:#8c8892;background:0 0;border:0;place-items:center;display:grid}.task-list{flex-direction:column;gap:9px;display:flex}.task-card{cursor:pointer;background:#fff;border:1px solid #e7e4e9;border-radius:10px;padding:13px;transition:transform .15s,box-shadow .15s,border-color .15s;box-shadow:0 2px 5px #1f172b08}.task-card:hover{border-color:#d6cfee;transform:translateY(-2px);box-shadow:0 7px 18px #2b203910}.task-card:active{cursor:grabbing}.task-top{justify-content:space-between;align-items:center;display:flex}.priority{letter-spacing:.15px;border-radius:5px;align-items:center;padding:3px 6px;font-size:8px;font-weight:800;display:inline-flex}.priority-low{color:#43816d;background:#eaf5f0}.priority-medium{color:#8a6a23;background:#faf1db}.priority-high{color:#b25f35;background:#fbeae1}.priority-urgent{color:#b73d58;background:#fce7eb}.task-card h3{letter-spacing:-.15px;margin:11px 0 6px;font-size:12px;line-height:1.45}.task-card>p{-webkit-line-clamp:2;color:#8c8892;-webkit-box-orient:vertical;margin:0;font-size:9.5px;line-height:1.55;display:-webkit-box;overflow:hidden}.task-meta{color:#8f8b94;align-items:center;gap:8px;margin-top:13px;font-size:9px;display:flex}.task-meta span{align-items:center;gap:4px;display:flex}.task-meta .task-key{color:#9d98a2;font-weight:600}.task-footer{color:#88848d;border-top:1px solid #f0eef1;align-items:center;gap:6px;margin-top:12px;padding-top:10px;font-size:9px;display:flex}.task-footer>div{flex:1}.unassigned{border:1px dashed #c9c5cd;border-radius:50%;place-items:center;width:22px;height:22px;display:grid}.add-task{border-radius:7px;justify-content:flex-start;align-items:center;gap:7px;width:100%;height:32px;padding:0 8px;font-size:10px;display:flex}.add-task:hover{color:#6b4dea;background:#eeeaf8}.avatar{color:#fff;letter-spacing:-.3px;border-radius:50%;flex:none;place-items:center;font-weight:800;display:inline-grid}.avatar-sm{width:23px;height:23px;font-size:7px}.avatar-md{width:29px;height:29px;font-size:8px}.avatar-lg{width:36px;height:36px;font-size:9px}.loading{color:#8066e5;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:350px;font-size:11px;display:flex}.error-banner{color:#a33d4f;background:#fdecef;border:1px solid #f7ced6;border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:12px;padding:10px 12px;font-size:10px;display:flex}.error-banner button{background:0 0;border:0}.modal-backdrop,.drawer-backdrop{z-index:50;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#211b2a70;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.create-modal{background:#fff;border-radius:15px;width:min(520px,100vw - 32px);padding:23px;box-shadow:0 30px 80px #1c142c35}.modal-header,.drawer-header{justify-content:space-between;align-items:flex-start;display:flex}.modal-header h2{margin:4px 0 19px;font-size:20px}.eyebrow{color:#7455e9;letter-spacing:1.2px;font-size:8px;font-weight:800}.modal-header button,.drawer-header button{background:0 0;border:0;border-radius:7px;width:32px;height:32px}.modal-header button:hover,.drawer-header button:hover{background:var(--soft)}.create-modal>label,.form-grid label{color:#625e67;flex-direction:column;gap:7px;margin-bottom:15px;font-size:10px;font-weight:700;display:flex}.create-modal input,.create-modal textarea,.create-modal select,.detail-fields select,.detail-fields input{color:#302c34;background:#fff;border:1px solid #dedbe1;border-radius:8px;outline:0;width:100%;padding:10px 11px;font-size:11px}.create-modal input:focus,.create-modal textarea:focus,.create-modal select:focus,.comment-form textarea:focus{border-color:#866cf0;box-shadow:0 0 0 3px #7657ee12}.create-modal textarea{resize:vertical}.form-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.modal-actions{justify-content:flex-end;gap:8px;padding-top:4px;display:flex}.secondary-button{background:#fff;border:1px solid #dedbe1;border-radius:8px;height:36px;padding:0 14px;font-size:11px}.drawer-backdrop{justify-content:flex-end}.detail-drawer{background:#fff;width:min(560px,100vw);height:100%;animation:.2s ease-out slideIn;overflow:auto;box-shadow:-20px 0 60px #17101f22}.drawer-header{border-bottom:1px solid var(--line);align-items:center;gap:12px;min-height:61px;padding:10px 24px}.drawer-header>span{color:#88838d;font-size:10px;font-weight:700}.drawer-header>div{display:flex}.drawer-header button:first-child:hover{color:#d14c5f;background:#fcedef}.drawer-content{padding:28px 30px 40px}.detail-title h2{letter-spacing:-.5px;margin:13px 0 8px;font-size:22px;line-height:1.35}.detail-title p{color:#7d7882;margin:0;font-size:11px;line-height:1.65}.detail-fields{background:#f8f7f9;border:1px solid #eeecef;border-radius:11px;grid-template-columns:1fr 1fr;gap:15px 18px;margin:25px 0 30px;padding:18px;display:grid}.detail-fields label{color:#96919b;text-transform:uppercase;letter-spacing:.6px;margin-bottom:6px;font-size:8px;font-weight:800;display:block}.detail-fields select,.detail-fields input{height:34px;padding:0 8px;font-size:10px}.activity{border-top:1px solid var(--line);padding-top:22px}.section-title{align-items:center;gap:8px;display:flex}.section-title h3{margin:0;font-size:13px}.section-title span{color:#7d7882;background:#efedf0;border-radius:6px;padding:2px 6px;font-size:8px}.comment-list{flex-direction:column;gap:18px;margin-top:19px;display:flex}.comment{align-items:flex-start;gap:10px;display:flex}.comment>div{flex:1}.comment>div>div{align-items:center;gap:9px;display:flex}.comment strong{font-size:10px}.comment time{color:#a29ea6;font-size:8px}.comment p{color:#4f4a55;background:#f5f3f7;border-radius:2px 9px 9px;margin:6px 0 0;padding:9px 11px;font-size:10px;line-height:1.55;display:inline-block}.empty-comments{color:#aaa5ae;flex-direction:column;justify-content:center;align-items:center;gap:7px;height:85px;font-size:9px;display:flex}.comment-form{align-items:flex-start;gap:10px;margin-top:23px;display:flex}.comment-form>div{border:1px solid #dedbe1;border-radius:9px;flex:1;overflow:hidden}.comment-form textarea{resize:none;border:0;outline:0;width:100%;padding:10px;font-size:10px;display:block}.comment-form>div>div{background:#faf9fb;border-top:1px solid #efedf0;justify-content:space-between;align-items:center;min-height:37px;padding:5px 6px 5px 10px;display:flex}.comment-form span{color:#aaa5ae;font-size:8px}.comment-form .primary-button{min-width:55px;height:27px}@keyframes slideIn{0%{opacity:.5;transform:translate(24px)}to{opacity:1;transform:none}}@media (max-width:950px){.sidebar{width:72px;padding-inline:10px}.brand span,.workspace-switcher>div,.workspace-switcher>svg,.main-nav a:not(.active),.main-nav a span,.main-nav b,.nav-label,.project-nav a span,.project-nav a:not(.active),.project-nav a.active:not(:first-child),.sidebar-bottom>a,.profile>div,.profile>svg{display:none}.brand{justify-content:center;padding-inline:0}.workspace-switcher{justify-content:center;padding:8px}.project-nav a.active{justify-content:center;padding:0}.project-nav i{width:10px;height:10px}.profile{justify-content:center;padding-inline:0}.main-area{width:calc(100% - 72px);margin-left:72px}.content{overflow-x:hidden}}@media (max-width:640px){.sidebar{display:none}.main-area{width:100%;margin:0}.topbar{padding:0 14px}.global-search{flex:1;margin:0}.content{padding:21px 16px 36px}.page-heading{align-items:flex-end}.page-heading p,.filters select,.filters>button,.avatar-stack{display:none}.view-tabs{gap:2px}.view-tabs button{padding:0 7px}.search-tasks{width:100%}.form-grid,.detail-fields{grid-template-columns:1fr}}.auth-shell{background:radial-gradient(circle at 20% 15%,#efeaff,#fbfafc 55%);place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{background:#fff;border:1px solid #ebe8ef;border-radius:16px;width:min(378px,100%);padding:30px 28px 26px;box-shadow:0 24px 60px #1c142c14}.auth-card .brand{padding:0 0 20px}.auth-card h1{letter-spacing:-.6px;margin:0;font-size:21px}.auth-sub{color:var(--muted);margin:6px 0 20px;font-size:11px}.auth-card label{color:#625e67;flex-direction:column;gap:7px;margin-bottom:14px;font-size:10px;font-weight:700;display:flex}.input-wrap{color:#a09ca6;background:#fff;border:1px solid #dedbe1;border-radius:9px;align-items:center;gap:8px;height:40px;padding:0 11px;display:flex}.input-wrap:focus-within{border-color:#866cf0;box-shadow:0 0 0 3px #7657ee12}.input-wrap input{color:#302c34;background:0 0;border:0;outline:0;flex:1;min-width:0;font-size:11.5px}.auth-submit{width:100%;height:40px;margin-top:6px}.auth-submit:disabled{opacity:.6}.auth-card .error-banner{margin-bottom:14px}.settings-shell{background:#fbfafc;min-height:100vh}.settings-topbar{border-bottom:1px solid var(--line);z-index:10;background:#fff;justify-content:space-between;align-items:center;height:60px;padding:0 28px;display:flex;position:sticky;top:0}.back-link{color:#615d69;align-items:center;gap:8px;font-size:11px;font-weight:600;text-decoration:none;display:flex}.back-link:hover{color:#5f43dd}.settings-me{align-items:center;gap:9px;display:flex}.settings-me>div{flex-direction:column;display:flex}.settings-me strong{font-size:11px}.settings-me span{color:var(--muted);font-size:10px}.settings-content{max-width:1080px;margin:0 auto;padding:30px 28px 60px}.notice-banner{color:#2f6d55;background:#eaf7f1;border:1px solid #c9e7da;border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:12px;padding:10px 12px;font-size:10px;display:flex}.notice-banner button{background:0 0;border:0}.user-table-wrap{background:#fff;border:1px solid #e8e5eb;border-radius:12px;margin-top:22px;overflow-x:auto;box-shadow:0 2px 6px #1f172b08}.user-table{border-collapse:collapse;width:100%;min-width:760px}.user-table th{text-align:left;color:#96919b;text-transform:uppercase;letter-spacing:.6px;border-bottom:1px solid var(--line);background:#faf9fb;padding:12px 16px;font-size:9px;font-weight:800}.user-table td{vertical-align:middle;border-bottom:1px solid #f2f0f4;padding:12px 16px;font-size:11px}.user-table tr:last-child td{border-bottom:0}.user-table tr.is-inactive{opacity:.55}.user-table select{background:#fff;border:1px solid #e1dee4;border-radius:7px;height:29px;padding:0 7px;font-size:10px}.user-table select:disabled{opacity:.5;cursor:not-allowed}.user-cell{align-items:center;gap:10px;display:flex}.user-cell>div{flex-direction:column;display:flex}.user-cell strong{font-size:11px}.user-cell em{color:#9b96a2;font-style:normal;font-weight:500}.user-cell span{color:var(--muted);margin-top:2px;font-size:9.5px}.mono{color:#5f5b65;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10.5px}.dim{color:#9b96a2;font-size:10px}.status-pill{letter-spacing:.2px;border:1px solid #0000;border-radius:20px;padding:4px 10px;font-size:9px;font-weight:800}.status-pill.on{color:#2f6d55;background:#eaf7f1;border-color:#cbe8db}.status-pill.off{color:#8b8590;background:#f1eff3;border-color:#e4e1e8}.status-pill:disabled{cursor:not-allowed}.row-actions{justify-content:flex-end;gap:4px;display:flex}.row-actions button{color:#6f6a76;background:#fff;border:1px solid #e6e3e9;border-radius:7px;place-items:center;width:30px;height:30px;display:grid}.row-actions button:hover{color:#5f43dd;border-color:#c8bcf0}.row-actions button.danger:hover{color:#c94a60;background:#fdf1f3;border-color:#f3ccd4}.row-actions button:disabled{opacity:.35;cursor:not-allowed}.sidebar-bottom>a{text-decoration:none}.profile .icon-button{width:28px;height:28px}.profile .icon-button:hover{color:#c94a60;background:#fceef0}.settings-left{align-items:center;gap:20px;display:flex}.settings-tabs{gap:4px;display:flex}.settings-tabs a{color:#6e6a74;border-radius:8px;align-items:center;gap:7px;height:32px;padding:0 11px;font-size:11px;font-weight:600;text-decoration:none;display:flex}.settings-tabs a:hover{color:#302d36;background:#f3f1f6}.settings-tabs a.active{color:#5f43dd;background:#eae4fb}.workspace-grid{grid-template-columns:repeat(auto-fill,minmax(258px,1fr));gap:13px;margin-top:22px;display:grid}.workspace-card{background:#fff;border:1px solid #e8e5eb;border-radius:12px;padding:17px;box-shadow:0 2px 6px #1f172b08}.workspace-card-top{justify-content:space-between;align-items:flex-start;display:flex}.workspace-mark{color:#fff;background:linear-gradient(145deg,#856af5,#5c3bdd);border-radius:10px;place-items:center;width:34px;height:34px;display:grid;box-shadow:0 6px 15px #6d50e630}.workspace-card h2{letter-spacing:-.3px;margin:14px 0 0;font-size:15px}.workspace-card h2 em{color:#9b96a2;font-size:10px;font-style:normal;font-weight:500}.workspace-rename{align-items:center;gap:4px;margin-top:12px;display:flex}.workspace-rename input{border:1px solid #dedbe1;border-radius:8px;outline:0;flex:1;min-width:0;height:32px;padding:0 9px;font-size:11px}.workspace-rename input:focus{border-color:#866cf0;box-shadow:0 0 0 3px #7657ee12}.workspace-stats{color:#7d7882;gap:14px;margin-top:12px;font-size:10px;display:flex}.workspace-stats span{align-items:center;gap:5px;display:flex}.workspace-foot{color:#a29ea6;border-top:1px solid #f0eef1;margin-top:13px;padding-top:11px;font-size:9.5px}@media (max-width:640px){.settings-left{gap:10px}.back-link span{display:none}.settings-content{padding:22px 16px 44px}}a.workspace-switcher{color:inherit;text-decoration:none;transition:border-color .15s,box-shadow .15s}a.workspace-switcher:hover{border-color:#c8bcf0;box-shadow:0 2px 8px #6d50e618}.main-nav a{text-decoration:none}.project-mark{color:#fff;letter-spacing:-.2px;border-radius:10px;place-items:center;width:34px;height:34px;font-size:11px;font-weight:800;display:grid}.project-desc{-webkit-line-clamp:2;color:#8c8892;-webkit-box-orient:vertical;min-height:29px;margin:8px 0 0;font-size:10px;line-height:1.55;display:-webkit-box;overflow:hidden}.color-picker{gap:7px;display:flex}.color-swatch{cursor:pointer;border-radius:8px;width:26px;height:26px;transition:box-shadow .15s;position:relative;box-shadow:0 0 0 2px #fff,0 0 0 2px #0000}.color-swatch input{opacity:0;cursor:pointer;position:absolute;inset:0}.color-swatch:has(input:checked){box-shadow:0 0 0 2px #fff,0 0 0 4px #241f2e2e}.project-nav a.nav-empty{color:#a9a5b0;cursor:default;font-weight:500}.project-nav a.nav-empty:hover{color:#a9a5b0;background:0 0}.nav-label a{width:18px;height:18px;color:inherit;border-radius:5px;place-items:center;display:grid}.nav-label a:hover{color:#5f43dd;background:#e6e0f7}.column-header{cursor:default}.column-header[draggable=true]{cursor:grab}.column-header[draggable=true]:active{cursor:grabbing}.column-grip{color:#c2bec9}.column-header:hover .column-grip{color:#8d88969e}.column-done{color:#2ca879}.column-tools{align-items:center;gap:1px;display:flex}.column-tools button{color:#8c8892;background:0 0;border:0;border-radius:6px;place-items:center;width:26px;height:26px;display:grid}.column-tools button:hover{color:#5f43dd;background:#eeeaf8}.column-tools button:last-child:hover{color:#5f43dd}.column-tools button.is-open{color:#5f43dd;background:#eeeaf8}.column-menu-wrap{position:relative}.column-menu{z-index:30;background:#fff;border:1px solid #e7e3ec;border-radius:10px;flex-direction:column;gap:1px;min-width:158px;padding:5px;display:flex;position:absolute;top:30px;right:0;box-shadow:0 12px 30px #1c142c1f}.column-menu button{color:#4f4a55;text-align:left;background:0 0;border:0;border-radius:7px;justify-content:flex-start;align-items:center;gap:9px;width:100%;height:31px;padding:0 9px;font-size:11px;font-weight:500;display:flex}.column-menu button:hover{color:#302d36;background:#f4f2f8}.column-menu button.danger{color:#c94a60}.column-menu button.danger:hover{background:#fceef0}.column-menu button:disabled{opacity:.4;cursor:not-allowed}.column-menu button:disabled:hover{background:0 0}.menu-divider{background:#efedf2;height:1px;margin:4px 2px}.column.is-column-dragged{opacity:.45}.add-column{color:#8c8892;background:0 0;border:1px dashed #d8d3e2;border-radius:10px;justify-content:center;align-self:start;align-items:center;gap:7px;width:100%;min-height:38px;margin-top:0;padding:0 10px;font-size:10px;font-weight:600;display:flex}.add-column:hover{color:#6b4dea;background:#f7f4fe;border-color:#b9a9ee}.checkbox-row{align-items:center;flex-direction:row!important;gap:9px!important}.checkbox-row input{accent-color:#6f52ed;width:15px;height:15px}.list-view{background:#fff;border:1px solid #e8e5eb;border-radius:12px;overflow-x:auto;box-shadow:0 2px 6px #1f172b08}.task-table{border-collapse:collapse;width:100%;min-width:720px}.task-table th{text-align:left;color:#96919b;text-transform:uppercase;letter-spacing:.6px;border-bottom:1px solid var(--line);background:#faf9fb;padding:11px 16px;font-size:9px;font-weight:800}.task-table td{vertical-align:middle;border-bottom:1px solid #f2f0f4;padding:11px 16px;font-size:11px}.task-table tbody tr{cursor:pointer}.task-table tbody tr:hover{background:#faf9fc}.task-table tr:last-child td{border-bottom:0}.task-table .numeric{text-align:right}.list-title{flex-direction:column;gap:3px;display:flex}.list-title strong{font-size:11.5px;font-weight:600}.list-title .task-key{color:#a09ca6;font-size:9px;font-weight:600}.list-assignee{align-items:center;gap:8px;display:flex}.list-assignee span{font-size:10.5px}.status-chip{background:#faf9fb;border:1px solid #e9e6ed;border-radius:20px;align-items:center;gap:6px;padding:4px 9px;font-size:10px;font-weight:600;display:inline-flex}.status-chip i{border-radius:50%;width:7px;height:7px}.task-table .overdue{color:#c94a60;font-weight:600}.list-view .loading{min-height:220px}.calendar-view{flex-direction:column;gap:12px;display:flex}.calendar-toolbar{align-items:center;gap:8px;display:flex}.calendar-toolbar strong{text-align:center;letter-spacing:-.3px;min-width:140px;font-size:13px}.calendar-toolbar .secondary-button{height:30px;font-size:10px}.calendar-toolbar .dim{font-size:9.5px}.calendar-grid{background:#e9e6ed;border:1px solid #e9e6ed;border-radius:12px;grid-template-columns:repeat(7,minmax(96px,1fr));gap:1px;display:grid;overflow:hidden}.calendar-weekday{color:#96919b;text-transform:uppercase;letter-spacing:.6px;background:#faf9fb;padding:8px 10px;font-size:9px;font-weight:800}.calendar-cell{background:#fff;flex-direction:column;gap:5px;min-height:104px;padding:7px;display:flex}.calendar-cell.is-outside{background:#fcfbfd}.calendar-cell.is-outside .calendar-date{color:#c6c2cc}.calendar-cell.is-today .calendar-date{color:#fff;background:var(--purple)}.calendar-date{color:#6f6a76;border-radius:50%;place-items:center;width:21px;height:21px;font-size:10px;font-weight:600;display:grid}.calendar-tasks{flex-direction:column;gap:3px;display:flex;overflow:hidden}.calendar-task{color:#4f4a55;text-align:left;background:#faf9fb;border:1px solid #eae7ee;border-radius:6px;align-items:center;gap:6px;width:100%;padding:4px 6px;font-size:9.5px;display:flex}.calendar-task:hover{background:#f5f2fd;border-color:#c8bcf0}.calendar-task i{border-radius:50%;flex:none;width:6px;height:6px}.calendar-task span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.calendar-backlog{background:#fff;border:1px solid #e8e5eb;border-radius:12px;padding:12px 14px}.calendar-backlog strong{color:#6f6a76;margin-bottom:9px;font-size:10px;display:block}.calendar-backlog>div{flex-wrap:wrap;gap:6px;display:flex}.calendar-backlog .calendar-task{width:auto;max-width:210px}@media (max-width:760px){.calendar-grid{grid-template-columns:repeat(7,minmax(72px,1fr))}.calendar-cell{min-height:84px}}.subtask-badge{color:#7f7a86}.list-title .task-key em{color:#b1acb7;font-style:normal}.subtasks{border-top:1px solid var(--line);margin:0 0 26px;padding-top:22px}.subtask-progress{background:#eeecf0;border-radius:3px;height:4px;margin-top:14px;overflow:hidden}.subtask-progress i{background:#2ca879;border-radius:3px;height:100%;transition:width .2s;display:block}.subtask-list{flex-direction:column;gap:2px;margin-top:12px;display:flex}.subtask-row{border-radius:8px;align-items:center;gap:8px;padding:5px 6px;display:flex}.subtask-row:hover{background:#faf9fb}.subtask-row.is-done .subtask-title{color:#a5a0ab;text-decoration:line-through}.subtask-check{color:#a5a0ab;background:0 0;border:0;border-radius:7px;flex:none;place-items:center;width:26px;height:26px;display:grid}.subtask-row.is-done .subtask-check{color:#2ca879}.subtask-check:hover{background:#efedf2}.subtask-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:11px;overflow:hidden}.subtask-status,.subtask-assignee{color:#5f5b65;background:#fff;border:1px solid #e4e1e8;border-radius:7px;max-width:106px;height:27px;padding:0 6px;font-size:9.5px}.subtask-assignee{max-width:92px}.subtask-delete{color:#b0abb6;opacity:0;background:0 0;border:0;border-radius:7px;flex:none;place-items:center;width:26px;height:26px;transition:opacity .12s;display:grid}.subtask-row:hover .subtask-delete{opacity:1}.subtask-delete:hover{color:#c94a60;background:#fceef0}.subtask-add{color:#a5a0ab;align-items:center;gap:8px;margin-top:8px;padding:0 6px;display:flex}.subtask-add input{background:0 0;border:0;border-bottom:1px dashed #ded9e5;outline:0;flex:1;height:34px;font-size:11px}.subtask-add input:focus{border-color:#866cf0}.drawer-crumbs{flex-direction:column;flex:1;align-items:flex-start;gap:5px;min-width:0;display:flex}.drawer-crumbs>span{color:#88838d;align-items:center;gap:5px;font-size:10px;font-weight:700;display:flex}.parent-link{color:#7f7a86;background:0 0;border:0;align-items:center;gap:6px;max-width:100%;padding:0;font-size:9.5px;font-weight:600;display:flex}.parent-link>svg{flex:none}.parent-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.parent-link:hover{color:#5f43dd}button.subtask-title{text-align:left;color:inherit;background:0 0;border:0;padding:0;font-weight:500}button.subtask-title:hover{color:#5f43dd;text-decoration:underline}.subtask-comments{color:#a5a0ab;align-items:center;gap:4px;font-size:9px;display:flex}.drawer-id{color:#88838d;align-items:center;gap:8px;max-width:100%;font-size:10px;font-weight:700;display:flex}.kind-chip{color:#5f43dd;letter-spacing:.5px;text-transform:uppercase;background:#ece7fb;border-radius:5px;align-items:center;gap:4px;padding:3px 7px;font-size:8px;font-weight:800;display:inline-flex}.kind-chip.is-subtask{color:#2f6d55;background:#e6f5ee}.parent-of{color:#b1acb7;letter-spacing:.6px;text-transform:uppercase;flex:none;font-size:8px;font-weight:800}.detail-drawer.is-subtask{border-top:3px solid #2ca879}.detail-drawer.is-subtask .drawer-header{background:#f7fbf9}button.subtask-title{align-items:baseline;gap:8px;display:flex}button.subtask-title em{color:#b1acb7;flex:none;font-size:8.5px;font-style:normal;font-weight:700}button.subtask-title:hover em{color:#a294e0}.subtask-badge{color:#7f7a86;white-space:nowrap}.detail-title .editable{cursor:text;border-radius:8px;margin-left:-7px;padding:5px 7px;transition:background .12s;display:block;position:relative}.detail-title .editable:hover{background:#f6f4f9}.detail-title .editable svg{opacity:0;color:#a5a0ab;vertical-align:middle;margin-left:8px;transition:opacity .12s}.detail-title .editable:hover svg{opacity:1}.detail-title p.editable.is-empty{color:#a5a0ab;font-style:italic}.title-input{letter-spacing:-.5px;border:1px solid #866cf0;border-radius:8px;outline:0;width:100%;margin:13px 0 8px -8px;padding:4px 7px;font-size:22px;font-weight:700;line-height:1.35;display:block;box-shadow:0 0 0 3px #7657ee12}.description-editor{margin-top:10px}.description-editor textarea{resize:vertical;border:1px solid #866cf0;border-radius:9px;outline:0;width:100%;padding:10px 11px;font-size:11px;line-height:1.65;display:block;box-shadow:0 0 0 3px #7657ee12}.description-editor>div{align-items:center;gap:8px;margin-top:8px;display:flex}.description-editor span{color:#a5a0ab;flex:1;font-size:8.5px}.description-editor .secondary-button,.description-editor .primary-button{height:29px;padding:0 12px;font-size:10px}.board::-webkit-scrollbar{height:10px}.board::-webkit-scrollbar-track{background:0 0}.board::-webkit-scrollbar-thumb{background:#d9d5e0;border:3px solid #fbfafc;border-radius:6px}.board::-webkit-scrollbar-thumb:hover{background:#c3bdd0}.board .column{min-width:0}.add-column{min-width:150px}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-top:22px;display:grid}.stat-card{background:#fff;border:1px solid #e8e5eb;border-radius:12px;flex-direction:column;gap:4px;padding:16px;display:flex;box-shadow:0 2px 6px #1f172b08}.stat-icon{color:#6f6a76;background:#f4f2f7;border-radius:9px;place-items:center;width:30px;height:30px;margin-bottom:6px;display:grid}.stat-card strong{letter-spacing:-1px;font-size:26px}.stat-label{color:var(--muted);font-size:10px}.stat-card.is-danger .stat-icon{color:#c94a60;background:#fceef0}.stat-card.is-warn .stat-icon{color:#a3762a;background:#fbf2df}.stat-card.is-good .stat-icon{color:#2f6d55;background:#e6f5ee}.overview-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:13px;margin-top:13px;display:grid}.panel{background:#fff;border:1px solid #e8e5eb;border-radius:12px;padding:17px;box-shadow:0 2px 6px #1f172b08}.panel-wide{grid-column:1/-1}.panel-empty{color:#a5a0ab;margin:16px 0 4px;font-size:10.5px}.progress-list{flex-direction:column;gap:14px;margin-top:16px;display:flex}.progress-row{color:inherit;text-decoration:none;display:block}.progress-row>div{justify-content:space-between;align-items:center;margin-bottom:7px;display:flex}.progress-name{align-items:center;gap:8px;font-size:11px;font-weight:600;display:flex}.progress-name i{border-radius:3px;width:8px;height:8px}.progress-count{color:var(--muted);font-size:10px}.progress-track{background:#eeecf0;border-radius:4px;height:6px;overflow:hidden}.progress-track i{border-radius:4px;height:100%;transition:width .2s;display:block}.progress-row:hover .progress-name{color:#5f43dd}.workload-list{flex-direction:column;gap:3px;margin-top:14px;display:flex}.workload-row{border-radius:8px;align-items:center;gap:10px;padding:6px 4px;display:flex}.workload-row:hover{background:#faf9fb}.workload-name{flex:1;font-size:11px}.workload-count{color:#6f6a76;background:#f1eff3;border-radius:6px;place-items:center;min-width:22px;height:21px;font-size:9.5px;font-weight:700;display:grid}.task-groups{flex-direction:column;gap:24px;margin-top:22px;display:flex}.task-lines{flex-direction:column;gap:4px;margin-top:12px;display:flex}.task-line{color:inherit;background:#fff;border:1px solid #e8e5eb;border-radius:10px;align-items:center;gap:11px;padding:10px 13px;text-decoration:none;display:flex;box-shadow:0 1px 3px #1f172b06}.task-line:hover{border-color:#c8bcf0;box-shadow:0 4px 12px #2b203910}.task-line.is-done .line-title{color:#a5a0ab;text-decoration:line-through}.line-status{border-radius:50%;flex:none;width:8px;height:8px}.line-title{text-overflow:ellipsis;white-space:nowrap;flex:1;align-items:center;gap:7px;min-width:0;font-size:11.5px;font-weight:500;display:flex;overflow:hidden}.line-title svg{color:#b1acb7;flex:none}.line-project{opacity:.75;flex:none;font-size:9px;font-weight:700}.line-meta{color:#a5a0ab;flex:none;align-items:center;gap:4px;font-size:9.5px;display:flex}.line-due{color:#8f8b94;flex:none;justify-content:flex-end;align-items:center;gap:5px;min-width:64px;font-size:10px;display:flex}.line-due.is-overdue{color:#c94a60;font-weight:600}.group-more{color:#a5a0ab;margin:10px 2px 0;font-size:10px}@media (max-width:640px){.line-project,.line-meta{display:none}}
