:root{font-family:Segoe UI,Arial,sans-serif;background:#f3f5ef;color:#183b31}*{box-sizing:border-box}body{margin:0}header{padding:28px max(24px,calc((100vw - 1200px)/2));background:#153e33;color:#fff}header small{letter-spacing:3px;color:#c6e89e}h1{font-size:30px;margin:10px 0}header p{color:#cadbd4}#connection{font-size:12px}main{max-width:1248px;margin:auto;padding:24px}nav,.actions,.bar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}button,input,select,textarea{font:inherit;border:1px solid #b7c9bd;background:white;color:#183b31;padding:10px;border-radius:8px}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}button.primary,nav button.active{background:#245b46;color:#fff}h2{font-size:22px}.card{background:#fff;padding:20px;border:1px solid #d7e1d4;border-radius:14px;margin-bottom:16px}.card h3{margin:8px 0}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}.meta,.hint{font-size:13px;line-height:1.6;color:#60796b}.badge{background:#e6efd9;border-radius:20px;padding:4px 9px;font-size:12px;display:inline-block}.error{background:#ffe5df;color:#922a1b;padding:14px;border-radius:8px}#notice:empty{display:none}#notice{background:#e1ead7;padding:12px;border-radius:8px}label{display:block;font-size:13px;margin-top:14px;margin-bottom:5px}textarea{width:100%;min-height:90px;resize:vertical}input:not([type=checkbox]),select{max-width:100%}.message{min-height:200px;line-height:1.5}a{color:#246649}table{border-collapse:collapse;width:100%;background:#fff}th,td{text-align:left;padding:12px;border-bottom:1px solid #dbe3d7;font-size:14px}.table-scroll{overflow:auto}dialog{width:min(680px,95vw);max-height:90vh;border:0;border-radius:14px;padding:24px}dialog::backdrop{background:#163b3288}dialog input,dialog select{width:100%}dialog .actions{margin-top:20px}footer{max-width:1200px;margin:24px auto;padding:0 24px;color:#6d7d70;font-size:12px}.actions{margin-top:14px}pre{white-space:pre-wrap}.bar input{flex:1;min-width:180px}@media(max-width:550px){main{padding:14px}header{padding:24px}nav button{flex:1;font-size:13px}h1{font-size:25px}}

.grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}button,input,select{min-height:44px}input,select,textarea{font-size:16px}header,main,footer{overflow-wrap:anywhere}#pwa-status{max-width:740px}.card{min-width:0}main{padding-bottom:max(24px,env(safe-area-inset-bottom))}
