/* LeadX Portal — uses the LeadX theme tokens, with fallbacks */
.lxp-page { --r: var(--lx-red, #e3122b); --rd: var(--lx-red-dark, #b50d21); --rs: var(--lx-red-soft, #fdecee); --k: var(--lx-black, #0b0b0c); --ch: var(--lx-char, #1d1d21); --g: var(--lx-grey, #f4f4f5); --ln: var(--lx-line, #e5e5e8); --mu: var(--lx-muted, #5d5d66); --rad: var(--lx-radius, 14px); --radl: var(--lx-radius-lg, 22px); --hd: var(--lx-head, system-ui, sans-serif);
	background: var(--g); padding: 40px 0 80px; min-height: 60vh; }
.lxp-wrap { max-width: 1320px; margin: 0 auto; padding: 0 24px; }
.lxp { color: var(--lx-ink, #17171a); font-size: 15px; }
.lxp h1, .lxp h2, .lxp h3, .lxp h4 { font-family: var(--hd); color: var(--k); margin: 0 0 .5em; line-height: 1.2; }
.lxp h1 { font-size: clamp(1.6rem, 3vw, 2.2rem); }
.lxp h2 { font-size: 1.2rem; }
.lxp h3 { font-size: 1.05rem; }
.lxp a { color: var(--r); }
.lxp-muted { color: var(--mu); }
.lxp-red { color: var(--r); }
.lxp-note { font-size: .85rem; color: var(--mu); margin-top: 18px; }
.lxp-i { flex: none; vertical-align: middle; }

/* Buttons (fallback when the LeadX theme is not active) */
.lxp .lx-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 12px 22px; border-radius: 999px; border: 2px solid transparent; font-family: var(--hd); font-weight: 600; font-size: .95rem; line-height: 1.2; cursor: pointer; text-decoration: none; transition: .2s; white-space: nowrap; }
.lxp .lx-btn--red { background: var(--r); color: #fff; }
.lxp .lx-btn--red:hover { background: var(--rd); color: #fff; }
.lxp .lx-btn--red:disabled { background: #d4d4d8; box-shadow: none; cursor: not-allowed; transform: none; }
.lxp .lx-btn--black { background: var(--k); color: #fff; }
.lxp .lx-btn--black:hover { background: var(--r); color: #fff; }
.lxp .lx-btn--outline { border-color: var(--k); color: var(--k); background: transparent; }
.lxp .lx-btn--outline:hover { background: var(--k); color: #fff; }
.lxp .lx-btn--sm { padding: 8px 16px; font-size: .85rem; }
.lxp .lx-btn--block { width: 100%; }
.lxp-btn-ghost { display: inline-flex; align-items: center; gap: 6px; background: transparent; border: 1px dashed var(--ln); border-radius: 999px; padding: 10px 18px; font-weight: 600; color: var(--k); cursor: pointer; font-family: var(--hd); }
.lxp-btn-ghost:hover { border-color: var(--r); color: var(--r); }
.lxp-link { font-weight: 600; text-decoration: none; display: inline-flex; align-items: center; gap: 4px; }
.lxp-act { display: inline-flex; align-items: center; gap: 4px; font-size: .85rem; font-weight: 600; color: var(--k) !important; background: var(--g); border: 0; border-radius: 999px; padding: 6px 12px; cursor: pointer; text-decoration: none; white-space: nowrap; font-family: inherit; }
.lxp-act:hover { background: var(--k); color: #fff !important; }
.lxp-act--red { background: var(--rs); color: var(--rd) !important; }
.lxp-act--red:hover { background: var(--r); color: #fff !important; }
.lxp-act--danger:hover { background: var(--r); }
.lxp-inline { display: inline; margin: 0; }

/* Alerts */
.lxp-alert { padding: 14px 18px; border-radius: 12px; margin-bottom: 20px; font-size: .95rem; }
.lxp-alert--ok { background: #e8f7ee; color: #14532d; }
.lxp-alert--err { background: var(--rs); color: var(--rd); }
.lxp-alert--warn { background: #fff7e6; color: #7a4b00; border-left: 4px solid #f59e0b; }
.lxp-alert ul { margin: 8px 0 0 18px; padding: 0; }
.lxp-hint { background: #fff7e6; color: #7a4b00; padding: 10px 14px; border-radius: 10px; font-size: .9rem; }
.lxp-box { background: #fff; border-radius: var(--radl); padding: 40px; max-width: 640px; margin: 0 auto; text-align: center; }

/* Auth */
.lxp-auth { display: grid; grid-template-columns: 1fr 1.1fr; background: #fff; border-radius: var(--radl); overflow: hidden; max-width: 1040px; margin: 0 auto; box-shadow: 0 30px 60px -30px rgba(0, 0, 0, .25); }
.lxp-auth__side { position: relative; background: var(--k); color: #c9c9cf; padding: 56px 44px; overflow: hidden; }
.lxp-auth__side h1 { color: #fff; font-size: 2rem; position: relative; }
.lxp-auth__side p { position: relative; }
.lxp-auth__side ul { list-style: none; padding: 0; margin: 28px 0 0; display: grid; gap: 12px; position: relative; }
.lxp-auth__side li { display: flex; gap: 10px; align-items: center; color: #fff; }
.lxp-auth__side li svg { color: var(--r); }
.lxp-auth__x { position: absolute; right: -30px; bottom: -80px; font-family: var(--hd); font-weight: 800; font-size: 20rem; line-height: 1; color: var(--r); opacity: .9; }
.lxp-auth__main { padding: 44px; }
.lxp-tabs { display: flex; gap: 6px; background: var(--g); padding: 5px; border-radius: 999px; margin-bottom: 28px; }
.lxp-tabs a { flex: 1; text-align: center; padding: 10px; border-radius: 999px; font-weight: 600; color: var(--k); text-decoration: none; font-family: var(--hd); font-size: .92rem; }
.lxp-tabs a.is-active { background: var(--k); color: #fff; }
.lxp-row-between { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin: 4px 0 18px; font-size: .9rem; }
.lxp-check { display: flex; gap: 10px; align-items: flex-start; font-size: .9rem; margin: 6px 0 18px; cursor: pointer; }
.lxp-check input { margin-top: 3px; accent-color: var(--r); width: 16px; height: 16px; }

/* Forms */
.lxp-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 16px 18px; margin-bottom: 20px; }
.lxp-f { grid-column: span 3; display: flex; flex-direction: column; min-width: 0; }
.lxp-f--third { grid-column: span 2; }
.lxp-f--full, .lxp-rep { grid-column: 1 / -1; }
.lxp-f[hidden], .lxp-rep[hidden] { display: none; }
.lxp-f label { font-size: .82rem; font-weight: 600; margin-bottom: 6px; color: var(--k); }
.lxp-f label b { color: var(--r); }
.lxp-f input, .lxp-f select, .lxp-f textarea, .lxp-filters input, .lxp-filters select { width: 100%; padding: 11px 14px; border: 1px solid var(--ln); border-radius: 10px; background: #fff; font: inherit; color: inherit; transition: border-color .2s, box-shadow .2s; }
.lxp-f input:focus, .lxp-f select:focus, .lxp-f textarea:focus, .lxp-filters input:focus, .lxp-filters select:focus { outline: 0; border-color: var(--r); box-shadow: 0 0 0 3px var(--rs); }
.lxp-f input[type=file] { padding: 8px; background: var(--g); font-size: .85rem; }
.lxp-f small { color: var(--mu); font-size: .78rem; margin-top: 4px; }
.lxp-filemsg.is-err { color: var(--r) !important; font-weight: 600; }
.lxp-filechip { display: inline-flex; align-items: center; gap: 6px; font-size: .82rem; background: #e8f7ee; color: #14532d; padding: 4px 10px; border-radius: 999px; margin-bottom: 6px; align-self: flex-start; max-width: 100%; }
.lxp-filechip a { color: #14532d; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lxp-form h2 { margin: 6px 0 18px; }

/* Repeater */
.lxp-rep__row { border: 1px solid var(--ln); border-radius: var(--rad); padding: 18px 18px 2px; margin-bottom: 14px; background: #fcfcfc; }
.lxp-rep__head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 14px; font-family: var(--hd); }
.lxp-rep__del { display: inline-flex; gap: 4px; align-items: center; background: none; border: 0; color: var(--mu); cursor: pointer; font-size: .82rem; }
.lxp-rep__del:hover { color: var(--r); }
.lxp-rep__add { margin-bottom: 14px; }

/* App layout */
.lxp-app { display: grid; grid-template-columns: 260px 1fr; gap: 28px; align-items: start; }
.lxp-side { background: var(--k); border-radius: var(--radl); padding: 20px 14px; position: sticky; top: 100px; color: #d4d4d8; }
.lxp-user { display: flex; align-items: center; gap: 12px; padding: 6px 8px 18px; border-bottom: 1px solid #27272a; margin-bottom: 12px; }
.lxp-user__av { width: 42px; height: 42px; border-radius: 12px; background: var(--r); color: #fff; display: grid; place-items: center; font-family: var(--hd); font-weight: 800; font-size: 1.1rem; flex: none; }
.lxp-user__meta { display: flex; flex-direction: column; min-width: 0; line-height: 1.3; }
.lxp-user__meta strong { color: #fff; font-family: var(--hd); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lxp-user__meta small { color: #a1a1aa; font-size: .78rem; }
.lxp-nav { display: grid; gap: 2px; }
.lxp-nav a { display: flex; align-items: center; gap: 12px; padding: 11px 12px; border-radius: 10px; color: #d4d4d8 !important; text-decoration: none; font-weight: 500; font-size: .93rem; }
.lxp-nav a:hover { background: #1d1d21; color: #fff !important; }
.lxp-nav a.is-active { background: var(--r); color: #fff !important; }
.lxp-nav__logout { margin-top: 10px; border-top: 1px solid #27272a; border-radius: 0 !important; padding-top: 16px !important; }
.lxp-main { min-width: 0; }
.lxp-menu-btn { display: none; }

.lxp-card { background: #fff; border-radius: var(--radl); padding: 26px; margin-bottom: 22px; box-shadow: 0 1px 2px rgba(0, 0, 0, .04); display: block; }
.lxp-card--flush { padding: 0; overflow: hidden; }
.lxp-card--flush .lxp-empty { padding: 40px; }
.lxp-pad { padding: 22px 26px 0; }
.lxp-card__head { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 16px; flex-wrap: wrap; }
.lxp-card__head h2 { margin: 0; }
.lxp-card--attn { border-left: 4px solid #f59e0b; }
.lxp-attn { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 12px 0; border-top: 1px solid var(--ln); }
.lxp-attn small { color: var(--mu); }
.lxp-pagehead { margin-bottom: 22px; }
.lxp-pagehead--row { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; }
.lxp-pagehead p { margin: 0; }
.lxp-back { margin-bottom: 12px; }
.lxp-h2 { margin: 30px 0 14px !important; }
.lxp-h3 { margin: 24px 0 12px !important; }
.lxp-row-gap { display: flex; gap: 8px; align-items: center; }
.lxp-grow { flex: 1; }
.lxp-inforow { background: var(--g); padding: 10px 14px; border-radius: 10px; margin-bottom: 18px; font-size: .9rem; }

/* Dashboard */
.lxp-hello { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 22px; flex-wrap: wrap; background: var(--k); color: #c9c9cf; padding: 28px; border-radius: var(--radl); position: relative; overflow: hidden; }
.lxp-hello h1 { color: #fff; margin: 0 0 4px; }
.lxp-hello .lxp-muted { color: #a1a1aa; margin: 0; }
.lxp-hello::after { content: "X"; position: absolute; right: 220px; top: -40px; font-family: var(--hd); font-weight: 800; font-size: 11rem; color: var(--r); opacity: .15; line-height: 1; pointer-events: none; }
.lxp-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 16px; margin-bottom: 22px; }
.lxp-stat { background: #fff; border-radius: var(--rad); padding: 20px; display: flex; flex-direction: column; gap: 2px; }
.lxp-stat span { width: 40px; height: 40px; border-radius: 12px; background: var(--rs); color: var(--r); display: grid; place-items: center; margin-bottom: 10px; }
.lxp-stat strong { font-family: var(--hd); font-size: 1.9rem; line-height: 1; color: var(--k); }
.lxp-stat small { color: var(--mu); }
.lxp-stat--amber span { background: #fff4de; color: #b45309; }
.lxp-stat--green span { background: #e8f7ee; color: #15803d; }
.lxp-quick { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 14px; }
.lxp-quick a { background: #fff; border-radius: var(--rad); padding: 20px; display: flex; flex-direction: column; gap: 4px; text-decoration: none; color: var(--k) !important; border: 1px solid transparent; transition: .2s; }
.lxp-quick a:hover { border-color: var(--r); transform: translateY(-2px); }
.lxp-quick svg { color: var(--r); margin-bottom: 8px; }
.lxp-quick small { color: var(--mu); }

/* Tables */
.lxp-table-wrap { overflow-x: auto; }
.lxp-table { width: 100%; border-collapse: collapse; font-size: .9rem; }
.lxp-table th { text-align: left; font-size: .75rem; text-transform: uppercase; letter-spacing: .06em; color: var(--mu); font-weight: 600; padding: 12px 14px; border-bottom: 1px solid var(--ln); background: #fafafa; white-space: nowrap; }
.lxp-table td { padding: 13px 14px; border-bottom: 1px solid var(--ln); vertical-align: middle; }
.lxp-table tr:last-child td { border-bottom: 0; }
.lxp-table tbody tr:hover { background: #fcfcfc; }
.lxp-right { text-align: right; }
.lxp-actions { white-space: nowrap; }
.lxp-actions > * { margin-left: 4px; }
.lxp-strong { font-weight: 700; color: var(--k) !important; text-decoration: none; }
.lxp-empty { text-align: center; padding: 30px 20px; color: var(--mu); }
.lxp-empty svg { color: var(--r); }

/* Badges */
.lxp-badge { display: inline-block; padding: 4px 10px; border-radius: 999px; font-size: .75rem; font-weight: 700; white-space: nowrap; }
.lxp-badge--grey { background: #efeff1; color: #52525b; }
.lxp-badge--blue { background: #e8f0fe; color: #1d4ed8; }
.lxp-badge--amber { background: #fff4de; color: #b45309; }
.lxp-badge--green { background: #e8f7ee; color: #15803d; }
.lxp-badge--red { background: var(--rs); color: var(--rd); }

/* Filters */
.lxp-filters { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-bottom: 18px; }
.lxp-filters select, .lxp-filters input[type=text] { width: auto; min-width: 150px; padding: 10px 12px; }
.lxp-search { display: flex; align-items: center; gap: 8px; background: #fff; border: 1px solid var(--ln); border-radius: 10px; padding: 0 12px; flex: 1; min-width: 220px; color: var(--mu); }
.lxp-search input { border: 0 !important; box-shadow: none !important; padding: 10px 0 !important; }
.lxp-pages { display: flex; gap: 6px; justify-content: center; margin-top: 20px; }
.lxp-pages a, .lxp-pages span { min-width: 38px; height: 38px; display: grid; place-items: center; border-radius: 999px; background: #fff; text-decoration: none; color: var(--k); font-weight: 600; }
.lxp-pages .is-current { background: var(--r); color: #fff; }

/* Explore */
.lxp-countries { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 14px; }
.lxp-country { display: flex; align-items: center; gap: 14px; background: #fff; border-radius: var(--rad); padding: 16px; text-decoration: none; color: var(--k) !important; border: 1px solid transparent; transition: .2s; }
.lxp-country:hover { border-color: var(--r); transform: translateY(-2px); }
.lxp-country img { width: 48px; height: 34px; object-fit: cover; border-radius: 6px; box-shadow: 0 0 0 1px rgba(0, 0, 0, .06); }
.lxp-country span { flex: 1; display: flex; flex-direction: column; }
.lxp-country small { color: var(--mu); font-size: .8rem; }
.lxp-dest-head { display: flex; gap: 18px; align-items: center; background: #fff; border-radius: var(--radl); padding: 24px; margin-bottom: 16px; flex-wrap: wrap; }
.lxp-dest-head img { width: 64px; height: 46px; object-fit: cover; border-radius: 8px; }
.lxp-dest-head h1 { margin: 0; }
.lxp-dest-head p { margin: 2px 0 0; }
.lxp-dest-head > div:nth-child(2) { flex: 1; }
.lxp-dest-head__act { display: flex; gap: 10px; flex-wrap: wrap; }
.lxp-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 12px; }
.lxp-facts div { background: #fff; border-radius: var(--rad); padding: 16px; }
.lxp-facts small { display: block; color: var(--r); text-transform: uppercase; font-size: .7rem; letter-spacing: .1em; font-weight: 700; margin-bottom: 4px; }
.lxp-uni { background: #fff; border-radius: var(--radl); padding: 22px; margin-bottom: 14px; }
.lxp-uni__head { display: flex; align-items: center; gap: 14px; }
.lxp-uni__head > div { flex: 1; }
.lxp-uni__head h3 { margin: 0; }
.lxp-uni__head small { color: var(--mu); }
.lxp-uni__icon { width: 44px; height: 44px; border-radius: 12px; background: var(--rs); color: var(--r); display: grid; place-items: center; flex: none; }
.lxp-uni__desc { color: var(--mu); font-size: .92rem; margin-top: 10px; }
.lxp-courses { list-style: none; margin: 16px 0 0; padding: 0; border-top: 1px solid var(--ln); }
.lxp-courses li { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 12px 0; border-bottom: 1px dashed var(--ln); }
.lxp-courses li:last-child { border-bottom: 0; }
.lxp-courses span { display: flex; flex-direction: column; }
.lxp-courses small { color: var(--mu); font-size: .82rem; }

/* Apply */
.lxp-choice__row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-bottom: 12px; }
.lxp-choice__row div { background: var(--g); border-radius: 12px; padding: 14px; }
.lxp-choice__row small { display: block; color: var(--mu); font-size: .78rem; }
.lxp-seg { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 18px; }
.lxp-seg label { display: flex; gap: 8px; align-items: center; background: var(--g); padding: 10px 16px; border-radius: 999px; cursor: pointer; font-weight: 600; font-size: .9rem; }
.lxp-seg input { accent-color: var(--r); }
.lxp-pick[hidden] { display: none; }
.lxp-wiz-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; margin-bottom: 18px; }
.lxp-wiz-head small { color: var(--mu); font-weight: 600; }
.lxp-wiz-head h1 { margin: 2px 0 0; }
.lxp-steps { list-style: none; margin: 0 0 10px; padding: 0; display: flex; gap: 6px; overflow-x: auto; scrollbar-width: thin; padding-bottom: 6px; }
.lxp-steps li { flex: none; }
.lxp-steps a { display: flex; align-items: center; gap: 8px; padding: 8px 12px 8px 8px; border-radius: 999px; background: #fff; color: var(--k) !important; text-decoration: none; font-size: .82rem; font-weight: 600; border: 1px solid transparent; }
.lxp-steps span { width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; background: var(--g); font-size: .78rem; font-family: var(--hd); }
.lxp-steps em { font-style: normal; }
.lxp-steps .is-done span { background: #15803d; color: #fff; }
.lxp-steps .is-warn span { background: #f59e0b; color: #fff; }
.lxp-steps .is-current a { border-color: var(--r); }
.lxp-steps .is-current span { background: var(--r); color: #fff; }
.lxp-progress { height: 4px; background: #e4e4e7; border-radius: 4px; margin-bottom: 22px; overflow: hidden; }
.lxp-progress span { display: block; height: 100%; background: var(--r); border-radius: 4px; }
.lxp-wiz-actions { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; border-top: 1px solid var(--ln); padding-top: 18px; margin-top: 4px; }
.lxp-card + .lxp-wiz-actions { border-top: 0; padding-top: 0; }
.lxp-reqdocs { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 10px; }
.lxp-reqdocs li { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border: 1px solid var(--ln); border-radius: 12px; }
.lxp-reqdocs li > span:nth-child(2) { flex: 1; font-weight: 500; }
.lxp-reqdocs__ic { width: 28px; height: 28px; border-radius: 8px; display: grid; place-items: center; background: var(--g); color: var(--mu); }
.lxp-reqdocs .is-ok { border-color: #bbe5c9; background: #f4fbf6; }
.lxp-reqdocs .is-ok .lxp-reqdocs__ic { background: #15803d; color: #fff; }
.lxp-reqdocs small { color: #15803d; font-weight: 600; }
.lxp-upload { display: grid; grid-template-columns: 260px 1fr auto; gap: 14px; align-items: end; }
.lxp-upload .lxp-f { grid-column: auto; }
.lxp-drop { display: flex; align-items: center; gap: 14px; border: 2px dashed var(--ln); border-radius: 12px; padding: 14px 16px; cursor: pointer; position: relative; color: var(--mu); font-size: .9rem; min-height: 64px; }
.lxp-drop:hover, .lxp-drop.is-over { border-color: var(--r); background: var(--rs); }
.lxp-drop svg { color: var(--r); }
.lxp-drop strong { color: var(--k); }
.lxp-drop input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.lxp-drop .lxp-filemsg { position: absolute; left: 16px; bottom: -22px; font-size: .78rem; color: var(--k); }
.lxp-submitbox { border: 2px solid var(--k); }
.lxp-delete-draft { text-align: right; }

/* Review */
.lxp-rv { border-top: 1px solid var(--ln); padding: 18px 0 6px; }
.lxp-rv__head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; }
.lxp-rv__head h3 { margin: 0; }
.lxp-rv__row { background: var(--g); border-radius: 12px; padding: 14px 16px; margin-bottom: 10px; }
.lxp-rv__row h4 { font-size: .92rem; margin-bottom: 8px; }
.lxp-dl { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px 20px; margin: 0 0 10px; }
.lxp-dl > div { min-width: 0; }
.lxp-dl dt { font-size: .75rem; color: var(--mu); text-transform: uppercase; letter-spacing: .04em; font-weight: 600; }
.lxp-dl dd { margin: 2px 0 0; font-weight: 500; overflow-wrap: anywhere; }
.lxp-dl__full { grid-column: 1 / -1; }
.lxp-dl--stack { grid-template-columns: 1fr; }

/* Application view */
.lxp-confirm { display: flex; gap: 18px; align-items: center; background: #e8f7ee; border-radius: var(--radl); padding: 22px 26px; margin-bottom: 22px; }
.lxp-confirm h2 { color: #14532d; margin: 0 0 4px; }
.lxp-confirm p { margin: 0; color: #14532d; }
.lxp-confirm__ic { width: 56px; height: 56px; border-radius: 50%; background: #15803d; color: #fff; display: grid; place-items: center; flex: none; }
.lxp-code { font-family: ui-monospace, Menlo, monospace; font-size: 1.1em; background: #fff; padding: 2px 8px; border-radius: 6px; }
.lxp-apphead { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; background: #fff; border-radius: var(--radl); padding: 24px; margin-bottom: 14px; flex-wrap: wrap; }
.lxp-apphead small { color: var(--r); font-weight: 700; text-transform: uppercase; letter-spacing: .1em; font-size: .72rem; }
.lxp-apphead h1 { margin: 2px 0 4px; }
.lxp-apphead p { margin: 0; }
.lxp-apphead__right { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.lxp-track { background: #fff; border-radius: var(--rad); padding: 18px 22px; margin-bottom: 22px; }
.lxp-track__bar { height: 8px; background: var(--g); border-radius: 8px; overflow: hidden; }
.lxp-track__bar span { display: block; height: 100%; border-radius: 8px; background: #1d4ed8; }
.lxp-track--green .lxp-track__bar span { background: #15803d; }
.lxp-track--amber .lxp-track__bar span { background: #f59e0b; }
.lxp-track--red .lxp-track__bar span { background: var(--r); }
.lxp-track--grey .lxp-track__bar span { background: #a1a1aa; }
.lxp-track__labels { display: flex; justify-content: space-between; font-size: .75rem; color: var(--mu); margin-top: 8px; }
.lxp-track--mini { padding: 0; margin: 12px 0 8px; background: none; }
.lxp-cols { display: grid; grid-template-columns: 1fr 320px; gap: 22px; align-items: start; }
.lxp-cols__main { min-width: 0; }
.lxp-card--msg { border-left: 4px solid var(--r); }
.lxp-card--msg h2 { display: flex; align-items: center; gap: 8px; }
.lxp-msg { background: var(--rs); border-radius: 12px; padding: 12px 16px; margin-bottom: 10px; }
.lxp-msg p { margin: 0 0 4px; }
.lxp-msg small { color: var(--mu); }
.lxp-timeline { list-style: none; margin: 0; padding: 0 0 0 16px; border-left: 2px solid var(--ln); }
.lxp-timeline li { position: relative; padding: 0 0 16px 10px; }
.lxp-timeline li::before { content: ""; position: absolute; left: -23px; top: 5px; width: 12px; height: 12px; border-radius: 50%; background: #fff; border: 3px solid var(--r); }
.lxp-timeline small { display: block; color: var(--mu); font-size: .78rem; margin-top: 4px; }
.lxp-timeline p { margin: 4px 0 0; font-size: .88rem; }

/* Status page */
.lxp-statuschips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 20px; }
.lxp-chip { display: inline-flex; gap: 6px; align-items: center; padding: 8px 14px; border-radius: 999px; background: #fff; text-decoration: none; font-size: .88rem; color: var(--k) !important; }
.lxp-chip strong { font-family: var(--hd); }
.lxp-chip--green strong { color: #15803d; } .lxp-chip--amber strong { color: #b45309; } .lxp-chip--red strong { color: var(--r); } .lxp-chip--blue strong { color: #1d4ed8; }
.lxp-statuslist { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 14px; }
.lxp-statusitem { text-decoration: none; color: inherit !important; margin: 0; transition: .2s; border: 1px solid transparent; }
.lxp-statusitem:hover { border-color: var(--r); }
.lxp-statusitem__top { display: flex; justify-content: space-between; gap: 10px; }
.lxp-statusitem__top div { display: flex; flex-direction: column; }
.lxp-statusitem__top small { color: var(--mu); font-size: .82rem; }

/* Responsive */
@media (max-width: 1080px) {
	.lxp-app { grid-template-columns: 1fr; }
	.lxp-side { position: static; display: none; }
	.lxp-side.is-open { display: block; }
	.lxp-menu-btn { display: inline-flex; align-items: center; gap: 8px; background: var(--k); color: #fff; border: 0; border-radius: 999px; padding: 10px 18px; font-weight: 600; margin-bottom: 16px; cursor: pointer; font-family: var(--hd); }
	.lxp-cols { grid-template-columns: 1fr; }
	.lxp-auth { grid-template-columns: 1fr; }
	.lxp-auth__side { padding: 36px 28px; }
	.lxp-auth__x { font-size: 12rem; bottom: -40px; }
	.lxp-hello::after { display: none; }
}
@media (max-width: 720px) {
	.lxp-page { padding: 20px 0 60px; }
	.lxp-wrap { padding: 0 12px; }
	.lxp-card { padding: 18px; border-radius: 16px; }
	.lxp-auth__main { padding: 28px 20px; }
	.lxp-grid { grid-template-columns: 1fr; }
	.lxp-f, .lxp-f--third { grid-column: 1 / -1; }
	.lxp-dl { grid-template-columns: 1fr 1fr; }
	.lxp-choice__row { grid-template-columns: 1fr; }
	.lxp-upload { grid-template-columns: 1fr; }
	.lxp-steps em { display: none; }
	.lxp-steps .is-current em { display: inline; }
	.lxp-filters select, .lxp-filters input[type=text] { flex: 1; min-width: 0; }
	.lxp-wiz-actions .lx-btn, .lxp-wiz-actions .lxp-btn-ghost { flex: 1; }
	.lxp-wiz-actions .lxp-grow { display: none; }
	/* Stacked tables */
	.lxp-table thead { display: none; }
	.lxp-table, .lxp-table tbody, .lxp-table tr, .lxp-table td { display: block; width: 100%; }
	.lxp-table tr { border-bottom: 1px solid var(--ln); padding: 10px 14px; }
	.lxp-table td { border: 0; padding: 4px 0; display: flex; justify-content: space-between; gap: 12px; text-align: right; }
	.lxp-table td::before { content: attr(data-l); font-size: .75rem; color: var(--mu); text-transform: uppercase; font-weight: 600; text-align: left; }
	.lxp-table td.lxp-right { justify-content: flex-end; }
	.lxp-table td.lxp-actions { flex-wrap: wrap; }
	.lxp-statuslist { grid-template-columns: 1fr; }
	.lxp-uni__head { flex-wrap: wrap; }
	.lxp-track__labels span:nth-child(even) { visibility: hidden; }
}

/* Narrow columns (application view) */
.lxp-table td[data-l="Size"], .lxp-table td[data-l="Uploaded"] { white-space: nowrap; }
.lxp-cols__main .lxp-upload { grid-template-columns: 1fr 1fr; }
.lxp-cols__main .lxp-upload .lxp-drop { grid-column: 1 / -1; order: -1; }
.lxp-cols__main .lxp-table td.lxp-actions { white-space: normal; }
.lxp-cols__main .lxp-table td.lxp-actions > * { margin: 2px 0 2px 4px; }
@media (max-width: 720px) { .lxp-cols__main .lxp-upload { grid-template-columns: 1fr; } }
@media (max-width: 720px) {
	.lxp-filters .lxp-search { flex-basis: 100%; }
	.lxp-filters select, .lxp-filters input[type=text] { flex: 1 1 45%; min-width: 0; }
	.lxp-filters .lx-btn { flex: 1 1 100%; }
	.lxp-auth__x { opacity: .25; }
}

/* ===================== v2 ===================== */
.lxp--site { --r: var(--lx-red, #e3122b); --rd: var(--lx-red-dark, #b50d21); --rs: var(--lx-red-soft, #fdecee); --k: var(--lx-black, #0b0b0c); --ch: var(--lx-char, #1d1d21); --g: var(--lx-grey, #f4f4f5); --ln: var(--lx-line, #e5e5e8); --mu: var(--lx-muted, #5d5d66); --rad: var(--lx-radius, 14px); --radl: var(--lx-radius-lg, 22px); --hd: var(--lx-head, system-ui, sans-serif); }
.lxp-small { font-size: .85rem; }
.lxp .lx-btn--disabled { background: #e4e4e7; color: #71717a; cursor: not-allowed; }
.lxp-grid-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.lxp-grid-2 > .lxp-card { margin-bottom: 0; }
.lxp-grid-2 + .lxp-card { margin-top: 22px; }
.lxp-stats--5 { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
.lxp-stat--red span { background: var(--rs); color: var(--r); }
.lxp-table--compact td, .lxp-table--compact th { padding: 9px 10px; }
.lxp-mini-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.lxp-mini-kpis div { background: var(--g); border-radius: 12px; padding: 12px 14px; }
.lxp-mini-kpis small { display: block; color: var(--mu); font-size: .78rem; }
.lxp-mini-kpis strong { font-family: var(--hd); font-size: 1.15rem; }
.lxp-filters label { display: flex; flex-direction: column; gap: 4px; font-size: .78rem; color: var(--mu); font-weight: 600; }
.lxp-filters__act { display: flex; gap: 8px; align-items: flex-end; flex-wrap: wrap; }
.lxp-list { margin: 0; padding-left: 18px; }
.lxp-perms { display: flex; flex-direction: column; gap: 2px; }
.lxp-auth__logo { width: 88px; height: 88px; border-radius: 50%; margin-bottom: 18px; box-shadow: 0 10px 30px rgba(227, 18, 43, .35); }
.lxp-auth__logo--sm { width: 64px; height: 64px; margin: 0 auto 14px; display: block; }
.lxp-auth--narrow { max-width: 520px; margin: 0 auto; display: block; }
.lxp-auth--narrow .lxp-auth__main { border-radius: var(--radl); }
.lxp-inline-form { margin: 0 0 18px; padding: 14px; background: var(--g); border-radius: 12px; }
.lxp-grid-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 16px; }
.lxp-grid-form .lxp-f--full { grid-column: 1 / -1; }

/* Self-evaluation */
.lxp-eval { border: 1px solid var(--ln); border-left: 5px solid #1d4ed8; border-radius: 14px; padding: 16px 18px; margin-bottom: 18px; background: #fff; }
.lxp-eval--green { border-left-color: #15803d; } .lxp-eval--red { border-left-color: var(--r); } .lxp-eval--amber { border-left-color: #d97706; }
.lxp-eval__head { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 8px; }
.lxp-eval__head strong { font-family: var(--hd); font-size: 1.05rem; }
.lxp-eval__head small { color: var(--mu); }
.lxp-eval__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.lxp-eval__list li { display: flex; gap: 10px; align-items: flex-start; font-size: .92rem; }
.lxp-eval__list li > span { flex: none; width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; font-size: .75rem; font-weight: 800; background: #e8f0fe; color: #1d4ed8; }
.lxp-eval__list li.is-pass > span { background: #e8f7ee; color: #15803d; }
.lxp-eval__list li.is-fail > span { background: var(--rs); color: var(--rd); }
.lxp-eval__note { font-size: .8rem; color: var(--mu); margin: 10px 0 0; }

/* Missing-documents pop-up */
.lxp-modal { position: fixed; inset: 0; z-index: 9999; background: rgba(11, 11, 12, .6); display: grid; place-items: center; padding: 16px; }
.lxp-modal[hidden] { display: none; }
.lxp-modal__box { position: relative; background: #fff; border-radius: 22px; max-width: 520px; width: 100%; max-height: 90vh; overflow: auto; padding: 28px; box-shadow: 0 30px 80px rgba(0, 0, 0, .35); }
.lxp-modal__x { position: absolute; top: 12px; right: 14px; border: 0; background: var(--g); width: 34px; height: 34px; border-radius: 50%; font-size: 20px; cursor: pointer; }
.lxp-modal__icon { display: inline-grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: var(--rs); color: var(--r); margin-bottom: 10px; }
.lxp-modal__app { border: 1px solid var(--ln); border-radius: 14px; padding: 14px; margin: 12px 0; }
.lxp-modal__app ul { margin: 8px 0 12px; padding-left: 18px; }
.lxp-modal .lxp-link { background: none; border: 0; cursor: pointer; padding: 0; color: var(--mu); }

/* Program search */
.lxs-filters { background: #fff; border-radius: var(--radl, 22px); padding: 18px; margin-bottom: 18px; box-shadow: 0 1px 2px rgba(0,0,0,.04); border: 1px solid var(--ln); }
.lxs-filters__main { display: grid; grid-template-columns: minmax(0, 2.2fr) minmax(0, 1fr) minmax(0, 1fr) auto; gap: 10px; }
.lxs-filters input, .lxs-filters select { width: 100%; padding: 12px 14px; border: 1px solid var(--ln); border-radius: 12px; background: #fff; font: inherit; color: inherit; min-width: 0; }
.lxs-filters input:focus, .lxs-filters select:focus { outline: 0; border-color: var(--r); box-shadow: 0 0 0 3px var(--rs); }
.lxs-more { margin-top: 12px; }
.lxs-more summary { cursor: pointer; font-weight: 700; color: var(--k); font-size: .9rem; }
.lxs-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-top: 12px; }
.lxs-grid label { display: flex; flex-direction: column; gap: 5px; font-size: .8rem; font-weight: 600; color: var(--mu); }
.lxs-note { font-size: .78rem; color: var(--mu); margin: 10px 0 0; }
.lxs-bar { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin: 6px 0 14px; }
.lxs-bar p { margin: 0; }
.lxs-muted { color: var(--mu); font-size: .88rem; margin-left: 6px; }
.lxs-bar__act { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.lxs-sort { display: flex; align-items: center; gap: 8px; font-size: .85rem; font-weight: 600; color: var(--mu); }
.lxs-sort select { padding: 8px 10px; border: 1px solid var(--ln); border-radius: 10px; font: inherit; }
.lxs-list { display: grid; gap: 14px; }
.lxs-card { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 18px; background: #fff; border: 1px solid var(--ln); border-radius: 18px; padding: 18px 20px; transition: border-color .2s, box-shadow .2s; }
.lxs-card:hover { border-color: #d4d4d8; box-shadow: 0 10px 30px rgba(0,0,0,.06); }
.lxs-card__top { display: flex; align-items: center; gap: 10px; font-size: .85rem; color: var(--mu); font-weight: 600; }
.lxs-flag { width: 28px; height: 20px; object-fit: cover; border-radius: 4px; box-shadow: 0 0 0 1px rgba(0,0,0,.08); }
.lxs-card h3 { margin: 6px 0 2px !important; font-size: 1.12rem !important; }
.lxs-meta { color: var(--mu); margin: 0 0 12px; font-size: .88rem; }
.lxs-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 0; }
.lxs-facts div { background: var(--g); border-radius: 12px; padding: 10px 12px; }
.lxs-facts dt { font-size: .72rem; text-transform: uppercase; letter-spacing: .05em; color: var(--mu); font-weight: 700; }
.lxs-facts dd { margin: 3px 0 0; font-weight: 700; color: var(--k); font-size: .92rem; }
.lxs-details { margin-top: 12px; }
.lxs-details summary { cursor: pointer; color: var(--r); font-weight: 700; font-size: .88rem; }
.lxs-details__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 20px; margin-top: 12px; }
.lxs-details h4 { font-size: .85rem !important; margin: 0 0 4px !important; }
.lxs-details p { margin: 0; font-size: .88rem; color: #3f3f46; }
.lxs-source { font-size: .76rem; color: var(--mu); margin: 10px 0 0; }
.lxs-card__act { display: flex; flex-direction: column; gap: 10px; align-items: stretch; justify-content: center; min-width: 170px; }
.lxs-cmp { display: flex; align-items: center; justify-content: center; gap: 6px; font-size: .85rem; font-weight: 600; color: var(--mu); cursor: pointer; }
.lxs-compare { position: sticky; bottom: 14px; z-index: 50; margin-top: 18px; display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; background: var(--k); color: #fff; padding: 12px 16px; border-radius: 16px; box-shadow: 0 16px 40px rgba(0,0,0,.25); }
.lxs-compare[hidden] { display: none; }
.lxs-compare .lx-btn--outline { border-color: #fff; color: #fff; }
.lxs-compare .is-disabled { opacity: .6; }
.lxs-toast { position: fixed; left: 50%; bottom: 90px; transform: translateX(-50%); background: var(--k, #0b0b0c); color: #fff; padding: 10px 18px; border-radius: 999px; z-index: 9999; font-weight: 600; }
.lxs-ctable-wrap { overflow-x: auto; background: #fff; border-radius: 18px; border: 1px solid var(--ln); }
.lxs-ctable { width: 100%; border-collapse: collapse; min-width: 640px; }
.lxs-ctable th, .lxs-ctable td { padding: 12px 14px; border-bottom: 1px solid var(--ln); text-align: left; vertical-align: top; font-size: .9rem; }
.lxs-ctable thead th { background: var(--k); color: #fff; font-family: var(--hd); }
.lxs-ctable tbody th { width: 170px; color: var(--mu); font-weight: 700; background: #fafafa; }
.lxp--site .lxp-pages { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 18px; }
.lxp--site .lxp-pages a, .lxp--site .lxp-pages span { padding: 8px 13px; border-radius: 10px; background: #fff; border: 1px solid var(--ln); text-decoration: none; color: var(--k); font-weight: 600; }
.lxp--site .lxp-pages .is-current { background: var(--r); color: #fff; border-color: var(--r); }
.lxp--site .lxp-empty { background: #fff; border-radius: 18px; padding: 24px; border: 1px dashed var(--ln); }

/* Services */
.lxsv-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.lxsv-card { background: #fff; border: 1px solid var(--ln); border-radius: 18px; padding: 20px; display: flex; flex-direction: column; gap: 10px; }
.lxsv-card__head { display: flex; gap: 12px; align-items: center; }
.lxsv-card__head img { width: 40px; height: 28px; object-fit: cover; border-radius: 5px; box-shadow: 0 0 0 1px rgba(0,0,0,.08); }
.lxsv-card__head h3 { margin: 0 !important; font-size: 1.05rem !important; }
.lxsv-card__head small { color: var(--mu); }
.lxsv-card p { margin: 0; color: #3f3f46; font-size: .92rem; }
.lxsv-facts { display: grid; gap: 6px; margin: 0; font-size: .85rem; }
.lxsv-facts div { display: flex; justify-content: space-between; gap: 8px; border-bottom: 1px dashed var(--ln); padding-bottom: 5px; }
.lxsv-facts dt { color: var(--mu); }
.lxsv-facts dd { margin: 0; font-weight: 600; text-align: right; }
.lxsv-note { font-size: .82rem !important; color: var(--mu) !important; }
.lxsv-more ul { padding-left: 18px; margin: 6px 0; }
.lxsv-act { margin-top: auto; display: flex; gap: 8px; flex-wrap: wrap; }

@media (max-width: 960px) {
	.lxs-filters__main { grid-template-columns: 1fr 1fr; }
	.lxs-q { grid-column: 1 / -1; }
	.lxs-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.lxs-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.lxsv-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.lxp-grid-2 { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
	.lxs-card { grid-template-columns: 1fr; padding: 16px; }
	.lxs-card__act { flex-direction: row; min-width: 0; align-items: center; justify-content: space-between; }
	.lxs-details__grid { grid-template-columns: 1fr; }
	.lxs-filters__main { grid-template-columns: 1fr; }
	.lxs-grid { grid-template-columns: 1fr 1fr; }
	.lxsv-grid { grid-template-columns: 1fr; }
	.lxp-mini-kpis { grid-template-columns: 1fr 1fr; }
	.lxp-grid-form { grid-template-columns: 1fr; }
}
