/* Gift handoffs and actual installer distribution. Scoped to these panels. */
.distribution-summary { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:22px 0; }
.distribution-summary article,.distribution-policy article { min-width:0;padding:19px;border:1px solid #2d3d59;border-radius:13px;background:#131e33; }
.distribution-summary span { display:block;color:#a4b5cf;font-size:12px; }
.distribution-summary strong { display:block;margin-top:10px;color:#c5b6ff;font-size:28px; }
#promotions-page .commerce-card h2,#releases-page .commerce-card h2 { margin:0 0 18px;font-size:21px; }
#promotions-page label,#releases-page label { font-size:13px;line-height:1.5; }
#promotions-page input,#promotions-page select,#promotions-page textarea,#releases-page input,#releases-page select { font-size:14px;min-height:44px; }
#promotions-page .button,#releases-page .button,.distribution-dialog .button { font-size:13px;min-height:44px;line-height:1.4; }
.distribution-hint { padding:13px 16px;border:1px solid #3a4b6d;border-radius:10px;font-size:13px;line-height:1.6;color:#a7bddc;background:#11192c;overflow-wrap:anywhere; }
.distribution-toolbar { display:flex;flex-wrap:wrap;align-items:end;gap:13px;padding:18px;border-block:1px solid #2d3d59; }
.distribution-toolbar label { min-width:190px;flex:1; }
.promotion-register { margin-top:24px; }
.promotion-register>header { padding:20px; }
.promotion-register h2 { margin:0 0 8px;font-size:21px; }
.promotion-register header p { margin:0;color:#a4b5cf;font-size:13px;line-height:1.6; }
.promotion-register table { min-width:1000px;font-size:12px; }
.promotion-register td { vertical-align:top; }
.promotion-register th { font-size:10px; }
.promotion-register td small { display:block;margin-top:7px;max-width:260px;font:11px/1.5 Inter,"Segoe UI",sans-serif;color:#91a3c0;overflow-wrap:anywhere; }
.promotion-register tr { cursor:default; }
.distribution-badge { display:inline-flex;padding:6px 9px;border:1px solid #586482;border-radius:999px;font-size:11px;line-height:1.3;font-weight:700;white-space:nowrap; }
.distribution-badge.ready { color:#96edcc;border-color:#2e6c58;background:#133029; }
.distribution-badge.waiting { color:#f2d397;border-color:#75603b;background:#2d2618; }
.distribution-pagination { display:flex;gap:15px;align-items:center;justify-content:flex-end;padding:17px;color:#a4b5cf;font-size:12px; }
.distribution-dialog { width:min(950px,calc(100vw - 35px));max-width:100%;max-height:92vh;padding:23px;border:1px solid #586482;border-radius:18px;background:#111b30;color:#f5f7ff;overflow:auto;box-shadow:0 30px 100px #0009; }
.distribution-dialog::backdrop { background:#030610d9; }
.distribution-dialog>header { display:flex;gap:20px;align-items:start;justify-content:space-between;margin-bottom:18px; }
.distribution-dialog h2 { margin:5px 0 0;font-size:24px; }
.distribution-modal-open { overflow:hidden; }
.promotion-print-card { padding:26px;border:1px solid #3c4f70;border-radius:14px;background:#0d1527;color:#edf2ff; }
.gift-document-heading { display:flex;gap:24px;align-items:center;padding-bottom:20px;border-bottom:1px solid #3c4f70; }
.gift-document-heading img { width:155px;height:auto; }
.gift-document-heading span { color:#a88afb;font-size:12px;font-weight:800;letter-spacing:.08em; }
.gift-document-heading h2 { font-size:25px; }
.gift-document-heading p { margin:8px 0 0;font-size:13px;color:#a4b5cf; }
.gift-details { display:grid;grid-template-columns:1fr 1fr;gap:17px;margin:24px 0; }
.gift-details dt { margin-bottom:5px;color:#a4b5cf;font-size:11px;text-transform:uppercase; }
.gift-details dd { margin:0;font-size:14px;line-height:1.5;font-weight:650; }
.gift-key-block { padding:20px 14px;border:1px solid #8d6bdd;border-radius:10px;text-align:center;background:#332456; }
.gift-key-block span { display:block;font-size:10px;letter-spacing:.06em;color:#d4c7ff; }
.gift-key-block strong { display:block;margin-top:12px;font:750 clamp(16px,2.2vw,25px)/1.4 ui-monospace,monospace;overflow-wrap:anywhere;user-select:all; }
.gift-instructions { padding-left:21px;margin:24px 0;color:#c0cde3;font-size:13px;line-height:1.65; }
.gift-instructions li+li { margin-top:8px; }
.promotion-print-card>footer { padding-top:17px;border-top:1px solid #3c4f70;font-size:11px;overflow-wrap:anywhere; }
.promotion-print-card>footer p { margin:7px 0;color:#a4b5cf;line-height:1.6; }
.receipt-actions { display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:18px 0; }
.receipt-actions p { margin:0;color:#a4b5cf;font-size:12px; }
.handoff-confirmation { padding:19px;border:1px solid #354765;border-radius:12px;background:#132238; }
.handoff-confirmation form { display:grid;gap:12px; }
.handoff-confirmation h3 { margin:0 0 3px;font-size:16px; }
.distribution-check { display:flex;gap:10px;align-items:start;font-size:13px;line-height:1.6; }
.distribution-check input { width:17px;min-height:17px;margin-top:3px; }
.distribution-workflow { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:23px 0;padding:0;list-style:none; }
.distribution-workflow li { display:flex;align-items:start;gap:13px;padding:20px;background:#151e34;border:1px solid #394a69;border-radius:14px; }
.distribution-workflow b { display:grid;flex:0 0 34px;place-items:center;height:34px;background:#34245a;border-radius:9px;color:#c6b4ff;font-size:16px; }
.distribution-workflow strong { display:block;font-size:14px; }
.distribution-workflow small { display:block;margin-top:7px;color:#9eafc8;font-size:12px;line-height:1.5; }
.distribution-policy { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px 0; }
.distribution-policy strong { font-size:14px;color:#c6b4ff; }
.distribution-policy p { margin-bottom:0;color:#a4b5cf;font-size:13px;line-height:1.6; }
.release-register { margin-top:30px; }
.release-register>header { display:flex;gap:15px;align-items:center;justify-content:space-between;flex-wrap:wrap; }
.release-register h2 { font-size:23px; }
.release-entry-top { display:flex;gap:12px;align-items:center;justify-content:space-between;margin-bottom:20px; }
.release-version { font-size:24px;color:#c6b4ff; }
.release-entry details { margin:18px 0;font-size:12px; }
.release-entry details small { overflow-wrap:anywhere; }
.release-entry summary { color:#a4b5cf;cursor:pointer; }
.release-actions { display:flex;gap:8px;flex-wrap:wrap; }
.release-actions a { text-decoration:none; }
.download-catalog { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px; }
.download-product-card { padding:24px;border:1px solid #344765;border-radius:17px;background:#121c30;min-width:0; }
.download-product-card[data-product="enterprise"] { background:linear-gradient(140deg,#211c3c,#121c30); }
.download-product-card[data-product="paper"] { border-color:#75583c;background:linear-gradient(140deg,#272117,#121c30); }
.download-product-card h3 { margin:9px 0;font-size:23px; }
.download-product-card .platform-tag { color:#bbcadf; }
.download-product-card p { color:#a4b5cf;font-size:13px;line-height:1.65; }
.download-product-card .download-button { font-size:13px;min-height:46px; }
.download-product-card .download-status { display:block;margin:16px 0 7px;color:#c5b6ff;font-size:13px;line-height:1.5; }
.download-product-card .distribution-badge { color:#bcc9df;border-color:#465672;background:#1c2941; }
.download-explanation { margin:20px 0 28px;padding:17px 20px;border-left:3px solid #9a7ce8;border-radius:9px;background:#141e32;color:#bdcbe2;font-size:14px;line-height:1.7; }
.download-catalog+.platform-grid { margin-top:22px; }
@media(max-width:900px) { .distribution-summary { grid-template-columns:repeat(2,minmax(0,1fr)); } .distribution-policy,.distribution-workflow { grid-template-columns:1fr; } }
@media(max-width:620px) { .distribution-dialog { padding:12px;max-height:95vh; } .promotion-print-card { padding:18px; } .gift-document-heading { gap:15px;flex-direction:column;align-items:start; } .gift-details,.download-catalog { grid-template-columns:1fr; } .distribution-pagination { justify-content:center;flex-wrap:wrap; } .receipt-actions .button { flex:1; } .distribution-summary article { padding:14px; } }
/* Only the two distribution panels use this compact admin layout. */
@media(max-width:900px) {
  body:has(#promotions-page:not([hidden])),body:has(#releases-page:not([hidden])) { min-width:0; }
  body:has(#promotions-page:not([hidden])) .portal,body:has(#releases-page:not([hidden])) .portal { grid-template-columns:minmax(0,1fr); }
  body:has(#promotions-page:not([hidden])) .sidebar,body:has(#releases-page:not([hidden])) .sidebar { position:static;height:auto;padding:14px; }
  body:has(#promotions-page:not([hidden])) .sidebar nav,body:has(#releases-page:not([hidden])) .sidebar nav { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:12px; }
  body:has(#promotions-page:not([hidden])) .sidebar>.brand,body:has(#releases-page:not([hidden])) .sidebar>.brand { padding-bottom:12px; }
  body:has(#promotions-page:not([hidden])) .server-status,body:has(#releases-page:not([hidden])) .server-status { display:none; }
  #promotions-page,#releases-page { padding:18px;min-width:0; }
  body:has(#promotions-page:not([hidden])) .topbar,body:has(#releases-page:not([hidden])) .topbar { padding:0 14px; }
}
@media(max-width:620px) {
  #promotions-page .form-grid,#releases-page .form-grid { grid-template-columns:minmax(0,1fr); }
  body:has(#promotions-page:not([hidden])) .sidebar nav,body:has(#releases-page:not([hidden])) .sidebar nav { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body:has(#promotions-page:not([hidden])) .admin-session>span,body:has(#releases-page:not([hidden])) .admin-session>span { display:none; }
}
@media print {
  @page { size:A4 portrait;margin:15mm; }
  body.promotion-printing { background:#fff!important;min-width:0!important;color:#111!important; }
  html:has(body.promotion-printing) { background:#fff!important; }
  body.promotion-printing #promotion-receipt-dialog::backdrop { background:#fff!important; }
  body.promotion-printing > :not(#promotion-receipt-dialog) { display:none!important; }
  body.promotion-printing #promotion-receipt-dialog { display:block!important;position:static!important;width:100%!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:#fff!important;color:#111!important;overflow:visible!important; }
  body.promotion-printing .distribution-no-print { display:none!important; }
  body.promotion-printing .promotion-print-card { border:1px solid #aaa;border-radius:0;padding:7mm;background:#fff;color:#111;break-inside:avoid; }
  body.promotion-printing .gift-document-heading { border-color:#bbb; }
  body.promotion-printing .gift-document-heading img { width:40mm;background:#0d1527;padding:3mm;print-color-adjust:exact;-webkit-print-color-adjust:exact; }
  body.promotion-printing .gift-document-heading { flex-direction:row;align-items:center; }
  body.promotion-printing .gift-details { grid-template-columns:1fr 1fr; }
  body.promotion-printing .gift-document-heading p,body.promotion-printing .gift-document-heading span,body.promotion-printing .gift-details dt,body.promotion-printing .gift-instructions,body.promotion-printing .promotion-print-card footer p { color:#333!important; }
  body.promotion-printing .gift-key-block { border:2px solid #333;background:#fff;color:#111; }
  body.promotion-printing .gift-key-block span { color:#333; }
  body.promotion-printing .gift-key-block strong { font-size:16pt; }
  body.promotion-printing .promotion-print-card>footer { border-color:#bbb; }
}
