:root{
    --bg:#FBF8F3;
    --panel:#FFFDF9;
    --text:#09263D;
    --muted:#61707D;
    --pink:#970A44;
    --pink-dark:#720632;
    --pink-soft:#FFE5EF;
    --blue:#1C4668;
    --blue-soft:#E4EEF6;
    --border:rgba(9,38,61,.08);
    --shadow:0 24px 60px rgba(9,38,61,.10),0 6px 18px rgba(9,38,61,.05);
    --soft-shadow:0 14px 30px rgba(9,38,61,.06);
}
*{box-sizing:border-box;margin:0;padding:0}
body{
    font-family:Inter,system-ui,sans-serif;
    color:var(--text);
    min-height:100vh;
    background:
        radial-gradient(circle at 12% 14%, rgba(151,10,68,.10), transparent 20%),
        radial-gradient(circle at 88% 18%, rgba(28,70,104,.10), transparent 24%),
        linear-gradient(180deg,#FFFDF9 0%,#F8F3EE 100%);
}
.login-container{min-height:100vh;display:grid;place-items:center;padding:26px}
.login-shell{
    width:min(1200px,100%);
    min-height:720px;
    display:grid;
    grid-template-columns:1.15fr .85fr;
    background:rgba(255,253,249,.86);
    border:1px solid rgba(151,10,68,.08);
    border-radius:34px;
    overflow:hidden;
    box-shadow:var(--shadow);
    backdrop-filter:blur(12px);
}
.login-showcase{
    position:relative;
    padding:42px 42px 34px;
    display:grid;
    align-content:space-between;
    gap:28px;
    background:
        radial-gradient(circle at 20% 8%, rgba(151,10,68,.11), transparent 24%),
        linear-gradient(180deg, rgba(255,253,249,.98) 0%, rgba(247,240,236,.96) 100%);
}
.brand-system404{
    display:inline-flex;
    align-items:center;
    gap:0;
    font-family:"Pixelify Sans","Press Start 2P",sans-serif;
    font-size:46px;
    line-height:1;
    text-decoration:none;
    letter-spacing:.02em;
}
.brand-system{color:#050B10}
.brand-404{color:var(--pink)}
.showcase-eyebrow{
    display:inline-flex;
    align-items:center;
    gap:8px;
    width:max-content;
    padding:8px 14px;
    border-radius:999px;
    background:rgba(151,10,68,.08);
    color:var(--pink);
    font-weight:700;
    font-size:13px;
}
.showcase-copy h1{
    margin:18px 0 14px;
    font-family:"Press Start 2P",sans-serif;
    font-size:34px;
    line-height:1.45;
    color:var(--pink-dark);
}
.showcase-copy p:last-child{
    max-width:620px;
    color:var(--muted);
    font-size:17px;
    line-height:1.7;
}
.showcase-pulse-card{
    position:relative;
    padding:28px;
    border-radius:30px;
    background:linear-gradient(135deg, rgba(151,10,68,.10) 0%, rgba(28,70,104,.08) 100%);
    border:1px solid rgba(151,10,68,.08);
    box-shadow:var(--soft-shadow);
    overflow:hidden;
}
.showcase-pulse-card::after{
    content:"";
    position:absolute;
    top:16px;
    right:24px;
    width:84px;
    height:54px;
    background:radial-gradient(circle, rgba(151,10,68,.13) 3px, transparent 4px);
    background-size:16px 16px;
    opacity:.7;
}
.showcase-pulse-top{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:20px}
.pulse-badge,.pulse-status{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:10px 14px;
    border-radius:999px;
    font-size:13px;
    font-weight:700;
}
.pulse-badge{background:rgba(151,10,68,.12);color:var(--pink)}
.pulse-status{background:rgba(255,255,255,.66);color:var(--blue)}
.showcase-wave{
    min-height:124px;
    display:grid;
    place-items:center;
    margin-bottom:16px;
    padding:6px 0;
}
.showcase-wave svg{width:100%;max-width:540px;height:120px}
.showcase-wave path{
    stroke:var(--pink);
    stroke-width:6;
    stroke-linecap:round;
    stroke-linejoin:round;
    filter:drop-shadow(0 0 12px rgba(151,10,68,.22));
}
.showcase-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.showcase-stats div{
    padding:16px 18px;
    border-radius:20px;
    background:rgba(255,255,255,.72);
    border:1px solid rgba(9,38,61,.06);
}
.showcase-stats strong{display:block;margin-bottom:6px;color:var(--pink-dark)}
.showcase-stats span{display:block;font-size:13px;color:var(--muted);line-height:1.45}
.login-panel{
    padding:36px;
    display:grid;
    place-items:center;
    background:linear-gradient(180deg, rgba(255,253,249,.96) 0%, rgba(250,246,241,.98) 100%);
}
.login-card{
    width:min(470px,100%);
    padding:36px;
    border-radius:30px;
    background:rgba(255,253,249,.98);
    border:1px solid var(--border);
    box-shadow:var(--soft-shadow);
}
.login-card-header h2{
    margin-bottom:12px;
    font-family:"Press Start 2P",sans-serif;
    font-size:23px;
    line-height:1.35;
    color:var(--pink-dark);
}
.login-card-header p{color:var(--muted);line-height:1.7;margin-bottom:26px}
.form-group{margin-bottom:22px}
.form-group label{display:block;margin-bottom:10px;font-size:13px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.field-icon-wrap{position:relative}
.field-icon-wrap > i{
    position:absolute;
    left:16px;
    top:50%;
    transform:translateY(-50%);
    color:var(--pink);
    font-size:15px;
    z-index:2;
}
.form-group select,.form-group input{
    width:100%;
    min-height:56px;
    padding:14px 16px 14px 46px;
    border:1px solid rgba(151,10,68,.18);
    border-radius:18px;
    background:#fff;
    font-size:16px;
    font-family:Inter,system-ui,sans-serif;
    transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.form-group select:focus,.form-group input:focus{
    outline:none;
    border-color:var(--pink);
    box-shadow:0 0 0 4px rgba(151,10,68,.08);
    transform:translateY(-1px);
}
.btn-submit{
    width:100%;
    min-height:56px;
    border:0;
    border-radius:18px;
    background:linear-gradient(135deg,#970A44,#720632);
    color:#fff;
    font-size:16px;
    font-weight:800;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    cursor:pointer;
    box-shadow:0 16px 32px rgba(151,10,68,.22);
    transition:transform .18s ease, box-shadow .18s ease;
}
.btn-submit:hover{transform:translateY(-1px);box-shadow:0 22px 38px rgba(151,10,68,.28)}
.alert-error{
    display:flex;
    align-items:center;
    gap:10px;
    padding:14px 16px;
    margin-bottom:22px;
    border-radius:18px;
    background:#FFF0F3;
    border:1px solid rgba(179,18,59,.18);
    color:#B3123B;
}
@media (max-width:1100px){
    .login-shell{grid-template-columns:1fr;min-height:auto}
    .login-showcase{padding-bottom:12px}
}
@media (max-width:720px){
    .login-container{padding:14px}
    .login-showcase,.login-panel{padding:24px}
    .login-card{padding:24px}
    .brand-system404{font-size:34px}
    .showcase-copy h1{font-size:24px}
    .showcase-stats{grid-template-columns:1fr}
}
