:root {
  --ink: #07195d;
  --ink-soft: #233873;
  --powder: #b8d0f5;
  --pale: #e9f1fc;
  --paper: #fbfaf7;
  --warm: #e9e3da;
  --white: #ffffff;
  --muted: #586581;
  --line: #e3e7ef;
  --green: #dff3e6;
  --green-ink: #276746;
  --pink: #f8e6ec;
  --sand: #f3e9d9;
  --shadow: 0 18px 50px rgba(7, 25, 93, 0.08);
  --radius: 22px;
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { min-height: 100%; background: var(--paper); }
body { margin: 0; min-height: 100%; color: var(--ink); background: var(--paper); font-family: Manrope, sans-serif; }
button, input, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { color: inherit; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); }

.app-shell { min-height: 100vh; }
.sidebar { position: fixed; inset: 0 auto 0 0; z-index: 20; width: 238px; display: flex; flex-direction: column; padding: 30px 18px 24px; background: var(--ink); color: white; }
.studio-brand { display: flex; align-items: center; gap: 10px; padding: 0 12px 32px; color: white; text-decoration: none; }
.studio-brand img { width: 116px; padding: 3px 5px; border-radius: 7px; background: white; }
.studio-brand span { padding-left: 10px; border-left: 1px solid rgba(255,255,255,.35); font: 500 10px DM Mono, monospace; letter-spacing: .16em; }
.main-nav { display: grid; gap: 7px; }
.nav-item { width: 100%; display: flex; align-items: center; gap: 13px; padding: 13px 14px; border: 0; border-radius: 13px; color: rgba(255,255,255,.72); background: transparent; text-align: left; font-weight: 650; cursor: pointer; }
.nav-item:hover, .nav-item.active { color: white; background: rgba(255,255,255,.12); }
.nav-icon { width: 24px; font: 500 19px DM Mono, monospace; text-align: center; }
.sidebar-foot { margin-top: auto; display: grid; gap: 8px; padding: 12px; }
.sidebar-foot a, .sidebar-foot button { border: 0; background: none; color: rgba(255,255,255,.68); text-decoration: none; text-align: left; font-size: 12px; cursor: pointer; }

.workspace { min-height: 100vh; margin-left: 238px; }
.topbar { height: 106px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px clamp(28px, 4vw, 58px); border-bottom: 1px solid var(--line); background: rgba(251,250,247,.94); }
.topbar h1 { margin: 5px 0 0; font: 600 clamp(25px, 2.2vw, 34px) Playfair Display, serif; }
.eyebrow { margin: 0; color: var(--muted); font: 500 10px DM Mono, monospace; letter-spacing: .16em; }
.topbar-actions { display: flex; gap: 10px; }
.icon-button, .profile-button { width: 43px; height: 43px; border: 1px solid var(--line); border-radius: 50%; background: white; cursor: pointer; }
.profile-button { border-color: var(--ink); background: var(--ink); color: white; font-weight: 800; }
.page { width: min(1240px, 100%); margin: 0 auto; padding: 36px clamp(28px, 4vw, 58px) 90px; }
.welcome-row { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 27px; }
.welcome-row h2 { margin: 5px 0 0; font: 600 clamp(28px, 3vw, 40px) Playfair Display, serif; }
.soft { margin: 0; color: var(--muted); font-size: 13px; }
.primary-action, .secondary-action { min-height: 47px; border-radius: 12px; padding: 0 18px; border: 0; font-weight: 750; cursor: pointer; }
.primary-action { background: var(--ink); color: white; box-shadow: 0 8px 20px rgba(7,25,93,.18); }
.primary-action span { margin-right: 6px; font-size: 19px; }
.secondary-action { border: 1px solid var(--ink); background: transparent; }

