/* Keep the working area prominent, without changing the sign-in screen. */
body:has(#session-summary:not([hidden])) { --workspace-gutter:clamp(.5rem,1.25vw,2rem); }
body:has(#session-summary:not([hidden])) > header { padding:.55rem var(--workspace-gutter); }
body:has(#session-summary:not([hidden])) .header-row { grid-template-columns:minmax(0,1fr) 100px minmax(0,1fr); gap:1rem; }
body:has(#session-summary:not([hidden])) .header-cabinet-name { grid-column:1; justify-self:start; text-align:left; font-size:.88rem; width:auto; }
body:has(#session-summary:not([hidden])) .brand-lockup { grid-column:2; }
body:has(#session-summary:not([hidden])) .brand-logo { width:100px; height:48px; object-fit:contain; }
body:has(#session-summary:not([hidden])) .session-summary { grid-column:3; padding:0; border:0; background:transparent; min-width:0; max-width:100%; }
body:has(#session-summary:not([hidden])) .session-summary > span { display:none; }
body:has(#session-summary:not([hidden])) .session-summary strong { font-size:.76rem; margin:0 0 .2rem; overflow-wrap:anywhere; }
body:has(#session-summary:not([hidden])) .session-summary button { width:auto; padding:.15rem .5rem; min-height:28px; font-size:.74rem; }
body:has(#session-summary:not([hidden])) main { margin-top:.75rem; }
.solen-daily-shortcuts { position:sticky; top:0; z-index:10; display:flex; flex-wrap:wrap; align-items:center; gap:.35rem; padding:.45rem; margin:0 0 .8rem; border:1px solid var(--line); border-radius:10px; background:#f4f7fc; box-shadow:0 3px 8px #1720330c; }
.solen-daily-shortcuts button { padding:.4rem .6rem; min-height:36px; font-size:.82rem; background:white; color:var(--primary); }
.solen-daily-shortcuts button:last-child { margin-left:auto; }
#daily-review-view .solen-daily-heading { margin:0 0 .65rem; }
#daily-review-view #daily-review-title { font-size:1.65rem; }
.workspace-selection-tools { display:flex; flex-wrap:wrap; gap:.25rem .45rem; align-items:center; margin:0 0 .4rem; font-size:.75rem; flex-shrink:0; }
.workspace-browser-search { display:flex; flex-wrap:wrap; align-items:center; gap:.3rem .6rem; margin-bottom:.4rem; flex-shrink:0; }
.workspace-browser-search .workspace-browser-title { font-size:.84rem; padding:.3rem 0; }
.workspace-browser-search .workspace-browser-filter { flex:1; min-width:140px; margin:0; }
.workspace-selection-count { color:var(--muted); margin-right:auto; }
.workspace-selection-tools button,.workspace-selection-tools select { padding:.25rem .5rem; min-height:32px; font-size:.75rem; margin:0; width:auto; }
.workspace-selection-tools select { flex:1; min-width:120px; max-width:260px; }
.workspace-selection-tools button:disabled { opacity:.5; }
.workspace-browser-panel .workspace-file { position:relative; padding-left:2rem; }
.workspace-file > input.workspace-file-select { position:absolute; top:.85rem; left:.5rem; width:17px; height:17px; min-height:17px; margin:0; padding:0; accent-color:var(--primary); cursor:pointer; }
/* Secondary file links should not consume half of each row. */
.workspace-browser-panel .workspace-file-actions { flex-wrap:nowrap; gap:.35rem; }
.workspace-browser-panel .workspace-file-actions a { font-size:.72rem; padding:.25rem .4rem; min-height:30px; }
.workspace-browser-panel .document-card-head { gap:.4rem; }
@media(max-width:700px) {
  body:has(#session-summary:not([hidden])) .header-row { grid-template-columns:70px minmax(0,1fr); gap:.4rem .7rem; }
  body:has(#session-summary:not([hidden])) .brand-lockup { grid-column:1; grid-row:1 / 3; }
  body:has(#session-summary:not([hidden])) .brand-logo { width:70px; height:40px; }
  body:has(#session-summary:not([hidden])) .header-cabinet-name { grid-column:2; grid-row:1; font-size:.78rem; }
  body:has(#session-summary:not([hidden])) .session-summary { grid-column:2; grid-row:2; justify-self:stretch; display:flex; flex-wrap:wrap; align-items:center; gap:.35rem; }
  body:has(#session-summary:not([hidden])) .session-summary strong { margin:0; }
  .workspace-browser-panel .document-card-head { flex-wrap:wrap; }
  .workspace-browser-panel .workspace-file-actions { justify-content:flex-start; }
  .solen-daily-shortcuts button { font-size:.76rem; padding:.3rem .4rem; }
  .workspace-selection-tools { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  .workspace-selection-count { grid-column:1 / -1; }
  .workspace-selection-tools button { padding:.25rem; font-size:.7rem; overflow-wrap:anywhere; }
  .workspace-selection-tools select { min-width:0; width:100%; }
}

/* The application chrome stays visible while views scroll below it. */
body:has(#session-summary:not([hidden])) { height:100dvh; overflow:hidden; display:flex; flex-direction:column; }
body:has(#session-summary:not([hidden])) > header { flex-shrink:0; }
body:has(#session-summary:not([hidden])) > main { width:calc(100% - 2 * var(--workspace-gutter)); max-width:none; min-width:0; flex:1; min-height:0; display:flex; flex-direction:column; margin-bottom:.6rem; }
body:has(#session-summary:not([hidden])) > footer { width:calc(100% - 2 * var(--workspace-gutter)); }
body:has(#session-summary:not([hidden])) > main > .solen-global-actions,
body:has(#session-summary:not([hidden])) > main > .view-switcher { flex-shrink:0; }
.solen-view-content { min-width:0; min-height:0; flex:1; overflow:auto; scrollbar-gutter:stable; }
/* Extra width belongs to the files, rather than an ever-growing folder sidebar. */
@media(min-width:701px) {
  .workspace-browser-shell { grid-template-columns:clamp(170px,26%,20rem) minmax(0,1fr); }
}
.solen-view-content:has(> #matter-dialog:not([hidden])) { overflow:hidden; }
#matter-shared-actions { justify-content:flex-end; }
#matter-dialog .matter-header-title h2 { margin:0 0 .2rem; }
@media(max-width:700px) {
  body:has(#session-summary:not([hidden])) > main { width:calc(100% - 1rem); margin-top:.4rem; }
  body:has(#session-summary:not([hidden])) > main > .view-switcher { flex-wrap:nowrap; overflow-x:auto; }
  body:has(#session-summary:not([hidden])) > main > .view-switcher > button { flex-shrink:0; }
  #matter-dialog > .matter-header { padding:.5rem .6rem; }
  #matter-dialog > .matter-tabs { margin:.3rem .6rem 0; }
}
.solen-daily-shortcuts button[aria-selected="true"] { background:#243d68; color:white; box-shadow:inset 0 -3px 0 #122e59; }
.solen-daily-shortcuts button:last-child { margin-left:0; }
#daily-review-view [role="tabpanel"][hidden], #daily-roadmaps, #daily-invoices { display:none!important; }
.document-transfer-dialog { width:min(760px,95vw); max-height:90vh; overflow:auto; padding:1.25rem; border:1px solid #ced5e2; border-radius:14px; }
.document-transfer-dialog > input,.document-transfer-dialog > select { display:block; width:100%; margin:.6rem 0; }
.document-transfer-items { list-style:none; padding:0; }
.document-transfer-items li { display:grid; gap:.2rem; margin:.6rem 0; }
.document-transfer-items span { color:var(--muted); font-size:.85rem; }

.workspace-file-name { display:flex; align-items:baseline; gap:.4rem; min-width:0; }
.workspace-file-name strong { min-width:0; overflow-wrap:anywhere; }
.document-rename-name { min-height:0; display:inline; text-align:left; font:inherit; font-weight:700; color:inherit; background:transparent; border:0; padding:0; min-width:0; overflow-wrap:anywhere; cursor:text; }
.document-rename-name:hover { text-decoration:underline dotted; text-underline-offset:3px; }
.document-rename-name:focus-visible { outline:2px solid #8094b8; border-radius:.2rem; }
.document-rename-undo { flex:0 0 auto; background:transparent; color:#405779; border:0; padding:.25rem; border-radius:.35rem; cursor:pointer; line-height:1; }
.document-rename-undo:hover, .document-rename-undo:focus-visible { background:#e9edf6; outline:2px solid #8094b8; }
.document-rename-form { display:flex; flex:1 1 20rem; min-width:0; align-items:center; gap:.3rem; margin:0; }
.document-rename-form input { flex:1 1 auto; min-width:0; width:100%; padding:.25rem .4rem; }
.workspace-folder-label .document-rename-form { flex-basis:100%; order:-1; width:100%; }
.workspace-folder-label .document-rename-status { width:100%; }
.workspace-folder-toggle[hidden] { display:none; }
.document-rename-extension { color:#66748d; }
.document-rename-status { flex-basis:100%; color:#405779; font-size:.85rem; }
.document-rename-name[hidden], .document-rename-undo[hidden], .document-rename-status[hidden] { display:none; }

.billing-subtabs { display:flex; gap:.45rem; flex-wrap:wrap; margin:0 0 1rem; }
.billing-subtabs button { background:#f4f6fa; color:var(--primary); border:1px solid var(--line); }
.billing-subtabs button[aria-selected="true"] { background:var(--primary); color:white; }
.billing-work-invoiced { color:#707987; background:#f0f2f5; }
.invoice-payment-gauge { display:inline-block; width:2rem; height:2rem; border-radius:50%; vertical-align:middle; margin-right:.5rem; flex-shrink:0; }
.billing-table-scroll { overflow-x:auto; }
.billing-work-filters { display:flex; flex-wrap:wrap; align-items:center; gap:.5rem; }
.billing-work-filters input { flex:1; min-width:12rem; }
.billing-work-filters select { width:auto; }
.invoice-pdf-preview { width:100%; height:65vh; min-height:320px; border:1px solid var(--line); border-radius:.5rem; }
.parapheur-openable { cursor:pointer; }
.parapheur-openable:focus-visible { outline:2px solid var(--primary); outline-offset:2px; }

.invoice-delivery-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem;margin:1rem 0}.invoice-delivery-actions select{width:auto;max-width:100%;min-width:12rem}.invoice-delivery-actions [role=status]{flex-basis:100%;margin:0}.invoice-draft-form details>label{display:block;margin:.5rem 0}

/* Compact consultation option and contact results that stay inside the dialog. */
.consultation-option { margin: .65rem 0 1rem; min-width: 0; }
.consultation-toggle { display: inline-flex; align-items: center; gap: .55rem; margin: 0; font-size: .9rem; font-weight: 500; cursor: pointer; }
.consultation-toggle input[type="checkbox"] { width: 1.05rem; height: 1.05rem; min-height: 0; flex: 0 0 1.05rem; margin: 0; padding: 0; accent-color: var(--primary); }
.consultation-price { color: var(--muted); font-weight: 400; margin-left: .35rem; white-space: nowrap; }
#new-matter-consultation-options { max-width: 28rem; margin-top: .6rem; }
.contact-result { min-width: 0; max-width: 100%; }
.contact-result > .contact-summary-button { flex: 1 1 0; min-width: 0; max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
.contact-result > .contact-summary-button .contact-summary { white-space: normal; overflow-wrap: anywhere; }
.contact-result > .secondary-button { flex: 0 0 auto; }

/* Compact document actions stay aligned beside the filename. */
.workspace-browser-panel .workspace-file-actions .solen-icon-button { width:38px; height:38px; min-width:38px; min-height:38px; padding:7px!important; flex:0 0 38px; }
.workspace-browser-panel .workspace-file-actions .solen-icon-button svg { width:23px; height:23px; }
.workspace-browser-panel .workspace-file-actions { align-self:center; margin-left:auto; }


/* Connection cards contain their actions at every available width. */
#integrations-view { min-width:0; max-width:100%; overflow-wrap:anywhere; }
#integrations-view .integration-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr)); }
#integrations-view .integration-card,
#integrations-view .integration-action { min-width:0; }
#integrations-view .integration-card-head { flex-wrap:wrap; align-items:center; }
#integrations-view .integration-card-head h3 { min-width:0; flex:1 1 10rem; }
#integrations-view .integration-action { grid-template-columns:minmax(0,1fr); }
#integrations-view .integration-action .admin-toolbar { display:flex; flex-wrap:wrap; align-items:stretch; margin-bottom:0; }
#integrations-view .integration-action .admin-toolbar > button { flex:1 1 12rem; }
#integrations-view button, #integrations-view select { min-width:0; max-width:100%; white-space:normal; overflow-wrap:anywhere; }
#companion-pairing-list .account-card { flex-wrap:wrap; min-width:0; }
#companion-pairing-list .account-card > div:first-child { flex:1 1 18rem; min-width:0; overflow-wrap:anywhere; }
#companion-pairing-list .account-actions { min-width:0; max-width:100%; }
.companion-rename-form { display:flex; flex-wrap:wrap; gap:.5rem; align-items:center; margin-top:.6rem; }
.companion-rename-form label { flex:1 1 14rem; min-width:0; margin:0; }
.companion-rename-form input { min-width:0; width:100%; }

/* Dense document rows: the type icon is enough; metadata follows the pencil. */
.workspace-browser-panel > ul { gap:.25rem; }
.workspace-browser-panel .workspace-file { padding:.3rem .4rem .3rem 1.85rem; }
.workspace-browser-panel .workspace-file > input.workspace-file-select { top:.8rem; left:.4rem; }
.workspace-browser-panel .document-card-head { flex-direction:row; flex-wrap:nowrap; align-items:center; gap:.35rem; }
.workspace-browser-panel .workspace-file-summary { flex:1 1 0; grid-template-columns:26px minmax(0,1fr); gap:.45rem; }
.workspace-browser-panel .workspace-file-icon { width:25px; height:29px; font-size:.6rem; }
.workspace-browser-panel .workspace-file-icon.docx { font-size:.8rem; }
.workspace-browser-panel .workspace-file-name { align-items:center; gap:.3rem; }
.workspace-browser-panel .workspace-file-name strong { flex:0 1 auto; line-height:1.25; }
.workspace-browser-panel .workspace-file-name small { display:inline; margin:0; font-size:.68rem; }
.workspace-browser-panel .workspace-file-metadata { flex:0 0 auto; white-space:nowrap; }
.workspace-browser-panel .document-rename-undo { padding:.2rem; min-height:26px; }
.workspace-browser-panel .workspace-file-actions { flex:0 0 auto; gap:.25rem; }
.workspace-browser-panel .workspace-file-actions .solen-icon-button { width:32px; height:32px; min-width:32px; min-height:32px; padding:5px!important; flex-basis:32px; }
.workspace-browser-panel .workspace-file-actions .solen-icon-button svg { width:21px; height:21px; }
@media(max-width:1000px) {
  .workspace-browser-panel .workspace-file-name { flex-wrap:wrap; }
  .workspace-browser-panel .workspace-file-metadata { white-space:normal; }
}
@media(max-width:600px) {
  /* On a phone, keep folders accessible above the files instead of squeezing both columns. */
  .workspace-browser-shell { grid-template-columns:minmax(0,1fr); grid-template-rows:auto minmax(0,1fr); }
  .workspace-browser-nav { overflow-x:auto; overflow-y:hidden; border-right:0; border-bottom:1px solid var(--line); padding:0 0 .35rem; }
  .workspace-browser-nav > ul { display:flex; gap:.4rem; }
  .workspace-browser-nav > ul > li { flex:0 0 auto; max-width:12rem; padding-left:0; }
  .workspace-browser-nav .workspace-folder-label { height:100%; }
  .workspace-browser-nav .workspace-folder-toggle { padding:.2rem 0; }
  .workspace-browser-search .workspace-browser-filter { min-width:0; flex-basis:100%; }
  #matter-dialog > .dialog-body { padding:.65rem; }
  .workspace-browser-panel .document-card-head { flex-wrap:wrap; }
  .workspace-browser-panel .workspace-file-summary { flex-basis:100%; }
  .workspace-browser-panel .workspace-file-metadata { min-width:0; flex-shrink:1; overflow-wrap:anywhere; }
}

.invoice-payment-entry { display:flex; align-items:center; gap:.5rem; }
.invoice-payment-remove { margin-left:auto; border:1px solid #ecc9cd; color:#ad292f; background:#fff4f5; border-radius:6px; width:26px; min-height:26px; padding:0; flex:0 0 26px; font-size:1.15rem; line-height:1; }
.invoice-payment-remove:hover { background:#ffe4e7; }

.account-name-form { display:flex; flex-wrap:wrap; gap:.4rem; margin-top:.5rem; }
.account-name-form input { min-width:0; flex:1 1 12rem; }

/* Nested folders share the same right edge and scroll rail. */
.workspace-browser-nav > ul > li { box-sizing:border-box; width:100%; max-width:100%; padding-left:min(calc(var(--folder-depth,0) * 14px),70px); }
.workspace-browser-nav .workspace-subfolder .workspace-folder-toggle { font-size:.78rem; }
.workspace-folder-actions { display:flex; gap:5px; margin-left:auto; }
.workspace-folder-actions[hidden] { display:none; }
.workspace-folder-actions button { width:28px; min-width:28px; height:28px; min-height:28px; padding:4px; border:1px solid #cbd7e9; border-radius:7px; background:#fff; color:#284b7d; display:grid; place-items:center; }
.workspace-folder-actions button[hidden] { display:none; }
.workspace-folder-actions svg { width:19px; height:19px; stroke:currentColor; fill:none; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.workspace-folder-actions .workspace-folder-delete { color:#ad353b; border-color:#eccdd0; }
.subfolder-dialog { width:min(430px,calc(100vw - 32px)); max-width:100%; box-sizing:border-box; padding:22px; border:1px solid #dbe3ef; border-radius:15px; color:#17243a; }
.subfolder-dialog::backdrop { background:#17243a66; }
.subfolder-dialog h3 { margin-top:0; }
.subfolder-dialog label { display:grid; gap:8px; }
.subfolder-dialog input { width:100%; min-width:0; box-sizing:border-box; }
.subfolder-dialog p { overflow-wrap:anywhere; font-size:.9rem; }
.subfolder-dialog-actions { display:flex; justify-content:flex-end; gap:8px; }
