
:root {
  color-scheme:light;
  --shell:#f2e7e3; --petal:#e7c5be; --rose:#d08d7e; --clay:#b66a5e; --brown:#6b4d4b;
  --wine:#792738; --deep:#4d2326; --ink:#382123; --muted:#695251;
  --paper:#fff9f6; --line:#ead4cf; --white:#fffdfb; --shadow:0 3px 10px #6b4d4b0e;
  --sans:'Poppins',sans-serif; --serif:'DM Serif Display',Georgia,serif;
}
*, *::before, *::after { box-sizing:border-box; }
[hidden] { display:none !important; }
button:disabled { cursor:wait; opacity:.7; }
body { margin:0; font:13px/1.55 var(--sans); background:#fcf2ef; color:var(--ink); }
a { color:var(--wine); text-underline-offset:3px; }
a:hover { text-decoration-thickness:2px; }
button, input, select, textarea { font:inherit; color:inherit; }
button, select { cursor:pointer; }
:focus-visible { outline:3px solid var(--wine); outline-offset:3px; }
.sidebar :focus-visible { outline-color:#fff5f0; }
img { max-width:100%; object-fit:contain; }
svg { width:1.28em; height:1.28em; flex:none; vertical-align:-.25em; }
h1,h2,h3,p { margin:0; }
h1,h2,h3 { color:var(--deep); line-height:1.16; }
h1 { font:clamp(2rem,4vw,2.8rem)/1.06 var(--serif); }
h2 { font:1.42rem/1.18 var(--serif); }
h3 { font:1.15rem/1.2 var(--serif); }
small { color:var(--muted); }
.skip { position:absolute; top:-100px; left:1rem; z-index:15; padding:12px; background:var(--white); }
.skip:focus { top:10px; }
.crm { display:grid; grid-template-columns:198px minmax(0,1fr); min-height:100dvh; }
.sidebar {
  position:sticky; top:0; height:100dvh; display:flex; flex-direction:column; gap:8px; overflow:auto;
  color:#fff7f1; background:linear-gradient(150deg,#4b2426 8%,#652c30 70%,#712f31 100%); padding:16px 12px;
}
.sidebar::after { content:''; display:block; margin:auto 4px 0; min-height:28px; border-bottom:1px solid #e7c5be56; border-radius:50%; transform:rotate(-12deg); }
.brand { display:flex; justify-content:center; padding:3px 8px; }
.brand img { width:122px; height:104px; }
.private-label { margin:0 6px 4px; font-size:.65rem; font-weight:600; text-align:center; text-transform:uppercase; letter-spacing:.18em; color:#f5ddd7; }
.sidebar nav { display:grid; gap:2px; }
.sidebar a:not(.brand), .sidebar button { display:flex; gap:9px; align-items:center; min-height:35px; border:0; border-radius:6px; padding:6px 9px; background:transparent; color:inherit; text-decoration:none; width:100%; text-align:left; font-size:.77rem; }
.sidebar a[aria-current=page] { color:var(--deep); background:var(--petal); font-weight:600; }
.sidebar a:hover:not(.brand), .sidebar button:hover { color:var(--deep); background:var(--shell); }
.sidebar-footer { margin-top:8px; border-top:1px solid #e7c5be55; padding-top:8px; }
#content { padding:16px clamp(15px,2.6vw,38px) 28px; max-width:1750px; width:100%; }
.topbar, .top-actions,.clock-group,.greeting,.panel-heading,.section-title,.identity,.person,.actions { display:flex; align-items:center; }
.topbar,.greeting,.panel-heading,.section-title,.identity { justify-content:space-between; gap:12px; }
.topbar { display:grid; grid-template-columns:minmax(230px,1fr) minmax(180px,1.4fr) minmax(100px,1fr); padding:1px 0 12px; border-bottom:1px solid #ead1ca; }
.top-actions { justify-self:end; }
.clock-group,.top-actions,.person,.actions { gap:9px; }
.clock-group > svg { width:1.5em; height:1.5em; color:var(--wine); }
#florida-clock { display:grid; line-height:1.15; }
#florida-clock span,#florida-clock small { font-size:.69rem; }
#florida-clock strong { font-size:1.18rem; color:var(--deep); padding:3px 0; }
.menu-toggle { display:none !important; }
.notification,.icon-button { display:inline-grid; place-items:center; min-width:34px; min-height:34px; border:1px solid var(--line); border-radius:7px; color:var(--wine); background:var(--paper); }
.notifications { position:relative; }
.notification { position:relative; cursor:pointer; list-style:none; }
.notification::-webkit-details-marker { display:none; }
.notification-count { position:absolute; right:-7px; top:-8px; min-width:20px; padding:1px 4px; border:2px solid var(--paper); border-radius:20px; background:#b52236; color:white; font-size:.65rem; line-height:1.3; text-align:center; }
.notification-menu { position:absolute; right:0; top:calc(100% + 12px); z-index:30; width:min(330px,calc(100vw - 26px)); padding:15px; background:var(--paper); border:1px solid var(--line); border-radius:12px; box-shadow:0 10px 28px #4d232633; }
.notification-menu h2 { margin-bottom:9px; }
.notification-menu > a:not(.button) { display:flex; gap:7px; align-items:start; padding:9px 0; border-bottom:1px solid var(--line); font-size:.78rem; }
.notification-menu .button { margin-top:12px; width:100%; }
.avatar { min-width:34px; min-height:34px; border-radius:50%; background:#f2d1d1; display:inline-grid; place-items:center; color:#752b39; font-weight:600; }
.avatar.small { min-width:27px; min-height:27px; font-size:.7rem; }
.avatar.large { min-width:61px; min-height:61px; font:1.6rem var(--serif); }
.greeting { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:20px; padding:16px 0; background:radial-gradient(ellipse at 65% -80%,#e7c5be98,transparent 67%); }
.greeting h1 span { color:var(--clay); font-size:.75em; }
.greeting p { margin-top:4px; }
.signature { color:#864653; font:clamp(1.55rem,3vw,2.4rem) 'Great Vibes',cursive; text-align:right; flex:none; }
.daily-message { text-align:center; color:var(--deep); align-self:center; }
.daily-message > span { display:block; font-size:.67rem; color:var(--muted); margin-bottom:5px; }
.daily-message p { font:1.08rem/1.35 var(--serif); color:var(--deep); margin:0; }
.panel,.metric,.notice { border:1px solid var(--line); background:var(--paper); border-radius:12px; box-shadow:var(--shadow); min-width:0; }
.panel { padding:15px; }
.panel-heading { align-items:flex-start; margin-bottom:11px; }
.panel-heading h2 svg,.section-title svg { color:var(--wine); }
.panel-heading p,.panel p,.greeting p { color:var(--muted); }
.panel h2 + p { margin-top:7px; }
.panel-heading > a:not(.button) { font-size:.75rem; text-align:right; }
.notice { display:flex; flex-wrap:wrap; align-items:center; gap:8px; padding:11px 14px; margin-bottom:12px; }
.metrics { display:grid; grid-template-columns:repeat(auto-fit,minmax(136px,1fr)); gap:10px; margin-bottom:15px; }
.metric { display:flex; align-items:center; gap:10px; min-height:82px; padding:11px; }
.metric-icon { color:var(--wine); background:#f5e3df; padding:8px; display:grid; place-items:center; border-radius:9px; }
.metric-icon svg { width:1.45rem; height:1.45rem; }
.metric.warm .metric-icon { background:#f7e8dc; color:#963f27; }
.metric strong,.metric div span { display:block; }
.metric strong { color:var(--deep); font:1.42rem var(--serif); }
.metric div span { font-size:.7rem; line-height:1.32; }
.metric-link { color:inherit; text-decoration:none; }
.metric-link:hover { border-color:var(--clay); background:var(--shell); }
.dashboard-grid,.split { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; align-items:start; }
.dashboard-grid > .panel { height:100%; }
.split { grid-template-columns:minmax(0,2.5fr) minmax(235px,1fr); }
.section-title { margin:8px 0 12px; flex-wrap:wrap; }
.section-title h2 { font-size:1.9rem; }
.section-title .button svg { color:inherit; }
.button { display:inline-flex; gap:7px; justify-content:center; align-items:center; min-height:40px; padding:7px 13px; border:1px solid transparent; border-radius:7px; background:var(--wine); color:#fff; font-weight:600; font-size:.8rem; text-decoration:none; }
.button:hover { background:#5e1c2b; color:#fff; }
.button.secondary { background:#fff8f4; color:var(--wine); border-color:#dfbdb5; }
.button.secondary:hover { background:var(--shell); }
.button.compact { min-height:33px; padding:5px 9px; font-size:.73rem; }
.button.green-button { background:#28583f; }
.button.danger { background:#902137; }
.badge { display:inline-flex; align-items:center; gap:4px; border-radius:20px; white-space:nowrap; padding:3px 8px; font-size:.69rem; font-weight:600; }
.green { color:#2c5438; background:#e7efdb; }
.red { color:#84263a; background:#f7e1e2; }
.amber { color:#6b4620; background:#f9ebcb; }
.purple { color:#544277; background:#eee3f5; }
.neutral { color:var(--brown); background:var(--shell); }
.tabs { display:flex; gap:4px; flex-wrap:wrap; padding:4px; margin:0 0 12px; border:1px solid var(--line); border-radius:9px; background:#f8e8e4; }
.tabs a { flex:0 1 auto; text-decoration:none; min-height:32px; padding:6px 11px; border-radius:6px; color:var(--deep); font-size:.78rem; text-align:center; }
.tabs a.active { color:#fff; background:var(--wine); }
.dashboard-grid .tabs a { flex:1 1 30%; }
.appointment-row,.event,.task-row { display:flex; align-items:center; gap:10px; padding:7px 0; border-bottom:1px solid var(--line); }
.appointment-row:last-child,.event:last-child,.task-row:last-child { border-bottom:0; }
.appointment-row { color:var(--ink); text-decoration:none; }
.appointment-row:hover { background:var(--shell); }
.appointment-row time { background:#f5e0dd; color:var(--wine); padding:5px 7px; font-weight:600; font-size:.76rem; border-radius:5px; }
.appointment-row small,.event a { display:block; }
.appointment-row .badge,.event small { margin-left:auto; }
.event-icon { display:grid; place-items:center; min-width:30px; min-height:30px; background:#f5e0dd; border-radius:50%; color:var(--wine); }
.event small { text-align:right; flex:none; }
.event a { overflow-wrap:anywhere; }
progress { width:100%; height:9px; accent-color:var(--wine); }
.progress { display:flex; align-items:center; gap:9px; }
.progress span { flex:none; font-size:.75rem; }
.task-row .icon-button { min-height:26px; min-width:27px; border:0; }
.task-row form { display:grid; place-items:center; min-width:32px; min-height:36px; margin:0; }
.task-row input[type=checkbox] { margin:0; flex:none; }
.task-row > input[type=checkbox] { margin:0 7px 0 8px; }
.task-description { min-width:0; }
.task-description small { display:block; font-size:.67rem; }
.task-row.is-completed .task-link { text-decoration:line-through; color:var(--muted); }
.task-feedback { color:var(--wine); font-size:.8rem; }
.task-feedback:empty { display:none; }
.task-feedback:not(:empty) { padding:8px 0; }
.task-overflow { margin-top:10px; font-size:.75rem; }
.chart-panel { margin-bottom:12px; }
.dashboard-grid .chart-panel { margin:0; }
.billing-panels { margin-bottom:13px; }
.chart { display:flex; align-items:end; gap:10px; padding:12px 4px 2px; min-height:128px; }
.chart-month { display:grid; grid-template-rows:auto 82px auto; gap:5px; flex:1; min-width:0; text-align:center; }
.chart-month strong { font-size:clamp(.53rem,1vw,.73rem); }
.chart-month span { text-transform:capitalize; font-size:.72rem; }
.chart-month meter { appearance:none; display:block; width:100%; height:82px; writing-mode:vertical-lr; direction:rtl; }
meter::-webkit-meter-bar { width:100%; height:100%; border:0; border-radius:5px; background:#f5e4e0; }
meter::-webkit-meter-optimum-value { background:linear-gradient(0deg,var(--petal),var(--clay)); border-radius:5px; }
.filter-feedback { min-height:1.25em; font-size:.75rem; color:var(--muted); margin:0 0 10px; }
[data-filter-region][aria-busy=true] .filter-feedback { color:var(--wine); }
.empty { color:var(--muted); padding:18px 12px; text-align:center; }
.filters { display:flex; align-items:flex-end; flex-wrap:wrap; gap:8px; padding-bottom:12px; }
.filters .search { flex:1 1 210px; }
.filters label { flex:0 1 auto; }
label { display:grid; gap:4px; font-weight:600; min-width:0; align-content:start; }
input:not([type=checkbox]):not([type=radio]),select,textarea { display:block; width:100%; min-height:39px; padding:7px 9px; border:1px solid #d9bcb5; border-radius:6px; background:var(--white); font-weight:400; }
textarea { min-height:85px; resize:vertical; }
input[type=checkbox] { width:17px; height:17px; margin:2px 0 0; accent-color:var(--wine); }
.check { display:flex; align-items:flex-start; gap:8px; min-height:25px; }
.listing { padding:0; overflow:hidden; }
.table-wrap,.calendar-scroll { overflow:auto; max-width:100%; }
.table-wrap table { min-width:720px; }
.table-wrap td.record-name { min-width:185px; }
table { border-collapse:collapse; width:100%; text-align:left; font-size:.78rem; }
th,td { padding:9px 11px; border-bottom:1px solid var(--line); vertical-align:middle; }
th { font-weight:600; font-size:.73rem; background:#fae9e4; color:var(--deep); }
td { max-width:280px; overflow-wrap:anywhere; }
td .button { white-space:nowrap; }
tr.selected,tbody tr:hover { background:#f7e6e2; }
.person { text-decoration:none; color:inherit; }
.person > :not(.avatar), .identity .person > div { min-width:0; }
.person .avatar { flex:0 0 34px; }
.person strong { overflow-wrap:break-word; word-break:normal; }
.cell-value { min-width:0; }
.mobile-table-sort { display:none; }
.birthday-field { display:grid; gap:4px; font-weight:600; min-width:0; }
.birthday-parts { display:grid; grid-template-columns:minmax(75px,1fr) minmax(0,2fr); gap:9px; }
.birthday-parts label { font-weight:400; }
.pagination { display:flex; justify-content:space-between; align-items:center; padding:9px 14px; font-size:.74rem; }
.pagination div { display:flex; align-items:center; gap:9px; }
.pagination a { font-size:1.2rem; padding:0 8px; }
.details { margin:0; }
.details div { display:grid; grid-template-columns:minmax(105px,1fr) minmax(0,1.4fr); gap:8px; padding:8px 0; border-bottom:1px solid var(--line); }
.details div:last-child { border-bottom:0; }
.details dt { color:var(--muted); }
.details dd { margin:0; font-weight:600; overflow-wrap:anywhere; white-space:pre-wrap; }
.detail-fields { margin:7px 0 14px; }
.file-hash { overflow-wrap:anywhere; display:block; font-size:.73rem; margin:7px 0; }
.review-photo { max-height:280px; width:auto; margin-top:12px; border-radius:8px; }
.record-revisions { border-top:1px solid var(--line); padding:12px 0; }
summary { cursor:pointer; color:var(--wine); font-weight:600; }
.record-revisions details { margin:8px 0; }
.selection .button { margin-top:12px; width:100%; }
.back { display:inline-block; margin-bottom:9px; }
.identity { margin-bottom:12px; }
.profile-actions { display:flex; align-items:center; flex-wrap:wrap; gap:9px; }
.profile-buttons { display:flex; align-items:stretch; gap:8px; max-width:100%; }
.button.profile-delete { background:transparent; color:var(--wine); border-color:var(--wine); }
.button.profile-delete:hover { background:var(--shell); color:var(--wine); }
.profile-buttons .button { min-width:0; }
.stack { display:grid; gap:11px; align-content:start; }
.quick { display:grid; grid-template-columns:repeat(auto-fit,minmax(145px,1fr)); gap:8px; margin-top:10px; }
fieldset { border:1px solid var(--line); border-radius:8px; padding:12px; margin:0 0 12px; min-width:0; background:#fff8f5; }
legend { color:var(--deep); background:#f1d6d2; padding:4px 10px; border-radius:5px; font-weight:600; }
.field-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; align-items:start; }
.editor-grid.solo { grid-template-columns:minmax(0,1fr); }
.full { grid-column:1/-1; }
.form-actions { justify-content:flex-end; margin-top:12px; flex-wrap:wrap; }
.timeline,.related { padding-left:19px; }
.timeline li,.related li { margin-bottom:8px; }
.calendar-heading h2 { text-transform:capitalize; }
.calendar { display:grid; grid-template-columns:repeat(7,minmax(95px,1fr)); gap:3px; min-width:660px; }
.calendar.one-day { min-width:0; grid-template-columns:1fr; }
.weekday { text-align:center; font-weight:600; padding-bottom:4px; }
.calendar-day { border:1px solid var(--line); border-radius:6px; min-height:78px; padding:4px; display:grid; align-content:start; gap:4px; }
.calendar-day.current { border-color:var(--clay); background:#f6e5e1; }
.calendar-day.muted { background:#f4efec; }
.day-number { text-decoration:none; padding:2px 4px; width:max-content; }
.calendar-event { display:grid; border-radius:5px; padding:4px; text-decoration:none; white-space:normal; line-height:1.3; font-size:.65rem; }
.calendar-event small { color:inherit; }
.one-day .calendar-event { padding:10px; font-size:.82rem; }
.one-day .button { justify-self:start; }
.catalog { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,255px),1fr)); gap:10px; }
.service-card { display:grid; grid-template-columns:58px minmax(0,1fr); gap:12px; }
.service-icon { background:#f4dcd7; color:var(--wine); border-radius:8px; min-height:110px; display:grid; place-items:center; }
.service-icon svg { width:26px; height:26px; }
.service-photo { width:100%; height:100%; min-height:110px; object-fit:cover; border-radius:8px; }
.gallery-panel { margin-top:13px; }
.gallery-pair { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px; }
.gallery-pair img { width:100%; aspect-ratio:1; object-fit:cover; border-radius:7px; }
.gallery-panel .button { margin-top:10px; }
.service-meta { display:flex; flex-wrap:wrap; align-items:center; gap:5px; margin:8px 0; font-size:.75rem; }
.service-meta span { color:var(--deep); font-weight:600; }
.financial-summary { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; }
.financial-summary div { background:#f5e0dd; border-radius:8px; padding:8px; }
.financial-summary strong { display:block; }
.standalone { min-height:100dvh; display:grid; place-items:center; padding:20px; background:radial-gradient(ellipse at top,#e7c5be,#fcf2ef 67%); }
.public-card { width:min(100%,440px); padding:24px; }
.public-card > img { display:block; margin:0 auto 15px; background:transparent; }
.public-card h1 { font-size:2rem; margin:8px 0 16px; }
.payment-wizard { max-width:900px; margin:0 auto; }
.payment-wizard h3 { margin-bottom:16px; }
.payment-wizard section > label,.payment-search { margin:14px 0; }
.payment-steps { display:flex; gap:8px; list-style:none; margin:0 0 16px; padding:0; }
.payment-steps li { flex:1; border-radius:7px; padding:9px; background:var(--shell); font-size:.78rem; }
.payment-steps [aria-current=step] { background:var(--wine); color:white; font-weight:600; }
#payment-client-results { display:grid; gap:4px; padding:8px; margin-top:-10px; border:1px solid var(--line); border-radius:7px; }
#payment-client-results button { text-align:left; border:0; padding:12px; background:var(--paper); border-radius:5px; }
#payment-client-results button:hover,#payment-client-results button:focus { background:var(--shell); }
.payment-totals { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:12px 0 20px; }
.payment-totals div { padding:11px; border-radius:8px; background:var(--shell); }
.payment-totals dt { font-size:.73rem; color:var(--muted); }
.payment-totals dd { margin:5px 0 0; font-size:1.12rem; font-weight:600; }
.payment-choices { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.payment-choice { display:flex; gap:8px; padding:12px; border:1px solid var(--line); border-radius:8px; font-weight:400; background:var(--white); }
.payment-choice:has(input:checked) { border-color:var(--wine); background:var(--shell); }
.payment-choice input[type=radio] { flex:none; width:18px; height:18px; min-height:0; margin:3px 0 0; accent-color:var(--wine); }
.payment-choice small { display:block; margin-top:5px; line-height:1.5; }
.payment-confirmation { margin:15px 0 22px; }
.payment-email { margin:18px 0 9px; }
.receipt-brand { display:flex; gap:18px; align-items:center; margin-bottom:15px; }
.receipt-number { overflow-wrap:anywhere; color:var(--muted); font-size:.75rem; margin:12px 0; }
.receipt-emphasis { background:var(--shell); border-radius:6px; padding:12px !important; }
.receipt-caption { font-size:.75rem; margin:16px 0; }
[data-mail-error]:empty { display:none; }
@media(max-width:700px){
 .payment-steps { gap:4px; }.payment-steps li { font-size:.68rem; padding:8px 5px; }
 .payment-totals { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .payment-totals dd { font-size:1rem; overflow-wrap:anywhere; }
 .payment-choices { grid-template-columns:1fr; }
 .payment-choice { min-height:67px; }
 .payment-wizard .form-actions .button { flex:1 1 100%; }
 .receipt-brand { gap:10px; }.receipt-brand h3 { font-size:1.08rem; }
}
@media(max-width:1070px) { .crm { grid-template-columns:170px minmax(0,1fr); } .signature { font-size:1.65rem; } }
@media(max-width:850px) { .split { grid-template-columns:minmax(0,1fr); } .metrics { grid-template-columns:repeat(3,minmax(0,1fr)); } .topbar { grid-template-columns:minmax(0,1fr) auto; } .topbar .daily-message { grid-column:1 / -1; grid-row:2; padding:4px 12px; } .top-actions { grid-column:2; grid-row:1; } }
@media(max-width:700px) {
 .crm { display:block; }
 .greeting { grid-template-columns:minmax(0,1fr); gap:12px; }
 .daily-message { padding:10px 12px; }
 .signature { grid-column:auto; text-align:center; }
 #content { padding:10px 12px 20px; }
 .sidebar { display:none; position:fixed; inset:64px auto 0 0; width:min(255px,90vw); height:auto; z-index:10; box-shadow:5px 0 20px #4d232648; }
 .sidebar.open { display:flex; }
 .sidebar a:not(.brand),.sidebar button { min-height:44px; }
 .menu-toggle { display:inline-flex !important; }
 .topbar { position:relative; z-index:11; background:#fcf2ef; padding:3px 0 7px; }
 .clock-group > svg { display:none; }
 .top-actions > span:last-child { display:none; }
 .dashboard-grid { grid-template-columns:minmax(0,1fr); }
 .metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .metric { min-height:67px; }
 .field-grid { grid-template-columns:minmax(0,1fr); }
 .button { min-height:44px; }
 .clock-group { min-width:0; gap:7px; }
 #florida-clock { min-width:0; }
 #florida-clock span { font-size:.65rem; }
 .menu-toggle { padding:7px 9px; flex:none; }
 .top-actions { gap:6px; }
 .top-actions > .avatar { display:none; }
 .daily-message p { font-size:1rem; }
 .actions,.panel-heading,.identity { flex-wrap:wrap; }
 .panel-heading > h2,.panel-heading > div,.section-title h2 { min-width:0; overflow-wrap:break-word; }
 .panel-heading > a:not(.button) { text-align:left; }
 .section-title { align-items:flex-start; }
 .section-title h2 { font-size:1.6rem; line-height:1.2; }
 .identity { align-items:flex-start; }
 .identity .person { width:100%; align-items:flex-start; }
 .identity .person p { overflow-wrap:anywhere; }
 .identity > div:last-child { display:flex; align-items:center; flex-wrap:wrap; gap:9px; }
 .identity h2 { font-size:1.5rem; overflow-wrap:break-word; }
 .badge { max-width:100%; white-space:normal; }
 .filters { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:end; }
 .filters .search { grid-column:1 / -1; }
 input:not([type=checkbox]):not([type=radio]),select,textarea { font-size:16px; min-width:0; min-height:44px; }
 .filters .button { width:100%; }
 .table-wrap { overflow:visible; }
 .table-wrap table,.table-wrap tbody { display:block; min-width:0; }
 .table-wrap thead { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
 .table-wrap tbody tr { display:grid; padding:14px; border-bottom:1px solid var(--line); gap:9px; }
 .table-wrap tbody tr:last-child { border-bottom:0; }
 .table-wrap td { display:grid; grid-template-columns:minmax(85px,.85fr) minmax(0,1.5fr); align-items:start; gap:10px; max-width:none; padding:0; border:0; font-size:.82rem; }
 .table-wrap td[data-label]::before { content:attr(data-label); color:var(--muted); font-size:.75rem; }
 .table-wrap td.record-name { display:block; min-width:0; font-size:.94rem; }
 .table-wrap td.record-name::before,.table-wrap td.record-actions::before { display:none; }
 .table-wrap .record-name .person { align-items:center; }
 .table-wrap .record-name strong { line-height:1.45; }
 .table-wrap td.record-actions { display:flex; justify-content:flex-end; padding-top:3px; }
 .table-wrap td.empty { display:block; }
 .mobile-table-sort { display:block; padding:12px 14px; border-bottom:1px solid var(--line); }
 .mobile-table-sort nav { display:flex; flex-wrap:wrap; gap:7px; padding-top:10px; }
 .mobile-table-sort a { padding:7px 10px; background:var(--shell); border-radius:6px; }
 .pagination { gap:10px; flex-wrap:wrap; }
 .appointment-row { flex-wrap:wrap; }
 .appointment-row > div { min-width:0; flex:1; }
 .appointment-row .badge { margin-left:0; }
 .event { align-items:flex-start; flex-wrap:wrap; }
 .event > div { min-width:0; flex:1; }
 .event small { margin-left:40px; text-align:left; }
 .financial-summary { grid-template-columns:1fr; }
 .service-content,.metric > div { min-width:0; }
 .metric strong { overflow-wrap:anywhere; }
 .chart { gap:4px; }
}
@media print {
 .crm { display:block; background:#fff; }
 .sidebar,.topbar,.greeting,.back,.section-title .actions,.skip,.notice { display:none !important; }
 #content { padding:0; }
 .panel { border-color:#ddd; box-shadow:none; }
}
/* Keep natural words readable; technical hashes retain their own wrapping rule. */
.context-help { margin:0 0 16px; }
.context-help summary { display:flex; align-items:center; gap:7px; cursor:pointer; color:var(--wine); font-weight:600; }
.context-help .panel { margin-top:10px; }
.crm label,.crm button,.crm .button,.crm th,.crm td,.crm .details dd { word-break:normal; overflow-wrap:break-word; hyphens:none; }
.crm .button,.crm button { white-space:normal; height:auto; }
.crm td .button { white-space:normal; }
.crm fieldset,.crm .panel,.crm .field-grid > *,.crm .payment-choice span { min-width:0; }
.crm input::placeholder,.crm textarea::placeholder { color:#7c6361; opacity:1; }
.crm .table-wrap td:not(.record-name):not(.record-actions) { min-width:0; }
.crm .file-hash,.crm .receipt-number,.crm code { overflow-wrap:anywhere; }
@media(max-width:380px){.crm .table-wrap td { grid-template-columns:1fr; gap:3px; }.crm .details > div { grid-template-columns:1fr; gap:4px; }}
