*{box-sizing:border-box}
:root{
 --df-black:#121212;
 --df-gold:#be9142;
 --df-gold-dark:#9f7430;
 --df-cream:#f5f0e7;
 --df-cream-2:#fbf8f2;
 --df-text:#171411;
 --df-muted:#746d66;
 --df-border:#ded6ca;
 --df-white:#fff;
}
html,body{margin:0;padding:0;min-height:100%;font-family:Arial,Helvetica,sans-serif;color:var(--df-text);background:var(--df-cream)}
body.df-login-page{min-height:100vh;display:flex;flex-direction:column}
.df-login-header{
 height:92px;background:linear-gradient(90deg,#111,#181716);color:#fff;
 display:flex;align-items:center;justify-content:space-between;padding:0 5vw;
 border-bottom:1px solid rgba(255,255,255,.05)
}
.df-brand{display:flex;align-items:center;gap:14px;color:#fff;text-decoration:none}
.df-brand-mark{
 width:48px;height:48px;border-radius:8px;
 background:linear-gradient(145deg,#d4aa5b,#8e6427);
 position:relative;box-shadow:0 7px 20px rgba(0,0,0,.22)
}
.df-brand-mark:after{content:"";position:absolute;inset:11px;background:#171717;border-radius:3px}
.df-brand-copy{display:flex;flex-direction:column;gap:3px}
.df-brand-copy strong{font-size:20px;letter-spacing:2.4px}
.df-brand-copy small{font-size:9px;letter-spacing:3.3px;color:#d6aa58}
.df-tagline{font-size:10px;letter-spacing:4px;color:#d3a554;text-align:right}

.df-login-main{
 flex:1;min-height:700px;
 display:grid;grid-template-columns:minmax(300px,1fr) minmax(420px,1.06fr) minmax(320px,.95fr);
 gap:0;align-items:stretch;
 background:
 radial-gradient(circle at 25% 20%,rgba(255,255,255,.8),transparent 36%),
 linear-gradient(90deg,#f6f1e8 0%,#fbf8f2 68%,#ede5da 100%);
}
.df-login-intro{padding:70px 4.8vw 40px 9.5vw;display:flex;flex-direction:column;justify-content:center}
.df-kicker{font-size:11px;letter-spacing:3.2px;color:#a87835;font-weight:700;margin-bottom:16px}
.df-login-intro h1,.df-login-card h2{font-family:Georgia,'Times New Roman',serif}
.df-login-intro h1{font-size:58px;line-height:.93;margin:0 0 18px;letter-spacing:-1.5px}
.df-gold-rule{width:58px;height:3px;background:var(--df-gold);margin:0 0 25px}
.df-intro-copy{font-size:17px;line-height:1.45;color:#5f5a54;max-width:360px;margin:0 0 26px}
.df-feature-list{display:grid;gap:18px}
.df-feature{display:grid;grid-template-columns:50px 1fr;gap:14px;align-items:center}
.df-feature-icon{
 width:50px;height:50px;border-radius:50%;background:#eee3d1;
 display:grid;place-items:center;font-size:22px;color:#171411
}
.df-feature strong{display:block;font-size:15px;margin-bottom:3px}
.df-feature small{display:block;color:#7d756d;font-size:13px}
.df-script-note{font-family:"Brush Script MT","Segoe Script",cursive;color:#b47f2f;font-size:28px;line-height:.92;margin-top:30px;transform:rotate(-5deg);width:max-content}

.df-login-card{
 width:min(100% - 34px,540px);align-self:center;justify-self:center;
 background:rgba(255,255,255,.96);border:1px solid #e4ddd3;border-radius:18px;
 padding:42px 40px 34px;box-shadow:0 22px 50px rgba(69,52,32,.12);
 position:relative;z-index:2
}
.df-login-card h2{font-size:38px;line-height:1;margin:0 0 10px}
.df-card-lead{margin:0 0 28px;color:#7b746d;font-size:14px}
.df-alert{
 background:#fff0ee;border:1px solid #e8bdb5;color:#8b3327;
 padding:11px 13px;border-radius:9px;margin-bottom:17px;font-size:13px;line-height:1.4
}
.df-login-card label{display:block;font-size:14px;font-weight:700;margin:0 0 8px}
.df-field-wrap{position:relative;margin-bottom:18px}
.df-input{
 width:100%;height:54px;border:1px solid #d6d2cc;border-radius:8px;background:#fff;
 padding:0 48px;font-size:15px;outline:none;transition:border-color .2s,box-shadow .2s
}
.df-input:focus{border-color:#b88c45;box-shadow:0 0 0 3px rgba(190,145,66,.12)}
.df-field-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);font-size:18px;color:#4c4742}
.df-password-toggle{
 position:absolute;right:13px;top:50%;transform:translateY(-50%);
 width:35px;height:35px;border:0;background:transparent;color:#6f6861;font-size:17px;cursor:pointer
}
.df-form-tools{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 20px;font-size:13px}
.df-form-tools a,.df-create a{color:#9a6d2e;text-decoration:none}
.df-form-tools a:hover,.df-create a:hover{text-decoration:underline}
.df-remember{display:flex!important;align-items:center;gap:8px!important;margin:0!important;font-weight:400!important}
.df-remember input{width:17px;height:17px;accent-color:#b88c45}
.df-signin-btn{
 width:100%;height:52px;border:0;border-radius:8px;cursor:pointer;color:#fff;
 background:linear-gradient(90deg,#aa792f,#c3984a,#ad7d34);
 font-size:14px;font-weight:800;letter-spacing:.8px;box-shadow:0 7px 18px rgba(174,126,51,.18)
}
.df-signin-btn span{font-size:20px;margin-left:8px}
.df-or{display:flex;align-items:center;gap:12px;color:#7d746b;font-size:11px;margin:20px 0}
.df-or:before,.df-or:after{content:"";height:1px;background:#e2ddd7;flex:1}
.df-google-btn{
 height:50px;border:1px solid #d9d5cf;border-radius:8px;color:#222;text-decoration:none;
 display:flex;align-items:center;justify-content:center;gap:10px;background:#fff;font-size:14px
}
.df-google-g{font-weight:900;color:#4285f4}
.df-create{text-align:center;font-size:13px;margin-top:22px;color:#37312b}
.df-create a{font-weight:700}

.df-login-visual{overflow:hidden;min-height:700px;background:#e9e1d6}
.df-login-visual img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}

.df-login-footer{
 min-height:105px;background:#f7f2e9;border-top:1px solid #dfd5c8;
 display:grid;grid-template-columns:repeat(3,1fr);align-items:center;padding:16px 10vw;gap:30px
}
.df-footer-item{display:grid;grid-template-columns:44px 1fr;gap:14px;align-items:center;min-width:0}
.df-footer-item:not(:last-child){border-right:1px solid #d9cfc2;padding-right:28px}
.df-footer-icon{width:44px;height:44px;display:grid;place-items:center;font-size:25px}
.df-footer-item strong{display:block;font-size:13px;margin-bottom:4px}
.df-footer-item small{display:block;color:#81786f;font-size:11px}

@media(max-width:1180px){
 .df-login-main{grid-template-columns:1fr 1.15fr}
 .df-login-visual{display:none}
 .df-login-intro{padding-left:7vw}
}
@media(max-width:820px){
 .df-login-header{height:78px;padding:0 22px}
 .df-tagline{display:none}
 .df-brand-copy strong{font-size:16px}
 .df-login-main{display:block;min-height:auto;padding:35px 18px 45px}
 .df-login-intro{padding:20px 10px 30px;max-width:560px;margin:auto}
 .df-login-intro h1{font-size:46px}
 .df-login-card{width:min(100%,560px);margin:0 auto;padding:32px 24px}
 .df-login-footer{grid-template-columns:1fr;padding:24px 26px;gap:18px}
 .df-footer-item:not(:last-child){border-right:0;border-bottom:1px solid #ddd2c4;padding:0 0 17px}
}
@media(max-width:480px){
 .df-login-intro{display:none}
 .df-login-main{padding-top:26px}
 .df-login-card h2{font-size:34px}
 .df-login-card{padding:28px 20px}
 .df-form-tools{align-items:flex-start;flex-direction:column}
}

/* v3.1.2 — CRM-managed official header logo */
.df-brand-logo-shell{
 width:58px;height:58px;display:grid;place-items:center;overflow:hidden;
 flex:0 0 58px
}
.df-brand-logo{
 display:block;max-width:58px;max-height:58px;width:auto;height:auto;object-fit:contain
}
@media(max-width:820px){
 .df-brand-logo-shell{width:48px;height:48px;flex-basis:48px}
 .df-brand-logo{max-width:48px;max-height:48px}
}
