/* Price-alert modal: dimmed backdrop + scale/fade card, stats, chart, form */
.pam-backdrop{position:fixed;inset:0;z-index:2147483200;display:flex;align-items:center;justify-content:center;padding:20px;
  background:rgba(15,10,35,.55);backdrop-filter:blur(3px);opacity:0;transition:opacity .28s ease;}
.pam-backdrop.open{opacity:1;}
.pam-modal{width:640px;max-width:100%;max-height:94vh;overflow-y:auto;overflow-x:hidden;background:#fff;border-radius:20px;
  box-shadow:0 40px 100px rgba(15,10,35,.5);transform:scale(.9) translateY(14px);opacity:0;
  transition:transform .34s cubic-bezier(.16,1,.3,1),opacity .3s ease;}
.pam-backdrop.open .pam-modal{transform:scale(1) translateY(0);opacity:1;}
.pam-modal::-webkit-scrollbar{width:8px;} .pam-modal::-webkit-scrollbar-thumb{background:#e2e0f0;border-radius:8px;}

.pam-head{padding:15px 22px 11px;display:flex;align-items:flex-start;gap:12px;position:sticky;top:0;background:#fff;z-index:3;border-bottom:1px solid #f1eefb;}
.pam-head__t{flex:1 1 auto;min-width:0;}
.pam-title{font-size:17px;font-weight:800;color:#1a1330;line-height:1.3;margin:0 0 6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.pam-badge{display:inline-flex;align-items:center;gap:6px;background:#EEF0FF;color:#4b47ee;font-size:11.5px;font-weight:700;padding:4px 10px;border-radius:999px;letter-spacing:.02em;}
.pam-badge .dot{width:7px;height:7px;border-radius:50%;background:#4b47ee;animation:pam-pulse 1.6s ease infinite;}
.pam-close{flex:0 0 auto;width:34px;height:34px;border-radius:50%;border:0;background:#f4f2fb;color:#6b6480;font-size:20px;line-height:1;cursor:pointer;transition:background .2s;}
.pam-close:hover{background:#e9e5f6;}

.pam-body{padding:13px 22px 18px;}

/* today's price */
.pam-today{background:linear-gradient(120deg,#f6f5ff,#eef0ff);border:1px solid #e6e3fb;border-radius:14px;padding:12px 15px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px;}
.pam-today__lbl{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#8a83a6;display:block;margin-bottom:2px;}
.pam-today__price{font-size:28px;font-weight:800;color:#1a1330;line-height:1;}
.pam-chip{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:800;padding:6px 12px;border-radius:999px;}
.pam-chip--falling{background:#dcfce7;color:#15803d;} .pam-chip--rising{background:#ffe4e6;color:#be123c;} .pam-chip--stable{background:#eef2f7;color:#475569;}
.pam-best{margin-left:auto;background:#16a34a;color:#fff;font-size:12px;font-weight:800;padding:6px 13px;border-radius:999px;box-shadow:0 6px 16px rgba(22,163,74,.35);animation:pam-pop .5s ease;}

/* four stat cards */
.pam-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:13px;}
.pam-stat{border-radius:12px;padding:9px 11px;background:#fbfafe;border:1px solid #efedf8;}
.pam-stat__lbl{font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#8a83a6;}
.pam-stat__val{font-size:16px;font-weight:800;margin:2px 0 1px;line-height:1;}
.pam-stat__date{font-size:10.5px;color:#a29ab8;}
.pam-stat--high .pam-stat__val{color:#e11d48;} .pam-stat--high{border-color:#fbd5dd;background:#fff5f7;}
.pam-stat--low .pam-stat__val{color:#16a34a;} .pam-stat--low{border-color:#c9efd6;background:#f2fdf5;}
.pam-stat--avg .pam-stat__val{color:#d97706;} .pam-stat--avg{border-color:#fde9c8;background:#fffaf0;}
.pam-stat--cur .pam-stat__val{color:#2563eb;} .pam-stat--cur{border-color:#cfe0fd;background:#f2f7ff;}

/* chart */
.pam-chartwrap{margin-bottom:11px;}
.pam-tabs{display:inline-flex;background:#f2f0fa;border-radius:10px;padding:3px;margin-bottom:8px;}
.pam-tab{border:0;background:transparent;color:#6b6480;font-size:12.5px;font-weight:700;padding:6px 14px;border-radius:8px;cursor:pointer;transition:all .18s;}
.pam-tab.active{background:#fff;color:#4b47ee;box-shadow:0 2px 6px rgba(31,20,60,.12);}
.pam-chart{position:relative;width:100%;}
.pam-chart canvas{display:block;width:100%;}
.pam-pill{position:absolute;transform:translate(-50%,-140%);background:#1a1330;color:#fff;font-size:10.5px;font-weight:700;padding:3px 8px;border-radius:8px;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .4s ease .5s;box-shadow:0 6px 14px rgba(15,10,35,.3);}
.pam-pill.show{opacity:1;}
.pam-pill:after{content:"";position:absolute;left:50%;top:100%;transform:translateX(-50%);border:5px solid transparent;border-top-color:#1a1330;}
.pam-pill--low{background:#16a34a;} .pam-pill--low:after{border-top-color:#16a34a;}
.pam-pill--today{background:#2563eb;} .pam-pill--today:after{border-top-color:#2563eb;}

.pam-insight{background:#fff8ec;border:1px solid #fce8c4;border-radius:12px;padding:9px 13px;font-size:13px;font-weight:600;color:#8a5a12;margin-bottom:12px;line-height:1.4;}
.pam-insight--low{background:#f2fdf5;border-color:#c9efd6;color:#166534;}

/* form */
.pam-form__label{font-size:12.5px;font-weight:700;color:#4a4360;margin-bottom:7px;display:block;}
.pam-form__label{margin-bottom:6px;}
.pam-input{width:100%;border:1.5px solid #e4e1f0;border-radius:12px;padding:11px 14px;font-size:15px;color:#1a1330;outline:none;transition:border-color .2s,box-shadow .2s;margin-bottom:10px;background:#fff;}
.pam-input:focus{border-color:#4b47ee;box-shadow:0 0 0 3px rgba(75,71,238,.14);}
.pam-input.err{border-color:#e11d48;box-shadow:0 0 0 3px rgba(225,29,72,.12);}
.pam-actions{display:flex;gap:10px;}
.pam-btn{flex:1 1 auto;border:0;border-radius:12px;padding:12px;font-size:14.5px;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:transform .18s,box-shadow .18s,filter .18s;text-decoration:none;}
.pam-btn--primary{background:linear-gradient(135deg,#4b47ee,#1e2a54);color:#fff;box-shadow:0 10px 24px rgba(75,71,238,.34);}
.pam-btn--primary:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(75,71,238,.44);color:#fff;}
.pam-btn--primary.done{background:linear-gradient(135deg,#16a34a,#065f46);box-shadow:0 10px 24px rgba(22,163,74,.34);}
.pam-btn--ghost{flex:0 0 auto;background:#fff;border:1.5px solid #e4e1f0;color:#4b47ee;}
.pam-btn--ghost:hover{border-color:#4b47ee;background:#f6f5ff;color:#4b47ee;}
.pam-help{font-size:12px;color:#9a92b0;margin:9px 0 0;text-align:center;line-height:1.4;}

.pam-loading{padding:60px 0;text-align:center;color:#9a92b0;font-size:14px;}
.pam-spin{width:34px;height:34px;border:3px solid #eae7f6;border-top-color:#4b47ee;border-radius:50%;margin:0 auto 12px;animation:pam-spin .8s linear infinite;}

@keyframes pam-spin{to{transform:rotate(360deg);}}
@keyframes pam-pulse{0%,100%{opacity:1;}50%{opacity:.35;}}
@keyframes pam-pop{0%{transform:scale(.6);opacity:0;}70%{transform:scale(1.08);}100%{transform:scale(1);opacity:1;}}
@media(max-width:560px){.pam-stats{grid-template-columns:repeat(2,1fr);}.pam-today__price{font-size:28px;}.pam-modal{border-radius:18px;}}
