﻿/* Atlas refinement pack (phase 1)
   Goal: enforce cross-page consistency without changing workflow logic. */

:root{
  --atlas-refine-radius:18px;
  --atlas-refine-border:rgba(255,255,255,.12);
  --atlas-refine-border-strong:rgba(118,195,255,.34);
  --atlas-refine-surface:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.03));
  --atlas-refine-shadow:0 14px 34px rgba(0,0,0,.24);
  --atlas-refine-input-h:46px;
}

/* Typographic scale lock */
h1,
.page-title h1,
.page-copy h1,
.hero-title{
  font-size:clamp(30px,4.8vw,44px);
  line-height:1.08;
  letter-spacing:-.02em;
}

h2,
.section-title,
.public-header h2,
.dash-header h2,
.dash-top h2{
  font-size:clamp(23px,3.2vw,32px);
  line-height:1.14;
  letter-spacing:-.015em;
}

h3{
  font-size:clamp(18px,2.4vw,24px);
  line-height:1.2;
}

p,
li,
label,
.field-help,
.panel-copy,
.muted{
  font-size:15px;
  line-height:1.56;
}

/* Toolbar spacing + symmetry */
.header .container{
  max-width:1360px;
  padding-inline:20px;
}

.header .nav{
  min-height:72px;
  gap:14px;
}

.header .nav-left,
.header .nav-right,
.header .nav-actions{
  gap:12px;
}

/* Consistent card shell across hubs */
.card,
.surface-panel,
.panel-card,
.table-card-shell,
.listing-card-modern,
.application-card,
.application-lane,
.maintenance-request-card,
.contractor-directory-card,
.services-kpi-card,
.services-how-card,
.services-request-panel,
.services-category-panel,
.services-directory-panel,
.detail-fact,
.stat,
.stat-card{
  border-radius:var(--atlas-refine-radius);
  border:1px solid var(--atlas-refine-border);
  background:var(--atlas-refine-surface);
  box-shadow:var(--atlas-refine-shadow);
}

/* Form clarity + touch sizing */
input,
select,
textarea,
button,
.pill,
.primary-btn,
.secondary-btn,
.ghost-btn{
  min-height:var(--atlas-refine-input-h);
}

.field{
  gap:8px;
}

input,
select,
textarea{
  border-color:var(--atlas-refine-border);
}

input:focus,
select:focus,
textarea:focus{
  outline:none;
  border-color:var(--atlas-refine-border-strong);
  box-shadow:0 0 0 3px rgba(118,195,255,.14);
}

/* Standardized state blocks */
.notice,
.err,
.ok,
.alert,
.state-empty,
.state-success,
.state-error,
.state-warning{
  border-radius:14px;
  border:1px solid var(--atlas-refine-border);
  padding:12px 14px;
}

.state-empty{
  background:rgba(255,255,255,.04);
  color:var(--atlas-text-muted);
}

.state-success,
.ok{
  background:rgba(57,217,138,.14);
  border-color:rgba(57,217,138,.32);
}

.state-error,
.err,
.alert{
  background:rgba(255,107,129,.14);
  border-color:rgba(255,107,129,.34);
}

.state-warning{
  background:rgba(255,202,99,.14);
  border-color:rgba(255,202,99,.32);
}

