@import url("/assets/gilroy.css?v=1536");

html[data-crm-theme="light"] body.auth-page{
    --auth-bg:#f4f7fb;--auth-card:rgba(255,255,255,.97);--auth-soft:#f6f9fd;--auth-input:#fff;
    --auth-text:#172033;--auth-muted:#6c7d92;--auth-border:#d7e2ee;--auth-shadow:0 18px 48px rgba(38,67,105,.10);
}
html[data-crm-theme="dark"] body.auth-page{
    --auth-bg:#121927;--auth-card:rgba(28,39,57,.97);--auth-soft:#233146;--auth-input:#172132;
    --auth-text:#edf3fa;--auth-muted:#a7b5c7;--auth-border:#3b4b60;--auth-shadow:0 20px 52px rgba(0,0,0,.24);
}
html[data-crm-theme="darker"] body.auth-page{
    --auth-bg:#080d17;--auth-card:rgba(18,27,42,.98);--auth-soft:#192437;--auth-input:#0d1421;
    --auth-text:#eef4fb;--auth-muted:#9fadc0;--auth-border:#304056;--auth-shadow:0 22px 58px rgba(0,0,0,.36);
}
body.auth-page{min-height:100vh;margin:0;background:var(--auth-bg)!important;color:var(--auth-text)!important}
.auth-shell{position:relative;z-index:1;min-height:100vh;display:flex;flex-direction:column;background:transparent}
.auth-topbar{position:relative;z-index:2;background:#1885fa;border-bottom:1px solid rgba(15,23,42,.14);box-shadow:0 4px 16px rgba(24,133,250,.2)}
.auth-container{width:min(100% - 3rem,1240px);min-height:4rem;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.6rem 0}
.auth-brand{display:flex;align-items:center;gap:.3rem;min-width:0;color:#fff!important;text-decoration:none}
.auth-brand:hover{color:#fff}
.auth-brand__logo{width:3.1rem;height:3.1rem;flex:0 0 3.1rem;display:grid;place-items:center;border-radius:.72rem;background:transparent;box-shadow:none}
.auth-brand__logo img{width:2.7rem;height:2.7rem;object-fit:contain}
.auth-brand__title{font-size:1.05rem;font-weight:850;line-height:1.15;white-space:nowrap;text-shadow:0 1px 1px rgba(8,47,73,.13)}
.auth-actions{display:flex;align-items:center;gap:.5rem}
.auth-action{min-height:2.35rem;display:inline-flex;align-items:center;justify-content:center;gap:.42rem;padding:.45rem .75rem;border:1px solid rgba(255,255,255,.4);border-radius:.65rem;background:rgba(255,255,255,.13);color:#fff!important;text-decoration:none;cursor:pointer;font:inherit;font-size:.86rem;font-weight:700}
.auth-action:hover,.auth-action:focus{background:rgba(255,255,255,.23);border-color:rgba(255,255,255,.64);color:#fff}
.auth-topbar .auth-brand,.auth-topbar .auth-brand:visited,.auth-topbar .auth-brand__title,.auth-topbar .auth-action,.auth-topbar .auth-action:visited{color:#fff!important;opacity:1!important}
.auth-topbar .auth-actions .auth-action:last-child{background:rgba(255,255,255,.19);border-color:rgba(255,255,255,.56);filter:none!important}
.auth-main{width:min(100% - 3rem,1240px);margin:2.4rem auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(25rem,.86fr);align-items:center;gap:4.5rem;flex:1 0 auto}
.auth-main--register{grid-template-columns:minmax(0,.8fr) minmax(34rem,1.2fr);gap:4rem}
.auth-promo{max-width:34rem;padding:1.5rem 0}
.auth-promo__mark{width:5.5rem;height:5.5rem;display:grid;place-items:center;margin-bottom:.4rem;border:0;border-radius:1.15rem;background:transparent;box-shadow:none}
.auth-promo__mark img{width:5rem;height:5rem;object-fit:contain}
.auth-kicker{display:inline-flex;align-items:center;gap:.45rem;margin-bottom:.65rem;color:#1885fa;font-size:.76rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.auth-promo h1{max-width:32rem;margin:0;font-size:clamp(2rem,3vw,3.25rem);font-weight:880;line-height:1.04;letter-spacing:-.045em}
.auth-promo>p{max-width:32rem;margin:1rem 0 0;color:var(--auth-muted);font-size:1rem;line-height:1.65}
.auth-points{display:grid;gap:.72rem;margin:1.4rem 0 0;padding:0;list-style:none}
.auth-points li{display:flex;align-items:center;gap:.72rem;color:var(--auth-text);font-size:.9rem;font-weight:700}
.auth-points i{width:1.75rem;height:1.75rem;display:grid;place-items:center;flex:0 0 1.75rem;border-radius:.7rem;background:rgba(24,133,250,.1);color:#1885fa}
.auth-card{overflow:hidden;background:var(--auth-card);border:1px solid var(--auth-border);border-radius:1.25rem;box-shadow:var(--auth-shadow)}
.auth-card__header{display:flex;align-items:flex-start;gap:.8rem;padding:1.1rem 1.2rem;border-bottom:1px solid var(--auth-border);background:var(--auth-soft)}
.auth-card__icon{width:2.7rem;height:2.7rem;display:grid;place-items:center;flex:0 0 2.7rem;border-radius:.9rem;background:rgba(24,133,250,.1);color:#1885fa;font-size:1.15rem}
.auth-card__header h1{margin:0;font-size:1.22rem;font-weight:850;letter-spacing:-.015em}
.auth-card__header p{margin:.25rem 0 0;color:var(--auth-muted);font-size:.8rem;line-height:1.45}
.auth-card__body{padding:1.15rem 1.2rem 1.25rem}
.auth-card .alert{margin-bottom:1rem;border-radius:.7rem;font-size:.84rem}
.auth-card .form-label{margin-bottom:.35rem;color:var(--auth-text);font-size:.78rem;font-weight:760}
.auth-card .form-control{min-height:2.65rem;border-color:var(--auth-border);background:var(--auth-input);color:var(--auth-text)}
.auth-card .form-control::placeholder{color:var(--auth-muted);opacity:.75}
.crm-password-field{position:relative}
.crm-password-field .form-control{padding-right:2.8rem}
.crm-password-field [data-password-toggle]{position:absolute;right:.35rem;top:50%;width:2.15rem;height:2.15rem;display:grid;place-items:center;transform:translateY(-50%);border:0;border-radius:.55rem;background:transparent;color:var(--auth-muted)}
.crm-password-field [data-password-toggle]:hover,.crm-password-field [data-password-toggle]:focus-visible{background:color-mix(in srgb,var(--auth-accent) 12%,transparent);color:var(--auth-accent)}
.auth-card .form-control{border-radius:.8rem!important}.auth-card .form-control:focus{border-color:#1885fa;background:var(--auth-input);color:var(--auth-text);box-shadow:0 0 0 .2rem rgba(24,133,250,.14)}
.auth-card .form-control:-webkit-autofill,.auth-card .form-control:-webkit-autofill:hover,.auth-card .form-control:-webkit-autofill:focus{-webkit-text-fill-color:var(--auth-text)!important;-webkit-box-shadow:0 0 0 1000px var(--auth-input) inset!important;caret-color:var(--auth-text);border-color:var(--auth-border);transition:background-color 9999s ease-out 0s}
.auth-card .form-control:autofill{box-shadow:0 0 0 1000px var(--auth-input) inset!important;color:var(--auth-text)!important}
.auth-card .form-text,.auth-muted{color:var(--auth-muted)!important;font-size:.76rem}
.auth-primary{min-height:2.65rem;border:0!important;border-radius:.8rem!important;background:#1885fa!important;color:#fff!important;font-weight:800;box-shadow:0 .65rem 1.5rem rgba(24,133,250,.2)}
.auth-primary:hover,.auth-primary:focus{background:#1077e5!important;color:#fff!important;transform:translateY(-1px)}
.auth-social-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin-bottom:1rem}
.auth-social-grid>a:only-child{grid-column:1/-1}
.auth-social-grid .btn{min-height:2.55rem;display:flex;align-items:center;justify-content:center;border-radius:.8rem!important;font-size:.84rem;font-weight:750}
.auth-social-grid .btn-primary,.auth-social-grid .btn-info{background:#1885fa!important;border-color:#1885fa!important;color:#fff!important}
.auth-social-grid .btn-primary:hover,.auth-social-grid .btn-info:hover{background:#1077e5!important;border-color:#1077e5!important}
.auth-divider{display:flex;align-items:center;gap:.7rem;margin:1rem 0;color:var(--auth-muted);font-size:.73rem}
.auth-divider::before,.auth-divider::after{height:1px;content:"";flex:1;background:var(--auth-border)}
.auth-links{display:flex;align-items:center;justify-content:center;gap:.6rem;flex-wrap:wrap;margin-top:1rem;font-size:.82rem}
.auth-links a,.auth-legal a,.auth-footer a{color:#1885fa;text-decoration:none}
.auth-links a:hover,.auth-legal a:hover,.auth-footer a:hover{text-decoration:underline}
.auth-links__dot{color:var(--auth-muted)}
.auth-legal{margin-top:1rem;padding:.72rem .8rem;border-left:3px solid #1885fa;border-radius:.8rem;background:var(--auth-soft);color:var(--auth-muted);font-size:.72rem;line-height:1.55}
.auth-card .form-check{padding-left:1.7rem}
.auth-card .form-check-input{margin-top:.2rem;background-color:var(--auth-input);border-color:var(--auth-border)}
.auth-card .form-check-input:checked{background-color:#1885fa;border-color:#1885fa}
.auth-card .form-check-label{color:var(--auth-muted);font-size:.76rem;line-height:1.45}
.auth-card .form-check-label a{color:#1885fa;text-decoration:none}.auth-card .form-check-label a:hover{text-decoration:underline}
.auth-footer{margin-top:auto;border-top:1px solid var(--auth-border);background:var(--auth-card)}
.auth-footer__inner{width:min(100% - 3rem,1460px);min-height:3.55rem;margin:0 auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;padding:.65rem 0}
.auth-footer__copy{color:var(--auth-muted);font-size:.78rem}.auth-footer__copy strong{color:var(--auth-text)}
.auth-footer__version{color:var(--auth-muted);font-size:.75rem}
.auth-footer__links{display:flex;align-items:center;justify-content:flex-end;gap:.85rem;flex-wrap:wrap}.auth-footer__links a{font-size:.75rem}
@media(max-width:991.98px){
    .auth-main,.auth-main--register{width:min(100% - 2rem,680px);grid-template-columns:1fr;gap:1rem;margin:1.5rem auto 2rem}
    .auth-promo{max-width:none;padding:.5rem 0}.auth-promo__mark,.auth-points{display:none}.auth-promo h1{font-size:1.75rem}.auth-promo>p{margin-top:.55rem;font-size:.9rem;line-height:1.5}
}
@media(max-width:767.98px){
    .auth-container,.auth-footer__inner{width:min(100% - 1.5rem,1460px)}.auth-container{min-height:3.65rem}
    .auth-brand__title{font-size:.92rem}.auth-action span{display:none}.auth-action{width:2.35rem;padding:0}
    .auth-footer__inner{grid-template-columns:1fr;justify-items:start;gap:.35rem}.auth-footer__links{justify-content:flex-start}
}
@media(max-width:575.98px){
    .auth-main,.auth-main--register{width:min(100% - 1.25rem,680px);margin:1rem auto 1.4rem}.auth-promo{padding:.25rem .2rem}
    .auth-promo h1{font-size:1.45rem}.auth-promo>p{font-size:.82rem}.auth-card__header,.auth-card__body{padding:1rem}
    .auth-social-grid{grid-template-columns:1fr}.auth-footer__links{gap:.55rem}.auth-brand__title{max-width:12rem;overflow:hidden;text-overflow:ellipsis}
}
@media(prefers-reduced-motion:reduce){.auth-primary,.workspace-row{transition:none!important}.auth-primary:hover{transform:none}}

/* v1.5.20: public authentication uses the same calm AdminLTE geometry. */
.auth-card{border-radius:12px;box-shadow:0 1px 2px rgba(15,23,42,.06),0 14px 38px rgba(15,23,42,.09)}
.auth-card__header{padding:1rem 1.1rem;background:var(--auth-card)}
.auth-card__body{padding:1.1rem}
.auth-card__icon,.auth-promo__mark{border-radius:10px}
.auth-card :is(.form-control,.form-select,.btn,.alert),.auth-primary,.auth-social-grid .btn,.auth-legal{border-radius:8px!important}
.auth-card :is(.form-control,.form-select){min-height:2.6rem}
.auth-primary{box-shadow:0 5px 15px rgba(24,133,250,.16)}

/* Subscription and maintenance access screens share the authentication shell. */
.subscription-denied-main{align-items:center}
.subscription-denied-card{width:100%}
.subscription-denied-message{display:grid;grid-template-columns:2rem minmax(0,1fr);align-items:start;gap:.7rem;margin-bottom:1rem;padding:.85rem;border:1px solid var(--auth-border);border-radius:8px;background:var(--auth-soft);color:var(--auth-text)}
.subscription-denied-message>i{width:2rem;height:2rem;display:grid;place-items:center;border-radius:8px;background:rgba(24,133,250,.12);color:#1885fa}
.subscription-denied-message p{margin:0;color:var(--auth-muted);font-size:.86rem;line-height:1.55}
.subscription-denied-logout{min-height:2.6rem;border-color:var(--auth-border)!important;color:var(--auth-text)!important;font-weight:750}
.subscription-denied-logout:hover,.subscription-denied-logout:focus{border-color:#1885fa!important;background:rgba(24,133,250,.08)!important;color:#1885fa!important}
@media(max-width:575.98px){.subscription-denied-main{margin-top:1rem}.subscription-denied-message{padding:.75rem}}
