:root{
  --dlpc-navy:#071a33;
  --dlpc-navy2:#0d2f57;
  --dlpc-blue:#1877f2;
  --dlpc-cyan:#20c8ef;
  --dlpc-green:#16a34a;
  --dlpc-green2:#28c76f;
  --dlpc-purple:#6d3ce7;
  --dlpc-orange:#ed9418;
  --dlpc-ink:#10254a;
  --dlpc-muted:#627493;
  --dlpc-line:#d9e5f4;
  --dlpc-soft:#f4f8fd;
}

.dlpc-launch{
  display:inline-flex;
  align-items:center;
  gap:9px;
  border:1px solid rgba(54,169,255,.55);
  color:#fff;
  background:
    linear-gradient(135deg,#0d5dcc 0%,#1589df 55%,#14b8d4 100%);
  box-shadow:
    0 9px 24px rgba(16,103,196,.23),
    inset 0 1px 0 rgba(255,255,255,.23);
  border-radius:10px;
  padding:10px 16px;
  font-weight:750;
  letter-spacing:.01em;
  cursor:pointer;
  transition:.18s ease;
}

.dlpc-launch:hover{
  transform:translateY(-1px);
  box-shadow:
    0 12px 30px rgba(16,103,196,.30),
    inset 0 1px 0 rgba(255,255,255,.25);
}

.dlpc-launch img{
  width:22px;
  height:22px;
  object-fit:contain;
}

.dlpc-overlay{
  position:fixed;
  inset:0;
  z-index:100000;
  display:none;
  align-items:center;
  justify-content:center;
  padding:28px;
  background:rgba(3,14,30,.72);
  backdrop-filter:blur(8px);
}

.dlpc-overlay.open{
  display:flex;
}

.dlpc-center{
  width:min(1180px,96vw);
  max-height:94vh;
  overflow:auto;
  border-radius:26px;
  background:
    radial-gradient(circle at 83% 3%,rgba(32,200,239,.14),transparent 25%),
    linear-gradient(180deg,#fbfdff 0%,#f4f8fd 100%);
  border:1px solid rgba(137,194,240,.65);
  box-shadow:
    0 34px 90px rgba(0,17,43,.42),
    0 0 0 1px rgba(255,255,255,.8) inset;
  color:var(--dlpc-ink);
}

.dlpc-hero{
  position:relative;
  padding:25px 30px 26px;
  color:#fff;
  background:
    radial-gradient(circle at 84% 0%,rgba(26,191,234,.22),transparent 35%),
    linear-gradient(135deg,#07192f 0%,#0b315d 60%,#0b4871 100%);
  border-radius:25px 25px 0 0;
  overflow:hidden;
}

.dlpc-hero:after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:3px;
  background:linear-gradient(90deg,#10bff0,#2f6df3,#7047e8,#28c76f);
}

.dlpc-topline{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}

.dlpc-brand{
  width:245px;
  max-width:45vw;
  display:block;
  object-fit:contain;
}

.dlpc-close{
  width:42px;
  height:42px;
  border-radius:50%;
  border:1px solid rgba(84,196,255,.72);
  background:rgba(4,25,51,.52);
  color:#fff;
  font-size:27px;
  line-height:1;
  cursor:pointer;
}

.dlpc-eyebrow{
  margin:20px 0 5px;
  color:#64d6ff;
  font-size:12px;
  letter-spacing:.22em;
  font-weight:800;
  text-transform:uppercase;
}

.dlpc-title{
  margin:0;
  color:#fff;
  font-size:clamp(34px,4vw,54px);
  line-height:1.03;
  letter-spacing:-.035em;
  font-weight:850;
}

.dlpc-subtitle{
  margin:8px 0 0;
  font-size:20px;
  font-weight:650;
  color:#f3f8ff;
}

.dlpc-intro{
  margin:6px 0 0;
  color:#cbd9eb;
  font-size:14px;
}

.dlpc-body{
  padding:20px;
}

.dlpc-grid{
  display:grid;
  grid-template-columns:1fr 1.08fr;
  gap:16px;
}

.dlpc-card{
  position:relative;
  border-radius:20px;
  padding:21px;
  border:1px solid var(--dlpc-line);
  background:#fff;
  box-shadow:0 8px 22px rgba(31,77,125,.07);
}

.dlpc-card.digital{
  background:
    radial-gradient(circle at 100% 0%,rgba(29,179,238,.10),transparent 34%),
    linear-gradient(145deg,#fff,#f3f9ff);
}

.dlpc-card.print{
  background:
    radial-gradient(circle at 100% 0%,rgba(31,191,100,.10),transparent 36%),
    linear-gradient(145deg,#fff,#f3fbf6);
  border-color:#cde9d8;
}

.dlpc-card.document{
  background:linear-gradient(145deg,#fff,#f7f3ff);
  border-color:#ded5fb;
}

.dlpc-card.project{
  background:linear-gradient(145deg,#fff,#fff8ef);
  border-color:#f0dfc5;
}

.dlpc-head{
  display:flex;
  align-items:flex-start;
  gap:13px;
  margin-bottom:17px;
}

.dlpc-iconbox{
  flex:0 0 auto;
  width:54px;
  height:54px;
  border-radius:15px;
  display:grid;
  place-items:center;
  color:#fff;
  font-size:27px;
  font-weight:800;
  box-shadow:0 8px 18px rgba(11,72,127,.16);
}

.digital .dlpc-iconbox{
  background:linear-gradient(145deg,#20c8ef,#1285d8);
}

.print .dlpc-iconbox{
  background:linear-gradient(145deg,#36c96c,#11943f);
}

.document .dlpc-iconbox{
  background:linear-gradient(145deg,#8b5cf6,#6130d4);
}

.project .dlpc-iconbox{
  background:linear-gradient(145deg,#ffb331,#de7a06);
}

.dlpc-head h3{
  margin:1px 0 3px;
  font-size:23px;
  line-height:1.05;
  color:var(--dlpc-navy);
}

.dlpc-head p{
  margin:0;
  color:var(--dlpc-muted);
  font-size:13px;
  line-height:1.45;
}

.dlpc-info{
  position:relative;
  display:inline-grid;
  place-items:center;
  width:20px;
  height:20px;
  margin-left:6px;
  border-radius:50%;
  border:1.5px solid #6685ad;
  color:#46698f;
  font-size:12px;
  font-weight:850;
  cursor:help;
  vertical-align:2px;
}

.dlpc-info:hover:after,
.dlpc-info:focus:after{
  opacity:1;
  transform:translate(-50%,0);
  pointer-events:auto;
}

.dlpc-info:after{
  content:attr(data-tip);
  position:absolute;
  z-index:20;
  left:50%;
  bottom:calc(100% + 10px);
  width:260px;
  padding:11px 13px;
  border-radius:10px;
  background:#071a33;
  color:#fff;
  box-shadow:0 12px 30px rgba(0,0,0,.25);
  font-size:12px;
  font-weight:500;
  line-height:1.45;
  letter-spacing:0;
  opacity:0;
  transform:translate(-50%,6px);
  transition:.15s ease;
  pointer-events:none;
}

.dlpc-format-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-bottom:13px;
}

.dlpc-format{
  border:1px solid #bdd8f6;
  background:rgba(255,255,255,.85);
  border-radius:13px;
  padding:12px 14px;
}

.dlpc-format strong{
  display:block;
  font-size:16px;
  color:var(--dlpc-navy);
}

.dlpc-format small{
  color:var(--dlpc-muted);
}

.dlpc-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}

.dlpc-btn{
  border-radius:11px;
  min-height:45px;
  padding:10px 14px;
  border:1px solid #aac5e5;
  background:#fff;
  color:#163b6c;
  font-weight:800;
  cursor:pointer;
  transition:.16s ease;
}

.dlpc-btn:hover{
  transform:translateY(-1px);
}

.dlpc-btn.primary{
  color:#fff;
  border-color:#166be0;
  background:linear-gradient(135deg,#176ee3,#248cf3);
}

.dlpc-btn.print-primary{
  color:#fff;
  border-color:#169142;
  background:linear-gradient(135deg,#139846,#28bb63);
}

.dlpc-btn.disabled,
.dlpc-btn:disabled{
  cursor:not-allowed;
  opacity:.56;
  transform:none;
}

.dlpc-quick-title{
  margin:17px 0 9px;
  font-size:13px;
  color:#203858;
  font-weight:850;
}

.dlpc-social{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.dlpc-social span{
  border:1px solid #d6e3f2;
  background:#fff;
  border-radius:10px;
  padding:7px 10px;
  font-size:12px;
  color:#38577b;
}

.dlpc-print-layout{
  display:grid;
  grid-template-columns:1fr .92fr;
  gap:15px;
}

.dlpc-checks{
  list-style:none;
  padding:0;
  margin:0;
}

.dlpc-checks li{
  display:flex;
  align-items:center;
  min-height:34px;
  border-bottom:1px solid rgba(185,215,198,.48);
  color:#193856;
  font-size:13px;
  font-weight:650;
}

.dlpc-checks li:last-child{
  border-bottom:0;
}

.dlpc-dot{
  width:19px;
  height:19px;
  flex:0 0 auto;
  margin-right:9px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#dfe7ef;
  color:#62758c;
  font-size:11px;
}

/*
 IMPORTANT:
 Before real R6/R7 evidence these remain NEUTRAL.
 Green state may only be applied later by real backend evidence.
*/
.dlpc-status{
  border-radius:15px;
  padding:16px;
  background:rgba(255,255,255,.76);
  border:1px solid #d7eadf;
}

.dlpc-statusline{
  display:flex;
  align-items:center;
  color:#213a57;
  font-weight:850;
  font-size:14px;
}

.dlpc-pending{
  width:11px;
  height:11px;
  margin-right:9px;
  border-radius:50%;
  background:#eab308;
  box-shadow:0 0 0 4px rgba(234,179,8,.14);
}

.dlpc-status p{
  margin:8px 0 14px;
  color:#687b8f;
  font-size:12px;
  line-height:1.45;
}

.dlpc-status .dlpc-btn{
  width:100%;
  margin-top:8px;
}

.dlpc-lower{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  margin-top:16px;
}

.dlpc-compact-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:13px;
}

.dlpc-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:4px 3px 0;
  margin-top:16px;
  color:#7185a1;
  font-size:10px;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.dlpc-footer img{
  width:135px;
  max-height:32px;
  object-fit:contain;
}

@media(max-width:900px){
  .dlpc-grid,
  .dlpc-lower,
  .dlpc-print-layout{
    grid-template-columns:1fr;
  }

  .dlpc-overlay{
    padding:10px;
  }

  .dlpc-center{
    width:100%;
    max-height:96vh;
  }

  .dlpc-hero{
    padding:20px;
  }

  .dlpc-body{
    padding:12px;
  }
}

@media(max-width:560px){
  .dlpc-format-row,
  .dlpc-actions{
    grid-template-columns:1fr;
  }

  .dlpc-title{
    font-size:35px;
  }

  .dlpc-brand{
    width:195px;
  }

  .dlpc-info:after{
    width:210px;
  }
}

/* ============================================================
   P0-R8B.1 — DesignLive Center Branding Polish
   Official brand assets only.
   ============================================================ */

.dlpc-title-gradient {
  background: linear-gradient(
    90deg,
    #39d5ff 0%,
    #2585ff 30%,
    #7655f6 62%,
    #ed2b91 100%
  );
  -webkit-background-clip: text;
  background-clip: text;
  color: #ffffff;
  -webkit-text-fill-color: transparent;
}

.dlpc-title-center {
  color: #ffffff;
  -webkit-text-fill-color: #ffffff;
}

.dlpc-launch-d {
  width: 27px;
  height: 27px;
  object-fit: contain;
  flex: 0 0 27px;
  vertical-align: middle;
  filter: none !important;
}

/* P0-R8B.2 — official D launch-button visibility */
.dlpc-launch .dlpc-launch-d {
  display:block;
  width:30px;
  height:30px;
  flex:0 0 30px;
  object-fit:contain;
  filter:none !important;
  transform:none;
}

.dlpc-launch span {
  display:inline-block;
}

/* P0-R8B.3 FINAL — pure DesignLive D on launch button */
#digitalPrintCenterBtn .dlpc-launch-d {
    display: block !important;
    width: 34px !important;
    height: 34px !important;
    flex: 0 0 34px !important;
    object-fit: contain !important;
    object-position: center !important;
    filter: none !important;
    transform: none !important;
}

/* P0-R8C.2B — real PNG/JPG format controls */
button.dlpc-format{
    appearance:none;
    -webkit-appearance:none;
    width:100%;
    font:inherit;
    text-align:left;
    cursor:pointer;
}

button.dlpc-format:hover{
    transform:translateY(-1px);
    border-color:rgba(57,213,255,.70);
}

button.dlpc-format.active{
    border-color:#39d5ff;
    box-shadow:
        0 0 0 2px rgba(57,213,255,.18),
        0 10px 24px rgba(37,133,255,.10);
}

button.dlpc-format.active strong::after{
    content:"  ✓";
    color:#2585ff;
    font-weight:800;
}

button.dlpc-format:focus-visible{
    outline:3px solid rgba(57,213,255,.32);
    outline-offset:2px;
}

/* P0-R8C.2C — unmistakable selected digital format */
button.dlpc-format{
    position:relative;
    transition:
        border-color .16s ease,
        background .16s ease,
        box-shadow .16s ease,
        transform .16s ease;
}

button.dlpc-format:hover{
    border-color:#7bb8ff !important;
    background:#f7fbff !important;
}

button.dlpc-format.active,
button.dlpc-format[aria-checked="true"]{
    border:2px solid #2585ff !important;
    background:linear-gradient(
        135deg,
        rgba(57,213,255,.11),
        rgba(37,133,255,.10)
    ) !important;
    box-shadow:
        0 0 0 3px rgba(37,133,255,.10),
        0 8px 20px rgba(37,133,255,.10) !important;
}

button.dlpc-format.active strong,
button.dlpc-format[aria-checked="true"] strong{
    color:#145dcc !important;
}

button.dlpc-format.active::after,
button.dlpc-format[aria-checked="true"]::after{
    content:"✓";
    position:absolute;
    top:7px;
    right:10px;
    width:20px;
    height:20px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#2585ff;
    color:#fff;
    font-size:12px;
    font-weight:900;
    line-height:1;
}

/* suppress earlier inline check to avoid duplicate ticks */
button.dlpc-format.active strong::after{
    content:"" !important;
}

/* ============================================================
   P0-R9B.3F-2 — REAL PROFESSIONAL PRINT STATUS
   Green appears only after verified production evidence.
   ============================================================ */

.dlpc-checks li.dlpc-check-pending .dlpc-dot{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  opacity:.72;
  animation:dlpcProductionPulse 1.05s ease-in-out infinite;
}

.dlpc-checks li.dlpc-check-pass{
  font-weight:600;
}

.dlpc-checks li.dlpc-check-pass .dlpc-dot{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:var(--dlpc-green);
  border-color:var(--dlpc-green);
  color:#fff;
  font-weight:800;
  opacity:1;
  animation:none;
}

@keyframes dlpcProductionPulse{
  0%,100%{
    opacity:.38;
    transform:scale(.90);
  }

  50%{
    opacity:1;
    transform:scale(1);
  }
}

@media (prefers-reduced-motion:reduce){
  .dlpc-checks li.dlpc-check-pending .dlpc-dot{
    animation:none;
    opacity:.72;
  }
}


/* UI-STATUS-U1D — Ready Live */
.dlpc-ready{
  background:#22c55e !important;
}

/* UI-STATUS-U1E — Ready Live Pulse */
.dlpc-ready{
  background:#22c55e !important;
  box-shadow:0 0 0 0 rgba(34,197,94,.55);
  animation:dlpcReadyPulse 1.8s ease-out infinite;
}

@keyframes dlpcReadyPulse{
  0%{
    box-shadow:0 0 0 0 rgba(34,197,94,.55);
  }
  70%{
    box-shadow:0 0 0 7px rgba(34,197,94,0);
  }
  100%{
    box-shadow:0 0 0 0 rgba(34,197,94,0);
  }
}

@media (prefers-reduced-motion:reduce){
  .dlpc-ready{
    animation:none;
  }
}
