*{
margin:0;
padding:0;
box-sizing:border-box;
-webkit-tap-highlight-color:transparent;
}

html{
scroll-behavior:smooth;
height:100%;
min-height:100dvh;
}

body{
min-height:100%;
min-height:100dvh;
background:
linear-gradient(
180deg,
#06101f 0%,
#081527 100%
);
font-family:'Syne',sans-serif;
color:#f5f7fb;
line-height:1.7;
overflow-x:hidden;
position:relative;
}

/* =========================================
IOS SAFE FIX
========================================= */

body.admx-lock{
overflow:hidden;
touch-action:none;
}

/* =========================================
ROOT
========================================= */

#admx{
width:100%;
min-height:100dvh;
padding:42px 18px 90px;
position:relative;
overflow:hidden;
isolation:isolate;
display:flex;
flex-direction:column;
}

/* =========================================
BACKGROUND EFFECTS
========================================= */

#admx::before,
#admx::after{
content:'';
position:absolute;
pointer-events:none;
z-index:0;
}

#admx::before{
top:-18%;
left:-12%;
width:55%;
height:50%;
background:
radial-gradient(
ellipse,
rgba(245,197,24,.06),
transparent 70%
);
}

#admx::after{
bottom:-18%;
right:-12%;
width:58%;
height:50%;
background:
radial-gradient(
ellipse,
rgba(72,120,255,.10),
transparent 70%
);
}

/* =========================================
WRAPPER
========================================= */

.admx-wrap{
position:relative;
z-index:2;
width:100%;
max-width:1040px;
margin:0 auto;
display:flex;
flex-direction:column;
flex:1;
}

/* =========================================
HERO SECTION
========================================= */

.admx-hero{
position:relative;
overflow:hidden;
background:
linear-gradient(
135deg,
rgba(8,20,38,.98),
rgba(3,12,24,.99)
);
border:
1px solid rgba(255,255,255,.06);
border-radius:38px;
padding:54px 46px;
margin-bottom:34px;
box-shadow:
0 22px 60px rgba(0,0,0,.34);
}

.admx-hero::before{
content:'';
position:absolute;
top:-20%;
right:-8%;
width:280px;
height:280px;
border-radius:50%;
background:
radial-gradient(
circle,
rgba(245,197,24,.12),
transparent 72%
);
pointer-events:none;
}

/* =========================================
BADGE
========================================= */

.admx-badge{
display:inline-flex;
align-items:center;
justify-content:center;
padding:11px 24px;
border-radius:999px;
background:
rgba(72,120,255,.12);
border:
1px solid rgba(88,138,255,.24);
font-size:13px;
font-weight:700;
letter-spacing:.6px;
color:#7ea8ff;
margin-bottom:30px;
}

/* =========================================
TITLE
========================================= */

.admx-title{
font-family:
'Cormorant Garamond',
serif;
font-size:86px;
line-height:.92;
font-weight:700;
letter-spacing:-1.8px;
margin-bottom:28px;
color:#ffffff;
max-width:760px;
}

.admx-title span{
display:block;
color:#f5c518;
}

/* =========================================
SUBTEXT
========================================= */

.admx-sub{
font-size:22px;
line-height:2;
color:
rgba(255,255,255,.72);
max-width:760px;
margin-bottom:34px;
}

/* =========================================
NOTICE BOX
========================================= */

.admx-note{
background:
rgba(255,255,255,.04);
border:
1px solid rgba(255,255,255,.06);
border-radius:24px;
padding:24px;
font-size:15px;
line-height:1.9;
color:
rgba(255,255,255,.7);
}

.admx-note strong{
color:#ffd76a;
}

/* =========================================
PROGRESS
========================================= */

.admx-progress{
display:grid;
grid-template-columns:
repeat(6,1fr);
gap:14px;
margin-bottom:36px;
}

/* =========================================
STEP
========================================= */

.admx-step{
position:relative;
padding:16px 14px;
border-radius:18px;
background:
rgba(255,255,255,.03);
border:
1px solid rgba(255,255,255,.05);
text-align:center;
font-size:13px;
font-weight:700;
letter-spacing:.3px;
color:
rgba(255,255,255,.42);
transition:.24s ease;
overflow:hidden;
}

