@import url('https://fonts.googleapis.com/css2?family=Vazirmatn:wght@400;500;600;700;800&display=swap');

:root { --ink:#1c302c; --gold:#d9b277; --gold-dark:#bd8f4d; --soft:#fbfaf7; --line:#e8dfd0; --muted:#76736c; }
* { box-sizing:border-box; }
body { margin:0; background:#fff; color:var(--ink); font-family:Vazirmatn,Tahoma,sans-serif; line-height:1.85; }
.shell,.admin-shell { max-width:1120px; margin:auto; padding:26px 24px; }
header,.dashboard-head { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { display:flex; align-items:center; color:var(--ink); font-size:25px; font-weight:800; text-decoration:none; letter-spacing:-1px; }
.brand img { display:block; width:150px; height:50px; object-fit:contain; }
.brand img+span { display:none; }
.home { color:var(--gold-dark); font-size:13px; text-decoration:none; border-bottom:1px solid var(--gold); }
.hero { margin-top:31px; }
.hero-copy { padding:52px 6px 46px; border-top:1px solid var(--gold); border-bottom:1px solid var(--gold); }
.eyebrow { margin:0 0 7px; color:var(--gold-dark); font-size:13px; font-weight:700; letter-spacing:.4px; }
.hero h1 { font-size:clamp(31px,5vw,55px); line-height:1.34; letter-spacing:-2px; margin:0 0 17px; }
.hero p:not(.eyebrow) { max-width:560px; color:#5e655f; font-size:16px; margin:0; }
.form-card { margin:42px 0 30px; background:#fff; padding:42px; border:1px solid var(--line); }
h2 { font-size:28px; margin:0 0 25px; letter-spacing:-1px; }
fieldset { border:0; padding:0; margin:0 0 25px; }
legend,label { font-weight:600; font-size:14px; }
small { color:var(--muted); font-weight:400; }
.fields { display:grid; grid-template-columns:1fr; gap:18px; max-width:530px; }
label { display:block; margin:0 0 19px; }
input,select,textarea { width:100%; display:block; margin-top:7px; border:1px solid var(--line); border-radius:0; background:#fff; color:var(--ink); font:inherit; font-size:14px; padding:12px 13px; outline:none; }
input:focus,select:focus,textarea:focus { border-color:var(--gold-dark); box-shadow:0 0 0 3px #d9b27727; }
textarea { min-height:145px; resize:vertical; }
.ratings-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin:0 0 25px; }
.rating-fieldset { margin:0; padding:16px; border:1px solid var(--line); background:var(--soft); }
.rating-fieldset legend { padding:0; }
.rating-wrap { display:flex; direction:ltr; align-items:center; justify-content:space-between; gap:7px; margin-top:12px; color:var(--muted); font-size:10px; }
.rating-wrap>span { direction:rtl; white-space:nowrap; }
.stars { display:flex; direction:ltr; gap:3px; }
.star-label { cursor:pointer; margin:0; line-height:1; }
.star-label input { position:absolute; opacity:0; pointer-events:none; }
.star-label>span:first-of-type { color:#ddd7ce; font-size:25px; transition:transform .16s,color .16s; }
.star-label:hover>span:first-of-type,.star-label.selected>span:first-of-type { color:var(--gold); transform:translateY(-2px); }
.star-label:focus-within>span:first-of-type { outline:2px solid var(--gold-dark); outline-offset:3px; }
.follow-up { max-width:720px; padding:20px; border:1px solid var(--line); background:var(--soft); }
.contact-consent,.consent { display:flex; gap:9px; align-items:flex-start; font-weight:400; font-size:12px; color:var(--muted); }
.contact-consent { margin:12px 0 0; }
.contact-consent input,.consent input { width:17px; margin:5px 0 0; }
.contact-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 16px; margin-top:18px; }
.contact-fields label { margin-bottom:14px; }
.consent { max-width:720px; }
button { cursor:pointer; border:0; border-radius:0; background:var(--gold); color:var(--ink); font:700 15px Vazirmatn,Tahoma,sans-serif; padding:14px 37px; transition:.2s; }
button:hover { background:var(--gold-dark); color:#fff; }
button:disabled { opacity:.65; cursor:wait; }
.status { min-height:25px; margin:14px 0 0; font-size:14px; }
.success { color:#16714e; }
.error { color:#bc3d35; }
.honeypot { position:absolute!important; right:-10000px!important; }
.sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
footer { display:flex; flex-direction:column; align-items:center; gap:12px; padding:12px 0 26px; text-align:center; color:var(--ink); font-size:14px; }
footer img { width:100%; height:auto; display:block; }
footer strong { font-weight:700; letter-spacing:.5px; }
.admin-body { background:#fff; }
.admin-shell { max-width:1260px; padding-top:45px; }
.login-card { max-width:430px; margin:60px auto; background:var(--soft); padding:34px; border:1px solid var(--line); }
.login-card h1,.dashboard-head h1 { margin:0; font-size:28px; }
.login-card p { color:var(--muted); font-size:14px; }
.dashboard-head { margin:35px 0 22px; }
.dashboard-head>div:last-child { display:flex; gap:13px; align-items:center; }
.text-button { background:transparent; color:var(--gold-dark); padding:6px; }
.summary { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; margin-bottom:18px; max-width:500px; }
.summary span { padding:17px; background:var(--soft); border:1px solid var(--line); font-size:13px; }
.summary b { display:block; font-size:25px; }
.table-wrap { overflow:auto; background:#fff; border:1px solid var(--line); }
table { width:100%; border-collapse:collapse; min-width:850px; font-size:13px; }
th,td { padding:15px; text-align:right; vertical-align:top; border-bottom:1px solid var(--line); }
th { color:var(--muted); font-weight:600; background:var(--soft); }
td:last-child { min-width:270px; white-space:pre-wrap; }
@media(max-width:800px) { .ratings-grid { grid-template-columns:1fr; } .rating-wrap { max-width:330px; } }
@media(max-width:700px) { .shell { padding:15px; } .hero-copy { padding:36px 2px; } .form-card { margin-top:28px; padding:27px 20px; } .brand img { width:120px; height:42px; } .contact-fields { grid-template-columns:1fr; } .summary { grid-template-columns:1fr 1fr; } }
