.project-panel{margin-top:18px}.project-list{display:grid;gap:10px}.project-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px;border:1px solid var(--app-panel-border);border-radius:14px;background:color-mix(in srgb,var(--app-panel) 92%,transparent)}.project-row-main{min-width:0}.project-row-main strong{display:block;font-size:.98rem}.project-row-meta{display:flex;flex-wrap:wrap;gap:6px 12px;margin-top:5px;color:var(--app-muted);font-size:.76rem}.project-row-actions{display:flex;align-items:center;gap:8px}.project-dialog{width:min(920px,94vw);max-height:92vh}.project-dialog-card{width:100%;max-height:88vh;overflow:auto}.project-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.project-form-grid label{display:grid;gap:5px}.project-form-grid input,.project-form-grid select,.project-add-member input,.project-add-session select{min-height:40px;padding:8px 10px;border:1px solid var(--app-panel-border);border-radius:9px;background:var(--app-bg);color:var(--app-text)}.project-form-grid small,.project-subhead small,.project-security-note{color:var(--app-muted);font-size:.72rem;line-height:1.4}.project-form-actions{display:flex;justify-content:flex-end;margin-top:12px}.project-subsection{margin-top:18px;padding-top:14px;border-top:1px solid var(--app-panel-border)}.project-subhead{display:flex;justify-content:space-between;gap:10px;align-items:end}.project-session-list,.project-member-list{display:grid;gap:7px;margin-top:10px}.project-session-row,.project-member-row{display:grid;align-items:center;gap:8px;padding:9px 10px;border:1px solid var(--app-panel-border);border-radius:10px}.project-session-row{grid-template-columns:minmax(0,1fr) auto}.project-session-row small,.project-member-name small{display:block;color:var(--app-muted);margin-top:2px}.project-session-actions{display:flex;gap:6px;align-items:center}.project-member-table-head,.project-member-row{grid-template-columns:minmax(160px,1fr) 64px 74px 78px}.project-member-table-head{margin-top:10px;padding:0 10px;color:var(--app-muted);font-size:.7rem;text-align:center}.project-member-table-head span:first-child{text-align:left}.project-right-check{display:flex;justify-content:center}.project-right-check input{width:18px;height:18px}.project-add-member,.project-add-session{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:10px}.project-add-member input{flex:1 1 240px}.project-add-session select{flex:1 1 240px}.project-checkbox-inline{display:flex;align-items:center;gap:6px;font-size:.74rem}.project-security-note{margin:10px 0 0}.project-privacy-warning{border:1px solid var(--app-panel-border);border-radius:10px;padding:10px}
@media(max-width:700px){.project-row{align-items:flex-start;flex-direction:column}.project-row-actions{width:100%;justify-content:space-between}.project-form-grid{grid-template-columns:1fr}.project-member-table-head,.project-member-row{grid-template-columns:minmax(110px,1fr) 50px 58px 64px}.project-member-table-head{font-size:.62rem;padding:0 4px}.project-member-row{padding:8px 5px}.project-member-name{min-width:0;overflow:hidden}.project-member-name strong,.project-member-name small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}

/* v0.10: project dialog stays inside viewport on desktop and mobile. */
.project-dialog{width:min(920px,calc(100vw - 24px));padding:0;overflow:hidden}
.project-dialog-card{width:auto;max-width:100%;box-sizing:border-box;overflow-y:auto;overflow-x:hidden}
.project-form-grid>*{min-width:0}
.project-form-grid input,.project-form-grid select,.project-add-member input,.project-add-session select{width:100%;max-width:100%;box-sizing:border-box}

/* v0.10.1: project-scoped Viewer/Project IDs */
.project-member-table-head,.project-member-row{grid-template-columns:minmax(160px,1fr) minmax(130px,.8fr) 64px 74px 78px}
.project-member-code-wrap{min-width:0}.project-member-code-input,.project-own-id-row input,.project-member-code-add{width:100%;box-sizing:border-box;min-height:38px;padding:7px 9px;border:1px solid var(--app-panel-border);border-radius:8px;background:var(--app-bg);color:var(--app-text)}
.project-own-id-row{display:flex;gap:8px;align-items:center;margin-top:10px}.project-own-id-row input{flex:1 1 auto}.project-own-id-row .btn{flex:0 0 auto}
.project-member-code-add{flex:0 1 220px}
.project-members-no-ids .project-member-table-head span:nth-child(2),.project-members-no-ids .project-member-code-wrap{display:none}
.project-members-no-ids .project-member-table-head,.project-members-no-ids .project-member-row{grid-template-columns:minmax(160px,1fr) 64px 74px 78px}
@media(max-width:700px){.project-member-table-head,.project-member-row{grid-template-columns:minmax(105px,1fr) minmax(92px,.8fr) 46px 54px 60px}.project-members-no-ids .project-member-table-head,.project-members-no-ids .project-member-row{grid-template-columns:minmax(110px,1fr) 50px 58px 64px}.project-member-code-input{font-size:.72rem;padding:6px}.project-own-id-row{align-items:stretch;flex-direction:column}.project-own-id-row .btn{align-self:flex-end}.project-member-code-add{flex:1 1 180px}}

