:root{--bg: #f8fafc;--surface: #ffffff;--text: #1e293b;--muted: #64748b;--border: #e5e7eb;--border-strong: #cbd5e1;--primary: #6f68b9;--primary-hover: #5f58a8;--primary-tint: #f1f0fa;--primary-text: #ffffff;--sidebar: #10113a;--sidebar-text: #a3a6c9;--sidebar-active: #1d1f52;--sidebar-line: #262862;--sidebar-field: #1a1c4a;--table-head: #f8fafc;--danger: #b42318;--overdue-bg: #fef3f2;--overdue: #b42318;--soon: #b54708;--soon-bg: #fffaeb;--needs: #6f68b9;--needs-bg: #f1f0fa;--open: #175cd3;--open-bg: #eff8ff;--done: #067647;--done-bg: #ecfdf3;--shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 4px 16px rgba(15, 23, 42, .05);--radius-card: 16px;--radius-modal: 30px;--pill: 999px;--primary-ink: #6f68b9;--text-secondary: #475569;--hover: #f8fafc;--neutral-bg: #eef2f6;--on-dark: #f8fafc;--danger-hover: #912018;--danger-border: #fecdca;--warn-border: #fedf89;--ok-border: #abefc6;--focus-ring: rgba(111, 104, 185, .18);--overlay: rgba(15, 23, 42, .5);--backdrop: rgba(15, 23, 42, .28);--shadow-pop: 0 8px 24px rgba(15, 23, 42, .12);--shadow-menu: 0 12px 32px rgba(15, 23, 42, .16);--shadow-modal: 0 24px 64px rgba(15, 23, 42, .25);--shadow-panel: -12px 0 32px rgba(15, 23, 42, .12);--shimmer: #f1f5f9;--toast-bg: #0f172a;--toast-ok: #47cd89;--toast-error: #f97066;color-scheme:light;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.5;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;background:var(--bg)}h1,h2,h3{margin:0 0 .5rem;line-height:1.25;color:var(--text)}h1{font-size:1.5rem;font-weight:700;letter-spacing:-.01em}h2{font-size:1.15rem;font-weight:600}h3{font-size:1rem;font-weight:600;margin-top:1.5rem}p{margin:0 0 .75rem}.section-title{font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 .25rem}h3.section-title{margin:1.5rem 0 .5rem}button,input,select,textarea{font:inherit;color:inherit}input,select,textarea{padding:.55rem 1rem;border:1px solid var(--border);border-radius:var(--pill);background:var(--surface);min-width:0;min-height:40px;transition:border-color .15s,box-shadow .15s}select{appearance:none;-webkit-appearance:none;padding-right:2.75rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;background-size:16px 16px;cursor:pointer}select:disabled{cursor:default;opacity:.6}input[type=checkbox]{min-height:0;width:16px;height:16px;accent-color:var(--primary)}textarea{resize:vertical;width:100%;border-radius:var(--radius-card)}input:hover,select:hover,textarea:hover{border-color:var(--border-strong)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--focus-ring)}label{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;font-weight:500;color:var(--muted)}label>input,label>select,label>textarea{color:var(--text);font-weight:400}label.inline{flex-direction:row;align-items:center;gap:.45rem;color:var(--text)}button{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:40px;padding:.5rem 1.1rem;border:1px solid var(--border);border-radius:var(--pill);background:var(--surface);font-weight:500;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s,color .15s}button:hover:not(:disabled){border-color:var(--border-strong);background:var(--hover)}button:disabled{opacity:.55;cursor:default}button.primary{background:var(--primary);border-color:var(--primary);color:var(--primary-text);font-weight:600}button.primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}button.danger{color:var(--danger)}button.danger:hover:not(:disabled){background:var(--overdue-bg);border-color:var(--danger-border)}button.link{border:none;background:none;padding:0;min-height:0;color:var(--primary-ink);font-weight:500}button.link:hover:not(:disabled){background:none;text-decoration:underline}button.link.danger{color:var(--danger);margin-left:.5rem}button.icon{width:36px;min-height:36px;padding:0;font-size:1.3rem;line-height:1;color:var(--muted);border-color:transparent}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.container{max-width:1280px;margin:0 auto;padding:1rem}.muted{color:var(--muted)}.small{font-size:.82rem}.stack{display:flex;flex-direction:column;gap:.9rem}.row{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.row.end{justify-content:flex-end}.row.between{justify-content:space-between}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}.banner{padding:.7rem 1rem;border-radius:12px;margin:.75rem 0;font-size:.9rem}.banner.error{background:var(--overdue-bg);color:var(--overdue);border:1px solid var(--danger-border)}.center-card{max-width:440px;margin:12vh auto;padding:2rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow)}.center-card .brand{margin-bottom:1.5rem}.login-logo{display:block;height:44px;width:auto;margin:0 auto 1.5rem}.center-card h1{font-size:1.35rem}.brand{display:inline-flex;align-items:center}.brand-logo{display:block;height:40px;width:auto;max-width:none}.sidebar .brand{overflow:hidden}.brand-link{text-decoration:none}.shell{display:flex;min-height:100vh}.main-area{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:.9rem 2rem;background:var(--surface);border-bottom:1px solid var(--border)}.topbar h1{margin:0;font-size:1.3rem}.topbar p{margin:0}.user{display:flex;align-items:center;gap:.75rem}.user-text{display:flex;flex-direction:column;line-height:1.25}.avatar{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--primary-tint);color:var(--primary-ink);font-weight:700;font-size:.82rem}.content{padding:1.5rem 2rem 3rem;max-width:1440px;width:100%}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow);overflow:hidden;margin-bottom:1.5rem}.card-head{padding:1.1rem 1.25rem .75rem;align-items:flex-start}.card-head p{margin:0}.card-pad{padding:0 1.25rem}.stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.75rem;margin-bottom:1.25rem}.stat{flex-direction:column;align-items:flex-start;justify-content:space-between;gap:.35rem;min-height:0;padding:.9rem 1rem;border-radius:var(--radius-card);box-shadow:var(--shadow);text-align:left}.stat.selected,.stat.selected:hover:not(:disabled){border-color:var(--primary);background:var(--primary-tint)}.stat-label{display:inline-flex;align-items:center;gap:.45rem;font-size:.82rem;color:var(--muted);white-space:normal}.stat-value{font-size:1.6rem;font-weight:700;line-height:1.1;color:var(--text)}.dot{width:8px;height:8px;border-radius:50%;background:var(--muted);flex:none}.stat.status-overdue .dot{background:var(--overdue)}.stat.status-due-soon .dot{background:var(--soon)}.stat.status-needs-commitment .dot{background:var(--needs)}.stat.status-open .dot{background:var(--open)}.stat.status-done .dot{background:var(--done)}.stat.status-overdue .stat-value{color:var(--overdue)}.filters{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--border)}.filters input[type=search],.filters input[type=email]{flex:1 1 220px}.filters button.primary{margin-left:auto}.badge{display:inline-flex;align-items:center;padding:.2rem .65rem;border-radius:var(--pill);font-size:.75rem;font-weight:600;white-space:nowrap}.badge.status-overdue{background:var(--overdue-bg);color:var(--overdue)}.badge.status-due-soon{background:var(--soon-bg);color:var(--soon)}.badge.status-needs-commitment{background:var(--needs-bg);color:var(--needs)}.badge.status-open{background:var(--open-bg);color:var(--open)}.badge.status-done{background:var(--done-bg);color:var(--done)}.card table.tasks{border:none;border-radius:0}table.tasks{width:100%;border-collapse:collapse;background:var(--surface);font-family:Plus Jakarta Sans,Inter,system-ui,sans-serif}.tasks th,.tasks td{padding:.6rem .7rem;text-align:left;border-bottom:1px solid var(--border);vertical-align:middle}.tasks th{height:48px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);background:var(--table-head);white-space:nowrap}.tasks td{height:72px;font-weight:500;color:var(--text)}.tasks tbody tr:last-child td{border-bottom:none}.tasks tbody tr{cursor:pointer;transition:background .1s}.tasks.members tbody tr{cursor:default}.tasks.members td{height:64px}.tasks tbody tr:hover{background:var(--hover)}.tasks tbody tr.selected{background:var(--primary-tint)}.tasks tbody tr.overdue td:first-child{box-shadow:inset 3px 0 0 var(--overdue)}.tasks td.code{font-weight:700;white-space:nowrap;color:var(--primary-ink)}.tasks td.date{white-space:nowrap;color:var(--text-secondary)}.tasks td.desc{min-width:200px;font-weight:600}.tasks th:first-child,.tasks td:first-child{padding-left:1.25rem}.tasks th:last-child,.tasks td:last-child{padding-right:1.25rem}.tasks td.empty{text-align:center;color:var(--muted);padding:3rem;cursor:default}.actions{display:flex;gap:.35rem;flex-wrap:wrap}.actions button{min-height:32px;padding:.3rem .8rem;font-size:.8rem}.table-wrap{overflow-x:auto}.tasks td.actions-cell{width:1%}.temp-password{flex:1 1 200px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:1.05rem;letter-spacing:.04em}.tasks td.actions-cell .actions{display:flex;flex-wrap:nowrap;align-items:center}.tasks td.actions-cell .actions button{min-height:28px;padding:.2rem .65rem;font-size:.75rem}.panel{position:fixed;top:0;right:0;bottom:0;z-index:10;width:min(460px,100%);overflow-y:auto;background:var(--surface);border-left:1px solid var(--border);box-shadow:var(--shadow-panel)}.panel-head{position:sticky;top:0;z-index:1;display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:var(--surface);border-bottom:1px solid var(--border);box-shadow:0 4px 12px #0f172a0a}.panel-head h2{margin:0;color:var(--primary-ink)}.panel-body{padding:1.25rem 1.5rem 2rem}.panel-desc{font-size:1.05rem;font-weight:500;white-space:pre-wrap}.details{display:grid;grid-template-columns:max-content 1fr;gap:.5rem 1.25rem;margin:0 0 1rem;padding:1rem 1.1rem;border:1px solid var(--border);border-radius:var(--radius-card);background:var(--bg)}.details dt{color:var(--muted)}.details dd{margin:0;font-weight:500}.comments{list-style:none;padding:0;margin:.5rem 0 1rem;display:flex;flex-direction:column;gap:.6rem}.comments li{padding:.75rem .9rem;border:1px solid var(--border);border-radius:12px}.comments li.muted{border-style:dashed}.comment-meta{font-size:.82rem}.comment-body{margin:.3rem 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.overlay{position:fixed;inset:0;z-index:20;background:var(--overlay);display:flex;align-items:flex-start;justify-content:center;padding:10vh 1rem 1rem}.modal{background:var(--surface);border-radius:var(--radius-modal);width:min(560px,100%);max-height:85vh;overflow-y:auto;box-shadow:var(--shadow-modal)}.modal-head{position:sticky;top:0;z-index:1;display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem 1.1rem 1.75rem;background:var(--surface);border-bottom:1px solid var(--border)}.modal-head h2{margin:0}.modal-body{padding:1.25rem 1.75rem 0}.modal-body form>.row.end:last-child{position:sticky;bottom:0;margin:.25rem -1.75rem 0;padding:1rem 1.75rem 1.25rem;background:var(--surface);border-top:1px solid var(--border)}@media(min-width:901px)and (max-width:1180px){.topbar,.content{padding-left:1.5rem;padding-right:1.5rem}}@media(max-width:900px){.shell{flex-direction:column}.sidebar{position:static;height:auto;flex:none;flex-direction:row;align-items:center;gap:1rem;padding:.6rem 1rem}.nav{flex-direction:row}.nav a{height:38px}.topbar{position:static;padding:.9rem 1rem}.content{padding:1rem 1rem 2.5rem}.stats{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:640px){.grid2{grid-template-columns:1fr}.sidebar .brand{width:34px}.sidebar .brand-logo{height:36px}.user{width:100%}.user button{margin-left:auto}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.filters button.primary{margin-left:0;width:100%}.card:has(table.tasks){background:none;border:none;box-shadow:none;overflow:visible}.card:has(table.tasks) .filters,.card:has(table.tasks) .card-head{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);margin-bottom:.75rem}table.tasks,.tasks thead,.tasks tbody,.tasks tr,.tasks td{display:block}table.tasks{border:none;background:none}.tasks thead{display:none}.tasks tbody tr{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);margin-bottom:.75rem;padding:.6rem 0}.tasks tbody tr.overdue{border-color:var(--overdue)}.tasks tbody tr.overdue td:first-child{box-shadow:none}.tasks td,.tasks.members td{height:auto;border:none;padding:.3rem 1rem;display:flex;gap:.75rem;align-items:center}.tasks td[data-label]:before{content:attr(data-label);flex:0 0 6.5rem;color:var(--muted);font-size:.8rem;font-weight:500}.tasks td[data-label]:empty{display:none}.tasks td.desc{min-width:0}.tasks td.actions-cell{width:auto;padding-top:.6rem}.tasks td.actions-cell .actions{display:flex}.table-wrap{overflow:visible}.tasks td.actions-cell:empty{display:none}.tasks td.empty{display:block}.modal{border-radius:24px}}.card>.banner{margin:0 1.25rem .75rem}.role-badge{padding:.05rem .5rem;font-size:.68rem;text-transform:capitalize;margin-left:.25rem;vertical-align:1px}.role-admin{background:var(--primary);color:var(--primary-text)}.role-editor{background:var(--primary-tint);color:var(--primary-ink)}.role-viewer{background:var(--neutral-bg);color:var(--muted)}.readonly-note{font-size:.75rem;color:var(--muted);cursor:help;border-bottom:1px dotted var(--muted);white-space:nowrap}tr.inactive td{opacity:.55}.org-tag{font-size:.8rem}.field-note{font-size:.78rem;font-weight:400;color:var(--muted)}.picker{position:relative}.picker-input{width:100%;box-sizing:border-box}.picker-list{position:absolute;z-index:30;left:0;right:0;top:calc(100% + 4px);max-height:260px;overflow-y:auto;margin:0;padding:.3rem;list-style:none;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-pop);font-weight:400;color:var(--text)}.picker-list li{padding:.45rem .6rem;border-radius:8px;cursor:pointer;font-size:.88rem}.picker-list li.active{background:var(--primary-tint)}.picker-list li.selected{font-weight:600}.picker-list li.picker-divider{cursor:default;margin-top:.3rem;padding-top:.5rem;border-top:1px solid var(--border);font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.picker-list li.picker-empty{cursor:default}.tabs{display:flex;gap:.25rem;margin:1.5rem 0 .75rem;border-bottom:1px solid var(--border)}.tabs button{border:none;border-bottom:2px solid transparent;border-radius:0;background:none;min-height:36px;padding:.3rem .75rem;color:var(--muted);font-weight:600}.tabs button:hover:not(:disabled){background:none;color:var(--text)}.tabs button.active{color:var(--primary-ink);border-bottom-color:var(--primary)}.history .changes{margin:.35rem 0 0;padding-left:1rem;font-size:.85rem}.history .changes li{border:none;padding:.1rem 0;border-radius:0}.history-text{white-space:pre-wrap;overflow-wrap:anywhere}details.multi{position:relative}details.multi summary{list-style:none;cursor:pointer;padding:.45rem .85rem;min-height:40px;box-sizing:border-box;display:flex;align-items:center;border:1px solid var(--border);border-radius:var(--pill);background:var(--surface);font-size:.9rem}details.multi summary::-webkit-details-marker{display:none}details.multi[open] summary{border-color:var(--primary)}.multi-list{position:absolute;z-index:30;top:calc(100% + 4px);left:0;min-width:240px;padding:.6rem .75rem;display:flex;flex-direction:column;gap:.5rem;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-pop)}.multi-list button.link{align-self:flex-start}th button.sort{border:none;background:none;padding:0;min-height:0;font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit}th button.sort:hover:not(:disabled){background:none;color:var(--text)}.overdue-count{color:var(--overdue);font-weight:700}.filters input.short{flex:0 0 200px}.banner.warn{background:var(--soon-bg);color:var(--soon);border:1px solid var(--warn-border)}.banner.ok{background:var(--done-bg);color:var(--done);border:1px solid var(--ok-border)}.card>.banner.warn{margin:0 1.25rem .75rem}.empty-row{text-align:center;padding:2.5rem 1rem;margin:0}.grow{flex:1 1 260px;min-width:0}.board-head .card-head{padding-bottom:.5rem}.board-title{font-size:1.35rem;margin:.1rem 0 .25rem}.seat-pill{display:inline-flex;align-items:center;min-height:32px;padding:.2rem .8rem;border-radius:var(--pill);background:var(--primary-tint);color:var(--primary-ink);font-weight:600;font-size:.8rem}.tabs.board-tabs{margin:.25rem 1.25rem 0;border-bottom:none}.tabs a{display:inline-flex;align-items:center;min-height:40px;padding:.3rem .85rem;border-bottom:2px solid transparent;color:var(--muted);font-weight:600;text-decoration:none}.tabs a:hover{color:var(--text)}.tabs a.active{color:var(--primary-ink);border-bottom-color:var(--primary)}.tabs.page-tabs{margin:0 0 1rem}.board-group{margin-bottom:1.75rem}.board-group>.section-title{margin:0 0 .6rem .25rem}.board-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.9rem}.board-card{display:flex;flex-direction:column;gap:.4rem;padding:1.1rem 1.2rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow);color:var(--text);text-decoration:none;transition:border-color .15s,transform .15s}.board-card:hover{border-color:var(--primary)}.board-card.archived{opacity:.6}.board-card-name{font-weight:700;font-size:1.02rem}.board-card-desc{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.board-card-stats{display:flex;gap:1rem;margin-top:auto;padding-top:.4rem;font-size:.82rem;color:var(--muted)}.board-card-stats b{color:var(--text)}.board-card-stats .overdue-count b{color:var(--overdue)}.seat-meter{display:flex;flex-direction:column;gap:.35rem;min-width:180px;font-size:.85rem;color:var(--muted)}.seat-meter b{color:var(--text)}.seat-bar{display:block;height:6px;border-radius:var(--pill);background:var(--border);overflow:hidden}.seat-bar>span{display:block;height:100%;background:var(--primary)}.seat-bar>span.full{background:var(--overdue)}.badge.kind-staff{background:var(--primary-tint);color:var(--primary-ink)}.badge.kind-guest{background:var(--neutral-bg);color:var(--text-secondary)}.role-badge.kind-staff{background:var(--primary);color:var(--primary-text)}.badge.inv-pending{background:var(--open-bg);color:var(--open)}.badge.inv-accepted{background:var(--done-bg);color:var(--done)}.badge.inv-revoked,.badge.inv-expired{background:var(--neutral-bg);color:var(--muted)}.role-member{background:var(--primary-tint);color:var(--primary-ink)}.invite-form{padding-bottom:1.1rem}.invite-results{list-style:none;margin:0;padding:0 1.25rem 1.1rem;display:flex;flex-direction:column;gap:.3rem;font-size:.88rem}.invite-results li{padding:.45rem .75rem;border-radius:10px}.invite-results .result-sent{background:var(--done-bg);color:var(--done)}.invite-results .result-not_sent{background:var(--soon-bg);color:var(--soon)}.invite-results .result-rejected{background:var(--overdue-bg);color:var(--overdue)}.dates-field{border:1px solid var(--border);border-radius:var(--radius-card);padding:.75rem 1rem 1rem;margin:0}.dates-field legend{padding:0 .35rem;font-size:.85rem;font-weight:500;color:var(--muted)}.audit-list{list-style:none;margin:0;padding:.25rem 0}.audit-list li{display:grid;grid-template-columns:10px 1fr auto;gap:.75rem;align-items:start;padding:.7rem 1.25rem;border-bottom:1px solid var(--border)}.audit-list li:last-child{border-bottom:none}.audit-list li.empty-row{display:block}.audit-dot{width:8px;height:8px;margin-top:.45rem;border-radius:50%;background:var(--muted)}.audit-dot.group-people{background:var(--primary)}.audit-dot.group-invitations{background:var(--open)}.audit-dot.group-tasks{background:var(--done)}.audit-dot.group-comments{background:var(--soon)}.audit-dot.group-board,.audit-dot.group-meetings{background:var(--text-secondary)}.audit-details{overflow-wrap:anywhere}.audit-list time{white-space:nowrap}button.link.user-name{color:var(--text);font-weight:700;justify-content:flex-start}.tabs a,.tabs button{white-space:nowrap}@media(max-width:640px){.sidebar .nav-label{display:none}.sidebar .nav a{width:44px;padding:0;justify-content:center}.audit-list li{grid-template-columns:10px 1fr}.audit-list time{grid-column:2}.seat-meter{min-width:0;width:100%}.tabs.board-tabs{overflow-x:auto}}.grid3{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:.9rem}.field-error{color:var(--overdue);margin-top:-.5rem}input[aria-invalid=true]{border-color:var(--overdue)}.attendee-search{width:100%;margin-bottom:.5rem}.attendee-options{list-style:none;margin:0 0 .5rem;padding:0;max-height:220px;overflow-y:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.15rem .75rem}.attendee-options label.inline{font-weight:500;padding:.2rem 0}.list-foot{padding:.75rem 1.25rem;border-top:1px solid var(--border)}.tasks.meetings-table td{height:64px}.badge.mtg-cancelled{background:var(--neutral-bg);color:var(--muted);text-decoration:line-through}.panel-title{overflow-wrap:anywhere}.plain-list{list-style:none;margin:0;padding:0}.wrap-anywhere{overflow-wrap:anywhere}.agenda{font-size:.95rem}.note-head{margin-top:1.5rem}.note-head h3{margin:0}.doc-card{display:flex;align-items:center;gap:.75rem;padding:.75rem .9rem;margin-top:.75rem;border:1px solid var(--border);border-radius:var(--radius-card);background:var(--bg)}.doc-icon{flex:none;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:10px;background:var(--primary-tint);color:var(--primary-ink);font-size:.7rem;font-weight:700;letter-spacing:.02em}.doc-text{flex:1;min-width:0}.doc-name{font-weight:600;overflow-wrap:anywhere}.note-head+.field-note,.doc-card+.field-note,p+.field-note{display:block;margin-top:.5rem}@media(max-width:640px){.grid3{grid-template-columns:1fr}.tasks.meetings-table td{height:auto}.tasks.meetings-table td.desc{flex-wrap:wrap;row-gap:0}.tasks.meetings-table td.desc>div{flex-basis:100%;padding-left:7.25rem}.list-foot{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card)}.card:has(table.tasks) .banner{margin:0 0 .75rem}.tabs.page-tabs{overflow-x:auto}.doc-card{flex-wrap:wrap}}.row-actions{gap:.25rem}button.menu-button{width:32px;min-height:32px;border-radius:50%}button.menu-button:hover:not(:disabled),button.menu-button[aria-expanded=true]{background:var(--primary-tint);color:var(--primary-ink);border-color:transparent}.menu{position:fixed;z-index:40;margin:0;padding:.3rem;list-style:none;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-menu)}.menu button{width:100%;justify-content:flex-start;min-height:36px;padding:.4rem .75rem;border:none;border-radius:8px;background:none;font-size:.88rem;font-weight:500}.menu button:hover:not(:disabled),.menu button:focus-visible{background:var(--bg);outline:none}.menu button.danger:hover:not(:disabled),.menu button.danger:focus-visible{background:var(--overdue-bg)}button.danger-solid{background:var(--danger);border-color:var(--danger);color:#fff;font-weight:600}button.danger-solid:hover:not(:disabled){background:var(--danger-hover);border-color:var(--danger-hover)}.confirm-message{color:var(--text);overflow-wrap:anywhere}.modal-foot{position:sticky;bottom:0;margin:.25rem -1.75rem 0;padding:1rem 1.75rem 1.25rem;background:var(--surface);border-top:1px solid var(--border)}.toasts{position:fixed;z-index:50;bottom:1.25rem;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:.5rem;pointer-events:none;width:min(440px,calc(100% - 2rem))}.toast{pointer-events:auto;display:flex;align-items:center;gap:.5rem;padding:.35rem .4rem .35rem 1rem;border-radius:12px;background:var(--toast-bg);color:var(--on-dark);font-size:.9rem;font-weight:500;box-shadow:var(--shadow-modal);animation:toast-in .2s ease-out}.toast:before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:var(--toast-ok)}.toast-error:before{background:var(--toast-error)}.toast button.icon{width:30px;min-height:30px;color:var(--sidebar-text)}.toast button.icon:hover:not(:disabled){background:var(--sidebar-active);color:#fff}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}.panel{animation:panel-in .18s ease-out}.panel:focus{outline:none}.panel-head-main{min-width:0}.panel-backdrop{position:fixed;inset:0;z-index:9;background:var(--backdrop);animation:fade-in .18s ease-out}@media(min-width:1600px){.panel-backdrop{display:none}body:has(.panel) .content{padding-right:calc(460px + 2rem)}}@keyframes panel-in{0%{transform:translate(24px);opacity:0}}@keyframes fade-in{0%{opacity:0}}.modal:focus{outline:none}input.inline-edit{border-color:transparent;background:transparent;padding-left:.6rem;margin-left:-.6rem}input.inline-edit:hover{border-color:var(--border);background:var(--surface)}input.inline-edit:focus{background:var(--surface)}.skeleton{display:flex;flex-direction:column;gap:.9rem;padding:1.1rem 1.25rem;opacity:0;animation:fade-in .2s ease-out .3s forwards}.sk-row{display:grid;gap:1.25rem;align-items:center;min-height:32px}.sk-list .sk-item{display:flex;flex-direction:column;gap:.45rem}.sk-bar{display:block;height:12px;border-radius:var(--pill);background:linear-gradient(90deg,var(--border) 25%,var(--shimmer) 50%,var(--border) 75%);background-size:200% 100%;animation:shimmer 1.4s linear infinite}.stat.sk-tile{display:flex;min-height:78px;gap:.75rem;justify-content:center;background:var(--surface);border:1px solid var(--border);opacity:0;animation:fade-in .2s ease-out .3s forwards}.topbar .skeleton{padding:.6rem 0}.center-card.skeleton{display:flex;padding:2rem}@keyframes shimmer{to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.sk-bar,.toast,.panel,.panel-backdrop{animation:none}.skeleton,.stat.sk-tile{animation:none;opacity:1}}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media(min-width:641px)and (max-width:1499px){.tasks .col-created{display:none}}@media(min-width:641px)and (max-width:1279px){.tasks .col-comments{display:none}}@media(min-width:1600px){body:has(.panel) .tasks .col-created,body:has(.panel) .tasks .col-comments,body:has(.panel) .tasks .col-actions{display:none}}@media(min-width:641px)and (max-width:1279px){.tasks th,.tasks td{padding-left:.45rem;padding-right:.45rem}.tasks td.desc{min-width:160px}}.tasks td .due-note{display:block;font-size:.75rem;font-weight:500;color:var(--muted)}.tasks td .due-note.overdue-count{color:var(--overdue);font-weight:600}.tasks td.comment-count{white-space:nowrap;color:var(--text-secondary)}.tasks td.comment-count svg{vertical-align:-2px;margin-right:.3rem}.tasks td.comment-count.none{color:var(--muted);opacity:.6}th button.sort{gap:.25rem}.sort-mark{display:inline-block;min-width:.7em;font-size:.65rem;color:var(--primary-ink)}.empty-state{display:flex;flex-direction:column;align-items:center;gap:.5rem}.empty-state strong{color:var(--text);font-size:.95rem}.empty-state button.primary{margin-top:.4rem}.tasks.members tbody tr:hover{background:none}.tasks.members tbody tr{transition:none}.topbar-title{min-width:0}.crumbs{display:flex;flex-wrap:wrap;gap:.1rem;margin-bottom:.1rem}.crumbs a{color:var(--muted);text-decoration:none}.crumbs a:hover{color:var(--primary-ink);text-decoration:underline}.crumb-sep{margin:0 .4rem;color:var(--border-strong)}.title-row{flex-wrap:nowrap;gap:.35rem}.title-row h1{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}button.switcher{width:30px;min-height:30px;padding:0;border-radius:50%;color:var(--muted);border-color:transparent;background:none}button.switcher:hover:not(:disabled),button.switcher[aria-expanded=true]{background:var(--primary-tint);color:var(--primary-ink);border-color:transparent}button.user-trigger{gap:.6rem;min-height:44px;padding:.25rem .75rem .25rem .3rem;border-color:transparent;background:none;color:var(--muted)}button.user-trigger:hover:not(:disabled),button.user-trigger[aria-expanded=true]{background:var(--hover);border-color:var(--border)}button.user-trigger .user-text{align-items:flex-start;gap:.15rem}button.user-trigger .user-name{color:var(--text);font-weight:700}button.user-trigger .role-badge{margin-left:0}.menu{display:flex;flex-direction:column;overflow-y:auto}.menu ul{margin:0;padding:0;list-style:none}.menu-header{padding:.6rem .75rem .7rem;margin-bottom:.25rem;border-bottom:1px solid var(--border)}.menu-group{padding:.55rem .75rem .2rem;font-size:.7rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.menu button{flex-direction:column;align-items:flex-start;gap:0;height:auto;white-space:normal;text-align:left}.menu button.current{background:var(--primary-tint);color:var(--primary-ink);font-weight:600}.menu .menu-label{overflow-wrap:anywhere}.board-desc p{margin:0}.tab-count{display:inline-grid;place-items:center;min-width:1.4rem;height:1.25rem;margin-left:.4rem;padding:0 .35rem;border-radius:var(--pill);background:var(--neutral-bg);color:var(--muted);font-size:.72rem;font-weight:700}.tabs a.active .tab-count{background:var(--primary-tint);color:var(--primary-ink)}.board-card{transition:border-color .15s,transform .15s,box-shadow .15s}.board-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-pop)}.board-card:focus-visible{transform:translateY(-2px)}@media(prefers-reduced-motion:reduce){.board-card,.board-card:hover{transition:none;transform:none}}.invite-warn{color:var(--soon);font-weight:500}.badge.note-badge{background:var(--done-bg);color:var(--done)}.password-field{position:relative;display:flex}.password-field input{flex:1;padding-right:4.2rem}button.password-toggle{position:absolute;right:.9rem;top:50%;transform:translateY(-50%);font-size:.8rem}.field-note.row{gap:.75rem;flex-wrap:nowrap}@media(max-width:640px){.title-row h1{white-space:normal}button.user-trigger .user-text{display:none}.user button{margin-left:0}}@media(max-width:640px){.center-card{margin:8vh 1rem;padding:1.5rem}}.sidebar{position:sticky;top:0;z-index:6;height:100vh;flex:0 0 248px;width:248px;min-width:0;display:flex;flex-direction:column;gap:1.1rem;padding:1.25rem 1rem;background:var(--sidebar);transition:flex-basis .2s ease}.sidebar-head{position:relative;display:flex;align-items:center;min-height:44px}.brand-link{padding:0 .35rem}button.sidebar-toggle{position:absolute;right:-1.85rem;top:50%;transform:translateY(-50%);width:26px;min-height:26px;padding:0;border:2px solid var(--sidebar);border-radius:50%;background:#fff;color:var(--sidebar);box-shadow:0 2px 8px #10113a59}button.sidebar-toggle:hover:not(:disabled){background:#fff;border-color:var(--sidebar);color:var(--primary)}.sidebar-search{display:flex;flex-direction:row;align-items:center;gap:.55rem;height:44px;padding:0 .85rem;border:1px solid var(--sidebar-line);border-radius:12px;background:var(--sidebar-field);color:var(--sidebar-text)}.sidebar-search:focus-within{border-color:var(--primary)}.sidebar-search input{flex:1;min-width:0;min-height:0;height:100%;padding:0;border:none;border-radius:0;background:none;color:var(--on-dark);font-size:.9rem}.sidebar-search input::placeholder{color:var(--sidebar-text)}.sidebar-search input:focus{box-shadow:none}.sidebar-search input::-webkit-search-cancel-button{filter:invert(.7)}button.sidebar-search-icon{align-self:center;width:44px;min-height:44px;padding:0;border:1px solid var(--sidebar-line);border-radius:12px;background:var(--sidebar-field);color:var(--sidebar-text)}button.sidebar-search-icon:hover:not(:disabled){background:var(--sidebar-active);color:var(--on-dark);border-color:var(--sidebar-line)}.sidebar .nav{flex:1;min-height:0;display:flex;flex-direction:column;gap:.2rem;margin:0 -1rem;padding:1rem 1rem .5rem;border-top:1px solid var(--sidebar-line);overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:var(--sidebar-active) transparent}.nav a{position:relative;display:flex;align-items:center;gap:.8rem;height:44px;padding:0 .6rem;border-radius:10px;color:var(--sidebar-text);text-decoration:none;font-weight:500;font-size:.93rem;transition:background .15s,color .15s}.nav a svg{flex:none;opacity:.85}.nav a:hover{color:var(--on-dark);background:var(--sidebar-active)}.nav a.active{color:#fff;font-weight:600;background:none}.nav a.active svg{opacity:1}.nav a.active:before{content:"";position:absolute;left:-1rem;top:9px;bottom:9px;width:3px;border-radius:0 3px 3px 0;background:#fff}.tree-head{display:flex;align-items:center;gap:.3rem}.tree-head>a{flex:1;min-width:0}button.tree-toggle{flex:none;width:22px;min-height:22px;padding:0;margin-right:.35rem;border:none;border-radius:50%;background:var(--sidebar-active);color:var(--on-dark)}button.tree-toggle:hover:not(:disabled){background:var(--sidebar-line);border:none}button.tree-toggle:disabled{opacity:.4}.tree-list{list-style:none;margin:.1rem 0 .3rem 1.15rem;padding:0 0 0 .85rem;display:flex;flex-direction:column;gap:.15rem;border-left:1px solid var(--sidebar-line)}.tree-list.nested{margin:.1rem 0 .25rem .85rem;padding-left:.7rem}.tree-org,.tree-board{display:flex;align-items:center;gap:.5rem;width:100%;min-height:38px;padding:0 .7rem;border:none;border-radius:10px;background:none;color:var(--sidebar-text);font-size:.89rem;font-weight:500;text-decoration:none;text-align:left;justify-content:flex-start;transition:background .15s,color .15s}button.tree-org{white-space:nowrap;color:#c9cbe6}button.tree-org:disabled{opacity:1;cursor:default}.tree-org:hover:not(:disabled),.tree-board:hover{background:var(--sidebar-active);color:var(--on-dark);border:none}.tree-board.active{background:var(--sidebar-active);color:#fff;font-weight:600}.nav a.tree-board.active:before{display:none}.tree-dot{display:none}.tree-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-count,.tree-hint{flex:none;font-size:.72rem;font-weight:600;color:#7c7fae}.tree-badge{flex:none;display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 .35rem;border-radius:var(--pill);background:#6c63ff;color:#fff;font-size:.7rem;font-weight:700}.tree-chevron{flex:none;transition:transform .15s}.tree-chevron.open{transform:rotate(90deg)}.tree-chevron.vertical.open{transform:rotate(180deg)}.tree-empty{padding:.45rem .7rem;font-size:.82rem;color:#7c7fae}button.sidebar-search-icon{position:relative}.sidebar.rail .nav a[data-tip]:hover:after,.sidebar.rail .nav a[data-tip]:focus-visible:after,.sidebar button[data-tip]:hover:after,.sidebar button[data-tip]:focus-visible:after{content:attr(data-tip);position:absolute;left:calc(100% + 12px);top:50%;transform:translateY(-50%);padding:.35rem .6rem;border-radius:6px;background:var(--sidebar);color:#fff;font-size:.8rem;font-weight:500;white-space:nowrap;pointer-events:none;z-index:50;box-shadow:0 4px 14px #10113a59}.sidebar .nav{overflow:visible}.sidebar:not(.rail) .nav{overflow-y:auto}.sidebar.rail{flex-basis:76px;width:76px;padding:1.25rem .75rem;align-items:center}.sidebar.rail .sidebar-head{justify-content:center;width:100%}.sidebar.rail .brand-link{padding:0}.sidebar.rail .brand{width:38px}.sidebar.rail .brand-logo{height:40px;margin-left:-1px}.sidebar.rail button.sidebar-toggle{right:-1.6rem}.sidebar.rail .nav{width:calc(100% + 1.5rem);margin:0 -.75rem;padding:1rem .75rem .5rem;align-items:center}.sidebar.rail .nav-label,.sidebar.rail .tree-toggle,.sidebar.rail .tree-list{display:none}.sidebar.rail .nav a{width:44px;padding:0;justify-content:center}.sidebar.rail .nav a.active{background:var(--sidebar-active)}.sidebar.rail .nav a.active:before{left:-.75rem}.sidebar.rail .tree-head{justify-content:center}.sidebar.rail .tree-head>a{flex:none}@media(prefers-reduced-motion:reduce){.sidebar,.tree-chevron{transition:none}}@media(max-width:900px){.sidebar{position:static;height:auto;flex:none;width:auto;flex-direction:row;align-items:center;gap:1rem;padding:.6rem 1rem;transition:none}.sidebar .nav{flex-direction:row;margin:0;padding:0;border:none;overflow:visible}.nav a{height:38px}.nav a.active{background:var(--sidebar-active)}.nav a.active:before{display:none}.tree-toggle,.tree-list,.sidebar-toggle,.sidebar-search,.sidebar-search-icon{display:none}.sidebar.rail{width:auto;padding:.6rem 1rem;align-items:center}.sidebar.rail .nav{width:auto;margin:0;padding:0}.sidebar.rail .nav-label{display:inline}.sidebar.rail .nav a{width:auto;padding:0 .6rem}}@media(max-width:640px){.sidebar.rail .nav-label{display:none}.sidebar.rail .nav a{width:44px;padding:0}}.avatar{flex:none;overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover;display:block}.org-logo{flex:none;display:inline-grid;place-items:center;overflow:hidden;border-radius:10px;border:1px solid var(--border);background:var(--surface)}.org-logo img{width:100%;height:100%;object-fit:contain;display:block;padding:3px}.org-logo:not(.has-image){background:var(--primary-tint);border-color:transparent}.org-logo-code{font-size:.72rem;font-weight:800;letter-spacing:.03em;color:var(--primary-ink)}.org-logo-code.big{font-size:1rem}.topbar-lead{display:flex;align-items:center;gap:.85rem;min-width:0}.topbar-lead .org-logo{border-radius:12px}.topbar-lead .org-logo.has-image{width:auto!important;min-width:44px;max-width:150px;padding:0 5px}.topbar-lead .org-logo.has-image img{height:34px;width:auto;max-width:140px;padding:0;object-fit:contain}.name-cell{display:inline-flex;align-items:center;gap:.65rem;min-width:0}.comments li.comment{display:flex;gap:.7rem;align-items:flex-start}.comment-main{flex:1;min-width:0}.menu-profile{display:flex;align-items:center;gap:.65rem;min-width:0}.menu-profile>div{min-width:0}.image-picker{display:flex;flex-direction:column;gap:.45rem}.image-picker-label{font-size:.85rem;font-weight:500;color:var(--muted)}.image-picker-row{gap:1rem;flex-wrap:nowrap;align-items:center}.image-picker-preview{flex:none;display:inline-grid;place-items:center;width:72px;height:72px;overflow:hidden;border-radius:16px;border:1px dashed var(--border-strong);background:var(--bg)}.image-picker-preview.round{border-radius:50%}.image-picker-preview>img{width:100%;height:100%;object-fit:contain}.image-picker-preview.round>img{object-fit:cover}.image-picker-preview .org-logo,.image-picker-preview .avatar{border:none}.image-picker-actions{gap:.3rem;min-width:0}.image-problem{color:var(--overdue)}@media(max-width:640px){.topbar-lead .org-logo{height:36px!important}.topbar-lead .org-logo:not(.has-image){width:36px!important}.topbar-lead .org-logo.has-image img{height:28px;max-width:100px}}
