
:root {
  --sc-bg: #f4f6f8;
  --sc-panel: #ffffff;
  --sc-dark: #111827;
  --sc-muted: #6b7280;
  --sc-border: #e5e7eb;
  --sc-accent: #f04b2f;
  --sc-accent-dark: #d83d24;
  --sc-success: #16a34a;
  --sc-warning: #f59e0b;
  --sc-danger: #dc2626;
  --sc-sidebar: #111827;
}

* { box-sizing: border-box; }
body {
  background: var(--sc-bg);
  color: var(--sc-dark);
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
a { text-decoration: none; }
.text-accent { color: var(--sc-accent) !important; }
.bg-accent { background: var(--sc-accent) !important; }
.btn-accent {
  background: var(--sc-accent);
  border-color: var(--sc-accent);
  color: #fff;
}
.btn-accent:hover, .btn-accent:focus {
  background: var(--sc-accent-dark);
  border-color: var(--sc-accent-dark);
  color: #fff;
}
.brand-mark {
  width: 38px;
  height: 38px;
  border-radius: 11px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--sc-accent);
  color: #fff;
  font-weight: 800;
  letter-spacing: -.04em;
}
.brand-word {
  font-weight: 800;
  letter-spacing: -.03em;
}
.login-shell {
  min-height: 100vh;
  display: grid;
  grid-template-columns: 1.1fr .9fr;
}
.login-hero {
  padding: 4rem;
  background:
    linear-gradient(rgba(17,24,39,.82), rgba(17,24,39,.92)),
    radial-gradient(circle at 20% 20%, #f04b2f 0, transparent 36%),
    #111827;
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.login-card-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem;
}
.login-card {
  width: min(470px, 100%);
  border: 1px solid var(--sc-border);
  border-radius: 22px;
  background: #fff;
  padding: 2rem;
  box-shadow: 0 24px 60px rgba(17,24,39,.12);
}
.google-btn {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: .75rem;
  border: 1px solid var(--sc-border);
  background: #fff;
  color: var(--sc-dark);
  font-weight: 600;
}
.google-dot {
  width: 20px; height: 20px; border-radius: 50%;
  display: inline-grid; place-items: center;
  font-size: 11px; font-weight: 800; color: #fff;
  background: conic-gradient(#4285f4 0 25%, #34a853 0 50%, #fbbc05 0 75%, #ea4335 0);
}
.app-shell { min-height: 100vh; display: flex; }
.sidebar {
  width: 270px;
  background: var(--sc-sidebar);
  color: #fff;
  position: fixed;
  inset: 0 auto 0 0;
  z-index: 1030;
  display: flex;
  flex-direction: column;
}
.sidebar-brand {
  padding: 1.15rem 1.2rem;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.sidebar-nav { padding: 1rem .7rem; overflow-y: auto; }
.sidebar-nav a {
  color: rgba(255,255,255,.74);
  padding: .72rem .9rem;
  border-radius: 10px;
  display: flex;
  gap: .75rem;
  align-items: center;
  margin-bottom: .15rem;
}
.sidebar-nav a:hover, .sidebar-nav a.active {
  color: #fff;
  background: rgba(240,75,47,.16);
}
.sidebar-footer {
  margin-top: auto;
  padding: 1rem;
  border-top: 1px solid rgba(255,255,255,.08);
}
.main-wrap { margin-left: 270px; width: calc(100% - 270px); }
.topbar {
  height: 70px;
  background: #fff;
  border-bottom: 1px solid var(--sc-border);
  display: flex;
  align-items: center;
  padding: 0 1.25rem;
  position: sticky;
  top: 0;
  z-index: 1020;
}
.content { padding: 1.4rem; }
.card-sc {
  background: #fff;
  border: 1px solid var(--sc-border);
  border-radius: 16px;
  box-shadow: 0 8px 28px rgba(17,24,39,.04);
}
.metric-card { padding: 1.1rem; height: 100%; }
.metric-label { font-size: .78rem; color: var(--sc-muted); text-transform: uppercase; letter-spacing: .06em; }
.metric-value { font-size: 1.65rem; font-weight: 800; margin-top: .3rem; }
.metric-sub { font-size: .82rem; color: var(--sc-muted); margin-top: .2rem; }
.section-title { font-weight: 800; letter-spacing: -.025em; }
.page-title { font-size: 1.45rem; font-weight: 800; margin: 0; }
.small-muted { color: var(--sc-muted); font-size: .87rem; }
.table thead th {
  font-size: .75rem;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--sc-muted);
  border-bottom-width: 1px;
  white-space: nowrap;
}
.status-pill {
  display: inline-flex;
  align-items: center;
  padding: .28rem .55rem;
  border-radius: 999px;
  font-weight: 700;
  font-size: .74rem;
}
.status-green { background: #dcfce7; color: #166534; }
.status-yellow { background: #fef3c7; color: #92400e; }
.status-red { background: #fee2e2; color: #991b1b; }
.status-blue { background: #dbeafe; color: #1e40af; }
.form-control, .form-select {
  border-radius: 10px;
  border-color: var(--sc-border);
}
.form-control:focus, .form-select:focus {
  border-color: rgba(240,75,47,.55);
  box-shadow: 0 0 0 .2rem rgba(240,75,47,.12);
}
.modal-content { border: 0; border-radius: 18px; }
.btn { border-radius: 10px; }
.empty-state { padding: 2rem; text-align: center; color: var(--sc-muted); }
.mobile-nav-toggle { display: none; }
.progress { height: 8px; border-radius: 999px; }
.avatar {
  width: 38px; height: 38px; border-radius: 50%;
  display: inline-grid; place-items: center;
  background: #111827; color: white; font-weight: 700;
}
.list-clean { list-style: none; padding-left: 0; margin-bottom: 0; }
.list-clean li { padding: .7rem 0; border-bottom: 1px solid var(--sc-border); }
.list-clean li:last-child { border-bottom: 0; }

@media (max-width: 991.98px) {
  .login-shell { grid-template-columns: 1fr; }
  .login-hero { min-height: 320px; padding: 2rem; }
  .sidebar { transform: translateX(-100%); transition: transform .25s ease; }
  .sidebar.open { transform: translateX(0); }
  .main-wrap { margin-left: 0; width: 100%; }
  .mobile-nav-toggle { display: inline-flex; }
  .content { padding: 1rem; }
}

.project-card { transition: transform .2s ease, box-shadow .2s ease; }
.project-card:hover { transform: translateY(-3px); box-shadow: 0 16px 40px rgba(17,24,39,.1); }
.project-card-header { display:flex; justify-content:space-between; gap:1rem; align-items:flex-start; }
.project-initial {
  width:46px; height:46px; border-radius:13px; display:grid; place-items:center;
  background:#fff1ed; color:var(--sc-accent); font-weight:800; font-size:1.1rem;
}
.analytics-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; }
.chart-wrap { position:relative; min-height:280px; }
.quick-stat { border-left:3px solid var(--sc-accent); padding-left:.8rem; }
@media (max-width:1199.98px){ .analytics-grid{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width:575.98px){ .analytics-grid{grid-template-columns:1fr;} }

.table-actions{display:flex;gap:.35rem;white-space:nowrap}.table-actions .btn{padding:.28rem .5rem}.sticky-actions{position:sticky;right:0;background:#fff}.currency-input{font-variant-numeric:tabular-nums}

.account-menu-btn{border:1px solid transparent;background:transparent;padding:.35rem .5rem;border-radius:12px}
.account-menu-btn:hover,.account-menu-btn:focus,.account-menu-btn.show{background:#f8fafc;border-color:var(--sc-border);box-shadow:none}
.account-name{line-height:1.1}.account-role{line-height:1.1;margin-top:.15rem}
.account-dropdown{min-width:210px;border-radius:12px;border:1px solid var(--sc-border);box-shadow:0 14px 35px rgba(17,24,39,.12);padding:.45rem}
.account-dropdown .dropdown-item{border-radius:8px;padding:.6rem .7rem}

.account-menu-btn{white-space:nowrap}
.account-menu-btn .text-end{min-width:max-content}
.account-name,.account-role{white-space:nowrap;line-height:1.15}
.topbar .dropdown{flex:0 0 auto}

.bid-row-check,.form-check-input#selectAllBids{cursor:pointer}

.bid-row-check,
#selectAllBids {
  width: 1.05rem;
  height: 1.05rem;
  border: 2px solid var(--sc-accent) !important;
  border-radius: .25rem;
  background-color: #fff;
  box-shadow: 0 0 0 2px rgba(240,75,47,.08);
}
.bid-row-check:checked,
#selectAllBids:checked {
  background-color: var(--sc-accent) !important;
  border-color: var(--sc-accent) !important;
}
.bid-row-check:focus,
#selectAllBids:focus {
  border-color: var(--sc-accent) !important;
  box-shadow: 0 0 0 .2rem rgba(240,75,47,.2) !important;
}

.table tfoot td { border-top: 2px solid var(--sc-accent); white-space: nowrap; }

.form-control,.form-select,textarea.form-control{border:1.5px solid rgba(240,75,47,.58)}
.form-control:hover,.form-select:hover,textarea.form-control:hover{border-color:var(--sc-accent)}
.form-control:focus,.form-select:focus,textarea.form-control:focus{border-color:var(--sc-accent);box-shadow:0 0 0 .2rem rgba(240,75,47,.15)}
.calculated-field{background:#fff8f5;border-color:var(--sc-accent)!important;font-weight:700}
.analytics-note{font-size:.78rem;color:var(--sc-muted)}



/* Phase 2.1.1 Auth Color Patch */
.nav-pills .nav-link{
  color:#495057;
  border:2px solid transparent;
  border-radius:.75rem;
  font-weight:600;
}
.nav-pills .nav-link.active,
.nav-pills .show>.nav-link{
  background:var(--sc-accent) !important;
  border-color:var(--sc-accent) !important;
  color:#fff !important;
}
.nav-pills .nav-link:hover{
  border-color:var(--sc-accent);
  color:var(--sc-accent);
}

/* Phase 2.1.2 Auth Theme and Label Patch */
.login-card .nav-pills .nav-link.active,
.login-card .nav-pills .show > .nav-link {
  background: var(--sc-accent) !important;
  border-color: var(--sc-accent) !important;
  color: #fff !important;
}
.login-card .nav-pills .nav-link:hover:not(.active) {
  border-color: var(--sc-accent) !important;
  color: var(--sc-accent) !important;
}

/* Site Command v2.2 production authentication */
.login-card .nav-pills .nav-link.active,.login-card .nav-pills .show>.nav-link{background:var(--sc-accent)!important;border-color:var(--sc-accent)!important;color:#fff!important}.login-card .nav-pills .nav-link:hover:not(.active){border-color:var(--sc-accent)!important;color:var(--sc-accent)!important}

/* Site Command v2.3 Admin */
.admin-section-nav .nav-link{color:var(--sc-text);border:1px solid var(--sc-border);margin-right:.5rem}
.admin-section-nav .nav-link.active{background:var(--sc-accent);border-color:var(--sc-accent);color:#fff}
