:root{--bg: #f5f2ea;--surface: #ffffff;--surface-soft: #eeeadf;--ink: #18211c;--muted: #69736e;--line: #d9ddd6;--accent: #16745b;--accent-dark: #105340;--danger: #a8482c;--shadow: 0 18px 50px rgba(31, 39, 34, .1)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.auth-shell{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:20px}.auth-card{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);max-width:460px;padding:28px;width:100%}.auth-card h1{font-size:34px;margin-bottom:6px}.auth-card p,.auth-link{color:var(--muted)}.auth-link{display:inline-flex;font-weight:800;margin-top:16px}button,input,select,textarea{font:inherit}button{border:0}a{color:inherit;text-decoration:none}.app-shell{display:grid;grid-template-columns:292px minmax(0,1fr);min-height:100vh}.sidebar{background:#17211c;color:#f8f5eb;display:flex;flex-direction:column;gap:8px;padding:20px;position:sticky;top:0;height:100vh;overflow-y:auto}.brand,.sidebar nav button{align-items:center;background:transparent;color:inherit;cursor:pointer;display:flex;gap:12px;justify-content:flex-start;text-align:left;width:100%}.brand{font-size:18px;font-weight:850;margin-bottom:8px;min-height:56px;padding:6px}.brand-mark{align-items:center;background:#d5ae54;border-radius:8px;color:#18211c;display:inline-flex;height:40px;justify-content:center;width:40px}.sidebar nav{display:grid;gap:6px}.nav-heading{border-top:1px solid rgba(255,255,255,.08);color:#aeb8b2;font-size:11px;font-weight:850;letter-spacing:.08em;margin:14px 8px 2px;padding-top:12px;text-transform:uppercase}.sidebar nav button{border-radius:8px;color:#d8ded9;min-height:58px;padding:10px 12px;position:relative}.sidebar nav button.active:before{background:#d5ae54;border-radius:999px;content:"";height:28px;left:0;position:absolute;width:4px}.nav-icon{align-items:center;background:#ffffff14;border:1px solid rgba(255,255,255,.08);border-radius:8px;display:inline-flex;flex:0 0 32px;height:28px;justify-content:center;text-align:center;width:32px}.nav-copy{display:grid;gap:2px;justify-items:start;min-width:0;text-align:left}.nav-copy strong{font-size:14px;line-height:1.1;text-align:left}.nav-copy small{color:#9fa9a2;font-size:12px;font-weight:650;line-height:1.2;text-align:left}.sidebar nav button:hover,.sidebar nav button.active{background:#24322a;color:#fff}.sidebar nav button.active .nav-icon{background:#d5ae54;color:#18211c}.main{min-width:0;padding:28px}.topbar{align-items:center;display:flex;gap:16px;justify-content:space-between;margin-bottom:22px}.topbar h1,h2,h3,p{margin-top:0}.topbar h1{font-size:clamp(28px,4vw,42px);line-height:1;margin-bottom:0}.eyebrow{color:var(--muted);font-size:12px;font-weight:850;letter-spacing:.08em;margin-bottom:6px;text-transform:uppercase}.top-actions,.row-actions,.line-editor-head,.section-head,.quick-grid{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.user-chip{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:999px;color:var(--muted);display:inline-flex;font-size:13px;font-weight:850;min-height:42px;padding:8px 12px}button,.link-button{align-items:center;background:var(--accent);border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-weight:800;min-height:42px;justify-content:center;padding:10px 14px}button:hover,.link-button:hover{background:var(--accent-dark)}button.ghost,.ghost{background:var(--surface-soft);color:var(--ink)}button.danger,.danger{background:#f3ddd5;color:var(--danger)}.icon-button{aspect-ratio:1;min-height:42px;padding:0;width:42px}.mobile-only{display:none}.notice,.empty-state{background:#e8f4ed;border:1px solid #bedccb;border-radius:8px;margin-bottom:16px;padding:14px 16px}.notice.danger{background:#fff1ec;border-color:#ecc1b1}.stack{display:grid;gap:18px}.stats{display:grid;gap:14px;grid-template-columns:repeat(4,minmax(0,1fr))}.stat{align-items:flex-start;background:var(--surface);border:1px solid var(--line);border-radius:8px;color:var(--ink);display:grid;gap:8px;justify-content:stretch;min-height:118px;padding:18px;text-align:left}.stat:hover{background:var(--surface);box-shadow:var(--shadow)}.stat span,label,.result-list span{color:var(--muted);display:block;font-size:13px;font-weight:800;margin-bottom:6px;text-transform:capitalize}.stat strong{font-size:clamp(28px,4vw,40px);line-height:1}.quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.quick-grid button{min-height:64px}.content-grid{display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-layout{align-items:start;display:grid;gap:18px;grid-template-columns:minmax(0,1fr) 340px}.calendar-toolbar{align-items:center;display:flex;gap:14px;justify-content:space-between;margin-bottom:14px}.calendar-toolbar h2{margin-bottom:0}.calendar-legend,.calendar-weekdays{align-items:center;display:grid;gap:8px;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-legend{display:flex;flex-wrap:wrap;margin-bottom:14px}.calendar-legend span{align-items:center;color:var(--muted);display:inline-flex;font-size:13px;font-weight:800;gap:7px}.event-dot{border-radius:999px;display:inline-block;height:10px;width:10px}.event-dot.job,.calendar-event.job{background:#e2f1e8;border-color:#94c7a9}.event-dot.estimate,.calendar-event.estimate{background:#f4ead2;border-color:#dfc47d}.event-dot.lead,.calendar-event.lead{background:#e7edf8;border-color:#9fb6dd}.calendar-weekdays{color:var(--muted);font-size:12px;margin-bottom:8px;text-transform:uppercase}.calendar-grid{display:grid;gap:8px;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-day{background:#fbfaf6;border:1px solid var(--line);border-radius:8px;min-height:132px;padding:10px}.calendar-day.muted{opacity:.55}.calendar-day.today{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.calendar-day header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.calendar-day header span{font-weight:850}.calendar-day header small,.more-events{color:var(--muted);font-size:12px;font-weight:800}.calendar-event{align-items:flex-start;border:1px solid;color:var(--ink);display:grid;font-size:12px;gap:2px;justify-content:stretch;margin-bottom:6px;min-height:0;padding:7px;text-align:left;width:100%}.calendar-event:hover{color:var(--ink);filter:brightness(.97)}.calendar-event span{color:var(--muted);font-weight:700}.agenda-panel{display:grid;gap:10px}.action-panel{align-content:start}.agenda-subhead{border-top:1px solid var(--line);margin-bottom:2px;margin-top:10px;padding-top:14px}.agenda-item{align-items:center;border:1px solid var(--line);border-radius:8px;display:grid;gap:10px;grid-template-columns:auto minmax(0,1fr) auto;padding:12px}.agenda-item h3{margin-bottom:2px}.agenda-item p{color:var(--muted);margin-bottom:0}.message-card{align-items:flex-start;border:1px solid var(--line);border-radius:8px;display:grid;gap:14px;grid-template-columns:minmax(0,1fr) auto;margin-bottom:12px;padding:16px}.message-card p{color:var(--muted);margin-bottom:8px}.message-card textarea{min-height:116px}.payment-history{display:grid;gap:12px;margin-top:18px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:0 1px #fffc;padding:20px}.table-panel{overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{border-bottom:1px solid var(--line);padding:13px 10px;text-align:left;vertical-align:middle}th{color:var(--muted);font-size:12px;text-transform:uppercase}.pill{background:#e5f1eb;border-radius:999px;color:var(--accent-dark);display:inline-flex;font-size:12px;font-weight:850;padding:5px 10px;text-transform:capitalize}.cards-list{display:grid;gap:12px}.record-card{align-items:center;border:1px solid var(--line);border-radius:8px;display:flex;gap:16px;justify-content:space-between;padding:16px}.record-card p{color:var(--muted);margin-bottom:4px}.job-card{border:1px solid var(--line);border-radius:8px;display:grid;gap:14px;padding:16px}.job-card-head{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.job-card-head p,.gallery-chip p,.workflow-list p{color:var(--muted);margin-bottom:4px}.job-command-grid{display:grid;gap:10px;grid-template-columns:repeat(4,minmax(0,1fr))}.job-command-grid div{background:#fbfaf6;border:1px solid var(--line);border-radius:8px;padding:12px}.job-command-grid span{color:var(--muted);display:block;font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.job-command-grid strong{display:block;margin-top:4px}.job-mini-list{border-top:1px solid var(--line);display:grid;gap:8px;padding-top:12px}.job-mini-list h4{margin-bottom:0}.job-mini-list .record-card{padding:12px}.job-gallery{background:#fbfaf6;border:1px solid var(--line);border-radius:8px;display:grid;gap:10px;padding:12px}.gallery-chip{align-items:center;background:#fff;border:1px solid var(--line);border-radius:8px;display:grid;gap:10px;grid-template-columns:150px minmax(0,1fr) auto;padding:10px}.gallery-chip h4{margin:0 0 2px}.before-after-preview{display:grid;gap:6px;grid-template-columns:1fr 1fr}.before-after-preview img,.before-after-preview span,.before-after-existing img{aspect-ratio:1.25;border:1px solid var(--line);border-radius:8px;object-fit:cover;width:100%}.before-after-preview span{align-items:center;background:var(--surface-soft);color:var(--muted);display:flex;font-size:12px;font-weight:850;justify-content:center}.before-after-existing{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.before-after-existing figure{margin:0}.before-after-existing figcaption{color:var(--muted);font-size:12px;font-weight:800;margin-top:4px}.upload-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.upload-card{background:#fbfaf6;border:1px dashed #b7c0ba;border-radius:8px;cursor:pointer;display:grid;gap:8px;margin:0;padding:16px}.upload-card strong{color:var(--ink);font-size:16px}.upload-card span{color:var(--muted);font-size:13px;font-weight:750}.upload-card input{background:#fff;border-style:solid}.workflow-list{display:grid;gap:12px}.workflow-list div{border:1px solid var(--line);border-radius:8px;display:grid;gap:4px;grid-template-columns:36px minmax(0,1fr);padding:14px}.workflow-list span{align-items:center;background:var(--surface-soft);border-radius:8px;display:inline-flex;font-weight:850;height:30px;justify-content:center;width:30px}.workflow-list p{grid-column:2}.form-grid{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.wide{grid-column:1 / -1}input,select,textarea{background:#fff;border:1px solid var(--line);border-radius:8px;color:var(--ink);min-height:44px;padding:10px 12px;width:100%}textarea{min-height:92px;resize:vertical}.line-editor{border:1px solid var(--line);border-radius:8px;padding:14px}.line-row{align-items:center;display:grid;gap:8px;grid-template-columns:minmax(180px,2fr) 90px 90px 120px 100px auto;margin-top:10px}.result-list{display:grid;gap:12px}.result-list div{background:var(--surface-soft);border-radius:8px;padding:16px}.result-list strong{display:block;font-size:26px}.section-head{justify-content:space-between;margin-bottom:12px}.pipeline-board{display:grid;gap:12px;grid-template-columns:repeat(6,minmax(170px,1fr));margin-bottom:18px;overflow-x:auto}.pipeline-board article{background:var(--surface-soft);border-radius:8px;min-height:160px;padding:12px}.pipeline-card{align-items:flex-start;background:#fff;border:1px solid var(--line);color:var(--ink);display:grid;font-weight:600;gap:4px;justify-content:stretch;margin-top:8px;text-align:left;width:100%}.wizard-steps,.wizard-actions,.template-grid,.embedded-calcs{display:flex;flex-wrap:wrap;gap:10px}.wizard-steps button.active{background:var(--accent-dark);color:#fff}.scope-list{display:grid;gap:8px}.embedded-calcs{align-items:end;background:var(--surface-soft);border-radius:8px;padding:14px}.embedded-calcs label{min-width:150px}.preview-box,.followups{background:var(--surface-soft);border-radius:8px;padding:16px}.followups{display:grid;gap:10px}.modal-backdrop{align-items:center;background:#18211c73;display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;padding:18px;position:fixed;z-index:40}.modal{background:var(--surface);border-radius:10px;box-shadow:var(--shadow);max-height:calc(100vh - 36px);max-width:980px;overflow:auto;padding:20px;width:100%}.modal header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}@media (max-width: 1120px){.stats,.quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.content-grid,.calendar-layout{grid-template-columns:1fr}}@media (max-width: 820px){.app-shell{display:block}.mobile-only{display:inline-flex}.sidebar{box-shadow:var(--shadow);height:100vh;left:0;max-width:320px;position:fixed;top:0;transform:translate(-105%);transition:transform .2s ease;width:85vw;z-index:30}.sidebar.open{transform:translate(0)}.main{padding:16px}.topbar{align-items:flex-start;flex-wrap:wrap}.top-actions{width:100%}.top-actions button{flex:1}.stats,.quick-grid,.pipeline-board,.form-grid,.calendar-grid,.calendar-weekdays{grid-template-columns:1fr}.calendar-weekdays{display:none}.calendar-toolbar,.record-card{align-items:flex-start;flex-direction:column}.job-card-head{flex-direction:column}.job-command-grid,.gallery-chip,.before-after-existing,.upload-grid,.agenda-item,.message-card{grid-template-columns:1fr}.row-actions{width:100%}.row-actions button,.row-actions .link-button{flex:1}.line-row{grid-template-columns:1fr}th,td{min-width:130px}}
