/* Base */
html { scroll-behavior: smooth; }
::selection { background: #6338f5; color: #fff; }
:focus-visible { outline: 2px solid #6338f5; outline-offset: 2px; border-radius: 4px; }

/* Components */
.container-site {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  max-width: 1240px;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}
@media (min-width: 640px) {
  .container-site { padding-left: 2rem; padding-right: 2rem; }
}
@media (min-width: 768px) {
  .container-site { padding-left: 2.5rem; padding-right: 2.5rem; }
}
@media (min-width: 1024px) {
  .container-site { padding-left: 3rem; padding-right: 3rem; }
}

.btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  border-radius: 9999px;
  background-color: #6338f5;
  padding: 0.875rem 1.75rem;
  font-size: 15px;
  font-weight: 600;
  color: #fff;
  transition: all 0.3s;
  box-shadow: 0 10px 24px -8px rgba(99,56,245,0.55);
}
.btn-primary:hover {
  background-color: #542ad6;
  box-shadow: 0 16px 32px -8px rgba(99,56,245,0.6);
}
.btn-primary:active {
  transform: scale(0.98);
}

.btn-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.625rem;
  border: 1px solid #E9E6F2;
  border-radius: 9999px;
  background-color: #fff;
  padding: 0.875rem 1.75rem;
  font-size: 15px;
  font-weight: 600;
  color: #111111;
  transition: all 0.3s;
}
.btn-secondary:hover {
  border-color: #9D7FF8;
  color: #542AD6;
}
.btn-secondary:active {
  transform: scale(0.98);
}

.section-label {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  border: 1px solid #E9E6F2;
  background-color: #F8F5FF;
  padding: 0.375rem 1rem;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  color: #6338F5;
  border-radius: 9999px;
}

.heading-2 {
  font-size: clamp(24px, 2.8vw, 46px);
  line-height: 1.12;
  font-weight: 800;
  letter-spacing: -0.03em;
  color: #111111;
}

.hero-title {
  font-size: clamp(40px, 4.45vw, 66px);
  line-height: 1.13;
  letter-spacing: -0.045em;
}

