/* Pillow Plate Ice Storage Screening v0.5.0 — scoped CSS */
.ppisd-root{--bg:#f7f7f3;--surface:#fff;--ink:#1b1b1b;--muted:#667085;--line:#e5e7eb;--accent:#0f766e;--accent2:#1e3a8a;--warn:#b45309;--bad:#b91c1c;--good:#15803d;--soft:#f9fafb;--orange:#f97316;font-family:Inter,"IBM Plex Sans",Arial,sans-serif;color:var(--ink);background:var(--bg);max-width:1160px;margin:0 auto;padding:22px;border-radius:10px;line-height:1.45}
.ppisd-root *{box-sizing:border-box}.ppisd-root code,.ppisd-mono{font-family:"IBM Plex Mono",Menlo,Consolas,monospace}.ppisd-hero{background:linear-gradient(135deg,#ecfeff,#f8fafc);border:1px solid var(--line);border-radius:14px;padding:20px;margin-bottom:16px}.ppisd-badge{display:inline-block;background:#ccfbf1;color:#115e59;font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:11px;border-radius:999px;padding:4px 10px}.ppisd-hero h2{font-size:26px;margin:10px 0 6px;letter-spacing:-.02em}.ppisd-hero p{margin:0;color:var(--muted);max-width:920px}.ppisd-alert{border-left:4px solid var(--warn);background:#fffbeb;color:#78350f;border-radius:8px;padding:12px 14px;margin-bottom:16px;font-size:13px}.ppisd-grid{display:grid;gap:14px}.ppisd-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.ppisd-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.ppisd-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:760px){.ppisd-grid.two,.ppisd-grid.three,.ppisd-grid.four{grid-template-columns:1fr}.ppisd-root{padding:14px}.ppisd-actions{flex-direction:column;align-items:stretch}.ppisd-btn{width:100%}}
.ppisd-panel{background:var(--surface);border:1px solid var(--line);border-radius:12px;margin-bottom:14px;box-shadow:0 1px 2px rgba(16,24,40,.04)}.ppisd-panel-title{display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--line);background:#fafafa;padding:11px 14px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:#475467}.ppisd-step{width:22px;height:22px;border-radius:6px;background:var(--ink);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:11px}.ppisd-panel-body{padding:14px}.ppisd-field{display:flex;flex-direction:column;gap:5px}.ppisd-field label{font-size:12px;color:#475467;font-weight:600}.ppisd-row{display:flex;align-items:center;gap:6px}.ppisd-field input,.ppisd-field select{width:100%;border:1px solid #d0d5dd;border-radius:8px;padding:9px 10px;background:#fff7ed;font-family:"IBM Plex Mono",Menlo,monospace;font-size:13px;color:var(--ink)}.ppisd-field input:focus,.ppisd-field select:focus{outline:2px solid var(--orange);outline-offset:-1px}.ppisd-unit{min-width:60px;color:var(--muted);font-size:12px}.ppisd-hint{font-size:11px;color:var(--muted)}.ppisd-note{margin-top:12px;background:#f0f9ff;border-left:3px solid #0284c7;padding:10px 12px;color:#075985;border-radius:6px;font-size:12px}.ppisd-actions{display:flex;gap:10px;margin:18px 0}.ppisd-btn{border:none;background:var(--ink);color:white;border-radius:8px;padding:10px 14px;font-weight:700;cursor:pointer}.ppisd-btn.secondary{background:white;color:var(--ink);border:1px solid #d0d5dd}.ppisd-btn.green{background:var(--accent)}.ppisd-btn:hover{filter:brightness(.96)}.ppisd-results{display:none}.ppisd-card{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:12px;padding:14px}.ppisd-card.warn{background:#fffbeb;border-color:#fde68a}.ppisd-card.bad{background:#fef2f2;border-color:#fecaca}.ppisd-label{font-size:11px;color:#475467;text-transform:uppercase;letter-spacing:.07em;font-weight:800}.ppisd-value{font-family:"IBM Plex Mono",Menlo,monospace;font-size:25px;line-height:1.15;font-weight:800;color:#166534;margin-top:4px}.ppisd-card.warn .ppisd-value{color:#92400e}.ppisd-card.bad .ppisd-value{color:#991b1b}.ppisd-sub{font-size:12px;color:#667085;margin-top:6px}.ppisd-table{width:100%;border-collapse:collapse;font-size:13px}.ppisd-table th,.ppisd-table td{border-bottom:1px solid #eef2f7;text-align:left;padding:8px}.ppisd-table th{background:#f8fafc;color:#475467;font-size:11px;text-transform:uppercase;letter-spacing:.06em}.ppisd-table td:last-child{text-align:right;font-family:"IBM Plex Mono",Menlo,monospace}.ppisd-warning{border-left:4px solid var(--warn);background:#fffbeb;color:#78350f;border-radius:7px;padding:10px 12px;margin-bottom:8px;font-size:13px}.ppisd-warning.good{border-color:var(--good);background:#f0fdf4;color:#14532d}.ppisd-warning.bad{border-color:var(--bad);background:#fef2f2;color:#7f1d1d}.ppisd-footer{font-size:11px;color:var(--muted);margin-top:18px;border-top:1px solid var(--line);padding-top:12px}.ppisd-report{white-space:pre-wrap;font-family:"IBM Plex Mono",Menlo,monospace;background:#111827;color:#f9fafb;border-radius:10px;padding:14px;font-size:12px;max-height:360px;overflow:auto}.ppisd-small{font-size:12px;color:var(--muted)}
@media print{.ppisd-actions,.ppisd-footer{display:none}.ppisd-root{background:white;max-width:none}.ppisd-panel,.ppisd-card{box-shadow:none}}
.ppisd-actions.top{margin-top:0;margin-bottom:16px}.ppisd-card.blue{background:#eff6ff;border-color:#bfdbfe}.ppisd-card.blue .ppisd-value{color:#1d4ed8}.ppisd-table td:nth-child(2){text-align:right;font-family:"IBM Plex Mono",Menlo,monospace}.ppisd-table td:nth-child(3){text-align:left;color:#667085;font-family:inherit}.ppisd-panel-title{justify-content:flex-start}.ppisd-field select{background:#fff7ed}.ppisd-results{margin-top:8px}.ppisd-badge{background:#dbeafe;color:#1e3a8a}.ppisd-hero{background:linear-gradient(135deg,#eff6ff,#ecfeff)}

.ppisd-chart-wrap{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:12px}.ppisd-chart-wrap h4{margin:0 0 8px;font-size:13px;color:#344054}.ppisd-chart{width:100%;height:auto;display:block}.ppisd-chart-bg{fill:#fff}.ppisd-gridline{stroke:#e5e7eb;stroke-width:1}.ppisd-axisline{stroke:#98a2b3;stroke-width:1}.ppisd-axis,.ppisd-axislabel{fill:#667085;font-size:11px;font-family:Inter,Arial,sans-serif}.ppisd-reqline{stroke:#b45309;stroke-width:1.8;stroke-dasharray:6 5}.ppisd-reqtext{fill:#92400e;font-size:11px;font-weight:700}.ppisd-curve-power{stroke:#0f766e;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.ppisd-curve-time{stroke:#1d4ed8;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.ppisd-dot{fill:#0f766e;stroke:#fff;stroke-width:1.5}.ppisd-dot.time{fill:#1d4ed8}.ppisd-emptychart{border:1px dashed #d0d5dd;border-radius:10px;padding:18px;color:#667085;background:#f8fafc}.ppisd-details{margin-top:10px}.ppisd-details summary{cursor:pointer;font-weight:800;color:#475467;margin:8px 0}.ppisd-details[open] summary{margin-bottom:10px}
@media(max-width:900px){.ppisd-chart-wrap{grid-template-columns:1fr}}

.ppisd-designline{stroke:#7c3aed;stroke-width:1.6;stroke-dasharray:4 4}.ppisd-designtext{fill:#5b21b6;font-size:11px;font-weight:800}.ppisd-card.good{background:#f0fdf4;border-color:#bbf7d0}.ppisd-card.good .ppisd-value{color:#166534}

.ppisd-layoutsvg{width:100%;height:auto;display:block;margin-bottom:10px}.ppisd-tankbox{fill:#f8fafc;stroke:#334155;stroke-width:1.6}.ppisd-platepack{fill:#ccfbf1;stroke:#0f766e;stroke-width:1.5}.ppisd-plateline{stroke:#0f766e;stroke-width:1;opacity:.65}

.ppisd-warning-table td:first-child{width:140px;font-family:inherit;text-align:left}.ppisd-sev{display:inline-block;border-radius:999px;padding:3px 8px;background:#fffbeb;color:#92400e;font-size:11px;font-weight:800;letter-spacing:.03em}.ppisd-sev.good{background:#dcfce7;color:#166534}.ppisd-sev.bad{background:#fee2e2;color:#991b1b}
/* v0.8.0-rc1 professional export polish: the main PDF uses a print-only popup report, not the full WordPress page. */
.ppisd-report{max-height:280px}
.ppisd-prof-note{font-size:11px;color:#667085;margin-top:8px}
.ppisd-curve-ice{stroke:#0ea5e9;stroke-width:3;}
.ppisd-curve-soc{stroke:#7c3aed;stroke-width:3;stroke-dasharray:7 5;}

/* v0.8.0-rc4 operating-schedule visualization polish */
.ppisd-schedule-viz{border:1px solid #e5e7eb;border-radius:14px;background:#fff;padding:10px 12px;margin-top:10px}
.ppisd-schedule-svg{min-height:360px}
.ppisd-chart-title{font-size:14px;font-weight:800;fill:#344054;letter-spacing:.01em}
.ppisd-shade-charge{fill:#dbeafe;opacity:.55}
.ppisd-shade-operating{fill:#fff7ed;opacity:.52}
.ppisd-bar-load{fill:#cbd5e1;opacity:.42}
.ppisd-bar-direct{fill:#16a34a;opacity:.82}
.ppisd-bar-ice{fill:#0ea5e9;opacity:.88}
.ppisd-bar-charge{fill:#0f766e;opacity:.72}
.ppisd-bar-unmet{fill:#dc2626;opacity:.88}
.ppisd-curve-load{stroke:#111827;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round;opacity:.9}
.ppisd-legend{display:flex;flex-wrap:wrap;gap:10px 14px;margin:8px 2px 6px;font-size:12px;color:#475467;align-items:center}
.ppisd-legend span{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.ppisd-legend i{display:inline-block;width:16px;height:10px;border-radius:3px;border:1px solid rgba(15,23,42,.12)}
.ppisd-legend .lg-load{background:#cbd5e1}.ppisd-legend .lg-direct{background:#16a34a}.ppisd-legend .lg-ice{background:#0ea5e9}.ppisd-legend .lg-charge{background:#0f766e}.ppisd-legend .lg-soc{background:#7c3aed}.ppisd-legend .lg-unmet{background:#dc2626}
.ppisd-schedule-notes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:9px}
.ppisd-mini{font-size:12px;line-height:1.45;color:#344054;background:#f8fafc;border:1px solid #e5e7eb;border-left:4px solid #64748b;border-radius:8px;padding:9px 10px}
.ppisd-mini.good{background:#f0fdf4;border-color:#bbf7d0;border-left-color:#16a34a;color:#14532d}
.ppisd-mini.bad{background:#fef2f2;border-color:#fecaca;border-left-color:#dc2626;color:#7f1d1d}
@media(max-width:900px){.ppisd-schedule-notes{grid-template-columns:1fr}.ppisd-schedule-svg{min-height:300px}.ppisd-legend{font-size:11px}}


/* v0.8.0-rc4 sample preset state polish */
.ppisd-actions.top{align-items:center;flex-wrap:wrap}
.ppisd-btn.sample-active{background:var(--accent)!important;color:#fff!important;border:1px solid var(--accent)!important;box-shadow:0 0 0 3px rgba(13,148,136,.16)}
.ppisd-btn.secondary:not(.sample-active){background:white!important;color:var(--ink)!important;border:1px solid #d0d5dd!important;box-shadow:none}
.ppisd-btn[aria-pressed="true"]::after{content:" ✓";font-weight:900}
.ppisd-sample-state{display:inline-flex;align-items:center;min-height:36px;padding:8px 10px;border-radius:8px;background:#f0fdfa;border:1px solid #99f6e4;color:#115e59;font-size:12px;font-weight:600;line-height:1.35}
.ppisd-sample-state.custom{background:#fff7ed;border-color:#fed7aa;color:#9a3412}
@media(max-width:760px){.ppisd-sample-state{width:100%;justify-content:center;text-align:center}}



/* v0.8.0-rc7 customer-facing document workflow polish. */
.ppisd-actions-main{align-items:center;flex-wrap:wrap;gap:10px 10px}
.ppisd-actions-main .ppisd-btn{min-height:44px}
.ppisd-export-note{display:inline-flex;align-items:center;min-height:36px;padding:8px 10px;border-radius:8px;background:#f8fafc;border:1px solid #e5e7eb;color:#475467;font-size:12px;max-width:520px;line-height:1.35}
@media(max-width:760px){.ppisd-export-note{width:100%;justify-content:center;text-align:center}}