.admx-step::before{
content:'';
position:absolute;
inset:0;
background:
linear-gradient(
135deg,
rgba(255,255,255,.04),
transparent
);
opacity:0;
transition:.24s ease;
}

.admx-step.active{
background:
linear-gradient(
135deg,
rgba(76,136,255,.16),
rgba(76,136,255,.05)
);
border:
1px solid rgba(96,146,255,.34);
color:#ffffff;
box-shadow:
0 12px 24px rgba(76,136,255,.14);
}

.admx-step.active::before{
opacity:1;
}

/* =========================================
MAIN PANELS
========================================= */

.admx-panel,
.admx-resultbox,
.admx-finalbox{
position:relative;
overflow:hidden;
background:
linear-gradient(
180deg,
rgba(7,20,38,.98),
rgba(4,14,28,.99)
);
border:
1px solid rgba(255,255,255,.06);
border-radius:36px;
padding:48px 40px;
box-shadow:
0 20px 55px rgba(0,0,0,.28);
animation:admxFade .25s ease;
}

.admx-panel::before,
.admx-resultbox::before,
.admx-finalbox::before{
content:'';
position:absolute;
top:-20%;
right:-10%;
width:220px;
height:220px;
border-radius:50%;
background:
radial-gradient(
circle,
rgba(72,120,255,.07),
transparent 72%
);
pointer-events:none;
}

/* =========================================
ANIMATION
========================================= */

@keyframes admxFade{
from{
opacity:0;
transform:translateY(8px);
}
to{
opacity:1;
transform:none;
}
}

/* =========================================
HEADINGS
========================================= */

.admx-h{
font-family:
'Cormorant Garamond',
serif;
font-size:64px;
line-height:1;
font-weight:700;
margin-bottom:18px;
color:#ffffff;
}

/* =========================================
PARAGRAPH
========================================= */

.admx-p{
font-size:19px;
line-height:2;
color:
rgba(255,255,255,.68);
max-width:760px;
margin-bottom:38px;
}

/* =========================================
GRID
========================================= */

.admx-grid{
display:grid;
grid-template-columns:
repeat(2,minmax(0,1fr));
gap:26px;
margin-bottom:38px;
}

/* =========================================
FIELD
========================================= */

.admx-field{
position:relative;
}

/* =========================================
LABEL
========================================= */

.admx-lbl{
display:block;
margin-bottom:12px;
font-size:14px;
font-weight:700;
letter-spacing:.5px;
color:#ffffff;
}

/* =========================================
INPUTS
========================================= */

.admx-inp,
.admx-select,
.admx-textarea{
width:100%;
border-radius:18px;
border:
1px solid rgba(255,255,255,.08);
background:
rgba(255,255,255,.04);
padding:0 20px;
font-size:16px;
font-family:'Syne',sans-serif;
color:#ffffff;
outline:none;
transition:.22s ease;
appearance:none;
-webkit-appearance:none;
}

/* =========================================
INPUT HEIGHT
========================================= */

.admx-inp,
.admx-select{
height:66px;
}

/* =========================================
TEXTAREA
========================================= */

.admx-textarea{
min-height:190px;
padding-top:18px;
padding-bottom:18px;
resize:vertical;
line-height:1.9;
}

/* =========================================
PLACEHOLDER
========================================= */

.admx-inp::placeholder,
.admx-textarea::placeholder{
color:
rgba(255,255,255,.34);
}

/* =========================================
SELECT OPTION
========================================= */

.admx-select option{
background:#081525;
color:#ffffff;
}

/* =========================================
FOCUS
========================================= */

.admx-inp:focus,
.admx-select:focus,
.admx-textarea:focus{
border:
1px solid rgba(92,138,255,.45);
background:
rgba(255,255,255,.06);
box-shadow:
0 0 0 4px rgba(92,138,255,.12);
}

/* =========================================
ERROR STATE
========================================= */

.admx-error{
border:
1px solid rgba(255,95,95,.72)!important;
background:
rgba(255,70,70,.06)!important;
box-shadow:
0 0 0 4px rgba(255,70,70,.08)!important;
}

