:root{--ink:#172033;--muted:#657087;--ssg-blue:#1b438d;--ssg-blue-dark:#102b61;--ssg-blue-soft:#eaf1ff;--ssg-gold:#f9ad17;--ssg-gold-dark:#d88c00;--navy:var(--ssg-blue-dark);--navy-2:#1b438d;--blue:var(--ssg-blue);--accent:var(--ssg-gold);--surface:#fff;--canvas:#EBF4FC;--line:#dce3ed;--success:#0b7a4b;--danger:#b42318;--radius:14px;--shadow:0 12px 34px rgba(16,43,97,.12);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--canvas)}*{box-sizing:border-box}body{margin:0;background-color:#EBF4FC;background:linear-gradient(180deg,#EBF4FC 0%,#F5F9FD 100%);font-size:14px;line-height:1.42}a{color:inherit}button,input{font:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-header{min-height:62px;padding:8px 14px;background:linear-gradient(90deg,var(--ssg-blue-dark),var(--ssg-blue));color:#fff;display:flex;align-items:center;gap:12px;position:sticky;top:0;z-index:20;box-shadow:0 5px 20px rgba(10,20,46,.18)}.brand{display:flex;align-items:center;gap:9px;text-decoration:none;font-size:.95rem}.brand img{height:30px;width:auto;display:block;background:#fff;border-radius:7px;padding:4px;box-shadow:0 3px 10px rgba(0,0,0,.16)}.brand strong{letter-spacing:.08em;color:var(--ssg-gold)}.menu-button,.link-button{border:0;background:transparent;color:inherit;cursor:pointer}.menu-button{margin-left:auto;font-size:1.25rem;padding:7px}.primary-navigation{display:none;position:absolute;top:62px;left:0;right:0;background:var(--navy);padding:7px 14px 16px;box-shadow:0 12px 20px rgba(10,20,46,.22)}.primary-navigation.is-open{display:grid}.primary-navigation a,.nav-coming{padding:9px 7px;text-decoration:none;border-radius:8px;font-size:.92rem}.primary-navigation a:hover,.primary-navigation a:focus-visible{background:var(--navy-2)}.nav-coming{opacity:.48}.user-menu{display:flex;align-items:center;gap:7px;font-size:.9rem}.user-name{display:none}.link-button{text-decoration:underline}.page-shell{width:min(1180px,calc(100% - 24px));margin:0 auto;padding:22px 0 46px}.hero{background:linear-gradient(135deg,var(--ssg-blue-dark),var(--ssg-blue));color:#fff;padding:22px;border-radius:20px;box-shadow:var(--shadow);margin-bottom:22px}.hero h1,.page-heading h1,.section-heading h2{margin:.12rem 0;font-size:clamp(1.25rem,4vw,1.8rem);line-height:1.18}.hero p:last-child{max-width:650px;color:#eaf1ff}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.68rem;font-weight:800;margin:0;color:#4d6da9}.hero .eyebrow{color:var(--ssg-gold)}.muted{color:var(--muted)}.module-grid{display:grid;grid-template-columns:1fr;gap:12px}.module-card{min-height:112px;background:var(--surface);padding:16px;border:1px solid var(--line);border-radius:var(--radius);text-decoration:none;display:grid;grid-template-columns:38px 1fr;grid-template-rows:auto auto;column-gap:12px;align-content:center;box-shadow:0 4px 14px rgba(23,32,51,.05);font-size:.94rem}.module-card small{grid-column:2;color:var(--muted);font-size:.78rem}.module-card:not(.is-muted):hover{border-color:var(--ssg-gold);transform:translateY(-2px)}.module-icon{grid-row:1/3;width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(135deg,var(--ssg-blue-soft),#fff7e5);color:var(--ssg-blue);font-weight:900;font-size:.9rem}.is-muted{opacity:.62}.auth-page{min-height:100vh;display:grid;place-items:center;padding:18px;background:radial-gradient(circle at 18% 0,#dfe9ff,transparent 36%),radial-gradient(circle at 90% 10%,rgba(249,173,23,.22),transparent 28%),var(--canvas)}.auth-card{width:min(400px,100%);background:#fff;border:1px solid rgba(27,67,141,.16);border-radius:22px;padding:24px;box-shadow:var(--shadow)}.auth-logo{width:min(220px,72%);height:auto;display:block;margin:0 auto 18px;background:#fff;border-radius:14px;padding:9px;box-shadow:0 8px 24px rgba(16,43,97,.12)}.stack{display:grid;gap:8px;margin-top:20px}.stack label{font-weight:700;font-size:.9rem}.stack input,.search-bar input{min-height:42px;border:1px solid #b9c5d6;border-radius:9px;padding:9px 12px;background:#fff}.stack input:focus,.search-bar input:focus{outline:3px solid rgba(249,173,23,.24);border-color:var(--ssg-gold)}.button{min-height:40px;border:1px solid transparent;border-radius:9px;padding:8px 14px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-size:.92rem;font-weight:750;cursor:pointer}.button-primary{background:var(--ssg-blue);color:#fff;border-bottom-color:var(--ssg-gold)}.button-secondary{background:#fff;border-color:#b8c4d5;color:var(--ink)}.button-danger{background:var(--danger);color:#fff;border-color:var(--danger)}.stack .button{margin-top:8px}.alert{padding:10px 12px;border-radius:9px;margin:14px 0;font-size:.92rem}.alert-error{background:#fff0ee;color:var(--danger)}.alert-success{background:#eaf8f1;color:var(--success)}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:16px}.search-bar{display:grid;grid-template-columns:1fr;gap:8px;margin-bottom:16px}.responsive-table{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:auto;box-shadow:0 4px 14px rgba(23,32,51,.04)}table{width:100%;border-collapse:collapse;font-size:.9rem}th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line)}th{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ssg-blue-dark);background:#fff8e8;white-space:nowrap}.empty-state{text-align:center;color:var(--muted);padding:32px}.pagination{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:16px;font-size:.9rem}
@media(max-width:699px){.responsive-table{background:transparent;border:0;box-shadow:none;overflow:visible}.responsive-table table,.responsive-table tbody,.responsive-table tr,.responsive-table td{display:block;width:100%}.responsive-table thead{position:absolute;left:-9999px}.responsive-table tr{background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:12px;padding:8px 14px;box-shadow:0 3px 12px rgba(23,32,51,.04)}.responsive-table td{display:grid;grid-template-columns:110px 1fr;gap:12px;padding:8px 0;border:0}.responsive-table td::before{content:attr(data-label);font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:750}.responsive-table .empty-state{display:block}.responsive-table .empty-state::before{content:none}}
@media(min-width:700px){.page-shell{padding-top:38px}.module-grid{grid-template-columns:repeat(2,1fr)}.search-bar{grid-template-columns:minmax(260px,1fr) auto auto}.search-bar input{min-height:44px}}
@media(min-width:960px){.app-header{padding-inline:28px}.menu-button{display:none}.primary-navigation{display:flex;position:static;box-shadow:none;padding:0;background:transparent;gap:4px;margin-left:18px}.user-menu{margin-left:auto}.user-name{display:inline}.module-grid{grid-template-columns:repeat(3,1fr)}.hero{padding:38px}}
@media(prefers-reduced-motion:no-preference){.module-card{transition:transform .18s ease,border-color .18s ease}}
.check-field{display:flex;align-items:center;gap:7px;min-height:44px;font-weight:700}.check-field input{width:18px;height:18px}.search-bar>label:first-child{font-weight:700}.search-bar>input{width:100%}
.record-link{font-weight:800;color:var(--ssg-blue);text-decoration:none}.record-link:hover{text-decoration:underline}.legacy-panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);margin-bottom:16px;overflow:hidden}.legacy-panel h2{font-size:.82rem;letter-spacing:.06em;margin:0;padding:12px 16px;background:linear-gradient(90deg,var(--ssg-blue-soft),#fff7e5);color:var(--ssg-blue-dark);border-left:4px solid var(--ssg-gold)}.legacy-fields{display:grid;grid-template-columns:1fr;margin:0}.legacy-fields>div{padding:13px 16px;border-top:1px solid var(--line)}.legacy-fields dt{font-size:.78rem;color:var(--muted);font-weight:750}.legacy-fields dd{margin:3px 0 0;overflow-wrap:anywhere}.address-field dd span{display:block}.address-field dd span:empty{display:none}.preserve-lines{white-space:pre-wrap}@media(min-width:700px){.legacy-fields{grid-template-columns:repeat(2,1fr)}.legacy-fields>div:nth-child(2){border-left:1px solid var(--line)}.wide-field{grid-column:1/-1}}
.legacy-tabs{gap:4px}.tab-menu{position:relative}.tab-menu summary{list-style:none;cursor:pointer;padding:11px 8px;border-radius:8px;font-weight:750}.tab-menu summary::-webkit-details-marker{display:none}.tab-menu summary::after{content:" ▾";font-size:.7rem}.tab-menu[open] summary,.tab-menu summary:hover,.tab-menu summary:focus-visible{background:var(--navy-2)}.tab-submenu{display:grid;min-width:190px;padding:6px}@media(max-width:959px){.tab-menu[open]{background:rgba(255,255,255,.06);border-radius:10px}.tab-submenu{padding-left:12px}}@media(min-width:960px){.tab-menu:not([open]) .tab-submenu{display:none}.tab-submenu{position:absolute;top:calc(100% + 6px);left:0;background:var(--navy);border:1px solid rgba(255,255,255,.14);border-radius:10px;box-shadow:0 18px 35px rgba(10,20,46,.26);z-index:30}}
.recent-menu{position:relative;border-top:1px solid rgba(255,255,255,.14);margin-top:6px;padding-top:6px}.recent-menu summary{list-style:none;cursor:pointer;padding:11px 8px;border-radius:8px}.recent-menu summary::-webkit-details-marker{display:none}.recent-menu summary::after{content:" ›";float:right}.recent-menu[open] summary,.recent-menu summary:hover,.recent-menu summary:focus-visible{background:var(--navy-2)}.recent-submenu{display:grid;min-width:220px;padding:6px}@media(max-width:959px){.recent-submenu{padding-left:14px}.recent-menu[open]{background:rgba(255,255,255,.05);border-radius:8px}}@media(min-width:960px){.recent-menu:not(:hover):not([open]) .recent-submenu{display:none}.recent-menu:hover .recent-submenu,.recent-menu[open] .recent-submenu{display:grid}.recent-submenu{position:absolute;left:100%;top:6px;background:var(--navy);border:1px solid rgba(255,255,255,.14);border-radius:10px;box-shadow:0 18px 35px rgba(10,20,46,.26);z-index:40}}

/* Global SSG theme and compact CRM density */
:root{
  --color-primary:#1b438d;
  --color-primary-dark:#102b61;
  --color-primary-soft:#eaf1ff;
  --color-accent:#f9ad17;
  --color-accent-soft:#fff8e8;
  --color-text:#172033;
  --color-text-muted:#657087;
  --color-border:#dce3ed;
  --color-page:#EBF4FC;
  --color-card:#fff;
  --font-family-base:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --font-size-xs:.68rem;
  --font-size-sm:.78rem;
  --font-size-base:.875rem;
  --font-size-md:.94rem;
  --font-size-lg:1.12rem;
  --font-size-xl:clamp(1.25rem,3.5vw,1.75rem);
  --line-height-base:1.42;
  --space-table-y:.58rem;
  --space-table-x:.7rem;
  --table-header-bg:var(--color-accent-soft);
  --table-header-text:var(--color-primary-dark);
  --table-row-hover:#f8fbff;
  --table-mobile-label-width:104px;
}

html{font-size:14px}
body{
  font-family:var(--font-family-base);
  font-size:var(--font-size-base);
  line-height:var(--line-height-base);
  color:var(--color-text);
  background-color:#EBF4FC;
  background:linear-gradient(180deg,#EBF4FC 0%,#F5F9FD 100%);
}
h1{font-size:var(--font-size-xl)}
h2{font-size:var(--font-size-lg)}
h3{font-size:1rem}
p,li,dd,td,input,select,textarea,button{font-size:var(--font-size-base)}
small,.muted{font-size:var(--font-size-sm)}

.app-header{background:linear-gradient(90deg,var(--color-primary-dark),var(--color-primary))}
.hero{background:linear-gradient(135deg,var(--color-primary-dark),var(--color-primary))}
.record-link{color:var(--color-primary)}
.button-primary{background:var(--color-primary);border-bottom-color:var(--color-accent)}
.button-secondary{border-color:#b8c4d5}
.stack input:focus,.search-bar input:focus{border-color:var(--color-accent);outline-color:rgba(249,173,23,.24)}

/* Global data table design used by list pages, subpanels, reports and line items */
.responsive-table{
  border:1px solid var(--color-border);
  border-radius:12px;
  background:var(--color-card);
  overflow:auto;
  box-shadow:0 4px 14px rgba(16,43,97,.05);
}
.responsive-table table,
table.data-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  font-size:var(--font-size-sm);
}
.responsive-table th,
table.data-table th{
  position:sticky;
  top:0;
  z-index:1;
  padding:var(--space-table-y) var(--space-table-x);
  border-bottom:1px solid var(--color-border);
  background:var(--table-header-bg);
  color:var(--table-header-text);
  font-size:var(--font-size-xs);
  font-weight:800;
  letter-spacing:.045em;
  line-height:1.25;
  text-transform:uppercase;
  white-space:nowrap;
}
.responsive-table td,
table.data-table td{
  padding:var(--space-table-y) var(--space-table-x);
  border-bottom:1px solid var(--color-border);
  color:var(--color-text);
  line-height:1.35;
  vertical-align:top;
}
.responsive-table tbody tr:nth-child(even),
table.data-table tbody tr:nth-child(even){
  background:#fcfdff;
}
.responsive-table tbody tr:hover,
table.data-table tbody tr:hover{
  background:var(--table-row-hover);
}
.responsive-table td small,
table.data-table td small{
  display:block;
  margin-top:.18rem;
  color:var(--color-text-muted);
}
.responsive-table .empty-state,
table.data-table .empty-state{
  padding:1.8rem 1rem;
  text-align:center;
  color:var(--color-text-muted);
}
.legacy-panel h2{
  background:linear-gradient(90deg,var(--color-primary-soft),var(--color-accent-soft));
  border-left-color:var(--color-accent);
  color:var(--color-primary-dark);
  font-size:var(--font-size-sm);
}
.legacy-fields dt{font-size:var(--font-size-sm)}
.legacy-fields dd{font-size:var(--font-size-base)}

@media(max-width:699px){
  html{font-size:13.5px}
  .responsive-table{border:0;background:transparent;box-shadow:none;overflow:visible}
  .responsive-table table,.responsive-table tbody,.responsive-table tr,.responsive-table td{display:block;width:100%}
  .responsive-table thead{position:absolute;left:-9999px}
  .responsive-table tr{
    margin-bottom:10px;
    padding:8px 12px;
    border:1px solid var(--color-border);
    border-radius:12px;
    background:#fff;
    box-shadow:0 3px 12px rgba(16,43,97,.05);
  }
  .responsive-table td{
    display:grid;
    grid-template-columns:var(--table-mobile-label-width) minmax(0,1fr);
    gap:10px;
    padding:7px 0;
    border:0;
  }
  .responsive-table td::before{
    content:attr(data-label);
    color:var(--color-text-muted);
    font-size:var(--font-size-xs);
    font-weight:800;
    letter-spacing:.04em;
    line-height:1.25;
    text-transform:uppercase;
  }
  .responsive-table .empty-state{display:block}
  .responsive-table .empty-state::before{content:none}
}

/* Logo assets must keep their transparent PNG background */
.brand img,
.auth-logo{
  background:transparent;
  border-radius:0;
  padding:0;
  box-shadow:none;
}

/* Login uses the original SSG color logo on the same light page background as the CRM */
.auth-card{
  background:rgba(255,255,255,.94);
  border-color:rgba(27,67,141,.14);
  color:var(--color-text);
}
.auth-card .eyebrow,
.auth-card h1,
.auth-card label{
  color:var(--color-text);
}
.auth-card .eyebrow{
  color:var(--color-primary);
}
.auth-card input{
  background:#fff;
  color:var(--color-text);
}
.auth-logo{
  width:min(220px,72%);
}
.auth-logo-original{
  width:min(280px,82%);
}

/* Active top module uses SSG gold so users know which legacy menu they are inside */
.tab-menu.is-active > summary{
  color:var(--color-accent);
  background:rgba(249,173,23,.12);
  box-shadow:inset 0 -2px 0 var(--color-accent);
}
.tab-menu.is-active[open] > summary,
.tab-menu.is-active > summary:hover,
.tab-menu.is-active > summary:focus-visible{
  color:#fff;
  background:linear-gradient(180deg,rgba(249,173,23,.32),rgba(249,173,23,.16));
  box-shadow:inset 0 -3px 0 var(--color-accent);
}

/* Global search/filter toolbar used above list tables */
.search-bar{
  display:flex;
  flex-wrap:wrap;
  align-items:end;
  gap:.55rem .65rem;
  padding:.75rem;
  margin-bottom:1rem;
  border:1px solid var(--color-border);
  border-left:4px solid var(--color-accent);
  border-radius:12px;
  background:#fff;
  box-shadow:0 4px 14px rgba(16,43,97,.04);
}
.search-bar > label:not(.check-field){
  align-self:center;
  margin-right:-.25rem;
  color:var(--color-primary-dark);
  font-size:var(--font-size-sm);
  font-weight:800;
  white-space:nowrap;
}
.search-bar > input,
.search-bar > select{
  flex:1 1 190px;
  min-width:160px;
  max-width:320px;
}
.search-bar > .check-field{
  min-height:40px;
  padding:0 .6rem;
  border:1px solid var(--color-border);
  border-radius:999px;
  background:var(--color-primary-soft);
  color:var(--color-primary-dark);
  font-size:var(--font-size-sm);
  white-space:nowrap;
}
.search-bar > .button{
  flex:0 0 auto;
}
.search-bar > .button-primary{
  box-shadow:inset 0 -2px 0 var(--color-accent);
}
.search-bar > .button-secondary:hover,
.search-bar > .button-secondary:focus-visible{
  border-color:var(--color-accent);
  color:var(--color-primary-dark);
}
@media(max-width:699px){
  .search-bar{
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    align-items:center;
    gap:.55rem;
    padding:.7rem;
  }
  .search-bar > input,
  .search-bar > select{
    min-width:0;
    max-width:none;
    width:100%;
  }
  .search-bar > .check-field,
  .search-bar > .button{
    grid-column:1/-1;
    width:100%;
  }
}

.lookup-field{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) 36px;
  gap:.35rem;
  width:100%;
}
.lookup-field input[type="search"]{
  grid-column:1/2;
  width:100%;
  min-height:40px;
  border:1px solid #b9c5d6;
  border-radius:9px;
  padding:8px 11px;
  background:#fff;
}
.lookup-field input[type="search"]:focus{
  outline:3px solid rgba(249,173,23,.24);
  border-color:var(--color-accent);
}
.lookup-selected{
  border-color:var(--color-primary)!important;
  background:var(--color-primary-soft)!important;
}
.lookup-selected-list{
  grid-column:1/-1;
  display:flex;
  flex-wrap:wrap;
  gap:.35rem;
  margin-top:.15rem;
}
.lookup-chip{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  max-width:100%;
  padding:.28rem .45rem;
  border:1px solid var(--color-border);
  border-radius:999px;
  background:var(--color-primary-soft);
  color:var(--color-primary-dark);
  font-size:var(--font-size-sm);
  font-weight:750;
}
.lookup-chip button{
  width:1.15rem;
  height:1.15rem;
  border:0;
  border-radius:999px;
  background:rgba(16,43,97,.12);
  color:inherit;
  cursor:pointer;
  line-height:1;
}
.lookup-clear{
  grid-column:2/3;
  min-height:40px;
  border:1px solid var(--color-border);
  border-radius:9px;
  background:#fff;
  color:var(--color-text-muted);
  font-size:1.1rem;
  cursor:pointer;
}
.lookup-clear:hover,.lookup-clear:focus-visible{
  border-color:var(--color-accent);
  color:var(--color-primary-dark);
}
.lookup-results{
  display:none;
  position:absolute;
  top:calc(100% + 4px);
  left:0;
  right:0;
  z-index:50;
  max-height:260px;
  overflow:auto;
  border:1px solid var(--color-border);
  border-radius:12px;
  background:#fff;
  box-shadow:0 16px 30px rgba(16,43,97,.16);
}
.lookup-results.is-open{display:block}
.lookup-option{
  display:block;
  width:100%;
  padding:.65rem .75rem;
  border:0;
  border-bottom:1px solid var(--color-border);
  background:#fff;
  color:var(--color-text);
  text-align:left;
  cursor:pointer;
}
.lookup-option:hover,.lookup-option:focus-visible{
  background:var(--color-primary-soft);
}
.lookup-option strong{
  display:block;
  font-size:var(--font-size-base);
}
.lookup-option small{
  display:block;
  margin-top:.18rem;
  color:var(--color-text-muted);
}
.lookup-empty{
  padding:.75rem;
  color:var(--color-text-muted);
}
.inline-fields .lookup-field{
  flex:1 1 240px;
  min-width:220px;
}
@media(max-width:699px){
  .inline-fields .lookup-field{min-width:0}
  .lookup-results{position:static;grid-column:1/-1;margin-top:.25rem;box-shadow:none}
}

.flash-stack{
  position:fixed;
  top:72px;
  left:50%;
  z-index:100;
  width:min(560px,calc(100% - 24px));
  transform:translateX(-50%);
  pointer-events:none;
}
.flash-stack .alert{
  margin:0 0 .55rem;
  border:1px solid currentColor;
  box-shadow:0 14px 30px rgba(16,43,97,.18);
  pointer-events:auto;
}

.page-shell-wide{
  width:min(1480px,calc(100% - 24px));
}
.report-shortcuts{
  padding:1rem;
}
.report-table th,
.report-table td{
  white-space:nowrap;
}
.number-cell{
  text-align:right;
  font-variant-numeric:tabular-nums;
}
.total-row{
  background:var(--color-accent-soft) !important;
  font-weight:800;
}
@media(max-width:699px){
  .report-table th,
  .report-table td{
    white-space:normal;
  }
  .number-cell{
    text-align:left;
  }
  .total-row td[colspan]{
    display:block;
    font-size:var(--font-size-sm);
    color:var(--color-primary-dark);
  }
}

/* Global create/edit form design */
.legacy-form{
  display:grid;
  gap:1rem;
}
.form-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:.75rem 1rem;
  padding:1rem;
}
.form-field{
  display:grid;
  gap:.35rem;
  color:var(--color-text);
  font-size:var(--font-size-base);
}
.form-field > span{
  color:var(--color-primary-dark);
  font-size:var(--font-size-sm);
  font-weight:800;
}
.form-field.required > span::after{
  content:" *";
  color:#b42318;
}
.form-field input,
.form-field select,
.form-field textarea{
  width:100%;
  min-height:40px;
  border:1px solid #b9c5d6;
  border-radius:9px;
  padding:.5rem .65rem;
  background:#fff;
  color:var(--color-text);
  font:inherit;
}
.form-field textarea{
  min-height:7.5rem;
  resize:vertical;
}
.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus{
  outline:3px solid rgba(249,173,23,.24);
  border-color:var(--color-accent);
}
.inline-fields{
  display:grid;
  grid-template-columns:minmax(120px,.55fr) minmax(0,1fr);
  gap:.5rem;
}
.field-error{
  color:#b42318;
  font-weight:750;
}
.form-spacer{
  display:none;
}
.email-editor{
  padding:0 1rem 1rem;
}
.email-editor h3{
  margin:0 0 .55rem;
  color:var(--color-primary-dark);
  font-size:var(--font-size-sm);
  text-transform:uppercase;
}
.email-row{
  display:grid;
  gap:.75rem;
}
.form-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.65rem;
  justify-content:flex-end;
}
.page-heading{
  align-items:center;
  gap:.75rem;
  padding:.75rem .9rem;
  border:1px solid var(--color-border);
  border-left:4px solid var(--color-accent);
  border-radius:12px;
  background:#fff;
  box-shadow:0 4px 14px rgba(16,43,97,.04);
}
.page-heading > div:first-child{
  min-width:0;
}
.page-heading > h1{
  min-width:0;
}
.page-heading h1{
  overflow-wrap:anywhere;
}
.page-heading > .button,
.page-heading > form{
  margin-left:auto;
}
.page-heading > form{
  display:inline-flex;
  margin-top:0;
  margin-bottom:0;
}
.page-heading > .button,
.page-heading > form .button{
  min-height:34px;
  padding:.42rem .75rem;
  white-space:nowrap;
}
.action-row{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
  gap:.5rem;
  margin-left:auto;
}
.action-row form{
  display:inline-flex;
  margin:0;
}
.action-row .button{
  min-height:34px;
  padding:.42rem .75rem;
  white-space:nowrap;
}
.row-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:.28rem;
  min-width:5.25rem;
  white-space:nowrap;
}
.row-actions-heading{
  width:5.25rem;
}
.row-actions a,
.row-actions button,
.row-actions span{
  width:1.22rem;
  height:1.22rem;
  display:inline-grid;
  place-items:center;
  border:1px solid transparent;
  border-radius:.25rem;
  background:transparent;
  color:#9d8ac4;
  font-size:.76rem;
  line-height:1;
  text-decoration:none;
  cursor:pointer;
}
.row-actions a:hover,
.row-actions a:focus-visible,
.row-actions button:hover,
.row-actions button:focus-visible,
.row-actions span:hover{
  border-color:rgba(157,138,196,.38);
  background:rgba(157,138,196,.08);
  color:#5c4c7d;
}
.row-actions .is-disabled{
  opacity:.32;
  pointer-events:none;
}
@media(min-width:700px){
  .form-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .form-grid .wide-field{
    grid-column:1/-1;
  }
  .email-row{
    grid-template-columns:minmax(0,1fr) auto auto auto;
    align-items:end;
  }
}
@media(max-width:480px){
  .page-heading{
    align-items:stretch;
    flex-direction:column;
  }
  .action-row{
    width:100%;
    margin-left:0;
    justify-content:flex-start;
  }
  .action-row .button,
  .action-row form{
    flex:1 1 auto;
  }
  .action-row form .button{
    width:100%;
  }
  .page-heading > .button,
  .page-heading > form{
    width:100%;
    margin-left:0;
  }
  .page-heading > form .button{
    width:100%;
  }
  .inline-fields{
    grid-template-columns:1fr;
  }
  .form-actions .button{
    width:100%;
  }
}