.setup-banner { display: flex; align-items: center; gap: 14px; margin-bottom: 18px; padding: 15px 18px; border: 1px solid #d8c79f; border-radius: 15px; background: #fff8e9; }
.setup-banner p { margin: 3px 0 0; color: #756443; font-size: 12px; }
.setup-icon { width: 28px; height: 28px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 50%; background: #ead49d; font-weight: 800; }
.metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 15px; margin-bottom: 20px; }
.metric-card { min-height: 150px; padding: 22px; border: 1px solid var(--line); border-radius: var(--radius); background: white; box-shadow: 0 8px 26px rgba(7,25,93,.035); }
.metric-card.featured { background: var(--ink); color: white; border-color: var(--ink); }
.metric-card p { margin: 0 0 14px; color: var(--muted); font-size: 12px; font-weight: 700; }
.metric-card.featured p, .metric-card.featured span { color: rgba(255,255,255,.68); }
.metric-card strong { display: block; margin-bottom: 11px; font: 600 clamp(25px, 2.5vw, 34px) Playfair Display, serif; }
.metric-card span { color: var(--muted); font-size: 10px; }

.dashboard-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(350px, .9fr); gap: 20px; margin-bottom: 20px; }
.panel { border: 1px solid var(--line); border-radius: var(--radius); background: white; box-shadow: var(--shadow); }
.panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 23px 24px 17px; }
.panel-heading h2 { margin: 5px 0 0; font: 600 23px Playfair Display, serif; }
.text-action { border: 0; background: none; color: var(--ink); font-size: 12px; font-weight: 800; cursor: pointer; }
.quick-actions { padding: 0 12px 12px; }
.quick-actions > button { width: 100%; display: grid; grid-template-columns: 43px 1fr auto; align-items: center; gap: 13px; padding: 13px 11px; border: 0; border-top: 1px solid #eef0f5; background: white; text-align: left; cursor: pointer; }
.quick-actions > button:hover { background: #fafbfe; }
.quick-actions > button b { color: #abb3c5; font-size: 23px; font-weight: 400; }
.quick-actions strong, .quick-actions small { display: block; }
.quick-actions strong { font-size: 13px; }
.quick-actions small { margin-top: 3px; color: var(--muted); font-size: 10px; }
.quick-icon { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 12px; font: 600 20px DM Mono, monospace; }
.quick-icon.blue { background: var(--pale); }.quick-icon.green { background: var(--green); color: var(--green-ink); }.quick-icon.sand { background: var(--sand); }.quick-icon.pink { background: var(--pink); }
.empty-list { min-height: 244px; display: grid; place-items: center; align-content: center; padding: 28px; text-align: center; }
.empty-stitch { width: 54px; height: 54px; display: grid; place-items: center; margin-bottom: 12px; border: 1px dashed var(--powder); border-radius: 50%; color: var(--ink); font: italic 600 24px Playfair Display, serif; background: var(--pale); }
.empty-list p { margin: 5px 0 8px; color: var(--muted); font-size: 11px; }
.invoice-rows { padding: 0 12px 12px; }
.invoice-row { width: 100%; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 14px; min-height: 61px; padding: 11px 10px; border: 0; border-top: 1px solid #eef0f5; color: var(--ink); background: white; text-align: left; cursor: pointer; }
.invoice-row:hover { background: #fafbfe; }
.invoice-row strong,.invoice-row small { display: block; }.invoice-row strong { font-size: 12px; }.invoice-row small { margin-top: 3px; color: var(--muted); font-size: 9px; }.invoice-row b { font: 600 15px Playfair Display,serif; }
.tax-reminder { display: grid; grid-template-columns: 58px 1fr auto; align-items: center; gap: 20px; padding: 22px 24px; background: var(--pale); border-color: #d5e2f7; }
.tax-mark { width: 54px; height: 54px; display: grid; place-items: center; border-radius: 16px; color: white; background: var(--ink); font: 700 15px DM Mono, monospace; }
.tax-reminder h2 { margin: 5px 0; font: 600 20px Playfair Display, serif; }
.tax-reminder p:last-child { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.55; }

.ai-launcher { position: fixed; right: 28px; bottom: 26px; z-index: 35; display: flex; align-items: center; gap: 9px; min-height: 48px; padding: 0 18px; border: 0; border-radius: 24px; color: white; background: var(--ink); box-shadow: 0 12px 30px rgba(7,25,93,.28); font-weight: 750; cursor: pointer; }
.ai-spark { color: #dce8ff; font-size: 19px; }
.ai-panel { position: fixed; inset: 18px 18px 18px auto; z-index: 40; width: min(390px, calc(100vw - 36px)); display: grid; grid-template-rows: auto 1fr auto; border: 1px solid var(--line); border-radius: 24px; background: white; box-shadow: 0 28px 80px rgba(7,25,93,.22); transform: translateX(calc(100% + 40px)); transition: transform .24s ease; overflow: hidden; }
.ai-panel.open { transform: translateX(0); }
.ai-panel header { display: flex; align-items: center; justify-content: space-between; padding: 18px 20px; color: white; background: var(--ink); }
.ai-panel header > div { display: flex; align-items: center; gap: 11px; }.ai-panel header strong,.ai-panel header small { display: block; }.ai-panel header small { margin-top: 2px; color: rgba(255,255,255,.64); font-size: 10px; }
.ai-panel header button { border: 0; color: white; background: transparent; font-size: 25px; cursor: pointer; }
.ai-messages { padding: 22px; overflow: auto; background: #f7f8fb; }
.assistant-message { padding: 16px; border-radius: 4px 16px 16px; background: white; box-shadow: 0 5px 18px rgba(7,25,93,.05); font-size: 13px; line-height: 1.55; }
.assistant-message p { margin: 0 0 8px; }.assistant-message p:last-child { margin: 0; }
.user-message { max-width: 86%; margin: 14px 0 14px auto; padding: 12px 14px; border-radius: 15px 4px 15px 15px; color: white; background: var(--ink); font-size: 12px; line-height: 1.5; }.user-message p { margin:0; }
.ai-block { margin-top: 13px; padding: 12px; border: 1px solid #e1e6ef; border-radius: 12px; background: #fafbfe; }.ai-block h4 { margin: 0 0 7px; font: 600 15px Playfair Display,serif; }.ai-block p { color:var(--muted); font-size:10px; }.ai-block ul { margin:7px 0 0; padding-left:18px; }.ai-block li { margin:5px 0; }.ai-callout { border-color:#d5e2f7; background:var(--pale); }.ai-table-wrap { overflow-x:auto; }.ai-table { width:100%; border-collapse:collapse; font-size:10px; }.ai-table th,.ai-table td { padding:7px 6px; border-bottom:1px solid #e4e8f0; text-align:left; white-space:nowrap; }.ai-table th { color:var(--muted); font-size:8px; text-transform:uppercase; }.ai-chart { display:grid; gap:8px; }.ai-chart > div { display:grid; grid-template-columns:75px 1fr auto; align-items:center; gap:7px; font-size:9px; }.ai-chart i { height:7px; border-radius:8px; background:#e3e8f2; overflow:hidden; }.ai-chart i b { display:block; height:100%; border-radius:inherit; background:var(--ink); }.ai-chart strong { font-size:9px; }.ai-action { width:100%; min-height:39px; margin-top:13px; border:0; border-radius:10px; color:white; background:var(--ink); font-size:10px; font-weight:800; cursor:pointer; }.ai-typing { margin:14px 0; color:var(--muted); font-size:10px; font-style:italic; }
.suggestions { display: grid; gap: 7px; margin-top: 13px; }.suggestions button { padding: 10px 12px; border: 1px solid #dce3f0; border-radius: 11px; color: var(--ink); background: white; text-align: left; font-size: 11px; cursor: pointer; }
.ai-compose { display:grid; grid-template-columns:minmax(0,1fr) 39px 39px; gap:8px; padding:14px; border-top:1px solid var(--line); }
.ai-input-shell { position:relative; min-width:0; }
.ai-compose textarea { width:100%; min-height:42px; max-height:110px; resize:none; padding:11px 13px; border:1px solid var(--line); border-radius:13px; outline:none; transition:border-color .16s ease,box-shadow .16s ease,padding .16s ease; }
.ai-compose textarea:focus { border-color:#9db8e4; box-shadow:0 0 0 3px rgba(184,208,245,.34); }
.ai-compose button { width:39px; height:39px; align-self:end; display:grid; place-items:center; border:0; border-radius:50%; cursor:pointer; }
.ai-send-button { color:white; background:var(--ink); font-size:19px; }
.ai-mic-button { color:var(--ink); background:#edf3fd; transition:color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease; }
.ai-mic-button:hover { background:#dfeafb; transform:translateY(-1px); }
.ai-mic-button:focus-visible { outline:2px solid #8aabe0; outline-offset:2px; }
.ai-mic-button svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.ai-mic-button.is-listening { color:white; background:#b53b54; box-shadow:0 0 0 5px rgba(181,59,84,.13); animation:ai-mic-pulse 1.5s ease-in-out infinite; }
.ai-mic-button.is-unsupported { color:#8a94a8; background:#eef0f4; cursor:help; }
.ai-input-shell.is-listening textarea { padding-bottom:28px; border-color:#d99aaa; box-shadow:0 0 0 3px rgba(181,59,84,.1); }
.ai-voice-status { position:absolute; left:11px; bottom:7px; display:flex; align-items:center; gap:6px; color:#9f2f48; font-size:9px; font-weight:800; letter-spacing:.04em; }
.ai-voice-status[hidden] { display:none; }
.ai-voice-status i { width:6px; height:6px; border-radius:50%; background:#bd3c55; box-shadow:0 0 0 4px rgba(189,60,85,.12); }
@keyframes ai-mic-pulse { 0%,100% { box-shadow:0 0 0 4px rgba(181,59,84,.12); } 50% { box-shadow:0 0 0 8px rgba(181,59,84,.04); } }
.mobile-nav { display: none; }
.nav-badge { min-width:20px;height:20px;display:grid;place-items:center;margin-left:auto;padding:0 5px;border-radius:999px;color:#07195d;background:#b8d0f5;font:800 9px DM Mono,monospace; }
.nav-badge[hidden] { display:none; }
.toast { position: fixed; left: 50%; bottom: 28px; z-index: 100; max-width: min(420px, calc(100vw - 30px)); padding: 12px 17px; border-radius: 12px; color: white; background: var(--ink); box-shadow: var(--shadow); font-size: 12px; opacity: 0; transform: translate(-50%, 15px); pointer-events: none; transition: .2s ease; }.toast.show { opacity: 1; transform: translate(-50%, 0); }

.custom-request-admin-summary { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px; }
.custom-request-admin-summary article { min-height:92px;display:grid;align-content:center;gap:4px;padding:18px 20px;border:1px solid var(--line);border-radius:16px;background:white; }
.custom-request-admin-summary span { color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase; }
.custom-request-admin-summary strong { font:600 29px Playfair Display,serif; }
.custom-request-admin-summary .needs-attention { border-color:#e4b6c0;background:#fff8fa; }
.custom-request-admin-panel .panel-heading p:not(.eyebrow) { max-width:560px;margin:6px 0 0;color:var(--muted);font-size:10px;line-height:1.5; }
.custom-request-admin-list { display:grid;padding:0 14px 14px; }
.custom-request-admin-row { width:100%;display:grid;grid-template-columns:minmax(210px,1.4fr) minmax(70px,.45fr) minmax(100px,.55fr) auto minmax(120px,.8fr) auto;align-items:center;gap:14px;min-height:76px;padding:13px 10px;border:0;border-top:1px solid #edf0f5;color:var(--ink);background:white;text-align:left;cursor:pointer; }
.custom-request-admin-row:hover { background:#f8faff; }
.custom-request-admin-row:focus-visible { outline:3px solid rgba(184,208,245,.85);outline-offset:-3px; }
.custom-request-admin-row b,.custom-request-admin-row small { display:block; }
.custom-request-admin-row small { margin-bottom:3px;color:var(--muted);font-size:8px;font-weight:750;text-transform:uppercase;letter-spacing:.05em; }
.custom-request-admin-primary b { font-size:13px; }
.custom-request-admin-primary small { margin-top:4px;text-transform:none;letter-spacing:0;font-size:9px;font-weight:550; }
.custom-request-admin-flags { display:grid;justify-items:start;gap:4px; }
.custom-request-admin-flags i { color:#5d6c8e;font-size:9px;font-style:normal; }
.custom-request-admin-flags em { color:#973e52;font-size:8px;font-style:normal;font-weight:800; }
.custom-request-detail-head { display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:18px;border-bottom:1px solid var(--line); }
.custom-request-detail-head h3 { margin:5px 0 4px;font:600 29px Playfair Display,serif; }
.custom-request-detail-head span:not(.status-pill) { color:var(--muted);font-size:10px; }
.custom-delivery-alert { margin:18px 0;padding:14px 16px;border:1px solid #e4b6c0;border-left:4px solid #a44659;background:#fff8fa; }
.custom-delivery-alert strong { font-size:11px; }.custom-delivery-alert p { margin:5px 0 10px;color:#814052;font-size:9px;line-height:1.5; }
.custom-delivery-ok { margin:14px 0;color:#47715a;font-size:9px;font-weight:750; }
.custom-request-detail-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:18px 0; }
.custom-request-detail-grid > div { padding:12px;border:1px solid var(--line);border-radius:11px;background:#fafbfe; }
.custom-request-detail-grid small,.custom-request-detail-grid strong { display:block; }.custom-request-detail-grid small { margin-bottom:5px;color:var(--muted);font-size:8px;text-transform:uppercase; }.custom-request-detail-grid strong { font-size:10px; }
.custom-request-detail-idea { margin:18px 0;padding:18px;border-left:4px solid var(--powder);background:var(--pale); }
.custom-request-detail-idea > p:last-child { margin:9px 0 0;white-space:pre-wrap;font-size:11px;line-height:1.65; }
.custom-request-detail-section { margin:22px 0; }.custom-request-detail-section h3 { margin:4px 0 12px;font:600 20px Playfair Display,serif; }
.custom-request-detail-photos { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px; }
.custom-request-detail-photos a { min-width:0;display:grid;border:1px solid var(--line);border-radius:11px;color:var(--ink);background:white;overflow:hidden;text-decoration:none; }
.custom-request-detail-photos img { width:100%;aspect-ratio:1;object-fit:cover;background:var(--pale); }.custom-request-detail-photos span { min-width:0;padding:9px;overflow:hidden;text-overflow:ellipsis;font-size:9px;font-weight:700;white-space:nowrap; }.custom-request-detail-photos small { display:block;margin-top:3px;color:var(--muted);font-size:8px; }
.custom-request-detail-empty { padding:18px;border:1px dashed var(--line);border-radius:11px;color:var(--muted);font-size:9px;text-align:center; }
.custom-request-contact-actions { display:flex;gap:8px;margin:20px 0; }.custom-request-contact-actions > * { display:inline-flex;align-items:center;justify-content:center;text-align:center; }.custom-request-contact-actions a { text-decoration:none; }
.custom-request-owner-fields { margin-top:18px;padding-top:20px;border-top:1px solid var(--line); }
.custom-request-danger { display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:24px;padding-top:16px;border-top:1px solid #efdce1; }.custom-request-danger small { color:var(--muted);font-size:8px; }

@media (max-width: 760px) {
  .custom-request-admin-summary { grid-template-columns:repeat(3,minmax(0,1fr));gap:7px; }
  .custom-request-admin-summary article { min-height:78px;padding:12px; }
  .custom-request-admin-summary span { font-size:7px; }.custom-request-admin-summary strong { font-size:24px; }
  .custom-request-admin-list { padding:0 9px 9px; }
  .custom-request-admin-row { grid-template-columns:minmax(0,1fr) auto;gap:8px;min-height:0;padding:14px 7px; }
  .custom-request-admin-row > span:not(.custom-request-admin-primary):not(.status-pill) { display:none; }
  .custom-request-admin-row .status-pill { grid-column:2;grid-row:1; }
  .custom-request-admin-row > b[aria-hidden] { display:none; }
  .custom-request-admin-primary { min-width:0; }.custom-request-admin-primary b,.custom-request-admin-primary small { overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
  .custom-request-detail-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .custom-request-detail-photos { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .custom-request-contact-actions { align-items:stretch;flex-direction:column; }.custom-request-contact-actions > * { justify-content:center;width:100%; }
  .custom-request-danger { align-items:flex-start;flex-direction:column; }
}

.workflow-dialog { width: min(720px, calc(100vw - 28px)); max-height: min(880px, calc(100vh - 28px)); padding: 0; border: 0; border-radius: 24px; color: var(--ink); background: transparent; box-shadow: 0 30px 90px rgba(7,25,93,.25); overflow: hidden; }
.workflow-dialog::backdrop { background: rgba(4,12,45,.48); backdrop-filter: blur(4px); }
.dialog-card { max-height: min(880px, calc(100vh - 28px)); display: grid; grid-template-rows: auto minmax(0,1fr); background: var(--paper); }
.dialog-head { display: flex; align-items: center; justify-content: space-between; padding: 22px 25px; border-bottom: 1px solid var(--line); background: white; }
.dialog-head h2 { margin: 5px 0 0; font: 600 26px Playfair Display, serif; }
.dialog-head button { width: 38px; height: 38px; border: 0; border-radius: 50%; color: var(--ink); background: var(--pale); font-size: 23px; cursor: pointer; }
#workflowForm { min-height: 0; display: grid; grid-template-rows: minmax(0,1fr) auto; }
.dialog-body { padding: 24px 25px; overflow-y: auto; }
.dialog-foot { display: flex; align-items: center; justify-content: flex-end; gap: 10px; padding: 16px 25px; border-top: 1px solid var(--line); background: white; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 17px; }
.form-grid .wide { grid-column: 1 / -1; }
.field { display: grid; gap: 7px; color: var(--ink); font-size: 11px; font-weight: 750; }
.field small { color: var(--muted); font-weight: 500; line-height: 1.4; }
.field input, .field select, .field textarea { width: 100%; min-height: 45px; padding: 11px 12px; border: 1px solid #d9dfeb; border-radius: 11px; color: var(--ink); background: white; outline: none; }
.field textarea { min-height: 78px; resize: vertical; }
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--ink); box-shadow: 0 0 0 3px rgba(184,208,245,.45); }
.form-note { margin: 0 0 18px; padding: 13px 15px; border-radius: 12px; color: var(--ink-soft); background: var(--pale); font-size: 11px; line-height: 1.55; }
.choice-row { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.choice-row label { display: flex; align-items: center; gap: 9px; min-height: 47px; padding: 10px 12px; border: 1px solid #d9dfeb; border-radius: 11px; background: white; cursor: pointer; }
.choice-row input { min-height: 0; width: auto; }
.invoice-lines { display: grid; gap: 12px; margin-top: 18px; }
.line-card { padding: 16px; border: 1px solid var(--line); border-radius: 15px; background: white; }
.line-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 13px; }.line-head strong { font-size: 12px; }.remove-line { border: 0; color: #9b4055; background: none; font-size: 11px; cursor: pointer; }
.line-grid { display: grid; grid-template-columns: 1fr 100px 130px; gap: 12px; }.line-grid .description { grid-column: 1 / -1; }.line-grid .source { grid-column: span 2; }
.tax-check { display: flex; align-items: center; gap: 8px; align-self: end; min-height: 45px; font-size: 11px; font-weight: 750; }.tax-check input { width: 18px; height: 18px; min-height: 0; }
.add-line { margin-top: 12px; border: 0; color: var(--ink); background: none; font-size: 11px; font-weight: 800; cursor: pointer; }
.invoice-total-box { display: grid; gap: 7px; margin-top: 18px; margin-left: auto; width: min(280px,100%); padding: 16px; border-radius: 14px; background: var(--pale); }.invoice-total-box div { display: flex; justify-content: space-between; font-size: 11px; }.invoice-total-box .grand { padding-top: 8px; border-top: 1px solid #cad9f0; font-size: 14px; font-weight: 800; }
.status-message { margin-right: auto; color: #9b4055; font-size: 11px; font-weight: 650; }
.section-list { display: grid; gap: 10px; }.record-row { display: grid; grid-template-columns: 1.3fr .8fr .7fr auto; align-items: center; gap: 16px; min-height: 68px; padding: 13px 15px; border: 1px solid var(--line); border-radius: 14px; background: white; }.record-row.invoice-record { grid-template-columns:minmax(180px,1.3fr) auto minmax(80px,.55fr) auto minmax(180px,auto); cursor:pointer; transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease; }.record-row.invoice-record:hover { border-color:#b8c9e5; box-shadow:0 9px 24px rgba(7,25,93,.07); transform:translateY(-1px); }.invoice-summary-link { min-width:0;padding:4px 0;border:0;color:var(--ink);background:transparent;text-align:left;cursor:pointer; }.invoice-summary-link:hover strong { text-decoration:underline;text-underline-offset:3px; }.invoice-summary-link:focus-visible { outline:3px solid rgba(184,208,245,.75);outline-offset:3px;border-radius:4px; }.record-row.customer-record { grid-template-columns:minmax(190px,1.3fr) minmax(120px,.7fr) minmax(180px,1fr) auto; cursor:pointer; transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease; }.record-row.customer-record:hover { border-color:#b8c9e5;box-shadow:0 9px 24px rgba(7,25,93,.07);transform:translateY(-1px); }.record-row.customer-record:focus-visible { outline:3px solid rgba(184,208,245,.75);outline-offset:2px; }.customer-summary-link { min-width:0;padding:4px 0;border:0;color:var(--ink);background:transparent;text-align:left;cursor:pointer; }.customer-summary-link strong { font-size:13px; }.customer-summary-link:hover strong { text-decoration:underline;text-underline-offset:3px; }.customer-summary-link:focus-visible { outline:3px solid rgba(184,208,245,.75);outline-offset:3px;border-radius:4px; }.customer-contact { min-width:0;overflow-wrap:anywhere;font-size:11px; }.customer-contact small { margin:0 0 3px !important;font-size:8px !important;font-weight:800;letter-spacing:.06em;text-transform:uppercase; }.record-row.order-row { grid-template-columns: minmax(220px,1.5fr) auto minmax(100px,.6fr) auto auto; }.record-row.job-row { grid-template-columns: minmax(250px,1.5fr) auto minmax(130px,.7fr); }.record-row strong,.record-row small { display: block; }.record-row small { margin-top: 3px; color: var(--muted); font-size: 10px; }.record-row > b { text-align: right; }.record-row .reversal-total { color:#9b4055; font-size:8px; white-space:nowrap; }.invoice-actions { display:flex; flex-wrap:wrap; justify-content:end; gap:6px; }.draft-note { max-width:170px; text-align:right; }.status-pill { justify-self: start; padding: 5px 9px; border-radius: 20px; color: var(--green-ink); background: var(--green); font-size: 9px; font-weight: 800; text-transform: uppercase; }.page-section-head { display:flex; align-items:end; justify-content:space-between; gap:18px; margin-bottom:20px; }.page-section-head h2 { margin:5px 0 0; font:600 30px Playfair Display,serif; }.header-actions { display:flex; gap:9px; }.section-block { margin-bottom:18px; padding-bottom:16px; }.section-block > .section-list { padding:0 16px; }.section-block > .page-empty { margin:0 16px; }.small-action { min-height:34px; padding:0 10px; border:1px solid var(--ink); border-radius:9px; color:var(--ink); background:white; font-size:9px;font-weight:800;cursor:pointer; }.small-action.danger { border-color:#d8a9b3;color:#8e4053;background:#fff8fa; }.mini-select { display:grid;gap:4px;color:var(--muted);font-size:9px; }.mini-select select { min-height:35px;padding:0 9px;border:1px solid var(--line);border-radius:9px;color:var(--ink);background:white; }.attention-text { display:block;margin-top:4px;color:#9b4055;font-size:9px;font-style:normal;font-weight:800; }.page-empty { padding:55px 24px;border:1px dashed #cfd7e6;border-radius:18px;color:var(--muted);text-align:center;background:white; }.report-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:14px; }.report-card { min-height:160px;padding:22px;border:1px solid var(--line);border-radius:18px;background:white; }.report-card h3 { margin:8px 0;font:600 20px Playfair Display,serif; }.report-card p { color:var(--muted);font-size:11px;line-height:1.55; }
.reversal-explainer { margin:0 0 18px; padding:16px; border:1px solid #c8d9f2; border-radius:14px; background:var(--pale); }.reversal-explainer strong { font:600 17px Playfair Display,serif; }.reversal-explainer p { margin:7px 0 0; color:var(--ink-soft); font-size:11px; line-height:1.55; }.tax-check[hidden] { display:none; }
.report-card .text-action + .text-action { margin-left: 10px; }.report-filter { display:flex; align-items:end; gap:8px; }.report-filter label { display:grid; gap:4px; color:var(--muted); font-size:9px; font-weight:750; }.report-filter input { min-height:38px; padding:0 9px; border:1px solid var(--line); border-radius:9px; color:var(--ink); background:white; }.report-filter .secondary-action { min-height:38px; }.report-detail,.tax-source-panel { margin-top: 18px; overflow: hidden; }.report-detail .panel-heading > span,.tax-source-panel .panel-heading > span { color: var(--muted); font: 500 10px DM Mono,monospace; }.tax-source-table,.dr15-table { border-top: 1px solid var(--line); }.tax-source-table > div,.dr15-table > div { display: grid; grid-template-columns: minmax(240px,1.5fr) repeat(4,minmax(100px,.65fr)); align-items: center; min-height: 52px; padding: 0 22px; border-bottom: 1px solid #edf0f5; font-size: 11px; }.tax-source-table > div > span:not(:first-child),.dr15-table > div > span,.dr15-table > div > b:not(:first-child) { text-align: right; }.tax-source-table small { display:block; margin-top:3px; color:var(--muted); font-size:9px; }.tax-source-table .mobile-label { display:none; }.tax-source-head,.dr15-head { min-height: 42px !important; color: var(--muted); background: #f7f8fb; font-size: 9px !important; text-transform: uppercase; }.tax-source-total,.dr15-total { background: var(--pale); }.report-caution { margin: 0; padding: 15px 22px; color: var(--muted); background: #fafbfc; font-size: 10px; line-height: 1.5; }
.visit-site { display:inline-grid; place-items:center; min-height:47px; padding:0 18px; border-radius:12px; color:var(--ink); font-size:11px; font-weight:750; text-decoration:none; }
.website-intro { max-width:750px; margin:-7px 0 20px; color:var(--muted); font-size:11px; line-height:1.6; }
.website-product-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; padding:0 16px; }
.website-product-card { min-width:0; display:grid; grid-template-columns:82px minmax(0,1fr); gap:14px; padding:14px; border:1px solid var(--line); border-radius:15px; background:#fff; }
.website-product-image { grid-row:span 2; min-height:102px; display:grid; place-items:center; border-radius:12px; color:rgba(7,25,93,.45); background:var(--pale); background-size:cover; background-position:center; font:italic 600 29px Playfair Display,serif; overflow:hidden; }
.website-product-image.p2 { background-color:var(--sand); }.website-product-image.p3 { background-color:#d9e8f6; }
.website-product-copy { min-width:0; }.website-product-copy h3 { margin:8px 0 3px; font:600 17px Playfair Display,serif; }.website-product-copy p,.website-product-copy small { display:block; margin:0; color:var(--muted); font-size:9px; line-height:1.4; }.website-product-copy small { margin-top:7px; }.status-pill.inactive { color:#7d4753; background:#f5dfe4; }
.website-product-price { display:flex; align-items:end; justify-content:space-between; gap:8px; }.website-product-price b { font:600 15px Playfair Display,serif; }
.website-copy-panel { margin-top:18px; overflow:hidden; }.website-copy-panel > .panel-heading small,.section-block > .panel-heading small { color:var(--muted); font-size:9px; }
.website-copy-form { border-top:1px solid var(--line); }.website-copy-form fieldset { margin:0; padding:21px 24px 24px; border:0; border-bottom:1px solid var(--line); }.website-copy-form legend { padding:0; font:600 18px Playfair Display,serif; }.website-copy-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:15px; }.website-copy-grid .wide { grid-column:1 / -1; }.website-save-row { position:sticky; bottom:0; display:flex; align-items:center; justify-content:space-between; gap:15px; padding:14px 24px; background:rgba(255,255,255,.96); box-shadow:0 -7px 20px rgba(7,25,93,.04); }.website-save-row span { color:var(--muted); font-size:10px; }
.website-drafts-panel { margin-bottom:18px; border-color:#a9c3ed; background:#f5f9ff; }
.website-history { display:grid; gap:0; padding:0 16px 16px; }
.website-history article { min-height:62px; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:12px 8px; border-top:1px solid var(--line); }
.website-history article:first-child { border-top:0; }
.website-history strong,.website-history small { display:block; }
.website-history small { margin-top:4px; color:var(--muted); font-size:9px; }
.website-history .small-action { display:inline-flex; align-items:center; text-decoration:none; white-space:nowrap; }
.website-draft-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:6px; }
.website-draft-actions .primary { color:white; background:var(--ink); }
.website-draft-actions .cancel { border-color:transparent; color:#8e4053; }
.website-history-panel { margin-top:18px; overflow:hidden; }
.ai-website-proposal { margin-top:13px; padding:14px; border:1px solid #aec5e8; border-radius:13px; background:#f6f9ff; }
.ai-website-proposal h4 { margin:8px 0; font:600 16px Playfair Display,serif; }
.ai-website-proposal ul { margin:8px 0 12px; padding-left:18px; color:#425171; }
.ai-website-proposal li { margin:5px 0; }
.ai-draft-badge { display:inline-block; padding:4px 7px; border-radius:20px; color:#294b79; background:#dceaff; font-size:8px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.ai-confirmation-note { padding:9px; border-radius:9px; color:#7b4c13; background:#fff1cf; }
.ai-proposal-actions { display:grid; grid-template-columns:1fr 1fr; gap:7px; }
.ai-proposal-actions a,.ai-proposal-actions button { min-height:34px; display:flex; align-items:center; justify-content:center; padding:7px 8px; border:1px solid var(--ink); border-radius:9px; color:var(--ink); background:white; font:800 9px Inter,sans-serif; text-align:center; text-decoration:none; cursor:pointer; }
.ai-proposal-actions button[data-website-publish] { color:white; background:var(--ink); }
.ai-proposal-actions button[data-website-cancel] { border-color:transparent; color:#8e4053; background:transparent; }
.ai-workspace-proposal { margin-top:12px; padding:14px; border:1px solid #c8d7ed; border-radius:15px; background:linear-gradient(150deg,#fff,#eef5ff); box-shadow:0 10px 24px rgba(7,25,93,.08); }
.ai-workspace-proposal > h4 { margin:10px 0 8px; font:600 17px "Playfair Display",serif; }
.ai-workspace-proposal > p { display:grid; gap:3px; margin:10px 0; }
.ai-workspace-proposal > p small { color:#71819d; font-size:8px; font-weight:800; letter-spacing:.11em; }
.ai-workspace-proposal > p strong { overflow-wrap:anywhere; font-size:11px; line-height:1.45; }
.ai-draft-copy { max-height:210px; overflow:auto; margin:12px 0; padding:12px; border-left:3px solid #bdd1f4; color:#394968; background:rgba(255,255,255,.75); font-size:11px; line-height:1.55; }
.ai-draft-copy p { margin:0 0 9px; }.ai-draft-copy p:last-child { margin-bottom:0; }
.ai-workspace-proposal .ai-proposal-actions { grid-template-columns:1fr 1fr; }
.ai-workspace-proposal [data-workspace-open] { grid-column:1 / -1; color:white; border-color:var(--ink); background:var(--ink); }
.ai-workspace-proposal [data-workspace-cancel] { color:#8e4053; border-color:transparent; background:transparent; }

@media (max-width: 980px) {
  .sidebar { width: 204px; }.workspace { margin-left: 204px; }.metrics { grid-template-columns: repeat(2, 1fr); }.dashboard-grid { grid-template-columns: 1fr; }
}

@media (max-width: 720px) {
  body { padding-bottom: calc(76px + env(safe-area-inset-bottom)); }
  .sidebar { display: none; }.workspace { margin-left: 0; }
  .topbar { height: 79px; padding: 12px 18px; }.topbar h1 { font-size: 24px; }.icon-button { display: none; }
  .page { padding: 25px 16px 44px; }.welcome-row { align-items: center; margin-bottom: 20px; }.welcome-row h2 { font-size: 29px; }.welcome-row .soft { display: none; }.welcome-row .primary-action { width: 47px; min-width: 47px; padding: 0; font-size: 0; }.welcome-row .primary-action span { margin: 0; font-size: 24px; }
  .metrics { grid-template-columns: 1fr 1fr; gap: 10px; }.metric-card { min-height: 126px; padding: 17px 15px; border-radius: 17px; }.metric-card strong { font-size: 24px; }.metric-card span { line-height: 1.35; }.metric-card p { margin-bottom: 10px; }
  .dashboard-grid { gap: 14px; }.panel { border-radius: 18px; }.panel-heading { padding: 20px 18px 14px; }.panel-heading h2 { font-size: 21px; }.quick-actions { padding: 0 7px 8px; }.quick-actions > button { min-height: 69px; padding: 12px 8px; }
  .tax-reminder { grid-template-columns: 48px 1fr; padding: 18px; }.tax-mark { width: 46px; height: 46px; border-radius: 13px; }.tax-reminder .secondary-action { grid-column: 1 / -1; width: 100%; }.tax-reminder h2 { font-size: 18px; }
  .mobile-nav { position: fixed; inset: auto 0 0; z-index: 30; height: calc(69px + env(safe-area-inset-bottom)); display: grid; grid-template-columns: repeat(7, 1fr); align-items: start; padding: 8px 4px env(safe-area-inset-bottom); border-top: 1px solid var(--line); background: rgba(255,255,255,.97); box-shadow: 0 -10px 30px rgba(7,25,93,.06); }.mobile-nav button { min-width:0; display: grid; place-items: center; gap: 3px; padding:0 1px; border: 0; color: #5b6783; background: transparent; font-size: 8px; font-weight: 750; }.mobile-nav button span { font: 600 17px DM Mono, monospace; }.mobile-nav button.active { color: var(--ink); }.mobile-nav .mobile-create { width: 46px; height: 46px; justify-self: center; margin-top: -24px; border: 5px solid var(--paper); border-radius: 50%; color: white; background: var(--ink); box-shadow: 0 6px 18px rgba(7,25,93,.24); }.mobile-nav .mobile-create span { font-size: 24px; }
  .ai-launcher { right: 16px; bottom: calc(84px + env(safe-area-inset-bottom)); width: 47px; min-height: 47px; justify-content: center; padding: 0; }.ai-launcher > span:last-child { display: none; }
  .ai-panel { inset: 0; width: 100%; border: 0; border-radius: 0; padding-bottom: env(safe-area-inset-bottom); }
  .workflow-dialog { width: 100%; max-width: none; max-height: 100%; height: 100%; border-radius: 0; }.dialog-card { max-height: 100vh; height: 100%; padding-bottom: env(safe-area-inset-bottom); }.dialog-head { padding: 18px; }.dialog-body { padding: 20px 17px; }.dialog-foot { padding: 13px 17px; }.form-grid { grid-template-columns: 1fr; }.form-grid .wide { grid-column: auto; }.line-grid { grid-template-columns: 1fr 1fr; }.line-grid .description,.line-grid .source { grid-column: 1 / -1; }.choice-row { grid-template-columns: 1fr; }.header-actions,.report-filter { width:100%; }.header-actions > button,.header-actions > a { flex:1; }.report-filter { display:grid; grid-template-columns:1fr 1fr; }.report-filter .secondary-action { grid-column:1 / -1; }.page-section-head { align-items:stretch; flex-direction:column; }.record-row,.record-row.invoice-record,.record-row.order-row,.record-row.job-row { grid-template-columns: 1fr auto; gap:8px; }.record-row .status-pill { grid-column:1; }.record-row > b { grid-column:2; grid-row:1; }.record-row .small-action,.record-row .mini-select { grid-column:1 / -1; width:100%; }.record-row .mini-select select { width:100%; }.invoice-actions { grid-column:1 / -1; display:grid; grid-template-columns:1fr 1fr; }.draft-note { grid-column:1 / -1; max-width:none; text-align:left; }.report-grid { grid-template-columns:1fr; }.report-detail { overflow-x:auto; }.dr15-table { min-width:760px; }.tax-source-panel { overflow:hidden; }.tax-source-table { min-width:0; }.tax-source-head { display:none !important; }.tax-source-table > div { grid-template-columns:1fr 1fr; gap:13px 18px; min-height:0; padding:18px; }.tax-source-table .tax-source-name { grid-column:1 / -1; }.tax-source-table .tax-number { text-align:left !important; }.tax-source-table .mobile-label { display:block; margin:0 0 4px; font-size:8px; font-weight:800; text-transform:uppercase; }.website-product-grid { grid-template-columns:1fr; }.website-copy-form fieldset { padding:18px; }.website-copy-grid { grid-template-columns:1fr; }.website-copy-grid .wide { grid-column:auto; }.website-save-row { align-items:stretch; flex-direction:column; padding:13px 18px; }.website-save-row .primary-action { width:100%; }
  .toast { bottom: calc(84px + env(safe-area-inset-bottom)); }
}

@media (max-width: 390px) {
  .metrics { grid-template-columns: 1fr; }.metric-card { min-height: 108px; }.metric-card span { display: none; }.website-product-card { grid-template-columns:70px minmax(0,1fr); }.website-product-image { min-height:92px; }
}

/* Premium brand system and accessible type scale. */
.mobile-studio-brand { display:none; }
.studio-brand img { width:132px; padding:6px 8px; border:1px solid rgba(255,255,255,.28); border-radius:11px; background:white; filter:none; }
.studio-brand span { font-size:11px; }
.nav-item { min-height:48px; font-size:14px; }
.eyebrow { font-size:11px; }
.metric-card p,.sidebar-foot a,.sidebar-foot button,.text-action,.soft { font-size:13px; }
.metric-card span,.quick-actions small,.empty-list p,.invoice-row small,.tax-reminder p:last-child,.website-intro,.report-card p,.form-note,.field,.record-row small { font-size:12px; }
.field input,.field select,.field textarea { font-size:14px; }
.small-action,.mini-select,.attention-text,.status-pill { font-size:12px; }
.status-pill { letter-spacing:.025em; }
.status-pill.is-success { color:#246144; background:#dff3e6; }
.status-pill.is-warning { color:#805c16; background:#fff0c9; }
.status-pill.is-danger { color:#8b3f54; background:#f8e2e8; }
.status-pill.is-neutral { color:#586581; background:#edf0f5; }
.ai-launcher img { width:30px; height:30px; margin-left:-9px; border-radius:50%; }
.figgy-mark { width:38px; height:38px; border-radius:50%; }
.ai-table { font-size:12px; }
.ai-table th { font-size:11px; }
.ai-chart > div,.ai-chart strong,.ai-typing { font-size:12px; }
.suggestions button,.ai-action { font-size:13px; }
.mobile-nav .mobile-create em { font:750 11px Manrope,sans-serif; font-style:normal; }

@media (max-width: 720px) {
  body { padding-bottom:calc(88px + env(safe-area-inset-bottom)); }
  .topbar { height:86px; display:grid; grid-template-columns:auto 1fr auto; gap:12px; }
  .mobile-studio-brand { width:86px; display:block; }
  .mobile-studio-brand img { display:block; width:100%; height:auto; }
  .topbar > div:first-of-type .eyebrow { display:none; }
  .topbar h1 { margin:0; font-size:20px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .mobile-nav { height:calc(78px + env(safe-area-inset-bottom)); grid-template-columns:repeat(5,1fr); padding:9px 10px env(safe-area-inset-bottom); }
  .mobile-nav button { gap:5px; font-size:11px; }
  .mobile-nav button span { font-size:19px; }
  .mobile-nav .mobile-create { width:52px; height:52px; display:grid; align-content:center; gap:0; margin-top:-28px; }
  .mobile-nav .mobile-create span { line-height:22px; }
  .mobile-nav .mobile-create em { position:absolute; top:55px; color:var(--ink); }
  .ai-launcher { bottom:calc(94px + env(safe-area-inset-bottom)); }
  .toast { bottom:calc(94px + env(safe-area-inset-bottom)); }
  .metrics { grid-template-columns:1fr 1fr; }
  .metric-card { min-height:118px; }
}

@media (max-width: 390px) {
  .metrics { grid-template-columns:1fr 1fr; }
  .metric-card { min-height:116px; }
  .metric-card span { display:block; }
}

/* Stage 2: guided, low-anxiety workflows. */
.sales-tools { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:0 16px 16px; }
.sales-search { flex:1; }
.sales-search input { width:100%; min-height:44px; padding:0 14px; border:1px solid var(--line); border-radius:12px; color:var(--ink); background:#fafbfe; font-size:13px; }
.status-tabs,.preview-switch { display:flex; gap:5px; padding:4px; border-radius:12px; background:#f0f3f8; }
.status-tabs button,.preview-switch button { min-height:36px; padding:0 12px; border:0; border-radius:9px; color:var(--muted); background:transparent; font-size:12px; font-weight:750; cursor:pointer; }
.status-tabs button.active,.preview-switch button.active { color:var(--ink); background:white; box-shadow:0 3px 12px rgba(7,25,93,.08); }
.filtered-empty { margin:8px 16px 20px; padding:24px; border-radius:14px; color:var(--muted); background:#f7f8fb; text-align:center; }
.workflow-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:0; margin:0 0 20px; padding:0; list-style:none; }
.workflow-steps li { position:relative; display:flex; align-items:center; gap:8px; color:var(--muted); font-size:12px; font-weight:750; }
.workflow-steps li:not(:last-child)::after { content:""; height:1px; flex:1; margin-right:8px; background:var(--line); }
.workflow-steps b,.workflow-section-title > span { width:28px; height:28px; display:grid; place-items:center; flex:0 0 auto; border-radius:50%; color:var(--muted); background:#edf0f5; font-size:12px; }
.workflow-steps li.active { color:var(--ink); }.workflow-steps li.active b,.workflow-section-title > span { color:white; background:var(--ink); }
.workflow-section-title { display:flex; align-items:center; gap:11px; margin:24px 0 13px; }
.workflow-section-title strong,.workflow-section-title small { display:block; }.workflow-section-title strong { font:600 18px Playfair Display,serif; }.workflow-section-title small { margin-top:2px; color:var(--muted); font-size:11px; }
.source-choice { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin:0; padding:0; border:0; }
.source-choice legend { margin-bottom:8px; font-size:11px; font-weight:750; }
.source-choice label { position:relative; display:block; min-height:76px; padding:13px; border:1px solid #d9dfeb; border-radius:12px; background:white; cursor:pointer; }
.source-choice input { position:absolute; opacity:0; }
.source-choice label:has(input:checked) { border-color:var(--ink); background:var(--pale); box-shadow:0 0 0 2px rgba(184,208,245,.45); }
.source-choice strong,.source-choice small { display:block; }.source-choice strong { font-size:12px; }.source-choice small { margin-top:4px; color:var(--muted); font-size:10px; line-height:1.35; }
.advanced-settings { margin-top:12px; padding:12px 14px; border:1px dashed #cbd4e4; border-radius:12px; background:#fafbfe; }
.advanced-settings summary { color:var(--muted); font-size:11px; font-weight:750; cursor:pointer; }
.advanced-settings[open] summary { margin-bottom:12px; color:var(--ink); }
.tax-advanced { margin:12px 0 0; }
.invoice-total-box { width:min(340px,100%); padding:19px; box-shadow:0 10px 28px rgba(7,25,93,.08); }
.invoice-total-box div { font-size:13px; }.invoice-total-box .grand { font-size:17px; }
.production-card { margin-top:18px; padding:16px; border:1px solid #b8d0f5; border-radius:15px; background:#f5f9ff; }
.production-toggle { display:flex; align-items:flex-start; gap:11px; cursor:pointer; }.production-toggle input { width:19px; height:19px; margin-top:2px; }.production-toggle strong,.production-toggle small { display:block; }.production-toggle strong { font-size:13px; }.production-toggle small { margin-top:4px; color:var(--muted); font-size:11px; line-height:1.4; }.production-fields { margin-top:16px; padding-top:16px; border-top:1px solid #d4e1f4; }.production-fields[hidden] { display:none; }
.payment-settings-section { display:grid; gap:10px; margin-bottom:24px; }.payment-settings-section .workflow-section-title { margin-top:4px; }.payment-method-setting { display:grid; grid-template-columns:auto auto 1fr; align-items:center; gap:12px; min-height:72px; padding:14px 16px; border:1px solid var(--line); border-radius:15px; background:white; cursor:pointer; }.payment-method-setting > input { position:absolute; width:1px; height:1px; opacity:0; }.payment-method-setting strong,.payment-method-setting small { display:block; }.payment-method-setting strong { font-size:13px; }.payment-method-setting small { margin-top:4px; color:var(--muted); font-size:10px; line-height:1.45; }.payment-method-card { border-color:#b8d0f5; background:#f5f9ff; }.setting-switch { width:43px; height:24px; position:relative; border-radius:999px; background:#cbd2df; transition:.2s ease; }.setting-switch::after { content:""; width:18px; height:18px; position:absolute; top:3px; left:3px; border-radius:50%; background:white; box-shadow:0 2px 6px rgba(7,25,93,.2); transition:.2s ease; }.payment-method-setting input:checked + .setting-switch { background:var(--ink); }.payment-method-setting input:checked + .setting-switch::after { transform:translateX(19px); }.payment-method-setting:has(input:focus-visible) { outline:3px solid rgba(90,133,205,.35); outline-offset:2px; }.payment-method-details { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:-3px 0 6px; padding:15px; border:1px solid #e1e6ef; border-radius:0 0 15px 15px; background:#fafbfe; }.payment-qr-upload { min-height:96px; display:flex; align-items:center; gap:12px; padding:11px; border:1px dashed #a9bad7; border-radius:13px; background:white; cursor:pointer; }.payment-qr-upload > input { position:absolute; width:1px; height:1px; opacity:0; }.payment-qr-upload strong,.payment-qr-upload small { display:block; }.payment-qr-upload strong { font-size:11px; }.payment-qr-upload small { margin-top:4px; color:var(--muted); font-size:9px; line-height:1.4; }.payment-qr-preview { width:68px; height:68px; display:grid; place-items:center; flex:0 0 auto; overflow:hidden; border-radius:10px; color:var(--ink); background:var(--pale); }.payment-qr-preview img { width:100%; height:100%; object-fit:contain; background:white; }
.connection-setting { grid-template-columns:auto 1fr; cursor:default; }
.delivery-choice { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; margin:18px 0 0; padding:0; border:0; }.delivery-choice legend { grid-column:1/-1; margin-bottom:8px; font-size:12px; font-weight:800; }.delivery-choice label { position:relative; min-height:92px; padding:14px; border:1px solid var(--line); border-radius:13px; background:white; cursor:pointer; }.delivery-choice input { position:absolute; opacity:0; }.delivery-choice label:has(input:checked) { border-color:var(--ink); background:var(--pale); box-shadow:0 0 0 2px rgba(184,208,245,.45); }.delivery-choice strong,.delivery-choice small { display:block; }.delivery-choice strong { font-size:12px; }.delivery-choice small { margin-top:5px; color:var(--muted); font-size:10px; line-height:1.4; }.delivery-choice label.is-disabled { opacity:.58; cursor:not-allowed; background:#f5f6f8; }
.order-more { position:relative; }.order-more summary { min-height:45px; display:grid; place-items:center; padding:0 14px; border:1px solid var(--line); border-radius:11px; background:white; font-size:11px; font-weight:800; cursor:pointer; list-style:none; }.order-more summary::-webkit-details-marker { display:none; }.order-more > div { position:absolute; z-index:12; top:51px; right:0; width:180px; padding:7px; border:1px solid var(--line); border-radius:12px; background:white; box-shadow:0 14px 34px rgba(7,25,93,.16); }.order-more button { width:100%; min-height:40px; padding:0 10px; border:0; border-radius:8px; color:var(--ink); background:white; text-align:left; font-size:11px; font-weight:750; cursor:pointer; }.order-more button:hover { background:var(--pale); }
.receipt-capture { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:14px; margin-bottom:18px; padding:17px; border:1px dashed #9bb5dd; border-radius:15px; background:var(--pale); }
.receipt-icon { width:48px; height:48px; display:grid; place-items:center; border-radius:13px; color:white; background:var(--ink); font-size:22px; }
.receipt-capture strong { font:600 17px Playfair Display,serif; }.receipt-capture p { margin:4px 0 0; color:var(--muted); font-size:11px; line-height:1.45; }
.receipt-capture label { display:grid; place-items:center; min-height:42px; white-space:nowrap; cursor:pointer; }.receipt-capture input { position:absolute; width:1px; height:1px; opacity:0; }
.receipt-capture > span { grid-column:2 / -1; color:var(--muted); font-size:11px; }
.website-preview-panel { margin-bottom:18px; overflow:hidden; }
.website-preview-frame { display:flex; justify-content:center; height:540px; padding:14px; border-top:1px solid var(--line); background:#e8edf5; transition:.25s ease; }
.website-preview-frame iframe { width:100%; height:100%; border:0; border-radius:12px; background:white; box-shadow:0 10px 35px rgba(7,25,93,.12); }
.website-preview-frame.phone iframe { width:390px; max-width:100%; }
.mobile-more-grid { display:grid; grid-template-columns:1fr 1fr; gap:11px; }
.mobile-more-grid button { min-height:120px; display:grid; place-items:start; align-content:center; gap:4px; padding:16px; border:1px solid var(--line); border-radius:15px; color:var(--ink); background:white; text-align:left; cursor:pointer; }
.mobile-more-grid button > span { font:600 22px DM Mono,monospace; }.mobile-more-grid strong,.mobile-more-grid small { display:block; }.mobile-more-grid strong { font-size:14px; }.mobile-more-grid small { color:var(--muted); font-size:11px; line-height:1.4; }
.dialog-foot button { min-height:46px; white-space:nowrap; font-size:13px; }
.secondary-action:is(a) { display:inline-grid; place-items:center; color:var(--ink); text-decoration:none; }
.invoice-detail-banner { display:flex; align-items:center; justify-content:space-between; gap:18px; margin:-4px 0 18px; padding:20px; border-radius:18px; color:white; background:linear-gradient(135deg,#07195d,#24458b); box-shadow:0 15px 32px rgba(7,25,93,.15); }.invoice-detail-banner > div { display:grid; grid-template-columns:auto 1fr; align-items:center; gap:8px 10px; }.invoice-detail-banner .status-pill { grid-row:1 / 3; color:var(--ink); background:white; }.invoice-detail-banner strong,.invoice-detail-banner small { display:block; }.invoice-detail-banner strong { font:600 20px Playfair Display,serif; }.invoice-detail-banner small { color:#dbe6fa; font-size:10px; }.invoice-detail-banner > b { font:600 26px Playfair Display,serif; white-space:nowrap; }
.draft-safe-note,.posted-safe-note { margin:0 0 18px; padding:14px 16px; border:1px solid #bdd3f2; border-radius:14px; background:#eff5fd; }.posted-safe-note { border-color:#ddcfae; background:#fff8e9; }.draft-safe-note strong,.posted-safe-note strong { font:600 16px Playfair Display,serif; }.draft-safe-note p,.posted-safe-note p { margin:5px 0 0; color:var(--ink-soft); font-size:11px; line-height:1.5; }
.invoice-detail-actions { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:18px; }.invoice-detail-actions .secondary-action { min-height:41px; padding:0 13px; font-size:10px; }
.invoice-detail-section { margin-top:14px; padding:18px; border:1px solid var(--line); border-radius:17px; background:white; }.invoice-detail-heading { display:flex; align-items:end; justify-content:space-between; gap:14px; margin-bottom:13px; }.invoice-detail-heading h3 { margin:4px 0 0; font:600 19px Playfair Display,serif; }.invoice-detail-heading > span { color:var(--muted); font:500 9px DM Mono,monospace; }.invoice-item-table > div { display:grid; grid-template-columns:1fr auto auto; align-items:center; gap:14px; padding:12px 0; border-top:1px solid #eef0f5; font-size:11px; }.invoice-item-table strong,.invoice-item-table small { display:block; }.invoice-item-table small { margin-top:3px; color:var(--muted); font-size:9px; }.invoice-item-table > div > span:nth-child(2) { color:var(--muted); }.invoice-item-table b { min-width:75px; text-align:right; }
.invoice-detail-totals { width:min(310px,100%); display:grid; gap:8px; margin:13px 0 0 auto; padding:14px 0 0; border-top:1px solid var(--line); }.invoice-detail-totals span { display:flex; justify-content:space-between; color:var(--muted); font-size:11px; }.invoice-detail-totals b { color:var(--ink); }.invoice-detail-totals .grand { padding-top:9px; border-top:1px solid var(--line); color:var(--ink); font-size:14px; font-weight:800; }
.connected-job { padding:15px; border-radius:13px; background:var(--pale); }.connected-job strong,.connected-job small { display:block; }.connected-job small { margin-top:4px; color:var(--muted); font-size:10px; }.connected-job p { margin:11px 0 0; padding-top:11px; border-top:1px solid #cfddf1; color:var(--ink-soft); font-size:11px; line-height:1.5; }
.invoice-history { display:grid; }.invoice-history-row { display:grid; grid-template-columns:32px 1fr auto; align-items:center; gap:10px; min-height:54px; border-top:1px solid #eef0f5; }.invoice-history-icon { width:28px;height:28px;display:grid;place-items:center;border-radius:50%;color:var(--ink);background:var(--pale);font-weight:800; }.invoice-history-row strong,.invoice-history-row small { display:block; }.invoice-history-row strong { font-size:11px; }.invoice-history-row small { margin-top:3px;color:var(--muted);font-size:9px; }.invoice-history-row b { font-size:11px; }.invoice-history-empty { padding:18px;border:1px dashed #ccd5e4;border-radius:12px;color:var(--muted);background:#fafbfc;text-align:center;font-size:11px; }.danger-outline { border-color:#d4a8b3;color:#8e4053;background:#fff9fa; }.finalize-draft { border-color:#7397ce;background:var(--pale); }

@media (max-width:720px) {
  .delivery-choice { grid-template-columns:1fr; }.delivery-choice label { min-height:76px; }
  .order-more { flex:1; }.order-more summary { width:100%; }.order-more > div { right:auto; left:0; width:100%; }
  .sales-tools { align-items:stretch; flex-direction:column; }
  .status-tabs { width:100%; overflow-x:auto; }.status-tabs button { flex:1; min-width:max-content; }
  .source-choice { grid-template-columns:1fr; }.source-choice label { min-height:64px; }
  .receipt-capture { grid-template-columns:auto 1fr; }.receipt-capture label { grid-column:1 / -1; }.receipt-capture > span { grid-column:1 / -1; }
  .website-preview-frame { height:500px; padding:8px; }.preview-switch button { padding:0 9px; }
  .dialog-foot { display:grid; grid-template-columns:1fr 1fr; gap:8px; }.dialog-foot .status-message { grid-column:1 / -1; }.dialog-foot button:last-child { grid-column:1 / -1; }
  .invoice-detail-banner { align-items:flex-start; }.invoice-detail-banner > b { font-size:21px; }.invoice-detail-actions { display:grid;grid-template-columns:1fr 1fr; }.invoice-item-table > div { grid-template-columns:1fr auto; }.invoice-item-table > div > span:nth-child(2) { grid-column:1; }.invoice-item-table b { grid-column:2;grid-row:1 / 3; }.invoice-detail-heading { align-items:flex-start;flex-direction:column; }
  .payment-method-details { grid-template-columns:1fr; }
}

/* Conversation-first Website Studio: a large canvas with Figgy beside or above it. */
.website-studio-active .page { width:min(1540px,100%); padding-right:24px; padding-left:24px; }
.website-builder-workspace { display:grid; grid-template-columns:minmax(0,1fr) 350px; align-items:start; gap:18px; margin-bottom:20px; }
.website-preview-panel { min-width:0; overflow:hidden; }
.website-preview-panel .panel-heading { align-items:center; }
.website-preview-panel .panel-heading h2 { font-size:24px; }
.website-preview-panel .panel-heading small { max-width:600px; }
.website-preview-controls { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:8px; }
.preview-fullscreen-button,.preview-figgy-button { min-height:44px; padding:0 14px; border:1px solid #c8d5e8; border-radius:11px; color:var(--ink); background:white; font-size:11px; font-weight:800; white-space:nowrap; cursor:pointer; }
.preview-fullscreen-button:hover,.preview-figgy-button:hover { border-color:var(--ink); box-shadow:0 6px 16px rgba(7,25,93,.08); }
.preview-fullscreen-button span { margin-right:5px; font-size:16px; }
.preview-figgy-button { display:none; color:white; border-color:var(--ink); background:var(--ink); }
.website-preview-frame { height:800px; }
.website-builder-rail { min-width:0; display:grid; gap:16px; position:sticky; top:18px; }
.website-assistant-host { min-height:650px; }
.website-studio-active #aiLauncher { display:none; }
.website-assistant-host .ai-panel.website-embedded,
.website-assistant-host .ai-panel.website-embedded[data-dock="left"],
.website-assistant-host .ai-panel.website-embedded[data-dock="right"],
.website-assistant-host .ai-panel.website-embedded[data-dock="bottom"],
.website-assistant-host .ai-panel.website-embedded[data-dock="floating"] { position:relative; inset:auto; z-index:1; width:100%; min-width:0; max-width:none; height:650px; min-height:650px; max-height:none; border-radius:20px; opacity:1; transform:none; pointer-events:auto; box-shadow:0 18px 45px rgba(7,25,93,.12); }
.ai-panel.website-embedded header { padding:16px 18px; }
.ai-panel.website-embedded .ai-window-actions,.ai-panel.website-embedded .ai-resize-handle { display:none; }
.ai-panel.website-embedded .ai-messages { padding:16px; }
.ai-panel.website-embedded .assistant-message.welcome { padding:15px; }
.ai-panel.website-embedded .assistant-message.welcome .ai-welcome-mark,.ai-panel.website-embedded .suggestions { display:none; }
.ai-panel.website-embedded .assistant-message.welcome > p strong { font-size:17px; }
.ai-panel.website-embedded .assistant-message.welcome > p:last-child { font-size:11px; line-height:1.55; }
.ai-panel.website-embedded .ai-compose { padding:11px; }
.ai-compose.website-compose { grid-template-columns:minmax(0,1fr) 39px 39px 39px; }
.ai-attach-button { color:var(--ink); background:#edf3fd; transition:color .16s ease,background .16s ease,transform .16s ease; }
.ai-attach-button:hover,.ai-attach-button.active { color:white; background:var(--ink); transform:translateY(-1px); }
.ai-attach-button svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.ai-attachment-tray { position:absolute; right:12px; bottom:76px; left:12px; z-index:7; max-height:calc(100% - 96px); overflow:hidden; border:1px solid #c8d5e8; border-radius:18px; background:white; box-shadow:0 22px 55px rgba(7,25,93,.25); }
.ai-attachment-head { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 15px; color:white; background:var(--ink); }
.ai-attachment-head strong,.ai-attachment-head small { display:block; }.ai-attachment-head strong { font-size:13px; }.ai-attachment-head small { margin-top:2px; color:#d3def2; font-size:9px; }
.ai-attachment-head button { width:32px; height:32px; flex:0 0 auto; border:0; border-radius:50%; color:white; background:rgba(255,255,255,.1); font-size:21px; cursor:pointer; }
.ai-attachment-content { max-height:430px; overflow:auto; }
.ai-attachment-content .website-media-toolbar { padding:10px; border:0; }
.ai-attachment-content .website-media-toolbar > div { display:none; }
.ai-attachment-content .website-photo-upload { width:100%; min-height:42px; display:grid; place-items:center; text-align:center; }
.ai-attachment-content .website-media-grid { grid-template-columns:1fr 1fr; gap:8px; padding:0 10px 10px; }
.ai-attachment-content .website-media-card { grid-template-rows:94px auto auto; gap:7px; padding:7px; border-radius:12px; }
.ai-attachment-content .website-media-card img { height:94px; border-radius:8px; }
.ai-attachment-content .page-empty { min-height:180px; padding:18px; }
.website-media-card.selected { border-color:#4d79bd; box-shadow:0 0 0 3px rgba(184,208,245,.55); }
.website-media-card.selected button { color:white; background:var(--ink); }
.website-store-manager { margin-bottom:18px; overflow:hidden; }
.website-store-manager .panel-heading { align-items:flex-end; }
.website-store-manager .panel-heading > div:first-child p:last-child { max-width:620px; margin:8px 0 0; color:var(--muted); font-size:12px; }
.website-store-manager .panel-heading > div:last-child { display:flex; align-items:center; gap:12px; }
.website-store-manager .website-product-grid { padding:0 20px 22px; }
.website-safety-history { margin-bottom:18px; border:1px solid var(--line); border-radius:16px; background:white; }
.website-safety-history > summary { padding:17px 20px; color:var(--muted); font-size:12px; font-weight:750; cursor:pointer; }
.website-safety-history .website-history { padding:0 18px 18px; }

body.website-preview-fullscreen { overflow:hidden; }
body.website-preview-fullscreen .website-builder-workspace { position:fixed; inset:0; z-index:1000; display:block; margin:0; padding:0; background:#e8edf5; }
body.website-preview-fullscreen .website-preview-panel { width:100%; height:100%; display:grid; grid-template-rows:auto minmax(0,1fr); border:0; border-radius:0; box-shadow:none; }
body.website-preview-fullscreen .website-preview-panel .panel-heading { min-height:88px; padding:15px 24px; background:rgba(255,255,255,.97); box-shadow:0 5px 22px rgba(7,25,93,.08); }
body.website-preview-fullscreen .website-preview-panel .panel-heading h2 { margin-top:3px; font-size:21px; }
body.website-preview-fullscreen .website-preview-frame { height:auto; min-height:0; padding:12px; border:0; }
body.website-preview-fullscreen .website-preview-frame iframe { border-radius:10px; box-shadow:0 8px 30px rgba(7,25,93,.15); }
body.website-preview-fullscreen .preview-figgy-button { display:block; }
body.website-preview-fullscreen .website-builder-rail { position:static; }
body.website-preview-fullscreen .website-assistant-host { min-height:0; }
body.website-preview-fullscreen .website-assistant-host .ai-panel.website-embedded[data-dock="floating"] { position:fixed; inset:var(--ai-y,104px) auto auto var(--ai-x,calc(100vw - 434px)); z-index:1050; width:var(--ai-width,410px); min-width:330px; max-width:calc(100vw - 16px); height:var(--ai-height,650px); min-height:320px; max-height:calc(100vh - 16px); border-radius:22px; opacity:0; transform:scale(.97); pointer-events:none; box-shadow:0 28px 85px rgba(7,25,93,.32); }
body.website-preview-fullscreen .website-assistant-host .ai-panel.website-embedded[data-dock="floating"].open { opacity:1; transform:scale(1); pointer-events:auto; }
body.website-preview-fullscreen .website-assistant-host .ai-panel.website-embedded[data-dock="floating"].expanded { inset:16px; width:calc(100vw - 32px); max-width:none; height:calc(100vh - 32px); max-height:none; }
body.website-preview-fullscreen .ai-panel.website-embedded .ai-window-actions { display:flex; }
body.website-preview-fullscreen .ai-panel.website-embedded .ai-window-actions [data-ai-dock] { display:none; }
body.website-preview-fullscreen .ai-panel.website-embedded .ai-resize-handle { display:block; }
body.website-preview-fullscreen .ai-panel.website-embedded.expanded .ai-resize-handle { display:none; }
body.website-preview-fullscreen .ai-panel.website-embedded #aiDragHandle { cursor:move; }

@media(max-width:1180px) {
  .website-builder-workspace { grid-template-columns:minmax(0,1fr) 330px; }
  .website-preview-frame { height:700px; }
}

/* Approved Blue Thread Atelier guidance and product readiness. */
.threadline-brief { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr); gap:24px; align-items:center; margin-bottom:18px; padding:24px 26px; border:1px solid #bdd1f4; border-left:5px solid #0c1757; border-radius:18px; color:#0c1757; background:linear-gradient(130deg,#fff,#f2f6fd); box-shadow:0 12px 32px rgba(12,23,87,.07); }
.threadline-brief h2 { margin:2px 0 7px; font:750 25px/1.1 Manrope,sans-serif; letter-spacing:-.035em; }
.threadline-brief p:not(.eyebrow) { max-width:760px; margin:0; color:#53617e; font-size:12px; line-height:1.6; }
.threadline-actions { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:8px; }
.threadline-actions button { min-height:40px; padding:8px 11px; border:1px solid #bdd1f4; border-radius:10px; color:#0c1757; background:white; font-size:10px; font-weight:800; cursor:pointer; }
.threadline-actions button:hover { color:white; border-color:#0c1757; background:#0c1757; }
.product-status-row { display:flex; align-items:center; flex-wrap:wrap; gap:6px; }
.product-readiness { padding:5px 7px; border-radius:999px; font-size:8px; font-weight:800; line-height:1; }
.product-readiness.ready { color:#12613f; background:#dbf0e5; }
.product-readiness.needs-work { color:#8a4c1c; background:#f8ead8; }
.product-readiness-note { margin:14px 0 20px; padding:13px 15px; border-radius:12px; color:#52617f; background:#edf3fb; font-size:11px; line-height:1.55; }
.product-readiness-note.ready { color:#17583e; background:#e0f1e7; }
.product-readiness-note.needs-work { color:#784516; background:#fbeddc; }
.product-detail-guide { padding:14px 15px; border-left:3px solid #bdd1f4; background:#f2f6fd; }
.product-detail-guide strong,.product-detail-guide p { display:block; margin:0; }
.product-detail-guide strong { font-size:12px; }
.product-detail-guide p { margin-top:4px; color:var(--muted); font-size:10px; }

@media(max-width:900px) {
  .threadline-brief { grid-template-columns:1fr; }
  .threadline-actions { justify-content:flex-start; }
}
@media(max-width:980px) {
  .website-builder-workspace { grid-template-columns:1fr; }
  .website-builder-rail { position:static; }
  .website-assistant-host,.website-assistant-host .ai-panel.website-embedded { min-height:500px; height:500px; }
}
@media(max-width:720px) {
  .website-builder-workspace { gap:12px; }
  .website-builder-rail { grid-template-columns:1fr; }
  .website-preview-panel .panel-heading { align-items:flex-start; }
  .website-preview-panel .panel-heading h2 { font-size:21px; }
  .website-preview-frame { height:500px; }
  .website-assistant-host,.website-assistant-host .ai-panel.website-embedded { min-height:520px; height:520px; }
  .website-preview-controls { width:100%; justify-content:flex-start; }
  .website-store-manager .panel-heading { align-items:stretch; }
  .website-store-manager .panel-heading > div:last-child { align-items:stretch; flex-direction:column; }
  .website-store-manager .website-product-grid { padding:0 12px 16px; }
}

/* Stage 3: premium financial visuals and Figgy presentation. */
.dashboard-insights { display:grid; grid-template-columns:1.25fr .9fr; gap:20px; margin-bottom:20px; }
.insight-card { min-width:0; overflow:hidden; }
.chart-key { display:flex; align-items:center; gap:6px; color:var(--muted); font-size:11px; }.chart-key i { width:9px; height:9px; border-radius:3px; background:var(--ink); }.chart-key i:nth-of-type(2) { margin-left:7px; background:var(--powder); }
.trend-chart { height:165px; display:grid; grid-template-columns:repeat(6,1fr); align-items:end; gap:10px; padding:5px 24px 0; }
.trend-column { height:100%; display:grid; grid-template-rows:1fr auto; gap:8px; text-align:center; }.trend-column > span { color:var(--muted); font:500 10px DM Mono,monospace; }
.trend-bars { height:100%; display:flex; align-items:end; justify-content:center; gap:4px; border-bottom:1px solid var(--line); }.trend-bars i { width:13px; min-height:3px; border-radius:5px 5px 2px 2px; background:var(--ink); }.trend-bars i.expenses { background:var(--powder); }
.chart-summary { margin:16px 24px 22px; padding:11px 13px; border-radius:11px; color:var(--ink-soft); background:var(--pale); font-size:12px; line-height:1.5; }
.insight-total { font:600 22px Playfair Display,serif; }
.aging-chart { display:grid; grid-template-columns:130px 1fr; align-items:center; gap:20px; padding:4px 24px 0; }
.aging-donut,.tax-donut { width:126px; aspect-ratio:1; display:grid; place-items:center; border-radius:50%; }.aging-donut::before,.tax-donut::before { content:""; grid-area:1/1; width:72%; aspect-ratio:1; border-radius:50%; background:white; }.aging-donut span,.tax-donut span { z-index:1; grid-area:1/1; display:grid; text-align:center; font:600 19px Playfair Display,serif; }.aging-donut small,.tax-donut small { margin-top:2px; color:var(--muted); font:600 9px Manrope,sans-serif; text-transform:uppercase; }
.aging-legend { display:grid; gap:10px; }.aging-legend div { display:grid; grid-template-columns:10px 1fr auto; align-items:center; gap:8px; font-size:11px; }.aging-legend i { width:9px; height:9px; border-radius:3px; }.aging-legend b { font-size:11px; }
.report-visuals { display:grid; grid-template-columns:1.15fr 1fr .9fr; gap:14px; margin-bottom:18px; }.report-visual { min-width:0; overflow:hidden; }.report-visual .panel-heading strong { font:600 20px Playfair Display,serif; }.report-visual .positive { color:var(--green-ink); }.report-visual .negative { color:#9b4055; }
.comparison-bars,.category-bars { display:grid; gap:13px; padding:4px 22px 10px; }.comparison-bars > div,.category-bars > div { display:grid; grid-template-columns:80px 1fr auto; align-items:center; gap:10px; font-size:11px; }.comparison-bars i,.category-bars i { height:10px; border-radius:8px; background:#edf0f5; overflow:hidden; }.comparison-bars i b,.category-bars i b { display:block; height:100%; border-radius:inherit; background:var(--ink); }.comparison-bars i b.expense { background:var(--powder); }.comparison-bars strong,.category-bars strong { font-size:11px; }
.category-bars { padding-bottom:22px; }.category-bars > div { grid-template-columns:minmax(90px,1fr) 1fr auto; }.category-bars span { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }.category-bars i b { background:#759ad3; }.chart-empty { color:var(--muted); font-size:12px; }
.purchase-guide { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-bottom:18px; }.purchase-guide article { display:flex; gap:13px; padding:17px; border:1px solid var(--line); border-radius:18px; background:linear-gradient(145deg,#fff,#f5f8fd); }.purchase-guide article > span { display:grid; place-items:center; flex:0 0 30px; height:30px; border-radius:50%; color:#fff; background:var(--ink); font:700 11px "DM Mono",monospace; }.purchase-guide strong,.purchase-guide p { display:block; margin:0; }.purchase-guide strong { font-size:13px; }.purchase-guide p { margin-top:5px; color:var(--muted); font-size:11px; line-height:1.5; }.status-pill.is-attention { color:#74520b; background:#fff0bd; }.asset-row > span:nth-child(3) { display:grid; gap:3px; }.asset-row > span:nth-child(3) small { color:var(--muted); font-size:9px; }.asset-purchase-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin:4px 0 0; padding:18px; border:1px solid #a9bde0; border-radius:17px; background:#f2f6fc; }.asset-purchase-fields legend { padding:0 8px; color:var(--ink); font-family:"Playfair Display",serif; font-size:19px; font-weight:700; }.asset-explainer { grid-column:1/-1; padding:13px 15px; border-radius:12px; color:#17376f; background:#dfeafb; }.asset-explainer strong,.asset-explainer p { margin:0; }.asset-explainer p { margin-top:4px; font-size:11px; line-height:1.5; }.asset-note { margin:15px 20px 20px; padding:13px 15px; border-radius:12px; background:#f3f6fb; }.page-empty.compact { min-height:auto; padding:30px 20px; }
.expense-record { cursor:pointer; transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease; }
.expense-record:hover { border-color:#b8c9e5; box-shadow:0 9px 24px rgba(7,25,93,.07); transform:translateY(-1px); }
.expense-record:focus-visible { border-color:#8da9d6; outline:3px solid rgba(184,208,245,.7); outline-offset:3px; }
.custom-category-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin:4px 0 0; padding:18px; border:1px solid #b7c8e4; border-radius:17px; background:#f8faff; }
.custom-category-fields[hidden] { display:none; }
.custom-category-fields .wide { grid-column:1/-1; }
.custom-category-fields legend { padding:0 8px; color:var(--ink); font:700 19px "Playfair Display",serif; }
.custom-category-explainer { grid-column:1/-1; padding:13px 15px; border-radius:12px; color:#17376f; background:#e7f0ff; }
.custom-category-explainer strong,.custom-category-explainer p { margin:0; }.custom-category-explainer p { margin-top:4px; font-size:11px; line-height:1.5; }

/* Accountant report builder. */
.report-header-actions { display:flex; align-items:end; gap:10px; }
.accountant-card { border-color:#a9c3ed; background:linear-gradient(145deg,#fff,#f4f8ff); }
.accountant-card > .secondary-action { margin-top:8px; }
.accountant-card details { margin-top:15px; padding-top:12px; border-top:1px solid var(--line); }
.accountant-card summary { color:var(--muted); font-size:11px; font-weight:750; cursor:pointer; }
.accountant-card details div { display:flex; flex-wrap:wrap; gap:7px 12px; margin-top:10px; }
.accountant-card details .text-action { margin:0; }
.report-builder .workflow-steps { margin-bottom:18px; }
.report-builder > .field select { min-height:54px; font-size:15px; font-weight:700; }
.report-date-fields .form-note { margin:0; }
.is-muted-date { opacity:.62; }
.report-format-choice { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; margin:0; padding:0; border:0; }
.report-format-choice label { position:relative; min-height:104px; padding:15px; border:1px solid #d9dfeb; border-radius:14px; background:white; cursor:pointer; }
.report-format-choice input { position:absolute; opacity:0; }
.report-format-choice label:has(input:checked) { border-color:var(--ink); background:var(--pale); box-shadow:0 0 0 2px rgba(184,208,245,.45); }
.report-format-choice label.is-disabled { opacity:.48; cursor:not-allowed; }
.report-format-choice span,.report-format-choice strong,.report-format-choice small { display:block; }
.report-format-choice b { width:42px; height:27px; display:grid; place-items:center; margin-bottom:9px; border-radius:7px; color:white; background:var(--ink); font:700 10px DM Mono,monospace; }
.report-format-choice strong { font-size:12px; }.report-format-choice small { margin-top:4px; color:var(--muted); font-size:10px; line-height:1.35; }
.report-preview-button { width:100%; margin-top:14px; }
.report-preview-card { margin-top:12px; padding:18px; border:1px solid #b8cce9; border-radius:17px; background:#fff; box-shadow:0 10px 28px rgba(7,25,93,.06); }
.report-preview-loading,.report-preview-error { min-height:84px; display:grid; place-items:center; color:var(--muted); font-size:12px; text-align:center; }
.report-preview-error { color:#8e4053; background:#fff8fa; border-radius:12px; }
.report-preview-head { display:flex; align-items:start; justify-content:space-between; gap:14px; }
.report-preview-head h3 { margin:4px 0; font:600 22px Playfair Display,serif; }.report-preview-head small { color:var(--muted); font-size:10px; }
.report-preview-highlights { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin:15px 0; }
.report-preview-highlights article { min-width:0; padding:12px; border-radius:12px; background:var(--pale); }
.report-preview-highlights small,.report-preview-highlights strong { display:block; }.report-preview-highlights small { color:var(--muted); font-size:9px; }.report-preview-highlights strong { margin-top:5px; font:600 16px Playfair Display,serif; }
.report-check { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:8px; margin:9px 0; padding:10px 12px; border-radius:11px; background:#eaf6ee; font-size:10px; }
.report-check > span { width:22px; height:22px; display:grid; place-items:center; border-radius:50%; color:white; background:#347253; }.report-check small { color:#347253; }.report-check.needs-review { background:#fff2d5; }.report-check.needs-review > span { background:#9a6710; }.report-check.needs-review small { color:#805c16; }
.report-sheet-list { display:flex; flex-wrap:wrap; gap:6px; margin:12px 0; }.report-sheet-list span { padding:6px 8px; border-radius:8px; color:#315c47; background:#eaf6ee; font-size:9px; font-weight:750; }
.report-preview-table { max-height:265px; overflow:auto; border:1px solid var(--line); border-radius:12px; }
.report-preview-table table { width:100%; border-collapse:collapse; background:white; font-size:9px; }
.report-preview-table th { position:sticky; top:0; z-index:1; padding:9px; color:white; background:var(--ink); text-align:left; white-space:nowrap; }
.report-preview-table td { padding:8px 9px; border-bottom:1px solid #edf0f5; white-space:nowrap; }
.report-preview-table th:not(:first-child),.report-preview-table td:not(:first-child) { text-align:right; }
.report-preview-table tr.section td { color:var(--ink); background:var(--pale); font-weight:800; text-align:left; }
.report-preview-table tr.total td { border-top:1px solid var(--ink); font-weight:800; }.report-preview-table tr.grandTotal td { color:white; background:var(--ink); font-weight:800; }.report-preview-table tr.check td { background:#fff2d5; font-weight:800; }
.preview-row-note { display:block; margin-top:8px; color:var(--muted); font-size:9px; }

@media (max-width:720px) {
  .report-header-actions { width:100%; align-items:stretch; flex-direction:column; }
  .report-header-actions > .primary-action { width:100%; }
  .report-format-choice { grid-template-columns:1fr; }
  .report-format-choice label { min-height:76px; }
  .report-format-choice span { display:grid; grid-template-columns:auto 1fr; column-gap:12px; align-items:center; }
  .report-format-choice b { grid-row:1 / 3; margin:0; }
  .report-format-choice small { grid-column:2; }
  .report-preview-highlights { grid-template-columns:1fr 1fr; }
  .report-preview-highlights article:last-child:nth-child(odd) { grid-column:1 / -1; }
}
.expense-detail-banner { display:flex; align-items:center; justify-content:space-between; gap:18px; margin:-4px 0 18px; padding:20px; border-radius:18px; color:white; background:linear-gradient(135deg,#07195d,#24458b); box-shadow:0 15px 32px rgba(7,25,93,.15); }
.expense-detail-banner > div { display:grid; grid-template-columns:auto 1fr; align-items:center; gap:6px 10px; }.expense-detail-banner .status-pill { grid-row:1/3; color:var(--ink); background:white; }
.expense-detail-banner strong,.expense-detail-banner small { display:block; }.expense-detail-banner strong { font:600 20px "Playfair Display",serif; }.expense-detail-banner small { color:#dbe6fa; font-size:10px; }.expense-detail-banner > b { font:600 26px "Playfair Display",serif; white-space:nowrap; }
.customer-detail-banner { display:flex;align-items:center;justify-content:space-between;gap:18px;margin:-4px 0 18px;padding:20px;border-radius:18px;color:white;background:linear-gradient(135deg,#07195d,#24458b);box-shadow:0 15px 32px rgba(7,25,93,.15); }
.customer-detail-banner > div { display:grid;grid-template-columns:auto 1fr;align-items:center;gap:6px 10px; }.customer-detail-banner .status-pill { grid-row:1/3;color:var(--ink);background:white; }.customer-detail-banner strong,.customer-detail-banner small { display:block; }.customer-detail-banner strong { font:600 20px "Playfair Display",serif; }.customer-detail-banner small { color:#dbe6fa;font-size:10px; }.customer-detail-banner > b { font:600 23px "Playfair Display",serif;text-align:right;white-space:nowrap; }.customer-detail-banner > b small { margin-top:4px;font:700 8px Manrope,sans-serif;letter-spacing:.06em;text-transform:uppercase; }.customer-detail-banner .customer-clear { padding:7px 10px;border:1px solid rgba(255,255,255,.35);border-radius:999px;font:800 9px Manrope,sans-serif;letter-spacing:.05em;text-transform:uppercase; }
.locked-accounting-note { grid-column:1/-1; margin:0; padding:12px 14px; border:1px solid #efd497; border-radius:11px; color:#74520b; background:#fff8e4; font-size:11px; line-height:1.5; }
.bank-feed-panel { overflow:hidden; border-color:#b6c7e5; box-shadow:0 12px 35px rgba(7,25,93,.07); }.bank-feed-heading small { display:block; margin-top:5px; color:var(--muted); }.bank-feed-note { margin:0 20px 16px; padding:14px 16px; border-radius:13px; color:#17376f; background:#eaf1fc; }.bank-feed-note strong,.bank-feed-note p { margin:0; }.bank-feed-note p { margin-top:4px; font-size:11px; line-height:1.55; }.bank-feed-list { border-top:1px solid var(--line); }.bank-feed-row { display:grid; grid-template-columns:minmax(180px,1fr) auto auto auto; align-items:center; gap:14px; padding:14px 20px; border-bottom:1px solid var(--line); }.bank-feed-row:last-child { border-bottom:0; }.bank-feed-row > span:first-child { display:grid; gap:3px; }.bank-feed-row small { color:var(--muted); font-size:10px; }.bank-feed-row b { min-width:80px; text-align:right; }.bank-feed-row .bank-credit { color:#28704b; }.bank-feed-row.needs-attention { background:#fff7e8; }.bank-warning { color:#9a5219 !important; }.bank-connect-empty { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:24px 20px; border-top:1px solid var(--line); }.bank-connect-empty strong,.bank-connect-empty p { margin:0; }.bank-connect-empty p { margin-top:5px; color:var(--muted); font-size:11px; }.bank-feed-error { margin:0 20px 14px; padding:10px 12px; border-radius:10px; color:#8c2b2b; background:#fff0f0; font-size:11px; }.bank-transaction-banner { margin-top:0; }.bank-match-field { padding:13px; border:1px solid var(--line); border-radius:12px; background:#f7f9fc; }
.tax-split { display:grid; grid-template-columns:118px 1fr; align-items:center; gap:14px; padding:0 22px 24px; }.tax-donut { width:112px; }.tax-donut span { font-size:15px; }.tax-split > div:last-child { display:grid; gap:12px; }.tax-split p { display:grid; grid-template-columns:9px 1fr; gap:7px; margin:0; color:var(--muted); font-size:10px; }.tax-split p i { width:9px; height:9px; border-radius:3px; background:var(--ink); }.tax-split p:nth-child(2) i { background:var(--powder); }.tax-split p b { grid-column:2; color:var(--ink); font-size:12px; }
.ai-panel.expanded { width:min(760px,calc(100vw - 36px)); }
.ai-window-actions { display:flex; align-items:center; gap:3px; }.ai-window-actions button { width:34px; height:34px; display:grid; place-items:center; border-radius:50%; }.ai-window-actions button:hover { background:rgba(255,255,255,.12); }
.assistant-message.welcome { padding:20px; border-radius:18px; }.assistant-message.welcome > p strong { font:600 19px Playfair Display,serif; }.ai-welcome-mark { width:46px; height:46px; display:block; margin-bottom:13px; }.ai-welcome-mark img { width:100%; height:100%; }
.suggestions { grid-template-columns:1fr; }.suggestions button { min-height:64px; display:grid; grid-template-columns:38px 1fr; align-items:center; gap:2px 11px; padding:11px; border-radius:14px; }.suggestions button > span { width:38px; height:38px; grid-row:1 / 3; display:grid; place-items:center; border-radius:11px; color:var(--ink); background:var(--pale); font:700 12px DM Mono,monospace; }.suggestions button strong,.suggestions button small { display:block; }.suggestions button strong { font-size:13px; }.suggestions button small { color:var(--muted); font-size:11px; }
.ai-block { padding:15px; border-radius:15px; }.ai-block h4 { font-size:17px; }.ai-block p,.ai-block li { font-size:12px; line-height:1.5; }.ai-table th,.ai-table td { padding:9px 8px; }.ai-chart > div { grid-template-columns:100px 1fr auto; gap:9px; }.ai-chart i { height:9px; }

@media (max-width:980px) {
  .dashboard-insights,.report-visuals { grid-template-columns:1fr; }
}

/* AI-first visual website studio. */
.website-ai-intro { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:20px; margin-bottom:18px; padding:25px; border-radius:22px; color:white; background:linear-gradient(125deg,#07195d,#183a83); box-shadow:0 18px 50px rgba(7,25,93,.16); }
.website-ai-mark { width:58px; height:58px; display:grid; place-items:center; border-radius:18px; background:white; }.website-ai-mark img { width:46px; height:46px; }
.website-ai-intro h2 { margin:3px 0 6px; font:600 27px Playfair Display,serif; }.website-ai-intro p { margin:0; max-width:700px; color:#d9e4f8; line-height:1.55; }.website-ai-intro .eyebrow { color:#aecaef; }
.website-mode-shell { display:grid; gap:12px; margin-bottom:18px; }
.website-mode-switch { display:grid; grid-template-columns:1fr 1fr; gap:10px; padding:8px; border:1px solid var(--line); border-radius:20px; background:#f2f5fa; }
.website-mode-switch button { min-height:84px; display:grid; grid-template-columns:44px 1fr; grid-template-rows:auto auto; align-content:center; gap:3px 12px; padding:14px 17px; border:1px solid transparent; border-radius:14px; color:var(--muted); background:transparent; text-align:left; cursor:pointer; }
.website-mode-switch button > span { width:44px; height:44px; grid-row:1 / 3; display:grid; place-items:center; border-radius:13px; color:var(--ink); background:white; font:700 17px DM Mono,monospace; }
.website-mode-switch button strong { color:var(--ink); font-size:14px; }.website-mode-switch button small { font-size:10px; }
.website-mode-switch button.active { border-color:#b8cbee; background:white; box-shadow:0 9px 24px rgba(7,25,93,.08); }
.website-mode-switch button.active > span { color:white; background:var(--ink); }
.website-builder-starters { display:grid; grid-template-columns:minmax(220px,1fr) repeat(3,auto); align-items:center; gap:10px; padding:17px 18px; border:1px solid #d8e3f5; border-radius:18px; background:#edf4ff; }
.website-builder-starters > div strong,.website-builder-starters > div small { display:block; }.website-builder-starters > div strong { margin-top:4px; font:600 18px Playfair Display,serif; }.website-builder-starters > div small { margin-top:4px; color:var(--muted); font-size:9px; }
.website-builder-starters > button { min-height:45px; padding:0 14px; border:1px solid #bfd0eb; border-radius:12px; color:var(--ink); background:white; font-size:11px; font-weight:750; cursor:pointer; }
.website-builder-starters > button:hover { border-color:var(--ink); }
.website-focus-help { display:flex; align-items:center; gap:12px; padding:15px 18px; border:1px solid #d8e3f5; border-radius:16px; background:#edf4ff; }.website-focus-help span { color:var(--muted); font-size:11px; }
.website-preview-panel .panel-heading > div:first-child small { display:block; margin-top:6px; color:#6680ae; font-size:11px; }
.website-media-panel { overflow:hidden; }.website-media-toolbar { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:22px; border-bottom:1px solid var(--line); }.website-media-toolbar strong,.website-media-toolbar small { display:block; }.website-media-toolbar strong { font:600 22px Playfair Display,serif; }.website-media-toolbar small { max-width:560px; margin-top:4px; color:var(--muted); font-size:11px; line-height:1.5; }
.website-photo-upload { position:relative; cursor:pointer; white-space:nowrap; }.website-photo-upload input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.website-media-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; padding:18px; }.website-media-grid > .page-empty { grid-column:1 / -1; }
.website-media-card { min-width:0; display:grid; grid-template-rows:150px auto auto; gap:10px; padding:10px; border:1px solid var(--line); border-radius:16px; background:white; }.website-media-card img { width:100%; height:150px; object-fit:cover; border-radius:11px; background:var(--pale); }.website-media-card span,.website-media-card strong,.website-media-card small { min-width:0; display:block; }.website-media-card strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:11px; }.website-media-card small { margin-top:3px; color:var(--muted); font-size:9px; }.website-media-card button { width:100%; }
.website-manual-tools { margin:18px 0; border:1px dashed #b8c5da; border-radius:18px; background:#f7f9fc; }.website-manual-tools > summary { padding:18px 22px; color:#50617f; font-weight:750; cursor:pointer; }.website-manual-tools > p { margin:0; padding:0 22px 18px; color:var(--muted); font-size:11px; }.website-manual-tools > .panel { margin:0 16px 16px; }

.ai-panel { min-width:330px; min-height:320px; max-width:calc(100vw - 36px); max-height:calc(100vh - 36px); resize:none; }
.ai-panel[data-dock="left"] { inset:18px auto 18px 18px; transform:translateX(calc(-100% - 40px)); }
.ai-panel[data-dock="left"].open { transform:translateX(0); }
.ai-panel[data-dock="bottom"] { inset:auto 18px 18px; width:calc(100vw - 36px); height:var(--ai-height,360px); resize:none; transform:translateY(calc(100% + 40px)); }
.ai-panel[data-dock="bottom"].open { transform:translateY(0); }
.ai-panel[data-dock="floating"] { inset:var(--ai-y,90px) auto auto var(--ai-x,calc(100vw - 430px)); width:var(--ai-width,390px); height:var(--ai-height,620px); resize:none; transform:scale(.96); opacity:0; pointer-events:none; }
.ai-panel[data-dock="floating"].open { transform:scale(1); opacity:1; pointer-events:auto; }
.ai-panel[data-dock="bottom"].expanded { height:calc(100vh - 36px); width:calc(100vw - 36px); }
.ai-panel[data-dock="floating"].expanded { inset:18px; width:calc(100vw - 36px); height:calc(100vh - 36px); }
.ai-panel #aiDragHandle { touch-action:none; }.ai-panel[data-dock="floating"] #aiDragHandle { cursor:move; }
.ai-panel.resizing { transition:none; user-select:none; }
.ai-resize-handle { position:absolute; z-index:4; width:26px; height:26px; padding:0; border:0; background:transparent; touch-action:none; opacity:.66; transition:opacity .16s ease,background .16s ease; }
.ai-resize-handle::after { content:""; position:absolute; width:9px; height:9px; border-color:currentColor; border-style:solid; }
.ai-resize-handle:hover,.ai-resize-handle:focus-visible { opacity:1; background:rgba(184,208,245,.18); outline:none; }
.ai-resize-handle.nw { top:2px; left:2px; color:#fff; cursor:nwse-resize; }.ai-resize-handle.nw::after { top:6px; left:6px; border-width:2px 0 0 2px; }
.ai-resize-handle.ne { top:2px; right:2px; color:#fff; cursor:nesw-resize; }.ai-resize-handle.ne::after { top:6px; right:6px; border-width:2px 2px 0 0; }
.ai-resize-handle.sw { bottom:2px; left:2px; color:var(--ink); cursor:nesw-resize; }.ai-resize-handle.sw::after { bottom:6px; left:6px; border-width:0 0 2px 2px; }
.ai-resize-handle.se { right:2px; bottom:2px; color:var(--ink); cursor:nwse-resize; }.ai-resize-handle.se::after { right:6px; bottom:6px; border-width:0 2px 2px 0; }
.ai-panel.expanded .ai-resize-handle { display:none; }
.ai-context { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:9px 14px; border-top:1px solid #c8d8ef; color:#173773; background:#edf5ff; font-size:11px; font-weight:750; }.ai-context button { width:26px; height:26px; border:0; border-radius:50%; color:var(--ink); background:white; cursor:pointer; }

@media(max-width:1000px) {
  .website-media-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .website-ai-intro { grid-template-columns:auto 1fr; }.website-ai-intro > button { grid-column:1 / -1; }
  .website-builder-starters { grid-template-columns:1fr 1fr; }.website-builder-starters > div { grid-column:1 / -1; }
}
@media(max-width:760px) {
  .website-ai-intro { grid-template-columns:1fr; padding:20px; }.website-ai-mark { width:50px; height:50px; }.website-ai-intro h2 { font-size:23px; }.website-ai-intro > button { grid-column:auto; width:100%; }
  .website-media-toolbar { align-items:stretch; flex-direction:column; }.website-media-grid { grid-template-columns:1fr 1fr; gap:9px; padding:10px; }.website-media-card { grid-template-rows:120px auto auto; }.website-media-card img { height:120px; }
  .website-mode-switch { grid-template-columns:1fr; }.website-builder-starters { grid-template-columns:1fr; }.website-builder-starters > div { grid-column:auto; }.website-focus-help { align-items:flex-start; flex-direction:column; }
  .ai-panel,.ai-panel[data-dock="left"],.ai-panel[data-dock="right"],.ai-panel[data-dock="bottom"],.ai-panel[data-dock="floating"] { inset:0; width:100%; min-width:0; max-width:none; height:100%; min-height:0; max-height:none; border:0; border-radius:0; resize:none; transform:translateY(105%); opacity:1; }
  .ai-panel.open,.ai-panel[data-dock="left"].open,.ai-panel[data-dock="right"].open,.ai-panel[data-dock="bottom"].open,.ai-panel[data-dock="floating"].open { transform:none; }
  .ai-window-actions [data-ai-dock],#expandAi { display:none; }
  .ai-resize-handle { display:none; }
}

@media (max-width:720px) {
  .purchase-guide { grid-template-columns:1fr; gap:9px; }
  .bank-feed-heading { align-items:flex-start; }.bank-feed-heading .header-actions { width:100%; }.bank-feed-heading .header-actions button { flex:1; }.bank-feed-row { grid-template-columns:1fr auto; gap:8px 12px; }.bank-feed-row > span:first-child { grid-column:1/-1; }.bank-feed-row b { min-width:0; text-align:left; }.bank-feed-row button { justify-self:end; }.bank-connect-empty { align-items:flex-start; flex-direction:column; }
  .purchase-guide article { padding:14px; }
  .asset-purchase-fields,.custom-category-fields { grid-template-columns:1fr; padding:14px; }.custom-category-fields .wide { grid-column:auto; }
  .expense-detail-banner,.customer-detail-banner { align-items:flex-start;padding:17px; }.expense-detail-banner > b,.customer-detail-banner > b { font-size:21px; }
  .record-row.customer-record { grid-template-columns:1fr auto; }.customer-record .customer-summary-link { grid-column:1; }.customer-record .customer-contact { grid-column:1 / -1;padding-top:8px;border-top:1px solid #eef1f6; }.customer-record > b { grid-column:2;grid-row:1; }
  .asset-row > span:nth-child(3) { display:none; }
  .dashboard-insights { grid-template-columns:1fr; gap:14px; }
  .trend-chart { height:145px; padding-inline:16px; }.chart-summary { margin-inline:18px; }
  .aging-chart { grid-template-columns:110px 1fr; padding-inline:18px; }.aging-donut { width:105px; }
  .report-visuals { grid-template-columns:1fr; }.tax-split { grid-template-columns:108px 1fr; }
  .ai-panel.expanded { width:100%; }
  #expandAi { display:none; }
}

.product-photo-fieldset { min-width:0; padding:16px; border:1px solid var(--line); border-radius:15px; }
.product-photo-fieldset legend { padding:0 7px; color:var(--ink); font-weight:800; }
.product-photo-fieldset legend small { margin-left:8px; color:var(--muted); font-weight:600; }
.product-photo-fieldset > p,.product-photo-empty p { margin:0 0 12px; color:var(--muted); font-size:11px; line-height:1.5; }
.product-photo-choices { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; max-height:340px; overflow:auto; }
.product-photo-choice { position:relative; min-width:0; padding:6px; border:1px solid var(--line); border-radius:12px; background:white; cursor:pointer; }
.product-photo-choice input { position:absolute; top:10px; right:10px; z-index:1; width:19px; height:19px; accent-color:var(--ink); }
.product-photo-choice img { width:100%; height:105px; display:block; border-radius:8px; object-fit:cover; background:var(--pale); }
.product-photo-choice span { display:block; overflow:hidden; margin-top:6px; color:var(--muted); font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
.product-photo-choice.selected { border-color:#4d79bd; box-shadow:0 0 0 3px rgba(184,208,245,.5); }
.product-photo-empty { padding:18px; border:1px dashed #b8c5da; border-radius:14px; background:#f7f9fc; }
.product-photo-empty strong { display:block; margin-bottom:5px; }
@media(max-width:720px) {
  .product-photo-choices { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

/* Studio Email + Calendar — an original Figstitch workspace, not provider trade dress. */
.mail-calendar-page { display:grid; gap:14px; min-width:0; }
.mail-workspace-toolbar { display:grid; grid-template-columns:minmax(220px,1fr) auto auto; align-items:center; gap:16px; }
.mail-product-title { display:flex; align-items:center; gap:11px; min-width:0; }
.mail-product-title strong { display:block; overflow:hidden; margin-top:3px; font-size:13px; text-overflow:ellipsis; white-space:nowrap; }
.thread-knot { width:34px; height:34px; flex:0 0 auto; border:1px solid #9eb8e0; border-radius:11px 4px 11px 4px; background:linear-gradient(135deg,#fff 48%,#bdd1f4 49% 55%,#0c1757 56%); box-shadow:inset 0 0 0 4px #edf4ff; transform:rotate(-4deg); }
.mail-view-switch,.calendar-view-tabs { display:flex; padding:3px; border:1px solid #d2deef; border-radius:12px; background:#edf3fb; }
.mail-view-switch button,.calendar-view-tabs button { min-height:34px; padding:0 15px; border:0; border-radius:9px; color:#5f708c; background:transparent; font-weight:800; cursor:pointer; }
.mail-view-switch button.active,.calendar-view-tabs button.active { color:var(--ink); background:white; box-shadow:0 2px 8px rgba(12,23,87,.09); }
.mail-compose-button:disabled,.calendar-side > button:disabled,.mobile-nav .mobile-create:disabled { opacity:.48; filter:saturate(.45); cursor:not-allowed; box-shadow:none; }
.mail-setup-banner { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:14px; padding:14px 16px; border:1px solid #c8d8ef; border-left:4px solid #7394c8; border-radius:15px; background:#edf5ff; }
.mail-setup-banner.ready { border-left-color:#917230; background:#fff9e9; }
.mail-setup-banner.connected { border-left-color:#2d7c5c; background:#edf9f4; }
.mail-setup-banner strong,.mail-setup-banner p { display:block; }
.mail-setup-banner p { margin:3px 0 0; color:#536783; font-size:11px; line-height:1.5; }
.mail-status-mark { width:29px; height:29px; display:grid; place-items:center; border-radius:50%; color:white; background:#5276ad; font-weight:900; }
.mail-setup-banner.ready .mail-status-mark { background:#917230; }.mail-setup-banner.connected .mail-status-mark { background:#2d7c5c; }
.mail-setup-banner button:disabled { opacity:.75; cursor:not-allowed; }
.mail-three-pane { min-height:590px; display:grid; grid-template-columns:210px minmax(285px,34%) minmax(340px,1fr); overflow:hidden; border:1px solid #d6e0ee; border-radius:19px; background:white; box-shadow:0 16px 44px rgba(12,23,87,.07); }
.mail-folder-pane,.mail-list-pane { border-right:1px solid #dfe7f2; }
.mail-folder-pane { display:flex; flex-direction:column; padding:15px 11px; background:#f4f7fc; }
.mail-search { height:39px; display:flex; align-items:center; gap:7px; padding:0 10px; border:1px solid #d5dfed; border-radius:11px; color:#73839c; background:white; }
.mail-search input { width:100%; min-width:0; border:0; outline:0; color:#71809a; background:transparent; font-size:11px; }
.mail-folder-pane nav { display:grid; gap:3px; margin-top:15px; }
.mail-folder-pane nav button { min-height:39px; display:flex; align-items:center; justify-content:space-between; padding:0 11px; border:0; border-radius:10px; color:#53627d; background:transparent; font-weight:700; text-align:left; cursor:default; }
.mail-folder-pane nav button.active { color:var(--ink); background:#dfeafb; }
.mail-folder-pane nav b { color:#7890b3; font-size:10px; }
.mail-folder-foot { margin-top:auto; padding:14px 10px 5px; border-top:1px dashed #b8c9e3; }
.mail-folder-foot small,.mail-folder-foot strong { display:block; }.mail-folder-foot small { color:#7e8ba0; font-size:9px; text-transform:uppercase; letter-spacing:.1em; }.mail-folder-foot strong { margin:4px 0 9px; font-size:11px; }
.connection-dot { display:flex; align-items:center; gap:6px; color:#8a6830; font-size:9px; font-weight:800; }.connection-dot::before { content:""; width:7px; height:7px; border-radius:50%; background:#d5a541; box-shadow:0 0 0 3px #f7ead0; }.connection-dot.on { color:#267257; }.connection-dot.on::before { background:#36a176; box-shadow:0 0 0 3px #d9f2e7; }
.mail-list-pane { min-width:0; background:#fbfcfe; }
.mail-list-pane > header { min-height:73px; display:flex; align-items:center; justify-content:space-between; gap:10px; padding:13px 15px; border-bottom:1px solid #e2e8f1; }
.mail-list-pane h2 { margin-top:3px; font:600 18px Playfair Display,serif; }.mail-list-pane header button { padding:7px 9px; border:1px solid #d8e0ec; border-radius:8px; color:#8a97aa; background:white; font-size:9px; }
.mail-list-empty { min-height:330px; display:flex; align-items:center; justify-content:center; flex-direction:column; padding:30px; color:#667791; text-align:center; }
.mail-list-empty > span { width:48px; height:48px; display:grid; place-items:center; margin-bottom:12px; border:1px dashed #9ab3d8; border-radius:15px; color:var(--ink); background:#edf4ff; }
.mail-list-empty p { max-width:220px; margin:6px 0 0; font-size:10px; line-height:1.5; }
.mail-message-row { width:100%; display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:10px; padding:14px; border:0; border-bottom:1px solid #e5eaf2; color:var(--ink); background:white; text-align:left; cursor:default; }
.mail-message-row > span:nth-child(2),.mail-message-row strong,.mail-message-row small,.mail-message-row p { min-width:0; display:block; }.mail-message-row strong,.mail-message-row p { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.mail-message-row small,.mail-message-row time { color:#7d899d; font-size:9px; }.mail-message-row p { margin:4px 0 0; color:#687891; font-size:10px; }.mail-avatar { width:32px; height:32px; display:grid; place-items:center; border-radius:50%; color:white; background:#8aa6d0; font-size:10px; font-weight:900; }
.mail-reading-pane { min-width:0; display:grid; place-items:center; padding:32px; background:linear-gradient(155deg,#fff 0 70%,#f1f6fd 100%); }
.reading-empty { max-width:390px; text-align:center; }.reading-empty h2 { margin:8px 0; font:600 28px Playfair Display,serif; }.reading-empty > p:not(.eyebrow) { color:#61728d; font-size:11px; line-height:1.6; }.reading-empty ul { margin:22px 0 0; padding:15px 18px 15px 34px; border:1px dashed #c1d0e5; border-radius:13px; color:#6b7990; background:#f8fafd; font-size:9px; line-height:1.7; text-align:left; }
.reading-message { align-self:start; width:100%; max-width:720px; }.reading-message h2 { margin:8px 0 22px; font:600 clamp(25px,3vw,38px) Playfair Display,serif; color:#0b1f63; }.reading-message-meta { display:grid; grid-template-columns:42px minmax(0,1fr) auto; gap:12px; align-items:center; padding-bottom:18px; border-bottom:1px solid #d9e2f0; }.reading-message-meta div { display:grid; gap:2px; }.reading-message-meta small,.reading-message-meta time { color:#6b7990; font-size:10px; }.reading-message-body { padding:24px 0; color:#27385b; font-size:14px; line-height:1.75; white-space:normal; }
.empty-thread { width:70px; height:54px; display:block; margin:0 auto 18px; border:2px solid #9ab4da; border-radius:9px; background:linear-gradient(145deg,transparent 48%,#bdd1f4 49% 52%,transparent 53%),white; transform:rotate(-2deg); box-shadow:8px 8px 0 #edf4ff; }
.mail-compose-status { margin-bottom:16px; padding:14px; border:1px solid #cad9ee; border-radius:13px; background:#edf5ff; }.mail-compose-status strong { display:block; }.mail-compose-status p { margin:4px 0 0; color:#5e7190; font-size:11px; line-height:1.5; }

.calendar-shell { min-height:590px; display:grid; grid-template-columns:220px minmax(0,1fr); overflow:hidden; border:1px solid #d6e0ee; border-radius:19px; background:white; box-shadow:0 16px 44px rgba(12,23,87,.07); }
.calendar-side { padding:17px; border-right:1px solid #dfe7f2; background:#f4f7fc; }.calendar-side > button { width:100%; }.calendar-mini-status { margin-top:24px; }.calendar-mini-status label { display:flex; align-items:center; gap:8px; margin-top:12px; font-size:11px; font-weight:800; }.calendar-mini-status input { accent-color:var(--ink); }.calendar-mini-status > small { display:block; margin-top:10px; color:#74839a; font-size:9px; line-height:1.5; }
.calendar-sync-card { display:flex; align-items:flex-start; gap:10px; margin-top:28px; padding-top:17px; border-top:1px dashed #b8c9e3; }.calendar-sync-card > .connection-dot { margin-top:4px; }.calendar-sync-card strong,.calendar-sync-card small { display:block; }.calendar-sync-card strong { font-size:10px; }.calendar-sync-card small { margin-top:3px; color:#78869a; font-size:8px; }
.calendar-main { min-width:0; overflow:auto; }.calendar-toolbar { min-height:68px; display:flex; align-items:center; justify-content:space-between; gap:15px; padding:11px 15px; border-bottom:1px solid #e1e8f2; }.calendar-toolbar > div:first-child { display:flex; align-items:center; gap:7px; }.calendar-toolbar > div:first-child button { min-width:32px; height:32px; padding:0 8px; border:1px solid #d4dfed; border-radius:8px; color:var(--ink); background:white; font-weight:800; cursor:pointer; }.calendar-toolbar h2 { margin-left:9px; font:600 21px Playfair Display,serif; white-space:nowrap; }
.calendar-preview-note { display:flex; align-items:center; gap:9px; padding:8px 13px; color:#596e8d; background:#edf5ff; font-size:9px; }.calendar-preview-note strong { padding:3px 7px; border-radius:999px; color:white; background:#5276ad; text-transform:uppercase; letter-spacing:.06em; }
.calendar-month { min-width:620px; display:grid; grid-template-columns:repeat(7,minmax(78px,1fr)); grid-template-rows:30px repeat(6,minmax(75px,1fr)); }
.calendar-month > b { display:grid; place-items:center; border-right:1px solid #e4e9f1; border-bottom:1px solid #dbe3ee; color:#7a8799; font-size:9px; text-transform:uppercase; }.calendar-month > b:last-of-type { border-right:0; }
.calendar-day { position:relative; padding:9px; border-right:1px solid #e5eaf2; border-bottom:1px solid #e5eaf2; color:#3c4c66; background:#fff; }.calendar-day:nth-child(7n) { border-right:0; }.calendar-day.outside { color:#aeb8c6; background:#fafbfd; }.calendar-day > span { width:26px; height:26px; display:grid; place-items:center; border-radius:50%; font-size:10px; font-weight:800; }.calendar-day.today > span { color:white; background:var(--ink); }.calendar-day small { position:absolute; right:8px; top:14px; color:#5276ad; font-size:8px; font-weight:800; }
.calendar-week { min-width:650px; min-height:500px; display:grid; grid-template-columns:repeat(7,1fr); }.calendar-week-day { border-right:1px solid #e5eaf2; }.calendar-week-day:last-child { border-right:0; }.calendar-week-day header { display:grid; place-items:center; gap:4px; padding:12px; border-bottom:1px solid #e5eaf2; }.calendar-week-day header small { color:#7f8b9f; font-size:8px; font-weight:800; }.calendar-week-day header strong { width:28px; height:28px; display:grid; place-items:center; border-radius:50%; }.calendar-week-day.today header strong { color:white; background:var(--ink); }.calendar-week-day > div { height:420px; display:flex; justify-content:space-around; flex-direction:column; padding-left:6px; color:#a3adbb; background:repeating-linear-gradient(to bottom,#fff 0,#fff 69px,#edf0f5 70px); font-size:8px; }
.calendar-agenda-empty { min-height:470px; display:grid; place-content:center; padding:35px; color:#64758f; text-align:center; }.calendar-agenda-empty > span { width:52px; height:52px; display:grid; place-items:center; margin:0 auto 13px; border:1px dashed #9eb6d9; border-radius:50%; color:var(--ink); background:#eef5ff; }.calendar-agenda-empty p { max-width:370px; margin:6px auto 0; font-size:10px; line-height:1.6; }

@media(max-width:1080px) {
  .mail-three-pane { grid-template-columns:185px minmax(270px,38%) minmax(280px,1fr); }
}

@media(max-width:900px) {
  .mail-three-pane { grid-template-columns:180px minmax(0,1fr); }.mail-reading-pane { display:none; }
  .calendar-shell { grid-template-columns:180px minmax(0,1fr); }
}

@media(max-width:720px) {
  .mail-calendar-page { margin:-8px -10px 0; gap:9px; }
  .mail-workspace-toolbar { grid-template-columns:1fr auto; gap:9px; padding:0 10px; }.mail-product-title strong { font-size:11px; }.thread-knot { width:30px; height:30px; }.mail-view-switch { display:none; }.mail-compose-button { padding-inline:13px; }
  .mail-setup-banner { grid-template-columns:auto 1fr; margin:0 10px; padding:12px; }.mail-setup-banner button { grid-column:1 / -1; width:100%; }.mail-setup-banner p { font-size:10px; }
  .mail-three-pane { min-height:calc(100vh - 300px); display:block; border-inline:0; border-radius:0; box-shadow:none; }.mail-folder-pane { display:none; }.mail-list-pane { min-height:calc(100vh - 300px); border-right:0; }.mail-list-pane > header { min-height:62px; }.mail-list-empty { min-height:300px; }.mail-reading-pane { display:none; }
  .calendar-shell { min-height:calc(100vh - 300px); display:block; border-inline:0; border-radius:0; box-shadow:none; }.calendar-side { display:none; }.calendar-toolbar { align-items:stretch; flex-direction:column; }.calendar-toolbar > div:first-child { width:100%; }.calendar-toolbar h2 { margin-left:auto; font-size:18px; }.calendar-view-tabs { width:100%; }.calendar-view-tabs button { flex:1; }.calendar-preview-note { align-items:flex-start; }.calendar-month { min-width:0; grid-template-columns:repeat(7,minmax(42px,1fr)); grid-template-rows:27px repeat(6,minmax(58px,1fr)); }.calendar-day { padding:4px; }.calendar-day > span { width:23px; height:23px; }.calendar-day small { display:none; }.calendar-week { min-width:610px; }
}

@media(max-width:390px) {
  .mail-product-title .eyebrow { display:none; }.mail-product-title strong { max-width:145px; }.mail-compose-button { font-size:10px; }
  .calendar-toolbar h2 { font-size:16px; }.calendar-month { grid-template-columns:repeat(7,minmax(38px,1fr)); }.calendar-day > span { width:21px; height:21px; font-size:9px; }
}

/* Full-canvas Studio communications workspace. */
.workspace-full-canvas .page { width:100%; max-width:none; padding:18px 22px 24px; }
.workspace-full-canvas .topbar { height:88px; padding-block:15px; }
.mail-calendar-page { min-height:calc(100vh - 130px); grid-template-rows:auto minmax(0,1fr); gap:12px; }
.mail-calendar-page:has(.mail-setup-banner) { grid-template-rows:auto auto minmax(0,1fr); }
.mail-workspace-toolbar { min-height:52px; grid-template-columns:minmax(220px,1fr) auto; }
.mail-view-switch { display:none; }
.workspace-primary-actions { display:flex; align-items:center; gap:9px; }
.workspace-refresh { min-height:43px; display:flex; align-items:center; gap:7px; padding-inline:14px; border-color:#b9c9e0; font-size:11px; }
.workspace-refresh.is-refreshing,
.mail-list-pane header button.is-refreshing { color:#45699e; background:#edf4ff; cursor:progress; }
.workspace-refresh.is-refreshing { opacity:.82; }
.refresh-symbol { display:inline-block; font-style:normal; }
.is-refreshing .refresh-symbol { animation:workspace-refresh-spin .8s linear infinite; }
@keyframes workspace-refresh-spin { to { transform:rotate(360deg); } }
.mail-three-pane { min-height:0; height:100%; grid-template-columns:218px minmax(330px,32%) minmax(420px,1fr); border-radius:16px; }
.folder-compose { width:100%; min-height:42px; margin-bottom:11px; }
.mail-folder-pane nav button { cursor:pointer; }
.mail-folder-pane nav button span { display:flex; align-items:center; gap:9px; }
.mail-folder-pane nav button i { width:17px; color:#7084a4; font-style:normal; text-align:center; }
.mail-message-row { cursor:pointer; }
.mail-message-row:hover,.mail-message-row.selected { background:#edf4ff; }
.mail-message-row.unread { border-left:3px solid #7197d1; }
.mail-message-row.unread strong { font-weight:900; }
.mail-row-end { display:grid; justify-items:end; gap:7px; }
.mail-row-end i { color:#b4872d; font-size:9px; font-style:normal; }
.message-command-bar { display:flex; flex-wrap:wrap; gap:6px; margin:-12px 0 25px; padding-bottom:12px; border-bottom:1px solid #e4e9f1; }
.message-command-bar button { min-height:33px; padding:0 10px; border:1px solid #d5deeb; border-radius:8px; color:#435676; background:white; font-size:9px; font-weight:800; cursor:pointer; }
.message-command-bar button:hover { border-color:#9eb7dd; background:#f0f5fd; }

/* Outlook-inspired Figstitch message composer. */
.workflow-dialog.mail-composer-dialog { width:min(1180px,calc(100vw - 34px)); height:min(820px,calc(100vh - 34px)); max-height:none; border-radius:14px; box-shadow:0 28px 85px rgba(3,18,70,.3); }
.mail-composer-dialog::backdrop { background:rgba(5,18,57,.38); backdrop-filter:blur(2px); }
.mail-composer-dialog .dialog-card { height:100%; max-height:none; grid-template-rows:54px minmax(0,1fr); background:#fff; }
.mail-composer-dialog .dialog-head { padding:0 16px 0 20px; border:0; color:#fff; background:linear-gradient(100deg,#07195d,#153b8d); }
.mail-composer-dialog .dialog-head .eyebrow { display:none; }
.mail-composer-dialog .dialog-head h2 { margin:0; color:#fff; font:750 13px Manrope,sans-serif; letter-spacing:.01em; }
.mail-composer-dialog .dialog-head button { width:32px; height:32px; color:#fff; background:rgba(255,255,255,.12); font:400 21px Manrope,sans-serif; }
.mail-composer-dialog .dialog-head button:hover { background:rgba(255,255,255,.22); }
.mail-composer-dialog #workflowForm { width:100%; height:100%; min-height:0; display:block; }
.mail-composer-dialog .dialog-body { height:100%; padding:0; overflow:hidden; }
.mail-composer-dialog .dialog-foot[hidden] { display:none; }
.outlook-composer { height:100%; min-height:0; display:grid; grid-template-rows:48px auto 45px auto minmax(0,1fr) 34px; color:#172445; background:#fff; }
.outlook-composer > .compose-command-bar { grid-row:1; }
.outlook-composer > .compose-addresses { grid-row:2; }
.outlook-composer > .compose-format-bar { grid-row:3; }
.outlook-composer > .compose-attachment-list { grid-row:4; }
.outlook-composer > .compose-editor { grid-row:5; }
.outlook-composer > .compose-statusbar { grid-row:6; }
.compose-command-bar { min-width:0; display:flex; align-items:center; gap:2px; padding:6px 12px; border-bottom:1px solid #d8e0ed; background:#f4f7fc; overflow-x:auto; scrollbar-width:none; }
.compose-command-bar::-webkit-scrollbar { display:none; }
.compose-command-bar button,.compose-command-bar .compose-command { min-height:34px; display:inline-flex; align-items:center; gap:7px; padding:0 10px; border:0; border-radius:7px; color:#31415f; background:transparent; font:650 11px Manrope,sans-serif; white-space:nowrap; cursor:pointer; }
.compose-command-bar button:hover,.compose-command-bar .compose-command:hover { background:#e5edf9; }
.compose-command-bar .compose-send { padding-inline:15px; color:#fff; background:#0b2c79; font-weight:800; }
.compose-command-bar .compose-send:hover { background:#123d98; }
.compose-command-bar .compose-send:disabled { opacity:.48; cursor:not-allowed; }
.compose-command-bar .compose-send span { color:#8ec0ff; font-size:15px; transform:rotate(-25deg); }
.compose-command-bar .compose-command > span { color:#0b2c79; font-size:15px; }
.compose-command-bar .compose-more { margin-left:auto; font-size:14px; }
.compose-attach { position:relative; }
.compose-attach input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.compose-addresses { padding:5px 18px 0; background:#fff; }
.compose-address-row { min-height:43px; display:grid; grid-template-columns:74px minmax(0,1fr) auto; align-items:center; gap:9px; border-bottom:1px solid #dce2ec; }
.compose-address-row > label { color:#65728c; font-size:11px; }
.compose-address-row input { width:100%; min-width:0; min-height:38px; padding:0 3px; border:0; border-radius:0; color:#162342; background:transparent; font:550 12px Manrope,sans-serif; outline:none; }
.compose-address-row input:focus { box-shadow:none; }
.compose-from { min-width:0; display:flex; align-items:center; gap:7px; font-size:12px; }
.compose-from strong { color:#0b2c79; }
.compose-from span { color:#6c7890; }
.compose-address-actions { display:flex; gap:2px; }
.compose-address-actions button,.compose-importance { min-height:30px; padding:0 8px; border:0; border-radius:6px; color:#425170; background:transparent; font:650 10px Manrope,sans-serif; cursor:pointer; }
.compose-address-actions button:hover,.compose-importance:hover { background:#edf3fc; }
.compose-optional-row[hidden] { display:none; }
.compose-subject-row { grid-template-columns:74px minmax(0,1fr) auto; }
.compose-importance { color:#5b6880; }
.compose-importance[data-value="high"] { color:#a43d50; background:#fff0f3; }
.compose-importance[data-value="low"] { color:#3f6f9f; background:#eef6ff; }
.compose-format-bar { min-width:0; display:flex; align-items:center; gap:3px; padding:5px 14px; border-bottom:1px solid #dce2ec; background:#fff; overflow-x:auto; scrollbar-width:none; }
.compose-format-bar::-webkit-scrollbar { display:none; }
.compose-format-bar.is-emphasized { background:#edf4ff; box-shadow:inset 0 0 0 2px #c7dafa; }
.compose-format-bar button { width:30px; height:30px; flex:0 0 auto; display:grid; place-items:center; border:0; border-radius:5px; color:#36445f; background:transparent; font-size:12px; cursor:pointer; }
.compose-format-bar button:hover { color:#0b2c79; background:#e8f0fc; }
.compose-format-bar select { width:auto; height:30px; padding:0 24px 0 8px; border:1px solid #d8e0ec; border-radius:5px; color:#36445f; background:#fff; font:600 10px Manrope,sans-serif; }
.compose-format-bar [data-format-font] { min-width:112px; }
.compose-separator { width:1px; height:22px; flex:0 0 1px; margin:0 5px; background:#d6deea; }
.compose-attachment-list { display:flex; flex-wrap:wrap; gap:7px; padding:8px 18px; border-bottom:1px solid #e0e6ef; background:#f8faff; }
.compose-attachment-list[hidden] { display:none; }
.compose-attachment-list > span { display:grid; grid-template-columns:auto auto 20px; align-items:center; gap:7px; padding:6px 7px 6px 10px; border:1px solid #bdd0ec; border-radius:7px; color:#18336e; background:#fff; font-size:9px; }
.compose-attachment-list small { color:#74819a; }
.compose-attachment-list button { width:20px; height:20px; border:0; border-radius:4px; color:#5f6c82; background:#edf2fa; cursor:pointer; }
.compose-editor { min-height:0; padding:20px 24px 35px; color:#101827; background:#fff; font:400 14px/1.55 Aptos,Arial,sans-serif; outline:none; overflow:auto; }
.compose-editor:empty::before { content:attr(data-placeholder); color:#8a94a8; pointer-events:none; }
.compose-editor a { color:#0d62ad; }
.compose-statusbar { height:34px; min-height:34px; max-height:34px; display:flex; align-items:center; justify-content:space-between; gap:14px; padding:0 18px; border-top:1px solid #dfe5ee; color:#65728a; background:#f7f9fc; font-size:9px; overflow:hidden; }
.compose-statusbar [data-compose-status] { color:#314d7d; font-weight:700; }

@media(max-width:720px) {
  .workflow-dialog.mail-composer-dialog { width:100%; height:100%; max-height:100%; border-radius:0; }
  .mail-composer-dialog .dialog-card { grid-template-rows:50px minmax(0,1fr); padding-bottom:env(safe-area-inset-bottom); }
  .mail-composer-dialog .dialog-head { padding:0 11px 0 15px; }
  .outlook-composer { grid-template-rows:47px auto 43px auto minmax(180px,1fr) 31px; }
  .compose-command-bar { padding-inline:7px; }
  .compose-command-bar button,.compose-command-bar .compose-command { padding-inline:8px; font-size:10px; }
  .compose-command-bar [data-compose-editor],.compose-command-bar [data-compose-accessibility] { display:none; }
  .compose-addresses { padding-inline:12px; }
  .compose-address-row,.compose-subject-row { grid-template-columns:48px minmax(0,1fr) auto; gap:4px; }
  .compose-address-row > label { font-size:10px; }
  .compose-from { align-items:flex-start; flex-direction:column; gap:1px; padding:6px 0; font-size:10px; }
  .compose-importance { max-width:80px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .compose-format-bar { padding-inline:9px; }
  .compose-editor { padding:16px 15px 30px; font-size:15px; }
  .compose-statusbar { padding-inline:12px; }
  .compose-statusbar small { display:none; }
}
.message-command-bar button.danger { color:#9a4051; }
.mail-mobile-folders { display:none; }
.calendar-shell { min-height:0; height:100%; border-radius:16px; }
.calendar-month { min-height:calc(100% - 101px); grid-template-rows:30px repeat(6,minmax(88px,1fr)); }
.calendar-day-events { display:grid; gap:3px; margin-top:5px; }
.calendar-day-events button { width:100%; overflow:hidden; display:flex; align-items:center; gap:4px; padding:4px 5px; border:0; border-radius:5px; color:#16306f; background:#dce9fb; font-size:8px; font-weight:750; text-align:left; white-space:nowrap; cursor:pointer; }.calendar-day-events button > span:first-child { min-width:0; overflow:hidden; text-overflow:ellipsis; }
.calendar-week-day > div { min-height:520px; height:auto; justify-content:flex-start; gap:7px; padding:8px; }
.calendar-week-day > div button { display:grid; gap:3px; padding:8px; border:1px solid #bed1eb; border-radius:8px; color:#183270; background:#e4eefc; text-align:left; cursor:pointer; }
.calendar-week-day > div button small { color:#607796; }
.calendar-agenda { display:grid; }
.calendar-agenda button { display:grid; grid-template-columns:180px minmax(0,1fr) minmax(120px,.5fr) auto auto; align-items:center; gap:14px; min-height:64px; padding:11px 16px; border:0; border-bottom:1px solid #e5eaf2; color:var(--ink); background:white; text-align:left; cursor:pointer; }
.calendar-agenda button:hover { background:#f3f7fd; }
.calendar-agenda time,.calendar-agenda small { color:#687891; font-size:10px; }
.calendar-event-detail h3 { margin:8px 0 20px; font:600 30px Playfair Display,serif; }
.calendar-event-detail dl { display:grid; gap:1px; overflow:hidden; margin:0 0 20px; border:1px solid #dfe6f0; border-radius:12px; }
.calendar-event-detail dl div { display:grid; grid-template-columns:90px 1fr; gap:12px; padding:12px; background:#f7f9fc; }
.calendar-event-detail dt { color:#6c7a90; font-size:9px; font-weight:800; text-transform:uppercase; }
.calendar-event-detail dd { margin:0; font-size:11px; }
.calendar-event-detail > a,.calendar-event-detail > button { display:inline-flex; align-items:center; justify-content:center; margin:0 8px 0 0; text-decoration:none; }
.calendar-delete-action { color:#9a4051; border-color:#d8aeb8; }
.calendar-rsvp { flex:0 0 auto; display:inline-flex; align-items:center; justify-content:center; gap:4px; width:max-content; min-height:20px; padding:2px 7px; border-radius:999px; color:#65748a; background:#edf1f6; font-size:8px; font-style:normal; font-weight:850; line-height:1; white-space:nowrap; }.calendar-rsvp i { display:grid; place-items:center; width:13px; height:13px; border-radius:50%; font-style:normal; }.calendar-rsvp.confirmed,.calendar-rsvp.partial { color:#176b4a; background:#dff4e9; }.calendar-rsvp.confirmed i,.calendar-rsvp.partial i { color:white; background:#269467; }.calendar-rsvp.declined { color:#9a4051; background:#f8e6ea; }.calendar-rsvp.tentative { color:#8a641b; background:#fff0c9; }.calendar-rsvp.pending { color:#687891; background:#edf1f6; }.calendar-day-events .calendar-rsvp { min-height:16px; padding:1px; background:transparent; }.calendar-day-events .calendar-rsvp i { width:14px; height:14px; }
.calendar-attendees { margin:0 0 20px; overflow:hidden; border:1px solid #dfe6f0; border-radius:12px; }.calendar-attendees-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:11px 12px; background:#edf5ff; }.calendar-attendees-heading > strong { color:#536985; font-size:9px; letter-spacing:.08em; text-transform:uppercase; }.calendar-attendees > div:not(.calendar-attendees-heading) { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:11px 12px; border-top:1px solid #e5eaf2; }.calendar-attendees > div span:first-child strong,.calendar-attendees > div span:first-child small { display:block; }.calendar-attendees > div span:first-child strong { font-size:11px; }.calendar-attendees > div span:first-child small { margin-top:2px; color:#738198; font-size:9px; }.attendee-response { color:#687891; font-size:9px; font-weight:850; white-space:nowrap; }.attendee-response.accepted { color:#177048; }.attendee-response.declined { color:#a03e50; }.attendee-response.tentativelyAccepted { color:#8a641b; }.calendar-no-attendees { margin:0 0 20px; padding:11px 12px; border:1px solid #dfe6f0; border-radius:12px; color:#738198; background:#f7f9fc; font-size:10px; }

@media(max-width:1080px) {
  .mail-three-pane { grid-template-columns:190px minmax(280px,38%) minmax(300px,1fr); }
}

@media(max-width:720px) {
  .workspace-full-canvas .page { padding:10px 0 78px; }
  .workspace-full-canvas .topbar { height:72px; }
  .mail-calendar-page { min-height:calc(100vh - 160px); margin:0; gap:9px; }
  .workspace-refresh span { display:none; }
  .workspace-refresh { min-width:42px; padding:0; justify-content:center; }
  .mail-three-pane { min-height:calc(100vh - 230px); }
  .mail-list-pane { min-height:calc(100vh - 230px); }
  .mail-mobile-folders { display:flex; gap:6px; padding:9px 10px; overflow:auto; border-bottom:1px solid #dde5f0; background:#f3f6fb; scrollbar-width:none; }
  .mail-mobile-folders button { flex:0 0 auto; padding:7px 10px; border:1px solid #d4deec; border-radius:999px; color:#586a87; background:white; font-size:9px; font-weight:800; }
  .mail-mobile-folders button.active { color:white; border-color:var(--ink); background:var(--ink); }
  .calendar-shell { min-height:calc(100vh - 230px); }
  .calendar-day-events button { padding:2px 3px; font-size:6px; }
  .calendar-agenda button { grid-template-columns:1fr auto; }
  .calendar-agenda button time,.calendar-agenda button small { grid-column:1; }
}