/* =========================================
ERROR TEXT
========================================= */

.admx-error-text{
margin-top:8px;
font-size:13px;
line-height:1.6;
color:#ff9d9d;
font-weight:600;
display:flex;
align-items:flex-start;
gap:6px;
}

/* =========================================
INFO CARD
========================================= */

.admx-info-card{
position:relative;
overflow:hidden;
background:
rgba(255,255,255,.03);
border:
1px solid rgba(255,255,255,.06);
border-radius:28px;
padding:30px;
margin-bottom:36px;
}

.admx-info-card::before{
content:'';
position:absolute;
top:-20%;
right:-10%;
width:180px;
height:180px;
border-radius:50%;
background:
radial-gradient(
circle,
rgba(72,120,255,.06),
transparent 72%
);
pointer-events:none;
}

/* =========================================
INFO CARD TITLE
========================================= */

.admx-info-card h3{
font-size:26px;
font-weight:800;
line-height:1.4;
margin-bottom:16px;
color:#ffffff;
}

/* =========================================
INFO CARD TEXT
========================================= */

.admx-info-card p{
font-size:15px;
line-height:1.9;
color:
rgba(255,255,255,.7);
margin-bottom:20px;
max-width:850px;
}

/* =========================================
CHECKLIST
========================================= */

.admx-checks{
display:flex;
flex-direction:column;
gap:14px;
padding-left:20px;
}

.admx-checks li{
font-size:15px;
line-height:1.8;
color:
rgba(255,255,255,.78);
}

/* =========================================
BUTTON AREA
========================================= */

.admx-actions{
display:flex;
flex-wrap:wrap;
gap:16px;
margin-top:18px;
}

/* =========================================
BUTTON BASE
========================================= */

.admx-btn{
border:none;
outline:none;
cursor:pointer;
min-height:58px;
padding:0 28px;
border-radius:18px;
font-family:'Syne',sans-serif;
font-size:15px;
font-weight:700;
transition:.22s ease;
display:inline-flex;
align-items:center;
justify-content:center;
text-align:center;
}

/* =========================================
PRIMARY BUTTONS
========================================= */

.admx-next,
.admx-submit,
.admx-send,
.admx-restart{
background:
linear-gradient(
135deg,
#4d86ff,
#2f6cff
);
color:#ffffff;
box-shadow:
0 12px 28px rgba(54,110,255,.26);
}

/* =========================================
PRIMARY HOVER
========================================= */

.admx-next:hover,
.admx-submit:hover,
.admx-send:hover,
.admx-restart:hover{
transform:
translateY(-2px);
}

/* =========================================
BACK BUTTON
========================================= */

.admx-back{
background:
rgba(255,255,255,.05);
border:
1px solid rgba(255,255,255,.08);
color:#ffffff;
}

/* =========================================
MESSAGE AREA
========================================= */

.admx-msg{
margin-top:18px;
font-size:14px;
line-height:1.8;
color:#7ecfff;
}

/* =========================================
SUCCESS MESSAGE
========================================= */

.admx-msg.ok{
color:#8ff0b8;
}

/* =========================================
FAILED MESSAGE
========================================= */

.admx-msg.fail{
color:#ff9d9d;
}

/* =========================================
SUCCESS BOX
========================================= */

.admx-successbox{
padding:22px 24px;
border-radius:22px;
background:
linear-gradient(
135deg,
rgba(52,209,127,.10),
rgba(52,209,127,.04)
);
border:
1px solid rgba(52,209,127,.24);
color:#8ff0b8;
font-size:15px;
line-height:1.9;
margin-bottom:34px;
font-weight:600;
}

/* =========================================
SECTION MINI TITLE
========================================= */

.admx-mini{
font-size:14px;
font-weight:700;
letter-spacing:.4px;
margin-bottom:20px;
color:#7ea8ff;
}

/* =========================================
GENERAL LIST
========================================= */

.admx-list{
display:flex;
flex-direction:column;
gap:14px;
padding-left:20px;
margin-bottom:36px;
}

/* =========================================
LIST ITEMS
========================================= */

