:root{
  --wine:#6f1730;--wine-dark:#4d0f21;--wine-soft:#f7e8ed;
  --white:#fff;--text:#252226;--muted:#6f6870;--border:#eadfe3;
  --shadow:0 14px 40px rgba(65,15,31,.08)
}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:#fbf9fa;color:var(--text)}
.site-header{background:linear-gradient(145deg,var(--wine-dark),var(--wine));color:#fff;padding:58px 20px 54px;text-align:center}
.site-header.compact{padding:42px 20px}
.brand-area{max-width:900px;margin:auto}
.hero-image-wrap{max-width:520px;margin:0 auto 24px;min-height:120px;display:flex;align-items:center;justify-content:center}
.hero-image-wrap img{max-width:100%;max-height:190px;border-radius:14px;object-fit:contain;box-shadow:0 10px 35px rgba(0,0,0,.18)}
#heroPlaceholder{padding:34px 24px;border:1px dashed rgba(255,255,255,.45);border-radius:14px;color:rgba(255,255,255,.75);width:100%}
h1,h2,h3{margin-top:0}h1{font-size:42px;line-height:1.08;margin-bottom:10px}
h2{color:var(--wine-dark)}.site-header h1{color:#fff}.site-header p{margin:0;color:rgba(255,255,255,.86);font-size:17px}
.container{width:min(1040px,92%);margin:32px auto 60px}
.card{background:var(--white);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow);padding:28px;margin-bottom:22px}
.search-card{max-width:760px;margin:-24px auto 28px;position:relative}
label{display:block;font-weight:700;font-size:14px;color:var(--wine-dark);margin-bottom:14px}
input,textarea,select{display:block;width:100%;margin-top:8px;border:1px solid #d9c9cf;border-radius:10px;padding:12px 13px;font:inherit;background:#fff;color:var(--text)}
input:focus,textarea:focus,select:focus{outline:3px solid rgba(111,23,48,.1);border-color:var(--wine)}
.search-row{display:flex;gap:10px}
button,.button-link{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:10px;background:var(--wine);color:#fff;padding:12px 18px;font-weight:800;text-decoration:none;cursor:pointer}
button:hover,.button-link:hover{background:var(--wine-dark)}
button.secondary{background:#fff;color:var(--wine);border:1px solid #cfb9c1;margin-left:8px}
.message{margin-top:14px;font-weight:700;min-height:20px}
.client-heading{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid var(--border);padding-bottom:18px;margin-bottom:18px}
.eyebrow{display:inline-block;color:var(--wine);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.1em;margin-bottom:7px}
.muted{color:var(--muted)}
.obligation{border:1px solid var(--border);border-radius:14px;padding:18px;margin:12px 0;background:#fff}
.obligation-top{display:flex;gap:14px;justify-content:space-between;align-items:flex-start}
.obligation h3{margin:0 0 5px;color:var(--wine-dark)}
.status{padding:6px 10px;border-radius:999px;font-size:12px;font-weight:900;white-space:nowrap}
.status.pending{background:#fff1e8;color:#9a4d00}.status.paid{background:#eaf8ef;color:#17683a}
.obligation-meta{display:flex;gap:18px;flex-wrap:wrap;color:var(--muted);font-size:14px;margin:10px 0 14px}
.form-grid{display:grid;gap:14px}
.inline-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.client-editor{border:1px solid var(--border);border-radius:14px;padding:18px;margin:14px 0}
.obligation-editor{background:#fcfafb;border:1px solid var(--border);border-radius:12px;padding:14px;margin:10px 0}
.editor-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.admin-links{margin:12px 0 60px}.admin-links a{color:var(--wine);font-weight:800}
.payment-layout{max-width:760px}.payment-box{background:var(--wine-soft);border:1px solid #e4ccd4;border-radius:14px;padding:18px;display:grid;gap:14px;margin:18px 0}
.payment-box div{display:grid;gap:5px}.payment-box strong{color:var(--wine-dark);font-size:13px}
.payment-box span,.payment-box code{font-size:15px;overflow-wrap:anywhere}.amount{font-size:28px;font-weight:900;color:var(--wine-dark)}
.site-footer{background:#fff;border-top:1px solid var(--border);padding:28px 20px;color:var(--muted)}
.footer-grid{width:min(1040px,92%);margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.footer-grid div{display:grid;gap:6px}.footer-grid strong{color:var(--wine-dark)}
.footer-bottom{width:min(1040px,92%);margin:22px auto 0;padding-top:18px;border-top:1px solid var(--border);font-size:13px}
@media(max-width:700px){h1{font-size:32px}.search-row{flex-direction:column}.footer-grid{grid-template-columns:1fr}.inline-grid{grid-template-columns:1fr}.card{padding:20px}}
