@import"https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;0,9..40,800;1,9..40,400&family=Outfit:wght@600;700;800&display=swap";:root{--bg-1: #f3f8ff;--bg-2: #e8f1ff;--surface: #ffffff;--surface-muted: #f7fbff;--line: #d4e4ff;--line-strong: #b7d0ff;--text: #11213f;--text-soft: #5c6b87;--primary: #1165d9;--primary-strong: #0a4eb0;--accent: #00a5a3;--accent-warm: #ff9a3d;--shadow-soft: 0 14px 34px rgba(12, 54, 122, .12);--shadow-hover: 0 18px 40px rgba(5, 57, 128, .2);--radius-lg: 18px;--radius-md: 14px;--font-ui: "DM Sans", "Segoe UI", sans-serif;--font-display: "Outfit", "DM Sans", sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:var(--font-ui);color:var(--text);background:radial-gradient(1200px 420px at 100% -8%,#1165d933,#1165d900),radial-gradient(900px 380px at -8% 24%,#00a5a32e,#00a5a300),linear-gradient(150deg,var(--bg-1) 0%,var(--bg-2) 100%);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.ant-typography,.ant-btn,.ant-input,.ant-select,.ant-form,.ant-tag,.ant-menu,.ant-modal,.ant-table{font-family:var(--font-ui)}.ant-layout,.ant-layout *{transition:background-color .26s ease,border-color .26s ease,color .2s ease,box-shadow .3s ease,transform .3s ease}@keyframes pulse{0%{transform:scale(.95);opacity:.52}50%{transform:scale(1.08);opacity:.9}to{transform:scale(.95);opacity:.52}}@keyframes shimmer{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@keyframes login-atmosphere-shift{0%{opacity:.75;transform:translateZ(0)}to{opacity:1;transform:translate3d(-1.5%,1%,0)}}@keyframes login-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.login-atmosphere,.login-shell,.login-pwa-card,.login-footer{animation:none!important}}.crm-layout{min-height:100vh;background:transparent!important;align-items:stretch}.crm-main-layout{background:transparent!important;min-height:100vh}.crm-content{padding:24px}.app-shell{min-height:calc(100vh - 132px);border-radius:var(--radius-lg);border:1px solid var(--line);background:linear-gradient(180deg,var(--surface) 0%,var(--surface-muted) 100%);box-shadow:var(--shadow-soft);padding:24px;animation:fadeSlideIn .45s ease}.loader-wrap{min-height:360px;display:flex;align-items:center;justify-content:center}.crm-header{background:#ffffffc7!important;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:10}.crm-header-title{margin:0!important;color:var(--text)!important;font-family:var(--font-display);letter-spacing:-.02em;font-weight:700}.crm-header-page{color:var(--text-soft);font-weight:600}.crm-sider{position:sticky!important;background:linear-gradient(180deg,#1a2332,#243044 55%,#2a3548)!important;border-right:1px solid rgba(255,255,255,.06);box-shadow:4px 0 24px #0f172a1f;top:0;align-self:flex-start;height:100vh;overflow:hidden;z-index:20}.crm-sider:before{content:"";position:absolute;inset:0;background:radial-gradient(120% 60% at 0% 0%,rgba(245,158,11,.12),transparent 55%),linear-gradient(180deg,#ffffff0a,#fff0);pointer-events:none}.crm-sider-inner{min-height:100vh;display:flex;flex-direction:column;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.35) transparent}.crm-sider-inner::-webkit-scrollbar{width:8px}.crm-sider-inner::-webkit-scrollbar-thumb{background:#ffffff59;border-radius:999px}.crm-sider-inner::-webkit-scrollbar-track{background:transparent}.crm-sider .ant-layout-sider-children{height:100%}.crm-sider-head{min-height:84px;display:flex;align-items:flex-start;gap:12px;padding:16px 16px 14px;border-bottom:1px solid rgba(148,163,184,.22)}.crm-sider-logo-wrap{width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,#f59e0b,#d97706);display:inline-flex;align-items:center;justify-content:center;box-shadow:inset 0 0 0 1px #ffffff2e,0 6px 14px #0f172a33}.crm-sider-logo{color:#fff;font-size:20px}.crm-sider-brand{display:grid;line-height:1.15;flex:1}.crm-sider-brand-hidden{display:none}.crm-sider-title{color:#fff!important;font-family:var(--font-display);letter-spacing:-.02em;font-size:17px!important;line-height:1.2;text-shadow:0 1px 1px rgba(7,24,53,.35)}.crm-sider-subtitle{color:#cbd5e1e6;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;margin-top:2px}.crm-sider-action{padding:14px 14px 8px}.crm-sider-toggle{color:#fff!important;background:#ffffff14!important;border:1px solid rgba(255,255,255,.06)!important;flex-shrink:0}.crm-sider-toggle:hover,.crm-sider-toggle:focus{background:#ffffff1f!important;color:#fff!important}.sidebar-create-btn{background:linear-gradient(135deg,#fbbf24,#f59e0b 55%,#d97706)!important;color:#1f1400!important;border:0!important;box-shadow:0 10px 20px #0f172a47,inset 0 1px #ffffff59;font-family:var(--font-display)!important;font-weight:700;letter-spacing:-.01em;font-size:15px!important;height:46px;border-radius:12px!important;transition:transform .2s ease,box-shadow .2s ease!important}.sidebar-create-btn:hover,.sidebar-create-btn:focus{transform:translateY(-2px);color:#1f1400!important;box-shadow:0 14px 24px #0f172a57,inset 0 1px #fff6}.sidebar-create-btn:active{transform:translateY(-1px) scale(.995)}.sidebar-create-btn-collapsed{width:56px!important;min-width:56px!important;margin-inline:auto;padding-inline:0!important}.crm-sider-menu{background:transparent!important;padding:8px 10px 12px!important;border-inline-end:0!important;flex:1}.crm-sider-menu .ant-menu-item{color:#fff!important;border-radius:12px;margin-bottom:8px;height:48px;line-height:48px;padding-inline:14px!important;border:1px solid rgba(255,255,255,.04);transition:transform .18s ease,box-shadow .18s ease}.crm-sider-menu .ant-menu-item .ant-menu-item-icon{width:28px;height:28px;border-radius:8px;background:#ffffff14;display:inline-flex;align-items:center;justify-content:center;margin-top:10px;color:#fffffff2}.crm-sider-menu .ant-menu-item .ant-menu-title-content{font-weight:600;letter-spacing:.01em}.crm-sider-collapsed .crm-sider-head{min-height:122px;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:18px 8px 14px}.crm-sider-collapsed .crm-sider-action{display:flex;justify-content:center;padding:12px 8px 10px}.crm-sider-collapsed .crm-sider-menu{padding:12px 8px!important}.crm-sider-collapsed .crm-sider-menu.ant-menu-inline-collapsed{width:100%!important}.crm-sider-collapsed .crm-sider-menu .ant-menu-item{width:56px;height:56px;line-height:56px;padding-inline:0!important;margin-bottom:10px;margin-inline:auto;border-radius:18px;border:1px solid rgba(255,255,255,.1);background:linear-gradient(145deg,#ffffff14,#ffffff08)!important;box-shadow:inset 0 1px #ffffff14;text-align:center}.crm-sider-collapsed .crm-sider-menu .ant-menu-item .ant-menu-item-icon{width:30px;height:30px;border-radius:12px;margin-top:0;margin-inline:auto;background:#fff3;font-size:16px}.crm-sider-collapsed .crm-sider-menu .ant-menu-title-content,.crm-sider-collapsed .crm-sider-footer{display:none}.crm-sider-collapsed .crm-sider-logo-wrap{width:46px;height:46px;border-radius:16px}.crm-sider-collapsed .crm-sider-logo{font-size:22px}.crm-sider-collapsed .crm-sider-toggle{width:34px!important;min-width:34px!important;height:34px!important;border-radius:999px!important}.crm-sider-collapsed .sidebar-create-btn-collapsed{width:58px!important;min-width:58px!important;height:58px;border-radius:18px!important;box-shadow:0 14px 26px #071c406b,inset 0 1px #ffffff7a}.crm-sider-collapsed .crm-sider-menu .ant-menu-item:hover{transform:translateY(-2px) scale(1.03);border-color:#e7f4ffe6;background:linear-gradient(145deg,#ffffff47,#aeebff33)!important}.crm-sider-collapsed .crm-sider-menu .ant-menu-item-selected{border-color:#f0f8fffa;background:linear-gradient(160deg,#fff6,#90e3ff40)!important;box-shadow:0 14px 24px #071e4261,inset 0 1px #ffffff38}.crm-sider-menu .ant-menu-item-selected{color:#111827!important;border-color:transparent;background:linear-gradient(135deg,#f8fafc,#fde68a)!important;box-shadow:0 8px 18px #0f172a38;font-weight:700}.crm-sider-menu .ant-menu-item-selected .ant-menu-item-icon{background:#d977062e;color:#92400e}.crm-sider-menu .ant-menu-item:hover{color:#fff!important;border-color:#ffffff1a;background:#ffffff0f!important;transform:translate(3px)}.crm-sider-menu-label{color:#94a3b8e6;text-transform:uppercase;letter-spacing:.1em;font-size:10px;font-weight:700;padding:8px 18px 6px}.crm-sider-footer{margin:10px 12px 14px;border-radius:12px;padding:10px 12px;background:#ffffff0f;border:1px solid rgba(148,163,184,.22)}.crm-sider-footer-text{color:#e2e8f0eb;font-size:12px;line-height:1.4}.crm-header-menu-btn{width:42px!important;height:42px!important;border-radius:10px!important;color:#1f2937!important;background:#f3f4f6!important;border:1px solid #e5e7eb!important;margin-right:8px}.crm-header-menu-btn:hover,.crm-header-menu-btn:focus{background:#e5e7eb!important;color:#111827!important}.crm-header-titles{display:flex;flex-direction:column;gap:2px}.crm-header-left{display:flex;align-items:center;gap:4px;min-width:0}.crm-mobile-backdrop{position:fixed;inset:0;background:#0a182d59;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1190}.crm-header{display:flex!important;align-items:center;justify-content:space-between;gap:16px;padding-inline:20px!important}.crm-header-left{display:flex;flex-direction:row;align-items:center;gap:8px;min-width:0;flex:1}.crm-header-page{line-height:1.2}.crm-header-user-btn{height:auto!important;padding:6px 10px!important;border-radius:14px!important}.crm-header-user-meta{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.crm-header-user-name{line-height:1.2;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crm-sider-role{margin-top:6px}.crm-header{min-height:72px;gap:12px;flex-wrap:nowrap!important}.crm-header-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.crm-header-title-mobile{font-size:17px!important;line-height:1.25!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.crm-header-mobile-brand{display:none;font-size:12px;line-height:1.2}.crm-header-tag{margin:0;border-radius:999px;font-weight:600}.crm-header-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.crm-header-create-btn{box-shadow:0 8px 18px #1165d938}.crm-main-layout{min-width:0}.ant-menu-inline-collapsed-tooltip{border-radius:14px!important}.ant-menu-inline-collapsed-tooltip .ant-tooltip-inner{border-radius:14px!important;background:#0b2249f0!important;color:#f8fbff!important;font-weight:700;letter-spacing:.01em;padding:10px 12px!important;box-shadow:0 16px 30px #071c3d52}.ant-btn-primary{background:linear-gradient(135deg,var(--primary),#2280e5)!important;border-color:var(--primary)!important;box-shadow:0 10px 24px #1165d942}.ant-btn-primary:hover,.ant-btn-primary:focus{background:linear-gradient(135deg,var(--primary-strong),var(--primary))!important;border-color:var(--primary-strong)!important;transform:translateY(-1px)}.dashboard-chart-card:hover,.stat-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover)}.job-card-enhanced .ant-card-body{padding:14px!important}.job-card-image-wrap{height:120px;border-radius:10px;overflow:hidden;border:1px solid #d6e6fb;background:#f3f8ff}.job-card-image{width:100%;height:100%;object-fit:cover;display:block;transition:transform .32s ease}.job-card-enhanced:hover .job-card-image{transform:scale(1.04)}.jobs-filter-shell{border:1px solid #dbeafe;border-radius:14px;background:linear-gradient(160deg,#fff,#f5f9ff);padding:12px;margin-bottom:14px}.jobs-filter-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.jobs-filter-bar{display:grid;grid-template-columns:1.1fr 1fr 1fr 1fr 140px;gap:10px}.jobs-filter-item{width:100%;display:grid;gap:5px}.jobs-filter-label{color:#35557c;font-size:12px;font-weight:700}.jobs-filter-action{display:flex;align-items:end}@media(pointer:coarse){.ant-select-item{min-height:44px!important;padding-block:10px!important}.ant-dropdown-menu-item,.ant-dropdown-menu-item-only-child{min-height:44px!important;display:flex!important;align-items:center}}.metric-row{display:flex;justify-content:space-between;align-items:center;gap:8px}.job-radio-inline{display:flex;flex-wrap:wrap;gap:14px}.ant-checkbox-group{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.role-badge{border-radius:999px!important;font-weight:600;margin-inline-end:0!important}.status-badge{border-radius:999px!important;font-weight:600}.profile-hero{display:flex;gap:14px;align-items:center;margin-bottom:16px;padding:14px;border-radius:16px;background:linear-gradient(135deg,#f4f8ff,#eef7ff);border:1px solid var(--line)}.profile-photo-btn{margin-bottom:18px;width:100%}.user-card-grid{display:grid;grid-template-columns:1fr;gap:12px}.user-card-meta{display:flex;flex-direction:column;gap:4px;margin:14px 0 12px}.user-card-actions{width:100%}.user-audit-cell{font-size:12px;line-height:1.45}.page-lead-text{display:block;margin-bottom:16px}.stat-card,.dashboard-chart-card,.premium-card{border-radius:var(--radius-md)!important;border:1px solid var(--line)!important;box-shadow:0 10px 24px #083e8c17}.stat-card,.dashboard-chart-card{animation:fadeUp .38s ease}.dashboard-premium-card{background:linear-gradient(145deg,#fff,#eef7ff)}.dashboard-click-card{cursor:pointer}.dashboard-customer-row{cursor:pointer;border-radius:10px;padding-inline:8px!important}.dashboard-customer-row:hover{background:#f3f8ff}.dashboard-machine-row{cursor:pointer;border-radius:10px;padding:6px 8px}.dashboard-machine-row:hover{background:#f3f8ff}.trend-wrap{width:100%;min-height:120px;background:linear-gradient(180deg,#f4f9ff,#fff);border-radius:12px;border:1px dashed var(--line-strong);padding:8px}.trend-label-row{margin-top:10px;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.trend-label{display:flex;flex-direction:column;align-items:center;gap:4px}.jobs-editor-modal .ant-modal-content{border-radius:16px;min-height:calc(100vh - 16px);max-height:calc(100vh - 16px);min-height:calc(100dvh - 16px);max-height:calc(100dvh - 16px);display:flex;flex-direction:column;padding:14px 18px 16px;overflow:hidden}.jobs-editor-modal .ant-modal-header{margin-bottom:8px;padding-bottom:10px;border-bottom:1px solid #dce8f8;flex-shrink:0}.jobs-editor-modal-title{font-family:var(--font-display);font-size:20px;font-weight:700;letter-spacing:-.02em;color:#0f2f5c}.jobs-editor-modal .ant-modal-body{flex:1;min-height:0;overflow:auto;overflow-x:hidden;padding-top:4px;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.jobs-editor-modal .job-docket{min-height:0}.auth-boot-loader{min-height:100vh;display:grid;place-items:center;background:radial-gradient(900px 420px at 90% -10%,rgba(17,101,217,.18),transparent),linear-gradient(150deg,#f3f8ff,#e8f1ff)}.auth-boot-loader-inner,.loader-wrap-inner,.pdf-empty-placeholder,.pdf-viewer-page-loading-inner{min-height:48px;min-width:48px}.login-page{--login-ink: #0b2f57;--login-accent: #1d4f91;--login-glow: rgba(46, 167, 183, .22);position:relative;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:28px 16px calc(24px + env(safe-area-inset-bottom,0px));overflow-x:hidden;background:radial-gradient(900px 420px at 12% -10%,rgba(46,167,183,.2),transparent 60%),radial-gradient(820px 480px at 100% 8%,rgba(29,79,145,.28),transparent 55%),linear-gradient(165deg,#071a2f,#0b2f57 38%,#123863 72%,#0f243f)}.login-atmosphere{pointer-events:none;position:absolute;inset:0;background:linear-gradient(120deg,transparent 0%,rgba(255,255,255,.04) 42%,transparent 70%),radial-gradient(circle at 70% 80%,rgba(255,255,255,.05),transparent 40%);animation:login-atmosphere-shift 14s ease-in-out infinite alternate}.login-shell{position:relative;z-index:1;width:100%;max-width:440px;display:flex;flex-direction:column;gap:14px;animation:login-rise .55s ease-out both}.login-card{background:#ffffffeb;border:1px solid rgba(255,255,255,.55);border-radius:22px;padding:32px 28px 26px;box-shadow:0 24px 60px #03122859,0 2px #ffffff8c inset;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.login-brand{display:flex;align-items:center;gap:14px;margin-bottom:22px}.login-logo{border-radius:14px;flex-shrink:0;box-shadow:0 10px 24px #12386347}.login-brand-text{min-width:0}.login-title{margin:0!important;font-family:var(--font-display)!important;font-size:clamp(1.35rem,4.5vw,1.7rem)!important;font-weight:800!important;letter-spacing:-.02em!important;line-height:1.15!important;color:var(--login-ink)!important}.login-subtitle{display:block;color:#5c6b87;font-size:13px;font-weight:500;margin-top:4px;letter-spacing:.01em}.login-alert{margin-bottom:14px;border-radius:12px!important}.login-form .ant-form-item{margin-bottom:14px}.login-card .ant-form-item-label>label{font-weight:600;color:#334155}.login-card .ant-input-affix-wrapper,.login-card .ant-input-password{border-radius:12px!important;min-height:48px;padding-block:8px;background:#fffffff2}.login-card .ant-input-affix-wrapper-focused,.login-card .ant-input-affix-wrapper:focus-within{box-shadow:0 0 0 3px #1d4f9126}.login-options{display:flex;flex-wrap:wrap;gap:8px 18px;margin:2px 0 16px}.login-options .ant-checkbox-wrapper{font-size:13px;color:#475569;-webkit-user-select:none;user-select:none}.login-submit{height:52px!important;border-radius:12px!important;font-weight:700!important;font-size:16px!important;letter-spacing:.01em;box-shadow:0 12px 24px #1165d947!important}.login-submit:disabled{box-shadow:none!important}.login-notice{display:flex;gap:10px;margin-top:18px;padding:12px 12px 11px;border-radius:12px;background:linear-gradient(135deg,#1d4f910f,#2ea7b714);border:1px solid rgba(29,79,145,.12)}.login-notice-icon{color:var(--login-accent);font-size:16px;margin-top:2px;flex-shrink:0}.login-notice-title{display:block;font-size:12px;color:var(--login-ink);margin-bottom:4px}.login-notice-body{display:block;font-size:12px;line-height:1.5;color:#5c6b87}.login-pwa-card{display:grid;grid-template-columns:auto 1fr;gap:10px 12px;align-items:center;padding:14px 14px 12px;border-radius:16px;background:#ffffff24;border:1px solid rgba(255,255,255,.22);color:#e8f1ff;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);animation:login-rise .65s ease-out .08s both}.login-pwa-icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:#ffffff29;font-size:18px}.login-pwa-copy{grid-column:2;min-width:0}.login-pwa-title{margin:0 0 4px!important;color:#fff!important;font-size:14px!important;font-weight:700!important}.login-pwa-desc{display:block;font-size:12px;line-height:1.45;color:#e8f1ffd1}.login-pwa-btn{grid-column:1 / -1;height:42px!important;border-radius:10px!important;font-weight:700!important;border-color:#ffffff59!important;color:#fff!important;background:#ffffff1f!important}.login-pwa-btn:hover{background:#fff3!important;border-color:#ffffff80!important;color:#fff!important}.login-footer{position:relative;z-index:1;width:100%;max-width:440px;margin-top:auto;padding-top:8px;text-align:center;display:flex;flex-direction:column;gap:3px;animation:login-rise .7s ease-out .12s both}.login-footer-line,.login-footer-credit{display:block;font-size:11px;line-height:1.45;color:#e2ecfab8}.login-footer-company{font-weight:700;color:#ffffffeb}.login-footer-link{font-size:11px!important;color:#a8d2fff2!important;text-decoration:none!important}.login-footer-link:hover{color:#fff!important;text-decoration:underline!important}@media(min-height:860px){.login-page{justify-content:center}.login-footer{margin-top:28px}}.users-page{display:flex;flex-direction:column;gap:16px}.users-hero{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;flex-wrap:wrap}.users-hero-title{margin:0!important;font-family:Sora,Manrope,sans-serif!important}.users-hero-copy{margin:6px 0 0!important;max-width:560px}.users-toolbar-card,.users-table-card,.user-card{border-radius:16px!important;box-shadow:var(--shadow-soft)!important;border:1px solid var(--line)!important}.users-empty{padding:48px 16px;background:#fff;border-radius:16px;border:1px dashed var(--line)}.job-docket{--docket-ink: #152238;--docket-line: #c5d4e8;--docket-wash: #f5f8fc;--docket-accent: #0b4f8c;font-family:var(--font-ui);font-size:14px;color:var(--docket-ink)}.job-docket .ant-form-item-label>label,.job-docket .ant-input,.job-docket .ant-select,.job-docket .ant-checkbox-wrapper,.job-docket .ant-radio-wrapper,.job-docket .ant-btn{font-family:var(--font-ui)}.job-docket-sheet{background:linear-gradient(180deg,#fff8faf2,#fff 22%,#f7fafc);border:1.5px solid var(--docket-line);border-radius:10px;padding:clamp(10px,1.4vw,16px);box-shadow:0 10px 30px #0f285014}.job-docket-header{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 18px;border-bottom:2px solid var(--docket-ink);padding-bottom:10px;margin-bottom:10px}.job-docket-title{font-family:var(--font-display);font-size:clamp(18px,2.2vw,24px);font-weight:800;letter-spacing:.06em;color:var(--docket-accent);line-height:1;padding-bottom:8px}.job-docket-header-fields{display:flex;flex:1;flex-wrap:wrap;gap:8px 12px;align-items:flex-end}.job-docket-header-fields .job-docket-field{margin-bottom:0;min-width:110px}.job-docket-po-no{min-width:100px;max-width:140px}.job-docket-header-fields .job-docket-field .ant-form-item-label{padding-bottom:0}.job-docket-header-fields .job-docket-field .ant-form-item-label>label{font-size:11px;font-weight:700;letter-spacing:.04em;color:var(--docket-ink)}.job-docket-machine{min-width:260px!important}.job-docket-machine-wrap{display:flex;flex-direction:column;gap:8px;min-width:0}.job-docket-machine-ticks{display:flex;gap:4px;flex-wrap:wrap}.job-docket-other-group{display:flex;flex-direction:column;gap:8px;min-width:0}.job-docket-other-input{width:100%}.job-docket-machine-other{max-width:280px}.job-docket-tick{min-width:42px;height:32px;border:1.5px solid #64748b;background:#fff;color:#334155;font-weight:700;font-size:12px;cursor:pointer;border-radius:2px;display:flex;align-items:center;justify-content:center;padding:2px 6px}.job-docket-tick.is-active{background:linear-gradient(180deg,#0f4c816b,#0a3d6685);border-color:#0a3d66;border-width:2px;color:#061829;box-shadow:inset 0 0 0 1px #ffffff59,0 2px 6px #0f4c8147;transform:translateY(-1px)}.job-docket-body{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:10px;align-items:start}.job-docket-cutting,.job-docket-specs,.job-docket-finishing,.job-docket-actions{border:1px solid var(--docket-line);background:#ffffffdb;border-radius:4px;padding:8px}.job-docket-cutting{padding:6px 6px 8px}.job-docket-canvas-wrap{margin:0;min-width:0}.job-docket-section-label{font-size:12px;font-weight:800;letter-spacing:.06em;color:var(--docket-accent);border-bottom:1px solid #cbd5e1;padding-bottom:4px;margin-bottom:6px}.job-docket-specials{margin-top:12px;border-top:1px dashed #cbd5e1;padding-top:10px}.job-docket-specials .job-docket-other-group.is-compact{gap:4px;margin-top:2px}.job-docket-specials-other-field{margin-top:6px}.job-docket-specials-other-field .ant-form-item-control-input{min-height:0}.job-docket-specials-other-input.ant-input-affix-wrapper,.job-docket-specials-other-input{width:100%;max-width:100%;min-height:32px;background:#fff!important;border:1px solid #94a3b8;border-radius:4px;box-shadow:inset 0 1px 2px #0f28500a}.job-docket-specials-other-input .ant-input{color:var(--docket-ink, #152238)!important;-webkit-text-fill-color:var(--docket-ink, #152238);background:transparent!important;font-size:13px;font-weight:600;line-height:1.45;caret-color:var(--docket-accent, #0b4f8c)}.job-docket-specials-other-input .ant-input::placeholder{color:#64748b;opacity:1;font-weight:500}.job-docket-specials-other-input:focus-within,.job-docket-specials-other-input.ant-input-affix-wrapper-focused{border-color:var(--docket-accent, #0b4f8c)!important;box-shadow:inset 0 1px 2px #0f28500a,0 0 0 2px #0b4f8c24}.job-docket-specials-other-input .ant-input-clear-icon{color:#64748b}.job-docket-specials-other-input .ant-input-clear-icon:hover{color:var(--docket-ink, #152238)}.job-docket-check-grid{display:grid!important;grid-template-columns:1fr 1fr;gap:2px 8px}.job-docket-check-grid .ant-checkbox-wrapper,.job-docket-check-inline .ant-checkbox-wrapper,.job-docket-check-stack .ant-checkbox-wrapper{font-size:12px;margin-inline-end:0!important}.job-docket-check-inline{display:flex!important;flex-wrap:wrap;gap:4px 12px}.job-docket-check-stack{display:flex!important;flex-direction:column;gap:2px}.job-docket-specials-meta{display:grid;grid-template-columns:1fr;gap:8px;margin-top:6px}.job-docket-sheet-calc{display:flex;flex-direction:column;gap:8px;margin-bottom:4px}.job-docket-sheet-calc-line{margin:12px 0 4px;padding:0 8px;text-align:center;font-size:clamp(18px,2.2vw,26px);font-weight:800;letter-spacing:.01em;line-height:1.35;color:var(--docket-ink, #0f172a);font-variant-numeric:tabular-nums;font-family:Segoe UI,Helvetica Neue,Arial,sans-serif;white-space:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch}.production-capacity-panel{position:relative;margin:10px 0 12px;display:flex;flex-direction:column;gap:8px;align-items:stretch}.production-planning-hidden-fields{position:absolute;width:0;height:0;overflow:hidden;clip:rect(0,0,0,0)}.production-capacity-block{padding:12px 14px 14px;border:1px solid #cbd5e1;border-radius:10px;background:linear-gradient(180deg,#f8fafc,#fff);text-align:center}.production-plan-display{display:flex;flex-direction:column;align-items:center;gap:0;width:100%;max-width:100%}.production-plan-title{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#0b4f8c;margin-bottom:8px}.production-plan-line{font-size:clamp(15px,2vw,22px);font-weight:800;letter-spacing:.01em;line-height:1.35;color:var(--docket-ink, #0f172a);font-variant-numeric:tabular-nums;font-family:Segoe UI,Helvetica Neue,Arial,sans-serif;word-break:break-word;overflow-wrap:anywhere;max-width:100%;text-align:center}.production-plan-line+.production-plan-line{margin-top:8px}.production-plan-display.is-compact .production-plan-title{font-size:10px;margin-bottom:6px}.production-plan-display.is-compact .production-plan-line{font-size:15px}.production-plan-display.is-compact .production-plan-line+.production-plan-line{margin-top:6px}.production-capacity-actions{display:flex;justify-content:center}.production-calc-settings-btn{min-height:44px;min-width:min(100%,280px);font-weight:700}.production-calc-modal-body{display:flex;flex-direction:column;gap:14px}.production-calc-inputs{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px}.production-calc-field{margin-bottom:0!important}.production-calc-readonly{display:flex;flex-direction:column;gap:2px;padding:6px 0}.production-calc-steps-list{margin:0;padding-left:18px;display:grid;gap:4px;font-variant-numeric:tabular-nums;font-weight:600;color:#0f172a}.production-calc-modal-summary{padding:12px 12px 14px;border-radius:8px;border:1px solid #bfdbfe;background:#eff6ff;text-align:center}.production-calc-modal-summary-value{font-size:15px;font-weight:800;line-height:1.35;color:#0f172a;word-break:break-word}@media(max-width:576px){.production-calc-inputs{grid-template-columns:1fr}}.job-docket-extra-wastage-row{display:grid;grid-template-columns:minmax(120px,.9fr) minmax(0,1.1fr);gap:8px;width:100%}.job-docket-sheet-calc-field .ant-form-item-label>label{font-size:11px;font-weight:700;letter-spacing:.04em;color:var(--docket-ink)}.job-docket-specials-meta-field{margin-bottom:0!important}.job-docket-specials-meta-field .ant-form-item-label>label{font-size:11px;font-weight:700;letter-spacing:.04em;color:var(--docket-ink)}.job-docket-signature-input{font-style:italic}.job-docket-dispatch{margin-top:12px;padding-top:10px;border-top:1px dashed #cbd5e1}.job-docket-dispatch-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 12px;margin-top:10px;padding:8px 12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;font-size:13px;font-weight:700;color:var(--docket-ink, #0f172a);font-variant-numeric:tabular-nums;letter-spacing:.01em}.job-docket-dispatch-summary>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.job-docket-comparison-radios{display:flex;flex-wrap:wrap;width:100%}.job-docket-comparison-radios .ant-radio-button-wrapper{flex:1 1 auto;text-align:center;font-size:12px}.job-docket-specs .ant-form-item{margin-bottom:8px}.job-docket-specs .ant-form-item-label{padding-bottom:0}.job-docket-specs .ant-form-item-label>label{font-size:11px;font-weight:700}.job-docket-item-code{margin-bottom:12px!important}.job-docket-item-code .ant-form-item-label>label{font-size:12px!important;font-weight:800!important;color:#0b4f8c}.job-docket-item-code .ant-input{min-height:40px}.job-docket-colour-row{display:flex;align-items:center;gap:6px}.job-docket-colour-index{width:20px;height:20px;border-radius:50%;background:#e2e8f0;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700}.job-docket-customer-tools{margin-bottom:8px;padding:8px;background:var(--docket-wash);border:1px dashed #cbd5e1;border-radius:4px}.job-docket-customer-tools-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.job-docket-finishing{margin-top:10px}.job-docket-finish-group{min-height:100%}.job-docket-finish-title{display:block;font-size:11px;font-weight:700;margin-bottom:4px;color:#334155}.job-docket-process-group{display:flex;flex-direction:column;gap:6px;min-width:0}.job-docket-conversion-group,.job-docket-finish-detail-fields,.job-docket-folding-details{display:grid;gap:4px;margin-top:2px;padding:6px 8px;border:1px dashed #cbd5e1;border-radius:4px;background:#ffffffeb}.job-docket-finish-detail-field,.job-docket-folding-field{margin-bottom:0!important}.job-docket-finish-detail-field .ant-form-item-label,.job-docket-folding-field .ant-form-item-label{padding-bottom:0}.job-docket-finish-detail-field .ant-form-item-label>label,.job-docket-folding-field .ant-form-item-label>label{font-size:11px;font-weight:700;color:var(--docket-ink, #152238);height:auto}.job-docket-finish-detail-field .ant-input,.job-docket-finish-detail-field .ant-input-number,.job-docket-finish-detail-field .ant-input-number-input,.job-docket-finish-detail-field .ant-select-selector,.job-docket-folding-field .ant-input,.job-docket-folding-field .ant-input-number,.job-docket-folding-field .ant-input-number-input{color:var(--docket-ink, #152238);background:#fff;font-size:12px;font-weight:600}.job-docket-job-name-wrap{position:relative}.job-docket-grain-check-badge{display:inline-block;margin-bottom:6px;padding:3px 10px;border-radius:4px;border:1px solid #0b4f8c;background:linear-gradient(180deg,#eef5ff,#e2edfb);color:#0b4f8c;font-size:11px;font-weight:800;letter-spacing:.08em;line-height:1.3}.job-docket-die-folding{border:1px dashed #cbd5e1;border-radius:4px;padding:6px 8px;background:#ffffffeb;min-height:100%}.job-docket-pasting .ant-radio-button-wrapper{font-size:11px;height:28px;line-height:26px;padding:0 8px}.die-size-fields{display:flex;align-items:flex-end;gap:6px;width:100%}.die-size-field{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:2px}.die-size-field-label{font-size:10px;font-weight:700;letter-spacing:.03em;color:#64748b;line-height:1.2;white-space:nowrap}.die-size-field-label em{font-style:normal;font-weight:500;color:#94a3b8;text-transform:lowercase}.die-size-sep{flex:0 0 auto;padding-bottom:6px;font-size:14px;font-weight:700;color:#64748b;line-height:1;-webkit-user-select:none;user-select:none}.die-size-fields .ant-input-number,.die-size-fields .ant-input-number-input{width:100%}.job-docket-actions{margin-top:10px;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:flex-start;padding:10px}.job-docket-approval{flex:1;min-width:260px;border:1px solid #cbd5e1;border-radius:8px;background:linear-gradient(180deg,#f8fafc,#fff);overflow:hidden}.job-docket-approval-head{padding:8px 12px;border-bottom:1px solid #e2e8f0;background:#0b4f8c0f}.job-docket-approval-title{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--docket-accent)}.job-docket-approval-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:12px;padding:10px 12px 12px}.job-docket-approval-field{margin-bottom:8px!important}.job-docket-approval-field:last-child{margin-bottom:0!important}.job-docket-approval-field .ant-form-item-label>label{font-size:11px;font-weight:700;letter-spacing:.03em;color:#334155}.job-docket-approval-radios{display:flex;gap:0}.job-docket-approval-radios .ant-radio-button-wrapper{min-height:36px;line-height:34px;font-weight:600;flex:1;text-align:center}.job-docket-approval-upload .ant-btn{width:100%}.job-docket-action-buttons{justify-content:flex-end;align-self:flex-end}.jobs-editor-modal .job-docket{max-height:none;overflow:visible;padding-right:0}.jobs-page-card{border-radius:16px!important;border:1px solid var(--line)!important;box-shadow:var(--shadow-soft)}.jobs-page-card .ant-card-body{padding:18px 20px 20px}.jobs-page-top{display:flex;flex-direction:column;gap:14px;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--line)}.jobs-page-head{display:grid;gap:4px;min-width:0}.jobs-page-lead{font-size:14px;line-height:1.45}.jobs-page-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.jobs-page-filter-tags{flex:1;min-width:0}.jobs-page-create-btn{flex-shrink:0}.job-docket-field-hint{font-size:12px}.jobs-page-card .ant-table-wrapper .ant-table{border-radius:12px;overflow:hidden}.jobs-page-card .ant-table-thead>tr>th{background:#f3f8ff!important;font-weight:700}.jobs-page-card .ant-table-tbody>tr:hover>td{background:#f8fbff!important}.pdf-viewer-page{height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden;background:#1e293b;color:#f8fafc}.pdf-viewer-embedded{height:min(78vh,880px);border-radius:12px;border:1px solid #e2e8f0}.pdf-viewer-page-loading{align-items:center;justify-content:center;background:#f8fafc;color:#334155}.pdf-toolbar{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:0 14px;background:#0f172a;border-bottom:1px solid rgba(255,255,255,.08)}.pdf-toolbar-group{display:flex;align-items:center;gap:4px;min-width:0}.pdf-toolbar-group-start{flex:1;justify-content:flex-start}.pdf-toolbar-group-center{flex-shrink:0;justify-content:center;padding:0 8px;border-left:1px solid rgba(255,255,255,.08);border-right:1px solid rgba(255,255,255,.08)}.pdf-toolbar-group-end{flex-shrink:0;justify-content:flex-end}.pdf-toolbar-title{font-weight:600;font-size:14px;color:#f1f5f9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px;margin-right:8px}.pdf-page-indicator,.pdf-zoom-indicator{color:#cbd5e1;font-size:13px;font-weight:600;min-width:48px;text-align:center;display:inline-flex;align-items:center;justify-content:center;gap:6px}.pdf-zoom-indicator{min-width:44px;font-variant-numeric:tabular-nums}.pdf-toolbar-btn{width:36px!important;height:36px!important;padding:0!important;display:inline-flex!important;align-items:center;justify-content:center;border-radius:8px!important;color:#e2e8f0!important;border:none!important;background:transparent!important}.pdf-toolbar-btn:hover,.pdf-toolbar-btn:focus{color:#fff!important;background:#ffffff1a!important}.pdf-toolbar-close:hover,.pdf-toolbar-close:focus{color:#fecaca!important;background:#ef444426!important}.pdf-body{flex:1 1 auto;min-height:0;overflow:hidden;display:flex;flex-direction:column;background:#475569}.pdf-empty{flex:1;display:grid;place-items:center;color:#e2e8f0;padding:28px}.pdf-canvas-wrap{position:relative;flex:1;min-height:0;overflow:auto;display:flex;justify-content:center;align-items:center;padding:16px 20px;-webkit-overflow-scrolling:touch}.pdf-render-status{position:absolute;top:12px;right:12px;z-index:2;display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;background:#0f172a8c;color:#e2e8f0;font-size:12px;font-weight:600;pointer-events:none}.pdf-render-status-text{line-height:1}.pdf-canvas{background:#fff;box-shadow:0 8px 32px #00000059;border-radius:4px;display:block;max-width:none;margin:auto;image-rendering:auto;-ms-interpolation-mode:bicubic;transform:none}.pdf-inline-preview-modal .ant-modal-body{padding:0!important;background:#e8eef6}.pdf-inline-preview-modal .pdf-viewer-embedded{height:min(86vh,960px);height:min(86dvh,960px);min-height:min(70vh,640px)}.pdf-inline-preview-modal .pdf-body{background:radial-gradient(circle at top,rgba(255,255,255,.9),transparent 42%),#e8eef6}.pdf-inline-preview-modal .pdf-canvas-wrap{padding:16px 12px 24px;align-items:center}.pdf-inline-preview-modal .pdf-canvas{box-shadow:0 1px 2px #0f172a14,0 18px 40px #0f172a29;border-radius:2px;background:#fff;max-width:none}@media(prefers-reduced-motion:reduce){.pdf-canvas{transition:none!important}}.pdf-preview-frame-wrap{border:1px solid #d6e6fb;border-radius:10px;overflow:hidden;background:#f8fbff}.pdf-preview-frame{width:100%;height:68vh;border:0;display:block;background:#fff}.pdf-preview-modal .ant-modal-content{height:100vh;height:100dvh;border-radius:0;max-width:100%;box-shadow:none}.pdf-preview-modal .ant-modal-body{padding:0}.pdf-preview-modal .ant-modal-header{padding:0;border:0}.pdf-preview-modal .ant-modal-close{display:none}.pdf-preview-modal canvas{max-width:calc(100% - 24px);height:auto!important;display:block}.pdf-preview-modal .ant-btn{border-radius:10px}.pdf-preview-modal .ant-btn-icon-only{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center}.carton-layout-editor{display:flex;flex-direction:column;gap:6px}.carton-layout-inputs{display:flex;flex-direction:column;gap:0;padding:0;border:1px solid #cbd5e1;border-radius:6px;background:#fffffff2;overflow:hidden}.carton-layout-input-group{padding:8px 10px;border-bottom:1px solid #e2e8f0}.carton-layout-input-group:last-child{border-bottom:none}.carton-layout-input-group-title{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#64748b;margin-bottom:6px}.carton-layout-input-group-fields{display:grid;grid-template-columns:1fr 1fr;gap:6px 10px}.carton-layout-field{margin-bottom:0!important}.carton-layout-field .ant-form-item-label>label{font-size:11px;font-weight:700;letter-spacing:.03em;color:#334155;white-space:nowrap}.carton-layout-field .ant-input-number,.carton-layout-field .ant-input-number-input{min-height:36px}.carton-layout-mode-field{margin-bottom:0!important}.carton-layout-mode-radios{display:flex;width:100%}.carton-layout-mode-radios .ant-radio-button-wrapper{flex:1;text-align:center;font-size:12px;padding-inline:6px}.carton-layout-field-full{grid-column:1 / -1}.carton-layout-stage{display:flex;flex-direction:column;gap:4px}.carton-layout-toolbar{display:flex;flex-direction:column;gap:8px}.carton-layout-primary-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%}.carton-layout-primary-actions.is-editing{grid-template-columns:1fr}.carton-layout-primary-btn{min-height:44px!important;font-weight:700!important;font-size:14px!important;letter-spacing:.01em;border-radius:8px!important;box-shadow:0 1px 2px #0f172a0f}.carton-layout-primary-btn.ant-btn-default{border-color:#94a3b8;color:#0f172a;background:#fff}.carton-layout-primary-btn.ant-btn-default:hover{border-color:#0f4c81!important;color:#0f4c81!important}.carton-layout-edit-tools{display:flex;flex-wrap:wrap;gap:6px;width:100%;padding:8px;border:1px solid #cbd5e1;border-radius:8px;background:#f8fafc}.carton-layout-edit-tools .carton-layout-touch-btn{flex:1 1 auto;min-width:72px}.carton-layout-divisions-summary{display:flex;flex-wrap:wrap;gap:6px;padding:0 2px}.add-division-form{display:grid;gap:10px}.add-division-form>label{font-size:12px;font-weight:600;color:#334155;margin-bottom:-6px}.add-division-direction{display:flex;gap:16px}.add-division-optional{border-top:1px solid #e2e8f0;padding-top:10px;display:grid;gap:8px}.add-division-optional-title{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#64748b}.add-division-optional-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.add-division-optional-fields label{display:block;font-size:12px;font-weight:600;color:#334155;margin-bottom:4px}.carton-layout-edit-panel{padding:8px 10px;border:1px solid #cbd5e1;border-radius:6px;background:#f8fafc}.carton-layout-editor.is-editing .carton-layout-inputs{border-color:#94a3b8}.carton-layout-editor.is-editing .carton-layout-input-group{padding:6px 8px}.carton-layout-editor.is-editing .carton-layout-input-group-fields{gap:4px 8px}@media(min-width:1101px){.carton-layout-toolbar{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px}.carton-layout-primary-actions{width:auto;grid-template-columns:auto auto}.carton-layout-primary-actions.is-editing{grid-template-columns:auto}.carton-layout-primary-btn{min-width:140px}.carton-layout-edit-tools{width:auto;flex:1 1 auto;justify-content:flex-end}}@media(min-width:1101px){.carton-layout-editor.is-editing .carton-layout-inputs{display:grid;grid-template-columns:repeat(4,1fr)}.carton-layout-editor.is-editing .carton-layout-input-group{border-bottom:none;border-right:1px solid #e2e8f0}.carton-layout-editor.is-editing .carton-layout-input-group:last-child{border-right:none}}.carton-layout-editor.is-editing .carton-layout-stage{margin-inline:-4px}.carton-layout-editor.is-editing .carton-layout-canvas-wrap{border-width:2px;border-color:#0f4c81;padding:0}.carton-layout-editor.is-editing .carton-layout-canvas{min-height:min(72vh,680px)}.carton-layout-touch-btn{min-height:40px;min-width:40px;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.carton-layout-touch-btn.is-tool-active{border-color:#0f4c81!important;color:#0f4c81!important;background:#0f4c811a!important}.layout-edit-overlay{position:absolute;inset:0;width:100%;height:100%;touch-action:none;pointer-events:none;z-index:3}.layout-edit-overlay.is-active{pointer-events:auto;cursor:crosshair}.layout-edit-overlay.is-label-mode.is-active{cursor:default}.layout-label-inline-input{box-sizing:border-box;width:100%;height:100%;padding:4px 8px;border:2px solid #0f4c81;border-radius:4px;font-size:13px;font-weight:700;font-family:Arial,Helvetica,sans-serif;text-align:center;background:#fff;color:#0f172a;outline:none}.carton-layout-label-actions{display:flex;gap:8px;margin-bottom:8px}.layout-edit-context-menu{position:fixed;z-index:1000;display:flex;flex-direction:column;gap:4px;min-width:120px;padding:6px;background:#fff;border:1px solid #cbd5e1;border-radius:8px;box-shadow:0 8px 24px #0f172a29}.layout-edit-context-menu button{min-height:40px;border:none;background:#f8fafc;border-radius:6px;font-weight:600;cursor:pointer}.layout-edit-context-menu button.is-danger{color:#b91c1c;background:#fef2f2}.carton-layout-text-draft{display:flex;gap:8px;margin-bottom:8px}.carton-layout-canvas-wrap{border:1px solid #cbd5e1;border-radius:4px;background:#fff;padding:0;overflow:hidden}.carton-layout-canvas{position:relative;width:100%;aspect-ratio:1122 / 794;background:#fff;overflow:hidden;margin:0 auto}.carton-layout-canvas-base,.carton-layout-canvas-base svg{width:100%;height:100%;display:block}.carton-layout-canvas-base svg{max-width:100%;max-height:100%;object-fit:contain}.carton-layout-overlay-wrap{position:absolute;inset:0;z-index:2}.carton-layout-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}.carton-layout-overlay.is-active{pointer-events:auto;cursor:crosshair;z-index:3}.carton-layout-mode-bar{display:flex;justify-content:flex-start}.layout-builder-panel{border:1px solid #cbd5e1;border-radius:6px;background:#f8fafc;padding:10px}.layout-builder-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px;flex-wrap:wrap}.layout-builder-panel-sub{display:block;font-size:11px;color:#64748b;font-weight:400;margin-top:2px}.layout-builder-table .ant-table{background:transparent}.layout-builder-form{display:grid;gap:8px;margin-top:8px}.layout-builder-form label{font-size:12px;font-weight:600;color:#334155}@media(max-width:768px){.pdf-toolbar{padding:0 8px;gap:6px;min-height:52px;flex-wrap:wrap;row-gap:4px}.pdf-toolbar-title{display:none}.pdf-toolbar-group-center{padding:0 4px}.pdf-toolbar-btn{width:44px!important;height:44px!important}.pdf-preview-modal .ant-btn-icon-only{width:44px;height:44px}.pdf-canvas-wrap{padding:12px}.pdf-inline-preview-modal .pdf-viewer-embedded{height:calc(100dvh - 56px);height:calc(100vh - 56px);max-height:none}}@media(max-width:1199px){.crm-content,.app-shell{padding:18px}}@media(max-width:992px){.crm-header{padding:0 14px;z-index:1150}.crm-header-title{font-size:20px!important}.crm-main-layout{width:100%!important;flex:1 1 auto!important;min-width:0}.crm-sider-inner{min-height:100%}.crm-sider{position:fixed!important;left:0;top:0;height:100vh;height:100dvh;z-index:1200;box-shadow:16px 0 30px #0e223d52;overflow:hidden!important}.crm-sider-mobile{width:min(86vw,286px)!important;max-width:286px!important;transform:translate(-100%);transition:transform .28s ease}.crm-sider-mobile.crm-sider-mobile-open{transform:translate(0)}.crm-content{padding-top:18px}.trend-label-row{grid-template-columns:repeat(4,minmax(0,1fr))}.jobs-filter-bar{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.jobs-filter-action{grid-column:1 / -1;align-items:stretch}.jobs-filter-action .ant-btn{min-height:44px;width:100%}}@media(max-width:768px){.crm-content{padding:14px}.app-shell{min-height:calc(100vh - 108px);padding:14px;border-radius:14px}.crm-header-page{display:none}.crm-header-menu-btn{background:transparent!important;border:none!important;box-shadow:none!important;min-width:44px!important;min-height:44px!important}.trend-label-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.job-summary-grid{grid-template-columns:92px 1fr}.diagram-control-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.diagram-editor-grid{grid-template-columns:1fr}.diagram-label-input{min-width:100%;max-width:100%}.diagram-status-row{gap:6px}.jobs-filter-bar{grid-template-columns:1fr;gap:8px}.jobs-filter-head{margin-bottom:8px}.jobs-filter-action{align-items:stretch}}@media(max-width:576px){.crm-header-title{font-size:18px!important}}@media(max-width:576px){.login-page{padding:18px 12px calc(18px + env(safe-area-inset-bottom,0px));justify-content:flex-start}.login-shell{margin-top:12px}.login-card{padding:24px 18px 20px;border-radius:18px}.login-brand{gap:12px;margin-bottom:18px}.login-logo{width:48px;height:48px}.login-options{flex-direction:column;gap:8px}.login-card .ant-input-affix-wrapper,.login-card .ant-input-password{min-height:48px;font-size:16px}.login-submit{height:52px!important}.login-footer{margin-top:24px;padding-bottom:4px}}@media(max-width:992px){.crm-header-user-meta{display:none}}@media(max-width:576px){.users-hero-title{font-size:20px!important}}@media(max-width:1100px){.job-docket-body{grid-template-columns:1fr}}@media(max-width:992px){.crm-header{min-height:60px;padding-inline:12px!important}.crm-header-actions{gap:6px}.crm-header-create-btn{min-width:40px;padding-inline:10px}.crm-header-menu-btn{width:40px!important;height:40px!important;margin-right:0;flex-shrink:0}.crm-header-titles{min-width:0;flex:1}.crm-header-mobile-brand{display:block}.jobs-page-create-btn{display:none}.jobs-page-toolbar{justify-content:flex-start}}@media(max-width:768px){.crm-header{padding-inline:10px!important;min-height:56px}.crm-header-user-meta{display:none}.crm-header-user-btn{padding:4px!important}.crm-header-title-mobile{font-size:16px!important}.crm-header-mobile-brand{font-size:11px}.jobs-page-card .ant-card-body{padding:14px}.jobs-page-top{gap:10px;margin-bottom:12px;padding-bottom:12px}.app-shell{padding:12px;border-radius:12px}}@media(max-width:1100px){.carton-layout-editor.is-editing .carton-layout-stage{margin-inline:0}.carton-layout-editor.is-editing .carton-layout-canvas{min-height:min(56vh,520px)}.carton-layout-touch-btn{min-height:44px;min-width:44px}.carton-layout-primary-btn{min-height:48px!important;font-size:15px!important}}@media(max-width:520px){.carton-layout-editor.is-editing{margin-inline:0}.carton-layout-editor.is-editing .carton-layout-canvas{min-height:min(58vh,480px);aspect-ratio:auto}.carton-layout-edit-tools .carton-layout-touch-btn span:not(.anticon){font-size:12px}}@media(max-width:1100px){.jobs-editor-modal.ant-modal{width:calc(100% - 8px)!important;max-width:calc(100% - 8px)!important;margin:4px auto!important;padding-bottom:0}.jobs-editor-modal .ant-modal-content{padding:8px 10px 12px;min-height:calc(100vh - 8px);max-height:calc(100vh - 8px);min-height:calc(100dvh - 8px);max-height:calc(100dvh - 8px);border-radius:12px}.jobs-editor-modal .ant-modal-header{margin-bottom:4px;padding-bottom:6px}.jobs-editor-modal .ant-modal-close{top:10px;inset-inline-end:10px;width:44px;height:44px}.jobs-editor-modal-title{font-size:17px;padding-right:36px}.job-docket-sheet{padding:8px 6px;padding-bottom:calc(132px + env(safe-area-inset-bottom,0px));border-radius:8px;box-shadow:none;overflow-x:hidden}.jobs-editor-modal .ant-modal-body{scroll-padding-bottom:calc(148px + env(safe-area-inset-bottom,0px))}.job-docket-sheet-calc-line{white-space:normal;overflow-x:visible;font-size:clamp(15px,3.6vw,22px);word-break:break-word}.job-docket-dispatch-summary{grid-template-columns:1fr;gap:4px}.job-docket-dispatch-summary>span{white-space:normal;overflow:visible;text-overflow:unset}.job-docket-header{flex-direction:column;align-items:stretch;gap:8px;padding-bottom:8px;margin-bottom:8px}.job-docket-title{font-size:16px;padding-bottom:4px}.job-docket-body{display:flex;flex-direction:column;gap:8px}.job-docket-specs{order:0}.job-docket-cutting{order:1;padding:0;border:none;background:transparent}.job-docket-item-code .ant-input{min-height:44px!important;font-size:16px!important}.production-capacity-panel{margin:8px 0 14px}.production-plan-line{font-size:clamp(14px,3.2vw,18px)}.production-calc-settings-btn{width:100%;min-width:0}.production-calc-modal .ant-modal-body{-webkit-overflow-scrolling:touch}.job-docket-section-label{margin-bottom:6px;padding-bottom:2px;font-size:11px}.job-docket-canvas-wrap{margin:0}.carton-layout-editor{gap:8px}.carton-layout-inputs{border-radius:8px}.carton-layout-input-group{padding:8px 10px}.carton-layout-input-group-title{margin-bottom:4px;font-size:10px}.carton-layout-input-group-fields{grid-template-columns:1fr 1fr;gap:6px 8px}.carton-layout-field .ant-input-number,.carton-layout-field .ant-input-number-input{min-height:44px;font-size:16px}.carton-layout-field .ant-form-item-label>label{font-size:12px}.carton-layout-mode-radios .ant-radio-button-wrapper{min-height:40px;line-height:38px;font-size:12px;padding-inline:4px}.carton-layout-canvas-wrap{padding:0;border-radius:8px;border-width:1.5px;width:100%}.carton-layout-canvas{width:100%;height:auto;min-height:min(52vh,440px);max-height:min(68vh,620px)}.carton-layout-editor.is-editing .carton-layout-canvas{min-height:min(58vh,500px);max-height:min(78vh,720px)}.carton-layout-canvas-base svg,.layout-edit-overlay{width:100%;height:100%}.carton-layout-toolbar{position:sticky;top:0;z-index:5;background:linear-gradient(180deg,#fff 70%,#ffffffeb);padding:4px 0 6px;margin:0}.job-docket-approval-body{grid-template-columns:1fr;gap:8px}.job-docket-approval-radios{width:100%}.job-docket-approval-radios .ant-radio-button-wrapper{min-height:44px;line-height:42px}.job-docket-header-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.job-docket-header-fields .job-docket-field{min-width:0;width:100%}.job-docket-header-fields .ant-input,.job-docket-header-fields .ant-input-number,.job-docket-header-fields .ant-input-number-input,.job-docket-header-fields .ant-picker,.job-docket-header-fields .ant-select-selector{min-height:44px!important;font-size:16px!important}.job-docket-machine{min-width:0!important;grid-column:1 / -1}.job-docket-machine-ticks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.job-docket-machine-other-field{grid-column:1 / -1}.job-docket-machine-other-field .job-docket-other-input,.job-docket-other-input:not(.job-docket-specials-other-input){min-height:44px;font-size:16px}.job-docket-specials-other-input.ant-input-affix-wrapper,.job-docket-specials-other-input{min-height:40px}.job-docket-specials-other-input .ant-input{font-size:16px!important;line-height:1.4}.job-docket-tick{min-width:0;height:44px;font-size:13px;touch-action:manipulation}.job-docket-specs .ant-form-item{margin-bottom:10px}.job-docket-specs .ant-input,.job-docket-specs .ant-input-number,.job-docket-specs .ant-input-number-input,.job-docket-specs .ant-select-selector,.job-docket-specs .ant-picker,.job-docket-specs .ant-input-affix-wrapper,.job-docket-specs textarea.ant-input{min-height:44px!important;font-size:16px!important}.job-docket-specs .ant-select-selection-item,.job-docket-specs .ant-select-selection-placeholder{line-height:42px!important}.job-docket-colour-row{gap:6px}.job-docket-colour-row .ant-btn,.add-colour-btn.ant-btn{min-height:44px}.job-docket-check-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 8px}.job-docket-check-grid .ant-checkbox-wrapper,.job-docket-check-stack .ant-checkbox-wrapper,.job-docket-check-inline .ant-checkbox-wrapper{min-height:40px;display:inline-flex;align-items:center;padding:4px 0;font-size:13px}.job-docket-finish-group{margin-bottom:8px}.job-docket-pasting{display:flex;width:100%}.job-docket-pasting .ant-radio-button-wrapper{flex:1;text-align:center;min-height:44px;line-height:42px;font-size:12px;padding:0 4px}.job-docket-finish-detail-field .ant-input,.job-docket-finish-detail-field .ant-input-number,.job-docket-finish-detail-field .ant-input-number-input,.job-docket-finish-detail-field .ant-select-selector,.job-docket-folding-field .ant-input,.job-docket-folding-field .ant-input-number,.job-docket-folding-field .ant-input-number-input{min-height:40px;font-size:16px!important}.job-docket-grain-check-badge{font-size:12px;padding:4px 12px}.job-docket-die-folding .job-docket-finish-detail-field .ant-input,.job-docket-die-folding .job-docket-finish-detail-field .ant-input-number,.job-docket-die-folding .job-docket-finish-detail-field .ant-input-number-input{min-height:40px;font-size:16px!important}.job-docket-finishing .ant-input,.job-docket-finishing .ant-select-selector,.job-docket-finishing .ant-input-number,.job-docket-finishing .ant-input-number-input{min-height:44px!important;font-size:16px!important}.die-size-fields{gap:8px}.die-size-field-label{font-size:11px}.die-size-sep{padding-bottom:10px;font-size:16px}.job-docket-actions{position:sticky;bottom:0;z-index:12;flex-direction:column;gap:10px;margin-top:10px;margin-inline:-6px;margin-bottom:-6px;padding:10px 8px calc(10px + env(safe-area-inset-bottom,0px));border-radius:0;border-left:none;border-right:none;border-bottom:none;background:linear-gradient(180deg,#ffffffeb,#fff 28%);box-shadow:0 -8px 24px #0f28501a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.job-docket-approval{min-width:0;width:100%}.job-docket-action-buttons{justify-content:stretch;width:100%}.job-docket-action-buttons.ant-space,.job-docket-action-buttons .ant-space{width:100%;display:flex;flex-wrap:wrap;gap:8px!important}.job-docket-action-buttons .ant-space-item{flex:1 1 calc(50% - 4px)}.job-docket-action-buttons .ant-btn{width:100%;min-width:0;min-height:48px;font-weight:700;font-size:14px}.job-docket-action-buttons .ant-space-item:last-child{flex:1 1 100%}.add-division-modal.ant-modal{width:calc(100% - 24px)!important;max-width:400px!important}.add-division-modal .ant-modal-body{max-height:min(70dvh,70vh);overflow:auto;-webkit-overflow-scrolling:touch}.add-division-direction{flex-direction:column;gap:8px}.add-division-optional-fields{grid-template-columns:1fr}}@media(max-width:520px){.carton-layout-input-group{padding:6px 8px}.carton-layout-input-group-fields{grid-template-columns:1fr 1fr;gap:6px}.carton-layout-canvas{min-height:min(56vh,460px);max-height:min(72vh,640px)}.carton-layout-editor.is-editing .carton-layout-canvas{min-height:min(60vh,520px);max-height:min(80vh,740px)}.carton-layout-edit-tools{gap:6px;padding:6px}.carton-layout-edit-tools .carton-layout-touch-btn{flex:1 1 calc(50% - 6px);min-width:0;padding-inline:6px}.job-docket-sheet{padding:6px 4px calc(140px + env(safe-area-inset-bottom,0px));border-radius:0;border-left:none;border-right:none}.job-docket-cutting{padding:0}.job-docket-actions{margin-inline:-4px;margin-bottom:0;padding:8px 6px calc(8px + env(safe-area-inset-bottom,0px));gap:8px}.job-docket-approval{min-width:0;width:100%}.job-docket-header-fields{grid-template-columns:1fr}.job-docket-machine-ticks{grid-template-columns:repeat(3,minmax(0,1fr))}.job-docket-tick{height:48px;font-size:14px}.job-docket-section-label{font-size:10px}.job-docket-specials-meta{grid-template-columns:1fr;gap:6px}.job-docket-sheet-calc{gap:6px}.job-docket-sheet-calc-line{font-size:16px;margin-top:10px}.job-docket-extra-wastage-row{grid-template-columns:1fr;gap:6px}.job-docket-check-grid,.finishing-choice-grid{grid-template-columns:1fr}.jobs-editor-modal.ant-modal{width:100%!important;max-width:100%!important;margin:0!important;padding:0!important;top:0!important}.jobs-editor-modal{max-width:100%!important}.jobs-editor-modal .ant-modal-content{border-radius:0;min-height:100vh;max-height:100vh;min-height:100dvh;max-height:100dvh;padding:6px 8px 0;padding-top:max(6px,env(safe-area-inset-top,0px))}.jobs-editor-modal .ant-modal-body{padding-top:2px;padding-bottom:0}.jobs-editor-modal-title{font-size:15px;line-height:1.3}.jobs-editor-modal .ant-modal-close{top:max(8px,env(safe-area-inset-top,0px))}}.type2-toolbar-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:10px 0 8px}.type2-toolbar-row .type2-main-toolbar{margin:0;flex:1 1 auto}.type2-hand-toggle-item{margin:0!important}.type2-hand-toggle.ant-checkbox-wrapper{margin:0;padding:6px 10px;border:1px solid #d4e4ff;border-radius:8px;background:#f8fafc;font-size:12px;font-weight:700;color:#1e3a8a;white-space:nowrap}.type2-hand-toggle.is-active,.type2-hand-toggle.ant-checkbox-wrapper-checked{background:#eff6ff;border-color:#93c5fd;color:#1d4ed8}.type2-layout-editor.is-hand-mode .carton-layout-canvas-wrap{background:#fff;border-color:#94a3b8}.type2-layout-editor .type2-layout-alert{margin:8px 0 0}.type2-layout-division-tag{margin-top:8px}.type2-layout-editor .carton-layout-canvas-wrap{background:#f8fafc;border:1px solid #d4e4ff;border-radius:10px;padding:8px}.type2-layout-editor .carton-layout-canvas{position:relative;min-height:0;height:auto;overflow:hidden}.type2-layout-editor .carton-layout-canvas-base{position:absolute;inset:0}.type2-layout-editor .carton-layout-canvas-base svg,.type2-layout-editor .layout-type2-overlay{position:absolute;inset:0;width:100%;height:100%;max-width:none;max-height:none;object-fit:unset;display:block}.type2-layout-editor .type2-edit-tools{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.type2-main-toolbar{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:10px 0 8px;padding:10px 12px;background:#f8fafc;border:1px solid #d4e4ff;border-radius:10px}.job-docket-layout-engine{display:none!important}.type2-section-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;padding:8px 10px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px}.type2-section-actions-hint{font-size:12px;color:#1e3a8a;font-weight:600}.layout-type2-overlay{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:default}.layout-type2-overlay.tool-split-v,.layout-type2-overlay.tool-split-h,.layout-type2-overlay.tool-add-line,.layout-type2-overlay.tool-text,.layout-type2-overlay.tool-rectangle{cursor:crosshair}.layout-type2-overlay.tool-select{cursor:default}.type2-text-entry{display:grid;gap:4px;margin:0 0 8px}.type2-text-entry .ant-input{min-height:40px;font-size:15px;font-weight:600}.type2-text-entry-hint{font-size:12px;font-weight:600;color:#35557c}.layout-type2-overlay text{-webkit-user-select:none;user-select:none}.layout-type2-inline-edit{position:absolute;z-index:5;pointer-events:auto}.layout-type2-inline-edit input{min-width:128px;padding:5px 9px;border:1px solid #1165d9;border-radius:6px;font-size:13px;font-weight:600;box-shadow:0 2px 8px #0f172a1f;outline:none}@media(max-width:1100px){.type2-layout-editor .carton-layout-canvas,.type2-layout-editor.is-editing .carton-layout-canvas{min-height:0;max-height:min(68vh,620px);width:min(100%,calc(min(68vh,620px) * var(--t2-aspect, 1.414)));height:auto;margin-inline:auto}.type2-toolbar-row{flex-direction:column;align-items:stretch;gap:8px}.type2-toolbar-row .type2-main-toolbar{width:100%}.type2-main-toolbar{gap:8px;padding:8px 10px}.type2-main-toolbar .carton-layout-touch-btn{min-height:44px;min-width:44px}.type2-main-toolbar .carton-layout-touch-btn span:not(.anticon){font-size:11px}.type2-hand-toggle.ant-checkbox-wrapper{min-height:44px;display:inline-flex;align-items:center;width:100%;justify-content:center}.type2-section-actions{flex-direction:column;align-items:stretch}.type2-section-actions .ant-btn{min-height:44px;width:100%}.layout-type2-inline-edit input{min-width:148px;min-height:44px;font-size:16px}.type2-text-entry .ant-input{min-height:44px;font-size:16px}}@media(max-width:520px){.type2-layout-editor .carton-layout-canvas,.type2-layout-editor.is-editing .carton-layout-canvas{min-height:0;max-height:min(72vh,640px);width:min(100%,calc(min(72vh,640px) * var(--t2-aspect, 1.414)))}}
