:root{--bg: #0e1b2e;--panel: #182c46;--panel2: #1e3552;--border: #2c4566;--text: #eaf1f8;--muted: #93a6bd;--accent: #fbdb38;--primary: #182c46;--secondary: #669897;--green: #3fb950;--red: #f85149;--blue: #669897}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text)}a{color:var(--blue);text-decoration:none}button{cursor:pointer;border:1px solid var(--border);background:var(--panel2);color:var(--text);padding:8px 14px;border-radius:8px;font-size:14px}button:hover{border-color:var(--blue)}button.primary{background:var(--panel2);color:var(--text);border-color:var(--blue);font-weight:600}input,select{background:var(--panel2);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:8px 10px;font-size:14px}.header{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:6px 16px;background:var(--panel);border-bottom:1px solid var(--border)}.header h1{font-size:16px;margin:0}.mainnav{display:flex;align-items:center;gap:8px;margin-left:auto;flex-wrap:wrap}.hamburger{display:none}.acct{position:relative}.acct-btn{display:inline-flex;align-items:center;gap:4px}.acct-name{white-space:nowrap}.acct-head{padding:2px 10px 6px;font-size:11px;line-height:1.3;word-break:break-all}.acct-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40}.acct-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:50;min-width:210px;background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:6px;display:flex;flex-direction:column;gap:2px;box-shadow:0 10px 28px #0006}.acct-menu button{width:100%;display:flex;align-items:center;gap:10px;text-align:left;background:transparent;border:none;padding:9px 10px;border-radius:8px}.acct-menu button .ic{flex:0 0 20px;width:20px;text-align:center;font-size:15px;line-height:1}.acct-menu button:hover{background:var(--panel2)}.acct-menu hr{border:0;border-top:1px solid var(--border);margin:4px 0}.container{max-width:1100px;margin:0 auto;padding:16px 20px}.container h2{margin-top:0}.card{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:13px;margin-bottom:12px}.sep{border:0;border-top:1px solid var(--border);margin:4px 0 12px}.rt{border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--panel2)}.rt-toolbar{display:flex;gap:4px;flex-wrap:wrap;padding:4px;background:var(--panel);border-bottom:1px solid var(--border)}.rt-toolbar button,.rt-toolbar select{padding:2px 8px;font-size:13px;line-height:1.2}.rt-color{display:inline-flex;align-items:center;gap:2px;border:1px solid var(--border);border-radius:8px;padding:0 6px;cursor:pointer}.rt-color input{width:20px;height:22px;padding:0;border:none;background:none;cursor:pointer}.rt-area{padding:8px 10px;outline:none;font-size:14px}.rt-area:empty:before{content:attr(data-ph);color:var(--muted)}.tl-item{border-left:2px solid var(--border);padding:2px 0 10px 12px;margin-left:4px;position:relative}.tl-item .tl-meta{font-size:12px;color:var(--muted)}.tl-item.tl-status .tl-meta,.tl-item.tl-system .tl-meta{font-style:italic}.grid{display:grid;gap:10px}.cols-4{grid-template-columns:repeat(4,1fr)}.cols-3{grid-template-columns:repeat(3,1fr)}@media (max-width: 800px){.cols-4,.cols-3{grid-template-columns:1fr 1fr}}.metric{background:var(--panel2);border-radius:10px;padding:10px 12px}.metric .label{color:var(--muted);font-size:12px}.metric .value{font-size:21px;font-weight:700;margin-top:2px}.muted{color:var(--muted)}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:8px;border-bottom:1px solid var(--border)}th{color:var(--muted);font-weight:500}table thead th{position:sticky;top:0;background:var(--panel);z-index:1}.table-scroll{max-height:62vh;overflow:auto}.sitelist-scroll{max-height:600px;overflow-y:auto;padding-right:4px}@media (max-width: 760px){.sitelist-scroll{max-height:50vh}}.badge{padding:2px 8px;border-radius:20px;font-size:12px}.badge.ok{background:#3fb95026;color:var(--green)}.badge.ko{background:#f8514926;color:var(--red)}.center{min-height:60vh;display:flex;align-items:center;justify-content:center}.login-box{width:340px}.clickable{cursor:pointer}.site-tile{background:var(--panel2);border:1px solid var(--border);border-radius:10px;padding:16px;cursor:pointer}.site-tile:hover{border-color:var(--accent)}.site-tile.compact{padding:7px 10px;margin-bottom:6px}.site-tile.compact .icon-btn{padding:1px 5px;font-size:15px}.region:hover{fill:var(--accent)!important;cursor:pointer}@keyframes ring{0%,55%,to{transform:rotate(0)}10%,30%,50%{transform:rotate(16deg)}20%,40%{transform:rotate(-16deg)}}@keyframes alarmpulse{0%,to{filter:drop-shadow(0 0 0 rgba(248,81,73,0))}50%{filter:drop-shadow(0 0 4px rgba(248,81,73,.9))}}.alarm-bell{display:inline-block;transform-box:fill-box;transform-origin:top center;animation:ring 1.1s ease-in-out infinite,alarmpulse 1.1s ease-in-out infinite}@keyframes badgepulse{0%,to{transform:scale(1)}50%{transform:scale(1.25)}}.alarm-badge{transform-box:fill-box;transform-origin:center;animation:badgepulse .85s ease-in-out infinite}@keyframes hourglass{0%{transform:rotate(0)}70%,to{transform:rotate(180deg)}}.hourglass-spin{display:inline-block;animation:hourglass 1.2s ease-in-out infinite}.map-layout{display:grid;grid-template-columns:2fr 1fr;gap:16px;align-items:start}@media (max-width: 900px){.map-layout{grid-template-columns:1fr}.vendor-logos{display:grid!important;grid-template-columns:repeat(4,auto);gap:8px 12px;justify-content:flex-end}}@media (max-width: 760px){.container{padding:12px}.header{padding:5px 10px}.header .brand-sub,.hamburger{display:none}.mainnav{flex-basis:100%;margin-left:0;margin-top:8px;gap:6px}.acct{margin-left:auto}.acct-menu{min-width:200px}.grid.cols-4,.grid.cols-3{grid-template-columns:1fr 1fr}.card{overflow-x:auto}table{font-size:13px}th,td{padding:6px}.modal-overlay{padding:8px}input,select{max-width:100%}.row>input,.row>select{flex:1 1 100%;min-width:0}h2{font-size:20px}}@media (max-width: 480px){.grid.cols-4{grid-template-columns:1fr 1fr}.grid.cols-3{grid-template-columns:1fr}}@media (max-width: 760px){.table-scroll{max-height:none;overflow:visible}table.resp-table thead{display:none}table.resp-table,table.resp-table tbody,table.resp-table tr,table.resp-table td{display:block;width:100%}table.resp-table tr{border:1px solid var(--border);border-radius:10px;margin-bottom:10px;padding:8px 10px;background:var(--panel2)}table.resp-table td{border:none;padding:5px 0;white-space:normal;display:flex;justify-content:space-between;align-items:baseline;gap:12px;border-bottom:1px solid rgba(255,255,255,.05);text-align:right}table.resp-table tr td:last-of-type{border-bottom:none}table.resp-table td:before{content:attr(data-label);color:var(--muted);font-size:12px;flex:0 0 auto;text-align:left;font-weight:400}table.resp-table td:last-child{justify-content:flex-end;gap:6px;margin-top:4px;padding-top:8px;border-top:1px solid rgba(255,255,255,.05)}table.resp-table td:last-child:before{display:none}}.brand{display:flex;align-items:center;gap:10px;cursor:pointer}.logo-img{height:30px;display:block;border-radius:6px}.logo-tesla{height:22px;filter:brightness(0) invert(1);opacity:.85}.brand-sub{font-size:14px;color:var(--muted);font-weight:500}.vendor-logos{display:inline-flex;align-items:center;gap:16px;opacity:.9}.logo-vendor{height:16px;display:block;opacity:.95}.icon-btn{background:transparent;border:1px solid transparent;border-radius:8px;font-size:17px;line-height:1;padding:3px 7px;cursor:pointer}.icon-btn:hover{border-color:var(--blue);background:var(--panel2)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;z-index:2000;display:flex;align-items:flex-start;justify-content:center;padding:24px;overflow:auto}.modal{width:100%;max-width:920px}