/* SuiteCRM dashboard dashlets */
.dashboard-page{
  padding-top:1.2rem;
}
.dashboard-toolbar{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-start;
  gap:.65rem;
  margin-bottom:1rem;
}
.dashboard-toolbar h1{
  margin:0;
  padding:.82rem 1.05rem;
  border:1px solid rgba(27,67,141,.12);
  border-left:4px solid var(--color-accent);
  border-radius:16px;
  background:rgba(255,255,255,.88);
  color:var(--color-primary-dark);
  font-size:1rem;
  letter-spacing:.08em;
  line-height:1.1;
  box-shadow:0 10px 24px rgba(16,43,97,.08);
}
.dashboard-actions{
  position:relative;
  z-index:10;
}
.dashboard-actions summary{
  list-style:none;
  min-height:2.55rem;
  padding:.82rem 1rem;
  border-radius:14px;
  background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));
  color:#fff;
  cursor:pointer;
  font-weight:800;
  letter-spacing:.08em;
  box-shadow:0 10px 24px rgba(16,43,97,.14);
}
.dashboard-actions summary::-webkit-details-marker{
  display:none;
}
.dashboard-actions summary::after{
  content:" ▾";
  font-size:.72rem;
}
.dashboard-actions span{
  display:block;
  min-width:11rem;
  padding:.8rem 1rem;
  border-top:1px solid var(--color-border);
  background:#fff;
  color:var(--color-primary-dark);
  font-weight:700;
}
.dashboard-actions[open] summary{
  border-bottom-left-radius:0;
  border-bottom-right-radius:0;
}
.dashboard-actions[open] span:last-child{
  border-bottom-left-radius:14px;
  border-bottom-right-radius:14px;
  box-shadow:0 18px 32px rgba(16,43,97,.14);
}
.dashboard-grid{
  display:flex;
  flex-direction:column;
  gap:1rem;
  width:100%;
}
.dashlet-card{
  width:100%;
  min-width:0;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  border:1px solid rgba(27,67,141,.12);
  border-radius:18px;
  background:rgba(255,255,255,.92);
  box-shadow:0 14px 34px rgba(16,43,97,.10);
}
.dashlet-body{
  flex:1 1 auto;
  width:100%;
  border-left:0;
  border-right:0;
  border-radius:0;
  box-shadow:none;
}
.dashlet-body table{
  min-width:100%;
  width:100%;
  table-layout:fixed;
}
.dashlet-body th,
.dashlet-body td{
  text-align:left;
  vertical-align:middle;
  overflow-wrap:anywhere;
}
.dashlet-body th{
  line-height:1.2;
}
.dashlet-body td{
  min-height:2.75rem;
}
.dashlet-body td.number-cell{
  text-align:right;
  font-variant-numeric:tabular-nums;
}
.dashlet-body th.number-cell{
  text-align:right;
}
.dashlet-body td[data-label="Actions"],
.dashlet-body th.row-actions-heading{
  width:5.75rem;
  text-align:right;
  white-space:nowrap;
}
.dashlet-body td[data-label="Close"],
.dashlet-body th.close-column{
  width:4.5rem;
  text-align:center;
}
.dashlet-body .row-actions{
  justify-content:flex-end;
}
.dashlet-header{
  min-height:3.25rem;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
  padding:.78rem 1rem;
  background:linear-gradient(135deg,#fff,var(--color-primary-soft));
  color:var(--color-primary-dark);
  border-bottom:1px solid var(--color-border);
}
.dashlet-header h2{
  margin:0;
  font-size:1rem;
  line-height:1.2;
}
.dashlet-tools{
  white-space:nowrap;
  color:var(--color-accent);
  font-size:1.1rem;
  line-height:1;
  letter-spacing:.06em;
}
.dashlet-footer{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:.45rem;
  min-height:2.9rem;
  padding:.45rem .75rem;
  background:#f7fbff;
  color:var(--color-primary-dark);
  border-top:1px solid var(--color-border);
}
.dashlet-footer span{
  min-width:1.9rem;
  min-height:1.9rem;
  display:inline-grid;
  place-items:center;
  border:1px solid rgba(27,67,141,.2);
  border-radius:.55rem;
  background:#fff;
  font-weight:850;
}
.dashlet-footer strong{
  min-width:6.5rem;
  text-align:center;
}
.activity-post{
  display:grid;
  grid-template-columns:1fr;
  gap:.6rem;
  align-items:center;
  padding:.75rem .9rem;
  background:#f7fbff;
  border-bottom:1px solid var(--color-border);
}
.activity-post label{
  color:var(--color-primary-dark);
  font-weight:850;
}
.activity-post input{
  min-height:2.3rem;
  border:1px solid #d7dce4;
  border-radius:.35rem;
  background:#fff;
}
.activity-list{
  max-height:28rem;
  overflow:auto;
}
.activity-item{
  padding:1rem 1.1rem;
  background:#fff;
}
.activity-item:nth-child(even){
  background:#f8fbff;
}
.activity-item p{
  margin:0 0 .18rem;
  color:var(--color-text);
}
.activity-item a{
  color:var(--color-primary);
  text-decoration:none;
}
@media(min-width:760px){
  .activity-post{
    grid-template-columns:minmax(7rem,1fr) minmax(12rem,1fr) auto;
  }
}
@media(min-width:1120px){
  .dashlet-tall .activity-list{
    max-height:28rem;
  }
}
@media(max-width:699px){
  .dashboard-toolbar h1,
  .dashboard-actions,
  .dashboard-actions summary,
  .dashboard-actions span{
    width:100%;
  }
  .dashlet-footer{
    justify-content:center;
  }
}

.is-hidden{display:none!important}
.offer-line-table{margin:1rem}
.offer-line-table input,
.offer-line-table select,
.offer-line-table textarea{
  width:100%;
  min-height:2.2rem;
  border:1px solid #cbd5e1;
  border-radius:.45rem;
  padding:.35rem .45rem;
  background:#fff;
}
.offer-line-table textarea{
  margin-top:.35rem;
  resize:vertical;
}
.offer-line-table .lookup-field{
  margin-bottom:.35rem;
}
.offer-line-product-stack,
.offer-line-text-stack{
  display:grid;
  gap:.45rem;
  min-width:0;
}
.offer-line-table .line-number{
  min-width:5.6rem;
  text-align:right;
}
.offer-line-table .line-tax-rate{
  max-width:4.5rem;
}
.offer-line-actions{
  justify-content:flex-start;
  padding:0 1rem 1rem;
}
.offer-total-grid{
  padding:0 1rem 1rem;
}
@media(max-width:699px){
  .offer-line-table{
    margin:.75rem;
  }
  .offer-line-table .line-number{
    min-width:0;
    text-align:left;
  }
}

.record-title-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:1rem;
}
.module-kicker{
  color:var(--color-text-muted);
  font-size:var(--font-size-xs);
  letter-spacing:.12em;
  text-transform:uppercase;
}
.record-title-row h1{margin:.15rem 0 0}
.record-action-menu{position:relative}
.record-action-menu > summary{list-style:none}
.record-action-menu > summary::-webkit-details-marker{display:none}
.record-action-list{
  position:absolute;
  right:0;
  z-index:30;
  min-width:13rem;
  display:grid;
  padding:.45rem;
  border:1px solid var(--color-border);
  border-radius:.6rem;
  background:#8ea0ad;
  box-shadow:0 14px 34px rgba(15,23,42,.18);
}
.record-action-list a,
.record-action-list button{
  width:100%;
  border:0;
  border-radius:.4rem;
  padding:.55rem .65rem;
  background:transparent;
  color:#fff;
  text-align:left;
  text-decoration:none;
  cursor:pointer;
}
.record-action-list a:hover,
.record-action-list button:hover{
  background:rgba(255,255,255,.14);
}
.legacy-dialog{
  border:0;
  border-radius:.9rem;
  padding:0;
  box-shadow:0 24px 70px rgba(15,23,42,.35);
}
.legacy-dialog::backdrop{background:rgba(15,23,42,.42)}
.legacy-dialog-card{
  min-width:min(24rem,calc(100vw - 2rem));
  padding:1.25rem;
  background:#fff;
}
.legacy-dialog-card h2{
  margin:0 0 .8rem;
  font-size:var(--font-size-sm);
}
.template-list{
  display:grid;
  gap:.45rem;
  margin-bottom:1rem;
}
.template-list a{
  color:var(--color-link);
  font-weight:800;
  text-decoration:none;
}
.template-list a::before{
  content:"▦";
  margin-right:.45rem;
  color:var(--color-accent);
}
.totals-fields dd{
  font-weight:800;
}

