:root{
  --bg:#eef2f8;
  --surface:#ffffff;
  --surface-2:#f8fafc;
  --line:#e6ebf2;
  --text:#101828;
  --muted:#667085;
  --muted-2:#98a2b3;

  --home:#255f4d;
  --home-2:#1f8a63;

  --market:#13a35f;
  --market-2:#057a45;
  --market-soft:#eaf8ef;

  --cafe:#7a4b2b;
  --cafe-2:#271611;
  --cafe-soft:#fff4ec;

  --amenity:#0e9f9a;
  --amenity-2:#056b72;
  --amenity-soft:#e8fbfa;

  --service:#1fa66a;
  --service-2:#0d7250;
  --service-soft:#eaf8ef;

  --wallet:#6554d9;
  --wallet-2:#3523a3;
  --wallet-soft:#f2f0ff;

  --orange:#ff7a1a;
  --blue:#2d7ff9;
  --danger:#ef4056;
  --success:#16a34a;

  --radius-lg:30px;
  --radius:24px;
  --radius-sm:18px;
  --shadow:0 18px 45px rgba(15,23,42,.09);
  --shadow-sm:0 10px 24px rgba(15,23,42,.06);
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;min-height:100%}
body{
  direction:rtl;
  font-family:"IRANYekanX","Yekan Bakh","Vazirmatn","IRANSansX","Segoe UI",Tahoma,sans-serif;
  background:radial-gradient(circle at top,#f7fafc 0,#eef2f8 42%,#e7ecf4 100%);
  color:var(--text);
  font-size:15px;
  line-height:1.8;
}
a{text-decoration:none;color:inherit}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
img{max-width:100%}

.app-shell{
  width:min(100%, 480px);
  min-height:100vh;
  margin:0 auto;
  background:#f6f8fb;
  position:relative;
  overflow:hidden;
  padding-bottom:104px;
  box-shadow:0 0 0 1px rgba(15,23,42,.03),0 24px 70px rgba(15,23,42,.12);
}
.page{padding:16px 16px 32px}
.page-full{padding:0 0 32px}
.icon-btn,.ghost-icon{
  width:46px;height:46px;border:0;border-radius:18px;background:rgba(255,255,255,.18);color:#fff;
  display:grid;place-items:center;font-size:20px;backdrop-filter:blur(10px);
}
.icon-btn.dark,.ghost-icon.dark{background:#fff;color:#172033;border:1px solid var(--line);box-shadow:var(--shadow-sm)}
.simple-head{
  display:grid;grid-template-columns:46px 1fr 46px;align-items:center;gap:10px;margin-bottom:16px;
}
.simple-head strong{text-align:center;font-size:20px;font-weight:950}
.simple-head .icon-btn{background:#fff;color:#111827;border:1px solid var(--line);box-shadow:var(--shadow-sm)}
.soft-chip{border:0;border-radius:999px;background:#fff;padding:8px 12px;color:#475467;font-size:12px;font-weight:900;box-shadow:var(--shadow-sm)}
.section-title{display:flex;align-items:center;justify-content:space-between;margin:24px 2px 12px}
.section-title h2{font-size:18px;margin:0;font-weight:950;letter-spacing:-.3px}
.section-title a{font-size:12px;color:#475467;font-weight:900}
.section-title small{display:block;color:var(--muted-2);font-size:11px;font-weight:700}

.app-toast{
  position:fixed;left:50%;bottom:94px;transform:translate(-50%,30px);width:min(440px,calc(100% - 32px));
  background:#101828;color:#fff;border-radius:18px;padding:12px 14px;z-index:90;opacity:0;pointer-events:none;
  transition:.25s ease;box-shadow:0 20px 60px rgba(0,0,0,.22);font-weight:800;text-align:center;font-size:13px
}
.app-toast.show{opacity:1;transform:translate(-50%,0)}

/* home */
.home-hero{
  min-height:238px;margin:-16px -16px 18px;padding:18px 16px 20px;color:#fff;
  background:
    radial-gradient(circle at 18% 24%,rgba(255,255,255,.28),transparent 26%),
    linear-gradient(145deg,var(--home),var(--home-2));
  border-radius:0 0 34px 34px;position:relative;overflow:hidden;
}
.home-hero:after{
  content:"";position:absolute;left:-56px;top:48px;width:160px;height:160px;border-radius:50%;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);
}
.home-top{display:flex;align-items:center;justify-content:space-between;position:relative;z-index:1}
.user-pill{display:flex;align-items:center;gap:12px}
.user-pill img{width:56px;height:56px;border-radius:22px;border:3px solid rgba(255,255,255,.25)}
.user-pill strong{display:block;font-size:18px;font-weight:950}
.user-pill small{display:block;color:rgba(255,255,255,.75);font-size:12px}
.home-main-copy{position:relative;z-index:1;margin-top:22px;display:grid;grid-template-columns:1fr auto;gap:14px;align-items:end}
.home-main-copy h1{font-size:28px;line-height:1.35;margin:0 0 5px;font-weight:950;letter-spacing:-.5px}
.home-main-copy p{font-size:13px;margin:0;color:rgba(255,255,255,.82)}
.weather-bubble{width:84px;height:84px;border-radius:30px;background:rgba(255,255,255,.16);display:grid;place-items:center;text-align:center;backdrop-filter:blur(12px)}
.weather-bubble span{font-size:30px;line-height:1}
.weather-bubble b{display:block;font-size:12px}
.home-stats{position:relative;z-index:1;margin-top:18px;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.home-stats div{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.18);border-radius:20px;padding:10px;text-align:center;backdrop-filter:blur(12px)}
.home-stats b{display:block;font-size:17px;font-weight:950}
.home-stats small{font-size:10px;color:rgba(255,255,255,.72)}

.quick-panel{
  margin-top:-46px;position:relative;z-index:2;background:#fff;border:1px solid var(--line);border-radius:30px;
  padding:14px;box-shadow:var(--shadow)
}
.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}
.quick-card{min-height:92px;border:0;background:#f8fafc;border-radius:22px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center;padding:8px}
.quick-card span{width:42px;height:42px;border-radius:16px;display:grid;place-items:center;font-size:24px}
.quick-card strong{font-size:11px;font-weight:950;line-height:1.4}
.quick-card small{display:none}
.quick-card.market span{background:var(--market-soft)}
.quick-card.cafe span{background:var(--cafe-soft)}
.quick-card.amenities span{background:var(--amenity-soft)}
.quick-card.services span{background:var(--service-soft)}
.quick-card.wallet span{background:var(--wallet-soft)}
.quick-card.messages span{background:#eef4ff}
.quick-card.support span{background:#fff7ed}
.quick-card.profile span{background:#f2f4f7}

.notice-card{
  display:flex;gap:12px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:24px;padding:14px;margin-top:14px;box-shadow:var(--shadow-sm)
}
.notice-card span{width:52px;height:52px;border-radius:18px;background:#e8fbfa;display:grid;place-items:center;font-size:26px}
.notice-card strong{display:block;font-weight:950}
.notice-card p{margin:2px 0 0;color:#667085;font-size:12px}

.live-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.live-card{position:relative;overflow:hidden;border-radius:26px;padding:16px;min-height:146px;color:#fff;box-shadow:var(--shadow)}
.live-card:after{content:"";position:absolute;left:-30px;bottom:-38px;width:120px;height:120px;border-radius:50%;background:rgba(255,255,255,.14)}
.live-card strong{display:block;font-size:18px;font-weight:950;position:relative;z-index:1}
.live-card small{display:block;color:rgba(255,255,255,.76);font-size:11px;position:relative;z-index:1}
.live-card b{display:block;margin-top:22px;font-size:22px;position:relative;z-index:1}
.live-card.wallet{background:linear-gradient(145deg,var(--wallet),var(--wallet-2))}
.live-card.debt{background:linear-gradient(145deg,#172033,#334155)}
.recent-list{display:flex;flex-direction:column;gap:10px}
.compact-order{display:grid;grid-template-columns:72px 1fr auto;gap:12px;align-items:center;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:var(--shadow-sm);padding:12px}
.compact-order strong{display:block;font-weight:950}
.compact-order small{display:block;color:var(--muted);font-size:12px}
.compact-order em{font-style:normal;font-size:11px;color:var(--success);font-weight:900;background:#ecfdf3;border-radius:999px;padding:5px 9px}
.thumb{height:70px;border-radius:20px;background:#f1f5f9}

/* Store */
.page-store{padding:0 16px 32px;background:#f7f8fb;min-height:calc(100vh - 104px)}
.theme-cafe{--accent:var(--cafe);--accent-2:var(--cafe-2);--accent-soft:var(--cafe-soft)}
.theme-market{--accent:var(--market);--accent-2:var(--market-2);--accent-soft:var(--market-soft)}
.store-hero{
  margin:0 -16px 14px;padding:16px 16px 18px;min-height:270px;color:#fff;border-radius:0 0 34px 34px;
  background:linear-gradient(145deg,var(--accent),var(--accent-2));position:relative;overflow:hidden
}
.store-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 15% 18%,rgba(255,255,255,.28),transparent 24%),radial-gradient(circle at 92% 90%,rgba(255,255,255,.12),transparent 24%)}
.theme-cafe .store-hero{background:
  linear-gradient(180deg,rgba(30,16,10,.08),rgba(30,16,10,.68)),
  radial-gradient(circle at 72% 24%,#b77a42 0,#754429 38%,#1b100c 100%);
}
.store-top{display:grid;grid-template-columns:46px 1fr 46px;align-items:center;gap:10px;position:relative;z-index:1}
.store-top strong{text-align:center;font-size:20px;font-weight:950}
.cart-btn{position:relative}
.cart-btn b{position:absolute;top:-4px;right:-4px;background:#ef4444;color:#fff;border-radius:999px;min-width:19px;height:19px;font-size:10px;display:grid;place-items:center}
.store-copy{position:relative;z-index:1;margin-top:50px;max-width:330px}
.store-copy small{display:inline-flex;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.18);padding:7px 11px;border-radius:999px;font-size:12px;font-weight:900}
.store-copy h1{font-size:31px;line-height:1.25;margin:12px 0 8px;font-weight:950}
.store-copy p{font-size:13px;margin:0;color:rgba(255,255,255,.82)}
.store-feature-row{position:absolute;right:16px;left:16px;bottom:16px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;z-index:2}
.store-feature-row div{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.18);border-radius:18px;padding:9px;text-align:center;backdrop-filter:blur(12px)}
.store-feature-row span{display:block;font-size:20px}
.store-feature-row b{font-size:10px;color:rgba(255,255,255,.85)}
.search-box{
  height:56px;border:1px solid var(--line);border-radius:20px;background:#fff;display:flex;align-items:center;gap:8px;padding:0 14px;box-shadow:var(--shadow-sm);margin-bottom:14px
}
.search-box input{border:0;outline:0;width:100%;font-size:14px;background:transparent}
.chips-row,.date-strip,.service-tabs{display:flex;gap:9px;overflow-x:auto;padding:2px 0 10px;scrollbar-width:none}
.chips-row::-webkit-scrollbar,.date-strip::-webkit-scrollbar,.service-tabs::-webkit-scrollbar{display:none}
.chips-row button,.date-strip button{
  white-space:nowrap;border:1px solid var(--line);background:#fff;border-radius:17px;min-height:44px;padding:0 14px;color:#64748b;font-weight:900;box-shadow:var(--shadow-sm)
}
.chips-row button.active,.date-strip button.active{background:var(--accent);color:#fff;border-color:var(--accent)}
.chips-row span{margin-left:6px}
.featured-product{
  display:grid;grid-template-columns:108px 1fr;gap:14px;align-items:center;border-radius:28px;padding:12px;background:var(--accent-soft);position:relative;overflow:hidden;border:1px solid rgba(0,0,0,.03)
}
.featured-product button{grid-column:2;border:0;background:var(--accent);color:#fff;border-radius:17px;height:44px;font-weight:950}
.featured-product h3,.featured-product p{margin:0}
.featured-product p{font-size:12px;color:#667085}
.featured-product strong{display:block;margin-top:4px}
.product-list{display:flex;flex-direction:column;gap:12px}
.product-row{display:grid;grid-template-columns:50px 1fr 92px;gap:12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:25px;background:#fff;box-shadow:var(--shadow-sm)}
.add-mini{width:42px;height:42px;border-radius:16px;border:0;background:var(--accent-soft);color:var(--accent);font-size:24px;font-weight:950}
.product-row strong{display:block;font-weight:950}
.product-row small{font-size:12px;color:var(--muted)}
.product-row b{display:block;margin-top:2px;font-size:13px}
.product-photo{height:92px;border-radius:22px;background:#f1f5f9}
.featured-product .product-photo{height:112px}
.product-photo.coffee,.thumb.coffee{background:linear-gradient(135deg,#3f2215,#c9905e)}
.product-photo.cake{background:linear-gradient(135deg,#ffd6e0,#ae3458)}
.product-photo.latte{background:linear-gradient(135deg,#ead1ae,#775036)}
.product-photo.espresso{background:linear-gradient(135deg,#c8a17c,#2c170e)}
.product-photo.rice{background:linear-gradient(135deg,#fff,#d5c2a0)}
.product-photo.milk{background:linear-gradient(135deg,#e0f2fe,#fff)}
.product-photo.banana{background:linear-gradient(135deg,#fde047,#fef9c3)}
.product-photo.veggies{background:linear-gradient(135deg,#86efac,#22c55e)}
.sticky-cart{
  position:fixed;left:50%;bottom:92px;transform:translateX(-50%);width:min(448px,calc(100% - 32px));
  background:#111827;color:#fff;border-radius:22px;padding:12px 14px;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:12px;box-shadow:0 20px 60px rgba(0,0,0,.22)
}
.sticky-cart small{display:block;color:rgba(255,255,255,.7);font-size:11px}
.sticky-cart strong{font-size:14px}
.sticky-cart button{border:0;border-radius:16px;background:#fff;color:#111827;height:42px;padding:0 16px;font-weight:950}

/* Amenities */
.page-amenities{--accent:var(--amenity);--accent-2:var(--amenity-2);padding:0 16px 32px;background:#f7fafc}
.amenity-head{
  margin:0 -16px 18px;padding:16px 16px 24px;color:#fff;border-radius:0 0 34px 34px;
  background:linear-gradient(145deg,var(--amenity),var(--amenity-2));position:relative;overflow:hidden
}
.amenity-head:after{content:"";position:absolute;left:-44px;top:52px;width:150px;height:150px;border-radius:50%;background:rgba(255,255,255,.11)}
.amenity-head .simple-head{position:relative;z-index:1}
.amenity-head-copy{position:relative;z-index:1;margin-top:24px}
.amenity-head-copy h1{margin:0;font-size:29px;line-height:1.35;font-weight:950}
.amenity-head-copy p{margin:6px 0 0;color:rgba(255,255,255,.78);font-size:13px}
.date-strip button.active{background:var(--amenity);border-color:var(--amenity)}
.amenity-grid{display:grid;grid-template-columns:1fr;gap:14px}
.amenity-card{display:grid;grid-template-columns:126px 1fr;gap:14px;border:1px solid var(--line);border-radius:28px;background:#fff;box-shadow:var(--shadow-sm);padding:12px;align-items:center}
.amenity-photo{height:132px;border-radius:24px;background:#e5e7eb;grid-row:1/3}
.amenity-photo.pool{background:linear-gradient(135deg,#50c7f4,#0e7490)}
.amenity-photo.gym{background:linear-gradient(135deg,#64748b,#111827)}
.amenity-photo.field{background:linear-gradient(135deg,#15803d,#86efac)}
.amenity-photo.hall{background:linear-gradient(135deg,#d6b489,#fff7ed)}
.amenity-card h3{font-size:17px;margin:0;font-weight:950}
.amenity-card small,.amenity-card span{display:block;font-size:12px;color:var(--muted)}
.amenity-card b{display:block;margin-top:7px;font-size:13px}
.amenity-card button{height:42px;border:0;border-radius:16px;background:var(--amenity);color:#fff;font-weight:950}

/* Services */
.page-services{--accent:var(--service);--accent-2:var(--service-2);padding:0 16px 32px;background:#f8faf8}
.service-head{
  min-height:250px;margin:0 -16px 16px;padding:16px;color:#fff;border-radius:0 0 36px 36px;position:relative;overflow:hidden;
  background:radial-gradient(circle at 22% 18%,rgba(255,255,255,.24),transparent 23%),linear-gradient(145deg,var(--service),var(--service-2))
}
.service-head .simple-head{position:relative;z-index:1}
.service-hero{position:relative;z-index:1;margin-top:34px;display:grid;grid-template-columns:1fr auto;gap:14px;align-items:end}
.service-hero h1{margin:0;font-size:31px;line-height:1.25;font-weight:950}
.service-hero p{margin:7px 0 0;color:rgba(255,255,255,.78);font-size:13px}
.service-hero span{width:78px;height:78px;border-radius:28px;background:rgba(255,255,255,.16);display:grid;place-items:center;font-size:42px}
.service-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:16px;position:relative;z-index:1}
.service-steps div{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.18);border-radius:18px;padding:9px;text-align:center}
.service-steps b{display:block;font-size:16px}.service-steps small{font-size:10px;color:rgba(255,255,255,.72)}
.service-tabs{display:grid;grid-template-columns:repeat(3,1fr);overflow:visible;gap:10px}
.service-tabs button{border:1px solid var(--line);background:#fff;border-radius:22px;min-height:88px;font-weight:950;color:#334155;box-shadow:var(--shadow-sm)}
.service-tabs button span{display:block;font-size:27px}
.service-tabs button.active{background:var(--service);color:#fff;border-color:var(--service)}
.request-form{display:flex;flex-direction:column;gap:12px;margin-top:14px}
.request-form label{display:flex;flex-direction:column;gap:7px;font-size:12px;color:var(--muted);font-weight:900}
.request-form textarea,.request-form input,.request-form select{
  min-height:54px;border:1px solid var(--line);border-radius:20px;padding:14px;resize:vertical;outline:0;background:#fff
}
.request-form textarea{min-height:132px}
.upload-row{display:grid;grid-template-columns:1fr 80px 80px;gap:10px}
.upload-row button{border:1px dashed #b9c4d2;background:#fff;border-radius:20px;color:var(--blue);font-weight:950}
.upload-thumb{height:72px;border-radius:20px}
.upload-thumb.pipe{background:linear-gradient(135deg,#e0f2fe,#64748b)}
.upload-thumb.door{background:linear-gradient(135deg,#92400e,#fde68a)}
.priority-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
.priority-row button{height:50px;border:1px solid var(--line);background:#fff;border-radius:18px;font-weight:950}
.priority-row .active{background:#eaf8ef;border-color:#9ee6bd;color:#0d7250}
.priority-row .urgent{color:#ef4444}
.submit-btn{height:58px;border:0;border-radius:20px;background:var(--service);color:#fff;font-weight:950;font-size:16px;box-shadow:0 16px 28px rgba(31,166,106,.22)}

/* profile/wallet/orders/login */
.profile-card{background:linear-gradient(145deg,var(--wallet),var(--wallet-2));border-radius:30px;padding:18px;color:#fff;display:grid;grid-template-columns:46px 72px 1fr;gap:12px;align-items:center;box-shadow:var(--shadow)}
.profile-card img{width:72px;height:72px;border-radius:25px;border:3px solid rgba(255,255,255,.35)}
.profile-card strong{font-size:18px;font-weight:950}
.profile-card small{display:block;opacity:.85;font-size:12px}
.profile-wallet,.wallet-hero{margin-top:14px;background:linear-gradient(145deg,#17204a,#4c2bd9);border-radius:30px;padding:18px;color:#fff;box-shadow:var(--shadow)}
.profile-wallet{display:grid;grid-template-columns:56px 1fr;gap:12px;align-items:center}
.profile-wallet span{font-size:36px}
.profile-wallet button,.wallet-hero button{grid-column:1/-1;height:44px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.10);color:#fff;border-radius:16px;font-weight:900}
.profile-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:18px}
.profile-grid a{border:1px solid var(--line);border-radius:22px;background:#fff;min-height:92px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;box-shadow:var(--shadow-sm)}
.profile-grid span{font-size:25px}
.profile-grid strong{font-size:11px;text-align:center}
.wallet-hero strong{display:block;font-size:30px;margin:6px 0 12px}
.transaction-list{display:flex;flex-direction:column;gap:10px}
.transaction-list article{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:10px;padding:13px;border:1px solid var(--line);border-radius:23px;background:#fff;box-shadow:var(--shadow-sm)}
.transaction-list span{width:34px;height:34px;border-radius:13px;display:grid;place-items:center}
.transaction-list .success{background:#dcfce7;color:#15803d}
.transaction-list .danger{background:#fee2e2;color:#dc2626}
.order-list{display:flex;flex-direction:column;gap:12px}
.order-card{display:grid;grid-template-columns:auto 1fr 86px;gap:12px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:var(--shadow-sm)}
.order-card .status{background:#ecfdf5;color:#15803d;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:950}
.order-card strong{display:block;font-weight:950}
.order-card small{font-size:11px;color:var(--muted)}
.order-card b{display:block;font-size:12px}
.thumb.pool{background:linear-gradient(135deg,#38bdf8,#0e7490)}
.thumb.service{background:linear-gradient(135deg,#fed7aa,#94a3b8)}

.bottom-nav{
  position:fixed;left:50%;bottom:0;transform:translateX(-50%);
  width:min(100%,480px);min-height:88px;background:rgba(255,255,255,.92);backdrop-filter:blur(18px);
  border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(5,1fr);padding:8px 8px max(8px,env(safe-area-inset-bottom));z-index:80
}
.bottom-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border-radius:20px;color:#7b8491}
.bottom-nav span{font-size:23px;line-height:1}
.bottom-nav b{font-size:10px}
.bottom-nav a.is-active{background:#f1edff;color:var(--wallet)}

.guest-shell{min-height:100vh;display:grid;place-items:center;padding:24px}
.login-card{width:min(100%,380px);background:#fff;border-radius:30px;padding:26px;box-shadow:var(--shadow);text-align:center}
.brand-mark{width:76px;height:76px;border-radius:26px;margin:0 auto 14px;background:linear-gradient(145deg,var(--market),var(--amenity));color:#fff;display:grid;place-items:center;font-size:34px;font-weight:950}
.login-card h1{margin:0;font-weight:950}
.login-card p{font-size:13px;color:var(--muted)}
.login-card label{text-align:right;display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:12px;font-weight:900}
.login-card input{height:56px;border:1px solid var(--line);border-radius:20px;padding:0 14px}
.login-card button{width:100%;height:56px;border:0;border-radius:20px;background:var(--market);color:#fff;font-weight:950;margin-top:14px}
.login-card a{display:block;margin-top:14px;color:var(--wallet);font-weight:900}

.empty-state{text-align:center;padding:80px 20px}

@media(min-width:900px){
  .app-shell{width:min(100%,1180px)}
  .page{padding:26px}
  .page-store,.page-amenities,.page-services{padding-left:26px;padding-right:26px}
  .home-hero{margin-left:-26px;margin-right:-26px}
  .quick-grid{grid-template-columns:repeat(8,1fr)}
  .live-grid{grid-template-columns:repeat(4,1fr)}
  .product-list{display:grid;grid-template-columns:repeat(2,1fr)}
  .amenity-grid{grid-template-columns:repeat(2,1fr)}
  .bottom-nav{width:min(100%,1180px)}
  .sticky-cart{width:min(640px,calc(100% - 32px))}
}
@media(max-width:390px){
  .quick-grid{grid-template-columns:repeat(3,1fr)}
  .profile-grid{grid-template-columns:repeat(3,1fr)}
  .amenity-card{grid-template-columns:1fr}.amenity-photo{grid-row:auto}
}

/* v0.3.0 operational layer */
.page-alert{margin:12px 0;padding:12px 14px;border-radius:18px;font-size:13px;font-weight:900}
.page-alert.success{background:#ecfdf5;color:#047857;border:1px solid #bbf7d0}
.page-alert.error{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}
.admin-body{background:#eef2f8}
.admin-shell{width:min(100%,1240px);margin:0 auto;min-height:100vh;padding:18px}
.admin-layout{display:grid;grid-template-columns:260px 1fr;gap:18px}
.admin-sidebar{background:#101828;color:#fff;border-radius:30px;padding:18px;min-height:calc(100vh - 36px);position:sticky;top:18px}
.admin-brand{display:flex;align-items:center;gap:12px;margin-bottom:20px}
.admin-brand span{width:48px;height:48px;border-radius:18px;background:#16a34a;display:grid;place-items:center;font-size:24px;font-weight:950}
.admin-brand strong{display:block}.admin-brand small{color:rgba(255,255,255,.65)}
.admin-nav{display:flex;flex-direction:column;gap:8px}
.admin-nav a{min-height:48px;border-radius:16px;padding:0 12px;display:flex;align-items:center;gap:8px;color:rgba(255,255,255,.75);font-weight:900}
.admin-nav a.is-active,.admin-nav a:hover{background:rgba(255,255,255,.10);color:#fff}
.admin-main{min-width:0}
.admin-topbar{height:72px;background:#fff;border:1px solid var(--line);border-radius:26px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;box-shadow:var(--shadow-sm);margin-bottom:18px}
.admin-topbar h1{font-size:22px;margin:0;font-weight:950}
.admin-card{background:#fff;border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow-sm);padding:18px;margin-bottom:16px}
.admin-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:16px}
.admin-stat{background:#fff;border:1px solid var(--line);border-radius:24px;padding:16px;box-shadow:var(--shadow-sm)}
.admin-stat small{color:var(--muted);font-size:12px}.admin-stat strong{display:block;font-size:24px;font-weight:950}
.admin-table{width:100%;border-collapse:separate;border-spacing:0 8px}
.admin-table th{font-size:12px;text-align:right;color:var(--muted);padding:8px 10px}
.admin-table td{background:#f8fafc;padding:12px 10px;font-size:13px}
.admin-table td:first-child{border-radius:0 16px 16px 0}.admin-table td:last-child{border-radius:16px 0 0 16px}
.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.admin-form{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.admin-form label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--muted);font-weight:900}
.admin-form input,.admin-form select,.admin-form textarea{height:50px;border:1px solid var(--line);border-radius:16px;padding:0 12px;background:#fff}
.admin-form textarea{height:96px;padding-top:12px}
.admin-form button{grid-column:1/-1;height:52px;border:0;border-radius:18px;background:#16a34a;color:#fff;font-weight:950}
.status-pill{display:inline-flex;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:950;background:#eef4ff;color:#2563eb}
.backup-code{direction:ltr;text-align:left;display:block;background:#101828;color:#d1e7ff;border-radius:18px;padding:14px;overflow:auto}
@media(max-width:900px){.admin-layout{grid-template-columns:1fr}.admin-sidebar{position:static;min-height:auto}.admin-stats{grid-template-columns:repeat(2,1fr)}.admin-grid,.admin-form{grid-template-columns:1fr}.admin-table{display:block;overflow:auto}}

/* v0.4.0 security/admin improvements */
.login-card form{display:flex;flex-direction:column;gap:12px}
.mini-form{display:grid;grid-template-columns:1fr 110px auto;gap:8px;align-items:center}
.mini-form select,.mini-form input{height:38px;border:1px solid var(--line);border-radius:12px;padding:0 8px;background:#fff;min-width:0}
.mini-form button,.admin-primary{height:38px;border:0;border-radius:12px;background:#16a34a;color:#fff;font-weight:950;padding:0 12px}
.admin-primary{height:50px;border-radius:16px}
.admin-form button{cursor:pointer}
.admin-topbar .soft-chip{background:#f1edff;color:#4c2bd9}
@media(max-width:700px){.mini-form{grid-template-columns:1fr}.admin-table td{min-width:120px}}


/* v0.4.1 force update marker */
.version-badge{
  margin:0 0 10px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:32px;
  padding:0 12px;
  border-radius:999px;
  background:#111827;
  color:#fff;
  font-size:12px;
  font-weight:950;
  box-shadow:0 10px 24px rgba(15,23,42,.14);
}

/* v1.2.0 modular API / integration panel */
.integration-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.integration-box{border:1px solid var(--line);background:#f8fafc;border-radius:20px;padding:15px}
.integration-box strong{display:block;font-size:14px}.integration-box small{display:block;color:var(--muted);margin-top:5px}
.integration-box code,.api-key-reveal code{direction:ltr;display:inline-block}
.api-key-reveal{background:#0f172a;color:#fff;border-radius:20px;padding:16px}
.api-key-reveal code{display:block;background:#020617;padding:12px;border-radius:12px;overflow:auto;color:#c7f9dd;margin-top:8px}
@media(max-width:900px){.integration-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.integration-grid{grid-template-columns:1fr}}

/* v2.1 main modules */
.admin-filter-row{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 16px}
.admin-table code{direction:ltr;display:inline-block}
.admin-form textarea{min-height:96px}
.admin-form select{height:48px;border:1px solid var(--line);border-radius:14px;padding:0 12px;background:#fff}
.mini-form{grid-template-columns:minmax(130px,1fr) minmax(130px,1fr) auto}
@media(max-width:700px){.mini-form{grid-template-columns:1fr}.admin-form{grid-template-columns:1fr!important}}

/* v2.2 residents + service workflow */
.service-mini-form{grid-template-columns:130px 110px 120px 100px 160px auto!important;gap:6px}
.service-mini-form input,.service-mini-form select{height:38px;font-size:12px}
@media(max-width:900px){.service-mini-form{grid-template-columns:1fr!important}}

/* v2.4.1 Vazirmatn activation for admin */
:root{
  --font-ui:"Vazirmatn","IRANSans","IranSans","Yekan Bakh","IRANYekanX","Vazir",Tahoma,Arial,sans-serif;
}
html,body,.admin-shell,.admin-main,.admin-card,.admin-nav,button,input,textarea,select,table{
  font-family:var(--font-ui)!important;
}

/* v2.5 content admin */
.admin-table small{color:#777}

/* v2.6 banner admin */
.admin-table td small{word-break:break-all}

/* v2.7 admin center */
.admin-hero{
  border-radius:24px;padding:24px;color:#fff;background:linear-gradient(135deg,#6d44f2,#3520a8);
  display:flex;align-items:center;justify-content:space-between;gap:16px;box-shadow:0 18px 40px rgba(70,45,180,.18);margin-bottom:18px
}
.admin-hero span{font-size:12px;opacity:.8}
.admin-hero h1{margin:8px 0;font-size:24px}
.admin-hero p{margin:0;opacity:.82}
.admin-hero-version{width:74px;height:74px;border-radius:24px;background:rgba(255,255,255,.16);display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:900}
.admin-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.module-card{
  position:relative;border:1px solid #eee;border-radius:18px;background:#fff;padding:14px;display:grid;grid-template-columns:46px 1fr;gap:12px;box-shadow:0 8px 22px rgba(20,20,45,.035)
}
.module-card.inactive{opacity:.72;background:#fafafa}
.module-icon{width:46px;height:46px;border-radius:16px;background:#f4f1ff;display:flex;align-items:center;justify-content:center;font-size:22px}
.module-card h3{margin:0 0 6px;font-size:15px}
.module-card p{margin:0;color:#666;line-height:1.8;font-size:12px}
.module-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.module-actions a,.quick-admin-links a,.soft-chip{
  display:inline-flex;align-items:center;justify-content:center;min-height:34px;border-radius:12px;background:#f5f3ff;color:#4b2ccf;text-decoration:none;font-weight:800;font-size:12px;padding:0 10px;border:0
}
.module-status{position:absolute;top:12px;left:12px;border-radius:999px;background:#eefbf3;color:#138a44;font-size:10px;font-weight:900;padding:4px 8px}
.module-card.inactive .module-status{background:#fff7e6;color:#9a6200}
.quick-admin-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.setting-field{display:flex;flex-direction:column;gap:6px;border:1px solid #eee;border-radius:16px;padding:12px;background:#fff}
.setting-field span{font-weight:900}
.setting-field small{color:#888}
.setting-field input,.setting-field select,.setting-field textarea{border:1px solid #e7e7ee;border-radius:12px;min-height:42px;padding:8px 10px;background:#fff}
.setting-field textarea{min-height:86px}
.color-row{display:grid;grid-template-columns:70px 1fr;gap:8px}
.color-row input[type=color]{padding:2px}
.sticky-save{position:sticky;bottom:14px;display:flex;justify-content:flex-end;margin:16px 0;z-index:10}
.sticky-save button{height:46px;border:0;border-radius:16px;background:#6d44f2;color:#fff;font-weight:900;padding:0 24px;box-shadow:0 12px 26px rgba(80,50,210,.24)}
.status-pill.ok{background:#eefbf3;color:#138a44}
.status-pill.warn{background:#fff7e6;color:#9a6200}
@media(max-width:900px){
  .module-grid,.settings-grid,.quick-admin-links{grid-template-columns:1fr}
  .admin-hero{align-items:flex-start;flex-direction:column}
}

/* v2.8 role based admin panels */
.panel-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:18px}
.role-panel-card{
  border-radius:24px;padding:18px;color:#fff;box-shadow:0 16px 34px rgba(40,30,90,.12);position:relative;overflow:hidden
}
.role-panel-card:after{content:"";position:absolute;inset:auto -30px -45px auto;width:150px;height:150px;border-radius:50%;background:rgba(255,255,255,.12)}
.role-panel-card.purple{background:linear-gradient(135deg,#6d44f2,#3420a8)}
.role-panel-card.green{background:linear-gradient(135deg,#17b26a,#087849)}
.role-panel-card.blue{background:linear-gradient(135deg,#2582ff,#154fc7)}
.role-panel-card.coffee{background:linear-gradient(135deg,#8b5a33,#4b2b18)}
.role-panel-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.role-panel-top span{font-size:34px}
.role-panel-top a{height:34px;border-radius:999px;background:rgba(255,255,255,.18);color:#fff;text-decoration:none;font-size:12px;font-weight:900;padding:0 12px;display:inline-flex;align-items:center}
.role-panel-card h2{margin:16px 0 8px;font-size:20px}
.role-panel-card p{font-size:12px;line-height:1.9;opacity:.86;margin:0}
.role-panel-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:16px;position:relative;z-index:2}
.role-panel-stats div{background:rgba(255,255,255,.13);border-radius:16px;padding:10px}
.role-panel-stats small{display:block;font-size:9px;opacity:.78;direction:ltr;text-align:left}
.role-panel-stats strong{display:block;font-size:16px;margin-top:4px}
.panel-hero.coffee{background:linear-gradient(135deg,#8b5a33,#4b2b18)}
.panel-hero.green{background:linear-gradient(135deg,#17b26a,#087849)}
.panel-hero.blue{background:linear-gradient(135deg,#2582ff,#154fc7)}
.admin-table small{color:#777;line-height:1.8}
@media(max-width:900px){
  .panel-grid{grid-template-columns:1fr}
  .role-panel-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* v3.0 all-in-one admin */
.admin-topbar-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.compact-admin-nav{gap:4px}
.nav-group-title{font-size:10px;color:#8b8b9a;font-weight:900;margin:13px 6px 4px}
.workspace-hero{
  border-radius:26px;padding:24px;background:linear-gradient(135deg,#151528,#3d2dd6);
  color:#fff;display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px;box-shadow:0 18px 42px rgba(50,40,160,.18)
}
.workspace-hero span{font-size:12px;opacity:.78}
.workspace-hero h1{margin:8px 0;font-size:25px}
.workspace-hero p{margin:0;opacity:.82;line-height:1.8}
.workspace-user{min-width:160px;background:rgba(255,255,255,.13);border-radius:20px;padding:14px;text-align:center}
.workspace-user b{display:block}.workspace-user small{display:block;margin-top:6px;direction:ltr}
.workspace-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:16px}
.workspace-panel{
  min-height:132px;border-radius:22px;color:#fff;text-decoration:none;padding:14px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 12px 28px rgba(30,20,100,.09)
}
.workspace-panel span{font-size:28px}
.workspace-panel strong{font-size:14px}
.workspace-panel small{font-size:10px;line-height:1.7;opacity:.83}
.workspace-panel.purple{background:linear-gradient(135deg,#6d44f2,#3520a8)}
.workspace-panel.green{background:linear-gradient(135deg,#17b26a,#087849)}
.workspace-panel.blue{background:linear-gradient(135deg,#2582ff,#154fc7)}
.workspace-panel.coffee{background:linear-gradient(135deg,#8b5a33,#4b2b18)}
.workspace-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.compact-table th,.compact-table td{font-size:11px;padding:9px 8px}
.forbidden-card{max-width:620px;margin:auto;text-align:center;padding:40px!important}
.setting-field small{display:block;margin-top:4px}
@media(max-width:1200px){.workspace-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:850px){.workspace-grid,.workspace-columns{grid-template-columns:1fr}.workspace-hero{flex-direction:column;align-items:flex-start}.workspace-user{width:100%;box-sizing:border-box}}

/* v3.1 building management */
.building-hero{
  border-radius:28px;padding:26px;background:linear-gradient(135deg,#1a2440,#6d44f2);
  color:#fff;display:flex;align-items:center;justify-content:space-between;gap:18px;box-shadow:0 20px 45px rgba(70,45,180,.18);margin-bottom:18px
}
.building-hero span{font-size:12px;opacity:.82}
.building-hero h1{font-size:27px;margin:8px 0}
.building-hero p{margin:0;opacity:.85;line-height:1.9}
.building-hero-icon{width:86px;height:86px;border-radius:26px;background:rgba(255,255,255,.16);display:flex;align-items:center;justify-content:center;font-size:40px}
.admin-table small{color:#777;line-height:1.8}
.admin-table strong{white-space:nowrap}
@media(max-width:850px){.building-hero{flex-direction:column;align-items:flex-start}.building-hero-icon{width:64px;height:64px;font-size:30px}}

/* v3.2 lobby suite */
.lobby-hero{
  border-radius:28px;padding:26px;background:linear-gradient(135deg,#0f172a,#2563eb);
  color:#fff;display:flex;align-items:center;justify-content:space-between;gap:18px;box-shadow:0 20px 45px rgba(37,99,235,.18);margin-bottom:18px
}
.lobby-hero span{font-size:12px;opacity:.82}
.lobby-hero h1{font-size:27px;margin:8px 0}
.lobby-hero p{margin:0;opacity:.85;line-height:1.9}
.lobby-hero-icon{width:86px;height:86px;border-radius:26px;background:rgba(255,255,255,.16);display:flex;align-items:center;justify-content:center;font-size:40px}
@media(max-width:850px){.lobby-hero{flex-direction:column;align-items:flex-start}.lobby-hero-icon{width:64px;height:64px;font-size:30px}}

/* v3.5 amenities admin */
.admin-form textarea{min-height:82px}
.admin-table small{display:inline-block;line-height:1.8}

/* v3.5.1 iOS Vazirmatn font enforcement */
html,body,body *,button,input,textarea,select,option{
  font-family:var(--font-ui,"Vazirmatn",-apple-system,BlinkMacSystemFont,"SF Arabic","Geeza Pro",Tahoma,Arial,sans-serif)!important;
}
@supports (-webkit-touch-callout: none){
  html,body,body *,button,input,textarea,select,option{
    font-family:"Vazirmatn",-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Arabic","Geeza Pro","Helvetica Neue",Tahoma,Arial,sans-serif!important;
    -webkit-font-smoothing:antialiased;
  }
}

/* v3.7.0 complete services admin */
.service-admin-form{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:6px!important;
  min-width:180px;
}
.service-admin-form input,
.service-admin-form select{
  min-height:34px;
}

/* v3.9.0 residents/admin */
.admin-table small{line-height:1.8}
.workspace-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:900px){.workspace-columns{grid-template-columns:1fr}}

/* v3.9.7 service workflow admin */
.workflow-notices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.workflow-notices article{border:1px solid #e5e7eb;border-radius:18px;background:#fff;padding:12px}
.workflow-notices p{font-size:12px;color:#64748b;line-height:1.8;margin:0 0 6px}
.workflow-mini{display:grid!important;gap:6px!important;min-width:160px!important}
.workflow-mini input,.workflow-mini select{min-height:34px!important}
@media(max-width:900px){.workflow-notices{grid-template-columns:1fr}}

/* v4.0.0 service management panel */
.service-manage-tabs{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin:0 0 16px;
}
.service-manage-tabs a{
  min-height:46px;
  border-radius:16px;
  background:#fff;
  border:1px solid #e5e7eb;
  display:flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  color:#2563eb;
  font-weight:900;
  font-size:12px;
}
.service-admin-thumb{
  width:70px;
  height:58px;
  object-fit:cover;
  border-radius:16px;
  background:#f3f4f6;
}
.service-builder-table small{
  display:block;
  color:#64748b;
  line-height:1.8;
  max-width:320px;
}
.danger-btn{
  border:0;
  border-radius:12px;
  background:#fee2e2;
  color:#dc2626;
  min-height:34px;
  padding:0 12px;
  font-family:inherit;
  font-weight:900;
}
@media(max-width:900px){
  .service-manage-tabs{grid-template-columns:1fr 1fr}
}

/* v4.0.1 Admin upload preview */
.image-picker,.js-image-picker{
  margin-top:8px;
  width:100%;
  min-height:38px;
  border:1px dashed #cbd5e1;
  border-radius:12px;
  padding:8px;
  background:#f8fafc;
}
.image-preview,.js-image-preview{
  width:110px;
  height:82px;
  object-fit:cover;
  border-radius:16px;
  background:#f3f4f6;
  border:1px solid #e5e7eb;
  margin-top:8px;
  display:none;
}
.image-preview[src]:not([src=""]),.image-preview.show,.js-image-preview.show{
  display:block;
}
.mobile-auth-page{
  min-height:100vh;
  background:#f6f7fb;
  display:grid;
  place-items:center;
  padding:24px;
  font-family:Vazirmatn,Tahoma,Arial,sans-serif;
}
.mobile-auth-card{
  width:min(430px,100%);
  background:#fff;
  border-radius:28px;
  padding:26px;
  box-shadow:0 18px 44px rgba(20,20,40,.08);
  text-align:center;
}
.mobile-auth-logo{font-size:44px;margin-bottom:12px}
.mobile-auth-card h1{margin:0 0 8px;font-size:24px}
.mobile-auth-card p{color:#64748b;line-height:1.8}
.mobile-auth-card label{display:block;text-align:right;margin:14px 0 8px;font-weight:900}
.mobile-auth-card input{width:100%;height:48px;border:1px solid #e5e7eb;border-radius:16px;padding:0 14px;font-family:inherit}
.mobile-auth-card button{width:100%;height:50px;border:0;border-radius:17px;background:#0b84c6;color:#fff;font-family:inherit;font-weight:950;margin-top:12px}
.code-box{margin-top:14px}
.code-box small{display:block;color:#ef4444;margin-top:10px;font-weight:900}

/* v4.0.3 User panel and SMS admin */
.user-panel-page{min-height:100vh;background:#f6f7fb;padding:24px;font-family:Vazirmatn,Tahoma,Arial,sans-serif}
.user-panel-card{max-width:760px;margin:0 auto;background:#fff;border-radius:28px;padding:24px;box-shadow:0 18px 44px rgba(20,20,40,.08)}
.user-panel-head{display:flex;gap:16px;align-items:center;margin-bottom:20px}
.avatar-clean.large{width:88px;height:88px;border-radius:50%;background:#eef7ff;display:grid;place-items:center;font-size:42px;overflow:hidden}
.avatar-clean.large img{width:100%;height:100%;object-fit:cover}
.panel-profile-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.panel-profile-form label{display:block;font-weight:900;color:#334155}
.panel-profile-form input,.panel-profile-form textarea{width:100%;margin-top:8px;min-height:46px;border:1px solid #e5e7eb;border-radius:14px;padding:0 12px;font-family:inherit}
.panel-profile-form textarea{min-height:96px;padding:12px}
.panel-profile-form button{grid-column:1/-1;height:50px;border:0;border-radius:16px;background:#0b84c6;color:#fff;font-family:inherit;font-weight:950}
.alert{border-radius:14px;padding:10px 12px;margin-bottom:12px;font-weight:900}
.alert.success{background:#dcfce7;color:#166534}
.alert.error{background:#fee2e2;color:#991b1b}
@media(max-width:700px){.panel-profile-form{grid-template-columns:1fr}.user-panel-page{padding:12px}.user-panel-card{padding:16px}}

/* v4.0.4 Standalone login icon/popup */
.auth-popup-standalone{
  min-height:100vh;
  background:#f6f7fb;
  display:grid;
  place-items:center;
  align-content:center;
  gap:14px;
  font-family:Vazirmatn,Tahoma,Arial,sans-serif;
}
.login-only-icon{
  width:84px;
  height:84px;
  border:0;
  border-radius:30px;
  background:#0b84c6;
  color:#fff;
  font-size:38px;
  box-shadow:0 18px 44px rgba(11,132,198,.28);
}
.auth-popup-standalone p{color:#64748b;font-weight:900}
.unified-auth-overlay{
  position:fixed;inset:0;z-index:3000;background:rgba(15,23,42,.42);backdrop-filter:blur(8px);
  display:none;align-items:center;justify-content:center;padding:14px;
}
.unified-auth-overlay.show{display:flex}
.unified-auth-popup{
  width:min(430px,100%);border-radius:30px;background:#fff;box-shadow:0 28px 80px rgba(15,23,42,.24);padding:22px;position:relative;text-align:center;
}
.unified-auth-close{position:absolute;top:12px;left:12px;width:38px;height:38px;border:0;border-radius:14px;background:#f1f5f9;font-size:24px}
.unified-auth-icon{width:74px;height:74px;margin:4px auto 12px;border-radius:26px;background:#eef7ff;color:#0b84c6;display:grid;place-items:center;font-size:34px}
.auth-step{display:none}.auth-step.active{display:block}
.unified-auth-popup input{width:100%;height:52px;border:1px solid #e5e7eb;border-radius:18px;padding:0 14px;font-family:inherit;margin-bottom:10px}
.unified-auth-popup button:not(.unified-auth-close){width:100%;min-height:50px;border:0;border-radius:18px;background:#0b84c6;color:#fff;font-family:inherit;font-weight:950;margin-top:8px}
.auth-mobile-summary{min-height:42px;padding:8px 10px;border-radius:16px;background:#f8fafc;display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.auth-mobile-summary button{width:auto!important;min-height:32px!important;padding:0 12px!important;margin:0!important;background:#e0f2fe!important;color:#0369a1!important}
.new-user-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}
#devCodeHint{display:block;color:#ef4444;font-weight:950;margin-bottom:10px}

/* v4.0.5 SMS admin helper */
.admin-table small{
  word-break:break-word;
}

/* v4.1.0 reference mobile redesign admin-safe additions */
.preview-reference-note{
  border-radius:18px;
  background:#f8fafc;
  border:1px solid #eef1f6;
  padding:12px;
}

/* v4.1.1 standalone auth popup fix */
.unified-auth-popup .auth-phone-summary-card{
  position:relative;
  display:grid;
  grid-template-columns:1fr auto;
  grid-template-areas:"label btn" "phone btn";
  align-items:center;
  gap:3px 10px;
  width:100%;
  box-sizing:border-box;
  min-height:76px;
  padding:13px 15px;
  margin:0 0 14px;
  border-radius:22px;
  background:#f7f9fc;
  border:1px solid #edf0f5;
  text-align:right;
}
.unified-auth-popup .auth-phone-summary-card small{grid-area:label;color:#7b8496;font-size:11px;font-weight:850}
.unified-auth-popup .auth-phone-summary-card strong{grid-area:phone;direction:ltr;text-align:right;color:#111827;font-size:18px;font-weight:950;white-space:nowrap}
.unified-auth-popup .auth-phone-summary-card button,
.unified-auth-popup #changeMobileBtn{
  grid-area:btn!important;width:auto!important;min-width:92px!important;max-width:116px!important;min-height:40px!important;height:40px!important;
  padding:0 12px!important;margin:0!important;border-radius:15px!important;background:#e9f5fd!important;color:#168dcc!important;border:0!important;font-size:12px!important;font-weight:950!important;
}
.unified-auth-popup .auth-code-label{display:block;text-align:right;color:#606a7a;font-size:12px;font-weight:950;margin:0 4px 7px}
.unified-auth-popup .auth-code-input{height:56px!important;text-align:center!important;direction:ltr!important;font-size:22px!important;letter-spacing:8px!important;font-weight:950!important}
.unified-auth-popup .auth-name-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important}
