:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--bg-app: #050505;--bg-panel: #0a0a0a;--bg-input: rgba(0, 0, 0, .3);--glass-border: rgba(255, 255, 255, .08);--glass-bg: rgba(255, 255, 255, .03);--glass-highlight: rgba(255, 255, 255, .05);--glass-border-hover: rgba(255, 255, 255, .15);--text-main: #ffffff;--text-muted: #a1a1aa;--primary: #1e8f62;--primary-glow: rgba(30, 143, 98, .5);--secondary: #166389;--board-accent: #4f7ea8;--board-accent-soft: rgba(79, 126, 168, .16);--board-todo: #8d99ae;--board-doing: #3f7fc4;--board-done: #2f8f7f;--board-backlog: #5f6b7a;--column-todo: #f43f5e;--column-doing: #3b82f6;--column-done: #10b981;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .5), 0 4px 6px -4px rgb(0 0 0 / .5);--body-gradient: radial-gradient(circle at top left, #1a1a2e, #050505 40%);--scrollbar-thumb: #333;--scrollbar-thumb-hover: #555;--card-shadow: none;--disabled-bg: rgba(148, 163, 184, .16);--disabled-border: rgba(148, 163, 184, .36);--disabled-text: #94a3b8;--disabled-opacity: .86}:root[data-theme=light]{--bg-app: #f8fafc;--bg-panel: #ffffff;--bg-input: rgba(255, 255, 255, .8);--glass-border: rgba(0, 0, 0, .08);--glass-bg: rgba(255, 255, 255, .7);--glass-highlight: rgba(255, 255, 255, .9);--glass-border-hover: rgba(0, 0, 0, .15);--text-main: #0f172a;--text-muted: #64748b;--primary: #1b895f;--primary-glow: rgba(27, 137, 95, .2);--secondary: #176389;--board-accent: #3f6d96;--board-accent-soft: rgba(63, 109, 150, .16);--board-todo: #8694aa;--board-doing: #2f76bc;--board-done: #2b8a79;--board-backlog: #556274;--body-gradient: radial-gradient(circle at top left, #eef2ff, #f8fafc 40%);--scrollbar-thumb: #cbd5e1;--scrollbar-thumb-hover: #94a3b8;--card-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--disabled-bg: rgba(148, 163, 184, .22);--disabled-border: rgba(100, 116, 139, .4);--disabled-text: #475569;--disabled-opacity: .9}*{box-sizing:border-box;margin:0;padding:0}html{width:100%;height:100%;overflow:hidden}body{margin:0;display:block;width:100%;min-width:320px;min-height:100dvh;height:100dvh;background:var(--body-gradient);background-color:var(--bg-app);color:var(--text-main);overflow:hidden;transition:background .3s,color .3s}#root{width:100%;height:100dvh;min-height:0;display:flex;flex-direction:column;overflow:hidden}.glass{background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border);box-shadow:var(--shadow-sm);transition:background .3s,border-color .3s}.glass:hover{border-color:var(--glass-border-hover);background:var(--glass-highlight)}.btn{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:var(--glass-bg);cursor:pointer;transition:all .25s;color:var(--text-main);border:1px solid var(--glass-border)}.btn:hover{background-color:var(--primary);border-color:var(--primary);box-shadow:0 0 15px var(--primary-glow);color:#fff}button:disabled,.btn:disabled,:is(button,.btn,.icon-btn,[role=button])[aria-disabled=true]{background:var(--disabled-bg);border-color:var(--disabled-border);color:var(--disabled-text);box-shadow:none;cursor:not-allowed;opacity:var(--disabled-opacity);pointer-events:none}button:disabled:hover,.btn:disabled:hover,:is(button,.btn,.icon-btn,[role=button])[aria-disabled=true]:hover{background:var(--disabled-bg);border-color:var(--disabled-border);color:var(--disabled-text);box-shadow:none}button:disabled:focus,.btn:disabled:focus,:is(button,.btn,.icon-btn,[role=button])[aria-disabled=true]:focus{outline:none}.btn-icon{padding:.5em;display:flex;align-items:center;justify-content:center}input,textarea{background:var(--bg-input);border:1px solid var(--glass-border);border-radius:6px;padding:.5rem 1rem;color:var(--text-main);font-family:inherit;outline:none;transition:border-color .2s,background .3s,color .3s}textarea{min-height:112px;line-height:1.5;resize:vertical;overflow-y:auto}input:focus,textarea:focus{border-color:var(--primary)}input:disabled,textarea:disabled,select:disabled,input[aria-disabled=true],textarea[aria-disabled=true],select[aria-disabled=true],.glass-select:disabled{background:var(--disabled-bg);border-color:var(--disabled-border);color:var(--disabled-text);cursor:not-allowed;opacity:var(--disabled-opacity);-webkit-text-fill-color:var(--disabled-text)}input:disabled::placeholder,textarea:disabled::placeholder,input[aria-disabled=true]::placeholder,textarea[aria-disabled=true]::placeholder{color:color-mix(in srgb,var(--disabled-text) 78%,transparent);opacity:1}input:disabled:focus,textarea:disabled:focus,select:disabled:focus,input[aria-disabled=true]:focus,textarea[aria-disabled=true]:focus,select[aria-disabled=true]:focus,.glass-select:disabled:focus{border-color:var(--disabled-border);outline:none}@media(max-width:640px){textarea{min-height:96px}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.main-layout{display:flex;flex:1 1 auto;min-height:0;gap:1.5rem;align-items:stretch;width:100%;overflow:hidden;border-radius:16px;transition:gap .22s ease}.sidebar{--sidebar-project-visible-count: 8;--sidebar-project-row-height: 52px;--sidebar-project-row-gap: .5rem;width:250px;min-width:250px;height:100%;min-height:0;max-height:100%;border-radius:16px;padding:clamp(1rem,1.8vw,1.5rem);display:flex;flex-direction:column;gap:clamp(.9rem,1.6vw,1.5rem);position:relative;top:auto;overflow:hidden;transition:width .24s ease,min-width .24s ease,padding .24s ease,opacity .22s ease,transform .24s ease,border-width .22s ease}.main-content{flex:1 1 auto;display:flex;flex-direction:column;min-height:0;width:100%;min-width:0;overflow:hidden;transition:width .24s ease}.main-layout--sidebar-collapsed{gap:0}.main-layout--sidebar-collapsed .sidebar{width:0;min-width:0;min-height:0;padding:0;border-width:0;opacity:0;transform:translate(-10px);pointer-events:none}.main-layout--sidebar-collapsed .main-content{width:100%}.sidebar-mobile-backdrop{display:none}.sidebar-header{display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.sidebar-header h2{font-size:1.1rem;font-weight:600;color:var(--text-muted)}.projects-list{display:flex;flex-direction:column;gap:.5rem;flex:1 1 auto;min-height:0;max-height:none;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain}.sidebar-footer{flex-shrink:0;margin-top:auto}.project-item{display:flex;align-items:center;gap:.8rem;padding:.8rem 1rem;border-radius:8px;cursor:pointer;transition:all .2s;color:var(--text-muted);position:relative;min-width:0;min-height:var(--sidebar-project-row-height)}.project-item:hover{background:var(--glass-highlight);color:var(--text-main)}.project-name-wrap{display:flex;align-items:center;gap:.35rem;min-width:0;flex:1}.project-item.active{background:#1e8f621a;color:var(--text-main);border:1px solid rgba(30,143,98,.2)}.project-item.project-completed{border:1px solid rgba(38,166,124,.34);background:linear-gradient(90deg,#26a67c1f,#26a67c0a)}.project-item.project-completed.active{border-color:#26a67c85;box-shadow:0 0 0 1px #26a67c40,0 8px 18px -12px #26a67ca6}.project-item.project-paused{border-color:#b48a3a57}.project-item.project-paused-blocked{opacity:.82;cursor:not-allowed}.project-item.project-paused-blocked .project-logo-mini img{filter:grayscale(.4) brightness(.6);opacity:.8}.project-completed-dot{width:18px;height:18px;min-width:18px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:.66rem;font-weight:800;color:#1f8d6f;background:#1f8d6f29;border:1px solid rgba(31,141,111,.36)}.active-indicator{position:absolute;left:0;width:3px;height:60%;top:20%;background:var(--primary);border-radius:0 4px 4px 0}.project-name{font-size:.95rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.btn-icon-small{background:transparent;border:1px solid var(--glass-border);border-radius:6px;padding:4px;cursor:pointer;color:var(--text-muted);display:flex;align-items:center;justify-content:center;transition:all .2s}.btn-icon-small:hover{background:var(--glass-highlight);color:var(--text-main)}.sidebar-form input{width:100%;padding:.5rem;font-size:.9rem}.project-header{--project-avatar-size: 52px;margin-bottom:clamp(.72rem,1.4vh,1.15rem);padding-bottom:clamp(.55rem,1.2vh,.7rem);border-bottom:1px solid var(--glass-border);position:static;top:auto;z-index:auto}.project-header-main{padding-left:.45rem}.project-image-container{align-self:center}.project-image-container img{display:block;object-position:center center}.project-header h2{margin:0;font-size:clamp(1.35rem,2vw,1.62rem);color:var(--text-main)}.project-header.project-header-completed{border-bottom-color:#26a67c59}.project-title-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.project-title-display{display:inline-flex;align-items:center;gap:.35rem;min-width:0}.project-title-clickable{cursor:pointer}.project-title-clickable:hover{color:var(--text-main);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--accent-color) 45%,transparent)}.project-title-clickable:focus-visible{outline:2px solid color-mix(in srgb,var(--accent-color) 58%,transparent);outline-offset:3px;border-radius:6px}.project-title-edit-icon{width:32px;height:32px;flex:0 0 auto;border:1px solid var(--glass-border);border-radius:10px;background:color-mix(in srgb,var(--glass-bg) 88%,transparent);color:var(--text-muted);transition:border-color .2s ease,background .2s ease,color .2s ease,transform .15s ease}.project-title-edit-icon:hover{border-color:var(--glass-border-hover);background:color-mix(in srgb,var(--glass-highlight) 92%,transparent);color:var(--text-main)}.project-title-edit-icon:active{transform:translateY(1px)}.project-title-edit-icon:focus-visible{outline:2px solid color-mix(in srgb,var(--primary) 60%,#fff 40%);outline-offset:2px}.project-title-edit-form{display:flex;flex-direction:column;gap:.35rem;min-width:min(540px,100%)}.project-title-edit-inline{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}.project-title-edit-input{min-width:min(280px,100%);max-width:560px;font-size:1.05rem;font-weight:600;padding:.45rem .62rem}.project-title-edit-actions{display:inline-flex;gap:.45rem}.project-title-edit-btn{min-width:98px;justify-content:center}.project-title-edit-error{margin:0;font-size:.8rem;color:#ef4444}.project-completed-pill{display:inline-flex;align-items:center;gap:.3rem;padding:.22rem .58rem;border-radius:999px;font-size:.69rem;font-weight:700;color:#1f8d6f;background:#1f8d6f24;border:1px solid rgba(31,141,111,.38)}.project-paused-pill{display:inline-flex;align-items:center;gap:.24rem;padding:.22rem .56rem;border-radius:999px;font-size:.69rem;font-weight:700;color:#b48a3a;background:#b48a3a26;border:1px solid rgba(180,138,58,.36)}.project-completed-context{border-radius:14px;box-shadow:0 0 0 1px #26a67c33,0 0 28px -20px #26a67cbf}@media(max-width:768px){.main-layout{flex-direction:column}.sidebar{width:100%;min-height:auto;max-height:none;position:static}}.app-container{max-width:1600px;margin:0 auto;padding:1.5rem;width:100%;min-height:100dvh;max-height:100dvh;display:flex;flex-direction:column;overflow:hidden}.app-header{display:flex;justify-content:space-between;align-items:center;padding:clamp(.78rem,1.3vw,1.05rem) clamp(.9rem,1.8vw,1.45rem);border-radius:14px;margin-bottom:clamp(.72rem,1.8vh,1.25rem);position:relative;z-index:60}.logo-section{display:flex;align-items:center;gap:.75rem}.logo-icon{display:inline-flex;align-items:center;justify-content:center}.brand-logo-header{width:clamp(112px,16vw,170px);height:auto;display:block;border-radius:8px}h1{font-size:1.35rem;font-weight:700;letter-spacing:-.02em;line-height:1.1;color:var(--text-main)}.subtitle{font-size:.8rem;line-height:1.25;color:var(--text-muted)}.actions{display:flex;align-items:center;gap:.5rem}.actions .btn-icon{padding:.42em}.actions .btn-icon svg{width:18px;height:18px}.header-action-btn{position:relative;border:1px solid var(--glass-border);border-radius:999px;background:color-mix(in srgb,var(--glass-bg) 90%,transparent);color:var(--text-main);transition:border-color .2s ease,background .2s ease,transform .15s ease}.header-action-btn:hover,.header-action-btn:focus-visible{border-color:var(--glass-border-hover);background:color-mix(in srgb,var(--glass-highlight) 92%,transparent)}.header-action-btn:active{transform:translateY(1px)}.header-action-btn:after{content:attr(data-tooltip);position:absolute;left:50%;top:calc(100% + 8px);transform:translate(-50%) translateY(-4px);opacity:0;pointer-events:none;white-space:nowrap;background:color-mix(in srgb,var(--bg-panel) 92%,#000 8%);border:1px solid var(--glass-border-hover);color:var(--text-main);font-size:.72rem;font-weight:600;line-height:1;padding:.4rem .55rem;border-radius:7px;box-shadow:0 8px 18px -12px #000000a6;transition:opacity .16s ease,transform .16s ease;z-index:14000}.header-action-btn:before{content:"";position:absolute;left:50%;top:calc(100% + 4px);transform:translate(-50%) translateY(-4px);opacity:0;pointer-events:none;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:5px solid color-mix(in srgb,var(--bg-panel) 92%,#000 8%);transition:opacity .16s ease,transform .16s ease;z-index:14001}.header-action-btn:hover:after,.header-action-btn:hover:before,.header-action-btn:focus-visible:after,.header-action-btn:focus-visible:before{opacity:1;transform:translate(-50%) translateY(0)}@media(hover:none),(pointer:coarse){.header-action-btn:after,.header-action-btn:before{display:none}}.sidebar-toggle-btn.active{color:var(--primary);border-color:color-mix(in srgb,var(--primary) 45%,var(--glass-border));background:color-mix(in srgb,var(--primary) 12%,transparent)}.sidebar-toggle-btn--left{flex:0 0 auto}.sidebar-toggle-btn--left:after{left:0;transform:translateY(-4px)}.sidebar-toggle-btn--left:before{left:18px;transform:translateY(-4px)}.sidebar-toggle-btn--left:hover:after,.sidebar-toggle-btn--left:focus-visible:after{transform:translateY(0)}.sidebar-toggle-btn--left:hover:before,.sidebar-toggle-btn--left:focus-visible:before{transform:translateY(0)}.user-avatar-menu{position:relative}.user-avatar-btn{border:0;background:transparent;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;border-radius:999px}.user-avatar-btn:focus-visible{outline:2px solid color-mix(in srgb,var(--primary) 65%,#fff 35%);outline-offset:2px}.header-user-avatar{width:36px;height:36px;border-radius:999px;border:2px solid var(--glass-border);overflow:hidden;display:block;transition:border-color .2s ease}.user-avatar-menu.open .header-user-avatar,.user-avatar-btn:hover .header-user-avatar{border-color:var(--glass-border-hover)}.header-user-avatar img{width:100%;height:100%;display:block;object-fit:cover}.user-avatar{display:inline-flex;align-items:center;justify-content:center;overflow:hidden;border-radius:999px;border:1px solid var(--glass-border);background:color-mix(in srgb,var(--bg-input) 84%,var(--primary) 8%);flex-shrink:0}.user-avatar img{width:100%;height:100%;display:block;object-fit:cover;border-radius:inherit}.profile-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:220px;background:color-mix(in srgb,var(--bg-panel) 96%,#000 4%);border:1px solid var(--glass-border-hover);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:14px;padding:.4rem;display:flex;flex-direction:column;gap:.2rem;opacity:0;transform:translateY(-6px) scale(.98);pointer-events:none;transition:opacity .15s ease,transform .15s ease;box-shadow:0 16px 30px -24px #000000bf;z-index:150}.profile-menu:before{content:"";position:absolute;left:0;right:0;top:-10px;height:10px}.profile-menu:hover{background:color-mix(in srgb,var(--bg-panel) 96%,#000 4%);border-color:var(--glass-border-hover)}.user-avatar-menu.open .profile-menu{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.profile-menu-item{width:100%;border:0;border-radius:10px;background:transparent;color:var(--text-main);display:flex;align-items:center;gap:.48rem;padding:.54rem .62rem;cursor:pointer;font-size:.86rem;text-align:left}.profile-menu-item:disabled{cursor:not-allowed;opacity:.68}.profile-menu-item:hover,.profile-menu-item:focus-visible{background:var(--glass-highlight)}.profile-menu-item:focus-visible{outline:none}.avatar-picker-overlay{z-index:19000;background:#080c12c7;-webkit-backdrop-filter:blur(12px) saturate(.72);backdrop-filter:blur(12px) saturate(.72)}.avatar-picker-modal{width:min(94vw,520px);height:min(86vh,760px);max-height:min(86vh,86dvh);display:flex;flex-direction:column;gap:1rem;overflow:hidden;position:relative;z-index:19001;background:color-mix(in srgb,var(--bg-panel) 96%,#fff 4%);box-shadow:0 28px 58px -26px #000000db}.avatar-picker-header h3{margin:0}.avatar-picker-header span{display:block;margin-top:.18rem;color:var(--text-muted);font-size:.84rem}.avatar-picker-current{display:flex;align-items:center;gap:.8rem;padding:.75rem;border:1px solid var(--glass-border);border-radius:10px;background:color-mix(in srgb,var(--bg-input) 72%,transparent);flex-shrink:0}.avatar-picker-current-image{width:54px;height:54px;display:inline-flex;overflow:hidden;border-radius:999px;border:1px solid var(--glass-border-hover);background:var(--bg-panel);flex-shrink:0}.avatar-picker-current-image img{width:100%;height:100%;object-fit:cover}.avatar-picker-current-copy{min-width:0;display:flex;flex-direction:column;gap:.16rem}.avatar-picker-current-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.avatar-picker-current-copy span{color:var(--text-muted);font-size:.84rem}.avatar-picker-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;padding:.28rem;border-radius:10px;background:color-mix(in srgb,var(--bg-input) 72%,transparent);border:1px solid var(--glass-border);flex-shrink:0}.avatar-picker-tabs button{min-height:36px;border:0;border-radius:8px;background:transparent;color:var(--text-muted);display:inline-flex;align-items:center;justify-content:center;gap:.4rem;cursor:pointer;font-weight:650}.avatar-picker-tabs button.active{background:var(--glass-highlight);color:var(--text-main)}.avatar-preset-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;overflow-y:auto;overflow-x:hidden;min-height:0;padding-right:.28rem;overscroll-behavior:contain;scrollbar-gutter:stable}.avatar-preset-grid::-webkit-scrollbar{width:8px}.avatar-preset-grid::-webkit-scrollbar-track{background:color-mix(in srgb,var(--bg-input) 72%,transparent);border-radius:999px}.avatar-preset-grid::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--primary) 38%,var(--glass-border-hover));border-radius:999px}.avatar-preset-option{min-height:104px;border:1px solid var(--glass-border);border-radius:10px;background:color-mix(in srgb,var(--bg-input) 80%,transparent);color:var(--text-main);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.45rem;cursor:pointer;transition:border-color .2s ease,background .2s ease,transform .2s ease}.avatar-preset-option:hover,.avatar-preset-option:focus-visible{border-color:color-mix(in srgb,var(--primary) 42%,var(--glass-border-hover));background:var(--glass-highlight);transform:translateY(-1px)}.avatar-preset-option:disabled{cursor:not-allowed;opacity:.66;transform:none}.avatar-preset-option span{width:58px;height:58px;overflow:hidden;border-radius:999px;border:1px solid var(--glass-border-hover);background:var(--bg-panel)}.avatar-preset-option img{width:100%;height:100%;object-fit:cover;display:block}.avatar-preset-option small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted);font-weight:700}.avatar-upload-panel{min-height:0;flex:1 1 auto;display:flex;align-items:center;justify-content:center;border:1px dashed color-mix(in srgb,var(--glass-border-hover) 78%,transparent);border-radius:10px;background:color-mix(in srgb,var(--bg-input) 74%,transparent)}.avatar-picker-file-input{display:none}.avatar-upload-btn{display:inline-flex;align-items:center;gap:.45rem}.avatar-picker-error{margin:0}@media(max-width:640px){.avatar-picker-modal{width:min(96vw,420px);height:min(88vh,720px)}.avatar-preset-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.background-decoration{position:fixed;top:-20%;right:-10%;width:600px;height:600px;background:radial-gradient(circle,#1e8f6226,#0000 70%);z-index:-1;pointer-events:none}.board-container{--board-controls-sticky-top: clamp(.32rem, 1.1vw, .62rem);--board-controls-height: 0px;--calendar-nav-sticky-gap: .45rem;--board-column-width: 280px;--board-grid-gap: 1rem;--board-column-max-height: 100%;display:flex;flex-direction:column;gap:1.2rem;flex:1 1 auto;min-height:0;height:auto;overflow:hidden}.board-controls{padding:clamp(.58rem,1.1vh,.72rem) clamp(.74rem,1.4vw,.95rem);border-radius:11px;display:flex;justify-content:space-between;align-items:center;gap:.65rem;flex-wrap:wrap}.board-controls--sticky{position:sticky;top:var(--board-controls-sticky-top);z-index:35;border:1px solid var(--glass-border);background:color-mix(in srgb,var(--bg-panel) 88%,transparent);box-shadow:0 10px 24px -22px #0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.board-controls-right{display:flex;align-items:center;gap:.55rem;margin-left:auto}.board-controls-right .btn{display:inline-flex;align-items:center;gap:.35rem;padding:.5rem .85rem;font-size:.86rem;line-height:1.05}.board-controls-right .btn span{line-height:1}.board-controls-right .btn svg{display:block;flex-shrink:0;width:15px;height:15px}.board-filter-inline{display:inline-flex;align-items:center;gap:.28rem;padding:.22rem .42rem;border:1px solid var(--glass-border);border-radius:7px;background:var(--bg-input)}.board-filter-inline .select-field{min-width:118px}.board-filter-inline .select-field-trigger,.board-filter-inline .select-field-native{font-size:.77rem;padding:.22rem .4rem}.view-toggle{display:inline-flex;align-items:center;gap:.2rem;border:1px solid var(--glass-border);border-radius:9px;padding:.2rem;background:var(--bg-input)}.view-toggle-btn{border:none;background:transparent;color:var(--text-muted);border-radius:7px;display:inline-flex;align-items:center;gap:.28rem;padding:.28rem .52rem;cursor:pointer;font-size:.76rem}.view-toggle-btn.active{color:var(--text-main);background:var(--board-accent-soft);border:1px solid color-mix(in srgb,var(--board-accent) 26%,transparent)}.search-bar{display:flex;align-items:center;gap:.38rem;background:var(--bg-input);padding:.38rem .72rem;border-radius:7px;border:1px solid var(--glass-border);transition:background .3s;width:290px}.search-bar input{background:transparent;border:none;padding:0;width:100%;font-size:.88rem}.search-bar input:focus{border:none}.board-grid{display:grid;gap:var(--board-grid-gap);align-items:stretch;height:100%;padding-top:.55rem}.board-grid--fit-four{width:100%;min-width:0}.board-grid--overflow{width:max-content;min-width:100%}.board-scroll{flex:1 1 auto;min-height:0;width:100%;max-width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;margin-top:.1rem;padding-top:0;padding-bottom:0;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}@media(max-width:1024px){.board-grid--overflow{min-width:max-content}}.task-list-shell{border-radius:14px;padding:.4rem;border:1px solid color-mix(in srgb,var(--board-accent) 20%,var(--glass-border));display:flex;flex:1 1 auto;flex-direction:column;align-items:stretch;min-height:0;gap:.85rem;overflow-y:auto;overscroll-behavior:contain}.task-list-group{--group-color: var(--board-accent);--task-list-body-max-height: clamp(210px, 34vh, 360px);border:1px solid color-mix(in srgb,var(--group-color) 32%,var(--glass-border));border-radius:12px;overflow:hidden;background:color-mix(in srgb,var(--bg-panel) 90%,var(--group-color) 7%);display:flex;flex:0 0 auto;flex-direction:column;min-height:0}.task-list-group-header{display:flex;align-items:center;justify-content:space-between;padding:.6rem .85rem;border-bottom:1px solid var(--glass-border);background:linear-gradient(90deg,color-mix(in srgb,var(--bg-panel) 88%,var(--glass-border)),color-mix(in srgb,var(--group-color) 40%,var(--bg-panel)))}.task-list-group-title{display:inline-flex;align-items:center;gap:.45rem}.task-list-group-title h3{margin:0;font-size:.83rem;font-weight:700;color:color-mix(in srgb,var(--group-color) 88%,var(--text-main));text-transform:uppercase;letter-spacing:.04em}.task-list-group-dot{width:9px;height:9px;border-radius:999px}.task-list-group-count{font-size:.68rem;color:color-mix(in srgb,var(--group-color) 78%,var(--text-main));border:1px solid color-mix(in srgb,var(--group-color) 46%,transparent);background:color-mix(in srgb,var(--group-color) 30%,var(--bg-panel));padding:.1rem .45rem;border-radius:999px}.task-list-table{width:100%;border-radius:10px;overflow:hidden;display:flex;flex-direction:column;min-height:0}.task-list-body{max-height:none;overflow:visible}.task-list-row{display:grid;grid-template-columns:minmax(220px,2fr) minmax(120px,1fr) minmax(125px,1fr) minmax(105px,.8fr) minmax(100px,.8fr) minmax(110px,.8fr) 140px 140px 120px 140px;align-items:center;border-bottom:1px solid var(--glass-border)}.task-list-row>div{padding:.7rem .8rem;font-size:.82rem}.task-list-head{background:color-mix(in srgb,var(--board-accent-soft) 75%,var(--bg-panel))}.task-list-head>div{font-weight:700;color:var(--board-accent);font-size:.76rem;text-transform:uppercase;letter-spacing:.04em}.task-list-body .task-list-row:hover{background:color-mix(in srgb,var(--board-accent-soft) 55%,transparent)}.task-list-checklist{display:flex;flex-direction:column;gap:.28rem;min-width:0}.task-list-checklist span{color:var(--text-main);font-size:.78rem;font-weight:700}.task-list-checklist-bar{width:100%;height:6px;border-radius:999px;overflow:hidden;background:color-mix(in srgb,var(--bg-input) 86%,transparent);border:1px solid color-mix(in srgb,var(--board-accent) 18%,transparent)}.task-list-checklist-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#16a34a,#38bdf8);transition:width .22s ease}.task-list-cell-title{display:flex;flex-direction:column;gap:.2rem}.task-list-title-line{min-width:0;display:flex;align-items:center;gap:.38rem}.task-list-title-btn{border:none;background:transparent;color:var(--text-main);text-align:left;font-size:.9rem;font-weight:600;cursor:pointer;padding:0;min-width:0;overflow:hidden;text-overflow:ellipsis}.task-list-title-btn:hover{color:var(--board-accent)}.task-list-cell-title p{font-size:.76rem;color:var(--text-muted);display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.task-assignee,.task-list-assignee{display:inline-flex;align-items:center;gap:.45rem;min-width:0}.task-list-assignee{display:inline-flex;flex-direction:column;align-items:flex-start;gap:.38rem;width:100%;max-width:100%}.task-list-assignee-avatars{display:flex;flex-direction:row;flex-wrap:wrap;align-items:flex-start;gap:.28rem;width:100%;max-width:100%}.task-assignee-avatars{display:inline-flex;align-items:center}.task-assignee .user-avatar,.task-list-assignee .user-avatar{border-radius:999px;overflow:hidden;flex-shrink:0}.task-assignee .user-avatar{width:20px;height:20px}.task-list-assignee .user-avatar{width:24px;height:24px}.task-assignee-extra{min-width:24px;height:24px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;padding:0 .36rem;margin-left:0;font-size:.68rem;font-weight:700;color:color-mix(in srgb,var(--board-accent) 86%,var(--text-main));background:color-mix(in srgb,var(--board-accent-soft) 46%,var(--bg-panel));border:1px solid color-mix(in srgb,var(--board-accent) 34%,var(--glass-border));flex-shrink:0}.task-assignee .user-avatar img,.task-list-assignee .user-avatar img{width:100%;height:100%;object-fit:cover;border-radius:999px;border:1px solid var(--glass-border)}.task-list-assignee span,.task-assignee span,.task-list-muted{font-size:.8rem;color:var(--text-muted);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-list-assignee-text{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.2;font-size:.74rem;font-weight:600;color:color-mix(in srgb,var(--text-main) 70%,var(--board-accent))}.task-status-select{width:100%}.task-status-select .select-field-trigger,.task-status-select .select-field-native{background:var(--bg-input);border:1px solid color-mix(in srgb,var(--board-accent) 24%,var(--glass-border));color:var(--text-main);border-radius:8px;padding:.35rem .6rem;font-size:.8rem}.task-list-actions{display:flex;gap:.45rem}.task-list-action-btn{padding:.35rem .6rem;font-size:.76rem;border-radius:7px}.task-list-action-icon{width:34px;height:30px;padding:0;display:inline-flex;align-items:center;justify-content:center}.task-list-action-btn.task-ready-review-list-btn.is-marked{border-color:#16a34a;color:#fff;background:#16a34a;box-shadow:0 8px 18px -12px #16a34af2}.task-type-badge{display:inline-flex;align-items:center;justify-content:center;font-size:.66rem;font-weight:700;border-radius:999px;border:1px solid rgba(94,130,170,.35);color:#5e82aa;background:#5e82aa26;padding:.18rem .48rem;text-transform:uppercase;letter-spacing:.02em}.task-type-badge.mod{border-color:#8b5cf66b;color:#7c3aed;background:#8b5cf629}.task-list-action-btn.danger{border-color:#b2576b59;color:#b2576b}.task-list-action-btn.danger:hover{border-color:#b2576b8c;color:#fff;background:#b2576b}.task-list-action-btn:disabled,.task-list-action-btn[aria-disabled=true]{color:var(--disabled-text);border-color:var(--disabled-border);background:var(--disabled-bg);box-shadow:none}.task-list-action-btn:disabled:hover,.task-list-action-btn[aria-disabled=true]:hover,.task-list-action-btn.danger:disabled:hover,.task-list-action-btn.danger[aria-disabled=true]:hover{color:var(--disabled-text);border-color:var(--disabled-border);background:var(--disabled-bg)}.task-list-action-btn.task-ready-review-list-btn.is-marked:disabled,.task-list-action-btn.task-ready-review-list-btn.is-marked[aria-disabled=true]{border-color:color-mix(in srgb,#16a34a 72%,var(--disabled-border));color:#fff;background:#16a34a;opacity:.72}.task-list-empty{padding:1rem;color:var(--text-muted);text-align:center;font-size:.9rem}.task-list-empty-group{border-bottom:none;font-size:.8rem}.calendar-shell{border-radius:16px;padding:.75rem .75rem 1.1rem;border:1px solid color-mix(in srgb,var(--board-accent) 26%,var(--glass-border));background:linear-gradient(180deg,color-mix(in srgb,var(--bg-panel) 93%,var(--board-accent-soft)),color-mix(in srgb,var(--bg-panel) 98%,transparent));box-shadow:0 16px 32px -26px color-mix(in srgb,var(--board-accent) 45%,transparent);display:flex;flex:1 1 auto;flex-direction:column;min-height:0;gap:.75rem;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable;scroll-padding-top:4rem;position:relative;isolation:isolate}.calendar-shell.glass,.calendar-shell.glass:hover{background:linear-gradient(180deg,color-mix(in srgb,var(--bg-panel) 93%,var(--board-accent-soft)),color-mix(in srgb,var(--bg-panel) 98%,transparent))}.calendar-shell:before{content:"";position:sticky;top:0;left:0;right:0;display:block;height:.8rem;margin-top:-.8rem;background:var(--bg-panel);z-index:35;pointer-events:none}.calendar-scroll-x{width:100%;max-width:100%;min-width:0;display:flex;flex-direction:column;gap:.75rem;position:relative}.calendar-scroll-x:before{content:"";position:sticky;top:0;left:0;right:0;display:block;height:1.25rem;margin-bottom:-1.25rem;background:var(--bg-panel);z-index:39;pointer-events:none}.calendar-nav{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.calendar-nav--sticky{top:0;z-index:30;border:1px solid color-mix(in srgb,var(--board-accent) 26%,var(--glass-border));background:var(--bg-panel);box-shadow:0 10px 24px -18px #00000094;-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:12px;padding:.4rem .5rem;isolation:isolate;position:sticky}.calendar-nav--sticky:before{content:"";position:absolute;left:-1px;right:-1px;top:-14px;height:16px;background:var(--bg-panel);border-top-left-radius:12px;border-top-right-radius:12px;pointer-events:none}.calendar-nav--sticky:after{content:"";position:absolute;left:-1px;right:-1px;bottom:-18px;height:20px;background:var(--bg-panel);pointer-events:none}.calendar-nav h3{margin:0;font-size:1rem;letter-spacing:.01em;font-weight:700;text-transform:capitalize;color:color-mix(in srgb,var(--board-accent) 86%,var(--text-main))}.calendar-nav-btn{display:inline-flex;align-items:center;justify-content:center;gap:.34rem;font-size:.76rem;font-weight:600;padding:.38rem .62rem;border-radius:9px}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.45rem}.calendar-weekdays div{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:color-mix(in srgb,var(--board-accent) 78%,var(--text-main));font-weight:700;padding:.28rem .35rem;border-radius:8px;background:color-mix(in srgb,var(--board-accent-soft) 42%,transparent);border:1px solid color-mix(in srgb,var(--board-accent) 18%,transparent);text-align:center}.calendar-grid{display:flex;flex-direction:column;gap:.45rem}.calendar-week-row{--calendar-week-lanes: 1;--calendar-week-empty-height: 74px;--calendar-week-base-height: 92px;--calendar-week-lane-step: 22px;--calendar-week-min-height: calc(var(--calendar-week-base-height) + (var(--calendar-week-lanes) - 1) * var(--calendar-week-lane-step));position:relative}.calendar-week-row.is-empty{--calendar-week-min-height: var(--calendar-week-empty-height)}.calendar-week-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.45rem}.calendar-day{min-height:var(--calendar-week-min-height, 96px);border:1px solid color-mix(in srgb,var(--board-accent) 18%,var(--glass-border));border-radius:11px;background:linear-gradient(180deg,color-mix(in srgb,var(--bg-panel) 94%,var(--board-accent-soft)),color-mix(in srgb,var(--bg-panel) 99%,transparent));padding:.32rem;display:flex;flex-direction:column;gap:.28rem;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.calendar-day:hover{border-color:color-mix(in srgb,var(--board-accent) 36%,var(--glass-border));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--board-accent) 14%,transparent)}.calendar-day-header{display:flex;align-items:center;justify-content:space-between;gap:.25rem;min-height:1rem}.calendar-day.outside-month{opacity:.56;background:linear-gradient(180deg,color-mix(in srgb,var(--bg-panel) 96%,transparent),color-mix(in srgb,var(--bg-panel) 98%,var(--board-accent-soft)))}.calendar-day.is-today{border-color:color-mix(in srgb,var(--primary) 52%,var(--board-accent));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--primary) 34%,transparent),0 10px 16px -18px color-mix(in srgb,var(--primary) 75%,transparent)}.calendar-day.is-drop-over{border-color:color-mix(in srgb,var(--primary) 58%,var(--board-accent));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--primary) 26%,transparent);background:color-mix(in srgb,var(--board-accent-soft) 72%,var(--bg-panel))}.calendar-day-number{min-width:1.58rem;min-height:1.58rem;display:inline-flex;align-items:center;justify-content:center;padding:.1rem .36rem;font-size:.74rem;font-weight:800;color:color-mix(in srgb,var(--text-main) 92%,var(--board-accent));border-radius:999px;background:color-mix(in srgb,var(--board-accent-soft) 44%,transparent);border:1px solid color-mix(in srgb,var(--board-accent) 22%,transparent)}.calendar-day.outside-month .calendar-day-number{color:var(--text-muted)}.calendar-day.is-today .calendar-day-number{color:#fff;background:color-mix(in srgb,var(--primary) 74%,var(--board-accent));border-color:color-mix(in srgb,var(--primary) 70%,transparent)}.calendar-week-bars{--calendar-lanes: 1;position:absolute;left:0;right:0;top:1.8rem;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:repeat(var(--calendar-lanes),1fr);gap:.45rem;row-gap:.24rem;pointer-events:none;padding-inline:.32rem}.calendar-task-span{pointer-events:auto;border:1px solid color-mix(in srgb,var(--glass-border) 72%,transparent);border-radius:8px;min-height:1.34rem;text-align:left;font-size:.66rem;font-weight:600;display:flex;align-items:center;gap:.14rem;padding:.06rem .2rem;white-space:nowrap;overflow:hidden;cursor:default;background:linear-gradient(180deg,color-mix(in srgb,var(--bg-input) 88%,var(--board-accent-soft)),color-mix(in srgb,var(--bg-input) 96%,transparent));transition:box-shadow .2s ease,border-color .2s ease,transform .2s ease}.calendar-task-span.task-type-mod{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--secondary) 42%,transparent)}.calendar-task-span.continues-left{border-top-left-radius:4px;border-bottom-left-radius:4px}.calendar-task-span.continues-right{border-top-right-radius:4px;border-bottom-right-radius:4px}.calendar-task-span.is-editable{cursor:pointer}.calendar-task-span.is-editable:hover{border-color:color-mix(in srgb,var(--board-accent) 40%,var(--glass-border));box-shadow:0 6px 16px -14px color-mix(in srgb,var(--board-accent) 70%,transparent);transform:translateY(-1px)}.calendar-task-span.is-dragging{z-index:10;box-shadow:0 10px 26px -14px #0a1428b8}.calendar-task-main{min-width:0;display:inline-flex;align-items:center;gap:.26rem;flex:1;cursor:pointer;border-radius:6px;outline:none}.calendar-task-main.is-readonly{cursor:pointer}.calendar-task-main:focus-visible{box-shadow:0 0 0 2px color-mix(in srgb,var(--board-accent) 44%,transparent)}.calendar-task-resize-handle{width:9px;min-width:9px;align-self:stretch;border-radius:6px;background:color-mix(in srgb,var(--board-accent) 18%,transparent);cursor:ew-resize;opacity:.82;transition:background .2s ease,opacity .2s ease}.calendar-task-resize-handle:hover{background:color-mix(in srgb,var(--primary) 34%,transparent)}.calendar-task-resize-handle.is-disabled{cursor:default;opacity:.32}.calendar-task-resize-handle.left{margin-right:1px}.calendar-task-resize-handle.right{margin-left:1px}.calendar-task-label{overflow:hidden;text-overflow:ellipsis}.calendar-task-avatar{width:14px;height:14px;min-width:14px;border-radius:999px;border:1px solid color-mix(in srgb,var(--glass-border) 80%,transparent);background:color-mix(in srgb,var(--bg-panel) 28%,#fff 72%);color:var(--text-main);display:inline-flex;align-items:center;justify-content:center;overflow:hidden}.calendar-task-avatar img{width:100%;height:100%;object-fit:cover}.calendar-task-avatar-more{min-width:16px;height:16px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;padding:0 .28rem;font-size:.62rem;font-weight:700;color:var(--text-main);border:1px solid color-mix(in srgb,var(--board-accent) 30%,var(--glass-border));background:color-mix(in srgb,var(--board-accent-soft) 72%,var(--bg-panel))}.calendar-undated{border:1px solid color-mix(in srgb,var(--board-accent) 20%,var(--glass-border));background:color-mix(in srgb,var(--bg-panel) 95%,var(--board-accent-soft));padding:.55rem;border-radius:12px;transition:background-color .2s ease,box-shadow .2s ease,border-color .2s ease}.calendar-undated.is-collapsed{padding-bottom:.38rem}.calendar-undated.is-drop-over{border-color:color-mix(in srgb,var(--primary) 48%,var(--board-accent));background:color-mix(in srgb,var(--board-accent-soft) 62%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--primary) 24%,transparent)}.calendar-undated-header{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-bottom:.42rem}.calendar-undated h4{margin:0;color:color-mix(in srgb,var(--board-accent) 82%,var(--text-main));font-size:.84rem;text-transform:none;letter-spacing:.015em;font-weight:700}.calendar-undated-toggle{font-size:.72rem;padding:.28rem .56rem;border-radius:8px;white-space:nowrap}.calendar-undated p{margin:0;font-size:.79rem;color:var(--text-muted)}.calendar-undated-list{display:flex;flex-wrap:wrap;gap:.42rem}.calendar-undated-item{border:1px solid color-mix(in srgb,var(--board-accent) 24%,var(--glass-border));background:linear-gradient(180deg,color-mix(in srgb,var(--bg-input) 84%,var(--board-accent-soft)),color-mix(in srgb,var(--bg-input) 98%,transparent));border-radius:10px;color:var(--text-main);padding:.32rem .5rem;display:inline-flex;align-items:center;gap:.38rem;cursor:pointer;font-size:.75rem;transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease}.calendar-undated-item.task-type-mod{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--secondary) 44%,transparent)}.calendar-undated-item.is-draggable{cursor:grab}.calendar-undated-item.is-dragging{opacity:.55}.calendar-inline-error{position:fixed;top:max(.75rem,env(safe-area-inset-top));right:1rem;z-index:16500;width:min(430px,calc(100vw - 2rem));margin:0;padding:.75rem 1rem;border-radius:10px;border:1px solid #f97316;color:#f97316;display:flex;align-items:center;gap:.75rem;box-shadow:0 14px 34px -22px #000c}.calendar-inline-error span{flex:1;font-size:.88rem;font-weight:600}.calendar-inline-error .btn{margin-left:auto;font-size:.8rem}@media(max-width:640px){.calendar-inline-error{top:max(.55rem,env(safe-area-inset-top));right:.55rem;width:calc(100vw - 1.1rem)}}.calendar-drag-overlay{border:1px solid color-mix(in srgb,var(--board-accent) 30%,var(--glass-border));background:color-mix(in srgb,var(--bg-panel) 90%,transparent);color:var(--text-main);padding:.35rem .55rem;border-radius:8px;font-size:.76rem;font-weight:600;box-shadow:0 8px 20px -14px #000000b3}.table-pagination,.list-pagination{display:flex;align-items:center;justify-content:flex-end;gap:.6rem;font-size:.78rem;color:var(--text-muted)}.task-columns-list{max-height:260px;overflow-y:auto;border:1px solid var(--glass-border);border-radius:10px;padding:.5rem;display:flex;flex-direction:column;gap:.45rem}.task-columns-item{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.55rem .6rem;border:1px solid var(--glass-border);border-radius:8px;background:var(--bg-input)}.task-columns-item-name{display:inline-flex;align-items:center;gap:.45rem}.task-columns-item-name small{color:var(--text-muted);font-size:.7rem}.task-columns-item-actions{display:inline-flex;gap:.4rem}.column-form-grid{display:grid;grid-template-columns:minmax(220px,2fr) minmax(140px,1fr) minmax(110px,.9fr);gap:.75rem}.task-type-form-grid{display:grid;grid-template-columns:minmax(220px,2fr) minmax(170px,1fr) minmax(180px,1fr);gap:.75rem}.task-type-color-palette{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:.5rem;margin-top:.1rem}.task-type-color-swatch{display:inline-flex;align-items:center;gap:.45rem;padding:.42rem .55rem;border-radius:10px;border:1px solid var(--glass-border);background:var(--bg-input);color:var(--text-main);font-size:.78rem;transition:border-color .2s ease,transform .2s ease,background-color .2s ease}.task-type-color-swatch:hover{border-color:color-mix(in srgb,var(--board-accent) 32%,var(--glass-border));transform:translateY(-1px)}.task-type-color-swatch.is-selected{border-color:color-mix(in srgb,var(--board-accent) 48%,var(--glass-border));background:color-mix(in srgb,var(--board-accent-soft) 55%,var(--bg-input))}.task-type-color-swatch-dot{width:11px;height:11px;border-radius:50%;box-shadow:0 0 0 1px color-mix(in srgb,var(--text-main) 24%,transparent)}.task-type-form-meta{margin-top:.55rem;display:inline-flex;align-items:center;gap:.5rem}.task-type-form-meta-label{color:var(--text-muted);font-size:.76rem}.task-type-form-meta-value{color:var(--text-main);font-size:.8rem;font-weight:600}.task-type-color-preview{display:inline-flex;align-items:center;border:1px solid transparent;border-radius:999px;padding:.18rem .5rem;font-size:.72rem;font-weight:600}@media(max-width:720px){.column-form-grid,.task-type-form-grid{grid-template-columns:1fr}.task-type-color-palette{grid-template-columns:repeat(2,minmax(0,1fr))}}.calendar-undated-item:hover{border-color:color-mix(in srgb,var(--board-accent) 36%,var(--glass-border));box-shadow:0 10px 16px -18px color-mix(in srgb,var(--board-accent) 80%,transparent);transform:translateY(-1px)}@media(max-width:1024px){.board-controls-right{width:100%;justify-content:space-between;flex-wrap:wrap;margin-left:0}.calendar-scroll-x{overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch}.calendar-weekdays,.calendar-grid{min-width:840px}.calendar-week-row{--calendar-week-empty-height: 68px;--calendar-week-base-height: 80px;--calendar-week-lane-step: 19px}}@media(max-width:900px){.task-list-group{--task-list-body-max-height: clamp(260px, 44vh, 520px)}.task-list-row{grid-template-columns:1fr;gap:.15rem;padding:.45rem 0}.task-list-head{display:none}.task-list-row>div{padding:.15rem .8rem}.task-list-row>div:before{content:attr(data-label);display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;color:var(--board-accent);margin-bottom:.12rem;font-weight:700}.task-list-cell-title{padding-top:.45rem!important}.task-list-cell-title:before,.task-list-actions:before{margin-bottom:.25rem}.task-list-actions{padding-bottom:.45rem}.calendar-nav{flex-direction:column;align-items:flex-start}.calendar-week-row{--calendar-week-empty-height: 64px;--calendar-week-base-height: 76px;--calendar-week-lane-step: 18px}.user-list-filters{grid-template-columns:1fr}.table-pagination,.list-pagination{justify-content:space-between;flex-wrap:wrap}}@media(max-width:1200px){.app-container{padding:1.1rem}.main-layout{gap:1rem}.sidebar{width:220px;min-width:220px}.app-header{padding:.95rem 1.1rem}}@media(max-width:1100px){.main-layout{flex-direction:column}.sidebar{width:100%;min-width:0;height:auto;min-height:0;max-height:clamp(210px,38vh,320px);position:static}.projects-list{max-height:240px;overflow-y:auto}.app-header{flex-wrap:wrap;gap:.6rem}.actions{margin-left:auto;flex-wrap:wrap;gap:.55rem}.main-layout--sidebar-collapsed{gap:0}.main-layout--sidebar-collapsed .sidebar{display:none}.project-header{display:flex;flex-direction:column;align-items:flex-start!important;gap:.65rem}.project-header>div:last-child{width:100%;display:flex;flex-wrap:wrap;gap:.5rem}.project-header-main{padding-left:0}.board-controls{padding:.78rem .9rem}.search-bar{width:100%;max-width:none}.board-controls-right{width:100%;justify-content:flex-start;gap:.5rem}}@media(max-width:1100px){.main-layout{position:relative}.sidebar-mobile-backdrop{display:block;position:fixed;inset:0;z-index:11990;border:0;padding:0;background:#0f172a6b;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);cursor:pointer}.main-layout .sidebar{position:fixed;inset:0 0 0 auto;z-index:12000;width:min(86vw,360px);min-width:0;height:100dvh;min-height:100dvh;max-height:100dvh;border-radius:18px 0 0 18px;padding:calc(1rem + env(safe-area-inset-top)) 1rem calc(1rem + env(safe-area-inset-bottom));transform:translate(0);opacity:1;pointer-events:auto;box-shadow:-24px 0 42px -32px #0f172aa6}.main-layout--sidebar-collapsed .sidebar{display:flex;width:min(86vw,360px);min-width:0;padding:calc(1rem + env(safe-area-inset-top)) 1rem calc(1rem + env(safe-area-inset-bottom));border-width:1px;opacity:0;transform:translate(105%);pointer-events:none}.main-layout .projects-list{max-height:none}.main-layout .main-content{width:100%}}@media(max-width:640px){.task-attachments-upload-row{grid-template-columns:1fr}.task-checklist-row{grid-template-columns:30px minmax(0,1fr)}.task-checklist-remove{grid-column:2;justify-self:flex-end}.task-attachment-item{grid-template-columns:56px minmax(0,1fr)}.task-attachment-actions{grid-column:1 / -1;justify-content:flex-end}}@media(max-width:640px){.board-container{--board-controls-sticky-top: .3rem;--calendar-nav-sticky-gap: .35rem;--board-column-width: 280px}.logo-icon{padding:.5rem}h1{font-size:1.25rem}.subtitle{font-size:.76rem}.view-toggle{width:100%;justify-content:space-between}.view-toggle-btn span{font-size:.75rem}}.board-column{background:var(--bg-panel);border-radius:16px;padding:1rem;border:1px solid color-mix(in srgb,var(--board-accent) 24%,var(--glass-border));min-height:0;max-height:var(--board-column-max-height);height:100%;display:flex;flex-direction:column;gap:1rem;position:relative;overflow:hidden}.board-column:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--column-color, var(--board-accent))}.column-header{display:flex;align-items:center;gap:.8rem;padding:.5rem;margin-bottom:.5rem}.column-badge{width:10px;height:10px;border-radius:50%}.column-header h2{font-size:1rem;font-weight:600;color:var(--board-accent);flex-grow:1}.count{background:var(--board-accent-soft);padding:.2rem .6rem;border-radius:12px;font-size:.75rem;color:var(--text-main);border:1px solid color-mix(in srgb,var(--board-accent) 28%,transparent)}.column-content{display:flex;flex-direction:column;gap:1rem;flex-grow:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding-right:.2rem}.column-content>*{flex-shrink:0}@media(max-width:1100px){.board-column{min-height:0;max-height:var(--board-column-max-height)}.column-content{overflow-y:auto;padding-right:.2rem}}@media(max-width:640px){.board-column{min-height:0}}.task-card{padding:1.2rem;border-radius:12px;display:flex;flex-direction:column;gap:.8rem;cursor:grab;position:relative;overflow:hidden;box-shadow:var(--card-shadow);transition:box-shadow .2s,border-color .2s,background .2s;background:linear-gradient(180deg,color-mix(in srgb,var(--bg-panel) 84%,var(--board-accent-soft)) 0%,var(--bg-panel) 100%);border:1px solid color-mix(in srgb,var(--board-accent) 18%,var(--glass-border))}.task-card:hover{border-color:color-mix(in srgb,var(--board-accent) 34%,var(--glass-border));box-shadow:0 8px 18px -12px color-mix(in srgb,var(--board-accent) 55%,transparent)}.task-header{display:flex;justify-content:space-between;align-items:flex-start}.task-id{font-size:.7rem;color:var(--text-muted);font-family:monospace;background:var(--bg-input);padding:2px 6px;border-radius:4px}.task-ready-indicator{width:1.15rem;height:1.15rem;min-width:1.15rem;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;color:#fff;background:#16a34a;border:1px solid color-mix(in srgb,#15803d 76%,#ffffff 24%);box-shadow:0 6px 14px -10px #16a34af2;line-height:1}.task-ready-indicator--calendar{width:.95rem;height:.95rem;min-width:.95rem}.task-title{font-size:1rem;font-weight:600;color:var(--text-main);line-height:1.3}.task-description-more{border:none;background:transparent;color:var(--board-accent);font-size:.78rem;font-weight:600;line-height:1;text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px;cursor:pointer;padding:0;align-self:flex-start}.task-description-more:hover{color:color-mix(in srgb,var(--board-accent) 76%,var(--text-main))}.task-description-more:focus-visible{outline:2px solid color-mix(in srgb,var(--board-accent) 40%,transparent);outline-offset:2px;border-radius:4px}.task-description-preview-zone{margin-top:.05rem;border-radius:8px;padding:.12rem .2rem .2rem 0;cursor:pointer}.task-description-preview-zone:hover .task-description-more{color:color-mix(in srgb,var(--board-accent) 80%,var(--text-main));text-decoration-thickness:2px}.task-desc{font-size:.85rem;color:var(--text-muted);line-height:1.4;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.task-desc-preview{margin:0;-webkit-line-clamp:2;line-clamp:2}.task-description-modal-task-title{margin:0;font-size:1.02rem;font-weight:700;color:var(--text-main)}.task-description-modal-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.icon-btn.task-ready-review-preview-btn{width:2rem;height:2rem;min-width:2rem;border-radius:9px}.task-md-content p{margin:0}.task-md-content p+p{margin-top:.7rem}.task-md-content h1,.task-md-content h2,.task-md-content h3,.task-md-content h4,.task-md-content h5,.task-md-content h6{margin:.2rem 0 .6rem;color:var(--text-main);line-height:1.25}.task-md-content h2{font-size:1.02rem}.task-md-content ul{margin:0;padding-left:1.25rem;display:flex;flex-direction:column;gap:.25rem}.task-md-content ul+p,.task-md-content p+ul{margin-top:.7rem}.task-md-link{color:var(--board-accent);text-decoration:underline;text-underline-offset:2px;word-break:break-word}.task-md-link:hover{color:color-mix(in srgb,var(--board-accent) 72%,var(--text-main))}.task-md-image{width:100%;max-width:100%;border-radius:10px;border:1px solid var(--glass-border);display:block;margin-top:.6rem;object-fit:cover}.task-footer{display:flex;justify-content:space-between;align-items:center;margin-top:.5rem;padding-top:.8rem;border-top:1px solid var(--glass-border)}.task-meta{display:flex;align-items:center;gap:.4rem;font-size:.75rem;color:var(--text-muted)}.move-actions{display:flex;gap:.5rem}.icon-btn{background:transparent;border:1px solid var(--glass-border);color:var(--text-muted);width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:6px;cursor:pointer;transition:all .2s}.icon-btn:hover{background:var(--glass-highlight);color:var(--text-main);border-color:var(--glass-border-hover)}.icon-btn.danger:hover{color:#ef4444;border-color:#ef44444d;background:#ef44441a}.icon-btn.move:hover{color:var(--board-accent);border-color:var(--board-accent);background:var(--board-accent-soft)}.icon-btn.task-ready-review-card-btn.is-marked{color:#fff;border-color:#16a34a;background:#16a34a;box-shadow:0 8px 18px -12px #16a34af2}.icon-btn:disabled,.icon-btn[aria-disabled=true]{color:var(--disabled-text);border-color:var(--disabled-border);background:var(--disabled-bg);box-shadow:none}.icon-btn:disabled:hover,.icon-btn[aria-disabled=true]:hover,.icon-btn.danger:disabled:hover,.icon-btn.danger[aria-disabled=true]:hover,.icon-btn.move:disabled:hover,.icon-btn.move[aria-disabled=true]:hover{color:var(--disabled-text);border-color:var(--disabled-border);background:var(--disabled-bg)}.icon-btn.task-ready-review-card-btn.is-marked:disabled,.icon-btn.task-ready-review-card-btn.is-marked[aria-disabled=true]{color:#fff;border-color:color-mix(in srgb,#16a34a 72%,var(--disabled-border));background:#16a34a;opacity:.72}.add-task-form{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:90%;max-width:500px;background:var(--bg-panel);border:1px solid var(--glass-border);padding:1.5rem;border-radius:12px;display:flex;flex-direction:column;gap:1rem;box-shadow:0 25px 50px -12px #00000080;z-index:1000}.glass-select{background:var(--bg-input);border:1px solid var(--glass-border);border-radius:6px;padding:.5rem 1rem;color:var(--text-main);width:100%}.glass-select option{background:var(--bg-panel);color:var(--text-main)}.select-field{position:relative;width:100%;min-width:0}.select-field-trigger{min-height:40px;display:inline-flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;text-align:left;cursor:pointer}.select-field-value{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-field-value.is-placeholder{color:var(--text-muted)}.select-field-caret{flex-shrink:0;color:color-mix(in srgb,var(--board-accent) 72%,var(--text-main));transition:transform .2s ease}.select-field.is-open .select-field-caret{transform:rotate(180deg)}.select-field.is-open .select-field-trigger{border-color:color-mix(in srgb,var(--primary) 54%,var(--glass-border));box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 16%,transparent)}.select-field.is-disabled .select-field-trigger{background:var(--disabled-bg);border-color:var(--disabled-border);color:var(--disabled-text);cursor:not-allowed;opacity:var(--disabled-opacity)}.select-field-menu{position:absolute;left:0;right:0;top:calc(100% + .35rem);z-index:2300;border-radius:10px;border:1px solid color-mix(in srgb,var(--board-accent) 24%,var(--glass-border));background:color-mix(in srgb,var(--bg-panel) 94%,transparent);box-shadow:0 18px 32px -22px #000000d9;padding:.22rem;max-height:260px;overflow-y:auto}.select-field-option{width:100%;border:none;background:transparent;color:var(--text-main);text-align:left;border-radius:8px;padding:.42rem .55rem;font-size:.86rem;cursor:pointer}.select-field-option:hover,.select-field-option.is-active{background:color-mix(in srgb,var(--board-accent-soft) 70%,var(--bg-input))}.select-field-option.is-selected{background:color-mix(in srgb,var(--board-accent) 48%,var(--bg-panel));color:#fff}.select-field-option.is-disabled{color:var(--disabled-text);opacity:.72;cursor:not-allowed}.select-field-option.is-disabled:hover{background:transparent}.select-field--sm .select-field-trigger,.select-field--sm .select-field-native{min-height:34px;padding:.35rem .55rem;font-size:.8rem}.assignee-multi-select{position:relative;width:100%}.assignee-multi-select-trigger{min-height:40px;display:inline-flex;align-items:center;justify-content:space-between;gap:.45rem;text-align:left;width:100%;cursor:pointer}.assignee-multi-select-value{min-width:0;flex:1}.assignee-chip-list{display:inline-flex;align-items:center;gap:.35rem;flex-wrap:wrap}.assignee-chip{display:inline-flex;align-items:center;max-width:140px;padding:.16rem .5rem;border-radius:999px;font-size:.74rem;font-weight:600;color:#fff;border:1px solid color-mix(in srgb,var(--primary) 58%,var(--glass-border));background:color-mix(in srgb,var(--primary) 74%,var(--bg-panel));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assignee-chip-more{max-width:none;border-color:color-mix(in srgb,var(--primary) 64%,var(--glass-border));background:color-mix(in srgb,var(--primary) 84%,var(--bg-panel))}.assignee-multi-select-value.is-placeholder{color:var(--text-muted)}.assignee-multi-select-caret{flex-shrink:0;color:color-mix(in srgb,var(--board-accent) 72%,var(--text-main));transition:transform .2s ease}.assignee-multi-select.is-open .assignee-multi-select-caret{transform:rotate(180deg)}.assignee-multi-select.is-open .assignee-multi-select-trigger{border-color:color-mix(in srgb,var(--primary) 54%,var(--glass-border));box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 16%,transparent)}.assignee-multi-select.is-disabled .assignee-multi-select-trigger{background:var(--disabled-bg);border-color:var(--disabled-border);color:var(--disabled-text);cursor:not-allowed;opacity:var(--disabled-opacity)}.assignee-multi-select-menu{position:absolute;left:0;right:0;top:calc(100% + .35rem);z-index:2400;border-radius:10px;border:1px solid color-mix(in srgb,var(--board-accent) 24%,var(--glass-border));background:color-mix(in srgb,var(--bg-panel) 94%,transparent);box-shadow:0 18px 32px -22px #000000d9;padding:.25rem;max-height:260px;overflow-y:auto}.assignee-multi-select-option{width:100%;border:none;background:transparent;color:var(--text-main);text-align:left;border-radius:8px;padding:.42rem .55rem;font-size:.86rem;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:.6rem}.assignee-multi-select-option:hover{background:color-mix(in srgb,var(--board-accent-soft) 70%,var(--bg-input))}.assignee-multi-select-option.is-selected{background:color-mix(in srgb,var(--primary) 76%,var(--bg-panel));color:#fff}.assignee-multi-select-option.is-selected:hover{background:color-mix(in srgb,var(--primary) 82%,var(--bg-panel))}.assignee-multi-select-option.is-selected:focus-visible{background:color-mix(in srgb,var(--primary) 84%,var(--bg-panel));outline:2px solid color-mix(in srgb,#fff 72%,var(--primary));outline-offset:-2px}.assignee-multi-select-option.is-selected svg{color:#fff}.assignee-multi-select-helper{display:block;margin-top:.2rem;font-size:.73rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assignee-multi-select-helper.is-placeholder{opacity:.8}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-actions{display:flex;justify-content:flex-end;gap:1rem}.task-form-bottom-error{margin:.1rem 0 0}.task-form-top-alert{border-radius:10px;padding:.65rem .85rem;font-size:.92rem;margin:.1rem 0 .55rem}.modal-header-alert{margin:0}.task-form-top-alert--error{color:#dc2626;border:1px solid color-mix(in srgb,#dc2626 45%,transparent);background:color-mix(in srgb,#dc2626 10%,var(--bg-panel))}.task-field-error{border-color:#dc2626!important;box-shadow:0 0 0 1px color-mix(in srgb,#dc2626 45%,transparent)}.task-form-field.has-field-error .task-datetime-trigger,.task-form-field.has-field-error .task-datetime-trigger:hover,.task-form-field.has-field-error .task-datetime-trigger:focus-visible{border-color:#dc2626!important;box-shadow:0 0 0 1px color-mix(in srgb,#dc2626 45%,transparent)}.login-container{display:flex;justify-content:center;align-items:center;height:100vh;width:100vw;position:relative;overflow:hidden}.login-card{width:100%;max-width:400px;padding:2.5rem;border-radius:24px;display:flex;flex-direction:column;gap:2rem;box-shadow:var(--shadow-lg);z-index:10;background:var(--bg-panel)}.login-header{text-align:center;display:flex;flex-direction:column;align-items:center;gap:.5rem}.logo-icon-large{width:min(100%,260px);margin-bottom:.6rem;display:inline-flex;align-items:center;justify-content:center}.brand-logo-login{width:100%;max-width:240px;height:auto;display:block;border-radius:8px}.login-form{display:flex;flex-direction:column;gap:1.5rem}.input-icon-wrapper{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:1rem;color:var(--text-muted)}.input-icon-wrapper input{padding-left:3rem;padding-right:2.8rem;width:100%}.password-toggle-btn{position:absolute;right:.65rem;top:50%;transform:translateY(-50%);border:none;background:transparent;color:var(--text-muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:.2rem}.password-toggle-btn:hover{color:var(--text-main)}.btn-full{width:100%;display:flex;justify-content:center;align-items:center;gap:.5rem;background:var(--primary);color:#fff;border:none}.btn-full:hover{background:var(--primary);filter:brightness(1.1);box-shadow:0 0 20px var(--primary-glow)}.error-message{color:#ef4444;font-size:.85rem;text-align:center}.login-footer{text-align:center;border-top:1px solid var(--glass-border);padding-top:1.5rem}.modal-overlay{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:50;display:flex;align-items:center;justify-content:center;padding:1rem}.modal-content{background:var(--bg-panel);border:1px solid var(--glass-border);border-radius:16px;width:100%;max-width:500px;max-height:85vh;overflow-y:auto;box-shadow:var(--shadow-lg);--modal-pad-x: 2rem;--modal-pad-top: 2rem;--modal-pad-bottom: 2rem;padding:var(--modal-pad-top) var(--modal-pad-x) var(--modal-pad-bottom);position:relative}.password-modal-overlay{z-index:15000}.password-modal-content{max-width:min(460px,92vw)}.password-modal-title{margin:0;color:var(--text-main);font-size:1.1rem}.password-form{display:flex;flex-direction:column;gap:.8rem}.password-form-hint{margin:-.1rem 0 0;font-size:.79rem;color:var(--text-muted);line-height:1.4}.password-form-hint strong{color:var(--text-main)}.password-form-error{text-align:left}.modal-header{display:flex;justify-content:space-between;align-items:center;position:sticky;top:calc(var(--modal-pad-top, 0px) * -1);z-index:8;margin:calc(var(--modal-pad-top, 0px) * -1) calc(var(--modal-pad-x, 0px) * -1) 1rem;padding:var(--modal-pad-top, 0px) var(--modal-pad-x, 0px) .75rem;background:var(--bg-panel);border-bottom:1px solid var(--glass-border)}.modal-header-main{width:100%;display:flex;justify-content:space-between;align-items:center;gap:.75rem}.modal-header--with-alert{flex-direction:column;align-items:stretch;gap:.7rem}.modal-header--sticky{position:sticky}.modal-close-btn{width:34px;height:34px;min-width:34px;border-radius:8px;border:none;background:transparent;color:var(--text-main);box-shadow:none;transition:color .2s,transform .2s,opacity .2s}.modal-close-btn:hover{background:transparent;color:var(--primary);transform:translateY(-1px)}.modal-close-btn:focus-visible{outline:2px solid color-mix(in srgb,var(--primary) 35%,transparent);outline-offset:2px}.project-profile-overlay{z-index:16000}.project-profile-content{width:min(94vw,980px);max-width:980px;max-height:min(92vh,92dvh);display:flex;flex-direction:column;gap:1rem;padding-bottom:0}.project-profile-header{align-items:center}.project-profile-title-group{display:flex;align-items:center;gap:.85rem;min-width:0}.project-profile-logo{width:54px;height:54px;flex:0 0 auto;border-radius:12px;overflow:hidden;border:1px solid var(--glass-border);background:var(--glass-bg)}.project-profile-logo img{display:block;width:100%;height:100%;object-fit:cover}.project-profile-title{margin:0;color:var(--text-main);font-size:clamp(1.08rem,1.8vw,1.35rem);line-height:1.2;overflow-wrap:anywhere}.project-profile-badges{display:flex;align-items:center;flex-wrap:wrap;gap:.38rem;margin-top:.36rem}.project-profile-error{margin:0;padding:.72rem .85rem;border-radius:10px;color:#fecaca;background:color-mix(in srgb,#ef4444 16%,var(--glass-bg));border:1px solid color-mix(in srgb,#ef4444 42%,var(--glass-border))}.project-profile-section{padding:1rem;border:1px solid var(--glass-border);border-radius:12px;background:color-mix(in srgb,var(--glass-bg) 80%,transparent)}.project-profile-section-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.8rem}.project-profile-section-header h4{margin:0;color:var(--text-main);font-size:.95rem}.project-profile-notice{font-size:.78rem;color:#22c55e;font-weight:700}.project-profile-description-form{display:flex;flex-direction:column;gap:.8rem}.project-profile-description-form textarea{width:100%;min-height:138px;resize:vertical;border-radius:10px;border:1px solid var(--glass-border);background:var(--glass-bg);color:var(--text-main);padding:.8rem;line-height:1.5}.project-profile-description-form textarea:focus{outline:2px solid color-mix(in srgb,var(--primary) 42%,transparent);border-color:color-mix(in srgb,var(--primary) 54%,var(--glass-border))}.project-profile-footer{position:sticky;bottom:calc(var(--modal-pad-bottom, 0px) * -1);z-index:7;display:flex;justify-content:flex-end;margin:0 calc(var(--modal-pad-x, 0px) * -1);padding:.8rem var(--modal-pad-x, 0px) calc(.8rem + env(safe-area-inset-bottom));border-top:1px solid var(--glass-border);background:color-mix(in srgb,var(--bg-panel) 96%,transparent);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.project-profile-save-btn,.project-profile-upload-btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem}.project-profile-file-input{display:none}.project-profile-description{margin:0;color:var(--text-main);line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.project-profile-description.empty,.project-profile-empty{color:var(--text-muted)}.project-profile-empty{min-height:132px;display:grid;place-items:center;align-content:center;gap:.55rem;border-radius:10px;border:1px dashed var(--glass-border);background:color-mix(in srgb,var(--glass-bg) 55%,transparent);text-align:center}.project-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.85rem}.project-photo-card{position:relative;min-width:0;overflow:hidden;border:1px solid var(--glass-border);border-radius:10px;background:var(--glass-bg)}.project-photo-preview-btn{position:relative;display:block;width:100%;aspect-ratio:4 / 3;padding:0;border:0;background:color-mix(in srgb,var(--bg-panel) 78%,#000 22%);cursor:zoom-in;overflow:hidden}.project-photo-preview-btn img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .2s ease}.project-photo-preview-btn:hover img{transform:scale(1.035)}.project-photo-zoom{position:absolute;right:.45rem;bottom:.45rem;width:30px;height:30px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;color:#fff;background:#0f172ab8;border:1px solid rgba(255,255,255,.28)}.project-photo-meta{padding:.58rem .65rem .65rem;min-width:0}.project-photo-meta span,.project-photo-meta small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-photo-meta span{color:var(--text-main);font-size:.82rem;font-weight:700}.project-photo-meta small{margin-top:.22rem;color:var(--text-muted);font-size:.72rem}.project-photo-delete-btn{position:absolute;top:.48rem;right:.48rem;width:32px;height:32px;color:#fff;background:color-mix(in srgb,#ef4444 76%,#111827 24%);border:1px solid color-mix(in srgb,#fff 32%,transparent);box-shadow:0 10px 24px #00000047}.project-photo-delete-btn:hover{background:color-mix(in srgb,#ef4444 88%,#111827 12%)}.project-photo-viewer-overlay{position:fixed;inset:0;z-index:18000;display:flex;align-items:center;justify-content:center;padding:clamp(.75rem,3vw,2rem);background:#000000d1;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.project-photo-viewer{position:relative;width:min(96vw,1180px);max-height:min(92vh,92dvh);display:flex;align-items:center;justify-content:center;border-radius:14px;border:1px solid var(--glass-border);background:#020617;padding:2.5rem 1rem 1rem;box-shadow:0 28px 72px #00000080}.project-photo-viewer img{display:block;max-width:100%;max-height:calc(min(92vh,92dvh) - 3.5rem);object-fit:contain;border-radius:8px}.project-photo-viewer-close{position:absolute;top:.65rem;right:.65rem;z-index:2;color:#fff}.user-list{display:flex;flex-direction:column;gap:.8rem;margin-top:1rem}.user-list-item{display:flex;align-items:center;justify-content:space-between;padding:.8rem;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:8px}.user-info-row{display:flex;align-items:center;gap:.8rem}.role-badge{font-size:.7rem;padding:.2rem .5rem;border-radius:10px;text-transform:uppercase;font-weight:600}.role-badge.admin{background:#1e8f6233;color:var(--primary)}.role-badge.lider{background:#3b82f62e;color:#3b82f6}.role-badge.equipo,.role-badge.user{background:#64748b33;color:var(--text-muted)}.overlay-card{cursor:grabbing;transform:scale(1.05);box-shadow:0 20px 25px -5px #0006,0 10px 10px -5px #0000004d;z-index:9999}.project-image-container:hover .image-upload-overlay{opacity:1!important}.project-logo-mini{width:24px;height:24px;min-width:24px;border-radius:6px;overflow:hidden;border:1px solid var(--glass-border);background:var(--bg-input);position:relative}.project-logo-mini img{width:100%;height:100%;object-fit:cover}.project-paused-overlay{position:absolute;right:-4px;top:-4px;width:14px;height:14px;border-radius:999px;background:#b48a3af5;border:1px solid rgba(255,255,255,.7);color:#fff;display:inline-flex;align-items:center;justify-content:center}.project-logo-upload{width:20px;height:20px;min-width:20px;margin-left:auto;border-radius:6px;border:1px solid var(--glass-border);display:flex;align-items:center;justify-content:center;color:var(--text-muted);background:var(--glass-bg);transition:all .2s}.project-logo-upload:hover{border-color:var(--primary);color:var(--primary)}.project-logo-upload.disabled{opacity:.45;cursor:not-allowed;pointer-events:auto}.project-logo-upload.disabled:hover{border-color:var(--glass-border);color:var(--text-muted)}.priority-badge{display:inline-flex;align-items:center;justify-content:center;font-size:.66rem;font-weight:700;text-transform:uppercase;border-radius:999px;padding:.2rem .55rem;border:1px solid transparent;letter-spacing:.02em}.priority-low{color:#1f8a4d;border-color:#1f8a4d6b;background:#1f8a4d29}.priority-medium{color:#9a6a00;border-color:#9a6a0070;background:#f5be2533}.priority-high{color:#c26109;border-color:#c261096b;background:#c2610929}.priority-urgent{color:#c52f2f;border-color:#c52f2f73;background:#c52f2f2b}.task-chip{font-size:.7rem;padding:.2rem .6rem;background:var(--board-accent-soft);border:1px solid color-mix(in srgb,var(--board-accent) 26%,transparent);border-radius:12px;color:var(--text-main)}.task-card-checklist{border:1px solid color-mix(in srgb,var(--board-accent) 22%,var(--glass-border));border-radius:10px;background:color-mix(in srgb,var(--bg-input) 72%,transparent);padding:.62rem;display:flex;flex-direction:column;gap:.48rem}.task-card-checklist-head{display:flex;align-items:center;justify-content:space-between;gap:.55rem;color:var(--text-muted);font-size:.74rem}.task-card-checklist-head span{display:inline-flex;align-items:center;gap:.32rem;min-width:0}.task-card-checklist-head strong{color:var(--text-main);font-size:.76rem}.task-card-checklist-bar{height:7px;border-radius:999px;overflow:hidden;background:color-mix(in srgb,var(--bg-panel) 88%,transparent);border:1px solid color-mix(in srgb,var(--board-accent) 18%,transparent)}.task-card-checklist-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#16a34a,#38bdf8);transition:width .22s ease}.task-card-checklist-items{display:flex;flex-direction:column;gap:.28rem;min-width:0}.task-card-checklist-items span,.task-card-checklist-items small{display:flex;align-items:center;gap:.32rem;min-width:0;color:var(--text-muted);font-size:.74rem;line-height:1.25}.task-card-checklist-items span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-card-checklist-items span.is-checked{color:color-mix(in srgb,#16a34a 72%,var(--text-main));text-decoration:line-through;text-decoration-thickness:1px}.task-card-checklist-more{align-self:flex-start;display:inline-flex;align-items:center;gap:.28rem;min-height:22px;padding:0;border:0;background:transparent;color:color-mix(in srgb,var(--board-accent) 78%,var(--text-main));font-size:.74rem;font-weight:700;line-height:1.2;cursor:pointer}.task-card-checklist-more:hover{color:var(--board-accent);text-decoration:underline}.task-card-checklist-more:focus-visible{outline:2px solid color-mix(in srgb,var(--board-accent) 58%,transparent);outline-offset:2px;border-radius:6px}.task-card-checklist-items svg,.task-card-checklist-dot{flex:0 0 auto}.task-card-checklist-dot{width:12px;height:12px;border-radius:999px;border:1px solid color-mix(in srgb,var(--text-muted) 68%,transparent)}.task-desc-toolbar{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:.4rem}.task-desc-tool-btn{display:inline-flex;align-items:center;gap:.3rem;padding:.32rem .5rem;font-size:.75rem;line-height:1;border-radius:8px}.task-desc-tool-btn.is-active{background:color-mix(in srgb,var(--primary) 24%,var(--glass-bg));border-color:color-mix(in srgb,var(--primary) 58%,var(--glass-border));color:var(--text-main);box-shadow:0 0 0 1px color-mix(in srgb,var(--primary) 28%,transparent)}.task-desc-toolbar-note{margin:.1rem 0 0;font-size:.76rem;color:var(--text-muted);text-align:left}.task-description-editor{min-height:64px;max-height:256px;border:1px solid var(--glass-border);border-radius:10px;background:var(--bg-input);padding:.5rem .65rem;outline:none;overflow-y:hidden;line-height:1.45;transition:height .16s ease}.task-description-editor p{margin:0}.task-description-editor h1,.task-description-editor h2,.task-description-editor h3,.task-description-editor h4,.task-description-editor h5,.task-description-editor h6{margin:0;line-height:1.28}.task-description-editor ul,.task-description-editor ol{margin:0;padding-left:1.3rem}.task-description-editor li+li{margin-top:.22rem}.task-description-editor p+p,.task-description-editor p+ul,.task-description-editor p+ol,.task-description-editor ul+p,.task-description-editor ol+p,.task-description-editor ul+ul,.task-description-editor ol+ol,.task-description-editor ul+ol,.task-description-editor ol+ul,.task-description-editor h1+p,.task-description-editor h2+p,.task-description-editor h3+p,.task-description-editor h4+p,.task-description-editor h5+p,.task-description-editor h6+p,.task-description-editor p+h1,.task-description-editor p+h2,.task-description-editor p+h3,.task-description-editor p+h4,.task-description-editor p+h5,.task-description-editor p+h6{margin-top:.48rem}.task-description-editor-shell{position:relative}.task-description-editor:focus{border-color:color-mix(in srgb,var(--primary) 55%,var(--glass-border));box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 28%,transparent)}.task-description-editor.is-empty:before{content:attr(data-placeholder);color:var(--text-muted);pointer-events:none}.task-description-editor .task-editor-image-placeholder{display:inline-block;font-size:.78rem;color:var(--text-muted);border:1px dashed var(--glass-border);border-radius:8px;padding:.18rem .38rem;margin:.15rem 0}.task-description-editor .task-editor-inline-image{cursor:pointer}.task-description-editor .task-md-image{width:min(240px,100%);max-width:100%;height:auto;cursor:pointer}.task-editor-image-selection{position:absolute;border:2px solid color-mix(in srgb,var(--primary) 70%,#ffffff 5%);border-radius:8px;pointer-events:none;box-shadow:0 0 0 1px color-mix(in srgb,var(--primary) 35%,transparent)}.task-editor-image-resize-handle{position:absolute;right:-8px;bottom:-8px;width:14px;height:14px;border-radius:999px;border:2px solid #fff;background:var(--primary);box-shadow:0 1px 4px #00000040;cursor:nwse-resize;pointer-events:auto}.task-editor-image-delete-btn{position:absolute;top:-10px;right:-10px;width:20px;height:20px;border-radius:999px;border:1px solid color-mix(in srgb,#ffffff 85%,transparent);background:color-mix(in srgb,#ef4444 82%,#111827 18%);color:#fff;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #00000059;cursor:pointer;pointer-events:auto}.task-editor-image-delete-btn:hover{filter:brightness(1.06)}.task-desc-live-preview{margin-top:.55rem;border:1px solid var(--glass-border);border-radius:10px;background:color-mix(in srgb,var(--bg-panel) 70%,transparent);padding:.7rem .8rem}.task-desc-live-preview-label{margin:0 0 .45rem;font-size:.74rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.task-desc-live-preview-content{max-height:190px;overflow-y:auto;padding-right:.1rem}.task-desc-live-preview--modal{margin-top:0;display:flex;flex-direction:column;gap:.65rem;min-height:0}.task-desc-live-preview-content--modal{max-height:min(58vh,58dvh)}.task-desc-preview-image-open-shell img{cursor:zoom-in}.task-checklist-preview{display:flex;flex-direction:column;gap:.85rem;min-height:0;max-height:min(70vh,70dvh)}.task-checklist-preview-summary{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;border:1px solid color-mix(in srgb,var(--board-accent) 18%,var(--glass-border));border-radius:10px;background:color-mix(in srgb,var(--bg-panel) 72%,transparent);padding:.75rem .85rem}.task-checklist-preview-summary h4{margin:0;color:var(--text-main);font-size:1rem;line-height:1.25}.task-checklist-preview-summary strong{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-width:54px;min-height:30px;border-radius:999px;border:1px solid color-mix(in srgb,var(--board-accent) 34%,transparent);background:color-mix(in srgb,var(--board-accent-soft) 68%,var(--bg-panel));color:var(--text-main);font-size:.86rem}.task-checklist-preview-bar{height:8px;border-radius:999px;overflow:hidden;background:color-mix(in srgb,var(--bg-input) 86%,transparent);border:1px solid color-mix(in srgb,var(--board-accent) 18%,transparent)}.task-checklist-preview-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#16a34a,#38bdf8);transition:width .22s ease}.task-checklist-preview-list{display:flex;flex-direction:column;gap:.52rem;max-height:min(54vh,54dvh);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-right:.15rem}.task-checklist-preview-item{width:100%;display:grid;grid-template-columns:26px minmax(0,1fr);align-items:flex-start;gap:.55rem;border:1px solid var(--glass-border);border-radius:8px;background:color-mix(in srgb,var(--bg-input) 80%,transparent);padding:.62rem .7rem;color:var(--text-main);font:inherit;text-align:left;line-height:1.35;cursor:pointer;transition:border-color .16s ease,background-color .16s ease,transform .16s ease}.task-checklist-preview-item:hover:not(:disabled){border-color:color-mix(in srgb,var(--board-accent) 34%,var(--glass-border));background:color-mix(in srgb,var(--board-accent-soft) 38%,var(--bg-input));transform:translateY(-1px)}.task-checklist-preview-item:focus-visible{outline:2px solid color-mix(in srgb,var(--board-accent) 58%,transparent);outline-offset:2px}.task-checklist-preview-item:disabled{cursor:wait;opacity:.72}.task-checklist-preview-item.is-saving{border-color:color-mix(in srgb,var(--board-accent) 42%,var(--glass-border))}.task-checklist-preview-check{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:7px;border:1px solid color-mix(in srgb,var(--text-muted) 58%,transparent);color:#16a34a;background:color-mix(in srgb,var(--bg-panel) 84%,transparent)}.task-checklist-preview-item.is-checked{color:color-mix(in srgb,#16a34a 60%,var(--text-muted))}.task-checklist-preview-item.is-checked>span:last-child{text-decoration:line-through;text-decoration-thickness:1px}.task-checklist-preview-item.is-checked .task-checklist-preview-check{border-color:color-mix(in srgb,#16a34a 46%,transparent);background:color-mix(in srgb,#16a34a 12%,var(--bg-panel))}.task-preview-image-viewer{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(92vw,1200px);max-height:min(90vh,90dvh);border-radius:14px;border:1px solid var(--glass-border);background:color-mix(in srgb,#020617 96%,#0b1220 4%);padding:2.25rem 1rem 1rem;box-shadow:0 26px 64px #00000085;display:flex;align-items:center;justify-content:center}.task-preview-image-close-btn{position:absolute;top:.6rem;right:.6rem;z-index:2}.task-preview-image-viewer-img{max-width:100%;max-height:calc(min(90vh,90dvh) - 3.2rem);width:auto;height:auto;object-fit:contain;border-radius:8px}.task-checklist-editor{border:1px solid color-mix(in srgb,var(--board-accent) 22%,var(--glass-border));border-radius:12px;background:color-mix(in srgb,var(--bg-panel) 80%,transparent);padding:.9rem;display:flex;flex-direction:column;gap:.75rem}.task-checklist-editor-header,.task-checklist-footer{display:flex;align-items:center;justify-content:space-between;gap:.65rem;flex-wrap:wrap}.task-checklist-editor-header h4{margin:0;display:inline-flex;align-items:center;gap:.42rem;color:var(--text-main);font-size:.92rem}.task-checklist-count{display:inline-flex;align-items:center;justify-content:center;min-width:44px;border-radius:999px;padding:.18rem .55rem;border:1px solid color-mix(in srgb,var(--board-accent) 30%,var(--glass-border));background:color-mix(in srgb,var(--board-accent-soft) 72%,transparent);color:var(--text-main);font-size:.76rem;font-weight:800}.task-checklist-progress{height:8px;border-radius:999px;overflow:hidden;background:color-mix(in srgb,var(--bg-input) 84%,transparent);border:1px solid color-mix(in srgb,var(--board-accent) 16%,transparent)}.task-checklist-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#16a34a,#38bdf8);transition:width .22s ease}.task-checklist-items{display:flex;flex-direction:column;gap:.5rem;max-height:284px;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-right:.2rem}.task-checklist-row{flex:0 0 auto;display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:.55rem;padding:.48rem;border-radius:10px;border:1px solid var(--glass-border);background:color-mix(in srgb,var(--bg-input) 78%,transparent);transition:border-color .18s ease,background-color .18s ease}.task-checklist-row.is-checked{border-color:color-mix(in srgb,#16a34a 36%,var(--glass-border));background:color-mix(in srgb,#16a34a 9%,var(--bg-input))}.task-checklist-toggle{width:26px;height:26px;border-radius:8px;border:1px solid color-mix(in srgb,var(--text-muted) 54%,var(--glass-border));background:color-mix(in srgb,var(--bg-panel) 86%,transparent);color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .16s ease,border-color .16s ease,background-color .16s ease}.task-checklist-toggle:hover:not(:disabled){transform:translateY(-1px);border-color:color-mix(in srgb,var(--primary) 58%,var(--glass-border))}.task-checklist-toggle.is-checked{border-color:color-mix(in srgb,#16a34a 72%,var(--glass-border));background:#16a34a}.task-checklist-toggle:disabled{cursor:not-allowed;opacity:.55}.task-checklist-row input{width:100%;min-width:0;border:none;background:transparent;color:var(--text-main);padding:.28rem .1rem;font-size:.9rem}.task-checklist-row input:focus{outline:none}.task-checklist-text{color:var(--text-main);font-size:.88rem;line-height:1.35;overflow-wrap:anywhere}.task-checklist-row.is-checked .task-checklist-text,.task-checklist-row.is-checked input{color:color-mix(in srgb,var(--text-muted) 84%,#16a34a);text-decoration:line-through;text-decoration-thickness:1px}.task-checklist-remove{width:30px;height:30px}.task-checklist-add{display:inline-flex;align-items:center;gap:.35rem}.task-checklist-auto-state,.task-field-note{color:var(--text-muted);font-size:.78rem}.task-checklist-auto-state strong{color:var(--text-main)}.task-field-note{display:block;margin-top:.1rem;font-weight:700}.task-checklist-empty{display:flex;align-items:center;gap:.45rem;color:var(--text-muted);font-size:.82rem;border:1px dashed var(--glass-border);border-radius:10px;padding:.65rem .75rem;background:color-mix(in srgb,var(--bg-input) 52%,transparent)}.task-timeline-box{margin-top:.5rem;border:1px solid var(--glass-border);border-radius:10px;background:#00000014;padding:.9rem;display:flex;flex-direction:column;gap:.8rem}.task-timeline-header h4{margin:0;display:flex;align-items:center;gap:.4rem;color:var(--text-main);font-size:.9rem}.task-comment-form{display:flex;flex-direction:column;gap:.5rem}.task-comment-actions{display:flex;justify-content:flex-end}.task-timeline-list{max-height:220px;overflow-y:auto;display:flex;flex-direction:column;gap:.55rem;padding-right:.25rem}.task-timeline-item{border:1px solid var(--glass-border);background:var(--glass-bg);border-radius:8px;padding:.6rem;text-align:left;border-left:1px solid var(--glass-border)}.task-timeline-meta{display:flex;justify-content:space-between;align-items:flex-start;gap:.65rem;font-size:.72rem;color:var(--text-muted);margin-bottom:.3rem}.task-timeline-meta-left{display:inline-flex;align-items:center;gap:.45rem;min-width:0}.task-timeline-kind{display:inline-flex;align-items:center;justify-content:center;padding:.15rem .45rem;border-radius:999px;border:1px solid var(--glass-border);background:color-mix(in srgb,var(--bg-input) 86%,transparent);color:var(--text-muted);font-size:.67rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.task-timeline-item p{margin:0;font-size:.82rem;color:var(--text-main)}.task-timeline-item small{display:block;margin-top:.35rem;color:var(--text-muted);font-size:.72rem}.task-timeline-empty{font-size:.82rem;color:var(--text-muted);display:flex;align-items:center;gap:.4rem}.task-attachments-box{margin-top:.5rem;border:1px solid var(--glass-border);border-radius:10px;background:#0000000f;padding:.9rem;display:flex;flex-direction:column;gap:.75rem;transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease}.task-attachments-upload-row{display:grid;grid-template-columns:repeat(2,auto);gap:.6rem;align-items:center;justify-content:flex-start}.task-attachments-hidden-input{width:1px;height:1px;opacity:0;position:absolute;pointer-events:none}.task-attachments-upload-row .btn{display:inline-flex;align-items:center;gap:.35rem}.task-create-attachments-box{margin-top:.2rem;border:1px dashed var(--glass-border);border-radius:10px;background:color-mix(in srgb,var(--bg-panel) 72%,transparent);padding:.75rem .8rem;display:flex;flex-direction:column;gap:.7rem;transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease}.task-attachments-drop-zone--active{border-color:color-mix(in srgb,var(--primary) 65%,var(--glass-border));background:color-mix(in srgb,var(--bg-panel) 74%,var(--primary) 12%);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 28%,transparent)}.task-attachments-drop-hint{margin:0;font-size:.76rem;color:var(--text-muted)}.task-create-attachments-header{display:flex;align-items:center;justify-content:space-between;gap:.6rem;flex-wrap:wrap}.task-create-attachments-header>span{font-size:.8rem;font-weight:700;color:var(--text-main)}.task-create-attachments-actions{display:inline-flex;align-items:center;gap:.45rem;flex-wrap:wrap}.task-create-attachments-actions .btn{display:inline-flex;align-items:center;gap:.3rem}.task-create-attachments-empty{margin:0;font-size:.8rem;color:var(--text-muted)}.task-create-attachments-list{display:flex;flex-direction:column;gap:.55rem;max-height:200px;overflow-y:auto;padding-right:.15rem}.task-create-attachment-item{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:.55rem;align-items:center;border:1px solid var(--glass-border);border-radius:8px;background:var(--bg-input);padding:.45rem}.task-create-attachment-item img,.task-create-attachment-fallback{width:52px;height:52px;border-radius:6px;border:1px solid var(--glass-border);display:inline-flex;align-items:center;justify-content:center;object-fit:cover;background:color-mix(in srgb,var(--bg-panel) 78%,transparent);color:var(--text-muted)}.task-create-attachment-info{min-width:0;display:flex;flex-direction:column;gap:.15rem}.task-create-attachment-info strong{font-size:.78rem;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-create-attachment-info span{font-size:.73rem;color:var(--text-muted)}.task-create-attachment-remove{padding:.32rem .52rem;font-size:.74rem}.task-attachments-picked{margin:0;font-size:.78rem;color:var(--text-muted)}.task-attachment-success{margin:0;font-size:.8rem;color:#1f8d6f;font-weight:600}.task-attachments-list{display:flex;flex-direction:column;gap:.6rem;max-height:220px;overflow-y:auto;padding-right:.2rem}.task-attachment-item{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:.6rem;align-items:center;border:1px solid var(--glass-border);border-radius:8px;background:var(--bg-input);padding:.5rem}.task-attachment-preview{width:64px;height:64px;border-radius:6px;overflow:hidden;border:1px solid var(--glass-border);display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--bg-panel) 80%,transparent)}.task-attachment-preview img{width:100%;height:100%;object-fit:cover;display:block}.task-attachment-info{min-width:0;display:flex;flex-direction:column;gap:.15rem}.task-attachment-info strong{font-size:.8rem;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-attachment-info span{font-size:.74rem;color:var(--text-muted)}.task-attachment-actions{display:inline-flex;align-items:center;gap:.45rem}.task-attachment-link,.task-attachment-delete{display:inline-flex;align-items:center;gap:.3rem;font-size:.74rem;padding:.35rem .55rem}.task-attachment-delete{border-color:#b2576b59;color:#b2576b}.task-attachments-hint{margin-top:.5rem;border:1px dashed var(--glass-border);border-radius:10px;padding:.75rem .9rem;color:var(--text-muted);font-size:.82rem;background:color-mix(in srgb,var(--bg-panel) 70%,transparent)}.task-attachments-hint--top{margin-top:.35rem;margin-bottom:0;font-size:.8rem}.notifications-toggle{position:relative}.notifications-badge{position:absolute;top:-6px;right:-6px;min-width:16px;height:16px;border-radius:999px;background:#ef4444;color:#fff;font-size:.65rem;display:flex;align-items:center;justify-content:center;font-weight:700}.notifications-panel{position:absolute;top:calc(100% + .8rem);right:0;width:min(420px,92vw);max-height:70vh;border-radius:12px;padding:1rem;z-index:120;display:flex;flex-direction:column;gap:.8rem;background:var(--bg-panel);border:1px solid var(--glass-border-hover);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:none;backdrop-filter:none}.notifications-header{display:flex;align-items:center;justify-content:space-between;gap:.8rem}.notifications-header h3{margin:0;display:flex;align-items:center;gap:.45rem;font-size:.95rem}.notifications-header-actions{display:flex;gap:.45rem}.notifications-header-actions .btn{font-size:.74rem;padding:.35rem .6rem}.notifications-list{display:flex;flex-direction:column;gap:.55rem;overflow-y:auto;max-height:55vh;padding-right:.2rem}.notification-item{width:100%;text-align:left;border:1px solid var(--glass-border);background:var(--bg-input);border-radius:9px;padding:.6rem;color:var(--text-main);cursor:pointer;transition:border-color .2s,background .2s}.notification-item:hover{border-color:var(--glass-border-hover);background:var(--glass-highlight)}.notification-item.unread{border-left:3px solid var(--primary);background:color-mix(in srgb,var(--primary) 8%,var(--bg-panel))}.notification-item.read{opacity:1;background:color-mix(in srgb,var(--bg-input) 92%,var(--bg-panel))}.notification-title-row{display:flex;justify-content:space-between;align-items:center;gap:.4rem;font-size:.82rem}.notification-title-main{min-width:0;display:flex!important;align-items:center;gap:.4rem;color:var(--text-main)!important;font-size:.82rem!important}.notification-title-main strong{overflow:hidden;text-overflow:ellipsis}.notification-birthday-icon{flex:0 0 auto;color:#f59e0b}.notification-item.birthday-notification{border-color:color-mix(in srgb,#f59e0b 32%,var(--glass-border));background:color-mix(in srgb,#f59e0b 7%,var(--bg-panel))}.notification-item.birthday-notification.unread{border-left-color:#f59e0b}.notification-item p{margin:.25rem 0;color:var(--text-main);font-size:.82rem}.notification-item small,.notification-item span{display:block;color:var(--text-muted);font-size:.7rem}.notifications-empty{color:var(--text-muted);font-size:.85rem;text-align:center;padding:.8rem}.user-mgmt-overlay{z-index:14000}.user-mgmt-content{position:relative;z-index:1}.user-mgmt-header h3{color:var(--primary)}.user-mgmt-layout{display:grid;grid-template-columns:minmax(310px,.84fr) minmax(0,1.55fr);gap:clamp(.85rem,1.3vw,1.2rem);align-items:stretch}.user-mgmt-form{position:sticky;top:0}.user-mgmt-error{text-align:left;margin-top:-.2rem}.user-mgmt-hint{margin:-.1rem 0 0;font-size:.78rem;color:var(--text-muted);line-height:1.35}.user-list-shell{border:1px solid var(--glass-border);border-radius:12px;background:var(--glass-bg);display:flex;flex-direction:column;min-height:0;height:100%;max-height:none;min-width:0;overflow:hidden}.user-list-shell-header{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;padding:.75rem .85rem;border-bottom:1px solid var(--glass-border);background:var(--bg-panel)}.user-list-shell-header h4{margin:0;color:var(--text-main)}.user-list-shell-header span{font-size:.75rem;color:var(--text-muted);border:1px solid var(--glass-border);border-radius:999px;padding:.2rem .45rem}.user-list-scroll{padding:.85rem;overflow-y:auto;flex:1;min-height:0}.user-resend-success{margin:0 0 .55rem;padding:.55rem .7rem;border:1px solid rgba(34,197,94,.28);border-radius:8px;background:#22c55e14;color:#15803d;font-size:.78rem}.user-resend-toast{position:fixed;right:1.25rem;bottom:1.25rem;z-index:17000;max-width:min(360px,calc(100vw - 2rem));padding:.75rem 1rem;border:1px solid rgba(34,197,94,.35);border-radius:10px;background:var(--bg-panel, #fff);color:#15803d;box-shadow:0 14px 34px #0f172a33;font-size:.82rem;animation:user-resend-toast-in .22s ease-out both}@keyframes user-resend-toast-in{0%{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.user-list-filters{display:grid;grid-template-columns:1fr 180px;gap:.6rem;padding:.75rem .85rem .25rem;border-bottom:1px solid var(--glass-border)}@media(max-width:1024px){.user-mgmt-layout{grid-template-columns:1fr}.user-mgmt-form{position:static}.user-list-shell{min-height:clamp(300px,44vh,420px);max-height:min(56vh,520px)}}.confirm-dialog{max-width:500px}.confirm-title{margin:0;display:flex;align-items:center;gap:.5rem}.confirm-title.warning{color:#f59e0b}.confirm-title.danger{color:#ef4444}.confirm-message{color:var(--text-muted);margin-bottom:1rem}.confirm-reason{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem}.confirm-reason label{font-size:.85rem;color:var(--text-muted)}.confirm-reason textarea{resize:vertical;min-height:72px}.confirm-actions{display:flex;justify-content:flex-end;gap:.75rem}.confirm-btn{border-color:#ef444466;color:#ef4444}html,body,#root{max-width:100%;height:100%;max-height:100dvh;overflow:hidden}.app-container,.main-layout,.main-content,.board-container,.board-controls,.board-controls-right,.task-list-shell,.calendar-shell{min-width:0}.logo-section{min-width:0;flex:1 1 260px}.actions{min-width:0;flex-wrap:wrap;justify-content:flex-end}.search-bar{width:min(100%,300px)}.board-filter-inline,.board-filter-inline .select-field{min-width:0}.project-header{display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap}.project-header-main{display:flex;align-items:center;gap:.75rem;min-width:0}.project-header-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.project-action-btn{font-size:.9rem;display:inline-flex;align-items:center;gap:.5rem}.project-action-btn.danger{border-color:#ef4444;color:#ef4444}@media(max-width:1500px){.app-header{padding:.68rem .95rem;margin-bottom:.62rem}.brand-logo-header{width:clamp(96px,11.5vw,132px)}h1{font-size:1.2rem}.subtitle{font-size:.72rem}.actions .btn-icon{padding:.34rem}.actions .btn-icon svg{width:16px;height:16px}.project-header{--project-avatar-size: 44px;margin-bottom:.62rem;padding-bottom:.5rem}.project-header h2{font-size:clamp(1.1rem,1.75vw,1.34rem)}.project-action-btn{font-size:.84rem;padding:.45em .78em;gap:.36rem}.project-action-btn svg{width:14px;height:14px}}.app-error-banner{position:fixed;top:max(.75rem,env(safe-area-inset-top));right:1rem;z-index:16000;width:min(420px,calc(100vw - 2rem));max-height:min(46vh,360px);overflow-y:auto;padding:.75rem 1rem;border-radius:10px;margin-bottom:0;border-color:#f97316;color:#f97316;display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;box-shadow:0 14px 34px -22px #000c}.app-error-close{font-size:.85rem;margin-left:auto}.app-update-banner{position:fixed;top:max(5rem,calc(env(safe-area-inset-top) + 4.5rem));right:1rem;z-index:15950;width:min(420px,calc(100vw - 2rem));padding:.75rem 1rem;border-radius:10px;margin-bottom:0;border-color:color-mix(in srgb,var(--primary) 45%,var(--glass-border));background:color-mix(in srgb,var(--bg-panel) 90%,var(--primary) 10%);color:var(--text-main);display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;box-shadow:0 14px 34px -22px #000c}.app-update-banner span{color:var(--text-muted);font-size:.86rem}.app-update-reload{margin-left:auto;font-size:.85rem}@media(max-width:640px){.app-error-banner{top:max(.55rem,env(safe-area-inset-top));right:.55rem;width:calc(100vw - 1.1rem);max-height:40vh}.app-update-banner{top:max(4.9rem,calc(env(safe-area-inset-top) + 4.3rem));right:.55rem;width:calc(100vw - 1.1rem)}}.notifications-backdrop{display:none}.modal-overlay{padding:clamp(.75rem,2vw,1rem);overflow-y:auto;overscroll-behavior:contain}.modal-content{width:min(100%,500px);max-height:min(85vh,85dvh);--modal-pad-x: clamp(1rem, 2vw, 2rem);--modal-pad-top: clamp(1rem, 2vw, 2rem);--modal-pad-bottom: clamp(1rem, 2vw, 2rem);padding:var(--modal-pad-top) var(--modal-pad-x) var(--modal-pad-bottom);position:relative}.modal-mobile-full{min-height:0}.modal-section-title{margin:0}.add-task-form{width:min(92vw,760px);max-height:min(92vh,92dvh);overflow-y:auto;--modal-pad-x: clamp(1rem, 2vw, 1.5rem);--modal-pad-top: clamp(1rem, 2vw, 1.5rem);--modal-pad-bottom: clamp(1rem, 2vw, 1.5rem);padding:var(--modal-pad-top) var(--modal-pad-x) var(--modal-pad-bottom)}.add-task-form form{display:flex;flex-direction:column;gap:.9rem;min-width:0}.add-task-form--task{max-width:760px}.add-task-form--task .form-actions{position:sticky;bottom:calc(var(--modal-pad-bottom, 0px) * -1);z-index:6;margin-top:.8rem;margin-bottom:calc(var(--modal-pad-bottom, 0px) * -1);margin-left:calc(var(--modal-pad-x, 0px) * -1);margin-right:calc(var(--modal-pad-x, 0px) * -1);padding:.7rem var(--modal-pad-x, 0px) calc(.7rem + env(safe-area-inset-bottom));border-top:1px solid var(--glass-border);background:color-mix(in srgb,var(--bg-panel) 96%,transparent);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.add-task-form--task .form-actions .btn{padding:.5em .95em;font-size:.92rem}.add-task-form--task .form-actions .task-form-submit-btn{min-width:108px;white-space:nowrap;border-color:var(--primary);color:var(--primary)}.add-task-form--task .form-actions .task-form-submit-btn:hover:not(:disabled){background-color:var(--primary);border-color:var(--primary);color:#fff}.add-task-form--description-preview{max-width:760px}.add-task-form--checklist-preview{max-width:560px;max-height:min(86vh,86dvh);overflow-y:auto}.add-task-form--columns{max-width:680px}.add-task-form--column-editor{max-width:620px;z-index:1001}.task-form-grid{display:grid;gap:1rem}.task-form-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.task-form-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.task-form-field{display:flex;flex-direction:column;gap:.35rem;min-width:0}.task-form-field label,.task-form-label{color:var(--text-muted);font-size:.85rem}.task-form-field input,.task-form-field .select-field{width:100%}.task-datetime-picker{position:relative;width:100%}.task-datetime-trigger{width:100%;min-height:40px;border-radius:9px;border:1px solid var(--glass-border);background:color-mix(in srgb,var(--bg-input) 90%,transparent);color:var(--text-main);display:inline-flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.52rem .72rem;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.task-datetime-trigger:hover{border-color:color-mix(in srgb,var(--board-accent) 36%,var(--glass-border))}.task-datetime-picker.is-open .task-datetime-trigger{border-color:color-mix(in srgb,var(--primary) 54%,var(--glass-border));box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 20%,transparent);background:color-mix(in srgb,var(--bg-input) 78%,var(--board-accent-soft))}.task-datetime-trigger:disabled{cursor:not-allowed}.task-datetime-value{font-size:.88rem;font-weight:500}.task-datetime-value.is-placeholder{color:var(--text-muted);font-weight:400}.task-datetime-icon{color:color-mix(in srgb,var(--board-accent) 74%,var(--text-main))}.task-datetime-popover{position:absolute;left:0;top:calc(100% + .45rem);z-index:2200;width:min(460px,calc(100vw - 2rem));max-width:100%;border-radius:12px;border:1px solid color-mix(in srgb,var(--board-accent) 24%,var(--glass-border));background:color-mix(in srgb,var(--bg-panel) 94%,transparent);padding:.6rem;box-shadow:0 22px 34px -26px #000000c7}.task-datetime-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(145px,.95fr);gap:.65rem}.task-datetime-calendar{min-width:0;display:flex;flex-direction:column;gap:.55rem}.task-datetime-side-panel{min-width:0;display:flex;flex-direction:column;gap:.45rem;padding-left:.6rem;border-left:1px solid color-mix(in srgb,var(--board-accent) 22%,var(--glass-border))}.task-datetime-side-title{margin:0;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:color-mix(in srgb,var(--board-accent) 78%,var(--text-main))}.task-datetime-header{display:grid;grid-template-columns:30px 1fr 30px;align-items:center;gap:.3rem}.task-datetime-header strong{text-align:center;font-size:.87rem;color:color-mix(in srgb,var(--board-accent) 84%,var(--text-main));text-transform:capitalize;letter-spacing:.01em}.task-datetime-nav-btn{padding:.2rem;min-height:30px;border-radius:8px}.task-datetime-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.22rem}.task-datetime-weekdays span{text-align:center;font-size:.66rem;text-transform:uppercase;letter-spacing:.05em;color:color-mix(in srgb,var(--board-accent) 82%,var(--text-main));font-weight:700}.task-datetime-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.22rem}.task-datetime-day{border:1px solid color-mix(in srgb,var(--glass-border) 90%,transparent);background:color-mix(in srgb,var(--bg-input) 88%,transparent);color:var(--text-main);border-radius:8px;min-height:30px;font-size:.78rem;font-weight:600;cursor:pointer;transition:border-color .2s ease,background .2s ease,transform .2s ease}.task-datetime-day:hover{border-color:color-mix(in srgb,var(--board-accent) 44%,var(--glass-border));background:color-mix(in srgb,var(--board-accent-soft) 64%,var(--bg-input))}.task-datetime-day.is-outside{opacity:.56}.task-datetime-day.is-today{border-color:color-mix(in srgb,var(--primary) 45%,var(--glass-border))}.task-datetime-day.is-selected{color:#fff;border-color:color-mix(in srgb,var(--primary) 70%,var(--board-accent));background:color-mix(in srgb,var(--primary) 82%,var(--board-accent));transform:translateY(-1px)}.task-datetime-time{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.42rem}.task-datetime-time .select-field,.task-datetime-select{min-width:0}.task-datetime-select .select-field-trigger,.task-datetime-select .select-field-native{padding:.45rem .55rem;border-radius:8px;font-size:.84rem;font-weight:600}.task-datetime-select-period{text-transform:lowercase;width:100%}.task-datetime-select-period .select-field-trigger,.task-datetime-select-period .select-field-native{text-transform:lowercase}.task-datetime-time-separator{color:var(--text-muted);font-weight:700}.task-datetime-actions{display:grid;grid-template-columns:1fr;gap:.34rem}.task-datetime-quick-btn{min-height:32px;border-radius:8px;padding:.25rem .45rem;font-size:.76rem;font-weight:600}.task-datetime-quick-btn{background:color-mix(in srgb,var(--bg-input) 88%,transparent);border-color:color-mix(in srgb,var(--board-accent) 20%,var(--glass-border))}.task-datetime-quick-btn:hover{background:color-mix(in srgb,var(--board-accent-soft) 62%,var(--bg-input));border-color:color-mix(in srgb,var(--board-accent) 44%,var(--glass-border));box-shadow:none;color:var(--text-main)}:root:not([data-theme=light]) .add-task-form.glass{background:color-mix(in srgb,#070b12 93%,transparent);border-color:color-mix(in srgb,var(--board-accent) 24%,var(--glass-border))}:root:not([data-theme=light]) .add-task-form.glass:hover{background:color-mix(in srgb,#070b12 93%,transparent);border-color:color-mix(in srgb,var(--board-accent) 26%,var(--glass-border-hover))}:root:not([data-theme=light]) .task-datetime-popover{background:color-mix(in srgb,#0b121b 98%,transparent);border-color:color-mix(in srgb,var(--board-accent) 30%,var(--glass-border));box-shadow:0 26px 44px -28px #000000eb}:root:not([data-theme=light]) .task-datetime-popover.glass:hover,:root:not([data-theme=light]) .select-field-menu.glass:hover,:root:not([data-theme=light]) .assignee-multi-select-menu.glass:hover{background:color-mix(in srgb,#0b121b 98%,transparent);border-color:color-mix(in srgb,var(--board-accent) 30%,var(--glass-border))}:root:not([data-theme=light]) .task-datetime-trigger{background:color-mix(in srgb,#0a121b 92%,transparent);border-color:color-mix(in srgb,var(--board-accent) 24%,var(--glass-border))}:root:not([data-theme=light]) .task-datetime-trigger:hover{background:color-mix(in srgb,#0d1723 92%,transparent);border-color:color-mix(in srgb,var(--board-accent) 46%,var(--glass-border-hover))}:root:not([data-theme=light]) .task-datetime-day{background:color-mix(in srgb,#0c1520 90%,transparent)}:root:not([data-theme=light]) .task-datetime-day:hover{background:color-mix(in srgb,#122338 72%,var(--bg-input));border-color:color-mix(in srgb,var(--board-accent) 52%,var(--glass-border-hover))}:root:not([data-theme=light]) .task-datetime-quick-btn:hover{background:color-mix(in srgb,#122338 68%,var(--bg-input));border-color:color-mix(in srgb,var(--board-accent) 52%,var(--glass-border-hover))}:root:not([data-theme=light]) .select-field-menu,:root:not([data-theme=light]) .assignee-multi-select-menu{background:color-mix(in srgb,#0b121b 98%,transparent);border-color:color-mix(in srgb,var(--board-accent) 28%,var(--glass-border));box-shadow:0 22px 36px -24px #000000eb}.form-inline-error{text-align:left;margin-top:.5rem}.user-mgmt-modal{width:min(97vw,1160px);max-width:1160px;max-height:min(88vh,88dvh);padding:clamp(1rem,2vw,1.6rem);overflow:hidden;display:flex;flex-direction:column;gap:1rem}.user-mgmt-layout{min-height:0}.user-mgmt-form-fields{display:flex;flex-direction:column;gap:.95rem;margin-top:.8rem}.user-mgmt-row{display:grid;grid-template-columns:minmax(0,1fr);gap:.5rem}.user-mgmt-row-role{grid-template-columns:minmax(0,1fr) auto}.user-mgmt-contact-row{grid-template-columns:1fr}.user-mgmt-row-submit{grid-template-columns:1fr;gap:.65rem}.user-mgmt-row-submit .user-mgmt-create-btn{justify-self:end;width:auto;min-width:120px}.user-mgmt-input-wrap{min-width:0}.user-mgmt-input{width:100%;padding-left:3rem!important;background:transparent!important}.user-mgmt-role-select{width:auto;min-width:110px}.user-mgmt-create-btn{display:inline-flex;align-items:center;justify-content:center}.user-mgmt-create-btn-text{margin-left:.5rem}.user-list-compact{margin-top:0;gap:.45rem}.user-list-main{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:.7rem;row-gap:.2rem}.user-list-username{display:block;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-list-contact{display:flex;flex-direction:row;align-items:center;gap:.25rem;margin-top:0;color:var(--text-muted);font-size:.68rem;line-height:1.35;min-width:0}.user-list-contact span{flex:0 1 auto}.user-list-contact span{display:inline-flex;align-items:center;gap:.28rem;min-width:0;max-width:18rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-list-contact svg{flex:0 0 auto;color:var(--accent, #229ed9)}.user-list-contact.is-hidden{display:none}.legacy-contact-hidden{display:none!important}.user-contact-menu{position:relative;display:inline-flex;margin-top:.55rem}.user-list-main .user-contact-menu{display:none}.user-list-main .user-contact-edit{grid-column:1 / -1}.user-contact-trigger{display:inline-flex;align-items:center;gap:.4rem;min-height:32px;padding:.35rem .65rem;border:1px solid var(--glass-border);border-radius:8px;background:transparent;color:var(--text-muted);font:inherit;font-size:.76rem;cursor:pointer}.user-contact-trigger:hover,.user-contact-trigger:focus-visible{color:var(--text-main);border-color:var(--accent, #229ed9)}.user-contact-trigger .is-open{transform:rotate(180deg)}.user-contact-popover{position:absolute;z-index:8;top:calc(100% + .4rem);left:0;display:grid;gap:.45rem;min-width:250px;padding:.7rem;border:1px solid var(--glass-border);border-radius:10px;background:var(--bg-panel, #fff);box-shadow:0 12px 28px #0f172a2e}.user-contact-popover span{display:inline-flex;align-items:center;gap:.45rem;color:var(--text-main);font-size:.78rem;overflow-wrap:anywhere}.user-contact-edit{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(150px,.8fr);gap:.55rem;margin-top:.55rem;width:100%;max-width:none}.user-list-item:has(.user-contact-edit) .user-contact-edit{display:none}.user-list-item:has(.user-contact-edit) .user-list-actions>.icon-btn:nth-child(1),.user-list-item:has(.user-contact-edit) .user-list-actions>.icon-btn:nth-child(2){display:none}.user-contact-modal-overlay{z-index:16000}.user-contact-modal{width:min(92vw,420px);padding:1.2rem;border:1px solid var(--glass-border);border-radius:14px;background:var(--bg-panel);box-shadow:0 24px 60px #0f172a40}.user-contact-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.user-contact-modal-header h3{margin:.2rem 0 0}.user-contact-modal-kicker{color:var(--text-muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em}.user-contact-modal-user{margin:.85rem 0 1rem;color:var(--text-muted)}.user-contact-modal-fields{display:grid;gap:.75rem}.user-contact-modal-fields label{display:grid;gap:.35rem;color:var(--text-muted);font-size:.8rem}.user-contact-modal-fields input{width:100%;background:transparent}.user-contact-modal-actions{display:flex;justify-content:flex-end;gap:.55rem;margin-top:1.1rem}.user-contact-edit input{min-width:0;border:1px solid var(--border-color, rgba(148, 163, 184, .35));border-radius:8px;background:transparent;color:inherit;padding:6px 8px;font:inherit;font-size:.78rem;min-height:36px}.user-list-item:has(.user-contact-edit){align-items:flex-start;row-gap:.75rem}.user-list-item:has(.user-contact-edit) .user-info-row{flex:1 1 100%}.user-list-item:has(.user-contact-edit) .user-list-actions{width:100%;justify-content:flex-start;padding-left:3.7rem}.user-mgmt-contact-row{align-items:stretch}.user-mgmt-contact-row .input-icon-wrapper{gap:0;padding-inline:0}.user-list-meta{display:none;align-items:center;gap:.5rem;flex-wrap:wrap}.user-list-pass-mask{display:none}.user-avatar--management{position:relative;display:flex;flex-direction:column;align-items:center;gap:.12rem;width:44px;height:auto;min-height:48px;flex:0 0 44px;box-shadow:none}.user-avatar-picture{width:30px;height:30px;border-radius:999px;overflow:hidden;flex:0 0 30px}.user-avatar-picture img{width:100%;height:100%;object-fit:cover}.user-avatar-role{font-size:.56rem;line-height:1;padding:.16rem .3rem;white-space:nowrap;margin-top:.05rem}.user-list-pass-mask{font-size:.7rem;color:var(--text-muted)}.user-list-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.user-list-compact .user-list-item{min-height:0;padding:.35rem .55rem;align-items:center;align-content:center;flex-wrap:nowrap;gap:.2rem}.user-list-compact .user-info-row{flex:1 1 auto;min-width:0;gap:.45rem;justify-content:flex-start}.user-avatar--management{width:52px;min-height:58px;box-shadow:none}.user-list-compact .user-list-actions{flex:0 0 auto;width:auto;justify-content:flex-end;padding-left:0;gap:.3rem;flex-wrap:wrap}.user-list-compact .icon-btn{width:24px;height:24px}.user-list-compact .user-list-item:has(.user-contact-edit){flex-wrap:nowrap;align-items:center}.user-list-compact .user-list-item:has(.user-contact-edit) .user-info-row{flex:1 1 auto}.user-list-compact .user-list-item:has(.user-contact-edit) .user-list-actions{width:auto;padding-left:0;justify-content:flex-end}.user-list-compact .user-role-select{width:auto;min-width:82px;max-width:96px;flex:0 0 82px}.user-list-compact .icon-btn{width:32px;height:32px}.user-role-select{min-width:90px}.user-role-select .select-field-trigger,.user-role-select .select-field-native{font-size:.72rem;padding:.25rem .4rem}.members-modal{display:flex;flex-direction:column;gap:.8rem}.members-overlay{z-index:14000}.members-content{position:relative;z-index:1}.members-user-list{margin-top:0}.members-helper-text{font-size:.9rem;margin-bottom:1rem}.members-empty-state{font-size:.85rem;margin-top:.5rem}.user-list-item.is-admin{opacity:.7}.user-list-item{gap:.7rem}.user-info-row{min-width:0}.user-info-row>div:last-child{min-width:0}@media(max-width:1024px){.app-header{padding:.9rem 1rem}.actions{width:100%;justify-content:flex-start;gap:.55rem}.project-header-actions{width:100%;justify-content:flex-start}.project-action-btn{flex:1 1 180px;justify-content:center}.board-controls-right{justify-content:flex-start}.notifications-panel{right:0}}@media(max-width:768px){.app-container{padding:.9rem}.logo-section{flex-basis:100%}.actions{justify-content:space-between}.actions .sidebar-toggle-btn{order:-1}.project-header-main{width:100%;align-items:flex-start}.project-title-display{width:100%}.project-title-edit-form{width:100%;min-width:0}.project-title-edit-inline{width:100%;align-items:stretch;flex-direction:column;gap:.5rem}.project-title-edit-input{min-width:0;width:100%;max-width:100%}.project-title-edit-actions{width:100%}.project-title-edit-btn{flex:1 1 0}.project-header h2{font-size:1.55rem}.project-header-actions{width:100%}.project-action-btn{flex:1 1 calc(50% - .5rem);min-width:150px;justify-content:center}.search-bar,.board-controls-right{width:100%}.board-controls-right>*{flex:1 1 calc(50% - .5rem)}.view-toggle{width:100%;justify-content:space-between;order:2}.view-toggle-btn{flex:1 1 0;justify-content:center}.board-filter-inline{width:100%;order:1}.task-form-grid-2,.task-form-grid-3,.user-mgmt-row-role,.user-mgmt-row-submit,.user-mgmt-contact-row{grid-template-columns:1fr}.user-mgmt-role-select,.user-mgmt-create-btn{width:100%}.user-list-compact .user-role-select{width:auto;min-width:118px;max-width:140px}.user-list-item{flex-wrap:wrap;align-items:flex-start}.user-list-compact .user-list-item,.user-list-compact .user-list-item:has(.user-contact-edit){flex-wrap:wrap}.user-list-compact .user-info-row{flex:1 1 100%}.user-list-compact .user-list-actions,.user-list-compact .user-list-item:has(.user-contact-edit) .user-list-actions{width:100%;flex:1 1 100%}.user-list-compact .user-list-item:has(.user-contact-edit){flex-wrap:wrap}.user-list-compact .user-list-item:has(.user-contact-edit) .user-list-actions{width:100%;justify-content:flex-start;padding-left:0}.user-list-contact{flex-wrap:wrap;flex-direction:row;gap:.25rem .7rem}.user-list-contact span{max-width:min(100%,19rem)}.user-list-actions{width:100%;justify-content:flex-start}.user-contact-edit{grid-template-columns:1fr}.user-contact-popover{left:auto;right:0;min-width:min(250px,calc(100vw - 3rem))}.members-user-list{max-height:52vh;overflow-y:auto;padding-right:.2rem}}@media(max-width:640px){.app-container{padding:.68rem}.app-header{border-radius:12px;padding:.78rem;gap:.5rem}.actions .btn-icon{padding:.4rem}.board-controls--sticky{border-radius:10px}.actions .btn-icon svg{width:18px;height:18px}.project-header h2{font-size:1.35rem}.project-header-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.project-action-btn{min-width:0;width:100%;font-size:.82rem}.project-action-btn span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.modal-overlay-mobile-full{padding:0;align-items:stretch;justify-content:stretch;overflow:hidden}.modal-content.modal-mobile-full,.add-task-form.modal-mobile-full{position:fixed!important;inset:0!important;width:100dvw!important;max-width:none;height:100dvh;min-height:100dvh;max-height:100dvh!important;border-radius:0!important;transform:none!important;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;box-sizing:border-box;--modal-pad-x: .9rem;--modal-pad-top: calc(1rem + env(safe-area-inset-top)) ;--modal-pad-bottom: calc(1rem + env(safe-area-inset-bottom)) ;padding:var(--modal-pad-top) var(--modal-pad-x) var(--modal-pad-bottom)}.modal-mobile-full .modal-header{z-index:8}.modal-mobile-full .task-checklist-preview{max-height:none}.modal-mobile-full .task-checklist-preview-list{max-height:58dvh}.modal-mobile-full .form-actions{position:sticky;bottom:0;z-index:4;background:var(--bg-panel);border-top:1px solid var(--glass-border);padding-top:.65rem;margin-top:.75rem}.modal-mobile-full .form-actions .btn{padding:.48em .9em;font-size:.9rem}.project-profile-content{gap:.85rem}.project-profile-title-group{gap:.7rem}.project-profile-logo{width:46px;height:46px;border-radius:10px}.project-profile-section{padding:.85rem}.project-profile-section-header{align-items:stretch;flex-direction:column}.project-profile-upload-btn,.project-profile-footer .btn{width:100%}.project-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.project-photo-meta span,.project-photo-meta small{white-space:normal}.task-datetime-popover{width:100%;max-width:100%}.task-datetime-layout{grid-template-columns:1fr;gap:.5rem}.task-datetime-side-panel{border-left:none;border-top:1px solid color-mix(in srgb,var(--board-accent) 22%,var(--glass-border));padding-left:0;padding-top:.5rem}.task-datetime-day{min-height:28px;font-size:.74rem}.task-datetime-time{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.task-datetime-actions{grid-template-columns:1fr}.notifications-backdrop{display:block;position:fixed;inset:0;border:none;background:#00000073;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);z-index:12999}.notifications-panel{position:fixed;inset:auto 0 0;width:100vw;max-height:min(76vh,76dvh);border-radius:16px 16px 0 0;padding:.85rem;z-index:13000}.notifications-list{max-height:calc(min(76vh,76dvh) - 5.8rem)}}@media(max-height:860px){.app-container{padding-block:.9rem}.app-header{padding:.64rem .9rem;margin-bottom:.7rem}.brand-logo-header{width:clamp(92px,11vw,124px)}h1{font-size:1.15rem}.subtitle{font-size:.7rem}.actions .btn-icon{padding:.32rem}.actions .btn-icon svg{width:15px;height:15px}.sidebar{--sidebar-project-visible-count: 6;padding:.9rem;gap:.8rem}.project-header{--project-avatar-size: 42px;margin-bottom:.7rem;padding-bottom:.55rem}.project-header h2{font-size:clamp(1.06rem,1.6vw,1.25rem)}.project-action-btn{font-size:.82rem;padding:.42em .72em;gap:.32rem}.project-action-btn svg{width:13px;height:13px}.board-container{gap:.8rem}}@media(max-height:740px){.app-container{padding-block:.7rem}.app-header{padding:.66rem .85rem;margin-bottom:.55rem}.sidebar{--sidebar-project-visible-count: 5;padding:.72rem;gap:.65rem}.project-header{--project-avatar-size: 40px;margin-bottom:.6rem;padding-bottom:.45rem}.project-header h2{font-size:clamp(1rem,1.45vw,1.18rem)}.board-controls{padding-top:.5rem;padding-bottom:.5rem}.board-container{gap:.65rem}}@media(max-width:480px){.project-header-actions{grid-template-columns:1fr}.view-toggle-btn span{font-size:.72rem}.notifications-header{flex-direction:column;align-items:flex-start}.notifications-header-actions{width:100%}.notifications-header-actions .btn{flex:1 1 0;text-align:center}}.board-container--calendar{min-height:0;overflow:hidden}.board-container--calendar .board-controls--sticky.glass,.board-container--calendar .board-controls--sticky.glass:hover{z-index:60;background:var(--bg-panel);-webkit-backdrop-filter:none;backdrop-filter:none;border-color:var(--glass-border)}.board-container--calendar .calendar-shell{flex:1 1 auto;min-height:0;height:100%;max-height:none;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable;scroll-padding-top:4rem;padding-bottom:1.1rem}.board-container--calendar .calendar-nav--sticky{top:0;z-index:40}.board-container--list{display:grid;grid-template-rows:auto minmax(0,1fr);align-content:stretch;min-height:0;height:100%;overflow:hidden}.board-container--list .task-list-shell{flex:1 1 auto;min-height:0;height:auto;max-height:100%;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain}@media(max-width:640px){html,body,#root{height:100%;max-height:100dvh;overflow:hidden}.app-container{min-height:100dvh;max-height:100dvh;overflow:hidden}.main-layout,.main-content,.board-container{overflow:hidden}}.modal-overlay.avatar-picker-overlay{position:fixed;inset:0;z-index:2147483000;display:flex;align-items:center;justify-content:center;padding:clamp(.85rem,2vw,1.2rem);overflow:hidden;background:#080c12d6;-webkit-backdrop-filter:blur(14px) saturate(.68);backdrop-filter:blur(14px) saturate(.68);overscroll-behavior:contain;isolation:isolate}.modal-overlay.avatar-picker-overlay>.modal-content.avatar-picker-modal{position:relative;z-index:2147483001;width:min(94vw,520px);height:min(86vh,760px);max-height:min(86vh,86dvh);display:flex;flex-direction:column;gap:1rem;overflow:hidden;--modal-pad-x: clamp(1rem, 2vw, 2rem);--modal-pad-top: clamp(1rem, 2vw, 2rem);--modal-pad-bottom: clamp(1rem, 2vw, 2rem);padding:var(--modal-pad-top) var(--modal-pad-x) var(--modal-pad-bottom);margin:auto;background:color-mix(in srgb,var(--bg-panel) 96%,#fff 4%);box-shadow:0 30px 72px -26px #000000e6}.modal-content.avatar-picker-modal .avatar-preset-grid{flex:1 1 auto;min-height:0;overflow-y:auto}body.avatar-picker-open .app-error-banner,body.avatar-picker-open .app-update-banner,body.avatar-picker-open .calendar-inline-error{display:none}.attendance-overlay{z-index:14500;align-items:stretch;overflow:hidden}.attendance-modal{width:min(98vw,1360px);max-width:1360px;height:min(92vh,92dvh);max-height:min(92vh,92dvh);display:flex;flex-direction:column;gap:1rem;overflow:hidden;--modal-pad-x: clamp(1rem, 2vw, 1.5rem);--modal-pad-top: clamp(1rem, 2vw, 1.5rem);--modal-pad-bottom: clamp(1rem, 2vw, 1.5rem);padding:var(--modal-pad-top) var(--modal-pad-x) var(--modal-pad-bottom)}.attendance-header{flex:0 0 auto}.attendance-title-group{display:flex;align-items:center;gap:.75rem;min-width:0}.attendance-title-icon{width:42px;height:42px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;color:var(--primary);background:color-mix(in srgb,var(--primary) 14%,var(--glass-bg));border:1px solid color-mix(in srgb,var(--primary) 32%,var(--glass-border))}.attendance-title-group h3,.attendance-title-group p{margin:0}.attendance-title-group h3{color:var(--text-main);font-size:clamp(1.05rem,1.6vw,1.35rem)}.attendance-title-group p{color:var(--text-muted);font-size:.82rem}.attendance-layout{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.38fr);gap:1rem}.attendance-daily-panel,.attendance-history-panel{min-height:0;overflow:hidden}.attendance-daily-panel{display:flex;flex-direction:column;gap:.85rem}.attendance-toolbar{flex:0 0 auto;display:grid;grid-template-columns:minmax(145px,.7fr) minmax(220px,1.25fr) minmax(145px,.7fr) minmax(155px,.75fr) auto;gap:.75rem;align-items:end;padding:.85rem;border-radius:14px}.attendance-filter{min-width:0;display:flex;flex-direction:column;gap:.35rem}.attendance-filter label{color:var(--text-muted);font-size:.72rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.attendance-filter input,.attendance-search-wrap{width:100%;min-height:40px;border-radius:10px}.attendance-search-wrap{display:flex;align-items:center;gap:.45rem;padding:0 .7rem;background:var(--bg-input);border:1px solid var(--glass-border)}.attendance-search-wrap svg{flex:0 0 auto;color:var(--text-muted)}.attendance-search-wrap input{border:0;background:transparent;padding:0;min-height:auto}.attendance-search-wrap input:focus{outline:none;border:0}.attendance-select{width:100%}.attendance-select .select-field-trigger,.attendance-select .select-field-native{min-height:40px}.attendance-toolbar-actions{display:flex;align-items:center;gap:.5rem;justify-content:flex-end}.attendance-refresh-btn,.attendance-history-btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem}.attendance-reset-btn{min-height:40px}.attendance-summary{flex:0 0 auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem}.attendance-summary>div{padding:.72rem .8rem;border:1px solid var(--glass-border);border-radius:12px;background:color-mix(in srgb,var(--glass-bg) 86%,transparent)}.attendance-summary span,.attendance-card-footer span,.attendance-history-hint,.attendance-history-meta{color:var(--text-muted);font-size:.76rem}.attendance-summary strong{display:block;margin-top:.14rem;color:var(--text-main);font-size:1rem}.attendance-error{flex:0 0 auto;padding:.72rem .85rem;border-radius:10px;color:#fecaca;background:color-mix(in srgb,#ef4444 16%,var(--glass-bg));border:1px solid color-mix(in srgb,#ef4444 42%,var(--glass-border));font-size:.84rem}.attendance-card-grid{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;display:grid;grid-template-columns:repeat(auto-fill,minmax(285px,1fr));gap:.85rem;padding-right:.25rem;transition:opacity .16s ease}.attendance-card-grid.is-loading,.attendance-history-list.is-loading{opacity:.58;pointer-events:none}.attendance-card{min-width:0;display:flex;flex-direction:column;gap:.85rem;padding:.92rem;border-radius:14px;align-self:start}.attendance-card-header,.attendance-card-footer,.attendance-history-item-header,.attendance-history-meta{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.attendance-user,.attendance-history-user{display:flex;align-items:center;gap:.75rem;min-width:0}.attendance-user-avatar{width:44px;height:44px;box-shadow:inset 0 0 0 1px color-mix(in srgb,#fff 22%,transparent)}.attendance-user-main{min-width:0}.attendance-user-main h4,.attendance-history-user h4{margin:0;color:var(--text-main);font-size:.96rem;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attendance-user-main .role-badge,.attendance-history-user .role-badge{margin-top:.28rem;display:inline-flex}.attendance-status-badge{flex:0 0 auto;display:inline-flex;align-items:center;gap:.35rem;padding:.28rem .58rem;border-radius:999px;font-size:.72rem;font-weight:800;white-space:nowrap}.attendance-status-badge.active{color:#22c55e;background:color-mix(in srgb,#22c55e 14%,var(--glass-bg));border:1px solid color-mix(in srgb,#22c55e 38%,var(--glass-border))}.attendance-status-badge.inactive{color:var(--text-muted);background:color-mix(in srgb,var(--text-muted) 10%,var(--glass-bg));border:1px solid color-mix(in srgb,var(--text-muted) 28%,var(--glass-border))}.attendance-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.attendance-check{min-width:0;padding:.62rem .68rem;border:1px solid color-mix(in srgb,var(--board-accent) 22%,var(--glass-border));border-radius:10px;background:color-mix(in srgb,var(--bg-input) 76%,transparent)}.attendance-check span,.attendance-check strong{display:block}.attendance-check span{color:var(--text-muted);font-size:.68rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.attendance-check strong{margin-top:.2rem;color:var(--text-main);font-size:.9rem}.attendance-check.is-missing{border-style:dashed;opacity:.78}.attendance-check.is-missing strong{color:var(--text-muted);font-weight:600}.attendance-card-footer{align-items:center;padding-top:.1rem}.attendance-history-btn{min-height:36px;padding-inline:.75rem}.attendance-empty{flex:0 0 auto;padding:1rem;border-radius:12px;color:var(--text-muted);text-align:center}.attendance-empty--compact{border:1px dashed var(--glass-border);background:color-mix(in srgb,var(--glass-bg) 62%,transparent)}.attendance-pagination{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:.75rem;color:var(--text-muted);font-size:.8rem;padding-top:.05rem}.attendance-pagination>div{display:inline-flex;align-items:center;gap:.5rem}.attendance-pagination .btn{display:inline-flex;align-items:center;gap:.35rem}.attendance-history-panel{display:flex;flex-direction:column;gap:.85rem;padding:.92rem;border-radius:14px}.attendance-history-user{flex:0 0 auto;padding-bottom:.75rem;border-bottom:1px solid var(--glass-border)}.attendance-history-controls{flex:0 0 auto;display:flex;flex-direction:column;gap:.65rem}.attendance-history-controls .btn{width:100%}.attendance-history-range{display:grid;grid-template-columns:1fr;gap:.65rem}.attendance-history-hint{margin:-.25rem 0 0;line-height:1.35}.attendance-history-meta{flex:0 0 auto;flex-wrap:wrap;padding:.58rem .65rem;border-radius:10px;border:1px solid var(--glass-border);background:color-mix(in srgb,var(--bg-input) 68%,transparent)}.attendance-history-list{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:.75rem;padding-right:.2rem;transition:opacity .16s ease}.attendance-history-item{display:flex;flex-direction:column;gap:.7rem;padding:.82rem;border:1px solid var(--glass-border);border-radius:12px;background:color-mix(in srgb,var(--bg-input) 74%,transparent)}.attendance-history-item-header strong{color:var(--text-main);font-size:.9rem}.attendance-history-placeholder{flex:1 1 auto;min-height:260px;display:grid;place-items:center;align-content:center;gap:.55rem;padding:1.5rem;color:var(--text-muted);text-align:center;border:1px dashed var(--glass-border);border-radius:12px;background:color-mix(in srgb,var(--bg-input) 52%,transparent)}.attendance-history-placeholder h4,.attendance-history-placeholder p{margin:0}.attendance-history-placeholder h4{color:var(--text-main)}.attendance-history-placeholder p{max-width:260px;font-size:.82rem}@media(max-width:1180px){.attendance-layout{grid-template-columns:1fr}.attendance-history-panel{max-height:46vh}}@media(max-width:980px){.attendance-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-toolbar-actions{justify-content:stretch}.attendance-toolbar-actions .btn{flex:1 1 0}.attendance-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.attendance-overlay{padding:0}.attendance-modal{width:100vw;height:100dvh;max-height:100dvh;border-radius:0}.attendance-title-group p{display:none}.attendance-layout{gap:.85rem}.attendance-toolbar,.attendance-summary,.attendance-check-grid,.attendance-card-grid{grid-template-columns:1fr}.attendance-card-header,.attendance-card-footer,.attendance-pagination{align-items:stretch;flex-direction:column}.attendance-pagination>div,.attendance-card-footer .btn{width:100%}.attendance-pagination .btn{flex:1 1 0;justify-content:center}}@media(max-width:640px){.modal-overlay.avatar-picker-overlay>.modal-content.avatar-picker-modal{width:min(96vw,420px);height:min(88vh,720px);max-height:min(88vh,88dvh)}}.birthday-overlay{z-index:14600;align-items:stretch;overflow:hidden}.birthday-modal{width:min(96vw,1120px);max-width:1120px;height:min(90vh,900px);max-height:min(90vh,90dvh);display:flex;flex-direction:column;gap:1rem;overflow:hidden;--modal-pad-x: clamp(1rem, 2.4vw, 2rem);--modal-pad-top: clamp(1rem, 2.2vw, 1.6rem);--modal-pad-bottom: clamp(1rem, 2.2vw, 1.6rem);padding:var(--modal-pad-top) var(--modal-pad-x) var(--modal-pad-bottom)}.birthday-header{flex:0 0 auto}.birthday-title-group{min-width:0;display:flex;align-items:center;gap:.75rem}.birthday-title-icon{width:44px;height:44px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;color:#f59e0b;border-radius:13px;background:color-mix(in srgb,#f59e0b 14%,var(--bg-input));border:1px solid color-mix(in srgb,#f59e0b 34%,var(--glass-border))}.birthday-title-group h3,.birthday-title-group p{margin:0}.birthday-title-group h3{color:var(--text-main);font-size:clamp(1.05rem,1.6vw,1.35rem)}.birthday-title-group p{margin-top:.16rem;color:var(--text-muted);font-size:.82rem}.birthday-toolbar{flex:0 0 auto;display:grid;grid-template-columns:minmax(240px,1fr) auto auto;align-items:center;gap:.75rem;padding:.75rem;border-radius:13px}.birthday-search{min-width:0;min-height:40px;display:flex;align-items:center;gap:.5rem;padding:0 .75rem;border-radius:10px;color:var(--text-muted);background:var(--bg-input);border:1px solid var(--glass-border)}.birthday-search:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow)}.birthday-search input{min-width:0;width:100%;padding:0;border:0;outline:0;background:transparent;box-shadow:none}.birthday-summary{display:flex;align-items:center;gap:.55rem;white-space:nowrap}.birthday-summary span{display:inline-flex;align-items:center;gap:.3rem;padding:.38rem .55rem;border-radius:999px;color:var(--text-muted);background:var(--bg-input);font-size:.75rem}.birthday-refresh-btn,.birthday-add-btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;white-space:nowrap}.birthday-editor{flex:0 0 auto;display:grid;grid-template-columns:minmax(180px,1fr) minmax(240px,.9fr) auto;align-items:center;gap:.85rem;padding:.85rem;border-radius:13px;border-color:color-mix(in srgb,var(--primary) 42%,var(--glass-border))}.birthday-editor-copy{min-width:0;display:flex;align-items:center;gap:.6rem;color:var(--primary)}.birthday-editor-copy div{min-width:0;display:flex;flex-direction:column}.birthday-editor-copy strong,.birthday-editor-copy span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.birthday-editor-copy span{color:var(--text-muted);font-size:.78rem}.birthday-editor-fields{display:grid;grid-template-columns:minmax(130px,1fr) minmax(90px,.65fr);gap:.55rem}.birthday-editor-actions{display:flex;align-items:center;justify-content:flex-end;gap:.5rem}.birthday-editor-error{grid-column:1 / -1;margin:0;text-align:left}.birthday-content{flex:1 1 auto;min-height:0;overflow-y:auto;padding:.1rem .3rem .4rem 0}.birthday-section+.birthday-section{margin-top:1.25rem}.birthday-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:.7rem}.birthday-section-heading h4,.birthday-section-heading p{margin:0}.birthday-section-heading h4{color:var(--text-main);font-size:.98rem}.birthday-section-heading p{margin-top:.15rem;color:var(--text-muted);font-size:.76rem}.birthday-section-heading>span{min-width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;padding:0 .5rem;border-radius:999px;color:var(--primary);background:color-mix(in srgb,var(--primary) 12%,var(--bg-input));font-size:.75rem;font-weight:700}.birthday-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.birthday-card{min-width:0;display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.75rem;border-radius:13px}.birthday-date-tile{width:58px;height:58px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:12px;color:#f59e0b;background:color-mix(in srgb,#f59e0b 12%,var(--bg-input));border:1px solid color-mix(in srgb,#f59e0b 30%,var(--glass-border))}.birthday-date-tile strong{color:var(--text-main);font-size:1.15rem;line-height:1}.birthday-date-tile span{margin-top:.2rem;font-size:.67rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.birthday-card-main{min-width:0}.birthday-user-line,.birthday-date-copy{display:flex;align-items:center;flex-wrap:wrap;gap:.38rem}.birthday-user-line>strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-main);font-size:.9rem}.birthday-user-line .role-badge,.birthday-pending-row .role-badge{font-size:.61rem;padding:.16rem .4rem}.birthday-status-badge{padding:.16rem .42rem;border-radius:999px;color:#f59e0b;background:color-mix(in srgb,#f59e0b 12%,var(--bg-input));font-size:.62rem;font-weight:700}.birthday-status-badge.blocked,.birthday-status-badge.expired{color:#ef4444;background:color-mix(in srgb,#ef4444 11%,var(--bg-input))}.birthday-date-copy{margin-top:.34rem;color:var(--text-muted);font-size:.76rem}.birthday-date-copy strong{color:var(--primary)}.birthday-date-copy strong.is-soon{color:#f59e0b}.birthday-card-main small{display:block;margin-top:.28rem;color:var(--text-muted);font-size:.68rem}.birthday-card-actions{display:flex;align-items:center;gap:.3rem}.birthday-pending-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.birthday-pending-row{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.65rem .75rem;border-radius:11px}.birthday-pending-row>div{min-width:0;display:flex;align-items:center;flex-wrap:wrap;gap:.38rem}.birthday-pending-row strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-main);font-size:.84rem}.birthday-empty,.birthday-loading,.birthday-error-state{min-height:140px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.65rem;padding:1.2rem;border-radius:13px;color:var(--text-muted);text-align:center}.birthday-empty p,.birthday-error-state p{margin:0}.birthday-empty svg{color:#f59e0b}.birthday-empty-compact{min-height:80px}.is-spinning{animation:birthday-spin .8s linear infinite}@keyframes birthday-spin{to{transform:rotate(360deg)}}@media(max-width:900px){.birthday-toolbar,.birthday-editor{grid-template-columns:1fr 1fr}.birthday-search,.birthday-editor-copy,.birthday-editor-error{grid-column:1 / -1}.birthday-summary{justify-content:flex-start}.birthday-editor-actions{align-self:stretch}.birthday-list,.birthday-pending-list{grid-template-columns:1fr}}@media(max-width:640px){.birthday-overlay{padding:0}.birthday-modal{width:100vw;height:100dvh;max-height:100dvh;border-radius:0}.birthday-title-group p{display:none}.birthday-toolbar,.birthday-editor{grid-template-columns:1fr}.birthday-search,.birthday-editor-copy,.birthday-editor-error{grid-column:auto}.birthday-summary{overflow-x:auto}.birthday-refresh-btn,.birthday-editor-actions,.birthday-editor-actions .btn{width:100%}.birthday-editor-actions .btn{flex:1 1 0}.birthday-card{grid-template-columns:52px minmax(0,1fr)}.birthday-date-tile{width:52px;height:52px}.birthday-card-actions{grid-column:1 / -1;justify-content:flex-end;border-top:1px solid var(--glass-border);padding-top:.55rem}.birthday-pending-row{align-items:stretch;flex-direction:column}.birthday-add-btn{width:100%}}
