:root{--navy:#102a3b;--navy-dark:#0a1e2b;--cyan:#047c91;--cyan-light:#e7f4f7;--ink:#152f41;--muted:#617280;--line:#dce4e9;--bg:#f3f6f8;--white:#fff;--danger:#a34521;--green:#186b4e}*{box-sizing:border-box}body{margin:0;font:16px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}a{color:var(--cyan);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{outline-offset:4px}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1{font-size:2rem;line-height:1.2;letter-spacing:-.035em;margin-bottom:.6rem;overflow-wrap:anywhere}h2{font-size:1.1rem;letter-spacing:-.015em;margin-bottom:1rem}h3{font-size:1rem;margin-bottom:.45rem}small{font-size:.875rem}.muted,.help{color:var(--muted)}.eyebrow{font-size:.75rem;letter-spacing:.14em;font-weight:700;color:var(--cyan);margin-bottom:.65rem}.sidebar{position:fixed;width:238px;inset:0 auto 0 0;background:var(--navy);color:#edf6fa;padding:28px 18px;display:flex;flex-direction:column;overflow:auto}.brand{display:flex;gap:12px;align-items:center;color:white;font-size:.875rem;font-weight:750;letter-spacing:.055em;margin-bottom:42px}.brand:hover{text-decoration:none}.brand small{display:block;letter-spacing:0;font-weight:400;color:#b0c3cf;font-size:.75rem;margin-top:4px}.brand-mark{display:grid;place-items:center;width:40px;height:44px;border:1px solid #60889b;border-radius:8px;font-size:.875rem;letter-spacing:-.04em;color:#b6e6ee;flex-shrink:0}.nav-label{font-size:.75rem;color:#a0b6c3;letter-spacing:.13em;margin:18px 12px 10px}.sidebar nav a{display:flex;gap:13px;align-items:center;padding:11px 14px;margin:3px 0;border-radius:7px;font-size:.9375rem;color:#c5d5df}.sidebar nav a span{font-size:1.125rem;width:20px;text-align:center}.sidebar nav a:hover{background:#1c394b;text-decoration:none}.sidebar nav a.selected{color:#fff;background:#265367;box-shadow:inset 3px 0 #65d5e0}.sidebar-bottom{margin-top:auto;padding:36px 12px 0}.sidebar-bottom small{color:#aec0cc}.user-name{font-weight:650;overflow-wrap:anywhere}.account-actions{display:flex;gap:20px;margin-top:13px;align-items:center}.account-actions a,.text-button{font-size:.875rem;color:#c6dce6}.text-button{border:0;background:none;padding:0}.text-button:hover{text-decoration:underline}.workspace{margin-left:238px}.topbar{height:70px;background:white;border-bottom:1px solid var(--line);padding:0 34px;display:flex;align-items:center;justify-content:space-between;font-size:.875rem}.divider{padding:0 12px;color:#92a4b0}main{max-width:1700px;padding:34px}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}.page-heading p{margin-bottom:0}.actions{display:flex;gap:10px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;border:1px solid #cbd7df;background:white;color:var(--ink);padding:10px 15px;border-radius:6px;font-size:.875rem;font-weight:650;white-space:nowrap;line-height:1.5}.button:hover{background:#edf3f6;text-decoration:none}.button.primary{background:var(--cyan);color:white;border-color:var(--cyan)}.button.primary:hover{background:#006a7d}.button.small{padding:6px 11px}.full{width:100%}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:25px}.metric{background:white;border:1px solid var(--line);border-radius:9px;padding:22px 23px;display:flex;flex-direction:column;position:relative}.metric:first-child{border-top:3px solid var(--cyan);padding-top:20px}.metric>span{font-size:.875rem;color:#506775;font-weight:550}.metric strong{font-size:2rem;letter-spacing:-.04em;line-height:1.5;margin:5px 0 10px;font-variant-numeric:tabular-nums}.metric small{color:var(--muted);font-size:.8125rem}.metric-link{color:var(--ink)}.metric-link:hover{text-decoration:none;border-color:var(--cyan)}.dashboard-grid{display:grid;grid-template-columns:1.12fr 1fr;gap:24px}.panel{background:white;border:1px solid var(--line);border-radius:9px;overflow:hidden;min-width:0}.panel-heading{padding:21px 24px;display:flex;justify-content:space-between;align-items:center;gap:14px;border-bottom:1px solid #edf1f4}.panel-heading h2{margin:0}.panel-heading a,.panel-heading>.muted{font-size:.875rem}.panel-foot{font-size:.8125rem;color:var(--muted);padding:17px 24px;background:#fafcfd;border-top:1px solid #edf1f4}.stage{padding:16px 24px 2px}.stage:last-of-type{padding-bottom:22px}.stage-label{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px;font-size:.875rem}.stage-label small{margin-left:8px;color:var(--muted);background:var(--bg);border-radius:4px;padding:2px 7px}.bar-track{background:#eff3f6;height:9px;border-radius:3px}.bar-fill{height:9px;background:var(--cyan);border-radius:3px;min-width:2px}.list-item{padding:16px 24px;display:flex;align-items:center;justify-content:space-between;gap:18px;color:var(--ink);border-bottom:1px solid #edf1f4}.list-item:last-child{border-bottom:0}.list-item strong{display:block;font-size:.9375rem;font-weight:600;overflow-wrap:anywhere}.list-item small{display:block;margin-top:3px;color:var(--muted)}a.list-item:hover{background:#f6fafb;text-decoration:none}.right{text-align:right;flex-shrink:0}.badge{display:inline-block;background:#edf2f6;color:#445c6c;padding:4px 9px;border-radius:5px;font-size:.8125rem;white-space:nowrap}.badge.positive{background:#e5f3ec;color:var(--green)}.badge.danger{background:#fff0e9;color:var(--danger)}.warning-text{color:var(--danger)}.empty{text-align:center;padding:44px 28px;color:var(--muted)}.empty h3{color:var(--ink)}.empty p{max-width:380px;margin:0 auto 20px;font-size:.9375rem}.empty-symbol{font-size:1.8rem;color:var(--cyan);margin-bottom:14px}.empty.compact{padding:35px 28px}.empty.compact p{margin-bottom:0}.filters{display:flex;align-items:center;gap:12px;margin-bottom:20px;flex-wrap:wrap}.filters .search{flex:1;min-width:220px}.filters input,.filters select{margin:0}.filters>label:not(.search){max-width:220px}input:not([type=checkbox]),select,textarea{width:100%;padding:10px 12px;border:1px solid #cbd7df;border-radius:5px;background:#fff;color:var(--ink);min-height:44px}input:focus,select:focus,textarea:focus{outline:2px solid #489caf;outline-offset:1px}input[type=checkbox]{width:18px;height:18px;accent-color:var(--cyan)}input[type=file]{padding:12px}textarea{resize:vertical}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.875rem}th{background:#f8fafb;color:#607382;font-weight:600;text-align:left;padding:14px 20px;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:17px 20px;border-bottom:1px solid #edf1f4;vertical-align:middle}tr:last-child td{border-bottom:0}tbody tr:hover{background:#fbfcfd}.record-name{font-weight:650;color:var(--ink)}.record-name:hover{color:var(--cyan)}.cell-sub{display:block;color:var(--muted);margin-top:4px;font-size:.8125rem}.money{font-variant-numeric:tabular-nums;white-space:nowrap}.pagination{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:25px;font-size:.875rem}.breadcrumb{display:block;margin-bottom:13px;font-size:.875rem}.form-panel{padding:28px;max-width:1060px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 28px}.field{margin-bottom:22px;min-width:0}.field.wide{grid-column:1/-1}.field label{display:block;font-weight:600;font-size:.875rem;margin-bottom:7px}.required{color:var(--cyan)}.help{display:block;margin-top:7px;font-size:.8125rem}.help ul{padding-left:20px}.form-actions{display:flex;gap:12px;padding-top:22px;border-top:1px solid var(--line);margin-top:8px}.errorlist{color:#a82d25;font-size:.875rem;padding:10px 10px 10px 28px;background:#fff1ee;border-radius:5px}.message{padding:15px 18px;margin-bottom:22px;border:1px solid #afd8c9;background:#edf8f2;border-radius:6px}.message.error{background:#fff0ec;border-color:#e8b9aa}.message p:last-child{margin-bottom:0}.detail-grid{display:grid;grid-template-columns:1.8fr 1fr;gap:24px;align-items:start}.detail-panel{padding:26px}.details{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:25px 0}.details dt{color:var(--muted);font-size:.875rem;margin-bottom:5px}.details dd{margin:0;font-size:1rem;overflow-wrap:anywhere}.notes{padding-top:22px;border-top:1px solid var(--line);overflow-wrap:anywhere}.history{padding:12px 0;border-bottom:1px solid #edf1f4}.history strong{font-size:.875rem}.history small{display:block;color:var(--muted);margin-top:3px}.archive-form{margin-top:25px}.related-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:24px}.empty-related{padding:24px;color:var(--muted);font-size:.9375rem;margin:0}.checkbox-line{display:flex;gap:12px;align-items:center;margin-top:22px;font-size:.9375rem}.checkbox-line input{flex-shrink:0}.code-list{font-family:monospace;font-size:.9375rem;overflow-wrap:anywhere}details{padding:15px 0 24px}summary{cursor:pointer;color:var(--cyan);font-weight:600}.public{margin:0;min-height:100vh;background:var(--navy-dark);display:flex;align-items:center;justify-content:center}.public main{width:100%;max-width:1200px}.login-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:80px;align-items:center;padding:60px 25px}.login-brand{color:#f3f8fb}.brand-mark.large{width:60px;height:66px;font-size:1.3rem;margin-bottom:34px}.login-brand .eyebrow{color:#80c7d5;margin-bottom:22px}.login-brand h1{font-size:3.2rem;line-height:1.15;margin-bottom:24px;letter-spacing:-.04em}.login-brand p{color:#b4c8d4;max-width:390px;line-height:1.7}.login-card{background:white;padding:38px;border-radius:12px;box-shadow:0 24px 70px #0002}.login-card h2{font-size:1.6rem;margin-bottom:5px}.login-card>p{margin-bottom:28px}.login-help{text-align:center;font-size:.8125rem;color:var(--muted);margin:25px 0 0!important}.narrow{max-width:620px}.skip{position:absolute;top:-100px;left:12px;z-index:100;background:white;padding:15px}.skip:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(min-width:1550px){main{padding:42px}.metric strong{font-size:2.4rem}}
@media(max-width:1150px){.sidebar{width:215px;padding-left:12px;padding-right:12px}.workspace{margin-left:215px}.public{margin:0}main{padding:26px}.topbar{padding:0 26px}.metrics{grid-template-columns:1fr 1fr}.page-heading{align-items:flex-start}.actions{justify-content:flex-end}.dashboard-grid{gap:18px}.panel-heading{padding:18px}.list-item{padding:15px 18px}.detail-grid{grid-template-columns:1.5fr 1fr}.login-layout{gap:40px}.login-brand h1{font-size:2.7rem}}
@media(max-width:800px){.sidebar{position:relative;width:auto;padding:18px}.brand{margin-bottom:15px}.sidebar>.nav-label,.sidebar-bottom,.sidebar nav .nav-label{display:none}.sidebar nav{display:flex;flex-wrap:wrap;gap:3px}.sidebar nav a{padding:7px 10px;font-size:.875rem}.sidebar nav a span{display:none}.workspace{margin-left:0}.topbar{height:52px;padding:0 20px}main{padding:24px 18px}.page-heading{flex-direction:column;gap:16px}.page-heading .actions{justify-content:flex-start}.dashboard-grid,.detail-grid,.related-grid{grid-template-columns:1fr}.filters{gap:8px}.filters>label:not(.search){flex:1;min-width:130px;max-width:none}.filters .search{flex-basis:100%}.login-layout{grid-template-columns:1fr;gap:30px;padding:15px 0}.login-brand h1{font-size:2.4rem}.login-brand h1 br{display:none}.login-brand p{margin:0}.login-brand .brand-mark{margin-bottom:20px}.public main{max-width:580px}.login-card{padding:26px}.form-panel{padding:22px}.form-grid{grid-template-columns:1fr}.field.wide{grid-column:auto}.metric{padding:18px}.metric strong{font-size:1.65rem}.metric:first-child{padding-top:16px}}
@media(max-width:420px){.metrics{gap:10px}.metric{padding:14px}.metric:first-child{padding-top:12px}.metric>span{font-size:.8125rem}.metric strong{font-size:1.4rem}.details{grid-template-columns:1fr}.topbar>.muted{display:none}.panel-heading{flex-wrap:wrap}.login-brand h1{font-size:2rem}}
@media print{.sidebar,.topbar,.actions,.filters,.archive-form,.button{display:none}.workspace{margin:0}main{padding:0}.panel{break-inside:avoid}.metrics{grid-template-columns:repeat(4,1fr)}}
@media(max-width:800px){.sidebar-bottom{display:flex;align-items:center;gap:16px;padding:14px 10px 0;flex-wrap:wrap}.sidebar-bottom>small{display:none}.sidebar-bottom .account-actions{margin:0 0 0 auto}.user-name{font-size:.875rem}}

/* Accounting workspace */
.acct-nav{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 16px;margin-bottom:24px;line-height:2}
.acct-nav a{margin-right:8px;white-space:nowrap}
.acct-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin:20px 0}
.acct-metrics section{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px}
.acct-metrics strong{font-size:1.55rem}
.acct-table{width:100%;border-collapse:collapse;background:#fff;margin:20px 0;word-break:break-word}
.acct-table th,.acct-table td{text-align:left;padding:11px;border-bottom:1px solid var(--line);vertical-align:top}
.acct-form{max-width:760px;background:#fff;border:1px solid var(--line);padding:22px;border-radius:12px}
.acct-form>div{margin:0 0 15px}.acct-form label{display:block;font-weight:650;margin-bottom:5px}
.acct-form input,.acct-form select,.acct-form textarea{max-width:100%;width:100%;padding:9px;border:1px solid var(--line);border-radius:6px}
.acct-form input[type=checkbox]{width:auto}.acct-form .errorlist{color:var(--danger)}
.acct-dates{display:flex;flex-wrap:wrap;align-items:end;gap:10px;margin:20px 0}
.acct-dates label{display:grid;gap:4px}
@media(max-width:700px){.acct-table{display:block;overflow-x:auto}}
/* QBO source evidence review */
.evidence-item{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:4px 0;overflow-wrap:anywhere}
.evidence-remove-form{display:inline;margin:0}
.evidence-remove{background:#fff;border:1px solid #c67c63;color:#843717;border-radius:5px;padding:2px 8px;font-size:.8125rem}
.evidence-dropzone{display:block;border:2px dashed #86aab8;border-radius:7px;background:#f5fafb;padding:10px;margin:7px 0;cursor:pointer;min-width:170px}
.evidence-dropzone.dragging{background:#d8f0f4;border-color:#047c91}
.evidence-dropzone span{display:block;font-weight:600;font-size:.875rem;margin-bottom:5px}
.evidence-dropzone input{max-width:100%;font-size:.8125rem}
.suite-member{padding:1rem;border-bottom:1px solid #dce3e9;display:flex;flex-direction:column;gap:.45rem}
.suite-member small{display:block;color:#64748b}
.suite-role-form{display:flex;flex-wrap:wrap;align-items:end;gap:.65rem;margin:.45rem 0}
.suite-role-form label{display:flex;flex-direction:column;gap:.25rem;font-size:.8rem}
.suite-role-form select{min-width:10rem}
.suite-wordmark{display:block;width:170px;max-width:100%;height:auto}
.suite-login-logo{display:block;max-width:220px;width:50%;height:auto;margin:0 0 1.2rem;filter:brightness(0) invert(1)}
.suite-modules{display:flex;flex-wrap:wrap;gap:16px;margin:0 0 24px}
.suite-module{display:flex;flex-direction:column;gap:4px;min-width:230px;padding:18px 22px;color:var(--ink)}
.suite-module:hover{text-decoration:none;border-color:var(--cyan)}
.suite-module span{font-size:.85rem;color:var(--muted)}
.acct-company-switch{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 20px}.acct-company-switch select{width:auto;min-width:280px}.acct-company-switch button,.acct-company-choice button{padding:10px 16px;border:1px solid var(--cyan);border-radius:6px;background:var(--cyan);color:#fff;font-weight:600}.acct-company-choice{margin:14px 0}.acct-review-warning{padding:12px 16px;border-left:4px solid #ad7734;background:#fff7e8;color:#664719}
.quote-form{max-width:1100px}.quote-line{border:1px solid var(--line);border-radius:8px;padding:15px;margin:15px 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.quote-line legend{font-weight:600}.quote-line>div{min-width:0}.quote-line label{display:block;font-size:.8rem}.quote-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:24px 0}.quote-actions form{display:flex;align-items:center;gap:8px}.quote-actions input{width:180px}@media(max-width:700px){.quote-line{grid-template-columns:1fr}}@media print{.acct-nav,.acct-company-switch,.acct-review-warning,.quote-actions,.quote-back{display:none}.quote-print h1{font-size:1.5rem}.quote-print{margin:0 auto;max-width:850px}}
.quote-brand{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:0 0 20px;margin:0 0 20px;border-bottom:2px solid var(--ink)}.quote-brand .quote-logo{display:block;width:220px;max-width:38%;height:auto;object-fit:contain}.quote-brand address{font-style:normal;text-align:right;line-height:1.5;font-size:.9rem}.quote-brand address strong{font-size:1.05rem}.quote-brand a{color:inherit;text-decoration:none}@media(max-width:600px){.quote-brand{align-items:flex-start;gap:16px}.quote-brand .quote-logo{width:155px;max-width:40%}.quote-brand address{font-size:.75rem}}@media print{.quote-brand{break-inside:avoid}.quote-brand .quote-logo{width:200px}.quote-brand address{font-size:10pt}.quote-brand a{color:#111}}
.quote-print .acct-table{width:100%;table-layout:fixed}.quote-print .acct-table thead th:first-child{width:41%}.quote-print .acct-table thead th:nth-child(2){width:17%}.quote-print .acct-table thead th:nth-child(3),.quote-print .acct-table thead th:nth-child(4),.quote-print .acct-table thead th:nth-child(5){width:14%}.quote-print .acct-table td:not(:first-child),.quote-print .acct-table th:not(:first-child){white-space:nowrap;text-align:right}.quote-print .acct-table td small{font-size:.76em;color:var(--muted)}.quote-revision-internal{color:var(--muted);font-size:.85rem}@media print{.quote-revision-internal{display:none}.quote-print .acct-table{font-size:10pt}}
.acct-dashboard-metrics{grid-template-columns:repeat(4,minmax(180px,1fr))}.acct-dashboard-metrics section{display:flex;flex-direction:column;gap:4px}.acct-dashboard-metrics strong{font-variant-numeric:tabular-nums}.acct-dashboard-metrics small{color:var(--muted)}.acct-dashboard-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:18px;margin:20px 0}.acct-dashboard-panel{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px;min-width:0}.acct-dashboard-panel ul{margin:0;padding-left:20px}.acct-chart-legend{display:flex;align-items:center;gap:7px;font-size:.82rem;margin-bottom:18px}.acct-chart-key{width:11px;height:11px;display:inline-block;border-radius:2px;margin-left:8px}.acct-chart-row{display:grid;grid-template-columns:34px minmax(0,1fr) 110px;gap:12px;align-items:center;margin:10px 0;font-size:.84rem}.acct-chart-bars{display:grid;gap:4px}.acct-chart-track{height:10px;background:#edf2f5;border-radius:3px;overflow:hidden}.acct-chart-fill{height:100%;min-width:0;border-radius:3px}.acct-chart-revenue{background:#047c91}.acct-chart-expense{background:#b77939}.acct-chart-quotes{background:#5b8096}.acct-chart-values{text-align:right;font-variant-numeric:tabular-nums;line-height:1.3}.acct-stage-row{display:grid;grid-template-columns:100px minmax(0,1fr) 25px;gap:10px;align-items:center;margin:15px 0;font-size:.875rem}.acct-stage-row strong{text-align:right}@media(max-width:1100px){.acct-dashboard-metrics{grid-template-columns:repeat(2,minmax(180px,1fr))}.acct-dashboard-grid{grid-template-columns:1fr}}@media(max-width:560px){.acct-dashboard-metrics{grid-template-columns:1fr}.acct-chart-row{grid-template-columns:30px minmax(0,1fr) 92px;gap:7px;font-size:.72rem}.acct-stage-row{grid-template-columns:80px minmax(0,1fr) 20px}}
