@import url('https://fonts.googleapis.com/css2?family=Vazirmatn:wght@400;500;700;800&display=swap');
:root{font-family:Vazirmatn,system-ui,sans-serif;color:#2a2034;background:#faf7fc}
*{box-sizing:border-box}body{margin:0}.hero{background:linear-gradient(135deg,#24172f,#61365f 60%,#b85d88);color:white;text-align:center;padding:42px 18px 54px}
.brand{font-size:clamp(2rem,7vw,3.5rem);font-weight:800;letter-spacing:-1px;color:#ffd3e5}.brand span{color:#ff8ab8}
.tagline{margin:0;color:#f4dce9;letter-spacing:2px}.hero h1{font-size:clamp(1.35rem,4vw,2rem);margin:24px 0 8px}.intro{color:#f2e5ee;margin:0}
main{width:min(680px,calc(100% - 28px));margin:-25px auto 40px;position:relative}.panel{background:white;border:1px solid #eee4f0;border-radius:22px;padding:24px;margin-bottom:18px;box-shadow:0 12px 35px #3c21400c}
h2{margin:0 0 18px;font-size:1.25rem}label{display:block;font-weight:600;margin:13px 0}input,select{font:inherit;width:100%;margin-top:7px;padding:12px 13px;border:1px solid #dfd4e3;border-radius:12px;background:#fff;color:#2a2034;outline:none}input:focus,select:focus{border-color:#a64f82;box-shadow:0 0 0 3px #a64f8218}
.consent{display:flex;align-items:flex-start;gap:9px;font-size:.88rem;font-weight:400}.consent input{width:auto;margin:5px 0 0}
button{width:100%;border:0;border-radius:13px;padding:13px;background:#9c4778;color:white;font:700 1rem Vazirmatn;cursor:pointer;margin-top:10px}button:hover{filter:brightness(1.06)}button:disabled{opacity:.55;cursor:wait}.secondary{background:#49345b}
.message{font-size:.9rem;line-height:1.8}.message.error{color:#b42318}.message.success{color:#18794e}.result-panel>p{color:#716778;font-size:.92rem}
.match-card{background:#fbf1f7;border:1px solid #efd5e4;padding:17px;border-radius:15px;margin-top:14px;line-height:2}.match-card strong{color:#853b68}
footer{text-align:center;color:#8c8191;font-size:.85rem;padding:0 15px 30px}
.admin-wrap{width:min(900px,calc(100% - 28px));margin:30px auto}.admin-actions{display:flex;gap:10px;flex-wrap:wrap}.admin-actions button{flex:1;min-width:160px}.stats{display:flex;gap:12px;flex-wrap:wrap}.stat{background:#fbf1f7;padding:14px;border-radius:12px;flex:1;min-width:120px}.stat b{display:block;font-size:1.4rem}
table{width:100%;border-collapse:collapse;margin-top:15px;font-size:.9rem}td,th{text-align:right;padding:10px;border-bottom:1px solid #eee} .table-scroll{overflow:auto}
