@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=DM+Serif+Display:ital@0;1&display=swap";:root{--cream: #f5f0e8;--cream-dark: #ede6d8;--coral: #e8562a;--coral-light: #fde8e1;--charcoal: #1a1a1a;--charcoal-2: #3d3d3d;--muted: #8a8070;--border: #e4ddd3;--white: #ffffff;--input-bg: #ede8e0;--input-bd: #ddd5c8;--shadow: 0 6px 32px rgba(0, 0, 0, .09), 0 1px 6px rgba(0, 0, 0, .05);--shadow-btn: 0 2px 8px rgba(26, 26, 26, .22);--r: 18px;--r-sm: 10px;--r-pill: 999px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px}body{font-family:Inter,sans-serif;background:var(--cream);color:var(--charcoal);-webkit-font-smoothing:antialiased;min-height:100vh}a{color:var(--coral);text-decoration:none;font-weight:500}a:hover{text-decoration:underline}.auth-page{min-height:100vh;display:flex;align-items:center;padding:2.5rem 4vw;gap:2rem;position:relative;overflow:hidden}.auth-logo-bar{position:fixed;top:1.8rem;left:2.5rem;display:flex;align-items:center;gap:.55rem;z-index:20}.auth-logo-mark{width:34px;height:34px;background:var(--coral);border-radius:9px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.8rem;color:var(--white)}.auth-logo-name{font-size:1rem;font-weight:700;color:var(--charcoal);letter-spacing:-.02em}.auth-left{flex:1;min-width:0;position:relative;padding-top:2rem}.tagline-wrap{position:relative;width:fit-content;overflow:visible;margin-left:3rem;padding:2.5rem 4rem 2rem 3rem;margin-top:-2.5rem;margin-bottom:-2rem}.auth-subtitle{margin-top:1.25rem;font-size:.92rem;color:var(--muted);line-height:1.6;max-width:340px}.auth-pills{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.5rem}.auth-pill{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .85rem;background:#e8562a14;border:1px solid rgba(232,86,42,.2);border-radius:999px;font-size:.8rem;font-weight:500;color:var(--charcoal)}.auth-headline{font-family:"DM Serif Display",serif;font-size:clamp(3.2rem,6.5vw,5.5rem);line-height:1.04;letter-spacing:-.025em;color:var(--charcoal);margin-bottom:1rem}.auth-headline .hl{color:var(--coral);font-style:italic}.auth-underline{width:72%;height:3.5px;border-radius:2px;background:var(--coral);opacity:.4;margin-bottom:1.2rem}.dk{position:absolute;color:var(--coral);-webkit-user-select:none;user-select:none;pointer-events:none;font-style:normal;line-height:1}.dk.s1{top:-.5rem;left:38%;font-size:1.1rem;opacity:.65;transform:rotate(-10deg)}.dk.s2{top:.8rem;right:5%;font-size:1.5rem;opacity:.55;transform:rotate(15deg)}.dk.s3{bottom:3rem;left:-.5rem;font-size:.9rem;opacity:.6;transform:rotate(-20deg)}.dk.s4{bottom:.5rem;left:30%;font-size:1.2rem;opacity:.5;transform:rotate(10deg)}.auth-right{position:relative;flex-shrink:0;width:min(380px,90vw)}.pk-tr{position:absolute;top:-77px;right:-4px;z-index:10;pointer-events:none}.pk-bl{position:absolute;bottom:-69px;left:-4px;z-index:10;pointer-events:none}.auth-card{background:var(--white);border-radius:var(--r);padding:2.2rem 2rem 2rem;box-shadow:var(--shadow);border:1px solid rgba(0,0,0,.05);position:relative;z-index:2}.auth-card-title{font-size:1.55rem;font-weight:700;letter-spacing:-.04em;margin-bottom:1.5rem}.auth-form{display:flex;flex-direction:column;gap:.9rem}.form-group{display:flex;flex-direction:column;gap:.3rem}.form-group label{font-size:.8rem;font-weight:500;color:var(--charcoal-2)}.form-group input{background:var(--input-bg);border:1.5px solid transparent;border-radius:var(--r-sm);color:var(--charcoal);font-family:Inter,sans-serif;font-size:.9rem;padding:.65rem .9rem;transition:border-color .15s,background .15s;outline:none;width:100%}.form-group input::placeholder{color:#bdb3a7}.form-group input:focus{border-color:var(--charcoal);background:var(--white)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.72rem 1.5rem;border-radius:var(--r-pill);font-family:Inter,sans-serif;font-size:.9rem;font-weight:600;cursor:pointer;border:none;transition:transform .1s,box-shadow .15s;width:100%;margin-top:.5rem}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-primary{background:var(--charcoal);color:var(--white);box-shadow:var(--shadow-btn)}.btn-primary:hover:not(:disabled){background:var(--charcoal-2);box-shadow:0 4px 16px #1a1a1a47}.alert{padding:.65rem .85rem;border-radius:var(--r-sm);font-size:.83rem;margin-bottom:.4rem}.alert-error{background:var(--coral-light);border:1px solid #f5c4b5;color:#b83a1a}.auth-footer{text-align:center;margin-top:1rem;font-size:.83rem;color:var(--muted)}.spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .65s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.dashboard-placeholder{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--cream);padding:2rem}.dashboard-card{text-align:center;background:var(--white);border:1px solid var(--border);border-radius:var(--r);padding:3rem 2.5rem;max-width:480px;width:100%;box-shadow:var(--shadow)}.dashboard-card h2{font-size:1.5rem;font-weight:700;letter-spacing:-.02em;margin-bottom:.5rem}@media (max-width: 700px){.auth-page{flex-direction:column;padding:5rem 1.5rem 3rem}.auth-left .auth-headline{font-size:2.8rem}}.profile-page{min-height:100vh;background:var(--cream);padding:3rem 5vw;max-width:940px;margin:0 auto}.profile-header{display:flex;align-items:center;gap:1.25rem;margin-bottom:2.5rem}.profile-avatar{width:68px;height:68px;border-radius:50%;background:var(--coral);display:flex;align-items:center;justify-content:center;font-size:1.6rem;font-weight:700;color:var(--white);overflow:hidden;flex-shrink:0}.profile-avatar img{width:100%;height:100%;object-fit:cover}.profile-name{font-size:1.35rem;font-weight:700;letter-spacing:-.02em}.profile-email{font-size:.88rem;color:var(--muted);margin-top:.15rem}.profile-cards{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.profile-card{background:var(--white);border-radius:var(--r);padding:2rem 1.75rem;box-shadow:var(--shadow);border:1px solid var(--border)}.profile-card-title{font-size:1.05rem;font-weight:700;letter-spacing:-.015em;margin-bottom:.25rem}.profile-card-sub{font-size:.83rem;color:var(--muted);margin-bottom:1.4rem}.profile-card textarea{width:100%;resize:vertical;background:var(--input-bg);border:1.5px solid var(--input-bd);border-radius:var(--r-sm);padding:.65rem .85rem;font-family:inherit;font-size:.9rem;color:var(--charcoal);outline:none;transition:border-color .15s}.profile-card textarea:focus{border-color:var(--coral)}@media (max-width: 700px){.profile-cards{grid-template-columns:1fr}}.shell{display:flex;height:100vh;overflow:hidden;background:var(--cream)}.sidebar{position:fixed;top:0;left:0;height:100vh;z-index:200;background:linear-gradient(180deg,#161616,#1e1b1a);border-right:1px solid rgba(255,255,255,.05);box-shadow:2px 0 24px #0000001a;display:flex;flex-direction:column;overflow:hidden;transition:width .22s cubic-bezier(.4,0,.2,1)}.sidebar-open .sidebar{width:220px}.sidebar-closed .sidebar{width:56px}.sidebar-logo{display:flex;align-items:center;gap:.7rem;padding:1rem .9rem 1.1rem;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0}.sidebar-mark{width:32px;height:32px;min-width:32px;background:var(--coral);border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:800;color:#fff;letter-spacing:.04em}.sidebar-name{font-size:.95rem;font-weight:700;color:#fff;white-space:nowrap}.sidebar-nav{flex:1;display:flex;flex-direction:column;gap:2px;padding:.75rem .5rem;overflow-y:auto}.sidebar-link{display:flex;align-items:center;gap:.75rem;padding:.55rem .65rem;border-radius:8px;color:#ffffffa6;text-decoration:none;font-size:.88rem;font-weight:500;border-left:3px solid transparent;transition:background .15s,color .15s,border-color .15s;white-space:nowrap;overflow:hidden}.sidebar-link:hover{background:#ffffff14;color:#fff;text-decoration:none}.sidebar-link.active{background:linear-gradient(90deg,#e8562a2e,#e8562a05);color:var(--coral);border-left-color:var(--coral)}.sidebar-link-icon{font-size:1rem;flex-shrink:0;width:20px;text-align:center}.sidebar-link-label{overflow:hidden}.sidebar-user{display:flex;align-items:center;gap:.65rem;padding:.8rem .75rem;border-top:1px solid rgba(255,255,255,.08);flex-shrink:0}.sidebar-avatar{width:32px;height:32px;min-width:32px;border-radius:50%;background:var(--coral);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.8rem;text-decoration:none;overflow:hidden;border:2px solid rgba(255,255,255,.15);transition:border-color .15s}.sidebar-avatar:hover{border-color:var(--coral)}.sidebar-avatar img{width:100%;height:100%;object-fit:cover}.sidebar-user-info{display:flex;flex-direction:column;gap:.1rem;overflow:hidden;min-width:0}.sidebar-user-name{font-size:.82rem;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-logout{background:none;border:none;font-size:.72rem;color:#ffffff73;cursor:pointer;text-align:left;font-family:inherit;padding:0}.sidebar-logout:hover{color:var(--coral)}.shell-main{display:flex;flex-direction:column;flex:1;height:100vh;overflow:hidden;transition:margin-left .22s cubic-bezier(.4,0,.2,1)}.sidebar-open .shell-main{margin-left:220px}.sidebar-closed .shell-main{margin-left:56px}.topbar{position:sticky;top:0;z-index:100;height:52px;background:var(--white);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:1rem;padding:0 1.5rem 0 .75rem;box-shadow:0 1px 4px #0000000a;flex-shrink:0}.topbar-hamburger{background:none;border:none;cursor:pointer;font-size:1.1rem;color:var(--muted);width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:background .15s,color .15s;flex-shrink:0}.topbar-hamburger:hover{background:var(--cream);color:var(--charcoal)}.topbar-board-header{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0}.board-topbar{display:flex;align-items:center;gap:.4rem;font-size:.88rem}.board-topbar-title{font-weight:700;color:var(--charcoal);padding-left:.55rem;font-size:.95rem}.shell-content{flex:1;padding:2rem 2.5rem;overflow-y:auto;min-height:0}.shell-content:has(.kanban-board){padding:1rem 1rem 0;overflow:hidden;display:flex;flex-direction:column}.app-main{flex:1;padding:2.5rem 4vw;max-width:1140px;margin:0 auto;width:100%}.dash-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:2rem}.dash-title{font-size:1.8rem;font-weight:800;letter-spacing:-.03em;color:var(--charcoal)}.dash-sub{font-size:.9rem;color:var(--muted);margin-top:.3rem}.dash-loading{display:flex;align-items:center;gap:.75rem;color:var(--muted);padding:3rem 0}.spinner-dark{border-color:#1a1a1a26;border-top-color:var(--charcoal)}.dash-empty{text-align:center;padding:5rem 2rem;display:flex;flex-direction:column;align-items:center;gap:1rem}.dash-empty-icon{font-size:3rem}.dash-empty-title{font-size:1.4rem;font-weight:700}.dash-empty-sub{color:var(--muted);max-width:380px;line-height:1.6}.ws-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem}.ws-card{background:var(--white);border:1px solid var(--border);border-radius:var(--r);padding:1.25rem 1.4rem;display:flex;align-items:center;gap:1rem;cursor:pointer;transition:box-shadow .18s,transform .18s,border-color .18s;text-align:left;width:100%}.ws-card:hover{box-shadow:var(--shadow);transform:translateY(-2px);border-color:var(--coral);text-decoration:none}.ws-card-icon{width:46px;height:46px;border-radius:12px;background:var(--coral);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.3rem;font-weight:800;flex-shrink:0;overflow:hidden}.ws-card-icon img{width:100%;height:100%;object-fit:cover}.ws-card-body{flex:1;min-width:0}.ws-card-header{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.2rem}.ws-card-name{font-size:.95rem;font-weight:700;color:var(--charcoal);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ws-card-role{font-size:.68rem;font-weight:700;padding:.18rem .55rem;border-radius:var(--r-pill);text-transform:uppercase;letter-spacing:.04em;flex-shrink:0}.ws-card-desc{font-size:.82rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:.25rem}.ws-card-meta{font-size:.78rem;color:var(--muted)}.ws-card-arrow{font-size:1rem;color:var(--muted);transition:color .15s,transform .15s;flex-shrink:0}.ws-card:hover .ws-card-arrow{color:var(--coral);transform:translate(3px)}.ws-card-new{border-style:dashed;border-color:var(--border);background:transparent;color:var(--muted);font-size:.9rem;justify-content:center;flex-direction:column;gap:.4rem;min-height:90px;font-weight:500}.ws-card-new:hover{color:var(--coral);border-color:var(--coral)}.ws-card-new-icon{font-size:1.4rem}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:1.5rem}.modal-box{background:#ffffffd9;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-radius:var(--r);padding:2rem 2rem 1.75rem;width:100%;max-width:480px;box-shadow:0 32px 80px #00000029,inset 0 0 0 1.5px #fffc;animation:modal-in .3s cubic-bezier(.16,1,.3,1)}@keyframes modal-in{0%{transform:translateY(18px) scale(.96);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.35rem}.modal-title{font-size:1.15rem;font-weight:800;letter-spacing:-.02em}.modal-close{background:none;border:none;font-size:1rem;color:var(--muted);cursor:pointer;padding:.2rem .4rem;border-radius:6px;line-height:1}.modal-close:hover{color:var(--charcoal);background:var(--cream)}.modal-sub{font-size:.85rem;color:var(--muted);margin-bottom:1.25rem;line-height:1.5}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1rem}.modal-box textarea{width:100%;resize:vertical;background:var(--input-bg);border:1.5px solid var(--input-bd);border-radius:var(--r-sm);padding:.65rem .85rem;font-family:inherit;font-size:.9rem;color:var(--charcoal);outline:none;transition:border-color .15s}.modal-box textarea:focus{border-color:var(--coral)}.btn-ghost{background:transparent;border:1px solid var(--border);color:var(--charcoal-2)}.btn-ghost:hover{background:var(--cream)}.btn-danger{background:#c0392b;color:#fff;border:none}.btn-danger:hover{background:#a93226}.ws-page-loading{display:flex;align-items:center;gap:.75rem;color:var(--muted);padding:4rem 0}.ws-page-header{display:flex;align-items:center;gap:1.2rem;margin-bottom:2rem;flex-wrap:wrap}.ws-page-icon{width:56px;height:56px;border-radius:14px;background:var(--coral);color:#fff;font-size:1.6rem;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}.ws-page-title{font-size:1.6rem;font-weight:800;letter-spacing:-.03em;flex:1}.ws-page-desc{font-size:.88rem;color:var(--muted);margin-top:.2rem}.ws-tabs{display:flex;gap:.1rem;border-bottom:2px solid var(--border);margin-bottom:1.75rem}.ws-tab{background:none;border:none;padding:.6rem 1rem;font-size:.88rem;font-weight:600;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .15s,border-color .15s}.ws-tab:hover{color:var(--charcoal)}.ws-tab.active{color:var(--coral);border-bottom-color:var(--coral)}.ws-tabs-right{margin-left:auto;display:flex;align-items:center;gap:.5rem;padding-left:.75rem;border-left:1.5px solid var(--border)}.ws-tab-secondary{display:flex;align-items:center;gap:.4rem;background:var(--bg);border:1.5px solid var(--border)!important;border-radius:20px!important;padding:.35rem .85rem!important;font-size:.82rem;font-weight:600;color:var(--charcoal);margin-bottom:0!important;border-bottom:1.5px solid var(--border)!important;transition:background .15s,border-color .15s,color .15s}.ws-tab-secondary:hover{background:var(--cream);border-color:var(--coral)!important;color:var(--coral)}.ws-tab-secondary.active{background:var(--coral);border-color:var(--coral)!important;color:#fff}.ws-tab-count{font-size:.7rem;font-weight:700;background:var(--border);color:var(--muted);border-radius:20px;padding:.05rem .45rem;min-width:18px;text-align:center;transition:background .15s,color .15s}.ws-tab-secondary.active .ws-tab-count{background:#ffffff4d;color:#fff}.ws-invite-section{margin-bottom:1.5rem}.ws-invite-form{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}.ws-invite-form input,.ws-invite-form select{background:var(--input-bg);border:1.5px solid var(--input-bd);border-radius:var(--r-sm);padding:.6rem .85rem;font-family:inherit;font-size:.88rem;color:var(--charcoal);outline:none}.ws-invite-form input{flex:1;min-width:200px}.ws-invite-form input:focus,.ws-invite-form select:focus{border-color:var(--coral)}.ws-member-list{list-style:none;display:flex;flex-direction:column;gap:.5rem}.ws-member-row{display:flex;align-items:center;gap:.85rem;padding:.8rem 1rem;background:var(--white);border:1px solid var(--border);border-radius:var(--r-sm);transition:box-shadow .15s}.ws-member-row:hover{box-shadow:0 2px 8px #0000000f}.ws-member-avatar{width:36px;height:36px;border-radius:50%;background:var(--coral);color:#fff;font-weight:700;font-size:.85rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.ws-member-info{flex:1;display:flex;flex-direction:column;gap:.1rem}.ws-member-name{font-size:.9rem;font-weight:600}.ws-member-email{font-size:.78rem;color:var(--muted)}.ws-member-you{font-weight:400;color:var(--muted)}.ws-member-role{font-size:.7rem;font-weight:700;padding:.2rem .6rem;border-radius:var(--r-pill);text-transform:uppercase;letter-spacing:.05em;flex-shrink:0}.ws-role-owner{background:#fde8e1;color:#e8562a}.ws-role-admin{background:#e8f0fe;color:#2a5be8}.ws-role-member{background:#e8f5e9;color:#2a8e3a}.ws-role-viewer{background:#f3f3f3;color:#666}.ws-member-remove{background:none;border:none;color:var(--muted);cursor:pointer;font-size:.8rem;padding:.25rem .4rem;border-radius:6px;transition:color .15s,background .15s;flex-shrink:0}.ws-member-remove:hover{color:#c0392b;background:#fde8e1}.ws-settings-panel{display:flex;flex-direction:column;gap:1.5rem}.ws-settings-section{background:var(--white);border:1px solid var(--border);border-radius:var(--r);padding:1.5rem 1.75rem}.ws-settings-danger{border-color:#f5c6cb;background:#fff5f5}.ws-settings-title{font-size:1rem;font-weight:700;margin-bottom:.75rem}.ws-settings-sub{font-size:.88rem;color:var(--muted);margin-bottom:.4rem;line-height:1.6}.alert{border-radius:var(--r-sm);padding:.75rem 1rem;font-size:.88rem;margin-bottom:1rem}.alert-error{background:#fde8e1;color:#c0392b;border:1px solid #f5c6cb}.boards-breadcrumb{display:flex;align-items:center;gap:.4rem;font-size:.82rem;color:var(--muted);margin-bottom:1.25rem}.breadcrumb-sep{color:var(--muted)}.btn-link{background:none;border:none;color:var(--muted);cursor:pointer;font-size:.82rem;padding:0;font-family:inherit}.btn-link:hover{color:var(--coral);text-decoration:underline}.board-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.25rem}.board-card{background:var(--white);border:1px solid var(--border);border-radius:var(--r);overflow:hidden;cursor:pointer;display:flex;align-items:center;gap:1rem;padding:1.1rem 1.25rem 1.1rem 0;transition:box-shadow .18s,transform .18s,border-color .18s;position:relative}.board-card:hover{box-shadow:var(--shadow);transform:translateY(-2px);border-color:var(--board-accent, var(--coral))}.board-card-accent{width:5px;align-self:stretch;background:var(--board-accent, var(--coral));flex-shrink:0;border-radius:0;margin-right:.1rem}.board-card-body{flex:1;min-width:0}.board-card-name{font-size:.95rem;font-weight:700;color:var(--charcoal);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:.15rem}.board-card-desc{font-size:.8rem;color:var(--muted);margin-bottom:.25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.board-card-meta{font-size:.75rem;color:var(--muted)}.board-card-arrow{font-size:1rem;color:var(--muted);transition:color .15s,transform .15s;flex-shrink:0;padding-right:.25rem}.board-card:hover .board-card-arrow{color:var(--board-accent, var(--coral));transform:translate(3px)}.template-grid{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.template-card{background:var(--cream);border:1.5px solid var(--border);border-radius:var(--r-sm);padding:.65rem .8rem;text-align:left;cursor:pointer;transition:border-color .15s,background .15s;display:flex;flex-direction:column;gap:.2rem}.template-card:hover{border-color:var(--coral)}.template-card.selected{border-color:var(--coral);background:var(--coral-light)}.template-name{font-size:.85rem;font-weight:600;color:var(--charcoal)}.template-desc{font-size:.72rem;color:var(--muted);line-height:1.4}.color-swatches{display:flex;gap:.5rem;flex-wrap:wrap}.color-swatch{width:28px;height:28px;border-radius:50%;border:2.5px solid transparent;cursor:pointer;transition:transform .12s,border-color .12s}.color-swatch:hover{transform:scale(1.15)}.color-swatch.selected{border-color:var(--charcoal);transform:scale(1.1)}.board-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;flex-wrap:wrap;gap:.75rem}.board-header-left{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.board-title{font-size:1.35rem;font-weight:800;letter-spacing:-.02em;padding-left:.6rem}.kanban-board{display:flex;gap:1rem;align-items:flex-start;overflow-x:auto;padding-bottom:1.5rem;min-height:calc(100vh - 160px)}.kanban-board::-webkit-scrollbar{height:6px}.kanban-board::-webkit-scrollbar-track{background:transparent}.kanban-board::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.kanban-column{border:1.5px solid rgba(255,255,255,.8);border-radius:var(--r);width:280px;min-width:280px;display:flex;flex-direction:column;box-shadow:0 8px 32px #0000000a;transition:box-shadow .25s ease,transform .25s ease;position:relative;z-index:0}.kanban-column:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:#ffffff8c;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:-1}.kanban-column.dragging{box-shadow:0 12px 36px #00000026;transform:rotate(1.5deg)}.kanban-col-header{display:flex;align-items:center;padding:.7rem .8rem;cursor:grab;-webkit-user-select:none;user-select:none;gap:.55rem;border-bottom:1px solid var(--border)}.kanban-col-header:active{cursor:grabbing}.col-indicator{width:10px;height:10px;min-width:10px;border-radius:50%;flex-shrink:0}.kanban-col-name{font-size:.82rem;font-weight:700;color:var(--charcoal);flex:1;text-transform:uppercase;letter-spacing:.04em}.col-rename-form input{flex:1;background:var(--input-bg);border:1.5px solid var(--coral);border-radius:6px;padding:.25rem .5rem;font-size:.82rem;font-weight:700;color:var(--charcoal);outline:none;width:100%}.kanban-col-actions{display:flex;align-items:center;gap:.3rem;flex-shrink:0}.kanban-col-count{font-size:.7rem;background:var(--cream-dark);color:var(--muted);padding:.1rem .45rem;border-radius:var(--r-pill);font-weight:600;min-width:22px;text-align:center}.col-add-btn{background:none;border:none;cursor:pointer;color:var(--muted);font-size:.95rem;width:22px;height:22px;display:flex;align-items:center;justify-content:center;border-radius:6px;line-height:1;font-family:inherit}.col-add-btn:hover{background:var(--cream);color:var(--coral)}.task-card-placeholder{background:var(--white);border:1px solid var(--border);border-radius:10px;padding:.75rem .85rem;display:flex;flex-direction:column;gap:.55rem;animation:pulse 1.8s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.55}}.task-card-ph-line{display:block;height:9px;background:var(--cream-dark);border-radius:4px}.task-card-ph-line.long{width:85%}.task-card-ph-line.short{width:55%}.task-card-ph-meta{display:flex;align-items:center;justify-content:space-between;margin-top:.1rem}.task-ph-tag{display:block;width:48px;height:16px;background:var(--cream-dark);border-radius:var(--r-pill)}.task-ph-avatar{display:block;width:20px;height:20px;background:var(--cream-dark);border-radius:50%}.col-add-task-btn{position:relative;display:flex;align-items:center;gap:.4rem;width:100%;padding:.65rem .9rem;background:none;border:none;border-top:1px solid var(--border);color:var(--muted);font-size:.82rem;font-weight:500;cursor:pointer;text-align:left;font-family:inherit;transition:background .13s,color .13s;border-radius:0 0 var(--r) var(--r);flex-shrink:0}.col-add-task-btn:hover{background:var(--cream);color:var(--coral)}.col-menu-wrap{position:relative}.col-menu-btn{background:none;border:none;cursor:pointer;color:var(--muted);font-size:1rem;padding:.1rem .3rem;border-radius:4px;line-height:1}.col-menu-btn:hover{background:var(--cream);color:var(--charcoal)}.col-menu{position:absolute;right:0;top:calc(100% + 4px);background:var(--white);border:1px solid var(--border);border-radius:var(--r-sm);box-shadow:var(--shadow);z-index:200;min-width:120px;overflow:hidden}.col-menu button{display:block;width:100%;background:none;border:none;padding:.55rem 1rem;text-align:left;font-size:.85rem;cursor:pointer;font-family:inherit;color:var(--charcoal)}.col-menu button:hover{background:var(--cream)}.col-menu button.danger{color:#c0392b}.col-menu button.danger:hover{background:#fde8e1}.kanban-col-tasks{position:relative;flex:1;overflow-y:auto;padding:.5rem .65rem .65rem;min-height:80px;transition:background .15s}.kanban-col-tasks.drag-over{background:#e8562a14;border-radius:8px;box-shadow:inset 0 0 0 2px #e8562a4d}.kanban-empty-tasks{font-size:.78rem;color:var(--muted);text-align:center;padding:1.5rem .5rem;line-height:1.5}.kanban-add-col{min-width:240px;flex-shrink:0}.kanban-add-col-btn{background:#fff9;border:1.5px dashed var(--border);border-radius:var(--r);width:100%;min-height:60px;font-size:.88rem;color:var(--muted);cursor:pointer;font-weight:500;transition:background .15s,color .15s,border-color .15s;font-family:inherit}.kanban-add-col-btn:hover{color:var(--coral);border-color:var(--coral);background:var(--coral-light)}.add-col-form{background:var(--white);border:1px solid var(--border);border-radius:var(--r);padding:.85rem;display:flex;flex-direction:column;gap:.5rem}.add-col-form input{background:var(--input-bg);border:1.5px solid var(--input-bd);border-radius:var(--r-sm);padding:.55rem .75rem;font-family:inherit;font-size:.88rem;color:var(--charcoal);outline:none}.add-col-form input:focus{border-color:var(--coral)}.add-col-btns{display:flex;gap:.4rem}.btn-sm{font-size:.8rem;padding:.4rem .85rem;border-radius:var(--r-sm)}.task-card{background:var(--white);border:1px solid rgba(0,0,0,.06);border-radius:12px;overflow:hidden;cursor:grab;box-shadow:0 2px 8px #0000000a;transition:box-shadow .2s ease,border-color .2s ease;position:relative}.task-card:hover{box-shadow:0 8px 24px #0000001c,0 2px 8px #00000012;border-color:#00000024}.task-card--dragging{box-shadow:0 20px 40px #00000029;border-color:#0000002e;cursor:grabbing;opacity:.95}.task-card-priority-bar{height:4px;width:100%}.priority-low{background:#26c6da}.priority-medium{background:#ffa726}.priority-high{background:#ef5350}.priority-urgent{background:#ab47bc}.task-card-body{padding:.65rem .85rem .6rem;display:flex;flex-direction:column;gap:.4rem}.task-card-title{font-size:.85rem;font-weight:600;color:var(--charcoal);line-height:1.4;margin:0}.task-card-footer{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-top:.1rem}.task-prio-badge{font-size:.68rem;font-weight:700;padding:.15rem .5rem;border-radius:var(--r-pill);letter-spacing:.01em;align-self:flex-start}.task-prio-badge.priority-low{background:#e0f7fa;color:#00838f}.task-prio-badge.priority-medium{background:#fff8e1;color:#e65100}.task-prio-badge.priority-high{background:#ffebee;color:#c62828}.task-prio-badge.priority-urgent{background:#f3e5f5;color:#6a1b9a}.task-due-chip{display:inline-flex;align-items:center;gap:.3rem;font-size:.72rem;font-weight:500;color:var(--muted);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-pill);padding:.15rem .55rem;align-self:flex-start}.task-due-chip.overdue{background:#ffebee;border-color:#ef9a9a;color:#c62828;font-weight:700}.task-due-chip.due-soon{background:#fff8e1;border-color:#ffe082;color:#e65100;font-weight:600}.task-due-tag{font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.03em;opacity:.9}.task-due-tag.soon{color:#e65100}.task-assignees{display:flex;margin-left:auto}.task-assignee-avatar{width:22px;height:22px;border-radius:50%;background:var(--coral);color:#fff;font-size:.68rem;font-weight:700;display:flex;align-items:center;justify-content:center;border:2px solid var(--white);margin-left:-6px;flex-shrink:0}.task-assignee-avatar:first-child{margin-left:0}.task-assignee-more{background:var(--charcoal-2);font-size:.6rem}.task-labels{display:flex;flex-wrap:wrap;gap:.3rem}.task-label-chip{font-size:.67rem;font-weight:600;padding:.1rem .45rem;border-radius:var(--r-pill);border:1px solid transparent;white-space:nowrap}.task-add-form{background:var(--white);border:1.5px solid var(--coral);border-radius:10px;padding:.7rem .85rem;display:flex;flex-direction:column;gap:.5rem}.task-add-actions{display:flex;gap:.4rem}.kanban-col-tasks.drag-over{background:#e8562a0d;border-radius:6px}.task-modal{background:#fffffff7;border-radius:var(--r);width:min(640px,95vw);max-height:min(90vh,860px);display:flex;flex-direction:column;overflow:hidden;box-shadow:0 32px 80px #0000002e,inset 0 0 0 1.5px #ffffffe6;animation:modal-in .3s cubic-bezier(.16,1,.3,1)}.task-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.2rem 1.4rem 1rem;border-bottom:1px solid var(--border);flex-shrink:0}.task-modal-title{font-size:1.05rem;font-weight:700;color:var(--charcoal);margin:0}.task-modal-body{flex:1;overflow-y:auto;padding:1.2rem 1.4rem}.task-modal-row{display:flex;gap:1rem;margin-top:1rem}.task-modal-field{flex:1;min-width:0;display:flex;flex-direction:column;gap:.3rem}.task-modal-assignees{display:flex;flex-direction:column;gap:.5rem;margin-top:.25rem}.task-assignee-row{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--charcoal)}.task-modal-footer{display:flex;align-items:center;justify-content:space-between;padding:.9rem 1.4rem;border-top:1px solid var(--border);flex-shrink:0}.btn-danger{background:#ffebee;color:#b71c1c;border:1px solid #ffcdd2}.btn-danger:hover{background:#ffcdd2}.btn-danger-solid{background:#d32f2f;color:#fff;border:none}.btn-danger-solid:hover:not(:disabled){background:#b71c1c;box-shadow:0 4px 16px #d32f2f59}.confirm-dialog{max-width:380px;text-align:center;padding:2rem 2rem 1.75rem}.confirm-icon{font-size:2.5rem;margin-bottom:.75rem;line-height:1}.confirm-title{font-size:1.1rem;font-weight:800;letter-spacing:-.02em;margin-bottom:.4rem}.confirm-message{font-size:.88rem;color:var(--muted);line-height:1.55;margin-bottom:1.5rem}.confirm-actions{display:flex;gap:.75rem;justify-content:center}.confirm-actions .btn{width:auto;min-width:100px;margin-top:0}.task-modal-layout{display:flex;gap:0;overflow:hidden;flex:1;min-height:0}.task-modal-details{flex:3;display:flex;flex-direction:column;overflow-y:auto;padding:0 1.4rem 1.5rem;gap:.75rem;min-height:0}.task-modal-sidebar{flex:2;display:flex;flex-direction:column;overflow-y:auto;background:var(--cream);border-left:1px solid var(--border);padding:1.2rem;gap:1rem;min-height:0}.task-modal.task-modal-large{width:min(860px,calc(100vw - 80px));max-width:none}.comment-list{display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem;overflow-y:auto;max-height:350px;padding-right:.5rem}.comment-list::-webkit-scrollbar{width:4px}.comment-list::-webkit-scrollbar-thumb{background-color:var(--border-hover);border-radius:4px}.comment-item{display:flex;gap:.75rem}.comment-avatar{width:28px;height:28px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;flex-shrink:0}.comment-body{flex:1;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:.75rem;position:relative}.comment-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.comment-author{font-weight:600;font-size:.85rem;color:var(--text)}.comment-time{font-size:.75rem;color:var(--text-secondary)}.comment-delete-btn{background:none;border:none;color:var(--text-secondary);font-size:.8rem;cursor:pointer;padding:0;margin-left:auto;opacity:0;transition:opacity .2s}.comment-item:hover .comment-delete-btn{opacity:1}.comment-delete-btn:hover{color:var(--danger)}.comment-content{font-size:.85rem;color:var(--text);line-height:1.4;white-space:pre-wrap}.comment-input-area{margin-top:auto;display:flex;flex-direction:column}.mt-2{margin-top:.5rem}.w-full{width:100%}.task-attachments-section{display:flex;flex-direction:column;gap:.75rem}.attachment-list{display:flex;flex-direction:column;gap:.5rem}.attachment-item{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;background:var(--white);border:1px solid var(--border);border-radius:var(--r-sm);transition:border-color .15s}.attachment-item:hover{border-color:var(--coral)}.attachment-icon{font-size:1.5rem;flex-shrink:0;display:flex;align-items:center;justify-content:center}.attachment-info{display:flex;flex-direction:column;flex:1;min-width:0}.attachment-name{font-size:.85rem;font-weight:600;color:var(--charcoal);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-decoration:none}.attachment-name:hover{color:var(--coral);text-decoration:underline}.attachment-meta{font-size:.75rem;color:var(--muted);margin-top:.1rem}.attachment-delete-btn{background:none;border:none;color:var(--muted);font-size:.8rem;cursor:pointer;padding:.25rem;border-radius:4px;flex-shrink:0;opacity:0;transition:opacity .15s,background .15s}.attachment-item:hover .attachment-delete-btn{opacity:1}.attachment-delete-btn:hover{color:#b71c1c;background:#ffebee}.cal-page{padding:2rem 2.5rem;max-width:1200px;margin:0 auto;width:100%}.cal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;gap:1rem;flex-wrap:wrap}.cal-header-left{display:flex;align-items:center;gap:1rem}.cal-icon{width:46px;height:46px;border-radius:12px;background:var(--coral);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:700;flex-shrink:0}.cal-title{font-size:1.5rem;font-weight:800;color:var(--charcoal);margin:0;line-height:1.2}.cal-sub{font-size:.85rem;color:var(--muted);margin:.2rem 0 0}.cal-box{background:var(--white);border-radius:var(--r);border:1px solid var(--border);box-shadow:0 2px 12px #0000000a;padding:1.5rem;position:relative;min-height:500px}.cal-loading{position:absolute;top:1rem;right:1rem;display:flex;align-items:center;gap:.5rem;font-size:.82rem;color:var(--muted)}.cal-event{font-size:.8rem;font-weight:600;border-radius:6px;padding:.1rem .4rem;border:none!important;cursor:pointer}.fc .fc-button{background:var(--white)!important;border:1px solid var(--border)!important;color:var(--charcoal)!important;font-family:inherit!important;font-size:.82rem!important;border-radius:6px!important;padding:.35rem .7rem!important;box-shadow:none!important}.fc .fc-button:hover{background:var(--cream)!important}.fc .fc-button-active,.fc .fc-button:focus{background:var(--coral)!important;color:#fff!important;border-color:var(--coral)!important;outline:none!important}.fc .fc-toolbar-title{font-size:1.1rem!important;font-weight:700!important;color:var(--charcoal)!important;font-family:inherit!important}.fc-theme-standard td,.fc-theme-standard th{border-color:var(--border)!important}.fc .fc-day-today{background:#e8562a0d!important}.fc .fc-daygrid-day-number{color:var(--charcoal);font-size:.82rem;font-family:inherit}.fc .fc-col-header-cell-cushion{color:var(--muted);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.act-feed{max-width:720px;padding:1rem 0}.act-feed-title{font-size:1rem;font-weight:700;color:var(--charcoal);margin:0 0 1.25rem}.act-timeline{position:relative;padding-left:2rem}.act-timeline:before{content:"";position:absolute;left:12px;top:0;bottom:0;width:2px;background:var(--border);border-radius:2px}.act-item{display:flex;gap:1rem;margin-bottom:1.25rem;position:relative}.act-dot{position:absolute;left:-2rem;width:26px;height:26px;background:var(--white);border:2px solid var(--border);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;flex-shrink:0}.act-body{background:var(--white);border:1px solid var(--border);border-radius:var(--r-sm);padding:.65rem .9rem;flex:1;min-width:0;box-shadow:0 1px 4px #0000000a;transition:box-shadow .15s}.act-body:hover{box-shadow:0 4px 12px #00000014}.act-headline{font-size:.85rem;color:var(--muted);line-height:1.4}.act-user{font-weight:700;color:var(--charcoal)}.act-verb{color:var(--muted)}.act-detail{margin-top:.35rem;font-size:.8rem;color:var(--charcoal);background:var(--cream);border-radius:6px;padding:.3rem .6rem;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.act-time{display:block;font-size:.72rem;color:var(--muted);margin-top:.35rem}.act-loading{display:flex;align-items:center;gap:.5rem;padding:2rem;color:var(--muted);font-size:.9rem}.act-empty{text-align:center;padding:3rem 1rem;color:var(--muted)}.act-empty-icon{font-size:2.5rem;margin-bottom:.75rem}.act-empty-text{font-size:.9rem}.dash-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:2rem}.dash-stat-card{background:var(--white);border:1px solid var(--border);border-radius:var(--r);padding:1.2rem 1.4rem;display:flex;flex-direction:column;gap:.4rem;box-shadow:0 2px 8px #0000000a;transition:box-shadow .2s ease,transform .2s ease}.dash-stat-card:hover{box-shadow:0 6px 20px #00000014;transform:translateY(-2px)}.dash-stat-icon{font-size:1.4rem;margin-bottom:.2rem}.dash-stat-value{font-size:2rem;font-weight:800;color:var(--charcoal);line-height:1}.dash-stat-label{font-size:.78rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.dash-stat-card.accent-coral{border-top:3px solid var(--coral)}.dash-stat-card.accent-blue{border-top:3px solid #3b82f6}.dash-stat-card.accent-green{border-top:3px solid #22c55e}