.admx-list li{
font-size:15px;
line-height:1.9;
color:
rgba(255,255,255,.76);
}

/* =========================================
RISK LIST
========================================= */

.admx-risk li{
color:#ffb1b1;
}

/* =========================================
RESULT SCORE AREA
========================================= */

.admx-scoreline{
display:flex;
align-items:center;
gap:22px;
margin-bottom:34px;
flex-wrap:wrap;
}

/* =========================================
SCORE CIRCLE
========================================= */

.admx-circle{
width:108px;
height:108px;
border-radius:50%;
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
border:4px solid;
background:
rgba(255,255,255,.03);
box-shadow:
0 8px 18px rgba(0,0,0,.18);
flex-shrink:0;
}

/* =========================================
SCORE COLORS
========================================= */

.admx-circle.elite{
border-color:#34d17f;
}

.admx-circle.strong{
border-color:#4d86ff;
}

.admx-circle.moderate{
border-color:#f5c518;
}

.admx-circle.weak{
border-color:#ff5f5f;
}

/* =========================================
SCORE NUMBER
========================================= */

.admx-num{
font-size:34px;
font-weight:800;
line-height:1;
color:#ffffff;
}

/* =========================================
SCORE SUBTEXT
========================================= */

.admx-subnum{
font-size:11px;
margin-top:4px;
opacity:.6;
color:#ffffff;
}

/* =========================================
STATUS
========================================= */

.admx-status{
font-size:34px;
font-weight:800;
margin-bottom:10px;
line-height:1.2;
}

/* =========================================
STATUS COLORS
========================================= */

.admx-status.elite{
color:#34d17f;
}

.admx-status.strong{
color:#7ea8ff;
}

.admx-status.moderate{
color:#f5c518;
}

.admx-status.weak{
color:#ff7070;
}

/* =========================================
ADVICE
========================================= */

.admx-advice{
font-size:17px;
line-height:1.9;
color:
rgba(255,255,255,.7);
max-width:720px;
}

/* =========================================
BREAKDOWN GRID
========================================= */

.admx-break-grid{
display:grid;
grid-template-columns:
repeat(4,minmax(0,1fr));
gap:18px;
margin-bottom:36px;
}

/* =========================================
BREAKDOWN CARD
========================================= */

.admx-break-card{
background:
rgba(255,255,255,.03);
border:
1px solid rgba(255,255,255,.06);
border-radius:24px;
padding:24px 18px;
text-align:center;
}

/* =========================================
BREAKDOWN NUMBER
========================================= */

.admx-break-card strong{
display:block;
font-size:32px;
font-weight:800;
line-height:1;
margin-bottom:12px;
color:#ffffff;
}

/* =========================================
BREAKDOWN LABEL
========================================= */

.admx-break-card span{
display:block;
font-size:14px;
line-height:1.6;
color:
rgba(255,255,255,.68);
}

/* =========================================
UNIVERSITY GRID
========================================= */

.admx-university-grid{
display:grid;
grid-template-columns:
repeat(3,minmax(0,1fr));
gap:20px;
margin-bottom:38px;
}

/* =========================================
UNIVERSITY BOX
========================================= */

.admx-uni-box{
background:
rgba(255,255,255,.03);
border:
1px solid rgba(255,255,255,.06);
border-radius:26px;
padding:26px;
}

/* =========================================
UNIVERSITY TITLE
========================================= */

.admx-uni-title{
font-size:18px;
font-weight:800;
line-height:1.4;
margin-bottom:18px;
color:#ffffff;
}

/* =========================================
REVIEW CARD
========================================= */

.admx-review-card{
background:
rgba(255,255,255,.03);
border:
1px solid rgba(255,255,255,.06);
border-radius:28px;
padding:30px;
margin-bottom:38px;
}

/* =========================================
REVIEW TEXT
========================================= */

.admx-review-card p{
font-size:16px;
line-height:2;
color:
rgba(255,255,255,.75);
}

/* =========================================
IMPROVEMENT PLAN
========================================= */

.admx-plan{
display:flex;
flex-direction:column;
gap:16px;
margin-bottom:38px;
}

/* =========================================
PLAN ROW
========================================= */

