/* Shared visual foundation: admin, operational modules and client portal. */
.client-workspace-header { display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 0 28px; }
.client-identity { display:flex;align-items:center;gap:18px;min-width:0; }
.client-portrait { width:68px;height:68px;flex:none;border-radius:20px;background:var(--green-soft);color:var(--accent);display:grid;place-items:center;object-fit:cover;font-size:23px; }
.client-identity h1 { margin:0 0 7px;font-size:32px;font-weight:600;letter-spacing:-1px;overflow-wrap:anywhere; }
.client-identity p { margin:0 0 7px;color:var(--muted);font-size:14px; }.client-connection { font-size:12px;color:var(--muted); }
.client-workspace-tabs { display:flex;gap:22px;overflow-x:auto;border-bottom:1px solid var(--line);margin-bottom:28px; }
.client-workspace-tabs { scrollbar-width:thin;scrollbar-color:var(--line) transparent; }
.client-workspace-tabs button { flex:none;background:none;color:var(--muted);font-size:14px;border:0;border-bottom:2px solid transparent;padding:14px 1px;min-height:46px; }
.client-workspace-tabs button[aria-current="page"] { color:var(--accent);border-bottom-color:var(--accent); }
.client-overview { display:grid;grid-template-columns:1fr 1.15fr;gap:40px; }
.client-overview h2,.client-shortcuts h2 { font-size:18px;font-weight:600;margin:0 0 15px; }
.client-brief p { max-width:65ch;white-space:pre-wrap;line-height:1.8;font-size:14px;color:var(--muted); }
.client-brief dl { display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:25px 0; }.client-brief dt { color:var(--muted);font-size:12px;margin-bottom:7px; }.client-brief dd { margin:0;font-size:14px; }
.client-operation { border-left:1px solid var(--line);padding-left:32px; }.client-operation p { color:var(--muted);font-size:13px; }
.client-operation-counts { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0; }
.client-operation-counts button { background:var(--surface);border:1px solid var(--line);color:var(--ink);padding:20px;text-align:left;border-radius:12px; }.client-operation-counts strong { display:block;font-size:28px;font-weight:500;margin-bottom:7px; }.client-operation-counts span { font-size:13px;color:var(--muted); }
.client-shortcuts { margin-top:36px;padding-top:25px;border-top:1px solid var(--line); }.client-shortcuts>div { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px; }.client-shortcuts button { border:0;border-radius:10px;background:var(--surface);padding:20px;color:var(--ink);text-align:left; }.client-shortcuts strong,.client-shortcuts span { display:block; }.client-shortcuts strong { font-size:14px;font-weight:500;margin-bottom:10px; }.client-shortcuts span { font-size:12px;color:var(--muted); }
.client-workspace-body .page-heading { margin-bottom:20px; }.client-workspace-body .page-heading h1 { font-size:23px;letter-spacing:-.5px; }.client-workspace-body .page-heading p { margin-bottom:0; }
.client-workspace-body #workflowClient,.client-workspace-body #calendarClient { display:none; }.client-workspace-body .toolbar-hint { display:none; }
.client-planning-open { width:100%;margin-top:20px; }.client-card .mini-progress { display:none; }
@media(max-width:900px) { .client-overview { grid-template-columns:1fr;gap:25px; }.client-operation { border-left:0;border-top:1px solid var(--line);padding:25px 0 0; }.client-shortcuts>div { grid-template-columns:1fr; } }
@media(max-width:720px) { .client-workspace-header { align-items:start;flex-direction:column;gap:18px; }.client-identity h1 { font-size:26px; }.client-portrait { width:54px;height:54px;border-radius:16px; }.client-workspace-tabs { gap:22px;margin-right:-14px;padding-right:14px; }.client-workspace-header .heading-actions { display:flex;gap:10px;width:100%; }.client-operation-counts button { padding:16px; } }
:root,html[data-theme="light"] {
 --system-font:"Segoe UI",system-ui,-apple-system,sans-serif;
 --ink:#252632;--muted:#696b7b;--ink-soft:#696b7b;--paper:#f5f5f7;--card:#fff;--surface:#fff;--surface-muted:#eeeef3;--field:#fafafd;--line:#dedee7;
 --sidebar-surface:#fafafd;--sidebar-ink:#676977;--sidebar-strong:#242530;--topbar-surface:#f5f5f7ed;
 --accent:#b94716;--orange:#c84c17;--action-ink:#b94716;--green:#ed6b35;--green-dark:#a1370d;--green-soft:#fff0e7;--blue:#8655bc;--yellow:#ed6b35;
 --calendar-outside:#f5f5f7;--calendar-current:#fff5ef;--shadow:0 12px 36px #2526320a;
 --text-body:14px;--text-meta:13px;--text-label:12px;color-scheme:light;
}
html[data-theme="dark"] {
 --ink:#f0eff5;--muted:#a4a3b3;--ink-soft:#a4a3b3;--paper:#111217;--card:#191a21;--surface:#191a21;--surface-muted:#22232d;--field:#15161d;--line:#30313d;
 --sidebar-surface:#15161c;--sidebar-ink:#aaa9ba;--sidebar-strong:#f0eff5;--topbar-surface:#111217ed;
 --accent:#ff9b72;--orange:#ff9b72;--action-ink:#ff9b72;--green:#fa8755;--green-dark:#ff9b72;--green-soft:#33251f;--blue:#c9aff2;--yellow:#fa8755;
 --calendar-outside:#14151b;--calendar-current:#28211f;--shadow:0 12px 36px #0002;color-scheme:dark;
}
body { background:var(--paper);color:var(--ink);font-family:var(--system-font); }
#inboxWorkspace form[data-inbox-update],#automationsWorkspace form[data-auto-rule],#automationsWorkspace form[data-auto-test] { display:grid;gap:16px;max-width:760px; }
#inboxWorkspace form label,#automationsWorkspace form label { display:grid;gap:7px;min-width:0; }
#inboxWorkspace form input,#inboxWorkspace form select,#inboxWorkspace form textarea,#automationsWorkspace form input,#automationsWorkspace form select,#automationsWorkspace form textarea { min-width:0;max-width:100%;padding:10px;border:1px solid var(--line);font:inherit; }
#inboxWorkspace form textarea,#automationsWorkspace form textarea { min-height:100px;resize:vertical; }
button,input,select,textarea { font-family:var(--system-font); }
button { cursor:pointer; } button:disabled { cursor:not-allowed;opacity:.55; }
:focus-visible { outline:2px solid var(--accent);outline-offset:3px; }
.sidebar { background:var(--sidebar-surface);box-shadow:none;padding-top:25px; }
.brand-mark { background:var(--green);color:#21130c;box-shadow:none;transform:none;border-radius:10px; }
.brand strong { letter-spacing:-1px;font-size:25px; }
.brand small { text-transform:none;letter-spacing:.1px; }
.nav-item { min-height:43px;font-size:14px;border-radius:8px;font-weight:500; }
.nav-item .icon { font-size:19px; }
html .nav-item.active,html[data-theme="dark"] .nav-item.active { background:var(--green-soft);color:var(--accent);box-shadow:inset 2px 0 var(--accent); }
.nav-label { font-size:11px;letter-spacing:.8px;margin-top:23px; }
.sidebar-footer { border-top:1px solid var(--line); }
.usage { display:none; }.profile-card { background:transparent; }
.create-button,.primary-button { background:var(--green);color:#25150e;border:1px solid transparent;box-shadow:none;font-size:14px;font-weight:650;min-height:44px;border-radius:9px; }
.create-button:hover,.primary-button:hover { background:var(--orange);color:#21130c;transform:none; }
.secondary-button,.v2-home .secondary { background:var(--surface);color:var(--ink);border:1px solid var(--line);min-height:42px;border-radius:9px;padding:9px 14px;font-size:13px; }
.topbar { background:var(--topbar-surface);backdrop-filter:blur(12px);box-shadow:none;border-bottom:1px solid var(--line); }
.view { max-width:1600px;margin:0 auto;padding:32px; }
.page-heading { margin-bottom:28px;gap:20px;align-items:center; }
.page-heading h1,.v2-home h1 { font-size:clamp(25px,2.5vw,34px);font-weight:600;letter-spacing:-1.2px;line-height:1.2; }
.page-heading p { font-size:14px;max-width:680px;line-height:1.6;color:var(--muted); }
.page-heading .eyebrow { display:none; }
.card,.module-card,.integration-card,.stat-card { background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:none; }
.card,.module-card,.integration-card { padding:24px; }
/* Connector cards contain stacked descriptions, unlike the legacy icon grid. */
#connectorReadiness .integration-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));margin-top:18px; }
#connectorReadiness .integration-card { display:flex;flex-direction:column;align-items:stretch;gap:12px;min-width:0; }
#connectorReadiness .integration-card > .status { align-self:flex-start;max-width:100%;white-space:normal; }
#connectorReadiness .integration-card > * { min-width:0; }
#connectorReadiness .integration-card p { overflow-wrap:break-word;word-break:normal; }
#connectorReadiness select { max-width:100%; }
#connectorReadiness details ul { padding-left:20px; }
.card-header h2,.module-card h3 { font-size:17px;font-weight:600; }
.module-card:hover { transform:none;box-shadow:none;border-color:var(--muted); }
.module-grid { gap:18px; }
.stat-value { font-size:28px; }.stat-card { padding:20px; }
.big-icon,.integration-logo,.mini-avatar { background:var(--surface-muted);color:var(--accent);box-shadow:none; }
input,select,textarea { background:var(--field);color:var(--ink);border-color:var(--line);border-radius:8px; }
.modal,.detail-modal,.report-modal,.login-card { background:var(--surface);color:var(--ink);border:1px solid var(--line);box-shadow:var(--shadow); }
.modal label,.login-card label { color:var(--muted);font-size:13px; }
.modal input,.modal textarea,.modal select { background:var(--field);color:var(--ink);border-color:var(--line); }
.toolbar { flex-wrap:wrap;gap:10px; }.toolbar input { min-width:0; }
.content-row { background:var(--surface);border:1px solid var(--line);border-radius:10px; }
.kanban-column { border-radius:12px; }.kanban-head { min-height:58px;font-size:13px; }
.kanban-card { border-radius:9px;box-shadow:none; }.kanban-card h3 { font-size:14px; }
.editorial-calendar { padding:0; }.report-canvas,.report-column,.widget-catalog { min-width:0; }
.ai-hero,.insight { background:var(--surface);color:var(--ink);border:1px solid var(--line);box-shadow:none; }
.ai-hero h2,.insight h3 { color:var(--ink); }.ai-hero>span,.ai-label { color:var(--accent); }
.v2-home .heading { display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px; }
.v2-home h1 { margin:8px 0 12px; }.v2-home h2 { font-size:17px;letter-spacing:-.3px;font-weight:600;margin:0 0 8px; }
.v2-home p { color:var(--muted);font-size:14px;line-height:1.6; }.v2-home .date-label { font-size:12px;text-transform:capitalize; }
.v2-home .welcome-tools { display:grid;grid-template-columns:minmax(240px,.8fr) minmax(0,1.7fr);gap:30px;margin:30px 0; }
.v2-home .weather { background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:23px; }
.v2-home .weather a { display:inline-block;font-size:11px;color:var(--muted);margin-top:12px; }
.v2-home #weatherForm { display:flex;gap:7px; }.v2-home input { min-width:0;padding:10px;border:1px solid var(--line);width:100%; }
.v2-home .city-option { display:block;padding:10px;background:var(--surface-muted);color:var(--ink);border:1px solid var(--line);width:100%;margin-top:5px;text-align:left; }
.v2-home .section-heading { display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px; }
.v2-home .profile-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(105px,1fr));gap:12px; }
.v2-home .profile-tile { text-align:center;min-width:0; }.profile-select { display:flex;flex-direction:column;align-items:center;gap:8px;width:100%;background:none;border:0;color:var(--ink);padding:12px 3px; }
.profile-select img,.profile-placeholder { width:56px;height:56px;border-radius:50%;object-fit:cover;display:grid;place-items:center;background:var(--surface-muted);color:var(--accent);font-size:18px;border:1px solid var(--line); }
.profile-select strong { font-size:13px;font-weight:600; }.profile-select small { font-size:11px;color:var(--muted); }
.photo-upload { display:inline-block;position:relative;font-size:11px;color:var(--muted);cursor:pointer;padding:7px; }.photo-upload input { position:absolute;inset:0;opacity:0;cursor:pointer; }.photo-upload:focus-within { outline:2px solid var(--accent); }
.season-calendar { border:1px solid var(--line);border-radius:14px;padding:24px;background:var(--surface); }
.calendar-controls { display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:20px; }.calendar-controls h3 { font-size:15px;min-width:150px;text-align:center;text-transform:capitalize; }.calendar-controls label { margin-left:auto;font-size:13px; }.calendar-controls select { padding:10px;border:1px solid var(--line); }
.season-layout { display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:28px; }.month-grid { display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px; }.day-name { text-align:center;font-size:12px;padding:10px;color:var(--muted); }
.day { min-height:44px;border:1px solid transparent;background:transparent;color:var(--ink);border-radius:9px;position:relative;font-size:13px; }.day:hover { background:var(--surface-muted); }.day.is-today { border-color:var(--accent); }.day.is-selected { background:var(--green-soft);color:var(--accent); }.day i { position:absolute;bottom:4px;left:calc(50% - 2px);width:4px;height:4px;background:var(--accent);border-radius:50%; }
.event-list-head { display:flex;justify-content:space-between;font-size:13px;padding:12px 0;border-bottom:1px solid var(--line); }.season-event { display:flex;gap:14px;padding:16px 0;border-bottom:1px solid var(--line); }.season-event time { color:var(--accent);font-size:18px; }.season-event strong,.season-event small { display:block;font-size:13px; }.season-event small { color:var(--muted);margin-top:5px; }.text-action { border:0;color:var(--accent);background:none; }
.v2-home .calendar-note { font-size:11px;margin-bottom:0; }.v2-next { margin-top:24px; }.v2-next>div { display:flex;gap:12px;flex-wrap:wrap;margin-top:18px; }
.v2-home dialog { background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:16px;width:min(450px,calc(100vw - 24px));padding:28px; }.v2-home dialog::backdrop { background:#0009;backdrop-filter:blur(4px); }.v2-home dialog label { display:grid;gap:8px;margin:16px 0; }.v2-home dialog select { padding:10px; }.v2-home .close { float:right;background:none;border:0;color:var(--muted);font-size:22px; }.v2-home dialog .primary { padding:12px;background:var(--green);color:#21130c;border:0;border-radius:8px; }
.sr-only { position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%); }
/* Client portal uses the same typography, controls and surfaces. */
.portal-shell { font-family:var(--system-font); }.portal-shell .login-panel { background:var(--paper); }.portal-shell .portal-brand { color:var(--ink); }.portal-brand>span { background:var(--green);transform:none; }
.portal-shell .login-card,.portal-card,.portal-stats article,.portal-content-card,.portal-modal-card { background:var(--surface);color:var(--ink);border:1px solid var(--line);box-shadow:none;border-radius:14px; }
.portal-shell .login-card input,.portal-shell textarea { background:var(--field);color:var(--ink);border-color:var(--line); }
.portal-shell .portal-app>header { background:var(--sidebar-surface);border-bottom:1px solid var(--line); }
.portal-shell .user { color:var(--ink); }.portal-shell button { font-size:13px;min-height:42px; }.portal-shell .user button { color:var(--ink);border-color:var(--line); }
.portal-shell .login-card button,.approval-actions button:first-child { background:var(--green);color:#21130c; }
.portal-shell .welcome h1 { font-size:30px;font-weight:600; }.portal-shell p,.portal-shell .empty { font-size:14px;line-height:1.6; }.portal-shell small,.portal-stats span { font-size:12px; }
.portal-card h2 { font-size:18px; }.client-workflow-column { background:var(--surface-muted);border-color:var(--line); }.client-workflow-column header { background:transparent;color:var(--ink);height:auto;padding:14px; }.client-workflow-column header span { background:var(--surface);color:var(--accent);box-shadow:none; }
.content-card-top b,.portal-modal-card h2,.portal-content-card b { color:var(--ink); }.approval-caption,.approval-heading>span { background:var(--surface-muted); }.approval-caption p { color:var(--muted); }
.portal-shell .approval-actions button { border-color:var(--line); }.v2-portal-theme { display:block;margin:12px 20px 12px auto;padding:8px 14px;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:8px; }
@media(prefers-reduced-motion:no-preference) { .view { animation:v2-enter .22s ease-out; }button { transition:background .15s,border-color .15s; }@keyframes v2-enter { from { opacity:.5;transform:translateY(5px); }to { opacity:1;transform:none; } } }
@media(max-width:1100px) { .v2-home .welcome-tools { grid-template-columns:1fr; }.v2-home .weather>div { max-width:600px; } }
@media(max-width:720px) {
 .sidebar { transition:none;visibility:hidden; }.sidebar.open { visibility:visible; }
 .view { padding:22px 14px; }.page-heading,.v2-home .heading { flex-wrap:wrap;gap:14px; }.page-heading h1,.v2-home h1 { font-size:27px; }.heading-actions { flex-wrap:wrap; }
 .card,.module-card,.integration-card { padding:18px; }.season-calendar { padding:16px; }.season-layout { grid-template-columns:1fr;gap:18px; }.v2-home .section-heading { flex-wrap:wrap; }.calendar-controls { gap:6px; }.calendar-controls h3 { min-width:0;flex:1; }.calendar-controls label { width:100%;margin:0;display:flex;align-items:center;justify-content:space-between; }.calendar-controls select { max-width:75%; }.month-grid { gap:0; }
 .v2-home .profile-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.v2-home .welcome-tools { gap:24px; }.v2-next>div { flex-direction:column; }
 .toolbar>* { max-width:100%; }.portal-content { padding:24px 14px; }.portal-grid { grid-template-columns:1fr; }.portal-stats { gap:7px; }.portal-stats article { padding:12px; }.portal-shell .login-panel { padding:100px 18px 30px;display:block;min-height:85vh; }.portal-shell .login-card { padding:24px; }.portal-shell .portal-app>header { height:auto;min-height:70px;flex-wrap:wrap;gap:14px;padding:16px; }.portal-shell .user { flex-wrap:wrap; }.portal-modal-card { max-width:calc(100vw - 20px); }
 .content-row { flex-wrap:wrap; }.content-main { min-width:0; }.report-layout,.report-builder { max-width:100%; }.stat-value { font-size:25px; }
}
.portal-shell .portal-brand b,.portal-shell h1,.portal-shell .portal-stats b,.portal-shell .client-item b,.portal-shell .calendar-item b,.portal-shell .modal-section h3 { color:var(--ink); }
.portal-grid,.portal-card,.portal-content { min-width:0; }.portal-card { max-width:100%; }.client-workflow-board { max-width:100%; }
.portal-shell .workflow-empty { border-color:var(--line);color:var(--muted); }
.portal-shell .calendar-item { background:transparent;border-color:var(--line);color:var(--ink); }
.portal-shell .calendar-item small,.portal-shell .content-card-top small,.portal-shell .portal-caption,.portal-shell .modal-section p { color:var(--muted); }
.portal-shell .calendar-date { background:var(--green-soft);color:var(--accent);box-shadow:none; }.portal-shell .calendar-date b { color:var(--accent); }
.portal-shell .modal-section,.portal-shell .modal-meta span { background:var(--surface-muted);border-color:var(--line);color:var(--ink); }
.portal-shell .portal-modal-close,.portal-shell select { background:var(--field);color:var(--ink);border-color:var(--line); }
.portal-shell .modal-actions button,.portal-shell .modal-move-row button { background:var(--green-soft);color:var(--accent);border-color:var(--line); }
.portal-shell .approval-actions button { background:var(--surface-muted);color:var(--ink); }.portal-shell .approval-actions button:first-child { background:var(--green);color:#21130c; }
.widget-catalog button { background:var(--surface-muted);color:var(--ink); }.widget-catalog button span { color:var(--accent); }
.report-preview-body { background:var(--paper); }.report-preview-widget,.report-preview-actions { background:var(--surface);color:var(--ink); }.report-preview-widget>h3 { font-size:14px; }.report-preview-heading p { font-size:13px; }
@media print { .sidebar,.topbar,.v2-portal-theme { display:none!important; }.main { margin:0; }.view { padding:0; } }
