/* Project workspace — v4.82 */
.project-create-simple{max-width:980px;margin:auto}.project-member-search{position:sticky;top:0;z-index:2;padding:8px 0 12px;background:var(--surface)}.project-member-search input{width:100%}.project-member-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;max-height:340px;overflow:auto;padding:2px}.project-member-row{min-height:72px}.project-member-row small{display:block;color:var(--muted);font-size:.76rem;direction:ltr;text-align:right;overflow-wrap:anywhere}.project-member-row em{font-style:normal;color:var(--accent);font-size:.75rem}.project-members-fieldset{padding:14px;border-radius:18px}.project-members-fieldset legend{font-weight:800}
.pw-project-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;padding:22px;border:1px solid var(--border);border-radius:22px;background:linear-gradient(135deg,rgba(28,126,114,.11),rgba(218,184,105,.07));align-items:start}.pw-project-hero h3{font-size:clamp(1.35rem,2vw,1.9rem);margin:9px 0 6px}.pw-project-hero p{margin:0;color:var(--muted);line-height:1.7}.pw-project-facts{display:grid;grid-template-columns:repeat(3,minmax(105px,1fr));gap:9px}.pw-project-facts span{display:flex;flex-direction:column;gap:3px;padding:11px 13px;border:1px solid var(--border);border-radius:15px;background:rgba(255,255,255,.76)}.pw-project-facts small{color:var(--muted)}.pw-project-facts b{font-size:1.02rem}.pw-project-hero .project-owner-tools{grid-column:1/-1;display:flex;gap:9px;flex-wrap:wrap}
.pw-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0}.pw-tab{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;min-height:62px;padding:12px 14px;border:1px solid var(--border);border-radius:16px;background:var(--surface);color:var(--muted);font:inherit;cursor:pointer;transition:.18s ease}.pw-tab:hover{border-color:rgba(28,126,114,.5);transform:translateY(-1px)}.pw-tab.active{background:linear-gradient(135deg,#176f67,#278f82);color:#fff;border-color:#d9b968;box-shadow:0 9px 22px rgba(17,78,74,.2)}.pw-tab span{font-size:1.2rem}.pw-tab b{font-size:.93rem}.pw-tab em{font-style:normal;min-width:25px;height:25px;border-radius:999px;display:grid;place-items:center;background:rgba(20,89,83,.08);font-size:.78rem}.pw-tab.active em{background:rgba(255,255,255,.18)}.pw-tab i{position:absolute;inset-inline-start:6px;inset-block-start:5px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#ec5353;color:#fff;font-style:normal;font-size:.7rem;display:grid;place-items:center}.pw-tab-content{min-height:360px}
.pw-work-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:13px}.pw-work-summary article{display:flex;flex-direction:column;gap:4px;padding:16px 18px;border:1px solid var(--border);border-radius:18px;background:var(--surface)}.pw-work-summary small,.pw-work-summary span{color:var(--muted)}.pw-work-summary b{font-size:1.55rem}.pw-plan-panel .panel-head{align-items:flex-start}.pw-plan-list{display:grid;gap:12px}.pw-plan-list .project-task-row{margin:0}
.pw-chat-shell{border:1px solid var(--border);border-radius:22px;background:var(--surface);overflow:hidden}.pw-chat-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 20px;border-bottom:1px solid var(--border)}.pw-chat-head h3{margin:0 0 3px}.pw-chat-head p{margin:0;color:var(--muted)}.pw-chat-members{display:flex;gap:8px;flex-wrap:wrap;padding:12px 18px;border-bottom:1px solid var(--border);background:var(--soft)}.pw-chat-members button{display:flex;align-items:center;gap:7px;border:1px solid var(--border);border-radius:999px;background:#fff;padding:6px 10px;font:inherit;cursor:pointer}.pw-chat-members button b{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:rgba(28,126,114,.14);color:var(--accent)}.pw-chat-list{height:min(46vh,520px);min-height:320px;overflow:auto;padding:18px;display:flex;flex-direction:column;gap:11px;background:linear-gradient(180deg,rgba(236,247,245,.55),transparent)}.pw-message{display:flex;gap:9px;max-width:78%;align-self:flex-start}.pw-message.mine{align-self:flex-end;flex-direction:row-reverse}.pw-message-avatar{width:34px;height:34px;border-radius:12px;display:grid;place-items:center;background:var(--soft);color:var(--accent);font-weight:800;flex:none}.pw-message-body{padding:10px 13px;border:1px solid var(--border);border-radius:15px 15px 15px 4px;background:#fff}.pw-message.mine .pw-message-body{background:#e4f4f1;border-color:#add7d0;border-radius:15px 15px 4px 15px}.pw-message header{display:flex;gap:12px;align-items:center;margin-bottom:5px}.pw-message time{font-size:.72rem;color:var(--muted)}.pw-message p{margin:0;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}.pw-chat-empty{margin:auto;text-align:center;display:flex;flex-direction:column;gap:5px;color:var(--muted)}.pw-chat-empty b{color:var(--text);font-size:1.05rem}.pw-chat-composer{padding:14px 18px;border-top:1px solid var(--border)}.pw-chat-composer textarea{min-height:92px;resize:vertical;width:100%}.pw-chat-composer>div{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:9px}.pw-chat-composer small{color:var(--muted)}
.pw-resource-grid,.pw-team-activity{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.pw-attachment-list{display:grid;gap:9px}.pw-attachment-list button{display:grid;grid-template-columns:auto 1fr;gap:3px 10px;text-align:start;padding:12px;border:1px solid var(--border);border-radius:14px;background:var(--soft);font:inherit;cursor:pointer}.pw-attachment-list button>span{grid-row:1/3;font-size:1.4rem;color:var(--accent)}.pw-attachment-list small{color:var(--muted)}.pw-team-list{display:grid;gap:9px}.pw-team-list article{display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:12px;border:1px solid var(--border);border-radius:14px}.pw-team-list span{color:var(--muted);font-size:.82rem;direction:ltr;text-align:end}.pw-team-list em{font-style:normal;color:var(--accent);font-size:.8rem}
@media(max-width:900px){.project-member-choices{grid-template-columns:1fr}.pw-project-hero{grid-template-columns:1fr}.pw-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.pw-resource-grid,.pw-team-activity{grid-template-columns:1fr}}
@media(max-width:620px){.pw-project-hero{padding:16px}.pw-project-facts,.pw-work-summary{grid-template-columns:1fr}.pw-tabs{display:flex;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.pw-tab{min-width:165px}.pw-plan-panel .panel-head{display:grid;gap:12px}.pw-plan-panel .row-actions{width:100%}.pw-plan-panel .row-actions .btn{flex:1}.pw-chat-head{align-items:flex-start}.pw-chat-list{min-height:300px;height:44vh}.pw-message{max-width:92%}.pw-chat-composer>div{align-items:stretch;flex-direction:column}.pw-chat-composer .btn{width:100%}}

/* v4.84 — clean project creation flow */
.modal.project-create-modal{
  width:min(980px,calc(100vw - 32px));
  max-height:min(92dvh,920px);
  overflow:hidden;
}
.modal.project-create-modal #modalForm{
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  max-height:min(92dvh,920px);
  overflow:hidden;
}
.modal.project-create-modal .modal-body{
  max-height:none;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  padding:18px 20px 22px;
  scrollbar-gutter:stable;
}
.modal.project-create-modal form>header,
.modal.project-create-modal form>footer{
  flex:0 0 auto;
  background:var(--panel);
  position:relative;
  z-index:3;
}
.modal.project-create-modal form>footer{
  justify-content:flex-start;
  box-shadow:0 -12px 30px color-mix(in srgb,var(--text) 6%,transparent);
}
.project-create-clean{display:grid;gap:18px;max-width:920px;margin:auto}
.project-create-section{
  border:1px solid var(--line);
  border-radius:20px;
  background:var(--panel);
  padding:18px;
  box-shadow:0 10px 28px color-mix(in srgb,var(--text) 5%,transparent);
}
.project-create-section>h4,
.project-team-picker-head h4{margin:0;color:var(--text);font-size:1.08rem}
.project-create-basics .form-grid{gap:14px}
.project-create-basics label{font-weight:800}
.project-create-basics input,
.project-create-basics select,
.project-create-basics textarea{margin-top:7px}
.project-team-picker-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}
.project-team-picker-head p{margin:4px 0 0;color:var(--muted);font-size:.9rem}
.project-member-name-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  max-height:none!important;
  overflow:visible!important;
  padding:0!important;
}
.project-member-name{
  position:relative;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  min-height:64px;
  padding:10px 12px;
  border:1px solid var(--line);
  border-radius:16px;
  background:var(--surface);
  cursor:pointer;
  transition:.18s ease;
}
.project-member-name:hover{border-color:var(--primary);transform:translateY(-1px)}
.project-member-name.selected{background:var(--primary-soft);border-color:var(--primary);box-shadow:0 8px 20px color-mix(in srgb,var(--primary) 12%,transparent)}
.project-member-name input{position:absolute;opacity:0;pointer-events:none}
.project-member-avatar{width:40px;height:40px;border-radius:13px;display:grid;place-items:center;background:var(--panel);border:1px solid var(--line);color:var(--primary-strong);font-weight:900}
.project-member-name strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.94rem}
.project-member-name em{grid-column:2;font-style:normal;color:var(--muted);font-size:.72rem}
.project-member-name>i{width:24px;height:24px;border-radius:999px;display:grid;place-items:center;border:1px solid var(--line);color:transparent;background:var(--panel);font-style:normal;font-weight:900}
.project-member-name.selected>i{background:var(--primary);border-color:var(--primary);color:#fff}
.project-member-name:has(input:disabled){cursor:default}
.project-member-name:has(input:disabled) em{color:var(--primary-strong);font-weight:800}
@media(max-width:900px){
  .project-member-name-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  .modal.project-create-modal{width:100vw!important;height:100dvh!important;max-height:100dvh!important;border-radius:0!important}
  .modal.project-create-modal #modalForm{max-height:100dvh}
  .project-create-section{padding:14px;border-radius:16px}
  .project-member-name-grid{grid-template-columns:1fr}
  .project-team-picker-head{align-items:flex-start}
}

/* v4.84 — prevent nested page scrolling while a dialog is open */
html:has(.modal[open]),body:has(.modal[open]){overflow:hidden!important}

/* v4.86 — simplified, clearer project workspace */
.modal.project-workspace-modal{width:min(1120px,calc(100vw - 30px));max-height:94dvh;overflow:hidden}
.modal.project-workspace-modal #modalForm{display:grid;grid-template-rows:auto minmax(0,1fr) auto;max-height:94dvh;overflow:hidden}
.modal.project-workspace-modal .modal-body{max-height:none;min-height:0;overflow:auto;padding:18px 20px 24px}
.pw-project-hero{border-color:color-mix(in srgb,var(--primary) 30%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--primary-soft) 78%,#fff),#fff);box-shadow:0 14px 34px rgba(18,74,72,.07)}
.pw-tabs{gap:12px}.pw-tab{min-height:68px;border-color:var(--line);background:#fff}.pw-tab.active{background:linear-gradient(135deg,var(--primary-strong),var(--primary));border:2px solid var(--accent);box-shadow:0 12px 28px color-mix(in srgb,var(--primary) 24%,transparent)}.pw-tab em{margin-inline-start:auto}.pw-tab:not(.active):hover{background:var(--primary-soft)}
.pw-compact-status{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:14px}.pw-compact-status span{display:inline-flex;align-items:center;gap:5px;padding:8px 11px;border:1px solid var(--line);border-radius:999px;background:var(--panel2);color:var(--muted)}.pw-compact-status b{color:var(--primary-strong);font-size:1rem}.pw-compact-status .needs-action{background:#fff7e3;border-color:#edd39a;color:#745409}.pw-compact-status .needs-action b{color:#9a6700}
.pw-plan-panel{padding:18px}.pw-plan-panel .panel-head{margin-bottom:12px}.pw-plan-list{gap:10px}
.pw-chat-shell{box-shadow:0 14px 35px rgba(20,67,70,.07)}.pw-chat-head{background:linear-gradient(135deg,var(--primary-soft),#fff)}.pw-chat-members{background:#f8fbfb}.pw-chat-list{height:min(52vh,560px);background:linear-gradient(180deg,#f1f8f7 0,#fbfdfd 100%)}.pw-chat-composer{background:#fff}.pw-chat-composer textarea{min-height:86px;border:2px solid #d7e6e5}.pw-chat-composer textarea:focus{border-color:var(--primary)}
.pw-resource-grid-clear{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}.pw-project-files-panel .panel-head{align-items:flex-start}.pw-file-list{display:grid;gap:9px}.pw-file-list article{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;border:1px solid var(--line);border-radius:15px;background:#fff;padding:7px}.pw-file-open{border:0;background:transparent;color:var(--text);display:grid;grid-template-columns:42px minmax(0,1fr);gap:10px;align-items:center;text-align:right;padding:7px;width:100%;font:inherit}.pw-file-open>span{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--primary-soft);color:var(--primary-strong);font-size:1.25rem}.pw-file-open b,.pw-file-open small{display:block;overflow-wrap:anywhere}.pw-file-open small{color:var(--muted);margin-top:3px}.pw-file-delete{width:38px;height:38px;border:1px solid #ffd1cb;border-radius:11px;background:#fff0ee;color:var(--danger);font-size:1.25rem}.pw-collab-files{margin-top:14px;border-top:1px solid var(--line);padding-top:12px}.pw-collab-files summary{cursor:pointer;color:var(--primary-strong);font-weight:850}.pw-collab-files summary b{display:inline-grid;place-items:center;min-width:24px;height:24px;border-radius:999px;background:var(--primary-soft);margin-inline-start:5px}.project-file-upload{display:grid;gap:14px}.project-file-upload input[type="file"]{padding:12px;background:var(--panel2)}
.pw-team-list article{background:#fff}.pw-team-list span{display:none}.pw-team-list em{grid-column:2;align-self:center}
@media(max-width:900px){.pw-resource-grid-clear{grid-template-columns:1fr}.modal.project-workspace-modal{width:calc(100vw - 20px)}}
@media(max-width:620px){
  .modal.project-workspace-modal{width:100vw!important;height:100dvh!important;max-height:100dvh!important;border-radius:0!important}
  .modal.project-workspace-modal #modalForm{max-height:100dvh}
  .pw-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.pw-tab{min-width:0;min-height:60px;padding:10px}.pw-tab b{font-size:.86rem}.pw-tab span{font-size:1rem}
  .pw-project-facts{grid-template-columns:repeat(3,minmax(0,1fr))}.pw-project-facts span{padding:9px;text-align:center}
  .pw-plan-panel{padding:14px}.pw-plan-panel .panel-head{display:flex;align-items:flex-start;flex-direction:column}.pw-plan-panel .panel-head .btn{width:100%}
  .pw-chat-list{height:48dvh;min-height:280px}.pw-chat-members{flex-wrap:nowrap;overflow-x:auto}.pw-chat-members button{flex:none}
}


/* v4.88 correction — project workspace follows the selected personal palette. */
.pw-project-hero{
  background:linear-gradient(135deg,color-mix(in srgb,var(--primary-soft) 78%,var(--panel)),var(--panel))!important;
  border-color:color-mix(in srgb,var(--primary) 30%,var(--line))!important;
  box-shadow:0 14px 34px color-mix(in srgb,var(--primary) 8%,transparent)!important;
}
.pw-tab:hover{border-color:color-mix(in srgb,var(--primary) 50%,var(--line))!important}
.pw-tab.active{
  background:linear-gradient(135deg,var(--primary-strong),var(--primary))!important;
  border-color:var(--accent)!important;
  box-shadow:0 12px 28px color-mix(in srgb,var(--primary) 24%,transparent)!important;
}
.pw-tab em{background:color-mix(in srgb,var(--primary) 10%,var(--panel))}
.pw-chat-shell{box-shadow:0 14px 35px color-mix(in srgb,var(--primary) 8%,transparent)!important}
.pw-chat-head{background:linear-gradient(135deg,var(--primary-soft),var(--panel))!important}
.pw-chat-members{background:var(--panel2)!important}
.pw-chat-members button{background:var(--panel)!important}
.pw-chat-members button b{background:color-mix(in srgb,var(--primary) 14%,var(--panel))!important;color:var(--primary-strong)!important}
.pw-chat-list{background:linear-gradient(180deg,color-mix(in srgb,var(--primary-soft) 50%,var(--panel)),var(--panel))!important}
.pw-message-body,.pw-chat-composer,.pw-file-list article,.pw-team-list article{background:var(--panel)!important}
.pw-message.mine .pw-message-body{background:var(--primary-soft)!important;border-color:color-mix(in srgb,var(--primary) 30%,var(--line))!important}
.pw-chat-composer textarea{border-color:color-mix(in srgb,var(--primary) 20%,var(--line))!important}

/* v5.27 — realtime project message indicators */
.pw-sound-toggle{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.pw-sound-toggle.active{border-color:color-mix(in srgb,var(--primary) 48%,var(--line));background:color-mix(in srgb,var(--primary) 10%,var(--surface));color:var(--primary)}
.pw-unread-summary{background:color-mix(in srgb,#dc2626 11%,var(--surface))!important;border-color:color-mix(in srgb,#dc2626 35%,var(--line))!important;color:#b91c1c}
.pw-tab em,.nav-count{font-variant-numeric:tabular-nums}
.project-card:has(.project-compact-meta span:last-child b + *){border-color:color-mix(in srgb,#dc2626 24%,var(--line))}
.project-sound-toggle{display:inline-flex!important;align-items:center;gap:7px;white-space:nowrap}
.project-sound-toggle.active{border-color:color-mix(in srgb,var(--primary) 48%,var(--line))!important;background:color-mix(in srgb,var(--primary) 10%,var(--surface))!important;color:var(--primary)!important}
.project-unread-summary{background:color-mix(in srgb,#dc2626 10%,var(--surface))!important;border-color:color-mix(in srgb,#dc2626 30%,var(--line))!important;color:#b91c1c!important}
.project-card.has-unread-chat{border-color:color-mix(in srgb,#dc2626 34%,var(--line))!important;box-shadow:0 14px 30px color-mix(in srgb,#dc2626 8%,transparent)!important}
.project-chat-count{background:#dc2626!important;border-color:#dc2626!important;color:#fff!important;font-variant-numeric:tabular-nums;box-shadow:0 5px 14px rgba(220,38,38,.2)}


/* v5.40 — chat usability polish */
.pw-chat-shell{min-height:0}
.pw-chat-head h3{display:flex;align-items:center;gap:8px}
.pw-chat-list{scroll-behavior:smooth;scrollbar-gutter:stable;overscroll-behavior:contain}
.pw-message-body{max-width:100%;box-shadow:0 5px 16px rgba(18,61,66,.05)}
.pw-message p{font-size:15px;line-height:1.8}
.pw-chat-composer{position:sticky;bottom:0;z-index:4;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);box-shadow:0 -12px 30px rgba(18,61,66,.06)}
.pw-chat-tools{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}
.pw-chat-tools button{width:36px;height:34px;border:1px solid var(--border);border-radius:10px;background:var(--surface);font-size:18px;line-height:1;display:grid;place-items:center;transition:.15s}
.pw-chat-tools button:hover{transform:translateY(-2px);border-color:var(--primary);background:var(--primary-soft)}
.pw-chat-composer textarea{resize:none!important;min-height:56px!important;max-height:150px;overflow-y:auto;line-height:1.75;padding:14px 16px}
.pw-chat-composer-foot{display:flex!important;justify-content:space-between;align-items:center;gap:12px;margin-top:8px}
.pw-send-btn{min-width:110px;display:inline-flex;align-items:center;justify-content:center;gap:8px}
.pw-chat-members button.active{border-color:var(--primary);background:var(--primary-soft);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 10%,transparent)}
@media(max-width:640px){.pw-chat-composer-foot{align-items:stretch;flex-direction:column}.pw-send-btn{width:100%}.pw-chat-tools{flex-wrap:nowrap;overflow-x:auto;padding-bottom:3px}.pw-chat-tools button{flex:0 0 36px}}

.pw-chat-version{font-size:.7rem;font-weight:800;color:var(--primary);background:var(--primary-soft);border:1px solid color-mix(in srgb,var(--primary) 22%,transparent);border-radius:999px;padding:3px 7px;vertical-align:middle;margin-inline-start:6px}.pw-chat-tools{display:flex!important;gap:7px!important;align-items:center!important;margin:0 0 9px!important}.pw-chat-tools button{width:38px;height:36px;border:1px solid var(--border);border-radius:10px;background:var(--soft);cursor:pointer;font-size:1.05rem}.pw-chat-tools button:hover{transform:translateY(-1px);background:var(--primary-soft)}
