.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(340px,1.08fr) minmax(420px,.92fr);background:#f4f7f8;padding:36px;gap:36px;align-items:center}.auth-shell[hidden]{display:none!important}
.auth-intro{min-height:calc(100vh - 72px);border-radius:28px;background:linear-gradient(140deg,#b7dfdf 0%,#168399 38%,#096d60 100%);padding:36px 44px;color:#fff;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}
.auth-intro>img{width:230px;height:236px;object-fit:contain;align-self:flex-start;max-width:100%;flex-shrink:0}.auth-intro>div{padding:24px 0 36px}.auth-eyebrow{font-size:11px;letter-spacing:1.4px;font-weight:650;margin-bottom:14px}.auth-intro h1{font-size:clamp(38px,4.3vw,65px);line-height:1.08;letter-spacing:-1.6px;font-weight:650}.auth-intro>div>p:last-child{font-size:16px;line-height:1.8;max-width:410px;margin-top:23px;color:#e3f4ef}.auth-intro-foot{font-size:12px;color:#d8eee8}
.auth-card{max-width:420px;width:100%;justify-self:center;padding:26px 10px}.auth-card>.auth-eyebrow{color:#078390}.auth-card h2{font-size:29px;color:#164e68;margin:0 0 12px;letter-spacing:-.7px}.auth-description{font-size:14px;color:#547786;line-height:1.7;margin-bottom:30px}.auth-card form{display:grid;gap:16px}.auth-card .field{margin:0}.auth-card .field input{width:100%;min-height:48px;background:white}.password-field{position:relative;display:flex;border:1px solid #d5e4e9;border-radius:10px;background:#fff;min-height:48px;margin-top:-9px;overflow:hidden}.password-field>input{border:0;outline-offset:-4px;width:100%;background:transparent;padding-right:76px}.password-toggle{position:absolute;right:5px;top:5px;bottom:5px;padding:0 10px;min-width:68px;font-size:12px;border:0;border-radius:7px;background:#eff7f7;color:#246b7e}.password-toggle:hover{background:#dff1f0}.auth-submit{width:100%;min-height:48px;justify-content:center;margin-top:8px}.auth-error{padding:13px 15px;background:#fff0f1;border:1px solid #edc5cb;border-radius:10px;color:#9e3c51;font-size:13px;line-height:1.7;margin-top:17px}.auth-switch{display:block;margin-top:22px;font-size:13px;color:#167b87}.auth-help,.auth-foot{font-size:12px;line-height:1.7;color:#587b88}.auth-foot{margin-top:30px;padding-top:20px;border-top:1px solid #d9e7eb}.auth-loading{min-height:160px;display:grid;place-items:center;color:#527685}.auth-check{display:flex;align-items:flex-start;gap:9px;font-size:13px;color:#436c7f}.auth-check input{margin-top:3px}.auth-retry{margin-top:16px}.auth-overlay{position:fixed;inset:0;z-index:2000;overflow:auto;background:#f4f7f8fa}.auth-card input[aria-invalid="true"]{border-color:#b24c62}.auth-shell [hidden],eco-app[hidden]{display:none!important}
.admin-name{display:flex;align-items:center;gap:12px}.admin-name>span{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:#e4f5f2;color:#087a79;font-weight:650}.admin-name strong{display:block}.admin-name small{display:block}.admin-actions{display:flex;gap:8px;flex-wrap:wrap}.admin-users-table{min-width:760px}.admin-users-table td:first-child{min-width:260px}.admin-role-note{font-size:13px;line-height:1.8;color:#4d7483;margin:14px 0}.migration-panel{padding:24px;margin-top:22px}.migration-panel p{color:#567886;font-size:13px;line-height:1.8;margin:9px 0 18px}.migration-panel input[type=file]{max-width:100%;background:#fff}.migration-progress{display:block;margin-top:14px;font-size:13px;color:#1e7580}.standalone-session{display:flex;align-items:center;gap:10px}.standalone-session .text-btn{font-size:12px}.standalone-session small{color:#557887}.user-role-badge{font-size:11px!important;display:block;line-height:1.6}.dialog .password-field{margin:0 0 18px}.dialog input[type=password]{min-height:44px}.dialog .password-toggle{min-width:65px}.dialog .field>input,.dialog .field>select{width:100%}.dialog textarea{resize:none;min-height:100px}.auth-card button:disabled{opacity:.6;cursor:wait}.auth-check input{padding:0;min-height:0}.admin-users-table .danger-action{color:#ad4258}.app-shell button[disabled]{cursor:not-allowed}.auth-overlay .auth-intro{min-height:calc(100vh - 72px)}
html{scrollbar-color:#87b7bc #edf3f5;scrollbar-width:thin}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#edf3f5}::-webkit-scrollbar-thumb{background:#87b7bc;border:2px solid #edf3f5;border-radius:12px}::-webkit-scrollbar-thumb:hover{background:#6099a5}
@media(max-width:900px){.auth-shell{grid-template-columns:1fr;padding:24px;gap:16px}.auth-intro{min-height:0;padding:20px 26px;display:grid;grid-template-columns:110px 1fr;align-items:center;gap:24px}.auth-intro>img{width:110px;height:113px}.auth-intro>div{padding:0}.auth-intro h1{font-size:30px;letter-spacing:-.6px}.auth-intro .auth-eyebrow,.auth-intro>div>p:last-child,.auth-intro-foot{display:none}.auth-card{padding:20px 4px}.auth-overlay .auth-intro{min-height:0}.standalone-session small{display:none}}
@media(max-width:500px){.auth-shell{padding:16px}.auth-intro{grid-template-columns:86px 1fr;padding:18px;gap:14px;border-radius:20px}.auth-intro>img{width:86px;height:90px}.auth-intro h1{font-size:25px}.auth-card h2{font-size:26px}.auth-description{margin-bottom:24px}.standalone-session{gap:6px}.standalone-session>.text-btn{font-size:11px}.migration-panel{padding:18px}.admin-actions{flex-direction:column}.auth-overlay{padding-bottom:30px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
@media(forced-colors:active){html{scrollbar-color:auto}.auth-intro{border:1px solid CanvasText}.auth-error{border:1px solid CanvasText}}
@media print{.auth-shell,.standalone-session{display:none!important}}

.resize-none{resize:none;min-height:90px}
