/* OTTPROVIDERS Control V6.1.5 — Full Page Auth + Appearance Studio */

/* ---------- Full-screen authentication ---------- */
html:has(body.login-page),html:has(body.rs-login),html:has(body.v61-register-page){background:var(--canvas,#f5f7fa)!important}
body.login-page,body.rs-login,body.v61-register-page{
  width:100%!important;min-height:100vh!important;margin:0!important;padding:0!important;overflow-x:hidden!important;
  background:var(--canvas,#f5f7fa)!important;color:var(--ink,#111827)!important;
}
body.login-page .login-shell,body.rs-login main,body.v61-register-page .v61-auth-shell{
  width:100vw!important;max-width:none!important;min-height:100vh!important;margin:0!important;border:0!important;border-radius:0!important;
  box-shadow:none!important;overflow:hidden!important;display:grid!important;grid-template-columns:minmax(440px,46%) 1fr!important;
  background:var(--surface,#fff)!important;
}
body.login-page .login-visual,body.rs-login .rs-login-brand,body.v61-register-page .v61-auth-visual{
  min-height:100vh!important;box-sizing:border-box!important;padding:clamp(42px,5vw,82px)!important;
  display:flex!important;flex-direction:column!important;justify-content:space-between!important;
  background:linear-gradient(145deg,color-mix(in srgb,var(--canvas,#f5f7fa) 96%,#fff),color-mix(in srgb,var(--canvas,#f5f7fa) 84%,#e9edf3))!important;
  color:var(--ink,#111827)!important;border-right:1px solid var(--line,#e5e9ef)!important;
}
body.login-page .login-panel,body.v61-register-page .v61-auth-card-wrap{
  min-height:100vh!important;box-sizing:border-box!important;display:flex!important;align-items:center!important;justify-content:center!important;
  padding:clamp(34px,6vw,92px)!important;background:var(--surface,#fff)!important;
}
body.rs-login .rs-login-card{align-self:center!important;justify-self:center!important;width:min(520px,calc(100% - 70px))!important;margin:0!important}
body.login-page .login-card,body.rs-login .rs-login-card,body.v61-register-page .v61-auth-card{
  width:min(520px,100%)!important;max-width:520px!important;padding:0!important;margin:0!important;border:0!important;border-radius:0!important;
  background:transparent!important;box-shadow:none!important;backdrop-filter:none!important;color:var(--ink,#111827)!important;
}
body.login-page .login-card h2,body.rs-login .rs-login-card h2,body.v61-register-page .v61-auth-card h2,
body.login-page .login-visual h1,body.rs-login .rs-login-brand h1,body.v61-register-page .v61-auth-visual h1{color:var(--ink,#111827)!important}
body.login-page .login-card>p,body.login-page .login-help,body.login-page .login-visual p,
body.rs-login .rs-login-card p,body.rs-login .rs-login-card>small,body.rs-login .rs-login-brand p,
body.v61-register-page .v61-auth-card>p,body.v61-register-page .v61-auth-visual p{color:color-mix(in srgb,var(--ink,#111827) 58%,transparent)!important}
body.login-page .eyebrow,body.rs-login .eyebrow,body.v61-register-page .v61-kicker{color:color-mix(in srgb,var(--ink,#111827) 70%,transparent)!important}
body.login-page .v61-portal-chip,body.rs-login .v61-portal-chip,body.v61-register-page .v61-portal-chip{
  background:color-mix(in srgb,var(--ink,#111827) 5%,transparent)!important;border:1px solid var(--line,#e5e9ef)!important;color:var(--ink,#111827)!important
}
body.login-page .visual-trust span,body.rs-login .rs-login-points span,body.v61-register-page .v61-auth-points span,
body.login-page .v61-feature-item{
  background:color-mix(in srgb,var(--surface,#fff) 70%,transparent)!important;border-color:var(--line,#e5e9ef)!important;color:var(--ink,#111827)!important
}

/* ---------- DEFINITIVE input icon spacing fix ---------- */
body.login-page .login-card .input-icon{
  position:relative!important;display:block!important;width:100%!important;margin:0!important;padding:0!important;
}
body.login-page .login-card .input-icon>i,
body.login-page .login-card .input-icon>i.fa-envelope,
body.login-page .login-card .input-icon>i.fa-lock,
body.login-page .login-card .input-icon>.fa-regular,
body.login-page .login-card .input-icon>.fa-solid{
  position:absolute!important;left:18px!important;right:auto!important;top:50%!important;bottom:auto!important;
  transform:translateY(-50%)!important;width:20px!important;height:20px!important;line-height:20px!important;text-align:center!important;
  margin:0!important;padding:0!important;z-index:5!important;pointer-events:none!important;color:#8491a4!important;font-size:14px!important;
}
body.login-page .login-card .input-icon>input,
body.login-page .login-card .input-icon>input[type=email],
body.login-page .login-card .input-icon>input[type=password]{
  display:block!important;width:100%!important;height:56px!important;box-sizing:border-box!important;
  margin:0!important;padding:0 18px 0 56px!important;text-indent:0!important;
  border:1px solid var(--line,#dfe5ec)!important;border-radius:14px!important;background:color-mix(in srgb,var(--surface,#fff) 94%,var(--canvas,#f5f7fa))!important;
  color:var(--ink,#111827)!important;line-height:56px!important;font-size:14px!important;box-shadow:none!important;
}
body.login-page .login-card label{display:block!important;margin:18px 0 8px!important;color:var(--ink,#111827)!important}
body.login-page .login-card .input-icon+label{margin-top:18px!important}
body.login-page input:-webkit-autofill{-webkit-text-fill-color:var(--ink,#111827)!important;box-shadow:0 0 0 1000px color-mix(in srgb,var(--surface,#fff) 94%,var(--canvas,#f5f7fa)) inset!important}

/* Buttons and links use admin selected primary color */
body.login-page .login-card .btn-primary,body.rs-login .rs-login-card button,body.v61-register-page .v61-auth-card button{
  min-height:56px!important;border:0!important;border-radius:14px!important;background:var(--blue-600,#111827)!important;color:#fff!important;
  box-shadow:0 10px 25px color-mix(in srgb,var(--blue-600,#111827) 20%,transparent)!important
}
body.login-page .v61-auth-link,body.v61-register-page .v61-back,body.v61-register-page .v61-login-link{color:var(--blue-600,#111827)!important}

/* Custom logo in all portal brands */
.otp-custom-logo{display:block!important;max-width:190px!important;max-height:58px!important;object-fit:contain!important;object-position:left center!important}

/* ---------- Appearance Studio ---------- */
.v615-appearance-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px;padding:22px 24px;border:1px solid var(--line,#e5e9ef);border-radius:20px;background:linear-gradient(135deg,var(--surface,#fff),color-mix(in srgb,var(--canvas,#f5f7fa) 72%,#fff));}
.v615-appearance-hero h2{margin:4px 0 6px;font-size:24px;letter-spacing:-.03em}.v615-appearance-hero p{margin:0;color:#7a8798}.v615-appearance-badge{padding:9px 12px;border:1px solid var(--line,#e5e9ef);border-radius:999px;background:var(--surface,#fff);font-size:12px;font-weight:800;white-space:nowrap}
.v615-theme-modes,.v615-preset-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.v615-theme-mode,.v615-preset{position:relative;display:block;cursor:pointer}
.v615-theme-mode input,.v615-preset input{position:absolute;opacity:0;pointer-events:none}
.v615-theme-mode span,.v615-preset span{display:flex;align-items:center;gap:10px;min-height:52px;padding:12px 14px;border:1px solid var(--line,#e5e9ef);border-radius:14px;background:var(--surface,#fff);font-weight:750;transition:.18s ease}
.v615-theme-mode input:checked+span,.v615-preset input:checked+span{border-color:var(--blue-600,#2563eb);box-shadow:0 0 0 3px color-mix(in srgb,var(--blue-600,#2563eb) 12%,transparent);color:var(--blue-600,#2563eb)}
.v615-preset span::before{content:"";width:32px;height:32px;border-radius:10px;border:1px solid rgba(0,0,0,.08);background:linear-gradient(135deg,#fff 0 48%,#f2f4f7 48%)}
.v615-preset[data-preset=graphite] span::before{background:linear-gradient(135deg,#0d1117 0 48%,#2b3038 48%)}
.v615-preset[data-preset=midnight] span::before{background:linear-gradient(135deg,#07111f 0 48%,#162842 48%)}
.v615-upload-box{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:16px}.v615-upload-field{padding:16px;border:1px dashed #cfd7e2;border-radius:16px;background:color-mix(in srgb,var(--canvas,#f5f7fa) 70%,#fff)}.v615-upload-field label{font-weight:800}.v615-upload-field small{display:block;margin:6px 0 12px;color:#7a8798}.v615-upload-field input[type=file]{width:100%;padding:10px;border:1px solid var(--line,#e5e9ef);border-radius:12px;background:var(--surface,#fff)}
.v615-live-preview{overflow:hidden;border:1px solid var(--line,#e5e9ef);border-radius:20px;background:var(--canvas,#f5f7fa);min-height:430px}.v615-live-preview .pv-head{height:52px;background:var(--header-preview,#fff);border-bottom:1px solid var(--line,#e5e9ef);display:flex;align-items:center;padding:0 16px;gap:9px}.v615-live-preview .pv-dot{width:9px;height:9px;border-radius:50%;background:#d8dde5}.v615-live-preview .pv-grid{display:grid;grid-template-columns:112px 1fr;min-height:378px}.v615-live-preview .pv-side{background:var(--sidebar-preview,#fff);border-right:1px solid var(--line,#e5e9ef);padding:15px}.v615-live-preview .pv-side b{display:block;margin-bottom:18px;font-size:11px}.v615-live-preview .pv-side i{display:block;height:24px;margin:8px 0;border-radius:8px;background:color-mix(in srgb,var(--primary-preview,#2563eb) 12%,transparent)}.v615-live-preview .pv-main{padding:18px}.v615-live-preview .pv-title{width:42%;height:16px;border-radius:6px;background:color-mix(in srgb,var(--text-preview,#111827) 18%,transparent);margin-bottom:18px}.v615-live-preview .pv-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.v615-live-preview .pv-card{height:92px;background:var(--card-preview,#fff);border:1px solid var(--border-preview,#e5e9ef);border-radius:var(--radius-preview,16px)}

/* ---------- Dark / system mode generated from selected appearance ---------- */
html[data-otp-theme="dark"] body.app-body,html[data-otp-theme="dark"] body.v34-client-body{filter:none}
html[data-otp-theme="dark"]{color-scheme:dark}
html[data-otp-theme="light"]{color-scheme:light}

@media(max-width:900px){
 body.login-page .login-shell,body.rs-login main,body.v61-register-page .v61-auth-shell{grid-template-columns:1fr!important}
 body.login-page .login-visual,body.rs-login .rs-login-brand,body.v61-register-page .v61-auth-visual{min-height:auto!important;padding:34px 26px!important}
 body.login-page .login-panel,body.v61-register-page .v61-auth-card-wrap{min-height:auto!important;padding:34px 22px 54px!important}
 body.rs-login .rs-login-card{width:calc(100% - 44px)!important;margin:34px auto 54px!important}
 .v615-theme-modes,.v615-preset-grid,.v615-upload-box{grid-template-columns:1fr!important}
}

/* ---------- Workspace force layer: colors come from Paramètres > Apparence ---------- */
body.app-body,body.v34-client-body{background:var(--canvas,#f5f7fa)!important;color:var(--ink,#101828)!important}
.app-sidebar{background:var(--navy-900,#fff)!important;color:var(--sidebar-text,#344054)!important;border-right:1px solid var(--line,#e4e7ec)!important;box-shadow:none!important}
.app-sidebar .app-brand strong,.app-sidebar .app-brand small{color:var(--sidebar-text,#344054)!important}
.app-sidebar .app-nav a{color:color-mix(in srgb,var(--sidebar-text,#344054) 78%,transparent)!important;border:1px solid transparent!important;background:transparent!important}
.app-sidebar .app-nav a i{color:color-mix(in srgb,var(--sidebar-text,#344054) 78%,var(--blue-600,#111827))!important}
.app-sidebar .app-nav a:hover{background:color-mix(in srgb,var(--blue-600,#111827) 6%,transparent)!important;color:var(--sidebar-text,#344054)!important}
.app-sidebar .app-nav a.active{background:color-mix(in srgb,var(--blue-600,#111827) 8%,transparent)!important;border-color:color-mix(in srgb,var(--blue-600,#111827) 12%,transparent)!important;color:var(--blue-600,#111827)!important;box-shadow:none!important}
.sidebar-license{background:color-mix(in srgb,var(--surface,#fff) 70%,transparent)!important;border:1px solid var(--line,#e4e7ec)!important;color:var(--sidebar-text,#344054)!important}
.app-shell,.app-main{background:var(--canvas,#f5f7fa)!important}
.app-header{background:color-mix(in srgb,var(--header-bg,#fff) 96%,transparent)!important;border-bottom:1px solid var(--line,#e4e7ec)!important;box-shadow:none!important;color:var(--header-text,#101828)!important;backdrop-filter:blur(18px)!important}
.header-title strong,.account-chip strong{color:var(--header-text,#101828)!important}.header-title span,.account-chip small{color:color-mix(in srgb,var(--header-text,#101828) 54%,transparent)!important}
.icon-btn,.account-chip{background:var(--surface,#fff)!important;border-color:var(--line,#e4e7ec)!important;color:var(--ink,#101828)!important;box-shadow:none!important}
.card,.panel,.widget,.section-card,.v2-section-card,.v25-card,.v26-card,.v27-card,.v28-card,.v29-card,.v30-card,.v31-card,.v32-card,.v34-card,.v35-card,.v36-card,.v37-card,.v38-card,.v39-card,.v40-card,.v41-card,.v42-card,.v43-card,.v44-card,.v50-card,.v54-card,.v60-card,.v61-card{
 background:var(--surface,#fff)!important;border-color:var(--line,#e4e7ec)!important;color:var(--ink,#101828)!important;border-radius:var(--radius,16px)!important;box-shadow:0 8px 28px color-mix(in srgb,var(--ink,#101828) 6%,transparent)!important
}
.card h1,.card h2,.card h3,.panel h1,.panel h2,.panel h3,.page-heading h1,.page-heading h2{color:var(--ink,#101828)!important}
table,thead,tbody,tr,td,th{border-color:var(--line,#e4e7ec)!important}th{color:color-mix(in srgb,var(--ink,#101828) 68%,transparent)!important}td{color:var(--ink,#101828)!important}
input,select,textarea{background:var(--surface,#fff)!important;color:var(--ink,#101828)!important;border-color:var(--line,#e4e7ec)!important;border-radius:calc(var(--radius,16px) - 2px)!important}
.btn-primary{background:var(--blue-600,#111827)!important;border-color:var(--blue-600,#111827)!important;color:#fff!important}
.app-footer{background:var(--footer-bg,var(--canvas,#f5f7fa))!important;color:var(--footer-text,#667085)!important;border-color:var(--line,#e4e7ec)!important}

/* Reseller workspace follows the same Appearance Studio */
body:not(.rs-login) .rs-sidebar{background:var(--navy-900,#fff)!important;color:var(--sidebar-text,#344054)!important;border-right:1px solid var(--line,#e4e7ec)!important;box-shadow:none!important}
.rs-sidebar .rs-brand,.rs-sidebar nav a,.rs-side-foot{color:var(--sidebar-text,#344054)!important}
.rs-sidebar nav a{background:transparent!important;border-color:transparent!important}
.rs-sidebar nav a.active,.rs-sidebar nav a:hover{background:color-mix(in srgb,var(--blue-600,#111827) 8%,transparent)!important;color:var(--blue-600,#111827)!important}
.rs-shell,.rs-main{background:var(--canvas,#f5f7fa)!important;color:var(--ink,#101828)!important}
.rs-header{background:var(--header-bg,#fff)!important;border-bottom:1px solid var(--line,#e4e7ec)!important;color:var(--header-text,#101828)!important;box-shadow:none!important}
.rs-card,.rs-panel,.rs-stat,.rs-table-wrap,.rs-modal-card{background:var(--surface,#fff)!important;border-color:var(--line,#e4e7ec)!important;color:var(--ink,#101828)!important;border-radius:var(--radius,16px)!important;box-shadow:0 8px 28px color-mix(in srgb,var(--ink,#101828) 6%,transparent)!important}
.rs-main input,.rs-main select,.rs-main textarea{background:var(--surface,#fff)!important;color:var(--ink,#101828)!important;border-color:var(--line,#e4e7ec)!important}
.rs-main button,.rs-login-card button{border-radius:calc(var(--radius,16px) - 2px)!important}

/* Registration field icons */
body.v61-register-page .v61-auth-card label{position:relative!important;display:block!important}
body.v61-register-page .v61-auth-card label>i{position:absolute!important;left:18px!important;top:47px!important;z-index:3!important;color:#8491a4!important;pointer-events:none!important}
body.v61-register-page .v61-auth-card label>input{height:56px!important;padding:0 18px 0 54px!important;box-sizing:border-box!important}
