/* Automatech agency identity. Shared by the Hub and every client workspace. */
:root {
  --agency-paper: #f7f7ef;
  --agency-surface: #fffef7;
  --agency-green: #102c2b;
  --agency-support: #203e34;
  --agency-ink: #15302e;
  --agency-muted: #5c6d66;
  --agency-lime: #d8f17c;
  --brand: var(--agency-green);
  --brand-dark: #254b40;
  --brand-ink: #ffffff;
  --line: #dce1d5;
  --border: var(--line);
  --muted: var(--agency-muted);
  --text: var(--agency-ink);
  --surface: var(--agency-surface);
  --surface-soft: #f0f1e9;
  --accent: var(--brand);
  --success: #254b40;
  --premium-shadow: none;
  background: var(--agency-paper);
  color: var(--agency-ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
body, .workspace { background: var(--agency-paper); color: var(--agency-ink); }
.app-shell { grid-template-columns: 232px minmax(0, 1fr); }
.sidebar { background: var(--agency-green); color: #fff; box-shadow: none; border-right-color: #203e34; }
.brand-image { background: #203e34; border-color: #536d60; border-radius: 9px; box-shadow: none; }
.brand small, .nav-section-label, .sidebar-signature, .sidebar-signature span,
.workspace-note, .workspace-note > span, .workspace-note strong { color: #bfcdc1; }
.workspace-note { border-color: #536d60; border-radius: 7px; }
.nav button { color: #bfcdc1; border-radius: 6px; min-height: 44px; }
.nav button:hover { background: var(--agency-support); color: #fff; }
.nav button.active, .nav button.active:hover {
  background: var(--agency-lime); color: var(--agency-green);
  border-color: var(--agency-lime); box-shadow: none;
}
.nav-active-dot { background: var(--agency-green); box-shadow: none; }
.topbar { background: var(--agency-surface); border-color: var(--line); min-height: 70px; }
.breadcrumb, .account-name small { color: var(--muted); }
.breadcrumb strong, .account-name strong { color: var(--agency-ink); }
.account-avatar, .person-avatar, .company-icon {
  color: var(--agency-green); background: #eaf1dd; border-color: var(--line); border-radius: 7px;
}
.page-head h1, .dashboard-head h1 { color: var(--agency-ink); letter-spacing: -.8px; }
.page-head p, .dashboard-head p, .company-info, .meta, .metric-foot { color: var(--muted); }
.eyebrow { color: var(--brand); }
.btn { background: var(--agency-surface); color: var(--agency-ink); border-radius: 6px; box-shadow: none; min-height: 44px; }
.btn:hover:not(:disabled) { background: #f0f1e9; border-color: #536d60; }
.btn.primary { background: var(--brand); border-color: var(--brand); color: var(--brand-ink); box-shadow: none; }
.btn.primary:hover:not(:disabled) { background: var(--brand-dark); border-color: var(--brand-dark); }
.btn.danger { color: #991b1b; border-color: #efc8c8; }
.btn.small { min-height: 38px; }
.card, .dashboard-panel, .metric-card, .table-scroll, .op-card {
  background: var(--agency-surface); border-color: var(--line); border-radius: 9px; box-shadow: none;
}
.card h2, .card h3, .panel-heading h2, .metric-card > strong, .stat strong,
.op-card h3, .appointment-person strong, .recent-person strong { color: var(--agency-ink); }
.stats .stat { border-top-color: var(--agency-green); }
.stats .stat:nth-child(2) { border-top-color: #536d60; }
.stats .stat:nth-child(3) { border-top-color: #607e2d; }
.stats .stat:nth-child(4) { border-top-color: var(--agency-support); }
.dashboard-hero { background: var(--agency-green); border-color: var(--agency-green); border-radius: 14px; box-shadow: none; }
.hero-copy h2 { font-size: 27px; letter-spacing: -.8px; }
.hero-copy p, .hero-kicker { color: #bfcdc1; }
.hero-art-icon { background: var(--agency-support); border-color: #536d60; color: var(--agency-lime); box-shadow: none; border-radius: 9px; }
.hero-orbit { border-color: #536d60; }
.hero-art-detail { background: var(--agency-lime); color: var(--agency-green); box-shadow: none; border-radius: 6px; }
.hero-links .hero-button { background: var(--agency-lime); color: var(--agency-green); border-color: var(--agency-lime); }
.hero-links .hero-button:hover:not(:disabled) { background: #e6f5ac; border-color: #e6f5ac; }
.hero-links .hero-button.secondary { background: var(--agency-support); color: #fff; border-color: #536d60; }
.hero-links .hero-button.secondary:hover:not(:disabled) { background: #254b40; }
.metric-card.blue, .metric-card.violet, .metric-card.amber, .metric-card.rose { background: var(--agency-surface); }
.metric-top > span:first-child { color: var(--agency-muted); }
.metric-symbol, .metric-symbol.teal, .metric-card .metric-symbol,
.metric-card.blue .metric-symbol, .metric-card.violet .metric-symbol,
.metric-card.amber .metric-symbol, .metric-card.rose .metric-symbol {
  background: #eaf1dd; color: var(--agency-green); border-radius: 7px;
}
.panel-pill, .count-pill, .setup-icon, .feature-step-number, .empty-symbol {
  background: #eaf1dd; color: var(--agency-green); border-color: var(--line); border-radius: 6px;
}
.dashboard-empty { background: var(--agency-paper); border-radius: 7px; }
.dashboard-empty > strong, .empty h3, .feature-empty h3 { color: var(--agency-ink); }
.dashboard-empty > p, .panel-heading p, .panel-footer, .feature-empty, .op-card p { color: var(--muted); }
.chart-label, .chart-empty-label { fill: var(--agency-muted); }
.trend-legend, .stage-legend, .stage-legend strong, .donut-center small, .period-select { color: var(--muted); }
.donut-center strong { color: var(--agency-ink); }
.panel-footer .btn, .panel-heading > .icon { color: var(--agency-green); }
.period-select { background: var(--agency-surface); border-color: var(--line); border-radius: 6px; }
.legend-dot.teal { background: var(--agency-green); }
.appointment-time { background: #f0f1e9; border-color: var(--line); color: var(--agency-ink); border-radius: 6px; }
.attention-icon { background: #fef3c7; color: #854d0e; border-color: #e4cda4; border-radius: 6px; }
.badge, .status-tag, .waitlist-badge { border-radius: 6px; }
.badge.good, .status-tag.completed, .status-tag.scheduled, .status-tag.approved,
.status-tag.paid, .status-tag.delivered, .waitlist-badge.booked {
  background: #eaf1dd; color: #254b40;
}
.badge.warn, .status-tag.awaiting_payment, .waitlist-badge.offered, .waitlist-badge.uncertain {
  background: #fef3c7; color: #854d0e;
}
.badge.bad, .status-tag.cancelled, .status-tag.absent, .status-tag.lost { background: #fee2e2; color: #991b1b; }
.status-tag.in_progress, .waitlist-badge.accepted { background: #e3ece5; color: var(--agency-green); }
.notice { background: #e3ece5; border-color: var(--line); color: var(--agency-green); border-radius: 7px; }
.notice.warning { background: #fef3c7; border-color: #e4cda4; color: #854d0e; }
.notice.error { background: #fee2e2; border-color: #ecc9c9; color: #991b1b; }
th { background: #f0f1e9; color: var(--agency-muted); }
td, th { border-color: var(--line); }
.table-scroll, .table-wrap { scrollbar-color: #536d60 var(--agency-paper); }
.kanban-column, .kanban-column h3, .kanban { color: var(--agency-ink); }
.kanban-column { background: #f0f1e9; border-radius: 9px; }
.field input, .field select, .field textarea, .schedule-period input, .company-service-row input,
.feature-inbox-search input, .feature-compose textarea {
  background: var(--agency-surface); color: var(--agency-ink); border-color: var(--line); border-radius: 6px;
}
.field input:focus, .field select:focus, .field textarea:focus, .feature-compose textarea:focus {
  background: var(--agency-surface); border-color: var(--brand); outline: 2px solid #607e2d; outline-offset: 2px;
}
.modal { background: var(--agency-surface); border-radius: 14px; }
.modal-backdrop { background: #102c2b80; }
.modal-header button { background: var(--agency-surface); color: var(--agency-ink); }
.prompt-editor, .connection-redirect, .setup-advanced { background: #f0f1e9; border-color: var(--line); color: var(--agency-ink); }
.toast { background: var(--agency-green); box-shadow: none; border-radius: 7px; }
.login-page { background: var(--agency-paper); }
.login-card { background: var(--agency-surface); border: 1px solid var(--line); border-top: 4px solid var(--agency-green); border-radius: 14px; }
.login-card .brand { color: var(--agency-green); }
.login-card .btn.primary { background: var(--agency-green); border-color: var(--agency-green); color: #fff; }
.login-card .btn.primary:hover:not(:disabled) { background: #254b40; }
.tabs button.active, .feature-wizard-nav .active, .schedule-weekdays button.active {
  background: #eaf1dd; color: var(--agency-green); border-color: #607e2d;
}
.feature-wizard-nav button, .schedule-weekdays button { background: var(--agency-surface); color: var(--agency-muted); border-color: var(--line); border-radius: 6px; }
.feature-inbox { border-color: var(--line); border-radius: 9px; box-shadow: none; }
.feature-inbox-list, .feature-messages { background: var(--agency-paper); border-color: var(--line); }
.feature-inbox-search, .feature-thread, .feature-chat-header, .feature-compose { border-color: var(--line); }
.feature-chat, .feature-chat-header, .feature-compose, .feature-inbox-count { background: var(--agency-surface); }
.feature-thread:hover { background: #f0f1e9; }
.feature-thread.selected { background: #eaf1dd; box-shadow: inset 3px 0 var(--brand); }
.feature-avatar, .feature-thread.selected .feature-avatar { background: #e3ece5; border-color: var(--line); color: var(--agency-green); border-radius: 7px; }
.feature-thread-info strong, .feature-chat-header h2, .feature-inbox-count b { color: var(--agency-ink); }
.feature-thread-info small, .feature-chat-header p, .feature-compose > label, .feature-message > small, .feature-message-status { color: var(--muted); }
.feature-message { background: var(--agency-surface); border-color: var(--line); box-shadow: none; border-radius: 9px 9px 9px 3px; }
.feature-message.outbound { background: #eaf1dd; border-color: var(--line); border-radius: 9px 9px 3px 9px; }
.feature-message.note { background: #fef3c7; border-color: #e4cda4; }
.feature-message p { color: var(--agency-ink); }
.feature-file { background: #f0f1e9; border-color: var(--line); border-radius: 6px; }
.feature-conversation-badge, .feature-conversation-badge.team { background: #e3ece5; border-color: var(--line); color: var(--agency-green); }
.feature-conversation-badge.pending { background: #fef3c7; border-color: #e4cda4; color: #854d0e; }
.feature-conversation-badge.resolved { background: #f0f1e9; color: var(--muted); border-color: var(--line); }
.feature-state-dot, .feature-state-dot.team { background: var(--agency-green); }
.feature-state-dot.pending { background: #854d0e; }
.feature-unread { box-shadow: none; }
.connection-service-icon { background: #eaf1dd; color: var(--agency-green); border-radius: 7px; }
.connection-options, .schedule-week-row, .schedule-appointment { border-color: var(--line); }
.schedule-day { background: #f0f1e9; border-color: var(--line); color: var(--muted); border-radius: 6px; }
.schedule-day.working, .slot.available { background: #eaf1dd; color: var(--agency-green); border-color: var(--line); }
.schedule-day.selected { background: var(--agency-green); border-color: var(--agency-green); color: #fff; }
.schedule-day:hover { outline-color: #607e2d; }
.schedule-calendar-hint, .schedule-empty-note, .schedule-exception { background: #f0f1e9; color: var(--muted); border-color: var(--line); border-radius: 7px; }
.schedule-home-actions button { border-color: var(--line); }
.schedule-home-actions button:hover { border-color: #607e2d; box-shadow: none; }
.schedule-home-actions svg, .schedule-appointment > span:last-child, .media-library-content .media-subject { color: var(--agency-green); }
.schedule-home-actions span, .schedule-timezone, .schedule-legend, .schedule-period label,
.schedule-day-label, .schedule-appointment small, .schedule-empty p, .media-intro p, .media-library-content p { color: var(--muted); }
.schedule-legend .available { background: #607e2d; }
.schedule-legend .booked { background: var(--agency-green); }
.slot.booked, .slot.blocked { background: #fef3c7; border-color: #e4cda4; }
.waitlist-policy { background: var(--agency-surface); border-color: var(--line); }
.waitlist-policy-icon { background: #eaf1dd; color: var(--agency-green); border-radius: 7px; }
.waitlist-summary .card { border-top-color: var(--agency-green); }
.waitlist-summary .card:nth-child(2) { border-top-color: #854d0e; }
.waitlist-summary .card:nth-child(3) { border-top-color: #607e2d; }
.waitlist-policy-controls, .waitlist-order { background: #f0f1e9; color: var(--muted); border-color: var(--line); border-radius: 6px; }
.waitlist-badge.waiting { background: #eaf1dd; color: var(--agency-green); }
.waitlist-empty svg { color: var(--agency-green); }
.waitlist-consent input { accent-color: var(--brand); }
.media-library-card > img { background: #f0f1e9; }
.setup-advanced summary, .company-service-row label { color: var(--muted); }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible,
textarea:focus-visible, summary:focus-visible { outline: 3px solid #607e2d; outline-offset: 3px; }
.sidebar button:focus-visible { outline-color: var(--agency-lime); }
@media (max-width: 1100px) { .app-shell { grid-template-columns: 200px minmax(0, 1fr); } }
@media (max-width: 760px) {
  .app-shell { display: block; }
  .sidebar { height: auto; }
  .topbar { min-height: 64px; }
  .hero-copy h2 { font-size: 25px; }
  .card, .dashboard-panel, .metric-card { border-radius: 9px; }
  .btn.small { min-height: 40px; }
  .nav button { min-height: 44px; }
}
@media (prefers-reduced-motion: reduce) { .btn, .nav button { transition: none; } }
@media print { body, .workspace { background: #fff; } }
