html, body { margin: 0; padding: 0; font-family: Verdana, sans-serif; background: #f2f4f7; color: #222; }
.wrap { max-width: 900px; margin: 0 auto; padding: 1.5em 1em 4em; }
.hidden { display: none !important; }
header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1em; }
header a { color: #113fd8; text-decoration: none; }
h1 { font-size: 1.4em; margin: 0.2em 0; display: flex; align-items: center; gap: 0.5em; }
.app-logo { width: 28px; height: auto; }
h2 { font-size: 1.1em; margin-top: 0; }

.card { background: #fff; border-radius: 10px; padding: 1.2em 1.4em; margin-bottom: 1.4em; box-shadow: 0 2px 10px rgba(0,0,0,0.08); }

table { width: 100%; border-collapse: collapse; font-size: 0.9em; }
th, td { text-align: left; padding: 0.5em 0.6em; border-bottom: 1px solid #eee; }
th { color: #555; font-weight: 600; }

.row { display: flex; gap: 0.6em; flex-wrap: wrap; margin-bottom: 0.6em; align-items: center; }
input[type=text], input[type=password], select { padding: 0.5em 0.6em; border-radius: 6px; border: 1px solid #ccc; font-size: 0.95em; }

.bbutton, .rbutton {
    display: inline-block; padding: 0.5em 1em; border-radius: 6px; font: bold 0.95em verdana;
    color: #fff; text-decoration: none; cursor: pointer; border: none;
}
.bbutton { background: linear-gradient(to bottom, #2076ff, #113fd8); }
.rbutton { background: linear-gradient(to bottom, #ff1d02, #cc0f01); }
button.small, a.small { font-size: 0.8em; padding: 0.3em 0.6em; margin-right: 0.3em; }

.err { color: #c31c1c; font-size: 0.9em; min-height: 1.2em; margin-top: 0.4em; }
.badge { display: inline-block; padding: 0.1em 0.5em; border-radius: 10px; font-size: 0.8em; }
.badge.on { background: #d9f7e3; color: #16794a; }
.badge.off { background: #f7d9d9; color: #a11e1e; }
