.pgstocks-wrap{--pg-blue:#0b57d0;--pg-blue-dark:#073b8f;--pg-ink:#172033;--pg-muted:#617083;--pg-border:#d7dee8;--pg-bg:#f4f7fb;--pg-card:#fff;--pg-good:#137333;--pg-bad:#b3261e;max-width:1380px;margin:0 auto;padding:34px 20px;color:var(--pg-ink);box-sizing:border-box}.pgstocks-wrap *{box-sizing:border-box}.pgstocks-header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:22px}.pgstocks-header h1{margin:0;font-size:2.25rem;line-height:1.1}.pgstocks-header p{margin:.45rem 0 0;color:var(--pg-muted)}.pgstocks-pill,.pgstocks-tag{display:inline-flex;align-items:center;border:1px solid currentColor;border-radius:999px;padding:4px 9px;font-size:.73rem;line-height:1;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.pgstocks-tabs{display:flex;gap:6px;overflow:auto;border-bottom:1px solid var(--pg-border);margin-bottom:24px}.pgstocks-tabs a{display:block;padding:12px 15px;text-decoration:none;color:var(--pg-muted);font-weight:700;border-bottom:3px solid transparent;white-space:nowrap}.pgstocks-tabs a:hover,.pgstocks-tabs a:focus{color:var(--pg-blue)}.pgstocks-tabs a.is-active{color:var(--pg-blue);border-bottom-color:var(--pg-blue)}.pgstocks-panel{min-height:320px}.pgstocks-notice{border-left:4px solid var(--pg-blue);background:#e8f0fe;padding:13px 16px;margin:0 0 20px;border-radius:5px}.pgstocks-notice.is-error{border-left-color:var(--pg-bad);background:#fce8e6}.pgstocks-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:22px}.pgstocks-stat{background:var(--pg-card);border:1px solid var(--pg-border);border-radius:12px;padding:17px;box-shadow:0 4px 18px rgba(27,42,67,.05)}.pgstocks-stat span,.pgstocks-stat small{display:block;color:var(--pg-muted)}.pgstocks-stat strong{display:block;font-size:2rem;line-height:1.1;margin:6px 0}.pgstocks-callout{background:#fff7df;border:1px solid #ead38a;padding:14px 16px;border-radius:10px;margin-bottom:22px}.pgstocks-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 18px}.pgstocks-toolbar h2,.pgstocks-toolbar h3{margin:0}.pgstocks-toolbar p{margin:.35rem 0 0;color:var(--pg-muted)}.pgstocks-toolbar form,.pgstocks-actions form,.pgstocks-filter{display:flex;align-items:flex-end;gap:9px;flex-wrap:wrap}.pgstocks-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(560px,1fr));gap:24px}.pgstocks-card,.pgstocks-form-card{background:var(--pg-card);border:1px solid var(--pg-border);border-radius:14px;padding:22px;box-shadow:0 7px 24px rgba(27,42,67,.06)}.pgstocks-card-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.pgstocks-card h2{font-size:2rem;margin:0;line-height:1}.pgstocks-card h3{margin:18px 0 4px}.pgstocks-card p{margin:.25rem 0}.pgstocks-symbol-line{display:flex;gap:10px;align-items:center}.pgstocks-price{text-align:right}.pgstocks-price strong{display:block;font-size:1.85rem;line-height:1}.pgstocks-price span{display:block;margin-top:5px;font-weight:800}.pgstocks-price small{display:block;margin-top:5px;color:var(--pg-muted)}.pgstocks-price .up{color:var(--pg-good)}.pgstocks-price .down{color:var(--pg-bad)}.pgstocks-actions{display:flex;justify-content:space-between;gap:10px;align-items:center;margin:12px 0}.pgstocks-wrap input,.pgstocks-wrap select,.pgstocks-wrap textarea{width:100%;padding:10px 11px;border:1px solid #b9c3d1;border-radius:7px;background:#fff;color:var(--pg-ink);font:inherit}.pgstocks-wrap input:focus,.pgstocks-wrap select:focus,.pgstocks-wrap textarea:focus{outline:2px solid rgba(11,87,208,.2);border-color:var(--pg-blue)}.pgstocks-wrap button,.pgstocks-button{display:inline-flex;align-items:center;justify-content:center;padding:10px 15px;border:1px solid var(--pg-blue);border-radius:7px;background:var(--pg-blue);color:#fff;text-decoration:none;font-weight:750;cursor:pointer;line-height:1.15;white-space:nowrap}.pgstocks-wrap button:hover,.pgstocks-button:hover{background:var(--pg-blue-dark);border-color:var(--pg-blue-dark);color:#fff}.pgstocks-button.is-secondary{background:#fff;color:var(--pg-blue)}.pgstocks-button.is-secondary:hover{background:#eef4ff;color:var(--pg-blue-dark)}.pgstocks-text-link{font-weight:700;text-decoration:none}.pgstocks-table-scroll{width:100%;overflow:auto}.pgstocks-table{width:100%;border-collapse:collapse;margin:16px 0}.pgstocks-table th,.pgstocks-table td{text-align:left;padding:10px 9px;border-bottom:1px solid #e6ebf1;font-size:.88rem;vertical-align:top}.pgstocks-table th{color:#445268;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;background:#f8fafc}.pgstocks-admin-table{min-width:760px;background:#fff;border:1px solid var(--pg-border);border-radius:10px;overflow:hidden}.pgstocks-report-table{min-width:1260px}.pgstocks-row-actions{display:flex;align-items:center;gap:12px}.pgstocks-row-actions form{margin:0}.pgstocks-link-button{background:none!important;border:0!important;padding:0!important;color:var(--pg-blue)!important;font-weight:700!important}.pgstocks-link-button.is-danger{color:var(--pg-bad)!important}.pgstocks-status{display:inline-flex;border-radius:999px;padding:4px 9px;font-size:.75rem;font-weight:750}.pgstocks-status.is-active{background:#e6f4ea;color:var(--pg-good)}.pgstocks-status.is-paused{background:#eef1f5;color:#5f6875}.pgstocks-two-column{display:grid;grid-template-columns:1fr 1fr;gap:20px}.pgstocks-news,.pgstocks-events{list-style:none;padding:0;margin:9px 0 15px}.pgstocks-news li,.pgstocks-events li{display:flex;gap:9px;padding:10px 0;border-bottom:1px solid #edf0f4;align-items:flex-start}.pgstocks-news li>div,.pgstocks-events li>div{min-width:0}.pgstocks-news a{display:block;font-weight:700;line-height:1.25}.pgstocks-news small,.pgstocks-events small,.pgstocks-block{display:block;color:var(--pg-muted);margin-top:4px}.pgstocks-caution{font-size:.82rem;color:var(--pg-muted)}.pgstocks-chart{margin:16px 0 8px}.pgstocks-chart svg{display:block;width:100%;height:150px;background:linear-gradient(180deg,#f7faff,#fff);border:1px solid #e5ebf3;border-radius:9px}.pgstocks-chart line{stroke:#dfe6ef;stroke-width:1}.pgstocks-chart polyline{fill:none;stroke:var(--pg-blue);stroke-width:3;vector-effect:non-scaling-stroke}.pgstocks-chart figcaption{display:flex;justify-content:space-between;color:var(--pg-muted);font-size:.78rem;margin-top:5px}.pgstocks-chart-empty{padding:24px;text-align:center;background:#f8fafc;border:1px dashed var(--pg-border);border-radius:9px;color:var(--pg-muted);margin:15px 0}.pgstocks-form-card{margin:20px 0}.pgstocks-form-card h2,.pgstocks-form-card h3{margin-top:0}.pgstocks-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.pgstocks-field{display:flex;flex-direction:column;gap:6px}.pgstocks-field>span{font-weight:750}.pgstocks-field small{color:var(--pg-muted);line-height:1.3}.pgstocks-field.is-wide{grid-column:1/-1}.pgstocks-check{display:flex!important;flex-direction:row!important;gap:8px!important;align-items:center;margin:4px 0}.pgstocks-check input{width:auto}.pgstocks-form-actions{grid-column:1/-1;display:flex;gap:10px;align-items:center}.pgstocks-filter{background:#fff;border:1px solid var(--pg-border);padding:14px;border-radius:10px;margin-bottom:18px}.pgstocks-filter label{display:flex;flex-direction:column;gap:5px;min-width:180px;font-weight:700}.pgstocks-report-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:20px}.pgstocks-report-head h3{margin:0}.pgstocks-report-head p{margin:.25rem 0 0;color:var(--pg-muted)}.pgstocks-status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:20px}.pgstocks-health{display:flex;gap:11px;align-items:flex-start;background:#fff;border:1px solid var(--pg-border);border-radius:10px;padding:15px}.pgstocks-health-dot{width:12px;height:12px;border-radius:50%;margin-top:4px;flex:0 0 auto}.pgstocks-health.is-ok .pgstocks-health-dot{background:var(--pg-good);box-shadow:0 0 0 4px rgba(19,115,51,.12)}.pgstocks-health.is-warning .pgstocks-health-dot{background:#c77800;box-shadow:0 0 0 4px rgba(199,120,0,.13)}.pgstocks-health strong,.pgstocks-health small{display:block}.pgstocks-health small{color:var(--pg-muted);margin-top:4px}.pgstocks-form-card pre{overflow:auto;background:#172033;color:#f4f7fb;padding:15px;border-radius:8px}.pgstocks-empty{text-align:center;padding:45px 20px;background:#fff;border:1px dashed var(--pg-border);border-radius:12px;color:var(--pg-muted)}
@media(max-width:1000px){.pgstocks-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pgstocks-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pgstocks-two-column{grid-template-columns:1fr}}
@media(max-width:720px){.pgstocks-wrap{padding:24px 13px}.pgstocks-header,.pgstocks-toolbar,.pgstocks-report-head{flex-direction:column;align-items:stretch}.pgstocks-stat-grid,.pgstocks-status-grid,.pgstocks-form-grid{grid-template-columns:1fr}.pgstocks-grid{grid-template-columns:1fr}.pgstocks-card{padding:16px}.pgstocks-card-head{flex-direction:column}.pgstocks-price{text-align:left}.pgstocks-actions{align-items:stretch;flex-direction:column}.pgstocks-actions form{width:100%}.pgstocks-actions form>*{flex:1}.pgstocks-table{min-width:700px}.pgstocks-filter{align-items:stretch}.pgstocks-filter label{min-width:0}.pgstocks-form-actions{grid-column:1}}

body.pgstocks-standalone {
    margin: 0;
    background: #f3f6fa;
}

.pgstocks-shell-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    padding: 12px clamp(16px, 4vw, 48px);
    background: #0b2341;
    color: #fff;
    font: 600 14px/1.4 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.pgstocks-shell-bar a {
    color: #fff;
    text-decoration: none;
}

.pgstocks-shell-bar a:hover,
.pgstocks-shell-bar a:focus {
    text-decoration: underline;
}

/* v0.3.0 valuation, public ticker, and public market pages */
.pgstocks-wrap,.pgstocks-public-ticker{--pg-blue:#0b57d0;--pg-blue-dark:#073b8f;--pg-ink:#172033;--pg-muted:#617083;--pg-border:#d7dee8;--pg-bg:#f4f7fb;--pg-card:#fff;--pg-good:#137333;--pg-bad:#b3261e}
.pgstocks-stat-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.pgstocks-mini-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0}
.pgstocks-mini-metrics>div{background:#f7f9fc;border:1px solid #e2e8f0;border-radius:9px;padding:11px}
.pgstocks-mini-metrics span,.pgstocks-mini-metrics strong{display:block}
.pgstocks-mini-metrics span{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--pg-muted)}
.pgstocks-mini-metrics strong{font-size:1rem;margin-top:5px}
.pgstocks-chart-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:12px 0}
.pgstocks-chart-pair h3{margin:0 0 4px;font-size:.9rem;color:var(--pg-muted)}
.pgstocks-public-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.pgstocks-public-admin-grid .pgstocks-form-card{margin:0}

