
:root{
  --navy:#0f2635;
  --navy2:#172f3f;
  --gold:#c6a46b;
  --sand:#efe7da;
  --ivory:#fffaf2;
  --text:#202326;
  --muted:#6d747b;
  --line:#e7dccb;
  --danger:#a7392d;
  --ok:#2f7a57;
  --shadow:0 20px 50px rgba(10,22,30,.18);
}
*{box-sizing:border-box}
body{
  margin:0;
  font-family: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  background:linear-gradient(180deg,var(--sand),#fff);
  color:var(--text);
}
a{color:inherit}
.hero{
  min-height:58vh;
  background:
    linear-gradient(110deg,rgba(7,20,30,.82),rgba(15,38,53,.56),rgba(15,38,53,.18)),
    url("assets/hero.jpeg") center/cover;
  display:flex;
  align-items:center;
  padding:28px;
}
.heroInner{
  max-width:1180px;
  width:100%;
  margin:0 auto;
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:28px;
  align-items:center;
}
.brandCard{
  color:#fff;
  padding:10px 0;
}
.logo{
  width:150px;
  height:auto;
  border-radius:18px;
  background:rgba(255,250,242,.95);
  padding:14px;
  box-shadow:0 10px 35px rgba(0,0,0,.25);
}
.kicker{
  color:var(--gold);
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:13px;
  margin-top:22px;
  font-weight:700;
}
h1{
  font-family: Georgia, "Times New Roman", serif;
  font-size:clamp(38px,6vw,72px);
  line-height:1.02;
  margin:12px 0 16px;
  font-weight:600;
}
.lead{
  max-width:720px;
  font-size:19px;
  line-height:1.6;
  color:rgba(255,255,255,.9);
}
.panel{
  background:rgba(255,250,242,.96);
  border:1px solid rgba(198,164,107,.38);
  border-radius:26px;
  padding:26px;
  box-shadow:var(--shadow);
  backdrop-filter: blur(8px);
}
.langs{
  display:flex;
  gap:8px;
  justify-content:flex-end;
  margin-bottom:16px;
}
.langs button,.smallBtn{
  border:1px solid var(--line);
  background:#fff;
  color:var(--navy);
  border-radius:999px;
  padding:9px 13px;
  cursor:pointer;
  font-weight:700;
}
.langs button.active,.smallBtn.primary{
  background:var(--navy);
  color:#fff;
  border-color:var(--navy);
}
.stayBox{
  display:grid;
  gap:10px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:20px;
  padding:18px;
}
.stayRow{
  display:flex;
  justify-content:space-between;
  gap:14px;
  border-bottom:1px solid #f1eadf;
  padding-bottom:10px;
}
.stayRow:last-child{border-bottom:0;padding-bottom:0}
.label{color:var(--muted);font-size:14px}
.value{font-weight:800;text-align:right}
.btn{
  width:100%;
  border:0;
  border-radius:17px;
  padding:16px 20px;
  margin-top:16px;
  font-size:17px;
  font-weight:800;
  background:linear-gradient(135deg,var(--gold),#dfc38b);
  color:#1d2225;
  cursor:pointer;
  box-shadow:0 10px 24px rgba(198,164,107,.3);
}
.wrap{
  max-width:1120px;
  margin:-70px auto 44px;
  padding:0 22px;
  position:relative;
}
.formCard,.adminCard{
  background:rgba(255,250,242,.98);
  border:1px solid var(--line);
  border-radius:28px;
  padding:28px;
  box-shadow:var(--shadow);
}
.hidden{display:none!important}
.sectionTitle{
  font-family:Georgia,"Times New Roman",serif;
  font-size:34px;
  margin:0 0 10px;
  color:var(--navy);
}
.help{color:var(--muted);line-height:1.55;margin:0 0 20px}
.steps{
  display:flex;
  gap:8px;
  margin:22px 0;
}
.step{
  height:8px;
  flex:1;
  border-radius:999px;
  background:#eadfcd;
}
.step.active{background:var(--gold)}
.grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:16px;
}
.grid3{grid-template-columns:repeat(3,1fr)}
.field label{
  display:block;
  color:#46515a;
  font-weight:750;
  margin-bottom:7px;
}
input,select,textarea{
  width:100%;
  padding:14px 14px;
  border:1px solid #d8cdbb;
  border-radius:14px;
  font-size:16px;
  background:#fff;
}
textarea{min-height:105px;resize:vertical}
.guestCard{
  border:1px solid var(--line);
  background:#fff;
  border-radius:22px;
  padding:20px;
  margin:16px 0;
}
.guestHeader{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  margin-bottom:14px;
}
.guestTitle{font-weight:900;color:var(--navy);font-size:18px}
.actions{
  display:flex;
  gap:10px;
  justify-content:space-between;
  margin-top:20px;
}
.actions button{
  flex:1;
  border-radius:15px;
  padding:15px;
  font-weight:850;
  cursor:pointer;
  border:1px solid var(--line);
  background:#fff;
}
.actions .next,.actions .finish{background:var(--navy);color:#fff;border-color:var(--navy)}
.notice{
  border-left:4px solid var(--gold);
  background:#fff;
  padding:15px;
  border-radius:14px;
  line-height:1.55;
  color:#3b4146;
}
.checks{
  display:grid;
  gap:12px;
  margin-top:16px;
}
.checks label{
  display:flex;
  gap:10px;
  align-items:flex-start;
  line-height:1.45;
}
.checks input{width:20px;margin-top:2px}
.success{
  text-align:center;
  padding:34px 10px;
}
.successIcon{
  width:74px;height:74px;border-radius:50%;
  background:var(--ok);color:white;
  display:grid;place-items:center;
  margin:0 auto 18px;
  font-size:38px;
}
.adminTop{
  display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px;
}
.tableWrap{overflow:auto;border:1px solid var(--line);border-radius:18px;background:#fff}
table{width:100%;border-collapse:collapse;min-width:850px}
th,td{padding:13px;border-bottom:1px solid #eee;text-align:left;font-size:14px}
th{background:#f7f0e5;color:var(--navy)}
.status{font-weight:900;border-radius:999px;padding:6px 10px;display:inline-block}
.pending{background:#fff4ce;color:#7b5a00}
.done{background:#dff3e8;color:#21613f}
.footer{
  text-align:center;
  color:var(--muted);
  padding:28px;
}
@media(max-width:850px){
  .hero{min-height:auto;padding:22px 18px 95px}
  .heroInner{grid-template-columns:1fr}
  .panel{padding:20px}
  .wrap{margin:-74px auto 30px;padding:0 14px}
  .grid,.grid3{grid-template-columns:1fr}
  .actions{flex-direction:column}
  .stayRow{align-items:flex-start}
  .logo{width:130px}
}
