@charset "UTF-8";
* { box-sizing: border-box; }
body { margin: 0; font-family: 'Ubuntu', 'Cairo', sans-serif; background: #f6f7fb; color: #1c2333; }
.container { max-width: 1100px; margin: 2rem auto; padding: 0 1rem; }
.topnav { display: flex; gap: 1rem; align-items: center; background: #10182b; color: #fff; padding: .7rem 1.2rem; flex-wrap: wrap; }
.topnav a { color: #cdd7ff; text-decoration: none; }
.topnav .brand { font-weight: 700; }
.linklike { background: none; border: 0; color: #cdd7ff; cursor: pointer; font: inherit; }
h1 { font-size: 1.4rem; }
.auth-card { max-width: 420px; margin: 4rem auto; background: #fff; padding: 2rem; border-radius: 12px; box-shadow: 0 8px 30px rgba(16,24,43,.08); }
.auth-card form { display: grid; gap: .6rem; }
input, textarea, select { width: 100%; padding: .55rem .7rem; border: 1px solid #c8cfdd; border-radius: 8px; font: inherit; }
input.ltr { direction: ltr; text-align: left; font-family: 'Ubuntu', monospace; }
.pw-wrap { position: relative; }
.pw-toggle { position: absolute; inset-inline-start: .4rem; top: 50%; transform: translateY(-50%); background: none; border: 0; cursor: pointer; font-size: 1.1rem; }
.phone-wrap { display: flex; gap: .5rem; }
.phone-wrap .form-control { flex: 1; }
.phone-wrap .phone-code { flex: 0 0 auto; width: 6.5em; text-align: center; }
.otp-input { letter-spacing: .5em; text-align: center; font-size: 1.4rem; }
.btn { display: inline-block; background: #e8ecf6; color: #10182b; border: 0; border-radius: 8px; padding: .5rem 1rem; cursor: pointer; text-decoration: none; font: inherit; }
.btn.primary { background: #2447f5; color: #fff; }
.btn.danger { background: #d92d20; color: #fff; }
.btn.small { padding: .2rem .6rem; }
.btn.ghost { background: transparent; border: 1px solid #c8cfdd; }
.alert { padding: .7rem 1rem; border-radius: 8px; margin: .6rem 0; background: #e7f6ec; color: #146c2e; }
.alert.error, .alert.errorlist { background: #fdecea; color: #b42318; }
.table { width: 100%; border-collapse: collapse; background: #fff; border-radius: 10px; overflow: hidden; box-shadow: 0 1px 4px rgba(16,24,43,.06); }
.table th, .table td { padding: .6rem .8rem; border-bottom: 1px solid #edf0f6; text-align: start; }
.table th { background: #f0f3fa; font-weight: 600; }
.cards { display: flex; gap: 1rem; margin: 1rem 0; }
.card { background: #fff; padding: 1.2rem 2rem; border-radius: 12px; box-shadow: 0 1px 4px rgba(16,24,43,.06); text-align: center; }
.card .num { font-size: 2rem; font-weight: 700; color: #2447f5; }
.filters { display: flex; gap: .5rem; flex-wrap: wrap; margin: 1rem 0; }
.filters input { width: auto; flex: 1 1 140px; }
.form-grid { display: grid; gap: .8rem; max-width: 640px; background: #fff; padding: 1.5rem; border-radius: 12px; box-shadow: 0 1px 4px rgba(16,24,43,.06); }
.muted { color: #667085; }
.inline { display: inline; }
.token { display: block; background: #10182b; color: #7ef0c1; padding: 1rem; border-radius: 8px; word-break: break-all; }
.pagination { margin: 1rem 0; display: flex; gap: 1rem; align-items: center; }
@media (max-width: 700px) { .cards { flex-direction: column; } }

/* ============ Landing page ============ */
body.landing { background: #f6f7fb; }
.landing a { text-decoration: none; }
.ld-nav { background: #10182b; color: #fff; position: sticky; top: 0; z-index: 20; }
.ld-nav-inner { max-width: 1160px; margin: auto; display: flex; align-items: center; gap: 2rem; padding: .8rem 1.2rem; flex-wrap: wrap; }
.ld-brand { font-weight: 800; font-size: 1.15rem; color: #fff; }
.ld-brand .ld-logo { height: 68px; width: auto; vertical-align: middle; }
.ld-logo.small { height: 68px; width: auto; vertical-align: middle; }
.side-logo-img, .brand-img { height: 68px; width: auto; object-fit: contain; }
.ld-links { display: flex; gap: 1.2rem; margin-inline-start: auto; }
.ld-links a { color: #cdd7ff; }
.ld-links a:hover { color: #fff; }
.ld-cta { display: flex; gap: .6rem; }

.ld-hero { background: radial-gradient(1200px 500px at 80% -10%, #1f3aa8 0%, #10182b 60%); color: #fff; }
.ld-hero-inner { max-width: 1160px; margin: auto; padding: 4.5rem 1.2rem 4rem; display: grid; grid-template-columns: 1.4fr 1fr; gap: 2.5rem; align-items: center; }
.ld-eyebrow { color: #9fb3ff; font-weight: 700; letter-spacing: .02em; }
.ld-hero h1 { font-size: 2.6rem; line-height: 1.25; margin: .6rem 0; }
.ld-lead { color: #d4dcff; font-size: 1.05rem; max-width: 34rem; line-height: 1.8; }
.ld-hero-actions { display: flex; gap: .8rem; margin-top: 1.6rem; flex-wrap: wrap; }
.btn.big { padding: .7rem 1.4rem; font-size: 1.05rem; }
.btn.primary:hover { background: #1d3bd0; }
.ld-hero-stats { display: grid; grid-template-columns: 1fr 1fr; gap: .9rem; }
.stat-chip { background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.14); border-radius: 14px; padding: 1.2rem 1rem; text-align: center; }
.stat-num { display: block; font-size: 2rem; font-weight: 800; color: #8db2ff; }
.stat-chip span:last-child { color: #c9d4ff; font-size: .9rem; }

.ld-section { max-width: 1160px; margin: auto; padding: 3.5rem 1.2rem; }
.ld-section.alt { background: #ffffff; }
.ld-section-head { text-align: center; margin-bottom: 2rem; }
.ld-section-head h2 { font-size: 1.8rem; margin: 0 0 .3rem; }

.goal-grid, .feat-grid { display: grid; gap: 1.2rem; }
.goal-grid { grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); }
.feats { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); }
.goal-card, .feat-row { background: #fff; border-radius: 14px; box-shadow: 0 8px 26px rgba(16,24,43,.07); padding: 1.4rem; }
.goal-ic { font-size: 1.8rem; }
.goal-card h3, .feat-row h3 { margin: .6rem 0 .3rem; color: #10182b; }
.goal-card p, .feat-row p { color: #556; margin: 0; line-height: 1.8; }
.feat-row { display: flex; gap: 1rem; align-items: flex-start; }
.feat-ico { font-size: 1.7rem; background: #eef2ff; border-radius: 12px; padding: .5rem .7rem; }

.stats-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 1rem; margin-bottom: 2rem; }
.big-stat .num { font-size: 2.6rem; }
.charts-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
.chart-box { background: #fff; border-radius: 14px; box-shadow: 0 4px 18px rgba(16,24,43,.06); padding: 1.5rem; }
.chart-box h3 { margin: 0 0 1rem; font-size: 1.05rem; }

.bar-chart { display: grid; gap: .7rem; }
.bar-row { display: grid; grid-template-columns: 96px 1fr 40px; gap: .6rem; align-items: center; }
.bar-label { font-size: .85rem; color: #556; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bar-track { background: #eef1f8; border-radius: 8px; height: 22px; overflow: hidden; }
.bar-fill { height: 100%; background: linear-gradient(90deg, #2447f5, #6d8bff); border-radius: 8px; min-width: 2px; }
.bar-num { font-weight: 700; color: #10182b; text-align: end; }

.donut-wrap { position: relative; width: 190px; height: 190px; margin: .4rem auto 1rem; }
.donut { position: absolute; inset: 0; border-radius: 50%; }
.donut-hole { position: absolute; inset: 34px; background: #fff; border-radius: 50%; }
.donut-center { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; font-size: 1.5rem; font-weight: 800; color: #10182b; }
.donut-center small { font-size: .75rem; color: #667085; font-weight: 400; }
.legend { list-style: none; margin: 0; padding: 0; display: grid; gap: .5rem; }
.legend li { display: flex; align-items: center; gap: .6rem; font-size: .95rem; color: #33324a; }
.legend .dot { width: 14px; height: 14px; border-radius: 4px; flex-shrink: 0; }
.legend .legend-n { margin-inline-start: auto; font-weight: 700; color: #10182b; }
.empty-chart { text-align: center; padding: 1.5rem .5rem; }

.ld-cta-band { background: linear-gradient(90deg, #2447f5, #10182b); color: #fff; text-align: center; padding: 3rem 1.2rem; }
.ld-cta-band h2 { margin: 0 0 .4rem; font-size: 1.7rem; }
.ld-cta-band p { color: #d4dcff; margin: 0 0 1.2rem; }
.btn.ghost.light { border-color: rgba(255,255,255,.5); color: #fff; }

.ld-footer { border-top: 1px solid #e3e7f0; }
.ld-footer-inner { max-width: 1160px; margin: auto; padding: 1.4rem 1.2rem; display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }

.error-box { max-width: 560px; margin: 5rem auto; background: #fff; border-radius: 14px; box-shadow: 0 8px 30px rgba(16,24,43,.08); padding: 2.5rem; text-align: center; }
.error-code { font-size: 3.4rem; font-weight: 800; color: #2447f5; }
.error-box h1 { margin: .4rem 0; }
.error-box p { line-height: 1.8; margin-bottom: 1.4rem; }

@media (max-width: 860px) {
  .ld-hero-inner { grid-template-columns: 1fr; padding-top: 3rem; }
  .ld-hero h1 { font-size: 2rem; }
  .charts-grid { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  .ld-links { order: 3; width: 100%; justify-content: center; margin: 0; }
  .ld-hero-stats { grid-template-columns: 1fr; }
}

/* ============ Internal UI refresh ============ */
.topnav { position: sticky; top: 0; z-index: 50; box-shadow: 0 2px 14px rgba(16,24,43,.25); gap: 1.2rem; }
.brand { display: inline-flex; align-items: center; gap: .45rem; color: #fff !important; font-weight: 800; font-size: 1.05rem; text-decoration: none; white-space: nowrap; }
.brand-ic { color: #8db2ff; }
.nav-links { display: flex; gap: .15rem; flex-wrap: wrap; }
.topnav .nav-links a { padding: .45rem .75rem; border-radius: 9px; transition: background .15s, color .15s; }
.topnav .nav-links a:hover { background: rgba(255,255,255,.08); color: #fff; }
.topnav .nav-links a.active { background: rgba(255,255,255,.12); color: #fff; font-weight: 700; }
.topnav .nav-admin { color: #7ef0c1; }
.nav-actions { display: flex; align-items: center; gap: .8rem; margin-inline-start: auto; flex-wrap: wrap; }
.linklike { padding: .45rem .65rem; border-radius: 9px; text-decoration: none; }
.linklike:hover { background: rgba(255,255,255,.1); color: #fff; }

.anon-nav { display: flex; align-items: center; gap: 1rem; background: #10182b; color: #fff; padding: .75rem 1.2rem; box-shadow: 0 2px 14px rgba(16,24,43,.25); }
.anon-nav .brand { margin-inline-end: auto; }

h1 { font-weight: 800; color: #10182b; margin: .4rem 0 1rem; }
h2 { font-weight: 800; color: #10182b; }

.table-wrap { overflow-x: auto; margin: .8rem 0; border-radius: 10px; }
.table { font-size: .92rem; }
.table th { font-weight: 700; color: #10182b; white-space: nowrap; }
.table th, .table td { padding: .65rem .9rem; }
.table tbody tr:hover { background: #f5f8ff; }
.table a:not(.btn) { color: #2447f5; text-decoration: none; }
.table a:not(.btn):hover { text-decoration: underline; }

.cards { margin: 1.2rem 0; }
.card { transition: box-shadow .15s, transform .15s; }
.card:hover { box-shadow: 0 10px 28px rgba(16,24,43,.12); transform: translateY(-2px); }

.btn { transition: transform .12s, box-shadow .12s, background .12s; border-radius: 10px; font-weight: 600; }
.btn:hover { transform: translateY(-1px); box-shadow: 0 4px 12px rgba(16,24,43,.12); }

.form-grid { border: 1px solid #eef1f7; box-shadow: 0 4px 16px rgba(16,24,43,.06); }
.form-grid label { font-weight: 600; color: #10182b; font-size: .95rem; }
.form-grid label > input, .form-grid label > textarea, .form-grid label > select { font-weight: 400; margin-top: .3rem; }
input:focus, textarea:focus, select:focus { outline: 2px solid #2447f5; outline-offset: 0; border-color: #2447f5; }
.filters input { height: 40px; }
.filters .btn { height: 40px; display: inline-flex; align-items: center; }
.alert { border: 1px solid transparent; }
.alert.success { border-color: #b7e4c7; }
.alert.error { border-color: #f5c3bf; }
.muted a { color: #2447f5; }

.pagination { padding: 1rem 0; display: flex; gap: .5rem; align-items: center; flex-wrap: wrap; }
.pagination .btn { margin: 0 .15rem; }
.pagination > a { color: #2447f5; text-decoration: none; font-weight: 600; }
.pagination > a:hover { text-decoration: underline; }
.page-links { display: inline-flex; gap: .25rem; align-items: center; flex-wrap: wrap; }
.page-links a, .page-links .cur, .page-links .dots { min-width: 32px; height: 32px; padding: 0 .5rem; display: inline-flex; align-items: center; justify-content: center; border-radius: 8px; font-size: .9rem; text-decoration: none; }
.page-links a { background: #fff; border: 1px solid #e3e7f0; color: #2447f5; }
.page-links a:hover { background: #eef2ff; border-color: #d5e0ff; }
.page-links .cur { background: #2447f5; color: #fff; font-weight: 700; border: 1px solid #2447f5; }
.page-links .dots { color: #667085; border: 0; }
.pagination .pi { color: #667085; font-size: .85rem; }
.filters select { height: 40px; width: auto; flex: 1 1 200px; }
.inbox-tools { align-items: stretch; }
.inbox-tools .filters { align-items: center; }
.inbox-tools .btn.primary { height: 40px; display: inline-flex; align-items: center; }

.inbox-bulk { display: flex; align-items: center; gap: .9rem; background: #fff; border: 1px solid #eef1f7; border-radius: 12px; padding: .55rem .9rem; margin: .8rem 0; flex-wrap: wrap; box-shadow: 0 1px 4px rgba(16,24,43,.06); }
.inbox-bulk .bulk-sel-wrap { display: inline-flex; align-items: center; gap: .35rem; font-weight: 700; white-space: nowrap; }
.inbox-bulk .bulk-label { display: inline; white-space: nowrap; }
.inbox-bulk #bulk-delete-form { display: flex; align-items: center; gap: .6rem; flex-wrap: nowrap; white-space: nowrap; }
.approval-head .bulk-sel-wrap { padding: .1rem .25rem; }

.empty { text-align: center; color: #667085; padding: 2.5rem 1rem; font-size: .95rem; }

/* ============ Record search form ============ */
.search-form { background: #fff; border: 1px solid #eef1f7; border-radius: 14px; padding: 1rem 1.1rem; display: grid; gap: .85rem; box-shadow: 0 2px 8px rgba(16,24,43,.05); margin: .4rem 0 1.2rem; }
.sf-block { min-width: 0; }
.sf-label { font-size: .8rem; font-weight: 800; color: #667085; margin-bottom: .4rem; display: block; }
.sf-row { display: grid; gap: .5rem; grid-template-columns: repeat(3, 1fr); }
.sf-row select { height: 42px; }
.sf-q { height: 44px; font-size: .98rem; }
.sf-actions { display: flex; gap: .5rem; align-items: center; flex-wrap: wrap; }
.sf-count { color: #667085; font-size: .86rem; font-weight: 600; margin-inline-start: .4rem; }
.sf-spacer { flex: 1; }
.sf-row.sf-split { grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); }
@media (max-width: 720px) { .sf-row { grid-template-columns: 1fr; } }
@media (max-width: 720px) { .sf-row.sf-split { grid-template-columns: 1fr; } }

/* ============ List control (التحكم باللوائح) ============ */
.lc { background: #fff; border: 1px solid #f2dcd8; border-radius: 14px; margin: .4rem 0 1.2rem; overflow: hidden; box-shadow: 0 2px 8px rgba(16, 24, 43, .05); }
.lc > summary { cursor: pointer; padding: .8rem 1.1rem; font-weight: 800; color: #b42318; background: #fdf3f2; list-style: none; }
.lc > summary::-webkit-details-marker { display: none; }
.lc > summary:hover { background: #fbebe8; }
.lc-body { padding: 1rem 1.1rem; border-top: 1px solid #f2dcd8; }
.lc-grid { display: grid; gap: 1.2rem; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
.lc-col h4 { margin: 0 0 .6rem; color: #10182b; font-size: .95rem; }
.lc-actions { display: flex; gap: .5rem; align-items: center; margin-top: .7rem; flex-wrap: wrap; }
.lc-count { color: #b42318; font-size: .85rem; font-weight: 700; }

/* Import preview column mapping */
.import-preview th, .import-preview td { min-width: 130px; vertical-align: top; white-space: normal; }
.col-cell { text-align: center; }
.col-map { font-size: .85rem; padding: .35rem .4rem; }
.col-hint { margin-top: .35rem; display: grid; gap: .2rem; justify-items: center; }
.col-badge { display: inline-block; background: #eef2ff; color: #2447f5; border: 1px solid #d5e0ff; border-radius: 999px; padding: .1rem .6rem; font-size: .78rem; font-weight: 700; }
.col-name { color: #667085; font-size: .8rem; word-break: break-all; max-width: 160px; }

/* ============ Elect LB admin shell ============ */
#header { background: #10182b !important; color: #fff; }
#header a, #user-tools a { color: #cdd7ff; }
#branding h1, #branding h1 a { color: #fff; font-weight: 800; font-family: 'Ubuntu', 'Cairo', sans-serif; }
#content, .module, #changelist, #content-main { font-family: 'Ubuntu', 'Cairo', sans-serif; }
#content h1, #content h2, #content-main h1 { font-weight: 800; color: #10182b; }
.module caption { background: #2447f5 !important; font-family: 'Ubuntu', 'Cairo', sans-serif; font-weight: 700; }
#changelist .toplinks, .module h2, .module caption, .inline-group h2 { font-family: 'Ubuntu', 'Cairo', sans-serif; }
.button, input[type=submit], input[type=button], .submit-row input, .object-tools a, .button.default { font-family: 'Ubuntu', 'Cairo', sans-serif !important; border-radius: 10px; }
.button.default:active, .button.default:focus, .button.default:hover, input[type=submit].default:active { background: #1d3bd0; }
.logged-in #footer { color: #667085; }
.field-errors, .errorlist { font-size: .85rem; }

/* Modern Elect LB admin (framed) */
#content { font-family: 'Ubuntu', 'Cairo', sans-serif; padding: 1.2rem 1.4rem 2rem; }
#content-main { background: transparent; }
.module { border-radius: 14px; border: 1px solid #edf0f6; box-shadow: 0 4px 18px rgba(16,24,43,.06); margin: 0 0 1.2rem; overflow: hidden; }
.module h2, .module caption { border-radius: 14px 14px 0 0; padding: .7rem 1rem; }
#changelist { border-radius: 14px; box-shadow: 0 4px 18px rgba(16,24,43,.06); border: 1px solid #edf0f6; }
#changelist table { border-radius: 12px; overflow: hidden; }
.module table td, .module table th, #result_list td, #result_list th { padding: .6rem .85rem; }
#result_list tbody tr:hover { background: #f5f8ff; }
.object-tools a, .button, input[type=submit], input[type=button], .submit-row input { border-radius: 10px; font-family: 'Ubuntu', 'Cairo', sans-serif; }
.breadcrumbs { border-radius: 10px; background: #eef2ff; color: #2447f5; margin: 0 0 1rem; padding: .5rem .8rem; }
.breadcrumbs a { color: #2447f5; }
input[type=text], input[type=email], input[type=password], input[type=number], textarea, select, .vTextField, .vLargeTextField, .vURLField { font-family: 'Ubuntu', 'Cairo', sans-serif; border-radius: 10px; border: 1px solid #c8cfdd; padding: .45rem .7rem; }
.aligned label { font-weight: 600; }
.form-row { padding: .7rem 0; }
.paginator { border-radius: 12px; }
.admin-interface #footer { color: #667085; }
.submit-row { background: #f6f7fb; padding: .8rem; border-radius: 0 0 12px 12px; }

/* ============ App shell (sidebar + topbar, Laravel-style) ============ */
body.app .sidebar { position: fixed; top: 0; bottom: 0; inset-inline-start: 0; width: 264px; z-index: 60; overflow-y: auto; background: linear-gradient(180deg, #17203a 0%, #10182b 100%); color: #cdd7ff; display: flex; flex-direction: column; transition: transform .22s ease; }
body.app .shell-main { margin-inline-start: 264px; min-width: 0; display: flex; flex-direction: column; }
.side-brand { display: flex; align-items: center; gap: .6rem; padding: 1rem 1.1rem; border-bottom: 1px solid rgba(255,255,255,.08); }
.side-logo { width: 40px; height: 40px; border-radius: 11px; background: linear-gradient(135deg, #2447f5, #6d8bff); display: inline-flex; align-items: center; justify-content: center; font-size: 1.2rem; color: #fff; flex-shrink: 0; }
.side-name { color: #fff; font-weight: 800; font-size: 1.02rem; }
.side-sub { font-size: .72rem; color: #93a5cc; }
.side-close { display: none; margin-inline-start: auto; background: none; border: 0; color: #93a5cc; font-size: 1.1rem; cursor: pointer; }
.side-nav { flex: 1; padding: .8rem .6rem 1rem; overflow-y: auto; }
.side-group { font-size: .72rem; font-weight: 700; color: #667599; text-transform: uppercase; letter-spacing: .06em; margin: 1rem .7rem .35rem; }
.side-link { display: flex; align-items: center; gap: .7rem; padding: .6rem .8rem; border-radius: 10px; color: #cdd7ff; text-decoration: none; font-size: .93rem; transition: background .15s, color .15s; margin-bottom: .15rem; }
.side-link:hover { background: rgba(255,255,255,.07); color: #fff; }
.side-link.active { background: linear-gradient(90deg, #2447f5, #3b5cf0); color: #fff; font-weight: 700; box-shadow: 0 4px 12px rgba(36,71,245,.35); }
.side-ic { width: 26px; text-align: center; font-size: 1rem; }
.side-foot { padding: .8rem 1rem .9rem; border-top: 1px solid rgba(255,255,255,.08); display: grid; gap: .7rem; }
.side-user { display: flex; align-items: center; gap: .6rem; }
.avatar { width: 38px; height: 38px; border-radius: 50%; background: linear-gradient(135deg, #f5b64c, #f3834c); color: #fff; display: inline-flex; align-items: center; justify-content: center; font-weight: 800; flex-shrink: 0; }
.avatar.small { width: 30px; height: 30px; }
.side-user-name { color: #fff; font-weight: 700; font-size: .82rem; direction: ltr; text-align: start; }
.side-user-role { color: #93a5cc; font-size: .75rem; }
.side-logout { width: 100%; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.12); color: #ff9d8f; border-radius: 10px; padding: .5rem; cursor: pointer; font: inherit; transition: background .15s; display: flex; align-items: center; gap: .5rem; justify-content: flex-start; }
.side-logout:hover { background: rgba(255,80,80,.15); }

.collapse-btn { display: inline-flex; background: #f0f3fa; border: 0; border-radius: 9px; width: 40px; height: 40px; align-items: center; justify-content: center; cursor: pointer; color: #10182b; font-size: 1.05rem; }
.collapse-btn span { display: inline-block; transition: transform .2s; }
body.app.collapsed .collapse-btn span { transform: rotate(180deg); }

@media (min-width: 1101px) {
  body.app.collapsed .sidebar { width: 78px; }
  body.app.collapsed .shell-main { margin-inline-start: 78px; }
  body.app.collapsed .side-brand { justify-content: center; }
  body.app.collapsed .side-brand-txt, body.app.collapsed .side-label,
  body.app.collapsed .side-group, body.app.collapsed .side-user-txt { display: none; }
  body.app.collapsed .side-link { justify-content: center; padding: .6rem 0; }
  body.app.collapsed .side-ic { width: auto; }
  body.app.collapsed .side-foot { padding: .8rem .4rem; align-items: center; }
  body.app.collapsed .side-user { justify-content: center; }
  body.app.collapsed .side-logout { width: 36px; height: 36px; padding: 0; justify-content: center; margin-inline: auto; }
  body.app.collapsed .side-logout .side-label { display: none; }
  body.app.collapsed .side-logout-ic { font-size: 1rem; }
}
@media (max-width: 1100px) { .collapse-btn { display: none; } body.app.collapsed .shell-main { margin-inline-start: 0; } }

/* Framed admin shell */
.admin-frame { width: 100%; height: calc(100vh - 150px); min-height: 560px; border: 1px solid #e3e7f0; border-radius: 14px; box-shadow: 0 4px 18px rgba(16,24,43,.06); background: #fff; }

.shell-main { min-width: 0; display: flex; flex-direction: column; }
.topbar { position: sticky; top: 0; z-index: 40; display: flex; align-items: center; gap: 1rem; background: #fff; padding: .7rem 1.4rem; box-shadow: 0 2px 10px rgba(16,24,43,.07); }
.hamburger { display: none; background: #f0f3fa; border: 0; border-radius: 9px; width: 40px; height: 40px; font-size: 1.1rem; cursor: pointer; color: #10182b; }
.topbar-title { font-weight: 800; color: #10182b; font-size: 1.05rem; }
.topbar-actions { display: flex; align-items: center; gap: .9rem; margin-inline-start: auto; }
.top-role { background: #eef2ff; color: #2447f5; border-radius: 999px; padding: .28rem .75rem; font-size: .8rem; font-weight: 700; }
.top-user { display: flex; align-items: center; gap: .5rem; text-decoration: none; background: #f5f7fc; border: 1px solid #e8ecf6; border-radius: 999px; padding: .25rem .7rem .25rem .35rem; }
.top-email { color: #1c2333; font-weight: 600; font-size: .8rem; direction: ltr; }

.content { padding: 1.6rem 1.6rem 3rem; min-width: 0; }

.side-overlay { display: none; }

body { font-family: 'Ubuntu', 'Cairo', sans-serif; }

/* Dashboard stats */
.stat-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 1rem; margin: 1.2rem 0; }
.stat-card { background: #fff; border: 1px solid #edf0f6; border-radius: 14px; padding: 1.1rem 1.2rem; display: flex; align-items: center; gap: .9rem; box-shadow: 0 2px 8px rgba(16,24,43,.05); transition: transform .15s, box-shadow .15s; }
.stat-card:hover { transform: translateY(-2px); box-shadow: 0 10px 26px rgba(16,24,43,.11); }
.stat-ic { width: 46px; height: 46px; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center; font-size: 1.35rem; flex-shrink: 0; }
.stat-ic.blue { background: #eef2ff; }
.stat-ic.green { background: #e7f6ec; }
.stat-ic.violet { background: #f3eefe; }
.stat-ic.orange { background: #fff3e6; }
.stat-meta { display: grid; gap: .1rem; }
.stat-num { font-size: 1.55rem; font-weight: 800; color: #10182b; line-height: 1; }
.stat-lbl { color: #667085; font-size: .85rem; }

.quick-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 1rem; margin: 1.4rem 0; }
.quick-card { background: #fff; border: 1px solid #edf0f6; border-radius: 14px; padding: 1.2rem; text-decoration: none; color: inherit; box-shadow: 0 2px 8px rgba(16,24,43,.05); transition: transform .15s, box-shadow .15s; }
.quick-card:hover { transform: translateY(-2px); box-shadow: 0 10px 26px rgba(16,24,43,.11); }
.quick-ic { font-size: 1.5rem; }
.quick-card b { display: block; margin-top: .5rem; color: #10182b; font-size: .98rem; }
.quick-card small { color: #667085; line-height: 1.6; }

@media (max-width: 1100px) {
  body.app .shell-main { margin-inline-start: 0; }
  body.app .sidebar { width: 276px; transform: translateX(100%); }
  body.app .sidebar.open { transform: translateX(0); }
  .side-close { display: inline-flex; }
  .side-overlay.show { display: block; position: fixed; inset: 0; background: rgba(10,15,30,.5); z-index: 80; }
  .hamburger { display: inline-flex; }
}

/* ---- Landing: font size + images ---- */
body.landing.ld-size-lg { zoom: 1.07; }
body.landing.ld-size-sm { zoom: 0.93; }
.ld-hero-inner { display: grid; grid-template-columns: 1fr; gap: 1.6rem; align-items: center; }
.ld-hero-inner.has-img { grid-template-columns: 1.05fr 0.95fr; }
.ld-hero-media img, .card-media { width: 100%; border-radius: 16px; object-fit: cover; box-shadow: 0 18px 40px rgba(9,14,34,.18); }
.ld-hero-media img { max-height: 420px; }
.goal-card .card-media, .feat-row .card-media { max-height: 190px; }
.feat-row { display: flex; gap: 1rem; align-items: flex-start; }
.feat-row .card-media { flex: 0 0 45%; max-height: 170px; }
.ld-cta-band.has-img { background-size: cover; background-position: center; }
.ld-cta-band.has-img .btn.ghost.light { border-color: rgba(255,255,255,.55); color: #fff; }
.ld-cta-band.has-img .btn.ghost.light:hover { background: rgba(255,255,255,.14); }
@media (max-width: 900px) {
  .ld-hero-inner.has-img { grid-template-columns: 1fr; }
  .feat-row { flex-direction: column; }
  .feat-row .card-media { flex: none; width: 100%; }
}

/* ---- طلبات الاعتماد (تصنيف حسب التوقيت) ---- */
.req { color: #d92d20; }
.approval-group { background: #fff; border-radius: 12px; box-shadow: 0 1px 4px rgba(16,24,43,.06); padding: .9rem 1.1rem; margin: .8rem 0; }
.approval-head { display: flex; align-items: center; gap: .6rem; margin-bottom: .5rem; flex-wrap: wrap; }
.badge { display: inline-block; background: #e8ecf6; color: #2447f5; font-weight: 700; border-radius: 999px; padding: .15rem .65rem; font-size: .82rem; }
.badge.approval-batch { background: #eef7eef7; color: #146c2e; }
.approval-time { margin-inline-start: auto; color: #667085; font-size: .85rem; }
.approval-body { display: grid; gap: .35rem; }
.approval-row { display: flex; gap: .8rem; flex-wrap: wrap; font-size: .95rem; }
.approval-actions { margin-top: .6rem; border-top: 1px solid #edf0f6; padding-top: .6rem; display: flex; gap: .5rem; flex-wrap: wrap; }
.approval-actions form { display: inline-flex; gap: .4rem; flex-wrap: wrap; }
.approval-actions input { width: auto; flex: none; }
.field-errors .errorlist { color: #b42318; margin: .2rem 0; padding-inline-start: 1.2rem; }

/* خريطة المقاعد النيابية */
.page-head { margin-bottom: 1rem; }
.page-head h1 { margin: 0 0 .2rem; }
.seat-h1-total { color: #2447f5; background: #eef3ff; border-radius: 999px; padding: .15rem .7rem; font-size: .85rem; vertical-align: middle; }
.seat-legend { display: flex; flex-wrap: wrap; gap: .45rem; margin-bottom: 1rem; }
.seat-legend-item { display: inline-flex; align-items: center; gap: .35rem; font-size: .82rem; color: #475467; background: #fff; border: 1px solid #e4e7ec; border-radius: 999px; padding: .3rem .6rem; }
.seat-legend-dot { width: .7rem; height: .7rem; border-radius: 3px; display: inline-block; }
.seat-gov { overflow: hidden; margin-bottom: 1.5rem; border-radius: 14px; box-shadow: 0 1px 3px rgba(16,24,40,.06); }
.seat-gov-head { display: flex; justify-content: space-between; align-items: center; padding: 1rem 1.2rem .7rem; }
.seat-gov-name { font-size: 1.05rem; font-weight: 800; }
.seat-gov-total { font-weight: 700; color: #2447f5; }
.seat-gov-total em { font-style: normal; color: #667085; font-weight: 600; font-size: .82rem; }
.seat-table-wrap { overflow-x: auto; padding: 0 1.2rem 1rem; }
.seat-table { border-collapse: separate; border-spacing: .25rem; width: 100%; font-size: .82rem; }
.seat-table th { font-weight: 700; color: #475467; text-align: center; padding: .2rem .15rem; }
.seat-table .seat-th-d, .seat-table .seat-th-total { text-align: center; white-space: nowrap; }
.seat-big-row td { background: #f2f4f7; border-radius: 8px; padding: .4rem .6rem; font-size: .86rem; color: #344054; text-align: right; }
.seat-big-total { float: left; color: #667085; font-weight: 600; }
.seat-d { text-align: right; font-weight: 600; white-space: nowrap; min-width: 9rem; }
.seat-entered { display: block; font-size: .7rem; color: #16a34a; font-weight: 600; }
.seat-cell { text-align: center; }
.seat-n { display: inline-flex; align-items: center; justify-content: center; min-width: 1.7rem; height: 1.7rem; border-radius: 7px; color: #fff; font-weight: 800; font-size: .85rem; position: relative; }
.seat-n sup { position: absolute; top: -0.4rem; inset-inline-end: -0.35rem; font-size: .6rem; background: #16a34a; color: #fff; border-radius: 999px; padding: 0 .25rem; font-weight: 700; min-width: .85rem; text-align: center; }
.seat-n.full { box-shadow: 0 0 0 2px #16a34a, 0 0 0 5px #d1fae5; }
.seat-zero { color: #d0d5dd; font-size: .95rem; }
.seat-zero-in { color: #667085; font-size: .78rem; padding: 0 .2rem; border: 1px dashed #d0d5dd; }
.seat-cell-total { text-align: center; color: #667085; }
.seat-total-row th { text-align: right; font-size: .82rem; }
.seat-total-row td { border-top: 2px solid #e4e7ec; color: #344054; font-weight: 600; }
.seat-grand { padding: 1rem 1.2rem; margin-top: 1rem; text-align: center; }
.seat-grand-title { font-size: 1.1rem; margin-bottom: .6rem; }
.seat-grand-sect { display: flex; flex-wrap: wrap; justify-content: center; gap: .4rem 1.2rem; font-size: .85rem; color: #475467; }
.seat-gov-list { display: flex; flex-wrap: wrap; justify-content: center; gap: .4rem 1.4rem; margin-top: .5rem; color: #667085; font-size: .9rem; }
.seat-gov-chip { background: #f8fafc; border: 1px solid #e4e7ec; border-radius: 999px; padding: .25rem .7rem; font-size: .8rem; }

.seat-n.sect-suni { background-color: #2f9e44; }
.seat-n.sect-shia { background-color: #1c7ed6; }
.seat-n.sect-druze { background-color: #7048e8; }
.seat-n.sect-alawite { background-color: #0c8599; }
.seat-n.sect-maronite { background-color: #e8590c; }
.seat-n.sect-roman_catholic { background-color: #f08c00; }
.seat-n.sect-orthodox { background-color: #9c36b5; }
.seat-n.sect-evangelical { background-color: #0ca678; }
.seat-n.sect-armenian_catholic { background-color: #c2255c; }
.seat-n.sect-armenian_orthodox { background-color: #364fc7; }
.seat-n.sect-minority { background-color: #868e96; }
.seat-legend-dot.sect-suni { background-color: #2f9e44; }
.seat-legend-dot.sect-shia { background-color: #1c7ed6; }
.seat-legend-dot.sect-druze { background-color: #7048e8; }
.seat-legend-dot.sect-alawite { background-color: #0c8599; }
.seat-legend-dot.sect-maronite { background-color: #e8590c; }
.seat-legend-dot.sect-roman_catholic { background-color: #f08c00; }
.seat-legend-dot.sect-orthodox { background-color: #9c36b5; }
.seat-legend-dot.sect-evangelical { background-color: #0ca678; }
.seat-legend-dot.sect-armenian_catholic { background-color: #c2255c; }
.seat-legend-dot.sect-armenian_orthodox { background-color: #364fc7; }
.seat-legend-dot.sect-minority { background-color: #868e96; }
.seat-cell.sect-suni { background-color: #f4fbf5; }
.seat-cell.sect-shia { background-color: #f2f7fd; }
.seat-cell.sect-druze { background-color: #f5f2fc; }
.seat-cell.sect-alawite { background-color: #f0f7f9; }
.seat-cell.sect-maronite { background-color: #fdf3ee; }
.seat-cell.sect-roman_catholic { background-color: #fdf7ec; }
.seat-cell.sect-orthodox { background-color: #f7f1fa; }
.seat-cell.sect-evangelical { background-color: #f0faf6; }
.seat-cell.sect-armenian_catholic { background-color: #fbf1f5; }
.seat-cell.sect-armenian_orthodox { background-color: #eff1fb; }
.seat-cell.sect-minority { background-color: #f6f6f7; }

/* ---------- Potential candidates ---------- */
.pc-grid-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 1.2rem; }
.pc-card-public { background: #fff; border: 1px solid #e4e7ec; border-radius: 16px; padding: 1rem; box-shadow: 0 1px 3px rgba(16,24,40,.06); display: flex; flex-direction: column; border-top: 5px solid #d0d5dd; }
.pc-card-public.sect-side-suni { border-top-color: #2f9e44; }
.pc-card-public.sect-side-shia { border-top-color: #1c7ed6; }
.pc-card-public.sect-side-druze { border-top-color: #7048e8; }
.pc-card-public.sect-side-alawite { border-top-color: #0c8599; }
.pc-card-public.sect-side-maronite { border-top-color: #e8590c; }
.pc-card-public.sect-side-roman_catholic { border-top-color: #f08c00; }
.pc-card-public.sect-side-orthodox { border-top-color: #9c36b5; }
.pc-card-public.sect-side-evangelical { border-top-color: #0ca678; }
.pc-card-public.sect-side-armenian_catholic { border-top-color: #c2255c; }
.pc-card-public.sect-side-armenian_orthodox { border-top-color: #364fc7; }
.pc-card-public.sect-side-minority { border-top-color: #868e96; }
.pc-head { display: flex; gap: .8rem; align-items: center; }
.pc-photo { width: 58px; height: 58px; border-radius: 50%; object-fit: cover; }
.pc-photo-empty { background: #f2f4f7; display: flex; align-items: center; justify-content: center; font-size: 1.6rem; }
.pc-id h3 { margin: 0 0 .3rem; font-size: 1.05rem; }
.pc-chips { display: flex; flex-wrap: wrap; gap: .3rem; }
.pc-chip { font-size: .72rem; font-weight: 700; color: #fff; border-radius: 999px; padding: .15rem .5rem; }
.pc-chip.ghost { background: #f2f4f7; color: #475467; }
.pc-bio { color: #475467; font-size: .9rem; margin: .7rem 0 .3rem; }
.pc-program { margin-top: .4rem; }
.pc-program summary { cursor: pointer; color: #2447f5; font-size: .88rem; font-weight: 700; }
.pc-program ul { margin: .45rem 0 0; padding-inline-start: 1.2rem; color: #344054; font-size: .88rem; line-height: 1.7; }
.pc-foot { margin-top: auto; padding-top: .8rem; display: flex; align-items: center; justify-content: space-between; gap: .6rem; }
.pc-votes { white-space: nowrap; color: #667085; font-size: .92rem; }
.pc-vote-form { display: flex; }
.vote-btn { background: #2447f5; color: #fff; border: none; border-radius: 10px; padding: .5rem 1rem; font-weight: 700; cursor: pointer; font-size: .9rem; }
.vote-btn.voted { background: #16a34a; }
.vote-btn:hover { filter: brightness(1.08); }

.sect-bg-suni { background-color: #2f9e44; }
.sect-bg-shia { background-color: #1c7ed6; }
.sect-bg-druze { background-color: #7048e8; }
.sect-bg-alawite { background-color: #0c8599; }
.sect-bg-maronite { background-color: #e8590c; }
.sect-bg-roman_catholic { background-color: #f08c00; }
.sect-bg-orthodox { background-color: #9c36b5; }
.sect-bg-evangelical { background-color: #0ca678; }
.sect-bg-armenian_catholic { background-color: #c2255c; }
.sect-bg-armenian_orthodox { background-color: #364fc7; }
.sect-bg-minority { background-color: #868e96; }

/* Internal management */
.pc-form { padding: 1.1rem 1.2rem; margin-bottom: 1.5rem; display: flex; flex-direction: column; gap: .7rem; }
.pc-form input[type=text], .pc-form input:not([type]), .pc-form select, .pc-form textarea, .pc-grid input, .pc-grid select, .pc-card textarea, .pc-card select, .pc-card input:not([type=checkbox],[type=file]) { width: 100%; padding: .5rem .6rem; border: 1px solid #d0d5dd; border-radius: 9px; font-family: inherit; }
.pc-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: .6rem; }
.pc-grid label { display: flex; flex-direction: column; gap: .25rem; font-size: .82rem; font-weight: 700; color: #344054; }
.pc-card { margin-bottom: 1rem; padding: 1rem 1.1rem; }
.pc-card-head { display: flex; justify-content: space-between; gap: 1rem; margin-bottom: .7rem; }
.pc-identity { display: flex; gap: .8rem; align-items: flex-start; }
.pc-identity .pc-photo { width: 48px; height: 48px; }
.pc-identity label { display: flex; flex-direction: column; gap: .2rem; font-size: .78rem; color: #475467; font-weight: 700; }
.pc-identity input, .pc-identity select { font-size: .9rem; }
.pc-meta { text-align: center; white-space: nowrap; font-size: .9rem; color: #344054; }
.pc-actions { display: flex; gap: .6rem; margin-top: .5rem; }

/* Dashboard sections */
.dash-sec-h { margin-top: 2rem; }
.dash-sec-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: .8rem; flex-wrap: wrap; }

/* Landing seat box */
.ld-seats-box { background: #fff; border: 1px solid #e4e7ec; border-radius: 18px; padding: 1rem 1rem 1.2rem; box-shadow: 0 4px 16px rgba(16,24,40,.06); }
.ld-seats-box .seat-table-wrap { padding: 0 0 1rem; }

/* Proposal record full details (inbox) */
.rec-details { width: 100%; }
.rec-details summary { display: flex; align-items: center; gap: .5rem; cursor: pointer; list-style: none; flex-wrap: wrap; }
.rec-details summary::-webkit-details-marker { display: none; }
.rec-toggle { color: #2447f5; font-size: .8rem; font-weight: 700; margin-inline-start: auto; white-space: nowrap; }
.rec-details table { width: 100%; border-collapse: collapse; margin-top: .55rem; font-size: .83rem; }
.rec-details th { background: #f2f4f7; padding: .35rem .55rem; text-align: right; border-bottom: 1px solid #e4e7ec; }
.rec-details td { padding: .3rem .55rem; border-bottom: 1px solid #eef1f6; vertical-align: top; }
.rec-details tr:last-child td { border-bottom: 0; }
.rec-field { font-weight: 700; color: #344054; width: 9rem; white-space: nowrap; }
.rec-before { color: #667085; }
.rec-chg .rec-after { background: #f0fdf4; color: #15803d; font-weight: 700; }
.rec-new .rec-after { background: #eef3ff; color: #1e40af; font-weight: 700; }
.rec-meta { display: block; margin-top: .4rem; font-size: .82rem; color: #667085; }

/* Reference-inspired public face: calm white header, spacious hero and a clear mode switch. */
body.landing{background:#f3f4f7;color:#263044;overflow-x:hidden}
body.landing .ld-nav{position:relative;background:#fff;backdrop-filter:none;border-bottom:1px solid #dfe3ea;box-shadow:0 3px 14px rgba(24,39,75,.08)}
body.landing .ld-nav-inner{min-height:112px;max-width:1440px;padding:1rem 2.5rem;display:flex;align-items:center;gap:2rem}
body.landing .ld-brand{color:#18375d;font-weight:800;font-size:1.35rem;white-space:nowrap}
body.landing .ld-logo{max-height:78px;width:auto}
body.landing .ld-links{margin-inline:auto;display:flex;align-items:center;gap:1.25rem}
body.landing .ld-links a,body.landing .ld-links button{color:#364154;font-size:.92rem}
body.landing .ld-links a:hover{color:#0d63b8}
body.landing .ld-links form{display:flex;gap:.3rem;order:10}
body.landing .ld-links form button{background:transparent;border:0;cursor:pointer;font:inherit}
body.landing .ld-cta{display:flex;gap:.5rem}
body.landing .ld-cta .btn{border-radius:5px;padding:.55rem .9rem}
body.landing .ld-hero{min-height:650px;background:#f0f1f5;color:#27364b;align-items:stretch}
body.landing .ld-hero:before{background:radial-gradient(circle at 50% 55%,rgba(255,255,255,.9),transparent 32%),linear-gradient(180deg,#f7f8fa,#eef0f4);opacity:1}
body.landing .ld-hero-inner{max-width:1440px;padding:3.5rem 2.5rem 2rem;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
body.landing .ld-hero-text{max-width:780px;z-index:2}
body.landing .ld-eyebrow{color:#bb1d2c;letter-spacing:.08em}
body.landing .ld-hero h1{font-size:clamp(2.35rem,5vw,4.8rem);color:#18375d;text-shadow:none;line-height:1.15}
body.landing .ld-lead{color:#687487;font-size:1.1rem;line-height:1.9}
body.landing .ld-hero-media{inset:0;top:0;width:100%;height:100%;opacity:.12;transform:none;display:flex;justify-content:center;z-index:0}
body.landing .ld-hero-media img{width:min(570px,70vw);height:100%;max-height:440px;object-fit:contain;border-radius:0;box-shadow:none}
body.landing .ld-hero-media:after{display:none}
body.landing .ld-hero-actions .btn{border-radius:5px;box-shadow:0 6px 16px rgba(20,67,112,.14)}
body.landing .ld-hero-actions .btn.ghost{background:#fff;color:#18375d;border-color:#d4dae3}
body.landing .ld-hero-stats{margin-top:2.5rem;z-index:2}
body.landing .stat-chip{background:#fff;border:1px solid #e0e4eb;border-radius:8px;color:#536174;box-shadow:0 4px 14px rgba(25,44,74,.07);backdrop-filter:none}
body.landing .stat-num{color:#18375d}
body.landing .ld-section{background:#fff;max-width:none;padding:5.5rem max(2.5rem,calc((100% - 1240px)/2))}
body.landing .ld-section.alt{background:#f7f8fa;padding-inline:max(2.5rem,calc((100% - 1240px)/2))}
body.landing .ld-section-head{text-align:center;margin-bottom:2.5rem}
body.landing .ld-section-head h2{color:#18375d;font-size:clamp(1.8rem,3.5vw,2.8rem)}
body.landing .goal-card,body.landing .feat-row,body.landing .chart-box,body.landing .card.big-stat{background:#fff;border:1px solid #e1e5ec;color:#263044;box-shadow:0 8px 26px rgba(25,44,74,.06);backdrop-filter:none}
body.landing .goal-card:hover,body.landing .feat-row:hover{transform:translateY(-4px);border-color:#b9cce1}
body.landing .goal-card h3,body.landing .feat-row h3{color:#18375d}
body.landing .goal-card p,body.landing .feat-row p{color:#687487}
body.landing .big-stat .num{color:#0d63b8}
body.landing .ld-cta-band{max-width:1240px;margin:3rem auto 5rem;border-radius:8px;border:0;background:#18375d;box-shadow:0 16px 36px rgba(24,55,93,.2)}
body.landing .ld-footer{background:#fff;color:#687487;border-top:1px solid #dfe3ea}
@media(max-width:800px){body.landing .ld-nav-inner{min-height:78px;padding:.75rem 1rem}body.landing .ld-cta .btn.ghost{display:none}body.landing .ld-hero{min-height:610px}body.landing .ld-hero-inner{padding-inline:1rem}body.landing .ld-hero-media{opacity:.09}body.landing .ld-section,body.landing .ld-section.alt{padding-inline:1rem}}
.ld-public-search{width:min(920px,100%);margin:2rem auto 0;padding:1.25rem;background:rgba(255,255,255,.95);border:1px solid #d9e0e8;border-radius:10px;text-align:start;box-shadow:0 10px 30px rgba(31,58,92,.1)}
.ld-public-search h2{font-size:1.05rem;color:#18375d;margin:0 0 .8rem}.ld-search-grid{display:grid;grid-template-columns:repeat(4,1fr) auto;gap:.6rem}.ld-public-search input{min-width:0;background:#fff}.ld-public-search small{display:block;margin-top:.65rem;color:#718096}.quick-card{text-decoration:none}.ld-help{text-align:center}.ld-help .ld-section-head{margin-bottom:1rem}
@media(max-width:800px){.ld-search-grid{grid-template-columns:1fr 1fr}.ld-search-grid button{grid-column:1/-1}.ld-public-search{margin-top:1.2rem}}

/* Final administration visual layer */
body.app .sidebar{direction:ltr}
body.app .sidebar>*{direction:rtl}
body.admin-interface{background:linear-gradient(135deg,#f7f4ff,#eef5fc)!important}
body.admin-interface #content{max-width:1540px;margin:0 auto;padding:2rem 2.4rem 4rem}
body.admin-interface .dashboard .module{border:1px solid #e8e4f2;border-radius:20px;box-shadow:0 14px 36px rgba(72,51,141,.10);margin-bottom:1.8rem;overflow:hidden;background:#fff}
body.admin-interface .dashboard .module caption,body.admin-interface .dashboard .module h2{background:linear-gradient(135deg,#f2edff,#f8f7ff);color:#392477;padding:1rem 1.25rem;font-size:1rem}
body.admin-interface .dashboard .module td,body.admin-interface .dashboard .module th{padding:1rem 1.2rem}
body.admin-interface .dashboard .module tr+tr{border-top:1px solid #f0edf7}
body.admin-interface .object-tools a,body.admin-interface .addlink{border-radius:11px;background:linear-gradient(135deg,#6d3deb,#9365fa);color:#fff;padding:.65rem 1rem}

/* RTL correction: sidebar belongs to the right edge and its scrollbar stays outside on the right. */
body.app .sidebar{right:0!important;left:auto!important;inset-inline-start:auto!important;direction:rtl!important}
body.app .sidebar>*{direction:rtl!important}
body.app .shell-main{margin-right:264px!important;margin-left:0!important}
body.app.collapsed .shell-main{margin-right:78px!important;margin-left:0!important}
body.admin-interface #content-main,body.admin-interface .dashboard{width:100%!important;max-width:none!important;float:none!important}
body.admin-interface .dashboard .module{width:100%!important}
body.admin-interface .dashboard #content-main{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}
body.admin-interface .dashboard #content-main>h1{grid-column:1/-1;margin:0 0 4px}
body.admin-interface .dashboard #content-main>.module{margin:0!important}
body.admin-interface .dashboard #content-main>.module:first-of-type{grid-column:1/-1}
@media(max-width:900px){body.admin-interface .dashboard #content-main{grid-template-columns:1fr}}

/* Django admin dashboard aligned with the application shell */
body.dashboard,body.change-list,body.change-form{background:linear-gradient(135deg,#f7f4ff,#eef5fc)!important;font-family:Cairo,Ubuntu,Arial,sans-serif!important}
body.dashboard #content{max-width:1600px!important;margin:0 auto!important;padding:34px 42px 60px!important}
body.dashboard #content-main{width:100%!important;float:none!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px!important}
body.dashboard #content-main>h1{grid-column:1/-1;margin:0 0 4px!important;font-size:2rem!important}
body.dashboard #content-main .module{width:100%!important;float:none!important;margin:0!important;border:1px solid #e5e0f1!important;border-radius:20px!important;box-shadow:0 14px 38px rgba(72,51,141,.10)!important;background:#fff!important;overflow:hidden!important}
body.dashboard #content-main .module caption,body.dashboard #content-main .module h2{background:linear-gradient(135deg,#5f36df,#8356ef)!important;color:#fff!important;padding:17px 22px!important;font-size:1rem!important}
body.dashboard #content-main .module td,body.dashboard #content-main .module th{padding:15px 20px!important}
body.dashboard #content-main .module tr+tr{border-top:1px solid #f0edf6!important}
body.dashboard #content-main .module a{color:#5e3bcb!important;font-weight:700}
body.dashboard #content-main .module .addlink{background:#e9e3ff!important;border-radius:9px!important;padding:5px 10px!important}
@media(max-width:900px){body.dashboard #content{padding:22px 16px 40px!important}body.dashboard #content-main{grid-template-columns:1fr!important}}

/* Merged enhancements from upgrade.css */

:root{--cinema-bg:#0b1424;--cinema-panel:#142238;--cinema-accent:#78dfd0}body{font-family:Cairo,Ubuntu,sans-serif}html[lang=en] body{font-family:Ubuntu,Cairo,sans-serif}input[type=email],input[type=password],.ltr{direction:ltr;text-align:left}.room-controls,.report-filters{display:flex;gap:12px;flex-wrap:wrap;align-items:end}.room-controls{position:sticky;top:0;z-index:10;padding:16px;background:var(--cinema-panel);color:#eef7ff;border:1px solid #35506b;border-radius:18px}.room-controls label,.report-filters label{display:grid;gap:5px;flex:1 1 130px}.room-controls input,.room-controls select{width:100%;min-width:0}#results-room{background:radial-gradient(ellipse at top right,#203b52,var(--cinema-bg));color:#eff8ff;border-radius:24px;margin-top:20px;padding:clamp(20px,4vw,56px);min-height:65vh;box-shadow:0 20px 60px #07101b22}#results-room h1{font-size:clamp(24px,4vw,48px)}#results-room table{color:inherit;width:100%}#results-room th,#results-room td{background:transparent;padding:16px;border-bottom:1px solid #35506b}.report-bar{padding:12px 0;display:flex;gap:12px;flex-wrap:wrap;align-items:center;justify-content:space-between}.report-bar progress{width:100%;height:14px;accent-color:#39bba7}.result-card{display:inline-block;vertical-align:top;border:1px solid #35506b;border-radius:18px;padding:20px;margin:8px;min-width:200px}.table-wrap{max-width:100%;overflow-x:auto}.public-results{max-width:1440px;margin:auto;padding:20px}.language-switch{display:flex;gap:8px;justify-content:flex-end;margin-bottom:12px}button,input,select,textarea{font:inherit}button,.btn{min-height:42px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #18a894;outline-offset:3px}.card{padding:20px;margin:16px 0;border:1px solid #ccd5df;border-radius:16px}html[dir=ltr] .sidebar{left:0;right:auto}html[dir=ltr] .shell-main{margin-left:260px;margin-right:0}form textarea{max-width:100%}@media(max-width:760px){html[dir=ltr] .shell-main{margin-left:0}.room-controls{position:static}.report-filters label{flex:1 1 45%}.room-controls button{flex-grow:1}#results-room{padding:18px}.result-card{display:block;min-width:0}table{min-width:560px}input,select,textarea{font-size:16px}#dossier-form input,#dossier-form select,#dossier-form textarea,#count-desk input,#count-desk select,#count-desk textarea{width:100%;box-sizing:border-box}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

html[data-palette="5"]{--cinema-bg:#edf3ff;--cinema-panel:#2048b0;--cinema-accent:#1752c3}html[data-palette="6"]{--cinema-bg:#edf7f0;--cinema-panel:#176b50;--cinema-accent:#176b50}html[data-palette="7"]{--cinema-bg:#eaf3f7;--cinema-panel:#115d73;--cinema-accent:#115d73}html[data-palette="8"]{--cinema-bg:#171717;--cinema-panel:#342b1b;--cinema-accent:#ffba49}html[data-palette="10"]{--cinema-bg:#2a1020;--cinema-panel:#48283c;--cinema-accent:#f2a6c1}html[data-palette="5"] #results-room,html[data-palette="6"] #results-room,html[data-palette="7"] #results-room{background:var(--cinema-bg);color:#172b3b}#results-room progress{accent-color:var(--cinema-accent)}html[dir=ltr] .sidebar{direction:ltr}html[dir=ltr] .auth-card{direction:ltr}.language-switch button{width:auto}.room-controls input[type=checkbox]{width:auto}

#results-room h1,#results-room h2,#results-room h3{color:inherit}.language-switch button{border:1px solid #c5cfdf;border-radius:10px;padding:7px 14px;background:#fff;color:#243b58}.room-controls button{border-radius:10px;padding:7px 14px;border:1px solid #b4c8d8}
.proposal-decision{display:flex;gap:8px;flex-wrap:wrap;align-items:center;width:100%;margin-top:10px;padding-top:10px;border-top:1px solid #d9e1ea}.proposal-decision input{min-width:180px;flex:1}
/* Unified admin shell */
body.app .sidebar{overflow:hidden;direction:ltr!important}
body.app .side-nav{overflow-y:auto;direction:ltr;padding:.55rem .65rem .7rem;scrollbar-gutter:stable}
body.app .side-nav .side-link,body.app .side-nav .side-group{direction:rtl}
body.app .side-link{min-height:40px;padding:.42rem .7rem;margin-bottom:.08rem;gap:.55rem}
body.app .side-group{margin:.65rem .7rem .2rem}
body.app .side-foot{flex-shrink:0}
.top-language{margin-inline-start:auto;display:flex;gap:6px;align-items:center;margin-bottom:0}
.top-language button{border:1px solid #d5ddec;border-radius:9px;padding:.42rem .72rem;background:#f7f9ff;color:#243b58;cursor:pointer;font:inherit;font-size:.78rem}
.top-language button:hover{background:#e9efff;color:#2447f5}
.content>.language-switch{display:none}
.admin-shell{width:100%;max-width:1600px;margin:0 auto}
.admin-frame{display:block;min-width:0}
.admin-interface table{table-layout:auto}
.admin-interface th,.admin-interface td{white-space:normal;word-break:normal;overflow-wrap:anywhere}
.admin-interface .module{min-width:0}
@media(max-width:760px){.top-language button{padding:.35rem .5rem;font-size:.72rem}.topbar{gap:.45rem;padding:.6rem .75rem}.top-email{display:none}}
/* Final admin readability correction */
body.admin-interface .dashboard #content-main{display:block!important;width:100%!important;max-width:1280px!important;margin:0 auto!important}
body.admin-interface .dashboard #content-main>.module,body.admin-interface .dashboard .module{width:100%!important;max-width:1120px!important;margin:0 auto 24px!important;box-sizing:border-box}
body.admin-interface .dashboard .module table{width:100%!important;table-layout:auto!important}
body.admin-interface .dashboard .module th,body.admin-interface .dashboard .module td{white-space:nowrap!important;word-break:keep-all!important;overflow-wrap:normal!important;padding:14px 18px!important;vertical-align:middle!important}
body.admin-interface .dashboard .module th:last-child,body.admin-interface .dashboard .module td:last-child{width:58%!important}
body.admin-interface .dashboard .module th:first-child,body.admin-interface .dashboard .module td:first-child{width:18%!important}
body.admin-interface .dashboard .module th:nth-child(2),body.admin-interface .dashboard .module td:nth-child(2){width:24%!important}
body.admin-interface #content{padding:32px clamp(18px,4vw,64px) 64px!important}
@media(max-width:760px){body.admin-interface .dashboard .module th,body.admin-interface .dashboard .module td{white-space:normal!important;padding:11px 10px!important;font-size:.9rem}}
/* Sidebar account footer stays inside the right rail */
body.app .sidebar{display:flex!important;flex-direction:column!important;height:100dvh!important;overflow:hidden!important}
body.app .side-nav{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important}
body.app .side-foot{position:relative!important;z-index:2!important;flex:0 0 auto!important;background:linear-gradient(180deg,#111a30,#0d1528)!important;padding:14px 16px 16px!important;border-top:1px solid rgba(255,255,255,.12)!important}
body.app .side-user{min-width:0!important}
body.app .side-user-txt{min-width:0!important;overflow:hidden!important}
body.app .side-user-name{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
body.app .side-logout{min-height:42px!important;justify-content:center!important}

/* Shared header and navigation: account controls live in the header. */
body.app .topbar{direction:rtl}
body.app .header-logout{order:99;flex:0 0 auto;margin:0}
.header-logout button{display:flex;align-items:center;gap:6px;border:1px solid #f0d3d3;border-radius:10px;background:#fff7f7;color:#a12b36;padding:8px 12px;cursor:pointer}
.header-logout button:hover{background:#feecec}
body.app .side-brand{flex:0 0 auto}
body.app .sidebar>.side-nav{direction:ltr!important;min-height:0;flex:1;overflow-y:auto}
body.app .side-nav .side-link{direction:rtl;min-height:36px;padding:5px 10px;font-size:.86rem}
body.app .side-nav .side-group{margin:9px 10px 4px}
/* Administration uses the home editor's white cards and restrained blue accents. */
body.elect-admin-home{background:#f5f7fc;font-family:Cairo,Ubuntu,sans-serif}
body.elect-admin-home #content{width:100%;max-width:none;padding:24px;box-sizing:border-box}
body.elect-admin-home .main,body.elect-admin-home .content{min-width:0}
.admin-hub{width:100%;max-width:1500px;margin:auto}
.admin-hub-heading h1{color:#10182b;font-size:1.6rem;font-weight:800;margin:0 0 24px}
.admin-hub-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:20px;align-items:start}
.admin-hub-card{background:#fff;border:1px solid #e3e7f0;border-radius:18px;overflow:hidden;box-shadow:0 8px 30px rgba(16,24,43,.07);min-width:0}
.admin-hub-card h2{display:flex;align-items:center;gap:12px;padding:18px 20px;margin:0;border-bottom:1px solid #eef1f7;background:#fff;color:#10182b;font-size:1.05rem;font-weight:800}
.admin-hub-icon{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;background:#eef2ff;color:#2447f5;flex-shrink:0}
.admin-hub-items{padding:8px 20px}
.admin-hub-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 0;border-bottom:1px solid #eef1f7}
.admin-hub-item:last-child{border-bottom:0}
.admin-hub-name{font-weight:600;color:#243b58!important;word-break:normal;overflow-wrap:normal;min-width:0}
.admin-hub-actions{display:flex;gap:6px;flex-shrink:0}
.admin-hub-actions a{padding:7px 10px;border-radius:9px;background:#eef2ff;color:#2447f5!important;font-weight:600;white-space:nowrap;text-decoration:none}
.admin-hub-actions a:hover{background:#dfe7ff}
@media(max-width:760px){body.app .topbar{flex-wrap:wrap}.header-logout button{font-size:.78rem;padding:7px}.topbar-actions{gap:5px}.admin-hub-item{flex-wrap:wrap}body.elect-admin-home #content{padding:16px}}

/* Native Django admin shares the application's sidebar template. */
body:has(.admin-site-navigation) #container{margin-right:264px;width:auto;min-width:0}
.admin-site-navigation .sidebar{position:fixed;right:0;left:auto;top:0;bottom:0;width:264px;z-index:90;display:flex;flex-direction:column;background:linear-gradient(180deg,#17203a,#10182b);color:#cdd7ff;overflow:hidden;direction:rtl;font-family:Cairo,Ubuntu,sans-serif}
.admin-site-navigation .side-brand{flex-shrink:0;padding:20px 18px}
.admin-site-navigation .side-nav{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;direction:ltr;scrollbar-width:thin}
.admin-site-navigation .side-nav>*{direction:rtl}
.admin-site-navigation .side-link:link,.admin-site-navigation .side-link:visited{color:#cdd7ff;display:flex;align-items:center;min-height:38px;padding:7px 12px;text-decoration:none;font-size:.93rem}
.admin-site-navigation .side-link:hover{background:#ffffff12;color:#fff}
.admin-site-navigation .side-link.active{color:#fff;background:linear-gradient(90deg,#2447f5,#3b5cf0)}
.admin-site-navigation .side-sub{line-height:1.8}
.admin-site-navigation .side-group{color:#93a5cc}
.admin-menu-toggle{display:none}
.admin-embedded .admin-site-navigation{display:none!important}
.admin-embedded body #container{margin-right:0!important}
@media(max-width:1100px){body:has(.admin-site-navigation) #container{margin-right:0}.admin-site-navigation .sidebar{transform:translateX(100%);transition:transform .2s}.admin-site-navigation .sidebar.open{transform:translateX(0)}.admin-site-navigation .side-close{display:inline-flex}.admin-menu-toggle{display:inline-flex;border:0;border-radius:8px;padding:8px 12px;cursor:pointer}}

/* Consolidated home editor components */

.he-hero{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:linear-gradient(120deg,#0b1026 0%,#1a2b6d 55%,#2447f5 130%);border-radius:20px;padding:1.6rem 1.8rem;color:#fff;margin:0 0 1.4rem;box-shadow:0 20px 50px rgba(24,45,130,.35);position:relative;overflow:hidden}
.he-hero::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 88% 10%,rgba(255,255,255,.18),transparent 45%)}
.he-hero h2{margin:0;font-size:1.5rem;font-weight:800}
.he-hero p{margin:.35rem 0 0;color:#c9d4ff}
.he-actions{display:flex;gap:.6rem;align-items:center;position:relative;z-index:2}
.he-topbar{display:flex;justify-content:flex-end;align-items:center;margin:0 0 1.2rem}
.he-save{background:linear-gradient(135deg,#16a34a,#0d9488);color:#fff;border:0;border-radius:12px;padding:.7rem 1.4rem;font:inherit;font-weight:700;cursor:pointer;box-shadow:0 8px 24px rgba(22,163,74,.35)}
.he-preview{display:flex;gap:1.2rem;align-items:center;background:#fff;border:1px solid #e3e7f0;border-radius:16px;padding:1.1rem 1.4rem;margin:0 0 1.4rem;box-shadow:0 8px 30px rgba(16,24,43,.08)}
.he-preview .ld-pv{flex:1}
.he-preview h4{margin:0 0 .2rem;color:#0b1026}
.he-preview p{margin:0;color:#667085}
.he-preview .pv-size{font-weight:800;color:#2447f5;background:#eef2ff;border-radius:10px;padding:.35rem .7rem}
.he-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.2rem}
.he-card{background:#fff;border:1px solid #e3e7f0;border-radius:18px;overflow:hidden;box-shadow:0 8px 30px rgba(16,24,43,.07)}
.he-card>details summary{display:flex;align-items:center;gap:.8rem;padding:1rem 1.2rem;cursor:pointer;list-style:none;color:#0b1026;font-weight:800;border-bottom:1px solid #eef1f7}
.he-card>details summary::-webkit-details-marker{display:none}
.he-card>details summary:hover{background:#f6f8ff}
.he-card-ic{width:42px;height:42px;display:flex;align-items:center;justify-content:center;font-size:1.4rem;border-radius:12px;background:linear-gradient(135deg,#eef2ff,#ffffff);border:1px solid #dfe6fd}
.he-card .he-blurb{color:#667085;margin:0 0 .4rem;font-size:.8rem;font-weight:400}
.he-card .he-fields{padding:1rem 1.2rem 1.2rem}
.he-field{display:grid;gap:.35rem;margin:0 0 1rem}
.he-field label{font-size:.82rem;font-weight:700;color:#334155}
.he-field input,.he-field textarea,.he-field select{font-family:'Cairo','Ubuntu',sans-serif;width:100%;border:1px solid #c8cfdd;border-radius:10px;padding:.5rem .7rem;font-size:.9rem;background:#fbfcff}
.he-inline{display:flex;gap:.5rem;align-items:center}
.he-inline input,.he-inline textarea,.he-inline select{flex:1;min-width:0}
.he-color{display:inline-flex;align-items:center;gap:.3rem;flex:0 0 auto}
.he-color input[type=color]{width:34px;height:34px;padding:2px;border:1px solid #c8cfdd;border-radius:10px;background:#fbfcff;cursor:pointer}
.he-color-clear{border:1px solid #e2e6f0;background:#fff;border-radius:10px;width:26px;height:26px;cursor:pointer;color:#b42318;font-weight:700;line-height:1}
.he-color-clear:hover{background:#f6f8ff}
.he-field textarea{min-height:74px;resize:vertical}
.he-field input:focus,.he-field textarea:focus,.he-field select:focus{outline:2px solid #2447f5;outline-offset:1px;border-color:#2447f5}
.he-seg{display:inline-flex;gap:.35rem;background:#eef1f7;border-radius:12px;padding:.25rem;flex-wrap:wrap}
.he-seg button{border:0;background:transparent;border-radius:9px;padding:.45rem .9rem;font:inherit;font-size:.85rem;cursor:pointer;color:#475569;font-weight:700}
.he-seg button.on{background:#fff;color:#2447f5;box-shadow:0 2px 8px rgba(16,24,43,.12)}
.he-icon-input{display:flex;gap:.4rem;flex-wrap:wrap}
.he-icon-input input{flex:1;min-width:140px}
.he-ic-pick{border:1px solid #dfe6fd;background:#fbfcff;border-radius:9px;padding:.32rem .5rem;cursor:pointer;font-size:1.05rem;line-height:1}
.he-ic-pick:hover{background:#eef2ff}
.he-img{display:grid;gap:.6rem}
.he-img input[type=file]{font-size:.82rem}
.he-img-preview{max-width:180px;max-height:120px;border-radius:12px;border:1px solid #e3e7f0;background:#fff;padding:.3rem;object-fit:contain}
.he-img-preview.he-img-empty{border:1px dashed #c8cfdd;min-width:140px;min-height:70px}
.he-img-remove{font-size:.8rem;color:#667085}

/* Consistent Setting views including panel, home, change and history. */
body.settings-workspace{background:#f5f7fc!important;color:#10182b;font-family:Cairo,Ubuntu,sans-serif}
body.settings-workspace #content{box-sizing:border-box;width:100%;max-width:1600px;margin:auto;padding:28px!important}
body.settings-workspace #content h1{font-size:1.6rem;font-weight:800;color:#10182b;margin:0 0 24px}
.settings-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 24px}
.settings-grid,.settings-workspace .he-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:20px;align-items:start;margin-bottom:24px}
.settings-card,.settings-workspace .he-card{margin:0;min-width:0;padding:0;border:1px solid #e3e7f0;border-radius:18px;background:#fff;box-shadow:0 5px 18px #10182b08;overflow:hidden}
.settings-card h2{padding:20px 24px;margin:0;border-bottom:1px solid #eef1f7;background:#fff;color:#10182b;font-size:1.1rem;font-weight:800}
.settings-field{display:grid;gap:8px;padding:18px 24px;border-bottom:1px solid #f1f3f8}
.settings-field label{font-weight:600;font-size:.9rem;color:#334155}
.settings-workspace input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=color]),.settings-workspace select,.settings-workspace textarea{box-sizing:border-box;max-width:100%;width:100%;padding:10px 12px;border:1px solid #cbd5e1;border-radius:10px;background:#fbfcff;color:#1e293b;font:inherit;min-width:0}
.settings-workspace input[type=submit],.settings-workspace .he-save{border:0;border-radius:10px;background:#2447f5;color:#fff;padding:11px 22px;font:inherit;font-weight:700;cursor:pointer;box-shadow:none}
.settings-toolbar a.button{background:#eef2ff;color:#2447f5;border-radius:10px;padding:11px 16px;text-decoration:none;font:inherit}
.settings-workspace .he-card>details summary{padding:20px 24px;background:#fff}
.settings-workspace .he-fields{padding:20px 24px}
.settings-workspace .module{background:#fff;border:1px solid #e3e7f0;border-radius:18px;padding:20px;box-shadow:none}
.settings-workspace .module h2{background:#fff;color:#10182b;border-bottom:1px solid #eef1f7}
.settings-workspace .form-row{padding:16px!important}
.settings-workspace .submit-row{padding:18px;background:#fff;border:1px solid #e3e7f0;border-radius:14px}
@media(max-width:760px){body.settings-workspace #content{padding:16px!important}.settings-field{padding:16px}.settings-workspace .he-fields{padding:16px}}

/* Native admin header uses the same account controls as the application. */
#header.elect-admin-header{background:#fff;color:#10182b;padding:12px 24px;direction:rtl;box-shadow:0 2px 10px #10182b10;justify-content:initial;flex-wrap:wrap}
#header.elect-admin-header a.top-user{color:#1c2333}
#header.elect-admin-header .topbar-actions{margin-inline-start:auto}
#header.elect-admin-header .header-logout{margin:0;flex-shrink:0}
#header.elect-admin-header .language-switch{margin-bottom:0}
.admin-embedded #header.elect-admin-header{display:none!important}

.admin-nav-group{direction:rtl;border-bottom:1px solid #ffffff12;margin:4px 0}
.admin-nav-group summary{display:flex;gap:10px;align-items:center;cursor:pointer;padding:12px;color:#cdd7ff;font-weight:700;list-style:none;border-radius:10px}
.admin-nav-group summary::after{content:'⌄';margin-inline-start:auto}
.admin-nav-group[open] summary{background:#2447f5;color:white}
.admin-nav-object{display:flex;align-items:center;gap:8px;padding:8px 14px;font-size:.85rem}
.admin-nav-object a:link,.admin-nav-object a:visited{color:#cdd7ff;text-decoration:none;line-height:1.7;overflow-wrap:normal}
.admin-nav-object a:hover,.admin-nav-object a[aria-current=page]{color:white;text-decoration:underline}
.admin-nav-add{margin-inline-start:auto;padding:4px 8px;background:#ffffff12;border-radius:6px;flex-shrink:0}
.admin-welcome{background:white;padding:28px;border-radius:18px;border:1px solid #e3e7f0;box-sizing:border-box}

/* Every native administration view shares the same form layout. */
body.elect-admin-page{background:#f5f7fc!important;font-family:Cairo,Ubuntu,sans-serif;color:#10182b}
body.elect-admin-page #header.elect-admin-header{background:#fff!important;color:#10182b!important}
body.elect-admin-page #content{box-sizing:border-box;width:100%;max-width:1500px;padding:28px!important;margin:auto}
body.elect-admin-page #content-start{padding:0;min-width:0}
body.elect-admin-page #content-main{float:none;width:100%;min-width:0}
body.elect-admin-page fieldset.module{background:#fff;border:1px solid #e3e7f0;border-radius:18px;padding:8px 24px;margin:0 0 22px;box-shadow:0 5px 18px #10182b08;overflow:visible}
body.elect-admin-page fieldset.module h2{background:#fff;color:#10182b;padding:16px 0;border-bottom:1px solid #eef1f7}
body.elect-admin-page .aligned .form-row{padding:20px 0!important;overflow:visible;border-bottom:1px solid #eef1f7}
body.elect-admin-page .aligned .form-row>div,body.elect-admin-page .aligned .flex-container{display:flex;flex-direction:column;align-items:stretch;gap:8px;min-width:0}
body.elect-admin-page .aligned label{float:none!important;width:auto!important;max-width:none;display:block;padding:0!important;font-weight:600;text-align:start}
body.elect-admin-page .aligned .checkbox-row{flex-direction:row!important;align-items:center!important;gap:12px!important}
body.elect-admin-page input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]):not([type=hidden]):not([type=color]),body.elect-admin-page select,body.elect-admin-page textarea{box-sizing:border-box;width:100%;max-width:760px;min-width:0;padding:10px 12px;border:1px solid #cbd5e1;border-radius:10px;background:#fbfcff;color:#1e293b;font:inherit}
body.elect-admin-page select{height:auto;min-height:42px;line-height:1.5;text-overflow:ellipsis}
body.elect-admin-page textarea{min-height:110px;height:150px;resize:vertical}
body.elect-admin-page .related-widget-wrapper{float:none!important;display:flex;align-items:center;flex-wrap:wrap;gap:8px;max-width:850px}
body.elect-admin-page .related-widget-wrapper select{flex:1 1 250px}
body.elect-admin-page .aligned .help,body.elect-admin-page .aligned .readonly{margin:0!important;padding:0!important;line-height:1.8}
body.elect-admin-page .datetime{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0;max-width:760px}
body.elect-admin-page .datetime input{width:180px!important}
body.elect-admin-page .submit-row{background:#fff;border:1px solid #e3e7f0;border-radius:14px;padding:18px;display:flex;gap:10px;flex-wrap:wrap}
body.elect-admin-page .submit-row input,body.elect-admin-page button.default{background:#2447f5;color:white;border:0;border-radius:10px;padding:11px 18px;cursor:pointer}
body.elect-admin-page #changelist{background:#fff;border:1px solid #e3e7f0;border-radius:18px;padding:16px;min-width:0}
body.elect-admin-page #changelist .results{overflow:auto}
body.elect-admin-page #changelist table{width:100%;table-layout:auto}
body.elect-admin-page #changelist td,body.elect-admin-page #changelist th{padding:12px;word-break:normal}
body.elect-admin-page .term-editor{padding:24px;background:white;border:1px solid #e3e7f0;border-radius:18px}
.term-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;align-items:end;margin-bottom:24px}
.term-form p{display:grid;gap:8px;margin:0}
.term-search{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:24px 0}
.term-table{overflow:auto}.term-table table{width:100%}.term-table td,.term-table th{padding:12px}
@media(max-width:760px){body.elect-admin-page #content{padding:16px!important}body.elect-admin-page fieldset.module{padding:8px 16px}.term-form{grid-template-columns:1fr}}

body.elect-admin-page .aligned .checkbox-row input[type=checkbox]{width:18px!important;height:18px;flex:0 0 18px;margin:0!important}
body.elect-admin-page .aligned .checkbox-row label{flex:0 0 auto!important;margin:0!important}
body.elect-admin-page #header.elect-admin-header{flex-direction:row!important;align-items:center;position:relative}
body.elect-admin-page .aligned .hidden{display:none!important}

@media(max-width:1100px){.admin-site-navigation .sidebar{visibility:hidden}.admin-site-navigation .sidebar.open{visibility:visible}body.elect-admin-page #container{margin:0;width:100%;min-width:0}}
@media(max-width:760px){body.elect-admin-page .related-widget-wrapper{max-width:100%;width:100%}body.elect-admin-page .related-widget-wrapper select{width:100%;flex-basis:100%}body.elect-admin-page .datetime{display:grid;grid-template-columns:1fr;width:100%}body.elect-admin-page .datetime input{width:100%!important}body.elect-admin-page .aligned .flex-container{max-width:100%;box-sizing:border-box}}
