*{box-sizing:border-box}body{margin:0;background:#f2f0ea;color:#292e2d;font:14px/1.55 system-ui,sans-serif}a{color:#345a64}header{min-height:68px;background:#fffefa;border-bottom:1px solid #dcd9d0;padding:16px 34px;display:flex;align-items:center;justify-content:space-between;gap:16px}header form{margin:0;display:flex;align-items:center;gap:10px}main{width:100%;box-sizing:border-box;padding:30px 34px}.heading{margin-bottom:24px}h1{font-size:30px;line-height:1.25;margin:4px 0 10px;font-weight:650}h2{font-size:19px;margin:0 0 12px}p{margin:0 0 16px}.heading>p:last-child,.muted{color:#6f716b}.eyebrow{color:#806133;font-size:11px;font-weight:700;letter-spacing:.12em;margin-bottom:8px}.panel{background:#fffefa;border:1px solid #dcd9d0;border-radius:6px;padding:24px;margin-bottom:22px}.narrow{max-width:none}.panel.narrow{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));column-gap:18px;align-items:start}.panel.narrow>:not(.field){grid-column:1/-1}.cards{display:grid;grid-template-columns:1fr 1fr;gap:22px}.cards .panel{display:flex;flex-direction:column;align-items:flex-start}.cards .button{margin-top:auto}.button,button{border:1px solid #c7c6bd;border-radius:4px;background:#fffefa;padding:9px 14px;font:inherit;text-decoration:none;color:#292e2d;cursor:pointer;display:inline-block}.primary{background:#345a64;color:white;border-color:#345a64}.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-bottom:16px}.field{margin-bottom:18px}label{display:block;font-weight:600;margin-bottom:6px}input,select{width:100%;max-width:100%;border:1px solid #b9bbb6;border-radius:4px;padding:9px 10px;background:white;font:inherit;color:inherit}.errorlist{color:#a12b28;padding-left:20px}.notice{background:#e6efe8;border:1px solid #a8c6af;padding:12px}.pill{font-size:12px;border:1px solid #d8c6a3;color:#70572f;background:#f7f1e4;padding:4px 9px;border-radius:20px}.roadmap{display:grid;grid-template-columns:repeat(5,1fr);padding:0;list-style:none;gap:18px}.roadmap li{border-top:3px solid #dcd9d0;padding-top:12px}.roadmap li:first-child{border-color:#9a7a42}.roadmap span{display:block;color:#6f716b;font-size:12px;margin-top:4px}table{border-collapse:collapse;width:100%;text-align:left}th,td{padding:12px;border-bottom:1px solid #dcd9d0;vertical-align:top}th{background:#f7f5ef;white-space:nowrap}@media(max-width:1400px){th,th.money{white-space:normal}}.table-scroll{overflow-x:auto}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #9a7a42;outline-offset:3px}.skip{position:absolute;left:-9999px;z-index:10}.skip:focus{left:10px;top:10px;background:white;padding:10px}@media(max-width:800px){main{padding:22px 18px}header{padding:14px 18px}.cards{grid-template-columns:1fr;gap:0}.roadmap{grid-template-columns:1fr 1fr}h1{font-size:26px}}.ledger-nav{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}.ledger-nav a{color:#345a64;border:1px solid #dcd9d0;background:#fffefa;padding:7px 12px}.synthetic-note{font-size:12px;color:#70572f;background:#f7f1e4;border:1px solid #d8c6a3;padding:9px 12px}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:18px}.journal-lines{width:100%;table-layout:fixed}@media(max-width:700px){.journal-lines{min-width:640px}}.journal-lines td{overflow-wrap:anywhere}.journal-lines input[type=checkbox],input[type=checkbox]{width:auto}.money{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.filter-form{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end}.details{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:20px;margin:0}.details dt{font-size:12px;color:#6f716b}.details dd{margin:4px 0 0}.actions form{margin:0}.ledger-nav a:focus-visible{outline:3px solid #9a7a42}@media(max-width:800px){.form-grid,.details{grid-template-columns:1fr}.ledger-nav{display:flex}.ledger-nav a{display:inline-block} }
#add-line,[data-add-line]{margin-top:16px}.delete-line{padding:7px 10px;color:var(--danger,#a12b28)}.journal-lines tr[hidden]{display:none!important}
.delete-line{white-space:nowrap;min-width:66px}.filter-form label{font-size:12px}.filter-form>div{flex:1 1 150px}.filter-form{gap:12px}.filter-form input{min-width:120px}.report-scope{color:#6f716b;font-size:12px}select:disabled{background:#f2f0ea;color:#292e2d}
.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:22px}.metrics article{background:var(--panel,#fffefa);border:1px solid var(--line,#dcd9d0);border-left:4px solid var(--card-accent,var(--primary,#345a64));border-radius:6px;padding:20px}.metrics span{display:block;color:#6f716b;font-size:12px;margin-bottom:6px}.metrics strong{display:block;font-size:24px;font-variant-numeric:tabular-nums;color:var(--primary-dark,#26343a)}@media(max-width:800px){.metrics{grid-template-columns:1fr;gap:10px}.metrics article{padding:16px}}
body{background:var(--canvas,#f2f0ea)}a{color:var(--primary,#345a64)}header,.panel,.metrics article,.button,button{background:var(--panel,#fffefa);border-color:var(--line,#dcd9d0)}th{background:var(--table-head,#f7f5ef)}.primary{background:var(--action,#345a64);border-color:var(--action,#345a64)}.primary:hover{background:var(--action-hover,#29474f)}input:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible{outline-color:var(--accent-amber,#9a7a42)}body[data-expression=muted] .pill,body[data-expression=muted] .synthetic-note{background:var(--surface);border-color:var(--line);color:#59605d}

/* Line tables: the first two columns (item or account, description) get more room; the rest share what is left; the delete column stays small. */
.journal-lines th:first-child{width:26%}.journal-lines th:nth-child(2){width:24%}.journal-lines th:last-child{width:90px}
/* Buttons never sit flush against the table, panel or text above them. */
.table-scroll+.actions,.table-scroll+button,.table-scroll+.button,.table-scroll+form,.table-scroll+p+.actions,.panel+button,.panel+.button,.panel+form>button:first-child{margin-top:16px}
.actions.spaced{margin-top:16px}
.metrics.four{grid-template-columns:repeat(4,minmax(0,1fr))}.metrics article:nth-child(4n+1){--card-accent:var(--accent-blue)}.metrics article:nth-child(4n+2){--card-accent:var(--accent-coral)}.metrics article:nth-child(4n+3){--card-accent:var(--accent-green)}.metrics article:nth-child(4n+4){--card-accent:var(--accent-amber)}.metrics a.metric-link{display:block;margin:-20px;padding:20px;color:inherit;text-decoration:none;border-radius:6px}.metrics article:has(a.metric-link){transition:border-color .15s,box-shadow .15s}.metrics article:has(a.metric-link):hover{border-color:var(--primary);border-left-color:var(--card-accent);box-shadow:0 2px 8px #292e2d14}.metrics a.metric-link:focus-visible{outline-offset:2px}.metrics small{display:block;color:#6f716b;font-size:12px;margin-top:6px}
@media(max-width:1100px){.metrics.four{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:800px){.metrics.four{grid-template-columns:1fr}}
[hidden]{display:none!important}
/* Vendor contacts: names narrower, email wider. */
[data-lines="contacts"] table{table-layout:fixed;min-width:760px}[data-lines="contacts"] th:nth-child(1),[data-lines="contacts"] th:nth-child(2){width:14%}[data-lines="contacts"] th:nth-child(3){width:17%}[data-lines="contacts"] th:nth-child(4){width:29%}[data-lines="contacts"] th:nth-child(5){width:17%}[data-lines="contacts"] th:nth-child(6){width:9%}[data-lines="contacts"] td input{width:100%;box-sizing:border-box}
.metrics article{border-left-color:var(--card-accent,var(--primary))}
/* Item types (Accounting settings): one row per type; short name, prefix and number so the three accounts get the room. */
table.item-types{table-layout:fixed;min-width:900px}table.item-types th,table.item-types td{padding-left:4px;padding-right:4px}table.item-types th:first-child,table.item-types td:first-child{padding-left:10px}
table.item-types th:nth-child(1){width:8%}table.item-types th:nth-child(2){width:17%}table.item-types th:nth-child(3){width:6%}table.item-types th:nth-child(4){width:7%}table.item-types th:nth-child(5){width:6%}table.item-types th:nth-child(6),table.item-types th:nth-child(7),table.item-types th:nth-child(8){width:16.33%}table.item-types th:nth-child(9){width:7%}
table.item-types td input:not([type=hidden]),table.item-types td select{width:100%;box-sizing:border-box;font-size:14px;padding-left:6px;padding-right:2px}table.item-types .delete-line{padding:5px 6px;font-size:13px}
.form-grid.two{grid-template-columns:repeat(2,minmax(180px,1fr))}.form-grid.four{grid-template-columns:repeat(4,minmax(150px,1fr))}
@media(max-width:1100px){.form-grid.four{grid-template-columns:repeat(2,minmax(150px,1fr))}}@media(max-width:800px){.form-grid.two,.form-grid.four{grid-template-columns:1fr}}
[data-item-form] textarea{width:100%;box-sizing:border-box}
/* Item form: one container, quiet section headings with a thin rule. */
.item-form-panel .form-section+.form-section{margin-top:22px;padding-top:16px;border-top:1px solid var(--line,#dcd9d0)}.item-form-panel .form-section>h3{margin:0 0 12px;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#6f716b}.item-form-panel .form-section>h3 a{color:inherit}
/* Blocking message shown over a form (for example, a setup step missing before a save). */
dialog.setup-dialog{position:fixed;inset:0;margin:auto;max-width:460px;width:calc(100% - 32px);border:1px solid var(--line,#dcd9d0);border-radius:8px;background:var(--panel,#fffefa);padding:24px;box-shadow:0 12px 40px #0003;z-index:50}dialog.setup-dialog h2{margin-top:0}dialog.setup-dialog .actions{margin:18px 0 0}
dialog.setup-dialog::backdrop{background:#1d23264d}
.bill-filters{margin-bottom:20px}
.heading-balance{font-variant-numeric:tabular-nums;color:var(--primary-dark,#26343a)}
/* Registers: the filter panel stays put while the entries scroll underneath it. */
.sticky-filters{position:sticky;top:0;z-index:5;box-shadow:0 6px 12px -8px #292e2d33}
.register-table{overflow:visible}.register-table thead th{position:sticky;top:var(--sticky-offset,0);z-index:4;background:var(--table-head,#f1efe9)}
@media(max-width:800px){.register-table{overflow-x:auto}.register-table thead th{position:static}}
button.danger:not(.primary){color:#a12b28;border-color:#dfb3ad}
.amount-link{color:inherit;text-decoration:none}.amount-link:hover{text-decoration:underline}

/* Printing reports (Print / PDF): only the report, with the shop name on top. */
.print-only{display:none}
@media print{.sidebar,.topbar,.report-tools,form.filter-form,.messages,.nav-toggle,.notice,.skip{display:none!important}main{margin:0!important;padding:0!important}.print-only{display:block}a{color:inherit;text-decoration:none}body{background:#fff}
/* Printed reports: one standard layout, matching the printed financial statements */
body:has(.print-header){font-size:10.5pt;line-height:1.4;color:#111}
body:has(.print-header) .heading,body:has(.print-header) .metrics,body:has(.print-header) .actions,body:has(.print-header) .report-scope{display:none!important}
.print-header{text-align:center;margin:0 0 .3in;border:0;min-height:0;padding:0;background:#fff}.print-header .shop{font-size:14pt;font-weight:bold}.print-header .title{font-size:12.5pt}.print-header .dates{font-size:10pt;color:#555}
body:has(.print-header) .panel{border:0;box-shadow:none;padding:0;margin:0 0 .25in;background:#fff}body:has(.print-header) .panel h2{font-size:11pt;margin:0 0 6px}
body:has(.print-header) .table-scroll{overflow:visible}body:has(.print-header) table{font-size:10pt}
body:has(.print-header) th,body:has(.print-header) td{background:#fff!important;border:0;padding:2px 6px;position:static!important}
body:has(.print-header) thead th{border-bottom:1px solid #111;font-weight:bold;padding:4px 6px}
body:has(.print-header) tfoot th,body:has(.print-header) tfoot td{font-weight:bold;padding-top:4px}body:has(.print-header) tfoot tr:first-child>*{border-top:1px solid #111}body:has(.print-header) tfoot tr:last-child>*{border-bottom:3px double #111}
body:has(.print-header) tr{page-break-inside:avoid}}
.passphrase code{font-size:20px;letter-spacing:.04em;padding:10px 14px;display:inline-block;background:var(--surface,#f8f6f1);border:1px solid var(--line,#dcd9d0);border-radius:6px;user-select:all}
.actions form{display:flex;flex-wrap:wrap;gap:10px}
.password-wrap{position:relative;display:inline-block;width:100%}.password-wrap input{width:100%;box-sizing:border-box;padding-right:42px}.password-toggle{position:absolute;right:4px;top:50%;transform:translateY(-50%);border:0;background:none;padding:6px;color:var(--muted,#6f716b);cursor:pointer;line-height:0}.password-toggle:hover{color:inherit}
/* Financial statements: section headings, indented account lines, totals and results */
table.statement .statement-group th{font-size:1.02rem;padding-top:1rem}
table.statement .statement-section th{padding-top:.75rem;color:var(--muted, inherit);font-weight:600}
table.statement .statement-line td:first-child{padding-left:1.5rem}
table.statement .statement-total th{font-weight:600;border-top:1px solid var(--line, currentColor)}
table.statement .statement-result th{font-weight:700;border-top:1px solid var(--line, currentColor)}
table.statement .statement-subtotal td{font-weight:600;border-top:1px solid var(--line, currentColor)}
table.statement .statement-section th{background:color-mix(in srgb,var(--table-head,#f7f5ef) 45%,transparent)}
table.statement .statement-net th{font-weight:700;border-top:1px solid var(--line,currentColor);border-bottom:3px double var(--line,currentColor)}
table.statement thead th.money{white-space:nowrap}
.metrics small.metric-trend{font-weight:600}.metrics small.trend-good{color:#2f7a4a}.metrics small.trend-bad{color:#a8442f}.metrics small.trend-flat{color:#6f716b}
/* Fonts: one set of roles from fonts/pairings.css (chosen in Appearance) */
body{font-family:var(--font-body)}h1,h2,h3,legend,.brand>a,.print-header .shop,.print-header .title{font-family:var(--font-heading)}h1{font-weight:600;letter-spacing:-.01em}h2,h3{font-weight:600}
input,select,textarea,button,.button{font-family:inherit}.money,td.money,th.money,.metrics strong{font-variant-numeric:tabular-nums}
code,pre,kbd,.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
@media print{body:has(.print-header){font-family:var(--font-print)}}
/* Shop work: job roadmap, estimate editor, week schedule */
.job-header{position:sticky;top:0;z-index:5;background:var(--canvas,#f2f0ea);padding-bottom:8px;margin-bottom:14px}
.roadmap-steps{display:flex;flex-wrap:wrap;gap:6px}.roadmap-steps .step{display:flex;flex-direction:column;min-width:96px;padding:7px 10px;border:1px solid var(--line,#dcd9d0);border-radius:6px;background:var(--panel,#fffefa);color:inherit;text-decoration:none;font-size:12px;line-height:1.3}
.roadmap-steps .step-label{font-weight:600}.roadmap-steps .step-state{color:var(--muted,#6f716b)}.roadmap-steps .step-dot{width:8px;height:8px;border-radius:50%;background:#c7c6bd;margin-bottom:4px}
.roadmap-steps .step-done .step-dot{background:#2f7a4a}.roadmap-steps .step-current{border-color:var(--primary,#345a64);box-shadow:0 0 0 1px var(--primary,#345a64)}.roadmap-steps .step-current .step-dot{background:var(--primary,#345a64)}
.roadmap-steps .step-waiting .step-dot{background:#b8862f}.roadmap-steps .step-not-needed{opacity:.6}
.panel[id]{scroll-margin-top:150px}.plain-list{list-style:none;padding:0;margin:0 0 12px}.plain-list li{padding:4px 0}
.inline-form{display:inline-flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0}.inline-form input,.inline-form select{width:auto}.inline-check{display:inline-flex;gap:4px;align-items:center;font-weight:400;margin:0 8px 0 0}.inline-check input{width:auto}
.actions.left{justify-content:flex-start}.late-row td{background:#fbefe9}.order-parts{margin-top:12px}
.operation .operation-head{margin-bottom:8px}.operation-foot{display:flex;gap:12px;align-items:center;margin-top:10px}.operation-total{margin-left:auto}.parts-lines input,.parts-lines select{min-width:70px}
.form-grid .span-3{grid-column:span 3}@media(max-width:800px){.form-grid .span-3{grid-column:auto}}
.week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}.week .day{background:var(--panel,#fffefa);border:1px solid var(--line,#dcd9d0);border-radius:6px;padding:10px;min-height:180px}
.week .day h3{margin:0;font-size:14px}.week .day.today{border-color:var(--primary,#345a64);box-shadow:0 0 0 1px var(--primary,#345a64)}.week .day.closed{opacity:.6}.day-hours{font-size:12px;color:var(--muted,#6f716b);margin:2px 0 8px}
.booking{display:flex;flex-direction:column;gap:1px;font-size:12px;padding:6px 8px;margin-bottom:6px;border-left:3px solid var(--primary,#345a64);background:var(--surface,#f7f5ef);border-radius:4px;color:inherit;text-decoration:none}.booking.provisional{border-left-color:#b8862f;border-left-style:dashed}
@media(max-width:1000px){.week{grid-template-columns:1fr}.week .day{min-height:0}}
textarea{width:100%;max-width:100%;border:1px solid #b9bbb6;border-radius:4px;padding:9px 10px;font:inherit;color:inherit;background:white}
.parts-lines{min-width:1080px;table-layout:fixed}.parts-lines th:nth-child(1){width:20%}.parts-lines th:nth-child(2){width:18%}.parts-lines th:nth-child(3){width:9%}.parts-lines th:nth-child(4){width:9%}.parts-lines th:nth-child(5){width:12%}.parts-lines th:nth-child(6),.parts-lines th:nth-child(7),.parts-lines th:nth-child(8){width:7%}.parts-lines th:nth-child(9){width:5%}.parts-lines th:nth-child(10){width:7%}.parts-lines th:nth-child(11){width:7%}.parts-lines th{white-space:nowrap}.parts-lines td{padding:6px 4px}
.job-tabs{flex-wrap:wrap;padding-left:0;margin:12px 0 0;border-bottom:1px solid var(--line,#dcd9d0)}.job-tabs .document-tab{padding:7px 12px;font:inherit;cursor:pointer;margin-bottom:-1px}
.job-tabs .document-tab.active{background:var(--panel,#fffefa);border-bottom-color:var(--panel,#fffefa);color:var(--ink,#292e2d);font-weight:600}
.job-header+.panel,.job-header~.panel{border-top-left-radius:0}.roadmap-steps a{cursor:pointer}
.job-locked form:not(.keep-open),.job-locked .actions a.button:not(.keep-open),.job-locked .actions button:not(.keep-open button){display:none}
.job-locked input,.job-locked textarea,.job-locked select{pointer-events:none}.job-locked form.keep-open input,.job-locked form.keep-open button{pointer-events:auto}
.customer-picker .field{margin-bottom:10px}.pick-list{display:grid;gap:6px;margin-bottom:12px}.pick-list:empty{display:none}.pick-row{display:flex;flex-wrap:wrap;gap:4px 14px;align-items:baseline;text-align:left;width:100%;border:1px solid var(--line,#dcd9d0);background:var(--panel,#fffefa);padding:10px 12px}.pick-row:hover,.pick-row:focus-visible{border-color:var(--primary,#345a64);background:var(--primary-light,#eef3f4)}.pick-list p{margin:4px 0}.picked{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid var(--primary,#345a64);border-radius:4px;padding:10px 12px;margin-bottom:12px}.picked span{display:block}.actions.left{justify-content:flex-start}
@media(min-width:801px){.metrics.two{grid-template-columns:repeat(2,minmax(0,1fr))}}.cost-input{max-width:110px;text-align:right}
.qty-input{max-width:70px;text-align:right}
.motor-list li{padding:6px 0;border-bottom:1px solid var(--line,#dcd9d0)}.motor-list li:last-child{border-bottom:0}
.motor-procedure ol{padding-left:22px}.motor-procedure li{margin:4px 0}.motor-procedure h4{margin:14px 0 4px}.motor-procedure table{border-collapse:collapse}.motor-procedure td,.motor-procedure th{border:1px solid var(--line,#dcd9d0);padding:4px 8px}
.motor-figure{margin:16px 0}.motor-figure img{max-width:100%;height:auto;background:#fff;border:1px solid var(--line,#dcd9d0);border-radius:4px}.motor-figure figcaption{color:var(--muted,#6f716b);font-size:.9em}
.motor-values{font-size:1.25em;font-weight:600}.motor-choices li{padding:6px 0}.motor-choices form{display:flex;justify-content:space-between;width:100%}
.motor-due-filter{margin-bottom:8px}.motor-code-form{margin-top:10px}.motor-info-links{flex-wrap:wrap}
[data-fragment][aria-busy=true]{min-height:80px;opacity:.6}
dialog.motor-dialog{max-width:880px;width:calc(100% - 32px);max-height:calc(100vh - 48px);overflow:hidden}dialog.motor-dialog[open]{display:flex;flex-direction:column}dialog.motor-dialog>*{flex:none}dialog.motor-dialog .document-tabs{padding-left:0;margin:14px 0 0}dialog.motor-dialog [data-motor-panel]{flex:1 1 auto;min-height:0;overflow:auto;padding:14px 6px 6px;margin:0 -6px}dialog.motor-dialog [data-motor-panel][hidden]{display:none}dialog.motor-dialog .motor-results{max-height:none}dialog.motor-dialog .actions{margin-top:14px}
.motor-results{max-height:46vh;overflow:auto;margin:8px 0;border:1px solid var(--line,#dcd9d0);border-radius:5px}
.motor-results .motor-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;width:100%;margin:0;text-align:left;background:none;border:0;border-bottom:1px solid var(--line,#dcd9d0);border-radius:0;padding:8px 10px;color:inherit;font:inherit;font-weight:400;line-height:1.35;cursor:pointer}.motor-results .motor-row:last-child{border-bottom:0}.motor-results .motor-row small{display:inline-block;margin-top:2px}.motor-results button.motor-row>span:last-child{white-space:nowrap}.motor-results label.motor-row{justify-content:flex-start}.motor-results label.motor-row input{width:auto;flex:none;margin:3px 0 0}.motor-results label.motor-row:hover{background:var(--surface,#f7f5ef)}.motor-results>p{margin:0;padding:10px}
.motor-results button.motor-row:hover,.motor-results button.motor-row[aria-pressed=true]{background:var(--surface,#f7f5ef)}
.motor-pick{border:1px solid var(--line,#dcd9d0);border-radius:5px;padding:12px;margin-top:8px}.motor-pick label{display:flex;gap:8px;align-items:flex-start;font-weight:400;margin:6px 0;line-height:1.35}.motor-pick label input{width:auto;flex:none;margin:2px 0 0}.motor-pick h3{margin-top:0}.motor-pick .actions{margin-top:12px}
.motor-procedure~.motor-figure img{max-width:min(100%,560px)}
.messages-tabs{margin-bottom:14px}.messages-table td{vertical-align:middle}.messages-table select{width:auto}
.editor-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}.editor-col{display:grid;gap:16px;min-width:0}.editor-col>.panel{margin:0}
@media(max-width:1100px){.editor-grid{grid-template-columns:minmax(0,1fr)}}
.rich-editor{border:1px solid var(--line,#dcd9d0);border-radius:6px;background:var(--panel,#fffefa)}
.rich-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding:6px;border-bottom:1px solid var(--line,#dcd9d0);background:var(--surface,#f7f5ef);border-radius:6px 6px 0 0}
.rich-toolbar button{min-width:32px;height:30px;padding:0 8px;font:inherit;font-size:.9em}.rich-toolbar select{width:auto;height:30px;padding:0 6px;font-size:.9em;margin-left:auto}
.rich-sep{width:1px;height:20px;background:var(--line,#dcd9d0);margin:0 4px}
.rich-area{min-height:160px;padding:10px 12px;outline:none;line-height:1.5;overflow-wrap:anywhere}.rich-area:focus-visible{box-shadow:inset 0 0 0 2px var(--accent-amber,#9a7a42)}
.rich-area p{margin:0 0 10px}.rich-area h2{font-size:1.2em;margin:12px 0 6px}.rich-area ul,.rich-area ol{margin:0 0 10px;padding-left:22px}
.email-preview{display:block;width:100%;height:560px;border:1px solid var(--line,#dcd9d0);border-radius:6px;background:#f4f4f2}
.preview-subject{margin:0 0 8px;overflow-wrap:anywhere}.fill-row{margin-top:6px}.fill-row select{width:auto}
.sms-preview{padding:14px;background:var(--surface,#f7f5ef);border-radius:8px}.sms-bubble{max-width:320px;margin:0;padding:10px 12px;border-radius:16px 16px 16px 4px;background:#e4e6e3;color:#1f2523;white-space:pre-wrap;overflow-wrap:anywhere}
.field input[type=color]{width:64px;height:38px;padding:3px}
.notice-brief{transition:opacity .4s ease}.notice-brief.fading{opacity:0}
/* One size and alignment for every action button, link-button and dropdown (2026-10-08) */
.button,button.primary,button.button,.actions button,.inline-form button,form>button,.test-form button,.mail-compose .actions button,.notify-head select{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;box-sizing:border-box;min-height:40px;padding:8px 14px;line-height:1.2;vertical-align:middle;white-space:nowrap}
label.button{cursor:pointer;margin:0}
.actions,.actions form,.inline-form{align-items:center}
.actions select,.inline-form select,.inline-form input:not([type=checkbox]):not([type=radio]),.field select,.field input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=file]){box-sizing:border-box;min-height:40px}
.mail-shared-row{display:grid;grid-template-columns:minmax(160px,240px) 1fr auto;gap:10px 16px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line,#dcd9d0)}.mail-shared-row strong{overflow-wrap:anywhere}
.mail-shared-people{display:flex;flex-wrap:wrap;gap:4px 14px}@media(max-width:800px){.mail-shared-row{grid-template-columns:1fr}}

.reminders-menu{position:relative}.reminders-menu>summary{list-style:none;cursor:pointer;position:relative;display:inline-grid;place-items:center;width:36px;height:36px;border-radius:50%;color:var(--ink,#292e2d)}.reminders-menu>summary::-webkit-details-marker{display:none}.reminders-menu>summary:hover,.reminders-menu[open]>summary{background:var(--surface,#f7f5ef)}
.reminders-menu>summary svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.reminders-menu.has-due>summary{color:var(--accent-coral,#C66D58)}
.reminders-count{position:absolute;top:1px;right:0;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:var(--accent-coral,#C66D58);color:#fff;font-size:11px;font-weight:700;line-height:17px;text-align:center}
.app-main>.topbar{position:relative;z-index:30}
.reminders-panel{position:absolute;right:0;top:calc(100% + 8px);z-index:40;width:min(400px,calc(100vw - 32px));max-height:min(640px,calc(100vh - 90px));overflow-y:auto;padding:12px;background:var(--panel,#fffefa);border:1px solid var(--line,#dcd9d0);border-radius:8px;box-shadow:0 12px 30px #0002}
.note-tools{display:flex;gap:12px;align-items:center;font-size:.85em}.note-tools .link-button,.note-tools a{color:var(--muted,#6f716b)}.note-body:empty{display:none}.note-body{margin-bottom:12px}.note-list{list-style:none;margin:0 0 10px;padding:0}.note-list li{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid var(--line,#dcd9d0);font-size:.9em}.note-list li:last-child{border-bottom:0}.note-list li>span{flex:1;text-align:right;color:var(--muted,#6f716b)}.note-list li.note-group{flex-direction:column;gap:4px}.note-list li.note-group>span{text-align:left}.note-rec{display:block;padding-left:10px}.note-list b{font-weight:600}.rem-section{padding-top:10px;border-top:1px solid var(--line,#dcd9d0)}.rem-top{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px}.rem-views{display:flex;gap:4px}.rem-views button{height:30px;padding:0 10px;font-size:.85em;border-radius:6px}.rem-views button.on{border-color:var(--primary,#345a64);box-shadow:inset 0 0 0 1px var(--primary,#345a64)}
.rem-form{display:flex;flex-direction:column;gap:6px;padding-bottom:10px;border-bottom:1px solid var(--line,#dcd9d0)}.rem-form textarea{width:100%;resize:vertical}.rem-row{display:flex;gap:6px;align-items:center}.rem-row input,.rem-row select{flex:1;min-width:0}.rem-row .primary,.rem-row .button{margin:0 0 0 auto}.rem-row .button+.primary{margin-left:0}.rem-error{flex:1;margin:0;font-size:.85em}
.rem-head{margin:12px 0 4px;font-size:.8em;text-transform:uppercase;letter-spacing:.04em;color:var(--muted,#6f716b)}.rem-head.due{color:var(--accent-coral,#C66D58)}
.rem-list{list-style:none;margin:0;padding:0}.rem-item{display:flex;gap:8px;align-items:flex-start;padding:8px 2px;border-bottom:1px solid var(--line,#dcd9d0)}.rem-item input{width:auto;margin-top:3px;flex:none}.rem-main{flex:1;min-width:0}.rem-main p{margin:0;overflow-wrap:anywhere}.rem-main small{font-size:.8em}
.rem-item.done .rem-main p{text-decoration:line-through;color:var(--muted,#6f716b)}.rem-icon{flex:none;width:28px;height:28px;padding:0;border:0;background:none;display:inline-grid;place-items:center;border-radius:5px;color:var(--muted,#6f716b);cursor:pointer}.rem-icon:hover{background:var(--surface,#f7f5ef)}.rem-icon svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.rem-done{margin-top:10px}.rem-done summary{cursor:pointer;font-size:.85em;color:var(--muted,#6f716b)}.rem-empty{padding:6px 2px;font-size:.9em}
.rem-form .rem-row{width:100%;justify-content:flex-end;margin:0}.rem-form .rem-row input,.rem-form .rem-row select{flex:1 1 50%;width:auto;max-width:none;margin:0}.rem-form textarea{max-width:none;margin:0}.rem-form .rem-row button{margin-top:0}
.report-actions{display:flex;gap:6px;align-items:center}.report-actions form{margin:0}.report-actions .button{margin:0}.report-actions .subscribed{border-color:var(--primary,#345a64);color:var(--primary,#345a64);font-weight:600}
.report-bar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
table.job-profit th,table.job-profit td{white-space:nowrap}table.job-profit td:first-child{white-space:normal;min-width:220px}table.job-profit .neg{color:var(--danger,#a12b28)}table.job-profit .pos{color:var(--accent-green,#53805F)}table.job-profit tfoot td{font-weight:700}
.signature-form+.signature-form{border-top:1px solid var(--line,#dcd9d0);margin-top:14px;padding-top:6px}.signature-form h3{margin:8px 0 6px}.signature-form select{width:auto}
.signature-form .rich-area{min-height:90px}
.suggest-host{position:relative;display:block;min-width:0}.suggest-host>input{width:100%;box-sizing:border-box}.suggest-list{position:absolute;left:0;right:0;top:100%;z-index:45;margin:2px 0 0;padding:4px 0;list-style:none;background:var(--panel,#fffefa);border:1px solid var(--line,#dcd9d0);border-radius:6px;box-shadow:0 8px 20px #0002;max-height:280px;overflow-y:auto;min-width:240px}.suggest-list li{display:flex;flex-direction:column;padding:6px 10px;cursor:pointer;font-size:.9em;line-height:1.3}.suggest-list li span{color:var(--muted,#6f716b);font-size:.85em}.suggest-list li:hover,.suggest-list li.on{background:var(--surface,#f7f5ef)}
.jp-toggle{width:22px;min-width:22px;height:22px;min-height:0;padding:0;margin-right:6px;border:0;background:transparent;color:var(--muted,#6f716b);font-size:16px;line-height:1;cursor:pointer;transition:transform .15s ease;vertical-align:top}.jp-toggle[aria-expanded=true]{transform:rotate(90deg)}tr.jp-items>td{padding:0 0 12px 28px;background:var(--surface,#f7f5ef)}table.jp-costs{width:100%;margin:0;font-size:.92em}table.jp-costs th,table.jp-costs td{padding:6px 10px}table.jp-costs th{font-weight:600;color:var(--muted,#6f716b)}table.jp-costs tfoot td{font-weight:700;border-top:1px solid var(--line,#dcd9d0)}table.jp-costs .neg{color:var(--danger,#a12b28)}table.jp-costs .pos{color:var(--accent-green,#53805F)}
.clock-chip{display:inline-flex;align-items:center;gap:2px;margin-right:8px;border:1px solid var(--line,#dcd9d0);border-left:4px solid var(--accent-green,#53805F);border-radius:18px;background:color-mix(in srgb,var(--accent-green,#53805F) 9%,var(--panel,#fffefa));font-size:13px}.clock-chip a{display:inline-flex;align-items:center;gap:7px;padding:5px 6px 5px 10px;color:inherit;text-decoration:none}.clock-chip a svg,.clock-chip button svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.clock-chip b{font-variant-numeric:tabular-nums;color:color-mix(in srgb,var(--accent-green,#53805F) 75%,var(--ink,#292e2d))}.clock-chip span{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.clock-chip form{margin:0}.clock-chip button{display:grid;place-items:center;width:28px;height:28px;min-height:0;margin-right:3px;padding:0;border:0;border-radius:50%;background:transparent;color:inherit;cursor:pointer}.clock-chip button:hover{background:color-mix(in srgb,var(--accent-green,#53805F) 16%,transparent)}@media(max-width:700px){.clock-chip span{display:none}}
.contact-link{color:inherit;text-decoration:underline;text-decoration-color:color-mix(in srgb,currentColor 35%,transparent);text-underline-offset:2px}.contact-link:hover{color:var(--primary,#345a64);text-decoration-color:currentColor}
.custody-cards{margin-top:4px}.custody-cards .custody-small{font-size:20px}.custody-cards small{display:block;margin-top:4px;font-size:12px;color:var(--muted,#6f716b)}.custody-cards>div:nth-child(1){--card:var(--accent-blue,#3F7FA5)}.custody-cards>div:nth-child(2){--card:var(--accent-amber,#B88735)}.custody-cards>div:nth-child(3){--card:var(--accent-green,#53805F)}.custody-cards>div:nth-child(4){--card:var(--accent-coral,#C66D58)}.ov-stat-cards.custody-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.ov-stat-cards.custody-cards>div{padding:12px 14px;border:1px solid var(--line,#dcd9d0);border-left:4px solid var(--card);border-radius:6px;background:color-mix(in srgb,var(--card) 9%,var(--panel,#fffefa))}.ov-stat-cards.custody-cards>div span{font-size:13px;color:var(--muted,#6f716b)}.ov-stat-cards.custody-cards>div strong{display:block;font-size:24px;color:color-mix(in srgb,var(--card) 70%,var(--ink,#292e2d))}.custody-details{margin-top:16px}.custody-now{margin:6px 0 0}.custody-review{margin:0 0 12px}.custody-add{margin:0 0 14px}.custody-add>summary{display:inline-flex;list-style:none;cursor:pointer}.custody-add>summary::-webkit-details-marker{display:none}.custody-add form{margin-top:12px}.custody-timeline{list-style:none;margin:0;padding:0}.custody-timeline li{display:grid;grid-template-columns:150px 1fr;gap:12px;padding:9px 0;border-top:1px solid var(--line,#dcd9d0)}.custody-timeline li:first-child{border-top:0}.custody-timeline time{color:var(--muted,#6f716b);font-size:13px;font-variant-numeric:tabular-nums}.custody-timeline li div{display:flex;flex-direction:column;gap:2px}.custody-timeline li span{color:var(--muted,#6f716b);font-size:14px}.custody-timeline li.notice strong{color:var(--primary,#345a64)}.storage-terms{margin:12px 0;padding:10px 12px;border:1px solid var(--line,#dcd9d0);border-radius:6px;background:var(--surface,#f7f5ef)}.storage-terms p{margin:6px 0 0}@media(max-width:700px){.ov-stat-cards.custody-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.custody-timeline li{grid-template-columns:1fr}}
.feed-source{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;padding:10px 0;border-top:1px solid var(--line,#dcd9d0)}.feed-source:first-of-type{border-top:0}.feed-source>div{display:flex;flex-direction:column;gap:2px;flex:1 1 220px}.feed-source.off{opacity:.6}.feed-add{margin-top:12px}.feed-add>summary,.feed-add-one>summary{list-style:none;cursor:pointer;display:inline-flex}.feed-add>summary::-webkit-details-marker,.feed-add-one>summary::-webkit-details-marker{display:none}.feed-add form{margin-top:12px}.feed-do{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.feed-do form{margin:0}.feed-add-one form{margin-top:6px;flex-wrap:wrap}.feed-table td{vertical-align:top}.feed-rule-add{margin-top:12px;flex-wrap:wrap}
.feed-state-tabs+.panel{border-top-left-radius:0;margin-top:0}
.tab-count{display:inline-grid;place-items:center;min-width:20px;height:20px;margin-left:6px;padding:0 6px;border-radius:10px;background:var(--primary,#345a64);color:#fff;font-size:12px;font-weight:600}
.payroll-check{margin:0;padding:9px 12px;border-radius:4px;border:1px solid var(--line,#dcd9d0);font-variant-numeric:tabular-nums}.payroll-check.ok{background:#e6efe8;border-color:#a8c6af;color:#24502f}.payroll-check.off{background:#f8e8e6;border-color:#dfb3ad;color:#a12b28}
.payroll-lines{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.payroll-lines table input{max-width:160px;margin-left:auto;text-align:right}@media(max-width:900px){.payroll-lines{grid-template-columns:1fr}}
.payroll-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.payroll-cards>div{border:1px solid var(--line,#dcd9d0);border-radius:6px;padding:12px 14px;background:var(--surface,#fffefa)}.payroll-cards span{display:block;font-size:12px;color:#6f716b}.payroll-cards strong{font-size:20px;font-variant-numeric:tabular-nums}
.payroll-facts th{background:none;width:1%;color:#6f716b;font-weight:600}.payroll-facts td{overflow-wrap:anywhere}@media(max-width:700px){.payroll-facts tr{display:grid;grid-template-columns:1fr}.payroll-facts th{width:auto;border-bottom:0;padding-bottom:0}}
.payroll-partial{font-weight:600;color:#70572f;background:#f7f1e4;border:1px solid #d8c6a3;border-radius:4px;padding:9px 12px}.payroll-off{color:#a12b28;font-weight:600}.payroll-register tr.total td{font-weight:600;border-top:2px solid var(--line-strong,#b9bbb6)}
.payroll-component{display:flex;width:100%}.payroll-component input[name=name]{flex:1 1 180px}
.payroll-summary{margin-bottom:16px}
.payroll-cards small{display:block;font-size:12px;color:#6f716b}.panel>.payroll-cards{margin-bottom:18px}
.payroll-register td:nth-child(-n+4),.payroll-pay td:nth-child(3){white-space:nowrap}.payroll-pay input{width:120px;text-align:right}@media(max-width:700px){.payroll-pay,.payroll-register{min-width:640px}}
.matrix-button{white-space:nowrap}.matrix-table{max-width:640px}.matrix-table input{text-align:right}.matrix-table td[data-from]{color:#6f716b;vertical-align:middle}
.notice.notice-error{background:#f8e8e6;border-color:#dfb3ad;color:#a12b28}.notice.notice-warning{background:#f7f1e4;border-color:#d8c6a3;color:#70572f}
.markup-cell{position:relative}.markup-menu{position:absolute;left:0;top:100%;z-index:20;margin-top:4px;background:#fffefa;border:1px solid #c7c6bd;border-radius:6px;box-shadow:0 4px 14px rgba(0,0,0,.12);padding:4px;white-space:nowrap}.markup-menu a{display:block;padding:7px 10px;border-radius:4px;text-decoration:none}.markup-menu a:hover,.markup-menu a:focus{background:#f2f0ea}
.item-types th:nth-child(5){width:9%}.item-types th:nth-child(6),table.item-types th:nth-child(7),table.item-types th:nth-child(8){width:15.33%}
.item-types .matrix-button{display:block;width:100%;white-space:normal;padding:6px 4px;text-align:center;line-height:1.25;font-size:13px}
.item-types .matrix-button{display:flex;align-items:center;box-sizing:border-box;width:100%;min-height:40px;padding:9px 10px;border:1px solid #b9bbb6;border-radius:4px;background:white;font:inherit;line-height:1.2;text-align:left;color:var(--primary,#345a64);text-decoration:underline;text-underline-offset:2px}
.item-types .matrix-button{padding:9px 6px;white-space:nowrap;overflow:hidden}.item-types th:nth-child(5){width:7%}.item-types th:nth-child(2){width:16%}
.clock-chip.paused{border-left-color:var(--accent-amber,#B88735);background:color-mix(in srgb,var(--accent-amber,#B88735) 11%,var(--panel,#fffefa))}.clock-chip.paused b{color:color-mix(in srgb,var(--accent-amber,#B88735) 75%,var(--ink,#292e2d))}.clock-chip.paused button:hover{background:color-mix(in srgb,var(--accent-amber,#B88735) 18%,transparent)}
.job-files td{vertical-align:middle}.job-files td:nth-child(2),.job-files td:nth-child(4){white-space:nowrap}.job-files .inline-form{display:flex}
#files .panel-head{margin-bottom:14px}
#files{position:relative}#files.dropping{outline:2px dashed var(--primary,#345a64);outline-offset:-8px;background:color-mix(in srgb,var(--primary,#345a64) 6%,var(--panel,#fffefa))}#files.dropping::after{content:"Drop to add";position:absolute;inset:0;display:grid;place-items:center;font-size:20px;font-weight:600;color:var(--primary,#345a64);pointer-events:none}#files.dropping>*{opacity:.35}
.shortcut-help{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:16px;background:rgba(20,24,23,.45)}.shortcut-card{width:min(460px,100%);max-height:90vh;overflow:auto;background:var(--panel,#fffefa);border-radius:8px;box-shadow:0 12px 40px rgba(0,0,0,.25);padding:20px 22px}.shortcut-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.shortcut-head h2{margin:0}.shortcut-head button{border:0;background:transparent;font-size:24px;line-height:1;padding:4px 8px;cursor:pointer}.shortcut-card dl{display:grid;grid-template-columns:max-content 1fr;gap:8px 18px;margin:0}.shortcut-card dt{white-space:nowrap}.shortcut-card dd{margin:0}.shortcut-card kbd{display:inline-block;min-width:22px;padding:2px 6px;border:1px solid var(--line-strong,#b9bbb6);border-bottom-width:2px;border-radius:4px;background:var(--surface,#f7f5ef);font:12px/1.4 ui-monospace,monospace;text-align:center}.shortcut-card dt span{color:#6f716b;font-size:12px}
.shortcut-flash{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:210;padding:9px 14px;border-radius:6px;background:#292e2d;color:#fff;font-size:14px;box-shadow:0 4px 14px rgba(0,0,0,.2)}
.signin-page{min-height:100vh;margin:0;background:var(--canvas,#f2f0ea);position:relative;overflow-x:hidden}.signin-watermark{position:fixed;inset:0;background-repeat:no-repeat;background-position:center;background-size:min(80vw,900px) auto;opacity:.07;pointer-events:none}.signin-main{position:relative;min-height:100vh;display:grid;place-items:center;padding:24px 16px;box-sizing:border-box}.signin-card{width:min(440px,100%)}.signin-card .heading h1{font-size:28px;text-align:center}.signin-card .panel{background:var(--panel,#fffefa);margin-bottom:16px}.signin-card form p{margin:0 0 14px}.signin-card form label{display:block;margin-bottom:6px}.signin-card button.primary,.signin-card .google-signin .button{width:100%;text-align:center;box-sizing:border-box}
.conn-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:18px;align-items:start;margin-bottom:18px}.conn-card{margin:0}.conn-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px}.conn-head h2{margin:0}
.conn-state{font-size:13px;font-weight:600;padding:3px 10px;border-radius:999px;border:1px solid;white-space:nowrap}.conn-state.ok{color:#24502f;background:#e6efe8;border-color:#a8c6af}.conn-state.warn{color:#70572f;background:#f7f1e4;border-color:#d8c6a3}.conn-state.bad{color:#a12b28;background:#f8e8e6;border-color:#dfb3ad}.conn-state.off{color:#5f625d;background:#f2f0ea;border-color:#d4d2ca}
.conn-words{margin:0 0 12px}.conn-note{margin:8px 0 0;font-size:13px}.conn-test{margin-top:10px}.conn-test input{min-width:240px}.conn-more{margin-top:12px;border-top:1px solid var(--line,#dcd9d0);padding-top:10px}.conn-more>summary{cursor:pointer;color:var(--primary,#345a64);font-weight:600}.conn-more form{margin-top:12px}.conn-code{display:block;overflow-wrap:anywhere;font-size:12px}
.conn-advanced>summary{cursor:pointer;list-style:none}.conn-advanced>summary::-webkit-details-marker{display:none}.conn-advanced>summary h2{display:inline;margin:0}.conn-advanced>summary::after{content:' ›';color:#6f716b}.conn-advanced[open]>summary::after{content:' ⌄'}.conn-adv{border-top:1px solid var(--line,#dcd9d0);padding-top:14px;margin-top:14px}.conn-adv h3{margin:0 0 6px}.conn-adv form{margin-top:10px}
@media(max-width:700px){.conn-cards{grid-template-columns:1fr}.conn-test input{min-width:0;width:100%}}
.conn-scope{font:600 11px/1 var(--font-body,system-ui);letter-spacing:.04em;text-transform:uppercase;color:#6f716b;border:1px solid var(--line,#dcd9d0);border-radius:4px;padding:3px 6px;vertical-align:middle;margin-left:6px}.plain-list li.inline-form{display:flex;justify-content:space-between;width:100%;padding:4px 0}
.conn-wrap .conn-cards{margin-bottom:0}.conn-wrap .conn-card{background:var(--surface,#f7f5ef);box-shadow:none}.conn-wrap .conn-advanced{margin-top:22px;border-top:1px solid var(--line,#dcd9d0);padding-top:16px}
.conn-cards{align-items:stretch}.conn-card{min-height:200px;display:flex;flex-direction:column}
.conn-wrap .conn-cards{grid-auto-rows:minmax(270px,auto)}.conn-card{min-height:0}
.danger-button{color:#a12b28;border-color:#dfb3ad}.danger-button:hover{background:#f8e8e6}
.done-button{background:var(--surface,#f2f0ea);color:#6f716b;border-color:var(--line,#dcd9d0)}.done-button:hover{color:inherit}
.job-messages>summary,.sent-summary>summary{cursor:pointer;margin:16px 0 8px}.job-messages>summary h3,.sent-summary>summary h3{display:inline;margin:0}
.more-groups{display:grid;gap:0}.more-group{display:grid;grid-template-columns:140px 1fr;gap:12px 20px;align-items:center;padding:14px 0;border-top:1px solid var(--line,#dcd9d0)}.more-group:first-child{border-top:0;padding-top:4px}.more-group h3{margin:0;font-size:.95rem}.more-group>p,.more-group>div>p{margin:0}.more-group .actions{margin:0}.more-callback{flex-wrap:wrap}.more-callback input{min-width:260px;flex:1;max-width:420px}.more-group.more-cancel{margin-top:6px}@media(max-width:640px){.more-group{grid-template-columns:1fr;gap:8px}}
.error-text{color:var(--danger,#a12b28)}
input[type=checkbox],input[type=radio],input[type=range],progress{accent-color:var(--action,var(--primary,#345a64))}
.paid-badge{display:inline-flex;align-items:center;gap:4px;margin-left:10px;padding:3px 12px;border-radius:999px;background:#e6efe8;border:1px solid #a8c6af;color:#24502f;font-size:14px;font-weight:600;vertical-align:middle}
.square-waiting{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--action,#345a64)}
.conn-sub{margin:14px 0 4px;font-size:.95rem}
.conn-head h2{display:flex;align-items:center;gap:10px}.conn-logo{width:24px;height:24px;flex:none}
.conn-logo-tile{border-radius:5px}
.pay-choice{margin:6px 0 14px}.pay-kinds{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-width:560px}.pay-kind{display:flex;flex-direction:column;align-items:center;gap:2px;padding:16px 10px;border:1px solid var(--line,#dcd9d0);border-radius:8px;background:var(--panel,#fff);cursor:pointer;font:inherit}.pay-kind strong{font-size:1.05rem}.pay-kind small{color:var(--muted,#6f716b)}.pay-kind:hover{border-color:var(--action,#345a64)}.pay-kind[aria-pressed=true]{border-color:var(--action,#345a64);box-shadow:inset 0 0 0 1px var(--action,#345a64);background:var(--primary-light,#e7ebec)}
.pay-card{margin-top:12px}.pay-card-amount{max-width:220px}.pay-card-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:10px}.pay-option{border:1px solid var(--line,#dcd9d0);border-radius:8px;padding:12px 14px;background:var(--panel,#fff)}.pay-option h4{margin:0 0 4px}.pay-option p{margin:0 0 10px;font-size:13px}.square-card{min-height:90px;margin:8px 0}
.pay-icon{width:26px;height:26px;flex:none}.pay-kind .pay-icon{width:32px;height:32px;margin-bottom:4px}.pay-option h4{display:flex;align-items:center;gap:8px}.pay-option h4 .pay-icon{width:22px;height:22px}
.pay-cash{--tone:var(--accent-green,#53805F)}.pay-check{--tone:#2F6DB5}.pay-cardkind{--tone:#8B5E3C}
.pay-opt-link{--tone:#2F6DB5}.pay-opt-terminal{--tone:var(--accent-amber,#B08A46)}.pay-opt-reader{--tone:#8B5E3C}.pay-opt-keyed{--tone:var(--accent-green,#53805F)}
.pay-kind,.pay-option{border-color:color-mix(in srgb,var(--tone) 35%,var(--line,#dcd9d0));background:color-mix(in srgb,var(--tone) 7%,var(--panel,#fff))}.pay-kind .pay-icon,.pay-option h4 .pay-icon{color:var(--tone)}.pay-option{border-top:3px solid var(--tone)}
.pay-kind:hover{border-color:var(--tone)}.pay-kind[aria-pressed=true]{border-color:var(--tone);box-shadow:inset 0 0 0 1px var(--tone);background:color-mix(in srgb,var(--tone) 16%,var(--panel,#fff))}
.pay-option-form{margin:0;display:flex}.pay-option-form[hidden]{display:none}.pay-entry{display:contents}
button.pay-option{width:100%;display:flex;align-items:center;gap:10px;min-height:64px;padding:14px 16px;border-radius:8px;border:1px solid color-mix(in srgb,var(--tone) 35%,var(--line,#dcd9d0));border-top:3px solid var(--tone);background:color-mix(in srgb,var(--tone) 7%,var(--panel,#fff));color:inherit;font:inherit;font-weight:600;text-align:left;cursor:pointer}
button.pay-option:hover{background:color-mix(in srgb,var(--tone) 15%,var(--panel,#fff))}button.pay-option .pay-icon{color:var(--tone)}button.pay-option[hidden]{display:none}
.pay-card-box,.pay-card-note{grid-column:1/-1}.pay-card-box{border:1px solid var(--line,#dcd9d0);border-radius:8px;padding:12px 14px;background:var(--panel,#fff)}.pay-card-note:empty{display:none}
.work-body>.square-waiting{margin-top:14px;padding-top:12px;border-top:1px solid var(--line,#dcd9d0);display:flex;flex-wrap:wrap}
.rem-form .rem-row select.rem-repeat{flex:0 1 auto;margin-right:auto;font-size:.85em;padding:4px 6px;min-height:0;color:var(--muted,#6f716b)}.rem-repeats{white-space:nowrap}
.rem-repeat-wrap{display:inline-flex;gap:6px;margin-right:auto;flex-wrap:wrap}.rem-form .rem-row .rem-repeat-wrap select.rem-repeat{margin-right:0}.rem-repeat[hidden]{display:none}
