: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: #ffffff;--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;--field-bg: var(--bg);--radius: 8px;--sidebar: 248px;--font: "Geist Variable", "Segoe UI", sans-serif;--safe-top: env(safe-area-inset-top, 0px);--safe-right: env(safe-area-inset-right, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px)}body.theme-admin{--bg: #f3f6fa;--panel: #ffffff;--panel-2: #eef3f8;--border: #c5d4e4;--text: #152033;--muted: #4a5a6c;--accent: var(--blue);--accent-soft: var(--blue-soft);--accent-fg: #ffffff;--sidebar-bg: #ffffff;--hover: rgba(26, 83, 155, .07);--glow-1: #dce8f5;--glow-2: #eef4fb;--field-bg: #ffffff}body.theme-internal{--bg: #f7f4f5;--panel: #ffffff;--panel-2: #f4f0f1;--border: #d4c9cc;--text: #1c1819;--muted: #5c5556;--accent: #ff576d;--accent-soft: rgba(255, 87, 109, .12);--accent-fg: #fff7f8;--sidebar-bg: #ffffff;--hover: rgba(255, 87, 109, .08);--shadow: 0 1px 2px rgba(40, 16, 20, .05), 0 8px 24px rgba(40, 16, 20, .04);--glow-1: #eee6e8;--glow-2: #f6f2f3;--field-bg: #ffffff}body.theme-operations{--bg: #f6f3ea;--panel: #ffffff;--panel-2: #f1ece0;--border: #c7b48d;--text: #1c1810;--muted: #564a36;--accent: #b8860b;--accent-soft: rgba(184, 134, 11, .14);--accent-fg: #1a1400;--sidebar-bg: #ffffff;--hover: rgba(184, 134, 11, .1);--shadow: 0 1px 2px rgba(70, 50, 10, .06), 0 8px 24px rgba(70, 50, 10, .05);--glow-1: #ead9ad;--glow-2: #f4efe3;--field-bg: #ffffff}body.theme-client{--bg: #f3f7f4;--panel: #ffffff;--panel-2: #eef4f0;--border: #b3cbbd;--text: #14241c;--muted: #3f5a4a;--accent: var(--green);--accent-soft: rgba(21, 128, 61, .1);--accent-fg: #ffffff;--sidebar-bg: #ffffff;--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: #d7e8de;--glow-2: #eef6f1;--field-bg: #ffffff}body.theme-technician{--bg: #f4f5f7;--panel: #ffffff;--panel-2: #f7f8fa;--border: #e1e4e8;--text: #15171c;--muted: #5d6470;--accent: #6d28d9;--accent-soft: rgba(109, 40, 217, .1);--accent-fg: #ffffff;--sidebar-bg: #ffffff;--hover: rgba(109, 40, 217, .06);--shadow: 0 1px 2px rgba(16, 24, 40, .05), 0 8px 24px rgba(16, 24, 40, .04);--glow-1: transparent;--glow-2: transparent;--field-bg: #ffffff}body.theme-operations .field label,body.theme-operations .dprs-timesheet-field>span,body.theme-operations .filter-group-label,body.theme-operations .table th{color:#000}body.theme-operations .btn-highlight{color:#1a1400;background:#fff;border-color:#f5b700}body.theme-operations .btn-highlight:hover:not(:disabled){color:#1a1400;background:#fffbeb;border-color:#e0a500}body.theme-operations .dprs-timesheet-field{background:var(--panel-2);border-color:#b9a57a}body.theme-operations .dprs-detail-stack .dprs-timesheet-field{background:transparent;border:0}body.theme-operations .acc-section--default,body.theme-operations .acc-section--job,body.theme-operations .acc-section--action{background:#fff}body.theme-admin .field label,body.theme-admin .filter-group-label,body.theme-admin .table th{color:#000}body.theme-internal .field label,body.theme-internal .dprs-timesheet-field>span,body.theme-internal .filter-group-label,body.theme-internal .table th{color:#000}body.theme-internal .dprs-timesheet-field{background:var(--panel-2);border-color:#d4c4c8}body.theme-internal .dprs-detail-stack .dprs-timesheet-field{background:transparent;border:0}body.theme-internal .acc-section--default,body.theme-internal .acc-section--job,body.theme-internal .acc-section--action{background:#fff}body.theme-internal .acc-section:not(.acc-section--attention){border-color:var(--border)}body.theme-internal .acc-section:not(.acc-section--attention)>.acc-section-summary{background:var(--panel-2);box-shadow:inset 3px 0 color-mix(in srgb,var(--acc-tone) 70%,transparent)}body.theme-internal .acc-section:not(.acc-section--attention)>.acc-section-summary:hover{background:#ece4e6}body.theme-client .field label,body.theme-client .dprs-timesheet-field>span,body.theme-client .filter-group-label,body.theme-client .table th{color:#000}body.theme-technician .field label,body.theme-technician .dprs-timesheet-field>span,body.theme-technician .sheet-group>legend,body.theme-technician .sheet-group>h4,body.theme-technician .filter-group-label{color:#000}body.theme-admin .pill,body.theme-internal .pill,body.theme-operations .pill,body.theme-client .pill,body.theme-technician .pill{background:#fff;border-color:color-mix(in srgb,var(--accent) 32%,var(--border));color:#1a1d23}body.theme-admin .pill.active,body.theme-internal .pill.active,body.theme-operations .pill.active,body.theme-client .pill.active,body.theme-technician .pill.active{color:var(--accent-fg);border-color:var(--accent);background:var(--accent);font-weight:600}body.theme-admin .btn-highlight{color:#12457f;background:#fff;border-color:var(--blue)}body.theme-admin .btn-highlight:hover:not(:disabled){color:#0e3a6b;background:#f3f7fc;border-color:#0e3a6b}body.theme-internal .btn-highlight{color:#d63d55;background:#fff;border-color:#ff576d}body.theme-internal .btn-highlight:hover:not(:disabled){color:#c23048;background:#fff1f3;border-color:#e84860}body.theme-client .btn-highlight{color:#146c34;background:#fff;border-color:#15803d}body.theme-client .btn-highlight:hover:not(:disabled){color:#0f5428;background:#f3faf5;border-color:#0f5428}body.theme-client .acc-section--default,body.theme-client .acc-section--job,body.theme-client .acc-section--action,body.theme-admin .sidebar,body.theme-internal .sidebar,body.theme-operations .sidebar,body.theme-client .sidebar{background:#fff}body.theme-admin .sidebar{border-right-color:#c5d4e6}body.theme-internal .sidebar{border-right-color:#d4c9cc}body.theme-operations .sidebar{border-right-color:#c7b48d}body.theme-client .sidebar{border-right-color:#b4d4c0}body.theme-admin .sidebar .nav-label,body.theme-internal .sidebar .nav-label,body.theme-operations .sidebar .nav-label,body.theme-client .sidebar .nav-label,body.theme-admin .sidebar .brand-text span,body.theme-internal .sidebar .brand-text span,body.theme-operations .sidebar .brand-text span,body.theme-client .sidebar .brand-text span,body.theme-admin .sidebar .user-chip span,body.theme-internal .sidebar .user-chip span,body.theme-operations .sidebar .user-chip span,body.theme-client .sidebar .user-chip span,body.theme-admin .sidebar .app-version,body.theme-internal .sidebar .app-version,body.theme-operations .sidebar .app-version,body.theme-client .sidebar .app-version{color:color-mix(in srgb,var(--text) 74%,var(--muted))}body.theme-admin .sidebar .nav-label,body.theme-internal .sidebar .nav-label,body.theme-operations .sidebar .nav-label,body.theme-client .sidebar .nav-label{font-weight:650}body.theme-admin .sidebar .nav-item,body.theme-internal .sidebar .nav-item,body.theme-operations .sidebar .nav-item,body.theme-client .sidebar .nav-item{color:color-mix(in srgb,var(--text) 88%,var(--muted))}body.theme-admin .sidebar .nav-item svg,body.theme-internal .sidebar .nav-item svg,body.theme-operations .sidebar .nav-item svg,body.theme-client .sidebar .nav-item svg{opacity:.92}body.theme-admin .sidebar .nav-child-meta,body.theme-internal .sidebar .nav-child-meta,body.theme-operations .sidebar .nav-child-meta,body.theme-client .sidebar .nav-child-meta{color:color-mix(in srgb,var(--text) 62%,var(--muted))}body.theme-admin .sidebar .nav-children,body.theme-internal .sidebar .nav-children,body.theme-operations .sidebar .nav-children,body.theme-client .sidebar .nav-children{border-left-color:color-mix(in srgb,var(--accent) 28%,var(--border))}body.theme-admin .sidebar .nav-item:hover,body.theme-internal .sidebar .nav-item:hover,body.theme-operations .sidebar .nav-item:hover,body.theme-client .sidebar .nav-item:hover,body.theme-admin .sidebar .nav-chevron:hover,body.theme-internal .sidebar .nav-chevron:hover,body.theme-operations .sidebar .nav-chevron:hover,body.theme-client .sidebar .nav-chevron:hover{color:var(--text);background:color-mix(in srgb,var(--accent) 7%,#ffffff)}body.theme-admin .sidebar .nav-item.ancestor,body.theme-internal .sidebar .nav-item.ancestor,body.theme-operations .sidebar .nav-item.ancestor,body.theme-client .sidebar .nav-item.ancestor{color:var(--text)}body.theme-admin .sidebar .nav-item.active,body.theme-internal .sidebar .nav-item.active,body.theme-operations .sidebar .nav-item.active,body.theme-client .sidebar .nav-item.active{color:var(--text);background:color-mix(in srgb,var(--accent) 10%,#ffffff);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 32%,var(--border));border-left-color:var(--accent)}body.theme-admin .sidebar .nav-chevron,body.theme-internal .sidebar .nav-chevron,body.theme-operations .sidebar .nav-chevron,body.theme-client .sidebar .nav-chevron{color:color-mix(in srgb,var(--text) 70%,var(--muted))}body.theme-admin .sidebar .sidebar-footer,body.theme-internal .sidebar .sidebar-footer,body.theme-operations .sidebar .sidebar-footer,body.theme-client .sidebar .sidebar-footer{border-top-color:color-mix(in srgb,var(--accent) 18%,var(--border))}body.theme-admin .sidebar .btn,body.theme-internal .sidebar .btn,body.theme-operations .sidebar .btn,body.theme-client .sidebar .btn{background:#fff;border-color:color-mix(in srgb,var(--accent) 28%,var(--border));color:var(--text)}body.theme-admin .sidebar .signout-btn:hover:not(:disabled):not(.is-active),body.theme-internal .sidebar .signout-btn:hover:not(:disabled):not(.is-active),body.theme-operations .sidebar .signout-btn:hover:not(:disabled):not(.is-active),body.theme-client .sidebar .signout-btn:hover:not(:disabled):not(.is-active),body.theme-technician .signout-btn:hover:not(:disabled):not(.is-active){color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,#ffffff);border-color:var(--accent)}body.theme-admin .sidebar .signout-btn:active:not(:disabled),body.theme-admin .sidebar .signout-btn.is-active,body.theme-internal .sidebar .signout-btn:active:not(:disabled),body.theme-internal .sidebar .signout-btn.is-active,body.theme-operations .sidebar .signout-btn:active:not(:disabled),body.theme-operations .sidebar .signout-btn.is-active,body.theme-client .sidebar .signout-btn:active:not(:disabled),body.theme-client .sidebar .signout-btn.is-active,body.theme-technician .signout-btn:active:not(:disabled),body.theme-technician .signout-btn.is-active{color:var(--accent-fg);background:var(--accent);border-color:var(--accent);font-weight:600}*{box-sizing:border-box}html,body,#root{height:100%;min-height:100%;min-height:100dvh;margin:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}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,a,.nav-item,.pill,.btn{-webkit-tap-highlight-color:transparent;touch-action:manipulation}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;background-color:transparent}input[type=date]::-webkit-calendar-picker-indicator,input[type=datetime-local]::-webkit-calendar-picker-indicator{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%235d6470' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 11h18'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:1.05rem 1.05rem}input[type=time]::-webkit-calendar-picker-indicator{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%235d6470' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:1.05rem 1.05rem}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%}html.is-pwa .app-shell{padding-bottom:0}.nav-toggle,.nav-backdrop{display:none}.sidebar{display:flex;flex-direction:column;border-right:1px solid var(--border);background:var(--sidebar-bg);padding:1.05rem .9rem 1.25rem;gap:.85rem;min-height:0;overflow-y:auto;scrollbar-width:thin}.brand{display:flex;flex-direction:column;align-items:flex-start;gap:.45rem;padding:0 .65rem .85rem;border-bottom:1px solid color-mix(in srgb,var(--border) 82%,transparent)}.brand img{width:42px;height:42px;object-fit:contain;background:#fff;border:1px solid var(--border);border-radius:6px}.brand img.logo-grace{display:block;width:auto;height:22px;aspect-ratio:438 / 78;padding:0;background:transparent;border:0;border-radius:0;object-fit:contain;object-position:left center}.password-setup-context .logo-grace{display:block;width:auto;height:22px;aspect-ratio:438 / 78;padding:0;background:transparent;border:0;border-radius:0;object-fit:contain}.brand-role{display:inline-flex;align-items:center;margin:0;padding:.18rem .5rem;border:1px solid color-mix(in srgb,var(--accent) 22%,var(--border));border-radius:999px;background:color-mix(in srgb,var(--accent) 9%,var(--panel));color:color-mix(in srgb,var(--text) 78%,var(--accent));font-size:.68rem;font-weight:600;letter-spacing:.01em;line-height:1.2;white-space:nowrap}.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}.sidebar-notice{padding:.5rem .65rem;border-radius:8px;background:var(--amber);color:#1a1200;font-size:.7rem;line-height:1.35;overflow-wrap:anywhere}.signout-btn{font-weight:600}.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-highlight{background:color-mix(in srgb,var(--accent) 18%,var(--panel));border-color:color-mix(in srgb,var(--accent) 58%,var(--border));color:var(--accent);font-weight:700}.btn-highlight:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 30%,var(--panel));border-color:var(--accent);color:var(--accent)}.btn-success{background:var(--green);border-color:var(--green);color:#fff;font-weight:700}.btn-success:hover:not(:disabled){background:color-mix(in srgb,var(--green) 86%,#000);border-color:color-mix(in srgb,var(--green) 86%,#000);color:#fff}.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:0;display:flex;flex-direction:column}.workspace-progress{position:absolute;top:0;left:0;right:0;z-index:26;height:0;overflow:hidden;background:transparent;pointer-events:none}.app-shell.is-busy .workspace-progress{height:3px}.workspace-progress span{display:none;height:100%;width:38%;border-radius:999px;background:linear-gradient(90deg,transparent,var(--accent),transparent)}.app-shell.is-busy .workspace-progress span{display:block;animation:workspace-indeterminate 1.15s ease-in-out infinite}.app-shell.is-busy .page-stage{position:relative}.app-shell.is-busy .page-stage:after{content:"";pointer-events:none;position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(720px 180px at 50% 0%,var(--accent-soft),transparent 70%),linear-gradient(180deg,color-mix(in srgb,var(--accent) 6%,transparent),transparent 28%);animation:workspace-busy-wash 2.6s ease-in-out infinite}.app-shell.is-busy .sidebar{background-image:linear-gradient(180deg,color-mix(in srgb,var(--accent) 10%,transparent),transparent 28%)}@keyframes workspace-indeterminate{0%{transform:translate(-120%)}to{transform:translate(280%)}}@keyframes workspace-busy-wash{0%,to{opacity:.45}50%{opacity:.9}}.workspace-bar{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:max-content minmax(0,1fr) auto;align-items:center;gap:.75rem 1rem;padding:.8rem 1.75rem;background:color-mix(in srgb,var(--panel) 94%,var(--bg));backdrop-filter:saturate(1.2) blur(12px);-webkit-backdrop-filter:saturate(1.2) blur(12px);border-bottom:1px solid var(--border);isolation:isolate}.crumbs{display:flex;flex-wrap:nowrap;align-items:center;gap:.4rem;font-size:.78rem;color:#2a3038;letter-spacing:.02em;white-space:nowrap}.crumbs strong{color:var(--text);font-weight:650}.workspace-bar-actions{display:flex;align-items:center;justify-content:flex-end;gap:.45rem}.workspace-bar-meta{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;min-width:0;color:#2a3038;font-size:.78rem;white-space:nowrap}.notif-bell{position:relative}.notif-bell-btn,.pwa-install-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-width:36px;height:36px;padding:0 .7rem;border:1px solid var(--border);border-radius:999px;background:color-mix(in srgb,var(--panel) 80%,transparent);color:var(--text);cursor:pointer;font-size:.75rem;font-weight:650}.notif-bell-btn{padding:0;width:36px}.notif-bell-btn:hover,.notif-bell-btn[aria-expanded=true],.pwa-install-btn:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--border));color:var(--accent)}.notif-bell-badge{position:absolute;top:-4px;right:-4px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--red, #d3213c);color:#fff;font-size:.62rem;font-weight:700;line-height:16px;text-align:center}.notif-panel{position:absolute;top:calc(100% + 8px);right:0;z-index:40;width:min(360px,calc(100vw - 2rem));max-height:min(70vh,420px);overflow:auto;padding:.65rem .7rem .75rem;border:1px solid var(--border);border-radius:12px;background:var(--panel);box-shadow:0 16px 40px color-mix(in srgb,#000 22%,transparent)}.notif-panel-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.45rem}.notif-panel-head strong{font-size:.85rem}.notif-enable{width:100%;margin-bottom:.55rem;padding:.4rem .55rem;border:1px dashed var(--border);border-radius:8px;background:transparent;color:var(--text);font-size:.75rem;text-align:left;cursor:pointer}.notif-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.notif-list li{display:grid;grid-template-columns:minmax(0,1fr) 1.75rem;align-items:start;gap:.3rem}.notif-item{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;min-width:0;width:100%;padding:.55rem .65rem;border:1px solid var(--border);border-radius:10px;background:color-mix(in srgb,var(--bg, #fff) 70%,transparent);color:inherit;text-align:left;cursor:pointer}.notif-item:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--border))}.notif-item-title{font-size:.8rem;font-weight:650}.notif-item-body{font-size:.74rem;color:var(--muted);white-space:normal}.notif-item-when{font-size:.68rem;color:var(--muted)}.notif-item-dismiss{width:1.75rem;height:1.75rem;margin-top:.35rem;border:0;border-radius:999px;background:color-mix(in srgb,var(--panel) 88%,#000);color:var(--muted);font-size:1.05rem;line-height:1;cursor:pointer}.notif-item-dismiss:hover{color:var(--text)}.notif-empty{margin:.35rem 0 .15rem;font-size:.78rem}.pwa-install-banner{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;margin-top:.85rem;padding:.65rem .75rem;border:1px dashed var(--border);border-radius:10px;background:color-mix(in srgb,var(--accent-soft, #eaf1f9) 70%,transparent);color:var(--text);font-size:.82rem;font-weight:650;cursor:pointer}.pwa-install-sheet{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:grid;place-items:end center;padding:1rem;padding-bottom:calc(1rem + env(safe-area-inset-bottom,0px));background:color-mix(in srgb,#000 35%,transparent)}.pwa-install-card{width:min(420px,100%);padding:1.1rem 1.15rem 1.2rem;border-radius:16px;background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow)}.pwa-install-card h3{margin:0 0 .7rem;font-size:1.05rem}.pwa-install-card ol{margin:0 0 .75rem;padding-left:1.15rem;display:grid;gap:.4rem;font-size:.88rem}.pwa-install-card .btn{width:100%;margin-top:.35rem}.workspace-greet{margin:0;color:var(--text);font-weight:600;overflow:hidden;text-overflow:ellipsis}.page-stage{flex:1;min-width:0;padding:1.25rem 1.75rem 2rem;animation:page-enter .28s ease}@keyframes page-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.nav-item svg{flex:0 0 auto;opacity:.78}.nav-item.active svg,.nav-item:hover svg{opacity:1}.crm-activity{position:sticky;top:3.15rem;z-index:19;display:flex;align-items:center;gap:.65rem;margin:.75rem 1.75rem 0;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;flex-shrink:0}.progress-loop{display:inline-flex;align-items:center;gap:.55rem;font-weight:600}.progress-loop--compact{font-size:inherit}.crm-progress-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)}.crm-progress-indicator{display:flex;align-items:center;justify-content:center;gap:.7rem;min-width:220px;padding:1rem 1.35rem;border:1px solid var(--border);border-radius:10px;background:var(--panel);color:var(--text);box-shadow:var(--shadow);font-size:.95rem;font-weight:650}.crm-progress-indicator .crm-activity-spinner{width:1.1rem;height:1.1rem}@keyframes crm-spin{to{transform:rotate(360deg)}}.page-kicker{display:inline-flex;align-items:center;gap:.65rem;margin:0;color:var(--look-ink, var(--accent));font-family:var(--font);font-size:.8125rem;font-weight:650;letter-spacing:.01em;line-height:1.15;text-transform:none;flex-shrink:0}.page-kicker:has(+h1):after,.page-kicker:has(+.page-title):after,.page-kicker:has(+h2):after{content:"";width:4px;height:4px;border-radius:50%;background:currentColor;opacity:.42;flex-shrink:0}.page-kicker+h1,.page-kicker+.page-title,.page-kicker+h2{display:inline-flex;align-items:center;vertical-align:middle;margin:0;flex-shrink:0}.page-header>div:has(>.page-kicker),.page-toolbar>div:has(>.page-kicker),.quote-workflow-top>div:has(>.page-kicker){display:flex;flex-wrap:wrap;align-items:center;column-gap:.55rem;row-gap:.15rem;min-width:max-content;flex:0 1 auto}.page-header>div:has(>.page-kicker)>h1,.page-header>div:has(>.page-kicker)>h2,.page-toolbar>div:has(>.page-kicker)>h1,.page-toolbar>div:has(>.page-kicker)>.page-title,.quote-workflow-top>div:has(>.page-kicker)>.page-title{margin:0}.page-header>div:has(>.page-kicker)>.muted,.page-toolbar>div:has(>.page-kicker)>.muted{flex:1 0 100%;margin-top:.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:center;flex-wrap:wrap;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(--field-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}.dash-lede{margin:0 0 1rem;color:var(--muted);font-size:.82rem}.dash-board{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem;margin-bottom:1rem;align-items:stretch}.dash-board.has-jobs.has-quotes.has-mp{grid-template-areas:"wr quotes" "mp mp"}.dash-board.has-jobs.has-quotes.has-mp .dash-wr{grid-area:wr}.dash-board.has-jobs.has-quotes.has-mp .dash-quotes{grid-area:quotes}.dash-board.has-jobs.has-quotes.has-mp .dash-mp-mod{grid-area:mp}.dash-board.has-jobs.no-quotes.has-mp{grid-template-columns:minmax(0,1fr);grid-template-areas:"wr" "mp"}.dash-board.has-jobs.no-quotes.has-mp .dash-wr{grid-area:wr}.dash-board.has-jobs.no-quotes.has-mp .dash-mp-mod{grid-area:mp}.dash-board.has-jobs.has-quotes.no-mp{grid-template-areas:"wr quotes"}.dash-board.has-jobs.has-quotes.no-mp .dash-wr{grid-area:wr}.dash-board.has-jobs.has-quotes.no-mp .dash-quotes{grid-area:quotes}.dash-board.no-jobs.has-quotes.has-mp{grid-template-columns:minmax(0,1fr);grid-template-areas:"quotes" "mp"}.dash-board.no-jobs.has-quotes.has-mp .dash-quotes{grid-area:quotes}.dash-board.no-jobs.has-quotes.has-mp .dash-mp-mod{grid-area:mp}.dash-board.no-quotes.no-mp,.dash-board.no-jobs.no-quotes,.dash-board.no-jobs.no-mp.has-quotes,.dash-board.no-jobs.no-quotes.has-mp{grid-template-columns:minmax(0,1fr)}.dash-module{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:1.05rem 1.15rem 1rem;box-shadow:var(--shadow);min-width:0;width:100%;overflow:hidden}.dash-mp-mod{display:flex;flex-direction:column;min-width:0}.dash-module-head{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:.35rem 1rem;margin-bottom:.75rem}.dash-module-head h2{margin:0;font-size:.95rem;letter-spacing:.01em}.dash-module-head p{margin:.2rem 0 0;color:var(--muted);font-size:.8rem;max-width:52rem;line-height:1.35}.dash-kpi-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;padding:0;text-align:left;cursor:pointer;color:inherit;font:inherit}.dash-kpi-btn:disabled,.dash-mp-card:disabled{cursor:default;opacity:.72}.dash-kpi{display:block;font-size:2.15rem;font-weight:750;letter-spacing:-.04em;line-height:1;color:var(--accent)}.dash-kpi small{font-size:1rem;font-weight:650;color:var(--muted);letter-spacing:0;margin-left:.2rem}.dash-kpi-label{display:block;margin-top:.35rem;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.dash-stack{display:flex;height:8px;border-radius:999px;overflow:hidden;background:var(--panel-2);margin:.85rem 0 .75rem}.dash-stack.is-empty{opacity:.7}.dash-stack span{display:block;height:100%;min-width:0}.dash-chips{display:flex;flex-wrap:wrap;gap:.4rem}.dash-module .dash-report-label{margin:.75rem 0 .35rem}.dash-chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;gap:.38rem;border:1px solid var(--border);background:var(--panel-2);border-radius:999px;padding:.28rem .6rem .28rem .42rem;cursor:pointer;font:inherit;color:inherit}.dash-chip:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--border));background:var(--hover)}.dash-chip .swatch{width:.5rem;height:.5rem;border-radius:999px;flex:0 0 auto}.dash-chip .n{font-weight:700;font-size:.82rem;line-height:1}.dash-chip .l{font-size:.72rem;color:var(--muted);font-weight:600}.dash-mp{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;flex:1}.dash-mp-card{-webkit-appearance:none;-moz-appearance:none;appearance:none;text-align:left;cursor:pointer;font:inherit;color:inherit;background:var(--panel-2);border:1px solid var(--border);border-radius:10px;padding:.9rem 1rem;min-width:0;width:100%}.dash-mp-card:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--border));background:var(--hover)}.dash-mp-card.is-warn .dash-kpi{color:var(--red)}.dash-mp-card .hint{display:block;color:var(--muted);font-size:.76rem;margin-top:.4rem;line-height:1.35;overflow-wrap:anywhere}.dash-meter{height:6px;background:color-mix(in srgb,var(--text) 8%,var(--panel));border-radius:999px;overflow:hidden;margin-top:.65rem}.dash-meter span{display:block;height:100%;background:var(--accent);border-radius:999px}.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:not(.badge){color:var(--muted);font-size:.75rem}.badge{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;border-radius:999px;padding:.22rem .5rem;font-size:.62rem;font-weight:650;letter-spacing:.03em;line-height:1.2;text-transform:uppercase;text-align:center;border:1px solid var(--border);white-space:nowrap}.badge-neutral{background:color-mix(in srgb,var(--muted) 10%,transparent);color:#3d4450;border-color:color-mix(in srgb,var(--muted) 28%,var(--border))}.badge-new{background:var(--blue-soft);color:#1e3a8a;border-color:color-mix(in srgb,var(--blue) 38%,var(--border))}.badge-progress{background:var(--amber-soft);color:#5c3700;border-color:color-mix(in srgb,var(--amber) 40%,var(--border))}.badge-review{background:color-mix(in srgb,#4f46e5 12%,transparent);color:#1e1b4b;border-color:color-mix(in srgb,#4f46e5 32%,var(--border))}.badge-submitted{background:color-mix(in srgb,#0f766e 12%,transparent);color:#134e4a;border-color:color-mix(in srgb,#0f766e 36%,var(--border))}.badge-flagged{background:var(--red-soft);color:#8f1c14;border-color:color-mix(in srgb,var(--red) 38%,var(--border))}.badge-accepted{background:var(--green-soft);color:#14532d;border-color:color-mix(in srgb,var(--green) 40%,var(--border))}.acc-section-body .badge-accepted{padding:.32rem .7rem;font-size:.72rem}.badge-archived{background:color-mix(in srgb,var(--muted) 12%,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}.crm-alert{display:flex;flex-direction:column;gap:.3rem;border:1px solid color-mix(in srgb,var(--red) 42%,var(--border));background:color-mix(in srgb,var(--red) 9%,var(--panel));border-radius:8px;padding:.7rem .85rem .7rem .95rem;margin:.75rem 0;box-shadow:inset 4px 0 0 var(--red)}.crm-alert--comment{margin:0 0 .55rem;padding:.55rem .7rem .55rem .8rem}.crm-alert-kicker{font-size:.66rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--red)}.crm-alert-title{font-weight:700;color:var(--red);font-size:.86rem}.crm-alert-quote{margin:.15rem 0 0;padding:.4rem .55rem;border-left:3px solid var(--red);background:color-mix(in srgb,var(--red) 8%,var(--panel));border-radius:0 6px 6px 0;white-space:pre-wrap;color:var(--text);font-size:.84rem}.crm-alert-action{margin:.1rem 0 0;font-size:.8rem;color:var(--text)}.acc-section.acc-section--attention{border-color:color-mix(in srgb,var(--red) 48%,var(--border));background:color-mix(in srgb,var(--red) 5%,var(--panel))}.acc-section.acc-section--attention>.acc-section-summary{color:var(--red);--acc-tone: var(--red)}.table tbody tr.selected,.data-table tbody tr.selected,.list-row.selected,.row-recent{--row-cue: var(--accent)}.row-lodged{--row-cue: var(--blue)}.row-progress{--row-cue: var(--amber)}.row-review{--row-cue: #4f46e5}.row-received{--row-cue: #0f766e}.row-accepted{--row-cue: var(--green)}.row-attention{--row-cue: var(--red)}.table tbody tr:is(.row-lodged,.row-progress,.row-review,.row-received,.row-accepted,.row-attention,.row-recent,.selected)>td:first-child,.data-table tbody tr:is(.row-lodged,.row-progress,.row-review,.row-received,.row-accepted,.row-attention,.row-recent,.selected)>td:first-child,.list-row:is(.row-lodged,.row-progress,.row-review,.row-received,.row-accepted,.row-attention,.row-recent,.selected){box-shadow:inset 4px 0 0 0 var(--row-cue);padding-left:.9rem}@keyframes row-focus-glow{0%,to{background-color:color-mix(in srgb,var(--accent) 10%,var(--panel));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 45%,transparent)}50%{background-color:color-mix(in srgb,var(--accent) 22%,var(--panel));box-shadow:inset 0 0 0 2px var(--accent)}}.table tbody tr.row-focus-glow,.data-table tbody tr.row-focus-glow{position:relative;z-index:1;outline:2px solid color-mix(in srgb,var(--accent) 80%,white);outline-offset:-2px}.table tbody tr.row-focus-glow>td,.data-table tbody tr.row-focus-glow>td{animation:row-focus-glow .85s ease-in-out 3}.wr-list-wrap .table tbody tr.row-focus-glow td.table-actions-cell{background:color-mix(in srgb,var(--accent) 16%,var(--panel))}.table th.wr-created-cell,.wr-created-cell{width:1%;white-space:nowrap;vertical-align:middle;line-height:1.15}.dash-recent-created{text-align:right;margin-left:auto;padding:0 .75rem 0 .5rem}.dash-recent .list-row{display:grid;grid-template-columns:minmax(0,1fr) 6rem 9.5rem;align-items:center;column-gap:1rem;padding-top:.75rem;padding-right:.15rem;padding-bottom:.75rem}.dash-recent .list-row>div{min-width:0}.dash-recent .list-row>div strong,.dash-recent .list-row>div span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-recent .dash-recent-created{margin:0;padding:0;width:auto;min-width:5.75rem;text-align:right}.dash-recent .dash-recent-created .wr-created-date,.dash-recent .dash-recent-created .wr-created-time{font-size:.75rem;line-height:1.25}.dash-recent .badge,.table td.wr-state-cell>.badge{width:100%;max-width:9.5rem;min-height:2.35rem;margin-inline:auto;justify-self:center;white-space:normal;overflow-wrap:break-word;font-weight:750}.wr-created-date{display:block;font-variant-numeric:tabular-nums}.wr-created-time{display:block;color:var(--muted);font-size:.78rem;font-variant-numeric:tabular-nums}.wr-list-wrap .table th.table-actions-cell,.wr-list-wrap .table td.table-actions-cell{position:sticky;right:0;z-index:2;background:var(--panel);box-shadow:-6px 0 8px -6px color-mix(in srgb,var(--text) 18%,transparent)}.wr-list-wrap .table tbody tr:hover td.table-actions-cell{background:var(--hover)}.wr-list-wrap .table tbody tr.selected td.table-actions-cell{background:color-mix(in srgb,var(--text) 4%,var(--panel))}.wr-list-wrap .table tbody tr.row-attention td.table-actions-cell,.wr-list-wrap .table tbody tr.row-accepted td.table-actions-cell,.wr-list-wrap .table tbody tr.row-received td.table-actions-cell,.wr-list-wrap .table tbody tr.row-recent td.table-actions-cell{background:var(--panel)}.wr-list-wrap .table tbody tr.row-attention:hover td.table-actions-cell,.wr-list-wrap .table tbody tr.row-accepted:hover td.table-actions-cell,.wr-list-wrap .table tbody tr.row-received:hover td.table-actions-cell,.wr-list-wrap .table tbody tr.row-recent:hover td.table-actions-cell{background:var(--hover)}.wr-list-wrap .table tbody tr.row-attention.selected td.table-actions-cell,.wr-list-wrap .table tbody tr.row-accepted.selected td.table-actions-cell,.wr-list-wrap .table tbody tr.row-received.selected td.table-actions-cell,.wr-list-wrap .table tbody tr.row-recent.selected td.table-actions-cell{background:color-mix(in srgb,var(--text) 4%,var(--panel))}.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}.status-filters{margin-bottom:1rem}.status-filters .filters{margin-bottom:0}.status-filters .filter-group{margin-top:.65rem}.filter-group-label{display:block;margin-bottom:.3rem;font-family:var(--font);font-size:.8rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:#000}.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(--field-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(--field-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}.wr-list-filters .filter-day-toggle{display:inline-flex;align-items:center;gap:.4rem;margin:0;white-space:nowrap;font-size:.85rem;color:#2a3038;cursor:pointer;-webkit-user-select:none;user-select:none}.wr-list-filters .filter-day-toggle input[type=checkbox]{width:1rem;height:1rem;min-width:1rem;margin:0;accent-color:var(--accent);flex-shrink:0}.dprs-page-lede{margin:-.55rem 0 1rem;max-width:46rem}.dprs-page-toolbar{align-items:center;gap:.75rem 1rem;margin-bottom:.85rem}.dprs-page-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.45rem .55rem;min-width:0}.dprs-date-range{display:inline-flex;align-items:center;height:2.35rem;padding:0 .45rem 0 .55rem;border:1px solid var(--border);border-radius:8px;background:var(--field-bg);gap:.15rem}.dprs-date-range:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.dprs-date-range.is-disabled{opacity:.55}.dprs-date-range-icon{display:inline-flex;align-items:center;justify-content:center;color:var(--muted);margin-right:.15rem;padding:0;border:0;background:transparent;cursor:pointer}.dprs-date-range-icon:disabled{cursor:default}.dprs-date-range .date-input{width:8.4rem;min-width:0;border:0;background:transparent;box-shadow:none;padding:.2rem .15rem;font-size:.86rem}.dprs-date-range .date-input:focus{outline:none;box-shadow:none}.dprs-date-range .dprs-date-range-start::-webkit-calendar-picker-indicator,.dprs-date-range .dprs-date-range-end::-webkit-calendar-picker-indicator{opacity:0;width:0;padding:0;margin:0}.dprs-date-range-sep{color:var(--muted);padding:0 .1rem;font-size:.9rem}.dprs-page-actions .filter-day-toggle{display:inline-flex;align-items:center;gap:.35rem;margin:0;white-space:nowrap;font-size:.82rem;color:#2a3038;cursor:pointer;-webkit-user-select:none;user-select:none}.dprs-page-actions .filter-day-toggle input[type=checkbox]{width:1rem;height:1rem;min-width:1rem;margin:0;accent-color:var(--accent)}.dprs-export-btn{display:inline-flex;align-items:center;gap:.4rem;white-space:nowrap}.dprs-export-btn svg{flex:0 0 auto}.dprs-list-panel.dprs-layout{gap:0}.dprs-list-panel .list-expand-hint{margin:0 0 .65rem}.pill{border:1px solid var(--border);background:transparent;color:#1a1d23;border-radius:999px;padding:.35rem .85rem;cursor:pointer;font-size:.82rem;font-weight:550}.pill.active{color:var(--accent-fg);border-color:var(--accent);background:var(--accent);font-weight:600}.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:#000;font-family:var(--font);font-size:.75rem;letter-spacing:.04em;font-weight:700;text-transform:uppercase;padding:.55rem .65rem;border-bottom:1px solid var(--border);background:var(--panel-2)}.table td{padding:.85rem .65rem;border-bottom:1px solid var(--border);font-size:.88rem;font-weight:550;color:var(--text);vertical-align:middle}.table tr{cursor:pointer}.table tr:hover td{background:var(--hover)}.table tr.selected td{background:color-mix(in srgb,var(--text) 4%,transparent)}.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}.wr-list-wrap .table{table-layout:fixed;width:100%}.wr-list-wrap .table th{vertical-align:middle}.wr-list-wrap .table .wr-job-cell{width:8.25rem}.wr-list-wrap .table .wr-dprs-cell{width:7.75rem}.wr-list-wrap .table .wr-title-cell{width:auto}.wr-list-wrap .table .wr-client-cell{width:9.5rem}.wr-list-wrap .table .wr-email-cell{width:16rem}.wr-list-wrap .table .wr-date-cell{width:8.5rem}.wr-list-wrap .table th.wr-created-cell,.wr-list-wrap .table td.wr-created-cell{width:5.75rem}.wr-list-wrap .table .wr-state-cell,.data-table-wrap .table .wr-state-cell{width:10rem;text-align:center}.table th.wr-state-cell .th-sort{display:inline-flex;width:100%;justify-content:center}.wr-list-wrap .table th.table-actions-cell,.wr-list-wrap .table td.table-actions-cell{width:3.1rem}.wr-list-wrap .table td.wr-job-cell,.wr-list-wrap .table td.wr-dprs-cell,.wr-list-wrap .table td.wr-title-cell,.wr-list-wrap .table td.wr-client-cell,.wr-list-wrap .table td.wr-email-cell,.wr-list-wrap .table td.wr-date-cell{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.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;color:#2a3038}.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{--acc-tone: var(--accent);border:1px solid color-mix(in srgb,var(--acc-tone) 18%,var(--border));border-radius:6px;background:var(--panel);margin:0 0 .45rem;min-width:0;overflow:hidden}.acc-section--default,.acc-section--job,.acc-section--action{--acc-tone: var(--accent)}.acc-section--progress,.acc-section--report,.acc-section--sheet{--acc-tone: var(--blue)}.acc-section--crew{--acc-tone: #0f766e;overflow:visible}.acc-section--crew>.acc-section-summary{border-radius:6px 6px 0 0}.acc-section--crew>.acc-section-body{overflow:visible}.acc-section--documents{--acc-tone: var(--green)}.acc-section--history{--acc-tone: var(--muted)}.acc-section--danger{--acc-tone: var(--red)}.acc-section--billing{--acc-tone: #334155}.acc-section-summary{list-style:none;cursor:pointer;-webkit-user-select:none;user-select:none;min-height:2.05rem;padding:.38rem .7rem .38rem .6rem;font-size:.8125rem;line-height:1.2;font-weight:650;letter-spacing:.01em;text-transform:none;color:var(--text);display:flex;align-items:center;gap:.4rem;background:color-mix(in srgb,var(--acc-tone) 8%,var(--panel-2));box-shadow:inset 3px 0 0 var(--acc-tone);border-bottom:1px solid transparent}.acc-section[open]>.acc-section-summary{border-bottom-color:color-mix(in srgb,var(--acc-tone) 16%,var(--border))}.acc-section-summary::-webkit-details-marker{display:none}.acc-section-summary:before{content:"";width:.28rem;height:.28rem;flex:0 0 auto;border-right:1.5px solid color-mix(in srgb,var(--acc-tone) 70%,var(--text));border-bottom:1.5px solid color-mix(in srgb,var(--acc-tone) 70%,var(--text));transform:rotate(-45deg);translate:0 -1px;transition:transform .15s ease}.acc-section[open]>.acc-section-summary:before{transform:rotate(45deg);translate:0 -1px}.acc-section-summary:hover{color:var(--text);background:color-mix(in srgb,var(--acc-tone) 13%,var(--panel-2))}.acc-section-summary:focus-visible{outline:2px solid var(--acc-tone);outline-offset:-2px}.acc-section-count{margin-left:auto;min-width:1.1rem;padding:.02rem .32rem;border-radius:999px;background:color-mix(in srgb,var(--acc-tone) 12%,var(--panel));border:1px solid color-mix(in srgb,var(--acc-tone) 26%,var(--border));color:var(--muted);font-size:.68rem;font-weight:650;letter-spacing:0;text-transform:none;text-align:center}.acc-section-body{padding:.5rem .75rem .7rem;display:flex;flex-direction:column;gap:.5rem;min-width:0;overflow-x:auto}.acc-section-body>.btn-highlight,.acc-section-body>.btn-success,.acc-section-body>.btn-primary,.crew-actions .btn-highlight,.crew-actions .btn-primary,.crew-add-day-btn.btn-highlight{align-self:flex-start;min-height:1.95rem;padding:.28rem .7rem;font-size:.8rem;font-weight:600;line-height:1.2}.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-assign{flex:0 1 16rem;min-width:12rem;display:flex;flex-direction:column;gap:.45rem;padding:.65rem .75rem;border:1px solid var(--border);border-radius:8px;background:var(--panel-2)}.drawer-head-assign .section-label,.drawer-head-assign .field{margin:0}.drawer-head-assign .btn{align-self:flex-start}.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(196px,1fr));gap:.7rem 1rem}.dprs-detail-stack .dprs-timesheet-field-wide{grid-column:1 / -1}.dprs-timesheet-hours-row{grid-column:1 / -1;display:grid;grid-template-columns:minmax(12rem,16rem) minmax(0,1fr);gap:inherit;align-items:start}.dprs-timesheet-remarks-field textarea,.dprs-billing-notes-field textarea{min-height:2.25rem;height:2.25rem;max-height:none;resize:none}.dprs-timesheet-actions{grid-column:1 / -1;display:flex;justify-content:flex-start}.dprs-detail-stack .dprs-sheet-fields,.dprs-detail-stack .dprs-billing-fields{grid-column:auto;width:100%;grid-template-columns:repeat(auto-fill,minmax(196px,1fr))}.dprs-detail-stack .acc-section-body>.dprs-sheet-fields,.dprs-detail-stack .acc-section-body>.dprs-billing-fields{border:0;padding:0;min-inline-size:0}.dprs-detail-stack .acc-section-body{padding:.85rem 1rem 1rem;gap:.75rem}.dprs-detail-stack .dprs-timesheet-grid,.dprs-detail-stack .dprs-sheet-fields,.dprs-detail-stack .dprs-billing-fields,.dprs-detail-stack .d6-grid{gap:.7rem 1rem}.dprs-detail-stack .dprs-timesheet-grid,.dprs-detail-stack .dprs-sheet-fields,.dprs-detail-stack .dprs-billing-fields{grid-template-columns:repeat(auto-fill,minmax(196px,1fr))}.dprs-detail-stack .dprs-billing-fields{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.dprs-detail-stack .dprs-billing-quote{grid-column:span 2;min-width:0}.dprs-detail-stack .dprs-billing-quote .field,.dprs-detail-stack .dprs-billing-quote .suggest{margin:0;min-width:0}.dprs-detail-stack .dprs-billing-fields .field>label{display:flex;align-items:center;flex-wrap:nowrap;gap:.3rem;min-height:1.15rem;overflow:visible}.dprs-detail-stack .dprs-billing-fields .field>label .field-info{flex:0 0 auto}.dprs-detail-stack .dprs-timesheet-field,.dprs-detail-stack .dprs-billing-fields .field,.dprs-detail-stack .dprs-billing-fields .suggest,.dprs-detail-stack .dprs-tech-acc .crew-slots .field,.dprs-detail-stack .dprs-tech-acc .crew-slots .suggest,.dprs-detail-stack .d6-section{padding:0;margin:0;border:0;border-radius:0;background:transparent;gap:.28rem}.dprs-detail-stack .dprs-timesheet-field>span,.dprs-detail-stack .dprs-billing-fields .field>label,.dprs-detail-stack .dprs-tech-acc .crew-slots .field>label{min-height:0;font-family:var(--font);font-size:.8rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:#000}.dprs-detail-stack .dprs-timesheet-field input,.dprs-detail-stack .dprs-timesheet-field select,.dprs-detail-stack .dprs-timesheet-field textarea,.dprs-detail-stack .dprs-billing-fields .field input,.dprs-detail-stack .dprs-billing-fields .field select,.dprs-detail-stack .dprs-billing-fields .field textarea,.dprs-detail-stack .dprs-tech-acc .crew-slots .field input{min-height:2.25rem;padding:.4rem .7rem;border-radius:8px;background:var(--field-bg);font-size:.8rem;font-weight:500;letter-spacing:0;line-height:1.25;min-width:0}.dprs-detail-stack .time-stepper{gap:0;min-height:2.25rem;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--field-bg)}.dprs-detail-stack .dprs-timesheet-field .time-stepper .time-input{min-height:2.2rem;border:0;border-radius:0;box-shadow:none;text-align:center}.dprs-detail-stack .time-stepper-btn{flex-basis:2rem;border:0;border-radius:0;background:var(--panel-2)}.dprs-detail-stack .time-stepper-btn:first-child{border-right:1px solid var(--border)}.dprs-detail-stack .time-stepper-btn:last-child{border-left:1px solid var(--border)}.dprs-detail-stack .time-stepper:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.dprs-detail-stack .dprs-readonly-grid{margin:.1rem 0 0;padding:0;overflow:hidden;border:1px solid var(--border);border-radius:8px;background:var(--panel-2);grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:0}.dprs-detail-stack .dprs-readonly-grid>div{display:flex;flex-direction:column;padding:0;border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.dprs-detail-stack .dprs-readonly-grid dt{padding:.38rem .7rem .28rem;background:#eef1f4;border-bottom:1px solid #8e96a3;color:#000;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.dprs-detail-stack .dprs-readonly-grid dd{padding:.48rem .7rem .55rem;margin:0;background:#fff;font-size:.95rem;font-weight:500;letter-spacing:0;text-transform:none;color:#3d4654}.dprs-detail-stack .dprs-timesheet-readout{margin-bottom:0}.dprs-detail-stack .dprs-billing-gate,.dprs-detail-stack .dprs-billing-source{grid-column:1 / -1;line-height:1.45}.dprs-detail-stack .dprs-billing-gate{padding:.5rem .7rem;border:1px solid color-mix(in srgb,var(--accent) 18%,var(--border));border-radius:8px;background:color-mix(in srgb,var(--accent) 7%,var(--panel-2))}.dprs-detail-stack .dprs-tech-acc .crew-slots{grid-template-columns:minmax(0,22rem);gap:.65rem}.dprs-detail-stack .dprs-tech-chips{gap:.45rem}.dprs-detail-stack .dprs-tech-chip{background:color-mix(in srgb,#0f766e 8%,var(--panel));border-color:color-mix(in srgb,#0f766e 22%,var(--border))}.dprs-detail .drawer-head .dprs-approval{padding:.65rem .8rem}.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:.45rem .85rem;align-items:start;margin-top:.35rem;min-width:0}.job-detail-grid--docs{grid-template-columns:minmax(0,1fr)}.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-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}.splash{position:relative;min-height:100%;height:100%;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr)}.splash-stage{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100%;padding:clamp(2rem,5vw,3.75rem) clamp(1.75rem,5.5vw,4.25rem);color:#f4f8fd;background:#071427}.splash-stage-glow,.splash-stage-orb,.splash-stage-grid,.splash-stage-slash{position:absolute;pointer-events:none}.splash-stage-glow{top:0;right:0;bottom:0;left:0;background:radial-gradient(820px 520px at 6% 22%,rgba(22,78,160,.72),transparent 58%),radial-gradient(380px 260px at 48% 16%,rgba(78,132,198,.28),transparent 70%),radial-gradient(640px 420px at 96% 100%,rgba(176,28,62,.5),transparent 58%)}.splash-stage-orb{width:280px;height:220px;left:42%;top:10%;border-radius:50%;background:radial-gradient(circle,rgba(96,150,214,.38) 0%,rgba(96,150,214,.08) 42%,transparent 72%);filter:blur(6px)}.splash-stage-grid{top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.028) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.028) 1px,transparent 1px);background-size:52px 52px;opacity:.45}.splash-hero{position:relative;z-index:2;display:grid;justify-items:center;width:min(92%,40rem)}.splash-hero-mark{display:block;width:100%;height:auto;object-fit:contain}.splash-powered{position:absolute;z-index:2;left:50%;bottom:clamp(1.4rem,4vh,2.4rem);display:inline-flex;align-items:center;gap:.55rem;margin:0;color:#f4f8fdb3;font-size:.82rem;font-weight:500;letter-spacing:.01em;transform:translate(-50%);white-space:nowrap}.splash-powered img{width:22px;height:22px;object-fit:contain}.splash-powered strong{font-weight:700;color:#f4f8fd}.splash-stage-slash{right:14%;bottom:-8%;width:3px;height:58%;border-radius:999px;background:linear-gradient(to top,rgba(196,30,58,0),rgba(196,30,58,.55) 38%,rgba(140,70,120,.12) 78%,transparent);transform:rotate(28deg);transform-origin:bottom center}.splash-tagline{margin:1.15rem 0 0;width:100%;text-align:center;color:#f4f8fd;font-family:var(--font);font-size:clamp(1.05rem,1.9vw,1.28rem);font-weight:700;letter-spacing:-.02em;line-height:1.4}.splash-tagline em{font-style:normal;font-weight:750}.splash-tagline-blue{color:#124b92}.splash-tagline-red{color:#c41e3a}.splash-form.is-busy{position:relative}.splash-form.is-busy:after{content:"";position:absolute;left:12px;right:12px;bottom:0;height:3px;border-radius:999px;background:linear-gradient(90deg,transparent,var(--accent),transparent);background-size:200% 100%;animation:splash-form-bar 1.1s linear infinite}@keyframes splash-glow{0%,to{transform:scale(1) translate(0);opacity:.85}50%{transform:scale(1.12) translate(3%,2%);opacity:1}}@keyframes splash-grid{0%{background-position:0 0}to{background-position:42px 42px}}@keyframes splash-panel-glow{0%,to{transform:translate(0);opacity:.7}50%{transform:translate(-24px,18px);opacity:1}}@keyframes splash-form-bar{0%{background-position:100% 0}to{background-position:-100% 0}}.splash-panel{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.15rem;padding:clamp(1.5rem,4vw,3rem);background:#fff}.splash-form{position:relative;z-index:1;width:min(400px,100%);background:#fff;border:1px solid #c5d0de;border-radius:12px;padding:2rem 1.85rem 1.8rem;box-shadow:0 8px 30px #10244414}.splash-form .btn-primary{background:#124b92;border-color:#124b92;color:#fff}.splash-form .btn-primary:hover{background:#0e3d78;border-color:#0e3d78;color:#fff}.splash-form .field label{color:#1f2a38;font-weight:650}.splash-form .field input{background:#fff;border-color:#9aabc0;color:#111827}.splash-form .field input:focus{outline:2px solid rgba(18,75,146,.22);border-color:#124b92}.splash-form .password-toggle{color:#3d4a5a}.splash-form .password-toggle:hover{color:#111827}.splash-form .error{color:#b42318;font-weight:600}.splash-form .pwa-install-banner{border:1px solid #c5d0de;background:#fff;color:#1f2a38}.splash-form-kicker{margin:0 0 .35rem;color:#3d4a5a;font-size:.82rem;font-weight:550;letter-spacing:0;text-transform:none}.splash-form-product{color:#124b92;font-weight:750}.splash-form-head{margin:0 0 1.55rem}.splash-form-head h2,.splash-form h2{margin:0 0 .4rem;color:#111827;font-size:1.75rem;font-weight:650;letter-spacing:-.035em;line-height:1.2}.splash-form-head p{margin:0;color:#334155;font-size:.95rem;font-weight:500;line-height:1.4}.splash-form>p{color:var(--muted);margin:0 0 1.25rem;font-size:.9rem}.splash-boot{display:grid;justify-items:start;gap:.65rem}.splash-boot .crm-activity-spinner{width:1.2rem;height:1.2rem}.splash-boot h2,.splash-boot p{margin:0}.sign-in-opening{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:center;overflow:hidden;background:radial-gradient(720px 420px at 12% 18%,rgba(30,92,170,.55),transparent 58%),radial-gradient(640px 380px at 88% 88%,rgba(168,28,62,.42),transparent 56%),#071427}.sign-in-opening.is-signing{animation:opening-veil .45s ease}.sign-in-opening.is-welcome{animation:opening-veil 1.15s cubic-bezier(.16,1,.3,1)}.sign-in-opening-glow,.sign-in-opening-grid{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.sign-in-opening-glow{background:radial-gradient(520px 280px at 18% 22%,rgba(70,130,210,.28),transparent 70%),radial-gradient(460px 320px at 86% 86%,rgba(196,30,58,.28),transparent 68%);animation:splash-glow 6s ease-in-out infinite}.sign-in-opening-grid{background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:42px 42px;opacity:.55;animation:splash-grid 18s linear infinite}.sign-in-opening-stage{position:relative;z-index:1;display:grid;justify-items:center;text-align:center;padding:1.5rem;color:#f4f8fd}.sign-in-opening.is-welcome .sign-in-opening-stage{width:min(100%,72rem);min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.6rem;padding:clamp(2rem,6vh,4rem) 1.5rem}.sign-in-opening-hero{display:grid;justify-items:center;width:min(100%,52rem)}.sign-in-opening-mark-wrap{position:relative;width:min(72vw,420px);display:grid;place-items:center;margin-bottom:1.1rem}.sign-in-opening-mark{width:100%;height:auto;transform-origin:50% 50%;filter:drop-shadow(0 16px 28px rgba(4,10,22,.45));animation:opening-mark 1.15s cubic-bezier(.16,1,.3,1) both}.sign-in-opening.is-signing .sign-in-opening-mark{animation:opening-mark 1.15s cubic-bezier(.16,1,.3,1) both,opening-breathe 2.6s ease-in-out 1.15s infinite}.sign-in-opening.is-welcome .sign-in-opening-mark-wrap{width:min(46vw,240px);margin:0;opacity:.92}.sign-in-opening.is-welcome .sign-in-opening-mark{animation:opening-mark-footer 1.5s cubic-bezier(.33,.05,.55,1) both}.sign-in-opening-sky{display:grid;place-items:center;width:52px;height:52px;margin:-.2rem 0 .55rem;pointer-events:none;filter:drop-shadow(0 10px 16px rgba(0,0,0,.28));animation:opening-copy .7s ease both}.sign-in-opening.is-welcome .sign-in-opening-sky{animation:opening-welcome 1.5s cubic-bezier(.33,.05,.55,1) both}.sign-in-opening.is-sky-sunrise .sign-in-opening-glow{background:radial-gradient(520px 280px at 18% 22%,rgba(232,140,48,.22),transparent 70%),radial-gradient(460px 320px at 86% 86%,rgba(196,30,58,.24),transparent 68%)}.sign-in-opening.is-sky-sun .sign-in-opening-glow{background:radial-gradient(520px 280px at 18% 22%,rgba(70,130,210,.3),transparent 70%),radial-gradient(460px 320px at 86% 86%,rgba(196,30,58,.3),transparent 68%)}.sign-in-opening.is-sky-moon .sign-in-opening-glow{background:radial-gradient(520px 280px at 18% 22%,rgba(70,110,180,.22),transparent 70%),radial-gradient(460px 320px at 86% 86%,rgba(90,40,80,.28),transparent 68%)}.sign-in-opening-kicker{margin:0 0 .45rem;color:#d4b07a;font-size:.72rem;font-weight:700;letter-spacing:.14em;animation:opening-copy .7s ease both}.sign-in-opening-title{margin:0;max-width:16ch;font-size:clamp(1.7rem,4.2vw,2.65rem);font-weight:620;letter-spacing:-.04em;line-height:1.15;animation:opening-copy .8s ease .08s both}.sign-in-opening.is-welcome .sign-in-opening-hero .sign-in-opening-sky{margin:0 0 .85rem}.sign-in-opening-title em{display:inline-block;padding:0 .14em 0 .02em;font-style:italic;font-weight:560;overflow:visible;background:linear-gradient(100deg,#d4b07a,#fff 46%,#e06a7a);-webkit-background-clip:text;background-clip:text;color:transparent}.sign-in-opening-copy{margin:.7rem 0 0;color:#f4f8fdad;font-size:.92rem;animation:opening-copy .8s ease .16s both}.sign-in-opening.is-welcome .sign-in-opening-title{max-width:none;padding-inline:.2em;font-size:clamp(2.35rem,6.4vw,4.25rem);font-weight:650;letter-spacing:-.045em;line-height:1.15}.sign-in-opening.is-welcome .sign-in-opening-greet,.sign-in-opening.is-welcome .sign-in-opening-title em{display:block}.sign-in-opening.is-welcome .sign-in-opening-copy{margin-top:.95rem;max-width:42ch;color:#f3e2b8;font-size:clamp(1.28rem,3vw,2rem);font-weight:650;letter-spacing:-.02em;line-height:1.35}.sign-in-opening.is-welcome .sign-in-opening-copy em,.sign-in-opening.is-welcome .sign-in-opening-copy strong{font-style:normal;font-weight:750;background:linear-gradient(100deg,#d4b07a,#fff 46%,#e06a7a);-webkit-background-clip:text;background-clip:text;color:transparent}.sign-in-opening.is-welcome .sign-in-opening-title,.sign-in-opening.is-welcome .sign-in-opening-copy{animation:opening-welcome 1.5s cubic-bezier(.33,.05,.55,1) both}.sign-in-opening-bar{display:block;width:min(220px,70vw);height:2px;margin-top:1.35rem;border-radius:999px;background:linear-gradient(90deg,transparent,#d4b07a,#c41e3a,transparent);background-size:220% 100%;animation:splash-form-bar 1.2s linear infinite}@keyframes opening-veil{0%{opacity:0}to{opacity:1}}@keyframes opening-halo{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}@keyframes opening-spin{to{transform:rotate(360deg)}}@keyframes opening-sweep{0%{transform:translate(-28%,-18%) rotate(0);opacity:0}18%{opacity:1}to{transform:translate(28%,18%) rotate(0);opacity:0}}@keyframes opening-mark{0%{opacity:0;transform:scale(.72) translateY(18px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes opening-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.045)}}@keyframes opening-mark-footer{0%{opacity:0;transform:translateY(2.6rem) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes opening-copy{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes opening-welcome{0%{opacity:0;transform:translateY(2.8rem)}to{opacity:1;transform:translateY(0)}}@media(max-width:1180px){.workspace-bar{grid-template-columns:max-content auto}.workspace-bar-actions{grid-column:2;grid-row:1;justify-self:end}.workspace-bar-meta{grid-column:1 / -1;grid-row:2;width:100%;justify-content:space-between}}@media(max-width:700px){.splash{height:auto;grid-template-columns:1fr}.splash-stage{min-height:240px;padding:1.6rem 1.4rem 1.5rem}.splash-hero{width:min(86%,22rem)}.splash-tagline{font-size:1.02rem}.splash-powered{position:static;transform:none;margin-top:1.25rem;font-size:.76rem}.splash-panel{overflow:visible}.sign-in-opening-mark-wrap{width:min(86vw,340px)}.sign-in-opening.is-welcome .sign-in-opening-mark-wrap{width:min(58vw,200px)}.workspace-bar{grid-template-columns:minmax(0,1fr) auto;padding:.7rem .9rem;padding-top:calc(.7rem + env(safe-area-inset-top,0px))}.workspace-bar-actions{grid-column:2;grid-row:1;justify-self:end}.workspace-bar-meta{grid-column:1 / -1;grid-row:2;width:100%;justify-content:space-between}.pwa-install-btn span{display:none}.pwa-install-btn{width:36px;padding:0}.notif-panel{right:0;width:min(22rem,calc(100vw - 1.5rem))}.page-stage{padding:1rem 1rem 1.75rem}.crm-activity{margin-left:1rem;margin-right:1rem}}@media(prefers-reduced-motion:reduce){.table tbody tr.row-focus-glow>td,.data-table tbody tr.row-focus-glow>td{animation:none;background-color:color-mix(in srgb,var(--accent) 16%,var(--panel))}.page-stage,.splash-form.is-busy:after,.sign-in-opening-glow,.sign-in-opening-grid,.sign-in-opening-mark,.sign-in-opening-sky,.sign-in-opening-kicker,.sign-in-opening-title,.sign-in-opening-copy,.sign-in-opening-bar,.app-shell.is-busy .workspace-progress span,.app-shell.is-busy .page-stage:after,.crm-activity-spinner{animation:none}.app-shell.is-busy .page-stage:after{display:none}}.field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.85rem}.field label{font-family:var(--font);font-size:.8rem;font-weight:700;letter-spacing:.03em;color:#000}.field input,.field select,.field textarea{background:var(--field-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[readonly]{background:color-mix(in srgb,var(--field-bg) 72%,var(--panel-2));color:var(--text);cursor:default}.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% + 4px);max-height:16rem;overflow-y:auto;margin:0;padding:.3rem;list-style:none;background:var(--field-bg);border:1px solid color-mix(in srgb,var(--border) 80%,transparent);border-radius:10px;box-shadow:0 1px 2px #0000000f,0 10px 28px -6px #00000038;scrollbar-width:thin;animation:suggest-in .12s ease-out}@keyframes suggest-in{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.suggest-menu{animation:none}}.suggest-group-block{margin:0;padding:0}.suggest-group-block+.suggest-group-block{margin-top:.2rem;padding-top:.2rem;border-top:1px solid color-mix(in srgb,var(--border) 60%,transparent)}.suggest-group{position:sticky;top:-.3rem;z-index:1;padding:.4rem .6rem .25rem;font-size:.66rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);background:var(--field-bg)}.suggest-option{position:relative;padding:.45rem .6rem .45rem .75rem;border-radius:6px;cursor:pointer;font-size:.86rem;line-height:1.3;overflow-wrap:anywhere;transition:background-color 80ms ease}.suggest-option.active,.suggest-option:hover{background:var(--accent-soft)}.suggest-option.active:before{content:"";position:absolute;left:.2rem;top:.35rem;bottom:.35rem;width:3px;border-radius:2px;background:var(--accent)}.suggest-empty{padding:.55rem .6rem;font-size:.8rem;color:var(--muted)}.suggest-searching{padding:.4rem .6rem .15rem;font-size:.75rem;color:var(--muted)}.suggest-add-new{color:var(--accent);font-weight:600}.suggest-mark{background:transparent;color:var(--accent);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(--field-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(--field-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.attention{color:var(--red)}.lifecycle-track li.attention .lifecycle-dot{background:var(--red);box-shadow:0 0 0 3px var(--red-soft)}.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}.dash-board.has-jobs.has-quotes.has-mp,.dash-board.has-jobs.has-quotes.no-mp,.dash-board.has-jobs.no-quotes.has-mp,.dash-board.no-jobs.has-quotes.has-mp{grid-template-columns:minmax(0,1fr)}.dash-board.has-jobs.has-quotes.has-mp{grid-template-areas:"wr" "quotes" "mp"}.dash-board.has-jobs.has-quotes.no-mp{grid-template-areas:"wr" "quotes"}.dash-board.has-jobs.no-quotes.has-mp{grid-template-areas:"wr" "mp"}.dash-board.no-jobs.has-quotes.has-mp{grid-template-areas:"quotes" "mp"}.dash-mp{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto}.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{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,.dash-mp{grid-template-columns:1fr;grid-template-rows:auto}.dash-recent .list-row{grid-template-columns:minmax(0,1fr) 5.5rem minmax(8.25rem,9.5rem);column-gap:.7rem}}.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-title{display:flex;align-items:center;gap:.45rem;min-width:0}.quote-gen-section-title .field-info{position:relative;z-index:2}.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:.5rem;align-items:stretch;margin-left:auto;justify-content:flex-end}.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:1px solid color-mix(in srgb,var(--accent) 50%,var(--border));background:color-mix(in srgb,var(--accent) 14%,var(--panel));color:var(--accent);font:inherit;font-size:.78rem;font-weight:600;cursor:pointer;padding:.2rem .5rem;border-radius:6px}.quote-doc-rate-remove{border-color:color-mix(in srgb,var(--red) 40%,var(--border));background:var(--red-soft);color:var(--red)}.quote-doc-rate-remove:hover:not(:disabled),.quote-doc-add-line:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 22%,var(--panel))}.quote-doc-rate-remove:hover:not(:disabled){border-color:var(--red);background:color-mix(in srgb,var(--red) 18%,var(--panel))}.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;padding:max(1rem,var(--safe-top)) max(1rem,var(--safe-right)) max(1rem,var(--safe-bottom)) max(1rem,var(--safe-left))}.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 .workspace-bar,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 .crm-progress-overlay,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 .filter-group-label,.dprs-layout .data-table th,.dprs-layout .dprs-timesheet-field>span,.dprs-layout .dprs-billing-fields .field>label,.dprs-layout .dprs-tech-acc .crew-slots .field>label,.dprs-layout .dprs-readonly-grid dt,.dprs-layout .dprs-sheet-fields>legend,.dprs-layout .d6-section>legend,.dprs-layout .d6-from-job dt{color:#000}.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 tbody tr.is-expanded,.dprs-layout .data-table tbody tr.is-expanded:hover{background:transparent}.dprs-layout .data-table tbody tr.is-expanded td,.dprs-layout .data-table tbody tr.is-expanded:hover td{background:#fff;box-shadow:none}.dprs-layout .data-table tbody tr.is-expanded>td:first-child{box-shadow:none}.dprs-layout .data-table tr.accordion-detail-row>td,.dprs-layout .data-table tr.accordion-detail-row>td.dprs-expand-cell{z-index:2;background:#eef0f3;isolation:isolate}.dprs-detail-body{--panel: #ffffff;--panel-2: #f3f4f6;--border: #7d8592;--text: #111318;--muted: #3d4450;--field-bg: #ffffff;--hover: rgba(17, 19, 24, .05);--shadow: 0 1px 2px rgba(17, 24, 39, .08), 0 10px 28px rgba(17, 24, 39, .08);color:var(--text)}.dprs-layout .accordion-detail-panel,.dprs-layout .accordion-detail-panel.dprs-detail,.dprs-layout .panel.dprs-detail{display:flex;flex-direction:column;padding:.7rem .75rem .85rem;width:100%;max-width:100%;max-height:none;overflow:visible;box-sizing:border-box;background:transparent;isolation:isolate;border-top:0;box-shadow:none}.dprs-layout .accordion-detail-panel>.dprs-detail-body{position:sticky;left:0;width:calc(100cqi - 1.5rem);max-width:calc(100cqi - 1.5rem);box-sizing:border-box;margin:0;padding:.95rem 1rem 1.1rem;border:1px solid #7d8592;border-radius:10px;background:#fff;box-shadow:var(--shadow);color:#111318}@supports not (width: 1cqi){.dprs-layout .accordion-detail-panel>.dprs-detail-body{width:100%;max-width:100%}}.dprs-detail-body{padding:.95rem 1rem 1.1rem}.dprs-detail .drawer-head-meta h3,.dprs-detail .drawer-head-line strong{color:#111318}.dprs-detail .muted,.dprs-detail .drawer-head-line{color:#3d4450}.dprs-detail .acc-section{border-color:#7d8592;background:#fff}.dprs-detail .acc-section-summary,body.theme-internal .dprs-detail .acc-section:not(.acc-section--attention)>.acc-section-summary,body.theme-operations .dprs-detail .acc-section:not(.acc-section--attention)>.acc-section-summary,body.look-v2 .dprs-detail .acc-section:not(.acc-section--attention)>.acc-section-summary{color:#111318;background:#e9ecef}.dprs-detail .acc-section-summary:hover,body.theme-internal .dprs-detail .acc-section:not(.acc-section--attention)>.acc-section-summary:hover,body.theme-operations .dprs-detail .acc-section:not(.acc-section--attention)>.acc-section-summary:hover,body.look-v2 .dprs-detail .acc-section:not(.acc-section--attention)>.acc-section-summary:hover{background:#dde1e6;color:#111318}.dprs-detail .acc-section-body{background:#fff}.dprs-detail .dprs-readonly-grid dt{color:#000}.dprs-detail .dprs-readonly-grid dd{color:#3d4654;font-weight:500;letter-spacing:0;text-transform:none}.dprs-detail .dprs-approval{background:#f3f4f6;border-color:#7d8592;color:#111318}.dprs-detail .dprs-approval .muted{color:#3d4450}.dprs-detail .dprs-timesheet-field>span,.dprs-detail .dprs-billing-fields .field>label,body.theme-operations .dprs-detail .dprs-timesheet-field>span,body.theme-internal .dprs-detail .dprs-timesheet-field>span,body.theme-client .dprs-detail .dprs-timesheet-field>span,body.theme-technician .dprs-detail .dprs-timesheet-field>span,body.look-v2 .dprs-detail .dprs-timesheet-field>span{color:#000}.dprs-detail input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=hidden]),.dprs-detail select,.dprs-detail textarea,.dprs-detail .dprs-timesheet-field input,.dprs-detail .dprs-timesheet-field select,.dprs-detail .dprs-timesheet-field textarea,.dprs-detail .field input,.dprs-detail .field textarea{color:#0f1216;border:1px solid #5f6773;background:#fff;font-size:.8rem;font-weight:500;letter-spacing:0}.dprs-detail input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=hidden])::placeholder,.dprs-detail textarea::placeholder,.dprs-detail .dprs-timesheet-field input::placeholder,.dprs-detail .dprs-timesheet-field textarea::placeholder,.dprs-detail .field input::placeholder,.dprs-detail .field textarea::placeholder{color:#5c6570;opacity:1;font-weight:400;font-size:.78rem;letter-spacing:0;line-height:1.25}.dprs-detail .time-stepper{border-color:#5f6773}.dprs-detail .time-stepper .time-input{border:0}.dprs-detail .dprs-timesheet-field textarea,.dprs-detail .dprs-billing-notes-field textarea,.dprs-detail .dprs-timesheet-remarks-field textarea{min-height:2.25rem;height:2.25rem;line-height:1.35;resize:none}.dprs-detail .drawer-head{align-items:stretch;margin-bottom:.85rem}.dprs-detail .drawer-head-meta{flex:0 1 20rem}.dprs-detail .drawer-head .dprs-approval{flex:1 1 18rem;margin:0;min-width:14rem;align-self:stretch}.dprs-detail .state-bar{margin:0 0 .85rem}.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-family:var(--font);font-size:.8rem;font-weight:700;color:#000;letter-spacing:.03em;text-transform:uppercase;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(--field-bg);border:1px solid var(--border);border-radius:6px;color:var(--text);padding:.45rem .7rem;font:inherit;font-size:.8rem;letter-spacing:0;line-height:1.25;min-width:0;box-sizing:border-box}.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-tech-acc{width:100%}.dprs-tech-acc .crew-slots{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.dprs-tech-chips{display:flex;flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none}.dprs-tech-chip{display:inline-flex;align-items:center;gap:.4rem;padding:.28rem .55rem .28rem .75rem;border:1px solid var(--border);border-radius:999px;background:var(--panel);font-size:.8rem}.dprs-tech-chip-id{font-size:.72rem;font-weight:650;font-variant-numeric:tabular-nums;letter-spacing:.02em;color:var(--muted)}.dprs-tech-chip-remove{border:0;background:transparent;color:var(--muted);cursor:pointer;font:inherit;font-size:.72rem;font-weight:600;padding:0}.dprs-tech-chip-remove:hover:not(:disabled){color:var(--red, #b42318)}.dprs-tech-chip-remove:disabled{opacity:.5;cursor:not-allowed}.dprs-detail-stack .dprs-billing-fields{margin-top:0;border:0;padding:0;background:transparent}.dprs-detail-stack .meta-row{margin:.15rem 0 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:var(--border);background:transparent}.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-amount-row{grid-column:1 / -1;display:grid;grid-template-columns:minmax(12rem,16rem) minmax(0,1fr);gap:inherit;align-items:start}.dprs-billing-notes-field textarea{min-height:2.25rem;height:2.25rem}.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-sheet-readonly,.dprs-timesheet-readout{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.dprs-timesheet-readout{margin-bottom:.85rem}.dprs-approval{display:flex;align-items:center;justify-content:space-between;gap:.75rem 1rem;flex-wrap:wrap;margin:0 0 .85rem;padding:.7rem .9rem;border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:8px;background:var(--panel-2)}.dprs-approval>div{display:grid;gap:.15rem;min-width:0}.dprs-approval strong{font-size:.88rem}.dprs-approval .muted{font-size:.8rem}.dprs-approval.is-approved{border-left-color:var(--green);background:var(--green-soft)}.dprs-approval.is-approved strong{color:var(--green)}.dprs-id-cell{white-space:nowrap}.dprs-id-cell strong{margin-right:.4rem}.dprs-approved-tag{display:inline-block;margin-left:.35rem;padding:.05rem .4rem;border-radius:999px;font-size:.66rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;vertical-align:middle;color:var(--green);background:var(--green-soft)}.dprs-billing-gate{grid-column:1 / -1;margin:0;font-size:.78rem;color:var(--muted)}.dprs-readonly-grid dt{margin:0;font-size:.78rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:#000}.dprs-readonly-grid dd{margin:.2rem 0 0;font-size:.95rem;font-weight:500;letter-spacing:0;text-transform:none;color:#3d4654;word-break:break-word}.dprs-detail-footer{flex-shrink:0;display:flex;justify-content:flex-end;gap:.5rem;margin-top:.35rem;padding:.75rem 0 0;border-top:1px solid var(--border);background:transparent;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,.dprs-billing-amount-row,.dprs-timesheet-hours-row{grid-template-columns:1fr}.dprs-detail-stack .dprs-billing-quote{grid-column:1 / -1}.dprs-detail-stack .dprs-billing-fields .field>label{flex-wrap:wrap}.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:#000;font-family:var(--font);font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;position:sticky;top:0;background:var(--panel-2, var(--panel));z-index:1}.dprs-layout .filter-group-label,.dprs-layout .data-table th,.dprs-layout .dprs-timesheet-field>span,.dprs-layout .dprs-billing-fields .field>label,.dprs-layout .dprs-tech-acc .crew-slots .field>label,.dprs-layout .dprs-readonly-grid dt,.dprs-layout .dprs-sheet-fields>legend,.dprs-layout .d6-section>legend,.dprs-layout .d6-from-job dt,body.theme-admin .dprs-layout .filter-group-label,body.theme-admin .dprs-layout .data-table th,body.theme-internal .dprs-layout .filter-group-label,body.theme-internal .dprs-layout .data-table th,body.theme-internal .dprs-layout .dprs-timesheet-field>span,body.theme-operations .dprs-layout .filter-group-label,body.theme-operations .dprs-layout .data-table th,body.theme-operations .dprs-layout .dprs-timesheet-field>span,body.theme-client .dprs-layout .dprs-timesheet-field>span,body.theme-technician .dprs-layout .dprs-timesheet-field>span,body.look-v2 .dprs-layout .filter-group-label,body.look-v2 .dprs-layout .data-table th,body.look-v2 .dprs-layout .dprs-timesheet-field>span{color:#000}.data-table td{color:var(--text);font-weight:550}.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(--field-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:0}.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:.3rem;width:100%;min-width:12.25rem}.field .time-stepper{width:100%}.time-stepper .time-input{flex:1 1 7.5rem;min-width:7.5rem;padding-left:.5rem;padding-right:.3rem}.time-stepper .time-input::-webkit-calendar-picker-indicator{margin-left:.15rem;flex-shrink:0}.time-stepper-btn{flex:0 0 1.9rem;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-tech-field{grid-column:1 / -1;min-width:0}.user-tech-field select{width:100%;min-width:0;text-overflow:ellipsis}.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;grid-template-columns:minmax(0,1fr);gap:.9rem;padding-top:1rem}.user-invite-panel .field select,.user-invite-panel .field input{width:100%;min-width:0;max-width:100%;text-overflow:ellipsis}.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:#111318}.ds-day-col.is-selected{border-color:#111318;box-shadow:inset 0 0 0 1px #111318}.ds-day-name{font-weight:700;font-size:1.05rem;color:#000}.ds-day-date{font-size:.78rem;color:#2a3038}.ds-day-cap{font-size:.78rem;font-weight:650;color:#2a3038;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;align-items:flex-start;gap:.2rem;padding:.45rem .5rem;border:1px solid var(--border);border-radius:8px;background:#fff;font-size:.8rem;min-width:0;overflow:hidden;overflow-wrap:break-word;word-break:break-word}.ds-day-job strong{font-size:.88rem;font-weight:700;color:#000;line-height:1.25}.ds-day-dprs{display:inline-flex;align-items:center;max-width:100%;padding:.08rem .38rem;border-radius:4px;font-size:.72rem;font-weight:700;letter-spacing:.02em;line-height:1.3;color:#0b5f63;background:#e7f3f3;border:1px solid #8fb8b9}.ds-day-client,.ds-day-techs{color:#2a3038;font-size:.78rem;line-height:1.3}.ds-day-empty{margin:.2rem 0 0;font-size:.8rem;color:#2a3038}.ds-day-header{flex-wrap:wrap;gap:.5rem}.ds-day-nav{display:flex;align-items:center;gap:.5rem}.ds-day-nav strong{font-size:.95rem;color:#000}.ds-day-total{margin:0;font-weight:700;font-size:.88rem;color:#000}.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:.4rem 1.1rem;padding:.65rem .8rem;background:var(--panel-2);border-bottom:1px solid var(--border);font-size:.88rem;font-weight:650;color:#000}.ds-job-head em{font-style:normal;font-size:.72rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:#000;margin-right:.3rem}.ds-week .panel-header h2,.ds-day .panel-header h2{font-size:1.1rem;color:#000}.ds-job-dprs{display:inline-flex;align-items:center;gap:.3rem}.ds-job-dprs em{margin-right:0}.ds-job-dprs-id{display:inline-flex;align-items:center;padding:.08rem .38rem;border-radius:4px;font-size:.75rem;font-weight:700;color:#0b5f63;background:#e7f3f3;border:1px solid #8fb8b9}@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:16.5rem 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:1.05rem;font-weight:700;color:#000}.dp-roster-head input{width:100%}.dp-hint{margin:.4rem 0 0;font-size:.72rem}.dp-roster-count{padding:.05rem .35rem;font-size:.75rem;font-weight:700;color:#000;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:.78rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:#000}.dp-roster-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.25rem;max-height:22rem;overflow-y:auto;min-width:0}.dp-roster-list>li{min-width:0}.dp-person-load{font-size:.66rem;font-weight:600;color:#2a3038}.dp-person{display:flex;align-items:flex-start;gap:.45rem;width:100%;min-width:0;box-sizing:border-box;overflow:hidden;padding:.4rem .45rem;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:#111318}.dp-person.is-armed{border-color:#111318;background:#eceef1}.dp-person:active{cursor:grabbing}.dp-avatar{flex:0 0 1.75rem;display:grid;place-items:center;width:1.75rem;height:1.75rem;margin-top:.05rem;font-size:.62rem;font-weight:700;line-height:1;color:#000;background:#e8eaee;border-radius:50%;overflow:hidden}.dp-person-main{display:flex;flex-direction:column;flex:1 1 auto;min-width:0;overflow:hidden}.dp-person-name{display:block;font-size:.86rem;font-weight:700;line-height:1.25;color:#000;overflow-wrap:break-word;word-break:break-word}.dp-person-sub{font-size:.72rem;color:#2a3038;overflow-wrap:break-word;word-break:break-word}.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:#111318}.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:.9rem;font-weight:700;color:#000}.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:.78rem;min-width:0;overflow:hidden;overflow-wrap:break-word}.dp-card.is-target{border-color:#111318;box-shadow:inset 0 0 0 1px #111318;background:#eceef1}.dp-card.is-blocked{opacity:.72;background:var(--panel-2)}.dp-card.is-busy{opacity:.6;pointer-events:none}.dp-card-head{display:flex;flex-wrap:wrap;align-items:center;gap:.28rem .4rem;min-width:0;font-size:.86rem;font-weight:700;color:#000}.dp-card-head strong{min-width:0;color:#000}.dp-card-head .cell-link{color:#000;text-decoration:none}.dp-card-head .cell-link:hover{color:#000;text-decoration:underline;text-underline-offset:2px}.dp-card-dprs,.dp-card-dprs.cell-link{display:inline-flex;align-items:center;max-width:100%;padding:.08rem .38rem;border-radius:4px;font-size:.72rem;font-weight:700;letter-spacing:.02em;line-height:1.3;color:#0b5f63;background:#e7f3f3;border:1px solid #8fb8b9;text-decoration:none;overflow-wrap:break-word;word-break:break-word}.dp-card-dprs.cell-link:hover{color:#08464a;text-decoration:underline;text-underline-offset:2px}.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:#2a3038}.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,.dp-col-add,body.look-v2 .btn.btn-highlight.dp-card-add,body.look-v2 .btn.btn-highlight.dp-col-add{margin-top:.3rem;padding:.28rem .5rem;font-size:.75rem;font-weight:650;color:#fff;background:#111318;border-color:#111318}.dp-card-add:hover:not(:disabled),.dp-col-add:hover:not(:disabled),body.look-v2 .btn.btn-highlight.dp-card-add:hover:not(:disabled),body.look-v2 .btn.btn-highlight.dp-col-add:hover:not(:disabled){color:#fff;background:#000;border-color:#000}.dp-board a.cell-link:not(.dp-card-dprs){color:#000;font-weight:700;text-decoration:none}.dp-board a.cell-link:not(.dp-card-dprs):hover{color:#000;text-decoration:underline;text-underline-offset:2px}.dp-crew{list-style:none;margin:.3rem 0 0;padding:0;display:flex;flex-direction:column;flex-wrap:nowrap;gap:.25rem;min-width:0}.dp-crew>li{min-width:0;max-width:100%}.dp-chip{display:flex;align-items:flex-start;gap:.25rem;width:100%;max-width:100%;min-width:0;box-sizing:border-box;padding:.22rem .28rem .22rem .4rem;font-size:.78rem;font-weight:650;line-height:1.25;color:#000;background:#eef1f4;border:1px solid #8e96a3;border-radius:6px;cursor:grab;overflow:hidden}.dp-chip-name{flex:1 1 auto;min-width:0;overflow-wrap:break-word;word-break:break-word}.dp-chip-id{font-weight:650;font-variant-numeric:tabular-nums;color:#2a3038}.dp-chip.is-clash{color:#7a1212;background:var(--red-soft);border-color:var(--red)}.dp-chip button{flex:0 0 auto;padding:0 .15rem;line-height:1;color:inherit;background:none;border:0;cursor:pointer;opacity:.7}.dp-chip button:hover{opacity:1}.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)}}.files-related{display:flex;flex-direction:column;gap:.55rem;min-width:0}.files-related-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:.65rem;flex-wrap:wrap}.files-related-toolbar-main{display:flex;flex-direction:column;gap:.4rem;min-width:0}.files-related-count{font-size:.78rem;color:var(--muted)}.files-related-pills{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem}.files-related-pills-label{font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-right:.15rem}.files-chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:999px;padding:.18rem .55rem;font-size:.72rem;line-height:1.2;cursor:pointer}.files-chip.is-on{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 45%,var(--border));color:var(--text);font-weight:600}.files-related-table-wrap{border:1px solid var(--border);border-radius:8px;overflow-x:auto;overflow-y:visible;background:var(--panel);min-width:0;max-width:100%;-webkit-overflow-scrolling:touch}.job-detail-col .files-related-table,.acc-section--documents .files-related-table{min-width:28rem}.job-detail-col .files-related-table th:nth-child(3),.job-detail-col .files-related-table td:nth-child(3),.acc-section--documents .files-related-table th:nth-child(3),.acc-section--documents .files-related-table td:nth-child(3){display:none}.job-detail-col .files-related-table th:nth-child(2),.job-detail-col .files-related-table td:nth-child(2),.acc-section--documents .files-related-table th:nth-child(2),.acc-section--documents .files-related-table td:nth-child(2){width:5.25rem;min-width:5.25rem;overflow:visible}.job-detail-col .files-related-table th:nth-last-child(2),.job-detail-col .files-related-table td:nth-last-child(2),.acc-section--documents .files-related-table th:nth-last-child(2),.acc-section--documents .files-related-table td:nth-last-child(2){width:7rem;min-width:7rem;overflow:visible}.job-detail-col .files-related-table th.files-related-actions,.job-detail-col .files-related-table td.files-related-actions,.acc-section--documents .files-related-table th.files-related-actions,.acc-section--documents .files-related-table td.files-related-actions{width:6.2rem;min-width:6.2rem}.files-related-table{width:100%;min-width:38rem;border-collapse:collapse;font-size:.82rem;table-layout:fixed}.files-related-table th,.files-related-table td{text-align:left;padding:.42rem .55rem;border-bottom:1px solid var(--border);vertical-align:middle;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.files-related-table th:first-child,.files-related-table td:first-child{width:38%;min-width:0;white-space:normal;overflow:hidden}.files-related-table th:nth-child(2),.files-related-table td:nth-child(2){width:5.25rem;min-width:5.25rem;overflow:visible}.files-related-table th:nth-child(3),.files-related-table td:nth-child(3){width:8.2rem;white-space:normal;overflow:hidden}.files-related-table th:nth-last-child(2),.files-related-table td:nth-last-child(2){width:7rem;min-width:7rem;overflow:visible}.files-related-table th{font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:color-mix(in srgb,var(--panel-2) 80%,var(--panel));position:sticky;top:0;z-index:1}.files-related-table tbody tr{cursor:default}.files-related-table tbody tr:hover td{background:var(--hover)}.files-related-table tbody tr.files-related-group:hover td,.files-related-table tr.files-related-group td{background:color-mix(in srgb,var(--accent-soft) 55%,var(--panel-2));cursor:default;padding-top:.38rem;padding-bottom:.38rem}.files-related-group-label{font-weight:700;margin-right:.45rem}.files-related-file{display:flex;align-items:flex-start;flex-wrap:wrap;gap:.45rem;min-width:0;max-width:100%;overflow:visible}.files-related-file-meta{display:flex;flex-direction:column;align-items:flex-start;gap:.12rem;min-width:0;flex:1;overflow:hidden}.files-related-file-line{display:flex;flex-wrap:wrap;align-items:center;gap:.28rem .4rem;min-width:0;max-width:100%}.files-related-name{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:inherit;font:inherit;font-weight:600;padding:0;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;cursor:pointer}.files-related-file-line .badge{flex:1 1 100%;max-width:100%;overflow:hidden;text-overflow:ellipsis}.files-related-name:hover:not(:disabled){color:var(--accent);text-decoration:underline}.files-related-name:disabled{cursor:default}.files-related-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.76rem}.files-related-table th.files-related-actions,.files-related-table td.files-related-actions{width:7.25rem;min-width:7.25rem;overflow:visible;white-space:nowrap;text-align:right}.files-dl{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;gap:.28rem;border:1px solid color-mix(in srgb,var(--accent) 50%,var(--border));background:color-mix(in srgb,var(--accent) 14%,var(--panel));color:var(--accent);border-radius:6px;padding:.22rem .5rem;font-size:.72rem;font-weight:600;cursor:pointer;white-space:nowrap}.files-dl:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent) 45%,var(--border));background:var(--accent-soft)}.files-dl:disabled{opacity:.55;cursor:default}.files-open-menu{position:relative;display:inline-flex;flex:0 0 auto}.files-open-menu-list{position:fixed;z-index:1000;display:flex;flex-direction:column;min-width:8.5rem;padding:.25rem;border:1px solid var(--border);border-radius:6px;background:var(--panel);box-shadow:0 6px 18px #0000001f}.files-open-menu-list a{padding:.35rem .55rem;border-radius:4px;color:var(--text);font-size:.75rem;font-weight:600;text-decoration:none;white-space:nowrap}.files-open-menu-list a:hover,.files-open-menu-list a:focus-visible{background:var(--accent-soft)}.files-dl-icon{width:.95rem;height:.95rem;flex:0 0 auto}.files-related-empty{margin:0}.th-sort{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;padding:0;cursor:pointer}.th-sort:hover{color:var(--text)}.files-glyph{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-width:2.1rem;height:1.35rem;padding:0 .28rem;border-radius:4px;font-size:.58rem;font-weight:800;letter-spacing:.04em;color:#fff;background:#64748b}.files-glyph--image{background:#0ea5e9}.files-glyph--dcm{background:#0f766e}.files-glyph--sheet{background:#16a34a}.files-glyph--pdf{background:#dc2626}.files-glyph--doc{background:#2563eb}.files-glyph--zip{background:#7c3aed}.files-attach{display:flex;flex-direction:column;align-items:flex-start;gap:.55rem;padding:.7rem .8rem;border:1px dashed var(--border);border-radius:8px;background:color-mix(in srgb,var(--panel-2) 70%,transparent);font-size:.82rem}.files-attach-btn{position:relative;cursor:pointer}.files-attach-btn.is-disabled{pointer-events:none;opacity:.65}.files-attach-btn input[type=file]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.files-attach-btn:focus-within{outline:2px solid var(--accent);outline-offset:2px}.file-pick{display:flex;align-items:center;gap:.5rem;min-width:0;min-height:2.2rem}.file-pick .files-attach-btn{flex-shrink:0}.file-pick-names{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem}.file-pick-clear{flex-shrink:0;padding:.2rem .45rem;font-size:.75rem}.file-pick .icon-action-btn{flex-shrink:0}.po-grid .file-pick{min-height:2.4rem;padding:.2rem 0}.report-form{display:flex;flex-direction:column;gap:.75rem;margin:0}.report-form-id{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem;margin:0;font-size:.82rem}.report-form-files{display:grid;gap:.6rem;padding:.7rem .8rem;border:1px dashed var(--border);border-radius:8px;background:color-mix(in srgb,var(--panel-2) 70%,transparent)}.report-form-files .field,.report-form-grid .field{margin:0}.report-form-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.6rem .85rem}.report-form-actions{display:flex;justify-content:flex-end}.report-list{list-style:none;margin:0;padding:0;border:1px solid var(--border);border-radius:8px}.report-list li{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.45rem .7rem;font-size:.85rem}.report-list li+li{border-top:1px solid var(--border)}.report-more-files{margin-top:.75rem}.report-more-files>span{display:inline-flex;align-items:center;gap:.3rem}.report-more-files-hint{margin:0;font-size:.8rem;color:var(--accent)}@media(max-width:800px){.report-form-grid{grid-template-columns:minmax(0,1fr)}}.portal-requestor{margin:0 0 .85rem;font-size:.92rem;color:var(--text)}.portal-requestor-label{color:var(--muted)}.portal-requestor strong{font-weight:600}.portal-list-head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;padding:.65rem .85rem .15rem}.portal-list-head h2{margin:0;font-size:.92rem}.table th .th-sort{color:var(--muted)}.table .files-related-table tbody tr{cursor:default}.mp-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.55rem;margin:0 0 1rem}.mp-stat{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:flex;flex-direction:column;align-items:flex-start;gap:.12rem;padding:.7rem .85rem;border:1px solid var(--border);border-radius:10px;background:var(--panel);color:var(--text);cursor:pointer;text-align:left;box-shadow:var(--shadow)}.mp-stat:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--border))}.mp-stat.is-on{border-color:color-mix(in srgb,var(--accent) 55%,var(--border));background:var(--accent-soft)}.mp-stat-value{font-size:1.25rem;font-weight:700;letter-spacing:-.03em;line-height:1.1}.mp-stat-label{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.mp-roster .wr-list-filters{margin:-1rem -1.1rem .15rem}.mp-roster .files-related-pills{flex:1 1 16rem}.mp-table tbody tr,.mp-table tbody tr:hover{cursor:default}.mp-table td{vertical-align:top}.mp-person{display:flex;align-items:flex-start;gap:.7rem;min-width:0}.mp-avatar{flex:0 0 auto;width:2.15rem;height:2.15rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:.68rem;font-weight:800;letter-spacing:.04em;color:var(--accent-fg, #fff);background:color-mix(in srgb,var(--accent) 82%,#0f172a)}.mp-person-meta{min-width:0}.mp-person-name{display:block;font-size:.9rem}.mp-role{display:inline-block;font-size:.75rem;font-weight:600;color:var(--text);background:var(--panel-2);border:1px solid var(--border);border-radius:999px;padding:.14rem .5rem}.mp-certs{display:flex;flex-wrap:wrap;gap:.3rem;max-width:22rem}.mp-cert{display:inline-flex;flex-direction:column;gap:.05rem;padding:.18rem .45rem;border-radius:6px;background:var(--panel-2);border:1px solid var(--border);font-size:.72rem;font-weight:600;line-height:1.2}.mp-cert-date{font-weight:500;color:var(--muted);font-size:.66rem}.mp-cert.is-expired{border-color:color-mix(in srgb,var(--danger, #c45c5c) 45%,var(--border));background:color-mix(in srgb,var(--danger, #c45c5c) 8%,var(--panel))}.mp-cert.is-expired .mp-cert-date{color:var(--danger, #c45c5c)}@media(max-width:560px){.mp-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.site-check-off-banner{position:fixed;inset:auto 0 0 0;z-index:1000;padding:6px 16px;background:var(--amber);color:#1a1200;font-size:12px;text-align:center}.d6-rt-fields{display:block}.d6-rt-fields .data-table-wrap{width:100%;overflow-x:auto}.d6-rt-table{width:100%;border-collapse:collapse}.d6-rt-table th,.d6-rt-table td{padding:.4rem .35rem;white-space:nowrap;text-align:center;vertical-align:middle}.d6-rt-table thead th{font-size:.72rem;font-weight:600;letter-spacing:.02em;color:var(--muted)}.d6-rt-table thead tr:first-child th[colspan]{border-bottom:1px solid var(--border)}.d6-rt-table input,.d6-rt-table select{background:var(--field-bg);border:1px solid var(--border);border-radius:6px;color:var(--text);padding:.4rem .5rem;font:inherit;font-size:.85rem}.d6-rt-table input:focus,.d6-rt-table select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.d6-rt-table input[type=number]{width:4.5rem}.d6-rt-table input.d6-rt-film{width:3.5rem;text-align:center}.d6-rt-pair{display:flex;gap:4px;justify-content:center}.d6-rt-pair select:first-child{width:5.5rem}.d6-rt-pair input[type=number]{width:5rem}.d6-rt-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:.75rem}.d6-section{display:block}.d6-grid{display:grid;gap:.75rem}.d6-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.d6-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:900px){.d6-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.d6-grid-2,.d6-grid-4{grid-template-columns:minmax(0,1fr)}}.d6-from-job{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.5rem 1rem;margin:0 0 .75rem}.d6-from-job dt{font-size:.72rem;font-weight:600;letter-spacing:.02em;color:var(--muted);text-transform:uppercase}.d6-from-job dd{margin:.15rem 0 0}.d6-approval{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;border:1px solid var(--border);border-radius:var(--radius)}.d6-approval h4{margin:0;font-size:.8rem;font-weight:600}.d6-comments{display:block}.d6-comments textarea{width:100%}.d6-signature-note{margin:.6rem 0;font-size:.75rem}.cell-link{color:var(--accent, inherit);text-decoration:underline;text-underline-offset:2px;cursor:pointer}.cell-link:hover{text-decoration-thickness:2px}.quote-status-note{max-width:16rem;margin-top:.2rem;overflow:hidden;font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}.quote-response-options{display:flex;flex-direction:column;gap:.4rem;margin:0 0 .75rem;padding:0;border:0}.quote-response-option{display:flex;align-items:center;gap:.5rem;font-size:.85rem;cursor:pointer}.quote-response-option input[type=radio]{flex:0 0 auto;width:auto;margin:0}.quote-response-single{margin:0 0 .75rem;font-size:.85rem}.po-modal-card{width:min(44rem,calc(100vw - 2rem))}.po-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 .75rem}@media(max-width:560px){.po-grid{grid-template-columns:minmax(0,1fr)}}.po-amount-row{display:flex;gap:.4rem}.po-amount-row select{flex:0 0 5.5rem}.po-document-row{display:flex;gap:.75rem;align-items:center;margin-bottom:.35rem;font-size:.82rem}.po-link{padding:0;border:0;background:transparent;color:var(--accent, inherit);font:inherit;text-decoration:underline;cursor:pointer}.po-remove{color:var(--muted)}.po-job-tools{display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:center;margin-bottom:.4rem}.po-job-tools>input{flex:1 1 14rem}.po-all-clients{display:inline-flex;gap:.35rem;align-items:center;font-size:.8rem}.po-all-clients input,.po-job-list input[type=checkbox]{width:auto;margin:0}.po-job-list{max-height:14rem;margin:0 0 .75rem;padding:.25rem 0;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius);list-style:none}.po-job-list li{padding:.3rem .6rem;font-size:.82rem}.po-job-list label{display:flex;flex-wrap:wrap;gap:.25rem .5rem;align-items:center;cursor:pointer}.po-other{color:var(--amber, #b45309);font-size:.72rem}.po-actions{display:flex;justify-content:space-between;gap:.5rem}.dprs-po-note{font-size:.72rem}.dprs-billing-source{grid-column:1 / -1;margin:0 0 .25rem;font-size:.78rem}.crew-days{display:flex;flex-direction:column;gap:.75rem;margin-bottom:.75rem}.crew-day{border:1px solid var(--border);border-radius:var(--radius);overflow:visible}.crew-day-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 1rem;padding:.55rem .75rem;background:var(--panel);border-bottom:1px solid var(--border);border-radius:calc(var(--radius) - 1px) calc(var(--radius) - 1px) 0 0}.crew-day-title{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem .75rem;font-size:.85rem}.crew-day-title .muted{font-size:.78rem}.crew-day-dprs{font-size:.8rem}.crew-day-assign{display:flex;align-items:center;gap:.4rem}.crew-day-assign input{width:9.5rem;padding:.35rem .55rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface, #fff);font:inherit;font-size:.82rem}.crew-day-assign input:focus{outline:2px solid var(--accent-soft, var(--accent));outline-offset:0;border-color:var(--accent)}.crew-day-assign .btn{padding:.35rem .7rem;font-size:.8rem}.crew-day-table{margin:0}.crew-day-table th,.crew-day-table td{padding-left:.75rem;padding-right:.75rem}.crew-dprs-bulk{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.crew-day-controls{padding:.4rem .75rem;border-bottom:1px solid var(--border)}.crew-day-buttons{display:flex;flex-wrap:wrap;gap:.35rem}.crew-day-buttons .btn,.crew-day-inline .btn,.crew-row-actions .btn{padding:.3rem .6rem;font-size:.78rem}.crew-day-inline{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.crew-day-inline>.suggest-field,.crew-day-inline>div:first-child{flex:1 1 12rem}.crew-day-inline .time-stepper{flex:1 1 12.25rem;min-width:12.25rem;width:auto}.crew-day-empty{margin:0;padding:.55rem .75rem;font-size:.8rem}.crew-add-day{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.65rem .85rem;padding:.6rem .75rem;border:1px dashed var(--border);border-radius:var(--radius)}.crew-add-day>.field{flex:1 1 12.5rem;min-width:12.5rem}.crew-add-day-actions{display:flex;flex:1 1 100%;gap:.5rem}.crew-add-day-btn{margin-top:.25rem}.mp-stats{grid-template-columns:repeat(6,minmax(0,1fr))}@media(max-width:900px){.mp-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}.mp-stat.is-warn .mp-stat-value{color:var(--red, #c62828)}.mp-cert.is-soon{border-color:color-mix(in srgb,var(--amber, #b45309) 45%,var(--border));background:color-mix(in srgb,var(--amber, #b45309) 8%,var(--panel))}.mp-cert.is-soon .mp-cert-date{color:var(--amber, #b45309)}.mp-expiry{font-size:.82rem}.mp-expiry.is-expired{color:var(--danger, #c45c5c);font-weight:600}.mp-expiry.is-soon{color:var(--amber, #b45309);font-weight:600}.mp-form-title{margin:0 0 .75rem;font-size:1rem}.mp-field-hint{margin:0;font-size:.75rem}.mp-cred-editor{margin:.75rem 0 0;padding:.65rem .8rem;border:1px solid var(--border);border-radius:var(--radius)}.mp-cred-editor legend{padding:0 .3rem;font-size:.82rem;font-weight:600}.mp-cred-hint{margin:0 0 .5rem;font-size:.75rem}.mp-cred-rows{display:flex;flex-direction:column;gap:.4rem;margin-bottom:.4rem}.mp-cred-row{display:grid;grid-template-columns:minmax(10rem,2fr) minmax(9rem,1fr) auto auto;gap:.5rem;align-items:center}@media(max-width:640px){.mp-cred-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.mp-cred-indefinite{display:inline-flex;gap:.35rem;align-items:center;font-size:.8rem;white-space:nowrap}.mp-cred-indefinite input{width:auto;margin:0}.mp-cred-add{padding:.3rem .6rem;font-size:.8rem}.mp-form-actions{display:flex;gap:.5rem;margin-top:.9rem}.dp-person-alert,.crew-alert{display:block;color:var(--amber, #b45309);font-size:.7rem;font-weight:600}.dp-person-alert.is-expired,.crew-alert.is-expired{color:var(--danger, #c45c5c)}.crew-alert{display:inline-block;margin-left:.4rem}.tech-app{min-height:100vh;min-height:100dvh;background:var(--bg);color:var(--text)}.tech-header{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1rem;padding-top:max(.75rem,env(safe-area-inset-top));background:var(--panel);border-bottom:1px solid var(--border)}.tech-header h1{margin:0;font-size:1.1rem;line-height:1.2}.tech-brand{margin:0;font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.tech-header-actions{display:flex;gap:.4rem;flex-shrink:0}.tech-main{max-width:640px;margin:0 auto;padding:1rem 1rem calc(2rem + env(safe-area-inset-bottom))}.tech-day{margin-bottom:1.25rem}.tech-day>h2{margin:0 0 .7rem;padding:.1rem 0 .45rem;font-size:1.12rem;font-weight:750;letter-spacing:-.02em;line-height:1.25;color:var(--text);border-bottom:1px solid var(--border)}.tech-day.is-today>h2{color:var(--accent);border-bottom-color:color-mix(in srgb,var(--accent) 30%,var(--border))}.tech-day.is-past{opacity:.75}.tech-card{background:var(--panel);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow);padding:.85rem 1rem;margin-bottom:.6rem}.tech-card.tech-profile{box-shadow:inset 3px 0 0 var(--accent),var(--shadow);padding-left:calc(1rem - 1px)}.tech-date-bar{display:flex;flex-direction:column;gap:.55rem;margin:0 0 1rem}.tech-date-tools{display:flex;align-items:center;gap:.5rem}.tech-date-heading{min-width:0}.tech-date-heading h2{margin:0;font-size:1.22rem;font-weight:800;letter-spacing:-.03em;line-height:1.2}.tech-date-count{margin:.2rem 0 0;font-size:.8rem;color:var(--muted)}.tech-date-today{display:inline-flex;align-items:center;gap:.4rem;min-height:2.2rem;padding:.2rem .85rem .2rem .55rem;border:1px solid var(--border);border-radius:999px;background:#fff;color:var(--text);font:inherit;font-size:.88rem;font-weight:700;cursor:pointer}.tech-date-check{display:inline-grid;place-items:center;width:1.05rem;height:1.05rem;border:1.5px solid color-mix(in srgb,var(--text) 45%,var(--border));border-radius:4px;background:#fff;font-size:.72rem;font-weight:800;line-height:1;color:#fff}.tech-date-today.is-current{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.tech-date-today.is-current .tech-date-check{border-color:var(--accent);background:var(--accent);color:#fff}.tech-date-today:hover{border-color:var(--accent)}.tech-date-all{margin-right:auto;border:0;background:none;color:var(--accent);font:inherit;font-size:.82rem;font-weight:650;cursor:pointer;text-decoration:underline;text-underline-offset:.15em}.tech-date-cal{position:relative;display:grid;place-items:center;width:2.4rem;height:2.4rem;margin-left:auto;border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--text);cursor:pointer}.tech-date-cal svg{width:1.2rem;height:1.2rem;pointer-events:none}.tech-date-cal:hover{border-color:var(--accent);color:var(--accent)}.tech-date-picker{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;padding:0;opacity:0;cursor:pointer;border:0;background:transparent;color:transparent}.tech-job-card{padding:0;overflow:hidden}.tech-job-card.is-not-started{background:color-mix(in srgb,var(--accent) 10%,#ffffff);border-color:color-mix(in srgb,var(--accent) 28%,var(--border));box-shadow:inset 4px 0 0 var(--accent),var(--shadow)}.tech-job-card.is-completed{background:color-mix(in srgb,var(--green) 11%,#ffffff);border-color:color-mix(in srgb,var(--green) 28%,var(--border));box-shadow:inset 4px 0 0 var(--green),var(--shadow)}.tech-job-card.is-on-site{background:color-mix(in srgb,var(--amber) 14%,#ffffff);border-color:color-mix(in srgb,var(--amber) 32%,var(--border));box-shadow:inset 4px 0 0 var(--amber),var(--shadow)}.tech-card-summary{display:flex;align-items:center;gap:.55rem;padding:.75rem .85rem .75rem 1rem;cursor:pointer;list-style:none}.tech-card-summary::-webkit-details-marker{display:none}.tech-card-summary::marker{content:""}.tech-card-summary-text{display:flex;flex-direction:column;gap:.18rem;min-width:0;flex:1}.tech-card-summary-text strong{font-size:.95rem;font-weight:750;letter-spacing:-.02em;overflow-wrap:anywhere}.tech-card-summary-text span{font-size:.84rem;color:var(--muted);overflow-wrap:anywhere}.tech-card-tone{display:inline-flex;align-items:center;gap:.35rem;flex-shrink:0;font-size:.75rem;font-weight:650;white-space:nowrap;color:var(--accent)}.tech-card-tone:before{content:"";width:.45rem;height:.45rem;border-radius:50%;background:currentColor}.tech-job-card.is-completed .tech-card-tone,.tech-job-legend .tech-card-tone.is-completed{color:var(--green)}.tech-job-card.is-on-site .tech-card-tone,.tech-job-legend .tech-card-tone.is-on-site{color:var(--amber)}.tech-job-card.is-not-started .tech-card-tone,.tech-job-legend .tech-card-tone.is-not-started{color:var(--accent)}.tech-card-summary:after{content:"";flex-shrink:0;width:.7rem;height:.7rem;margin-left:.15rem;background:currentColor;color:var(--muted);opacity:.7;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") center / contain no-repeat;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") center / contain no-repeat;transition:transform .15s ease}.tech-job-card details[open]>.tech-card-summary:after{transform:rotate(180deg)}.tech-card-body{padding:0 .85rem .85rem 1rem;border-top:1px solid color-mix(in srgb,var(--border) 70%,transparent)}.tech-card-body .tech-card-facts{padding-top:.7rem}.tech-job-legend{display:flex;flex-wrap:wrap;gap:.75rem 1.1rem;margin:.35rem .15rem 0;color:var(--muted)}.tech-card-date,.tech-card-hours{font-weight:700}.tech-card-hours{font-variant-numeric:tabular-nums}.tech-card-jobid{font-weight:650;font-variant-numeric:tabular-nums}.tech-card-title{color:var(--muted);font-size:.85rem}.tech-profile-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.65rem}.tech-card h3{margin:0;font-size:1.05rem;overflow-wrap:anywhere}.tech-card-facts{display:grid;gap:.45rem;margin:0}.tech-card-facts>div{display:grid;grid-template-columns:5.5rem 1fr;column-gap:.7rem;align-items:baseline}.tech-card-facts dt{font-size:.68rem;font-weight:650;letter-spacing:.05em;line-height:1.2;text-transform:uppercase;color:var(--muted)}.tech-card-facts dd{margin:0;font-size:.92rem;display:flex;flex-direction:column;overflow-wrap:anywhere}.tech-card-facts a{color:var(--accent)}.tech-card-note{margin:.6rem 0 0;padding:.5rem .65rem;border-radius:var(--radius);background:var(--amber-soft);font-size:.88rem;white-space:pre-wrap}.tech-card-scope{margin-top:.6rem;font-size:.88rem}.tech-card-scope summary{cursor:pointer;color:var(--accent)}.tech-card-scope p{margin:.4rem 0 0;white-space:pre-wrap}.tech-empty{padding:2rem 1rem;text-align:center}.tech-empty h2{margin:0 0 .35rem;font-size:1.05rem}.tech-earlier{margin-top:1.5rem}.tech-earlier>.btn{width:100%;margin-bottom:.75rem}.tech-attendance{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border);font-size:.9rem}.tech-attendance p{margin:0;display:flex;align-items:center;flex-wrap:wrap;gap:.15rem .35rem}.tech-attendance.is-open p{margin-bottom:.5rem}.tech-attendance-btn{width:100%;min-height:3rem;font-size:1rem;font-weight:700}.tech-attendance-btn.btn-primary,body.theme-technician.look-v2 .tech-attendance-btn.btn-primary{background:#5b21b6;border-color:#5b21b6;color:#fff}.tech-attendance-btn.btn-primary:hover:not(:disabled),body.theme-technician.look-v2 .tech-attendance-btn.btn-primary:hover:not(:disabled){background:#4c1d95;border-color:#4c1d95;color:#fff;filter:none}.tech-attendance-btn.is-checkout,body.theme-technician.look-v2 .tech-attendance-btn.is-checkout{background:#166534;border-color:#166534;color:#fff}.tech-attendance-btn.is-checkout:hover:not(:disabled),body.theme-technician.look-v2 .tech-attendance-btn.is-checkout:hover:not(:disabled){background:#14532d;border-color:#14532d;color:#fff}.tech-attendance.is-missing{color:var(--muted);font-style:italic}.tech-attendance-status{flex-shrink:0;margin-left:auto;font-size:.75rem;font-weight:600;padding:.1rem .5rem;border-radius:999px;background:var(--accent-soft);color:var(--accent)}.tech-attendance.is-approved .tech-attendance-status{background:var(--green-soft);color:var(--green)}.tech-attendance.is-rejected .tech-attendance-status{background:var(--red-soft);color:var(--red)}.tech-attendance-note{margin-top:.4rem!important;font-size:.85rem;color:var(--muted);white-space:pre-wrap}.tech-day.is-open>h2{color:var(--amber)}.att-find{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.65rem .75rem;margin:0 0 1rem;padding:.85rem 1rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel)}.att-find-field{display:flex;flex-direction:column;gap:.28rem;min-width:9.5rem;flex:1 1 9.5rem;max-width:16rem;margin:0}.att-find-field span{font-size:.66rem;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.att-find-field input,.att-find-field select,.att-find-field .date-input{width:100%;min-width:0;background:var(--field-bg);border:1px solid var(--border);border-radius:6px;color:var(--text);padding:.45rem .6rem}.att-find-field input:focus,.att-find-field select:focus,.att-find-field .date-input:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}.att-find-count{margin-left:auto;font-size:.8rem;padding-bottom:.45rem}.att-day{margin-bottom:.35rem}.att-day-label{margin:.35rem 0 .55rem;font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.att-group{margin-bottom:1rem}.att-group-head{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.75rem}.att-group-head h2{margin:0;font-size:1rem}.att-ids{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.45rem .85rem;width:100%;align-items:start}.att-ids.is-with-date{grid-template-columns:repeat(6,minmax(0,1fr))}.att-ids>span{display:flex;flex-direction:column;gap:.2rem;min-width:0;padding:0;font-variant-numeric:tabular-nums}.att-ids>span+span{border-left:1px solid var(--border);padding-left:.85rem}.att-ids small{font-size:.66rem;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.att-ids em{font-style:normal;font-weight:500;color:var(--muted)}.att-id-value{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.att-dprs-slot .att-dprs{margin-top:0}.att-group-head p,.att-group-title{margin:0}.att-dprs{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;font-size:.88rem}.att-dprs-assign input{width:9.5rem;padding:.4rem .55rem;border:1px solid var(--border);border-radius:6px;background:var(--field-bg);color:var(--text)}.att-dprs-assign input:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}.att-crew-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .6rem;margin:0 0 .75rem;padding:.6rem .75rem;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--border));border-radius:8px;background:color-mix(in srgb,var(--accent) 6%,var(--panel))}.att-crew-bar.is-done,.att-crew-bar.is-locked{border-color:color-mix(in srgb,var(--green) 35%,var(--border));background:color-mix(in srgb,var(--green) 6%,var(--panel))}.att-lock-note{margin:0 0 .75rem;font-size:.8rem;color:var(--muted)}.att-crew-label{font-weight:650;font-size:.85rem}.att-crew-bar input[type=time]{padding:.35rem .5rem;border:1px solid var(--border);border-radius:6px;background:var(--field-bg);color:var(--text)}.att-crew-hint{flex-basis:100%;font-size:.78rem}p.att-crew-bar{display:block}.att-dprs-ok{font-size:.75rem;font-weight:600;color:var(--green)}.att-roster-wrap{overflow-x:auto}.att-roster{--att-cols: minmax(10.5rem, 1.3fr) minmax(10rem, 1.15fr) 6.5rem minmax(12.25rem, 1.15fr) 8.5rem;min-width:48rem}.att-roster-head,.att-roster-row{display:grid;grid-template-columns:var(--att-cols);align-items:start;padding:.55rem .65rem;border-bottom:1px solid var(--border)}.att-roster-head{color:#000;font-family:var(--font);font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:var(--panel-2, var(--panel))}body.look-v2 .att-roster-head{background:#eef1f4}.att-roster-head>div,.att-roster-row>div{min-width:0;padding-right:.85rem}.att-roster-head>div:nth-child(3),.att-roster-row>div:nth-child(3),.att-roster-head>div:nth-child(4),.att-roster-row>div:nth-child(4){padding-right:.65rem}.att-roster-head>div:last-child,.att-roster-row>div:last-child{padding-right:0}.att-actions{text-align:right;white-space:nowrap}.att-actions .btn{white-space:nowrap}.att-sheet-row{background:var(--hover);font-size:.88rem;font-weight:400;text-transform:none;letter-spacing:0;color:var(--text)}.att-sheet-open,.att-edit-row{padding:.75rem .65rem .9rem;border-bottom:1px solid var(--border);background:var(--panel)}.att-roster-row:hover,.att-sheet-row:hover{background:var(--hover)}.att-was,.att-reviewer,.att-note{font-size:.78rem;margin-top:.15rem}.att-note{white-space:pre-wrap}.att-pins{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .5rem}.att-pin{font-size:.8rem;color:var(--accent);white-space:nowrap}.att-status{display:inline-block;font-size:.75rem;font-weight:600;padding:.1rem .5rem;border-radius:999px;background:var(--accent-soft);color:var(--accent);white-space:nowrap}.att-status.is-missing{background:var(--amber-soft);color:var(--amber)}.att-status.is-open{background:var(--blue-soft);color:var(--blue)}.att-status.is-approved{background:var(--green-soft);color:var(--green)}.att-status.is-rejected{background:var(--red-soft);color:var(--red)}.att-edit-row{background:var(--hover)}.att-edit{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.75rem}.att-edit .field{margin:0}.att-edit-note{flex:1 1 16rem}.att-edit-note input{width:100%}.att-edit-actions{display:flex;flex-wrap:wrap;gap:.5rem}.att-edit-hint{flex-basis:100%;margin:0;font-size:.78rem}.sheet-form{display:grid;gap:.75rem}.sheet-group{margin:0;padding:.75rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);min-width:0}.sheet-group>legend,.sheet-group>h4{padding:0 .25rem;margin:0 0 .4rem;font-size:.8rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.sheet-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(8.5rem,1fr));gap:.6rem}.sheet-grid .field{margin:0;min-width:0}.sheet-grid .field input,.sheet-grid .field select{width:100%;min-width:0}.sheet-wide{grid-column:1 / -1}.sheet-rt-line{margin:0 0 .75rem;padding:.6rem;border:1px dashed var(--border);border-radius:var(--radius);min-width:0}.sheet-rt-line>legend{display:flex;align-items:center;gap:.5rem;font-size:.85rem;font-weight:600}.sheet-rt-remove{font-size:.78rem;padding:.1rem .4rem}.sheet-rt-films{margin-top:.5rem}.sheet-rt-films>p{margin:0 0 .3rem;font-size:.78rem}.tech-sheet-btn{width:100%;margin-top:.65rem;padding:.75rem 0 .05rem;min-height:2.75rem;border:0;border-top:1px solid var(--border);border-radius:0;background:transparent;display:flex;justify-content:space-between;align-items:center;gap:.75rem;font-weight:600;text-align:left}.tech-sheet-btn:hover,.tech-sheet-btn:focus-visible{background:transparent;border-color:var(--border);color:var(--accent)}.tech-sheet-btn:after{content:"";width:.38rem;height:.38rem;flex-shrink:0;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);opacity:.4}.tech-sheet-status{margin-left:auto;font-size:.75rem;font-weight:600;padding:.1rem .5rem;border-radius:999px;background:var(--hover);color:var(--muted)}.tech-sheet-status.is-draft{background:var(--amber-soft);color:var(--amber)}.tech-sheet-status.is-submitted{background:var(--accent-soft);color:var(--accent)}.tech-sheet-status.is-accepted{background:var(--green-soft);color:var(--green)}.tech-sheet-panel{min-height:100vh;background:var(--bg);color:var(--text)}.tech-sheet-identity{box-shadow:inset 3px 0 0 var(--accent),var(--shadow);padding-left:calc(1rem - 1px);margin-bottom:.85rem}body.theme-technician .tech-sheet-panel .sheet-group{border-radius:10px;box-shadow:var(--shadow)}body.theme-technician .tech-sheet-panel .sheet-form .field input,body.theme-technician .tech-sheet-panel .sheet-form .field select,body.theme-technician .tech-sheet-panel .sheet-form .field textarea{background:#eef0f4;border:1px solid #b6bcc8;color:var(--text);color-scheme:light;min-height:2.6rem}body.theme-technician .tech-sheet-panel .sheet-form .field input:hover,body.theme-technician .tech-sheet-panel .sheet-form .field select:hover,body.theme-technician .tech-sheet-panel .sheet-form .field textarea:hover{border-color:#8f97a6;background:#e8eaef}body.theme-technician .tech-sheet-panel .sheet-form .field input:focus,body.theme-technician .tech-sheet-panel .sheet-form .field select:focus,body.theme-technician .tech-sheet-panel .sheet-form .field textarea:focus{outline:none;background:#fff;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}body.theme-technician .tech-sheet-panel .sheet-form .field input[readonly],body.theme-technician .tech-sheet-panel .sheet-form .field select:disabled{background:#e4e6eb;border-color:#c5cad3;color:#3a3f4a}.tech-sheet-saved{font-size:.8rem}.tech-sheet-actions{position:sticky;bottom:0;display:flex;gap:.5rem;margin-top:1rem;padding:.75rem 0 calc(.75rem + env(safe-area-inset-bottom));background:var(--bg)}.tech-sheet-actions .btn{flex:1;min-height:3rem}.att-sheet-review{display:grid;gap:.75rem;margin:0}.tech-tabs{display:flex;gap:.25rem;max-width:640px;margin:0 auto;padding:.5rem 1rem 0}.tech-tabs button{flex:1;position:relative;padding:.6rem .5rem;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--border));border-radius:999px;background:#fff;color:color-mix(in srgb,var(--text) 84%,var(--muted));font:inherit;font-size:.95rem;font-weight:650;cursor:pointer}.tech-tabs button.active,body.theme-technician.look-v2 .tech-tabs button.active{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:800;letter-spacing:.01em;text-shadow:0 1px 0 rgba(0,0,0,.25)}.tech-tab-dot{display:inline-block;width:.5rem;height:.5rem;margin-left:.4rem;border-radius:50%;background:var(--amber);vertical-align:middle}.tech-alert{display:block;width:100%;margin-bottom:1rem;padding:.65rem .85rem;border:1px solid var(--amber);border-radius:var(--radius);background:var(--amber-soft);color:var(--text);font:inherit;font-size:.9rem;text-align:left;cursor:pointer}.tech-alert.is-expired{border-color:var(--red);background:var(--red-soft)}.tech-alert.is-push{border-color:var(--accent);background:var(--accent-soft)}.tech-hint{margin:0 0 1rem;font-size:.85rem}.tech-papers{margin-top:1.25rem}.tech-papers>h2{margin:0 0 .5rem;font-size:.85rem;font-weight:600;color:var(--muted)}.tech-paper{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.7rem .85rem;margin-bottom:.5rem;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius)}.tech-paper p{margin:.15rem 0 0;font-size:.82rem}.tech-paper-state{flex-shrink:0;font-size:.75rem;font-weight:600;padding:.1rem .5rem;border-radius:999px;background:var(--green-soft);color:var(--green)}.tech-paper-state.is-soon{background:var(--amber-soft);color:var(--amber)}.tech-paper-state.is-expired{background:var(--red-soft);color:var(--red)}.tech-paper-state.is-indefinite,.tech-paper-state.is-none,.tech-paper-state.is-RESIGNED,.tech-paper-state.is-TERMINATED{background:var(--hover);color:var(--muted)}.tech-paper-state.is-ON_LEAVE{background:var(--amber-soft);color:var(--amber)}.tech-papers-note{margin-top:1.25rem;font-size:.82rem}.dprs-approval-form{display:flex;align-items:flex-end;gap:.6rem;flex-wrap:wrap}.dprs-approval-field{margin:0;gap:.25rem}.dprs-approval-field label{font-size:.7rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.dprs-approval-field input{width:12.5rem;max-width:100%;padding:.5rem .7rem;font-weight:600;letter-spacing:.02em;transition:border-color .15s ease,box-shadow .15s ease}.dprs-approval-field input::placeholder{font-weight:400;letter-spacing:0;color:var(--muted)}.grace-review{margin-bottom:1rem;border-left:3px solid var(--accent)}.grace-review-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.grace-kicker{margin:0;font-size:.7rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--accent)}.grace-summary{margin:.2rem 0 0;font-size:.95rem;font-weight:600}.grace-review .banner.warn{margin:.75rem 0 0;padding:.6rem .8rem;border-radius:6px;font-size:.85rem;background:color-mix(in srgb,#d97706 14%,transparent);color:#92400e}.grace-review-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem 1.25rem;margin-top:.85rem}.grace-review-grid h3{display:flex;align-items:center;gap:.4rem;margin:0 0 .35rem;font-size:.72rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--muted)}.grace-review-grid ul{margin:0;padding-left:1rem;font-size:.84rem;line-height:1.5}.grace-copy{padding:0 .4rem;font-size:.72rem;text-transform:none;letter-spacing:0}.grace-conf{display:inline-block;margin-right:.35rem;padding:0 .35rem;border-radius:999px;font-size:.66rem;font-weight:600;text-transform:uppercase}.grace-conf--medium{background:color-mix(in srgb,#d97706 16%,transparent);color:#92400e}.grace-conf--low{background:color-mix(in srgb,#c0392b 14%,transparent);color:#9b1c1c}.grace-usage{margin:.75rem 0 0;font-size:.72rem}@media(max-width:640px){.grace-review-head{flex-direction:column}}.grace-match{display:inline-block;margin-right:.35rem;padding:0 .35rem;border-radius:999px;font-size:.66rem;font-weight:600;text-transform:uppercase}.grace-match--saved{background:var(--green-soft);color:var(--green)}.grace-match--pick{background:color-mix(in srgb,#d97706 16%,transparent);color:#92400e}.grace-match--new{background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent)}.pwa-update-toast{position:fixed;left:50%;bottom:max(.7rem,var(--safe-bottom));z-index:80;display:flex;align-items:center;gap:.65rem;width:max-content;max-width:calc(100vw - 1.2rem - var(--safe-left) - var(--safe-right));padding:.28rem .28rem .28rem .75rem;border:1px solid color-mix(in srgb,var(--accent) 26%,var(--border));border-radius:999px;background:color-mix(in srgb,var(--panel) 90%,var(--accent) 10%);box-shadow:0 6px 20px color-mix(in srgb,var(--accent) 14%,rgba(16,24,40,.1));color:var(--text);transform:translate(-50%)}.pwa-update-toast-copy{margin:0;min-width:0;font-size:.78rem;font-weight:650;letter-spacing:.01em;white-space:nowrap}.pwa-update-toast-actions{display:flex;align-items:center;gap:.15rem}.pwa-update-later,.pwa-update-reload{height:28px;margin:0;border:0;border-radius:999px;cursor:pointer;font-size:.72rem;font-weight:650;line-height:1;-webkit-tap-highlight-color:transparent}.pwa-update-later{padding:0 .55rem;background:transparent;color:var(--muted)}.pwa-update-later:hover:not(:disabled){color:var(--text);background:color-mix(in srgb,var(--accent) 8%,transparent)}.pwa-update-reload{padding:0 .75rem;background:var(--accent);color:var(--accent-fg)}.pwa-update-reload:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 88%,#000)}.pwa-update-later:disabled,.pwa-update-reload:disabled{cursor:wait;opacity:.7}@media(display-mode:standalone),(display-mode:fullscreen),(display-mode:minimal-ui){html,body,#root{height:100dvh;overscroll-behavior-y:none}.sidebar,.workspace-bar,.nav-toggle,.tech-header{-webkit-user-select:none;user-select:none}}.app-dock{display:none}html.is-mobile body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,sans-serif}body.nav-drawer-open{overflow:hidden}.app-shell.is-compact{grid-template-columns:1fr;grid-template-rows:1fr auto}.app-shell.is-compact>.main{grid-column:1;grid-row:1}.app-shell.is-compact .nav-toggle{display:none}.app-shell.is-compact .nav-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;border:0;padding:0;background:color-mix(in srgb,#071427 42%,transparent)}.app-shell.is-compact .sidebar{position:fixed;top:0;left:0;bottom:0;z-index:50;width:min(20.5rem,calc(100vw - 3rem));transform:translate(-108%);transition:transform .22s ease;padding-top:calc(1.05rem + var(--safe-top));padding-bottom:calc(1.25rem + var(--safe-bottom));box-shadow:none;pointer-events:none}.app-shell.is-compact .sidebar.is-open{transform:translate(0);box-shadow:16px 0 40px color-mix(in srgb,#000 22%,transparent);pointer-events:auto}.app-shell.is-compact .workspace-bar{grid-template-columns:minmax(0,1fr) auto;padding:.55rem .9rem;padding-top:calc(.55rem + var(--safe-top))}.app-shell.is-compact .workspace-bar-actions{grid-column:2;grid-row:1;justify-self:end}.app-shell.is-compact .workspace-bar-meta,.app-shell.is-compact .crumbs-group,.app-shell.is-compact .crumbs-sep{display:none}.app-shell.is-compact .crumbs-title{font-size:1.12rem;font-weight:700;letter-spacing:-.02em}.app-shell.is-compact .page-stage{padding:1rem 1rem calc(1.25rem + var(--safe-bottom))}.app-shell.is-compact .app-dock{display:flex;grid-column:1;grid-row:2;position:sticky;bottom:0;z-index:30;align-items:stretch;justify-content:space-around;gap:.15rem;min-height:56px;padding:.2rem .25rem calc(.2rem + var(--safe-bottom));border-top:1px solid var(--border);background:color-mix(in srgb,var(--panel) 94%,var(--bg));backdrop-filter:saturate(1.2) blur(12px);-webkit-backdrop-filter:saturate(1.2) blur(12px)}.app-dock-item{flex:1 1 0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.12rem;min-width:0;min-height:48px;padding:.2rem .15rem;border:0;border-radius:10px;background:transparent;color:var(--muted);font-size:.62rem;font-weight:650;letter-spacing:.01em;line-height:1.1;cursor:pointer}.app-dock-item span{overflow:hidden;text-overflow:ellipsis;white-space:normal;text-align:center;max-width:100%;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical}.app-dock-item.is-active{color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.app-shell.is-compact .form-grid{grid-template-columns:1fr}.app-shell.is-compact .page-toolbar,.app-shell.is-compact .dprs-page-toolbar,.app-shell.is-compact .page-header{flex-direction:column;align-items:stretch}.app-shell.is-compact .data-table-wrap,.app-shell.is-compact .table-wrap,.app-shell.is-compact .files-related-table-wrap{max-width:100%;overflow-x:auto}.app-shell.is-compact input:not([type=checkbox]):not([type=radio]):not([type=range]),.app-shell.is-compact select,.app-shell.is-compact textarea{font-size:16px;max-width:100%}html.is-mobile .pwa-update-toast{bottom:calc(4.35rem + var(--safe-bottom))}html.is-mobile .splash{display:flex;flex-direction:column;grid-template-columns:none;height:100dvh;min-height:100dvh}html.is-mobile .splash-stage{flex:0 0 auto;min-height:0;padding:calc(1.15rem + var(--safe-top)) 1.2rem .95rem}html.is-mobile .splash-hero{width:100%}html.is-mobile .splash-hero-mark{width:auto;height:28px}html.is-mobile .splash-tagline{margin-top:.45rem;font-size:.92rem;line-height:1.35}html.is-mobile .splash-powered{position:static;transform:none;margin-top:.65rem;font-size:.72rem}html.is-mobile .splash-panel{flex:1 1 auto;justify-content:flex-start;overflow:auto;padding:1.1rem 1.15rem calc(1.2rem + var(--safe-bottom))}html.is-mobile .splash-form{width:100%;max-width:none;padding:0;border:0;border-radius:0;box-shadow:none}html.is-mobile .splash-form-head h2,html.is-mobile .splash-form h2{font-size:1.45rem}html.is-mobile .splash-form .field input,html.is-mobile .splash-form .password-field input{min-height:48px;font-size:16px;border-radius:12px}html.is-mobile .splash-form .btn-primary{min-height:48px;border-radius:12px;font-size:1rem}html.is-mobile .sign-in-opening.is-welcome .sign-in-opening-stage{width:100%;min-height:0;gap:.75rem;padding:1.4rem 1.2rem}html.is-mobile .sign-in-opening.is-welcome .sign-in-opening-mark-wrap{width:min(38vw,148px)}html.is-mobile .sign-in-opening.is-welcome .sign-in-opening-title{font-size:1.7rem}html.is-mobile .sign-in-opening.is-welcome .sign-in-opening-copy{margin-top:.45rem;font-size:1rem}html.is-mobile .app-shell,html.is-mobile .app-shell.is-compact{grid-template-columns:1fr;grid-template-rows:1fr auto}html.is-mobile .app-shell>.sidebar{position:fixed;top:0;left:0;bottom:0;z-index:50;width:min(20.5rem,calc(100vw - 3rem));transform:translate(-108%);pointer-events:none}html.is-mobile .app-shell>.sidebar.is-open{transform:translate(0);pointer-events:auto}html.is-mobile .nav-toggle{display:none}html.is-mobile .workspace-bar{grid-template-columns:minmax(0,1fr) auto;padding:.55rem .9rem;padding-top:calc(.55rem + var(--safe-top))}html.is-mobile .workspace-bar-meta,html.is-mobile .crumbs-group,html.is-mobile .crumbs-sep{display:none}html.is-mobile .crumbs-title{font-size:1.15rem;font-weight:700}html.is-mobile .page-stage{padding:.85rem .9rem 1rem}html.is-mobile .page-title,html.is-mobile .page-header h1,html.is-mobile .dispatch-dash h2{font-size:1.28rem;margin-bottom:.7rem}html.is-mobile .page-kicker,html.is-mobile .dash-lede,html.is-mobile .dispatch-dash-intro{font-size:.78rem}html.is-mobile .metrics{grid-template-columns:1fr 1fr;gap:.65rem}html.is-mobile .dash-board,html.is-mobile .dash-board.has-jobs.has-quotes.has-mp,html.is-mobile .dash-board.has-jobs.no-quotes.has-mp,html.is-mobile .dash-board.has-jobs.has-quotes.no-mp,html.is-mobile .dash-board.no-jobs.has-quotes.has-mp{grid-template-columns:1fr;grid-template-areas:none}html.is-mobile .dash-board.has-jobs.has-quotes.has-mp .dash-wr,html.is-mobile .dash-board.has-jobs.has-quotes.has-mp .dash-quotes,html.is-mobile .dash-board.has-jobs.has-quotes.has-mp .dash-mp-mod{grid-area:auto}html.is-mobile .metric-card{padding:.8rem .85rem}html.is-mobile .metric-card .value{font-size:1.45rem}html.is-mobile .dispatch-kpi-grid{grid-template-columns:1fr}html.is-mobile .ds-week-grid{display:flex;gap:.55rem;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:.25rem;-webkit-overflow-scrolling:touch}html.is-mobile .ds-day-col{flex:0 0 46%;scroll-snap-align:start}html.is-mobile .split.with-drawer{grid-template-columns:1fr}html.is-mobile .page-toolbar,html.is-mobile .dprs-page-toolbar,html.is-mobile .page-header,html.is-mobile .dispatch-dash-intro{flex-direction:column;align-items:stretch;gap:.65rem}html.is-mobile .page-toolbar .btn,html.is-mobile .dprs-page-actions .btn,html.is-mobile .page-header .btn,html.is-mobile .toolbar .btn{min-height:48px;width:100%;border-radius:12px}html.is-mobile .pill,html.is-mobile .files-chip{min-height:36px;padding:.4rem .75rem}html.is-mobile .status-filters,html.is-mobile .files-related-pills{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}html.is-mobile .form-grid,html.is-mobile .two-col,html.is-mobile .pipeline{grid-template-columns:1fr}@media(min-width:881px){html:not(.is-mobile) .nav-toggle,html:not(.is-mobile) .nav-backdrop,html:not(.is-mobile) .app-dock{display:none}html:not(.is-mobile) .app-shell:not(.is-compact){grid-template-columns:var(--sidebar) 1fr}html:not(.is-mobile) .app-shell:not(.is-compact) .sidebar{position:static;width:auto;transform:none;pointer-events:auto;box-shadow:none}}@media(max-width:880px){.nav-toggle{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--panel) 80%,transparent);color:var(--text);cursor:pointer}.nav-toggle:hover,.nav-toggle[aria-expanded=true]{border-color:color-mix(in srgb,var(--accent) 45%,var(--border));color:var(--accent)}.nav-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;border:0;padding:0;background:color-mix(in srgb,#071427 42%,transparent)}.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;top:0;left:0;bottom:0;z-index:50;width:min(20.5rem,calc(100vw - 3rem));transform:translate(-108%);transition:transform .22s ease;padding-top:calc(1.05rem + var(--safe-top));padding-bottom:calc(1.25rem + var(--safe-bottom));box-shadow:none;pointer-events:none}.sidebar.is-open{transform:translate(0);box-shadow:16px 0 40px color-mix(in srgb,#000 22%,transparent);pointer-events:auto}body.nav-drawer-open{overflow:hidden}.workspace-bar{grid-template-columns:auto minmax(0,1fr) auto;padding:.65rem .9rem;padding-top:calc(.65rem + var(--safe-top))}.workspace-bar-actions{grid-column:3;grid-row:1;justify-self:end}.workspace-bar-meta{grid-column:1 / -1;grid-row:2;width:100%;justify-content:space-between}.crumbs{min-width:0;overflow:visible;white-space:normal;flex-wrap:wrap}.page-stage{padding:1rem 1rem calc(1.75rem + var(--safe-bottom));overflow-x:hidden}.page-toolbar,.dprs-page-toolbar,.page-header,.toolbar,.filters,.wr-list-filters,.att-find,.dprs-page-actions,.status-filters .filters{flex-wrap:wrap;min-width:0}.page-toolbar,.dprs-page-toolbar,.page-header{flex-direction:column;align-items:stretch}.page-toolbar .btn,.dprs-page-actions .btn,.page-header .btn,.toolbar .btn{min-height:44px;width:auto;max-width:100%;white-space:nowrap;flex:0 0 auto}.form-grid{grid-template-columns:1fr}.nav-item,.nav-chevron{min-height:44px}.data-table-wrap,.table-wrap,.files-related-table-wrap{max-width:100%;overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{font-size:16px;max-width:100%;min-width:0}.toolbar input:not([type=checkbox]):not([type=radio]),.toolbar select,.wr-list-filters input[type=search],.wr-list-filters select,.att-find-field{flex:1 1 10rem;max-width:100%}.modal-card{max-width:100%;max-height:calc(100dvh - var(--safe-top) - var(--safe-bottom) - 2rem);overflow:auto}.splash{height:auto;min-height:100dvh;grid-template-columns:1fr}.splash-stage{min-height:240px;padding:calc(1.4rem + var(--safe-top)) 1.4rem 1.5rem}.splash-panel{padding:1.25rem 1.1rem calc(1.4rem + var(--safe-bottom))}.splash-form{width:100%;padding:1.45rem 1.15rem 1.3rem}.notif-bell-btn,.pwa-install-btn{width:44px;height:44px;min-width:44px}.pwa-install-btn span{display:none}.pwa-install-btn{padding:0}.notif-panel{right:0;width:min(22rem,calc(100vw - 1.5rem));max-height:min(70dvh,420px)}}@media(prefers-reduced-motion:reduce){.sidebar{transition:none}}body.theme-operations.look-v2{--look-brand: #f5b700;--look-brand-strong: #e0a500;--look-brand-soft: rgba(245, 183, 0, .2);--look-on-brand: #1a1400;--look-ink: #b8860b;--look-brand-disabled: #f1e2ad;--look-on-brand-disabled: #6b6249;--look-highlight-hover: #fffbeb;--accent: #b8860b;--accent-fg: var(--look-on-brand)}body.theme-admin.look-v2{--look-brand: #4dabff;--look-brand-strong: #2b96f7;--look-brand-soft: rgba(77, 171, 255, .24);--look-on-brand: #062033;--look-ink: #1565c0;--look-brand-disabled: #c5e3ff;--look-on-brand-disabled: #4a6e8a;--look-highlight-hover: #e8f4ff;--accent: #1565c0;--accent-fg: var(--look-on-brand)}body.theme-internal.look-v2{--look-brand: #ff576d;--look-brand-strong: #e84860;--look-brand-soft: rgba(255, 87, 109, .18);--look-on-brand: #fff7f8;--look-ink: #d63d55;--look-brand-disabled: #ffc2ca;--look-on-brand-disabled: #8a4a52;--look-highlight-hover: #fff1f3;--accent: #ff576d;--accent-fg: var(--look-on-brand)}body.theme-client.look-v2{--look-brand: #22c55e;--look-brand-strong: #16a34a;--look-brand-soft: rgba(34, 197, 94, .2);--look-on-brand: #052e16;--look-ink: #15803d;--look-brand-disabled: #bbf7d0;--look-on-brand-disabled: #3f6b50;--look-highlight-hover: #f0fdf4;--accent: #15803d;--accent-fg: var(--look-on-brand)}body.theme-technician.look-v2{--look-brand: #a78bfa;--look-brand-strong: #8b5cf6;--look-brand-soft: rgba(167, 139, 250, .22);--look-on-brand: #2e1065;--look-ink: #6d28d9;--look-brand-disabled: #ddd6fe;--look-on-brand-disabled: #5b4d82;--look-highlight-hover: #f5f3ff;--accent: #6d28d9;--accent-fg: var(--look-on-brand)}body.look-v2{--yellow: var(--look-brand);--yellow-strong: var(--look-brand-strong);--yellow-soft: var(--look-brand-soft);--on-yellow: var(--look-on-brand);--bg: #f4f5f7;--panel: #ffffff;--panel-2: #f7f8fa;--border: #8e96a3;--text: #15171c;--muted: #2a3038;--accent-soft: var(--look-brand-soft);--sidebar-bg: #ffffff;--hover: rgba(17, 24, 39, .04);--shadow: 0 1px 2px rgba(16, 24, 40, .05), 0 1px 3px rgba(16, 24, 40, .04);--glow-1: transparent;--glow-2: transparent;--field-bg: #ffffff;--locate-0: color-mix(in srgb, var(--look-brand) 34%, transparent);--locate-35: color-mix(in srgb, var(--look-brand) 24%, transparent);--locate-100: color-mix(in srgb, var(--look-brand) 6%, transparent);background:var(--bg)}body.look-v2 .field label,body.look-v2 .dprs-timesheet-field>span,body.look-v2 .filter-group-label{color:#000;font-family:var(--font);font-size:.8rem;font-weight:700;letter-spacing:.03em}body.look-v2 .table th,body.look-v2 .data-table th{color:#000;background:#eef1f4;font-family:var(--font);font-size:.75rem;font-weight:700;letter-spacing:.04em}body.look-v2 .dprs-readonly-grid dt{color:#000;font-size:.72rem;font-weight:700}body.look-v2 .dprs-readonly-grid dd{color:#3d4654;font-size:.95rem;font-weight:500;letter-spacing:0;text-transform:none}body.look-v2 .table td,body.look-v2 .data-table td{color:#15171c}body.look-v2 .dprs-timesheet-field{background:var(--panel-2);border-color:var(--border)}body.look-v2 .dprs-detail-stack .dprs-timesheet-field{background:transparent;border:0}body.look-v2 .btn{border-color:#8e96a3;font-weight:550}body.look-v2 .btn:hover:not(:disabled):not(.btn-primary):not(.btn-success):not(.btn-danger):not(.danger){border-color:#b0b6c0;background:#f3f4f6;color:var(--text)}body.look-v2 .btn-primary{background:var(--look-brand);border-color:var(--look-brand);color:var(--look-on-brand);font-weight:650;box-shadow:0 1px #10182814}body.look-v2 .btn-primary:hover:not(:disabled){background:var(--look-brand-strong);border-color:var(--look-brand-strong);color:var(--look-on-brand);filter:none}body.look-v2 .btn-primary:disabled{background:var(--look-brand-disabled);border-color:var(--look-brand-disabled);color:var(--look-on-brand-disabled)}body.look-v2 .btn-highlight{color:var(--text);background:#fff;border-color:#c9ced5}body.look-v2 .btn-highlight:hover:not(:disabled){color:var(--text);background:var(--look-highlight-hover);border-color:var(--look-brand-strong)}body.look-v2 .btn:focus-visible,body.look-v2 .files-attach-btn:focus-within{outline:2px solid var(--look-brand);outline-offset:2px}body.look-v2 .field input,body.look-v2 .field select,body.look-v2 .field textarea,body.look-v2 .dprs-timesheet-field input,body.look-v2 .dprs-timesheet-field select,body.look-v2 .dprs-timesheet-field textarea,body.look-v2 .time-stepper{border-color:#6a7280}body.look-v2 .field input:focus,body.look-v2 .field select:focus,body.look-v2 .field textarea:focus{outline:none;border-color:var(--look-brand-strong);box-shadow:0 0 0 3px var(--look-brand-soft)}body.look-v2 .panel,body.look-v2 .data-table-wrap,body.look-v2 .wr-list-wrap{border-color:var(--border)}body.look-v2 .dprs-layout .accordion-detail-panel>.dprs-detail-body,body.look-v2 .dprs-detail-body{--border: #7d8592;border-color:#7d8592}body.look-v2 .workspace-bar{background:#ffffffdb;-webkit-backdrop-filter:saturate(1.4) blur(8px);backdrop-filter:saturate(1.4) blur(8px)}body.look-v2 .crumbs,body.look-v2 .workspace-bar-meta,body.look-v2 .muted,body.look-v2 .dprs-page-lede,body.look-v2 .list-expand-hint,body.look-v2 .filter-day-toggle,body.look-v2 .wr-list-filters .muted,body.look-v2 .dprs-page-actions .filter-day-toggle{color:#2a3038}body.look-v2 .crumbs strong{color:#000}body.look-v2 .page-kicker{color:var(--look-ink);font-family:var(--font);font-size:.8125rem;font-weight:650;letter-spacing:.01em;text-transform:none}body.look-v2 .table tr:hover td{background:#f8f9fb}body.look-v2 .pill:not(.active){color:#1a1d23;font-weight:550}body.look-v2 .pill.active{background:var(--look-brand);border-color:var(--look-brand);color:var(--look-on-brand)}body.look-v2 .acc-section:not(.acc-section--attention){border-color:var(--border);background:var(--panel)}body.look-v2 .acc-section:not(.acc-section--attention)>.acc-section-summary{background:var(--panel-2);box-shadow:inset 3px 0 color-mix(in srgb,var(--acc-tone) 75%,transparent)}body.look-v2 .acc-section:not(.acc-section--attention)[open]>.acc-section-summary{border-bottom-color:var(--border)}body.look-v2 .acc-section:not(.acc-section--attention)>.acc-section-summary:hover{background:#f0f2f5}body.look-v2 .acc-section-summary:before{border-color:var(--muted)}body.look-v2 .acc-section--default,body.look-v2 .acc-section--job,body.look-v2 .acc-section--action{--acc-tone: var(--look-brand)}body.look-v2 .badge{border-color:transparent;font-weight:650}body.look-v2 .badge.badge-neutral,body.look-v2 .badge.badge-archived{background:#eef0f3;color:#2f3540}body.look-v2 .badge.badge-new{background:#dbeafe;color:#1e3a8a}body.look-v2 .badge.badge-progress{background:#fde7b0;color:#5c3700}body.look-v2 .badge.badge-review{background:#e3e8ff;color:#1e1b4b}body.look-v2 .badge.badge-submitted{background:#d5f5ef;color:#134e4a}body.look-v2 .badge.badge-flagged{background:#fde2e2;color:#8f1c14}body.look-v2 .badge.badge-accepted{background:#dcf5e4;color:#14532d}body.look-v2 .lifecycle-track li.active .lifecycle-dot{background:var(--look-brand);box-shadow:0 0 0 3px var(--look-brand-soft)}body.look-v2 .sidebar{border-right-color:var(--border)}body.look-v2 .sidebar .nav-label{color:#5b6370;letter-spacing:.06em}body.look-v2 .sidebar .nav-item.active{color:var(--text);background:var(--look-brand-soft);box-shadow:none;border-left-color:var(--look-brand);font-weight:650}body.look-v2 .sidebar .nav-item:hover:not(.active),body.look-v2 .sidebar .nav-chevron:hover{background:#f3f4f6}body.look-v2 .sidebar .nav-children,body.look-v2 .sidebar .sidebar-footer{border-color:var(--border)}body.look-v2 .sidebar .btn{border-color:#8e96a3}body.look-v2 .sidebar .signout-btn:hover:not(:disabled):not(.is-active){color:var(--look-ink);background:var(--look-brand-soft);border-color:var(--look-brand)}body.look-v2 .sidebar .signout-btn:active:not(:disabled),body.look-v2 .sidebar .signout-btn.is-active{color:var(--look-on-brand);background:var(--look-brand);border-color:var(--look-brand)}body.look-v2 .avatar{background:var(--look-brand);color:var(--look-on-brand)}body.look-v2 .brand-role{color:var(--text);background:var(--look-brand-soft);border-color:color-mix(in srgb,var(--look-brand) 38%,var(--border))}body.look-v2.sidebar-dark{--sidebar-bg: #15171c}body.look-v2.sidebar-dark .sidebar{--sb-text: #eef0f3;--sb-muted: #b4bbc4;--sb-line: rgba(255, 255, 255, .1);background:var(--sidebar-bg);border-right-color:var(--sidebar-bg);color:var(--sb-text);scrollbar-color:#3a3f48 transparent}body.look-v2.sidebar-dark .sidebar .brand-text strong,body.look-v2.sidebar-dark .sidebar .user-chip strong{color:#fff}body.look-v2.sidebar-dark .sidebar .brand{border-bottom-color:var(--sb-line)}body.look-v2.sidebar-dark .sidebar .brand-role{color:#fff;background:color-mix(in srgb,var(--look-brand) 28%,transparent);border-color:color-mix(in srgb,var(--look-brand) 52%,transparent)}body.look-v2.sidebar-dark .sidebar .brand-text span,body.look-v2.sidebar-dark .sidebar .nav-label,body.look-v2.sidebar-dark .sidebar .app-version,body.look-v2.sidebar-dark .sidebar .nav-child-meta,body.look-v2.sidebar-dark .sidebar .nav-chevron{color:var(--sb-muted)}body.look-v2.sidebar-dark .sidebar .user-chip span{color:var(--look-brand)}body.look-v2.sidebar-dark .sidebar .nav-item,body.look-v2.sidebar-dark .sidebar .nav-item.ancestor,body.look-v2.sidebar-dark .sidebar .nav-item:hover,body.look-v2.sidebar-dark .sidebar .nav-item:hover:not(.active),body.look-v2.sidebar-dark .sidebar .nav-item:active,body.look-v2.sidebar-dark .sidebar .nav-item:focus,body.look-v2.sidebar-dark .sidebar .nav-item:focus-visible,body.look-v2.sidebar-dark .sidebar .nav-item.ancestor:hover,body.look-v2.sidebar-dark .sidebar .nav-chevron,body.look-v2.sidebar-dark .sidebar .nav-chevron:hover,body.look-v2.sidebar-dark .sidebar .nav-chevron:active,body.look-v2.sidebar-dark .sidebar .nav-chevron:focus-visible{color:#fff}body.look-v2.sidebar-dark .sidebar .nav-item:hover,body.look-v2.sidebar-dark .sidebar .nav-item:hover:not(.active),body.look-v2.sidebar-dark .sidebar .nav-item:active,body.look-v2.sidebar-dark .sidebar .nav-item:focus-visible,body.look-v2.sidebar-dark .sidebar .nav-chevron:hover,body.look-v2.sidebar-dark .sidebar .nav-chevron:active,body.look-v2.sidebar-dark .sidebar .nav-chevron:focus-visible{background:#ffffff1a}body.look-v2.sidebar-dark .sidebar .nav-item.active,body.look-v2.sidebar-dark .sidebar .nav-item.active:hover,body.look-v2.sidebar-dark .sidebar .nav-item.active:active,body.look-v2.sidebar-dark .sidebar .nav-item.active:focus-visible{color:#fff;background:color-mix(in srgb,var(--look-brand) 32%,#15171c);border-left-color:var(--look-brand)}body.look-v2.sidebar-dark .sidebar .nav-item svg,body.look-v2.sidebar-dark .sidebar .nav-item:hover svg,body.look-v2.sidebar-dark .sidebar .nav-item:active svg,body.look-v2.sidebar-dark .sidebar .nav-item.active svg{color:inherit;opacity:1}body.look-v2.sidebar-dark .sidebar .nav-item.active svg{color:var(--look-brand)}body.look-v2.sidebar-dark .sidebar .nav-item:hover .nav-child-meta,body.look-v2.sidebar-dark .sidebar .nav-item:active .nav-child-meta,body.look-v2.sidebar-dark .sidebar .nav-item.active .nav-child-meta{color:inherit;opacity:.8}body.look-v2.sidebar-dark .sidebar .nav-children,body.look-v2.sidebar-dark .sidebar .sidebar-footer{border-color:var(--sb-line)}body.look-v2.sidebar-dark .sidebar .btn,body.look-v2.sidebar-dark .sidebar .btn:hover:not(:disabled),body.look-v2.sidebar-dark .sidebar .btn:active:not(:disabled),body.look-v2.sidebar-dark .sidebar .btn:focus-visible,body.look-v2.sidebar-dark .sidebar .signout-btn,body.look-v2.sidebar-dark .sidebar .signout-btn:hover:not(:disabled),body.look-v2.sidebar-dark .sidebar .signout-btn:hover:not(:disabled):not(.is-active),body.look-v2.sidebar-dark .sidebar .signout-btn:active:not(:disabled),body.look-v2.sidebar-dark .sidebar .signout-btn.is-active,body.look-v2.sidebar-dark .sidebar .signout-btn:focus-visible{color:#fff;background:transparent;border-color:#ffffff47}body.look-v2.sidebar-dark .sidebar .btn:hover:not(:disabled),body.look-v2.sidebar-dark .sidebar .btn:focus-visible,body.look-v2.sidebar-dark .sidebar .signout-btn:hover:not(:disabled),body.look-v2.sidebar-dark .sidebar .signout-btn:hover:not(:disabled):not(.is-active),body.look-v2.sidebar-dark .sidebar .signout-btn:focus-visible{background:color-mix(in srgb,var(--look-brand) 22%,#1b1d22);border-color:color-mix(in srgb,var(--look-brand) 65%,#ffffff);color:#fff}body.look-v2.sidebar-dark .sidebar .btn:active:not(:disabled),body.look-v2.sidebar-dark .sidebar .signout-btn:active:not(:disabled),body.look-v2.sidebar-dark .sidebar .signout-btn.is-active{background:color-mix(in srgb,var(--look-brand) 38%,#15171c);border-color:var(--look-brand);color:#fff}@keyframes row-locate-v2{0%{background-color:var(--locate-0)}35%{background-color:var(--locate-35)}to{background-color:var(--locate-100)}}body.look-v2 .table tbody tr.row-focus-glow,body.look-v2 .data-table tbody tr.row-focus-glow{outline:none}body.look-v2 .table tbody tr.row-focus-glow>td,body.look-v2 .data-table tbody tr.row-focus-glow>td{animation:row-locate-v2 2.4s cubic-bezier(.22,1,.36,1) 1 both}body.look-v2 .table tbody tr.row-focus-glow>td:first-child,body.look-v2 .data-table tbody tr.row-focus-glow>td:first-child{box-shadow:inset 4px 0 0 0 var(--look-brand)}body.look-v2 .wr-list-wrap .table tbody tr.row-focus-glow td.table-actions-cell{background:transparent}@media(prefers-reduced-motion:reduce){body.look-v2 .table tbody tr.row-focus-glow>td,body.look-v2 .data-table tbody tr.row-focus-glow>td{animation:none;background-color:color-mix(in srgb,var(--look-brand) 14%,transparent)}}:root{--grace-amber: #ffb547;--grace-ember: #ff7a1a;--grace-gold: #f5c542;--grace-ink: #fff6ea;--grace-mute: rgba(255, 240, 220, .72);--grace-glass: rgba(24, 16, 10, .58);--grace-glass-strong: rgba(30, 20, 12, .78);--grace-line: rgba(255, 200, 140, .18)}@property --grace-angle{syntax: "<angle>"; initial-value: 0deg; inherits: false;}.nav-item.nav-grace{position:relative;isolation:isolate;color:var(--text);font-weight:600;border-left-color:transparent}.nav-item.nav-grace:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;padding:1.5px;border-radius:inherit;background:conic-gradient(from var(--grace-angle),transparent 0deg,transparent 200deg,var(--grace-ember) 260deg,var(--grace-gold) 300deg,#fff3c4 320deg,transparent 360deg);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;animation:grace-spin 3.2s linear infinite;pointer-events:none;z-index:-1}.nav-item.nav-grace:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;box-shadow:0 0 14px #ff963259;opacity:.5;animation:grace-breathe 3.2s ease-in-out infinite;pointer-events:none;z-index:-2}.nav-item.nav-grace .nav-grace-mark{flex:none;filter:drop-shadow(0 0 4px rgba(255,150,50,.6))}.nav-item.nav-grace.active{background:linear-gradient(90deg,#ff8c2829,#ffbe500f);border-left-color:transparent}@keyframes grace-spin{to{--grace-angle: 360deg}}@keyframes grace-breathe{0%,to{opacity:.35}50%{opacity:.9}}.grace-page{position:relative;isolation:isolate;display:flex;flex-direction:column;gap:1rem;min-height:calc(100dvh - 6.5rem);margin:-.25rem -.5rem 0;padding:1.5rem clamp(1rem,3vw,2.25rem) 1.25rem;border-radius:16px;overflow:hidden;color:var(--grace-ink);background:#1a120c}.grace-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;overflow:hidden}.grace-backdrop:before{content:"";position:absolute;top:-4%;right:-4%;bottom:-4%;left:-4%;background:url(/grace/grace-bg.webp) center 40% / cover no-repeat;animation:grace-drift 38s ease-in-out infinite alternate}.grace-backdrop:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(120% 80% at 70% 10%,transparent 0%,rgba(20,12,6,.35) 60%),linear-gradient(180deg,#140c0640,#140c068c 55%,#0e0905e0)}@keyframes grace-drift{0%{transform:scale(1) translateZ(0)}to{transform:scale(1.08) translate3d(-1.5%,-1%,0)}}.grace-hero{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.grace-hero h1{margin:0;font-size:clamp(1.6rem,3vw,2.1rem);font-weight:650;letter-spacing:-.01em;text-shadow:0 2px 18px rgba(0,0,0,.45)}.grace-hero p{margin:.15rem 0 0;color:var(--grace-mute);font-size:.92rem}.grace-hero>div:nth-child(2){flex:1 1 18rem}.grace-chip{padding:.3rem .7rem;border:1px solid rgba(255,190,110,.4);border-radius:999px;font-size:.72rem;font-weight:600;color:#ffd8a6;background:#28180a8c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.grace-orb{position:relative;display:grid;place-items:center;width:3rem;height:3rem;flex:none;border-radius:50%;background:radial-gradient(circle at 35% 30%,#3a2414,#1c110a 70%);box-shadow:0 0 0 1px #ffdca059,0 0 26px #ff8c288c;animation:grace-breathe-orb 4s ease-in-out infinite}.grace-orb span{position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px;border-radius:50%;border:1.5px solid transparent;border-top-color:#ffe6aae6;border-right-color:#ff963c80;animation:spin-orb 2.8s linear infinite}@keyframes grace-breathe-orb{0%,to{box-shadow:0 0 0 1px #ffdca059,0 0 22px #ff8c2873}50%{box-shadow:0 0 0 1px #ffdca080,0 0 38px #ff9632bf}}@keyframes spin-orb{to{transform:rotate(360deg)}}.grace-chat{position:relative;flex:1;display:flex;flex-direction:column;min-height:26rem;max-width:62rem;width:100%;margin:0 auto;border:1px solid var(--grace-line);border-radius:18px;background:var(--grace-glass);backdrop-filter:blur(16px) saturate(1.15);-webkit-backdrop-filter:blur(16px) saturate(1.15);box-shadow:0 24px 60px #00000059;overflow:hidden}.grace-chat.is-dragging{border-color:var(--grace-amber)}.grace-log{flex:1;display:flex;flex-direction:column;gap:.9rem;padding:1.25rem 1.25rem .75rem;overflow-y:auto;max-height:calc(100dvh - 21rem);min-height:14rem}.grace-turn{display:flex;gap:.6rem;align-items:flex-end;max-width:100%;animation:grace-rise .38s cubic-bezier(.2,.8,.2,1) both}.grace-turn--user{justify-content:flex-end}@keyframes grace-rise{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}.grace-avatar{flex:none;display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;border:1px solid rgba(255,190,110,.45);background:radial-gradient(circle at 35% 30%,#3a2414,#1c110a 75%);box-shadow:0 0 14px #ff8c2866}.grace-orb img,.grace-avatar img{display:block;-webkit-user-select:none;user-select:none}.grace-avatar.is-thinking{animation:grace-breathe-orb 1.6s ease-in-out infinite}.grace-bubble{max-width:min(44rem,86%);padding:.7rem .9rem;border:1px solid var(--grace-line);border-radius:14px 14px 14px 4px;background:var(--grace-glass-strong);font-size:.9rem;line-height:1.5}.grace-bubble p{margin:0}.grace-bubble p+p{margin-top:.45rem}.grace-turn--user .grace-bubble{border-radius:14px 14px 4px;border-color:#ffbe6459;background:linear-gradient(135deg,#ff96324d,#ffbe5029)}.grace-user-text{white-space:pre-wrap;word-break:break-word}.grace-bubble--error{border-color:#ff6e5a73;color:#ffd3c7}.grace-bubble--reading{display:flex;align-items:center;gap:.6rem;color:var(--grace-mute);background:linear-gradient(100deg,transparent 30%,rgba(255,200,120,.14) 50%,transparent 70%) 0 0 / 220% 100%,var(--grace-glass-strong);animation:grace-shimmer 1.6s linear infinite}@keyframes grace-shimmer{0%{background-position:120% 0,0 0}to{background-position:-120% 0,0 0}}.grace-dots{display:inline-flex;gap:4px}.grace-dots i{width:6px;height:6px;border-radius:50%;background:var(--grace-amber);animation:grace-dot 1.1s ease-in-out infinite}.grace-dots i:nth-child(2){animation-delay:.15s}.grace-dots i:nth-child(3){animation-delay:.3s}@keyframes grace-dot{0%,80%,to{transform:translateY(0);opacity:.45}40%{transform:translateY(-5px);opacity:1}}.grace-files{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.45rem}.grace-file{display:inline-flex;align-items:center;gap:.3rem;max-width:100%;padding:.2rem .55rem;border:1px solid var(--grace-line);border-radius:999px;font-size:.76rem;background:#ffffff0f;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grace-file small{color:var(--grace-mute);text-transform:capitalize}.grace-file button{border:0;background:transparent;color:var(--grace-mute);font-size:.95rem;line-height:1;cursor:pointer}.grace-file button:hover{color:var(--grace-ink)}.grace-draft{max-width:min(46rem,92%);width:100%}.grace-reply-summary{font-weight:550}.grace-reply-gist{color:var(--grace-mute);font-size:.86rem}.grace-draft-card{margin-top:.6rem;padding:.85rem .95rem;border:1px solid rgba(255,200,130,.26);border-radius:12px;background:#0c080473}.grace-draft-head{display:grid;gap:.15rem;margin-bottom:.7rem}.grace-draft-kicker,.grace-section-title{display:flex;align-items:center;gap:.45rem;font-size:.66rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--grace-amber)}.grace-draft-head strong{font-size:1rem}.grace-draft-title{color:var(--grace-mute);font-size:.84rem}.grace-fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(11.5rem,1fr));gap:.55rem 1rem;margin:0}.grace-fields dt{font-size:.66rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--grace-mute)}.grace-fields dd{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem;margin:.1rem 0 0;font-size:.86rem;word-break:break-word}.grace-fields .is-empty dd{color:#fff0dc61}.grace-tag{padding:0 .4rem;border-radius:999px;font-size:.6rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.grace-tag--saved{color:#a8f0c0;background:#28aa5a38}.grace-tag--new{color:#bfe0ff;background:#468ce63d}.grace-tag--pick,.grace-tag--check{color:#ffd79a;background:#ffa0283d}.grace-draft-desc{margin-top:.7rem!important;color:var(--grace-mute);font-size:.84rem}.grace-questions{margin-top:.75rem}.grace-questions ul{margin:.3rem 0 0;padding-left:1.1rem;font-size:.86rem}.grace-mini{padding:.05rem .5rem;border:1px solid rgba(255,200,130,.35);border-radius:999px;background:transparent;color:var(--grace-ink);font-size:.66rem;letter-spacing:0;text-transform:none;cursor:pointer}.grace-mini:hover{background:#ffc8821f}.grace-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin-top:.9rem}.grace-primary,.grace-ghost{border-radius:999px;font:inherit;font-size:.85rem;font-weight:600;cursor:pointer;transition:transform .15s ease,box-shadow .2s ease,background .2s ease}.grace-primary{padding:.5rem 1.1rem;border:0;color:#2a1404;background:linear-gradient(135deg,var(--grace-gold),var(--grace-ember));box-shadow:0 6px 20px #ff781e59}.grace-primary:hover{transform:translateY(-1px);box-shadow:0 10px 26px #ff781e80}.grace-ghost{padding:.48rem .95rem;border:1px solid var(--grace-line);color:var(--grace-ink);background:#ffffff0a}.grace-ghost:hover{background:#ffffff1a}.grace-draft-usage{margin-left:auto;font-size:.7rem;color:#fff0dc73}.grace-composer{display:grid;gap:.5rem;padding:.75rem 1rem .8rem;border-top:1px solid var(--grace-line);background:#100a068c}.grace-samples{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem;font-size:.75rem;color:var(--grace-mute)}.grace-sample{padding:.25rem .7rem;border:1px solid rgba(255,190,110,.35);border-radius:999px;background:#ffa03c1a;color:var(--grace-ink);font:inherit;font-size:.75rem;cursor:pointer;transition:background .2s ease,transform .15s ease}.grace-sample:hover{background:#ffa03c38;transform:translateY(-1px)}.grace-files--pending{margin:0}.grace-input-row{display:flex;align-items:flex-end;gap:.5rem}.grace-input-row textarea{flex:1;min-height:3.2rem;max-height:12rem;padding:.65rem .85rem;border:1px solid var(--grace-line);border-radius:14px;background:#00000047;color:var(--grace-ink);font:inherit;font-size:.9rem;line-height:1.45;resize:vertical;transition:border-color .2s ease,box-shadow .2s ease}.grace-input-row textarea::placeholder{color:#fff0dc73}.grace-input-row textarea:focus{outline:none;border-color:#ffb45ab3;box-shadow:0 0 0 3px #ff96322e}.grace-icon-btn,.grace-send{flex:none;display:grid;place-items:center;border-radius:50%;cursor:pointer;transition:transform .15s ease,box-shadow .2s ease,opacity .2s ease}.grace-icon-btn{width:2.6rem;height:2.6rem;border:1px solid var(--grace-line);background:#ffffff0d;color:var(--grace-ink)}.grace-icon-btn:hover:not(:disabled){background:#ffffff1f}.grace-send{position:relative;width:2.9rem;height:2.9rem;border:0;color:#2a1404;background:linear-gradient(135deg,var(--grace-gold),var(--grace-ember));box-shadow:0 6px 18px #ff781e66}.grace-send:not(:disabled):after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:50%;border:2px solid rgba(255,170,70,.6);animation:grace-ping 1.8s ease-out infinite}.grace-send:hover:not(:disabled){transform:translateY(-1px) scale(1.04)}.grace-send:disabled,.grace-icon-btn:disabled{opacity:.4;cursor:default}@keyframes grace-ping{0%{transform:scale(.9);opacity:.9}to{transform:scale(1.35);opacity:0}}.grace-hint{margin:0;font-size:.7rem;color:#fff0dc80}.grace-drop{position:absolute;top:.6rem;right:.6rem;bottom:.6rem;left:.6rem;z-index:2;display:grid;place-items:center;border:2px dashed rgba(255,180,90,.75);border-radius:14px;background:#1e1006b8;color:var(--grace-ink);font-weight:600;pointer-events:none}.app-shell.is-compact .grace-page,html.is-mobile .grace-page{margin:-1rem -1rem 0;padding:1rem .85rem .75rem;border-radius:0}@media(max-width:640px){.grace-page{margin:-.5rem -.75rem 0;padding:1rem .75rem;border-radius:0}.grace-bubble,.grace-draft{max-width:100%}.grace-log{padding:1rem .75rem .5rem}}@media(prefers-reduced-motion:reduce){.nav-item.nav-grace:before,.nav-item.nav-grace:after,.grace-backdrop:before,.grace-orb,.grace-orb span,.grace-avatar.is-thinking,.grace-bubble--reading,.grace-dots i,.grace-send:after,.grace-turn{animation:none!important}}.grace-table{width:100%;margin-top:.35rem;border-collapse:collapse;font-size:.82rem}.grace-table th{padding:.25rem .4rem;font-size:.62rem;font-weight:600;letter-spacing:.04em;text-align:left;text-transform:uppercase;color:var(--grace-mute)}.grace-table td{padding:.3rem .4rem;border-top:1px solid var(--grace-line);word-break:break-word}.grace-select{max-width:100%;padding:.3rem .5rem;border:1px solid var(--grace-line);border-radius:8px;background:#0c080499;color:var(--grace-ink);font:inherit;font-size:.84rem}.grace-error-text{color:#ffb4a8}
