/* Phoenicx LJ Chart Maker – page styles (scoped to .lj) */
.lj-head{padding-top:36px;padding-bottom:6px}
.lj-head h1{font-size:clamp(26px,3.6vw,40px);font-weight:800;margin:10px 0 8px;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.lj-head p{max-width:760px;font-size:16px}
.lj-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.lj .container{display:grid;grid-template-columns:300px minmax(0,1fr);gap:20px;padding-top:22px;padding-bottom:10px;align-items:start}
.lj .card{padding:20px;margin-bottom:20px;border-radius:16px}
.lj .card h2{display:flex;align-items:center;gap:9px;font:600 15px var(--head);letter-spacing:0;color:var(--text);border-bottom:1px solid var(--line);padding-bottom:10px;margin-bottom:14px}
.lj .card h2 i{color:var(--flame);font-size:14px}
.lj .card h2.plain{border:0;padding:0;margin-bottom:8px}
.lj .card h2.center{justify-content:center}
.lj .form-group{margin-bottom:12px}
.lj label{display:block;font-weight:600;margin-bottom:5px;font-size:11.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.lj .opt{text-transform:none;letter-spacing:0;font-weight:400;color:var(--dim)}
.lj input[type=number],.lj input[type=text],.lj input[type=date],.lj input[type=month],.lj select{
  width:100%;padding:10px 12px;background:var(--bg2);border:1px solid var(--line2);border-radius:9px;color:var(--text);
  font:500 15px var(--body);min-height:42px;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:border-color .2s,box-shadow .2s}
.lj select{background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:34px}
.lj input:focus,.lj select:focus{outline:none;border-color:var(--ember);box-shadow:0 0 0 3px rgba(255,106,31,.18)}
.lj input{color-scheme:dark}
.lj input[type=date]::-webkit-calendar-picker-indicator,.lj input[type=month]::-webkit-calendar-picker-indicator{
  opacity:1;cursor:pointer;width:20px;height:20px;padding:2px;border-radius:6px;-webkit-filter:none;filter:none;
  background:rgba(255,106,31,.14) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffae42' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3C/svg%3E") center/16px no-repeat}
.lj input[type=date]::-webkit-calendar-picker-indicator:hover,.lj input[type=month]::-webkit-calendar-picker-indicator:hover{background-color:rgba(255,106,31,.28)}
.lj input::-webkit-datetime-edit-fields-wrapper{color:var(--text)}
.lj input[type=number]{-moz-appearance:textfield}
.lj .grid-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.lj .check-row{display:flex;align-items:center;gap:9px;margin:14px 0}
.lj .check-row label{margin:0;text-transform:none;letter-spacing:0;font-size:14px;color:var(--text);font-weight:500}
.lj input[type=checkbox]{width:18px;height:18px;accent-color:var(--ember);cursor:pointer}
.lj-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;border:0;border-radius:10px;padding:12px 14px;font:600 15px var(--body);cursor:pointer;background:var(--grad);color:#1d0e04;box-shadow:0 10px 24px -12px rgba(255,106,31,.7);transition:transform .2s}
.lj-btn:hover{-webkit-transform:translateY(-1px);transform:translateY(-1px)}
.lj-btn.editing{background:linear-gradient(135deg,#fbbf24,#f59e0b)}
.lj-btn.ghost{background:var(--bg2);color:var(--text);border:1px solid var(--line2);box-shadow:none}
.lj-btn.ghost:hover{border-color:var(--ember)}
.lj .stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px;background:var(--bg2);padding:12px;border-radius:12px;border:1px solid var(--line)}
.lj .stat-box{text-align:center}
.lj .stat-box.wide{grid-column:span 2;border-top:1px solid var(--line);padding-top:8px}
.lj .stat-value{font:700 20px var(--head);color:var(--flame)}
.lj .stat-label{font-size:11px;color:var(--dim);text-transform:uppercase;letter-spacing:.08em}

.product-showcase{display:block;padding:0!important;overflow:hidden;transition:transform .25s,border-color .25s}
.product-showcase:hover{-webkit-transform:translateY(-3px);transform:translateY(-3px);border-color:var(--ember)}
.slideshow-container{position:relative;padding-top:100%;background:var(--bg2)}
.slide-img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .8s ease}
.slide-img.active{opacity:1}
.showcase-cap{padding:14px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px}
.showcase-cap b{font-size:15px}
.showcase-cap small{color:var(--dim);font-size:12.5px}

.upgrade-banner{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;border:1px solid rgba(255,106,31,.4);background:linear-gradient(90deg,rgba(255,106,31,.12),rgba(19,23,32,.9));padding:14px 18px;border-radius:14px;margin-bottom:20px;transition:transform .2s}
.upgrade-banner:hover{-webkit-transform:translateY(-2px);transform:translateY(-2px)}
.upgrade-content{display:flex;align-items:center;gap:12px}
.upgrade-text{font-size:15px;color:var(--muted)}
.upgrade-text b{color:var(--text)}
.about-tool p{font-size:15px}
.about-tool .tut{margin-top:8px}
.about-tool .tut a{color:var(--flame);font-weight:600}

.chart-legend{display:flex;gap:16px;justify-content:flex-end;font-size:12px;color:var(--muted);margin-bottom:6px;flex-wrap:wrap}
.chart-legend i{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px;vertical-align:middle}
.chart-container{position:relative;height:560px;width:100%}

.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}
.lj table{width:100%;border-collapse:collapse;font-size:14px;min-width:420px}
.lj th,.lj td{padding:10px 8px;text-align:left;border-bottom:1px solid var(--line)}
.lj th{color:var(--dim);font-weight:600;text-transform:uppercase;font-size:11px;letter-spacing:.08em}
.lj td.muted{color:var(--dim)}
.lj td.empty{text-align:center;color:var(--dim);font-style:italic;padding:22px}
.lj tr.editing td{background:rgba(245,158,11,.08)}
.sdi{font:500 12.5px var(--mono);padding:2px 7px;border-radius:6px}
.sdi.ok{color:#8db4ff;background:rgba(76,141,255,.1)}
.sdi.warn{color:#fbbf24;background:rgba(245,158,11,.12)}
.sdi.bad{color:#ff8a95;background:rgba(239,68,68,.14)}
.action-buttons{display:flex;gap:6px}
.btn-small{border:0;width:32px;height:32px;border-radius:8px;cursor:pointer;color:#fff;font-size:12px;display:flex;align-items:center;justify-content:center}
.edit-btn{background:#d97706}.delete-btn{background:#dc2626}
.edit-btn:hover,.delete-btn:hover{-webkit-filter:brightness(1.15);filter:brightness(1.15)}
.shake{-webkit-animation:shake .35s;animation:shake .35s;border-color:var(--rose)!important}
@-webkit-keyframes shake{25%{-webkit-transform:translateX(-4px)}75%{-webkit-transform:translateX(4px)}}
@keyframes shake{25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}

.tip-card{text-align:center}
.tip-card > p{font-size:14px;max-width:760px;margin:0 auto 16px}
.tip-row{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:16px}
.tip-col{flex:1 1 220px;display:flex;flex-direction:column;align-items:center;gap:8px}
.tip-h{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.upi{display:flex;align-items:center;gap:12px;text-align:left}
.upi img{background:#fff;padding:4px;border-radius:8px;width:64px;height:64px}
.upi b{display:block;font-size:13px}
.upi small,.tip-col > small{color:var(--dim);font-size:12px}
.paypal-btn{display:inline-flex;align-items:center;gap:8px;background:#0070ba;color:#fff;padding:9px 18px;border-radius:999px;font-weight:600;font-size:14px;transition:background .2s}
.paypal-btn:hover{background:#005ea6}

#printHeader,#printFooter,#printDataArea,.print-sign{display:none}
.bulk{margin-top:12px;border:1px dashed var(--line2);border-radius:10px;padding:0 12px}
.bulk summary{cursor:pointer;padding:10px 0;font-size:13.5px;font-weight:600;color:var(--muted);list-style:none}
.bulk summary::-webkit-details-marker{display:none}
.bulk summary i{color:var(--flame);margin-right:4px}
.bulk[open] summary{color:var(--text)}
.bulk textarea{width:100%;background:var(--bg2);border:1px solid var(--line2);border-radius:9px;color:var(--text);font:500 14px var(--mono);padding:10px;resize:vertical}
.bulk textarea:focus{outline:none;border-color:var(--ember)}
.bulk small{display:block;color:var(--dim);font-size:12px;margin:6px 0 10px}
.bulk .lj-btn{margin-bottom:12px}
.btn-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
.lj-btn.danger{background:transparent;color:#ff8a95;border:1px solid rgba(239,68,68,.35);box-shadow:none;margin-top:8px;font-size:14px}
.lj-btn.danger:hover{background:rgba(239,68,68,.1)}
.autosave{display:block;margin-top:10px;font-size:12px;color:var(--dim);text-align:center}
.autosave i{color:var(--green)}
.lj .stat-value.small{font-size:15px}
.rule-summary{margin-top:12px;border-radius:12px;padding:10px 14px;font-size:14px;display:none;line-height:1.7}
.rule-summary.ok,.rule-summary.warn,.rule-summary.bad,.rule-summary.info{display:block}
.rule-summary.ok{background:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.3);color:#86efac}
.rule-summary.warn{background:rgba(245,158,11,.1);border:1px solid rgba(245,158,11,.3);color:#fcd34d}
.rule-summary.bad{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.35);color:#fca5a5}
.rule-summary.info{background:var(--bg2);border:1px solid var(--line);color:var(--muted)}
.rule-summary b{color:inherit}
.rule-sub{opacity:.8;font-size:13px}
.rule-chip{display:inline-block;font:600 11.5px/1 var(--mono);padding:4px 6px;border-radius:6px;white-space:nowrap}
.rule-chip.warn{background:rgba(245,158,11,.16);color:#fbbf24}
.rule-chip.bad{background:rgba(239,68,68,.18);color:#fca5a5}
.lj .muted{color:var(--dim)}

@media (max-width:1100px){.lj .container{grid-template-columns:270px minmax(0,1fr)}}
@media (max-width:900px){
  .lj .container{grid-template-columns:minmax(0,1fr);gap:0}
  .chart-container{height:380px}
  .controls-sidebar{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
  .controls-sidebar .card{margin-bottom:16px}
  .controls-sidebar .product-showcase{display:none}
}
@media (max-width:640px){
  .controls-sidebar{display:block}
  .chart-container{height:320px}
  .lj .card{padding:16px}
  .upgrade-banner{flex-direction:column;align-items:stretch;text-align:center}
  .upgrade-content{flex-direction:column}
}

/* ===== ONE-PAGE A4 LANDSCAPE PRINT (fits up to 70+ runs) =====
   Chart height (--lj-chart-h) and value columns (--lj-cols) are set by fitPrintLayout() in lj-chart.js */
@media print{
  @page{size:A4 landscape;margin:0}
  html,body{background:#fff!important;color:#000!important;margin:0!important;padding:0!important;width:297mm!important;height:210mm!important;overflow:hidden!important}
  .bg-fx,.site-nav,.site-footer,.lj-head,.upgrade-banner,.no-print,.skip,.lj .no-print,.lj .card.no-print,.lj .data-log-section,.lj .card.data-log-section,.lj .controls-sidebar{display:none!important}
  .lj .container{display:block!important;max-width:100%!important;width:297mm!important;height:210mm!important;margin:0!important;padding:9mm 10mm!important;overflow:hidden!important}
  .main-content{display:block!important;width:100%;padding:0;margin:0}
  .lj .card{display:block!important;background:#fff!important;box-shadow:none!important;border:0!important;padding:0!important;margin:0!important;width:100%!important;border-radius:0!important}
  #printHeader{display:block!important;margin:0 0 2mm;padding-bottom:1.5mm;border-bottom:.5mm solid #94a3b8}
  .ph-top{display:flex;justify-content:space-between;align-items:flex-end;gap:6mm}
  .ph-title h1{margin:0 0 .8mm;font:700 14pt/1.15 Inter,Arial,sans-serif;color:#000;background:none;-webkit-text-fill-color:#000}
  .ph-title h3{margin:0;font:500 10pt/1.2 Inter,Arial,sans-serif;color:#334155}
  .ph-title strong,.ph-details strong,.ph-stats strong{color:#000}
  .ph-details{text-align:right;font-size:8pt;color:#334155;line-height:1.35}
  .ph-stats{display:flex;flex-wrap:wrap;gap:1mm 7mm;font-size:8pt;color:#334155;padding-top:1.2mm;border-top:1px solid #e2e8f0;margin-top:1.2mm}
  .chart-container{display:block!important;position:relative;height:var(--lj-chart-h,130mm)!important;max-height:var(--lj-chart-h,130mm)!important;width:100%!important;overflow:hidden!important}
  canvas#ljChart{max-width:100%!important;max-height:100%!important}
  .rule-summary{display:block!important;margin:1.5mm 0 0;padding:1mm 2.5mm;font-size:7.5pt;line-height:1.35;border:1px solid #cbd5e1!important;background:#fff!important;color:#000!important;border-radius:1.5mm}
  .rule-summary:empty{display:none!important}
  .rule-summary i{display:none}
  .rule-chip{border:1px solid #94a3b8;background:#fff!important;color:#000!important;font-size:6.5pt;padding:.3mm 1mm}
  .rule-chip.bad{border-color:#b91c1c;color:#b91c1c!important}
  .rule-chip.warn{border-color:#b45309;color:#b45309!important}
  body.print-with-values #printDataArea{display:block!important;margin-top:2mm;-webkit-column-count:var(--lj-cols,8);column-count:var(--lj-cols,8);-webkit-column-gap:3mm;column-gap:3mm;-webkit-column-rule:1px solid #e2e8f0;column-rule:1px solid #e2e8f0;font-size:6.5pt;line-height:1;color:#000}
  .print-data-item{display:flex;justify-content:space-between;align-items:baseline;gap:1mm;height:3.4mm;padding:.5mm 0;border-bottom:1px dotted #cbd5e1;break-inside:avoid;page-break-inside:avoid;white-space:nowrap}
  .print-data-item span{color:#475569;font-family:Inter,Arial,sans-serif}
  .print-data-item strong{font:700 6.5pt "Courier New",Courier,monospace;color:#000}
  .print-data-item em{font-style:normal;font-weight:700;font-size:5pt;margin-left:.8mm}
  .print-data-item.wrn strong{color:#b45309}
  .print-data-item.rej strong{color:#b91c1c}
  body.print-sign-on .print-sign{display:grid!important;grid-template-columns:1fr 1fr 1fr 2fr;gap:6mm;margin-top:6mm}
  .print-sign div{border-top:1px solid #000;padding-top:.8mm;font-size:7pt;color:#334155}
  #printFooter{display:block!important;text-align:center;margin-top:2mm;font-size:6.5pt;color:#64748b;font-style:italic;letter-spacing:.3px}
}

/* ---------- empty chart state ---------- */
.chart-empty{position:absolute;top:0;left:0;right:0;bottom:0;display:none;align-items:center;justify-content:center;padding:20px;border-radius:12px;overflow:hidden}
.chart-empty.show{display:flex}
.ce-bg{position:absolute;top:8%;left:2%;width:96%;height:84%;opacity:.35;-webkit-filter:blur(.4px);filter:blur(.4px)}
.ce-line{stroke-dasharray:900;stroke-dashoffset:900;-webkit-animation:ceDraw 3s ease forwards infinite alternate;animation:ceDraw 3s ease forwards infinite alternate}
@-webkit-keyframes ceDraw{to{stroke-dashoffset:0}}
@keyframes ceDraw{to{stroke-dashoffset:0}}
.ce-card{position:relative;max-width:520px;text-align:center;background:rgba(15,18,25,.88);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--line2);border-radius:18px;padding:26px 24px;box-shadow:0 30px 70px -30px #000}
.ce-icon{width:54px;height:54px;margin:0 auto 14px;border-radius:15px;display:flex;align-items:center;justify-content:center;font-size:22px;background:var(--grad);color:#1d0e04;box-shadow:0 10px 30px -10px rgba(255,106,31,.7)}
.chart-empty.one .ce-icon{background:linear-gradient(135deg,#22c55e,#14b8a6)}
.ce-card h3{font-size:20px;margin-bottom:8px}
.ce-card p{font-size:14.5px;margin-bottom:18px}
.ce-steps{list-style:none;display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-bottom:20px}
.ce-steps li{display:flex;align-items:center;gap:8px;background:var(--bg2);border:1px solid var(--line);border-radius:999px;padding:6px 12px 6px 6px;font-size:12.5px}
.ce-steps span{width:22px;height:22px;border-radius:50%;background:rgba(255,106,31,.15);color:var(--flame);display:flex;align-items:center;justify-content:center;font:700 12px var(--head)}
.ce-steps b{font-weight:600;color:#d6dbe5}
.ce-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.ce-btn{width:auto;padding:10px 16px;font-size:14px}
.chart-empty.one .ce-steps{display:none}
@media (max-width:640px){.ce-card{padding:18px 14px}.ce-card h3{font-size:17px}.ce-steps{display:none}.ce-bg{opacity:.25}}
@media (prefers-reduced-motion:reduce){.ce-line{-webkit-animation:none;animation:none;stroke-dashoffset:0}}
.chart-card.is-empty .chart-legend{visibility:hidden}
