/* First-party project board: one component system, scoped to this module. */
.project-board { --pb-ink:#253149; --pb-muted:#64748b; --pb-line:#e7ebf2; --pb-blue:#3777f6; --pb-surface:#fff; --pb-canvas:#fafafa; color:var(--pb-ink); font:13px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif; background:white; border:1px solid #e1e7f0; border-radius:14px; overflow:hidden; display:flex; flex-direction:column; height:calc(100dvh - 112px); min-width:0; min-height:0; box-shadow:0 2px 8px #22334d03; }
.project-board *, .project-board *::before, .project-board *::after { box-sizing:border-box; }
.project-board [hidden] { display:none !important; }
.project-board :is(button,input,select,textarea) { font:inherit; color:inherit; }
.project-board button { display:inline-flex; align-items:center; justify-content:center; gap:5px; width:auto; height:auto; min-width:0; min-height:32px; padding:5px 11px; border:1px solid var(--pb-line); border-radius:7px; background:white; box-shadow:none; cursor:pointer; white-space:nowrap; font-weight:500; line-height:20px; text-decoration:none; }
.project-board button::before,.project-board button::after { content:none; }
.project-board button:hover:not(:disabled) { background:#f3f6fb; color:#1e58b8; border-color:#d5deed; transform:none; box-shadow:none; }
.project-board button:disabled { opacity:.45; cursor:default; }
.project-board .pb-primary { background:var(--pb-blue); color:white; border-color:var(--pb-blue); box-shadow:0 2px 4px #3777f61a; }
.project-board .pb-primary:hover:not(:disabled) { background:#2468ed; color:white; border-color:#2468ed; }
.project-board .pb-danger { color:#c4535c; }
.project-board :is(button,input,select,textarea,a):focus-visible { outline:2px solid #7da6fa; outline-offset:2px; }
.project-board input:not([type=checkbox]),.project-board textarea,.project-board select { min-width:0; min-height:34px; max-width:100%; padding:7px 10px; border:1px solid #e1e6ee; background:white; border-radius:7px; box-shadow:none; line-height:20px; }
.project-board input:not([type=checkbox]):focus,.project-board textarea:focus { border-color:#b8cdf5; outline:none; box-shadow:0 0 0 3px #3777f60b; }
.project-board input[type=checkbox] { appearance:auto; width:15px; min-width:15px; max-width:15px; height:15px; min-height:15px; padding:0; margin:0; accent-color:var(--pb-blue); flex:none; }
.project-board textarea { resize:vertical; }
.project-board h1,.project-board h2,.project-board h3,.project-board p { margin:0; }
.project-board h2 { font-size:17px; font-weight:600; }
.project-board h3 { font-size:13px; font-weight:600; }
.project-board svg { width:16px; height:16px; flex:none; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.project-board .pb-muted,.project-board small { color:var(--pb-muted); font-size:12px; }
.project-board .pb-sr { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.project-board .pb-row { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.project-board .pb-between { justify-content:space-between; }
.project-board .pb-header { flex:none; display:flex; justify-content:space-between; align-items:center; min-height:62px; padding:10px 22px; gap:12px; }
.project-board .pb-header > .pb-row { gap:7px; }
.project-board .pb-project-icon { display:grid; place-items:center; width:29px; height:29px; border-radius:8px; background:#7c78f7; color:white; box-shadow:0 2px 5px #7c78f71f; }
.project-board .pb-project-icon svg { width:17px; height:17px; }
.project-board .pb-header .pb-select-trigger { padding:3px 5px; max-width:370px; font-size:16px; font-weight:600; color:var(--pb-ink); border-color:transparent; }
.project-board .pb-header button:not(.pb-select-trigger) { border-color:transparent; color:#5e6e85; padding:4px 8px; font-size:12px; }
.project-board .pb-header label { display:flex; gap:5px; align-items:center; color:#64748b; font-size:12px; }
.project-board .pb-members { display:flex; margin-right:8px; padding-left:6px; }
.project-board .pb-avatar { display:inline-block; flex:none; width:21px; height:21px; border-radius:50%; background:var(--avatar-color,#4b91f8); color:white; font-size:10px; font-weight:600; line-height:21px; text-align:center; }
.project-board .pb-members .pb-avatar { margin-left:-5px; border:2px solid white; box-sizing:content-box; }
.project-board .pb-avatar-more { background:#edf1f7; color:#5e6e85; }
.project-board .pb-tabs { min-height:39px; padding:0 22px; display:flex; align-items:center; gap:20px; border-bottom:1px solid var(--pb-line); flex:none; }
.project-board .pb-tab-active { height:39px; display:flex; align-items:center; color:#3c76e9; border-bottom:2px solid #3c76e9; font-size:13px; font-weight:600; }
.project-board #pbProjectDescription { overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.project-board .pb-status { height:0; min-height:0; padding:0; flex:none; overflow:hidden; }
.project-board .pb-status.pb-error { height:auto; background:#fff3f1; color:#b34a50; padding:7px 20px; font-size:12px; }
.project-board[aria-busy=true] .pb-tab-active { opacity:.6; }
.project-board .pb-shell,.project-board .pb-main { display:flex; flex-direction:column; flex:1; min-width:0; min-height:0; }
.project-board .pb-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:54px; padding:8px 18px; background:white; border-bottom:1px solid #edf0f5; flex:none; }
.project-board .pb-toolbar .pb-row { flex-wrap:nowrap; gap:7px; }
.project-board .pb-toolbar button:not(.pb-primary) { padding:4px 8px; min-height:30px; border-color:transparent; color:#5e6e85; font-size:12px; }
.project-board .pb-toolbar input:not([type=checkbox]) { width:182px; min-height:31px; padding:4px 10px; font-size:12px; background:#fcfdff; }
.project-board .pb-toolbar .pb-primary { min-height:32px; padding:5px 13px; font-size:12px; }
.project-board .pb-layout-label,.project-board .pb-parents { display:flex; align-items:center; gap:5px; font-size:12px; color:#64748b; white-space:nowrap; }
.project-board .pb-layout-label svg { width:14px; height:14px; }
.project-board #pbTotal { padding:0 6px; min-width:22px; text-align:center; font-size:11px; border-radius:4px; color:#64748b; background:#f4f6fa; }
.project-board .pb-filters { flex:none; display:flex; flex-wrap:wrap; gap:12px; align-items:end; padding:12px 18px; background:#fcfdff; border-bottom:1px solid var(--pb-line); }
.project-board .pb-filters label { display:grid; gap:5px; font-size:11px; color:#64748b; }
.project-board .pb-filters .pb-parents { display:flex; align-items:center; min-height:33px; }
.project-board .pb-columns { flex:1; min-height:0; display:flex; align-items:flex-start; gap:12px; padding:15px 18px 18px; background:var(--pb-canvas); overflow-x:auto; overflow-y:hidden; scrollbar-width:thin; overscroll-behavior-x:contain; }
.project-board .pb-column { display:flex; flex-direction:column; flex:0 0 280px; width:280px; min-width:280px; height:auto; max-height:100%; min-height:0; padding:8px; border:1px solid transparent; border-radius:12px; background:#f1f2f3; position:relative; }
.project-board .pb-column-end { background:#eaf4f0; border-color:transparent; }
.project-board .pb-column-wait { background:#faf6e9; border-color:transparent; }
.project-board .pb-column-head { display:flex; flex:none; align-items:center; gap:6px; min-height:30px; padding:0 6px 10px; position:relative; }
.project-board .pb-column-head strong { color:#39434f; background:#e5e7e9; padding:1px 6px; border-radius:4px; font-size:13px; font-weight:600; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.project-board .pb-count { color:#68778c; font-size:11px; }
.project-board .pb-col-dot { display:none; }
.project-board .pb-column-end .pb-col-dot { background:#28a57d; }
.project-board .pb-column-end .pb-column-head strong { color:#00854e; background:#d9eee3; }
.project-board .pb-column-wait .pb-col-dot { background:#e7ac39; }
.project-board .pb-column-wait .pb-column-head strong { color:#a56500; background:#fff0cc; }
.project-board .pb-column-cards { flex:0 1 auto; min-height:0; padding:1px 1px 8px; overflow-y:auto; overflow-x:hidden; overscroll-behavior-y:contain; scrollbar-width:thin; scrollbar-color:#d1d8e4 transparent; }
.project-board .pb-column-cards::-webkit-scrollbar { width:4px; }
.project-board .pb-column-cards::-webkit-scrollbar-thumb { background:#d1d8e4; border-radius:3px; }
.project-board .pb-column-menu { position:relative; margin-left:auto; }
.project-board .pb-column-menu summary { list-style:none; cursor:pointer; width:23px; height:21px; text-align:center; color:#68778c; border-radius:4px; }
.project-board .pb-column-menu summary:hover { background:#e9edf5; }
.project-board .pb-menu { position:absolute; z-index:7; right:0; top:25px; width:150px; background:white; border:1px solid #e5eaf2; box-shadow:0 10px 30px #26344d1a; border-radius:9px; padding:5px; }
.project-board .pb-menu button { display:block; width:100%; text-align:left; border:0; font-size:12px; min-height:33px; }
.project-board .pb-card { padding:11px 11px 9px; margin-bottom:8px; border:1px solid #dedfe1; border-radius:10px; box-shadow:0 1px 2px #26354c06; background:white; cursor:grab; }
.project-board .pb-card:hover { border-color:#c6d3e9; box-shadow:0 3px 8px #26354c08; }
.project-board .pb-card[aria-grabbed=true] { opacity:.45; }
.project-board .pb-card-title { display:flex; align-items:flex-start; gap:7px; }
.project-board .pb-card-title .pb-title { display:block; flex:1; min-width:0; padding:0; border:0; height:auto; min-height:0; overflow:visible; text-align:left; background:transparent; font-size:14px; line-height:22px; color:#303e55; white-space:normal; overflow-wrap:anywhere; font-weight:400; }
.project-board .pb-card-title .pb-title:hover { color:#37445c; background:transparent; border:0; }
.project-board .pb-card-title input[type=checkbox] { appearance:none; border:1px solid #cbd4e1; border-radius:3px; width:15px; min-width:15px; height:15px; min-height:15px; margin:3px 0 0; padding:0; background:white; flex:0 0 15px; cursor:pointer; }
.project-board .pb-card-title input:checked { background:#b8c6d8; border-color:#b8c6d8; }
.project-board .pb-card-title input:checked::after { content:'✓'; display:block; text-align:center; line-height:13px; font-size:11px; color:white; }
.project-board .pb-card.pb-done .pb-title { color:#969fa8; text-decoration:none; }
.project-board .pb-card.pb-done .pb-card-foot,.project-board .pb-card.pb-done .pb-date { opacity:1; }
.project-board .pb-card-foot { margin-top:7px; display:flex; flex-wrap:wrap; align-items:center; gap:5px; color:#68788e; font-size:11px; }
.project-board .pb-card-foot:empty { display:none; }
.project-board .pb-card-foot>span,.project-board .pb-flag { display:inline-flex; align-items:center; gap:3px; }
.project-board .pb-card-foot svg { width:12px; height:12px; }
.project-board .pb-flag { padding:1px 5px; border-radius:4px; }
.project-board .pb-flag svg { fill:currentColor; }
.project-board .pb-priority-2 { color:#b72d23; background:#ffe7e3; }.project-board .pb-priority-1 { color:#a55d00; background:#fff0d5; }.project-board .pb-priority-0 { color:#1764b9; background:#e7f0ff; }.project-board .pb-priority--10 { color:#60656d; padding-left:0; }
.project-board .pb-tag { padding:1px 4px; border-radius:4px; background:#ecf8f2; color:#43a182; font-size:11px; }
.project-board .pb-tag:nth-of-type(3n) { background:#f1efff; color:#8d7acb; }
.project-board .pb-date { display:inline-flex; align-items:center; gap:3px; padding:1px 4px; margin-top:7px; border:1px solid #e7e9ed; background:white; color:#697585; border-radius:5px; font-size:12px; }
.project-board .pb-date svg { width:11px; height:11px; }
.project-board .pb-date.pb-date-overdue { color:white; background:#d83f30; border-color:#d83f30; font-weight:600; }
.project-board .pb-date.pb-date-today { color:white; background:#bc550b; border-color:#bc550b; font-weight:600; }
.project-board .pb-date.pb-date-soon { color:#9a5500; background:#fff0cf; border-color:#f3d18a; }
.project-board .pb-date.pb-date-started { color:#1b64b6; background:#eaf2ff; border-color:#c9ddfa; }
.project-board .pb-date.pb-date-complete { color:#858e98; background:#f2f3f4; border-color:#e9ebed; }
.project-board .pb-note { color:#65748b; font-size:12px; line-height:18px; margin-top:6px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.project-board .pb-card-field { color:#65748b; font-size:11px; margin-top:5px; overflow-wrap:anywhere; }
.project-board .pb-chip { padding:1px 5px; background:#f2f5f9; color:#64748b; border-radius:4px; }
.project-board .pb-add-card { width:100%; display:flex; gap:6px; min-height:30px; padding:3px; border:1px solid #dedfe1; background:white; color:#68788e; font-size:12px; font-weight:400; }
.project-board .pb-add-card>span { font-size:17px; }
.project-board .pb-add-card:hover { background:#edf4ff; color:#618cdb; border-color:#baccf0; }
.project-board .pb-quick-form { background:white; border:1px solid #bed0ef; border-radius:10px; padding:11px; box-shadow:0 4px 12px #31569008; }
.project-board .pb-quick-form textarea { width:100%; min-height:52px; padding:0; border:0; outline:none; resize:none; line-height:21px; background:transparent; box-shadow:none; font-size:13px; }
.project-board .pb-quick-form textarea:focus { border:0; box-shadow:none; }
.project-board .pb-quick-form textarea::placeholder { color:#77869b; }
.project-board .pb-quick-actions { display:flex; align-items:center; gap:5px; padding-top:8px; }
.project-board .pb-quick-actions>span { flex:1; color:#65748b; font-size:10px; white-space:nowrap; }
.project-board .pb-quick-actions button { min-height:27px; padding:3px 7px; font-size:11px; }
.project-board .pb-quick-actions .pb-icon-button { width:25px; padding:0; border-color:transparent; color:#77869b; font-size:18px; }
.project-board .pb-quick-error { color:#c3616b; font-size:12px; padding-top:4px; }
.project-board .pb-quick-error:empty { display:none; }
.project-board .pb-new-column { align-self:flex-start; min-width:135px; margin-top:3px; background:transparent; color:#68788e; border-style:dashed; border-color:#dce3ef; font-size:12px; }
.project-board .pb-load-more { width:100%; margin:0 0 7px; font-size:11px; color:#68788e; }
.project-board .pb-drop-target { background-color:#ebf2ff8c; }
.project-board .pb-drop-placeholder { display:grid; place-items:center; border:1px dashed #76a3f2; border-radius:9px; background:#edf4ff; color:#7f9ed2; margin-bottom:8px; font-size:12px; }
.project-board .pb-empty { align-self:center; width:100%; text-align:center; padding:55px 25px; color:#8e9aaf; }
/* Selects use a common popover rather than OS-dependent menus. */
.project-board .pb-select { position:relative; display:inline-flex; min-width:0; max-width:100%; vertical-align:middle; }
.project-board .pb-native-select { position:absolute !important; width:1px !important; min-width:0 !important; height:1px !important; min-height:0 !important; padding:0 !important; opacity:0; pointer-events:none; border:0 !important; }
.project-board .pb-select-trigger { justify-content:space-between; min-width:0; width:100%; gap:9px; font-size:12px; padding:5px 9px; background:white; color:#55667f; font-weight:400; }
.project-board .pb-select-trigger>svg { width:13px; height:13px; stroke-width:1.5; color:#99a7bd; }
.project-board .pb-select-value { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; text-align:left; }
.project-board .pb-select-trigger[aria-expanded=true] { background:#f0f5fd; color:#366cbd; border-color:#c5d6f4; }
.project-board .pb-select-menu { position:fixed; inset:auto; margin:0; padding:6px; max-height:360px; overflow:auto; background:#fff; color:#47556e; border:1px solid #e2e8f2; border-radius:11px; box-shadow:0 12px 40px #20334b21,0 3px 8px #20334b06; font-size:13px; scrollbar-width:thin; }
.project-board .pb-select-caption { padding:7px 9px 8px; font-size:11px; font-weight:500; color:#68788e; }
.project-board .pb-select-empty { padding:16px 10px; color:#64748b; font-size:12px; text-align:center; }
.project-board .pb-select-options { display:grid; gap:2px; }
.project-board .pb-select-options button { display:flex; align-items:center; justify-content:flex-start; width:100%; min-height:37px; padding:8px 10px; border:0; border-radius:7px; background:white; color:#53617b; font-size:13px; font-weight:400; text-align:left; gap:9px; }
.project-board .pb-select-options button:hover,.project-board .pb-select-options .pb-option-active { background:#f3f6fc; color:#3c6db7; }
.project-board .pb-select-options button[aria-selected=true] { color:#3572df; background:#eff5ff; }
.project-board .pb-option-label { flex:1; min-width:0; white-space:normal; overflow-wrap:anywhere; }
.project-board .pb-option-label small { display:block; font-size:11px; line-height:17px; color:#68788e; margin-top:1px; }
.project-board .pb-option-check { display:flex; width:16px; color:#4b82e5; }
.project-board .pb-picker-project-icon { display:grid; place-items:center; width:25px; height:25px; color:#8f88db; background:#efedff; border-radius:6px; font-size:12px; }
.project-board .pb-select-footer { border-top:1px solid #edf0f6; margin-top:5px; padding-top:5px; }
.project-board .pb-select-footer button { width:100%; justify-content:flex-start; color:#566f98; border:0; padding:7px 10px; font-size:12px; }
.project-board .pb-select-search-wrap { padding:0 5px 7px; }.project-board .pb-select-search-wrap input { width:100%; min-height:31px; font-size:12px; background:#f8fafd; }
/* Dialogs: an editor with a quiet properties pane, not a dense form sheet. */
.project-board dialog { width:min(640px,calc(100vw - 32px)); max-height:calc(100dvh - 64px); padding:0; border:1px solid #e1e6ef; border-radius:16px; background:white; color:var(--pb-ink); box-shadow:0 25px 90px #19263a30; overflow:hidden; }
.project-board dialog[data-kind=task] { width:min(1050px,calc(100vw - 64px)); }
.project-board dialog::backdrop { background:#16203640; backdrop-filter:blur(2px); }
.project-board .pb-dialog-head { display:flex; justify-content:space-between; align-items:center; padding:17px 24px; min-height:62px; border-bottom:1px solid #edf0f6; background:white; }
.project-board .pb-dialog-head h2 { font-size:14px; color:#56667e; font-weight:500; }
.project-board #pbCloseDialog { min-height:28px; padding:2px 9px; border-color:transparent; color:#68788e; font-size:12px; }
.project-board .pb-dialog-body { max-height:calc(100dvh - 130px); overflow-y:auto; overscroll-behavior:contain; padding:24px; scrollbar-width:thin; scrollbar-color:#d4dce8 transparent; }
.project-board dialog[data-kind=task] .pb-dialog-body { padding:0; }
.project-board .pb-editor-grid { display:grid; grid-template-columns:minmax(0,1fr) 310px; }
.project-board .pb-editor-main { padding:28px 30px 25px; min-width:0; }
.project-board .pb-editor-eyebrow { display:flex; align-items:center; gap:7px; font-size:11px; color:#68788e; margin-bottom:12px; }
.project-board .pb-editor-eyebrow svg { width:14px; height:14px; color:#99a7bd; }
.project-board .pb-title-field textarea { width:100%; padding:0; min-height:64px; border:0; resize:none; font-size:22px; font-weight:600; line-height:31px; color:#27374f; border-radius:0; box-shadow:none; }
.project-board .pb-title-field textarea:focus { border:0; box-shadow:none; }
.project-board .pb-title-field textarea:focus-visible { outline:2px solid #b8cdf5; outline-offset:5px; border-radius:4px; }
.project-board .pb-title-field textarea::placeholder { color:#b4bfce; }
.project-board .pb-editor-byline { font-size:11px; color:#68788e; padding-bottom:22px; }
.project-board .pb-description { border-top:1px solid #edf0f5; padding-top:22px; }
.project-board .pb-description h3 { margin-bottom:12px; font-size:12px; color:#63738b; font-weight:500; }
.project-board .pb-description textarea { width:100%; min-height:145px; border-color:transparent; background:#fbfcfe; padding:12px 14px; color:#52647e; font-size:14px; line-height:24px; resize:vertical; }
.project-board .pb-description textarea::placeholder { color:#acb7c8; }
.project-board .pb-editor-properties { padding:27px 20px; border-left:1px solid #edf0f6; background:#fafbfd; min-width:0; }
.project-board .pb-editor-properties>h3 { font-size:11px; color:#63738b; font-weight:500; margin:0 0 16px 4px; }
.project-board .pb-editor-properties label { display:grid; grid-template-columns:64px minmax(0,1fr); align-items:center; gap:8px; margin-bottom:10px; color:#63738b; font-size:13px; }
.project-board .pb-editor-properties :is(input,select) { width:100%; padding:5px 8px; min-height:31px; font-size:12px; border-color:transparent; background:transparent; color:#5d6e8b; }
.project-board .pb-editor-properties .pb-select { width:100%; }
.project-board .pb-editor-properties .pb-select-trigger { border-color:transparent; background:transparent; color:#586d8f; padding:5px 8px; min-height:31px; }
.project-board .pb-editor-properties .pb-select-trigger:hover { background:#edf2fa; }
.project-board .pb-prop-divider { height:1px; margin:17px 4px; background:#e9eef6; }
.project-board .pb-property-help { color:#68788e; font-size:11px; line-height:18px; margin:18px 4px 0; }
.project-board .pb-editor-savebar { display:flex; align-items:center; justify-content:space-between; gap:12px; border-top:1px solid #edf0f6; border-bottom:1px solid #edf0f6; padding:14px 26px; background:white; }
.project-board .pb-editor-savebar .pb-muted { font-size:11px; color:#68788e; }
.project-board #pbActivity { padding:0 30px 28px; }
.project-board .pb-section { padding-top:20px; margin-top:20px; border-top:1px solid #edf0f5; }
.project-board .pb-section h3 { font-size:12px; font-weight:500; color:#6a7d9b; margin-bottom:10px; }
.project-board .pb-section .pb-row h3 { margin-bottom:0; }
.project-board .pb-section:first-child { border:0; padding-top:17px; margin-top:0; }
.project-board .pb-section button { font-size:12px; min-height:29px; padding:3px 9px; color:#61728c; }
.project-board .pb-section button.pb-danger { color:#c2747f; }
.project-board .pb-activity { padding:10px 0; border-bottom:1px solid #f1f4f9; }
.project-board .pb-activity p { white-space:pre-wrap; overflow-wrap:anywhere; margin:5px 0; color:#566b87; }
.project-board .pb-activity details { font-size:11px; color:#9aa8bf; }.project-board .pb-activity pre { white-space:pre-wrap; overflow-wrap:anywhere; padding:10px; font-size:11px; background:#f8fafd; border:0; }
.project-board .pb-subtasks { display:grid; gap:6px; }.project-board .pb-subtask { display:flex; align-items:center; justify-content:space-between; gap:10px; }.project-board .pb-subtask button { justify-content:flex-start; flex:1; white-space:normal; }
.project-board .pb-comment-form textarea { width:100%; margin:8px 0; background:#fcfdff; }
.project-board .pb-comment-form label { color:#63738b; font-size:12px; }
.project-board .pb-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }.project-board .pb-form-grid label { display:grid; gap:7px; color:#63738b; font-size:12px; }.project-board .pb-form-grid :is(input,textarea,.pb-select) { width:100%; }
.project-board .pb-span { grid-column:1/-1; }.project-board .pb-dialog-actions { display:flex; gap:10px; align-items:center; justify-content:space-between; padding-top:18px; margin-top:20px; border-top:1px solid #edf0f6; }
.project-board .pb-settings-list { display:grid; gap:12px; margin-top:13px; }.project-board .pb-settings-item { display:flex; flex-wrap:wrap; align-items:center; gap:6px; }.project-board .pb-settings-item span { flex:1; }
.project-board .pb-field-definition { margin:12px 0; padding:15px; border:1px solid #e5ebf3; border-radius:9px; }.project-board .pb-field-definition legend { color:#68788e; font-size:11px; padding:0 5px; }.project-board .pb-field-definition .pb-row label { display:flex; align-items:center; gap:5px; }.project-board .pb-field-definition button { margin-top:10px; }
.project-board .pb-inline-error { color:#ba6b6f; background:#fff5f4; padding:11px 15px; font-size:12px; }.project-board .pb-inline-error:empty { display:none; }
.project-board .pb-conflict { border:1px solid #f0debf; background:#fffbf3; border-radius:8px; margin:18px 24px; padding:13px 16px; color:#92774d; font-size:12px; }.project-board .pb-conflict pre { max-height:150px; overflow:auto; white-space:pre-wrap; overflow-wrap:anywhere; font-size:11px; }.project-board .pb-conflict button { margin-top:8px; }

/* Semantic colors are shared by cards and property menus. */
.project-board [data-tone=neutral] { --pb-tone-ink:#60656d; --pb-tone-bg:#e9ebee; }
.project-board [data-tone=info] { --pb-tone-ink:#1764b9; --pb-tone-bg:#e7f0ff; }
.project-board [data-tone=warning] { --pb-tone-ink:#9a5900; --pb-tone-bg:#fff0ce; }
.project-board [data-tone=success] { --pb-tone-ink:#00834d; --pb-tone-bg:#dff1e7; }
.project-board [data-tone=danger] { --pb-tone-ink:#b72d23; --pb-tone-bg:#ffe7e3; }
.project-board .pb-status-badge { display:inline-flex; align-items:center; gap:4px; padding:1px 5px; border-radius:4px; background:var(--pb-tone-bg); color:var(--pb-tone-ink); font-size:11px; }
.project-board .pb-status-badge i { width:5px; height:5px; background:currentColor; border-radius:50%; }
.project-board .pb-select-options button[data-tone]:not([data-tone=neutral]) .pb-option-label { color:var(--pb-tone-ink); }
.project-board .pb-select-options button[data-tone]:not([data-tone=neutral])[aria-selected=true] { background:var(--pb-tone-bg); color:var(--pb-tone-ink); }
.project-board .pb-editor-properties .pb-select-trigger[data-tone]:not([data-tone=neutral]) { color:var(--pb-tone-ink); background:var(--pb-tone-bg); }
.project-board .pb-editor-properties input[data-deadline-state=overdue] { color:#ba3025; background:#fff0ed; }
.project-board .pb-editor-properties input[data-deadline-state=today],.project-board .pb-editor-properties input[data-deadline-state=soon] { color:#9a5500; background:#fff2d7; }
.project-board .pb-editor-properties input[data-deadline-state=started] { color:#1764b9; background:#eaf2ff; }
.project-board .pb-column-tone-info .pb-column-head strong { color:#1764b9; background:#e0ebfd; }
.project-board .pb-column-head[draggable=true] { cursor:grab; user-select:none; }
.project-board .pb-column-head[draggable=true]:active { cursor:grabbing; }
.project-board .pb-column-head:focus-visible { outline:2px solid #7da6fa; outline-offset:2px; border-radius:5px; }
.project-board .pb-column-grip { position:absolute; left:-6px; top:2px; color:#8d969f; font-size:16px; opacity:0; pointer-events:none; }
.project-board .pb-column-head:hover .pb-column-grip,.project-board .pb-column-head:focus-visible .pb-column-grip { opacity:1; }
.project-board .pb-column-dragging { opacity:.4; }
.project-board .pb-column-insert-before::before,.project-board .pb-column-insert-after::after { content:''; position:absolute; top:0; bottom:0; width:3px; background:#3777f6; border-radius:3px; pointer-events:none; }
.project-board .pb-column-insert-before::before { left:-7px; }.project-board .pb-column-insert-after::after { right:-7px; }
.project-board .pb-done .pb-avatar { opacity:.5; }

/* Host boundary is unchanged outside the active project board. */
.app-workspace:has(#teambitionModule.active) { min-height:0; }
.app-workspace:has(#teambitionModule.active)>.module-content { min-height:0; overflow:hidden; margin:14px; }
@media(min-width:981px) { .app-workspace:has(#teambitionModule.active) { height:calc(var(--pb-workspace-height,calc(100dvh - 112px)) + 28px); }.app-workspace:has(#teambitionModule.active)>.module-nav { height:var(--pb-workspace-height,calc(100dvh - 112px)); min-height:0; } }
@media(max-width:1366px) { .project-board .pb-toolbar { padding:8px 12px; gap:6px; }.project-board .pb-toolbar .pb-row { gap:3px; }.project-board .pb-layout-label { display:none; }.project-board .pb-toolbar input:not([type=checkbox]) { width:145px; }.project-board .pb-header { padding:10px 17px; } }
@media(max-width:980px) {
 .app-workspace:has(#teambitionModule.active) { display:block; min-width:0; }.app-workspace:has(#teambitionModule.active)>.module-nav { display:flex !important; flex-direction:row !important; flex-wrap:nowrap !important; align-items:center !important; gap:8px; height:58px; min-height:0; width:calc(100% - 24px); padding:7px; margin:12px; overflow-x:auto; overflow-y:hidden; }.app-workspace:has(#teambitionModule.active) .module-nav-heading,.app-workspace:has(#teambitionModule.active) .module-nav-label,.app-workspace:has(#teambitionModule.active) .module-nav-slider { display:none; }.app-workspace:has(#teambitionModule.active) .module-nav-group,.app-workspace:has(#teambitionModule.active) .module-nav-items { display:contents; }.app-workspace:has(#teambitionModule.active) .module-tab { flex:0 0 auto; min-width:92px; max-width:125px; height:38px; padding:0 8px; gap:5px; font-size:12px; }.app-workspace:has(#teambitionModule.active) .module-tab-icon { width:16px; height:16px; flex:none; fill:none; stroke:currentColor; stroke-width:1.5; }.app-workspace:has(#teambitionModule.active)>.module-content { margin:0 12px 12px; }
 .project-board .pb-toolbar { flex-wrap:wrap; }.project-board .pb-tool-controls { flex-wrap:wrap !important; }.project-board .pb-header { flex-wrap:wrap; padding:11px 12px; gap:7px; }.project-board .pb-header>.pb-row { gap:3px; }.project-board .pb-header .pb-select-trigger { max-width:240px; font-size:14px; }.project-board .pb-members { margin-right:4px; }.project-board .pb-header button:not(.pb-select-trigger) { padding:2px 5px; min-height:26px; }.project-board .pb-columns { padding:11px; }.project-board .pb-tabs { padding:0 12px; }
 .project-board .pb-editor-grid { grid-template-columns:minmax(0,1fr) 270px; }.project-board .pb-editor-main { padding:25px; }
}
@media(max-width:700px) { .project-board dialog[data-kind=task] { width:calc(100vw - 20px); max-height:calc(100dvh - 30px); }.project-board .pb-editor-grid { display:flex; flex-direction:column; }.project-board .pb-editor-main { padding:22px; }.project-board .pb-editor-properties { border-left:0; border-top:1px solid #edf0f5; padding:20px; }.project-board .pb-title-field textarea { font-size:19px; }.project-board .pb-dialog-body { max-height:calc(100dvh - 96px); }.project-board .pb-form-grid { grid-template-columns:1fr; }.project-board .pb-editor-savebar { padding:13px 20px; }.project-board .pb-editor-savebar>span { max-width:55%; }.project-board #pbActivity { padding:0 22px 24px; }.project-board .pb-toolbar .pb-primary { margin-left:2px; } }
@media(prefers-reduced-motion:reduce) { .project-board * { transition:none !important; scroll-behavior:auto; } }
