@font-face{font-family:Vazirmatn;src:url("fonts/vazir/Vazirmatn-UI-FD-Regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Vazirmatn;src:url("fonts/vazir/Vazirmatn-UI-FD-Medium.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:Vazirmatn;src:url("fonts/vazir/Vazirmatn-UI-FD-SemiBold.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:Vazirmatn;src:url("fonts/vazir/Vazirmatn-UI-FD-Bold.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:Vazirmatn;src:url("fonts/vazir/Vazirmatn-UI-FD-ExtraBold.woff2") format("woff2");font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:Vazirmatn;src:url("fonts/vazir/Vazirmatn-UI-FD-Black.woff2") format("woff2");font-weight:900;font-style:normal;font-display:swap}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{min-height:100%;background:#f5efe4;color:#111;letter-spacing:0}
body{margin:0;min-height:100%;font-family:Vazirmatn,Tahoma,Arial,sans-serif;background:radial-gradient(circle at 20% 0,#fff 0,#f5efe4 34%,#ddceb4 100%);color:#111;user-select:none}
a,button,input,select,textarea{-webkit-tap-highlight-color:transparent;font:inherit}
a{color:#111;text-decoration:none}
input,select,textarea{width:100%;border:1px solid #d8ccb7;border-radius:8px;background:#fff;color:#111;padding:12px 13px;outline:none;user-select:text}
textarea{resize:vertical}
label{display:grid;gap:8px;color:#5d5346;font-size:13px;font-weight:700}
.pay-shell,.login-shell{min-height:100vh;display:grid;place-items:center;padding:20px}
.lookup-page{min-height:100vh;display:grid;place-items:center;padding:20px;background:linear-gradient(135deg,#fffaf2 0%,#f3eadb 52%,#ded0b7 100%)}
.lookup-card{width:min(100%,390px);display:grid;gap:18px;border:1px solid rgba(17,17,17,.10);border-radius:24px;background:rgba(255,253,248,.94);box-shadow:0 24px 70px rgba(44,35,20,.14);padding:24px}
.lookup-logo{display:flex;justify-content:center}
.lookup-logo img{width:112px;height:auto}
.lookup-copy{text-align:center;display:grid;gap:7px}
.lookup-kicker{color:#8b6b39;font-size:12px;font-weight:900}
.lookup-copy h1{font-size:25px;margin:0}
.lookup-copy p{margin:0;color:#766b5c;line-height:1.8;font-size:13px}
.lookup-form{display:grid;gap:14px}
.lookup-form label{font-size:12px;color:#6c6256}
.lookup-form input{text-align:center;font-size:18px;font-weight:900;letter-spacing:2px;direction:ltr}
.pay-card,.login-card{position:relative;width:min(100%,390px);overflow:hidden;border:1px solid rgba(0,0,0,.10);border-radius:20px;background:rgba(255,252,246,.95);box-shadow:0 18px 48px rgba(0,0,0,.13);padding:20px}
.invoice-card{width:min(100%,390px);overflow:hidden;border:1px solid rgba(17,17,17,.08);border-radius:22px;background:#fffaf2;box-shadow:0 24px 60px rgba(44,35,20,.14)}
.invoice-topbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;border-bottom:1px solid #eee3d4;background:#fffdf8}
.invoice-brandmark{display:flex;align-items:center;gap:12px;min-width:0}
.invoice-brandmark img{width:72px;height:auto;display:block}
.invoice-brandmark div{display:grid;gap:2px;text-align:right}
.invoice-brandmark strong{font-size:14px;line-height:1;color:#111}
.invoice-brandmark span{font-size:11px;color:#827765;font-weight:700}
.invoice-body{padding:20px}
.invoice-heading{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px}
.invoice-heading h1{font-size:18px;margin:2px 0 0}
.heading-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#111;color:#fff;flex:0 0 auto}
.invoice-desc{margin:8px 0 16px;color:#6b6255;line-height:1.9;font-size:13px}
.status-pill{display:inline-flex;align-items:center;min-height:30px;border-radius:999px;background:#fff4d9;color:#765000;padding:0 10px;font-size:11px;font-weight:900;white-space:nowrap}
.status-pill.paid{background:#e7f8eb;color:#137133}.status-pill.cancelled,.status-pill.expired{background:#fff0f0;color:#8c1d1d}
.invoice-amount{margin:14px 0 12px}
.invoice-details{display:grid;margin:6px 0 16px}
.invoice-details div{display:grid;grid-template-columns:130px 1fr;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid #eadfce}
.invoice-details dt{display:flex;align-items:center;gap:8px;color:#817665;font-size:12px;font-weight:800}
.invoice-details dd{margin:0;text-align:left;direction:ltr;color:#1b1b1b;font-weight:800;word-break:break-word}
.detail-icon{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:8px;background:#f1e8d8;color:#111;flex:0 0 auto}
.svg-icon{width:18px;height:18px;display:block}
.detail-icon .svg-icon{width:15px;height:15px}
.heading-icon .svg-icon{width:22px;height:22px}
.pay-action{gap:10px}
.pay-icon{display:grid;place-items:center;width:20px;height:20px;color:currentColor}
.pay-icon .svg-icon{width:18px;height:18px}
.brand-row{display:flex;align-items:center;justify-content:space-between;gap:14px;color:#786b57;font-size:12px}
.brand-logo{width:92px;height:auto;display:block}
.art-mark{height:88px;margin:16px -20px;background:linear-gradient(135deg,#111 0 18%,transparent 18% 28%,#111 28% 38%,transparent 38%),linear-gradient(180deg,#ede4d4,#cdbb9b);opacity:.92}
.eyebrow{margin:0 0 8px;color:#8b6b39;font-size:13px;font-weight:700}
h1{margin:0 0 10px;font-size:22px;line-height:1.4}
h2{margin:0 0 16px;font-size:18px}
.muted{color:#665d50;line-height:1.9;margin:0 0 18px}
.amount-box{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#111;color:#fff;border-radius:12px;padding:14px;margin:16px 0}
.amount-box span{color:#d8cbb6;font-size:13px}
.amount-box strong{font-size:22px;white-space:nowrap}
.amount-box strong,.money-text{unicode-bidi:isolate}
.amount-box.compact{border-radius:12px}
.details{display:grid;gap:0;margin:16px 0}
.details div{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 4px;border-bottom:1px solid #eadfce}
.details dt{color:#776c5c;font-size:13px}
.details dd{margin:0;text-align:left;direction:ltr;word-break:break-all}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;border:0;border-radius:14px;padding:0 18px;cursor:pointer;font-weight:800;text-align:center;transition:transform .15s ease,box-shadow .15s ease;width:100%}
.btn:active{transform:scale(.98)}
.btn.primary{background:#111;color:#fff;box-shadow:0 12px 28px rgba(0,0,0,.18)}
.btn.secondary{background:#efe5d4;color:#111}
.btn.small{width:auto;min-height:40px;border-radius:10px}
.fineprint{margin:14px 0 0;color:#857968;font-size:12px;text-align:center}
.notice{padding:12px 14px;border-radius:12px;margin:12px 0;line-height:1.8}
.notice.success{background:#eaf7ed;color:#145827}
.notice.error{background:#fff0f0;color:#842020}
.state-card{text-align:center}
.state-card .brand-logo{margin:0 auto 18px}
.state-icon{width:64px;height:64px;margin:0 auto 18px;border-radius:50%;display:grid;place-items:center;font-size:34px;font-weight:900}
.state-icon.ok{background:#e7f8eb;color:#127232}
.state-icon.bad{background:#fff0f0;color:#9d1c1c}
.ref{direction:ltr;background:#f6efe3;border-radius:10px;padding:10px}
.result-card{display:grid;gap:16px;padding:22px}
.result-brand{display:grid;place-items:center}
.result-card .brand-logo{width:112px;margin:0}
.result-status{width:70px;height:70px;margin:0 auto;border-radius:22px;display:grid;place-items:center;border:1px solid rgba(17,17,17,.06);box-shadow:inset 0 -10px 24px rgba(255,255,255,.45),0 12px 32px rgba(44,35,20,.08);font-size:34px;font-weight:900}
.result-status.ok{background:#e7f8eb;color:#127232}
.result-status.bad{background:#fff0f0;color:#9d1c1c}
.result-status .svg-icon{width:34px;height:34px}
.result-copy{display:grid;gap:8px;text-align:center}
.result-copy h1{margin:0;font-size:22px}
.result-copy p{margin:0;color:#332f29;line-height:1.9;font-size:14px;font-weight:700}
.result-summary{display:grid;gap:10px}
.result-summary div{display:grid;grid-template-columns:34px 1fr;grid-template-areas:"icon label" "icon value";align-items:center;column-gap:10px;border:1px solid #eee2d2;border-radius:14px;background:#f8f1e6;padding:12px;text-align:right}
.result-summary div.featured{grid-template-columns:38px 1fr;background:#111;color:#fff;border-color:#111;padding:15px 13px}
.result-row-icon{grid-area:icon;width:34px;height:34px;border-radius:11px;background:#fffaf2;color:#111;display:grid;place-items:center}
.featured .result-row-icon{background:rgba(255,255,255,.12);color:#fff}
.result-row-icon .svg-icon{width:18px;height:18px}
.result-row-label{grid-area:label;color:#7b6f60;font-size:12px;font-weight:800}
.featured .result-row-label{color:#d8cbb6}
.result-summary strong{grid-area:value;direction:ltr;text-align:right;font-size:15px;line-height:1.6;word-break:break-word}
.result-summary .featured strong{font-size:23px;direction:ltr;unicode-bidi:isolate}
.result-action{gap:9px}
.login-card{display:grid;gap:16px}
.login-card .brand-logo{margin:auto}
.staff-app{display:grid;grid-template-columns:220px 1fr;min-height:100vh;background:#f8f3eb}
.staff-side{position:sticky;top:0;height:100vh;background:#111;color:#fff;padding:20px;display:flex;flex-direction:column;gap:22px}
.staff-brand{display:flex;align-items:center;gap:12px;color:#fff;font-weight:900}
.staff-brand img{width:82px;filter:invert(1)}
.staff-side nav{display:grid;gap:8px}
.staff-side nav a{color:#e9dfcf;padding:12px;border-radius:10px}
.staff-side nav a:hover{background:#28231b}
.staff-main{padding:18px;display:grid;gap:16px;align-content:start;min-width:0}
.compact-main{max-width:1180px;width:100%;margin:0 auto}
.staff-head{display:flex;align-items:center;justify-content:space-between;gap:16px}
.staff-head h1{margin:0}
.lookup-form{display:grid;gap:14px;text-align:right;margin-top:18px}
.check-row{display:flex;align-items:center;gap:10px;background:#f8f1e6;border-radius:12px;padding:14px}
.check-row input{width:auto}
.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.stats-grid div,.panel{background:#fff;border:1px solid #e7dccb;border-radius:12px;padding:14px;box-shadow:0 10px 24px rgba(44,35,20,.05)}
.stats-grid span{display:block;color:#766b5c;font-size:13px;margin-bottom:8px}
.stats-grid strong{font-size:24px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.form-grid .wide{grid-column:1/-1}
.form-grid button{grid-column:1/-1}
.table-wrap{overflow:auto;border-radius:12px;border:1px solid #eee3d4}
table{width:100%;border-collapse:collapse;min-width:760px;background:#fff}
th,td{padding:12px;border-bottom:1px solid #eee3d4;text-align:right;vertical-align:top;font-size:13px}
th{background:#f6efe3;color:#5f5548}
.badge{display:inline-flex;align-items:center;min-height:26px;border-radius:999px;background:#eee4d3;color:#554a3d;padding:0 10px;font-size:12px}
.badge.paid{background:#e7f8eb;color:#137133}.badge.pending,.badge.requested{background:#fff4d9;color:#765000}.badge.verify_failed,.badge.request_failed{background:#fff0f0;color:#8c1d1d}
.actions{display:flex;align-items:center;gap:6px;white-space:nowrap}
.actions form{margin:0}
.icon-btn{display:inline-flex;align-items:center;justify-content:center;min-height:32px;border:1px solid #e3d8c7;border-radius:8px;background:#fffaf2;color:#111;padding:0 10px;font-size:12px;font-weight:800;cursor:pointer}
.icon-btn.danger{border-color:#f1c8c8;background:#fff5f5;color:#8c1d1d}
.icon-btn::before{display:inline-flex;align-items:center;justify-content:center;width:16px;margin-left:6px;font-weight:900}
.icon-btn.edit::before{content:"+";transform:rotate(45deg)}
.icon-btn.delete::before{content:"×"}
.icon-btn.disable::before{content:"−"}
.icon-btn.sms::before{content:"›";font-size:18px}
.pager{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:14px;color:#6d6254}
.hint{color:#756a5d;background:#f8f1e6;border-radius:10px;padding:10px;font-size:12px;line-height:1.8}
.muted-action{color:#8a7f70;font-size:12px;font-weight:800}
.filter-bar{display:grid;grid-template-columns:1fr 180px auto;gap:10px;margin-bottom:14px;align-items:end}
.status-form select{min-width:150px;padding:8px 10px;border-radius:8px}
@media (max-width:1024px){
    .pay-shell{min-height:100svh;place-items:center;padding:18px}
    .lookup-page{min-height:100svh;place-items:center;padding:18px}
    .lookup-card{margin:0}
}
@media (max-width:800px){
    body{background:#f5efe4}
    .pay-shell{min-height:100svh;padding:16px;place-items:center}
    .login-shell{padding:0;place-items:stretch}
    .lookup-page{min-height:100svh;padding:16px;place-items:center}
    .lookup-card{margin:0;border-radius:22px;padding:22px 18px}
    .pay-card{width:min(100%,390px);min-height:auto;border:1px solid rgba(0,0,0,.10);border-radius:20px;box-shadow:0 18px 48px rgba(0,0,0,.13);padding:20px;background:rgba(255,252,246,.95)}
    .login-card{width:100%;min-height:100vh;border:0;border-radius:0;box-shadow:none;padding:22px 18px;background:#fffaf2}
    .invoice-card{width:min(100%,390px);min-height:auto;border:1px solid rgba(17,17,17,.08);border-radius:22px;box-shadow:0 24px 60px rgba(44,35,20,.14)}
    .invoice-topbar{padding:15px 16px}
    .invoice-brandmark img{width:66px}
    .invoice-body{padding:18px}
    .invoice-details div{grid-template-columns:120px 1fr}
    .art-mark{height:128px}
    .staff-app{grid-template-columns:1fr}
    .staff-side{position:fixed;left:0;right:0;bottom:0;z-index:20;height:auto;padding:8px 10px;background:#111;border-top:1px solid #2b251d}
    .staff-brand{display:none}
    .staff-side nav{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}
    .staff-side nav a{white-space:nowrap;text-align:center;padding:9px 10px;font-size:12px;border-radius:9px;background:#1b1b1b}
    .staff-main{padding:12px 12px 86px}
    .staff-head{align-items:flex-start}
    .stats-grid,.form-grid{grid-template-columns:1fr}
    .filter-bar{grid-template-columns:1fr;gap:8px}
    .panel{padding:12px;border-radius:14px}
    .table-wrap{border:0;overflow:visible}
    table{min-width:0;border-collapse:separate;border-spacing:0 10px;background:transparent}
    thead{display:none}
    tbody,tr,td{display:block;width:100%}
    tr{background:#fff;border:1px solid #eadfce;border-radius:14px;padding:10px;box-shadow:0 8px 20px rgba(44,35,20,.05)}
    td{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-bottom:1px solid #f0e6d8;padding:9px 4px;text-align:left}
    td:last-child{border-bottom:0}
    td::before{content:attr(data-label);color:#817665;font-size:12px;font-weight:800;text-align:right}
    .actions{justify-content:flex-start;flex-wrap:wrap}
    .pager{font-size:12px}
    .brand-logo{width:96px}
    h1{font-size:22px}
    .amount-box{align-items:flex-start;flex-direction:column}
    .amount-box strong{font-size:20px}
}
