.page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.field-error{color:var(--danger);font-size:12px}.dialog-scroll{flex:1;min-height:0;padding-right:2px;overflow:auto}.dialog-footer{justify-content:flex-end;margin-top:10px}.share-dialog,.snapshots-dialog{width:min(760px,100vw - 24px);max-height:86vh}.share-links{flex-direction:column;gap:8px;margin:0 0 12px;padding:0;list-style:none;display:flex}.share-link{border:1px solid var(--border);border-radius:var(--radius);gap:4px;padding:8px 10px;display:grid}.share-link.is-highlighted{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.share-link-main{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.share-link-name{flex:160px;min-width:0;font-weight:600}.share-link-meta{flex-wrap:wrap;gap:12px;display:flex}.share-link-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.extend-control{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.share-form{border-top:1px solid var(--border);padding-top:10px}.share-form-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:0 12px;display:grid}.layer-picks{border:0;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:2px 10px;margin:4px 0 8px;padding:0;display:grid}.share-created{background:var(--accent-soft);border-radius:var(--radius);margin-bottom:12px;padding:10px 12px}.share-created p{margin:0 0 8px}.share-url{flex-wrap:wrap;gap:6px;display:flex}.share-url input{min-width:0;font-family:var(--mono);flex:260px;font-size:12px}.confirm-inline{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.comments-tab{flex-direction:column;gap:10px;display:flex}.comments-filter{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.comments-filter .field{margin:0}.new-comment{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:8px}.new-comment p{margin:4px 0 0}.new-comment-anchor{color:var(--text-muted);align-items:center;gap:6px;margin-bottom:6px;display:flex}.composer-field{position:relative}.composer textarea{resize:vertical;width:100%;min-height:56px;font:inherit}.composer-actions{align-items:center;margin-top:4px}.mention-list{z-index:30;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);box-shadow:var(--shadow);max-height:220px;margin:2px 0 0;padding:4px 0;list-style:none;position:absolute;top:100%;left:0;right:0;overflow:auto}.mention-option{cursor:pointer;justify-content:space-between;gap:8px;padding:4px 10px;display:flex}.mention-option.is-active{background:var(--accent-soft)}.mention{color:var(--accent);font-weight:600}.attachment-drafts,.attachments{flex-wrap:wrap;gap:6px;margin:4px 0;padding:0;list-style:none;display:flex}.attachment{color:var(--text);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:4px;padding:2px 6px 2px 2px;text-decoration:none;display:inline-flex}.attachment-thumb{object-fit:cover;border-radius:4px;width:48px;height:48px}.threads{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.thread{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:8px}.thread.is-active{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.thread.is-resolved{opacity:.75}.thread-head{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:4px;display:flex}.pin-number{background:var(--accent);min-width:22px;height:22px;color:var(--accent-text);cursor:pointer;border:0;border-radius:999px;font-size:12px;font-weight:700}.comment-anchor{color:var(--text-muted);align-items:center;gap:6px;font-size:12px;display:inline-flex}.comment{padding:4px 0}.comment.is-reply{border-left:2px solid var(--border);margin-left:14px;padding-left:8px}.comment-head{flex-wrap:wrap;align-items:baseline;gap:6px;display:flex}.comment-body{white-space:pre-wrap;overflow-wrap:anywhere;margin:2px 0}.comment-actions,.thread-actions{flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px;display:flex}.tab-badge{background:var(--accent);min-width:18px;color:var(--accent-text);text-align:center;border-radius:999px;margin-left:6px;padding:0 5px;font-size:11px;font-weight:700;display:inline-block}.comment-pin{cursor:pointer}.comment-pin .pin-shape{fill:var(--accent);stroke:var(--surface);stroke-width:1.5px}.comment-pin .pin-text{fill:var(--accent-text);font-size:11px;font-weight:700;font-family:var(--font);pointer-events:none}.comment-pin.is-active .pin-shape{fill:var(--focus)}.comment-pin.is-resolved .pin-shape{fill:var(--text-muted)}.comment-pin.is-orphaned .pin-shape{fill:var(--warn);stroke-dasharray:3 2}.overlay-layer .overlay-element{opacity:.72}.overlay-layer .overlay-element :is(rect,ellipse,path,polygon,line){stroke-dasharray:.08 .05}.overlay-element{cursor:pointer}.guest-notes{border-top:1px solid var(--border);padding:8px 10px}.guest-notes-entry{margin-bottom:8px}.guest-notes-head{align-items:center;gap:6px;display:flex}.guest-notes-head .layer-name{flex:1}.guest-notes-list{margin:2px 0 4px;padding:0;list-style:none}.guest-notes-list li{align-items:center;gap:2px;display:flex}.guest-notes-list li.is-selected{background:var(--accent-soft);border-radius:4px}.guest-note{text-align:left;text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;overflow:hidden}.notifications,.bell{position:relative}.bell-badge{background:var(--danger);color:#fff;text-align:center;border-radius:999px;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:700;line-height:16px;position:absolute;top:-2px;right:-4px}.notifications-panel{width:min(380px,100vw - 24px);max-height:70vh;padding:8px;overflow:auto}.notifications-head{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.notification-list{margin:0 0 6px;padding:0;list-style:none}.notification{border-radius:var(--radius);align-items:flex-start;gap:4px;padding:2px;display:flex}.notification.is-unread{background:var(--accent-soft)}.notification-main{text-align:left;color:var(--text);cursor:pointer;font:inherit;background:0 0;border:0;flex-direction:column;flex:1;gap:2px;min-width:0;padding:6px;display:flex}.notification-excerpt{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.snapshot-list{flex-direction:column;gap:8px;margin:8px 0;padding:0;list-style:none;display:flex}.snapshot-row{border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;gap:10px;padding:8px 10px;display:flex}.snapshot-pdf{align-items:center;gap:4px;display:flex}.snapshot-compare{border-top:1px solid var(--border);padding-top:8px}.diff-section ul{margin:0 0 8px;padding:0;list-style:none}.diff-row{padding:2px 0}.diff-added .badge{color:var(--ok)}.diff-removed .badge{color:var(--danger)}.diff-changed .badge{color:var(--warn)}.guest-page h1{margin:2px 0 8px}.guest-summary{margin-bottom:16px}.guest-form{flex-direction:column;gap:4px;display:flex}.guest-form .btn-primary{align-self:flex-start}.guest-persons{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.guest-person-list{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.consent span{font-size:13px}.revoked-page{text-align:center}.usage-list{margin:0}.usage-row{grid-template-columns:180px 1fr;gap:8px;padding:4px 0;display:grid}.usage-row dd{align-items:center;gap:8px;margin:0;display:flex}.member-list{margin:0 0 12px;padding:0;list-style:none}.member-row{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:10px;padding:6px 0;display:flex}.member-name{flex:220px;min-width:0}.stat-grid{margin:0 0 16px}.stat dd{margin:0}.stat-value{font-size:24px;font-weight:700}@media (width<=600px){.usage-row{grid-template-columns:1fr}}.ff-author{fill:#5d6673;opacity:.85;font-family:var(--font);pointer-events:none}.board-underlay{pointer-events:none;opacity:.85}.underlay-pick{fill:none;stroke:var(--accent);stroke-width:2px;vector-effect:non-scaling-stroke;stroke-dasharray:6 3}.overlay-layer.is-writable .overlay-element{cursor:pointer}.draw-target{border:1px solid var(--border);border-radius:var(--radius);margin:0 0 8px;padding:4px 8px 6px}.draw-target legend{color:var(--text-muted);padding:0 4px}.draw-target-note{margin:0 0 6px}.dg{flex-direction:column;height:100%;min-height:0;display:flex}.dg-toolbar{border-bottom:1px solid var(--border);flex-wrap:wrap;flex:none;align-items:center;gap:6px;padding:4px 8px;display:flex}.dg-toolbar .spacer{flex:1}.dg-group-select{align-items:center;gap:4px;display:inline-flex}.dg-group-select select{height:24px;font-size:12px}.dg-toolbar .btn.is-on{border-color:var(--accent);color:var(--accent)}.dg-scroll{flex:1;min-height:0;position:relative;overflow:auto}.dg-grid{min-width:100%;font-size:12.5px}.dg-row{border-bottom:1px solid var(--border);min-height:28px;display:flex}.dg-head{z-index:2;background:var(--surface-2);position:sticky;top:0}.dg-header{border-right:1px solid var(--border);flex:none;display:flex}.dg-sort{min-width:0;color:var(--text-muted);cursor:pointer;text-align:left;background:0 0;border:0;flex:1;align-items:center;gap:4px;padding:0 6px;font-size:12px;font-weight:600;display:flex}.dg-sort>span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dg-sort:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.dg-grouped{color:var(--accent);font-size:10px;font-weight:600}.dg-filter{border-right:1px solid var(--border);flex:none;padding:2px}.dg-filter input{width:100%;height:22px;padding:0 4px;font-size:12px}.dg-cell{border-right:1px solid var(--border);white-space:nowrap;text-overflow:ellipsis;cursor:cell;background:var(--surface);outline:none;flex:none;align-items:center;padding:0 6px;display:flex;position:relative;overflow:hidden}.dg-cell.is-end{font-variant-numeric:tabular-nums;justify-content:flex-end}.dg-cell.dg-boolean,.dg-cell.dg-send{justify-content:center}.dg-cell.is-readonly{color:var(--text-muted);background:var(--surface-2)}.dg-cell.is-selected{background:var(--accent-soft)}.dg-cell.is-active{box-shadow:inset 0 0 0 2px var(--accent)}.dg-grid:focus-within .dg-cell.is-active{box-shadow:inset 0 0 0 2px var(--focus)}.dg-row.is-linked .dg-cell:first-child{box-shadow:inset 3px 0 0 var(--accent)}.dg-row.is-linked .dg-cell{background-image:linear-gradient(var(--accent-soft), var(--accent-soft))}.dg-cell.is-informal{font-style:italic}.dg-new-row .dg-cell{background:0 0}.dg-new-row .dg-cell:first-child:before{content:"+";color:var(--text-muted);margin-right:4px}.dg-group-row{background:var(--surface-2)}.dg-group-cell{align-items:center;gap:6px;padding:0 8px;font-weight:600;display:flex}.dg-bool{color:var(--ok);font-weight:700}.dg-editor{width:100%;height:100%;font:inherit;background:var(--surface);color:var(--text);box-shadow:inset 0 0 0 2px var(--focus);border:0;border-radius:0;outline:none;padding:0 6px;position:absolute;inset:0}.dg-dropdown{z-index:70;background:var(--surface);border:1px solid var(--border);max-height:260px;box-shadow:var(--shadow);border-radius:8px;margin:0;padding:4px;font-size:12.5px;list-style:none;overflow:auto}.dg-dropdown li{cursor:pointer;border-radius:4px;align-items:center;gap:8px;padding:4px 6px;display:flex}.dg-dropdown li.is-active,.dg-dropdown li:hover{background:var(--accent-soft)}.dg-check{width:12px;color:var(--accent);font-weight:700}.dg-empty{padding:8px 12px}.dg-menu kbd{font-size:11px}.dg-cell.is-cu-changed{background:color-mix(in oklch, var(--cu-changed,#e8890c) 22%, transparent);box-shadow:inset 2px 0 0 var(--cu-changed,#e8890c)}.dg-cell.is-cu-added{background:color-mix(in oklch, var(--cu-added,#1f9d55) 20%, transparent);box-shadow:inset 2px 0 0 var(--cu-added,#1f9d55)}.dg-header-row{position:relative}.dg-sort{touch-action:pan-y}.dg-header.is-dragging{opacity:.45}.dg-header-row:has(.is-dragging) .dg-sort{cursor:grabbing}.dg-drop-indicator{background:var(--accent);pointer-events:none;z-index:3;width:3px;margin-left:-1px;position:absolute;top:0;bottom:0}.dg-header{position:relative}.dg-resize{cursor:col-resize;touch-action:none;z-index:2;width:7px;position:absolute;top:0;bottom:0;right:-3px}.dg-resize:hover,.dg-resize:focus-visible{background:var(--accent-soft);box-shadow:inset -2px 0 0 var(--accent)}.inventory-page{flex-direction:column;gap:8px;max-width:none;display:flex}.inventory-page .page-head{gap:12px}.inventory-grid{border:1px solid var(--border);border-radius:var(--radius);height:calc(100vh - 260px);min-height:320px;overflow:hidden}.inventory-conflict{border-radius:var(--radius);background:var(--warn-soft);color:var(--text);padding:8px 10px}.stock-in_stock{color:var(--ok,#1f7a3d)}.stock-partial{color:var(--warn)}.stock-rent,.stock-to-rent{color:var(--danger,#b42318);font-weight:600}
