*{box-sizing:border-box}body{margin:0;background:#f3f6f5;font:15px system-ui,-apple-system,Arial;color:#17352c}header{background:#164b37;color:#fff;padding:18px 5%;display:flex;gap:16px;justify-content:space-between;align-items:center}header strong{font-size:23px}header small{display:block;color:#c8e9d7}main{max-width:1150px;margin:auto;padding:22px}nav,.toolbar,.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}nav{margin:18px 0}button,.button{border:1px solid #c7d6cf;border-radius:10px;padding:11px 15px;background:white;color:#164b37;font-weight:650;cursor:pointer;font-size:14px}button:disabled{opacity:.55;cursor:wait}button.active,.primary{background:#24784e;color:#fff;border-color:#24784e}h1{font-size:25px;margin:12px 0 20px}h2{font-size:19px}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}.stat,.panel{background:#fff;border:1px solid #dfe9e2;border-radius:15px;padding:20px}.stat b{display:block;font-size:27px;margin-top:8px}.panel{margin:16px 0;overflow:auto}.muted{color:#65776f}table{width:100%;border-collapse:collapse;min-width:650px}th,td{padding:12px;border-bottom:1px solid #e9eee9;text-align:left;vertical-align:top}th{font-size:12px;color:#6b7c73;text-transform:uppercase}input,select,textarea{padding:12px;border:1px solid #cbdad0;border-radius:9px;width:100%;font:inherit;background:#fff;color:#17352c}input[type=checkbox]{width:auto}label{display:block;font-size:13px;font-weight:650;margin:10px 0 4px}textarea{min-height:80px}.toolbar{margin:12px 0}.toolbar input{max-width:420px}.notice{background:#e9f4ed;padding:13px;border-radius:10px;margin:14px 0}.warn{background:#fff2df;color:#74500b}.error{background:#ffe6e0;color:#923527}.status{border-radius:20px;padding:4px 8px;background:#e9f4ed;white-space:nowrap;font-size:12px}.small{font-size:12px}.formgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.hidden{display:none!important}.modal{position:fixed;inset:0;background:#112b22aa;display:none;align-items:center;justify-content:center;padding:16px;z-index:2000}.modal.show{display:flex}.dialog{background:#fff;border-radius:16px;padding:22px;width:min(720px,100%);max-height:90dvh;overflow:auto}.install,.login{max-width:560px;margin:30px auto;background:white;border:1px solid #dfe9e2;border-radius:16px;padding:28px}#map{height:520px;min-height:300px;border-radius:12px}a{color:#1c7050}#toast{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);background:#163f30;color:#fff;border-radius:10px;padding:14px;z-index:3000;max-width:90vw}footer{padding:25px;text-align:center;color:#78877e}.route-stop{padding:12px;border-bottom:1px solid #e0ebe5}.route-stop label{font-size:14px}.qr-label{display:inline-block;width:240px;padding:18px;border:1px dashed #777;text-align:center;margin:8px;break-inside:avoid}.qr-label canvas,.qr-label img{margin:12px auto}.qr-label strong{font-size:22px}.checklist label{display:flex;gap:10px;align-items:center;padding:8px;border-bottom:1px solid #eee}#scanner{width:100%;max-width:500px;margin:auto}@media(max-width:600px){header{padding:16px;align-items:flex-start}header strong{font-size:20px}header .small{max-width:130px}main{padding:14px}.dialog{padding:15px}table{font-size:13px}nav button{padding:9px;font-size:13px}#map{height:440px}.login{margin:20px 12px}.install{margin:20px 12px}.toolbar button{flex-grow:1}}@media print{body>*{display:none!important}#printArea{display:block!important}#printArea .qr-label{display:inline-block!important}}
