@import url('https://fonts.googleapis.com/css2?family=Lato:wght@400;700&family=Montserrat:wght@600;700;800&display=swap');
:root{--navy:#071f3d;--orange:#f36b16;--ink:#172033;--muted:#64748b;--line:#dce4ee;--paper:#fff;--bg:#f4f7fb}*{box-sizing:border-box}body{margin:0;font-family:Lato,Arial,sans-serif;color:var(--ink);background:linear-gradient(135deg,#eef4fb,#fff7f1);min-height:100vh}.login-shell{min-height:100vh;display:grid;place-items:center;padding:28px}.login-panel{width:min(470px,100%);background:#fff;border-radius:10px;padding:34px;box-shadow:0 24px 70px rgba(7,31,61,.16);border:1px solid #e6ebf2}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;color:var(--navy);font-family:Montserrat,sans-serif}.brand-mark{display:grid;place-items:center;width:48px;height:48px;border-radius:10px;background:linear-gradient(135deg,var(--orange),#ff9148);color:#fff;font-weight:800}.brand strong,.brand small{display:block}.brand small{font-family:Lato,sans-serif;font-size:12px;letter-spacing:.08em;color:var(--muted);margin-top:3px}.login-copy{margin:34px 0 24px}.eyebrow{margin:0 0 8px;color:var(--orange);font-family:Montserrat,sans-serif;font-weight:800;font-size:12px;letter-spacing:.14em}.login-copy h1,.dash-title h1{font:800 31px/1.2 Montserrat,sans-serif;color:var(--navy);margin:0 0 12px}.login-copy p,.dash-title p{color:var(--muted);line-height:1.65}.alert{padding:12px 14px;background:#fff1f1;border:1px solid #ffcaca;color:#9f1d1d;border-radius:10px;margin-bottom:18px}form{display:grid;gap:17px}label{display:grid;gap:8px;font-weight:700;color:#243146}input{width:100%;border:1px solid var(--line);border-radius:10px;padding:14px 15px;font:16px Lato,sans-serif;outline:none}input:focus{border-color:var(--orange);box-shadow:0 0 0 3px rgba(243,107,22,.12)}button{border:0;border-radius:10px;background:var(--orange);color:#fff;padding:15px 18px;font:800 14px Montserrat,sans-serif;cursor:pointer;box-shadow:0 10px 25px rgba(243,107,22,.22)}button:hover{filter:brightness(.96)}.local-note{margin:18px 0 0;font-size:13px;line-height:1.5;color:var(--muted)}.dashboard-body{background:var(--bg)}.dash-header{display:flex;justify-content:space-between;align-items:center;padding:18px clamp(20px,4vw,70px);background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.admin-user{display:flex;align-items:center;gap:18px}.admin-user a{background:var(--navy);color:#fff;text-decoration:none;padding:10px 15px;border-radius:10px;font-weight:700}.dashboard-wrap{width:min(1280px,calc(100% - 40px));margin:42px auto}.dash-title{margin-bottom:26px}.module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.module-card{position:relative;display:block;text-decoration:none;background:#fff;border:1px solid var(--line);border-radius:10px;padding:24px;min-height:170px;box-shadow:0 9px 28px rgba(7,31,61,.06);transition:.2s ease}.module-card:hover{transform:translateY(-4px);border-color:#ffc49d;box-shadow:0 16px 34px rgba(7,31,61,.1)}.module-card h2{font:700 18px/1.35 Montserrat,sans-serif;color:var(--navy);margin:18px 0 8px}.module-card p{margin:0;color:var(--muted);line-height:1.55}.module-arrow{position:absolute;right:20px;top:16px;color:var(--orange);font-size:24px}@media(max-width:900px){.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.login-panel{padding:25px}.dash-header{align-items:flex-start;gap:18px}.admin-user span{display:none}.module-grid{grid-template-columns:1fr}.dashboard-wrap{width:min(100% - 24px,1280px)}}
.dashboard-section{margin:34px 0 48px}.section-title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}.section-title-row h2{font:800 24px/1.2 Montserrat,sans-serif;color:var(--navy);margin:0}.role-pill{display:inline-flex;align-items:center;padding:8px 12px;border-radius:10px;background:#fff2e9;color:#b74608;font-weight:700;font-size:13px}.role-pill--dark{background:var(--navy);color:#fff}.dashboard-section--operations{padding-top:30px;border-top:1px solid var(--line)}.access-note{margin:30px 0;padding:18px 20px;border:1px solid #fed7aa;border-radius:10px;background:#fff7ed;color:#7c2d12;line-height:1.6}.access-note strong{font-family:Montserrat,sans-serif}
@media(max-width:620px){.section-title-row{align-items:flex-start;flex-direction:column}.role-pill{align-self:flex-start}}

/* Admin login logo safety */
.admin-real-brand img{display:block!important;width:96px!important;height:76px!important;max-width:96px!important;max-height:76px!important;object-fit:contain!important;object-position:center!important;flex:0 0 96px!important}.login-panel{overflow:hidden}

/* Shawn Logistics unified component radius: frontend and admin */
:where(
  button,
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
  select,
  textarea,
  fieldset,
  a.btn,
  a.button,
  [class~="btn"],
  [class~="button"],
  [class*="-btn"],
  [class*="__btn"],
  [class*="-button"],
  [class*="__button"],
  [class*="card"],
  [class*="panel"],
  [class*="box"],
  [class*="tile"],
  [class*="modal"],
  [class*="dialog"],
  [class*="dropdown"],
  [class*="popover"],
  [class*="alert"],
  [class*="notice"],
  [class*="table-wrap"]
){border-radius:10px!important;}


/* Shawn Cargo Logistics: unified 10px component radius override.
   Scoped to interactive controls and visual container components only. */
:root{--sl-radius:10px!important;}
html body :where(
  button,
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),
  select,
  textarea,
  fieldset,
  details,
  a.btn,
  a.button,
  [role="button"],
  [class~="btn"],
  [class~="button"],
  [class*="-btn"],
  [class*="__btn"],
  [class*="-button"],
  [class*="__button"],
  [class*="card"],
  [class*="panel"],
  [class*="box"],
  [class*="tile"],
  [class*="widget"],
  [class*="modal"],
  [class*="dialog"],
  [class*="dropdown"],
  [class*="popover"],
  [class*="alert"],
  [class*="notice"],
  [class*="badge"],
  [class*="pill"],
  [class*="chip"],
  [class*="tag"],
  [class*="stat"],
  [class*="metric"],
  [class*="table-wrap"],
  [class*="form-wrap"],
  [class*="form-card"],
  [class*="search-wrap"]
){border-radius:10px!important;}
