.app{min-height:100vh}.page-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 2rem;background:var(--surface);border-bottom:1px solid var(--border)}.page-header h1{margin:0;font-size:1.35rem;font-weight:600}.page-header a{opacity:.8}.page-header a:hover{opacity:1}.page-content{padding:2rem;max-width:1400px;margin:0 auto}.btn{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1rem;border-radius:var(--radius);font-size:.875rem;font-weight:500;transition:background .15s}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-ghost{color:var(--text-muted)}.btn-ghost:hover{background:var(--surface-hover);color:var(--text)}.btn-danger:hover{color:var(--danger)}.inline-form{display:flex;gap:.5rem}.inline-form input{flex:1}.error{color:var(--danger);padding:1rem}.success{color:var(--success);padding:0;margin:0;font-size:.9rem}.auth-card .error{padding:0}.board-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}.board-tile{background:linear-gradient(135deg,#1e3a5f,#2d4a6f);border-radius:var(--radius);padding:1.25rem;min-height:100px;display:flex;align-items:flex-end;font-weight:600;box-shadow:var(--shadow);transition:transform .15s,box-shadow .15s}.board-tile:hover{transform:translateY(-2px);box-shadow:0 8px 32px #00000073}.board-view{display:flex;flex-direction:column;height:100vh}.board-view .page-header{flex-shrink:0}.board-filters{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem 1.25rem;padding:.65rem 2rem;background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0}.board-filter-field{display:flex;align-items:center;gap:.5rem}.board-filter-label{font-size:.78rem;font-weight:600;color:var(--text-muted);white-space:nowrap}.board-filter-field select{font-size:.82rem;padding:.3rem .5rem}.board-filter-tags{flex:1;min-width:0}.board-filter-tag-list{display:flex;flex-wrap:wrap;gap:.35rem}.board-filter-tag{font-size:.72rem;font-weight:500;color:var(--text-muted);background:var(--surface-hover);border:1px solid var(--border);padding:.15rem .5rem;border-radius:4px}.board-filter-tag:hover{color:var(--text);border-color:var(--accent)}.board-filter-tag.is-active{color:var(--accent);border-color:var(--accent);background:#3b82f61f}.board-filter-clear{font-size:.8rem;margin-left:auto}.board-canvas{flex:1;overflow-x:auto;padding:1.5rem 2rem;display:flex;gap:1rem;align-items:flex-start}.list-column{flex-shrink:0;width:280px;background:var(--list-bg);border-radius:var(--radius);display:flex;flex-direction:column;max-height:calc(100vh - 120px)}.list-column--dragging{opacity:.55}.list-header-row{display:flex;align-items:stretch;border-bottom:1px solid var(--border)}.list-drag-handle{flex-shrink:0;display:flex;align-items:center;padding:0 .35rem 0 .5rem;color:var(--text-muted);cursor:grab}.list-drag-handle:active{cursor:grabbing}.list-drag-handle:hover{color:var(--text)}.list-header{flex:1;min-width:0;display:flex;align-items:center;gap:.35rem;padding:.75rem .75rem .75rem 0;font-weight:600;font-size:.9rem}.list-title-btn{flex:1;min-width:0;text-align:left;padding:0;font:inherit;font-weight:inherit;color:inherit;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-title-btn:not(:disabled):hover{color:var(--accent)}.list-title-input{flex:1;min-width:0;font:inherit;font-weight:inherit;padding:.2rem .4rem}.list-delete-btn{flex-shrink:0;padding:0 .35rem;font-size:1.1rem;line-height:1}.list-cards{flex:1;overflow-y:auto;padding:.5rem;display:flex;flex-direction:column;gap:.5rem;min-height:40px}.list-cards--over{outline:2px solid var(--accent);outline-offset:-2px;border-radius:0 0 var(--radius) var(--radius)}.card-item{display:flex;align-items:stretch;gap:.35rem;background:var(--card-bg);border-radius:var(--radius);padding:.5rem .65rem .5rem .35rem;font-size:.875rem;box-shadow:0 1px 3px #0003;transition:box-shadow .15s}.card-item:hover{box-shadow:0 2px 8px #0000004d}.card-item.dragging{opacity:.5}.card-item--overdue{background:#ef44442e;border:1px solid rgba(239,68,68,.45);box-shadow:none}.card-item--overdue:hover{box-shadow:0 2px 8px #ef444440}.card-drag-handle{flex-shrink:0;display:flex;align-items:center;align-self:stretch;padding:.15rem .25rem;margin:-.15rem 0;border:none;border-radius:4px;background:transparent;color:var(--text-muted);cursor:grab;touch-action:none}.card-drag-handle:hover{color:var(--text);background:#ffffff0f}.card-drag-handle:active{cursor:grabbing}.card-drag-handle-overlay{cursor:grabbing;pointer-events:none}.card-item-body{flex:1;min-width:0}.list-footer{padding:.5rem}.add-list-column{flex-shrink:0;width:280px;background:#ffffff0f;border-radius:var(--radius);padding:.75rem}.add-list-column input{width:100%}.empty-state{text-align:center;color:var(--text-muted);padding:3rem}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:2rem;width:100%;max-width:400px;box-shadow:var(--shadow)}.auth-card h1{margin:0 0 .25rem;font-size:1.5rem}.auth-subtitle{color:var(--text-muted);margin:0 0 1.5rem;font-size:.9rem}.auth-card form{display:flex;flex-direction:column;gap:1rem}.auth-card label{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;font-weight:500}.auth-card input{width:100%}.btn-full{width:100%;justify-content:center;margin-top:.5rem}.auth-footer{margin-top:1.5rem;font-size:.85rem;color:var(--text-muted);text-align:center}.auth-footer+.auth-footer{margin-top:.75rem}.btn-link{color:var(--accent);font-size:inherit;padding:0}.btn-link:hover{color:var(--accent-hover);text-decoration:underline}.settings-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:2rem;max-width:480px}.settings-card h2{margin:0 0 .25rem;font-size:1.35rem}.settings-card form{display:flex;flex-direction:column;gap:1rem}.settings-card label{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;font-weight:500}.settings-card .error,.settings-card .success{padding:0}.field-hint{margin:-.5rem 0 0;font-size:.8rem;color:var(--text-muted)}.user-menu{display:flex;align-items:center;gap:.75rem;position:relative}.user-display{font-size:.9rem;color:var(--text-muted)}.header-actions{display:flex;align-items:center;gap:1rem}.board-invite-actions{display:flex;align-items:center;gap:.5rem;position:relative}.invite-popup{position:absolute;top:100%;right:0;margin-top:.5rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.75rem;display:flex;gap:.5rem;z-index:10;min-width:320px;box-shadow:var(--shadow)}.invite-popup input{flex:1;font-size:.8rem}.invite-popup-close{padding:0 .35rem;font-size:1.15rem;line-height:1;flex-shrink:0}.error-inline{color:var(--danger);font-size:.8rem}.role-badge{font-size:.75rem;font-weight:500;color:var(--text-muted);background:var(--surface-hover);padding:.2rem .5rem;border-radius:4px;margin-left:.5rem;vertical-align:middle}.card-item-readonly{cursor:default}.card-item-header{display:flex;justify-content:space-between;gap:.5rem;align-items:flex-start}.card-title-btn{flex:1;text-align:left;padding:0;font-size:inherit;font-weight:inherit;color:inherit;line-height:1.4}.card-title-btn:hover{color:var(--accent)}.card-delete-btn{padding:0 .25rem;font-size:.75rem;flex-shrink:0}.card-description{margin:.35rem 0 0;font-size:.8rem;color:var(--text-muted);line-height:1.4;white-space:pre-wrap;word-break:break-word}.card-description-clamped{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-description-expandable{cursor:pointer}.card-description-expandable:hover{color:var(--text)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:flex-start;justify-content:center;padding:4rem 1rem 1rem;z-index:100}.modal-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;width:100%;max-width:520px;max-height:calc(100vh - 5rem);overflow-y:auto;box-shadow:var(--shadow)}.modal-header{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:1rem}.modal-header h2{margin:0;flex:1;font-size:1.1rem;line-height:1.4}.modal-title-input{flex:1;font-size:1.1rem;font-weight:600;background:transparent;border:none;color:var(--text);padding:0;outline:none}.modal-title-input:focus{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.modal-close{font-size:1.25rem;padding:0 .25rem;line-height:1;flex-shrink:0}.modal-field{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;font-weight:500}.modal-field textarea{width:100%;resize:vertical;min-height:120px;padding:.65rem .75rem;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:.875rem;line-height:1.5}.modal-field textarea:focus{outline:2px solid var(--accent);border-color:transparent}.modal-field select{width:100%;padding:.5rem .75rem;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:.875rem}.modal-field select:focus{outline:2px solid var(--accent);border-color:transparent}.modal-description-readonly{white-space:pre-wrap;word-break:break-word;font-weight:400;font-size:.875rem;line-height:1.5;color:var(--text-muted)}.modal-description-readonly .text-muted{font-style:italic}.modal-actions{display:flex;align-items:center;justify-content:space-between;margin-top:1.25rem;gap:.75rem}.modal-actions-right{display:flex;gap:.5rem;margin-left:auto}.card-comments{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--border)}.card-comments-heading{margin:0 0 .75rem;font-size:.9rem;font-weight:600}.card-comments-empty{margin:0 0 .75rem;font-size:.85rem;color:var(--text-muted)}.card-comments-list{list-style:none;margin:0 0 1rem;padding:0;display:flex;flex-direction:column;gap:.75rem}.card-comment{background:var(--card-bg);border-radius:var(--radius);padding:.65rem .75rem}.card-comment-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.35rem}.card-comment-author{font-size:.8rem;font-weight:600}.card-comment-time{font-size:.75rem;color:var(--text-muted)}.card-comment-delete{margin-left:auto;padding:0 .25rem;font-size:.85rem;line-height:1}.card-comment-body{margin:0;font-size:.85rem;line-height:1.45;white-space:pre-wrap;word-break:break-word}.card-comment-form textarea{width:100%;resize:vertical;min-height:72px;padding:.65rem .75rem;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:.875rem;line-height:1.5}.card-comment-form textarea:focus{outline:2px solid var(--accent);border-color:transparent}.card-comment-form-actions{display:flex;justify-content:flex-end;margin-top:.5rem}.card-tags{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.4rem}.card-tag{display:inline-flex;align-items:center;gap:.2rem;font-size:.68rem;font-weight:500;color:var(--text-muted);background:var(--surface-hover);border:1px solid var(--border);padding:.1rem .4rem;border-radius:4px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-tag--editable{padding-right:.15rem}.card-tag-remove{display:inline-flex;align-items:center;justify-content:center;width:1rem;height:1rem;font-size:.85rem;line-height:1;color:var(--text-muted);border-radius:3px;flex-shrink:0}.card-tag-remove:hover{color:var(--danger);background:#ef44441f}.tag-editor{width:100%}.tag-editor-input{flex:1;min-width:80px;border:none;background:transparent;padding:.1rem .25rem;font-size:.8rem}.tag-editor-input:focus{outline:none}.card-assignee{display:inline-block;margin-top:.35rem;font-size:.72rem;font-weight:500;color:var(--accent);background:#3b82f61f;padding:.15rem .45rem;border-radius:4px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin-top:.35rem}.card-meta .card-assignee{margin-top:0}.card-deadline{display:inline-block;font-size:.72rem;font-weight:500;color:var(--text-muted);background:var(--surface-hover);border:1px solid var(--border);padding:.15rem .45rem;border-radius:4px}.card-deadline--overdue{color:#fecaca;background:#ef444440;border-color:#ef444480}.deadline-editor{display:flex;align-items:center;gap:.5rem}.deadline-editor input[type=date]{flex:1;min-width:0}.notification-bell{position:relative}.notification-bell-btn{position:relative;padding:.4rem .5rem}.notification-badge{position:absolute;top:0;right:0;min-width:1.1rem;height:1.1rem;padding:0 .25rem;border-radius:999px;background:var(--danger);color:#fff;font-size:.65rem;font-weight:700;line-height:1.1rem;text-align:center}.notification-panel{position:absolute;top:100%;right:0;margin-top:.5rem;width:360px;max-height:420px;overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);z-index:20}.notification-panel-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--surface)}.notification-panel-header h2{margin:0;font-size:.9rem;font-weight:600}.notification-panel-empty{margin:0;padding:1.5rem 1rem;font-size:.85rem;color:var(--text-muted);text-align:center}.notification-list{list-style:none;margin:0;padding:0}.notification-list li{display:flex;align-items:stretch;border-bottom:1px solid var(--border)}.notification-list li:last-child{border-bottom:none}.notification-item{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;padding:.75rem 1rem;text-align:left;background:transparent;color:var(--text);border:none;cursor:pointer}.notification-item:hover{background:var(--surface-hover)}.notification-item.unread{background:#3b82f614}.notification-item-message{font-size:.85rem;line-height:1.4}.notification-item-time{font-size:.75rem;color:var(--text-muted)}.notification-mark-read{flex-shrink:0;padding:0 .65rem;font-size:.85rem;align-self:center}.board-body{display:flex;flex:1;min-height:0;overflow:hidden}.board-body .board-canvas{flex:1}.standup-tab{flex-shrink:0;width:40px;background:var(--surface);border-left:1px solid var(--border);color:var(--text-muted);display:flex;align-items:center;justify-content:center}.standup-tab:hover{color:var(--text);background:var(--surface-hover)}.standup-tab-label{writing-mode:vertical-rl;transform:rotate(180deg);letter-spacing:.08em;font-size:.8rem;font-weight:600}.standup-panel{flex-shrink:0;width:340px;background:var(--surface);border-left:1px solid var(--border);display:flex;flex-direction:column;min-height:0}.standup-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;border-bottom:1px solid var(--border);flex-shrink:0}.standup-tabs{display:flex;gap:.25rem}.standup-tab-btn{padding:.35rem .75rem;font-size:.85rem;font-weight:500;color:var(--text-muted);border-radius:var(--radius)}.standup-tab-btn.is-active{color:var(--text);background:var(--surface-hover)}.standup-close{font-size:1.2rem;line-height:1;padding:.25rem .5rem}.standup-error{margin:.5rem .75rem 0}.standup-timeline{flex:1;overflow-y:auto;padding:.75rem;display:flex;flex-direction:column;gap:.5rem}.standup-load-more{align-self:center;font-size:.8rem;color:var(--accent);padding:.25rem .5rem}.standup-empty{color:var(--text-muted);font-size:.85rem;text-align:center;margin:auto 0}.standup-day{display:flex;flex-direction:column;gap:.5rem}.standup-day-sep{display:flex;align-items:center;gap:.5rem;margin:.5rem 0 .25rem;color:var(--text-muted);font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.standup-day-sep:before,.standup-day-sep:after{content:"";flex:1;height:1px;background:var(--border)}.standup-item{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:.6rem .75rem}.standup-item--late{border-color:var(--warning);background:#eab3081a}.standup-item--missing{border-color:var(--danger);background:#ef444414;opacity:.85}.standup-item-head{display:flex;align-items:center;gap:.5rem;margin-bottom:.3rem}.standup-author{font-weight:600;font-size:.85rem}.standup-time{font-size:.72rem;color:var(--text-muted);margin-left:auto}.standup-late-badge{font-size:.68rem;font-weight:700;text-transform:uppercase;color:var(--warning)}.standup-missing-badge{margin-left:auto;font-size:.72rem;font-weight:700;color:var(--danger)}.standup-body{font-size:.87rem;line-height:1.4;white-space:pre-wrap;word-break:break-word}.standup-item--missing .standup-body{color:var(--text-muted);text-decoration:line-through}.standup-input{flex-shrink:0;border-top:1px solid var(--border);padding:.75rem;display:flex;flex-direction:column;gap:.5rem}.standup-input textarea{resize:vertical;min-height:60px}.standup-disabled-note{margin:0;font-size:.82rem;color:var(--text-muted);line-height:1.4}.link-btn{color:var(--accent);text-decoration:underline;padding:0;font-size:inherit}.standup-settings{flex:1;overflow-y:auto;padding:.9rem;display:flex;flex-direction:column;gap:1rem}.standup-settings form{display:flex;flex-direction:column;gap:.85rem}.standup-toggle{display:flex;align-items:center;gap:.5rem;font-size:.88rem;font-weight:500}.standup-toggle input,.standup-weekday input{width:auto;padding:0}.standup-field{display:flex;flex-direction:column;gap:.35rem;font-size:.82rem;color:var(--text-muted)}.standup-field>span{font-weight:600}.standup-tz-row{display:flex;gap:.4rem}.standup-tz-row input{flex:1}.standup-tz-row .btn{white-space:nowrap;border:1px solid var(--border)}.standup-weekdays{display:flex;flex-wrap:wrap;gap:.5rem}.standup-weekday{display:flex;align-items:center;gap:.25rem;font-size:.8rem;color:var(--text)}.standup-saved-note{font-size:.8rem;color:var(--accent);margin-left:.5rem}.standup-manage{border-top:1px solid var(--border);padding-top:.75rem}.standup-manage h3{margin:0 0 .25rem;font-size:.9rem}.standup-manage-hint{margin:0 0 .6rem;font-size:.78rem;color:var(--text-muted)}.standup-member-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.standup-member-list li{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.standup-member-name{display:flex;align-items:center;gap:.4rem;font-size:.85rem}.standup-toggle--compact{font-size:.8rem;color:var(--text-muted)}*,*:before,*:after{box-sizing:border-box}:root{--bg: #0f1419;--surface: #1a2332;--surface-hover: #243044;--border: #2d3a4f;--text: #e8edf4;--text-muted: #8b9cb3;--accent: #3b82f6;--accent-hover: #2563eb;--danger: #ef4444;--success: #4ade80;--warning: #eab308;--list-bg: #1e2a3a;--card-bg: #263347;--radius: 8px;--shadow: 0 4px 24px rgba(0, 0, 0, .35)}body{margin:0;font-family:DM Sans,system-ui,sans-serif;background:var(--bg);color:var(--text);min-height:100vh}button,input,textarea{font-family:inherit}button{cursor:pointer;border:none;background:none;color:inherit}input,textarea{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);padding:.5rem .75rem;font-size:.9rem}input:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:1px}a{color:inherit;text-decoration:none}
