*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#f5f5f5;color:#333}.app{max-width:600px;margin:0 auto;background:#fff;min-height:100vh;box-shadow:0 0 20px #0000001a}header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:20px;text-align:center}header h1{font-size:24px;margin-bottom:5px}header p{font-size:14px;opacity:.9}.tabs{display:flex;background:#fff;border-bottom:1px solid #e0e0e0}.tab,.tab-active{flex:1;padding:12px;background:none;border:none;font-size:14px;cursor:pointer;transition:all .2s}.tab-active{color:#667eea;border-bottom:2px solid #667eea}.content{padding:16px}.card{background:#fff;border-radius:12px;padding:16px;margin-bottom:16px;box-shadow:0 2px 8px #0000001a}.card h3{margin-bottom:12px;display:flex;justify-content:space-between;align-items:center}.btn-small{background:#ff4757;color:#fff;border:none;padding:4px 12px;border-radius:16px;font-size:12px;cursor:pointer}.btn-primary{background:#667eea;color:#fff;border:none;padding:10px 20px;border-radius:8px;font-size:14px;cursor:pointer;width:100%;margin-top:12px}.btn-install{background:#28a745;color:#fff;border:none;padding:8px 16px;border-radius:20px;font-size:14px;cursor:pointer;margin-top:10px}.history-list{max-height:400px;overflow-y:auto}.history-item{background:#f8f9fa;padding:12px;border-radius:8px;margin-bottom:8px;border-left:4px solid #ccc}.history-item.info{border-left-color:#17a2b8}.history-item.warning{border-left-color:#ffc107}.history-item.alert{border-left-color:#dc3545;background:#fff5f5}.history-title{font-weight:700;margin-bottom:4px}.history-body{font-size:14px;color:#555;margin-bottom:4px}.history-time{font-size:11px;color:#999}.empty{text-align:center;color:#999;padding:20px}.sensor-list{display:flex;flex-direction:column;gap:12px}.sensor-item{background:#f8f9fa;padding:10px;border-radius:8px}.sensor-name{font-weight:700;display:inline-block;width:100px}.sensor-value{font-family:monospace;font-size:16px}.sensor-bar{height:8px;background:#667eea;border-radius:4px;margin-top:8px;transition:width .3s}.setting-item{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #e0e0e0}.setting-item input[type=checkbox]{width:20px;height:20px}.setting-item input[type=number]{width:60px;padding:4px;border:1px solid #ccc;border-radius:4px}footer{background:#f8f9fa;padding:12px;text-align:center;font-size:12px;color:#666;border-top:1px solid #e0e0e0}.setting-buttons{display:flex;gap:10px;margin-top:16px}.btn-critical{background:#dc3545;color:#fff;border:none;padding:10px 20px;border-radius:8px;cursor:pointer;flex:1}.btn-sensor{background:#28a745;color:#fff;border:none;padding:10px 20px;border-radius:8px;cursor:pointer;flex:1}.sensor-time{font-size:10px;color:#999;margin-top:4px}.setting-divider{height:1px;background:#e0e0e0;margin:16px 0}.btn-register{background:#6c757d;color:#fff;border:none;padding:10px 20px;border-radius:8px;cursor:pointer;width:100%;font-size:14px}.btn-register:hover{background:#5a6268}.token-status{display:block;margin-top:8px;font-size:12px;text-align:center;padding:4px;border-radius:4px}.token-status:contains("✅"){background:#d4edda;color:#155724}.token-status:contains("❌"){background:#f8d7da;color:#721c24}
