@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,500;9..144,600;9..144,700&display=swap');

:root{--pdv-cocoa:#281710;--pdv-cocoa-soft:#42281e;--pdv-cream:#f7f0e5;--pdv-paper:#fffaf3;--pdv-rust:#a9442c;--pdv-gold:#d5a348;--pdv-sage:#68725f}
body{--bg:var(--pdv-cream);--panel:var(--pdv-paper);--ink:var(--pdv-cocoa);--muted:#735f54;--line:#e4d4c2;--brand:var(--pdv-rust)!important;--brand-strong:#7f2f20;font-family:"DM Sans",sans-serif;background-color:var(--pdv-cream);background-image:radial-gradient(circle at 100% 0,rgba(213,163,72,.11),transparent 30%),linear-gradient(rgba(255,255,255,.35),rgba(255,255,255,0))}
h1,h2,.metric-card strong,.hero-panel h2,.section-header h2{font-family:"Fraunces",serif;letter-spacing:-.025em}
.sidebar{background:linear-gradient(180deg,var(--pdv-cocoa),#1c0f0b);border-right:0;box-shadow:12px 0 40px rgba(40,23,16,.12)}
.sidebar .brand{padding:16px 12px;margin-bottom:14px;border-bottom:1px solid rgba(255,255,255,.1)}
.client-brand-logo{width:58px;height:58px;object-fit:cover;border-radius:50%;background:#fff;border:3px solid rgba(213,163,72,.8);box-shadow:0 8px 20px rgba(0,0,0,.22)}
.sidebar .brand strong{color:#fff;font-family:"Fraunces",serif;font-size:1.13rem;line-height:1.05}.sidebar .brand small{color:#d8baa3;letter-spacing:.08em;text-transform:uppercase;font-size:.64rem}
.sidebar .nav-group-summary{color:#bfa99b;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase}.sidebar .nav-item{color:#eaded5;border-radius:10px}.sidebar .nav-item:hover{background:rgba(255,255,255,.08);color:#fff}.sidebar .nav-item.active{background:var(--pdv-rust);color:#fff;box-shadow:0 8px 22px rgba(169,68,44,.28)}.sidebar .nav-icon{filter:saturate(.8)}
.topbar{background:rgba(255,250,243,.88);backdrop-filter:blur(16px);border-bottom-color:#eadccc}.content{padding-top:28px}.eyebrow{color:var(--pdv-rust);letter-spacing:.13em}.hero-panel{position:relative;overflow:hidden;background:linear-gradient(125deg,var(--pdv-cocoa),var(--pdv-cocoa-soft));color:#fff;border:0;border-radius:22px;box-shadow:0 24px 55px rgba(58,29,17,.17)}.hero-panel:after{content:"";position:absolute;width:260px;height:260px;right:-70px;bottom:-150px;border:38px solid rgba(213,163,72,.14);border-radius:50%}.hero-panel .eyebrow{color:#e8bd6f}.hero-panel p{color:#eadfd8}.hero-panel .button.ghost{border-color:rgba(255,255,255,.28);color:#fff;background:rgba(255,255,255,.07)}
.button.primary{background:var(--pdv-rust);border-color:var(--pdv-rust);box-shadow:0 7px 18px rgba(169,68,44,.2)}.button.primary:hover{background:#873321;border-color:#873321;transform:translateY(-1px)}.button.ghost{border-color:#d9c5b1}.button{border-radius:9px}
.metric-card,.content-panel,.card{background:rgba(255,250,243,.94);border-color:#e4d4c2;border-radius:16px;box-shadow:0 12px 35px rgba(59,32,20,.06)}.metric-card{position:relative;overflow:hidden;border-top:3px solid var(--pdv-gold)}.metric-card:nth-child(2){border-top-color:var(--pdv-rust)}.metric-card:nth-child(3){border-top-color:var(--pdv-sage)}.metric-card strong{color:var(--pdv-cocoa);font-size:1.8rem}.metric-card.warning{background:#fff7e8;border-color:#ead2a5}
table thead th{background:#f0e4d5;color:#5b4034}table tbody tr:hover{background:#fff5e9}input,select,textarea{background:#fffdf9;border-color:#d9c5b1;border-radius:9px}input:focus,select:focus,textarea:focus{border-color:var(--pdv-rust);box-shadow:0 0 0 3px rgba(169,68,44,.12)}
.login-body{min-height:100vh;background:var(--pdv-cocoa);background-image:linear-gradient(105deg,rgba(30,15,10,.86),rgba(55,27,18,.48)),url('/media/branding/pdv-login.jpg');background-size:cover;background-position:center}
.login-topline{background:rgba(25,12,8,.78);color:#f1d8c5;border-bottom:1px solid rgba(255,255,255,.12)}
.login-shell{max-width:1210px;grid-template-columns:minmax(0,1fr)}
.login-hero{display:grid;grid-template-columns:minmax(0,1.22fr) minmax(390px,.65fr);column-gap:56px;row-gap:28px;width:100%;max-width:none;color:#fff}.login-logo.pdv-logo{grid-column:1;grid-row:1;width:145px;height:145px;object-fit:cover;border-radius:50%;border:5px solid rgba(255,255,255,.88);box-shadow:0 18px 50px rgba(0,0,0,.28)}.login-intro{grid-column:1;grid-row:2}.login-hero h1{font-family:"Fraunces",serif;font-size:clamp(3rem,6vw,5.7rem);line-height:.95}.login-hero h1 span{color:#e4b65f}.login-intro>p{color:#eaded5;max-width:600px}
.login-signal-grid{grid-column:1;grid-row:3;max-width:720px;gap:14px}
.login-signal-card{display:block;min-height:138px;padding:18px 18px 17px;border:1px solid rgba(255,255,255,.16);border-radius:17px;background:linear-gradient(145deg,rgba(35,19,13,.92),rgba(60,35,26,.82));box-shadow:0 18px 42px rgba(20,8,4,.25);backdrop-filter:blur(16px);animation:none;overflow:hidden;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.login-signal-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--card-accent) 60%,transparent);box-shadow:0 24px 50px rgba(20,8,4,.32)}
.login-signal-card::before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--card-accent)}.login-signal-card::after{content:"";position:absolute;right:-35px;bottom:-50px;width:110px;height:110px;border:18px solid color-mix(in srgb,var(--card-accent) 12%,transparent);border-radius:50%;animation:none}.login-signal-card.production{--card-accent:#e4b65f}.login-signal-card.sales{--card-accent:#db765d}.login-signal-card.stock{--card-accent:#a9b59e}
.signal-card-head{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:15px}.signal-glyph{display:grid;place-items:center;width:34px;height:34px;border:1px solid color-mix(in srgb,var(--card-accent) 65%,transparent);border-radius:50%;background:color-mix(in srgb,var(--card-accent) 10%,transparent);color:var(--card-accent);font-size:.68rem;font-weight:800;letter-spacing:.08em}.signal-kicker{color:var(--card-accent);font-size:.58rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.login-signal-card h2{position:relative;z-index:1;margin:0 0 5px;color:#fffaf3;font-family:"Fraunces",serif;font-size:1.2rem;line-height:1.1}.login-signal-card p{position:relative;z-index:1;margin:0;color:#d9c9bf;font-size:.76rem;line-height:1.42}
.login-access{grid-column:2;grid-row:1 / span 3;align-self:center;justify-self:end;width:min(100%,420px)}.login-card{position:relative;padding:36px 34px 28px;background:rgba(255,250,243,.98);border:1px solid rgba(255,255,255,.86);border-radius:24px;box-shadow:0 34px 90px rgba(22,8,3,.34);overflow:hidden}.login-card-accent{position:absolute;inset:0 0 auto;height:5px;background:linear-gradient(90deg,var(--pdv-rust),var(--pdv-gold))}.login-client{margin-bottom:28px;padding-bottom:22px;border-bottom:1px solid #e6d8c9}.login-client .client-brand-logo{width:58px;height:58px}.login-client strong{color:var(--pdv-cocoa);font-family:"Fraunces",serif;font-size:1.08rem}.login-client small{margin-top:3px;color:#8b7467;font-size:.78rem}.login-card .eyebrow{margin-bottom:7px;color:var(--pdv-rust)}.login-card h2{margin:0;color:var(--pdv-cocoa);font-family:"Fraunces",serif;font-size:2.35rem;line-height:1.05}.login-card-copy{margin:9px 0 0;color:#786359;font-size:.9rem;line-height:1.5}.login-card .form-stack{gap:15px;margin-top:24px}.login-card .form-stack label{gap:7px;color:#4f392f;font-size:.79rem;font-weight:700}.login-card input{height:50px;padding:0 14px;border:1px solid #d9c8b7;background:#fffdf9;color:var(--pdv-cocoa);box-shadow:inset 0 1px 2px rgba(40,23,16,.04)}.login-card input:focus{border-color:var(--pdv-rust);background:#fff;box-shadow:0 0 0 4px rgba(169,68,44,.12)}.login-card .button.primary{min-height:50px;margin-top:3px;border-color:#8e3524;background:linear-gradient(135deg,#b64b31,#913522);color:#fff;box-shadow:0 13px 28px rgba(145,53,34,.24);font-weight:800}.login-card .button.primary:hover{background:#7f2f20;color:#fff}.login-card .auth-links{text-align:center}.login-card .auth-links a{color:var(--pdv-rust);font-weight:700}.login-security{margin:22px 0 0;padding-top:18px;border-top:1px solid #eadfd3;color:#8a766b;font-size:.7rem;text-align:center}.login-security span{margin-right:5px;color:#73806a;font-size:.55rem}.auth-footer{background:#1d0f0b;color:#c9b3a6}.auth-footer img{filter:grayscale(1) brightness(3)}
@media(max-width:1100px){
  .login-body{background-position:58% center;background-attachment:fixed}
  .login-shell{grid-template-columns:minmax(0,1fr);align-items:start;width:min(100%,780px);max-width:none;gap:30px;padding:34px 28px 44px}
  .login-hero{grid-template-columns:minmax(0,1fr);width:100%;max-width:none;gap:22px}
  .login-hero>*{grid-column:1;grid-row:auto}
  .login-intro>p{max-width:680px}
  .login-hero h1{font-size:clamp(3.1rem,8vw,4.8rem)}
  .login-signal-grid{width:100%;max-width:none}
  .login-access{justify-self:stretch;width:min(100%,520px);max-width:none}
  .sidebar{box-shadow:none}.content{padding-top:18px}.hero-panel{border-radius:16px}
}
@media(max-width:760px){
  .login-body{display:grid;background-position:55% center;background-attachment:scroll}
  .login-shell{width:100%;gap:24px;padding:20px 16px 32px}
  .login-hero{gap:18px}
  .login-logo.pdv-logo{width:88px;height:88px;border-width:4px}
  .login-hero h1{font-size:clamp(2.35rem,12vw,3.2rem);line-height:.98}
  .login-hero p:not(.eyebrow){margin-top:10px;font-size:.97rem;line-height:1.5}
  .login-signal-grid{grid-template-columns:1fr;gap:9px}
  .login-signal-card{display:grid;grid-template-columns:48px minmax(0,1fr);grid-template-rows:auto auto;column-gap:13px;min-height:0;padding:13px 15px}
  .login-signal-card:hover{transform:none}
  .login-signal-card::after{right:-48px;bottom:-68px}
  .signal-card-head{grid-column:1;grid-row:1 / span 2;align-self:center;justify-content:center;margin:0}
  .signal-glyph{width:36px;height:36px}
  .signal-kicker{display:none}
  .login-signal-card h2{grid-column:2;margin:0 0 2px;font-size:1.08rem}
  .login-signal-card p{grid-column:2;font-size:.73rem}
  .login-access{width:100%}
  .login-card{width:100%;padding:28px 22px 23px;border-radius:20px}
  .login-client{margin-bottom:23px;padding-bottom:18px}
  .login-client .client-brand-logo{width:50px;height:50px}
  .login-card h2{font-size:2rem}
  .login-card-copy{font-size:.84rem}
  .login-card .form-stack{margin-top:20px}
}
@media(max-width:420px){
  .login-shell{padding:16px 12px 26px}
  .login-logo.pdv-logo{width:76px;height:76px}
  .login-hero h1{font-size:2.25rem}
  .login-card{padding:25px 18px 21px}
  .login-client strong{font-size:.98rem}
  .login-card input,.login-card .button.primary{min-height:48px;height:48px}
  .auth-footer{flex-wrap:wrap;width:100%;padding:14px 12px;text-align:center}
}
