:root{
  --blue:#2175bc;
  --orange:#f2a000;
  --orange-dark:#cc6600;
  --bg:#add8e6;
  --border:#d7e6f6;
  --wave-h:24px;
}
*{box-sizing:border-box}
body{
  margin:0;
  font:15px/1.55 system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,"Helvetica Neue",Arial,sans-serif;
  color:var(--orange-dark);
  background:var(--bg);
}
a{color:var(--blue);text-decoration:none}
a:hover{text-decoration:underline}
.container{width:min(1200px,94vw);margin:0 auto;padding:1rem 0 3rem}

.headline{color:var(--orange-dark);margin:0 0 .8rem}
h1.headline{font-size:1.6rem}
h2{color:var(--orange-dark);margin-top:0}

.adm-header{
  background:#fff;border-bottom:3px solid var(--blue);
  position:sticky;top:0;z-index:50;
}
.adm-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 0;flex-wrap:wrap}
.adm-brand{font-weight:700;color:var(--orange-dark);font-size:1.1rem}
.adm-nav{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}
.adm-nav a{color:var(--blue);font-weight:600;padding:.3rem .6rem;border-radius:6px}
.adm-nav a.active{background:var(--blue);color:#fff}
.adm-nav a:hover{background:#e8f2fc;text-decoration:none}
.adm-nav a.active:hover{background:#1c6aa8;color:#fff}
.adm-user{color:#7a4b12}

.btn{
  display:inline-block;border:none;cursor:pointer;
  padding:.55rem 1rem;border-radius:8px;font-weight:600;font-size:.95rem;
  background:#eee;color:#333;text-decoration:none;
}
.btn:hover{filter:brightness(.95);text-decoration:none}
.btn-primary{background:var(--blue);color:#fff}
.btn-primary:hover{background:#1c6aa8}
.btn-ghost{background:#fff;border:1px solid var(--blue);color:var(--blue)}
.btn-danger{background:#c0392b;color:#fff}

.alert{padding:.8rem 1rem;border-radius:10px;margin:1rem 0;font-weight:600}
.alert-success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}
.alert-error{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}

.edit-section{
  background:#fff;border:1px solid var(--border);border-radius:14px;
  padding:1.2rem;margin:1.2rem 0;box-shadow:0 6px 20px rgba(2,8,23,.04);
}

.fld{display:block;margin:.6rem 0}
.fld>span{display:block;font-weight:600;color:#7a4b12;margin-bottom:.25rem}
.fld input[type=text],.fld input[type=password],.fld textarea,.fld select,
.edit-section input[type=text],.edit-section input[type=password],
.edit-section select,.edit-section textarea{
  width:100%;padding:.55rem .7rem;border:1px solid var(--border);border-radius:8px;
  font:inherit;color:var(--orange-dark);background:#fff;
}
.fld textarea{min-height:80px;resize:vertical}

.grid{display:grid;gap:1rem}
@media (min-width:760px){.grid.cols-2{grid-template-columns:1fr 1fr}}

.tiles-edit{display:grid;gap:1rem}
@media (min-width:560px){.tiles-edit{grid-template-columns:repeat(2,1fr)}}
.tile-edit{
  background:#f6f9fe;border:2px solid var(--blue);border-radius:12px;padding:.8rem;
}

.save-bar{
  position:sticky;bottom:0;background:#fff;border-top:2px solid var(--blue);
  padding:.8rem;display:flex;gap:.8rem;align-items:center;border-radius:12px 12px 0 0;
  box-shadow:0 -8px 22px rgba(2,8,23,.06);margin-top:1rem;
}
.save-bar input[type=text]{flex:1;padding:.55rem .7rem;border:1px solid var(--border);border-radius:8px}

.versions{width:100%;border-collapse:collapse;background:#fff;border-radius:10px;overflow:hidden}
.versions th,.versions td{padding:.55rem .7rem;border-bottom:1px solid var(--border);text-align:left;font-size:.9rem}
.versions th{background:#e8f2fc;color:var(--orange-dark)}
.versions tr:last-child td{border-bottom:0}
.actions{display:flex;gap:.4rem;flex-wrap:wrap}

/* Login */
.login-body{min-height:100vh;display:flex;align-items:center;justify-content:center}
.login-wrap{width:100%;display:flex;justify-content:center;padding:2rem}
.login-card{
  width:min(420px,92vw);background:#fff;border:1px solid var(--border);
  border-radius:14px;padding:2rem 1.5rem;box-shadow:0 12px 30px rgba(2,8,23,.1);
  position:relative;overflow:hidden;
}
.login-card::before{
  content:"";position:absolute;left:0;top:0;right:0;height:var(--wave-h);
  background:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 90 28" preserveAspectRatio="none"><polygon points="0,0 15,28 30,0" fill="%23f08010"/><polygon points="30,0 45,28 60,0" fill="%238faadc"/><polygon points="60,0 75,28 90,0" fill="%230070c0"/></svg>') repeat-x top left / 90px var(--wave-h);
}
.login-card form{display:flex;flex-direction:column;gap:.8rem;margin-top:1rem}
.login-card label{display:flex;flex-direction:column;font-weight:600;color:#7a4b12;gap:.3rem}
.login-card input{padding:.6rem .8rem;border:1px solid var(--border);border-radius:8px;font:inherit}

/* ===== Login ===== */
.login-body{
  min-height:100vh;
  display:flex;align-items:center;justify-content:center;
  margin:0;padding:1rem;
}
.login-wrap{width:100%;display:flex;justify-content:center}
.login-card{
  width:min(420px,94vw);
  background:#fff;
  border:1px solid var(--border);
  border-radius:14px;
  padding:calc(1.5rem + var(--wave-h)) 1.5rem 1.8rem;
  box-shadow:0 12px 30px rgba(2,8,23,.12);
  position:relative;
  overflow:hidden;
}
.login-card::before{
  content:"";position:absolute;left:0;top:0;right:0;height:var(--wave-h);
  background:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 90 28" preserveAspectRatio="none"><polygon points="0,0 15,28 30,0" fill="%23f08010"/><polygon points="30,0 45,28 60,0" fill="%238faadc"/><polygon points="60,0 75,28 90,0" fill="%230070c0"/></svg>') repeat-x top left / 90px var(--wave-h);
}
.login-title{
  text-align:center;
  color:var(--orange-dark);
  margin:.2rem 0 1.2rem;
  font-size:1.4rem;
}
.login-form{display:flex;flex-direction:column;gap:.9rem}
.login-form .fld{margin:0}
.login-form .fld>span{
  display:block;font-weight:600;color:#7a4b12;margin-bottom:.3rem;font-size:.92rem;
}
.login-form input[type=text],
.login-form input[type=password]{
  width:100%;
  padding:.65rem .85rem;
  border:1px solid var(--border);
  border-radius:8px;
  font:inherit;
  color:var(--orange-dark);
  background:#fff;
  outline:none;
  transition:border-color .15s, box-shadow .15s;
}
.login-form input:focus{
  border-color:var(--blue);
  box-shadow:0 0 0 3px rgba(33,117,188,.18);
}
.btn-block{width:100%;margin-top:.4rem}