body{
  font-family:Inter,Segoe UI,Arial,sans-serif;
  background:linear-gradient(180deg,#f6f8ff 0,#f4f7fb 100%);
  color:#182035;
  margin:0;
  padding:0;
}
.container{
  max-width:1240px;
  margin:28px auto;
  background:#fff;
  padding:24px;
  border-radius:14px;
  box-shadow:0 8px 28px rgba(27,46,94,.12);
  border:1px solid #e7ecfa;
}
.container.small{max-width:560px}
.auth-card{margin-top:70px}
h1{margin-top:0;margin-bottom:8px}
.topbar{display:flex;justify-content:space-between;align-items:center;gap:12px}
.search{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}
.actions{margin:12px 0}
.btn,button{
  background:linear-gradient(135deg,#2e6bff,#1c53d8);
  color:#fff;
  border:none;
  padding:10px 14px;
  border-radius:10px;
  cursor:pointer;
  text-decoration:none;
  font-weight:600;
}
button:hover,.btn:hover{filter:brightness(1.05)}
input,select{
  width:100%;
  padding:10px 12px;
  margin:4px 0 12px;
  border:1px solid #d8e0f4;
  border-radius:10px;
  background:#fbfcff;
}
input:focus,select:focus{
  outline:none;
  border-color:#2f6eff;
  box-shadow:0 0 0 3px rgba(47,110,255,.16);
}
.search input,.search select{width:auto;min-width:220px}
.wide{width:100%}
table{width:100%;border-collapse:separate;border-spacing:0;font-size:14px;overflow:hidden;border-radius:12px}
th,td{border-bottom:1px solid #edf1fb;padding:9px 10px;text-align:left;background:#fff}
th{background:#f5f8ff;font-weight:600}
tr:hover td{background:#fafcff}
.error{padding:10px;background:#ffe3e3;color:#a00;border-radius:8px;margin:10px 0}
.flash{padding:10px;background:#dff7e7;color:#155724;border-radius:8px;margin:10px 0}
.pagination{display:flex;gap:16px;align-items:center;margin:16px 0}
.pagination a{color:#245de3;text-decoration:none;font-weight:600}
.pagination a:hover{text-decoration:underline}
.meta{color:#57607a;font-size:14px}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px;margin-bottom:12px}
.checkbox{display:flex;align-items:center;gap:8px;margin:4px 0 14px}
.checkbox input{width:auto;margin:0}
a{color:#245de3}

.table-wrap{
  width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}

@media (max-width: 900px){
  .container{
    margin:12px;
    padding:16px;
    border-radius:12px;
  }
  .auth-card{margin-top:24px}
  .topbar{
    flex-direction:column;
    align-items:flex-start;
  }
  .topbar form{width:100%}
  .topbar form button{width:100%}
  .search{
    flex-direction:column;
    gap:8px;
  }
  .search input,.search select{
    width:100%;
    min-width:0;
  }
  .search button{width:100%}
  .grid{
    grid-template-columns:1fr;
  }
  .pagination{
    flex-wrap:wrap;
    gap:10px;
  }
}

@media (max-width: 640px){
  body{font-size:15px}
  .container{
    margin:8px;
    padding:12px;
  }
  th,td{
    padding:8px;
    font-size:13px;
    white-space:nowrap;
  }
  button,.btn{
    width:100%;
    text-align:center;
  }
  .meta{font-size:13px}
  h3{margin-bottom:8px}
}
