:root{
  --bg:#fff9fb;
  --card:#fff;
  --text:#2d2430;
  --muted:#786d79;
  --accent:#d96b93;
  --accent-dark:#b94e76;
  --border:#eedde4;
  --green:#2f7d59;
  --red:#a94444;
}
*{box-sizing:border-box}
body{
  margin:0;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:linear-gradient(180deg,#fff9fb,#fff);
  color:var(--text);
}
.wrap{width:min(1100px,92%);margin:0 auto}
header{padding:52px 0 26px}
h1{font-size:clamp(2.5rem,7vw,5rem);line-height:1;margin:10px 0;letter-spacing:-.05em}
.lead{color:var(--muted);max-width:650px;line-height:1.6}
.badge{
  display:inline-block;padding:8px 12px;border-radius:999px;
  background:#fff0f5;color:var(--accent-dark);font-weight:800;font-size:.82rem;
  border:1px solid #f3d6e1
}
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:20px 0 60px}
.card,.panel{
  background:var(--card);border:1px solid var(--border);border-radius:18px;
  padding:18px;box-shadow:0 12px 30px rgba(93,55,72,.08)
}
.card h2,.card h3,.panel h2{margin:0 0 10px;overflow-wrap:anywhere;word-break:break-word}
.meta{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0}
.tag{
  padding:5px 8px;border-radius:999px;background:#fff1f6;border:1px solid #f1d6e1;
  color:#994563;font-size:.76rem;font-weight:800
}
.desc{color:var(--muted);line-height:1.5}
a.button,button{
  border:0;border-radius:11px;padding:10px 13px;font:inherit;font-weight:800;cursor:pointer;
  text-decoration:none;display:inline-block
}
.primary{background:var(--accent);color:white}
.secondary{background:#f5edf0;color:var(--text)}
.danger{background:#faecec;color:var(--red)}
.success{background:#edf7f1;color:var(--green)}
.admin-layout{display:grid;grid-template-columns:350px 1fr;gap:24px;padding-bottom:60px}
label{display:block;font-size:.85rem;font-weight:800;margin:12px 0 5px}
input,textarea,select{
  width:100%;padding:10px 11px;border:1px solid #e6d7dd;border-radius:11px;font:inherit
}
textarea{min-height:80px;resize:vertical}
.check{display:flex;gap:8px;align-items:center;margin-top:13px}
.check input{width:auto}
.admin-item{
  display:flex;justify-content:space-between;gap:15px;align-items:flex-start;
  padding:16px 0;border-bottom:1px solid var(--border)
}
.admin-item:last-child{border-bottom:0}
.actions{display:flex;gap:8px;flex-wrap:wrap}
.empty{padding:45px 20px;text-align:center;color:var(--muted);border:1px dashed var(--border);border-radius:18px}
.topnav{display:flex;gap:10px;align-items:center;margin-top:18px;flex-wrap:wrap}
small{color:var(--muted)}
.notice{
  padding:12px 14px;border-radius:12px;background:#fff4f7;border:1px solid #f2d6e0;
  margin-bottom:18px
}
.login{max-width:420px;margin:70px auto}
@media(max-width:850px){
  .grid{grid-template-columns:1fr}
  .admin-layout{grid-template-columns:1fr}
}

.card{
  min-width:0;
}
.card h2{
  font-size:clamp(1.5rem, 2.4vw, 2rem);
  line-height:1.12;
}
.desc,.tag,small{
  overflow-wrap:anywhere;
  word-break:break-word;
}
