:root{--navy:#0b1f3a;--blue:#123f73;--gold:#c79a2b;--light:#f4f7fb;--border:#d7dee8;--text:#17202a}
*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--light);color:var(--text)}
header{background:linear-gradient(135deg,var(--navy),var(--blue));color:white;padding:18px 28px;display:flex;justify-content:space-between;align-items:center}
header h1{margin:0;font-size:22px}header a{color:white}
nav{background:white;border-bottom:1px solid var(--border);padding:12px 28px;display:flex;gap:22px}nav a{text-decoration:none;color:var(--navy);font-weight:700}
main{padding:26px;max-width:1400px;margin:auto}.auth-main{min-height:100vh;display:flex;align-items:center;justify-content:center}
.card,.quotation,.login-card{background:white;border:1px solid var(--border);border-radius:12px;padding:20px;margin-bottom:20px;box-shadow:0 2px 10px rgba(15,23,42,.05)}
.login-card{width:min(420px,92vw)}.login-card button{width:100%;margin-top:12px}
label{display:block;font-size:12px;font-weight:700;margin:10px 0 6px}input,select,textarea{width:100%;padding:10px 11px;border:1px solid var(--border);border-radius:8px;font:inherit}textarea{min-height:75px}
button,.button{display:inline-block;border:none;border-radius:8px;padding:10px 14px;font-weight:700;cursor:pointer;text-decoration:none}
.primary{background:var(--navy);color:white}.secondary{background:#e8eef7;color:var(--navy)}.danger{background:#fee4e2;color:#b42318}
.page-head{display:flex;justify-content:space-between;align-items:center;gap:16px}.page-head h2,.page-head h3{margin-bottom:4px}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:20px}.stat{background:white;border:1px solid var(--border);border-radius:12px;padding:18px}.stat span{display:block;color:#667085}.stat strong{font-size:30px}
table{width:100%;border-collapse:collapse}th,td{padding:11px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}th{background:#f8fafc;font-size:12px}.badge{padding:5px 9px;background:#eef2f6;border-radius:999px;font-size:12px}
.grid-two{display:grid;grid-template-columns:1fr 2fr;gap:20px}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.span-2{grid-column:span 2}.span-3{grid-column:span 3}
.alert{padding:12px;border-radius:8px;margin-bottom:15px}.success{background:#d1fadf;color:#027a48}.danger{background:#fee4e2;color:#b42318}
.quote-header,.quote-meta,.signature{display:flex;justify-content:space-between;gap:30px}.quote-title{text-align:right;font-size:18px}.quote-meta{margin:28px 0}.totals{width:min(430px,100%);margin:20px 0 20px auto}.totals div{display:flex;justify-content:space-between;padding:7px 0}.totals .grand{font-size:20px;border-top:2px solid var(--navy);padding-top:12px}.pre{white-space:pre-line}
@media(max-width:900px){.stats,.form-grid,.grid-two{grid-template-columns:1fr}.span-2,.span-3{grid-column:span 1}.quote-header,.quote-meta,.signature{flex-direction:column}.page-head{align-items:flex-start}}
@media print{header,nav,.no-print{display:none!important}body{background:white}main{padding:0}.quotation{border:none;box-shadow:none}.quotation table th{background:#eee!important;-webkit-print-color-adjust:exact}}


/* NUE corporate branding */
.brand{display:flex;align-items:center;gap:14px}
.brand img{height:58px;width:auto;background:#fff;border-radius:8px;padding:4px}
.login-logo{display:block;width:min(340px,100%);height:auto;margin:0 auto 18px}
.login-card{text-align:center}
.login-card form{text-align:left}
.quote-company{display:flex;align-items:center;gap:18px}
.quote-logo{width:245px;max-width:42vw;height:auto}
.quote-company h1{font-size:20px;margin:0 0 5px;color:var(--navy)}
.quote-company p{margin:0;color:#667085}
.quotation{position:relative;overflow:hidden}
.quotation:before{
  content:"";
  position:absolute;
  right:-85px;
  bottom:90px;
  width:430px;
  height:155px;
  background:url("/static/nue-logo.jpeg") center/contain no-repeat;
  opacity:.025;
  transform:rotate(-18deg);
  pointer-events:none;
}
@media(max-width:900px){
  header{align-items:flex-start;gap:12px}
  .brand img{height:45px}
  .quote-company{align-items:flex-start;flex-direction:column}
  .quote-logo{max-width:100%;width:280px}
}
@media print{
  .quote-logo{width:225px}
  .quotation:before{opacity:.035}
}
