:root {
  --admin-primary: #6d28d9;
  --admin-pink: #d82b78;
  --admin-orange: #f97316;
  --admin-ink: #282536;
  --admin-muted: #777282;
  --admin-line: #e7e4eb;
  --admin-bg: #f6f5f8;
  --admin-white: #fff;
  --admin-success: #079669;
  --admin-danger: #d72d50;
  --admin-gradient: linear-gradient(115deg, #f97316 0%, #e53866 48%, #6d28d9 100%);
  --admin-shadow: 0 14px 42px rgba(38, 29, 51, .08);
}
* { box-sizing: border-box; }
body { margin: 0; color: var(--admin-ink); font: 400 14px/1.55 "DM Sans", system-ui, sans-serif; -webkit-font-smoothing: antialiased; }
body.sidebar-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
h1, h2, h3 { margin: 0; font-family: "Manrope", sans-serif; letter-spacing: -.025em; line-height: 1.18; }
p { margin: 0; }
:focus-visible { outline: 3px solid rgba(109, 40, 217, .22); outline-offset: 2px; }

.admin-body { min-height: 100vh; background: var(--admin-bg); }
.admin-sidebar {
  position: fixed; z-index: 40; inset: 0 auto 0 0; width: 245px;
  display: flex; flex-direction: column;
  padding: 22px 16px;
  color: rgba(255,255,255,.72); background: #282338;
}
.admin-brand { display: flex; flex-direction: column; align-items: flex-start; padding: 0 9px 24px; border-bottom: 1px solid rgba(255,255,255,.08); }
.admin-brand img { width: 155px; height: 64px; object-fit: contain; padding: 4px; border-radius: 10px; background: white; }
.admin-brand span { margin-top: 9px; font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .15em; }
.admin-sidebar nav { display: grid; gap: 4px; margin-top: 23px; }
.admin-sidebar nav a, .sidebar-footer a, .sidebar-footer button {
  width: 100%; min-height: 44px;
  display: flex; align-items: center; gap: 12px;
  padding: 8px 12px; border: 0; border-radius: 10px;
  color: rgba(255,255,255,.67); background: transparent; text-align: left;
  transition: .2s;
}
.admin-sidebar nav a:hover, .sidebar-footer a:hover, .sidebar-footer button:hover { color: white; background: rgba(255,255,255,.07); }
.admin-sidebar nav a.is-active { color: white; background: linear-gradient(90deg, rgba(233,48,115,.25), rgba(109,40,217,.23)); box-shadow: inset 3px 0 var(--admin-pink); }
.admin-sidebar i { width: 25px; height: 25px; display: grid; place-items: center; font-style: normal; font-weight: 800; }
.admin-sidebar nav span, .sidebar-footer span { font-weight: 600; }
.sidebar-footer { display: grid; gap: 4px; margin-top: auto; padding-top: 16px; border-top: 1px solid rgba(255,255,255,.08); }
.sidebar-footer form { margin: 0; }
.sidebar-overlay { display: none; }
.admin-shell { min-height: 100vh; margin-left: 245px; }
.admin-topbar {
  position: sticky; z-index: 30; top: 0;
  min-height: 83px; display: flex; align-items: center; justify-content: space-between; gap: 20px;
  padding: 13px 31px; border-bottom: 1px solid rgba(39,32,52,.08); background: rgba(255,255,255,.88); backdrop-filter: blur(15px);
}
.admin-topbar > div:first-of-type { margin-right: auto; }
.admin-topbar small { color: var(--admin-muted); font-size: 10px; text-transform: uppercase; letter-spacing: .1em; }
.admin-topbar h1 { margin-top: 1px; font-size: 24px; }
.sidebar-toggle { display: none; width: 42px; height: 42px; border: 0; border-radius: 10px; background: #f0edf3; }
.admin-profile { display: flex; align-items: center; gap: 11px; }
.admin-profile > span { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 12px; color: white; background: var(--admin-gradient); font-weight: 800; }
.admin-profile div { display: flex; flex-direction: column; }
.admin-profile strong { font-size: 12px; }
.admin-profile small { font-size: 9px; text-transform: none; letter-spacing: 0; }
.admin-content { max-width: 1450px; margin: 0 auto; padding: 28px 30px 65px; }

.admin-alert { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 18px; padding: 13px 16px; border-radius: 12px; font-weight: 700; }
.admin-alert.success { color: #087458; background: #dcf7ed; border: 1px solid #b8ebda; }
.admin-alert.error { color: #a91d3c; background: #ffe4eb; border: 1px solid #ffc9d5; }
.admin-alert button { border: 0; background: transparent; color: inherit; font-size: 20px; }
.admin-button {
  min-height: 43px; display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  padding: 10px 16px; border: 1px solid transparent; border-radius: 10px;
  font-weight: 700; line-height: 1.2; transition: .2s;
}
.admin-button:hover { transform: translateY(-1px); }
.admin-button.primary { color: white; background: var(--admin-gradient); box-shadow: 0 8px 20px rgba(196,44,115,.19); }
.admin-button.secondary { border-color: var(--admin-line); background: white; color: var(--admin-ink); }
.dashboard-actions, .admin-page-actions, .form-action-bar {
  min-height: 55px; display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 22px;
}
.dashboard-actions > div, .form-action-bar > div { display: flex; align-items: center; gap: 10px; }
.dashboard-actions p, .admin-page-actions > p, .form-action-bar p { color: var(--admin-muted); }
.form-action-bar > div:first-child { align-items: flex-start; flex-direction: column; gap: 2px; }
.form-action-bar a:first-child { color: var(--admin-primary); font-weight: 700; }

.stats-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; margin-bottom: 22px; }
.stats-grid article { display: flex; align-items: center; gap: 15px; min-height: 125px; padding: 20px; border: 1px solid var(--admin-line); border-radius: 16px; background: white; box-shadow: 0 5px 22px rgba(38,29,51,.035); }
.stat-icon { width: 48px; height: 48px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 14px; font-weight: 800; }
.stat-icon.purple { color: #6d28d9; background: #efe8ff; }
.stat-icon.green { color: #087f61; background: #dff7ef; }
.stat-icon.orange { color: #d85c0e; background: #fff0e3; }
.stat-icon.pink { color: #c72369; background: #ffe7f1; }
.stat-icon.blue { color: #2765c7; background: #e7f0ff; }
.stat-icon.violet { color: #8a31bf; background: #f3e7fa; }
.stats-grid article > div { display: grid; }
.stats-grid small { color: var(--admin-muted); font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
.stats-grid strong { font: 800 28px/1.3 "Manrope"; }
.stats-grid p { color: #9a96a1; font-size: 10px; }
.dashboard-grid { display: grid; grid-template-columns: 1.4fr .6fr; gap: 18px; }
.large-card { grid-row: span 2; }
.admin-card { border: 1px solid var(--admin-line); border-radius: 16px; background: white; box-shadow: 0 5px 22px rgba(38,29,51,.035); }
.admin-card-header { min-height: 75px; display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 17px 20px; border-bottom: 1px solid var(--admin-line); }
.admin-card-header small { color: var(--admin-pink); font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .09em; }
.admin-card-header h2 { margin-top: 2px; font-size: 18px; }
.admin-card-header > a, .text-button { border: 0; background: none; color: var(--admin-primary); font-size: 11px; font-weight: 700; }
.count-pill { min-width: 30px; height: 30px; display: grid; place-items: center; border-radius: 999px; color: var(--admin-primary); background: #f1ebfb; font-weight: 800; }

.admin-table-wrap { width: 100%; overflow-x: auto; }
.admin-table { width: 100%; border-collapse: collapse; white-space: nowrap; }
.admin-table th { padding: 11px 16px; color: #8b8692; background: #faf9fb; font-size: 9px; text-align: left; text-transform: uppercase; letter-spacing: .06em; }
.admin-table td { padding: 13px 16px; border-top: 1px solid #efedf1; color: #55515d; font-size: 12px; vertical-align: middle; }
.admin-table tbody tr:hover { background: #fcfbfd; }
.admin-table td > small { color: #9995a0; }
.table-product { min-width: 210px; display: flex; align-items: center; gap: 11px; }
.table-product img { width: 43px; height: 50px; flex: 0 0 auto; object-fit: contain; border-radius: 7px; background: #f4eff8; }
.table-product div { min-width: 0; display: flex; flex-direction: column; }
.table-product strong { max-width: 250px; overflow: hidden; text-overflow: ellipsis; color: var(--admin-ink); }
.table-product small { color: #9a96a1; }
.table-link { color: var(--admin-primary); font-weight: 700; }
.table-empty { height: 160px; color: var(--admin-muted) !important; text-align: center; }
.status { display: inline-flex; padding: 4px 8px; border-radius: 999px; font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.status.publicado, .status.ativo, .status.respondida { color: #087458; background: #dcf7ed; }
.status.rascunho { color: #a55c0d; background: #fff0d7; }
.status.inativo, .status.lida { color: #67616d; background: #eeecef; }
.status.nova { color: #b54511; background: #fff0dc; }
.sale-price { color: var(--admin-pink); }
.row-actions { display: flex; gap: 5px; }
.row-actions form { margin: 0; }
.row-actions a, .row-actions button { width: 30px; height: 30px; display: grid; place-items: center; border: 1px solid var(--admin-line); border-radius: 8px; background: white; color: #65606a; font-size: 13px; }
.row-actions a:hover, .row-actions button:hover { color: var(--admin-primary); border-color: rgba(109,40,217,.3); }
.row-actions .danger:hover { color: var(--admin-danger); border-color: rgba(215,45,80,.3); background: #fff4f6; }
.compact-list { display: grid; padding: 8px 17px 17px; }
.compact-list > a, .compact-list > div:not(.mini-empty) { display: grid; grid-template-columns: 39px 1fr auto; gap: 10px; align-items: center; padding: 11px 0; border-bottom: 1px solid #efedf1; }
.compact-list > a:last-child, .compact-list > div:last-child { border-bottom: 0; }
.compact-icon { width: 37px; height: 37px; display: grid; place-items: center; border-radius: 10px; color: var(--admin-pink); background: #fff0f6; font-weight: 800; }
.compact-list div div { min-width: 0; display: flex; flex-direction: column; }
.compact-list strong { font-size: 11px; }
.compact-list small { overflow: hidden; text-overflow: ellipsis; color: var(--admin-muted); font-size: 9px; white-space: nowrap; }
.compact-list b { color: var(--admin-primary); }
.mini-empty { padding: 35px 15px; color: var(--admin-muted); text-align: center; }
.unread-message { border-radius: 9px; background: #fffaf2; }
.unread-message strong { color: var(--admin-ink); }
.dashboard-message-count { margin: 0 17px 16px; padding: 8px 11px; border-radius: 9px; color: #9d4a16; background: #fff1df; font-size: 10px; font-weight: 800; text-align: center; }

.admin-filters { flex: 1; display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.admin-filters select, .admin-filters > label:not(.inline-check) { height: 42px; border: 1px solid var(--admin-line); border-radius: 9px; background: white; }
.admin-filters select { padding: 0 10px; color: #625e68; }
.admin-search { min-width: 220px; display: flex; align-items: center; gap: 7px; padding: 0 10px; }
.admin-search input { min-width: 0; width: 100%; border: 0; outline: 0; }
.inline-check { display: flex; align-items: center; gap: 6px; color: var(--admin-muted); }
.inline-check input { accent-color: var(--admin-primary); }

.admin-form-layout { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 18px; align-items: start; }
.form-main { display: grid; gap: 18px; }
.form-aside { display: grid; gap: 18px; }
.form-section { padding: 23px; }
.form-section > h2 { margin-bottom: 18px; font-size: 17px; }
.form-section-title { display: flex; align-items: center; gap: 12px; margin-bottom: 22px; }
.form-section-title > span { width: 39px; height: 39px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 11px; color: var(--admin-primary); background: #f1ebfb; font-weight: 800; }
.form-section-title h2 { font-size: 18px; }
.form-section-title p { margin-top: 2px; color: var(--admin-muted); font-size: 11px; }
.admin-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.admin-form-grid label, .stack-label, .single-form-grid label {
  display: flex; flex-direction: column; gap: 6px;
  color: #514d58; font-size: 11px; font-weight: 700;
}
.admin-form-grid input, .admin-form-grid select, .admin-form-grid textarea,
.stack-label input, .stack-label select, .single-form-grid input, .single-form-grid select, .single-form-grid textarea,
.selector-search {
  width: 100%; min-height: 43px; padding: 10px 11px;
  border: 1px solid #dedbe2; border-radius: 9px; outline: 0; background: white; color: var(--admin-ink);
  transition: .2s;
}
.admin-form-grid textarea, .single-form-grid textarea { resize: vertical; }
.admin-form-grid input:focus, .admin-form-grid select:focus, .admin-form-grid textarea:focus,
.stack-label input:focus, .stack-label select:focus, .single-form-grid input:focus, .single-form-grid select:focus, .single-form-grid textarea:focus { border-color: var(--admin-primary); box-shadow: 0 0 0 3px rgba(109,40,217,.07); }
.admin-form-grid small, .single-form-grid small { color: #9995a0; font-weight: 400; }
.span-2 { grid-column: 1 / -1; }
.switch-label { display: flex; align-items: center; gap: 10px; margin-top: 18px; cursor: pointer; }
.switch-label input { position: absolute; opacity: 0; }
.switch-label > span { position: relative; width: 42px; height: 24px; flex: 0 0 auto; border-radius: 999px; background: #d8d4dc; transition: .2s; }
.switch-label > span::after { content: ""; position: absolute; top: 3px; left: 3px; width: 18px; height: 18px; border-radius: 50%; background: white; box-shadow: 0 2px 5px rgba(0,0,0,.15); transition: .2s; }
.switch-label input:checked + span { background: var(--admin-primary); }
.switch-label input:checked + span::after { transform: translateX(18px); }
.switch-label div { display: flex; flex-direction: column; }
.switch-label strong { font-size: 11px; }
.switch-label small { color: var(--admin-muted); font-size: 9px; }
.upload-zone { position: relative; min-height: 210px; overflow: hidden; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 22px; border: 1px dashed #cbc4d2; border-radius: 13px; background: #faf8fc; text-align: center; cursor: pointer; }
.upload-zone input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.upload-zone > span { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 12px; color: var(--admin-primary); background: #ede6f9; font-size: 20px; }
.upload-zone strong { margin-top: 10px; font-size: 12px; }
.upload-zone small { max-width: 230px; margin-top: 4px; color: var(--admin-muted); font-size: 9px; }
.upload-zone img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; padding: 10px; background: #f6f1fa; }
.upload-zone:hover img { opacity: .28; }
.helper-text { display: block; margin-top: 8px; color: var(--admin-muted); font-size: 9px; }
.gallery-admin-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; margin-top: 13px; }
.gallery-admin-grid label { overflow: hidden; border: 1px solid var(--admin-line); border-radius: 9px; background: #faf8fc; }
.gallery-admin-grid img { width: 100%; height: 80px; object-fit: contain; }
.gallery-admin-grid span { display: flex; align-items: center; gap: 4px; padding: 5px; color: var(--admin-danger); font-size: 8px; font-weight: 700; }
.money-input { display: grid; grid-template-columns: 40px 1fr; }
.money-input span { display: grid; place-items: center; border: 1px solid #dedbe2; border-right: 0; border-radius: 9px 0 0 9px; color: var(--admin-muted); background: #f7f6f8; font-size: 10px; }
.money-input input { border-radius: 0 9px 9px 0; }
.helper-box { margin-top: 15px; padding: 12px; border-radius: 10px; color: #655d6e; background: #f6f1fa; font-size: 10px; }

.two-panel-layout { display: grid; grid-template-columns: 1.25fr .75fr; gap: 18px; align-items: start; }
.sticky-form { position: sticky; top: 105px; }
.category-admin-list { padding: 8px 18px 18px; }
.category-admin-list > div { display: grid; grid-template-columns: 42px 1fr auto auto; gap: 11px; align-items: center; padding: 13px 0; border-bottom: 1px solid #efedf1; }
.category-letter { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 11px; color: var(--admin-primary); background: #f0e9fa; font: 800 10px "Manrope"; text-transform: uppercase; }
.category-admin-list > div > div:nth-child(2) { min-width: 0; display: flex; flex-direction: column; }
.category-admin-list strong { font-size: 12px; }
.category-admin-list small { color: var(--admin-muted); font-size: 9px; }
.single-form-grid { display: grid; gap: 14px; }
.field-row { display: grid; grid-template-columns: 1fr 110px; gap: 10px; }

.message-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 11px; margin-bottom: 18px; }
.message-stats a {
  min-height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 15px;
  padding: 16px 18px; border: 1px solid var(--admin-line); border-radius: 14px; background: white;
  transition: .2s;
}
.message-stats a:hover, .message-stats a.is-active { border-color: rgba(109,40,217,.28); box-shadow: var(--admin-shadow); }
.message-stats a.is-active { background: #faf7ff; }
.message-stats span { color: var(--admin-muted); font-size: 11px; font-weight: 700; }
.message-stats strong { font: 800 25px "Manrope"; color: var(--admin-primary); }
.messages-toolbar { min-height: auto; }
.messages-card { overflow: hidden; }
.messages-inbox { display: grid; }
.inbox-message {
  position: relative; display: grid; grid-template-columns: 44px 180px minmax(240px, 1fr) 75px 24px;
  gap: 12px; align-items: center; min-height: 88px; padding: 13px 19px;
  border-top: 1px solid #efedf1; transition: background .2s;
}
.inbox-message:hover { background: #faf8fc; }
.inbox-message.is-unread { background: #fffcf6; box-shadow: inset 3px 0 var(--admin-orange); }
.inbox-avatar {
  width: 42px; height: 42px; display: grid; place-items: center;
  border-radius: 13px; color: white; background: var(--admin-gradient); font: 800 13px "Manrope";
}
.inbox-sender, .inbox-content, .inbox-date { min-width: 0; display: flex; flex-direction: column; }
.inbox-sender strong, .inbox-content strong { overflow: hidden; text-overflow: ellipsis; color: var(--admin-ink); font-size: 11px; white-space: nowrap; }
.inbox-sender small, .inbox-date small { overflow: hidden; text-overflow: ellipsis; color: var(--admin-muted); font-size: 9px; white-space: nowrap; }
.inbox-content > div { min-width: 0; display: flex; align-items: center; gap: 8px; }
.inbox-content p { overflow: hidden; margin-top: 3px; color: var(--admin-muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.inbox-date { align-items: flex-end; }
.inbox-date strong { font-size: 10px; }
.inbox-arrow { color: var(--admin-primary); font-weight: 800; }
.messages-empty { padding: 70px 25px; text-align: center; }
.messages-empty > span { width: 58px; height: 58px; display: grid; place-items: center; margin: 0 auto 14px; border-radius: 17px; color: var(--admin-primary); background: #f0e9fa; font-weight: 800; }
.messages-empty h2 { font-size: 20px; }
.messages-empty p { margin: 8px 0 18px; color: var(--admin-muted); }

.message-view-actions {
  min-height: 54px; display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-bottom: 20px;
}
.message-view-actions > div { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; }
.message-view-actions > div:first-child > a { color: var(--admin-primary); font-weight: 700; }
.message-view-actions form { margin: 0; }
.danger-button { color: var(--admin-danger); border-color: #f3cbd4; background: #fff5f7; }
.danger-button:hover { background: #ffe9ee; }
.message-detail-layout { display: grid; grid-template-columns: minmax(0, 1fr) 310px; gap: 18px; align-items: start; }
.message-reader { overflow: hidden; }
.message-reader > header { display: grid; grid-template-columns: 53px 1fr; gap: 15px; align-items: center; padding: 25px; border-bottom: 1px solid var(--admin-line); }
.message-reader-avatar { width: 52px; height: 52px; display: grid; place-items: center; border-radius: 15px; color: white; background: var(--admin-gradient); font: 800 16px "Manrope"; }
.message-reader header > div > span { color: var(--admin-pink); font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.message-reader h2 { margin-top: 3px; font-size: 24px; }
.message-reader header p { margin-top: 5px; color: var(--admin-muted); font-size: 10px; }
.message-body { min-height: 260px; padding: 34px 30px; color: #4e4956; font-size: 15px; line-height: 1.8; white-space: normal; }
.message-reader > footer { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px 25px; border-top: 1px solid var(--admin-line); background: #faf9fb; }
.message-reader footer p { max-width: 380px; color: var(--admin-muted); font-size: 10px; }
.message-reader footer > div { display: flex; flex-wrap: wrap; gap: 8px; }
.whatsapp-button { color: white; background: #149b69; }
.contact-sidebar { overflow: hidden; }
.contact-sidebar dl { margin: 0; padding: 8px 20px 18px; }
.contact-sidebar dl div { padding: 13px 0; border-bottom: 1px solid #efedf1; }
.contact-sidebar dt { color: #9994a0; font-size: 8px; font-weight: 800; text-transform: uppercase; letter-spacing: .07em; }
.contact-sidebar dd { margin: 4px 0 0; overflow-wrap: anywhere; color: var(--admin-ink); font-size: 11px; font-weight: 700; }
.contact-sidebar dd a { color: var(--admin-primary); }
.contact-copy-link { display: block; margin: 0 20px 20px; padding: 11px; border-radius: 9px; color: #087458; background: #e2f7ef; font-size: 10px; font-weight: 800; text-align: center; }

.administrators-intro {
  min-height: 58px; display: flex; align-items: center; justify-content: space-between; gap: 20px;
  margin-bottom: 20px;
}
.administrators-intro p { color: var(--admin-muted); }
.administrators-intro small { color: #9b96a1; }
.administrators-list { padding: 7px 18px 18px; }
.administrators-list article {
  display: grid; grid-template-columns: 45px minmax(170px, 1fr) minmax(150px, .8fr) auto;
  gap: 12px; align-items: center; padding: 15px 0; border-bottom: 1px solid #efedf1;
}
.administrators-list article:last-child { border-bottom: 0; }
.administrator-avatar {
  width: 43px; height: 43px; display: grid; place-items: center;
  border-radius: 13px; color: white; background: var(--admin-gradient); font: 800 14px "Manrope";
}
.administrator-identity, .administrator-access { min-width: 0; display: flex; flex-direction: column; }
.administrator-identity > div { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; }
.administrator-identity strong { overflow: hidden; text-overflow: ellipsis; font-size: 12px; white-space: nowrap; }
.administrator-identity small, .administrator-access small { overflow: hidden; text-overflow: ellipsis; color: var(--admin-muted); font-size: 9px; white-space: nowrap; }
.administrator-access { align-items: flex-start; gap: 5px; }
.current-user { padding: 2px 7px; border-radius: 999px; color: var(--admin-primary); background: #f0e9fa; font-size: 8px; font-weight: 800; text-transform: uppercase; }

.promotion-form-grid { display: grid; grid-template-columns: .95fr 1.05fr; gap: 18px; align-items: start; }
.product-selector { padding: 0; overflow: hidden; }
.selector-search { width: calc(100% - 38px); height: 43px; display: flex; align-items: center; gap: 8px; margin: 17px 19px; padding: 0 12px; }
.selector-search input { width: 100%; border: 0; outline: 0; }
.selector-list { max-height: 500px; overflow-y: auto; padding: 0 18px 18px; }
.selector-list label { position: relative; display: grid; grid-template-columns: 22px 44px 1fr 22px; gap: 10px; align-items: center; padding: 10px; border-bottom: 1px solid #efedf1; cursor: pointer; }
.selector-list label:hover { background: #faf8fc; }
.selector-list input { width: 17px; height: 17px; accent-color: var(--admin-primary); }
.selector-list img { width: 40px; height: 48px; object-fit: contain; border-radius: 6px; background: #f3eef7; }
.selector-list label div { min-width: 0; display: flex; flex-direction: column; }
.selector-list strong { overflow: hidden; text-overflow: ellipsis; font-size: 11px; white-space: nowrap; }
.selector-list small { color: var(--admin-muted); font-size: 9px; }
.selector-list label > span { color: var(--admin-primary); opacity: 0; }
.selector-list input:checked ~ span { opacity: 1; }

.settings-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; align-items: start; }
.color-input { display: grid; grid-template-columns: 52px 1fr; }
.color-input input[type="color"] { height: 43px; padding: 4px; border-radius: 9px 0 0 9px; }
.color-input input[readonly] { border-radius: 0 9px 9px 0; background: #faf9fb; }
.brand-preview { display: flex; align-items: center; gap: 15px; margin-top: 20px; padding: 15px; border-radius: 11px; background: #f7f5f9; }
.brand-preview img { width: 120px; height: 60px; object-fit: contain; border-radius: 8px; background: white; }
.brand-preview div { display: flex; flex-direction: column; }
.brand-preview small { color: var(--admin-muted); font-size: 9px; }

.security-layout { max-width: 900px; display: grid; grid-template-columns: 1fr .75fr; gap: 20px; align-items: start; margin: 30px auto; }
.security-form { padding: 30px; }
.security-tips { padding: 32px; border-radius: 18px; color: white; background: linear-gradient(145deg, #332644, #70276f); box-shadow: var(--admin-shadow); }
.security-tips > span { color: #ffba7a; font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; }
.security-tips h2 { margin-top: 7px; font-size: 28px; }
.security-tips ul { display: grid; gap: 13px; margin: 25px 0 0; padding-left: 18px; color: rgba(255,255,255,.7); }
.password-field { display: grid; grid-template-columns: 1fr 43px; }
.password-field input { border-radius: 9px 0 0 9px !important; }
.password-field button { border: 1px solid #dedbe2; border-left: 0; border-radius: 0 9px 9px 0; background: #f8f6f9; color: var(--admin-muted); }

.login-body { min-height: 100vh; background: #faf8fb; }
.login-shell { min-height: 100vh; display: grid; grid-template-columns: 1.05fr .95fr; }
.login-visual { position: relative; overflow: hidden; display: flex; align-items: center; padding: 8vw; color: white; background: linear-gradient(135deg, #2d223d 0%, #59245d 50%, #a72b7a 100%); }
.login-visual::after { content: ""; position: absolute; inset: 0; background-image: radial-gradient(rgba(255,255,255,.15) 1px, transparent 1px); background-size: 24px 24px; mask-image: linear-gradient(135deg, transparent, #000); }
.login-visual-content { position: relative; z-index: 2; max-width: 600px; }
.login-visual img { width: 190px; height: 90px; object-fit: contain; padding: 6px; border-radius: 13px; background: white; }
.login-visual-content > span { display: block; margin-top: 50px; color: #ffc185; font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .13em; }
.login-visual h1 { margin-top: 10px; font-size: clamp(48px, 5.5vw, 72px); }
.login-visual p { max-width: 540px; margin-top: 20px; color: rgba(255,255,255,.65); font-size: 17px; }
.login-shape { position: absolute; border-radius: 50%; }
.login-shape.one { width: 450px; height: 450px; right: -200px; top: -170px; border: 1px solid rgba(255,255,255,.17); box-shadow: 0 0 0 60px rgba(255,255,255,.025), 0 0 0 120px rgba(255,255,255,.02); }
.login-shape.two { width: 220px; height: 220px; left: -80px; bottom: -90px; background: rgba(249,115,22,.13); }
.login-form-side { display: grid; place-items: center; padding: 50px; }
.login-form { width: min(420px, 100%); }
.back-site { display: inline-block; margin-bottom: 55px; color: var(--admin-muted); font-weight: 700; }
.login-kicker { color: var(--admin-pink); font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .12em; }
.login-form h2 { margin-top: 7px; font-size: 39px; }
.login-form > p { margin: 10px 0 28px; color: var(--admin-muted); }
.login-form > label { display: flex; flex-direction: column; gap: 7px; margin-top: 15px; color: #514d58; font-size: 11px; font-weight: 700; }
.login-form > label > input, .login-form .password-field input { width: 100%; height: 49px; padding: 0 13px; border: 1px solid #ddd8e2; border-radius: 10px; outline: 0; }
.login-form > label input:focus { border-color: var(--admin-primary); box-shadow: 0 0 0 3px rgba(109,40,217,.07); }
.admin-primary-button { width: 100%; min-height: 51px; margin-top: 23px; border: 0; border-radius: 11px; color: white; background: var(--admin-gradient); font-weight: 800; box-shadow: 0 10px 24px rgba(199,43,119,.2); }
.login-form > small { display: block; margin-top: 15px; color: #9a96a0; text-align: center; }

@media (max-width: 1100px) {
  .stats-grid { grid-template-columns: repeat(2, 1fr); }
  .dashboard-grid { grid-template-columns: 1fr; }
  .large-card { grid-row: auto; }
  .admin-form-layout { grid-template-columns: 1fr 300px; }
  .promotion-form-grid { grid-template-columns: 1fr; }
  .product-selector { max-width: none; }
}

@media (max-width: 900px) {
  .admin-sidebar { transform: translateX(-102%); transition: transform .25s; box-shadow: 20px 0 50px rgba(23,16,32,.2); }
  .admin-sidebar.is-open { transform: translateX(0); }
  .sidebar-overlay { position: fixed; z-index: 39; inset: 0; display: block; visibility: hidden; opacity: 0; background: rgba(22,16,29,.45); transition: .2s; }
  .sidebar-overlay.is-open { visibility: visible; opacity: 1; }
  .admin-shell { margin-left: 0; }
  .sidebar-toggle { display: block; }
  .admin-form-layout, .two-panel-layout, .settings-grid { grid-template-columns: 1fr; }
  .message-detail-layout { grid-template-columns: 1fr; }
  .sticky-form { position: static; }
  .form-aside { grid-template-columns: repeat(2, 1fr); }
  .form-aside .form-section:last-child { grid-column: 1 / -1; }
  .login-shell { grid-template-columns: .85fr 1.15fr; }
  .login-visual { padding: 50px; }
  .login-visual h1 { font-size: 48px; }
}

@media (max-width: 680px) {
  .admin-content { padding: 20px 14px 50px; }
  .admin-topbar { min-height: 72px; padding: 10px 14px; }
  .admin-topbar h1 { font-size: 19px; }
  .admin-profile div { display: none; }
  .dashboard-actions, .admin-page-actions, .form-action-bar { align-items: flex-start; flex-direction: column; }
  .dashboard-actions > div, .form-action-bar > div { width: 100%; }
  .dashboard-actions .admin-button, .form-action-bar .admin-button { flex: 1; }
  .stats-grid { grid-template-columns: 1fr 1fr; gap: 9px; }
  .stats-grid article { min-height: 115px; align-items: flex-start; flex-direction: column; gap: 8px; padding: 15px; }
  .stat-icon { width: 37px; height: 37px; border-radius: 10px; }
  .stats-grid strong { font-size: 23px; }
  .admin-filters { width: 100%; align-items: stretch; flex-direction: column; }
  .admin-filters select, .admin-search, .admin-filters .admin-button { width: 100%; }
  .admin-page-actions > .admin-button { width: 100%; }
  .message-stats { grid-template-columns: 1fr 1fr; }
  .inbox-message { grid-template-columns: 42px 1fr auto; min-height: 110px; }
  .inbox-sender { grid-column: 2; }
  .inbox-content { grid-column: 2 / -1; }
  .inbox-date { grid-column: 3; grid-row: 1; }
  .inbox-arrow { display: none; }
  .message-view-actions { align-items: flex-start; flex-direction: column; }
  .message-reader > footer { align-items: flex-start; flex-direction: column; }
  .form-aside { grid-template-columns: 1fr; }
  .form-aside .form-section:last-child { grid-column: auto; }
  .admin-form-grid { grid-template-columns: 1fr; }
  .span-2 { grid-column: auto; }
  .form-section { padding: 18px; }
  .category-admin-list > div { grid-template-columns: 40px 1fr auto; }
  .category-admin-list .status { display: none; }
  .category-admin-list .row-actions { grid-column: 2 / -1; }
  .administrators-intro { align-items: flex-start; flex-direction: column; }
  .administrators-list article { grid-template-columns: 43px 1fr auto; }
  .administrator-access { grid-column: 2 / -1; }
  .administrators-list .row-actions { grid-column: 2 / -1; }
  .security-layout { grid-template-columns: 1fr; }
  .login-shell { grid-template-columns: 1fr; }
  .login-visual { min-height: 340px; padding: 35px 25px; }
  .login-visual img { width: 150px; height: 65px; }
  .login-visual-content > span { margin-top: 30px; }
  .login-visual h1 { font-size: 39px; }
  .login-visual p { font-size: 14px; }
  .login-form-side { padding: 45px 22px; }
  .back-site { margin-bottom: 35px; }
}