.admx-planrow{
display:flex;
gap:16px;
align-items:flex-start;
padding:18px;
border-radius:20px;
background:
rgba(255,255,255,.03);
border:
1px solid rgba(255,255,255,.05);
}

/* =========================================
DAY LABEL
========================================= */

.admx-day{
min-width:78px;
padding:10px 14px;
border-radius:14px;
background:
rgba(75,132,255,.14);
font-size:13px;
font-weight:700;
color:#7aa4ff;
text-align:center;
}

/* =========================================
TASK
========================================= */

.admx-task{
font-size:15px;
line-height:1.8;
color:
rgba(255,255,255,.75);
}

/* =========================================
FINAL SCREEN
========================================= */

.admx-finalbox{
position:relative;
overflow:hidden;
background:
linear-gradient(
180deg,
rgba(7,20,38,.98),
rgba(4,14,28,.99)
);
border:
1px solid rgba(255,255,255,.06);
border-radius:36px;
padding:52px 42px;
box-shadow:
0 20px 55px rgba(0,0,0,.28);
animation:admxFade .25s ease;
}

/* =========================================
FINAL HEADER
========================================= */

.admx-final-top{
margin-bottom:38px;
}

/* =========================================
FINAL BADGE
========================================= */

.admx-final-badge{
display:inline-flex;
align-items:center;
justify-content:center;
padding:10px 22px;
border-radius:999px;
background:
rgba(52,209,127,.10);
border:
1px solid rgba(52,209,127,.22);
font-size:13px;
font-weight:700;
letter-spacing:.5px;
color:#8ff0b8;
margin-bottom:24px;
}

/* =========================================
FINAL TITLE
========================================= */

.admx-final-title{
font-family:
'Cormorant Garamond',
serif;
font-size:64px;
line-height:1;
font-weight:700;
margin-bottom:18px;
color:#ffffff;
}

/* =========================================
FINAL SUBTEXT
========================================= */

.admx-final-sub{
font-size:18px;
line-height:1.9;
max-width:760px;
color:
rgba(255,255,255,.7);
}

/* =========================================
FINAL GRID
========================================= */

.admx-final-grid{
display:grid;
grid-template-columns:
repeat(2,minmax(0,1fr));
gap:22px;
margin-bottom:38px;
}

/* =========================================
FINAL CARD
========================================= */

.admx-final-card{
background:
rgba(255,255,255,.03);
border:
1px solid rgba(255,255,255,.06);
border-radius:26px;
padding:28px;
}

/* =========================================
FINAL CARD TITLE
========================================= */

.admx-final-card h3{
font-size:22px;
font-weight:800;
line-height:1.4;
margin-bottom:16px;
color:#ffffff;
}

/* =========================================
FINAL CARD TEXT
========================================= */

.admx-final-card p{
font-size:15px;
line-height:1.9;
color:
rgba(255,255,255,.72);
}

/* =========================================
FINAL LIST
========================================= */

.admx-final-list{
display:flex;
flex-direction:column;
gap:12px;
padding-left:18px;
}

.admx-final-list li{
font-size:15px;
line-height:1.8;
color:
rgba(255,255,255,.74);
}

/* =========================================
FINAL ACTIONS
========================================= */

.admx-final-actions{
display:flex;
flex-wrap:wrap;
gap:16px;
}

/* =========================================
FOOTER
========================================= */

.admx-footer{
text-align:center;
padding:38px 10px 0;
font-size:13px;
line-height:1.9;
color:
rgba(255,255,255,.42);
}

/* =========================================
FOOTER LINK
========================================= */

.admx-footer a{
color:#7aa4ff;
text-decoration:none;
}

/* =========================================
TABLET RESPONSIVE
========================================= */

@media(max-width:900px){

.admx-break-grid{
grid-template-columns:
repeat(2,minmax(0,1fr));
}

.admx-university-grid{
grid-template-columns:1fr;
}

.admx-final-grid{
grid-template-columns:1fr;
}

}

/* =========================================
MOBILE RESPONSIVE
========================================= */

@media(max-width:768px){

#admx{
padding:22px 14px 70px;
}

/* =========================
PANELS
========================= */

