*{box-sizing:border-box}

body{
  margin:0;
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','PingFang SC',Arial;
  background:#f3f5f7;
  color:#222;
}

.hidden{
  display:none!important;
}

.login{
  height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg,#bd3f31,#222);
}

.login-card{
  width:380px;
  background:#fff;
  padding:36px;
  border-radius:16px;
  box-shadow:0 20px 60px rgba(0,0,0,.25);
}

input,select,textarea{
  width:100%;
  padding:12px 14px;
  border:1px solid #ddd;
  border-radius:8px;
  margin:8px 0;
  background:#fff;
}

button{
  background:#bd3f31;
  color:#fff;
  border:0;
  border-radius:8px;
  padding:10px 18px;
  cursor:pointer;
  margin:4px;
  white-space:nowrap;
}

.app{
  display:flex;
  min-height:100vh;
}

aside{
  width:230px;
  background:#20212b;
  color:#fff;
  padding:24px 0;
  position:fixed;
  top:0;
  bottom:0;
  left:0;
  z-index:999;
}

aside h2{
  padding:0 22px;
  font-size:20px;
}

aside a{
  display:block;
  padding:13px 24px;
  color:#eee;
  text-decoration:none;
  cursor:pointer;
}

aside a:hover{
  background:#bd3f31;
}

main{
  margin-left:230px;
  padding:36px;
  width:calc(100vw - 230px);
  min-height:100vh;
  overflow-x:auto;
}

#content{
  width:100%;
  max-width:1200px;
}

.card{
  background:#fff;
  border-radius:14px;
  padding:22px;
  margin-bottom:18px;
  box-shadow:0 4px 16px rgba(0,0,0,.04);
}

.grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}

.stat{
  font-size:34px;
  font-weight:800;
  color:#bd3f31;
}

.row{
  display:flex;
  gap:12px;
  align-items:center;
  flex-wrap:wrap;
}

.table{
  width:100%;
  min-width:900px;
  border-collapse:collapse;
  background:#fff;
  border-radius:12px;
  overflow:hidden;
}

.table th,
.table td{
  border-bottom:1px solid #eee;
  padding:12px;
  text-align:left;
  font-size:14px;
  white-space:nowrap;
}

.table th{
  background:#fafafa;
}

.badge{
  padding:4px 8px;
  border-radius:12px;
  background:#f4e7e5;
  color:#bd3f31;
}

.form{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
}

.form .full{
  grid-column:1/4;
}

.toolbar{
  margin-bottom:12px;
}

@media(max-width:900px){
  aside{
    width:190px;
  }
  main{
    margin-left:190px;
    width:calc(100vw - 190px);
    padding:24px;
  }
  .grid,
  .form{
    grid-template-columns:1fr;
  }
  .form .full{
    grid-column:1;
  }
}