*{box-sizing:border-box}html,body{margin:0;padding:0;font:16px/1.5 system-ui,Segoe UI,Roboto,Arial}
.wrap{max-width:880px;margin:40px auto;padding:24px}
.card{border:1px solid #ddd;padding:16px;border-radius:8px}
h1{margin:0 0 12px 0;font-size:24px}
.grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.ok{color:#267a2b}.err{color:#b00020}
.topbar{display:flex;align-items:center;justify-content:space-between;background:#1d3557;padding:10px 16px;color:#fff}
.topbar h1 small{font-weight:normal;margin-left:6px;color:#ffd166}
.main-nav a{color:#fff;margin-right:14px;text-decoration:none;padding:4px 6px;border-radius:4px}
.main-nav a.active{background:rgba(255,255,255,.15)}
.logout-btn{background:#e63946;border:none;padding:6px 12px;color:#fff;border-radius:4px;cursor:pointer}
.logout-btn:hover{background:#d62828}
.content-area{padding:16px}

.app-footer {
  margin-top: 32px;
  padding: 16px;
  border-top: 1px solid #eee;
  text-align: center;
  color: #666;
  font-size: 13px;
}
.app-footer small {
  display:block;
  margin-top:4px;
  color:#999;
}

.auth-wrap {
  max-width: 420px;
  margin: 10vh auto;
  padding: 24px;
  background: #fff;
  border: 1px solid #dedede;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0,0,0,.05);
}
