:root{
  --lp-bg:#F3F3F5;
  --lp-ink:#30455D;
  --lp-card:#ffffff;
  --lp-border:rgba(48,69,93,.15);
  --lp-muted:rgba(48,69,93,.75);
}

.lp-planner{
  font-family: "Century-PS","Century PS","Century Schoolbook",serif;
  color: var(--lp-ink);
  background: var(--lp-bg);
  border: 1px solid var(--lp-border);
  border-radius: 16px;
  padding: 18px;
}

.lp-header{margin-bottom:14px}
.lp-title{font-size:20px;font-weight:700;letter-spacing:.2px}
.lp-subtitle{margin-top:4px;color:var(--lp-muted)}

.lp-empty{
  background: var(--lp-card);
  border: 1px solid var(--lp-border);
  border-radius: 14px;
  padding: 14px;
}

.lp-form-wrap{
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 0;
}

.lp-success[hidden]{display:none}
.lp-success{
  display:flex;
  gap: 12px;
  align-items:flex-start;
  border: 1px solid var(--lp-border);
  background: rgba(48,69,93,.06);
  border-radius: 14px;
  padding: 14px;
}
.lp-success-icon{
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: var(--lp-ink);
  color: #fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight: 900;
  flex: 0 0 auto;
}
.lp-success-title{font-weight:800}
.lp-success-sub{color: var(--lp-muted); margin-top:4px}

.lp-row{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 10px;
}
.lp-row.lp-row-single{
  grid-template-columns: 1fr;
}
@media (max-width: 520px){
  .lp-row{grid-template-columns:1fr}
}

.lp-field span{display:block;font-weight:700;font-size:13px;margin-bottom:6px}
.lp-field input,
.lp-field select{
  width:100%;
  border: 1px solid var(--lp-border);
  border-radius: 12px;
  padding: 10px 12px;
  background: var(--lp-bg);
  color: var(--lp-ink);
}

.lp-actions{display:flex;gap:10px;align-items:center;margin-top:14px;flex-wrap:wrap}
.lp-button{
  border: 1px solid var(--lp-border);
  background: var(--lp-bg);
  color: var(--lp-ink);
  border-radius: 12px;
  padding: 10px 14px;
  cursor:pointer;
  font-weight:700;
}
.lp-button.lp-primary{
  background: var(--lp-ink);
  color: #fff;
  border-color: transparent;
}
.lp-button:disabled{opacity:.7;cursor:not-allowed}

.lp-message{margin-top:12px;min-height:18px}
.lp-message.is-success{color:#1b6f2a}
.lp-message.is-error{color:#9b1c1c}

