:root{--green:#208452;--ink:#243136;--muted:#687780;--line:#e1e8e5}
body{background:#f4f7f6;color:var(--ink)}
button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #208452;outline-offset:3px}
.login-card{max-width:440px;margin:10vh auto;padding:36px;background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:0 12px 40px #15362908}
.brand-cloud{display:flex;align-items:center;gap:12px;color:#285943;text-decoration:none}.brand-cloud img{width:42px;height:42px}.brand-cloud strong{font-size:28px;line-height:1.1}.brand-cloud small{display:block;color:var(--ink);font-size:10px;margin-top:4px}
.login-card h1{font-size:25px;margin:32px 0 10px}.login-card p{color:var(--muted);line-height:1.7}.login-card label{display:block;font-weight:600;margin:20px 0 7px}.login-card input{display:block;width:100%;padding:12px;border:1px solid #bdcbc3;border-radius:10px;background:#fff}.login-card .btn{width:100%;margin-top:24px;justify-content:center}.login-error{color:#a92c38!important;min-height:24px}
.cloud-top{background:#fff;border-bottom:1px solid var(--line);padding:18px max(22px,calc((100vw - 1260px)/2));display:flex;align-items:center;justify-content:space-between;gap:20px}.cloud-tools{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.cloud-top nav{display:flex;gap:5px}.cloud-top nav button{border:0;background:transparent;border-radius:10px;padding:11px 16px;color:var(--muted)}.cloud-top nav button[aria-current=page]{background:#e4f3e9;color:#196d44;font-weight:700}
.cloud-main{max-width:1260px;padding:32px 24px 70px;margin:auto}.cloud-main h1{font-size:30px;line-height:1.3;margin:0 0 10px}.cloud-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px}.cloud-heading p{margin:0;color:var(--muted)}.cloud-status{font-size:12px;text-align:right;white-space:nowrap}.cloud-status b{display:block;color:#26764d;margin-bottom:6px}.cloud-notice{padding:10px 22px;background:#e6f3ec;color:#285943;text-align:center;font-size:12px}.cloud-notice.offline{background:#fff0e8;color:#933b1a}.cloud-main .panel{margin-bottom:22px}.cloud-main .stats{margin-bottom:25px}.cloud-main .map-layout{min-height:430px}.cloud-main .spot-map{min-height:430px}.cloud-main .spot-detail{padding:22px}.cloud-main .spot-detail h3{font-size:22px;margin:12px 0 8px}.cloud-main .bins{margin-top:20px}.cloud-main .bin-card{min-width:130px}.cloud-main .bin-head{flex-wrap:wrap}.cloud-main .section-heading{gap:15px}.cloud-main .section-heading h2{font-size:19px}
.cloud-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid #cce4d5;border-radius:20px;padding:6px 12px;font-size:11px;color:#246a46;background:#f1f9f4}.cloud-main .period-controls{margin-bottom:20px}.cloud-main select{background:#fff}.empty{padding:38px;text-align:center;color:var(--muted)}.cloud-main td{white-space:nowrap}.session-id{font-family:ui-monospace,monospace;font-size:12px}.cloud-main .compact-form{display:flex;align-items:end;gap:10px;margin:15px 0}.compact-form label{display:grid;gap:6px;font-size:12px}.compact-form input{width:130px;background:#fff;border:1px solid #c8d5ce;border-radius:8px;padding:10px}.cloud-main textarea{width:100%;border:1px solid #c8d5ce;border-radius:8px;background:#fff;padding:10px;resize:vertical}.cloud-main details summary{cursor:pointer;padding:16px;font-weight:600}.cloud-main .demo-body{padding:0 16px 16px}.cloud-main .scenario-buttons{display:flex;gap:8px;flex-wrap:wrap}.cloud-main .scenario-buttons button{background:#fff;border:1px solid #c8d5ce;border-radius:8px;padding:9px 12px}.cloud-main .fault-card{margin-top:15px}.cloud-main .notification-panel{max-width:none}.store-select{min-width:210px}.cloud-footer{font-size:12px;color:var(--muted);text-align:center;margin-top:30px}.refresh-btn{background:#fff;border:1px solid #ccd9d1;border-radius:9px;padding:9px 13px;color:var(--ink)}
@media(max-width:800px){.cloud-top{padding:14px 16px;align-items:flex-start}.cloud-tools{gap:8px;justify-content:flex-end}.cloud-top nav button{padding:8px 10px}.cloud-main{padding:24px 16px 50px}.cloud-heading{align-items:flex-start}.cloud-main h1{font-size:24px}.cloud-main .map-layout{display:block}.cloud-main .spot-map{min-height:360px}.cloud-main .spot-detail{border-left:0;border-top:1px solid var(--line)}.cloud-main .stats{grid-template-columns:repeat(2,minmax(0,1fr))}.cloud-status{white-space:normal}.cloud-top .brand-cloud small{display:none}.cloud-main .section-heading{flex-wrap:wrap}.cloud-main .period-controls{flex-wrap:wrap}}
@media(max-width:480px){.login-card{margin:25px 15px;padding:25px}.cloud-top{gap:8px}.cloud-top .brand-cloud img{width:34px;height:34px}.cloud-top .brand-cloud strong{font-size:22px}.cloud-tools{font-size:12px}.cloud-main .stat-value{font-size:27px}.cloud-main .stats{gap:10px}.cloud-main .stat{padding:16px}.cloud-status{max-width:110px}.cloud-main .bins{grid-template-columns:1fr}.cloud-top nav button{font-size:12px}.cloud-chip{font-size:10px;padding:5px 8px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.login-card .btn{background:#208452;border-color:#208452;color:#fff}.login-card .btn:disabled{background:#89b29b;border-color:#89b29b;color:#fff}

.cloud-status span{display:block;white-space:nowrap;font-size:11px}.cloud-status b{white-space:nowrap}@media(max-width:480px){.cloud-status{min-width:112px}}