.pgstocks-public-ticker{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#0b2341;color:#fff;border-radius:12px;overflow:hidden;box-shadow:0 8px 24px rgba(11,35,65,.2)}
.pgstocks-ticker-track{display:flex;overflow-x:auto;scrollbar-width:thin}
.pgstocks-ticker-item{min-width:160px;padding:14px 16px;border-right:1px solid rgba(255,255,255,.14);color:#fff!important;text-decoration:none!important;display:grid;grid-template-columns:1fr auto;gap:4px 10px;align-items:baseline;transition:background .15s ease}
.pgstocks-ticker-item:hover,.pgstocks-ticker-item:focus{background:rgba(255,255,255,.08)}
.pgstocks-ticker-item .pgstocks-ticker-symbol{font-weight:800;letter-spacing:.04em}
.pgstocks-ticker-item strong{font-size:1rem;text-align:right}
.pgstocks-ticker-item .up{color:#7ee2a8;font-weight:800}
.pgstocks-ticker-item .down{color:#ff9f99;font-weight:800}
.pgstocks-ticker-item small{grid-column:1/-1;color:#c6d2e3;font-size:.72rem}
.pgstocks-ticker-footer{display:flex;justify-content:space-between;gap:12px;padding:8px 14px;background:#071a30;color:#c6d2e3;font-size:.75rem}
.pgstocks-ticker-footer a{color:#fff;font-weight:700;text-decoration:none}

.pgstocks-public-wrap{max-width:1240px}
.pgstocks-public-header,.pgstocks-public-symbol-head{display:flex;justify-content:space-between;gap:28px;align-items:flex-start;margin:12px 0 30px}
.pgstocks-public-header h1,.pgstocks-public-symbol-head h1{font-size:clamp(2rem,5vw,3.6rem);line-height:1;margin:.25rem 0 .65rem}
.pgstocks-public-symbol-head h1 small{font-size:.42em;color:var(--pg-muted)}
.pgstocks-public-header p,.pgstocks-public-symbol-head p{font-size:1.05rem;color:var(--pg-muted);max-width:760px}
.pgstocks-eyebrow{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:.73rem;font-weight:800;color:var(--pg-blue)}
.pgstocks-market-clock,.pgstocks-public-quote{background:#0b2341;color:#fff;border-radius:14px;padding:18px 20px;text-align:right;min-width:190px}
.pgstocks-market-clock strong,.pgstocks-public-quote strong{display:block;font-size:1.55rem}
.pgstocks-market-clock span,.pgstocks-public-quote span,.pgstocks-public-quote small{display:block;margin-top:5px}
.pgstocks-public-quote .up,.pgstocks-market-card .up,.pgstocks-public-stock-card .up{color:var(--pg-good);font-weight:800}
.pgstocks-public-quote .down,.pgstocks-market-card .down,.pgstocks-public-stock-card .down{color:var(--pg-bad);font-weight:800}
.pgstocks-public-quote .up{color:#7ee2a8}.pgstocks-public-quote .down{color:#ff9f99}
.pgstocks-public-section-head{display:flex;justify-content:space-between;align-items:end;gap:16px;margin:30px 0 14px}
.pgstocks-public-section-head h2{margin:0;font-size:1.65rem}.pgstocks-public-section-head p{margin:.25rem 0 0;color:var(--pg-muted)}
.pgstocks-market-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.pgstocks-market-card{display:grid;grid-template-columns:1fr auto;gap:7px 12px;background:#fff;border:1px solid var(--pg-border);border-radius:12px;padding:17px;color:var(--pg-ink)!important;text-decoration:none!important;box-shadow:0 5px 18px rgba(27,42,67,.05)}
.pgstocks-market-card:hover{border-color:#9bb6df;transform:translateY(-1px)}
.pgstocks-market-card>span{font-weight:750}.pgstocks-market-card>strong{font-size:1.2rem}.pgstocks-market-card>em{font-style:normal}.pgstocks-market-card>small{grid-column:1/-1;color:var(--pg-muted)}
.pgstocks-public-stock-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:20px}
.pgstocks-public-stock-card{background:#fff;border:1px solid var(--pg-border);border-radius:15px;padding:20px;box-shadow:0 7px 24px rgba(27,42,67,.06)}
.pgstocks-public-stock-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.pgstocks-public-stock-head h3{font-size:2rem;margin:2px 0}.pgstocks-public-stock-head h3 a{text-decoration:none}.pgstocks-public-stock-head p{margin:0;color:var(--pg-muted)}.pgstocks-public-stock-head>div:last-child{text-align:right}.pgstocks-public-stock-head>div:last-child strong,.pgstocks-public-stock-head>div:last-child span{display:block}.pgstocks-public-stock-head>div:last-child strong{font-size:1.4rem}
.pgstocks-public-stock-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px 0}.pgstocks-public-stock-stats>div{background:#f7f9fc;border-radius:8px;padding:10px}.pgstocks-public-stock-stats dt{font-size:.7rem;text-transform:uppercase;color:var(--pg-muted)}.pgstocks-public-stock-stats dd{margin:4px 0 0;font-weight:800}
.pgstocks-public-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:13px;margin:20px 0}
.pgstocks-public-metric{background:#fff;border:1px solid var(--pg-border);border-radius:12px;padding:16px}.pgstocks-public-metric span,.pgstocks-public-metric small{display:block;color:var(--pg-muted)}.pgstocks-public-metric strong{display:block;font-size:1.4rem;margin:5px 0}
.pgstocks-public-charts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.pgstocks-public-charts>section{background:#fff;border:1px solid var(--pg-border);border-radius:14px;padding:18px}.pgstocks-public-charts h2{margin:0;font-size:1.15rem}
.pgstocks-chart.is-detailed svg{height:220px}.pgstocks-chart.is-compact svg{height:100px}.pgstocks-chart.is-compact figcaption{font-size:.7rem}
.pgstocks-public-context{margin-top:24px}.pgstocks-public-context>section{background:#fff;border:1px solid var(--pg-border);border-radius:14px;padding:20px}
.pgstocks-public-breadcrumb{display:flex;gap:8px;align-items:center;color:var(--pg-muted);font-size:.85rem}.pgstocks-public-breadcrumb a{text-decoration:none}
.pgstocks-public-disclaimer{margin:30px 0 8px;padding:14px 16px;background:#eef3f9;border-radius:9px;color:var(--pg-muted);font-size:.82rem}
.pgstocks-public-empty{padding:30px;text-align:center;background:#fff;border:1px dashed var(--pg-border);border-radius:12px;color:var(--pg-muted)}

@media(max-width:900px){.pgstocks-chart-pair,.pgstocks-public-charts,.pgstocks-public-admin-grid{grid-template-columns:1fr}.pgstocks-mini-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.pgstocks-public-header,.pgstocks-public-symbol-head{flex-direction:column}.pgstocks-market-clock,.pgstocks-public-quote{text-align:left}.pgstocks-public-stock-grid{grid-template-columns:1fr}}
@media(max-width:560px){.pgstocks-mini-metrics,.pgstocks-public-stock-stats{grid-template-columns:1fr}.pgstocks-ticker-footer{flex-direction:column}.pgstocks-public-stock-card{padding:15px}}