.service-icon-violet { background: #eee8ff; color: #7547ff; }
.service-icon-green { background: #e7fff0; color: #49c979; }
.service-icon-blue { background: #eaf3ff; color: #568df4; }
.service-icon-amber { background: #fff5dc; color: #f1af00; }
.service-icon-pink { background: #ffe9f2; color: #e95e96; }

.service-card-accent { background: #7547ff; }
.service-card[data-tone='green'] .service-card-accent { background: #49c979; }
.service-card[data-tone='blue'] .service-card-accent { background: #568df4; }
.service-card[data-tone='amber'] .service-card-accent { background: #f1af00; }
.service-card[data-tone='pink'] .service-card-accent { background: #e95e96; }

@keyframes marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }

@keyframes fade-in { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }
.animate-fade-in { animation: fade-in 0.7s ease-out forwards; }

.delay-1 { animation-delay: 0.08s; opacity: 0; }
.delay-2 { animation-delay: 0.16s; opacity: 0; }
.delay-3 { animation-delay: 0.24s; opacity: 0; }
.delay-4 { animation-delay: 0.32s; opacity: 0; }
.delay-5 { animation-delay: 0.40s; opacity: 0; }
.delay-6 { animation-delay: 0.48s; opacity: 0; }
.delay-7 { animation-delay: 0.56s; opacity: 0; }
.delay-8 { animation-delay: 0.64s; opacity: 0; }
.delay-9 { animation-delay: 0.72s; opacity: 0; }
.delay-10 { animation-delay: 0.80s; opacity: 0; }
.delay-11 { animation-delay: 0.88s; opacity: 0; }
.delay-12 { animation-delay: 0.96s; opacity: 0; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
}

/* Admin styles */
.admin-shell { min-height:100vh; background:#f7f7fb; color:#211d32; font-family:Inter,Plus Jakarta Sans,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.admin-sidebar { position:fixed; inset:0 auto 0 0; z-index:60; display:flex; width:264px; flex-direction:column; background:#19152d; color:#fff; box-shadow:18px 0 45px -36px rgba(21,14,48,0.7); }
.admin-sidebar-brand { display:flex; align-items:center; gap:11px; padding:27px 24px 25px; }
.admin-sidebar-brand > span:last-child { display:flex; flex-direction:column; gap:2px; }
.admin-sidebar-brand strong { font-size:15px; letter-spacing:0.14em; }
.admin-sidebar-brand small { color:#8b84a8; font-size:9px; font-weight:700; letter-spacing:0.17em; text-transform:uppercase; }
.admin-brand-mark { display:flex; height:34px; width:34px; align-items:center; justify-content:center; border:1px solid rgba(180,161,255,0.36); border-radius:11px; background:linear-gradient(145deg,#7956f7,#4e32c8); color:#fff; box-shadow:0 10px 22px -12px rgba(129,93,255,0.9); }
.admin-sidebar-rule { height:1px; margin:0 24px 25px; background:rgba(255,255,255,0.08); }
.admin-sidebar-nav { min-height:0; overflow-y:auto; padding:0 13px; }
.admin-sidebar-label { padding:0 12px 9px; color:#746d91; font-size:9px; font-weight:800; letter-spacing:0.19em; text-transform:uppercase; }
.admin-sidebar-label-spaced { margin-top:27px; }
.admin-sidebar-link { position:relative; display:flex; width:100%; align-items:center; gap:12px; border:0; border-radius:11px; background:transparent; padding:10px 12px; color:#a49ebc; font-size:12px; font-weight:600; text-align:left; transition:180ms ease; cursor:pointer; }
.admin-sidebar-link:hover { background:rgba(255,255,255,0.06); color:#fff; }
.admin-sidebar-link-active { background:linear-gradient(90deg,rgba(112,76,239,0.36),rgba(112,76,239,0.15)); color:#fff; box-shadow:inset 2px 0 0 #a994ff; }
.admin-sidebar-link-active svg { color:#b7a5ff; }
.admin-sidebar-dot { width:5px; height:5px; margin-left:auto; border-radius:50%; background:#ad9aff; box-shadow:0 0 0 4px rgba(173,154,255,0.1); }
.admin-sidebar-footer { margin-top:auto; padding:19px 16px 21px; }
.admin-sidebar-user { display:flex; align-items:center; gap:9px; border-top:1px solid rgba(255,255,255,0.08); padding:18px 8px 0; }
.admin-sidebar-user > span:nth-child(2) { display:flex; min-width:0; flex-direction:column; gap:2px; }
.admin-sidebar-user strong { overflow:hidden; color:#f6f4ff; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.admin-sidebar-user small { color:#827b9d; font-size:9px; }
.admin-user-avatar, .admin-top-avatar { display:flex; flex-shrink:0; align-items:center; justify-content:center; border-radius:50%; background:linear-gradient(145deg,#e9e1ff,#ae99ff); color:#4d33bd; font-size:10px; font-weight:900; }
.admin-user-avatar { height:30px; width:30px; }
.admin-reset-button { display:flex; align-items:center; gap:7px; margin:15px 8px 0; border:0; background:transparent; color:#77708f; font-size:10px; font-weight:600; transition:color 180ms ease; cursor:pointer; }
.admin-reset-button:hover { color:#d3caff; }
.admin-main { min-height:100vh; margin-left:264px; }
.admin-topbar { position:sticky; top:0; z-index:40; display:flex; height:72px; align-items:center; justify-content:space-between; gap:20px; border-bottom:1px solid #e9e7f0; background:rgba(255,255,255,0.88); padding:0 38px; backdrop-filter:blur(18px); }
.admin-mobile-menu { display:none; height:36px; width:36px; align-items:center; justify-content:center; border:1px solid #e6e3ef; border-radius:10px; background:#fff; color:#413b56; cursor:pointer; }
.admin-top-search { display:flex; height:34px; align-items:center; gap:8px; border:1px solid #ebe9f1; border-radius:9px; background:#fafafd; padding:0 10px; color:#a19caf; font-size:11px; font-weight:600; }
.admin-top-live { display:flex; align-items:center; gap:7px; color:#5c5770; font-size:11px; font-weight:700; white-space:nowrap; }
.admin-top-avatar { height:32px; width:32px; }
.admin-content { width:100%; max-width:1430px; margin:0 auto; padding:40px 38px 72px; }
.admin-eyebrow, .admin-card-eyebrow { color:#7654e8; font-size:10px; font-weight:800; letter-spacing:0.16em; text-transform:uppercase; }
.admin-page-title { margin-top:9px; color:#211d32; font-size:clamp(28px,3.2vw,43px); font-weight:900; letter-spacing:-0.055em; line-height:1.03; }
.admin-page-description { max-width:650px; margin-top:12px; color:#777287; font-size:14px; line-height:1.65; }
.admin-section-title { margin-top:6px; color:#29243a; font-size:23px; font-weight:850; letter-spacing:-0.04em; }
.admin-section-description { margin-top:7px; color:#858092; font-size:13px; }
.admin-card { border:1px solid #ebe9f2; border-radius:18px; background:#fff; padding:22px; box-shadow:0 9px 30px -25px rgba(43,29,96,0.3); }
.admin-icon-box { display:flex; height:39px; width:39px; flex-shrink:0; align-items:center; justify-content:center; border-radius:12px; background:#f0ecff; color:#6b49db; }
.admin-card-title { margin-top:4px; color:#29243a; font-size:17px; font-weight:850; letter-spacing:-0.03em; }
.admin-card-description { max-width:620px; margin-top:5px; color:#858092; font-size:12px; line-height:1.55; }
.admin-primary-button, .admin-secondary-button { display:inline-flex; height:39px; align-items:center; justify-content:center; gap:8px; border-radius:9px; padding:0 14px; font-size:11px; font-weight:800; transition:180ms ease; cursor:pointer; }
.admin-primary-button { border:1px solid #6841ea; background:#6841ea; color:#fff; box-shadow:0 12px 23px -16px rgba(104,65,234,0.9); }
.admin-primary-button:hover { background:#5531cf; }
.admin-secondary-button { border:1px solid #e2ddec; background:#fff; color:#5e586f; }
.admin-secondary-button:hover { border-color:#b9a8f6; color:#613bd3; }
.admin-stat-card { position:relative; min-height:161px; overflow:hidden; border:1px solid #ebe9f2; border-radius:17px; background:#fff; padding:18px; box-shadow:0 9px 30px -25px rgba(43,29,96,0.3); }
.admin-stat-card::after { position:absolute; right:-34px; bottom:-44px; width:122px; height:122px; border:1px solid #f0edf7; border-radius:50%; content:''; }
.admin-stat-icon { display:flex; height:34px; width:34px; align-items:center; justify-content:center; border-radius:10px; }
.admin-stat-icon-purple { background:#eeeaff; color:#754ce0; }
.admin-stat-icon-blue { background:#e9f3ff; color:#367ddd; }
.admin-stat-icon-green { background:#e9fbf3; color:#20a66d; }
.admin-stat-icon-orange { background:#fff3e6; color:#de862d; }
.admin-stat-label { margin-top:17px; color:#787287; font-size:11px; font-weight:700; }
.admin-stat-value { margin-top:2px; color:#211d32; font-size:30px; font-weight:900; letter-spacing:-0.06em; }
.admin-stat-detail { margin-top:3px; color:#aaa5b4; font-size:10px; }
.admin-health-row { border-bottom:1px solid #f0eef5; padding-bottom:15px; }
.admin-health-row:last-child { border-bottom:0; padding-bottom:0; }
.admin-progress { height:6px; margin-top:12px; overflow:hidden; border-radius:999px; background:#f0eef5; }
.admin-progress span { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#6d49e6,#a083ff); }
.admin-quick-action { display:flex; min-height:69px; align-items:center; gap:11px; border:1px solid #eceaf3; border-radius:13px; background:#fff; padding:12px; text-align:left; transition:180ms ease; cursor:pointer; }
.admin-quick-action:hover { border-color:#c6b8fb; background:#fcfbff; transform:translateY(-2px); }
.admin-quick-action strong, .admin-quick-action small { display:block; }
.admin-quick-action strong { color:#373146; font-size:11px; font-weight:800; }
.admin-quick-action small { margin-top:3px; color:#9993a7; font-size:10px; }
.admin-quick-icon { display:flex; height:35px; width:35px; flex-shrink:0; align-items:center; justify-content:center; border-radius:10px; background:#f0ecff; color:#714ce0; }
.admin-label { display:block; margin-bottom:7px; color:#514b62; font-size:11px; font-weight:800; }
.admin-help { color:#aaa5b4; font-size:10px; }
.admin-input, .admin-textarea { display:block; width:100%; border:1px solid #e5e2ed; border-radius:9px; background:#fcfcfe; color:#29243a; font-size:12px; outline:none; transition:180ms ease; }
.admin-input { height:40px; padding:0 12px; }
.admin-textarea { min-height:90px; resize:vertical; padding:11px 12px; line-height:1.55; }
.admin-input::placeholder, .admin-textarea::placeholder { color:#b2adbb; }
.admin-input:focus, .admin-textarea:focus { border-color:#9178e9; background:#fff; box-shadow:0 0 0 3px rgba(115,79,226,0.1); }
.admin-tab-button { border:1px solid #e7e4ef; border-radius:999px; background:#fff; padding:8px 13px; color:#787287; font-size:11px; font-weight:800; transition:180ms ease; cursor:pointer; }
.admin-tab-button:hover, .admin-tab-button-active { border-color:#7654e8; background:#7654e8; color:#fff; }
.admin-item-row { display:flex; align-items:center; justify-content:space-between; gap:15px; border:1px solid #eeeaf4; border-radius:13px; background:#fff; padding:12px; transition:180ms ease; }
.admin-item-row:hover { border-color:#d8cef8; box-shadow:0 8px 22px -20px rgba(78,51,156,0.5); }
.admin-item-hidden { background:#fbfafc; opacity:0.65; }
.admin-item-icon { display:flex; height:35px; width:35px; flex-shrink:0; align-items:center; justify-content:center; border-radius:10px; background:#f2efff; color:#7654e8; }
.admin-item-meta { overflow:hidden; color:#9b95aa; font-size:9px; font-weight:800; letter-spacing:0.08em; text-overflow:ellipsis; text-transform:uppercase; white-space:nowrap; }
.admin-item-title { max-width:520px; margin-top:3px; color:#302a40; font-size:13px; font-weight:850; letter-spacing:-0.02em; }
.admin-item-summary { display:-webkit-box; max-width:560px; margin-top:3px; overflow:hidden; color:#898396; font-size:11px; line-height:1.45; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.admin-status { display:inline-flex; border-radius:999px; padding:3px 6px; font-size:8px; font-weight:800; text-transform:uppercase; }
.admin-status-muted { background:#f0eef4; color:#8d879b; }
.admin-icon-button { display:flex; height:29px; width:29px; align-items:center; justify-content:center; border:1px solid transparent; border-radius:8px; background:transparent; color:#aaa5b4; transition:180ms ease; cursor:pointer; }
.admin-icon-button:hover:not(:disabled) { border-color:#e4dff1; background:#f8f6fe; color:#6744d8; }
.admin-icon-button:disabled { cursor:not-allowed; opacity:0.28; }
.admin-icon-button-primary { color:#7654e8; }
.admin-icon-button-danger:hover:not(:disabled) { border-color:#f4d8dc; background:#fff7f7; color:#c9505c; }
.admin-empty-state { display:flex; min-height:110px; align-items:center; justify-content:center; gap:9px; color:#8b8499; font-size:12px; }
.admin-modal-backdrop { position:fixed; inset:0; z-index:80; display:flex; align-items:center; justify-content:center; overflow-y:auto; background:rgba(20,15,39,0.52); padding:24px; backdrop-filter:blur(5px); }
.admin-modal { width:min(700px,100%); max-height:calc(100vh - 48px); overflow-y:auto; border:1px solid rgba(255,255,255,0.6); border-radius:18px; background:#fff; padding:23px; box-shadow:0 26px 75px -30px rgba(15,7,42,0.55); }
.admin-close-button { display:flex; height:32px; width:32px; align-items:center; justify-content:center; border:1px solid #e7e4ef; border-radius:9px; background:#fff; color:#8c869a; transition:180ms ease; cursor:pointer; }
.admin-close-button:hover { border-color:#cdbef6; color:#6744d8; }
.admin-toast { position:fixed; right:25px; bottom:25px; z-index:100; display:flex; align-items:center; gap:9px; border:1px solid #ded8f2; border-radius:11px; background:#fff; padding:10px 11px 10px 10px; color:#484159; font-size:11px; font-weight:800; box-shadow:0 15px 36px -20px rgba(45,28,101,0.55); }
.admin-toast-check { display:flex; height:23px; width:23px; align-items:center; justify-content:center; border-radius:7px; background:#e7f9ef; color:#20a66d; }
.admin-login-shell { position:relative; display:flex; min-height:100vh; align-items:center; justify-content:center; overflow:hidden; background:#f5f4fa; padding:28px; }
.admin-login-glow { position:absolute; width:440px; height:440px; border-radius:50%; background:radial-gradient(circle,rgba(117,71,255,0.11),rgba(255,255,255,0) 70%); pointer-events:none; }
.admin-login-glow-top { top:-220px; right:-110px; }
.admin-login-glow-bottom { bottom:-250px; left:-180px; }
.admin-login-layout { position:relative; display:grid; width:min(1080px,100%); min-height:650px; grid-template-columns:0.93fr 1.07fr; overflow:hidden; border:1px solid #e8e4f0; border-radius:25px; background:#fff; box-shadow:0 30px 80px -45px rgba(46,28,106,0.4); }
.admin-login-aside { position:relative; display:flex; min-height:100%; flex-direction:column; overflow:hidden; background:#19152d; padding:32px; color:#fff; }
.admin-login-brand, .admin-login-mobile-brand { display:flex; align-items:center; gap:11px; }
.admin-login-brand > span:last-child, .admin-login-mobile-brand > span:last-child { display:flex; flex-direction:column; gap:2px; }
.admin-login-brand strong, .admin-login-mobile-brand strong { font-size:15px; letter-spacing:0.14em; }
.admin-login-brand small, .admin-login-mobile-brand small { color:#8b84a8; font-size:9px; font-weight:700; letter-spacing:0.17em; text-transform:uppercase; }
.admin-login-aside-copy { position:relative; z-index:2; max-width:355px; margin-top:auto; }
.admin-login-kicker { color:#7c5bf0; font-size:10px; font-weight:850; letter-spacing:0.18em; text-transform:uppercase; }
.admin-login-aside-copy .admin-login-kicker { color:#ae9dff; }
.admin-login-aside-copy h2 { max-width:330px; margin-top:13px; color:#fff; font-size:clamp(32px,3.5vw,48px); font-weight:900; letter-spacing:-0.06em; line-height:1.02; }
.admin-login-aside-copy > p:last-child { max-width:300px; margin-top:17px; color:#a7a0bd; font-size:13px; line-height:1.7; }
.admin-login-orbit { position:absolute; top:37%; right:-17%; width:420px; height:280px; transform:rotate(-16deg); opacity:0.95; }
.admin-login-orbit-ring { position:absolute; left:50%; top:50%; border:1px solid rgba(160,139,255,0.32); border-radius:50%; transform:translate(-50%,-50%) rotate(28deg); }
.admin-login-orbit-ring-one { width:95%; height:38%; }
.admin-login-orbit-ring-two { width:75%; height:82%; border-style:dashed; border-color:rgba(160,139,255,0.22); }
.admin-login-orbit-core { position:absolute; left:50%; top:50%; display:flex; height:70px; width:70px; align-items:center; justify-content:center; border:4px solid #19152d; border-radius:50%; background:linear-gradient(145deg,#8261fa,#5235cb); color:#fff; box-shadow:0 18px 38px -12px rgba(99,56,245,0.75); transform:translate(-50%,-50%); }
.admin-login-orbit-dot { position:absolute; height:9px; width:9px; border-radius:50%; background:#ad9aff; box-shadow:0 0 0 5px rgba(173,154,255,0.1); }
.admin-login-orbit-dot-one { left:4%; top:34%; }
.admin-login-orbit-dot-two { right:10%; top:15%; }
.admin-login-orbit-dot-three { right:17%; bottom:11%; }
.admin-login-aside-status { position:relative; z-index:2; display:flex; align-items:center; gap:8px; margin-top:28px; color:#a7a0bd; font-size:10px; font-weight:700; }
.admin-login-panel { display:flex; align-items:center; justify-content:center; padding:46px; }
.admin-login-panel-inner { width:min(100%,370px); }
.admin-login-mobile-brand { display:none; color:#211d32; }
.admin-login-icon { display:flex; height:42px; width:42px; align-items:center; justify-content:center; border-radius:13px; background:#f0ecff; color:#704bdd; }
.admin-login-heading .admin-login-kicker { margin-top:26px; }
.admin-login-heading h1 { margin-top:8px; color:#211d32; font-size:43px; font-weight:900; letter-spacing:-0.06em; line-height:1; }
.admin-login-heading > p:last-child { margin-top:13px; color:#817b8f; font-size:13px; line-height:1.65; }
.admin-login-form { display:grid; gap:18px; margin-top:31px; }
.admin-login-label { display:block; margin-bottom:8px; color:#4d465f; font-size:11px; font-weight:850; }
.admin-login-hint { color:#aaa4b4; font-size:10px; }
.admin-login-input { display:block; height:48px; width:100%; border:1px solid #e4e0ec; border-radius:11px; background:#fcfcfe; padding:0 14px; color:#272238; font-size:13px; outline:none; transition:180ms ease; }
.admin-login-input::placeholder { color:#b3adbc; }
.admin-login-input:focus { border-color:#8668e8; background:#fff; box-shadow:0 0 0 4px rgba(117,71,255,0.1); }
.admin-login-error { margin-top:-5px; border:1px solid #f3d6da; border-radius:9px; background:#fff7f7; padding:10px 12px; color:#ba4d58; font-size:11px; font-weight:700; }
.admin-login-submit { display:flex; height:48px; align-items:center; justify-content:center; gap:9px; border:1px solid #6841ea; border-radius:11px; background:#6841ea; color:#fff; font-size:12px; font-weight:850; box-shadow:0 15px 28px -17px rgba(104,65,234,0.9); transition:180ms ease; cursor:pointer; }
.admin-login-submit:hover { background:#5531cf; transform:translateY(-1px); }
.admin-login-back { display:inline-flex; align-items:center; gap:6px; margin-top:30px; color:#6951c8; font-size:11px; font-weight:800; }
.admin-login-back:hover { color:#4f31bd; }
.admin-login-note { margin-top:33px; color:#aaa5b4; font-size:10px; line-height:1.55; }

@media (max-width:1023px) {
  .admin-login-layout { width:min(520px,100%); min-height:0; grid-template-columns:1fr; }
  .admin-login-aside { display:none; }
  .admin-login-panel { min-height:650px; }
  .admin-login-mobile-brand { display:flex; }
  .admin-login-heading .admin-login-icon { margin-top:44px; }
  .admin-sidebar { transform:translateX(-100%); transition:transform 240ms ease; }
  .admin-sidebar-open { transform:translateX(0); }
  .admin-main { margin-left:0; }
  .admin-mobile-menu { display:inline-flex; }
}
@media (max-width:640px) {
  .admin-login-shell { padding:15px; }
  .admin-login-layout { border-radius:19px; }
  .admin-login-panel { min-height:630px; padding:29px 22px; }
  .admin-login-heading h1 { font-size:36px; }
  .admin-topbar { height:64px; padding:0 16px; }
  .admin-content { padding:29px 16px 52px; }
  .admin-card { border-radius:15px; padding:17px; }
  .admin-item-row { align-items:flex-start; flex-direction:column; }
  .admin-item-row > div:last-child { width:100%; justify-content:flex-end; border-top:1px solid #f0edf5; padding-top:9px; }
  .admin-modal-backdrop { align-items:flex-end; padding:0; }
  .admin-modal { max-height:92vh; border-radius:18px 18px 0 0; padding:18px; }
  .admin-toast { right:16px; bottom:16px; left:16px; }
}

.admin-upload-button { display:inline-flex; align-items:center; gap:8px; border:2px dashed #d5d0e3; border-radius:10px; background:#fafafe; padding:10px 16px; color:#7654e8; font-size:11px; font-weight:700; cursor:pointer; transition:180ms ease; }
.admin-upload-button:hover { border-color:#7654e8; background:#f3f0ff; }
.admin-save-section { display:flex; align-items:center; justify-content:flex-end; gap:10px; margin-top:24px; padding-top:18px; border-top:1px solid #f0eef5; }
.admin-save-btn { display:inline-flex; align-items:center; gap:8px; border-radius:10px; background:#6841ea; color:#fff; padding:10px 22px; font-size:12px; font-weight:800; border:none; cursor:pointer; transition:180ms ease; box-shadow:0 8px 20px -12px rgba(104,65,234,0.8); }
.admin-save-btn:hover { background:#5531cf; transform:translateY(-1px); }
.admin-save-btn:disabled { opacity:0.5; cursor:not-allowed; transform:none; }