.offer-line-table{
  border:0;
  box-shadow:none;
  background:transparent;
}
.offer-line-table thead{
  position:absolute;
  left:-9999px;
}
.offer-line-table table,
.offer-line-table tbody{
  display:block;
}
.offer-line-table tr[data-offer-line-row]{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem 1.1rem;
  margin:0 1rem 1rem;
  padding:1.1rem;
  border:1px solid var(--color-border);
  border-radius:.85rem;
  background:linear-gradient(180deg,#fff 0%,#fbfdff 100%);
  box-shadow:0 8px 24px rgba(16,43,97,.08);
  overflow:hidden;
}
.offer-line-table td{
  display:grid;
  gap:.3rem;
  padding:0;
  border:0;
}
.offer-line-table td::before{
  content:attr(data-label);
  color:var(--color-text-muted);
  font-size:var(--font-size-xs);
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.offer-line-table td[data-label="Product"],
.offer-line-table td[data-label="Service"]{grid-column:1/-1}
.offer-line-table td[data-label="Description"],
.offer-line-table td[data-label="Note"]{grid-column:1/-1}
.offer-line-table tr.is-service-line td[data-label="Quantity"],
.offer-line-table tr.is-service-line td[data-label="Part Number"]{
  display:none;
}
.offer-line-table td[data-label="Remove"]{
  align-self:end;
}
@media(min-width:920px){
  .offer-line-table tr[data-offer-line-row]{
    grid-template-columns:repeat(2,minmax(0,1fr));
    align-items:start;
  }
  .offer-line-table td[data-label="Product"],
  .offer-line-table td[data-label="Service"],
  .offer-line-table td[data-label="Quantity"],
  .offer-line-table td[data-label="Part Number"],
  .offer-line-table td[data-label="List"],
  .offer-line-table td[data-label="Discount"],
  .offer-line-table td[data-label="Sale Price"],
  .offer-line-table td[data-label="Tax"],
  .offer-line-table td[data-label="Tax Amount"],
  .offer-line-table td[data-label="Total"]{grid-column:auto}
  .offer-line-table td[data-label="Description"]{
    grid-column:1 / 2;
  }
  .offer-line-table td[data-label="Note"]{
    grid-column:2 / 3;
  }
  .offer-line-table td[data-label="Remove"]{
    grid-column:2 / 3;
    justify-self:end;
  }
  .offer-line-table tr.is-service-line{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .offer-line-table tr.is-service-line td[data-label="Service"]{
    grid-column:1/-1;
  }
}
@media(max-width:699px){
  .record-title-row{
    display:grid;
  }
  .record-action-menu,
  .record-action-menu > summary{
    width:100%;
  }
  .record-action-list{
    position:static;
    margin-top:.5rem;
  }
  .offer-line-table tr[data-offer-line-row]{
    grid-template-columns:1fr;
    margin:.75rem;
    padding:1rem;
    gap:.85rem;
  }
  .offer-line-table td{
    display:grid;
    grid-template-columns:1fr;
    gap:.35rem;
    width:100%;
    padding:0;
  }
  .offer-line-table td::before{
    display:block;
    margin:0;
    font-size:.72rem;
    line-height:1.2;
  }
  .offer-line-table input,
  .offer-line-table select,
  .offer-line-table textarea,
  .offer-line-table .button{
    width:100%;
    max-width:none;
    min-width:0;
  }
  .offer-line-table .line-number,
  .offer-line-table .line-tax-rate{
    width:100%;
    max-width:none;
    min-width:0;
    text-align:left;
  }
  .offer-line-table .inline-fields{
    grid-template-columns:1fr;
  }
  .offer-line-table .lookup-field{
    grid-template-columns:minmax(0,1fr) 3.25rem;
    gap:.5rem;
    margin-bottom:.45rem;
  }
  .offer-line-table .lookup-clear{
    width:100%;
    min-width:0;
  }
  .offer-line-table td[data-label="Description"],
  .offer-line-table td[data-label="Note"],
  .offer-line-table td[data-label="Remove"]{
    grid-column:1/-1;
  }
  .offer-line-table td[data-label="Remove"]{
    order:99;
  }
  .offer-line-table td[data-label="Remove"]::before{
    content:none;
  }
  .offer-line-table .offer-line-remove{
    min-height:3rem;
    margin-top:.25rem;
    font-weight:800;
  }
}