.admx-hero,
.admx-panel,
.admx-resultbox,
.admx-finalbox{
padding:30px 22px;
border-radius:28px;
}

/* =========================
TITLE
========================= */

.admx-title{
font-size:58px;
line-height:.96;
}

/* =========================
HEADINGS
========================= */

.admx-h{
font-size:48px;
}

.admx-final-title{
font-size:48px;
}

/* =========================
TEXT
========================= */

.admx-sub,
.admx-p,
.admx-final-sub{
font-size:18px;
line-height:1.9;
}

/* =========================
GRID
========================= */

.admx-grid{
grid-template-columns:1fr;
gap:18px;
}

/* =========================
PROGRESS
========================= */

.admx-progress{
grid-template-columns:
repeat(2,minmax(0,1fr));
gap:12px;
}

.admx-step{
padding:14px;
font-size:12px;
}

/* =========================
SCORE AREA
========================= */

.admx-scoreline{
flex-direction:column;
align-items:flex-start;
}

/* =========================
BREAKDOWN
========================= */

.admx-break-grid{
grid-template-columns:1fr;
}

/* =========================
BUTTONS
========================= */

.admx-actions,
.admx-final-actions{
flex-direction:column;
}

.admx-btn{
width:100%;
}

/* =========================
PLAN
========================= */

.admx-planrow{
flex-direction:column;
}

/* =========================
SCORE
========================= */

.admx-circle{
width:96px;
height:96px;
}

.admx-num{
font-size:30px;
}

.admx-status{
font-size:26px;
}

/* =========================
INFO CARD
========================= */

.admx-info-card{
padding:24px;
}

.admx-info-card h3{
font-size:22px;
}

/* =========================
UNIVERSITY BOX
========================= */

.admx-uni-box{
padding:22px;
}

/* =========================
REVIEW
========================= */

.admx-review-card{
padding:24px;
}

/* =========================
FINAL CARD
========================= */

.admx-final-card{
padding:24px;
}

}

/* =========================================
SMALL MOBILE
========================================= */

@media(max-width:480px){

/* =========================
TITLE
========================= */

.admx-title{
font-size:46px;
}

.admx-h{
font-size:40px;
}

.admx-final-title{
font-size:40px;
}

/* =========================
TEXT
========================= */

.admx-sub,
.admx-p,
.admx-final-sub{
font-size:16px;
line-height:1.8;
}

/* =========================
SCORE
========================= */

.admx-circle{
width:84px;
height:84px;
border-width:3px;
}

.admx-num{
font-size:26px;
}

.admx-subnum{
font-size:11px;
}

.admx-status{
font-size:22px;
}

.admx-advice{
font-size:15px;
}

/* =========================
INPUTS
========================= */

.admx-inp,
.admx-select{
height:60px;
font-size:15px;
}

.admx-textarea{
padding:18px;
min-height:160px;
font-size:15px;
}

/* =========================
BUTTON
========================= */

.admx-btn{
font-size:14px;
padding:0 20px;
min-height:54px;
}

/* =========================
CARDS
========================= */

.admx-info-card,
.admx-review-card,
.admx-final-card,
.admx-uni-box{
padding:20px;
}

/* =========================
BREAK CARD
========================= */

.admx-break-card{
padding:20px 16px;
}

.admx-break-card strong{
font-size:28px;
}

/* =========================
PLAN
========================= */

.admx-day{
min-width:auto;
width:100%;
}

}

/* =========================================
EXTRA SMALL DEVICES
========================================= */

@media(max-width:360px){

.admx-title{
font-size:40px;
}

.admx-h{
font-size:34px;
}

.admx-final-title{
font-size:34px;
}

.admx-circle{
width:74px;
height:74px;
}

.admx-num{
font-size:22px;
}

.admx-status{
font-size:20px;
}

.admx-progress{
grid-template-columns:1fr;
}

}

/* =========================================
SCROLLBAR
========================================= */

::-webkit-scrollbar{
width:10px;
}

::-webkit-scrollbar-track{
background:#06101f;
}

::-webkit-scrollbar-thumb{
background:
linear-gradient(
180deg,
#356fff,
#5a8dff
);
border-radius:999px;
}

