/* Readable, touch-friendly quote workspace. */
.quotes-workspace { --quote-ink:#172b49; --quote-muted:#536782; color:var(--quote-ink); font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.quotes-workspace .quote-heading h1 { font-size:34px; letter-spacing:-1px; }.quotes-workspace .page-subtitle { font-size:16px; color:var(--quote-muted); max-width:690px; }
.quotes-workspace .quote-layout { grid-template-columns:310px minmax(0,1fr); gap:22px; }
.quotes-workspace .panel { border:1px solid #dce4f0; border-radius:22px; box-shadow:0 8px 30px #213d6410; }
.quotes-workspace .quote-list-panel { background:#eef3fb; }.quotes-workspace .quote-list-tools { padding:18px; gap:10px; background:#e5ecf8; }
.quotes-workspace input,.quotes-workspace select,.quotes-workspace textarea { font-size:16px; color:#172b49; border:1px solid #c4d0e2; border-radius:11px; padding:11px 12px; background:#fff; min-height:44px; }
.quotes-workspace input::placeholder,.quotes-workspace textarea::placeholder { color:#65758b; }
.quotes-workspace :is(input,select,textarea,button,a):focus-visible { outline:3px solid #86a8ff; outline-offset:3px; }
.quotes-workspace .quote-list-card { background:#ffffffb8; padding:16px; margin-bottom:9px; border:1px solid #dce5f2; border-radius:16px; gap:8px; transition:background .18s,box-shadow .18s,transform .18s; }
.quotes-workspace .quote-list-card:hover { background:#fff; transform:translateY(-1px); box-shadow:0 5px 14px #193e7014; }.quotes-workspace .quote-list-card.active { background:#e1ebff; border:2px solid #3b67d9; padding:15px; box-shadow:0 3px 12px #3564ce20; }
.quotes-workspace .quote-list-card > span { flex-wrap:wrap; }.quotes-workspace .quote-list-card strong { font-size:12px; color:#526480; letter-spacing:.02em; }.quotes-workspace .quote-list-card b { font-size:18px; color:#1c304e; }.quotes-workspace .quote-list-card small { font-size:14px; color:#536782; }.quotes-workspace .quote-list-card em { font-size:19px; color:#214d9e; }
.quotes-workspace .quote-status { font-size:11px; padding:6px 10px; letter-spacing:.03em; background:#e8edf5; color:#3b4c65; }.quotes-workspace .quote-status.sent,.quotes-workspace .quote-status.viewed { background:#dceaff;color:#194e9a; }.quotes-workspace .quote-status.accepted,.quotes-workspace .quote-status.converted { background:#d7f0e5;color:#156442; }.quotes-workspace .quote-status.ready { background:#ffedc6;color:#805006; }
.quotes-workspace .quote-editor { background:#f6f8fc; }.quotes-workspace .quote-editor-head { padding:24px; background:linear-gradient(120deg,#e9efff,#f0f5ff); gap:16px; }.quotes-workspace .quote-editor-head h2 { font-size:24px; letter-spacing:-.5px; }.quotes-workspace .quote-editor-head p { font-size:14px; color:#536782; }
.quotes-workspace .btn { min-height:44px; border-radius:12px; padding:10px 15px; font-size:14px; font-weight:650; }.quotes-workspace .btn-primary { background:#315edb; border-color:#315edb; color:white; box-shadow:0 4px 10px #315edb25; }
.quotes-workspace .quote-customer-grid { padding:24px; gap:18px; background:white; }.quotes-workspace label { font-size:14px; font-weight:650; color:#405674; line-height:1.5; }.quotes-workspace label input,.quotes-workspace label select,.quotes-workspace label textarea { margin-top:6px; font-weight:400; }
.quotes-workspace .quote-services { padding:24px; background:white; border-top:1px solid #dce4f0; }.quotes-workspace .quote-section-title h3 { font-size:21px; color:#172b49; }.quotes-workspace .quote-section-title p { font-size:14px; color:#536782; }.quotes-workspace .quote-section-title select { max-width:100%; }
.quotes-workspace .quote-line { border:1px solid #d6e1ee; border-radius:16px; padding:16px; margin-top:12px; background:#f4f7fc; grid-template-columns: minmax(180px,1fr) repeat(5,minmax(65px,.35fr)) 85px 30px; gap:10px; }.quotes-workspace .quote-line-main strong { font-size:17px; color:#203a60; }.quotes-workspace .quote-line textarea { font-size:14px; min-height:76px; }.quotes-workspace .quote-line > b { font-size:16px; color:#244fa5; }.quotes-workspace .price-override { font-size:12px; color:#765015; }
.quotes-workspace .quote-slot-picker { margin:20px 24px; padding:20px; background:#eaf1ff; border:1px solid #c4d5f3; border-radius:18px; }.quotes-workspace .quote-slot-picker h3 { font-size:21px; color:#203e71; }.quotes-workspace .quote-slot-picker header p,.quotes-workspace .quote-slot-picker > p { font-size:14px; line-height:1.6; color:#425b80; }.quotes-workspace .quote-slot-picker [data-slot-selected] { color:#234dac; background:#d9e6ff; padding:11px 14px; border-radius:10px; font-size:15px; }
.quotes-workspace .staffing-results { max-height:350px; }.quotes-workspace .staffing-results h4 { font-size:15px; color:#29456e; }.quotes-workspace .staffing-results button { min-height:76px; border-radius:12px; border:1px solid #bacdeb; padding:12px; background:#fff; }.quotes-workspace .staffing-results button strong { font-size:15px; color:#234da1; }.quotes-workspace .staffing-results button span { font-size:13px; color:#4c607a; }.quotes-workspace .staffing-results button.selected { background:#315edb; border-color:#315edb; box-shadow:0 4px 12px #315edb30; }.quotes-workspace .staffing-results button.selected :is(strong,span) { color:#fff; }
.quotes-workspace .quote-bottom { padding:24px; gap:22px; background:#f6f8fc; }.quotes-workspace .quote-notes { gap:18px; }.quotes-workspace .quote-notes textarea { min-height:96px; }.quotes-workspace .quote-totals { padding:20px; background:#e8eefb; border:1px solid #ccdaf1; border-radius:18px; }.quotes-workspace .quote-totals p { font-size:15px; color:#344d70; }.quotes-workspace .quote-totals .grand { font-size:24px; color:#214dae; }
.quotes-workspace .quote-history { margin:0 24px 24px; padding:16px; border:1px solid #d6e0ee; border-radius:14px; background:#fff; }.quotes-workspace .quote-history summary { font-size:15px; color:#2d486f; font-weight:650; }.quotes-workspace .quote-history p { font-size:14px; color:#3e5577; line-height:1.6; }
.quotes-workspace .quote-welcome { background:linear-gradient(145deg,#edf3ff,#f5f8fc); min-height:430px; }.quotes-workspace .quote-welcome i { background:#dce7ff; color:#315edb; border-radius:24px; padding:18px; }.quotes-workspace .quote-welcome h2 { font-size:26px; color:#233f66; }.quotes-workspace .quote-welcome p { font-size:16px; color:#526885; }
@media(max-width:1400px) { .quotes-workspace .quote-layout { grid-template-columns:270px minmax(0,1fr); }.quotes-workspace .quote-line { grid-template-columns:repeat(5,minmax(0,1fr)); }.quotes-workspace .quote-line-main { grid-column:1/-1; }.quotes-workspace .quote-line > b { grid-column:1/4; } }
@media(max-width:1000px) { .quotes-workspace .quote-layout { grid-template-columns:1fr; }.quotes-workspace .quote-list-panel { position:static; max-height:340px; }.quotes-workspace .quote-list-panel [data-quote-list] { max-height:215px; }.quotes-workspace .quote-list-tools { grid-template-columns:1fr 1fr; } }
@media(max-width:600px) { .quotes-workspace .quote-editor-head,.quotes-workspace .quote-customer-grid,.quotes-workspace .quote-services,.quotes-workspace .quote-bottom { padding:18px; }.quotes-workspace .quote-slot-picker { margin:14px; padding:15px; }.quotes-workspace .quote-line { grid-template-columns:repeat(2,minmax(0,1fr)); }.quotes-workspace .quote-line > b { grid-column:1; }.quotes-workspace .quote-bottom { grid-template-columns:1fr; }.quotes-workspace .quote-slot-picker header > div { flex-basis:100%; }.quotes-workspace .staffing-results section > div { grid-template-columns:1fr; }.quotes-workspace .quote-editor-actions { justify-content:flex-start; } }
@media(prefers-reduced-motion:reduce) { .quotes-workspace .quote-list-card { transition:none; transform:none; } }
@media(max-width:800px) { .quotes-workspace .quote-list-panel { max-height:none; }.quotes-workspace .quote-list-panel [data-quote-list] { max-height:none; align-items:stretch; }.quotes-workspace .quote-list-card { flex:0 0 250px; min-height:205px; grid-template-rows:auto auto auto auto; }.quotes-workspace .quote-list-card small { line-height:1.5; } }
/* Quotes studio: overview first, focused editing second. */
.quotes-studio .quote-heading { padding:28px; border-radius:24px; background:linear-gradient(115deg,#152d50,#254c82 65%,#3766a1); color:white; margin-bottom:20px; box-shadow:0 12px 30px #16335d22; }.quotes-studio .quote-heading h1 { color:white; font-size:38px; }.quotes-studio .quote-heading .eyebrow { color:#b5d2ff; }.quotes-studio .quote-heading .page-subtitle { color:#dce8f9; }.quotes-studio .quote-heading .btn { background:#fff; color:#244b88; border-color:white; }
.quote-pipeline { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-bottom:24px; }.quote-pipeline button { display:flex; gap:14px; align-items:center; padding:20px; background:#fff; border:1px solid #d7e1ef; border-radius:18px; color:#486080; text-align:left; transition:transform .18s,box-shadow .18s; }.quote-pipeline button:hover { transform:translateY(-3px); box-shadow:0 8px 20px #20447218; }.quote-pipeline strong { display:block; font-size:28px; color:#183454; }.quote-pipeline .pipeline-icon { padding:12px; background:#e2eaff; color:#315edb; border-radius:14px; font-size:21px; }.quote-pipeline button:nth-child(2) .pipeline-icon { background:#fff0d3;color:#956219; }.quote-pipeline button:nth-child(3) .pipeline-icon { background:#eae2ff;color:#7542ba; }.quote-pipeline button:nth-child(4) .pipeline-icon { background:#d9f2e7;color:#187451; }.quote-pipeline button > i { margin-left:auto; }
.quotes-studio .quote-layout { display:block; }.quotes-studio:not(.editing-quote) .quote-editor { display:none; }.quotes-studio.editing-quote .quote-list-panel,.quotes-studio.editing-quote .quote-pipeline { display:none; }.quotes-studio .quote-list-panel { position:static; max-height:none; background:transparent; border:0; box-shadow:none; }.quotes-studio .quote-list-tools { grid-template-columns:minmax(200px,1fr) 220px; border:1px solid #dae3f0; border-radius:16px; margin-bottom:18px; padding:12px; background:white; }.quotes-studio .quote-list-panel [data-quote-list] { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); padding:0; gap:16px; overflow:visible; max-height:none; }.quotes-studio .quote-list-card { min-width:0; min-height:210px; padding:22px; margin:0; background:white; border-radius:20px; grid-template-rows:auto auto auto auto; }.quotes-studio .quote-list-card b { font-size:23px; }.quotes-studio .quote-list-card em { border-top:1px solid #e0e7f2; padding-top:12px; font-size:23px; }.quotes-studio .quote-list-card:hover { border-color:#739ade; background:#f5f8ff; transform:translateY(-4px); }
.quotes-studio .quote-editor { border-radius:22px; background:white; }.quotes-studio .quote-editor-head { background:white; padding:22px 28px; }.quote-step-nav { display:flex; gap:8px; padding:14px 22px; background:#edf2f9; overflow:auto; border-block:1px solid #dae3f1; }.quote-step-nav button { display:flex; gap:8px; align-items:center; white-space:nowrap; border:0; padding:12px 16px; border-radius:12px; color:#4b607e; background:transparent; font-size:14px; font-weight:650; transition:background .18s,color .18s; }.quote-step-nav button.active { background:#fff; color:#2656bc; box-shadow:0 3px 12px #244c8b18; }.quote-step-nav .quote-back { margin-right:auto; color:#294f89; }.quotes-studio [data-quote-form] > [hidden] { display:none!important; }.quotes-studio .quote-customer-grid { min-height:230px; align-content:start; }.quotes-studio .quote-services { min-height:300px; }.quotes-studio .quote-slot-picker { margin:24px; }.quote-step-footer { padding:18px 24px; display:flex; align-items:center; justify-content:space-between; gap:16px; background:#f7f9fc; border-top:1px solid #dbe3ee; }.quote-step-footer > span { color:#63748b; font-size:13px; }.quote-step-enter { animation:quote-step-in .25s ease-out; }@keyframes quote-step-in { from {opacity:0;transform:translateY(8px)} to {opacity:1;transform:translateY(0)} }
@media(max-width:1100px) { .quotes-studio .quote-list-panel [data-quote-list] { grid-template-columns:repeat(2,minmax(0,1fr)); }.quote-pipeline { grid-template-columns:repeat(2,1fr); } }
@media(max-width:600px) { .quotes-studio .quote-heading { padding:22px; }.quotes-studio .quote-heading h1 { font-size:32px; }.quote-pipeline { gap:10px; }.quote-pipeline button { padding:14px; gap:10px; font-size:12px; }.quote-pipeline .pipeline-icon { padding:8px;font-size:16px; }.quote-pipeline strong { font-size:24px; }.quote-pipeline button > i { display:none; }.quotes-studio .quote-list-panel [data-quote-list] { grid-template-columns:1fr; }.quotes-studio .quote-list-tools { grid-template-columns:1fr; }.quotes-studio .quote-list-card { min-height:190px; }.quote-step-nav { padding:10px; }.quote-step-footer { flex-wrap:wrap; }.quote-step-footer .btn { width:100%; } }
@media(prefers-reduced-motion:reduce) { .quote-step-enter { animation:none; }.quote-pipeline button,.quote-step-nav button { transition:none; }.quotes-studio .quote-list-card:hover,.quote-pipeline button:hover { transform:none; } }
.quotes-studio.editing-quote .quote-heading { display:none; }.quotes-studio .quote-line-empty { font-size:15px; padding:28px 18px; line-height:1.6; color:#526885; background:#f0f5fc; border-radius:14px; }.quotes-studio [data-add-service] { background:#315edb; color:white; border-color:#315edb; }.quotes-studio .quote-step-nav { scrollbar-width:thin; }.quotes-studio .quote-step-footer { margin-bottom:8px; }

/* Persistent quote browser with complete quote and separate activity view. */
.quotes-studio .quote-layout { display:grid; grid-template-columns:290px minmax(0,1fr); align-items:start; gap:22px; }
.quotes-studio.editing-quote .quote-list-panel,.quotes-studio:not(.editing-quote) .quote-editor { display:block; }
.quotes-studio.editing-quote .quote-heading { display:flex; padding:20px 24px; }.quotes-studio.editing-quote .quote-heading .page-subtitle { display:none; }.quotes-studio.editing-quote .quote-heading h1 { font-size:28px; }
.quotes-studio .quote-list-panel { position:sticky; top:90px; background:#edf2fa; border:1px solid #d6e1ef; border-radius:20px; overflow:hidden; }
.quotes-studio .quote-list-tools { grid-template-columns:1fr; margin:0; border:0; border-radius:0; background:#e6edf8; }
.quotes-studio .quote-list-panel [data-quote-list] { display:grid; grid-template-columns:1fr; max-height:calc(100dvh - 255px); overflow:auto; padding:10px; gap:10px; }
.quotes-studio .quote-list-card { min-height:0; padding:16px; gap:7px; }.quotes-studio .quote-list-card.active { padding:15px; }.quotes-studio .quote-list-card b { font-size:18px; }.quotes-studio .quote-list-card em { font-size:19px; padding-top:8px; }.quotes-studio .quote-list-card small { font-size:13px; }
.quotes-studio #quote-overview-panel > section { min-height:0; }.quotes-studio #quote-overview-panel .quote-services { border-top:1px solid #dce4f0; }.quotes-studio #quote-activity-panel { padding:24px 0; }.quotes-studio #quote-activity-panel .quote-history { margin-bottom:0; }
.quotes-studio .quote-step-nav { padding:12px 24px; }.quotes-studio .quote-step-nav button { min-width:110px; justify-content:center; }
@media(max-width:1000px) { .quotes-studio .quote-layout { grid-template-columns:240px minmax(0,1fr); gap:14px; }.quotes-studio .quote-bottom { grid-template-columns:1fr; } }
@media(max-width:760px) { .quotes-studio .quote-layout { grid-template-columns:1fr; }.quotes-studio .quote-list-panel { position:static; }.quotes-studio .quote-list-tools { grid-template-columns:1fr 1fr; }.quotes-studio .quote-list-panel [data-quote-list] { display:flex; max-height:240px; }.quotes-studio .quote-list-card { flex:0 0 245px; min-height:195px; }.quotes-studio.editing-quote .quote-heading { padding:18px; } }

.quotes-studio .quote-attention { display:flex; gap:6px; align-items:center; padding:6px 9px; border-radius:9px; font-size:12px; font-weight:650; background:#eaf0fc; color:#365790; }
.quotes-studio .quote-attention.tone-rose { background:#fce8ed; color:#9a304c; }
.quotes-studio .quote-attention.tone-amber { background:#fff0d8; color:#875009; }
.quotes-studio .quote-attention.tone-mint { background:#ddf2e8; color:#1e694f; }
.quotes-studio .quote-pipeline button[aria-pressed=true] { outline:2px solid #5475e7; outline-offset:-2px; background:#e9efff; }
