/* Shared application design system: loaded after legacy module styles. */
:root {
  --ink: #17283d;
  --muted: #53657b;
  --paper: #f3f6fa;
  --line: #dce4ee;
  --primary: #146eb4;
  --green: #146eb4;
  --red: #b42318;
}
body { background: var(--paper); font: 14px/1.55 Arial, Helvetica, sans-serif; }
main { padding: 126px 28px 48px; }
main h1, main h2, main h3 { color: var(--ink); letter-spacing: -.025em; }
main h2 { font-size: 23px !important; font-weight: 700 !important; line-height: 1.3; }
main h3 { font-size: 17px; line-height: 1.4; }
main p { line-height: 1.65; }
.eyebrow { color: #52677e; font-size: 10px; letter-spacing: .12em; }
.sidebar { padding: 124px 16px 24px; background: #fff; }
.sidebar .brand { gap: 10px; }
.sidebar .brand > span { background: #147cc0; border-radius: 8px; padding: 6px; }
.sidebar nav::before { font-size: 11px; text-transform: uppercase; letter-spacing: .12em; color: var(--muted); }
.sidebar nav a { border-color: transparent; box-shadow: none; border-radius: 7px; padding: 9px 12px; font-weight: 500; }
.sidebar nav a.active { font-weight: 700; background: #edf6ff; border-color: #c5e0f6; }
.utility-nav a:first-child { border-bottom-color: transparent; }
.utility-nav a.active { border-bottom-color: #61c5ff; background: #213348; }
.hero { padding: 14px 0 24px; margin-bottom: 22px; gap: 20px; }
.hero h1 { font-size: 30px; letter-spacing: -.04em; }
.hero-actions { flex-wrap: wrap; }
main > section { scroll-margin-top: 126px; }
.lookup,.listing-panel,.packing-panel,.ai-panel,.platform-panel,.operations > article,
.inventory-panel,.financial-panel,.integration-panel,.pricing-panel,.reconciliation-panel,.print-panel {
  border-radius: 12px !important;
  box-shadow: 0 2px 6px #17283d05 !important;
  padding: 24px !important;
  background: #fff !important;
  color: var(--ink) !important;
}
.section-head { gap: 18px; flex-wrap: wrap; align-items: center; margin-bottom: 20px; }
.section-head p:last-child { color: var(--muted) !important; max-width: 720px; }
.operations { gap: 18px; }
main input:not([type=checkbox]):not([type=radio]), main select, main textarea,
.login-screen input:not([type=checkbox]):not([type=radio]), .login-screen select {
  min-height: 42px; padding: 10px 12px; background: #fff !important;
  color: var(--ink) !important; border: 1px solid #aebdce !important;
  border-radius: 7px !important; font: inherit; max-width: 100%;
}
main label { color: #344b65; font-weight: 600; font-size: 13px; }
main input::placeholder, main textarea::placeholder { color: #63758a; opacity: 1; }
main textarea { min-height: 88px; resize: vertical; }
input[type=checkbox], input[type=radio] { accent-color: var(--primary); width: 17px; height: 17px; }
button { min-height: 38px; font: 600 13px/1.3 Arial, sans-serif; }
main button { border-radius: 7px !important; padding: 9px 14px !important; }
main button:hover:not(:disabled) { filter: brightness(.95); }
button:disabled { opacity: .5; cursor: not-allowed; box-shadow: none; }
button[aria-busy=true] { cursor: progress; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 3px solid #1783ce !important; outline-offset: 3px;
}
.cards { gap: 12px; grid-template-columns: repeat(3,minmax(0,1fr)); margin-top: 20px; }
.cards article,.admin-summary article,.platform-metrics article,.financial-kpis article {
  padding: 20px !important; border-radius: 10px !important; background: #fff !important;
  border: 1px solid var(--line) !important;
}
.cards strong,.admin-summary strong,.platform-metrics strong { display: block; margin-top: 6px; font-size: 25px; font-weight: 700; color: var(--ink); }
.cards span,.admin-summary span,.platform-metrics span { color: var(--muted) !important; font-size: 12px; }
.platform-tabs { gap: 20px; }
.platform-card,.admin-grid > article,.admin-overview > article,.financial-grid > article,.ai-tools article {
  background: #fff !important; border: 1px solid var(--line) !important;
  border-radius: 10px !important; padding: 22px !important; min-width: 0;
}
.platform-card > p,.platform-panel small,.platform-card small,.admin-user-row small { color: var(--muted) !important; }
.platform-card { scroll-margin-top: 126px; }
.platform-user,.support-case,.platform-tenant,.platform-plan,.platform-audit,.admin-user-row {
  border-color: var(--line); padding: 14px 0; min-width: 0; overflow-wrap: anywhere;
}
.platform-tenant { grid-template-columns: minmax(180px,1.6fr) minmax(100px,.7fr) minmax(100px,.7fr) 70px minmax(160px,1fr); }
.platform-tenant > div { display: flex; gap: 6px; flex-wrap: wrap; }
.platform-plan { grid-template-columns: 1.4fr 1fr .7fr .8fr auto .6fr auto; }
.platform-audit { grid-template-columns: 1.5fr 1fr 1fr; }
.platform-user:hover,.platform-tenant:hover,.inventory-row:not(.header):hover { background: #f7faff; }
.incoming-item,.pricing-card,.listing-card,.ai-action { border-radius: 8px !important; border-color: var(--line) !important; }
.form-message:empty { display: none; }
.form-message:not(:empty), #admin-message:not(:empty), #platform-message:not(:empty) {
  padding: 10px 12px; border-radius: 7px; background: #edf5ff; color: #244a72;
}
.error { color: var(--red) !important; }
.login-screen { background: radial-gradient(ellipse at 20% 20%,#e1effb,transparent 65%),#f3f6fa; overflow-y: auto; padding: 32px 0; z-index: 100; }
.login-screen form { padding: 36px; width: min(460px,calc(100% - 32px)); border-radius: 16px; box-shadow: 0 16px 60px #17283d12; }
.login-screen .brand { display: flex; align-items: center; gap: 9px; font-size: 23px; margin-bottom: 18px; }
.login-screen .brand span { padding: 6px 8px; background: #edf6ff; border-radius: 7px; }
.login-screen button { min-height: 44px; margin-top: 10px; }
.login-screen .secondary-button { background: #fff !important; color: var(--primary) !important; border: 1px solid #b8cce0 !important; }
.login-screen .wide-onboarding { width: min(760px,calc(100% - 32px)); }
.skip-link { position: fixed; top: -60px; left: 16px; z-index: 200; padding: 12px; background: #fff; color: var(--primary); border-radius: 6px; }
.skip-link:focus { top: 12px; }
.tool-popover { border-radius: 12px; border-color: var(--line); box-shadow: 0 14px 44px #17283d26; }
.header-main { min-width: 0; }
#user-name { max-width: 130px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media(max-width:1200px) {
  .platform-tenant,.platform-plan { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .platform-tenant > span,.platform-tenant > div { grid-column: 1/-1; }
  .global-search { min-width: 80px; }
  .phase { display: none; }
}
@media(max-width:900px) {
  main { padding-left: 18px; padding-right: 18px; }
  .section-head > button { align-self: flex-start; }
  .cards { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media(max-width:760px) {
  main,.surface-admin main,.surface-platform main { padding: 112px 14px 32px; }
  .header-main { gap: 8px; }
  #menu { display: block; color: #fff; min-width: 36px; }
  #user-name { max-width: 100px; font-size: 12px; }
  #logout { padding: 6px 9px; white-space: nowrap; }
  .sidebar { width: 252px; padding-top: 80px; box-shadow: 8px 0 30px #17283d20; }
  .hero { display: block; }
  .hero-actions { margin-top: 16px; flex-direction: row; }
  .hero h1 { font-size: 26px; }
  .lookup,.listing-panel,.packing-panel,.ai-panel,.platform-panel,.operations > article,
  .inventory-panel,.financial-panel,.integration-panel,.pricing-panel,.reconciliation-panel,.print-panel { padding: 18px !important; }
  .platform-user,.support-case,.platform-audit { grid-template-columns: 1fr; gap: 8px; }
  .platform-tabs,.admin-grid,.admin-overview,.operations,.listing-panel { grid-template-columns: minmax(0,1fr); }
  .scan-control { display: grid; }
  .scan-control button { min-height: 42px; }
  .login-screen form { padding: 28px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior: auto; } *,*::before,*::after { transition: none !important; animation: none !important; } }