::-webkit-scrollbar-thumb:hover{
background:
linear-gradient(
180deg,
#4f83ff,
#78a3ff
);
}

/* =========================================
TEXT SELECTION
========================================= */

::selection{
background:
rgba(75,132,255,.32);
color:#ffffff;
}

/* =========================================
PERFORMANCE
========================================= */

.admx-panel,
.admx-resultbox,
.admx-finalbox,
.admx-btn{
will-change:transform;
transform:translateZ(0);
backface-visibility:hidden;
}

/* =========================================
IOS HEIGHT FIX
========================================= */

html,
body{
height:100%;
min-height:100%;
min-height:100dvh;
margin:0;
padding:0;
overflow-x:hidden;
}

/* =========================================
APP ROOT FIX
========================================= */

#admx{
width:100%;
min-height:100dvh;
padding:42px 18px 20px;
position:relative;
display:flex;
flex-direction:column;
box-sizing:border-box;
}

/* =========================================
WRAPPER FIX
========================================= */

.admx-wrap{
flex:1;
display:flex;
flex-direction:column;
width:100%;
max-width:1040px;
margin:0 auto;
}

/* =========================================
FOOTER PUSH FIX
========================================= */

.admx-footer{
margin-top:auto!important;
padding:40px 10px 30px;
}

/* =========================================
SAFE AREA IOS
========================================= */

@supports(padding:max(0px)){

#admx{
padding-left:
max(18px,env(safe-area-inset-left));

padding-right:
max(18px,env(safe-area-inset-right));

padding-bottom:
max(20px,env(safe-area-inset-bottom));
}

}

/* =========================================
MOBILE HEIGHT FIX
========================================= */

@media(max-width:768px){

#admx{
min-height:100dvh;
padding-top:22px;
}

}

/* =========================================
FINAL IOS STEP FIX
========================================= */

#admx{
overflow:hidden;
}

.admx-wrap{
overflow:hidden;
}

.admx-panel,
.admx-resultbox,
.admx-finalbox{
scroll-margin-top:0;
margin-top:0 !important;
}

.admx-hero{
margin-bottom:26px;
}

.admx-progress{
margin-bottom:26px;
}

@media(max-width:768px){

.admx-hero{
padding:34px 24px;
}

.admx-title{
font-size:54px;
line-height:.92;
}

.admx-panel,
.admx-resultbox,
.admx-finalbox{
padding:28px 20px;
}

.admx-actions{
margin-top:30px;
}

.admx-btn{
min-height:62px;
}

}

.admx-error{
border:2px solid #ff4d4f !important;
box-shadow:
0 0 0 3px rgba(255,77,79,.15);
}

.admx-valid{
border:2px solid #22c55e !important;
box-shadow:
0 0 0 3px rgba(34,197,94,.14);
}

.admx-error-text{
margin-top:10px;
font-size:.88rem;
font-weight:600;
color:#ff6b6b;
line-height:1.5;
}

.admx-circle.elite,
.admx-status.elite{
background:
linear-gradient(
135deg,
#16a34a,
#22c55e
);
color:#fff;
}

.admx-circle.strong,
.admx-status.strong{
background:
linear-gradient(
135deg,
#65a30d,
#eab308
);
color:#fff;
}

.admx-circle.moderate,
.admx-status.moderate{
background:
linear-gradient(
135deg,
#f59e0b,
#facc15
);
color:#111827;
}

.admx-circle.weak,
.admx-status.weak{
background:
linear-gradient(
135deg,
#dc2626,
#ef4444
);
color:#fff;
}

/* =========================================
VALIDATION STATES
PLACE THIS AT THE VERY BOTTOM OF style.css
========================================= */

.admx-inp.admx-error,
.admx-select.admx-error,
.admx-textarea.admx-error{
border:2px solid #ff4d67 !important;
box-shadow:
0 0 0 4px rgba(255,77,103,.12),
0 10px 30px rgba(255,77,103,.12) !important;
animation:admxShake .28s ease;
}

.admx-inp.admx-valid,
.admx-select.admx-valid,
.admx-textarea.admx-valid{
border:2px solid #2dd881 !important;
box-shadow:
0 0 0 4px rgba(45,216,129,.10) !important;
}

