:root{--bg-color:#fff;--border-color:#000;--text-main:#000;--text-muted:#555;--success:#000;--danger:#000;--font-family:"Inter", sans-serif;--font-mono:"Courier New", Courier, monospace}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background-color:var(--bg-color);color:var(--text-main);justify-content:center;align-items:flex-start;min-height:100vh;padding:1rem;display:flex}#app{flex-direction:column;gap:1.5rem;width:100%;max-width:1000px;display:flex}header{border-bottom:3px solid var(--border-color);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-bottom:1rem;display:flex}.logo h1{text-transform:uppercase;letter-spacing:-1px;font-size:2rem;font-weight:800}.badges{gap:.5rem;margin-top:.5rem;display:flex}.badge{border:2px solid var(--border-color);text-transform:uppercase;font-size:.75rem;font-weight:600;font-family:var(--font-mono);padding:.2rem .5rem}.badge.connected,.badge.gps-active{background-color:var(--border-color);color:var(--bg-color)}button{font-family:var(--font-family);border:2px solid var(--border-color);background:var(--bg-color);color:var(--text-main);cursor:pointer;text-transform:uppercase;padding:.75rem 1.25rem;font-size:.9rem;font-weight:600;transition:all .2s}button:hover:not(:disabled){background:var(--border-color);color:var(--bg-color)}button:disabled{opacity:.3;cursor:not-allowed}.primary-btn{background:var(--border-color);color:var(--bg-color)}.primary-btn:hover:not(:disabled),.secondary-btn{background:var(--bg-color);color:var(--border-color)}.small-btn{padding:.5rem 1rem;font-size:.8rem}.pulse{animation:none}.dashboard{grid-template-columns:1fr 2fr;gap:1.5rem;display:grid}.card{border:2px solid var(--border-color);padding:1.5rem}.card h2{text-transform:uppercase;border-bottom:2px solid var(--border-color);margin-bottom:1.5rem;padding-bottom:.5rem;font-size:1.2rem;font-weight:800}.settings-panel{grid-column:1/2}.stats-panel{grid-column:2/3}.logs-panel{grid-column:1/3}.form-group{flex-direction:column;gap:.5rem;margin-bottom:1.5rem;display:flex}.form-group label{text-transform:uppercase;font-size:.85rem;font-weight:600}.form-group input[type=number]{border:2px solid var(--border-color);font-family:var(--font-mono);outline:none;padding:.75rem;font-size:1rem}.form-group input[type=number]:focus{background:#f0f0f0}.toggle-group{flex-direction:row;justify-content:space-between;align-items:center}.switch{width:40px;height:24px;display:inline-block;position:relative}.switch input{opacity:0;width:0;height:0}.slider{cursor:pointer;border:2px solid var(--border-color);transition:all .2s;position:absolute;inset:0}.slider:before{content:"";background-color:var(--border-color);width:16px;height:16px;transition:all .2s;position:absolute;bottom:2px;left:2px}input:checked+.slider{background-color:var(--border-color)}input:checked+.slider:before{background-color:var(--bg-color);transform:translate(16px)}.action-buttons{flex-direction:column;gap:.75rem;margin-top:1.5rem;display:flex}.stats-grid{grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1.5rem;display:grid}.stat-box{border:2px solid var(--border-color);flex-direction:column;padding:1rem;display:flex}.stat-label{text-transform:uppercase;margin-bottom:.5rem;font-size:.75rem;font-weight:600}.stat-value{font-family:var(--font-mono);font-size:2rem;font-weight:800}.progress-container{border:2px solid var(--border-color);height:12px;margin-bottom:.5rem;position:relative}.progress-bar{background:var(--border-color);width:0%;height:100%;transition:width .2s}#test-status-text{font-family:var(--font-mono);text-transform:uppercase;text-align:right;font-size:.8rem;font-weight:600;display:block}.logs-header{border-bottom:2px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.5rem;display:flex}.logs-header h2{border:none;margin:0;padding:0}.table-container{border:2px solid var(--border-color);max-height:400px;overflow-y:auto}table{border-collapse:collapse;text-align:left;width:100%}th,td{border-bottom:1px solid var(--border-color);font-family:var(--font-mono);padding:.75rem}th{font-family:var(--font-family);text-transform:uppercase;background:var(--border-color);color:var(--bg-color);z-index:10;font-size:.8rem;position:sticky;top:0}td{font-size:.9rem}.status-success,.status-failed{font-weight:800}@media (width<=768px){header{flex-direction:column;align-items:stretch}.dashboard{grid-template-columns:1fr}.settings-panel,.stats-panel,.logs-panel{grid-column:1/-1}.stats-grid{grid-template-columns:1fr 1fr}}@media (width<=480px){.stats-grid{grid-template-columns:1fr}.logo h1,.stat-value{font-size:1.5rem}}
