:root{--bg:#f8f4ea;--paper:#fdfaf2;--card:var(--paper);--bg-tint:#f0e8d9;--burgundy:#400e11;--ink:var(--burgundy);--ink-2:#6b5c4f;--muted:#7a6b5c;--wordmark:#12110f;--line:#dcd2bf;--line-strong:#c6b89c;--line-input:#9a8a70;--rule:#a88c5c;--paid:#2e5d3c;--paid-bg:#e6eddf;--pending:#8a5b14;--pending-bg:#f5e7cc;--draft:#8a3b1e;--draft-bg:#f5e4da;--cancel:#6b5c4f;--cancel-bg:#e8e2d6;--form:var(--burgundy);--form-bg:#efe7e2;--shopify:#4f5f2e;--shopify-bg:#ebeddd;--manual:#7a5a2e;--manual-bg:#f1e8d6;--sheet:#6b4a5e;--sheet-bg:#efe4ea;--danger:#8e2318;--danger-bg:#f7e4df;--warn-fg:#7a5410;--warn-bg:#f6eedb;--ok:var(--paid);--ok-bg:#e4eee5;--radius:0px;--radius-sm:0px;--shadow-sm:none;--shadow-md:none;--font:var(--font-sans-src),ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--font-display:var(--font-display-src),"Iowan Old Style",Baskerville,"Times New Roman",Times,serif;--ls-label:0.9px;--ls-eyebrow:1.1px;--ls-heading:0.2px}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg);color:var(--ink-2);font-family:var(--font);font-weight:400;line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--font-display);font-weight:500;color:var(--ink);letter-spacing:var(--ls-heading);line-height:1.2}a{color:var(--burgundy);text-underline-offset:3px}.addline,.badge,.btn-ghost,.btn-primary,.btn-sm,.cal-dow,.carddate,.count,.field>label,.logout,.newbtn,.quote-use,.section-label,.tab,button.primary{font-family:var(--font);font-weight:300}.wrap{max-width:520px;margin:0 auto;padding:clamp(24px,6vw,44px) 16px 72px}.brand{text-align:center;margin-bottom:6px}.brand .logo{height:54px;width:auto;margin:6px auto 18px;display:block}.brand h1{font-family:var(--font-display);font-size:26px;font-weight:500;margin:0;color:var(--ink)}.brand p{color:var(--ink-2);font-size:11.5px;font-weight:300;text-transform:uppercase;letter-spacing:var(--ls-eyebrow);max-width:280px;margin:0 auto;padding-top:18px;border-top:1px solid var(--rule)}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(20px,5vw,30px);margin-top:26px;box-shadow:var(--shadow-md)}.field{margin-bottom:18px}.field>label{display:block;font-size:11.5px;text-transform:uppercase;letter-spacing:var(--ls-label);margin-bottom:8px;color:var(--ink-2)}.field .req{color:var(--draft)}input,select,textarea{width:100%;padding:12px 13px;font-size:16px;font-family:inherit;font-weight:400;color:var(--ink);background:var(--paper);border:1px solid var(--line-input);border-radius:var(--radius-sm);transition:border-color .15s ease,box-shadow .15s ease}input::placeholder,textarea::placeholder{color:var(--muted)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;border-color:var(--burgundy);box-shadow:0 0 0 1px var(--burgundy)}textarea{min-height:88px;resize:vertical}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23400e11' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center;padding-right:34px}.row{display:grid;grid-template-columns:1fr 1fr;grid-gap:13px;gap:13px}.phone-grid{display:grid;grid-template-columns:116px 1fr;grid-gap:9px;gap:9px}button.primary{width:100%;padding:16px;margin-top:6px;font-family:inherit;font-size:13px;text-transform:uppercase;letter-spacing:var(--ls-label);color:var(--bg);background:var(--burgundy);border:1px solid var(--burgundy);border-radius:var(--radius);cursor:pointer;transition:background .15s ease,color .15s ease}button.primary:hover{background:#2d090b;border-color:#2d090b}button.primary:active{background:#240709}button.primary:disabled{opacity:.55;cursor:progress}button.primary:focus-visible{outline:2px solid var(--burgundy);outline-offset:2px}.err{color:var(--danger);font-size:12.5px;margin-top:6px}.banner-err{background:var(--danger-bg);border:1px solid var(--danger);border-left-width:3px;color:var(--danger);border-radius:var(--radius-sm)}.banner-err,.banner-ok{padding:11px 13px;font-size:14px;margin-bottom:16px}.banner-ok{background:var(--ok-bg);border:1px solid var(--ok);border-left-width:3px;color:var(--ok);border-radius:var(--radius-sm)}.sec{font-family:var(--font-display);font-size:19px;font-weight:500;color:var(--ink);margin:30px 0 14px;padding-bottom:8px;border-bottom:1px solid var(--line)}.sec:first-of-type{margin-top:4px}.hint{color:var(--muted);font-size:12.5px;margin-top:6px}.hint code{background:var(--bg-tint);border:1px solid var(--line);padding:1px 5px;border-radius:0}.hint code,.price-note{font-size:12px;color:var(--ink-2)}.price-note{text-align:center;margin-top:18px;text-transform:uppercase;letter-spacing:var(--ls-label);font-weight:300}.price-note .dot{color:var(--rule);margin:0 8px}input[type=file]{padding:9px 11px;font-size:14px;color:var(--ink-2)}input[type=file]::-webkit-file-upload-button{font-family:inherit;font-size:11.5px;font-weight:300;text-transform:uppercase;letter-spacing:var(--ls-label);margin-right:12px;padding:9px 14px;color:var(--burgundy);background:var(--bg-tint);border:1px solid var(--rule);border-radius:0;cursor:pointer}input[type=file]::file-selector-button{font-family:inherit;font-size:11.5px;font-weight:300;text-transform:uppercase;letter-spacing:var(--ls-label);margin-right:12px;padding:9px 14px;color:var(--burgundy);background:var(--bg-tint);border:1px solid var(--rule);border-radius:0;cursor:pointer}.center{min-height:72vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px}.center h1{font-size:32px}.big-emoji{font-size:3rem}.link{color:var(--burgundy);font-family:var(--font);font-weight:300;font-size:12.5px;text-transform:uppercase;letter-spacing:var(--ls-label);text-decoration:none;border-bottom:1px solid var(--rule);padding-bottom:2px}.link:hover{border-bottom-color:var(--burgundy)}.card table{width:100%;border-collapse:collapse;font-size:14.5px}.card table td{padding:10px 0;border-bottom:1px solid var(--line);color:var(--ink-2)}.card table tr:last-child td{border-bottom:none}.admin-wrap{max-width:1120px;margin:0 auto;padding:30px 18px 72px}.admin-head{display:flex;flex-wrap:wrap;align-items:center;gap:12px;justify-content:space-between;margin-bottom:6px;padding-bottom:18px;border-bottom:1px solid var(--rule)}.admin-head .brand-row{display:flex;align-items:center;gap:14px}.admin-head .logo{height:36px;width:auto}.admin-head h1{font-size:28px;font-weight:500;margin:0}.admin-head .sub{color:var(--muted)}.admin-head .sub,.logout{font-size:11.5px;font-weight:300;text-transform:uppercase;letter-spacing:var(--ls-label)}.logout{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;font-family:var(--font);color:var(--ink-2);background:transparent;border:1px solid var(--line-input);padding:9px 15px;border-radius:0;text-decoration:none;transition:border-color .15s ease,color .15s ease,background .15s ease}.logout:hover{border-color:var(--burgundy);color:var(--burgundy);background:var(--bg-tint)}.tabs{display:flex;gap:4px;margin:22px 0 26px;border-bottom:1px solid var(--line)}.tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;cursor:pointer;font-family:var(--font);font-size:12px;font-weight:300;text-transform:uppercase;letter-spacing:var(--ls-label);color:var(--muted);padding:11px 16px;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s ease,border-color .15s ease}.tab:hover{color:var(--ink)}.tab.active{color:var(--burgundy);border-bottom-color:var(--burgundy)}.tiles{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:1px;gap:1px;margin-bottom:28px;background:var(--line);border:1px solid var(--line)}@media (max-width:640px){.tiles{grid-template-columns:repeat(2,1fr)}}.tile{background:var(--paper);border:none;border-radius:0;padding:18px 20px;box-shadow:var(--shadow-sm)}.tile .k{font-family:var(--font-display);font-size:30px;font-weight:500;line-height:1.1;letter-spacing:0;color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tile .l{font-size:11px;color:var(--muted);margin-top:6px;font-weight:300;text-transform:uppercase;letter-spacing:var(--ls-label)}.tile.accent{background:var(--bg-tint)}.tile.accent .k{color:var(--burgundy)}.section-label{font-size:11.5px;color:var(--ink-2);text-transform:uppercase;letter-spacing:var(--ls-eyebrow);margin:6px 0 16px;padding-bottom:8px;border-bottom:1px solid var(--rule)}.section-label .pill{display:inline-block;margin-left:10px;padding:2px 9px;border-radius:0;background:var(--bg-tint);color:var(--burgundy);font-size:11px;letter-spacing:var(--ls-label)}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(252px,1fr));grid-gap:16px;gap:16px}.ocard{display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);transition:border-color .15s ease,background .15s ease}.ocard:hover{border-color:var(--rule);background:var(--bg)}.ocard .media{height:132px;background:var(--bg-tint);display:flex;align-items:center;justify-content:center;color:var(--rule);font-size:34px;overflow:hidden}.ocard .media img{width:100%;height:100%;object-fit:cover}.ocard .body{padding:15px 16px 17px}.ocard .carddate{display:inline-block;font-size:10.5px;font-weight:300;text-transform:uppercase;letter-spacing:var(--ls-label);color:var(--burgundy);background:var(--bg-tint);padding:3px 9px;border-radius:0;margin-bottom:10px}.ocard .who{font-family:var(--font-display);font-weight:500;font-size:18px;color:var(--ink);line-height:1.25}.ocard .meta{color:var(--ink-2);font-size:13px;margin-top:4px}.ocard .desc{color:var(--muted);font-size:12.5px;margin-top:8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ocard .foot{display:flex;align-items:center;justify-content:space-between;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.ocard .amount{font-family:var(--font-display);font-weight:500;font-size:16px;color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.badges{display:flex;gap:6px}.daygroup{margin-bottom:30px}.muted-line{color:var(--muted);font-size:13.5px;margin:0 0 4px}.dayhead{display:flex;align-items:baseline;gap:10px;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--rule)}.dayhead .date{font-family:var(--font-display);font-weight:500;font-size:18px;color:var(--ink)}.dayhead .cnt,.dayhead .rel{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:var(--ls-label)}.dayhead .cnt{margin-left:auto}.srow{display:grid;grid-template-columns:40px 1.4fr 1fr .8fr auto auto;grid-gap:12px;gap:12px;align-items:center;padding:10px 6px;border-bottom:1px solid var(--line);font-size:14px}.srow:last-child{border-bottom:none}.srow .thumb,.srow .thumb-empty{width:38px;height:38px;border-radius:0;object-fit:cover;border:1px solid var(--line)}.srow .thumb-empty{border-style:dashed;display:inline-flex;align-items:center;justify-content:center;color:var(--rule);font-size:15px}.srow .who{font-family:var(--font-display);font-weight:500;color:var(--ink);font-size:15px}.srow .sub{color:var(--muted);font-size:12.5px}.toolbar{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px;align-items:center}.toolbar input{width:auto;font-size:14px;padding:9px 12px}.toolbar select{width:auto;font-size:14px;padding:9px 34px 9px 12px}.count{color:var(--muted);font-size:11.5px}.badge,.count{text-transform:uppercase;letter-spacing:var(--ls-label)}.badge{display:inline-block;padding:3px 9px;border-radius:0;font-size:10.5px;white-space:nowrap;border:1px solid var(--line);border-left-width:3px}.badge.shopify{background:var(--shopify-bg);color:var(--shopify);border-left-color:var(--shopify)}.badge.form{background:var(--form-bg);color:var(--form);border-left-color:var(--form)}.badge.manual{background:var(--manual-bg);color:var(--manual);border-left-color:var(--manual)}.badge.sheet{background:var(--sheet-bg);color:var(--sheet);border-left-color:var(--sheet)}.badge.paid{background:var(--paid-bg);color:var(--paid);border-left-color:var(--paid)}.badge.quoted{background:var(--pending-bg);color:var(--pending);border-left-color:var(--pending)}.badge.draft{background:var(--draft-bg);color:var(--draft);border-left-color:var(--draft)}.badge.cancelled{background:var(--cancel-bg);color:var(--cancel);border-left-color:var(--cancel)}.landing{text-align:center}.landing-h{font-family:var(--font-display);font-size:22px;font-weight:500;color:var(--ink);margin:6px 0 8px}.landing-p{color:var(--ink-2);font-size:14px;margin:0 auto 20px;max-width:360px}.landing-actions{display:flex;flex-direction:column;gap:10px}.btn-ghost,.btn-primary{display:block;text-align:center;text-decoration:none;padding:14px 16px;border-radius:0;font-size:12px;font-weight:300;text-transform:uppercase;letter-spacing:var(--ls-label);transition:background .15s ease,color .15s ease,border-color .15s ease}.btn-primary{background:var(--burgundy);color:var(--bg);border:1px solid var(--burgundy)}.btn-primary:hover{background:#2d090b;border-color:#2d090b}.btn-ghost{background:transparent;color:var(--burgundy);border:1px solid var(--line-input)}.btn-ghost:hover{background:var(--bg-tint);border-color:var(--rule)}.landing-divider{display:flex;align-items:center;gap:14px;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:var(--ls-eyebrow);margin:26px 0}.landing-divider:after,.landing-divider:before{content:"";flex:1 1;height:1px;background:var(--rule)}.builder{max-width:720px}.builder .section{margin-top:26px;padding-top:20px;border-top:1px solid var(--line)}.builder .section:first-of-type{border-top:none;padding-top:0}.builder h3{font-family:var(--font-display);font-size:18px;font-weight:500;color:var(--ink);margin:0 0 14px}.lineitem{display:grid;grid-template-columns:1.4fr 56px 1fr 90px 28px;grid-gap:8px;gap:8px;align-items:start;margin-bottom:8px}.lineitem .comment{grid-column:1/-1}.lineitem-rm{background:none;border:none;color:var(--muted);cursor:pointer;font-size:18px;padding-top:8px}.lineitem-rm:hover{color:var(--danger)}.addline{background:var(--bg-tint);color:var(--burgundy);border:1px solid var(--rule);border-radius:0;padding:9px 14px;font-size:11.5px;text-transform:uppercase;letter-spacing:var(--ls-label);cursor:pointer}.addline:hover{background:var(--paper)}.totals{background:var(--bg-tint);border:1px solid var(--rule);border-radius:0;padding:16px 18px;margin-top:20px}.totals .row{display:flex;justify-content:space-between;font-size:14px;padding:4px 0}.totals .row.grand{font-family:var(--font-display);font-weight:500;font-size:18px;color:var(--ink);border-top:1px solid var(--rule);margin-top:8px;padding-top:10px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.actionbar{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.actionbar form{display:inline}.btn-sm{padding:11px 15px;border-radius:0;font-size:11.5px;text-transform:uppercase;letter-spacing:var(--ls-label);cursor:pointer;border:1px solid var(--line-input);background:transparent;color:var(--ink-2);text-decoration:none;display:inline-block;transition:background .15s ease,color .15s ease,border-color .15s ease}.btn-sm:hover{color:var(--burgundy);background:var(--bg-tint)}.btn-sm.go,.btn-sm:hover{border-color:var(--burgundy)}.btn-sm.go{background:var(--burgundy);color:var(--bg)}.btn-sm.go:hover{background:#2d090b;color:var(--bg);border-color:#2d090b}.btn-sm.warn{background:transparent}.btn-sm.warn,.btn-sm.warn:hover{color:var(--danger);border-color:var(--danger)}.btn-sm.warn:hover{background:var(--danger-bg)}.linkbox{display:flex;gap:8px;margin-top:16px}.linkbox input{font-family:var(--font-mono,ui-monospace,monospace);font-size:13px}.missing{background:var(--danger-bg);border:1px solid var(--danger);border-left-width:3px;color:var(--danger);padding:11px 13px;border-radius:0;font-size:13px;margin-top:14px}.missing ul{margin:6px 0 0;padding-left:18px}.backlink{color:var(--ink-2);font-size:11.5px;text-decoration:none;text-transform:uppercase;letter-spacing:var(--ls-label);font-weight:300}.backlink:hover{color:var(--burgundy)}.newbtn{background:var(--burgundy);color:var(--bg);border:1px solid var(--burgundy);border-radius:0;padding:10px 16px;font-size:11.5px;text-transform:uppercase;letter-spacing:var(--ls-label);text-decoration:none;transition:background .15s ease}.newbtn:hover{background:#2d090b}.invoice{max-width:540px}.inv-line{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--line);font-size:14.5px}.inv-line .sub{color:var(--muted);font-size:12.5px}.inv-tot{display:flex;justify-content:space-between;font-size:14px;padding:4px 0;color:var(--ink-2);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.inv-tot.grand{font-family:var(--font-display);font-weight:500;font-size:22px;color:var(--ink);border-top:1px solid var(--rule);margin-top:10px;padding-top:12px}.inv-photos{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.inv-photos img{width:72px;height:72px;object-fit:cover;border-radius:0;border:1px solid var(--line)}.paid-stamp{text-align:center;color:var(--paid);background:var(--paid-bg);border:1px solid var(--paid);border-left-width:3px;border-radius:0;padding:12px;margin-bottom:16px;font-size:12px;font-weight:300;text-transform:uppercase;letter-spacing:var(--ls-eyebrow)}.empty{text-align:center;padding:48px 20px;color:var(--muted);border:1px dashed var(--line-strong);border-radius:0;background:var(--paper)}.empty .big-emoji{font-size:2.4rem}.todo-note{margin-top:26px;padding:12px 14px;border:1px dashed var(--line-strong);border-radius:0;color:var(--muted);font-size:12px}.quote{background:var(--bg-tint);border:1px solid var(--rule);border-radius:0;padding:14px 16px;margin:4px 0 16px}.quote-line{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:13px;color:var(--ink-2)}.quote-line b{font-family:var(--font-display);font-weight:500;font-size:19px;color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.quote-disc{font-size:11.5px}.quote-disc,.quote-use{color:var(--burgundy);text-transform:uppercase;letter-spacing:var(--ls-label)}.quote-use{margin-top:10px;background:transparent;border:1px solid var(--burgundy);border-radius:0;padding:6px 13px;font-size:11px;cursor:pointer}.quote-use:hover{background:var(--burgundy);color:var(--bg)}.warn{background:var(--warn-bg);border:1px solid var(--warn-fg);border-left-width:3px;color:var(--warn-fg);padding:10px 13px;border-radius:0;font-size:13px;margin-bottom:14px}.quote-actions{display:flex;flex-wrap:wrap;gap:8px}.cal-nav{display:flex;align-items:center;gap:12px;margin:6px 0 16px}.cal-title{font-family:var(--font-display);font-size:24px;font-weight:500;color:var(--ink);margin:0;min-width:190px}.cal-step{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--line-input);border-radius:0;color:var(--ink-2);text-decoration:none;font-size:15px;transition:border-color .15s ease,background .15s ease,color .15s ease}.cal-step:hover{border-color:var(--burgundy);color:var(--burgundy);background:var(--bg-tint)}.cal-today{margin-left:auto;font-size:11.5px;font-weight:300;text-transform:uppercase;letter-spacing:var(--ls-label);color:var(--burgundy);text-decoration:none;border:1px solid var(--line-input);border-radius:0;padding:7px 14px;transition:border-color .15s ease,background .15s ease}.cal-today:hover{background:var(--bg-tint);border-color:var(--rule)}.cal{border:1px solid var(--line);border-radius:0;overflow:hidden;background:var(--paper)}.cal-head,.cal-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.cal-head{background:var(--burgundy);border-bottom:none}.cal-dow{padding:9px 10px;font-size:10.5px;text-transform:uppercase;letter-spacing:var(--ls-label);color:var(--bg);text-align:left}.cal-week{border-bottom:1px solid var(--line)}.cal-week:last-child{border-bottom:none}.cal-day{min-height:92px;padding:7px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:3px}.cal-day:last-child{border-right:none}.cal-day.weekend{background:var(--bg)}.cal-day.out{background:var(--bg-tint)}.cal-day.out .cal-date,.cal-day.past .cal-date{color:var(--muted)}.cal-date{display:flex;align-items:baseline;justify-content:space-between;font-size:12px;color:var(--ink-2);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cal-day.today .cal-date>span:first-child{background:var(--burgundy);color:var(--bg);border-radius:0;min-width:21px;height:20px;display:inline-flex;align-items:center;justify-content:center}.cal-load{font-size:10.5px;color:var(--ink-2);text-transform:uppercase;letter-spacing:.4px}.cal-load.unknown{color:var(--muted)}.cal-order{display:flex;justify-content:space-between;gap:6px;font-size:11px;line-height:1.35;padding:4px 7px;border-radius:0;text-decoration:none;color:var(--ink-2);border-left:3px solid var(--cancel);background:var(--cancel-bg)}.cal-order:hover{filter:brightness(.96)}.cal-order.paid{background:var(--paid-bg);border-left-color:var(--paid);color:var(--paid)}.cal-order.quoted{background:var(--pending-bg);border-left-color:var(--pending);color:var(--pending)}.cal-order.draft{background:var(--draft-bg);border-left-color:var(--draft);color:var(--draft)}.cal-order-main{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-order-amt{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cal-key{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:14px;font-size:11px;text-transform:uppercase;letter-spacing:var(--ls-label)}.cal-key .cal-order{cursor:default;padding:3px 9px}.cal-key-note{color:var(--muted);text-transform:none;letter-spacing:0;font-size:12px}@media (max-width:640px){.cal-head{display:none}.cal-week{grid-template-columns:1fr}.cal-day{min-height:0;border-right:none;border-bottom:1px solid var(--line)}.cal-day.empty,.cal-day.out{display:none}.cal-day.past,.cal-day.weekend{background:var(--paper)}.cal-date{font-size:13px}.cal-title{min-width:0}}.cal-more{font-size:11px;color:var(--muted);padding:2px 6px;letter-spacing:var(--ls-label);text-transform:uppercase;cursor:default}.details{margin-top:4px}.details .sec{font-family:var(--font);font-size:11.5px;font-weight:400;letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--muted);margin:22px 0 10px;padding-bottom:6px;border-bottom:1px solid var(--line)}.details .sec:first-child{margin-top:0}.opt{font-size:11px;color:var(--muted);letter-spacing:var(--ls-label);text-transform:uppercase;margin-left:6px}.choice{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}.choice-opt{flex:1 1 180px;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;grid-column-gap:9px;column-gap:9px;grid-row-gap:2px;row-gap:2px;align-items:center;border:1px solid var(--line);padding:12px 14px;cursor:pointer;background:var(--paper)}.choice-opt:hover{border-color:var(--line-strong)}.choice-opt.on{border-color:var(--burgundy);background:var(--bg-tint)}.choice-opt input{margin:0;grid-row:1/span 2;accent-color:var(--burgundy)}.choice-label{font-size:14px;color:var(--ink)}.delivery-window{margin:4px 0 14px;font-size:14px;color:var(--muted,#6b5c4f)}.choice-note{grid-column:2;font-size:11.5px;color:var(--muted);letter-spacing:var(--ls-label);text-transform:uppercase}.details select:disabled{color:var(--muted);cursor:not-allowed}@media (max-width:560px){.choice-opt{flex-basis:100%}}.cal-day{text-decoration:none;color:inherit;transition:background .12s ease}.cal-day:hover{background:var(--bg-tint)}.cal-order{cursor:inherit}.cal-count{font-size:11.5px;font-weight:600;color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cal-hours{font-size:10.5px;color:var(--muted);letter-spacing:.2px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;margin-bottom:1px}.cal-hours.muted{font-style:italic;opacity:.75}.daystats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);background:var(--paper);margin-bottom:14px}.daystats.lvl-tight{box-shadow:inset 0 3px 0 var(--rule)}.daystats.lvl-over{box-shadow:inset 0 3px 0 var(--burgundy);background:#f3e0dd}.daystat{padding:13px 15px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:3px}.daystat:last-child{border-right:none}.daystat b{font-family:var(--font-display);font-size:21px;font-weight:500;color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.1}.daystat b.lvl-word{font-size:15px;text-transform:lowercase}.daystats.lvl-over .daystat b.lvl-word{color:var(--burgundy)}.daystat span{font-size:11px;color:var(--muted);letter-spacing:var(--ls-label);text-transform:uppercase}.daystat em{font-style:normal;opacity:.8;text-transform:none;letter-spacing:0}.daylist{border:1px solid var(--line);background:var(--paper)}.dayrow{display:flex;gap:14px;justify-content:space-between;align-items:flex-start;padding:13px 15px;border-bottom:1px solid var(--line);text-decoration:none;color:inherit}.dayrow:last-child{border-bottom:none}.dayrow:hover{background:var(--bg-tint)}.dayrow-main{min-width:0}.dayrow-title{font-size:14.5px;color:var(--ink);margin-bottom:2px}.dayrow-flag{display:inline-block;margin-left:6px;font-weight:700;color:#7a5410}.dayrow-desc{font-size:13px;color:var(--ink-2);margin-bottom:3px}.dayrow-meta{font-size:11.5px;color:var(--muted)}.dayrow-side{display:flex;flex-direction:column;align-items:flex-end;gap:5px;flex-shrink:0}.dayrow-amt{font-size:14px;color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (max-width:640px){.daystats{grid-template-columns:repeat(2,minmax(0,1fr))}.daystat:nth-child(2){border-right:none}.daystat:nth-child(-n+2){border-bottom:1px solid var(--line)}}.cal-day.lvl-quiet,.cal-day.lvl-quiet.past,.cal-day.lvl-quiet.weekend{background:var(--paper)}.cal-day.lvl-busy,.cal-day.lvl-busy.past,.cal-day.lvl-busy.weekend{background:#f6efdf}.cal-day.lvl-tight,.cal-day.lvl-tight.past,.cal-day.lvl-tight.weekend{background:#f0e2c4;box-shadow:inset 3px 0 0 var(--rule)}.cal-day.lvl-over,.cal-day.lvl-over.past,.cal-day.lvl-over.weekend{background:#f3e0dd;box-shadow:inset 3px 0 0 var(--burgundy)}.cal-day.lvl-busy .cal-hours{color:#7a5410}.cal-day.lvl-tight .cal-hours{color:#7a5410;font-weight:500}.cal-day.lvl-over .cal-hours{color:var(--burgundy);font-weight:600}.cal-day.lvl-quiet:hover{background:var(--bg-tint)}.cal-day.lvl-busy:hover{background:#f1e7cf}.cal-day.lvl-tight:hover{background:#ebdab6}.cal-day.lvl-over:hover{background:#eed7d3}.theme-ig{--bg:#ffffff;--paper:#ffffff;--card:#ffffff;--bg-tint:#f4f3f1;--burgundy:#121212;--ink:#121212;--ink-2:#3d3d3d;--muted:#5a5a5a;--wordmark:#121212;--line:#ececea;--line-strong:#d9d9d6;--line-input:#8a8a86;--rule:#121212;--blush:#e3a6b3;--blush-bg:#f9e9ec;--blush-ink:#8f3f52;--butter:#f3ebc4;--stone:#f4f3f1;--paid:#4f6b4c;--paid-bg:#e8efe4;--pending:#7a5d12;--pending-bg:#f6efcf;--draft:#8f3f52;--draft-bg:#f9e9ec;--cancel:#595959;--cancel-bg:#ececea;--form:#121212;--form-bg:#f4f3f1;--ok:#4f6b4c;--ok-bg:#e8efe4;--font-display:var(--font-serif-src),"Cormorant Garamond",Georgia,serif;background:var(--bg);color:var(--ink-2);min-height:100vh}.theme-ig h1,.theme-ig h2,.theme-ig h3,.theme-ig h4{font-weight:600;letter-spacing:0}.theme-ig .addline,.theme-ig .backlink,.theme-ig .badge,.theme-ig .btn-sm,.theme-ig .cal-dow,.theme-ig .carddate,.theme-ig .count,.theme-ig .field>label,.theme-ig .logout,.theme-ig .newbtn,.theme-ig .quote-use,.theme-ig .section-label,.theme-ig .tab,.theme-ig button.primary{font-weight:400;letter-spacing:1.2px}.theme-ig .btn-sm.go:hover,.theme-ig .newbtn:hover,.theme-ig button.primary:hover{background:#2b2b2b;border-color:#2b2b2b}.ig-strip{background:#121212;color:#ffffff;text-align:center;padding:10px 16px;font-size:11px;letter-spacing:1.2px;text-transform:uppercase}.ig-header{border-bottom:1px solid var(--line);background:#ffffff}.ig-header-inner{max-width:1240px;margin:0 auto;padding:0 24px;min-height:76px;display:flex;flex-wrap:wrap;align-items:center;gap:12px 40px}.ig-logo{display:inline-flex;align-items:center;min-height:44px}.ig-logo img{height:40px;width:auto;display:block}.ig-nav{display:flex;gap:28px;flex:1 1 auto}.ig-tab{display:inline-flex;align-items:center;min-height:44px;padding:0 2px;font-size:12px;letter-spacing:1.2px;text-transform:uppercase;text-decoration:none;color:var(--muted);border-bottom:2px solid transparent}.ig-tab.on,.ig-tab:hover{color:var(--ink)}.ig-tab.on{border-bottom-color:var(--ink)}.ig-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.ig-actions form{display:inline;margin:0}.ig-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 20px;box-sizing:border-box;cursor:pointer;font-family:var(--font);font-size:12px;font-weight:400;letter-spacing:1.2px;text-transform:uppercase;text-decoration:none;background:#ffffff;color:#121212;border:1px solid #121212;border-radius:0;transition:background .15s ease,color .15s ease}.ig-btn:hover{background:var(--stone)}.ig-btn.dark{background:#121212;color:#ffffff}.ig-btn.dark:hover{background:#2b2b2b}.ig-btn:focus-visible,.ig-tab:focus-visible{outline:2px solid #121212;outline-offset:2px}@media (max-width:760px){.ig-nav{order:3;flex-basis:100%;gap:22px;overflow-x:auto}.ig-actions{margin-left:auto}}.theme-ig .admin-wrap{max-width:1240px;padding:40px 24px 80px}.ig-title{margin-bottom:28px}.ig-eyebrow,.theme-ig .admin-head .sub{font-size:11px;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);font-weight:400}.ig-title h1{font-size:clamp(40px,6vw,56px);line-height:1;margin:6px 0 0}.ig-title p{margin:10px 0 0;font-size:15px;color:var(--muted)}.theme-ig .admin-head{border-bottom-color:var(--line)}.theme-ig .admin-head h1{font-size:40px}.ig-order-title{font-family:var(--font-display);font-size:clamp(32px,5vw,44px);font-weight:600;line-height:1.05;margin:0;color:var(--ink)}.theme-ig .tabs{margin:0 0 28px}.theme-ig .tab{min-height:44px;font-size:12px}.theme-ig .tiles{gap:16px;background:none;border:none;margin-bottom:32px}.theme-ig .tile{background:var(--stone);padding:24px;display:flex;flex-direction:column-reverse;gap:10px;justify-content:flex-end}.theme-ig .tile.accent{background:var(--blush)}.theme-ig .tile.accent-2{background:var(--butter)}.theme-ig .tile .k{font-size:48px;font-weight:600;line-height:1;color:#121212}.theme-ig .tile.accent .k{color:#121212}.theme-ig .tile .l{color:#3d3d3d;font-weight:400;letter-spacing:1.2px;margin:0}.theme-ig .tile.accent .l,.theme-ig .tile.accent-2 .l{color:#121212}.theme-ig .toolbar input,.theme-ig .toolbar select{min-height:44px}.theme-ig .toolbar{margin-bottom:40px}.theme-ig .cards{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:24px 20px}.theme-ig .ocard{border:none}.theme-ig .ocard,.theme-ig .ocard:hover{background:transparent}.theme-ig .ocard:hover .media{opacity:.88}.theme-ig .ocard .media{height:auto;aspect-ratio:1/1;background:#ececea;transition:opacity .15s ease}.theme-ig .media-empty{font-size:11px;letter-spacing:1.2px;text-transform:uppercase;color:#595959}.theme-ig .ocard .body{padding:14px 0 0}.theme-ig .ocard .carddate{background:transparent;color:var(--muted);padding:0}.theme-ig .ocard .who{font-size:22px;font-weight:600}.theme-ig .ocard .foot{border-top-color:var(--line)}.theme-ig .ocard .amount{font-size:18px;font-weight:600}.ig-quotes{margin-bottom:48px}.ig-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:20px}.ig-h2,.ig-section-head h2{font-size:34px;font-weight:500;margin:0}.ig-h2{margin-bottom:20px}.theme-ig .section-label{font-family:var(--font-display);font-size:24px;font-weight:600;text-transform:none;letter-spacing:0;color:var(--ink);border-bottom:1px solid #121212;padding-bottom:10px}.theme-ig .section-label .pill{font-family:var(--font);font-size:11px;background:transparent;color:var(--muted);text-transform:uppercase;letter-spacing:1.2px;padding:0}.ig-split{display:flex;flex-wrap:wrap;gap:40px;align-items:flex-start}.ig-split-main{flex:999 1 600px;min-width:0}.ig-load{flex:1 1 300px;min-width:0;background:var(--stone);padding:28px;display:flex;flex-direction:column;gap:14px}.ig-load h2{font-size:28px;margin:0}.ig-load-sub{margin:0 0 4px;font-size:13px;color:var(--muted)}.ig-load-day{display:flex;flex-direction:column;gap:6px;text-decoration:none;color:var(--ink);min-height:44px;justify-content:center}.ig-load-day:hover .ig-load-row>span:first-child{text-decoration:underline;text-underline-offset:3px}.ig-load-row{display:flex;justify-content:space-between;gap:12px;font-size:13px}.ig-load-label{color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.ig-load-track{display:block;height:10px;background:#ffffff}.ig-load-fill{display:block;height:10px;background:var(--blush)}.ig-load-fill.lvl-quiet{background:#edc9d1}.ig-load-fill.lvl-busy{background:var(--blush)}.ig-load-fill.lvl-tight{background:#c97f90}.ig-load-fill.lvl-over{background:#121212}.ig-load-fill.lvl-unknown{background:repeating-linear-gradient(45deg,#d9d9d6 0 4px,#ffffff 4px 8px)}.ig-load-key{display:flex;gap:16px;flex-wrap:wrap;font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--muted)}.ig-load-key span{display:inline-flex;align-items:center;gap:6px}.ig-load-key i{width:10px;height:10px;display:inline-block}.ig-load-key i.lvl-busy{background:var(--blush)}.ig-load-key i.lvl-tight{background:#c97f90}.ig-load-key i.lvl-over{background:#121212}.ig-load .ig-btn{align-self:flex-start;margin-top:6px}.theme-ig .cal-day.lvl-busy,.theme-ig .cal-day.lvl-busy.past,.theme-ig .cal-day.lvl-busy.weekend{background:#fcf4f6}.theme-ig .cal-day.lvl-tight,.theme-ig .cal-day.lvl-tight.past,.theme-ig .cal-day.lvl-tight.weekend{background:#f9e9ec;box-shadow:inset 3px 0 0 #c97f90}.theme-ig .cal-day.lvl-over,.theme-ig .cal-day.lvl-over.past,.theme-ig .cal-day.lvl-over.weekend{background:#f3dde2;box-shadow:inset 3px 0 0 #121212}.theme-ig .cal-day.lvl-busy .cal-hours,.theme-ig .cal-day.lvl-tight .cal-hours{color:var(--blush-ink)}.theme-ig .cal-day.lvl-over .cal-hours{color:#121212}.theme-ig .cal-day.lvl-busy:hover{background:#f9e9ec}.theme-ig .cal-day.lvl-tight:hover{background:#f5dde3}.theme-ig .cal-day.lvl-over:hover{background:#eed2d9}.theme-ig .daystats.lvl-tight{box-shadow:inset 0 3px 0 #c97f90}.theme-ig .daystats.lvl-over{background:#f3dde2}.theme-ig .dayrow-flag{color:var(--pending)}.theme-ig .totals{border-color:#121212}.field label.vat-toggle,.vat-toggle{display:flex;align-items:center;gap:8px;margin-top:10px;font-weight:600;font-size:15px;text-transform:none;letter-spacing:normal;color:var(--ink,#2a2420);cursor:pointer;min-height:44px}.vat-toggle input{width:20px;height:20px}.vat-total{margin-top:2px;font-size:15px}.set{border:1px solid var(--line,#e5ddd2);padding:12px 14px 4px;margin:0 0 12px;min-width:0}.set legend{display:flex;align-items:center;gap:10px;padding:0 6px;font-weight:600}.set-remove{min-height:32px;font-size:13px}.mix-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr) auto;grid-gap:8px;gap:8px;margin-bottom:8px;align-items:center}.mix-row .btn-sm{min-height:44px;min-width:44px}.mix-total{min-height:44px;display:flex;align-items:center;font-size:18px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (max-width:560px){.mix-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}.mix-row select{grid-column:1/-1}}.sync-line{font-size:12px;letter-spacing:.4px;color:var(--muted)}.sync-line.warn{color:var(--draft,#8f3f52);font-weight:500}.pay-notice{margin:0 0 14px;padding:12px 14px;font-size:14px;line-height:1.45;background:var(--pending-bg,#f6efcf);color:var(--ink,#121212);border-left:3px solid var(--pending,#7a5d12)}.sheet-review summary{cursor:pointer}.sheet-review ul{margin:8px 0 0;padding-left:18px}.sheet-review li{margin:2px 0}.badge.pay-warn{background:var(--pending-bg,#f6efcf);color:var(--pending,#7a5d12);border-left-color:var(--pending,#7a5d12)}@media (max-width:480px){.details .row{grid-template-columns:1fr}}.invoice-line{gap:10px 16px;margin:0 0 14px;font-size:14px}.invoice-line,.invoice-line form{display:flex;flex-wrap:wrap;align-items:center}.invoice-line form{gap:8px;margin:0}details.business summary{cursor:pointer;font-size:13px;padding:6px 0;min-height:32px}.card.thanks h2{margin:0 0 8px;font-family:var(--font-display);font-size:26px;color:var(--burgundy)}.card.thanks p{margin:0 0 14px;line-height:1.5}.card.thanks a.download{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:100%;min-height:48px;padding:14px 16px;margin-top:6px;font-size:13px;text-transform:uppercase;letter-spacing:var(--ls-label);color:var(--bg);background:var(--burgundy);border:1px solid var(--burgundy);border-radius:var(--radius);text-decoration:none;transition:background .15s ease}.card.thanks a.download:hover{background:#2d090b}.card.thanks a.download:focus-visible{outline:2px solid var(--burgundy);outline-offset:3px}.switch-row{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;margin:0 0 16px;background:var(--bg-tint,#f4f3f1);cursor:pointer}.switch-row input{width:20px;height:20px;margin-top:2px;flex:none}