:root{--blue: #1a539b;--blue-soft: rgba(26, 83, 155, .12);--red: #c62828;--red-soft: rgba(198, 40, 40, .12);--green: #15803d;--green-soft: rgba(21, 128, 61, .14);--amber: #c9890a;--amber-soft: rgba(201, 137, 10, .16);--danger: var(--red);--bg: #f4f8fd;--panel: #ffffff;--panel-2: #eef4fb;--border: #d5e2f0;--text: #1a2332;--muted: #5b6b7c;--accent: var(--blue);--accent-soft: var(--blue-soft);--accent-fg: #ffffff;--sidebar-bg: #eaf1f9;--hover: rgba(26, 83, 155, .07);--shadow: 0 1px 2px rgba(26, 50, 80, .06), 0 8px 24px rgba(26, 50, 80, .05);--glow-1: #d7e7f8;--glow-2: #eef4fb;--radius: 8px;--sidebar: 248px;--font: "Geist Variable", "Segoe UI", sans-serif}body.theme-admin{--bg: #f4f8fd;--panel: #ffffff;--panel-2: #eef4fb;--border: #d5e2f0;--text: #1a2332;--muted: #5b6b7c;--accent: var(--blue);--accent-soft: var(--blue-soft);--accent-fg: #ffffff;--sidebar-bg: #eaf1f9;--hover: rgba(26, 83, 155, .07);--glow-1: #d7e7f8;--glow-2: #eef4fb}body.theme-internal{--bg: #fff8f7;--panel: #ffffff;--panel-2: #fff1ef;--border: #f0d4d0;--text: #2a1d1c;--muted: #7a5552;--accent: var(--red);--accent-soft: var(--red-soft);--accent-fg: #ffffff;--sidebar-bg: #fdeeee;--hover: rgba(198, 40, 40, .08);--shadow: 0 1px 2px rgba(120, 30, 30, .06), 0 8px 24px rgba(120, 30, 30, .05);--glow-1: #ffd6d1;--glow-2: #fff1ef}body.theme-operations{--bg: #fffbf2;--panel: #fffefb;--panel-2: #fff6e6;--border: #ead9b0;--text: #2a2418;--muted: #6d5e43;--accent: var(--amber);--accent-soft: var(--amber-soft);--accent-fg: #1a1408;--sidebar-bg: #fff4dc;--hover: rgba(201, 137, 10, .1);--shadow: 0 1px 2px rgba(90, 60, 10, .06), 0 8px 24px rgba(90, 60, 10, .05);--glow-1: #ffe9b5;--glow-2: #fff6e0}body.theme-client{--bg: #f3faf5;--panel: #ffffff;--panel-2: #eaf6ee;--border: #c7e0d0;--text: #1a2b22;--muted: #4d6a58;--accent: var(--green);--accent-soft: var(--green-soft);--accent-fg: #ffffff;--sidebar-bg: #e4f3ea;--hover: rgba(21, 128, 61, .08);--shadow: 0 1px 2px rgba(20, 70, 40, .06), 0 8px 24px rgba(20, 70, 40, .05);--glow-1: #cfead8;--glow-2: #e8f6ed}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font);background:radial-gradient(1200px 600px at 10% -10%,var(--glow-1) 0%,transparent 55%),radial-gradient(900px 500px at 100% 0%,var(--glow-2) 0%,transparent 45%),var(--bg);color:var(--text);color-scheme:light;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}input[type=date],input[type=time],input[type=datetime-local]{cursor:pointer;color-scheme:light}input[type=date]::-webkit-calendar-picker-indicator,input[type=time]::-webkit-calendar-picker-indicator,input[type=datetime-local]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:1;width:1.15rem;height:1.15rem;padding:.1rem;margin-left:.2rem;border-radius:4px}input[type=date]::-webkit-calendar-picker-indicator:hover,input[type=time]::-webkit-calendar-picker-indicator:hover,input[type=datetime-local]::-webkit-calendar-picker-indicator:hover{background:var(--hover)}.modal-card input[type=date],.modal-card input[type=time],.modal-card input[type=datetime-local]{color-scheme:light}.modal-card input[type=date]::-webkit-calendar-picker-indicator,.modal-card input[type=time]::-webkit-calendar-picker-indicator,.modal-card input[type=datetime-local]::-webkit-calendar-picker-indicator{filter:none}a{color:inherit;text-decoration:none}.app-shell{display:grid;grid-template-columns:var(--sidebar) 1fr;min-height:100%;height:100%}.sidebar{display:flex;flex-direction:column;border-right:1px solid var(--border);background:var(--sidebar-bg);padding:1.25rem .9rem;gap:1.5rem;min-height:0;overflow-y:auto}.brand{display:flex;gap:.75rem;align-items:center;padding:0 .4rem}.brand img{width:42px;height:42px;object-fit:contain;background:#fff;border:1px solid var(--border);border-radius:6px}.brand-text strong{display:block;font-size:.95rem;letter-spacing:.01em}.brand-text span{display:block;font-size:.65rem;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-top:.15rem}.nav-group{display:flex;flex-direction:column;gap:.25rem;margin-bottom:1rem}.nav-label{font-size:.65rem;letter-spacing:.1em;color:var(--muted);padding:.35rem .65rem}.nav-item{display:flex;align-items:center;gap:.55rem;border:0;background:transparent;color:var(--muted);text-align:left;padding:.55rem .65rem;border-radius:6px;cursor:pointer;border-left:2px solid transparent}.nav-item:hover{color:var(--text);background:var(--hover)}.nav-item.active{color:var(--text);background:var(--accent-soft);border-left-color:var(--accent);font-weight:600}.nav-item.ancestor{color:var(--text)}.nav-tree{display:flex;flex-direction:column;gap:.15rem}.nav-item-row{display:flex;align-items:stretch;gap:.15rem}.nav-item-row .nav-item{flex:1}.nav-chevron{flex:0 0 auto;border:0;background:transparent;color:var(--muted);cursor:pointer;padding:.45rem .5rem;border-radius:6px;line-height:1;font-size:.7rem;transform:rotate(-90deg);transition:transform .15s ease}.nav-chevron.open{transform:rotate(0)}.nav-chevron:hover{color:var(--text);background:var(--hover)}.nav-children{display:flex;flex-direction:column;gap:.1rem;margin:.1rem 0 .2rem .85rem;padding-left:.45rem;border-left:1px solid var(--border)}.nav-item.nav-child{padding:.4rem .55rem;font-size:.85rem;justify-content:space-between}.nav-child-meta{font-size:.65rem;color:var(--muted);font-weight:400;letter-spacing:.04em}.nav-item.nav-child.active .nav-child-meta{color:inherit;opacity:.75}.sidebar-footer{margin-top:auto;border-top:1px solid var(--border);padding-top:1rem;display:flex;flex-direction:column;gap:.75rem}.app-version{color:var(--muted);font-size:.65rem;letter-spacing:.04em;text-align:center;padding-top:.25rem}.user-chip{display:flex;gap:.65rem;align-items:center;padding:0 .35rem}.avatar{width:34px;height:34px;border-radius:6px;background:var(--accent);color:var(--accent-fg);display:grid;place-items:center;font-weight:700;font-size:.85rem}.user-chip strong{display:block;font-size:.85rem}.user-chip span{color:var(--muted);font-size:.75rem}.btn{border:1px solid var(--border);background:transparent;color:var(--text);border-radius:6px;padding:.45rem .75rem;cursor:pointer}.btn:hover{border-color:var(--accent);background:var(--hover)}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-fg);font-weight:600}.btn-primary:hover{filter:none;background:color-mix(in srgb,var(--accent) 88%,#000);border-color:color-mix(in srgb,var(--accent) 88%,#000);color:var(--accent-fg)}.btn-danger{background:var(--red-soft);border-color:var(--red);color:var(--red)}.btn-danger:hover{filter:none;background:color-mix(in srgb,var(--red) 18%,var(--panel))}.btn-danger-text{color:var(--red);font-size:.75rem;padding:.2rem .45rem}.btn-ghost{background:transparent;border-color:transparent;color:var(--muted)}.btn-ghost:hover{color:var(--text);background:var(--hover);border-color:transparent}.main{min-width:0;min-height:0;overflow-y:auto;padding:1.5rem 1.75rem 2rem}.crm-activity{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:.65rem;margin:0 0 .9rem;padding:.55rem .85rem;background:var(--accent-soft);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:.88rem;font-weight:600}.crm-activity-spinner{width:.95rem;height:.95rem;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:crm-spin .7s linear infinite}@keyframes crm-spin{to{transform:rotate(360deg)}}.page-kicker{color:var(--red);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;margin:0 0 .35rem}.page-title{margin:0 0 1.25rem;font-size:1.75rem;font-weight:600;letter-spacing:-.02em}.page-toolbar{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.25rem}.form-panel{margin-bottom:1rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem 1rem;margin-bottom:.85rem}.form-grid .full{grid-column:1 / -1}.form-grid select{background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text);padding:.65rem .75rem}.form-grid select:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}.clickable{cursor:pointer;text-align:left;width:100%;color:inherit;font:inherit}button.metric-card{-webkit-appearance:none;-moz-appearance:none;appearance:none}button.metric-card:hover,button.pipe-card:hover,button.list-row:hover{border-color:var(--accent);background:var(--hover)}button.pipe-card{display:block}button.list-row{background:transparent;border:0;border-bottom:1px solid var(--border);border-radius:0;padding:.7rem 0}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem;margin-bottom:1.25rem}.metric-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1rem 1rem 1.1rem;position:relative;overflow:hidden;box-shadow:var(--shadow)}.metric-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent, var(--blue))}.metric-card .value{font-size:1.85rem;font-weight:700;color:var(--accent, var(--blue));line-height:1;margin-bottom:.45rem}.metric-card .label{font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.metric-card .hint{color:var(--muted);font-size:.78rem;margin-top:.25rem}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.1rem;box-shadow:var(--shadow)}.panel-header{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.85rem}.panel-header h2{margin:0;font-size:1rem}.panel-header p,.muted{color:var(--muted);margin:.25rem 0 0;font-size:.82rem}.linkish{color:var(--muted);font-size:.8rem;background:none;border:0;cursor:pointer}.linkish:hover{color:var(--accent)}.pipeline{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.65rem;margin-top:.75rem}.pipeline-col{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius);min-height:140px;padding:.65rem}.pipeline-col header{display:flex;align-items:center;justify-content:space-between;font-size:.72rem;letter-spacing:.08em;font-weight:700;margin-bottom:.55rem}.count-pill{background:var(--accent);color:var(--accent-fg);border-radius:999px;min-width:1.35rem;height:1.35rem;display:grid;place-items:center;font-size:.7rem}.pipeline-empty{color:var(--muted);text-align:center;padding:1.5rem 0}.pipe-card{background:var(--panel);border:1px solid var(--border);border-radius:6px;padding:.45rem .55rem;margin-bottom:.4rem;font-size:.78rem}.pipe-card span{display:block;color:var(--muted);font-size:.7rem;margin-top:.15rem}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:.85rem;margin-top:1.1rem}.list-row{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.7rem 0;border-bottom:1px solid var(--border)}.list-row:last-child{border-bottom:0}.list-row strong{display:block;font-size:.88rem}.list-row span{color:var(--muted);font-size:.75rem}.badge{display:inline-flex;align-items:center;border-radius:4px;padding:.18rem .45rem;font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;border:1px solid var(--border);white-space:nowrap}.badge-neutral{background:transparent;color:var(--text)}.badge-new{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.badge-flagged{background:var(--red-soft);color:var(--red);border-color:color-mix(in srgb,var(--red) 45%,var(--border))}.badge-accepted{background:var(--green-soft);color:var(--green);border-color:color-mix(in srgb,var(--green) 45%,var(--border))}.badge-archived{background:color-mix(in srgb,var(--muted) 16%,transparent);color:var(--muted);border-color:var(--border)}.archive-banner{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.65rem;border:1px solid var(--border);background:color-mix(in srgb,var(--muted) 10%,transparent);border-radius:8px;padding:.7rem .85rem;margin:.75rem 0}.archive-banner p{margin:.2rem 0 0;font-size:.8rem}.banner.ok{padding:.65rem .85rem;margin-bottom:1rem;border-radius:6px;background:color-mix(in srgb,var(--green, #2f9e44) 12%,transparent);color:var(--green, #2f9e44)}.filters{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:1rem}.wr-list-filters{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin:-1rem -1.1rem .75rem;padding:.75rem 1.1rem .7rem;border-bottom:1px solid var(--border)}.wr-list-filters input[type=search]{flex:1 1 14rem;min-width:11rem;max-width:22rem;background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text);padding:.5rem .65rem .5rem 2.15rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%235b6b7c' stroke-width='2' viewBox='0 0 24 24'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3.5-3.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:.65rem 50%;background-size:.9rem}.wr-list-filters select{min-width:12rem;max-width:18rem;background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text);padding:.5rem .65rem}.wr-list-filters input[type=search]:focus,.wr-list-filters select:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}.wr-list-filters .muted{margin-left:auto;font-size:.8rem}.pill{border:1px solid var(--border);background:transparent;color:var(--muted);border-radius:999px;padding:.35rem .85rem;cursor:pointer;font-size:.82rem}.pill.active{color:var(--text);border-color:var(--accent);background:var(--accent-soft)}.split{display:grid;grid-template-columns:1fr;gap:0;min-height:calc(100vh - 7rem)}.split.with-drawer{grid-template-columns:1fr 360px;gap:.85rem}.table{width:100%;border-collapse:collapse}.table th{text-align:left;color:var(--muted);font-size:.7rem;letter-spacing:.08em;font-weight:600;padding:.55rem .65rem;border-bottom:1px solid var(--border)}.table td{padding:.85rem .65rem;border-bottom:1px solid var(--border);font-size:.88rem;vertical-align:middle}.table tr{cursor:pointer}.table tr:hover td{background:var(--hover)}.table tr.selected td{background:var(--accent-soft)}.table .row-expand-th,.table .row-expand-cell,.data-table .row-expand-th,.data-table .row-expand-cell{width:1.6rem;padding-left:.55rem;padding-right:.15rem;color:var(--muted);vertical-align:middle}.row-expand-cue{display:inline-block;font-size:.7rem;line-height:1;transform:rotate(0);transition:transform .15s ease}.row-expand-cue.is-open{transform:rotate(90deg)}.table tr.accordion-detail-row,.data-table tr.accordion-detail-row{cursor:default}.table tr.accordion-detail-row:hover td,.data-table tr.accordion-detail-row:hover td{background:transparent}.table tr.accordion-detail-row>td,.data-table tr.accordion-detail-row>td{padding:0;background:color-mix(in srgb,var(--panel-2) 88%,var(--accent-soft));border-bottom:1px solid var(--border);vertical-align:top}.accordion-detail-panel{margin:0;padding:.9rem 1rem 1.05rem;text-align:left;max-height:min(72vh,54rem);overflow:auto;background:var(--panel);box-shadow:inset 0 1px color-mix(in srgb,var(--border) 70%,transparent)}.field-info{position:relative;display:inline-flex;align-items:center;flex-shrink:0}.field-info-btn{width:1.05rem;height:1.05rem;padding:0;border-radius:999px;border:1px solid color-mix(in srgb,var(--accent) 45%,var(--border));background:var(--panel);color:var(--accent);font:700 .68rem/1 var(--font, inherit);cursor:help;display:inline-grid;place-items:center}.field-info-btn:hover,.field-info.is-open .field-info-btn{background:var(--accent-soft);border-color:var(--accent)}.field-info-pop--portal{display:block;position:fixed;z-index:400;margin:0;padding:.55rem .7rem;border:1px solid var(--border);border-radius:8px;background:var(--panel);color:var(--text);box-shadow:0 8px 24px #1a325029,0 1px 2px #1a325014;font-size:.78rem;font-weight:400;letter-spacing:0;text-transform:none;line-height:1.45;white-space:normal;pointer-events:auto}.field>label,.dprs-timesheet-field>span{display:flex;align-items:flex-start;gap:.35rem;min-width:0;flex-wrap:wrap;line-height:1.25}.wr-list-wrap{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);overflow:auto}.table tr.accordion-detail-row>td.wr-expand-cell,.dprs-layout .data-table tr.accordion-detail-row>td.dprs-expand-cell{background:var(--panel);isolation:isolate;box-shadow:inset 0 1px 0 var(--border),0 10px 24px #1a325014}.accordion-detail-panel.job-detail{margin:.7rem .75rem .85rem;padding:.95rem 1rem 1.1rem;border:1px solid var(--border);border-radius:10px;max-height:none;overflow:visible;box-shadow:var(--shadow);min-width:0}.accordion-loading{margin:0;padding:.85rem 1rem}.list-expand-hint{margin:0 0 .65rem;font-size:.78rem}.pagination-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.65rem;padding:.7rem .15rem .15rem}.pagination-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem}.acc-section{border:1px solid var(--border);border-radius:10px;background:var(--panel-2);margin:0 0 .65rem;min-width:0;overflow:hidden}.acc-section-summary{list-style:none;cursor:pointer;-webkit-user-select:none;user-select:none;padding:.7rem .9rem;font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:.45rem}.acc-section-summary::-webkit-details-marker{display:none}.acc-section-summary:before{content:"▸";font-size:.7rem;color:var(--text);transform:rotate(0);transition:transform .15s ease}.acc-section[open]>.acc-section-summary:before{transform:rotate(90deg)}.acc-section-summary:hover{color:var(--text)}.acc-section-body{padding:.15rem 1.05rem 1.05rem;display:flex;flex-direction:column;gap:.7rem;min-width:0}.acc-section-body .field{margin-bottom:0;min-width:0}.acc-section-body .field input,.acc-section-body .field select,.acc-section-body .field textarea{width:100%;max-width:100%}.acc-section-body .scope-box,.acc-section-body .log-item{margin-bottom:0}.drawer-head .drawer-stage-acc{flex:1 1 22rem;min-width:0;max-width:36rem}.drawer-head .drawer-progress-acc{flex:0 1 15rem;min-width:11rem;max-width:20rem}.acc-section-body>.section-label:first-child,.acc-section-body>.job-progress-tracker>.section-label{display:none}.dprs-detail-main.dprs-detail-stack{display:flex;flex-direction:column;gap:.65rem;min-width:0}.dprs-detail-stack .acc-section{margin-bottom:0;width:100%}.dprs-detail-stack .dprs-timesheet-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.75rem}.dprs-detail-stack .dprs-timesheet-field-wide{grid-column:1 / -1}.dprs-detail-stack .dprs-sheet-fields,.dprs-detail-stack .dprs-billing-fields{grid-column:auto;width:100%;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.table .dprs-id{font-variant-numeric:tabular-nums;letter-spacing:.02em}.table .dprs-id-unassigned{color:var(--muted);font-size:.82rem}.table th.table-actions-cell,.table td.table-actions-cell{width:1%;white-space:nowrap;vertical-align:middle}.table-row-actions{display:inline-flex;flex-wrap:nowrap;align-items:center;gap:.4rem}.table-row-actions .btn{padding:.28rem .65rem;font-size:.8rem;line-height:1.2}.table-row-actions .btn-danger{margin-left:.15rem}.icon-action-btn{width:2rem;height:2rem;padding:0;display:inline-grid;place-items:center;border-radius:.4rem;border:1px solid var(--border);background:var(--panel);color:var(--text);cursor:pointer}.icon-action-btn svg{width:1.05rem;height:1.05rem}.icon-action-btn:hover:not(:disabled),.icon-action-btn:focus-visible{background:var(--hover);border-color:var(--accent);color:var(--accent)}.icon-action-btn:disabled{opacity:.5;cursor:not-allowed}.icon-action-btn--primary{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.icon-action-btn--primary:hover:not(:disabled),.icon-action-btn--primary:focus-visible{filter:brightness(1.06);background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.icon-action-btn--danger{background:var(--red-soft);border-color:color-mix(in srgb,var(--red) 40%,var(--border));color:var(--red)}.icon-action-btn--danger:hover:not(:disabled),.icon-action-btn--danger:focus-visible{background:color-mix(in srgb,var(--red) 18%,var(--panel));border-color:var(--red);color:var(--red)}.icon-action-btn--success{background:var(--green-soft);border-color:color-mix(in srgb,var(--green) 40%,var(--border));color:var(--green)}.icon-action-btn--success:hover:not(:disabled),.icon-action-btn--success:focus-visible{background:color-mix(in srgb,var(--green) 18%,var(--panel));border-color:var(--green);color:var(--green)}.icon-action-tip{position:fixed;z-index:80;transform:translate(-50%,-100%);padding:.28rem .5rem;border-radius:.3rem;background:#1e293b;color:#fff;font-size:.75rem;font-weight:600;letter-spacing:.01em;line-height:1.2;white-space:nowrap;pointer-events:none;box-shadow:0 4px 14px #0f172a38}.drawer{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;align-self:start;position:sticky;top:1rem;max-height:calc(100vh - 2rem);overflow:auto;box-shadow:var(--shadow)}.job-detail{margin-top:.85rem}.job-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.9rem 1rem;align-items:start;margin-top:.35rem;min-width:0}.job-detail-col .section-label:first-child{margin-top:.65rem}.drawer-head{display:flex;justify-content:space-between;gap:1rem;align-items:start;margin-bottom:1rem}.drawer-head-meta{flex:0 1 18rem;min-width:12rem}.drawer-head-line{margin:.2rem 0 0;font-size:.8rem;line-height:1.35}.drawer-quote-gen{flex:1 1 18rem;min-width:0;max-width:32rem;padding:.55rem .7rem;border:1px solid var(--border);border-radius:8px;background:var(--panel-2)}.drawer-stage-panel{flex:1 1 22rem;min-width:0;max-width:36rem;padding:.65rem .75rem;border:1px solid var(--border);border-radius:8px;background:var(--panel-2)}.drawer-stage-panel--hint{display:flex;align-items:center;max-width:22rem}.drawer-stage-panel .mini-form{margin-bottom:0}.drawer-stage-panel .form-grid{gap:.45rem}.drawer-stage-panel .field label{font-size:.72rem}.drawer-stage-panel .field input,.drawer-stage-panel .field select{padding:.35rem .5rem;font-size:.82rem}.drawer-quote-gen .line-items{margin-bottom:.4rem}.drawer-quote-gen .line-item-row input,.drawer-quote-gen .line-item-row select{padding:.35rem .5rem;font-size:.82rem}.drawer-quote-gen-footer{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap}.drawer-quote-total{font-size:.78rem;white-space:nowrap}.drawer-head-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.drawer-head h3{margin:0;font-size:.95rem;font-weight:600}.section-label{font-size:.68rem;letter-spacing:.1em;color:var(--muted);text-transform:uppercase;font-weight:700;margin:1rem 0 .5rem;display:flex;align-items:center;gap:.35rem}.state-bar{height:4px;border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--blue),var(--red));margin:.65rem 0 .25rem}.scope-box,.log-item{background:var(--panel-2);border:1px solid var(--border);border-radius:6px;padding:.65rem .75rem;margin-bottom:.45rem;font-size:.82rem}.log-item time{display:block;color:var(--muted);font-size:.72rem;margin-bottom:.2rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.transition-list{display:flex;flex-direction:column;gap:.4rem}.login-page{min-height:100%;display:grid;place-items:center;padding:2rem}.login-card{width:min(400px,100%);background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:1.75rem;box-shadow:var(--shadow)}.login-card h1{margin:.75rem 0 .35rem;font-size:1.4rem}.login-card p{color:var(--muted);margin:0 0 1.25rem;font-size:.9rem}.field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.85rem}.field label{font-size:.78rem;color:var(--muted)}.field input,.field select,.field textarea{background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text);padding:.65rem .75rem;font:inherit}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}.field-input-row{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .75rem}.field-input-row input{flex:1 1 10rem;min-width:8rem}.field-error{color:var(--red);font-size:.78rem;margin:0;flex:1 1 11rem;line-height:1.35}.field input.is-invalid,.field input[aria-invalid=true]{border-color:var(--red)}.field input.is-invalid:focus,.field input[aria-invalid=true]:focus{outline-color:color-mix(in srgb,var(--red) 35%,transparent);border-color:var(--red)}.password-field{position:relative}.password-field input{width:100%;box-sizing:border-box;padding-right:2.6rem}.password-toggle{position:absolute;right:.3rem;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:2rem;height:2rem;padding:0;border:0;border-radius:4px;background:transparent;color:var(--muted);cursor:pointer}.password-toggle:hover{color:var(--text)}.password-toggle:focus-visible{outline:2px solid var(--accent-soft)}.password-setup-page{min-height:100%;display:grid;place-items:center;padding:clamp(1rem,4vw,3.5rem)}.password-setup-panel{width:min(880px,100%);display:grid;grid-template-columns:minmax(0,.88fr) minmax(340px,1.12fr);overflow:hidden;background:var(--panel);border:1px solid var(--border);border-left:5px solid var(--blue);border-radius:12px;box-shadow:var(--shadow)}.password-setup-context{display:flex;flex-direction:column;gap:1.75rem;padding:clamp(1.5rem,4vw,2.5rem);background:#edf4fb;border-right:1px solid var(--border)}.password-setup-product{margin:0 0 .55rem;color:var(--blue);font-size:.78rem;font-weight:700}.password-setup-context h1{max-width:14ch;margin:0;color:#163555;font-size:clamp(1.7rem,3vw,2.35rem);line-height:1.08;letter-spacing:-.035em}.password-setup-context>div>p:last-child{max-width:38ch;margin:1rem 0 0;color:var(--muted);font-size:.92rem;line-height:1.55}.password-setup-checklist{display:grid;gap:.7rem;margin:auto 0 0;padding:0;list-style:none}.password-setup-checklist li{display:grid;grid-template-columns:1.7rem 1fr;align-items:center;gap:.65rem;color:var(--muted);font-size:.82rem;line-height:1.35}.password-setup-checklist li>span{display:grid;place-items:center;width:1.7rem;height:1.7rem;border:1px solid #aec4db;border-radius:50%;background:#ffffffb3;color:#54708d;font-size:.72rem;font-weight:700}.password-setup-checklist li.complete,.password-setup-checklist li.current{color:#163555;font-weight:600}.password-setup-checklist li.complete>span{border-color:var(--green);background:var(--green-soft);color:var(--green)}.password-setup-checklist li.current>span{border-color:var(--blue);background:var(--blue);color:#fff}.password-setup-checklist li.failed>span{border-color:var(--red);background:var(--red-soft);color:var(--red)}.password-setup-form-wrap{display:flex;flex-direction:column;justify-content:center;gap:1.5rem;min-width:0;padding:clamp(1.5rem,4vw,2.75rem)}.password-link-status{display:grid;grid-template-columns:.75rem 1fr;gap:.8rem;align-items:start;padding-bottom:1.1rem;border-bottom:1px solid var(--border)}.password-link-status-mark{width:.7rem;height:.7rem;margin-top:.28rem;border-radius:50%;background:var(--amber);box-shadow:0 0 0 4px var(--amber-soft)}.password-link-status.ready .password-link-status-mark,.password-link-status.success .password-link-status-mark{background:var(--green);box-shadow:0 0 0 4px var(--green-soft)}.password-link-status.invalid .password-link-status-mark{background:var(--red);box-shadow:0 0 0 4px var(--red-soft)}.password-link-status strong{display:block;margin-bottom:.25rem;font-size:.95rem}.password-link-status p,.password-setup-actions p{margin:0;color:var(--muted);font-size:.86rem;line-height:1.5}.password-setup-form fieldset{min-width:0;margin:0;padding:0;border:0}.password-setup-form .password-toggle{width:auto;padding:0 .45rem;color:var(--blue);font-size:.75rem;font-weight:700}.password-requirements{display:grid;gap:.4rem;margin:.15rem 0 1.15rem}.password-requirements p{display:flex;gap:.45rem;align-items:center;margin:0;color:var(--muted);font-size:.78rem}.password-requirements p.met{color:var(--green)}.password-requirements span{width:1rem;text-align:center;font-weight:700}.password-save-btn{width:100%;min-height:2.65rem}.password-save-btn:disabled{cursor:not-allowed;opacity:.5}.password-setup-actions{display:flex;flex-direction:column;align-items:flex-start;gap:1rem}@media(max-width:720px){.password-setup-page{align-items:start;padding:0}.password-setup-panel{grid-template-columns:1fr;min-height:100vh;border:0;border-top:5px solid var(--blue);border-radius:0}.password-setup-context{gap:1.25rem;border-right:0;border-bottom:1px solid var(--border)}.password-setup-context h1{max-width:none}.password-setup-checklist{margin-top:0}}@media(prefers-reduced-motion:reduce){.password-link-status-mark{box-shadow:none}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.suggest{position:relative}.suggest input{width:100%;box-sizing:border-box}.suggest-compact{margin-bottom:0}.suggest-menu{position:absolute;z-index:40;left:0;right:0;top:calc(100% + 2px);max-height:16rem;overflow-y:auto;margin:0;padding:.25rem 0;list-style:none;background:var(--bg);border:1px solid var(--border);border-radius:6px;box-shadow:0 8px 24px #0000002e}.suggest-group-block{margin:0;padding:0}.suggest-group{position:sticky;top:0;z-index:1;padding:.35rem .75rem .2rem;font-size:.68rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--muted);background:var(--bg)}.suggest-option{padding:.45rem .75rem;cursor:pointer;font-size:.88rem}.suggest-option.active,.suggest-option:hover{background:var(--accent-soft)}.suggest-empty{padding:.55rem .75rem;font-size:.8rem;color:var(--muted)}.suggest-searching{padding:.4rem .75rem .15rem;font-size:.75rem;color:var(--muted)}.suggest-add-new{font-style:italic;color:var(--muted);border-top:1px solid var(--border)}.suggest-mark{background:transparent;color:inherit;font-weight:700;padding:0}.field input[type=file]{padding:.45rem}.check-list{display:flex;flex-direction:column;gap:.35rem;padding:.5rem .65rem;background:var(--bg);border:1px solid var(--border);border-radius:6px}.check-item{display:flex;align-items:center;gap:.5rem;font-size:.88rem;color:var(--text);cursor:pointer}.check-item input{width:auto;padding:0;accent-color:var(--accent)}.line-items{display:flex;flex-direction:column;gap:.4rem;margin-bottom:.5rem}.line-item-row{display:grid;grid-template-columns:1fr 5.5rem auto;gap:.35rem;align-items:center}.line-item-row:has(input[aria-label*=custom]){grid-template-columns:1fr 1fr 5.5rem auto}.line-item-row input,.line-item-row select{background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text);padding:.5rem .6rem;width:100%}.line-item-row input:focus,.line-item-row select:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}.quote-totals{display:flex;flex-direction:column;gap:.25rem;margin:.5rem 0 .75rem;padding:.65rem .75rem;background:var(--panel-2);border:1px solid var(--border);border-radius:6px;font-size:.85rem}.quote-totals.compact{margin-top:.55rem}.quote-totals>div{display:flex;justify-content:space-between;gap:.75rem;color:var(--muted)}.quote-totals .quote-total{color:var(--text);margin-top:.2rem;padding-top:.35rem;border-top:1px solid var(--border)}.quote-lines{margin:.4rem 0 0;padding-left:1.1rem;font-size:.82rem;color:var(--muted)}.error{color:var(--red);font-size:.82rem;margin-bottom:.75rem}.format-prompt{background:var(--red-soft);border:1px solid var(--red);color:var(--red);border-radius:6px;padding:.75rem .9rem;font-size:.88rem;margin:0 0 .85rem;line-height:1.45}.mini-form{margin-bottom:.75rem}.lifecycle-track{list-style:none;margin:0 0 1rem;padding:0;display:flex;flex-direction:column;gap:.45rem}.lifecycle-track li{display:flex;align-items:center;gap:.55rem;font-size:.85rem;color:var(--muted)}.lifecycle-track li.done{color:var(--text)}.lifecycle-track li.active{color:var(--text);font-weight:600}.lifecycle-track li.skipped{color:var(--muted);font-weight:400;font-style:italic}.lifecycle-dot{width:.55rem;height:.55rem;border-radius:50%;background:var(--border);flex-shrink:0}.lifecycle-track li.done .lifecycle-dot{background:var(--green)}.lifecycle-track li.active .lifecycle-dot{background:var(--accent, #4a8fd4);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent, #4a8fd4) 25%,transparent)}.lifecycle-track li.skipped .lifecycle-dot{background:var(--border);box-shadow:none}.job-progress-tracker--vertical{margin:0 0 1rem;max-width:22rem}.lifecycle-track--horizontal{flex-direction:row;flex-wrap:wrap;align-items:flex-start;gap:0;margin-bottom:.25rem}.lifecycle-track--horizontal li{position:relative;flex:1 1 0;min-width:5.5rem;max-width:9.5rem;flex-direction:column;align-items:center;text-align:center;gap:.4rem;font-size:.72rem;line-height:1.25;padding:0 .35rem}.lifecycle-track--horizontal li:not(:last-child):after{content:"";position:absolute;top:.27rem;left:calc(50% + .45rem);right:calc(-50% + .45rem);height:2px;background:var(--border);z-index:0}.lifecycle-track--horizontal li.done:not(:last-child):after,.lifecycle-track--horizontal li.active:not(:last-child):after{background:linear-gradient(90deg,color-mix(in srgb,var(--accent, #4a8fd4) 70%,#3d9b6a),color-mix(in srgb,var(--accent, #4a8fd4) 35%,var(--border)))}.lifecycle-track--horizontal .lifecycle-dot{position:relative;z-index:1}.lifecycle-track--horizontal .lifecycle-label{display:block}@media(max-width:800px){.lifecycle-track--horizontal{flex-wrap:nowrap;overflow-x:auto;padding-bottom:.35rem}.lifecycle-track--horizontal li{flex:0 0 5.75rem;min-width:5.75rem;max-width:none}}.data-table-wrap{overflow:auto}@media(max-width:1100px){.metrics,.pipeline,.two-col{grid-template-columns:1fr 1fr}.split.with-drawer{grid-template-columns:1fr}.job-detail-grid{grid-template-columns:minmax(0,1fr);gap:.75rem}.drawer-head{flex-wrap:wrap}.drawer-head-meta{flex:1 1 12rem}.drawer-quote-gen,.drawer-stage-panel{flex:1 1 100%;max-width:none;order:3}.drawer-head-actions{margin-left:auto}}@media(max-width:800px){.app-shell{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--border)}.metrics,.pipeline,.two-col{grid-template-columns:1fr}}.quote-workflow-overlay{--qh-bg: var(--panel);--qh-panel: var(--panel-2);--qh-elevated: var(--bg);--qh-border: var(--border);--qh-text: var(--text);--qh-muted: var(--muted);--qh-link: var(--accent);--qh-success: var(--green);--qh-danger: var(--red);--qh-font: "Noto Sans", "Geist Variable", "Segoe UI", sans-serif;position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:color-mix(in srgb,var(--text) 28%,transparent);display:flex;justify-content:center;padding:1rem;overflow:auto;color-scheme:light}.quote-workflow-panel{width:min(960px,100%);margin:auto;background:var(--qh-bg);color:var(--qh-text);border:1px solid var(--qh-border);border-radius:12px;padding:1.25rem 1.35rem 2rem;box-shadow:var(--shadow);font-family:var(--qh-font)}.quote-saving-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:110;display:grid;place-items:center;padding:1rem;background:color-mix(in srgb,var(--text) 38%,transparent)}.quote-saving-indicator{display:flex;align-items:center;justify-content:center;gap:.7rem;min-width:220px;padding:1rem 1.25rem;border:1px solid var(--qh-border);border-radius:10px;background:var(--qh-bg);color:var(--qh-text);box-shadow:var(--shadow);font-weight:650}.quote-saving-indicator .crm-activity-spinner{width:1.1rem;height:1.1rem}.quote-workflow-panel .page-kicker{color:var(--accent)}.quote-workflow-panel .muted{color:var(--qh-muted)}.quote-workflow-panel .page-title{color:var(--qh-text);font-family:var(--qh-font);font-weight:700;letter-spacing:-.01em}.quote-workflow-panel .error{color:var(--qh-danger)}.quote-workflow-panel .btn{background:var(--qh-elevated);color:var(--qh-text);border:1px solid var(--qh-border)}.quote-workflow-panel .btn:hover:not(:disabled){background:var(--hover);border-color:var(--accent)}.quote-workflow-panel .btn-primary{background:var(--accent);color:var(--accent-fg);border-color:var(--accent);font-weight:600}.quote-workflow-panel .btn-primary:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 88%,#000);border-color:color-mix(in srgb,var(--accent) 88%,#000);color:var(--accent-fg)}.quote-workflow-panel .btn-ghost{background:transparent}.quote-workflow-panel .btn-danger-text{color:var(--qh-danger)}.quote-workflow-top{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.85rem}.quote-email-stats{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;font-size:.8rem;color:var(--qh-muted);background:var(--qh-panel);border:1px solid var(--qh-border);border-radius:8px;padding:.65rem .85rem;margin-bottom:1rem}.quote-email-stats strong{color:var(--qh-text)}.quote-gen{font-family:var(--qh-font)}.quote-gen-header h2{margin:0 0 .35rem;color:var(--qh-text);font-size:1.25rem;font-weight:700;letter-spacing:-.01em}.quote-gen-hint{margin:0 0 1rem;font-size:.82rem}.quote-gen-subhead{margin:.85rem 0 .65rem;color:var(--qh-link);font-size:.92rem;font-weight:700}.quote-gen-section{background:var(--qh-panel);border:1px solid var(--qh-border);border-radius:10px;padding:1rem 1.1rem 1.15rem;margin-bottom:1rem}.quote-gen-section h3{margin:0 0 .85rem;color:var(--qh-text);font-size:1.02rem;font-weight:700}.quote-gen-section h4{margin:0 0 .65rem;color:var(--qh-text)}.quote-gen-section .field{margin-bottom:.75rem}.quote-gen-section label,.quote-gen-section .field>span{display:block;font-size:.78rem;font-weight:600;color:var(--qh-muted);margin-bottom:.3rem}.quote-gen-section input,.quote-gen-section select,.quote-gen-section textarea{width:100%;border:1px solid var(--qh-border);border-radius:6px;padding:.55rem .65rem;background:var(--qh-bg);color:var(--qh-text);font-family:inherit}.quote-gen-section input::placeholder,.quote-gen-section textarea::placeholder{color:var(--qh-muted)}.quote-gen-section input:focus,.quote-gen-section select:focus,.quote-gen-section textarea:focus{outline:2px solid var(--accent-soft);border-color:var(--qh-link)}.quote-gen-section .suggest-menu{background:var(--qh-bg);border-color:var(--qh-border);color:var(--qh-text)}.quote-gen-section .suggest-group,.quote-gen-section .suggest-option.active{background:var(--qh-elevated, var(--qh-bg))}.quote-gen-section input[readonly]{background:var(--qh-elevated);color:var(--qh-muted);cursor:default}.quote-gen-section .check-item{color:var(--qh-text)}.autofill-row{display:flex;gap:.5rem;align-items:stretch}.autofill-row select,.autofill-row input{flex:1;min-width:0}.autofill-row .btn{flex-shrink:0;white-space:nowrap}.quote-gen-row2{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.radio-row{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:.35rem}.pricing-block{border:1px solid var(--qh-border);border-radius:8px;padding:.85rem;margin-bottom:.85rem;background:var(--qh-elevated)}.pricing-items-label{font-weight:700;color:var(--qh-link);margin:.5rem 0 .4rem;font-size:.85rem}.pricing-table-head,.pricing-table-row{display:grid;grid-template-columns:2.4fr .55fr .8fr 1fr 2rem;gap:.4rem;align-items:center;margin-bottom:.35rem}.pricing-table-head-svc,.pricing-table-row-svc{grid-template-columns:1.4fr 1.6fr .5fr .7fr .85fr 2rem;overflow:visible}.pricing-table-row-svc .suggest{z-index:8}.pricing-table-head{font-size:.72rem;font-weight:700;color:var(--qh-muted)}.quote-gen-footer{display:flex;justify-content:space-between;align-items:flex-end;gap:.75rem;margin-top:.5rem;flex-wrap:wrap}.quote-gen-footer-actions{display:flex;flex-wrap:wrap;gap:.45rem;align-items:stretch}.btn-tonal{background:color-mix(in srgb,var(--accent) 14%,var(--qh-elevated, var(--panel)));color:var(--accent);border-color:color-mix(in srgb,var(--accent) 30%,var(--qh-border, var(--border)));font-weight:600}.btn-tonal:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 22%,var(--qh-elevated, var(--panel)));border-color:var(--accent)}.quote-workflow-panel .btn-tonal{background:color-mix(in srgb,var(--accent) 14%,var(--qh-elevated));color:var(--accent);border-color:color-mix(in srgb,var(--accent) 30%,var(--qh-border))}.quote-workflow-panel .btn-tonal:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 22%,var(--qh-elevated));border-color:var(--accent)}.btn-icon-label{gap:.16rem}.btn-icon-label-row{display:inline-flex;align-items:center;gap:.4rem}.btn-icon-label-row svg{flex-shrink:0}.btn-with-hint{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:.12rem;line-height:1.15;padding-top:.4rem;padding-bottom:.4rem}.btn-with-hint small{font-size:.65rem;font-weight:500;opacity:.85;text-transform:none;letter-spacing:0}.quote-doc-export-only{position:fixed;left:-10000px;top:0;width:794px;pointer-events:none;opacity:0;visibility:hidden}.stamp-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.stamp-preview{max-height:64px;border:1px solid #b6d7eb;border-radius:4px;background:#fff}.quote-doc-linkrow{margin-top:-.35rem;margin-bottom:.75rem;font-size:.85rem;color:#3d5a70}.sig-pad{border:1px solid #c9d4e5;border-radius:8px;padding:.65rem;background:#fff}.sig-toolbar{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin-bottom:.5rem}.sig-tool-toggle{display:inline-flex;border:1px solid #c9d4e5;border-radius:6px;overflow:hidden}.sig-tool-toggle button{border:0;background:#f1f5f9;color:#334;padding:.35rem .7rem;cursor:pointer}.sig-tool-toggle button.active{background:var(--accent);color:var(--accent-fg)}.sig-colors{display:flex;gap:.35rem}.sig-swatch{width:1.15rem;height:1.15rem;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0}.sig-swatch.active{outline:2px solid var(--accent)}.sig-thickness{display:flex;align-items:center;gap:.5rem;font-size:.75rem;margin:0}.sig-canvas{width:100%;height:180px;border:1px dashed #94a3b8;border-radius:6px;touch-action:none;cursor:crosshair;background:#fff}.sig-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.5rem}.quote-preview-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:95;display:flex;flex-direction:column;background:#f8f9fa;color:#202124;font-family:Google Sans,Roboto,Noto Sans,IBM Plex Sans,Segoe UI,sans-serif}.quote-preview-appbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:64px;padding:.5rem .75rem .5rem .35rem;background:#fff;border-bottom:1px solid #dadce0;box-shadow:0 1px 2px #3c40434d,0 1px 3px 1px #3c404326;flex-shrink:0}.quote-preview-appbar-start{display:flex;align-items:center;gap:.25rem;min-width:0}.quote-preview-icon-btn{width:40px;height:40px;border:0;border-radius:50%;background:transparent;color:#5f6368;display:grid;place-items:center;cursor:pointer;flex-shrink:0}.quote-preview-icon-btn:hover{background:#f1f3f4;color:#202124}.quote-preview-icon-btn svg{width:22px;height:22px}.quote-preview-titles{min-width:0}.quote-preview-titles h2{margin:0;font-size:1rem;font-weight:500;letter-spacing:.01em;color:#202124;line-height:1.3}.quote-preview-titles p{margin:0;font-size:.8125rem;color:#5f6368;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quote-preview-appbar-actions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end;flex-shrink:0}.quote-preview-btn{display:inline-flex;align-items:center;gap:.4rem;height:36px;padding:0 16px 0 12px;border-radius:18px;border:1px solid #dadce0;background:#fff;color:#1a73e8;font:inherit;font-size:.875rem;font-weight:500;letter-spacing:.01em;cursor:pointer}.quote-preview-btn:hover:not(:disabled){background:#f6fafe;border-color:#d2e3fc}.quote-preview-btn:disabled{opacity:.55;cursor:not-allowed}.quote-preview-btn svg{width:18px;height:18px}.quote-preview-btn-filled{background:#1a73e8;border-color:#1a73e8;color:#fff}.quote-preview-btn-filled:hover:not(:disabled){background:#1765cc;border-color:#1765cc}.quote-preview-banner{flex-shrink:0;text-align:center;font-size:.8125rem;padding:.45rem 1rem;background:#e8f0fe;color:#174ea6;border-bottom:1px solid #d2e3fc}.quote-preview-banner-muted{background:#fff;color:#5f6368;border-bottom-color:#dadce0}.quote-preview-banner-ok{background:#e6f4ea;color:#137333;border-bottom-color:#ceead6}.quote-preview-banner-error{background:#fce8e6;color:#c5221f;border-bottom-color:#f5c2c0}.quote-preview-canvas{flex:1;overflow:auto;padding:1.5rem 1rem 2.5rem;background:#e8eaed}.quote-preview-canvas .quote-doc-stage{background:transparent;border:0;padding:0;overflow:visible;width:min(794px,100%);margin:0 auto}.quote-preview-canvas .quote-doc{box-shadow:0 1px 3px #3c40434d,0 4px 8px 3px #3c404326}.quote-doc-locked{display:inline-block;min-height:1.2em;background:#f1f3f4;color:#3c4043;border:1px solid #dadce0;border-radius:4px;padding:.08rem .4rem;cursor:default;max-width:100%;word-break:break-word}.quote-doc-lock-hint{margin:.45rem 0 0;font-size:.68rem;line-height:1.35;color:#5f6368;font-family:var(--font);font-weight:400}.quote-doc-ref-id{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.35rem}.quote-doc-field{font:inherit;color:inherit;background:#e8f0fe;border:1px solid transparent;border-radius:4px;padding:.08rem .28rem;width:100%;max-width:100%}.quote-doc-field:hover,.quote-doc-field:focus{background:#fff;border-color:#1a73e8;outline:none;box-shadow:0 0 0 1px #1a73e8}.quote-doc-field-inline,.quote-doc-field-subject{width:auto;min-width:12rem;max-width:100%}.quote-doc-field-strong{font-weight:700}.quote-doc-field-area{display:block;min-height:4.5rem;resize:vertical;line-height:1.45}.quote-doc-field-date{width:auto;font-family:inherit}.quote-doc-field-select{width:auto;cursor:pointer}.quote-doc-field-rate{width:4.5rem;text-align:right}.quote-doc-edit-line{display:flex;align-items:center;gap:.4rem;margin-top:.3rem}.quote-doc-edit-line>span{flex-shrink:0;color:#475569}.quote-doc-edit-split{display:grid;grid-template-columns:1fr 1fr;gap:.4rem;margin-top:.35rem}.quote-doc-rate-edit{align-items:center}.quote-doc-rate-controls{display:inline-flex;align-items:center;gap:.3rem;white-space:nowrap}.quote-doc-rate-remove,.quote-doc-add-line{border:0;background:transparent;color:#1a73e8;font:inherit;font-size:.78rem;font-weight:600;cursor:pointer;padding:.15rem .35rem;border-radius:4px}.quote-doc-rate-remove:hover:not(:disabled),.quote-doc-add-line:hover{background:#e8f0fe}.quote-doc-rate-remove:disabled{opacity:.35;cursor:not-allowed}.quote-preview-toolbar{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center;justify-content:space-between;margin-bottom:.85rem;background:var(--qh-panel, var(--panel-2));border:1px solid var(--qh-border, var(--border));border-radius:8px;padding:.65rem .75rem}.quote-preview-actions{display:flex;flex-wrap:wrap;gap:.45rem}.status-select{display:flex;align-items:center;gap:.4rem;font-size:.85rem;color:var(--qh-muted, var(--muted))}.status-select select{border:1px solid var(--qh-border, var(--border));border-radius:6px;padding:.35rem .5rem;background:var(--qh-bg, var(--panel));color:var(--qh-text, var(--text))}.quote-preview-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.quote-preview-meta h2{margin:0;color:var(--qh-text, var(--text));font-size:1.05rem}.layout-badge{background:var(--accent);color:var(--accent-fg);font-size:.75rem;padding:.35rem .65rem;border-radius:6px}.quote-doc-stage{background:var(--qh-elevated, var(--panel-2));border:1px solid var(--qh-border, var(--border));border-radius:8px;padding:1.25rem;overflow:auto}.quote-doc{width:min(794px,100%);margin:0 auto;background:#fff;color:#111;padding:1.5rem 1.75rem 2rem;font-family:Times New Roman,Times,serif;font-size:12.5px;line-height:1.45;position:relative;box-shadow:0 8px 28px #1a23321f}.quote-doc.double-space,.quote-doc-stage.double-space .quote-doc{line-height:1.85}.quote-doc:before{content:"MASTERSCAN ENGINEERING";position:absolute;top:20%;right:5%;bottom:20%;left:5%;display:flex;align-items:center;justify-content:center;font-size:2.4rem;font-weight:700;color:#1a539b12;transform:rotate(-28deg);pointer-events:none;letter-spacing:.04em;z-index:0}.quote-doc>*{position:relative;z-index:1}.quote-doc-letterhead{display:flex;gap:.85rem;align-items:flex-start;border-bottom:2px solid #1a539b;padding-bottom:.65rem;margin-bottom:.75rem}.quote-doc-logo{width:72px;height:72px;object-fit:contain}.quote-doc-company{color:#c62828;font-weight:800;font-size:1.35rem;letter-spacing:.02em}.quote-doc-tagline{color:#1a539b;font-weight:700;font-size:.85rem;margin-top:.1rem}.quote-doc-contacts{display:flex;flex-wrap:wrap;gap:.2rem .75rem;margin-top:.35rem;font-size:.68rem;color:#333;font-family:var(--font)}.quote-doc-refrow{display:flex;justify-content:space-between;font-weight:600;margin:.75rem 0}.quote-doc-customer{border:1px solid #94a3b8;margin-bottom:.85rem}.quote-doc-customer-head{background:#cbd5e1;font-weight:700;padding:.3rem .55rem;font-family:var(--font)}.quote-doc-customer-body{padding:.55rem .65rem;min-height:3.5rem;overflow:visible}.quote-doc-customer-edit .suggest{z-index:6;flex:1;min-width:0}.quote-doc-customer-edit .suggest input{font:inherit;color:inherit;background:#e8f0fe;border:1px solid transparent;border-radius:4px;padding:.08rem .28rem}.quote-doc-customer-edit .suggest input:focus{background:#fff;border-color:#1a73e8;outline:none;box-shadow:0 0 0 1px #1a73e8}.quote-doc-customer-edit .suggest-menu{z-index:60;background:#fff;color:#202124;font-family:var(--font)}.pre-wrap{white-space:pre-wrap}.quote-doc-services{width:100%;border-collapse:collapse;margin:.85rem 0 1rem;font-size:.72rem;font-family:var(--font)}.quote-doc-services th{background:#0f2f5c;color:#fff;padding:.45rem;text-align:center}.quote-doc-services td{border:1px solid #94a3b8;padding:.22rem .4rem;width:50%;vertical-align:top}.quote-doc-services tbody tr:nth-child(2n) td{background:#f1f5f9}.quote-doc-section-banner{background:#bfdbfe;text-align:center;font-weight:800;letter-spacing:.04em;padding:.35rem;margin:1rem 0 .65rem;font-family:var(--font)}.quote-doc-rates{margin:.35rem 0 .75rem 1.25rem;padding:0}.quote-doc-rates li{display:flex;justify-content:space-between;gap:1rem;margin-bottom:.2rem}.rate-amt{white-space:nowrap;font-weight:600}.quote-doc-terms-title{margin:1rem 0 .4rem;text-decoration:underline}.quote-doc-terms{margin:0 0 .85rem 1.1rem;padding:0}.quote-doc-sign-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem 1.5rem;margin-top:1.25rem;font-family:var(--font)}.sign-line{border-bottom:1px solid #334;min-height:2.4rem;margin-top:.25rem;display:flex;align-items:flex-end}.stamp-slot img{max-height:56px;max-width:140px;object-fit:contain}.quote-doc-footer{margin-top:1.5rem;border-top:1px solid #cbd5e1;padding-top:.65rem}.quote-doc-footer-note{font-size:.62rem;color:#475569;text-align:center;font-family:var(--font)}.quote-email-log{margin-top:1rem}.quote-email-log h4{margin:0 0 .5rem;color:var(--qh-text, var(--text))}.quote-email-log .scope-box{background:var(--qh-panel, var(--panel-2));border:1px solid var(--qh-border, var(--border));color:var(--qh-text, var(--text))}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#0f172a8c;display:flex;align-items:center;justify-content:center;padding:1rem}.modal-card{width:min(520px,100%);background:#fff;color:#111;color-scheme:light;border-radius:12px;padding:1.15rem 1.25rem 1.25rem;box-shadow:0 18px 50px #00000059}.modal-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.modal-card h3{margin:0;color:#123a6d}.modal-close-btn{border:1px solid #c9d4e5;background:#f1f5f9;color:#334155;border-radius:6px;width:2rem;height:2rem;cursor:pointer;font-size:.95rem;line-height:1;flex-shrink:0}.modal-close-btn:hover{background:#e2e8f0}.modal-card .field{margin-bottom:.75rem}.modal-card label{display:block;font-size:.78rem;font-weight:600;margin-bottom:.3rem;color:#334155}.modal-card input,.modal-card select,.modal-card textarea{width:100%;border:1px solid #c9d4e5;border-radius:6px;padding:.55rem .65rem;background:#fafbfc;color:#111}.modal-hint{font-size:.75rem;color:#64748b;margin:.35rem 0 0;line-height:1.4}.modal-error{color:#b91c1c;font-size:.85rem;margin:.35rem 0;display:none}.modal-success{color:#166534;font-size:.85rem;margin:.35rem 0;background:#dcfce7;border:1px solid #86efac;border-radius:6px;padding:.55rem .65rem}.modal-status{display:flex;align-items:center;gap:.55rem;color:#0f766e;font-size:.85rem;margin:.35rem 0;background:#ecfdf5;border:1px solid #99f6e4;border-radius:6px;padding:.55rem .65rem}.modal-status-spinner{width:.9rem;height:.9rem;border:2px solid #99f6e4;border-top-color:#0f766e;border-radius:50%;flex-shrink:0;animation:modal-status-spin .75s linear infinite}@keyframes modal-status-spin{to{transform:rotate(360deg)}}.modal-actions{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-top:.85rem}.modal-actions-left{display:flex;flex-wrap:wrap;gap:.45rem}.mail-attachment-chip{display:flex;align-items:flex-start;gap:.65rem;border:1px solid #93c5fd;background:#eff6ff;border-radius:8px;padding:.65rem .75rem;color:#0f172a}.mail-attachment-icon{font-size:1.15rem;line-height:1.2}.mail-attachment-meta{display:flex;flex-direction:column;gap:.15rem;min-width:0}.mail-attachment-meta strong{font-size:.88rem;word-break:break-all;color:#1e3a8a}.mail-attachment-meta span{font-size:.72rem;color:#475569}.modal-btn{border-radius:6px;padding:.55rem .9rem;cursor:pointer;font:inherit;font-weight:600;font-size:.9rem}.modal-btn:disabled{opacity:.65;cursor:not-allowed}.modal-btn-secondary{border:1px solid #94a3b8;background:#f8fafc;color:#0f172a}.modal-btn-secondary:hover:not(:disabled){background:#e2e8f0}.modal-btn-primary{border:1px solid #123a6d;background:#123a6d;color:#fff}.modal-btn-primary:hover:not(:disabled){filter:brightness(1.08)}.quote-mail-modal{background:color-mix(in srgb,var(--text) 28%,transparent);font-family:var(--qh-font, var(--font))}.quote-mail-modal-card{background:var(--qh-panel, var(--panel));color:var(--qh-text, var(--text));border:1px solid var(--qh-border, var(--border));box-shadow:var(--shadow);font-family:var(--qh-font, var(--font))}.quote-mail-modal-card h3{color:var(--qh-text, var(--text));font-family:var(--qh-font, var(--font));font-weight:650}.quote-mail-modal .modal-close-btn{border:1px solid var(--qh-border, var(--border));background:var(--qh-elevated, var(--bg));color:var(--qh-text, var(--text))}.quote-mail-modal .modal-close-btn:hover{background:var(--hover);border-color:var(--accent)}.quote-mail-modal-card label{color:var(--qh-muted, var(--muted));font-family:var(--qh-font, var(--font))}.quote-mail-modal-card input,.quote-mail-modal-card select,.quote-mail-modal-card textarea{border:1px solid var(--qh-border, var(--border));background:var(--qh-bg, var(--panel));color:var(--qh-text, var(--text));font-family:var(--qh-font, var(--font));font-size:.92rem;line-height:1.45}.quote-mail-modal-card input::placeholder,.quote-mail-modal-card textarea::placeholder{color:var(--qh-muted, var(--muted))}.quote-mail-modal-card input:focus,.quote-mail-modal-card select:focus,.quote-mail-modal-card textarea:focus{outline:none;border-color:var(--qh-link, var(--accent));box-shadow:0 0 0 2px var(--accent-soft)}.quote-mail-modal-card select option{background:var(--qh-panel, var(--panel));color:var(--qh-text, var(--text))}.quote-mail-modal .modal-hint{color:var(--qh-muted, var(--muted));font-family:var(--qh-font, var(--font))}.quote-mail-modal .modal-error{color:var(--qh-danger, var(--red))}.quote-mail-modal .modal-success{color:var(--qh-success, var(--green));background:var(--green-soft);border:1px solid color-mix(in srgb,var(--green) 35%,var(--border))}.quote-mail-modal .modal-status{color:var(--qh-link, var(--accent));background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 35%,var(--border))}.quote-mail-modal .modal-status-spinner{border-color:var(--accent-soft);border-top-color:var(--qh-link, var(--accent))}.quote-mail-modal .mail-attachment-chip{border:1px solid var(--qh-border, var(--border));background:var(--qh-elevated, var(--bg));color:var(--qh-text, var(--text))}.quote-mail-modal .mail-attachment-meta strong{color:var(--qh-link, var(--accent));font-family:var(--qh-font, var(--font))}.quote-mail-modal .mail-attachment-meta span{color:var(--qh-muted, var(--muted));font-family:var(--qh-font, var(--font))}.quote-mail-modal .modal-btn{font-family:var(--qh-font, var(--font))}.quote-mail-modal .modal-btn-secondary{border:1px solid var(--qh-border, var(--border));background:var(--qh-elevated, var(--bg));color:var(--qh-text, var(--text))}.quote-mail-modal .modal-btn-secondary:hover:not(:disabled){background:var(--hover);border-color:var(--accent)}.quote-mail-modal .modal-btn-primary{border:1px solid var(--accent);background:var(--accent);color:var(--accent-fg);filter:none}.quote-mail-modal .modal-btn-primary:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 88%,#000);border-color:color-mix(in srgb,var(--accent) 88%,#000);color:var(--accent-fg);filter:none}.quote-info{color:var(--green);background:var(--green-soft);border:1px solid color-mix(in srgb,var(--green) 35%,var(--border));border-radius:8px;padding:.55rem .75rem;font-size:.85rem;margin:0 0 .75rem}@media(max-width:800px){.quote-gen-row2,.pricing-table-head,.pricing-table-row,.pricing-table-head-svc,.pricing-table-row-svc,.quote-doc-sign-grid,.quote-doc-edit-split{grid-template-columns:1fr}.quote-preview-appbar{flex-wrap:wrap;min-height:0;padding:.4rem .5rem .6rem}.quote-preview-appbar-actions{width:100%;justify-content:flex-start;padding-left:.35rem}.quote-doc-rate-edit{display:grid;grid-template-columns:1fr;gap:.35rem}.quote-doc-rate-controls{flex-wrap:wrap;white-space:normal}}@media print{@page{size:A4 portrait;margin:12mm}html,body{background:#fff!important;margin:0!important;padding:0!important;height:auto!important;overflow:visible!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}body.printing-quotation .app-shell>.sidebar,body.printing-quotation .no-print,body.printing-quotation .modal-backdrop,body.printing-quotation .quote-workflow-top,body.printing-quotation .quote-email-stats,body.printing-quotation .quote-email-log,body.printing-quotation .quote-gen,body.printing-quotation .quote-preview-toolbar,body.printing-quotation .quote-preview-meta,body.printing-quotation .quote-preview-appbar,body.printing-quotation .quote-preview-banner,body.printing-quotation .page-toolbar,body.printing-quotation .filters,body.printing-quotation .split,body.printing-quotation .form-panel,body.printing-quotation .data-table-wrap,body.printing-quotation .job-detail{display:none!important}body.printing-quotation #root,body.printing-quotation .app-shell,body.printing-quotation .main,body.printing-quotation .quote-workflow-overlay,body.printing-quotation .quote-workflow-panel,body.printing-quotation .quote-preview-shell,body.printing-quotation .quote-preview-overlay,body.printing-quotation .quote-preview-canvas,body.printing-quotation .quote-doc-stage,body.printing-quotation .quote-doc-export-only{display:block!important;position:static!important;inset:auto!important;left:auto!important;top:auto!important;width:100%!important;max-width:none!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;overflow:visible!important;background:#fff!important;border:0!important;border-radius:0!important;box-shadow:none!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important}body.printing-quotation.previewing-quotation .quote-doc-export-only{display:none!important;visibility:hidden!important;opacity:0!important;position:absolute!important;left:-10000px!important;width:0!important;height:0!important;overflow:hidden!important}body.printing-quotation.previewing-quotation #root,body.printing-quotation.previewing-quotation .app-shell,body.printing-quotation.previewing-quotation .quote-workflow-overlay,body.printing-quotation.previewing-quotation .quote-workflow-panel{display:none!important}body.printing-quotation .quote-doc-field,body.printing-quotation .quote-doc-field-select,body.printing-quotation .quote-doc-field-area{border:0!important;background:transparent!important;box-shadow:none!important;padding:0!important;color:inherit!important;-webkit-appearance:none;-moz-appearance:none;appearance:none}body.printing-quotation #quotation-print-root{position:absolute!important;left:0!important;top:0!important;right:0!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;box-shadow:none!important;background:#fff!important;color:#111!important;font-size:11pt!important;line-height:1.4!important}body.printing-quotation .quote-doc-stage.double-space #quotation-print-root{line-height:1.55!important}body.printing-quotation #quotation-print-root:before{font-size:1.8rem!important;color:#1a539b0f!important}body.printing-quotation .quote-doc-letterhead,body.printing-quotation .quote-doc-customer,body.printing-quotation .quote-doc-services,body.printing-quotation .quote-doc-pricing,body.printing-quotation .quote-doc-sign-grid{break-inside:avoid;page-break-inside:avoid}body.printing-quotation .quote-doc-services{font-size:8.5pt!important}body.printing-quotation .quote-doc-services th,body.printing-quotation .quote-doc-services td,body.printing-quotation .quote-doc-section-banner,body.printing-quotation .quote-doc-customer-head{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.split-pane{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem;align-items:start;width:100%}.split-pane.has-detail{grid-template-columns:minmax(0,1fr) minmax(300px,380px)}@media(max-width:960px){.split-pane,.split-pane.has-detail{grid-template-columns:1fr}}.list-pane{overflow-x:auto;min-width:0;width:100%}.detail-pane.panel{position:sticky;top:1rem;max-height:calc(100vh - 2rem);overflow-y:auto}.dprs-layout{display:flex;flex-direction:column;gap:1rem;width:100%;min-width:0}.dprs-layout .data-table-wrap{width:100%;max-height:none;overflow-x:auto;overflow-y:visible;container-type:inline-size;container-name:dprs-sheet;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel)}.dprs-layout .data-table tr.accordion-detail-row>td.dprs-expand-cell{z-index:2;background:var(--panel);isolation:isolate}.dprs-layout .accordion-detail-panel,.dprs-layout .accordion-detail-panel.dprs-detail,.dprs-layout .panel.dprs-detail{display:flex;flex-direction:column;padding:0;width:100%;max-width:100%;max-height:none;overflow:visible;box-sizing:border-box;background:var(--panel);isolation:isolate;border-top:1px solid var(--border)}.dprs-layout .accordion-detail-panel>.dprs-detail-body,.dprs-layout .accordion-detail-panel>.dprs-detail-footer{position:sticky;left:0;width:100cqi;max-width:100cqi;box-sizing:border-box}@supports not (width: 1cqi){.dprs-layout .accordion-detail-panel>.dprs-detail-body,.dprs-layout .accordion-detail-panel>.dprs-detail-footer{width:100%;max-width:100%}}.dprs-detail-body{padding:1rem 1.1rem .75rem}.dprs-detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.85rem}.dprs-detail-header h2{margin:0 0 .2rem;font-size:1.15rem}.dprs-detail-header p{margin:0;font-size:.8rem}.dprs-detail-main{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.75rem .85rem;align-items:start}.dprs-timesheet-field{display:flex;flex-direction:column;gap:.3rem;margin:0;padding:.7rem .75rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-2);min-width:0}.dprs-timesheet-field>span{font-size:.72rem;font-weight:600;color:var(--muted);letter-spacing:.02em;min-height:2.1rem}.field-label-text{flex:1 1 auto;min-width:0;overflow-wrap:anywhere;word-break:break-word;white-space:normal}.dprs-timesheet-field input,.dprs-timesheet-field select,.dprs-timesheet-field textarea{width:100%;background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text);padding:.45rem .6rem;font:inherit;font-size:.88rem}.dprs-timesheet-field textarea{resize:vertical;min-height:4.5rem}.dprs-timesheet-field input:focus,.dprs-timesheet-field select:focus,.dprs-timesheet-field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.dprs-timesheet-field-wide{grid-column:1 / -1}.dprs-detail-main>.dprs-readonly-grid{grid-column:1 / -1}.dprs-sheet-fields{grid-column:1 / -1;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem;margin:0;padding:.85rem;border:1px solid var(--border);border-radius:var(--radius)}.dprs-tech-fields{grid-column:1 / -1}.dprs-tech-fields .crew-assigned-list,.dprs-tech-fields .crew-slots,.dprs-tech-fields .crew-actions,.dprs-tech-fields .dprs-tech-meta,.dprs-tech-fields>p{grid-column:1 / -1}.dprs-tech-assigned{margin-bottom:0}.dprs-sheet-fields>legend{padding:0 .4rem;font-size:.78rem;font-weight:600;letter-spacing:.02em;color:var(--muted);text-transform:uppercase}.dprs-billing-fields{border-color:color-mix(in srgb,var(--accent, #4a8fd4) 35%,var(--border));background:color-mix(in srgb,var(--accent, #4a8fd4) 6%,var(--panel))}.dprs-billing-fields .field{display:flex;flex-direction:column;gap:.35rem;margin:0;padding:.85rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-2)}.dprs-billing-fields .field>label{font-size:.78rem;font-weight:600;color:var(--muted);letter-spacing:.02em}.dprs-billing-meta{grid-column:1 / -1;margin:0;font-size:.75rem}.dprs-billing-fields:disabled{opacity:.72}.dprs-needs-tag{color:var(--muted);font-style:italic}.dprs-timesheet-field small{font-size:.72rem;line-height:1.35}.dprs-readonly-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem .85rem;margin:0}.dprs-readonly-grid .full{grid-column:1 / -1}.dprs-readonly-grid dt{margin:0;font-size:.68rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--muted)}.dprs-readonly-grid dd{margin:.15rem 0 0;font-size:.85rem;color:var(--text);word-break:break-word}.dprs-detail-footer{flex-shrink:0;display:flex;justify-content:flex-end;padding:.85rem 1.1rem 1rem;border-top:1px solid var(--border);background:color-mix(in srgb,var(--panel) 92%,#fff 4%);position:static}.dprs-save-btn{min-width:12rem;padding:.7rem 1.25rem;font-weight:600}@media(max-width:800px){.dprs-detail-main,.dprs-sheet-fields{grid-template-columns:1fr}.dprs-readonly-grid{grid-template-columns:1fr 1fr}.dprs-detail-footer{justify-content:stretch}.dprs-save-btn{width:100%}}.meta-row{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;margin:.85rem 0 0;font-size:.85rem;color:var(--muted, #6b7280)}.data-table{width:100%;border-collapse:collapse;font-size:.9rem}.data-table tr{cursor:pointer}.data-table tr:hover td{background:var(--hover)}.data-table tr.selected td{background:var(--accent-soft)}.data-table th,.data-table td{text-align:left;padding:.55rem .65rem;border-bottom:1px solid var(--border, #e5e7eb)}.data-table th{color:var(--muted);font-size:.72rem;font-weight:600;letter-spacing:.02em;white-space:nowrap;position:sticky;top:0;background:var(--panel-2, var(--panel));z-index:1}.dprs-sheet-table{width:100%;min-width:max-content;table-layout:auto;font-size:.82rem}.dprs-sheet-table th,.dprs-sheet-table td{padding:.5rem .65rem;white-space:nowrap}.dprs-sheet-table th:nth-child(5),.dprs-sheet-table td:nth-child(5),.dprs-sheet-table th:nth-child(7),.dprs-sheet-table td:nth-child(7),.dprs-sheet-table th:nth-child(19),.dprs-sheet-table td:nth-child(19){white-space:normal;min-width:7rem;max-width:14rem}.form-grid input:disabled,.form-grid textarea:disabled,.form-grid select:disabled{opacity:.85;cursor:default}.data-table tbody tr{cursor:pointer}.data-table tbody tr.selected,.data-table tbody tr:hover{background:color-mix(in srgb,var(--accent, #4a8fd4) 8%,transparent)}.page-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.page-header h1{margin:0 0 .25rem}.toolbar{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;align-items:center}.toolbar input:not([type=checkbox]):not([type=radio]),.toolbar select{min-width:12rem;background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text);padding:.55rem .65rem}.toolbar input:not([type=checkbox]):not([type=radio]):focus,.toolbar select:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}.toolbar label.filter-day-toggle{display:inline-flex;align-items:center;gap:.4rem;margin:0;white-space:nowrap;font-size:.85rem;color:var(--muted, #8b93a7);cursor:pointer;-webkit-user-select:none;user-select:none}.toolbar label.filter-day-toggle input[type=checkbox]{width:1rem;height:1rem;min-width:1rem;margin:0;accent-color:var(--accent, #4a8fd4);flex-shrink:0}.banner.error{padding:.65rem .85rem;margin-bottom:1rem;border-radius:6px;background:color-mix(in srgb,#c0392b 12%,transparent);color:#9b1c1c}.dispatch-dash{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.35rem}.dispatch-dash h2{margin:0;font-size:1.05rem;font-weight:650}.dispatch-dash-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap}.dispatch-dash-intro .page-kicker{margin-bottom:.2rem}.dispatch-legend{display:flex;flex-wrap:wrap;gap:.85rem 1.1rem;font-size:.78rem;color:var(--muted)}.dispatch-legend span{display:inline-flex;align-items:center;gap:.4rem}.dispatch-swatch{width:.7rem;height:.7rem;border-radius:2px;display:inline-block;flex-shrink:0}.dispatch-swatch.assigned,.dispatch-swatch.status-scheduled{background:#1a539b}.dispatch-swatch.done,.dispatch-swatch.status-timesheet_submitted{background:#15803d}.dispatch-swatch.peak,.dispatch-swatch.status-cancelled{background:#c62828}.dispatch-swatch.status-unspecified{background:#c9890a}.dispatch-kpi-grid{display:grid;grid-template-columns:minmax(240px,1.45fr) repeat(4,minmax(0,1fr));gap:.85rem}.dispatch-hero{background:linear-gradient(135deg,color-mix(in srgb,var(--red) 88%,#7f1d1d),#c62828 58%,#9b1c1c);color:#fff;border-radius:var(--radius);padding:1.05rem 1.15rem 1rem;box-shadow:var(--shadow);min-height:100%;display:flex;flex-direction:column;gap:.55rem}.dispatch-hero.is-empty{background:var(--panel);color:var(--text);border:1px dashed var(--border);box-shadow:none}.dispatch-hero-kicker{margin:0;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;opacity:.85}.dispatch-hero.is-empty .dispatch-hero-kicker{color:var(--red);opacity:1}.dispatch-hero-person{display:flex;align-items:center;gap:.7rem}.dispatch-hero-avatar,.dispatch-mini-avatar{width:2.4rem;height:2.4rem;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:.78rem;letter-spacing:.04em;background:#ffffff2e;flex-shrink:0}.dispatch-mini-avatar{width:1.7rem;height:1.7rem;font-size:.62rem;background:var(--blue-soft);color:var(--blue)}.dispatch-mini-avatar.peak{background:var(--red-soft);color:var(--red)}.dispatch-hero-name{font-size:1.15rem;font-weight:700;line-height:1.2}.dispatch-hero-meta,.dispatch-hero-note{margin:0;font-size:.78rem;opacity:.88}.dispatch-hero.is-empty .dispatch-hero-note{color:var(--muted);opacity:1}.dispatch-hero-hours{font-size:2.15rem;font-weight:750;letter-spacing:-.03em;line-height:1;display:flex;align-items:baseline;gap:.4rem}.dispatch-hero-hours span{font-size:.78rem;font-weight:650;letter-spacing:.08em;text-transform:uppercase;opacity:.85}.dispatch-charts,.dispatch-tables{display:grid;grid-template-columns:minmax(200px,.8fr) minmax(0,1.1fr) minmax(0,1.1fr);gap:.85rem;align-items:stretch}.dispatch-tables{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}.dispatch-charts .panel,.dispatch-tables .panel{min-width:0}.dispatch-donut-wrap{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.dispatch-donut{width:7.5rem;height:7.5rem;border-radius:50%;display:grid;place-items:center;flex-shrink:0}.dispatch-donut-hole{width:4.6rem;height:4.6rem;border-radius:50%;background:var(--panel);display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.1}.dispatch-donut-hole strong{font-size:1.25rem}.dispatch-donut-hole span,.dispatch-donut-legend{font-size:.72rem;color:var(--muted)}.dispatch-donut-legend{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.dispatch-donut-legend li{display:flex;align-items:center;gap:.4rem}.dispatch-donut-legend strong{margin-left:auto;color:var(--text);padding-left:.75rem}.dispatch-bars,.dispatch-compare{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.7rem}.dispatch-bars li,.dispatch-compare li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.25rem .65rem;align-items:center}.dispatch-bars-label,.dispatch-compare-name{display:flex;align-items:baseline;gap:.4rem;min-width:0;font-size:.8rem}.dispatch-bars-label span,.dispatch-bars-values,.dispatch-compare-values{color:var(--muted);font-size:.72rem;white-space:nowrap}.dispatch-bars-label strong,.dispatch-compare-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dispatch-bars-track{grid-column:1 / -1;position:relative;height:.55rem;background:var(--panel-2);border:1px solid var(--border);border-radius:99px;overflow:hidden}.dispatch-bars-assigned,.dispatch-bars-done{position:absolute;left:0;top:0;bottom:0;border-radius:99px}.dispatch-bars-assigned{background:color-mix(in srgb,#1a539b 28%,var(--panel-2))}.dispatch-bars-done{background:#15803d}.dispatch-bars-values,.dispatch-compare-values{font-variant-numeric:tabular-nums;display:flex;flex-wrap:wrap;gap:.15rem .75rem}.crew-slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem .85rem;margin:.65rem 0 .75rem}.crew-assigned-list{list-style:none;margin:0 0 .75rem;padding:0;display:flex;flex-direction:column;gap:.35rem}.crew-assigned-list li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.35rem .85rem;padding:.45rem .55rem;background:var(--panel-2);border:1px solid var(--border);border-radius:6px;font-size:.82rem}.crew-assigned-list span{color:var(--muted)}.crew-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.65rem}.dprs-reminder{margin-top:.75rem;padding:.65rem .8rem;border:1px solid var(--border);border-radius:8px;background:color-mix(in srgb,var(--blue, #4a8fd4) 10%,transparent)}.dprs-reminder p{margin:0;font-size:.8rem}.crew-row-actions{display:flex;flex-wrap:wrap;gap:.25rem;white-space:nowrap}.hours-worked-input{width:4.5rem;padding:.25rem .35rem}@media(max-width:800px){.crew-slots{grid-template-columns:1fr}}.dispatch-compare-tracks{grid-column:1 / -1;display:flex;flex-direction:column;gap:.2rem}.dispatch-mini-track{height:.38rem;background:var(--panel-2);border-radius:99px;overflow:hidden}.dispatch-mini-track span{display:block;height:100%;background:#1a539b;border-radius:99px}.dispatch-mini-track.done span{background:#15803d}.dispatch-compare li.is-longest .dispatch-mini-track.done span{background:#c62828}.data-table tbody tr.is-longest{background:color-mix(in srgb,var(--red) 7%,transparent)}.dispatch-pill{display:inline-block;margin-left:.4rem;padding:.08rem .4rem;border-radius:99px;background:var(--red-soft);color:var(--red);font-size:.62rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;vertical-align:middle}.dispatch-tech-cell{display:flex;align-items:center;gap:.5rem}.dispatch-tech-cell strong{display:inline}.data-table.static tbody tr{cursor:default}.data-table td.num{text-align:right;font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}.data-table td.num.over{color:var(--red)}.data-table td.num.under{color:var(--muted)}@media(max-width:1100px){.dispatch-kpi-grid,.dispatch-charts,.dispatch-tables{grid-template-columns:1fr 1fr}.dispatch-hero{grid-column:1 / -1}}@media(max-width:800px){.dispatch-kpi-grid,.dispatch-charts,.dispatch-tables{grid-template-columns:1fr}}.time-input{font-variant-numeric:tabular-nums}.time-stepper{display:flex;align-items:stretch;gap:.35rem;width:100%}.field .time-stepper{width:100%}.time-stepper .time-input{flex:1;min-width:0}.time-stepper-btn{flex:0 0 2.1rem;border:1px solid var(--border);border-radius:6px;background:var(--panel);color:var(--text);font:inherit;font-size:1.1rem;line-height:1;cursor:pointer}.time-stepper-btn:hover:not(:disabled){background:var(--hover)}.time-stepper.is-disabled .time-stepper-btn,.time-stepper-btn:disabled{opacity:.55;cursor:not-allowed}.settings-layout{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:1.25rem;align-items:start}.settings-users{padding:.85rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel)}.settings-user-list{list-style:none;margin:.75rem 0 0;padding:0;display:flex;flex-direction:column;gap:.35rem}.settings-user-btn{width:100%;display:flex;align-items:center;gap:.7rem;text-align:left;border:1px solid transparent;background:transparent;border-radius:8px;padding:.55rem .6rem;cursor:pointer;color:inherit}.settings-user-btn span{display:flex;flex-direction:column;min-width:0}.settings-user-btn strong{font-size:.9rem}.settings-user-btn:hover,.settings-user-btn.active{background:var(--hover);border-color:var(--border)}.settings-detail{padding:1rem 1.15rem 1.25rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel)}.settings-detail-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;flex-wrap:wrap}.settings-detail-head h2{margin:0 0 .2rem;font-size:1.25rem}.settings-role-field{min-width:12rem}.settings-grant-intro{margin:.75rem 0 1rem;font-size:.82rem}.perm-group{margin-top:1.1rem}.perm-group h3{margin:0 0 .45rem;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.perm-list{list-style:none;margin:0;padding:0;border:1px solid var(--border);border-radius:10px;overflow:hidden}.perm-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem .95rem;background:var(--panel-2)}.perm-row+.perm-row{border-top:1px solid var(--border)}.perm-row strong{display:block;font-size:.92rem}.perm-row p{margin:.2rem 0 0;font-size:.75rem}.perm-switch{position:relative;width:2.7rem;height:1.5rem;border:0;border-radius:999px;background:color-mix(in srgb,var(--muted) 35%,var(--border));cursor:pointer;flex-shrink:0;padding:0;transition:background .18s ease}.perm-switch.on{background:var(--accent)}.perm-switch-knob{position:absolute;top:.16rem;left:.16rem;width:1.18rem;height:1.18rem;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0000002e;transition:transform .18s ease}.perm-switch.on .perm-switch-knob{transform:translate(1.2rem)}.perm-switch:disabled{opacity:.55;cursor:default}.user-admin-header{align-items:flex-end}.user-admin-header .btn{min-height:2.65rem;padding-inline:1.05rem}.user-admin-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0 0 1.15rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);overflow:hidden}.user-admin-summary>div{display:flex;align-items:baseline;gap:.55rem;padding:.8rem 1rem}.user-admin-summary>div+div{border-left:1px solid var(--border)}.user-admin-summary strong{color:var(--accent);font-size:1.45rem;font-variant-numeric:tabular-nums}.user-admin-summary span{color:var(--muted);font-size:.76rem}.user-admin-layout{grid-template-columns:minmax(270px,320px) minmax(0,1fr)}.user-ledger{position:sticky;top:0;max-height:calc(100vh - 3rem);overflow:hidden;display:flex;flex-direction:column}.user-ledger-count{display:flex;align-items:center;justify-content:space-between;margin-top:.65rem;color:var(--muted);font-size:.72rem}.user-ledger-count button{border:0;background:transparent;color:var(--accent);cursor:pointer;font:inherit;font-weight:700}.user-ledger .settings-user-list{overflow-y:auto;min-height:0;padding-right:.15rem}.user-ledger .settings-user-btn{align-items:flex-start;padding:.68rem .6rem}.user-ledger .settings-user-btn.active{border-color:color-mix(in srgb,var(--accent) 34%,var(--border));background:var(--accent-soft)}.user-ledger-identity{flex:1;gap:.12rem;overflow:hidden}.user-ledger-identity strong,.user-ledger-identity small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-ledger-identity small{color:var(--muted);font-size:.7rem}.user-ledger-meta{margin-top:.28rem;flex-direction:row!important;align-items:center;gap:.45rem;color:var(--muted);font-size:.68rem}.account-status{display:inline-flex;align-items:center;width:fit-content;border:1px solid var(--border);border-radius:999px;padding:.12rem .42rem;font-size:.64rem;font-weight:700;line-height:1.2;text-transform:capitalize}.account-status.active{color:var(--green);background:var(--green-soft);border-color:color-mix(in srgb,var(--green) 36%,var(--border))}.account-status.invited{color:var(--accent);background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 32%,var(--border))}.account-status.suspended{color:var(--red);background:var(--red-soft);border-color:color-mix(in srgb,var(--red) 34%,var(--border))}.user-ledger-empty{padding:1rem .55rem;font-size:.82rem}.user-access-record{padding:0;overflow:hidden}.user-record-head{padding:1rem 1.15rem;border-bottom:1px solid var(--border);background:linear-gradient(105deg,var(--panel),var(--accent-soft))}.user-record-title{display:flex;align-items:flex-start;gap:.8rem}.avatar.large{width:44px;height:44px;flex:0 0 44px;font-size:1rem}.user-record-title p{margin:.12rem 0 0;color:var(--muted);font-size:.78rem}.user-record-badges{display:flex;align-items:center;gap:.45rem;margin-top:.45rem;color:var(--text);font-size:.72rem;font-weight:650}.user-auth-facts{display:grid;grid-template-columns:repeat(3,minmax(80px,auto));gap:.9rem;margin:0}.user-auth-facts div{min-width:0}.user-auth-facts dt{color:var(--muted);font-size:.65rem}.user-auth-facts dd{margin:.18rem 0 0;font-size:.75rem;font-weight:700;overflow-wrap:anywhere}.user-access-section{padding:1.15rem}.user-access-section+.user-access-section,.account-controls{border-top:1px solid var(--border)}.user-access-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.85rem}.user-access-section-head h3{margin:0;font-size:1rem}.user-access-section-head p{margin:.2rem 0 0;color:var(--muted);font-size:.75rem}.user-profile-grid{display:grid;grid-template-columns:minmax(180px,1.4fr) minmax(150px,.8fr);gap:.8rem}.user-client-field{grid-column:1 / -1}.override-count{flex-shrink:0;border:1px solid var(--border);border-radius:999px;padding:.24rem .55rem;color:var(--muted);font-size:.68rem;font-weight:700}.permission-editor-actions{display:flex;align-items:center;gap:.5rem}.permission-editor-actions button{border:0;background:transparent;color:var(--accent);cursor:pointer;font:inherit;font-size:.7rem;font-weight:700}.permission-editor-actions button:disabled{color:var(--muted);cursor:not-allowed}.capability-group{content-visibility:auto;contain-intrinsic-size:auto 230px}.capability-group+.capability-group{margin-top:.95rem}.capability-group h4{margin:0 0 .38rem;color:var(--muted);font-size:.7rem;font-weight:750}.capability-group ul{list-style:none;margin:0;padding:0;border:1px solid var(--border);border-radius:8px;overflow:hidden}.capability-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.72rem .85rem;background:var(--panel-2)}.capability-row+.capability-row{border-top:1px solid var(--border)}.capability-row>div{min-width:0}.capability-label-line{display:flex;align-items:center;flex-wrap:wrap;gap:.45rem}.capability-label-line strong{font-size:.84rem}.capability-row p{margin:.18rem 0 0;color:var(--muted);font-size:.7rem;line-height:1.35}.permission-source{border:1px solid var(--border);border-radius:999px;padding:.1rem .38rem;color:var(--muted);font-size:.6rem;font-weight:700}.permission-source.override{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 38%,var(--border));background:var(--accent-soft)}.user-access-savebar{position:sticky;bottom:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1rem -.25rem -.25rem;padding:.65rem .75rem;border:1px solid var(--border);border-radius:8px;background:color-mix(in srgb,var(--panel) 94%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.user-access-savebar p{margin:0;color:var(--muted);font-size:.72rem}.account-controls{background:var(--panel-2)}.account-control-actions{display:flex;flex-wrap:wrap;gap:.55rem}.danger-outline{color:var(--red);border-color:color-mix(in srgb,var(--red) 45%,var(--border))}.delete-account-confirm{display:grid;grid-template-columns:minmax(0,1fr) minmax(210px,.8fr) auto;align-items:end;gap:.75rem;margin-top:.8rem;padding:.8rem;border:1px solid color-mix(in srgb,var(--red) 40%,var(--border));border-radius:8px;background:var(--red-soft)}.delete-account-confirm strong{color:var(--red);font-size:.86rem}.delete-account-confirm p{margin:.22rem 0 0;color:var(--muted);font-size:.7rem}.btn.danger{color:#fff;background:var(--red);border-color:var(--red)}.btn:disabled,.user-ledger-count button:disabled{opacity:.55;cursor:not-allowed}.user-invite-backdrop{justify-content:flex-end;padding:0}.user-invite-panel{width:min(440px,100%);height:100%;overflow-y:auto;padding:1.25rem;background:var(--panel);color:var(--text);box-shadow:-16px 0 45px #0f172a47}.user-invite-panel>header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.user-invite-panel h2{margin:.15rem 0 .35rem}.user-invite-panel header p:last-child,.user-invite-note p{margin:0;color:var(--muted);font-size:.78rem;line-height:1.45}.icon-close{width:2rem;height:2rem;flex:0 0 2rem;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--text);cursor:pointer;font-size:1.2rem}.user-invite-panel form{display:grid;gap:.9rem;padding-top:1rem}.user-invite-note{padding:.75rem;border-left:3px solid var(--accent);background:var(--accent-soft)}.user-invite-note strong{display:block;margin-bottom:.15rem;font-size:.78rem}.user-invite-panel footer{display:flex;justify-content:flex-end;gap:.55rem;padding-top:.2rem}@media(max-width:800px){.settings-layout{grid-template-columns:1fr}.user-admin-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.user-admin-summary>div:nth-child(3){border-left:0;border-top:1px solid var(--border)}.user-admin-summary>div:nth-child(4){border-top:1px solid var(--border)}.user-ledger{position:static;max-height:24rem}.user-auth-facts,.delete-account-confirm{grid-template-columns:1fr;width:100%}.user-profile-grid{grid-template-columns:1fr}.user-client-field{grid-column:auto}.user-access-savebar{align-items:stretch;flex-direction:column}}.settings-detail .form-grid,.settings-detail .form-grid .field{margin-bottom:0}.ds-week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.5rem}.ds-day-col{display:flex;flex-direction:column;gap:.25rem;min-width:0;padding:.6rem .55rem;text-align:left;font:inherit;color:inherit;background:var(--panel);border:1px solid var(--border);border-radius:10px;cursor:pointer}.ds-day-col:hover{border-color:var(--accent)}.ds-day-col.is-selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.ds-day-name{font-weight:700;font-size:.95rem}.ds-day-date{font-size:.72rem;color:var(--muted)}.ds-day-cap{font-size:.74rem;font-weight:600;padding:.15rem 0}.ds-day-cap.is-high{color:var(--amber)}.ds-day-cap.is-over{color:var(--red)}.ds-day-jobs{list-style:none;margin:.2rem 0 0;padding:0;display:flex;flex-direction:column;gap:.35rem}.ds-day-job{display:flex;flex-direction:column;gap:.1rem;padding:.4rem .45rem;border:1px solid var(--border);border-radius:8px;background:var(--panel-2);font-size:.74rem;overflow-wrap:anywhere}.ds-day-dprs{font-weight:600}.ds-day-client,.ds-day-techs{color:var(--muted)}.ds-day-empty{margin:.2rem 0 0;font-size:.74rem;color:var(--muted)}.ds-day-header{flex-wrap:wrap;gap:.5rem}.ds-day-nav{display:flex;align-items:center;gap:.5rem}.ds-day-total{margin:0;font-weight:600}.ds-day-total.is-high{color:var(--amber)}.ds-day-total.is-over{color:var(--red)}.ds-job-card{margin-top:.75rem;border:1px solid var(--border);border-radius:10px;overflow:hidden}.ds-job-head{display:flex;flex-wrap:wrap;gap:.35rem 1.1rem;padding:.6rem .75rem;background:var(--panel-2);border-bottom:1px solid var(--border);font-size:.85rem}.ds-job-head em{font-style:normal;font-weight:600;color:var(--muted);margin-right:.3rem}@media(max-width:1100px){.ds-week-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}}.dprs-techs-cell{min-width:11rem}.dprs-techs{display:inline}.dprs-techs-more{margin-left:.35rem;padding:0;border:0;background:none;color:var(--accent);font:inherit;font-size:.78rem;cursor:pointer;text-decoration:underline;white-space:nowrap}.dprs-techs-more:hover{opacity:.8}.dp-views{display:flex;gap:.35rem}.dp-week-nav{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}.dp-layout{display:grid;grid-template-columns:15rem minmax(0,1fr);gap:.75rem;align-items:start}.dp-roster{position:sticky;top:.5rem;display:flex;flex-direction:column;gap:.5rem;padding:.6rem;background:var(--panel-2);border:1px solid var(--border);border-radius:10px}.dp-roster-head h3{margin:0 0 .4rem;font-size:.95rem}.dp-roster-head input{width:100%}.dp-hint{margin:.4rem 0 0;font-size:.72rem}.dp-roster-count{padding:.05rem .35rem;font-size:.7rem;font-weight:600;color:var(--muted);background:var(--panel);border:1px solid var(--border);border-radius:999px}.dp-roster-group{display:flex;flex-direction:column;gap:.25rem;min-height:0}.dp-roster-group-head{margin:0;font-size:.66rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.dp-roster-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.25rem;max-height:22rem;overflow-y:auto}.dp-person-load{font-size:.66rem;font-weight:600;color:var(--accent)}.dp-person{display:flex;align-items:center;gap:.45rem;width:100%;padding:.35rem .4rem;text-align:left;font:inherit;color:inherit;background:var(--panel);border:1px solid var(--border);border-radius:8px;cursor:grab}.dp-person:hover{border-color:var(--accent)}.dp-person.is-armed{border-color:var(--accent);background:var(--accent-soft)}.dp-person:active{cursor:grabbing}.dp-avatar{flex:0 0 auto;display:grid;place-items:center;width:1.6rem;height:1.6rem;font-size:.66rem;font-weight:700;color:var(--accent);background:var(--accent-soft);border-radius:50%}.dp-person-main{display:flex;flex-direction:column;min-width:0}.dp-person-name{font-size:.8rem;font-weight:600;overflow-wrap:anywhere}.dp-person-sub{font-size:.68rem;color:var(--muted)}.dp-week{display:grid;grid-template-columns:repeat(7,minmax(9.5rem,1fr));gap:.5rem;overflow-x:auto;padding-bottom:.35rem}.dp-col{display:flex;flex-direction:column;min-width:0;background:var(--panel-2);border:1px solid var(--border);border-radius:10px}.dp-col.is-today{border-color:var(--accent)}.dp-col-head{display:flex;align-items:center;justify-content:space-between;gap:.3rem;padding:.45rem .5rem;border-bottom:1px solid var(--border)}.dp-col-day{display:flex;flex-direction:column;padding:0;text-align:left;font:inherit;color:inherit;background:none;border:0;cursor:pointer}.dp-col-name{font-size:.82rem;font-weight:700}.dp-col-date{font-size:.68rem;color:var(--muted)}.dp-col-cap{font-size:.7rem;font-weight:600;color:var(--muted)}.dp-col-cap.is-high{color:var(--amber)}.dp-col-cap.is-over{color:var(--red)}.dp-col-body{display:flex;flex-direction:column;gap:.4rem;padding:.45rem}.dp-card{display:flex;flex-direction:column;gap:.15rem;padding:.45rem;background:var(--panel);border:1px solid var(--border);border-radius:8px;font-size:.74rem;overflow-wrap:anywhere}.dp-card.is-target{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:var(--accent-soft)}.dp-card.is-blocked{opacity:.72;background:var(--panel-2)}.dp-card.is-busy{opacity:.6;pointer-events:none}.dp-card-head{display:flex;align-items:baseline;gap:.3rem;font-size:.78rem}.dp-card-dprs{font-size:.68rem;font-weight:600;color:var(--accent)}.dp-card-x{margin-left:auto;padding:0 .2rem;line-height:1;color:var(--muted);background:none;border:0;cursor:pointer}.dp-card-x:hover{color:var(--red)}.dp-card-sub{margin:0;color:var(--muted)}.dp-card-clock{margin:.1rem 0 0;font-weight:600}.dp-card-block{margin:.2rem 0 0;font-size:.68rem;color:var(--amber)}.dp-card-add{margin-top:.3rem;padding:.2rem .4rem;font-size:.7rem}.dp-crew{list-style:none;margin:.3rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.25rem}.dp-chip{display:inline-flex;align-items:center;gap:.2rem;padding:.1rem .2rem .1rem .35rem;font-size:.68rem;color:var(--accent);background:var(--accent-soft);border:1px solid transparent;border-radius:999px;cursor:grab}.dp-chip.is-clash{color:var(--red);background:var(--red-soft);border-color:var(--red)}.dp-chip button{padding:0 .15rem;line-height:1;color:inherit;background:none;border:0;cursor:pointer;opacity:.7}.dp-chip button:hover{opacity:1}.dp-col-add{padding:.2rem .4rem;font-size:.7rem}.dp-picker{display:flex;flex-direction:column;gap:.3rem;padding:.4rem;background:var(--panel);border:1px solid var(--accent);border-radius:8px}.dp-picker input{width:100%;font-size:.74rem}.dp-picker ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.15rem;max-height:14rem;overflow-y:auto}.dp-picker ul button{display:flex;flex-direction:column;width:100%;padding:.25rem .3rem;text-align:left;font:inherit;font-size:.72rem;color:inherit;background:none;border:1px solid transparent;border-radius:6px;cursor:pointer}.dp-picker ul button:hover{border-color:var(--accent);background:var(--accent-soft)}.dp-picker-warn{font-size:.66rem;color:var(--amber)}.dp-empty{margin:0;font-size:.72rem}.dp-timeline{display:flex;flex-direction:column;gap:.4rem;min-width:0}.dp-tl-axis{position:relative;height:1.1rem;margin-left:11rem;border-bottom:1px solid var(--border)}.dp-tl-axis span{position:absolute;top:0;font-size:.66rem;color:var(--muted);transform:translate(-50%);white-space:nowrap}.dp-tl-row{display:grid;grid-template-columns:11rem minmax(0,1fr);gap:.5rem;align-items:center}.dp-tl-label{display:flex;flex-direction:column;font-size:.74rem;overflow-wrap:anywhere}.dp-tl-label span{font-size:.68rem}.dp-tl-track{position:relative;min-height:2.4rem;background:var(--panel-2);border:1px solid var(--border);border-radius:8px}.dp-tl-bar{position:absolute;top:.25rem;bottom:.25rem;display:flex;flex-direction:column;justify-content:center;gap:.1rem;padding:.2rem .4rem;color:var(--accent-fg);background:var(--accent);border-radius:6px;overflow:hidden}.dp-tl-time{font-size:.68rem;font-weight:700}.dp-tl-crew{display:flex;flex-wrap:wrap;gap:.25rem;font-size:.66rem}.dp-tl-crew em{font-style:normal;opacity:.9}.dp-tl-crew em.is-clash{padding:0 .2rem;color:var(--accent-fg);background:var(--red);border-radius:4px;opacity:1}.dp-tl-notime{margin:0;padding:.6rem .5rem;font-size:.7rem}.dp-tl-foot{margin:.3rem 0 0;font-size:.72rem}.dp-dragging{position:fixed;bottom:1rem;left:50%;z-index:40;margin:0;padding:.35rem .75rem;font-size:.78rem;color:var(--accent-fg);background:var(--accent);border-radius:999px;box-shadow:var(--shadow);transform:translate(-50%);pointer-events:none}@media(max-width:1100px){.dp-layout{grid-template-columns:minmax(0,1fr)}.dp-roster{position:static}.dp-tl-axis{margin-left:0}.dp-tl-row{grid-template-columns:minmax(0,1fr)}}.doc-list-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.45rem}.doc-list{list-style:none;margin:0 0 .6rem;padding:0;border:1px solid var(--border);border-radius:8px;overflow:hidden}.doc-row{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.45rem .6rem;background:var(--panel-2)}.doc-row+.doc-row{border-top:1px solid var(--border)}.doc-row-main{display:flex;flex-direction:column;min-width:0}.doc-row-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem}.doc-row-meta{font-size:.72rem}.doc-row .btn{flex:0 0 auto}
