@font-face{
  font-family:"SystemFa";
  src:local("Vazirmatn"),local("Vazir"),local("Tahoma");
  font-display:swap;
}
:root{
  --ink:#102a43;
  --ink-2:#173d5c;
  --muted:#64748b;
  --primary:#0879a8;
  --primary-dark:#075985;
  --navy:#123f7a;
  --sky:#38bdf8;
  --gold:#e1b143;
  --orange:#f28e3c;
  --paper:#ffffff;
  --soft:#f1f7fa;
  --line:#dbe7ef;
  --green:#14845a;
  --red:#b83c47;
  --amber:#a86909;
  --violet:#6757bb;
  --shadow-sm:0 8px 24px rgba(15,56,82,.08);
  --shadow-lg:0 30px 80px rgba(15,56,82,.16);
  --radius:22px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  min-height:100vh;
  font-family:SystemFa,Tahoma,Arial,sans-serif;
  font-feature-settings:"ss01";
  color:var(--ink);
  background:#edf6fa;
  -webkit-font-smoothing:antialiased;
}
button,input{font:inherit}
button{border:0}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
svg{display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.muted{color:var(--muted)}
.btn{
  appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:46px;padding:11px 18px;border-radius:14px;font-weight:900;cursor:pointer;
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease,opacity .2s ease;
}
.btn:hover{transform:translateY(-1px)}
.btn:focus-visible,.mini-btn:focus-visible,.filter-chip:focus-visible,.answer-btn:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid rgba(14,165,233,.28);outline-offset:2px}
.btn:disabled,.mini-btn:disabled,.answer-btn:disabled{opacity:.6;cursor:wait;transform:none}
.btn-primary{background:linear-gradient(135deg,#0b86b6,#075985);color:#fff;box-shadow:0 10px 24px rgba(7,89,133,.22)}
.btn-secondary{background:linear-gradient(135deg,#f4a34e,#e2812e);color:#fff;box-shadow:0 10px 24px rgba(226,129,46,.20)}
.btn-light{background:#fff;color:#173d5c;border:1px solid var(--line)}
.btn-danger{background:#fff1f2;color:#9f2f3d;border:1px solid #f6cdd2}
.btn-block{width:100%}

/* Shared official brand */
.brand-lockup{display:flex;align-items:center;justify-content:center;gap:16px;min-width:0}
.brand-logo{margin:0;width:94px;height:78px;display:grid;place-items:center;flex:0 0 auto}
.brand-logo img{max-width:100%;max-height:100%;object-fit:contain}
.brand-logo--association{width:82px}
.brand-copy{display:grid;text-align:center;gap:4px;line-height:1.5}
.brand-copy span{font-size:13px;color:#4f6f83}
.brand-copy strong{font-size:17px;color:#123f7a}

/* Public invitation */
.invite-page{
  position:relative;overflow:hidden;min-height:100vh;padding:26px 16px 34px;
  background:
    radial-gradient(circle at 12% 8%,rgba(56,189,248,.23),transparent 23rem),
    radial-gradient(circle at 92% 23%,rgba(225,177,67,.15),transparent 25rem),
    linear-gradient(180deg,#eaf8ff 0%,#f8fcfe 45%,#edf6fa 100%);
}
.invite-page::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(8,121,168,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(8,121,168,.035) 1px,transparent 1px);background-size:38px 38px;mask-image:linear-gradient(to bottom,black,transparent 68%);pointer-events:none}
.flight-path{position:absolute;border:2px solid rgba(242,142,60,.23);border-left-color:transparent;border-bottom-color:transparent;border-radius:50%;pointer-events:none}
.flight-path--one{width:580px;height:250px;left:-240px;top:180px;transform:rotate(-13deg)}
.flight-path--two{width:680px;height:310px;right:-330px;bottom:160px;transform:rotate(18deg);border-color:rgba(8,121,168,.16);border-left-color:transparent;border-bottom-color:transparent}
.invite-container{position:relative;z-index:1;width:min(820px,100%);margin:0 auto}
.public-header{padding:8px 12px 22px}
.public-header .brand-lockup{background:rgba(255,255,255,.72);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.9);box-shadow:var(--shadow-sm);border-radius:24px;padding:12px 18px}
.event-hero{text-align:center;padding:18px 18px 28px}
.event-kicker{display:inline-flex;align-items:center;gap:7px;padding:7px 13px;border-radius:999px;background:#dff5ff;color:#075985;font-size:13px;font-weight:900;border:1px solid #c7ebfb}
.event-hero h1{margin:15px 0 8px;font-size:clamp(27px,5vw,43px);line-height:1.45;color:#0d3555;letter-spacing:-.4px}
.event-hero p{margin:0;color:#52758a;font-size:15px;line-height:1.9}
.invitation-panel{position:relative;background:rgba(255,255,255,.96);border:1px solid rgba(197,220,232,.95);border-radius:32px;padding:clamp(22px,5vw,44px);box-shadow:var(--shadow-lg)}
.invitation-panel::before{content:"";position:absolute;top:0;right:42px;left:42px;height:4px;border-radius:0 0 20px 20px;background:linear-gradient(90deg,var(--orange),var(--gold),var(--primary))}
.invite-id-row{display:flex;justify-content:flex-end;align-items:center;gap:9px;margin-bottom:20px}
.invite-id-label{color:var(--muted);font-size:12px}
.invite-id-value,.code-badge{direction:ltr;display:inline-flex;padding:5px 9px;border-radius:9px;background:#eff7fb;color:#075985;border:1px solid #d6eaf3;font-size:13px;font-weight:900}
.personal-greeting{position:relative;display:grid;grid-template-columns:auto 1fr;gap:14px;padding:22px;border-radius:22px;background:linear-gradient(135deg,#f6fbfe,#fffaf1);border:1px solid #e7eef2}
.greeting-mark{font-family:Georgia,serif;color:rgba(225,177,67,.8);font-size:64px;line-height:.75}
.personal-greeting p{margin:0;line-height:2;text-align:justify}
.personal-greeting .salutation{margin-bottom:7px;font-size:18px;color:#234c67}
.personal-greeting .salutation strong{font-size:24px;color:#0d3555}
.event-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:22px 0}
.fact-card{display:flex;align-items:flex-start;gap:12px;padding:16px;border-radius:18px;background:#f5fafc;border:1px solid var(--line);min-height:92px}
.fact-icon{width:40px;height:40px;display:grid;place-items:center;flex:0 0 auto;border-radius:12px;background:#e1f4fb;color:#0879a8}
.fact-icon svg{width:22px;height:22px}
.fact-card div{display:grid;gap:5px}.fact-card span{font-size:12px;color:var(--muted)}.fact-card strong{line-height:1.8;font-size:15px;color:#173d5c}
.special-program{display:flex;gap:14px;align-items:flex-start;padding:18px;border-radius:19px;background:linear-gradient(135deg,#fff8e8,#fffdf7);border:1px solid #f2dca8;margin-bottom:18px}
.special-program__icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;flex:0 0 auto;background:linear-gradient(135deg,var(--gold),var(--orange));color:#fff;font-size:21px;box-shadow:0 9px 22px rgba(225,177,67,.23)}
.special-program div:last-child{display:grid;gap:5px}.special-program span{font-size:12px;color:#84652b}.special-program strong{font-size:17px;color:#5f4516}.special-program small{color:#7c6a45;line-height:1.8}
.agenda-box{border:1px solid var(--line);border-radius:18px;background:#fff;overflow:hidden}
.agenda-box summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:16px 18px;font-weight:900;color:#173d5c}
.agenda-box summary::-webkit-details-marker{display:none}.agenda-box[open] .summary-icon{transform:rotate(45deg)}.summary-icon{font-size:21px;transition:.2s}
.agenda-box ol{margin:0;padding:0 40px 18px 18px}.agenda-box li{line-height:2;color:#46677c;padding-right:5px}
.saved-response{display:flex;align-items:center;gap:11px;margin-top:20px;padding:15px 17px;border-radius:16px;background:#e7f8ef;color:#146443;border:1px solid #c7ecd9}.saved-response>span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#16845b;color:#fff}.saved-response div{display:grid;gap:3px}.saved-response strong{font-size:16px}
.response-panel{margin-top:24px;padding-top:22px;border-top:1px dashed #cbdce5}
.response-heading{display:flex;gap:12px;align-items:flex-start;margin-bottom:15px}.step-number{width:37px;height:37px;display:grid;place-items:center;border-radius:12px;background:#e1f4fb;color:#075985;font-weight:900;flex:0 0 auto}.response-heading h2{margin:0;font-size:19px;color:#173d5c}.response-heading p{margin:5px 0 0;color:var(--muted);line-height:1.8;font-size:13px}
.response-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.answer-btn{display:flex;align-items:center;gap:12px;text-align:right;padding:15px;border-radius:17px;cursor:pointer;border:1px solid transparent;transition:.2s;background:#fff}
.answer-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}.answer-btn__icon{width:43px;height:43px;display:grid;place-items:center;border-radius:14px;font-size:23px;font-weight:900;flex:0 0 auto}.answer-btn span:last-child{display:grid;gap:4px}.answer-btn strong{font-size:15px}.answer-btn small{font-size:12px;font-weight:500;opacity:.82}
.answer-btn--yes{border-color:#bde7d2;color:#126a48;background:#f2fcf7}.answer-btn--yes .answer-btn__icon{background:#16845b;color:#fff}.answer-btn--no{border-color:#dbe4ea;color:#476276;background:#f7fafb}.answer-btn--no .answer-btn__icon{background:#e7eef2;color:#385466}
.public-footer{display:flex;justify-content:center;align-items:center;gap:8px;text-align:center;color:#647f90;padding:22px 8px 4px;font-size:12px;line-height:1.8}.secure-dot{width:8px;height:8px;border-radius:50%;background:#28a06c;box-shadow:0 0 0 4px rgba(40,160,108,.12)}

/* Portal, login, message */
.portal-page,.message-page,.login-page{min-height:100vh;display:grid;place-items:center;padding:22px;background:radial-gradient(circle at 20% 10%,rgba(56,189,248,.22),transparent 25rem),radial-gradient(circle at 90% 80%,rgba(225,177,67,.17),transparent 25rem),#edf6fa}
.portal-card,.message-card{width:min(620px,100%);padding:clamp(25px,5vw,42px);border-radius:30px;background:rgba(255,255,255,.97);border:1px solid #d7e7ef;box-shadow:var(--shadow-lg);text-align:center}.portal-card .brand-lockup,.message-card .brand-lockup{padding-bottom:20px;border-bottom:1px solid #e6eef3}.portal-symbol{font-size:42px;color:var(--gold);margin:18px 0 8px}.portal-card h1{margin:14px 0 10px;font-size:clamp(25px,5vw,36px);line-height:1.5}.portal-card p,.message-card p{color:#52758a;line-height:2}.portal-notice{display:grid;gap:5px;margin-top:22px;padding:16px;border-radius:16px;background:#f0f8fb;border:1px solid #d7eaf2}.portal-notice strong{color:#0d5b82}.portal-notice span{font-size:13px;color:#5e7888}.portal-card footer,.message-foot{margin-top:20px;color:#78909e;font-size:12px}
.login-layout{width:min(980px,100%);display:grid;grid-template-columns:1.1fr .9fr;background:#fff;border-radius:30px;overflow:hidden;border:1px solid #d7e7ef;box-shadow:var(--shadow-lg)}
.login-brand-panel{position:relative;padding:38px;background:linear-gradient(145deg,#e8f8ff,#f7fbfd 55%,#fff8e9);display:flex;flex-direction:column;justify-content:space-between;min-height:540px}.login-brand-panel::after{content:"";position:absolute;width:360px;height:180px;border:2px solid rgba(242,142,60,.22);border-left-color:transparent;border-bottom-color:transparent;border-radius:50%;left:-170px;bottom:80px;transform:rotate(-18deg)}.login-brand-panel .brand-lockup{justify-content:flex-start}.login-brand-copy{position:relative;z-index:1;margin-top:auto}.login-brand-copy h1{font-size:35px;line-height:1.5;margin:14px 0 10px;color:#103b5c}.login-brand-copy p{color:#52758a;line-height:2;max-width:480px}.login-card{padding:46px 38px;display:flex;flex-direction:column;justify-content:center}.login-icon{width:58px;height:58px;border-radius:18px;background:#e1f4fb;color:#075985;display:grid;place-items:center;margin-bottom:15px}.login-icon svg{width:29px;height:29px}.form-eyebrow{color:#0879a8;font-size:12px;font-weight:900}.login-card h2{font-size:27px;margin:6px 0}.login-card>p{margin:0 0 15px}.login-card label{display:grid;gap:7px;margin:8px 0;font-weight:800;font-size:13px}.login-card input,.manual-sms-form input,.search-box input{width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:13px;background:#fff;color:var(--ink);transition:.2s}.login-card input:focus,.manual-sms-form input:focus,.search-box input:focus{border-color:#79c8e5;box-shadow:0 0 0 4px rgba(56,189,248,.12);outline:0}.login-card .btn{margin-top:12px}.login-security{display:flex;align-items:center;justify-content:center;gap:7px;color:#78909e;margin-top:16px;line-height:1.7;text-align:center}.login-security span{color:#28a06c}
.message-card .status-icon{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;margin:22px auto 16px;font-size:36px;font-weight:900}.status-icon.success{background:#dcf7ea;color:#16845b}.status-icon.error{background:#fdeaea;color:#b83a3a}.message-card h1{margin:0;font-size:29px}

/* Dashboard */
.dashboard-page{min-height:100vh;background:#edf4f7}
.dashboard-topbar{position:sticky;top:0;z-index:30;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:14px clamp(16px,3vw,40px);background:rgba(255,255,255,.94);backdrop-filter:blur(16px);border-bottom:1px solid #dbe7ef;box-shadow:0 4px 18px rgba(15,56,82,.06)}
.dashboard-brand{display:flex;align-items:center;gap:14px;min-width:0}.dashboard-logos{display:flex;align-items:center;gap:7px;flex:0 0 auto}.dashboard-logos img{width:52px;height:48px;object-fit:contain}.dashboard-logos img:last-child{width:47px}.dashboard-brand>div:last-child{min-width:0}.dashboard-brand span{font-size:11px;color:#718a99}.dashboard-brand h1{font-size:20px;margin:2px 0;color:#143d5c}.dashboard-brand p{margin:0;color:#718a99;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-actions{display:flex;align-items:center;gap:9px}.dashboard-actions form{margin:0}
.dashboard-content{max-width:1580px;margin:0 auto;padding:20px clamp(14px,2.4vw,34px) 48px}.section-nav{display:flex;gap:8px;overflow:auto;padding:3px 1px 14px;scrollbar-width:none}.section-nav::-webkit-scrollbar{display:none}.section-nav a{white-space:nowrap;padding:8px 13px;border-radius:999px;background:#fff;border:1px solid var(--line);color:#46677c;font-size:12px;font-weight:900}.section-nav a:hover{border-color:#98cee2;color:#075985}
.dashboard-section{scroll-margin-top:100px;margin-bottom:22px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin:7px 0 13px}.section-heading h2{margin:2px 0 0;font-size:22px;color:#173d5c}.section-kicker{font-size:11px;font-weight:900;color:#0879a8}.system-badges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.system-badge{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:11px;color:#526f80}.system-badge i{width:7px;height:7px;border-radius:50%;background:#20a56c;box-shadow:0 0 0 3px rgba(32,165,108,.12)}
.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:11px}.kpi-card{position:relative;overflow:hidden;min-height:125px;padding:18px;border-radius:19px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-sm)}.kpi-card::after{content:"";position:absolute;width:72px;height:72px;border-radius:50%;left:-20px;bottom:-22px;background:var(--kpi-soft)}.kpi-card span{display:block;font-size:12px;color:#607b8c}.kpi-card strong{display:block;font-size:31px;margin:8px 0 4px;color:var(--kpi-color)}.kpi-card small{font-size:11px;color:#8295a0}.kpi-card--blue{--kpi-color:#1468a0;--kpi-soft:#e0f0fa}.kpi-card--cyan{--kpi-color:#08859e;--kpi-soft:#d9f5f8}.kpi-card--violet{--kpi-color:#6757bb;--kpi-soft:#eeeafd}.kpi-card--green{--kpi-color:#16845b;--kpi-soft:#dcf7ea}.kpi-card--red{--kpi-color:#b83c47;--kpi-soft:#fde8ea}.kpi-card--amber{--kpi-color:#a86909;--kpi-soft:#fff2d7}.kpi-card--teal{--kpi-color:#087f78;--kpi-soft:#dcf5f3}.kpi-card--navy{--kpi-color:#123f7a;--kpi-soft:#e4ecf8}
.operation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.operation-card{display:flex;flex-direction:column;gap:13px;padding:19px;border-radius:21px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-sm)}.operation-card h3{margin:0;font-size:17px}.operation-card p{margin:5px 0 0;color:#6a8291;font-size:12px;line-height:1.8}.operation-icon{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;font-size:22px;font-weight:900}.operation-icon--blue{background:#e1f4fb;color:#0879a8}.operation-icon--orange{background:#fff0df;color:#d57520}.operation-icon--green{background:#e2f7ed;color:#16845b}.file-drop{display:grid;place-items:center;text-align:center;gap:4px;padding:20px 12px;border:1px dashed #9fc8d9;border-radius:15px;background:#f8fcfe;cursor:pointer}.file-drop input{position:absolute;width:1px;height:1px;opacity:0}.file-drop span{font-weight:900;color:#285a73}.file-drop small{color:#7c929e}.batch-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:auto 0}.batch-summary span{display:grid;text-align:center;gap:5px;padding:10px 6px;background:#f6fafc;border-radius:12px;border:1px solid #e3edf2}.batch-summary small{font-size:10px;color:#718996}.batch-summary strong{font-size:12px;word-break:break-word}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.form-grid label{display:grid;gap:5px;font-size:11px;font-weight:900;color:#46677c}.form-grid .full-field{grid-column:1/-1}
.table-section{background:#fff;border:1px solid var(--line);border-radius:22px;padding:17px;box-shadow:var(--shadow-sm)}.section-heading--table{align-items:center}.table-search-wrap{display:flex;align-items:center;gap:10px}.search-box{display:flex;align-items:center;gap:8px;min-width:min(420px,42vw);padding-right:12px;border:1px solid var(--line);border-radius:14px;background:#fff}.search-box>span{color:#7892a0;font-size:20px}.search-box input{border:0;box-shadow:none!important;padding-right:0}.visible-count{white-space:nowrap;font-size:11px;color:#718996}.filter-bar{display:flex;gap:7px;overflow:auto;padding:3px 0 13px;scrollbar-width:none}.filter-bar::-webkit-scrollbar{display:none}.filter-chip{white-space:nowrap;padding:8px 12px;border-radius:999px;background:#f2f7fa;color:#557284;border:1px solid transparent;font-size:11px;font-weight:900;cursor:pointer}.filter-chip.active{background:#dff4fc;color:#075985;border-color:#bfe4f3}.data-table-wrap{overflow:auto;border:1px solid #e4edf2;border-radius:15px}.data-table{width:100%;border-collapse:separate;border-spacing:0;min-width:1280px}.data-table th,.data-table td{padding:12px 10px;text-align:right;vertical-align:middle;border-bottom:1px solid #edf2f5;font-size:12px}.data-table th{position:sticky;top:0;z-index:2;background:#f3f8fa;color:#46677c;font-size:11px;white-space:nowrap}.data-table tbody tr{transition:background .15s}.data-table tbody tr:hover{background:#fafdff}.data-table tr:last-child td{border-bottom:0}.data-table td small{display:block;color:#8095a1;margin-top:5px;line-height:1.5}.mobile-value{direction:ltr;display:inline-block;font-variant-numeric:tabular-nums}.row-actions{display:flex;flex-wrap:wrap;gap:5px}.mini-btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);background:#fff;color:#3b5c70;padding:7px 9px;border-radius:9px;cursor:pointer;white-space:nowrap;font-size:11px;font-weight:900}.mini-btn:hover{border-color:#9fc9dc;color:#075985}.mini-btn--primary{background:#e4f5fb;color:#075985;border-color:#c6e7f3}.mini-btn.active{background:#dcf7ea;color:#146443;border-color:#a8dfc3}.sms-send-btn{margin-top:6px}.status-badge{display:inline-flex;align-items:center;justify-content:center;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:900;white-space:nowrap}.status-badge.success{background:#e2f7ed;color:#146443}.status-badge.danger{background:#fde8ea;color:#9e3440}.status-badge.warning{background:#fff1d3;color:#8c5b08}.status-badge.info{background:#e2f3fb;color:#0c678d}.status-badge.neutral{background:#edf2f5;color:#647985}.ltr-cell{direction:ltr;text-align:left!important;max-width:330px;word-break:break-all}.empty-state{text-align:center!important;padding:32px!important;color:#79909d}.sms-table{min-width:1100px}
.alert{display:flex;align-items:flex-start;gap:10px;padding:14px 16px;border-radius:15px;margin:5px 0 14px;line-height:1.8}.alert.success{background:#e4f8ef;color:#146443;border:1px solid #c9ecd9}.alert.error{background:#fde9eb;color:#952e3b;border:1px solid #f4ccd1}.alert.warning{display:block;background:#fff5da;color:#76520d;border:1px solid #f2dfaa}.flash-alert strong{white-space:nowrap}.toast{position:fixed;z-index:100;left:20px;bottom:20px;max-width:min(370px,calc(100vw - 40px));padding:12px 16px;border-radius:13px;background:#173d5c;color:#fff;box-shadow:var(--shadow-lg);opacity:0;transform:translateY(15px);pointer-events:none;transition:.25s}.toast.show{opacity:1;transform:translateY(0)}

@media(max-width:1100px){.operation-grid{grid-template-columns:1fr 1fr}.operation-card:last-child{grid-column:1/-1}.kpi-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:850px){
  .brand-logo{width:75px;height:65px}.brand-logo--association{width:67px}.brand-copy strong{font-size:15px}
  .login-layout{grid-template-columns:1fr}.login-brand-panel{min-height:auto;padding:24px}.login-brand-copy{margin-top:28px}.login-brand-copy h1{font-size:28px}.login-card{padding:30px 24px}
  .dashboard-topbar{align-items:flex-start}.dashboard-brand p{max-width:300px}.dashboard-actions .btn{padding:10px 12px}.kpi-grid{grid-template-columns:repeat(2,1fr)}.operation-grid{grid-template-columns:1fr}.operation-card:last-child{grid-column:auto}.section-heading{align-items:flex-start;flex-direction:column}.system-badges{justify-content:flex-start}.section-heading--table{align-items:stretch}.table-search-wrap{width:100%}.search-box{min-width:0;flex:1}
}
@media(max-width:720px){
  .invite-page{padding:12px 10px 22px}.public-header{padding:3px 0 14px}.public-header .brand-lockup{padding:10px 12px;border-radius:19px;gap:8px}.brand-copy span{font-size:10px}.brand-copy strong{font-size:13px}.event-hero{padding:13px 8px 20px}.event-hero h1{font-size:26px}.event-hero p{font-size:12px}.invitation-panel{padding:21px 15px;border-radius:24px}.invitation-panel::before{right:25px;left:25px}.personal-greeting{grid-template-columns:1fr;padding:17px}.greeting-mark{display:none}.personal-greeting .salutation strong{font-size:21px}.personal-greeting p{text-align:right;font-size:13px}.event-facts{grid-template-columns:1fr;gap:8px}.fact-card{min-height:0;padding:13px}.special-program{padding:14px}.response-actions{grid-template-columns:1fr;position:sticky;bottom:9px;z-index:10;padding:8px;border-radius:18px;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);box-shadow:0 12px 30px rgba(15,56,82,.16);border:1px solid #e2edf2}.answer-btn{padding:12px}.answer-btn__icon{width:38px;height:38px}.public-footer{padding-bottom:5px}
  .dashboard-topbar{position:relative;flex-direction:column;padding:12px 14px}.dashboard-brand p{max-width:calc(100vw - 110px)}.dashboard-actions{width:100%;justify-content:space-between}.dashboard-actions .btn{min-height:40px}.dashboard-content{padding:13px 9px 35px}.section-nav{position:sticky;top:0;z-index:20;background:rgba(237,244,247,.95);backdrop-filter:blur(10px);padding:8px 0}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.kpi-card{min-height:113px;padding:14px}.kpi-card strong{font-size:27px}.table-section{padding:12px;border-radius:18px}.table-search-wrap{flex-direction:column;align-items:stretch}.visible-count{text-align:left}.filter-bar{margin-left:-3px;margin-right:-3px}
  .data-table-wrap{overflow:visible;border:0}.invitees-table,.sms-table{min-width:0;display:block}.data-table thead{display:none}.data-table tbody{display:grid;gap:10px}.data-table tr{display:block;border:1px solid #dfeaf0;border-radius:16px;background:#fff;overflow:hidden;box-shadow:0 7px 20px rgba(15,56,82,.05)}.data-table td{display:grid;grid-template-columns:minmax(95px,36%) 1fr;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px dashed #e0e9ee!important;text-align:left!important;font-size:12px}.data-table td:last-child{border-bottom:0!important}.data-table td::before{content:attr(data-label);font-size:10px;font-weight:900;color:#6f8795;text-align:right}.data-table td>*{justify-self:start}.data-table td>form{margin:0}.data-table td[data-label="نام مدعو"]{background:#f6fafc}.data-table td[data-label="نام مدعو"] strong{color:#173d5c}.ltr-cell{max-width:none;word-break:break-all}.empty-state{display:block!important}.empty-state::before{display:none}.operation-card{padding:16px}.form-grid{grid-template-columns:1fr}.form-grid .full-field{grid-column:auto}.batch-summary{grid-template-columns:1fr 1fr 1fr}.flash-alert{flex-direction:column}.portal-page,.message-page,.login-page{padding:10px}.portal-card,.message-card{border-radius:23px;padding:22px 15px}.portal-card .brand-lockup,.message-card .brand-lockup{gap:6px}
}
@media(max-width:420px){.brand-logo{width:59px;height:54px}.brand-logo--association{width:54px}.brand-copy strong{font-size:11px}.brand-copy span{font-size:9px}.kpi-grid{grid-template-columns:1fr 1fr}.kpi-card span{font-size:10px}.kpi-card small{font-size:9px}.dashboard-logos img{width:43px;height:40px}.dashboard-logos img:last-child{width:39px}.dashboard-brand h1{font-size:17px}.batch-summary{grid-template-columns:1fr}.response-heading h2{font-size:17px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}


/* ===== نسخه ۲: درگاه ثابت ورود با شماره همراه ===== */
.portal-v2-page{
  position:relative;min-height:100vh;overflow:hidden;
  background:
    radial-gradient(circle at 16% 15%,rgba(51,181,224,.16),transparent 28rem),
    radial-gradient(circle at 88% 84%,rgba(242,145,54,.13),transparent 30rem),
    linear-gradient(145deg,#eef8fc 0%,#f8fbfd 48%,#edf4f8 100%);
  color:#183d55;
}
.portal-v2-shell{position:relative;z-index:2;width:min(1180px,calc(100% - 32px));margin:auto;padding:24px 0 22px}
.portal-v2-header{display:flex;justify-content:center;margin-bottom:34px}
.portal-v2-header .brand-lockup{
  width:min(720px,100%);padding:13px 20px;border-radius:26px;
  background:rgba(255,255,255,.78);border:1px solid rgba(255,255,255,.92);
  box-shadow:0 18px 50px rgba(20,70,98,.10);backdrop-filter:blur(16px)
}
.portal-v2-grid{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(340px,.82fr);gap:48px;align-items:center}
.portal-v2-intro{padding:22px 0}
.portal-v2-intro h1{max-width:760px;margin:13px 0 14px;font-size:clamp(34px,5vw,62px);line-height:1.22;color:#113f5c;letter-spacing:-.02em}
.portal-v2-lead{max-width:710px;margin:0;color:#587386;font-size:16px;line-height:2}
.portal-v2-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:27px;max-width:760px}
.portal-v2-facts article{display:grid;gap:6px;padding:14px 16px;border-radius:17px;background:rgba(255,255,255,.72);border:1px solid rgba(202,225,235,.85)}
.portal-v2-facts span{font-size:10px;font-weight:900;color:#77909f}
.portal-v2-facts strong{font-size:13px;color:#284f66;line-height:1.7}
.portal-v2-trust{display:flex;align-items:flex-start;gap:10px;max-width:700px;margin-top:18px;padding:13px 15px;border-radius:15px;background:rgba(218,244,237,.62);color:#356959}
.portal-v2-trust>span{display:grid;place-items:center;width:24px;height:24px;flex:0 0 24px;border-radius:50%;background:#fff;color:#17825b;font-weight:900}
.portal-v2-trust p{margin:0;font-size:12px;line-height:1.8}
.portal-login-card{position:relative;padding:32px;border-radius:30px;background:rgba(255,255,255,.94);border:1px solid #fff;box-shadow:0 28px 70px rgba(17,63,92,.16)}
.portal-login-card::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(135deg,rgba(55,178,221,.32),rgba(242,145,54,.22),transparent 70%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.portal-login-card__icon{display:grid;place-items:center;width:52px;height:52px;margin-bottom:17px;border-radius:18px;background:linear-gradient(145deg,#dff4fb,#f6fbfd);color:#1684af;font-size:25px;box-shadow:inset 0 0 0 1px #d1ebf5}
.portal-login-card__eyebrow{font-size:10px;font-weight:900;color:#0b84b1;letter-spacing:.04em}
.portal-login-card h2{margin:7px 0 8px;font-size:25px;color:#173f59}
.portal-login-card>p{margin:0 0 21px;color:#68818f;font-size:13px;line-height:1.8}
.portal-mobile-form{display:grid;gap:9px}
.portal-mobile-form>label{font-size:12px;font-weight:900;color:#3c5f73}
.portal-mobile-field{display:flex;align-items:center;gap:10px;border:1px solid #cddfe8;border-radius:15px;background:#fbfdfe;padding-right:13px;transition:.2s}
.portal-mobile-field:focus-within{border-color:#3daed7;background:#fff;box-shadow:0 0 0 4px rgba(52,172,216,.12)}
.portal-mobile-field>span{font-size:13px;font-weight:900;color:#88a1af;border-left:1px solid #e2ebef;padding-left:10px}
.portal-mobile-field input{direction:ltr;text-align:left;border:0!important;box-shadow:none!important;background:transparent!important;font-size:18px;font-weight:800;letter-spacing:.04em;padding:15px 12px!important}
.portal-mobile-form small{color:#8095a1;font-size:10px}
.portal-submit-btn{margin-top:7px;gap:10px;min-height:51px;font-size:14px}
.portal-form-alert{display:flex;align-items:flex-start;gap:9px;margin:0 0 15px;padding:11px 12px;border-radius:13px;background:#fff0f1;border:1px solid #f4d0d4;color:#912f3b}
.portal-form-alert>span{display:grid;place-items:center;width:22px;height:22px;flex:0 0 22px;border-radius:50%;background:#fff;font-weight:900}
.portal-form-alert p{margin:0;font-size:11px;line-height:1.8}
.portal-login-card__footer{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:19px;padding-top:16px;border-top:1px solid #edf2f5;color:#718895;font-size:10px}
.portal-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important}
.portal-v2-footer{display:flex;align-items:center;justify-content:space-between;margin-top:45px;padding:14px 4px;color:#738b98;font-size:11px}
.portal-v2-footer a{color:#386f8c;text-decoration:none;font-weight:900}
.portal-sky-orb{position:absolute;border-radius:50%;filter:blur(2px);opacity:.55}
.portal-sky-orb--one{width:260px;height:260px;top:-100px;right:-70px;background:radial-gradient(circle,#9edcf0,transparent 68%)}
.portal-sky-orb--two{width:340px;height:340px;left:-150px;bottom:-130px;background:radial-gradient(circle,#ffd5aa,transparent 68%)}
.portal-flight-line{position:absolute;border:2px solid rgba(43,145,186,.13);border-left-color:transparent;border-bottom-color:transparent;border-radius:50%;transform:rotate(-15deg)}
.portal-flight-line--one{width:600px;height:230px;right:-180px;top:190px}
.portal-flight-line--two{width:730px;height:280px;left:-270px;bottom:40px;transform:rotate(18deg)}
.guest-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0}
.guest-meta>span{display:grid;gap:4px;padding:11px 12px;border:1px solid #e1ebf0;border-radius:13px;background:#f9fcfd}
.guest-meta small{font-size:9px;font-weight:900;color:#8095a1}
.guest-meta strong{font-size:11px;color:#31586e;line-height:1.6}
.special-program--eligible{background:linear-gradient(135deg,#fff5dc,#fffaf0);border-color:#efdca6}
.kpi-card--sky{--kpi-color:#137ca5;--kpi-soft:#e1f4fb}

@media(max-width:900px){
  .portal-v2-grid{grid-template-columns:1fr;gap:24px}
  .portal-v2-intro{text-align:center;padding:0}
  .portal-v2-lead,.portal-v2-facts,.portal-v2-trust{margin-left:auto;margin-right:auto}
  .portal-login-card{width:min(570px,100%);margin:auto}
}
@media(max-width:620px){
  .portal-v2-shell{width:min(100% - 18px,1180px);padding:10px 0 16px}
  .portal-v2-header{margin-bottom:17px}
  .portal-v2-header .brand-lockup{padding:9px 10px;border-radius:18px}
  .portal-v2-intro h1{font-size:29px;margin-top:9px}
  .portal-v2-lead{font-size:13px;line-height:1.9}
  .portal-v2-facts{grid-template-columns:1fr;gap:7px;margin-top:18px;text-align:right}
  .portal-v2-facts article{padding:11px 13px}
  .portal-login-card{padding:23px 16px;border-radius:24px}
  .portal-login-card h2{font-size:21px}
  .portal-v2-footer{margin-top:22px}
  .guest-meta{grid-template-columns:1fr 1fr}
}
@media(max-width:380px){
  .portal-v2-intro h1{font-size:25px}
  .portal-login-card{padding:20px 13px}
  .guest-meta{grid-template-columns:1fr}
}
