.public-home{max-width:1180px;margin:0 auto;color:#eaf3ff}
.public-top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:8px 0 18px}
.public-top h1{margin:0;font-size:clamp(1.4rem,4vw,2rem)}
.public-sub{color:#9bb4d2;font-size:.92rem;margin-top:4px}
.public-refresh{color:#9bb4d2;font-size:.8rem}
.public-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.public-card{background:linear-gradient(145deg,#112541,#0b1729);border:1px solid #254361;border-radius:16px;padding:16px;min-width:0;box-shadow:0 8px 24px #02091433}
.public-card .label{display:block;color:#9bb4d2;font-size:.84rem;margin-bottom:8px}
.public-card .value{display:block;font-size:clamp(1.25rem,3vw,2rem);font-weight:750;letter-spacing:-.03em;overflow-wrap:anywhere}
.public-card .hint{display:block;color:#9bb4d2;font-size:.78rem;margin-top:7px;overflow-wrap:anywhere}
.public-wide{grid-column:span 2}
.public-title{font-size:1.05rem;margin:0 0 12px}
.public-sensors{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.public-sensor{padding:12px 8px;text-align:center;border-radius:12px;background:#0a182b;border:1px solid #213c58}
.public-sensor small{display:block;color:#9bb4d2;font-size:.75rem}
.public-sensor b{display:block;font-size:1.3rem;margin:7px 0}
.public-stage-row{display:flex;gap:8px;flex-wrap:wrap}
.public-stage{border-radius:999px;padding:8px 12px;background:#172b42;border:1px solid #2c4966;font-size:.85rem}
.public-stage.on{border-color:#20c997;color:#6ff0c3;background:#0d302d}
.public-status{display:inline-flex;align-items:center;gap:7px;border-radius:999px;padding:7px 11px;background:#172b42;color:#b9d0e9;font-size:.82rem}
.public-status:before{content:"";width:8px;height:8px;border-radius:50%;background:#8296ad}
.public-status.ok:before{background:#24d6a0}.public-status.warn:before{background:#ffbf47}.public-status.err:before{background:#ff6b7a}
.public-link{display:inline-block;color:#8bdcff;text-decoration:none;border:1px solid #2d5876;border-radius:10px;padding:10px 13px}
.public-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin:16px 2px;color:#819bb8;font-size:.8rem}
@media(max-width:800px){.public-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.public-sensors{grid-template-columns:repeat(3,minmax(0,1fr))}.public-wide{grid-column:span 2}}
@media(max-width:430px){.public-grid{gap:8px}.public-card{padding:12px;border-radius:13px}.public-sensors{grid-template-columns:repeat(2,minmax(0,1fr))}.public-top{align-items:flex-start}.public-card .value{font-size:1.3rem}}

.warning-panel{border:1px solid #38556f!important;background:linear-gradient(135deg,rgba(17,39,61,.98),rgba(10,25,41,.98))}
.warning-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.warning-state{display:inline-flex;padding:6px 10px;border-radius:999px;background:#1d354b;color:#d6e8f5;font-size:.8rem;font-weight:700}
.warning-state.ok{background:#123e31;color:#a8f0d1}.warning-state.warn{background:#5a4213;color:#ffe2a0}.warning-state.err{background:#5b2028;color:#ffd0d5}
.warning-list{display:grid;gap:10px;margin-top:12px}
.warning-item{border:1px solid #38556f;border-left:5px solid #70849a;border-radius:10px;padding:12px;background:rgba(8,20,34,.72)}
.warning-item.extreme,.warning-item.severe{border-left-color:#ff6474;background:rgba(92,24,35,.35)}
.warning-item.moderate{border-left-color:#ffbd4a}.warning-item.minor{border-left-color:#67b8ff}
.warning-item h3{margin:0 0 6px;font-size:1rem;color:#eef7ff}.warning-meta{font-size:.78rem;color:#9eb4c8;margin-bottom:7px}
.warning-item p{margin:6px 0;white-space:pre-line;color:#d1deea;font-size:.9rem}
.warning-item a{color:#8bdcff}.warning-empty{color:#a9c0d3;padding:10px 0}
@media(max-width:600px){.warning-head{align-items:flex-start}.warning-item{padding:10px}}
