:root{--ink:#0f2430;--muted:#5e6b73;--line:#e6edf1;--soft:#f6fbfd;--teal:#2f7f86;--blue:#2b6f9a;--shadow:0 10px 30px rgba(15,36,48,.08);--radius:18px}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;color:var(--ink);background:var(--soft);line-height:1.5}
.wrap{max-width:1100px;margin:0 auto;padding:28px 18px}

header{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}
h1{margin:0;font-size:22px}
.toplinks{display:flex;gap:10px;align-items:center;flex-wrap:wrap}

.btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:#fff;text-decoration:none;font-weight:700;cursor:pointer;color:var(--ink)}
.btn.primary{border:none;color:#fff;background:linear-gradient(135deg,var(--teal),var(--blue))}
.btn.danger{border-color:#ffd2d2;background:#fff5f5}

.grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}
.small{font-size:13px;color:var(--muted);margin-top:6px}
.msg{margin:10px 0 0;color:var(--muted)}
.err{margin-top:10px;color:#b00020}

label{display:block;margin:10px 0 6px;font-weight:700}
input[type="text"],input[type="email"],input[type="password"],input[type="number"],textarea,select{width:100%;padding:12px;border:1px solid var(--line);border-radius:12px;font-size:16px;background:#fff}
input[type="file"]{width:100%;padding:12px;border:1px solid var(--line);border-radius:12px;font-size:16px;background:#fff}
textarea{min-height:90px;resize:vertical}

table{width:100%;border-collapse:separate;border-spacing:0;margin-top:10px}
th,td{padding:10px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
th{font-size:13px;color:var(--muted);font-weight:800}
tr:hover td{background:#fbfeff}

.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.row > *{flex:1 1 180px}
.pill{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;border:1px solid var(--line);background:#fff;font-weight:800;font-size:12px}
.pill.a{border-color:#d7ecff;background:#f2f9ff}
.pill.w{border-color:#ffe7b3;background:#fff8e6}
.pill.g{border-color:#cfeee0;background:#f2fff8}

.thumb{width:56px;height:56px;border-radius:12px;border:1px solid var(--line);object-fit:cover;background:#fff}

.actions{display:flex;gap:8px;flex-wrap:wrap}
.actions .btn{padding:8px 10px}

@media (max-width: 900px){
  .grid{grid-template-columns:1fr}
}