:root{--bg:#f3f4f3;--panel:#fff;--ink:#18242c;--muted:#576671;--line:#d8dfe2;--soft:#edf3f7;--accent:#9a401c;--accent-soft:#fbede5;--navy:#203c56;--green:#216848;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--bg);font-size:16px;line-height:1.5;color-scheme:light}*{box-sizing:border-box}body{margin:0}h1,h2,h3,p{margin:0 0 12px}h1{font-size:1.9rem;line-height:1.2;font-weight:600;letter-spacing:-.025em}h2{font-size:1.3rem;font-weight:600}h3{font-size:1rem;font-weight:600}a{color:var(--accent);text-underline-offset:3px}button,input,select,textarea{font:inherit}button,.button{cursor:pointer;border:1px solid var(--line);background:#fff;color:var(--ink);padding:10px 15px;border-radius:6px;display:inline-flex;gap:8px;align-items:center;justify-content:center;text-decoration:none;font-size:.94rem;line-height:1.45}button:hover,.button:hover{border-color:var(--accent);color:var(--accent)}button:disabled{opacity:.55;cursor:not-allowed}.primary{background:var(--accent);border-color:var(--accent);color:#fff}.primary:hover{background:#7e3317;color:#fff}.quiet{padding:4px 0;background:transparent;border:0;color:var(--accent)}input,select,textarea{width:100%;padding:10px 12px;border:1px solid #bdc8cf;border-radius:6px;background:#fff;color:var(--ink);min-width:0}textarea{min-height:116px;resize:vertical}input[type=checkbox]{width:18px;height:18px;flex-shrink:0;accent-color:var(--accent)}label{display:grid;gap:7px;font-size:.92rem;font-weight:500}label.check{display:flex;gap:10px;align-items:flex-start;font-weight:400}label.check input{margin-top:4px}form{display:grid;gap:18px}:focus-visible{outline:3px solid #417caa;outline-offset:3px}.skip{position:absolute;top:-100px;left:10px;padding:10px;background:white;z-index:20}.skip:focus{top:10px}.top{background:#fff;border-bottom:1px solid var(--line);padding:16px 32px;display:flex;justify-content:space-between;align-items:center;gap:24px}.brand-logo{display:block;width:275px;height:auto;max-width:100%;object-fit:contain}.top-right{display:flex;gap:16px;align-items:center;font-size:.9rem}.eyebrow{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:600}.nav{display:flex;gap:8px;flex-wrap:wrap;padding:10px 32px;background:#fff;border-bottom:1px solid var(--line)}.nav a{padding:10px 14px;color:var(--muted);text-decoration:none;border-radius:6px;font-size:.94rem}.nav a.active{color:var(--accent);background:var(--accent-soft)}main{max-width:1340px;margin:0 auto;padding:30px 32px 60px;min-height:65vh}.heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px}.heading p{color:var(--muted);margin-top:8px;margin-bottom:0}.muted{color:var(--muted)}.small{font-size:.84rem}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.spread{display:flex;justify-content:space-between;gap:16px;align-items:center}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.columns{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr);gap:22px;align-items:start}.stack{display:grid;gap:20px}.card{border:1px solid var(--line);border-radius:10px;background:var(--panel);padding:24px;min-width:0}.card h2{color:var(--navy)}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}.metric{padding:20px 22px;border:1px solid var(--line);background:#fff;border-radius:9px}.metric b{display:block;font-size:1.8rem;font-weight:500;margin-top:8px;font-variant-numeric:tabular-nums;color:var(--navy)}.metric span{font-size:.84rem;color:var(--muted)}.metric.emphasis{background:var(--navy);border-color:var(--navy)}.metric.emphasis b,.metric.emphasis span{color:white}.tag{display:inline-block;padding:4px 8px;border-radius:4px;font-size:.78rem;background:#ecf0f2;color:#465761;white-space:nowrap}.tag.accepted,.tag.paid,.tag.completed{background:#e5f3eb;color:#216848}.tag.issued,.tag.active{background:#e9f0f8;color:#244e78}.tag.draft,.tag.on_hold{background:#fbf0df;color:#80511d}.tag.demo{background:#f8eae2;color:#914219}.filters{display:flex;gap:12px;margin-bottom:18px}.filters input{flex:2}.filters select{flex:1}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:8px;background:white}table{border-collapse:collapse;width:100%;text-align:left}th{font-size:.79rem;font-weight:500;color:var(--muted);background:#f8fafb;padding:13px 18px;white-space:nowrap}td{border-top:1px solid var(--line);padding:18px;vertical-align:top}td a{color:var(--navy);font-weight:600;text-decoration:none}td small{display:block;color:var(--muted);font-size:.8rem;margin-top:4px}.money{font-variant-numeric:tabular-nums;white-space:nowrap}.empty{padding:48px 22px;text-align:center;border:1px dashed #bfcad0;border-radius:10px;background:white}.empty p{max-width:520px;margin:0 auto 20px;color:var(--muted)}.callout{background:var(--soft);border-left:3px solid var(--navy);padding:15px 18px;border-radius:0 6px 6px 0;color:#304959;font-size:.9rem}.callout.warm{background:#fbede5;border-color:var(--accent);color:#783415}.callout p:last-child{margin:0}.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:22px}.tabs a{padding:9px 14px;text-decoration:none;color:var(--muted);border-bottom:2px solid transparent}.tabs a.active{color:var(--accent);border-color:var(--accent)}.list-item{padding:18px 0;border-bottom:1px solid var(--line)}.list-item:last-child{border:0}.list-item h3{margin-bottom:5px}.list-item p:last-child{margin:0}.prose{white-space:pre-wrap;overflow-wrap:anywhere}.subtle{background:#f8fafb}.choices{display:flex;gap:7px;flex-wrap:wrap}.choices button{font-size:.84rem}.section-rule{border:0;border-top:1px solid var(--line);margin:8px 0}.document{max-width:850px;margin:0 auto}.preview-bar{padding:14px 20px;background:var(--soft);border:1px solid var(--line);border-radius:8px 8px 0 0;font-size:.87rem}.paper{background:#fff;border:1px solid var(--line);border-top:0;padding:36px;border-radius:0 0 10px 10px}.paper .brand-logo{width:280px;margin-bottom:24px}.document-title{display:flex;justify-content:space-between;gap:18px;padding-bottom:22px}.document-title h1{font-size:1.7rem}.facts{display:grid;grid-template-columns:1fr 1fr;gap:14px;background:var(--soft);padding:18px;border-radius:5px;margin-bottom:22px}.facts span{display:block;color:var(--muted);font-size:.82rem}.paper section{padding:22px 0;border-bottom:1px solid var(--line)}.paper section h2{font-size:1.15rem;color:var(--navy)}.paper section h3{margin:20px 0 8px}.price-banner{padding:20px;background:var(--navy);color:#fff;border-radius:5px;margin:18px 0}.price-banner b{font-size:2rem;font-weight:500}.price-banner p{margin:0;font-size:.85rem}.source{font-size:.76rem;color:var(--muted);overflow-wrap:anywhere}.term{padding:12px 0;border-bottom:1px solid var(--line)}details{padding:12px 0;border-bottom:1px solid var(--line)}summary{cursor:pointer;color:var(--navy)}details p{margin-top:12px}details textarea{margin:12px 0}.scroll{max-height:650px;overflow:auto;padding-right:8px}.footer{border-top:1px solid var(--line);padding:18px 32px;background:#fff;color:var(--muted);font-size:.8rem;display:flex;justify-content:space-between;gap:18px}.login{max-width:500px;margin:70px auto;min-height:0}.login .brand-logo{margin:0 auto 32px;width:310px}.login .card{padding:28px}.login h1{font-size:1.6rem}.login .tabs{justify-content:center}.form-note{font-size:.85rem;color:var(--muted);margin:0}.amount-preview{padding:18px;background:var(--navy);color:#fff;border-radius:6px}.amount-preview b{display:block;font-size:1.7rem;font-weight:500}.hidden,[hidden]{display:none!important}#notice{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100% - 32px);padding:14px 20px;border-radius:8px;background:#203c56;color:white;box-shadow:0 6px 24px #0003;z-index:99;display:none;white-space:pre-wrap}#notice.error{background:#8b2924}#notice.visible{display:block}.badge-count{font-size:.8rem;background:var(--soft);padding:3px 7px;border-radius:10px}.terms-list{display:grid;gap:3px}.terms-list .check{padding:10px 0}.break{overflow-wrap:anywhere}.email-preview{max-width:680px;background:#fff;border:1px solid var(--line);padding:28px;border-radius:8px}.email-preview .brand-logo{width:245px;margin-bottom:24px}.status-line{border-top:1px solid var(--line);padding-top:12px;margin-top:14px;color:var(--muted);font-size:.84rem}.activity{list-style:none;margin:0;padding:0}.activity li{padding:15px 0;border-bottom:1px solid var(--line)}.activity time{display:block;color:var(--muted);font-size:.8rem;margin-top:5px}.print-only{display:none}@media(max-width:950px){.columns{grid-template-columns:1fr}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.scroll{max-height:none}}@media(max-width:650px){.top{padding:14px 18px}.top .brand-logo{width:215px}.top-right .identity{display:none}.nav{padding:8px 12px;gap:1px}.nav a{padding:9px;font-size:.85rem}main{padding:24px 16px 40px}.heading{flex-direction:column}.heading h1{font-size:1.65rem}.card{padding:20px}.grid{grid-template-columns:1fr}.filters{flex-wrap:wrap}.filters input{flex-basis:100%}.metric{padding:16px}.metric b{font-size:1.4rem}.paper{padding:22px}.facts{grid-template-columns:1fr}.document-title{flex-direction:column}.footer{padding:16px;flex-direction:column}.login{margin:24px auto;padding:16px}.table-wrap td,.table-wrap th{padding:13px}.top-right button{font-size:.8rem;padding:8px}.price-banner b{font-size:1.7rem}}@media print{.top,.nav,.footer,.preview-bar,.no-print,#notice{display:none}main{padding:0}.paper{border:0;padding:0}.paper section{break-inside:avoid}.print-only{display:block}body{background:white}}
.calendar{overflow:auto;border:1px solid var(--line);border-radius:8px;background:white;margin:22px 0}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));min-width:840px}.calendar-grid.headings{background:var(--navy);color:white}.headings div{padding:10px;font-size:.85rem}.calendar-day{min-height:130px;padding:9px;border-right:1px solid var(--line);border-top:1px solid var(--line)}.calendar-day.outside{background:#f4f6f7}.day-number{font-size:.85rem;text-decoration:none;color:var(--navy)}.calendar-event{display:grid;gap:2px;background:#edf3f7;border-left:3px solid #4074a0;border-radius:3px;text-decoration:none;color:var(--navy);padding:6px;margin-top:7px;font-size:.77rem;overflow-wrap:anywhere}.calendar-event.tentative{border-color:#a06c32;background:#fcf2e5}.calendar-event.completed{border-color:#216848;background:#e8f3ed}.calendar-event small{font-size:.75rem}.calendar-event span{font-size:.77rem}

.calendar-hint{display:none}@media(max-width:650px){.calendar-hint{display:block;margin:16px 0 0}}

/* Restrained AFW accents: white working surfaces, clear color hierarchy. */
:root {
  --bg: #f2f5f6;
  --soft: #edf4f8;
  --accent: #a7421c;
  --accent-soft: #fff0e6;
  --navy: #183d5a;
  --blue: #28658e;
  --teal: #176d70;
  --teal-soft: #e7f4f2;
  --amber: #855513;
  --amber-soft: #fff4dc;
}

.top { border-top: 4px solid var(--navy); }
.eyebrow { color: var(--blue); }
.nav a:hover { background: var(--soft); color: var(--navy); }
.nav a.active {
  background: var(--accent-soft);
  color: #873517;
  box-shadow: inset 0 -3px 0 var(--accent);
}
.tabs a.active { background: var(--accent-soft); border-radius: 5px 5px 0 0; }
.primary { box-shadow: 0 2px 0 #803014; }
.primary:hover { background: #863316; border-color: #863316; }
button:disabled { box-shadow: none; }

.metric { border-top: 4px solid var(--blue); }
.metric:nth-child(2) { border-top-color: var(--teal); }
.metric:nth-child(3) { border-top-color: #c98b30; }
.metric.emphasis { border-top-color: #e9a052; }
th { background: #edf4f8; color: #36556b; }
tbody tr:hover { background: #f7fbfc; }
td a:hover { color: var(--accent); text-decoration: underline; }
.badge-count { background: var(--teal-soft); color: var(--teal); }

.tag { border: 1px solid transparent; }
.tag.accepted, .tag.paid, .tag.completed {
  background: #e4f3e9; color: #235d3c; border-color: #bcdfc9;
}
.tag.issued, .tag.sent, .tag.active {
  background: #e7f1fa; color: #255980; border-color: #c4dced;
}
.tag.confirmed {
  background: var(--teal-soft); color: #135f62; border-color: #b8deda;
}
.tag.draft, .tag.tentative, .tag.on_hold, .tag.change_requested {
  background: var(--amber-soft); color: #795011; border-color: #ead5a8;
}
.tag.unpaid, .tag.partially_paid, .tag.overdue {
  background: #fff0e6; color: #914015; border-color: #edccb4;
}
.tag.declined, .tag.cancelled, .tag.expired {
  background: #f8e9e7; color: #853d37; border-color: #e8c8c3;
}
.tag.demo { background: #f4ecfa; color: #65427c; border-color: #ddcee8; }
.tag.archived, .tag.superseded { background: #edf0f2; color: #53616b; }

.price-banner, .amount-preview { border-left: 5px solid #e9a052; }
.preview-bar { background: #eaf3f8; border-top: 3px solid var(--blue); }
.facts { border-left: 3px solid #73a7bf; }
.callout { border-color: var(--blue); }
.callout.warm { border-color: var(--accent); }
.calendar { border-color: #c4d3dc; }
.calendar-grid.headings { background: var(--navy); border-bottom: 3px solid #d18a39; }
.calendar-day.outside { background: #f1f4f6; }
.day-number:hover { color: var(--accent); text-decoration: underline; }
.calendar-event { background: #eaf2f9; border-color: var(--blue); color: #234b67; }
.calendar-event.confirmed { background: var(--teal-soft); border-color: var(--teal); color: #19575a; }
.calendar-event.tentative { background: var(--amber-soft); border-color: #b07a25; color: #6e4b17; }
.calendar-event.completed { background: #e8f3eb; border-color: #38714f; color: #2c573d; }
.calendar-event.cancelled { background: #eef0f2; border-color: #8b969e; color: #58646d; }
.calendar-event:hover { box-shadow: 0 0 0 1px currentColor; }
.calendar-hint { color: var(--blue); }

.request-page { max-width: 960px; }
.request-intro .tag { background: var(--teal-soft); color: #135f62; border-color: #b8deda; }
.photo-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.photo-card { min-width: 0; padding: 12px; border: 1px solid var(--line); border-radius: 8px; background: #fff; }
.photo-card img { display: block; width: 100%; max-width: 100%; height: 190px; object-fit: contain; border-radius: 4px; background: #f2f6f8; }
.photo-card p { margin: 10px 0 0; overflow-wrap: anywhere; }
.request-honeypot { position: absolute; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }

.invoice-draft-brand { border-top: 4px solid var(--blue); }
.invoice-draft-brand .brand-logo { width: 285px; margin-bottom: 24px; }
.invoice-draft-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; }
.invoice-draft-heading .brand-logo { max-width: calc(100% - 105px); }
.invoice-draft-stamp { padding: 7px 12px; border: 1px solid #d9ba80; border-radius: 5px; background: var(--amber-soft); color: #795011; font-weight: 700; font-size: .85rem; letter-spacing: .08em; }
.invoice-draft-document h1 { margin: 8px 0 24px; }
.invoice-draft-notes { margin-top: 22px; }
.invoice-draft-notes h2 { font-size: 1.1rem; }
.invoice-draft-notes p { margin: 0; }

@media (max-width: 650px) {
  .photo-grid { grid-template-columns: 1fr; }
  .invoice-draft-heading { flex-wrap: wrap; gap: 12px; margin-bottom: 20px; }
  .invoice-draft-heading .brand-logo { max-width: 100%; margin-bottom: 0; }
}

@media print {
  .price-banner, .amount-preview, .facts { border-left: 0; }
}

.email-frame { display: block; width: 100%; height: 660px; border: 1px solid var(--line); border-radius: 7px; background: #eef2f4; margin: 18px 0; }
.email-send-row { justify-content: space-between; border-top: 1px solid var(--line); padding-top: 18px; }
.customer-delivery { margin-top: 22px; border-top: 4px solid var(--blue); }
.customer-delivery form { max-width: 620px; margin: 18px 0; }
.customer-delivery details label { margin-top: 14px; }
.customer-delivery details .row { margin-top: 12px; }
