/* Authentication layout and floating fields from CntrMngr AuthLayout / Login. */
.account-body { min-height:100dvh; margin:0; background:var(--auth-background); }
.account-header { position:absolute; top:1.25rem; left:1.25rem; z-index:2; }
.account-main { display:grid; place-items:center; min-height:100dvh; padding:5rem 1rem 2rem; }
.account-card { width:min(100%,440px); padding:2.6rem 2.35rem 2.1rem; color:var(--ink); background:var(--surface); border:1px solid var(--line); border-radius:1.5rem; box-shadow:0 1.75rem 4.5rem rgba(15,23,42,.28); animation:account-in .55s ease both; }
.login-logo { margin-bottom:1.8rem; text-align:center; }
.login-logo>i { display:inline-block; color:#6366f1; font-size:3rem; background:linear-gradient(135deg,#4f46e5,#9333ea); background-clip:text; -webkit-text-fill-color:transparent; }
.login-logo h1 { margin:.5rem 0 .25rem; font-size:1.8rem; font-weight:800; }
.login-logo p { margin:0; font-size:.88rem; }
.form-stack { display:flex; flex-direction:column; gap:.5rem; }
.input-group-icon { position:relative; margin-bottom:.5rem; }
.input-group-icon input { width:100%; height:3.55rem; padding:.9rem 3rem .9rem 1rem; border:2px solid var(--line); border-radius:.85rem; font-size:.92rem; font-weight:400; }
.input-group-icon input:focus { border-color:#6366f1; box-shadow:0 0 0 .25rem rgba(99,102,241,.14); }
.input-group-icon label { position:absolute; top:50%; right:3rem; z-index:1; padding:0 .35rem; color:var(--muted); background:transparent; pointer-events:none; font-size:1rem; font-weight:400; transform:translateY(-50%); transition:top .2s,color .2s,transform .2s,background-color .2s; }
.input-group-icon input:focus~label,.input-group-icon input:not(:placeholder-shown)~label { top:0; color:var(--brand); background:var(--input-background); transform:translateY(-50%) scale(.84); }
.input-group-icon .icon { position:absolute; top:50%; right:1rem; font-size:1.05rem; color:#9ca3af; pointer-events:none; transform:translateY(-50%); }
.input-group-icon input:focus~.icon { color:var(--brand); }
.form-stack>label { font-size:.78rem; font-weight:700; color:var(--muted); }
.form-stack>input:not([type=hidden]) { min-height:3.1rem; font-size:.92rem; border:2px solid var(--line); border-radius:.85rem; }
.form-stack .button { margin-top:1rem; justify-content:space-between; }
.account-card .button.primary { width:100%; padding:.85rem 1rem; color:#fff; background:linear-gradient(135deg,#4f46e5,#7c3aed); border:0; border-radius:.85rem; font-size:.95rem; font-weight:700; box-shadow:0 .65rem 1.2rem rgba(79,70,229,.25); }
.account-card .button.primary:hover { background:linear-gradient(135deg,#4338ca,#6d28d9); box-shadow:0 .9rem 1.5rem rgba(79,70,229,.32); transform:translateY(-1px); }
.account-help { margin-top:1.65rem; padding-top:1.25rem; color:var(--muted); border-top:1px solid var(--line); text-align:center; font-size:.82rem; line-height:1.8; }
.account-card .notice { font-size:.82rem; border-radius:.75rem; }
.account-card .notice:empty { display:none; }
.account-card .validation-message:empty { display:none; }
.account-card .captcha-image-row img { max-width:calc(100% - 3rem); height:auto; }
@keyframes account-in { from { opacity:0; transform:translateY(1.25rem); } to { opacity:1; transform:translateY(0); } }
@media(max-width:480px) { .account-card { padding:2rem 1.25rem 1.6rem; border-radius:1.15rem; } }
