:root{--bg:#f5f8fc;--surface:#fff;--surface-2:#f1f5f9;--border:#e9eef4;--border-strong:#dce3ec;--text:#0f172a;--text-2:#5a6678;--text-3:#94a3b8;--brand:#1e40af;--brand-2:#2563eb;--brand-soft:#eaf0fd;--shadow:0 1px 2px #0f172a0d,0 4px 14px #0f172a0f;--shadow-lg:0 18px 50px #0f172a2e}[data-theme=dark]{--bg:#0b0f17;--surface:#121826;--surface-2:#1a2233;--border:#222c3d;--border-strong:#303c50;--text:#e8edf5;--text-2:#9aa7b8;--text-3:#62718a;--brand:#3b82f6;--brand-2:#60a5fa;--brand-soft:#16233d;--shadow:0 1px 2px #00000059,0 6px 20px #0000006b;--shadow-lg:0 18px 52px #0000009e}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;background:#f5f8fc;background:var(--bg);color:#0f172a;color:var(--text);font-family:Inter,system-ui,sans-serif;margin:0;min-height:100vh}button,input,select{font-family:inherit}::-webkit-scrollbar{height:10px;width:10px}::-webkit-scrollbar-thumb{background:#7887a04d;background-clip:padding-box;border:3px solid #0000;border-radius:8px}::-webkit-scrollbar-thumb:hover{background:#7887a080;background-clip:padding-box}@keyframes fadeUp{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,16px)}to{opacity:1;transform:translate(-50%)}}@keyframes spin{to{transform:rotate(1turn)}}.block{display:flex;flex-direction:column;min-height:100vh}.block-main{flex:1 1;overflow:auto}.page{padding:28px}.page-title{color:#0f172a;color:var(--text);font-size:23px;font-weight:700;letter-spacing:-.5px}.page-sub{color:#5a6678;color:var(--text-2);font-size:14px;margin-top:5px}.btn-primary{align-items:center;background:#1e40af;background:var(--brand);border:none;border-radius:10px;box-shadow:0 1px 2px #0f172a0d,0 4px 14px #0f172a0f;box-shadow:var(--shadow);color:#fff;cursor:pointer;display:inline-flex;font-size:13.5px;font-weight:600;gap:7px;padding:10px 16px}.btn-primary:hover{filter:brightness(1.08)}.btn-secondary{align-items:center;background:#fff;background:var(--surface);border:1px solid #dce3ec;border:1px solid var(--border-strong);border-radius:10px;color:#0f172a;color:var(--text);cursor:pointer;display:inline-flex;font-size:13px;font-weight:500;gap:7px;padding:9px 14px}.btn-secondary:hover{background:#f1f5f9;background:var(--surface-2)}.btn-secondary-sm{align-items:center;background:#fff;background:var(--surface);border:1px solid #dce3ec;border:1px solid var(--border-strong);border-radius:10px;color:#0f172a;color:var(--text);cursor:pointer;display:inline-flex;font-size:12.5px;font-weight:600;gap:6px;padding:8px 12px;white-space:nowrap}.btn-secondary-sm:hover{background:#f1f5f9;background:var(--surface-2)}.badge{align-items:center;border-radius:6px;display:inline-flex;font-size:11.5px;font-weight:600;gap:6px;padding:3px 9px;white-space:nowrap}.badge-dot{border-radius:50%;height:6px;width:6px}.badge-status{border-radius:20px;color:#fff;opacity:.92;padding:3px 9px}.toggle{border-radius:20px;cursor:pointer;flex:none;height:22px;position:relative;transition:background .15s;width:38px}.toggle-knob{background:#fff;border-radius:50%;height:18px;position:absolute;top:2px;transition:left .15s;width:18px}.progress{background:#f1f5f9;background:var(--surface-2);border-radius:4px;height:6px;overflow:hidden}.progress-fill{border-radius:4px;height:100%}.field-label{color:#5a6678;color:var(--text-2);font-size:12.5px;font-weight:600;margin-bottom:7px}.field-input,.field-select{background:#fff;background:var(--surface);border:1px solid #dce3ec;border:1px solid var(--border-strong);border-radius:10px;color:#0f172a;color:var(--text);font-size:14px;outline:none;padding:11px 13px;width:100%}.field-select{cursor:pointer}.field-input:focus,.field-select:focus{border-color:#1e40af;border-color:var(--brand);box-shadow:0 0 0 3px #eaf0fd;box-shadow:0 0 0 3px var(--brand-soft)}.field-input:disabled{color:#94a3b8;color:var(--text-3);cursor:not-allowed}.field-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:1fr 1fr}.card{background:#fff;background:var(--surface);border:1px solid #e9eef4;border:1px solid var(--border);border-radius:16px;box-shadow:0 1px 2px #0f172a0d,0 4px 14px #0f172a0f;box-shadow:var(--shadow)}.card-title{color:#0f172a;color:var(--text);font-size:15px;font-weight:700}.card-sub{color:#5a6678;color:var(--text-2);font-size:12.5px;margin-top:2px}.avatar-stack{display:flex;padding-left:5px}.avatar-stack-item{border:2px solid #fff;border:2px solid var(--surface);border-radius:50%;display:inline-flex;margin-left:-5px}.avatar-stack-lg .avatar{border:none}.loading{align-items:center;display:flex;justify-content:center;padding:60px}.loading-spinner{animation:spin .8s linear infinite;border:3px solid #dce3ec;border-top-color:#1e40af;border:3px solid var(--border-strong);border-radius:50%;border-top-color:var(--brand);height:28px;width:28px}.network{align-items:center;color:#94a3b8;color:var(--text-3);display:flex;flex-direction:column;gap:10px;padding:60px}.network-title{color:#0f172a;color:var(--text);font-size:16px;font-weight:700}.network-message{color:#5a6678;color:var(--text-2);font-size:13.5px;max-width:320px;text-align:center}.network-retry{background:#1e40af;background:var(--brand);border:none;border-radius:10px;color:#fff;cursor:pointer;font-weight:600;margin-top:6px;padding:9px 16px}.dropdown-overlay{inset:0;position:fixed;z-index:39}.empty-row{color:#94a3b8;color:var(--text-3);font-size:13px;padding:22px 16px;text-align:center}.page404{align-items:center;display:flex;flex-direction:column;gap:14px;justify-content:center;min-height:100vh}.page404-code{color:#1e40af;color:var(--brand);font-size:64px;font-weight:800;letter-spacing:-2px}.page404-text{color:#5a6678;color:var(--text-2);font-size:16px}.login{display:flex;min-height:100vh}.login-banner{background:linear-gradient(150deg,#1e40af,#2563eb 60%,#3b82f6);color:#fff;display:flex;flex:1.15 1;flex-direction:column;justify-content:space-between;overflow:hidden;padding:56px 60px;position:relative}.login-circle{border-radius:50%;position:absolute}.login-circle-1{background:#ffffff12;height:520px;right:-140px;top:-160px;width:520px}.login-circle-2{background:#ffffff0f;bottom:-120px;height:340px;left:-80px;width:340px}.login-brand{gap:12px;position:relative}.login-brand,.login-brand-mark{align-items:center;display:flex}.login-brand-mark{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff29;border-radius:11px;height:38px;justify-content:center;width:38px}.login-brand-text{font-size:19px;font-weight:700;letter-spacing:-.2px}.login-hero{max-width:440px;position:relative}.login-hero-title{font-size:40px;font-weight:800;letter-spacing:-.8px;line-height:1.12}.login-hero-sub{font-size:16px;line-height:1.6;margin-top:18px;opacity:.82}.login-checks{display:flex;flex-direction:column;gap:14px;margin-top:32px}.login-check{align-items:center;display:flex;font-size:14.5px;gap:11px;opacity:.92}.login-footer{font-size:13px;opacity:.6;position:relative}.login-pane{align-items:center;background:var(--surface);display:flex;justify-content:center;max-width:46%;padding:48px;width:520px}.login-form{max-width:360px;width:100%}.login-title{color:var(--text);font-size:24px;font-weight:700;letter-spacing:-.4px}.login-subtitle{color:var(--text-2);font-size:14px;margin-top:8px}.login-fields{display:flex;flex-direction:column;gap:18px;margin-top:30px}.login-label{color:var(--text);display:block;font-size:13px;font-weight:600;margin-bottom:7px}.login-label-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:7px}.login-label-row .login-label{margin-bottom:0}.login-forgot{color:var(--brand);cursor:pointer;font-size:13px;font-weight:500}.login-input{background:var(--surface);border:1px solid var(--border-strong);border-radius:11px;color:var(--text);font-size:14px;outline:none;padding:12px 14px;width:100%}.login-input:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.login-error{color:#dc2626;font-size:13px}.login-submit{background:var(--brand);border:none;border-radius:11px;box-shadow:var(--shadow);color:#fff;cursor:pointer;font-size:14.5px;font-weight:600;margin-top:4px;padding:13px;width:100%}.login-submit:hover{filter:brightness(1.08)}.login-divider{align-items:center;display:flex;gap:12px;margin:26px 0}.login-divider-line{background:var(--border);flex:1 1;height:1px}.login-divider-text{color:var(--text-3);font-size:12px}.login-note{color:var(--text-2);font-size:13px;line-height:1.6;text-align:center}.login-fields-wrap{margin-top:30px}.login-fields-wrap .login-fields{margin-top:0}.register-invalid{display:flex;flex-direction:column;gap:16px}.register-invalid-text{color:var(--text-2);font-size:14px;line-height:1.6}.header{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:color-mix(in srgb,var(--surface) 82%,#0000);border-bottom:1px solid var(--border);gap:11px;height:64px;padding:0 22px;position:-webkit-sticky;position:sticky;top:0;z-index:20}.header,.header-logo{align-items:center;display:flex;flex:none}.header-logo{cursor:pointer;gap:10px}.header-logo-mark{align-items:center;background:linear-gradient(150deg,#1e40af,#3b82f6);border-radius:9px;display:flex;flex:none;height:32px;justify-content:center;width:32px}.header-logo-text{color:var(--text);font-size:16px;font-weight:700;letter-spacing:-.2px}.header-nav{display:flex;flex:none;gap:2px;margin-left:8px}.nav-btn{background:#0000;border:none;border-radius:9px;color:var(--text-2);cursor:pointer;font-size:13.5px;font-weight:500;padding:7px 10px;white-space:nowrap}.nav-btn:hover{background:var(--surface-2)}.nav-active{background:var(--brand-soft);color:var(--brand)}.header-spacer{flex:1 1}.header-search{flex:0 1 240px;min-width:44px;position:relative}.search-box{align-items:center;background:var(--surface-2);border:1px solid var(--border);border-radius:11px;color:var(--text-3);display:flex;gap:8px;padding:9px 12px}.search-box input{background:#0000;border:none;color:var(--text);flex:1 1;font-size:13.5px;min-width:0;outline:none}.btn-create{align-items:center;background:var(--brand);border:none;border-radius:10px;box-shadow:var(--shadow);color:#fff;cursor:pointer;display:flex;flex:none;font-size:13.5px;font-weight:600;gap:7px;padding:8px 13px;white-space:nowrap}.btn-create:hover{filter:brightness(1.08)}.btn-icon{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:10px;color:var(--text-2);cursor:pointer;display:flex;flex:none;height:38px;justify-content:center;width:38px}.btn-icon:hover{background:var(--surface-2)}.btn-bell{position:relative}.bell-dot{background:#ef4444;border:2px solid var(--surface);border-radius:50%;height:7px;position:absolute;right:8px;top:7px;width:7px}.header-rel{position:relative}.header-avatar{cursor:pointer}.search-dropdown{animation:fadeUp .16s ease both;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-lg);left:0;max-width:78vw;overflow:hidden;position:absolute;top:46px;width:340px;z-index:45}.search-list{max-height:420px;overflow:auto;padding:6px}.search-section{color:var(--text-3);font-size:11px;font-weight:600;letter-spacing:.5px;padding:9px 10px 5px;text-transform:uppercase}.search-row{align-items:center;border-radius:9px;cursor:pointer;display:flex;gap:10px;padding:9px 10px}.search-row:hover{background:var(--surface-2)}.search-dot{border-radius:50%;flex:none;height:8px;width:8px}.search-square{border-radius:4px;flex:none;height:11px;width:11px}.search-row-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-row-name,.search-row-title{color:var(--text);flex:1 1;font-size:13px}.search-row-name{font-weight:500}.search-person{flex:1 1;min-width:0}.search-person-name{color:var(--text);font-size:13px}.search-person-role{color:var(--text-3);font-size:11px}.search-empty{color:var(--text-3);font-size:13px;padding:22px 16px;text-align:center}.notif-dropdown{animation:fadeUp .18s ease both;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-lg);cursor:default;overflow:hidden;position:absolute;right:0;top:48px;width:360px;z-index:40}.notif-head{align-items:center;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:14px 16px}.notif-title{color:var(--text);font-size:14.5px;font-weight:700}.notif-count{background:var(--brand-soft);border-radius:20px;color:var(--brand);font-size:11.5px;font-weight:600;padding:2px 9px}.notif-list{max-height:380px;overflow:auto}.notif-row{border-bottom:1px solid var(--border);cursor:pointer;display:flex;gap:11px;padding:12px 16px}.notif-row:hover{background:var(--surface-2)}.notif-body{flex:1 1;min-width:0}.notif-text{color:var(--text-2);font-size:13px;line-height:1.45}.notif-who{color:var(--text);font-weight:600}.notif-time{color:var(--text-3);display:block;font-size:11.5px;margin-top:3px}.notif-unread{background:var(--brand);border-radius:50%;flex:none;height:8px;margin-top:5px;width:8px}.notif-foot{padding:11px 16px;text-align:center}.notif-readall{color:var(--brand);cursor:pointer;font-size:13px;font-weight:500}.usermenu{animation:fadeUp .16s ease both;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-lg);overflow:hidden;position:absolute;right:0;top:48px;width:236px;z-index:40}.usermenu-head{align-items:center;border-bottom:1px solid var(--border);display:flex;gap:11px;padding:14px 16px}.usermenu-id{min-width:0}.usermenu-name{color:var(--text);font-size:13.5px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.usermenu-email{color:var(--text-3);font-size:11.5px}.usermenu-list{padding:6px}.usermenu-item{align-items:center;border-radius:9px;color:var(--text);cursor:pointer;display:flex;font-size:13.5px;font-weight:500;gap:10px;padding:9px 10px}.usermenu-item:hover{background:var(--surface-2)}.usermenu-danger{color:#dc2626}.usermenu-danger:hover{background:#fee2e2}.dashboard-grid{grid-gap:20px;align-items:start;display:grid;gap:20px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin-top:24px}.dashboard-col{display:flex;flex-direction:column;gap:16px;min-width:0}.stat-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:13px;box-shadow:var(--shadow);padding:13px 14px}.stat-top{justify-content:space-between}.stat-icon,.stat-top{align-items:center;display:flex}.stat-icon{border-radius:9px;height:28px;justify-content:center;width:28px}.stat-icon-brand{background:var(--brand-soft);color:var(--brand)}.stat-icon-red{background:#fee2e2;color:#dc2626}.stat-icon-amber{background:#fef3c7;color:#d97706}.stat-icon-green{background:#d1fae5;color:#047857}.stat-badge{border-radius:6px;font-size:10.5px;font-weight:600;padding:2px 7px}.stat-badge-red{background:#fee2e2;color:#dc2626}.stat-badge-green{background:#d1fae5;color:#047857}.stat-value{color:var(--text);font-size:21px;font-weight:700;letter-spacing:-.5px;margin-top:9px}.stat-label{color:var(--text-2);font-size:12px;margin-top:1px}.mytasks{overflow:hidden}.mytask-list{max-height:420px;overflow-y:auto}.card-head{justify-content:space-between;padding:15px 18px}.card-head,.mytask-row{align-items:center;border-bottom:1px solid var(--border);display:flex}.mytask-row{cursor:pointer;gap:12px;padding:12px 18px}.mytask-row:hover{background:var(--surface-2)}.mytask-stripe{border-radius:3px;flex:none;height:30px;width:4px}.mytask-body{flex:1 1;min-width:0}.mytask-title{color:var(--text);font-size:13.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mytask-project{align-items:center;display:flex;gap:7px;margin-top:3px}.mytask-dot{border-radius:3px;height:8px;width:8px}.mytask-project-name{color:var(--text-3);font-size:12px}.projects-card{padding:18px}.projects-head{align-items:flex-end;display:flex;justify-content:space-between;margin-bottom:14px}.projects-list{display:flex;flex-direction:column;gap:12px}.project-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;cursor:pointer;padding:15px;transition:transform .12s,box-shadow .12s,border-color .12s}.project-card:hover{border-color:var(--brand-2);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.project-top{gap:11px}.project-icon,.project-top{align-items:center;display:flex}.project-icon{border-radius:11px;flex:none;height:38px;justify-content:center;width:38px}.project-id{flex:1 1;min-width:0}.project-name{color:var(--text);font-size:15px;font-weight:700}.project-desc{color:var(--text-3);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-pct{color:var(--text-2);flex:none;font-size:13px;font-weight:700}.project-delete{align-items:center;background:#0000;border:1px solid #0000;border-radius:8px;color:var(--text-3);cursor:pointer;display:flex;flex:none;height:28px;justify-content:center;opacity:0;transition:opacity .12s,background .12s,color .12s,border-color .12s;width:28px}.project-card:hover .project-delete,.project-delete:focus-visible{opacity:1}.project-delete:hover{background:#fee2e2;border-color:#fca5a5;color:#dc2626}.project-card .progress{margin-top:13px}.project-foot{align-items:center;display:flex;justify-content:space-between;margin-top:12px}.project-open{color:var(--brand);font-size:12px;font-weight:600;white-space:nowrap}.activity-card{padding:18px}.activity-title{margin-bottom:6px}.activity-row{border-bottom:1px solid var(--border);display:flex;gap:11px;padding:10px 0}.activity-body{flex:1 1}.activity-text{color:var(--text-2);font-size:13px;line-height:1.45}.activity-who{color:var(--text);font-weight:600}.activity-time{color:var(--text-3);display:block;font-size:11.5px;margin-top:2px}.board{padding:26px 28px 36px}.board-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between}.board-crumb{align-items:center;color:var(--text-3);display:flex;font-size:12.5px;font-weight:500;gap:7px}.board-crumb-link{cursor:pointer}.board-crumb-link:hover{color:var(--brand)}.board-titlerow{align-items:center;display:flex;gap:11px;margin-top:7px}.board-square{border-radius:4px;height:13px;width:13px}.board-name{color:var(--text);font-size:23px;font-weight:700;letter-spacing:-.5px}.board-status{background:#d1fae5;border-radius:20px;color:#047857;font-size:11.5px;font-weight:600;padding:3px 9px}.board-meta{color:var(--text-2);font-size:13.5px;margin-top:6px}.board-actions{align-items:center;display:flex;gap:10px}.board-members{padding-left:6px}.board-members-wrap{align-items:center;display:flex;gap:8px;position:relative}.board-delete,.board-members-btn{align-items:center;background:var(--surface);border:1px solid var(--border-strong);border-radius:10px;color:var(--text-2);cursor:pointer;display:flex;height:34px;justify-content:center;width:34px}.board-members-btn:hover{background:var(--surface-2);color:var(--brand)}.board-delete:hover{background:#fee2e2;border-color:#fca5a5;color:#dc2626}.members-dropdown{animation:fadeUp .14s ease both;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-lg);left:0;max-height:360px;overflow:auto;padding:6px;position:absolute;top:42px;width:250px;z-index:40}.member-manage-row{align-items:center;border-radius:9px;color:var(--text);display:flex;font-size:13px;gap:9px;padding:7px 8px}.member-manage-name{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-manage-remove{background:#0000;border:none;border-radius:6px;color:var(--text-3);cursor:pointer;display:inline-flex;padding:2px}.member-manage-remove:hover{background:#fee2e2;color:#dc2626}.member-manage-add{color:var(--text-2);cursor:pointer}.member-manage-add:hover{background:var(--surface-2);color:var(--brand)}.board-filter-wrap{position:relative}.board-filter,.board-share{align-items:center;background:var(--surface);border:1px solid var(--border-strong);border-radius:10px;color:var(--text);cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:7px;padding:8px 13px}.board-share:hover{background:var(--surface-2)}.filter-dropdown{animation:fadeUp .14s ease both;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-lg);left:0;padding:6px;position:absolute;top:42px;width:200px;z-index:40}.filter-section{color:var(--text-3);font-size:11px;font-weight:600;letter-spacing:.5px;padding:7px 10px 4px;text-transform:uppercase}.filter-row{align-items:center;border-radius:9px;color:var(--text);cursor:pointer;display:flex;font-size:13px;justify-content:space-between;padding:8px 10px}.filter-row:hover{background:var(--surface-2)}.board-columns{align-items:flex-start;display:flex;gap:18px;margin-top:24px;overflow-x:auto;padding-bottom:10px}.column{background:var(--surface-2);border:1px solid var(--border);border-radius:16px;flex:none;outline:2px dashed #0000;outline-offset:-2px;padding:13px;transition:outline-color .12s;width:300px}.column-head{align-items:center;display:flex;gap:9px;padding:2px 4px 12px}.column-dot{border-radius:50%;height:9px;width:9px}.column-name{color:var(--text);font-size:13.5px;font-weight:700}.column-count{background:var(--surface);border:1px solid var(--border);border-radius:20px;color:var(--text-3);font-size:12px;font-weight:600;padding:1px 8px}.column-add{border-radius:7px;color:var(--text-3);cursor:pointer;display:flex;margin-left:auto;padding:2px}.column-add:hover{background:var(--surface);color:var(--brand)}.column-list{gap:11px}.column-list,.task-card{display:flex;flex-direction:column}.task-card{animation:fadeUp .3s ease both;background:var(--surface);border:1px solid var(--border);border-radius:13px;box-shadow:var(--shadow);cursor:grab;gap:10px;padding:13px;transition:transform .12s,box-shadow .12s,border-color .12s}.task-card:hover{border-color:var(--brand-2);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.task-card-tags{display:flex;flex-wrap:wrap;gap:6px}.task-card-title{-webkit-line-clamp:4;-webkit-box-orient:vertical;color:var(--text);display:-webkit-box;font-size:14px;font-weight:600;line-height:1.4;overflow:hidden;overflow-wrap:anywhere;word-break:break-word}.task-card-meta{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.task-card-due{align-items:center;color:var(--text-3);display:inline-flex;font-size:12px;gap:4px}.task-card-foot{align-items:center;border-top:1px solid var(--border);display:flex;justify-content:space-between;padding-top:10px}.task-card-icons{align-items:center;color:var(--text-3);display:flex;font-size:12px;gap:13px}.task-card-icon{align-items:center;display:inline-flex;gap:4px}.composer{animation:fadeUp .16s ease both;background:var(--surface);border:1px solid var(--brand-2);border-radius:13px;box-shadow:var(--shadow-lg);padding:11px}.composer-input{background:#0000;border:none;color:var(--text);font-size:14px;font-weight:600;outline:none;width:100%}.composer-actions{display:flex;gap:7px;margin-top:10px}.composer-add{background:var(--brand);border:none;border-radius:9px;color:#fff;cursor:pointer;flex:1 1;font-size:13px;font-weight:600;padding:8px}.composer-add:hover{filter:brightness(1.08)}.composer-cancel{background:var(--surface);border:1px solid var(--border-strong);border-radius:9px;color:var(--text-2);cursor:pointer;font-size:13px;font-weight:500;padding:8px 12px}.composer-cancel:hover{background:var(--surface-2)}.column-addbtn{align-items:center;background:#0000;border:1px dashed var(--border-strong);border-radius:11px;color:var(--text-3);cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:7px;padding:9px;width:100%}.column-addbtn:hover{background:var(--surface);border-color:var(--brand-2);color:var(--brand)}.members-head{align-items:flex-end;display:flex;justify-content:space-between}.members-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr);margin-top:24px}.member-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);padding:18px}.member-top{align-items:center;display:flex;gap:13px}.member-id{flex:1 1;min-width:0}.member-name{color:var(--text);font-size:15px;font-weight:700}.member-title{color:var(--text-3);font-size:12.5px}.member-load{margin-top:16px}.member-load-head{align-items:center;display:flex;font-size:12.5px;justify-content:space-between;margin-bottom:7px}.member-load-label{color:var(--text-2)}.member-load-value{color:var(--text);font-weight:600}.member-load .progress{height:7px}.member-projects{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}.member-chip{align-items:center;background:var(--surface-2);border-radius:7px;color:var(--text-2);display:inline-flex;font-size:11.5px;font-weight:500;gap:6px;padding:4px 9px}.member-chip-dot{border-radius:3px;height:8px;width:8px}.profile{max-width:760px}.profile-head{align-items:center;display:flex;gap:18px;margin-top:20px;padding:22px}.profile-head-id{flex:1 1}.profile-head-row{align-items:center;display:flex;gap:10px}.profile-head-name{color:var(--text);font-size:19px;font-weight:700}.profile-head-sub{color:var(--text-2);font-size:13.5px;margin-top:4px}.profile-data{margin-top:18px;padding:22px}.profile-card-title{margin-bottom:16px}.profile-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.profile-bottom{grid-gap:18px;align-items:start;display:grid;gap:18px;grid-template-columns:1fr 1fr;margin-top:18px}.profile-password{padding:22px}.profile-password-fields{display:flex;flex-direction:column;gap:13px}.profile-password-btn{align-self:flex-start}.profile-notif{padding:22px}.profile-notif-row{align-items:center;border-bottom:1px solid var(--border);color:var(--text);display:flex;font-size:13.5px;justify-content:space-between;padding:11px 0}.profile-notif-last{border-bottom:none}.admin-head{align-items:flex-end;display:flex;justify-content:space-between}.admin-table{margin-top:22px;overflow:hidden}.admin-table-head{color:var(--text-3);font-size:11.5px;font-weight:600;letter-spacing:.4px;text-transform:uppercase}.admin-row,.admin-table-head{grid-gap:12px;border-bottom:1px solid var(--border);display:grid;gap:12px;grid-template-columns:2.2fr 1.1fr 1fr 1fr 44px;padding:13px 20px}.admin-row,.admin-user{align-items:center}.admin-user{display:flex;gap:11px;min-width:0}.admin-user-id{min-width:0}.admin-user-name{color:var(--text);font-size:13.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-user-email{color:var(--text-3);font-size:11.5px}.admin-role-cell{position:relative}.admin-role-badge{align-items:center;cursor:pointer;display:inline-flex;gap:4px}.role-menu{animation:fadeUp .14s ease both;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-lg);left:0;padding:6px;position:absolute;top:28px;width:160px;z-index:40}.role-menu-item{border-radius:9px;color:var(--text);cursor:pointer;font-size:13px;padding:8px 10px}.role-menu-item:hover{background:var(--surface-2)}.admin-status{align-items:center;color:var(--text-2);display:flex;font-size:13px;gap:7px}.admin-status-dot{background:#22c55e;border-radius:50%;height:8px;width:8px}.admin-activity{color:var(--text-3);font-size:13px}.admin-more{color:var(--text-3);cursor:pointer;display:flex;justify-content:center}.admin-bottom{grid-gap:18px;align-items:start;display:grid;gap:18px;grid-template-columns:1.4fr 1fr;margin-top:18px}.admin-invites{padding:20px}.admin-invites-sub{color:var(--text-3);font-size:12.5px;margin:6px 0 12px}.invite-card{border:1px solid var(--border);border-radius:12px;gap:12px;margin-bottom:10px;padding:12px}.invite-card,.invite-icon{align-items:center;display:flex}.invite-icon{background:var(--surface-2);border-radius:10px;color:var(--text-3);flex:none;height:34px;justify-content:center;width:34px}.invite-id{flex:1 1;min-width:0}.invite-email{color:var(--text);font-size:13.5px;font-weight:600}.invite-meta{color:var(--text-3);font-size:11.5px}.invite-copy{background:var(--surface);border:1px solid var(--border-strong);border-radius:9px;color:var(--text-2);cursor:pointer;display:flex;padding:7px}.invite-copy:hover{border-color:var(--brand-2);color:var(--brand)}.invite-revoke:hover{border-color:#fca5a5;color:#dc2626}.admin-security{padding:20px}.security-row{align-items:center;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:10px 0}.security-row-last{border-bottom:none}.security-label{color:var(--text);font-size:13.5px}.security-sub{color:var(--text-3);font-size:11.5px}.invite-hint{color:var(--text-3);font-size:12.5px;line-height:1.5}.security-pill{background:var(--surface-2);border-radius:8px;color:var(--text-2);font-size:12.5px;font-weight:600;padding:5px 11px}.admin-invites .card-title,.admin-security .card-title{margin-bottom:6px}.admin-security .card-title{margin-bottom:14px}.assistant{display:flex;flex-direction:column;margin:0 auto;max-width:840px;min-height:calc(100vh - 64px);padding:28px 28px 0}.ai-head{gap:13px}.ai-head,.ai-head-icon{align-items:center;display:flex}.ai-head-icon{background:linear-gradient(150deg,#1e40af,#3b82f6);border-radius:14px;box-shadow:var(--shadow);flex:none;height:46px;justify-content:center;width:46px}.ai-head-title{color:var(--text);font-size:20px;font-weight:700;letter-spacing:-.4px}.ai-head-sub{color:var(--text-2);font-size:13.5px;margin-top:2px}.ai-messages{display:flex;flex:1 1;flex-direction:column;gap:18px;padding:26px 0}.ai-bubble-user{align-self:flex-end;background:var(--brand);border-radius:16px 16px 4px 16px;box-shadow:var(--shadow);color:#fff;font-size:14px;line-height:1.5;max-width:78%;padding:12px 16px}.ai-msg{align-items:flex-start;display:flex;gap:12px}.ai-msg-icon{align-items:center;background:linear-gradient(150deg,#1e40af,#3b82f6);border-radius:10px;display:flex;flex:none;height:32px;justify-content:center;margin-top:2px;width:32px}.ai-msg-body{flex:1 1;min-width:0}.ai-msg-text{color:var(--text);font-size:14px;line-height:1.6;white-space:pre-line}.ai-thinking{color:var(--text-3)}.ai-tasklist{background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);margin-top:12px;overflow:hidden}.ai-task-row{align-items:center;border-bottom:1px solid var(--border);display:flex;gap:11px;padding:12px 16px}.ai-task-row:last-child{border-bottom:none}.ai-task-dot{border-radius:50%;flex:none;height:8px;width:8px}.ai-task-body{flex:1 1;min-width:0}.ai-task-title{color:var(--text);font-size:13.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-task-sub{color:var(--text-3);font-size:12px;margin-top:1px}.ai-team{background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);margin-top:12px;overflow:hidden}.ai-team-row{align-items:center;border-bottom:1px solid var(--border);display:flex;gap:11px;padding:12px 16px}.ai-team-body{flex:1 1;min-width:0}.ai-team-name{color:var(--text);font-size:13.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-team-task{color:var(--text-3);font-size:12px;margin-top:1px}.ai-team-project{align-items:center;background:var(--surface-2);border-radius:7px;color:var(--text-2);display:inline-flex;flex:none;font-size:11.5px;font-weight:500;gap:6px;padding:4px 9px}.ai-team-dot{border-radius:3px;height:8px;width:8px}.ai-team-foot{background:var(--surface-2);color:var(--text-2);display:flex;font-size:12px;gap:18px;padding:11px 16px}.ai-team-foot strong{color:var(--text)}.ai-composer{background:linear-gradient(180deg,#0000,var(--bg) 26%);bottom:0;padding-bottom:24px;padding-top:8px;position:-webkit-sticky;position:sticky}.ai-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.ai-chip{background:var(--surface);border:1px solid var(--border-strong);border-radius:20px;color:var(--text-2);cursor:pointer;font-size:12.5px;font-weight:500;padding:7px 13px}.ai-chip:hover{background:var(--brand-soft);border-color:var(--brand-2);color:var(--brand)}.ai-input-row{align-items:center;background:var(--surface);border:1px solid var(--border-strong);border-radius:14px;box-shadow:var(--shadow);display:flex;gap:10px;padding:8px 8px 8px 16px}.ai-input{background:#0000;border:none;color:var(--text);flex:1 1;font-size:14px;min-width:0;outline:none}.ai-send{align-items:center;background:var(--brand);border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;flex:none;height:38px;justify-content:center;width:38px}.ai-send:hover{filter:brightness(1.08)}.modal-overlay{align-items:flex-start;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a8c;display:flex;inset:0;justify-content:center;overflow:auto;position:fixed}.modal-overlay-task{padding:44px 24px;z-index:60}.modal-overlay-create{padding:64px 24px;z-index:65}.modal-close{align-items:center;background:var(--surface-2);border:none;border-radius:9px;color:var(--text-2);cursor:pointer;display:flex;height:32px;justify-content:center;width:32px}.modal-close:hover{background:var(--border-strong)}.modal-danger{color:#dc2626}.modal-danger:hover{background:#fee2e2}.comment-delete{background:#0000;border:none;border-radius:6px;color:var(--text-3);cursor:pointer;display:inline-flex;margin-left:auto;padding:2px}.comment-delete:hover{background:#fee2e2;color:#dc2626}.create-modal{animation:fadeUp .22s ease both;background:var(--surface);border-radius:18px;box-shadow:var(--shadow-lg);max-width:100%;overflow:hidden;width:480px}.create-head{align-items:center;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:20px 24px}.create-title{color:var(--text);font-size:17px;font-weight:700;letter-spacing:-.2px}.create-body{display:flex;flex-direction:column;gap:16px;padding:22px 24px}.create-body .field-input,.create-body .field-select{border-radius:11px;padding:12px 14px}.create-foot{border-top:1px solid var(--border);display:flex;gap:10px;justify-content:flex-end;padding:16px 24px}.create-foot,.create-hint{background:var(--surface-2)}.create-hint{border-radius:10px;color:var(--text-2);font-size:12.5px;line-height:1.5;padding:10px 12px}.color-swatches{display:flex;flex-wrap:wrap;gap:10px}.color-swatch{align-items:center;border-radius:8px;cursor:pointer;display:flex;height:28px;justify-content:center;outline-offset:2px;width:28px}.member-picker{display:flex;flex-wrap:wrap;gap:8px}.member-pick{align-items:center;border:1px solid var(--border-strong);border-radius:20px;color:var(--text);cursor:pointer;display:inline-flex;font-size:12.5px;font-weight:500;gap:7px;padding:4px 11px 4px 4px}.task-modal{animation:fadeUp .25s ease both;background:var(--surface);border-radius:18px;box-shadow:var(--shadow-lg);display:flex;max-width:100%;overflow:hidden;width:900px}.task-main{flex:1.7 1;min-width:0;padding:26px 28px}.task-top{justify-content:space-between}.task-crumb,.task-top{align-items:center;display:flex}.task-crumb{color:var(--text-3);font-size:12.5px;gap:8px}.task-crumb-square{border-radius:3px;height:9px;width:9px}.task-crumb-status{color:var(--text-2);font-weight:600}.task-name{color:var(--text);font-size:21px;font-weight:700;letter-spacing:-.3px;line-height:1.3;margin-top:14px}.task-top-actions{align-items:center;display:flex;gap:8px}.task-edit-btn{font-size:13px;padding:7px 13px}.task-edit-title{background:var(--surface);border:1px solid var(--border-strong);border-radius:10px;color:var(--text);font-size:18px;font-weight:700;margin-top:14px;outline:none;padding:11px 13px;width:100%}.task-edit-title:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.task-tag-picker{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}.task-tag-option{border-radius:6px;cursor:pointer;font-size:11.5px;font-weight:600;padding:4px 10px}.task-edit-desc{background:var(--surface);border:1px solid var(--border-strong);border-radius:10px;color:var(--text);font-family:inherit;font-size:14px;line-height:1.6;margin-top:8px;min-height:96px;outline:none;padding:11px 13px;resize:vertical;width:100%}.task-edit-desc:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.task-side-field{margin-bottom:18px}.task-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.task-section{color:var(--text-3);font-size:12.5px;font-weight:600;letter-spacing:.4px;margin-top:22px;text-transform:uppercase}.task-desc{color:var(--text-2);font-size:14px;line-height:1.65;margin-top:8px}.task-comments{gap:14px;margin-top:12px}.subtasks,.task-comments{display:flex;flex-direction:column}.subtasks{gap:2px;margin-top:10px}.subtask-add,.subtask-row{align-items:center;border-radius:8px;display:flex;gap:9px;padding:6px 4px}.subtask-row:hover{background:var(--surface-2)}.subtask-check{background:#0000;border:none;color:var(--text-3);cursor:pointer;display:inline-flex;flex:none;padding:0}.subtask-title{color:var(--text);flex:1 1;font-size:13.5px;min-width:0}.subtask-done{color:var(--text-3);text-decoration:line-through}.subtask-delete{background:#0000;border:none;border-radius:6px;color:var(--text-3);cursor:pointer;display:inline-flex;opacity:0;padding:2px}.subtask-row:hover .subtask-delete{opacity:1}.subtask-delete:hover{background:#fee2e2;color:#dc2626}.subtask-input{background:#0000;border:none;color:var(--text);flex:1 1;font-size:13.5px;min-width:0;outline:none}.comment{display:flex;gap:11px}.comment-body{flex:1 1;min-width:0}.comment-head{align-items:baseline;display:flex;gap:8px}.comment-who{color:var(--text);font-size:13px;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.comment-time{color:var(--text-3);flex:none;font-size:11.5px;white-space:nowrap}.comment-text{color:var(--text-2);font-size:13.5px;line-height:1.5;margin-top:3px}.comment-compose{align-items:center;display:flex;gap:11px}.comment-input{background:var(--surface);border:1px solid var(--border-strong);border-radius:10px;color:var(--text);flex:1 1;font-size:13.5px;min-width:0;outline:none;padding:10px 13px}.comment-input:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.comment-send{align-items:center;background:var(--brand);border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;flex:none;height:38px;justify-content:center;width:38px}.comment-send:hover{filter:brightness(1.08)}.task-side{background:var(--surface-2);border-left:1px solid var(--border);flex:none;padding:26px 22px;width:296px}.task-side-label{color:var(--text-3);font-size:12px;font-weight:600;margin-bottom:7px}.task-side-user{align-items:center;display:flex;gap:9px;margin-bottom:18px}.task-side-name{color:var(--text);font-size:13.5px;font-weight:600}.task-side-creator{color:var(--text-2);font-size:13.5px}.task-side-empty{color:var(--text-3);font-size:13.5px}.task-side-due,.task-side-empty,.task-side-pri{margin-bottom:18px}.task-side-due{align-items:center;color:var(--text);display:flex;font-size:13.5px;font-weight:500;gap:8px}.task-side-due svg{color:var(--text-3)}.task-side-project{align-items:center;color:var(--text);display:flex;font-size:13.5px;font-weight:500;gap:8px;margin-bottom:18px}.task-side-square{border-radius:3px;height:10px;width:10px}.task-history{border-top:1px solid var(--border);margin-top:4px;padding-top:16px}.task-history .task-side-label{letter-spacing:.4px;margin-bottom:11px;text-transform:uppercase}.history-row{display:flex;gap:9px;margin-bottom:11px}.history-dot{background:var(--border-strong);border-radius:50%;flex:none;height:7px;margin-top:5px;width:7px}.history-text{color:var(--text-2);font-size:12.5px;line-height:1.45}.history-who{color:var(--text);font-weight:600}.history-time{color:var(--text-3);display:block;font-size:11px;margin-top:1px}.toast{animation:toastIn .22s ease both;background:#0f172a;border-radius:13px;bottom:28px;box-shadow:0 12px 40px #0f172a66;color:#fff;font-size:13.5px;font-weight:500;gap:11px;left:50%;padding:13px 18px;position:fixed;transform:translateX(-50%);z-index:90}.toast,.toast-icon{align-items:center;display:flex}.toast-icon{background:#22c55e;border-radius:50%;flex:none;height:22px;justify-content:center;width:22px}.block-mobilebar{display:none}@media (max-width:980px){.admin-bottom,.dashboard-grid,.profile-bottom,.profile-grid{grid-template-columns:1fr}.members-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:720px){.board,.page{padding:18px 16px 28px}.header-nav{display:none}.header-search{flex:0 1 160px}.block-mobilebar{border-bottom:1px solid var(--border);gap:10px;padding:12px 16px;position:-webkit-sticky;position:sticky;top:64px;z-index:15}.block-back,.block-mobilebar{align-items:center;background:var(--surface);display:flex}.block-back{border:1px solid var(--border);border-radius:9px;color:var(--text-2);cursor:pointer;height:34px;justify-content:center;width:34px}.block-title{color:var(--text);font-size:15px;font-weight:700}.members-grid{grid-template-columns:1fr}.login-banner{display:none}.login-pane{max-width:100%;width:100%}.task-modal{flex-direction:column}.task-side{border-left:none;border-top:1px solid var(--border);width:100%}.admin-table-head{display:none}.admin-row{grid-template-columns:1fr 1fr;row-gap:8px}.dashboard-grid{gap:16px}.project-delete{opacity:1}}
/*# sourceMappingURL=main.42aafe8d.css.map*/