/* V440 - Professional Agency Portal UI. Presentation only; no business logic changes. */
:root{
  --v440-navy:#123b64;
  --v440-navy-2:#0b2b49;
  --v440-green:#16794f;
  --v440-soft:#f4f7f9;
  --v440-line:#dce5ec;
  --v440-text:#17212b;
  --v440-muted:#637180;
  --v440-white:#fff;
  --v440-shadow:0 12px 36px rgba(20,39,58,.08);
}

/* Login */
.v328-agency-shell{
  min-height:100vh;
  padding:42px 24px;
  background:
    radial-gradient(circle at 16% 12%,rgba(22,121,79,.09),transparent 30%),
    radial-gradient(circle at 88% 80%,rgba(18,59,100,.10),transparent 30%),
    linear-gradient(135deg,#f4f8f6 0%,#f7f9fb 48%,#eef4f8 100%);
}
.v328-agency-login{
  width:min(100%,520px);
  padding:38px 40px 36px;
  border:1px solid rgba(196,210,221,.9);
  border-top:0;
  border-radius:20px;
  background:rgba(255,255,255,.97);
  box-shadow:0 28px 80px rgba(23,42,61,.14);
  position:relative;
  overflow:hidden;
}
.v328-agency-login:before{
  content:"";
  position:absolute;inset:0 0 auto 0;height:6px;
  background:linear-gradient(90deg,var(--v440-green),#2a9469 46%,var(--v440-navy));
}
.v328-agency-login:after{
  content:"Đặt hàng nhanh · Theo dõi minh bạch · Hỗ trợ trực tiếp từ Sale VIFOOD";
  display:block;
  margin-top:24px;
  padding-top:18px;
  border-top:1px solid #e7edf2;
  color:var(--v440-muted);
  font-size:14px;
  line-height:1.55;
  text-align:center;
}
.v328-agency-brand{font-size:24px;font-weight:900;letter-spacing:.11em;color:var(--v440-green)}
.v328-agency-kicker{margin-top:10px;font-size:14px;font-weight:800;letter-spacing:.07em;color:#9b6a16}
.v328-agency-login h1{margin:10px 0 0;font-size:32px;line-height:1.2;color:var(--v440-text);letter-spacing:-.025em}
.v328-agency-login p{margin-top:13px;font-size:15px;line-height:1.65;color:var(--v440-muted)}
.v328-agency-login-form{gap:14px;margin-top:26px}
.v328-agency-login-form input{min-height:50px;border-radius:11px;border-color:#cfdbe4;background:#fbfcfd;font-size:15px;padding-left:15px}
.v328-agency-login-form input:focus{border-color:#7aa992;box-shadow:0 0 0 3px rgba(22,121,79,.09)}
.v328-agency-login-form button{min-height:50px;border-radius:11px;font-size:15px;font-weight:800;box-shadow:0 8px 18px rgba(22,121,79,.18)}
.v328-agency-error{padding:10px 12px;border:1px solid #fecaca;border-radius:9px;background:#fff5f5;font-size:14px}

/* App shell */
.v328-agency-app{min-height:100vh;background:#f3f6f8;padding:0 26px 44px;color:var(--v440-text)}
.v328-agency-header.v439x-header{
  max-width:none;
  margin:0 -26px;
  padding:20px max(26px,calc((100vw - 1560px)/2));
  align-items:center;
  border-bottom:1px solid #d9e3ea;
  background:linear-gradient(100deg,#fff 0%,#fbfdfc 72%,#f2f7f5 100%);
  box-shadow:0 4px 16px rgba(33,55,75,.04);
}
.v328-agency-header h1{margin-top:2px;font-size:29px;letter-spacing:-.025em;color:var(--v440-text)}
.v328-agency-header p{font-size:14px;color:var(--v440-muted)}
.v328-agency-header button{min-height:42px;padding:0 16px;border-radius:9px;background:#fff;font-size:14px;font-weight:700}

.v439x-tabs{
  max-width:1560px;
  margin:14px auto 0;
  top:8px;
  gap:4px;
  padding:6px;
  border:1px solid var(--v440-line);
  border-radius:12px;
  background:rgba(255,255,255,.97);
  box-shadow:0 7px 20px rgba(30,52,73,.06);
}
.v439x-tabs button{min-height:42px;padding:0 15px;border:0;border-radius:8px;background:transparent;color:#4d5d6b;font-size:14px;font-weight:750}
.v439x-tabs button:hover{background:#f1f5f7;color:var(--v440-navy)}
.v439x-tabs button.active{background:var(--v440-navy);color:#fff;box-shadow:0 4px 12px rgba(18,59,100,.18)}

/* Dashboard */
.v439x-home,.v439x-simple-section,.v331-profile-card{max-width:1560px;margin:0 auto;padding:22px 0}
.v439x-kpis{gap:14px}
.v439x-kpis article{min-height:110px;padding:20px;border:1px solid var(--v440-line);border-radius:14px;box-shadow:0 7px 22px rgba(32,52,72,.045)}
.v439x-kpis span{font-size:14px;font-weight:700;color:var(--v440-muted)}
.v439x-kpis b{margin-top:9px;font-size:26px;color:var(--v440-navy-2);letter-spacing:-.02em}
.v439x-home-grid{gap:14px;margin-top:14px}
.v439x-home-grid>article{padding:20px;border-color:var(--v440-line);border-radius:14px;box-shadow:0 7px 22px rgba(32,52,72,.045)}
.v439x-home-grid h2{font-size:18px;color:var(--v440-text)}
.v439x-home-grid button{min-height:46px;padding:10px 2px}
.v439x-home-grid button strong{font-size:14px;color:var(--v440-text)}
.v439x-home-grid button span{font-size:14px}
.v439x-quick{gap:10px;margin-top:14px}
.v439x-quick button{min-height:64px;border-color:var(--v440-line);border-radius:11px;background:#fff;color:var(--v440-navy);font-size:14px;box-shadow:0 4px 14px rgba(32,52,72,.035)}
.v439x-quick button:hover{border-color:#aebfcb;background:#f9fbfc;transform:translateY(-1px)}

/* Ordering workspace */
.v328-agency-layout{max-width:1560px;margin:22px auto 0;grid-template-columns:minmax(0,1fr) 410px;gap:18px}
.v328-agency-products,.v328-agency-cart,.v328-agency-history{
  border:1px solid var(--v440-line);
  border-radius:15px;
  background:#fff;
  box-shadow:var(--v440-shadow);
}
.v328-agency-products{padding:22px}
.v328-agency-cart{top:76px;padding:21px;gap:14px}
.v328-agency-section-head{margin-bottom:17px}
.v328-agency-section-head h2{font-size:20px;color:var(--v440-text);letter-spacing:-.015em}
.v328-agency-section-head span,.v330-product-count{font-size:14px!important;color:var(--v440-muted)}
.v330-product-toolbar{gap:10px!important;margin-bottom:17px!important}
.v330-product-search,.v330-page-size{min-height:45px!important;border-radius:9px!important;border-color:#cfdbe4!important;background:#fbfcfd!important;font-size:14px!important}
.v328-product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.v328-product-card{min-height:172px;padding:16px;border-color:#dce5eb;border-radius:12px;background:#fff;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.v328-product-card:hover{transform:translateY(-2px);border-color:#b8c9d5;box-shadow:0 11px 24px rgba(29,49,67,.08)}
.v328-product-meta span{padding:4px 8px;background:#f0f4f6;color:#5d6b77;font-size:14px;border-radius:999px}
.v328-product-card h3{margin-top:11px;font-size:15px;line-height:1.5;color:#1d2a35}
.v328-product-bottom{padding-top:16px}
.v328-product-bottom strong{font-size:18px;color:var(--v440-green)}
.v328-product-bottom small{font-size:14px;color:var(--v440-muted)}
.v328-product-bottom button{min-height:38px;padding:0 13px;border-radius:8px;font-size:14px;font-weight:750}
.v330-pagination button,.v330-page-numbers span{font-size:14px!important}

/* Cart / order form */
.v328-agency-cart>.v328-agency-section-head{padding-bottom:13px;border-bottom:1px solid #e5ebef}
.v328-cart-lines{gap:9px;max-height:390px;padding-right:3px}
.v328-cart-line{padding:11px;border-color:#dce5eb;border-radius:10px;background:#fbfcfd}
.v328-cart-line strong{font-size:14px;line-height:1.45}
.v328-cart-line small{font-size:14px;margin-top:3px}
.v328-cart-line>b{font-size:14px;color:#253646}
.v328-qty{gap:6px}
.v328-qty button{width:31px;height:31px;border-color:#cbd7df;border-radius:7px;font-size:16px;color:var(--v440-navy)}
.v328-qty span{min-width:38px;font-size:14px}
.v328-cart-total{padding:14px 0}
.v328-cart-total span{font-size:14px;font-weight:750;color:#465766}
.v328-cart-total strong{font-size:22px;color:var(--v440-green)}
.v332-order-company-select,.v333-order-address-select{padding:12px;border:1px solid #e1e8ed;border-radius:10px;background:#fafcfd}
.v332-order-company-select label,.v333-order-address-select label{font-size:14px;font-weight:750;color:#334452}
.v332-order-company-select select,.v333-order-address-select select,.v328-agency-cart>input{min-height:44px!important;border-radius:8px!important;border-color:#ccd9e2!important;background:#fff!important;font-size:14px!important}
.v332-order-company-select small,.v333-order-address-select small{font-size:14px!important;line-height:1.45;color:var(--v440-muted)}
.v328-agency-cart>.v328-agency-primary{min-height:50px;border-radius:10px;font-size:15px;font-weight:850;background:var(--v440-green)!important;box-shadow:0 9px 20px rgba(22,121,79,.17)}
.v328-agency-cart>.v328-agency-primary:hover{filter:brightness(.96)}
.v328-agency-empty{padding:30px;border-color:#d5e0e7;border-radius:10px;background:#fbfcfd;font-size:14px;line-height:1.55}

/* History / profile / account */
.v328-agency-history{max-width:1560px;margin:22px auto 0;padding:22px}
.v328-order-list{gap:9px}
.v328-order-card{min-height:70px;grid-template-columns:minmax(220px,1fr) minmax(210px,.8fr) minmax(180px,.55fr) minmax(160px,.5fr);gap:15px;padding:13px 15px;border-color:#dce5eb;border-radius:10px;background:#fff}
.v328-order-card:hover{background:#fbfcfd;border-color:#c5d3dd}
.v328-order-card strong,.v328-order-card b,.v328-order-card small,.v328-order-card a,.v328-order-status,.v331-payment,.v439c-revise-btn,.v439-waiting-invoice{font-size:14px!important}
.v328-order-card a{color:var(--v440-navy);font-weight:800;text-decoration:none}
.v328-order-card a:hover{text-decoration:underline}
.v328-order-status{padding:6px 9px}
.v439x-simple-section>h2,.v331-profile-card h2{font-size:22px;color:var(--v440-text)}
.v439x-account-card{max-width:650px;padding:20px;border-color:var(--v440-line);border-radius:13px;box-shadow:var(--v440-shadow)}
.v439x-account-card>div,.v439x-account-card label{grid-template-columns:190px minmax(0,1fr);padding:11px 0}
.v439x-account-card span,.v439x-account-card b,.v439x-account-card input,.v439x-account-card button{font-size:14px!important}
.v439x-notifications article,.v439x-frequent article{border-color:var(--v440-line);border-radius:10px;background:#fff}
.v439x-notifications strong,.v439x-notifications p,.v439x-frequent strong,.v439x-frequent small,.v439x-frequent button{font-size:14px!important}
.v331-profile-card{padding-top:22px!important}
.v331-profile-card,.v332-profile-company{font-size:14px}
.v332-agency-contact span,.v332-agency-contact strong,.v332-profile-company dt,.v332-profile-company dd,.v332-profile-company-head span{font-size:14px!important}

/* Desktop readability safeguard for agency interface */
@media (min-width:1101px){
  .v328-agency-app,.v328-agency-app *,.v328-agency-shell,.v328-agency-shell *{font-size:max(14px,1em)}
  .v328-agency-brand{font-size:24px!important}.v328-agency-login h1{font-size:32px!important}.v328-agency-header h1{font-size:29px!important}
  .v439x-kpis b{font-size:26px!important}.v328-agency-section-head h2{font-size:20px!important}.v328-product-bottom strong{font-size:18px!important}.v328-cart-total strong{font-size:22px!important}
}

@media (max-width:1100px){
  .v328-agency-app{padding:0 14px 32px}
  .v328-agency-header.v439x-header{margin:0 -14px;padding:16px 14px}
  .v439x-tabs{margin-top:10px}
  .v328-agency-layout{grid-template-columns:1fr}
  .v328-agency-cart{position:static}
}
@media (max-width:640px){
  .v328-agency-shell{padding:18px 12px}
  .v328-agency-login{padding:27px 20px 24px;border-radius:15px}
  .v328-agency-login h1{font-size:25px}
  .v328-agency-login:after{font-size:12px}
  .v328-agency-header h1{font-size:22px}
  .v439x-home,.v439x-simple-section,.v331-profile-card{padding:14px 0}
  .v328-agency-products,.v328-agency-cart,.v328-agency-history{padding:14px;border-radius:12px}
  .v328-product-grid{grid-template-columns:1fr}
  .v328-order-card{grid-template-columns:1fr;gap:8px}
}