.admx-error-text{
margin-top:10px;
font-size:14px;
line-height:1.5;
font-weight:600;
color:#ff6b81;
display:flex;
align-items:center;
gap:8px;
padding-left:2px;
letter-spacing:.2px;
animation:admxFade .22s ease;
}

@keyframes admxShake{

0%{
transform:translateX(0);
}

25%{
transform:translateX(-3px);
}

50%{
transform:translateX(3px);
}

75%{
transform:translateX(-2px);
}

100%{
transform:translateX(0);
}

}

@keyframes admxFade{

from{
opacity:0;
transform:translateY(-4px);
}

to{
opacity:1;
transform:translateY(0);
}

}

/* =========================================
ADMX VALIDATION FIX
========================================= */

.admx-field{
position:relative;
}

.admx-error{
border-color:#ff5c7a !important;
box-shadow:
0 0 0 3px rgba(255,92,122,.12) !important;
}

.admx-error-text{
display:block;
width:100%;
margin-top:8px;
font-size:13px;
line-height:1.5;
font-weight:600;
color:#ff6b6b;
animation:admxFade .18s ease;
}

@keyframes admxFade{

from{
opacity:0;
transform:translateY(-2px);
}

to{
opacity:1;
transform:translateY(0);
}

}








/* =========================================
PREMIUM GLOBAL TOOL FOOTER
========================================= */

.gsgx-tool-footer{
margin-top:90px;
padding:55px 22px 46px;
background:
linear-gradient(
180deg,
rgba(255,255,255,.03),
rgba(255,255,255,.015)
);
border-top:
1px solid rgba(255,255,255,.07);
position:relative;
overflow:hidden;
}

.gsgx-tool-footer::before{
content:'';
position:absolute;
top:-120px;
right:-120px;
width:260px;
height:260px;
background:
radial-gradient(
circle,
rgba(245,197,24,.08),
transparent 72%
);
pointer-events:none;
}

.gsgx-tool-footer-inner{
width:100%;
max-width:1120px;
margin:0 auto;
position:relative;
z-index:2;
}

.gsgx-tool-brand h3{
font-size:1.45rem;
line-height:1.2;
font-weight:800;
letter-spacing:-0.5px;
color:#ffffff;
margin-bottom:18px;
}

.gsgx-tool-brand p{
max-width:820px;
font-size:1rem;
line-height:1.95;
color:#c9d4df;
}

.gsgx-tool-footer-links{
display:flex;
flex-wrap:wrap;
gap:14px;
margin-top:34px;
}

.gsgx-tool-footer-links a{
display:inline-flex;
align-items:center;
justify-content:center;
padding:13px 18px;
border-radius:14px;
background:
rgba(255,255,255,.05);
border:
1px solid rgba(255,255,255,.08);
text-decoration:none;
font-size:.9rem;
font-weight:700;
letter-spacing:.01em;
color:#f5f7fb;
transition:
all .28s ease;
backdrop-filter:blur(8px);
}

.gsgx-tool-footer-links a:hover{
transform:
translateY(-2px);
background:
rgba(212,175,55,.10);
border-color:
rgba(212,175,55,.30);
color:#f5c518;
}

.gsgx-tool-footer-copy{
margin-top:30px;
padding-top:22px;
border-top:
1px solid rgba(255,255,255,.06);
font-size:.84rem;
line-height:1.8;
color:#8ea0b5;
}

/* =========================================
MOBILE
========================================= */

@media(max-width:768px){

.gsgx-tool-footer{
margin-top:70px;
padding:42px 20px 40px;
}

.gsgx-tool-brand h3{
font-size:1.2rem;
margin-bottom:16px;
}

.gsgx-tool-brand p{
font-size:.93rem;
line-height:1.9;
}

.gsgx-tool-footer-links{
flex-direction:column;
gap:12px;
}

.gsgx-tool-footer-links a{
width:100%;
padding:15px 18px;
font-size:.92rem;
}

.gsgx-tool-footer-copy{
font-size:.8rem;
line-height:1.7;
}

}