/* v0.10.12 - project-level permission for voluntary public research */
.project-public-research-setting {
    grid-column: 1 / -1;
    padding: 12px 14px;
    border: 1px solid var(--app-panel-border);
    border-radius: 11px;
    background: color-mix(in srgb,var(--app-panel) 92%,transparent);
}
.project-checkbox-inline {
    display: flex;
    align-items: flex-start;
    gap: 9px;
}
.project-checkbox-inline input {
    width: 18px;
    height: 18px;
    flex: 0 0 auto;
    margin-top: 1px;
}
.project-public-research-setting small {
    display: block;
    margin-top: 7px;
    color: var(--app-muted);
    line-height: 1.45;
}

/* v0.10.13 - project mailbox and chat */
.project-communication-setting {
    grid-column: 1 / -1;
    display: grid;
    gap: 9px;
    padding: 12px 14px;
    border: 1px solid var(--app-panel-border);
    border-radius: 11px;
    background: color-mix(in srgb,var(--app-panel) 92%,transparent);
}
.project-communication-setting > small { color: var(--app-muted); line-height: 1.45; }
.project-comms-tabs { display: flex; gap: 7px; flex-wrap: wrap; margin-top: 10px; }
.project-comms-tabs .active { border-color: color-mix(in srgb,var(--app-primary) 60%,var(--app-panel-border)); background: color-mix(in srgb,var(--app-primary) 12%,var(--app-panel)); }
.project-comms-pane { margin-top: 12px; }
.project-compose-box,
.project-new-message,
.project-reply-box { display: grid; gap: 8px; }
.project-compose-box,
.project-new-message { grid-template-columns: minmax(150px,.8fr) minmax(180px,1fr) auto; align-items: end; }
.project-compose-box textarea,
.project-new-message textarea { grid-column: 1 / -1; }
.project-compose-box input,
.project-compose-box select,
.project-compose-box textarea,
.project-new-message input,
.project-new-message select,
.project-new-message textarea,
.project-reply-box textarea {
    width: 100%;
    box-sizing: border-box;
    padding: 8px 10px;
    border: 1px solid var(--app-panel-border);
    border-radius: 9px;
    background: var(--app-bg);
    color: var(--app-text);
}
.project-comms-columns { display: grid; grid-template-columns: minmax(220px,.72fr) minmax(0,1.28fr); gap: 14px; margin-top: 14px; }
.project-comms-columns h4 { margin: 0 0 8px; }
.project-room-list { display: grid; gap: 6px; max-height: 360px; overflow: auto; }
.project-room-row {
    width: 100%;
    display: grid;
    gap: 3px;
    padding: 9px 10px;
    border: 1px solid var(--app-panel-border);
    border-radius: 9px;
    background: color-mix(in srgb,var(--app-panel) 94%,transparent);
    color: var(--app-text);
    text-align: left;
    cursor: pointer;
}
.project-room-row.active { border-color: color-mix(in srgb,var(--app-primary) 65%,var(--app-panel-border)); }
.project-room-row small { color: var(--app-muted); }
.project-unread-badge { display: inline-block; min-width: 20px; padding: 1px 6px; border-radius: 999px; background: var(--app-primary); color: #101526; font-size: .65rem; font-weight: 800; text-align: center; }
.project-message-list { display: grid; gap: 7px; max-height: 420px; overflow: auto; padding-right: 3px; }
.project-message-row { padding: 9px 10px; border: 1px solid var(--app-panel-border); border-radius: 10px; background: color-mix(in srgb,var(--app-panel) 93%,transparent); }
.project-message-row.is-self { background: color-mix(in srgb,var(--app-primary) 9%,var(--app-panel)); }
.project-message-head { display: flex; justify-content: space-between; gap: 10px; margin-bottom: 4px; font-size: .72rem; }
.project-message-head small { color: var(--app-muted); }
.project-message-row p { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.45; }
.project-reply-box { margin-top: 9px; grid-template-columns: minmax(0,1fr) auto; align-items: end; }
#projectChatComposer { margin-top: 9px; }
@media(max-width:760px){
    .project-compose-box,.project-new-message,.project-comms-columns,.project-reply-box{grid-template-columns:1fr}
    .project-compose-box textarea,.project-new-message textarea{grid-column:auto}
    .project-message-list,.project-room-list{max-height:300px}
}

/* v0.10.15 - project access lifecycle */
.project-form-actions{gap:8px;flex-wrap:wrap}
.btn-danger{border-color:#a33;color:#ffd7d7;background:color-mix(in srgb,#b31f36 18%,var(--app-panel))}.btn-danger:hover{background:color-mix(in srgb,#b31f36 30%,var(--app-panel))}
.project-member-table-head,.project-member-row{grid-template-columns:minmax(150px,1fr) minmax(110px,.7fr) 58px 58px 58px 58px minmax(145px,.85fr)}
.project-members-no-ids .project-member-table-head,.project-members-no-ids .project-member-row{grid-template-columns:minmax(150px,1fr) 58px 58px 58px 58px minmax(145px,.85fr)}
.project-member-access-select,#projectMemberAccessMode{min-height:38px;padding:7px 8px;border:1px solid var(--app-panel-border);border-radius:8px;background:var(--app-bg);color:var(--app-text);width:100%;box-sizing:border-box}
.project-member-row.is-access-ended{opacity:.7;border-style:dashed}
.project-add-member #projectMemberAccessMode{flex:0 1 220px}
@media(max-width:900px){
  .project-member-table-head{display:none}
  .project-member-row,.project-members-no-ids .project-member-row{grid-template-columns:minmax(0,1fr) minmax(120px,.8fr);align-items:center}
  .project-member-row>.project-right-check{justify-content:flex-start;gap:6px}
  .project-member-row>.project-right-check::before{font-size:.68rem;color:var(--app-muted)}
  .project-member-row>.project-right-check:nth-of-type(1)::before{content:'Sessions'}
  .project-member-row>.project-right-check:nth-of-type(2)::before{content:'Ergebnis'}
  .project-member-row>.project-right-check:nth-of-type(3)::before{content:'Schreiben'}
  .project-member-row>.project-right-check:nth-of-type(4)::before{content:'Dateien'}
  .project-member-access-select{grid-column:1/-1}
  .project-members-no-ids .project-member-code-wrap{display:none}
}

/* v0.10.17 project labels */
.project-type-options{display:grid;gap:8px;padding:12px 13px;border:1px solid var(--app-panel-border);border-radius:14px}.project-type-options>span{font-weight:800}.project-type-options textarea{width:100%;box-sizing:border-box}

/* v0.10.17 - project as page, not modal */
.project-page{position:fixed;inset:0;z-index:1740;width:100%;height:100dvh;max-width:none;max-height:none;padding:0;border:0;background:var(--app-bg);overflow:auto}.project-page.hidden{display:none!important}.project-page .project-dialog-card{width:min(1500px,100%);max-width:none;min-height:100dvh;margin:0 auto;border-radius:0}.project-page::backdrop{display:none}body.project-page-open{overflow:hidden}

/* v0.10.17 - usernames stay inside narrow project rows */
.project-member-name{min-width:0}.project-member-name strong,.project-member-name small{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}


/* v0.10.18 FULL FULL: project roles, evaluation and personal copies */
.project-session-main{min-width:0;display:grid;gap:4px}.project-session-main small{display:block;opacity:.76}
.project-session-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.project-copy-permission{display:flex;align-items:center;gap:5px;font-size:.84rem;line-height:1.25;padding:7px 9px;border:1px solid var(--border,#394259);border-radius:10px}
.project-role-pills{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.project-role-pills label{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--border,#394259);border-radius:999px;padding:4px 7px;font-size:.76rem}.project-role-pills input{margin:0}.btn-tiny{padding:4px 8px!important;min-height:0!important;font-size:.76rem!important}
.project-evaluation-head{align-items:flex-start}.project-evaluation-list{display:grid;gap:16px}.project-eval-event{display:grid;gap:10px;border-top:1px solid var(--border,#394259);padding-top:12px}.project-eval-event-head{display:flex;align-items:flex-start;gap:10px;justify-content:space-between;flex-wrap:wrap}.project-eval-warning{font-size:.78rem;padding:5px 8px;border:1px solid #9b7040;border-radius:9px;max-width:720px}.project-eval-item{display:grid;gap:10px;padding:12px;border:1px solid var(--border,#394259);border-radius:12px;background:rgba(255,255,255,.02)}.project-eval-source{display:grid;gap:3px}.project-eval-source small{opacity:.72}.project-eval-existing{display:grid;gap:4px;font-size:.82rem;opacity:.88}.project-eval-form{display:grid;grid-template-columns:minmax(160px,220px) 140px minmax(220px,1fr) auto;gap:8px;align-items:center}.project-eval-form input,.project-eval-form select{min-width:0}
@media(max-width:900px){.project-eval-form{grid-template-columns:1fr 1fr}.project-eval-form input[type=text]{grid-column:1/-1}.project-eval-form button{justify-self:start}.project-session-actions{justify-content:flex-start}}
@media(max-width:620px){.project-eval-form{grid-template-columns:1fr}.project-eval-form input[type=text]{grid-column:auto}.project-copy-permission{width:100%}}