/* Light mode: calmer, less glare, better contrast */
:root[data-theme="light"]{
  --atlas-refine-surface:linear-gradient(180deg,#f3efe8,#eee8df);
  --atlas-refine-border:rgba(43,60,82,.18);
  --atlas-refine-border-strong:rgba(47,107,183,.38);
}

:root[data-theme="light"] body{
  background:
    radial-gradient(980px 520px at 14% 12%,rgba(75,147,199,.09),transparent 58%),
    radial-gradient(920px 520px at 86% 14%,rgba(47,143,140,.08),transparent 56%),
    linear-gradient(180deg,#e8e5de 0%,#e4e0d6 48%,#ddd8cd 100%);
  color:#1f3142;
}

:root[data-theme="light"] .header{
  background:rgba(238,234,225,.92);
  border-bottom-color:rgba(43,60,82,.14);
}

:root[data-theme="light"] .site-footer{
  background:rgba(228,224,214,.9);
  border-top-color:rgba(43,60,82,.14);
}

:root[data-theme="light"] .site-footer-copy,
:root[data-theme="light"] .site-footer-links a,
:root[data-theme="light"] .panel-copy,
:root[data-theme="light"] .muted,
:root[data-theme="light"] .field-help,
:root[data-theme="light"] .page-kicker{
  color:#425669 !important;
}

:root[data-theme="light"] :is(h1,h2,h3,h4,h5,h6,strong,label,th,td,p,li,span,small){
  color:#1f3142;
}

:root[data-theme="light"] input,
:root[data-theme="light"] select,
:root[data-theme="light"] textarea{
  background:#f7f4ed !important;
  border-color:rgba(43,60,82,.18) !important;
  color:#1f3142 !important;
}

:root[data-theme="light"] input::placeholder,
:root[data-theme="light"] textarea::placeholder{
  color:#627687 !important;
}

/* Mobile and tablet spacing contract */
@media (max-width: 1100px){
  .container,
  .public-inner,
  .site-main,
  .page-shell{
    padding-inline:14px;
  }

  .header .container{
    padding-inline:12px;
  }

  .header .nav{
    min-height:62px;
  }

  .mobile-toolbar-strip{
    top:62px;
  }

  .mobile-toolbar-strip-inner{
    gap:8px;
    padding-block:8px;
  }

  .mobile-toolbar-strip .pill{
    min-height:36px;
    padding:8px 10px;
    font-size:12px;
  }

  .page-actions,
  .hero-actions,
  .form-actions,
  .filters-form,
  .table-toolbar,
  .row{
    gap:10px;
  }

  .application-tabs__nav,
  .filter-pill-row,
  .island-chip-row,
  .dashboard-chip-row{
    gap:8px;
  }
}

@media (max-width: 760px){
  .container,
  .public-inner,
  .site-main,
  .page-shell{
    padding-inline:12px;
  }

  .filter-grid,
  .filter-grid--compact,
  .detail-grid,
  .surface-grid-2,
  .surface-grid-3,
  .listing-map-layout,
  .ops-shell,
  .services-admin-layout,
  .services-admin-split{
    grid-template-columns:1fr !important;
  }

  .listings-grid,
  .job-card-grid,
  .metrics-grid,
  .tile-grid,
  .contractor-directory-grid--modern,
  .services-kpi-grid{
    grid-template-columns:1fr !important;
  }

  .application-card__meta,
  .maintenance-request-card__meta,
  .detail-fact-grid{
    grid-template-columns:1fr !important;
  }
}

/* Final light-mode contract (desktop + tablet + mobile)
   Single source of truth loaded last to override older theme experiments. */
:root[data-theme="light"]{
  --atlas-bg:#d9d7cf;
  --atlas-surface-0:#eeece4;
  --atlas-surface-1:#ebe8e0;
  --atlas-surface-2:#e5e2da;
  --atlas-surface-3:#dfdbd2;
  --atlas-surface-elevated:linear-gradient(180deg,#ece9e1,#e2ded5);
  --atlas-border-subtle:rgba(38,57,79,.11);
  --atlas-border-default:rgba(38,57,79,.19);
  --atlas-border-strong:rgba(42,89,142,.35);
  --atlas-text:#243446;
  --atlas-text-muted:#4d6074;
  --atlas-text-soft:#687a8d;
  --atlas-accent:#2f6ca8;
  --atlas-accent-2:#3f8f9b;
  --atlas-accent-3:#496db4;
  --atlas-shadow-sm:0 6px 14px rgba(28,40,56,.06);
  --atlas-shadow-md:0 12px 24px rgba(28,40,56,.08);
  --atlas-shadow-lg:0 18px 38px rgba(28,40,56,.1);
  --atlas-shadow-xl:0 24px 52px rgba(28,40,56,.12);
  --atlas-button-primary-bg:linear-gradient(135deg,#80b6df,#95cfd8);
  --atlas-button-secondary-bg:linear-gradient(180deg,#dee5ee,#d6dde7);
  --atlas-button-ghost-bg:#e5e9ef;
  --atlas-button-border:rgba(36,52,70,.2);
  --bg-main:#d9d7cf;
  --bg-surface:#ebe8e0;
  --text-primary:#243446;
  --text-secondary:#4d6074;
  --border:rgba(38,57,79,.19);
  --primary:#2f6ca8;
  --primary-hover:#23598d;
  --card-bg:#ebe8e0;
}

:root[data-theme="light"] body{
  background:
    radial-gradient(920px 420px at 12% 10%,rgba(126,168,197,.14),transparent 58%),
    radial-gradient(960px 520px at 88% 18%,rgba(157,184,201,.16),transparent 58%),
    linear-gradient(180deg,#d9d7cf 0%,#d4d2ca 52%,#cecbc2 100%) !important;
  color:var(--atlas-text) !important;
}

:root[data-theme="light"] .header,
:root[data-theme="light"] .mobile-toolbar-strip{
  background:rgba(230,227,218,.94) !important;
  border-color:var(--atlas-border-default) !important;
}

:root[data-theme="light"] .site-footer{
  background:rgba(221,217,208,.9) !important;
  border-top-color:var(--atlas-border-default) !important;
}

:root[data-theme="light"] .site-footer-copy,
:root[data-theme="light"] .site-footer-links a{
  color:var(--atlas-text-muted) !important;
}

:root[data-theme="light"] :is(
  h1,h2,h3,h4,h5,h6,strong,label,th,td,p,li,span,small,
  .panel-copy,.field-help,.page-kicker,.muted,.notice
){
  color:var(--atlas-text) !important;
}

:root[data-theme="light"] :is(.muted,.field-help,.page-kicker,.site-footer-copy){
  color:var(--atlas-text-muted) !important;
}

:root[data-theme="light"] a{
  color:var(--atlas-accent) !important;
  text-decoration-color:rgba(47,108,168,.35);
}

:root[data-theme="light"] :is(
  .card,.surface-panel,.panel-card,.table-card-shell,.listing-card-modern,
  .application-card,.application-lane,.maintenance-request-card,.contractor-directory-card,
  .services-kpi-card,.services-how-card,.services-request-panel,.services-category-panel,
  .services-directory-panel,.detail-fact,.stat,.stat-card,.lifestyle-story,.lifestyle-tool,
  .lifestyle-hero,.lifestyle-hero-panel,.lifestyle-module-shell,.lifestyle-ad-banner,
  .profile-shell,.profile-card,.form-card,.fieldset-card
){
  background:var(--atlas-surface-elevated) !important;
  border-color:var(--atlas-border-default) !important;
  box-shadow:var(--atlas-shadow-sm) !important;
}

:root[data-theme="light"] :is(input,select,textarea){
  background:#f0ede6 !important;
  border-color:var(--atlas-border-default) !important;
  color:var(--atlas-text) !important;
  box-shadow:none !important;
}

:root[data-theme="light"] :is(input::placeholder,textarea::placeholder){
  color:#6a7b8e !important;
  opacity:1 !important;
}

:root[data-theme="light"] :is(
  .pill,.badge,.menu-item,.dd-item,.application-tab,.application-status-pill,
  .lifestyle-chip,.dashboard-chip,.island-chip,.services-category-chip,
  .listing-pick-tag,.listing-mood-tag,.contractor-directory-tag,.atlas-world-chip
){
  color:var(--atlas-text) !important;
  background:#d8dee7 !important;
  border-color:#b6c1cf !important;
  text-shadow:none !important;
  box-shadow:none !important;
}

:root[data-theme="light"] :is(
  .pill:hover,.badge:hover,.menu-item:hover,.dd-item:hover,.application-tab:hover,
  .lifestyle-chip:hover,.dashboard-chip:hover,.island-chip:hover,.services-category-chip:hover
){
  background:#ccd5e0 !important;
  border-color:#aab8c8 !important;
  color:#1d2d40 !important;
}

:root[data-theme="light"] :is(
  .pill.is-active,.application-tab.is-active,.island-chip.is-active,.services-category-chip.is-active
){
  color:#f7fbff !important;
  background:linear-gradient(135deg,#2f6ca8,#3f8f9b) !important;
  border-color:#2a689e !important;
}

/* Restore real button chrome in light mode (overrides text-link experiment from mobile-polish). */
:root[data-theme="light"] :is(
  .primary-btn,.secondary-btn,.ghost-btn,
  button.primary-btn,button.secondary-btn,button.ghost-btn
){
  min-height:40px !important;
  padding:10px 14px !important;
  border-radius:12px !important;
  border:1px solid var(--atlas-button-border) !important;
  background:var(--atlas-button-secondary-bg) !important;
  color:var(--atlas-text) !important;
  box-shadow:none !important;
  justify-content:center !important;
  text-decoration:none !important;
  width:auto !important;
}

:root[data-theme="light"] :is(.primary-btn,button.primary-btn){
  background:var(--atlas-button-primary-bg) !important;
  border-color:#7daecf !important;
  color:#1a2e42 !important;
  font-weight:700 !important;
}

:root[data-theme="light"] :is(.primary-btn,.secondary-btn,.ghost-btn,
button.primary-btn,button.secondary-btn,button.ghost-btn)::after{
  content:none !important;
}

:root[data-theme="light"] :is(.primary-btn:hover,.secondary-btn:hover,.ghost-btn:hover,
button.primary-btn:hover,button.secondary-btn:hover,button.ghost-btn:hover){
  filter:brightness(.98);
  transform:none !important;
}

:root[data-theme="light"] .table th{
  background:rgba(207,214,223,.62) !important;
  color:var(--atlas-text) !important;
  border-bottom-color:var(--atlas-border-default) !important;
}

:root[data-theme="light"] .table td{
  color:var(--atlas-text) !important;
  border-bottom-color:var(--atlas-border-subtle) !important;
}

@media (max-width: 1100px){
  :root[data-theme="light"] .mobile-toolbar-strip{
    background:rgba(227,223,214,.96) !important;
    border-bottom-color:var(--atlas-border-default) !important;
  }
}
