/* Client Releases — grouped UX pass 2026-09-19 + PC/mobile polish 2026-09-20 */
#navReleases:before{content:"▤"}

.release-header-actions{position:relative;align-items:flex-start}
.release-admin-menu{position:relative}
.release-admin-menu>summary{list-style:none;display:inline-flex;align-items:center;gap:8px}
.release-admin-menu>summary::-webkit-details-marker{display:none}
.release-admin-menu>summary:after{content:"⌄";font-size:11px;color:var(--muted)}
.release-admin-menu[open]>summary{border-color:#596273}
.release-admin-popover{position:absolute;right:0;top:calc(100% + 8px);z-index:20;min-width:230px;display:grid;gap:8px;padding:10px;background:#14181e;border:1px solid var(--line);border-radius:10px;box-shadow:0 18px 50px rgba(0,0,0,.42)}
.release-admin-popover .btn{text-align:left}

.release-product{padding:18px}
.release-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:14px}
.release-card{position:relative;display:flex;flex-direction:column;min-height:160px;padding:17px;border-color:#36404c;background:linear-gradient(145deg,rgba(18,23,29,.98),rgba(14,18,23,.98));transition:.15s transform,.15s border-color,.15s background}
.release-card:only-child{grid-column:span 12}
.release-card:hover{background:linear-gradient(145deg,rgba(21,27,34,.99),rgba(16,20,26,.99));border-color:#566171}
.release-card .card-title-line h2{font-size:20px;margin-top:7px}
.release-version-suffix{color:#b8c0cb;font-weight:500}
.release-canonical{margin-top:5px;color:#8f99a7;font-size:11px}
.release-canonical code,.release-modal-canonical code,.release-expected-name code{font-family:"Cascadia Code","SFMono-Regular",Consolas,monospace;letter-spacing:0}
.release-card-changelog{margin-top:10px;color:var(--muted);font-size:12px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-width:980px}
.release-card-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-top:auto;padding-top:12px}
.release-meta{margin-top:0}
.release-meta-chip{padding:4px 7px;border:1px solid #303844;border-radius:999px;background:rgba(255,255,255,.02)}
.release-open{display:inline-flex;align-items:center;gap:8px;color:#dfe4eb;font-size:12px;font-weight:700;white-space:nowrap}
.release-open b{font-size:16px;color:var(--nf-accent)}

.modal:has(.release-modal){width:min(1240px,calc(100vw - 40px));max-height:calc(100dvh - 32px);overflow:auto;padding:0}
.release-modal{width:100%;min-width:0}
.release-modal-head{position:sticky;top:0;z-index:6;display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding:20px 22px 17px;background:rgba(18,22,28,.98);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}
.release-modal-title-line{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:4px}
.release-modal-title-line .modal-title{font-size:22px}
.release-modal-title-line .modal-title span{font-weight:500;color:#b7bfca}
.release-modal-canonical{margin-top:7px;color:#99a3b1;font-size:12px}
.release-close{width:36px;height:36px;display:grid;place-items:center;flex:0 0 auto;border:1px solid var(--line);border-radius:8px;background:var(--panel2);color:var(--text);cursor:pointer;font-size:22px;line-height:1}
.release-close:hover{border-color:#687384;background:#222831}
.release-modal-body{padding:20px 22px;display:grid;gap:17px}
.release-identity-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.release-identity-grid>div{min-width:0;padding:10px 12px;border:1px solid #2e3540;border-radius:8px;background:rgba(255,255,255,.018)}
.release-identity-grid span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px}
.release-identity-grid b{display:block;font-size:12px;font-weight:600;overflow-wrap:anywhere}
.release-validation{margin:0}
.release-validation.good{border-color:rgba(62,207,142,.34);background:rgba(62,207,142,.055)}
.release-validation-head{display:flex;gap:10px;align-items:flex-start}
.release-validation-icon{width:24px;height:24px;display:grid;place-items:center;flex:0 0 auto;border:1px solid currentColor;border-radius:50%;font-size:12px;font-weight:900}
.release-validation.good .release-validation-icon{color:var(--good)}
.release-validation.bad .release-validation-icon{color:var(--bad)}
.release-validation-errors{margin:9px 0 0 34px;display:grid;gap:3px}

.release-changelog-card,.release-files-section{border:1px solid #303742;border-radius:10px;background:rgba(255,255,255,.012);padding:14px}
.release-section-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}
.release-section-head .section-title{margin-bottom:4px}
.release-changelog-preview{color:var(--muted);font-size:12px;line-height:1.5;white-space:pre-wrap}
.release-changelog-editor{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.release-changelog-editor textarea{min-height:92px}
.release-inline-actions{display:flex;justify-content:flex-end;gap:8px}
.release-inline-actions .primary{margin-top:0;align-self:auto}

.release-file-list{margin-top:12px}
.release-file-row{grid-template-columns:34px minmax(260px,1fr) minmax(180px,.45fr) auto auto;padding:11px 12px;background:#171c22}
.release-file-icon,.release-upload-file-icon{width:30px;height:30px;display:grid;place-items:center;border:1px solid #34404d;border-radius:8px;background:#11161b;color:#aeb8c5}
.release-file-row select{min-width:0;background:#10151a;border:1px solid #353e4a;color:var(--text);border-radius:7px;padding:7px 9px}
.release-client-toggle{display:flex;align-items:center;gap:7px;white-space:nowrap;font-size:11px;color:#cbd2dc}
.release-client-toggle input{width:15px;height:15px;margin:0;accent-color:var(--nf-accent)}
.release-file-remove{padding:6px}
.release-files-empty{padding:22px}

.release-upload{margin-top:0;padding:15px;border:1px solid #37414e;border-radius:10px;background:linear-gradient(180deg,rgba(227,59,50,.025),rgba(255,255,255,.012));display:grid;gap:12px}
.release-upload-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}
.release-expected-name{text-align:right;display:grid;gap:4px}
.release-expected-name span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.release-expected-name code{font-size:12px;color:#eef1f5}
.release-dropzone{display:flex;align-items:center;justify-content:center;gap:14px;min-height:122px;padding:20px;border:1px dashed #556170;border-radius:10px;background:rgba(255,255,255,.015);cursor:pointer;text-align:left;outline:none;transition:.15s border-color,.15s background,.15s transform}
.release-dropzone:hover,.release-dropzone:focus,.release-dropzone.dragover{border-color:var(--nf-accent);background:rgba(227,59,50,.055)}
.release-dropzone.dragover{transform:scale(.997)}
.release-drop-icon{width:42px;height:42px;border-radius:10px;display:grid;place-items:center;border:1px solid rgba(227,59,50,.38);background:rgba(227,59,50,.08);color:#ff6c64;font-size:22px;font-weight:800}
.release-dropzone b,.release-dropzone span,.release-dropzone small{display:block}
.release-dropzone b{font-size:14px}
.release-dropzone span{margin-top:3px;color:#c7ced7;font-size:12px}
.release-dropzone small{margin-top:6px;color:var(--muted);font-size:10px}
.release-upload-default{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid #303844;border-radius:8px;background:rgba(255,255,255,.012);cursor:pointer}
.release-upload-default input{width:16px;height:16px;margin:2px 0 0;accent-color:var(--nf-accent)}
.release-upload-default span{display:grid;gap:2px}
.release-upload-default b{font-size:11px}
.release-upload-default small{color:var(--muted);font-size:10px;line-height:1.45}
.release-upload-queue{display:grid;gap:7px}
.release-upload-empty{padding:13px;border:1px dashed #313947;border-radius:8px;text-align:center;color:var(--muted);font-size:11px}
.release-upload-row{display:grid;grid-template-columns:34px minmax(240px,1fr) auto auto auto;gap:10px;align-items:center;padding:10px;border:1px solid #303844;border-radius:9px;background:#14191f}
.release-upload-row.invalid{border-color:rgba(242,109,109,.48);background:rgba(242,109,109,.045)}
.release-upload-row.done{opacity:.72}
.release-upload-file-main{min-width:0}
.release-upload-file-main b{display:block;overflow-wrap:anywhere;font-size:12px}
.upload-error{color:#ff9f9f}
.release-upload-state{min-width:82px;text-align:right}
.release-upload-submit{margin-top:0;justify-self:end;min-width:190px}
.release-upload-submit:disabled{opacity:.42;cursor:not-allowed;box-shadow:none}

.release-footer-actions{position:sticky;bottom:0;z-index:5;margin:0;padding:14px 22px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px;align-items:end;background:rgba(18,22,28,.98);border-top:1px solid var(--line);backdrop-filter:blur(12px)}
.release-footer-label{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:7px}
.release-status-stepper{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.release-status-step{border:1px solid #39424e;background:#171c22;color:#cbd2dc;border-radius:7px;padding:8px 10px;font:inherit;font-size:11px;cursor:pointer}
button.release-status-step:hover:not(:disabled){border-color:#697687}
.release-status-step.active{border-color:rgba(227,59,50,.7);background:rgba(227,59,50,.085);color:#fff}
.release-status-step.done{color:var(--good)}
.release-status-step.blocked{opacity:.45;cursor:not-allowed}
.release-status-step:disabled{cursor:default}
.release-status-arrow{color:#616b78;font-size:12px}
.release-publish-help{margin-top:7px;max-width:700px}
.release-download-panel{text-align:right}
.release-download-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}
.btn.is-disabled{opacity:.42;cursor:not-allowed;pointer-events:none}
.release-immutable{margin:0}

@media(max-width:900px){
  .release-card{grid-column:span 12}
  .release-identity-grid{grid-template-columns:1fr 1fr}
  .release-file-row{grid-template-columns:34px 1fr}
  .release-file-row select,.release-file-row .release-client-toggle,.release-file-row .release-file-remove{grid-column:2}
  .release-upload-row{grid-template-columns:34px 1fr}
  .release-upload-row .release-client-toggle,.release-upload-row .release-upload-state,.release-upload-row [data-upload-remove]{grid-column:2;text-align:left}
  .release-footer-actions{grid-template-columns:1fr}
  .release-download-panel{text-align:left}
  .release-download-actions{justify-content:flex-start}
}
@media(max-width:620px){
  .modal:has(.release-modal){width:calc(100vw - 8px);max-height:calc(100dvh - 8px)}
  .release-product{padding:14px}
  .release-product>.card-title-line{align-items:flex-start;gap:10px}
  .release-product>.card-title-line .btn{padding:7px 9px;font-size:11px;white-space:nowrap}
  .release-card{min-height:0;padding:14px}
  .release-card .card-title-line{gap:9px}
  .release-card .card-title-line h2{font-size:18px;margin-top:4px}
  .release-card-changelog{margin-top:9px}
  .release-card-bottom{align-items:flex-start;flex-direction:column;gap:8px;padding-top:11px}
  .release-meta{row-gap:6px}
  .release-modal-head{padding:12px 12px 10px;gap:10px}
  .release-modal-head .eyebrow{display:none}
  .release-modal-title-line{margin-top:0;gap:8px}
  .release-modal-title-line .modal-title{font-size:20px;line-height:1.12}
  .release-modal-title-line .status{font-size:10px}
  .release-modal-canonical{margin-top:5px;font-size:11px}
  .release-close{width:32px;height:32px;font-size:19px}
  .release-modal-body{padding:12px;gap:12px}
  .release-identity-grid{grid-template-columns:1fr 1fr;gap:7px}
  .release-identity-grid>div{padding:8px 9px}
  .release-identity-grid>div:first-child{grid-column:1/-1}
  .release-identity-grid span{font-size:9px;margin-bottom:3px}
  .release-identity-grid b{font-size:11px;line-height:1.35}
  .release-validation{padding:12px}
  .release-validation-errors{margin:7px 0 0 0}
  .release-changelog-card,.release-files-section{padding:11px}
  .release-files-section:has(.release-files-empty){display:none}
  .release-upload{padding:11px;gap:10px}
  .release-upload-head{display:block}
  .release-expected-name{text-align:left;margin-top:8px}
  .release-dropzone{justify-content:flex-start;min-height:92px;padding:14px;gap:10px}
  .release-drop-icon{width:36px;height:36px;font-size:19px}
  .release-dropzone b{font-size:13px}
  .release-dropzone span{font-size:11px}
  .release-upload-default{padding:9px 10px}
  .release-upload-submit{width:100%;min-width:0}
  .release-footer-actions{position:static;z-index:auto;padding:12px;gap:12px;background:rgba(18,22,28,.98);backdrop-filter:none}
  .release-status-stepper{align-items:stretch;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  .release-status-arrow{display:none}
  .release-status-step{min-width:0;padding:8px 6px}
  .release-publish-help{display:none}
  .release-download-panel{text-align:left}
  .release-download-actions{justify-content:flex-start}
}

/* Cross-chat checkpoint: PC/mobile UX2 write-through 2026-09-20 */
