:root{--bg:#f4f6f7;--surface:#fff;--surface-2:#f8fafb;--ink:#263139;--muted:#75818a;--line:#e2e7ea;--line-strong:#ced6db;--accent:#efad8e;--accent-soft:#fff0e8;--accent-hover:#e79d7b;--dark:#32383c;--success:#247451;--success-bg:#e7f6ef;--warn:#9b6200;--warn-bg:#fff1d2;--danger:#a63849;--danger-bg:#fdecef;--info:#336ea8;--info-bg:#eaf3fb;--violet:#6f5ea9;--shadow:0 12px 35px rgba(38,49,57,.08);--shadow-lg:0 25px 70px rgba(38,49,57,.14);--radius:18px;--radius-sm:12px;--focus:0 0 0 3px rgba(239,173,142,.28)}
*{box-sizing:border-box}html{color-scheme:light}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.46 -apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,Arial,sans-serif;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}a{color:#376c8d;text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,p{margin-top:0}h1{font-size:30px;line-height:1.15;letter-spacing:-.025em}h2{font-size:19px;line-height:1.25}h3{font-size:16px}.muted{color:var(--muted)}small{line-height:1.35}
button,.button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:9px 15px;border:1px solid transparent;border-radius:11px;background:var(--dark);color:#fff;font-weight:650;cursor:pointer;text-decoration:none;transition:.16s ease;white-space:nowrap}button:hover,.button:hover{transform:translateY(-1px);box-shadow:0 6px 15px rgba(38,49,57,.12);text-decoration:none}button:active,.button:active{transform:none}button:disabled{opacity:.55;cursor:not-allowed;transform:none}.secondary,.secondary-link{background:#fff;color:var(--ink);border-color:var(--line-strong)}.danger{background:var(--danger);color:#fff}.peach-button,.login-submit{background:#ffc1a5;color:#333;border-color:#ffc1a5;font-weight:500}.peach-button:hover,.login-submit:hover{background:#f7b596;border-color:#f7b596}.ghost-button{background:transparent;color:var(--ink);border-color:var(--line)}
input,select,textarea{width:100%;border:1px solid var(--line-strong);border-radius:11px;background:#fff;padding:10px 12px;outline:none;transition:border-color .15s,box-shadow .15s}input,select{min-height:42px}textarea{min-height:92px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:var(--focus)}label{display:grid;gap:6px;color:#59666f;font-size:12px;font-weight:650}label input,label select,label textarea{font-size:14px;font-weight:400;color:var(--ink)}fieldset{border:1px solid var(--line);border-radius:13px;padding:12px}legend{padding:0 6px;font-weight:700}.check-label{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink);font-weight:500}.check-label input,.requirements input{width:auto;min-height:auto}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-button{align-self:end}.form-button button{width:100%}.wide-field{grid-column:1/-1}
.topbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:20px;min-height:68px;padding:10px clamp(14px,3vw,38px);background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:9px;color:var(--ink);font-weight:760;letter-spacing:-.01em}.brand:hover{text-decoration:none}.brand-mark{display:inline-block;width:25px;height:29px;background:url('aroma-icon-192.png') center/contain no-repeat}.topbar nav{display:flex;align-items:center;gap:4px}.topbar nav a{position:relative;padding:8px 10px;border-radius:9px;color:#54616a;font-weight:570}.topbar nav a:hover{background:var(--surface-2);text-decoration:none}.account{margin-left:auto;display:grid;grid-template-columns:auto auto;column-gap:9px;align-items:center;text-align:right}.account-name{font-weight:750;color:var(--ink);text-decoration:underline;text-decoration-color:#aeb6bb;text-underline-offset:3px}.account small{color:var(--muted)}.account>a:last-child{grid-column:2;grid-row:1/3;align-self:center;color:#8a5656;font-size:12px}.notification-link{display:flex!important;align-items:center;gap:5px}.notification-count{display:inline-grid;place-items:center;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:var(--danger);color:#fff;font-size:10px;font-weight:800}
main{max-width:1600px;margin:0 auto;padding:24px clamp(13px,2.8vw,38px) 40px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:5px 0 18px}.page-head h1{margin:4px 0 5px}.page-head p{margin:0;color:var(--muted);max-width:850px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:0 1px 0 rgba(38,49,57,.02)}.panel+.panel{margin-top:16px}.flash{max-width:1000px;margin:0 auto 14px;padding:12px 15px;border-radius:12px;border:1px solid}.flash.success{background:var(--success-bg);border-color:#c7ead9;color:var(--success)}.flash.error{background:var(--danger-bg);border-color:#f3ccd3;color:var(--danger)}.flash.warning{background:var(--warn-bg);border-color:#efdbad;color:var(--warn)}footer{padding:28px 0 10px;text-align:center;color:#9aa3a9;font-size:12px}
.auth-bg{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% -10%,#fff 0,#f7f5f4 30%,#eef2f3 78%)}.owner-bg{background:radial-gradient(circle at 50% -10%,#606a70 0,#283037 45%,#171c20 100%)}.auth-card{width:min(430px,100%);padding:34px;background:#fff;border-radius:24px;box-shadow:var(--shadow-lg);border:1px solid rgba(255,255,255,.6)}.auth-card h1{text-align:center;margin:0 0 6px;font-size:27px}.auth-card>p{text-align:center;color:var(--muted)}.auth-card form{display:grid;gap:14px}.aroma-login-logo{width:min(340px,92%);aspect-ratio:450/172;margin:0 auto 28px;background:url('aroma-logo.png') center/contain no-repeat;user-select:none;-webkit-user-drag:none}.login-submit{width:100%;font-size:16px;margin-top:3px}.owner-login-badge{text-align:center;font-size:12px;color:#9d6d59;margin-bottom:10px}.credential-warning{padding:13px 14px;border-radius:12px;background:var(--warn-bg);color:#7d5609;border:1px solid #efd9a8}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.profile-grid .wide-field{grid-column:1/-1}
.catalog-tabs,.management-nav{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.management-nav a,.catalog-tabs a{padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:#5b6871}.management-nav a:hover{background:var(--surface-2);text-decoration:none}.management-overview{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:12px;margin-bottom:16px}.overview-tile{padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff}.overview-tile strong{display:block;font-size:26px}.overview-tile span{color:var(--muted);font-size:12px}
.section-title-row{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:13px}.section-title-row h2{margin:0}.section-title-row p{margin:3px 0 0}.catalog-tools{display:grid;grid-template-columns:minmax(220px,1.2fr) repeat(2,minmax(150px,.45fr));gap:9px;margin-bottom:13px}.catalog-panel{margin-bottom:16px}.entity-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:15px;margin:0 0 15px;border-radius:14px;border:1px solid #f0dacc;background:#fff8f4;transition:.2s}.entity-form.is-collapsed{display:none}.entity-list{display:grid;gap:9px}.entity-card{border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden;transition:border-color .15s,box-shadow .15s}.entity-card[open]{border-color:#dfb9a5;box-shadow:0 8px 25px rgba(38,49,57,.06)}.entity-card[hidden]{display:none}.entity-card summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 15px;cursor:pointer;list-style:none}.entity-card summary::-webkit-details-marker{display:none}.entity-card summary::after{content:'⌄';font-size:18px;color:#8a969d;margin-left:6px;transition:transform .15s}.entity-card[open] summary::after{transform:rotate(180deg)}.entity-summary-main{display:grid;gap:3px;min-width:0;flex:1}.entity-summary-main b{font-size:14px}.entity-summary-main small{color:var(--muted);white-space:normal}.entity-summary-with-thumb{display:grid;grid-template-columns:48px 1fr;gap:11px;align-items:center;flex:1}.entity-thumb{width:48px;height:48px;border-radius:12px;object-fit:cover;border:1px solid var(--line);background:#f2f4f5}.entity-thumb.logo{object-fit:contain;padding:5px}.entity-thumb-fallback{display:grid;place-items:center;font-weight:800;color:#879198}.note-preview{display:block;margin-top:3px;color:#707b83}.status-badge{display:inline-flex;align-items:center;flex:0 0 auto;padding:5px 8px;border-radius:999px;font-size:11px;font-weight:750}.status-badge.ok{background:var(--success-bg);color:var(--success)}.muted-badge{background:#eef1f3;color:#6e7980}.expiry-badge{background:var(--danger-bg);color:var(--danger)}.expiry-soon{background:var(--warn-bg);color:var(--warn)}.entity-edit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:15px;border-top:1px solid var(--line);background:#fbfcfc}.object-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.type-grid{grid-template-columns:1fr 1fr}.requirements{display:grid;gap:7px}.requirements label{display:flex;align-items:center;gap:8px;color:var(--ink);font-weight:500}.entity-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.image-field{display:grid;grid-template-columns:72px 1fr;gap:10px;align-items:center}.image-preview{width:72px;height:72px;border:1px solid var(--line);border-radius:13px;object-fit:cover}.image-preview.logo{object-fit:contain;padding:5px}.copy-field{display:flex;gap:6px;align-items:center}.copy-field>*:first-child{flex:1}.copy-mini{min-width:38px;min-height:38px;padding:7px;border-radius:9px}.phone-actions{display:flex;gap:6px;align-items:center}.phone-actions a{white-space:nowrap}.team-panel{padding:0}.team-summary{display:flex;justify-content:space-between;gap:10px;padding:17px 18px;cursor:pointer;list-style:none}.team-summary span:first-child{display:grid}.team-summary small{color:var(--muted)}.team-content{padding:0 18px 18px}.team-create-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr)) auto;gap:10px;align-items:end}.team-manage-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:14px;padding:15px;border-top:1px solid var(--line)}.team-manage-grid form{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.team-manage-grid form button,.team-manage-grid .check-label{align-self:end}.reset-box{padding:13px;border-radius:12px;background:var(--surface-2)}.reset-box h3{grid-column:1/-1;margin:0}.create-drawer{margin-bottom:13px;border:1px dashed var(--line-strong);border-radius:12px}.create-drawer>summary{padding:10px 13px;cursor:pointer;font-weight:700}.create-drawer>form{padding:0 13px 13px}
.smart-select{position:relative}.native-smart-select{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}.smart-select-button{width:100%;min-height:42px;justify-content:space-between;padding:9px 11px;background:#fff;color:var(--ink);border-color:var(--line-strong);font-weight:400}.smart-select-button:hover{transform:none;box-shadow:none;border-color:#b9c4ca}.smart-chevron{color:#88939a;font-size:17px}.smart-select-pop{position:absolute;z-index:80;top:calc(100% + 5px);left:0;right:0;padding:8px;border:1px solid var(--line);border-radius:13px;background:#fff;box-shadow:var(--shadow-lg)}.smart-select-search{margin-bottom:7px}.smart-select-list{max-height:260px;overflow:auto}.smart-select-option{display:block;width:100%;min-height:36px;text-align:left;padding:8px 10px;border:0;border-radius:8px;background:#fff;color:var(--ink);font-weight:450;white-space:normal}.smart-select-option:hover,.smart-select-option.highlighted{background:#fff1e9;box-shadow:none;transform:none}.smart-select-option[aria-selected="true"]{font-weight:750;background:#f6f8f9}.smart-select-empty{padding:12px;color:var(--muted);text-align:center}
.jobs-head{align-items:flex-end}.queue-tabs{display:flex;gap:7px;overflow:auto;padding-bottom:4px;margin-bottom:12px}.queue-tabs a{white-space:nowrap;padding:8px 11px;border-radius:10px;border:1px solid var(--line);background:#fff;color:#59666f}.queue-tabs a.active{background:var(--dark);border-color:var(--dark);color:#fff}.filters{display:grid;gap:8px;margin-bottom:14px}.filters-wide{grid-template-columns:minmax(190px,1.15fr) repeat(4,minmax(130px,.65fr)) auto auto}.workspace{display:grid;grid-template-columns:minmax(440px,.9fr) minmax(420px,1.1fr);min-height:610px;height:calc(100vh - 260px);border:1px solid var(--line);border-radius:18px;background:#fff;overflow:hidden;box-shadow:var(--shadow)}.job-list{overflow:auto;border-right:1px solid var(--line);background:#f8fafb;padding:10px}.job-card{position:relative;padding:13px 14px 12px 18px;margin-bottom:9px;border:1px solid var(--line);border-radius:14px;background:#fff;outline:none;cursor:default;transition:border-color .15s,box-shadow .15s,transform .15s}.job-card:hover{border-color:#c9d2d7}.job-card:focus-visible{box-shadow:var(--focus)}.job-card.selected-map{border-color:#dcaa91;box-shadow:0 0 0 2px #fff2ea}.job-card.selected-bulk{border-color:#708898;background:#f2f7fa;box-shadow:0 0 0 2px rgba(112,136,152,.14)}.job-card.dragging{opacity:.55}.job-card.overdue{border-left:4px solid var(--danger)}.selection-mark{display:none;position:absolute;top:9px;right:9px;width:24px;height:24px;border-radius:50%;background:#5c7889;color:#fff;place-items:center;font-weight:800}.job-card.selected-bulk .selection-mark{display:grid}.drag-handle{position:absolute;left:4px;top:50%;transform:translateY(-50%);color:#bbc3c8;cursor:grab;writing-mode:vertical-rl;letter-spacing:-4px}.ticket-heading{display:flex;justify-content:space-between;gap:12px;margin-bottom:4px}.ticket-id{font-weight:800;letter-spacing:.02em;color:#3f4b53}.ticket-created{font-size:12px;color:var(--muted)}.job-top{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.badge,.priority-badge,.task-type-chip,.group-chip{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;font-size:11px;font-weight:750}.badge{background:#eef2f4}.status-new{background:#eaf3fb;color:#326ea8}.status-prepared{background:#fff0d2;color:#8a5b00}.status-assigned{background:#f0ebfb;color:#66529b}.status-in_progress{background:#fff0dd;color:#925d08}.status-review{background:#e4f6f2;color:#176c5d}.status-returned{background:#fdebee;color:#993447}.status-done{background:#e6f5eb;color:#2f7650}.status-cancelled{background:#f0e9eb;color:#8d4652}.priority-p1{background:#fbe4e8;color:#a0283b}.priority-p2{background:#fff0d8;color:#955e06}.priority-p3{background:#eaf2fa;color:#3a6f9d}.priority-p4{background:#edf1f3;color:#66727a}.ticket-main{display:grid;grid-template-columns:1fr minmax(150px,.42fr);gap:14px;margin-top:8px}.ticket-main h2{font-size:16px;margin:0 0 5px}.address{margin:0 0 4px;color:#4f5c64}.legal-line{font-size:12px;color:var(--muted);margin:0}.ticket-right{text-align:right;font-size:12px}.ticket-right>div{margin-bottom:5px}.ticket-right b{display:block;font-size:13px;color:var(--ink)}.ticket-bottom{display:flex;justify-content:space-between;gap:10px;align-items:flex-end;margin-top:9px;padding-top:9px;border-top:1px solid #edf0f2}.ticket-chips{display:flex;gap:5px;flex-wrap:wrap}.task-type-chip{background:#f0eefb;color:#65579a}.group-chip{background:#fff1df;color:#8c5f22}.details-link{font-weight:700;font-size:12px}.inline-assignee-form{display:flex;justify-content:flex-end;gap:5px}.inline-assignee-form select{width:150px;min-height:34px;padding:5px 8px;font-size:12px}.inline-assignee-form button{min-height:34px;padding:5px 8px;font-size:12px}.map-panel{display:grid;grid-template-rows:48px 1fr;min-width:0;background:#fff}.map-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 13px;border-bottom:1px solid var(--line)}.map-toolbar a{font-size:12px}.map-panel iframe{width:100%;height:100%;border:0;background:#eef2f4}.selection-toolbar{position:sticky;top:78px;z-index:35;display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:9px 10px;margin-bottom:10px;border-radius:13px;background:#2f3a41;color:#fff;box-shadow:var(--shadow)}.selection-toolbar[hidden]{display:none}.selection-toolbar input,.selection-toolbar select{width:auto;min-width:145px;min-height:36px;padding:6px 8px}.selection-toolbar button{min-height:36px;padding:6px 10px}.worker-all-route{margin-bottom:10px}.route-strip{display:grid;grid-template-columns:minmax(200px,.3fr) 1fr;gap:14px;align-items:start}.route-strip h2{margin-bottom:3px}.route-chips{display:flex;flex-wrap:wrap;gap:7px}.route-chips a{display:grid;min-width:175px;padding:9px 11px;border:1px solid var(--line);border-radius:11px;background:#fafbfb;color:var(--ink)}.route-chips small{color:var(--muted)}
.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.43fr);gap:17px}.create-job-grid{grid-template-columns:minmax(0,1.1fr) minmax(340px,.6fr)}.create-job-grid form{display:grid;gap:13px}.preview-panel{position:sticky;top:88px;align-self:start}.entity-preview{padding:13px;border:1px solid var(--line);border-radius:13px;background:#f8fafb;margin-bottom:10px}.entity-preview h3{margin:0 0 8px}.entity-preview p{margin:4px 0;color:#5c6870}.entity-preview.entity-expired{border-color:#e7b7bf;background:#fff7f8}.expiry-banner{margin-top:9px;padding:8px 10px;border-radius:9px;background:var(--danger-bg);color:var(--danger);font-weight:750}.playbook-preview{padding-top:8px;border-top:1px solid var(--line);color:#5a656c}.priority-preview{display:grid;gap:2px;padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:#fafbfc}.priority-preview b{font-size:15px}.priority-preview small{color:var(--muted)}.priority-preview[data-priority="p1"]{border-color:#e6aeba;background:#fff7f8}.requirements-box{display:grid;gap:8px}.worker-load-note{display:block;color:var(--muted);font-size:11px;margin-top:2px}.sla-note{font-size:12px;color:var(--muted)}
.job-detail-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.job-detail-title h1{margin-bottom:6px}.public-number{display:inline-flex;align-items:center;gap:6px;font-weight:800;letter-spacing:.04em}.job-details{display:grid;grid-template-columns:180px 1fr;gap:11px}.job-details dt{color:var(--muted)}.job-details dd{margin:0;min-width:0}.click-copy{cursor:pointer;border-bottom:1px dotted #9aa5ac}.detail-actions{display:flex;gap:7px;flex-wrap:wrap}.inline-form{display:flex;gap:8px;align-items:end;margin:12px 0}.comments{max-height:430px;overflow:auto}.comment{padding:10px 0;border-bottom:1px solid var(--line)}.comment div{display:flex;justify-content:space-between;gap:10px}.comment time{font-size:12px;color:var(--muted)}.requirements-summary{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:13px}.requirements-summary span{padding:6px 9px;border-radius:9px;font-size:11px}.requirements-summary .required{background:var(--warn-bg);color:#79550e}.requirements-summary .optional{background:#eef2f4;color:#637078}.photo-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.photo-panel{padding:12px;border:1px solid var(--line);border-radius:13px}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(95px,1fr));gap:8px}.photo-grid a{display:grid;gap:4px}.photo-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:9px;border:1px solid var(--line)}.photo-grid small{font-size:10px;color:var(--muted)}.upload-form{margin-top:9px;padding:9px;background:#f8fafb;border-radius:10px}.submitted-report{padding:13px;background:#f8fafb;border-radius:12px;margin:12px 0}.review-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:13px}.review-actions form{display:grid;gap:8px}.reason-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.job-edit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.job-edit-grid .wide-field{grid-column:1/-1}.audit-field-changes{margin:6px 0 0;padding:8px 11px;border-radius:9px;background:#f7f9fa;font-size:12px}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:10px;margin-bottom:14px}.stats>div,.metric-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px}.stats strong,.metric-card strong{display:block;font-size:27px;line-height:1.1}.stats span,.metric-card span{color:var(--muted);font-size:12px}.stats-breakdown{display:grid;grid-template-columns:1fr 1fr;gap:16px}.chart-list{display:grid;gap:10px}.chart-row{display:grid;grid-template-columns:minmax(120px,.35fr) 1fr 52px;gap:9px;align-items:center}.chart-track{height:9px;border-radius:999px;background:#edf1f3;overflow:hidden}.chart-bar{height:100%;border-radius:inherit;background:#8aa3b2}.chart-value{text-align:right;font-variant-numeric:tabular-nums}.compact-stat-list>div{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px solid var(--line)}.compact-stat-list span{display:grid}.compact-stat-list span:last-child{text-align:right}.compact-stat-list small{color:var(--muted)}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:13px}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:10px;border-bottom:1px solid var(--line);vertical-align:top}th{background:#f7f9fa;font-size:11px;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);position:sticky;top:0}td small{display:block;color:var(--muted);margin-top:2px}.row-overdue{background:#fff5f6}.timeline>div{display:grid;grid-template-columns:160px 170px 1fr;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.timeline time{font-size:14px;font-weight:650;color:#4d5961}.timeline .actor{font-weight:400;color:#67747c}.audit-text{color:#3f4a51}.monitor-filters{display:grid;grid-template-columns:repeat(5,1fr) auto;gap:8px;margin-bottom:13px}.period-tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px}.period-tabs a{padding:7px 10px;border:1px solid var(--line);border-radius:9px;background:#fff}.period-tabs a.active{background:#343e44;color:#fff}
.admin-users{display:grid;gap:10px}.admin-user-card{border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden}.admin-user-card[open]{border-color:#d8b09a}.admin-user-card summary{display:grid;grid-template-columns:minmax(200px,1.2fr) minmax(150px,.7fr) 120px 120px;gap:10px;align-items:center;padding:13px 15px;cursor:pointer}.admin-user-main{display:grid}.admin-user-main small{color:var(--muted)}.admin-user-body{display:grid;grid-template-columns:1fr .9fr;gap:14px;padding:15px;border-top:1px solid var(--line);background:#fafbfb}.admin-user-body form{display:grid;grid-template-columns:1fr 1fr;gap:10px}.owner-env-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px;border:1px solid #e4d4cb;border-radius:13px;background:#fff8f4;margin-bottom:12px}.owner-env-badge{padding:5px 8px;border-radius:999px;background:#eceff1;color:#5d676e;font-size:11px}.admin-create-grid{display:grid;grid-template-columns:repeat(5,1fr) auto;gap:10px;align-items:end}.permission-note{font-size:11px;color:var(--muted)}
.notification-list{display:grid;gap:8px}.notification-card{display:grid;grid-template-columns:1fr auto;gap:9px;padding:12px 14px;border:1px solid var(--line);border-radius:13px;background:#fff}.notification-card.unread{border-left:4px solid var(--accent);background:#fffaf7}.notification-card small{color:var(--muted)}.notification-card p{margin:4px 0 0}.empty,.empty-state{text-align:center;padding:28px;color:var(--muted)}.archived-photo{display:grid;place-items:center;min-height:110px;padding:12px;border:1px dashed var(--line);border-radius:10px;background:#f3f5f6;text-align:center}.archived-photo small{color:var(--muted)}.route-list li{display:grid;grid-template-columns:55px 1fr auto;gap:12px;padding:11px;border-bottom:1px solid var(--line)}.route-list li:last-child{border-bottom:0}.route-number{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#eef2f4;font-weight:800}.client-toast{position:fixed;z-index:200;left:50%;bottom:24px;transform:translateX(-50%);padding:10px 14px;border-radius:11px;background:#2e3a41;color:#fff;box-shadow:var(--shadow-lg)}.client-toast.error{background:var(--danger)}
@media(max-width:1150px){.topbar{flex-wrap:wrap}.topbar nav{order:3;width:100%;overflow:auto;padding-bottom:1px}.account{margin-left:auto}.management-overview{grid-template-columns:repeat(2,1fr)}.entity-form,.entity-edit-grid,.object-grid{grid-template-columns:repeat(2,1fr)}.catalog-tools{grid-template-columns:1fr 1fr}.filters-wide{grid-template-columns:repeat(3,1fr)}.workspace{grid-template-columns:1fr;height:auto}.job-list{max-height:58vh;border-right:0;border-bottom:1px solid var(--line)}.map-panel{height:52vh}.detail-grid,.create-job-grid{grid-template-columns:1fr}.preview-panel{position:static}.photo-columns{grid-template-columns:1fr 1fr}.admin-user-card summary{grid-template-columns:1fr 1fr}.admin-user-body{grid-template-columns:1fr}.team-create-grid,.admin-create-grid{grid-template-columns:repeat(2,1fr)}.selection-toolbar{top:112px}.monitor-filters{grid-template-columns:repeat(3,1fr)}.job-edit-grid{grid-template-columns:1fr 1fr}}
@media(max-width:720px){body{font-size:13px}.topbar{position:static;gap:10px;padding:10px 12px}.brand span:last-child{font-size:13px}.topbar nav{gap:2px}.topbar nav a{padding:7px 8px;font-size:12px}.account{grid-template-columns:auto}.account>a:last-child{grid-column:1;grid-row:auto}.account small{display:none}main{padding:13px}.page-head{align-items:stretch;flex-direction:column;margin-bottom:13px}.page-head h1{font-size:25px}.panel{padding:13px;border-radius:14px}.management-overview{grid-template-columns:1fr 1fr}.section-title-row{align-items:stretch;flex-direction:column}.catalog-tools,.entity-form,.entity-edit-grid,.object-grid,.type-grid,.team-create-grid,.team-manage-grid,.team-manage-grid form,.admin-create-grid,.profile-grid,.form-row,.filters-wide,.monitor-filters,.job-edit-grid,.reason-grid,.review-actions,.stats-breakdown{grid-template-columns:1fr}.wide-field,.profile-grid .wide-field{grid-column:auto}.entity-card summary{align-items:flex-start}.entity-summary-with-thumb{grid-template-columns:42px 1fr}.entity-thumb{width:42px;height:42px}.smart-select-pop{position:fixed;z-index:120;left:10px;right:10px;top:auto;bottom:10px;max-height:65vh}.smart-select-list{max-height:50vh}.workspace{border-radius:13px}.job-list{max-height:none}.map-panel{height:45vh}.ticket-main{grid-template-columns:1fr}.ticket-right{text-align:left;display:flex;gap:14px;flex-wrap:wrap}.ticket-bottom{align-items:stretch;flex-direction:column}.inline-assignee-form{justify-content:flex-start}.selection-toolbar{top:0}.selection-toolbar input,.selection-toolbar select{width:100%;min-width:0}.route-strip{grid-template-columns:1fr}.route-chips{display:grid}.route-chips a{min-width:0}.job-details{grid-template-columns:1fr}.job-details dt{font-weight:750}.photo-columns{grid-template-columns:1fr}.timeline>div{grid-template-columns:1fr;gap:3px}.timeline time{font-size:14px}.admin-user-card summary{grid-template-columns:1fr}.owner-env-card{align-items:flex-start;flex-direction:column}.auth-card{padding:26px 20px}.aroma-login-logo{margin-bottom:20px}.profile-grid{grid-template-columns:1fr}.route-list li{grid-template-columns:45px 1fr}.route-list li>*:last-child{grid-column:2}.chart-row{grid-template-columns:95px 1fr 42px}.client-toast{bottom:12px;width:calc(100% - 24px);text-align:center}}
.smart-select-option:has(.smart-select-thumb){display:grid;grid-template-columns:34px 1fr;gap:9px;align-items:center}.smart-select-thumb{width:34px;height:34px;border-radius:8px;object-fit:cover;border:1px solid var(--line);background:#f5f7f8}.status-badge.warn{background:var(--warn-bg);color:var(--warn)}.status-badge.danger{background:var(--danger-bg);color:var(--danger)}.danger-text{color:var(--danger)}.catalog-tools.four{grid-template-columns:minmax(220px,1.2fr) repeat(3,minmax(140px,.45fr))}
@media(max-width:720px){.catalog-tools.four{grid-template-columns:1fr}}
.metric-chart{display:grid;gap:12px;margin-top:14px}.metric-bar{display:grid;grid-template-columns:minmax(110px,160px) minmax(140px,1fr) 48px;gap:12px;align-items:center}.metric-bar>span{font-size:13px}.metric-bar>div{height:12px;border-radius:999px;background:rgba(20,28,36,.07);overflow:hidden}.metric-bar i{display:block;width:var(--bar);height:100%;border-radius:inherit;background:currentColor;opacity:.58}.metric-bar b{text-align:right;font-variant-numeric:tabular-nums}@media(max-width:640px){.metric-bar{grid-template-columns:100px 1fr 36px;gap:8px}.metric-bar>span{font-size:12px}}
.smart-select-placeholder{display:inline-grid;place-items:center;background:#eef1f3;color:#5f6b72;font-weight:800;font-size:11px}

.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}


.brand{gap:12px}.brand-logo{display:inline-block;width:182px;height:38px;background:url('aroma-logo.png') left center/contain no-repeat;flex:0 0 auto}.brand-title{font-weight:800}.account{grid-template-columns:auto}.account small{margin-top:2px}.account .account-name{grid-column:1}.auth-card{width:min(540px,100%)}.auth-card.login-card-wide{width:min(540px,100%)}
.password-field{position:relative}.password-field input{padding-right:48px}.password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);min-width:34px;min-height:34px;padding:0;border-radius:10px;background:transparent;border:0;color:#1f2529;box-shadow:none}.password-toggle:hover{background:#f3f5f6;transform:translateY(-50%)}.password-toggle svg{width:20px;height:20px}.profile-settings-card{max-width:860px}.profile-settings-form{display:grid;gap:14px}.profile-actions-row{display:flex;justify-content:flex-start}.profile-logout-box{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.logout-profile-button svg{width:18px;height:18px}
.smart-select-button{display:flex;justify-content:space-between;width:100%;padding-right:12px;background:#fff;color:var(--ink);border:1px solid var(--line-strong);border-radius:11px;box-shadow:none}.smart-select-button:hover{background:#fff;transform:none;box-shadow:none}.smart-chevron{display:inline-flex;align-items:center;justify-content:center;color:#71808a;flex:0 0 auto}.smart-chevron svg{width:18px;height:18px}.smart-select-pop{position:absolute;left:0;right:0;top:calc(100% + 6px);padding:10px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-lg);z-index:80}.smart-select{position:relative}.native-smart-select{position:absolute!important;inset:0;opacity:0;pointer-events:none}.smart-select-search{margin-bottom:8px}.smart-select-list{display:grid;gap:3px;max-height:290px;overflow:auto}.smart-select-option{display:flex;align-items:center;gap:10px;width:100%;padding:10px;border:0;border-radius:10px;background:#fff;color:var(--ink);text-align:left;box-shadow:none}.smart-select-option:hover,.smart-select-option.highlighted{background:#f4f6f7;transform:none}.smart-select-option.selected{background:#fff3ec}.smart-select-option-multi{justify-content:flex-start}.smart-select-check{margin-left:auto;display:inline-flex;width:16px;height:16px;color:var(--accent-hover)}.smart-select-footer{display:flex;justify-content:flex-end;padding-top:8px}.smart-select-clear{min-height:34px;padding:6px 10px}.smart-select-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.inline-chevron{margin-left:4px}
.filters-jobs{grid-template-columns:minmax(220px,1.4fr) repeat(5,minmax(140px,1fr)) 136px;align-items:start}.filter-actions-stack{display:grid;gap:8px}.filter-actions-stack .button,.filter-actions-stack button{width:100%}.filter-actions-stack .button{min-height:42px}.compact-workspace{grid-template-columns:minmax(560px,.96fr) minmax(520px,1.04fr);align-items:start}.job-list{max-height:calc(100vh - 320px);overflow:auto;scrollbar-gutter:stable}.map-panel{min-height:calc(100vh - 320px);display:grid;grid-template-rows:auto minmax(360px,1fr) auto}.map-panel iframe{width:100%;height:100%;min-height:360px;border:0;border-radius:14px}.jobs-head{margin-bottom:14px}.queue-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.queue-tabs a{padding:8px 12px;border:1px solid var(--line);border-radius:12px;background:#fff;color:#516069;font-weight:600}.queue-tabs a.active{background:var(--dark);color:#fff}.queue-tabs b{font-weight:800}.job-card{position:relative;padding:14px;border:1px solid #efc1a9;border-radius:18px;background:#fff;margin-bottom:12px}.ticket-heading{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:10px}.ticket-meta-left,.ticket-meta-right{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.ticket-meta-right{justify-content:flex-end}.ticket-id{font-weight:850;font-size:15px;cursor:pointer}.ticket-created{color:#77828a}.ticket-main{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:16px}.ticket-primary h2{font-size:16px;margin:0 0 6px}.ticket-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.address,.legal-line{font-size:15px;color:#4b5962}.address{margin-bottom:6px}.address-text{user-select:text}.job-note-preview{margin:10px 0 0;color:#61717b}.more-info-button{min-height:32px;padding:6px 10px;font-weight:650}.job-extra{margin-top:12px;padding-top:10px;border-top:1px dashed var(--line)}.job-extra.is-collapsed{display:none}.job-extra-block + .job-extra-block{margin-top:10px}.job-extra-thumbs{display:flex;gap:8px;flex-wrap:wrap}.job-extra-thumbs img{width:88px;height:68px;object-fit:cover;border:1px solid var(--line);border-radius:10px}.ticket-right{display:grid;gap:12px;align-content:start}.info-block{display:grid;gap:4px;text-align:right}.info-block>span{font-size:12px;color:var(--muted);font-weight:700}.ticket-bottom{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.details-link{font-weight:700}.map-toolbar a{font-weight:800}.routes-under-map{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.route-chips-vertical{display:grid;gap:8px}.route-chips-vertical a{display:block;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#fff}.route-chips-vertical small{display:block;color:var(--muted);margin-top:3px}
.team-manage-grid .check-label small,.team-create-grid .check-label small{display:block;color:var(--muted);font-weight:500;margin-top:2px}.embedded-collapse{padding:12px;background:#fff8f4;border-color:#f0dacc}.collapse-opener{display:inline-flex;align-items:center;gap:8px}.collapse-opener svg{width:16px;height:16px}.embedded-collapse>.is-collapsed{display:none}
.photo-grid a{padding:6px;border:1px solid var(--line);border-radius:12px;background:#fff}.photo-panel h3{margin-bottom:10px}
@media(max-width:1280px){.filters-jobs{grid-template-columns:repeat(3,1fr)}.compact-workspace{grid-template-columns:1fr}.job-list{max-height:54vh}.map-panel{min-height:auto;grid-template-rows:auto 48vh auto}}
@media(max-width:720px){.brand{gap:8px}.brand-logo{width:138px;height:30px}.brand-title{font-size:13px}.filters-jobs{grid-template-columns:1fr}.compact-workspace{grid-template-columns:1fr}.job-list{max-height:none}.ticket-main{grid-template-columns:1fr}.info-block{text-align:left}.ticket-title-row{flex-direction:column;align-items:flex-start}.map-panel{grid-template-rows:auto 42vh auto}.map-panel iframe{min-height:260px}.account{justify-items:end}.auth-card{padding:26px 18px}}
/* v1.2.2 verified UI corrections */
.brand{min-width:170px}.brand-logo{display:block;width:172px;height:42px;background:url('aroma-logo.png') left center/contain no-repeat}.brand-mark{display:none}.account{grid-template-columns:auto auto}.account small{grid-column:1}.owner-header-logout{grid-column:2;grid-row:1/3;align-self:center;color:#8a5656;font-size:12px}.narrow-panel{width:min(820px,100%);margin:0 auto}.credential-lock{padding:22px}.credential-lock h1{margin-bottom:14px}.credential-lock .flash,.credential-lock .security-note{margin-bottom:14px}.profile-settings-form{grid-template-columns:1fr 1fr}.profile-settings-form label:nth-of-type(1),.profile-settings-form label:nth-of-type(2),.profile-settings-form label:nth-of-type(3){grid-column:auto}.profile-settings-form label:nth-of-type(n+4){grid-column:1/-1}.profile-actions-row{grid-column:1/-1}
.entity-card summary::after,.admin-user-card summary::after,.create-drawer>summary::after,.team-summary::after{content:'';display:inline-block;width:8px;height:8px;border-right:2px solid #849199;border-bottom:2px solid #849199;transform:rotate(45deg);transition:transform .16s;flex:0 0 auto;margin-left:8px}.entity-card[open] summary::after,.admin-user-card[open] summary::after,.create-drawer[open]>summary::after,.team-panel[open]>.team-summary::after{transform:rotate(225deg)}
.smart-select-label,.smart-option-text{font-size:clamp(10.67px,.82vw,14px);line-height:1.25}.smart-option-text{white-space:normal;overflow-wrap:anywhere}.smart-select-option{min-height:40px}.smart-select-option.selected .smart-select-check{opacity:1}.smart-select-check{opacity:0}.smart-select-option.selected{background:#fff3ec}.smart-select-option-multi:hover .smart-select-check{opacity:.35}.smart-select-button{min-width:0}.smart-select-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filters-jobs .smart-select-pop{min-width:260px;width:max(100%,320px);right:auto}.filters-jobs .smart-select:nth-last-child(-n+2) .smart-select-pop{right:0;left:auto}
.ticket-heading{align-items:center}.ticket-meta-right{margin-left:auto}.ticket-primary h2,.address,.legal-line{font-weight:720}.ticket-primary h2{font-size:17px}.address,.legal-line{font-size:14px}.address-text{display:inline;cursor:pointer}.address-text:hover{text-decoration:underline;text-decoration-style:dotted}.job-note-preview{font-size:12px;line-height:1.4}.inline-assignee-form select{cursor:pointer}.map-panel{overflow:visible}.map-toolbar{min-height:44px}.map-toolbar a{font-size:13px;font-weight:850}.routes-under-map{max-height:190px;overflow:auto}.image-viewer-overlay{position:fixed;inset:0;z-index:500;display:grid;place-items:center;padding:24px;background:rgba(12,18,22,.84);backdrop-filter:blur(6px)}.image-viewer-overlay img{max-width:min(1200px,94vw);max-height:90vh;object-fit:contain;border-radius:14px;box-shadow:0 20px 70px rgba(0,0,0,.4)}.image-viewer-close{position:fixed;top:18px;right:22px;width:44px;height:44px;min-height:44px;padding:0;border-radius:50%;font-size:30px;line-height:1;background:rgba(255,255,255,.94);color:#1f282e}.route-edit-panel.is-collapsed{display:none}.route-edit-form{display:grid;grid-template-columns:minmax(220px,1fr) minmax(220px,.6fr) auto;gap:10px;align-items:end}.route-item-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.route-item-actions form{margin:0}.compact-button{min-height:32px;padding:5px 9px;font-size:11px}.executor-permission{align-self:center}.executor-permission small{display:block;color:var(--muted)}
.photo-grid img{aspect-ratio:4/3;object-fit:cover}.photo-panel{min-width:0}.job-details dd{min-width:0;overflow-wrap:anywhere}
@media(max-width:1150px){.brand-logo{width:155px;height:38px}.profile-settings-form{grid-template-columns:1fr}.profile-settings-form label{grid-column:1!important}.filters-jobs .smart-select-pop{width:100%;min-width:0;left:0;right:0}.route-edit-form{grid-template-columns:1fr 1fr}.route-edit-form button{grid-column:1/-1}}
@media(max-width:720px){.brand{min-width:auto}.brand-logo{width:142px;height:34px}.profile-settings-form{grid-template-columns:1fr}.ticket-heading{align-items:flex-start}.ticket-meta-left{flex:0 0 auto}.ticket-meta-right{justify-content:flex-end}.ticket-created{font-size:11px}.ticket-id{font-size:13px}.badge,.priority-badge{font-size:10px;padding:4px 6px}.job-card{padding:12px}.job-extra-thumbs img{width:74px;height:58px}.route-edit-form{grid-template-columns:1fr}.route-item-actions{justify-content:flex-start;flex-wrap:wrap}}
@media(min-width:1281px){
  .compact-workspace{height:calc(100dvh - 300px);min-height:500px;max-height:calc(100dvh - 300px);overflow:hidden}
  .compact-workspace .job-list{height:100%;max-height:none;overflow:auto}
  .compact-workspace .map-panel{height:100%;min-height:0;grid-template-rows:44px minmax(0,1fr) auto;overflow:hidden}
  .compact-workspace .map-panel iframe{min-height:0;height:100%}
  .compact-workspace .routes-under-map{max-height:150px;overflow:auto;margin:0;padding:10px 12px;border-top:1px solid var(--line)}
}
.create-job-grid{gap:13px}.create-job-grid>.panel{padding:15px}.create-job-grid form{gap:10px}.create-job-grid textarea{min-height:72px}.create-job-grid .entity-preview{padding:11px;margin-bottom:8px}.create-job-grid .requirements-box{gap:6px;padding:10px}.create-job-grid .priority-preview{padding:9px 11px}.create-job-grid label{gap:4px}.job-edit-grid{gap:10px}.job-edit-grid textarea{min-height:78px}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(112px,1fr))}.photo-grid a{overflow:hidden}.photo-grid img{display:block;width:100%;height:auto;min-height:82px;max-height:140px}

/* ======================================================================
   v1.2.3 corrective UI layer — final cascade
   ====================================================================== */
img{max-width:100%;height:auto}.panel,.workspace,.job-card,.ticket-primary,.ticket-right,.map-panel,.map-work,.smart-select,.filters-jobs>*{min-width:0}
.brand{display:flex;align-items:center;min-width:192px;flex:0 0 auto}.brand-logo-image{display:block;width:188px;height:44px;object-fit:contain;object-position:left center;user-select:none;-webkit-user-drag:none}.brand-logo,.brand-mark{display:none!important}
.topbar{gap:18px;padding-top:8px;padding-bottom:8px;min-height:64px}.topbar nav{min-width:0}.topbar nav a{white-space:nowrap}.account{min-width:max-content}

/* Native selects use the same real chevron everywhere; enhanced selects render SVG in JS. */
select:not(.native-smart-select){appearance:none;-webkit-appearance:none;padding-right:34px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 20 20'%3E%3Cpath d='M5 7.5l5 5 5-5' fill='none' stroke='%2371808a' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:18px 18px}
.entity-card summary::after,.admin-user-card summary::after,.create-drawer>summary::after,.team-summary::after{content:''!important;display:inline-block;width:16px!important;height:16px!important;border:0!important;margin-left:8px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 20 20'%3E%3Cpath d='M5 7.5l5 5 5-5' fill='none' stroke='%23849199' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px 16px no-repeat;transform:none!important;transition:transform .16s!important;flex:0 0 auto}
.entity-card[open] summary::after,.admin-user-card[open] summary::after,.create-drawer[open]>summary::after,.team-panel[open]>.team-summary::after{transform:rotate(180deg)!important}
.smart-chevron{width:20px;height:20px;display:inline-flex!important;align-items:center;justify-content:center;flex:0 0 20px}.smart-chevron svg{display:block;width:18px;height:18px}.smart-select-button[aria-expanded="true"] .smart-chevron,.more-info-button.is-expanded .smart-chevron{transform:rotate(180deg)}

/* Live multi filters */
.filters-jobs{display:grid!important;grid-template-columns:minmax(230px,1.35fr) minmax(150px,.8fr) minmax(230px,1.2fr) minmax(135px,.7fr) minmax(150px,.75fr) minmax(150px,.8fr) 112px!important;gap:8px;align-items:start;margin-bottom:12px}.filters-jobs.is-loading{opacity:.76}.filters-jobs .filter-actions-stack{display:block}.filter-reset-button{width:100%;min-height:42px;padding-inline:10px}.filters-jobs .smart-select-button{height:42px;min-height:42px;padding:7px 10px 7px 12px}.smart-select-label,.smart-option-text{font-size:clamp(10.67px,.78vw,14px)!important}.smart-select-option{grid-template-columns:minmax(0,1fr) auto}.smart-select-option:has(.smart-select-thumb){grid-template-columns:34px minmax(0,1fr) auto}.smart-select-option.suggested{background:#f3f7fb;box-shadow:inset 3px 0 0 #7f9caf}.smart-option-suggested{grid-column:1/-1;color:#6c7c86;font-size:10px;margin-top:-4px}.smart-select-option:has(.smart-select-thumb) .smart-option-suggested{grid-column:2/-1}.smart-select-pop{z-index:180}.smart-select-list{max-height:320px}.smart-select-option .smart-option-text{overflow-wrap:anywhere;word-break:normal;white-space:normal}.smart-select-check{margin-left:auto}

/* Desktop dispatch workspace: page does not need to scroll to use the map. */
.compact-workspace{display:grid!important;grid-template-columns:minmax(500px,.92fr) minmax(520px,1.08fr)!important;height:calc(100vh - 286px)!important;min-height:470px!important;max-height:760px;border-radius:16px;overflow:hidden;align-items:stretch!important}.compact-workspace .job-list{height:100%;max-height:none!important;overflow-y:auto!important;overflow-x:hidden;border-right:1px solid var(--line);padding:10px;background:#f8fafb;scrollbar-gutter:stable}.compact-workspace .map-panel{height:100%!important;min-height:0!important;display:grid!important;grid-template-rows:minmax(0,1fr) auto!important;overflow:hidden!important;background:#fff}.map-work{min-height:0;display:grid;grid-template-rows:44px minmax(0,1fr);overflow:hidden}.map-work .map-toolbar{min-height:44px;height:44px;padding:0 14px}.map-work iframe{display:block;width:100%;height:100%!important;min-height:0!important;border:0;border-radius:0!important}.map-toolbar a{font-size:13px!important;font-weight:850!important;color:#275f85}
.routes-under-map{margin:0!important;padding:10px 12px 12px!important;border-top:1px solid var(--line)!important;max-height:190px!important;overflow:auto!important;background:#fbfcfc}.routes-under-map-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}.routes-under-map-title h2{font-size:14px;margin:0}.routes-under-map-title p{font-size:10px;margin:1px 0 0;text-align:right}.route-chips-vertical{display:grid!important;gap:7px!important}.route-summary-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 9px;border:1px solid var(--line);border-radius:11px;background:#fff}.route-summary-card.active{border-color:#dca78c;background:#fff6f1}.route-summary-main{display:grid;gap:2px;min-width:0}.route-summary-main b{font-size:12px;white-space:normal}.route-summary-main small{font-size:10px;color:var(--muted)}.route-summary-actions{display:flex;gap:6px;align-items:center}.route-summary-actions .compact-button{min-height:31px;padding:5px 8px;font-size:10px}.compact-empty{padding:10px!important;font-size:11px}.route-filter-chip{background:#5e7888!important;border-color:#5e7888!important}

/* Ticket cards: fixed structure and no image can expand the card unless extra info is opened. */
.job-card{overflow:visible!important;padding:12px 13px 11px 16px!important;margin-bottom:9px!important;border-radius:14px!important}.ticket-heading{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;margin:0 0 8px!important}.ticket-meta-left,.ticket-meta-right{display:flex;align-items:center;gap:6px;min-width:0;flex-wrap:wrap}.ticket-meta-right{margin-left:auto;justify-content:flex-end}.ticket-id{font-size:13px!important}.ticket-created{font-size:11px!important;white-space:nowrap}.badge,.priority-badge{font-size:10px!important;padding:4px 6px!important}.ticket-main{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(170px,205px)!important;gap:14px!important;margin-top:0!important}.ticket-title-row{display:flex;align-items:flex-start;gap:10px;justify-content:space-between}.ticket-title-row h2{font-size:16px!important;line-height:1.2;margin:0 0 5px!important}.more-info-button{flex:0 0 auto;min-height:30px!important;padding:5px 8px!important;font-size:10px!important;border-color:#dce2e5}.address,.legal-line{font-size:13px!important;line-height:1.35;margin:0 0 4px!important;font-weight:690!important}.address-text{display:inline!important;width:auto!important;cursor:pointer}.job-note-preview{font-size:11px!important;line-height:1.35!important;margin:7px 0 0!important}.ticket-right{display:grid!important;grid-template-columns:1fr!important;gap:9px!important;align-content:start!important;text-align:right!important}.info-block{display:grid;gap:2px}.info-block>span{font-size:10px!important}.info-block>b{font-size:12px!important}.info-block small{font-size:9px}.inline-assignee-form{display:grid!important;grid-template-columns:minmax(0,1fr) 32px;gap:5px;justify-content:stretch!important}.inline-assignee-form select{width:100%!important;min-width:0!important;min-height:32px!important;height:32px;padding:4px 28px 4px 7px!important;font-size:10px!important}.inline-assignee-form button{min-width:32px!important;width:32px!important;min-height:32px!important;padding:4px!important}.ticket-bottom{margin-top:8px!important;padding-top:8px!important}.ticket-chips{min-width:0}.task-type-chip,.group-chip{font-size:9px!important;padding:4px 6px!important}.details-link{font-size:11px!important}
.job-extra[hidden]{display:none!important}.job-extra{display:grid;grid-template-columns:minmax(170px,.8fr) minmax(0,1.2fr);gap:12px;margin-top:10px;padding:10px;border:1px solid var(--line);border-radius:11px;background:#f8fafb}.job-extra-block{min-width:0}.job-extra-block b{display:block;font-size:10px;color:#66737b;margin-bottom:4px}.job-extra-block p{margin:0;font-size:11px;overflow-wrap:anywhere}.job-extra-block+.job-extra-block{margin-top:0!important}.job-extra-thumbs{display:flex!important;align-items:center;gap:7px!important;flex-wrap:wrap!important}.job-extra-thumbs a{display:block;width:72px;height:54px;flex:0 0 72px;border-radius:8px;overflow:hidden;border:1px solid var(--line);background:#eef2f4}.job-extra-thumbs img{display:block!important;width:72px!important;height:54px!important;max-width:72px!important;max-height:54px!important;object-fit:cover!important;border:0!important;border-radius:0!important;margin:0!important}
.image-viewer-overlay{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:24px;background:rgba(11,16,20,.88);backdrop-filter:blur(5px)}.image-viewer-overlay img{display:block;max-width:min(1180px,92vw)!important;max-height:88vh!important;width:auto!important;height:auto!important;object-fit:contain!important;border-radius:12px;box-shadow:0 22px 75px rgba(0,0,0,.45)}.image-viewer-close{position:fixed;top:18px;right:20px;z-index:1001;width:42px;height:42px;min-height:42px;padding:0;border-radius:50%;background:#fff;color:#1d252a;font-size:27px;line-height:1}

/* Bulk bar is a working grid rather than a compressed one-line strip. */
.selection-toolbar{display:grid!important;grid-template-columns:auto minmax(160px,1.1fr) minmax(145px,.8fr) minmax(145px,.8fr) minmax(135px,.65fr) minmax(155px,.9fr);gap:7px!important;align-items:center!important;padding:9px!important;top:68px!important}.selection-toolbar[hidden]{display:none!important}.selection-toolbar>strong{white-space:nowrap}.selection-toolbar input,.selection-toolbar select{width:100%!important;min-width:0!important;min-height:34px!important;height:34px;padding:5px 28px 5px 8px!important;font-size:10px}.selection-toolbar button{min-height:32px!important;padding:5px 8px!important;font-size:10px!important}.selection-toolbar button.secondary{background:#fff;color:var(--ink)}

/* Cross-page grid safety: no form/control should overflow its cell. */
.detail-grid>*,.create-job-grid>*,.job-edit-grid>*,.entity-edit-grid>*,.entity-form>*,.team-manage-grid>*,.profile-settings-form>*{min-width:0}.job-edit-grid label,.entity-edit-grid label,.entity-form label,.create-job-grid label{min-width:0}.photo-grid img,.image-preview,.entity-thumb{max-width:100%}.photo-grid a{overflow:hidden}.photo-grid img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}

@media(max-width:1380px){.filters-jobs{grid-template-columns:minmax(210px,1.3fr) repeat(3,minmax(135px,.8fr)) minmax(140px,.8fr) minmax(140px,.8fr) 105px!important}.compact-workspace{grid-template-columns:minmax(460px,.95fr) minmax(470px,1.05fr)!important}.selection-toolbar{grid-template-columns:auto repeat(4,minmax(135px,1fr))}}
@media(max-width:1150px){.brand{min-width:160px}.brand-logo-image{width:158px;height:38px}.filters-jobs{grid-template-columns:repeat(3,minmax(0,1fr))!important}.filter-actions-stack{grid-column:auto}.compact-workspace{height:auto!important;max-height:none!important;grid-template-columns:1fr!important}.compact-workspace .job-list{height:48vh!important;min-height:330px}.compact-workspace .map-panel{height:58vh!important;min-height:430px!important}.selection-toolbar{position:static!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}.selection-toolbar>strong{grid-column:1/-1}}
@media(max-width:720px){.topbar{padding:8px 10px}.brand{min-width:132px}.brand-logo-image{width:132px;height:32px}.filters-jobs{grid-template-columns:1fr!important}.smart-select-pop{position:fixed!important;left:10px!important;right:10px!important;bottom:10px!important;top:auto!important;width:auto!important;min-width:0!important;max-height:70vh}.smart-select-list{max-height:52vh}.compact-workspace .job-list{height:auto!important;max-height:56vh!important;min-height:260px}.compact-workspace .map-panel{height:auto!important;min-height:0!important}.map-work{height:46vh;min-height:300px}.routes-under-map{max-height:230px!important}.route-summary-card{grid-template-columns:1fr}.route-summary-actions{justify-content:flex-start;flex-wrap:wrap}.ticket-heading{align-items:flex-start!important}.ticket-meta-left{max-width:72%}.ticket-main{grid-template-columns:1fr!important}.ticket-right{text-align:left!important;grid-template-columns:1fr 1fr!important}.ticket-title-row{align-items:flex-start}.more-info-button{font-size:10px!important}.job-extra{grid-template-columns:1fr}.selection-toolbar{grid-template-columns:1fr!important}.selection-toolbar>strong{grid-column:auto}.image-viewer-overlay{padding:12px}.image-viewer-close{top:10px;right:10px}.account small{display:block!important}}

/* ======================================================================
   v1.2.3.2 — jobs rework FROM BENCHMARK
   This layer intentionally preserves the v1.2.3 visual language.
   ====================================================================== */
.brand[data-protected-logo],.brand[data-protected-logo] *{-webkit-user-drag:none;user-select:none}.account{display:flex;align-items:center;gap:12px}.account-user{display:grid;justify-items:end}.header-create-job{min-height:38px;padding:8px 14px;white-space:nowrap}
main:has(.compact-workspace-benchmark){padding-top:18px;padding-bottom:0}main:has(.compact-workspace-benchmark) footer{display:none}
.queue-tabs-main{display:flex;align-items:center;gap:7px;overflow:visible;flex-wrap:wrap;margin-bottom:10px}.queue-tabs-main>a{white-space:nowrap}.queue-assignee-filter{min-width:190px;max-width:235px}.queue-assignee-filter .smart-select-button{min-height:38px;height:38px}.queue-route-button{background:var(--dark)!important;border-color:var(--dark)!important;color:#fff!important}.queue-route-button.active{box-shadow:0 0 0 2px #f3b08d}
.filters-jobs-benchmark{grid-template-columns:minmax(240px,1.35fr) minmax(165px,.85fr) minmax(235px,1.15fr) minmax(140px,.7fr) minmax(150px,.75fr) 112px!important;margin-bottom:10px}.filters-jobs-benchmark .smart-select-button{min-height:40px;height:40px}
.compact-workspace-benchmark{height:calc(100vh - 205px)!important;min-height:510px!important;max-height:none!important}.compact-workspace-benchmark.route-workspace{height:calc(100vh - 285px)!important}.compact-workspace-benchmark .map-panel{grid-template-rows:minmax(0,1fr)!important}
.route-strip-queue{display:grid;grid-template-columns:140px minmax(0,1fr);gap:12px;align-items:center;margin:0 0 10px;padding:0}.route-strip-head{display:grid;gap:2px}.route-strip-head small{font-size:10px;color:var(--muted)}.route-chips-scroll{display:flex!important;gap:8px!important;overflow:auto!important;flex-wrap:nowrap!important;padding-bottom:3px}.route-queue-card{display:grid;grid-template-columns:minmax(170px,1fr) auto;align-items:center;gap:8px;min-width:320px;padding:8px 9px;border:1px solid var(--line);border-radius:11px;background:#fff}.route-queue-card.active{border-color:#dca78c;background:#fff6f1}.route-queue-select{display:grid;gap:2px;color:var(--ink)}.route-queue-select b{font-size:12px}.route-queue-select small{font-size:10px;color:var(--muted)}
.job-card{position:relative!important;padding:12px 13px 11px 28px!important}.job-card-link-surface{position:absolute;inset:0;z-index:1;border-radius:inherit}.job-card-content{position:relative;z-index:2;pointer-events:none}.job-card-content a,.job-card-content button,.job-card-content form,.job-card-content select,.job-card-content input,.job-card-content textarea,.job-card-content .smart-select,.job-card-content .drag-handle{pointer-events:auto}.card-selector{position:absolute;left:8px;top:50%;z-index:4;transform:translateY(-50%);width:14px;height:14px;min-height:14px;padding:0;border:2px solid #b9c4ca;border-radius:4px;background:#fff;box-shadow:none}.card-selector:hover{transform:translateY(-50%);box-shadow:none;border-color:#7e8d96}.card-selector.is-selected{background:#344149;border-color:#344149;box-shadow:inset 0 0 0 2px #fff}.job-card.selected-bulk{background:#f4f8fa}
.ticket-heading-left{display:flex;align-items:center;min-width:0}.ticket-work-type{font-size:10px;font-weight:780;color:#9a6322;letter-spacing:.01em}.ticket-meta-right{gap:8px!important}.ticket-id-link{font-size:12px!important;color:#245d87;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.ticket-primary>h2{font-size:17px!important;margin:0 0 5px!important;line-height:1.2}.ticket-primary>h2 a{color:var(--ink);text-decoration:none}.ticket-primary>h2 a:hover{text-decoration:underline}.address{font-size:13px!important;font-weight:650!important;color:#48565f}.legal-line{font-size:11px!important;font-weight:520!important;color:#6c777e}.job-note-preview{font-size:11px!important;color:#4e5b63}.job-last-comment{color:#69757d}.more-info-button{margin-top:8px}.footer-drag-handle{position:static!important;transform:none!important;writing-mode:horizontal-tb!important;letter-spacing:0!important;cursor:grab;color:#a7b1b7;padding:1px 5px}.ticket-bottom{min-height:28px}.ticket-chips{align-items:center}
.deadline-marker .deadline-info{position:relative;isolation:isolate}.deadline-marker .deadline-info::before{content:'';position:absolute;z-index:-1;left:-8px;right:-8px;top:36%;bottom:2px;background:linear-gradient(96deg,rgba(255,110,110,.16),rgba(255,193,113,.23),rgba(255,120,120,.14));border-radius:8px;transform:rotate(-.5deg)}.job-card.overdue .deadline-info::before{background:linear-gradient(96deg,rgba(235,70,83,.22),rgba(255,167,107,.25),rgba(235,70,83,.18))}
.assignee-block{border-radius:10px;padding:6px;transition:background .18s}.assignee-block.assigned-confirmed{background:linear-gradient(180deg,rgba(105,205,121,.08),rgba(89,190,121,.20))}.inline-assignee-form.assigned-state .smart-select-button{border-color:#b8dfc0;background:#f5fbf6}.inline-assignee-confirm.is-hidden{visibility:hidden;pointer-events:none}.inline-assignee-form .smart-select-pop{min-width:220px}.inline-assignee-form .smart-select-list{max-height:220px}
.selection-toolbar-benchmark{grid-template-columns:auto repeat(5,minmax(150px,1fr))!important;align-items:end!important;padding:10px 11px!important}.selection-toolbar-benchmark .bulk-field{display:grid;gap:4px;color:#fff;font-size:10px;font-weight:650}.selection-toolbar-benchmark .bulk-field>span{padding-left:2px}.selection-toolbar-benchmark .bulk-field input,.selection-toolbar-benchmark .bulk-field .smart-select-button{height:34px;min-height:34px;background:#fff;color:var(--ink)}.selection-toolbar-benchmark .bulk-actions{grid-column:1/-1;display:flex;gap:7px;flex-wrap:wrap}.selection-toolbar-benchmark .bulk-actions button{min-width:110px}.selection-toolbar-benchmark .smart-select-pop{color:var(--ink)}
.route-points-panel{position:relative}.route-order-save{display:flex;justify-content:flex-end;margin:0 0 10px}.route-list li{grid-template-columns:45px minmax(0,1fr) auto!important;align-items:center}.route-point-link{display:grid;gap:3px;color:var(--ink)}.route-point-link b{font-size:15px}.route-point-link small{display:block;color:#5f6b73}.route-item-actions{display:flex;align-items:center;gap:8px}.route-drag-handle{cursor:grab;color:#9da8ae;font-weight:800;padding:6px}.route-remove-button{display:grid;place-items:center;width:34px;height:34px;min-height:34px;padding:0;border:1px solid #efc4cb;border-radius:9px;background:#fff;color:#b64053;box-shadow:none}.route-remove-button:hover{transform:none;background:#fff5f6;box-shadow:none}.route-remove-button svg{width:16px;height:16px}.route-list li.dragging{opacity:.55}
/* Job detail stays in the benchmark style; only spacing and removed priority fields are normalized. */
.job-edit-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}.job-edit-grid .requirements{margin:0}.detail-grid>.panel{min-width:0}.job-details dd{overflow-wrap:anywhere}.photo-grid img{object-fit:cover}
.create-job-grid form{align-content:start}.create-job-grid .preview-panel{align-self:start}
@media(max-width:1380px){.compact-workspace-benchmark{height:calc(100vh - 220px)!important}.selection-toolbar-benchmark{grid-template-columns:repeat(3,minmax(0,1fr))!important}.selection-toolbar-benchmark>strong{grid-column:1/-1}.route-strip-queue{grid-template-columns:1fr}.queue-assignee-filter{min-width:180px}}
@media(max-width:1150px){main:has(.compact-workspace-benchmark) footer{display:block}.compact-workspace-benchmark,.compact-workspace-benchmark.route-workspace{height:auto!important}.filters-jobs-benchmark{grid-template-columns:repeat(3,minmax(0,1fr))!important}.queue-tabs-main{overflow:auto;flex-wrap:nowrap}.queue-assignee-filter{flex:0 0 200px}.route-chips-scroll{overflow:auto!important}.selection-toolbar-benchmark{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:720px){.account{margin-left:auto}.header-create-job{order:3;width:100%;justify-content:center}.account-user{justify-items:end}.filters-jobs-benchmark{grid-template-columns:1fr!important}.compact-workspace-benchmark .job-list{max-height:58vh!important}.ticket-meta-right{align-items:flex-end}.ticket-main{grid-template-columns:1fr!important}.ticket-right{display:grid!important;grid-template-columns:1fr 1fr!important;text-align:left!important}.selection-toolbar-benchmark{grid-template-columns:1fr!important}.selection-toolbar-benchmark .bulk-actions{grid-column:auto;display:grid}.route-queue-card{min-width:280px}.route-list li{grid-template-columns:40px 1fr!important}.route-item-actions{grid-column:2}}

/* ======================================================================
   v1.2.3.3 — benchmark-safe polish for current Jobs screen
   ====================================================================== */
.auth-bg{
  min-height:100vh;
  background:
    radial-gradient(circle at 18% 10%,rgba(255,193,165,.18) 0,rgba(255,193,165,0) 34%),
    radial-gradient(circle at 82% 88%,rgba(92,111,121,.11) 0,rgba(92,111,121,0) 40%),
    linear-gradient(135deg,#f7f1ee 0%,#eef2f4 52%,#f8f6f4 100%)!important;
  background-attachment:fixed!important;
}
.card-selector{width:16px!important;height:16px!important;min-width:16px!important;min-height:16px!important;max-width:16px!important;max-height:16px!important;padding:0!important;border-radius:4px!important}
.ticket-heading-rich{display:flex!important;align-items:center!important;gap:8px!important;min-width:0;flex-wrap:wrap}
.ticket-work-type{font-size:12px!important;line-height:1.15!important;font-weight:850!important;color:#8d5b1b!important;letter-spacing:.015em;text-transform:uppercase}
.ticket-top-chips{display:flex;align-items:center;gap:5px;min-width:0;flex-wrap:wrap}
.top-info-chip,.top-route-chip{min-height:22px!important;padding:3px 7px!important;font-size:9px!important;line-height:1.2!important;border:0!important;box-shadow:none!important;text-decoration:none!important}
.top-info-chip{max-width:215px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:#fff1df!important;color:#8c5f22!important;cursor:default}
.top-info-chip.is-expandable{cursor:pointer}.top-info-chip.is-expandable:hover{transform:none!important;box-shadow:0 0 0 1px rgba(140,95,34,.14)!important}
.top-route-chip{background:#f1eefb!important;color:#65579a!important}
.transient-note-popover{position:fixed;z-index:1000;padding:12px 14px;border:1px solid #ead8cc;border-radius:12px;background:#fffaf6;color:#3c474e;box-shadow:0 18px 45px rgba(38,49,57,.18);font-size:12px;line-height:1.45;white-space:normal;overflow-wrap:anywhere}
.job-card .ticket-bottom{display:none!important}
.ticket-primary>h2{margin-top:2px!important}
.assignee-block{min-width:0!important;padding:7px!important}
.assignee-block .inline-assignee-form{display:grid!important;grid-template-columns:minmax(145px,1fr) 34px!important;gap:6px!important;width:100%!important;align-items:center!important;justify-content:stretch!important}
.assignee-block .inline-assignee-form:has(.inline-assignee-confirm.is-hidden){grid-template-columns:minmax(145px,1fr)!important}
.assignee-block .smart-select{width:100%!important;min-width:145px!important}
.assignee-block .smart-select-button{width:100%!important;min-width:145px!important;min-height:34px!important;height:34px!important;padding:5px 9px!important;font-size:10px!important}
.assignee-block .smart-select-label{display:block!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;line-height:1.2!important}
.assignee-block .smart-select-pop{left:auto!important;right:0!important;width:250px!important;min-width:250px!important;max-width:min(300px,80vw)!important}
.assignee-block .smart-select-list{max-height:220px!important;overflow:auto!important}
.assignee-block.assigned-confirmed{background:linear-gradient(180deg,rgba(103,205,118,.08),rgba(79,188,113,.19))!important}
.assignee-block .inline-assignee-form.assigned-state .smart-select-button{background:#f3faf4!important;border-color:#b9dfc0!important}
.inline-assignee-confirm.is-hidden{display:none!important}
.deadline-info small:empty{display:none!important}
@media(max-width:720px){
  .ticket-heading-rich{align-items:flex-start!important}.ticket-top-chips{width:100%}.top-info-chip{max-width:180px}.assignee-block .inline-assignee-form{grid-template-columns:minmax(0,1fr) 34px!important}.assignee-block .inline-assignee-form:has(.inline-assignee-confirm.is-hidden){grid-template-columns:1fr!important}.assignee-block .smart-select{min-width:0!important}.assignee-block .smart-select-button{min-width:0!important}.assignee-block .smart-select-pop{position:fixed!important;left:10px!important;right:10px!important;width:auto!important;max-width:none!important}
}

/* ======================================================================
   v1.2.3.4 — route safety, assignment overlay, completed queue & drag polish
   ====================================================================== */
.job-card{cursor:grab}.job-card:active{cursor:grabbing}.job-card.dragging,.job-card.dragging-touch{opacity:.62;box-shadow:0 18px 38px rgba(38,49,57,.16)!important}.job-card.select-pop-open{z-index:520!important}.job-card.select-pop-open .job-card-content{z-index:530!important}.job-card.select-pop-open .smart-select-pop{z-index:560!important}
.assignee-block .smart-select{position:relative!important;width:100%!important;min-width:0!important}.assignee-block .smart-select-button{width:100%!important;min-width:0!important}.assignee-block .smart-select-label{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;word-break:normal!important;overflow-wrap:normal!important}.assignee-block .smart-select-pop{z-index:600!important;width:310px!important;min-width:310px!important;max-width:min(360px,85vw)!important;overflow:visible!important}.assignee-block .smart-select-list{max-height:240px!important;overflow-y:auto!important;overflow-x:hidden!important}.assignee-block .smart-select-option{display:flex!important;align-items:center!important;min-width:0!important;width:100%!important}.assignee-block .smart-option-text{display:block!important;min-width:0!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;word-break:keep-all!important;overflow-wrap:normal!important;line-height:1.3!important}
.route-chips-scroll{scrollbar-width:auto!important;scrollbar-color:#b9c3c9 #eef2f4;cursor:grab;user-select:none}.route-chips-scroll:active{cursor:grabbing}.route-chips-scroll::-webkit-scrollbar{height:10px}.route-chips-scroll::-webkit-scrollbar-track{background:#eef2f4;border-radius:999px}.route-chips-scroll::-webkit-scrollbar-thumb{background:#b9c3c9;border-radius:999px;border:2px solid #eef2f4}.route-queue-card{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:7px!important;min-width:300px!important;max-width:360px!important;padding:9px 10px!important}.route-queue-card.route-pending-review{background:#eef9f1!important;border-color:#b9dfc3!important}.route-queue-card.route-pending-review .route-queue-select::after{content:'Выполнен исполнителем · ожидает проверки';display:block;margin-top:4px;color:#32704a;font-size:9px;font-weight:700}.route-open-compact{align-self:flex-start!important;min-height:28px!important;padding:4px 9px!important;font-size:9px!important}.route-queue-select b{line-height:1.25}.route-queue-select small{line-height:1.3}
.route-page-head-compact,.route-points-panel-left{margin-left:-10px;width:calc(100% + 10px)}.route-points-panel-left{padding-left:14px!important}.route-list-autosave li{cursor:grab;touch-action:pan-x}.route-list-autosave li:active{cursor:grabbing}.route-list-autosave li.dragging,.route-list-autosave li.dragging-touch{opacity:.56;background:#f5f8fa}.route-point-completed .route-point-link b,.route-point-completed .route-point-link small,.route-point-completed .route-item-actions>a{text-decoration:line-through;text-decoration-thickness:2px;text-decoration-color:#6b7479}.route-point-completed{background:#f7faf8!important}.route-autosave-status{min-height:18px;margin:6px 0 0;text-align:right;font-size:10px;color:var(--muted)}.route-autosave-status.saved{color:var(--success)}.route-autosave-status.error{color:var(--danger)}
.deadline-marker .deadline-info{position:relative!important;isolation:isolate;background:transparent!important;box-shadow:none!important;overflow:visible!important}.deadline-marker .deadline-info::before{content:''!important;position:absolute!important;z-index:-2!important;left:-7px!important;right:-8px!important;top:44%!important;bottom:0!important;background:rgba(229,66,78,.17)!important;border-radius:2px!important;clip-path:polygon(1% 23%,99% 4%,97% 86%,5% 99%,0 68%)!important;transform:rotate(-1.1deg)!important}.deadline-marker .deadline-info::after{content:'';position:absolute;z-index:-1;left:-3px;right:5px;top:58%;height:42%;background:rgba(242,82,91,.09);clip-path:polygon(0 12%,100% 0,96% 80%,4% 100%);transform:rotate(.55deg)}.job-card.overdue .deadline-info::before{background:rgba(212,47,62,.22)!important}.job-card.overdue .deadline-info::after{background:rgba(221,53,68,.12)!important}
.route-duplicate-modal-backdrop{position:fixed;inset:0;z-index:2000;display:grid;place-items:center;padding:20px;background:rgba(31,39,44,.36);backdrop-filter:blur(3px)}.route-duplicate-modal{position:relative;width:min(620px,100%);max-height:min(720px,88vh);overflow:auto;padding:22px;border:1px solid #ead8cc;border-radius:18px;background:#fff;box-shadow:0 26px 80px rgba(28,35,40,.24)}.route-duplicate-modal h2{margin:0 34px 5px 0}.route-duplicate-modal>p{color:var(--muted)}.route-duplicate-close{position:absolute;top:12px;right:12px;width:34px;height:34px;min-height:34px;padding:0;border-radius:10px;background:#fff;color:var(--ink);border-color:var(--line)}.route-duplicate-list{display:grid;gap:8px;margin:14px 0}.route-duplicate-list article{display:grid;gap:3px;padding:11px 12px;border:1px solid #f0d7ca;border-radius:12px;background:#fff8f4}.route-duplicate-list small{color:#59666f}.route-duplicate-list span{color:#9a5b27;font-size:11px;font-weight:700}
@media(max-width:720px){.assignee-block .smart-select-pop{position:fixed!important;left:10px!important;right:10px!important;bottom:10px!important;top:auto!important;width:auto!important;min-width:0!important;max-width:none!important;z-index:1200!important}.route-page-head-compact,.route-points-panel-left{margin-left:0;width:100%}.route-queue-card{min-width:270px!important}.route-duplicate-modal{padding:18px 14px}.route-list-autosave li{touch-action:none}}

/* ======================================================================
   v1.2.3.5 — staged route workflow + route/assignment polish
   ====================================================================== */
/* A little more room for the job body; executor control stays compact. */
.ticket-main{grid-template-columns:minmax(0,1fr) minmax(152px,184px)!important}
.ticket-right{min-width:0!important}
.assignee-block{justify-self:end!important;width:100%!important;max-width:184px!important}
.assignee-block .inline-assignee-form{grid-template-columns:minmax(0,1fr) 32px!important;gap:5px!important}
.assignee-block .inline-assignee-form:has(.inline-assignee-confirm.is-hidden){grid-template-columns:minmax(0,1fr)!important}
.assignee-block .smart-select-button{height:32px!important;min-height:32px!important;padding:4px 8px!important;font-size:9.5px!important}
.assignee-block .smart-select-pop{position:fixed!important;right:auto!important;bottom:auto!important;width:max-content!important;min-width:178px!important;max-width:min(315px,calc(100vw - 20px))!important;z-index:1800!important;padding:7px!important}
.assignee-block .smart-select-search{min-width:165px!important;height:32px!important;min-height:32px!important;font-size:10px!important}
.assignee-block .smart-select-list{max-height:230px!important}
.assignee-block .smart-select-option{min-height:32px!important;padding:6px 8px!important;font-size:10px!important}
.job-card.select-pop-open{z-index:900!important}.job-card.select-pop-open .job-card-content{z-index:910!important}.job-card.select-pop-open .smart-select-pop{z-index:1800!important}

/* Hand-marker effect: highlight only the value/countdown area, not the full right column. */
.deadline-marker .deadline-info::before{left:23px!important;right:-2px!important;top:44%!important;bottom:1px!important;transform:rotate(-.8deg)!important}
.deadline-marker .deadline-info::after{left:31px!important;right:5px!important;top:60%!important;height:36%!important;transform:rotate(.4deg)!important}

/* Selected jobs: one staged route action instead of five competing actions. */
.selection-toolbar-benchmark.bulk-route-workflow{display:block!important;padding:9px 11px!important;background:#2f3a41!important;color:#fff!important}
.bulk-route-workflow[hidden]{display:none!important}
.bulk-workflow-head{display:flex;align-items:center;gap:10px;min-width:0;margin-bottom:8px}
.bulk-workflow-head>strong{flex:0 0 auto;white-space:nowrap;font-size:12px}
.bulk-mode-switch{display:flex;align-items:center;gap:5px;min-width:0;flex-wrap:wrap}
.bulk-mode-switch button{min-height:30px!important;padding:4px 9px!important;border:1px solid rgba(255,255,255,.2)!important;background:#46545d!important;color:#fff!important;font-size:10px!important;box-shadow:none!important}
.bulk-mode-switch button.active{background:#fff!important;border-color:#fff!important;color:#263139!important;font-weight:800!important}
.bulk-mode-switch button:hover{transform:none!important;box-shadow:none!important}
.bulk-clear-icon{margin-left:auto!important;flex:0 0 30px!important;width:30px!important;min-width:30px!important;height:30px!important;min-height:30px!important;padding:0!important;border-radius:9px!important;background:transparent!important;border:1px solid rgba(255,255,255,.24)!important;color:#fff!important;font-size:19px!important;line-height:1!important;box-shadow:none!important}
.bulk-workflow-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,330px);gap:9px;align-items:end}
.bulk-stage-column{min-width:0}
.bulk-stage-panel{display:grid;grid-template-columns:minmax(180px,1.35fr) minmax(145px,.8fr) auto;gap:7px;align-items:end;min-width:0}
.bulk-stage-panel[hidden]{display:none!important}
.bulk-stage-panel[data-bulk-panel="existing"]{grid-template-columns:minmax(240px,1fr) auto}
.bulk-stage-panel .bulk-field,.bulk-side-column .bulk-field{display:grid;gap:3px;min-width:0;color:#fff;font-size:9px;font-weight:700}
.bulk-stage-panel .bulk-field>span,.bulk-side-column .bulk-field>span{padding-left:2px}
.bulk-stage-panel input,.bulk-stage-panel .smart-select-button,.bulk-side-column input{height:32px!important;min-height:32px!important;background:#fff!important;color:var(--ink)!important;font-size:10px!important}
.bulk-stage-panel .smart-select-pop{color:var(--ink)!important;min-width:280px!important}
.bulk-primary-action{min-width:88px!important;height:32px!important;min-height:32px!important;padding:4px 10px!important;background:#f3b295!important;border-color:#f3b295!important;color:#2f383d!important;font-weight:850!important}
.bulk-stage-hint{grid-column:1/-1;color:#ffd6c4;font-size:9px;margin-top:-2px}
.bulk-side-column{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;align-items:end;min-width:0;padding-left:9px;border-left:1px solid rgba(255,255,255,.16)}
.bulk-note-field{min-width:0}
.bulk-move-actions{display:flex;gap:5px;align-items:center}
.bulk-move-actions button{min-width:74px!important;height:32px!important;min-height:32px!important;padding:4px 8px!important;background:#fff!important;color:var(--ink)!important;font-size:10px!important}
.bulk-routed-warning{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 10px;border:1px solid rgba(244,183,156,.38);border-radius:10px;background:rgba(255,238,229,.08)}
.bulk-routed-warning[hidden]{display:none!important}
.bulk-routed-warning div{display:grid;gap:2px}.bulk-routed-warning b{font-size:10px}.bulk-routed-warning small{color:#f5d8ca;font-size:9px;line-height:1.35}
.bulk-routed-warning .danger-outline{min-width:170px!important;height:32px!important;min-height:32px!important;padding:4px 9px!important;border:1px solid #efb6b9!important;background:#fff!important;color:#a83b47!important;font-size:9.5px!important}
.bulk-route-workflow.has-routed-selection .bulk-mode-switch{opacity:.45;pointer-events:none}
.bulk-route-workflow.has-routed-selection .bulk-stage-panel{display:none!important}
.bulk-route-workflow.has-routed-selection .bulk-routed-warning{display:grid!important}
.bulk-route-workflow button:disabled{opacity:.45!important;cursor:not-allowed!important;transform:none!important;box-shadow:none!important}

/* Route queue cards must click reliably; full route detail opens separately. */
.route-chips-scroll.is-drag-scrolling{cursor:grabbing!important}
.route-queue-select{text-decoration:none!important;color:var(--ink)!important;cursor:pointer!important}
.route-queue-select:hover{text-decoration:none!important}
.route-queue-select b{text-decoration:none!important}
.route-open-compact{align-self:center!important;justify-content:center!important;text-align:center!important;min-width:116px!important}

/* Route detail: remove browser OL indentation and drag the whole row with mouse/touch. */
.route-points-panel-left{margin-left:-18px!important;width:calc(100% + 18px)!important;padding-left:8px!important;padding-right:8px!important}
#routePointList{list-style:none!important;margin:0!important;padding:0!important}
.route-list-autosave li{cursor:grab!important;touch-action:none!important;user-select:none!important;-webkit-user-select:none!important;transition:background .12s,opacity .12s,box-shadow .12s}
.route-list-autosave li:active{cursor:grabbing!important}
.route-list-autosave li.dragging-touch{opacity:.62!important;background:#f1f6f8!important;box-shadow:0 8px 22px rgba(45,58,65,.10)!important}
.route-list-autosave .route-point-link,.route-list-autosave .route-item-actions a{-webkit-user-drag:none}
.route-reordering{cursor:grabbing!important}

@media(max-width:1150px){
  .bulk-workflow-main{grid-template-columns:1fr}.bulk-side-column{padding-left:0;border-left:0}.bulk-stage-panel{grid-template-columns:1fr 170px auto}.bulk-side-column{grid-template-columns:1fr auto}
}
@media(max-width:720px){
  .ticket-main{grid-template-columns:1fr!important}.assignee-block{max-width:none!important;justify-self:stretch!important}.assignee-block .smart-select-pop{position:fixed!important;left:10px!important;right:10px!important;bottom:10px!important;top:auto!important;width:auto!important;min-width:0!important;max-width:none!important}
  .deadline-marker .deadline-info::before{left:12px!important;right:12px!important}.deadline-marker .deadline-info::after{left:18px!important;right:20px!important}
  .bulk-workflow-head{align-items:flex-start;flex-wrap:wrap}.bulk-mode-switch{order:3;width:100%}.bulk-mode-switch button{flex:1 1 140px}.bulk-workflow-main{grid-template-columns:1fr}.bulk-stage-panel,.bulk-stage-panel[data-bulk-panel="existing"]{grid-template-columns:1fr!important}.bulk-side-column{grid-template-columns:1fr!important;padding:0;border:0}.bulk-move-actions{display:grid;grid-template-columns:1fr 1fr}.bulk-move-actions button{width:100%!important}.bulk-routed-warning{grid-template-columns:1fr}.bulk-routed-warning .danger-outline{width:100%!important}.route-points-panel-left{margin-left:0!important;width:100%!important;padding-left:0!important;padding-right:0!important}
}
/* v1.2.3.5 final micro-polish: tighter adaptive assignee and narrower marker stroke. */
.ticket-main{grid-template-columns:minmax(0,1fr) minmax(146px,174px)!important}
.assignee-block{max-width:174px!important}
.assignee-block .smart-select-pop{min-width:154px!important;max-width:min(286px,calc(100vw - 20px))!important}
.assignee-block .smart-select-search{min-width:142px!important}
.deadline-marker .deadline-info::before{left:17px!important;right:24px!important;top:45%!important;bottom:1px!important;transform:translateX(-4px) rotate(-.9deg)!important}
.deadline-marker .deadline-info::after{left:25px!important;right:31px!important;top:61%!important;height:34%!important;transform:translateX(-4px) rotate(.45deg)!important}
@media(max-width:720px){.ticket-main{grid-template-columns:1fr!important}.assignee-block{max-width:none!important}.deadline-marker .deadline-info::before{left:6px!important;right:28px!important}.deadline-marker .deadline-info::after{left:14px!important;right:36px!important}}

/* v1.2.3.6 — scoped polish, planned works, tracking and runtime drag fixes */
.job-distribution-count,.planned-header-count,.planned-nav-badge,.planned-ready-badge{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:20px;padding:0 6px;margin-left:5px;border-radius:999px;font-size:10px;font-weight:800;line-height:1;vertical-align:middle}
.job-distribution-count.attention{background:#fde8e8;color:#a63f4a}.job-distribution-count.complete{background:#e4f4e9;color:#2d744d}.job-distribution-count.neutral{background:#eef1f3;color:#6b767d}.planned-header-count,.planned-nav-badge,.planned-ready-badge{background:#fff0dc;color:#8a5d16}
.catalog-scroll{max-height:430px;overflow-y:auto;overflow-x:hidden;padding-right:4px;scrollbar-gutter:stable;align-content:start}.entity-card summary{min-height:58px;padding:15px 16px}.entity-summary-main b{font-size:14.5px}.entity-summary-main small{font-size:12px;line-height:1.38}.team-summary{align-items:center}.team-summary-action{margin-left:auto;color:#56646c;font-weight:700}.team-summary::after{margin-left:4px}.team-content .catalog-scroll{max-height:460px}
.object-contact-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px;min-width:0}.object-contact-pair label{min-width:0}
.planned-ready-pool{margin:0 0 14px;padding:13px;border:1px solid #efcfab;border-radius:14px;background:#fff9f0}.planned-pool-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}.planned-pool-title small{color:var(--muted)}.planned-pool-list{display:grid;gap:7px;max-height:270px;overflow:auto}.planned-pool-row{display:grid;grid-template-columns:minmax(180px,1.25fr) minmax(120px,.6fr) minmax(150px,.8fr);gap:12px;align-items:center;padding:9px 10px;border:1px solid #f0e0cf;border-radius:11px;background:#fff}.planned-pool-row>span{display:grid;gap:2px;min-width:0}.planned-pool-row small{color:var(--muted);overflow-wrap:anywhere}.planned-template-edit{border-top:1px solid var(--line)}.planned-template-edit .entity-edit-grid{border-top:0}.planned-delete-form{display:flex;justify-content:flex-end;padding:0 15px 15px}.icon-danger-button{background:#fff5f5!important;color:#a53d49!important;border:1px solid #efc8cd!important}.icon-danger-button:hover{background:#fdebee!important}.icon-danger-button .trash-icon{width:16px;height:16px;flex:0 0 16px}.icon-danger-button{display:inline-flex!important;align-items:center;gap:6px}.owner-users-scroll{max-height:520px}.owner-jobs-scroll{max-height:430px}
.ticket-main{grid-template-columns:minmax(0,1fr) minmax(184px,220px)!important}.assignee-block{max-width:220px!important}.assignee-block .smart-select-button{font-size:10px!important}.assignee-block .smart-select-pop{min-width:220px!important;max-width:min(340px,calc(100vw - 20px))!important;z-index:1900!important}.assignee-block .smart-select-search{min-width:198px!important}.assignee-block .smart-select-label{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.deadline-marker .deadline-info{display:grid!important;width:max-content!important;max-width:100%!important;justify-self:end!important}.deadline-marker .deadline-info::before{left:-9px!important;right:-9px!important;top:44%!important;bottom:0!important;transform:rotate(-.8deg)!important}.deadline-marker .deadline-info::after{left:-4px!important;right:-7px!important;top:60%!important;height:36%!important;transform:rotate(.4deg)!important}
.route-list-autosave li{touch-action:pan-y!important;user-select:text!important;-webkit-user-select:text!important}.route-list-autosave.route-reordering li{user-select:none!important;-webkit-user-select:none!important}.route-list-autosave li.route-dragging{opacity:.58!important;background:#f1f6f8!important;box-shadow:0 10px 24px rgba(45,58,65,.13)!important;cursor:grabbing!important}.route-list-autosave li.route-drop-before{box-shadow:inset 0 3px 0 #6d8797}.route-list-autosave li.route-drop-after{box-shadow:inset 0 -3px 0 #6d8797}.route-list-autosave a,.route-list-autosave button,.route-list-autosave input,.route-list-autosave select{touch-action:auto!important;user-select:auto!important}
.job-detail-grid{align-items:start}.job-comments-panel{display:grid;grid-template-rows:auto minmax(80px,auto) auto;gap:10px}.job-comments-scroll{max-height:360px;overflow:auto;padding-right:5px}.job-comments-panel .comment{padding:10px 2px}.job-comments-panel .comment p{overflow-wrap:anywhere}.comment-form{display:grid;gap:8px;padding-top:4px}.comment-form textarea{min-height:86px}.job-edit-panel .job-edit-grid{align-items:start}.job-edit-panel textarea{min-height:90px}.job-edit-panel .requirements{padding:12px;border:1px solid var(--line);border-radius:12px;background:#fbfcfc}.job-completion-panel .requirements-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:7px}.job-completion-panel .requirements-summary span{border:1px solid var(--line);border-radius:10px;background:#fafbfb!important;color:var(--ink)!important}.job-completion-panel .requirements-summary .required{border-color:#e5cfaa;background:#fffaf1!important}.job-cancel-zone{border-color:#efc7cc;background:#fffafa}.job-cancel-zone h2{color:#963a46}.job-cancel-zone .reason-grid{align-items:start}.job-cancel-zone textarea{min-height:86px}.job-cancel-zone button.danger:disabled{opacity:.45;cursor:not-allowed}.job-history-scroll{max-height:390px;overflow:auto;padding-right:5px}
.tracking-chart{display:grid;grid-template-columns:repeat(6,minmax(72px,1fr));gap:13px;align-items:end;min-height:230px;padding:18px 8px 4px}.tracking-chart-item{display:grid;grid-template-rows:auto 160px auto;gap:7px;text-align:center;min-width:0}.tracking-chart-item>b{font-size:15px}.tracking-chart-item>span{font-size:11px;color:var(--muted);line-height:1.25}.tracking-chart-column{position:relative;display:flex;align-items:flex-end;justify-content:center;border-bottom:1px solid var(--line);background:linear-gradient(to top,rgba(232,237,240,.52) 1px,transparent 1px);background-size:100% 25%}.tracking-chart-column i{display:block;width:min(46px,65%);height:var(--chart-height);min-height:5px;border-radius:8px 8px 3px 3px;background:#7d939f;box-shadow:inset 0 -8px 16px rgba(255,255,255,.14)}.tracking-scroll{max-height:430px;overflow:auto;scrollbar-gutter:stable}.tracking-executors-scroll{max-height:390px}.tracking-audit-scroll{max-height:420px;overflow:auto;padding-right:5px}.tracking-job-row{cursor:pointer}.tracking-job-row:hover{background:#f7fafb}.tracking-job-row:focus-visible{outline:2px solid #7693a4;outline-offset:-2px}
@media(max-width:720px){.object-contact-pair{grid-template-columns:1fr}.catalog-scroll{max-height:55vh}.planned-pool-row{grid-template-columns:1fr}.tracking-chart{grid-template-columns:repeat(3,minmax(72px,1fr));min-width:0}.tracking-chart-item{grid-template-rows:auto 110px auto}.ticket-main{grid-template-columns:1fr!important}.assignee-block{max-width:none!important}.deadline-marker .deadline-info{width:max-content!important;max-width:100%!important;justify-self:start!important}.deadline-marker .deadline-info::before{left:-7px!important;right:-7px!important}.deadline-marker .deadline-info::after{left:-3px!important;right:-5px!important}.route-list-autosave li{touch-action:pan-y!important}.job-comments-scroll,.job-history-scroll,.tracking-scroll,.tracking-audit-scroll{max-height:52vh}}
.job-detail-grid{grid-template-columns:1fr!important}

/* v1.2.3.7 — post-E2E UI, tracking sorting and paged management */
.topbar nav a:has(.job-distribution-count){display:inline-flex!important;align-items:center!important;gap:6px!important}
.job-distribution-count{margin-left:0!important;align-self:center!important;vertical-align:middle!important;position:relative!important;top:0!important;transform:none!important}

.management-filter-nav{position:sticky;top:70px;z-index:28;display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px;padding:8px;border:1px solid var(--line);border-radius:14px;background:rgba(244,246,247,.96);backdrop-filter:blur(10px)}
.management-filter-nav .management-filter-button{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:7px 12px;background:#fff;color:#59666f;border-color:var(--line-strong);box-shadow:none}
.management-filter-nav .management-filter-button b{display:inline-grid;place-items:center;min-width:22px;height:20px;padding:0 6px;border-radius:999px;background:#eef1f3;color:#66727a;font-size:10px}
.management-filter-nav .management-filter-button.active{background:var(--dark);border-color:var(--dark);color:#fff}
.management-filter-nav .management-filter-button.active b{background:rgba(255,255,255,.16);color:#fff}
.management-catalog-panel[hidden]{display:none!important}
.management-catalog-panel{position:relative;min-height:calc(100vh - 178px);padding-bottom:70px!important}
.management-catalog-panel .catalog-scroll{max-height:none!important;overflow:visible!important;padding-right:0!important;scrollbar-gutter:auto!important}
.management-page-list{display:grid;align-content:start;gap:8px}
.catalog-pagination{position:sticky;bottom:12px;z-index:22;display:flex;align-items:center;justify-content:center;gap:8px;width:max-content;max-width:100%;margin:18px auto -52px;padding:6px 8px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.96);box-shadow:0 10px 30px rgba(38,49,57,.13);backdrop-filter:blur(10px)}
.catalog-pagination[hidden]{display:none!important}
.catalog-page-arrow{width:34px;height:34px;min-height:34px;padding:0;border-radius:50%;background:#fff;color:var(--ink);border-color:var(--line-strong);box-shadow:none}
.catalog-page-arrow:disabled{opacity:.32}
.catalog-page-bubble{display:inline-flex;align-items:center;justify-content:center;min-width:68px;height:34px;padding:0 11px;border-radius:999px;background:var(--dark);color:#fff;font-weight:800;font-size:12px}

.app-toast,.client-toast{position:fixed!important;left:50%!important;top:50%!important;right:auto!important;bottom:auto!important;z-index:2600!important;width:min(520px,calc(100vw - 28px))!important;max-width:520px!important;margin:0!important;padding:14px 18px!important;border:1px solid!important;border-radius:14px!important;box-shadow:0 24px 70px rgba(25,35,42,.24)!important;text-align:center!important;font-weight:700!important;line-height:1.4!important;transform:translate(-50%,-46%) scale(.98)!important;opacity:0;pointer-events:none;transition:opacity .16s ease,transform .16s ease;background:#fff!important}
.app-toast.is-visible,.client-toast:not([hidden]){opacity:1;transform:translate(-50%,-50%) scale(1)!important}
.app-toast.success,.client-toast.success{background:#edf8f1!important;border-color:#b8dfc8!important;color:#266a48!important}
.app-toast.error,.client-toast.error{background:#fff1f3!important;border-color:#efbfc8!important;color:#9b3445!important}
.app-toast.warning,.client-toast.warning{background:#fff7e9!important;border-color:#ead1a0!important;color:#805817!important}

.job-completion-panel .requirements-summary .required{border-color:#b7ddc5!important;background:#edf8f1!important;color:#266a48!important}
.photo-panel.required-upload{border-color:#b7ddc5!important;background:#f7fcf9!important;box-shadow:inset 0 0 0 1px rgba(67,139,94,.04)}
.upload-form.required-upload-form{border:1px solid #b7ddc5!important;background:#edf8f1!important}
.required-field{padding:10px!important;border:1px solid #b7ddc5!important;border-radius:12px!important;background:#edf8f1!important;color:#376a4e!important}
.required-field textarea,.required-field input{background:#fff!important}
.completion-form{display:grid!important;grid-template-columns:minmax(0,2fr) minmax(220px,1fr)!important;gap:12px!important;align-items:start!important;margin-top:14px!important}
.completion-form>label{min-width:0!important;height:100%}
.completion-form textarea{min-height:96px!important}
.completion-form>button{grid-column:1/-1!important;justify-self:start!important;min-width:280px!important}
.review-actions{align-items:stretch!important}
.review-actions form{grid-template-rows:auto auto minmax(98px,1fr) auto!important;padding:14px!important;border:1px solid var(--line)!important;border-radius:14px!important;background:#fbfcfc!important}
.review-actions form label{min-width:0!important}
.review-actions textarea{min-height:78px!important;height:78px!important}
.review-actions button{width:100%!important;align-self:end!important}
.job-cancel-zone{padding:15px 17px!important}
.job-cancel-zone h2{margin-bottom:7px!important}
.job-cancel-zone>p{margin-bottom:12px!important}
.job-cancel-zone .cancel-form{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:10px 12px!important;align-items:end!important}
.job-cancel-zone .reason-grid{grid-column:1!important;display:grid!important;grid-template-columns:minmax(220px,.8fr) minmax(320px,1.2fr)!important;gap:10px!important}
.job-cancel-zone .reason-grid label{min-width:0!important}
.job-cancel-zone textarea{min-height:44px!important;height:44px!important;max-height:90px!important}
.job-cancel-zone select{min-height:44px!important;height:44px!important}
.job-cancel-zone .cancel-form>button{grid-column:2!important;grid-row:1!important;min-height:44px!important;height:44px!important;align-self:end!important}
.job-history-scroll{max-height:min(390px,48vh)!important;overflow:auto!important;scrollbar-gutter:stable!important;padding-right:5px!important}
.job-back-number-row{display:flex!important;align-items:center!important;gap:10px!important;flex-wrap:wrap!important;margin-bottom:3px!important}

.tracking-chart-column{position:relative!important;display:block!important;height:160px!important;min-height:160px!important;overflow:hidden!important;border-bottom:1px solid var(--line)!important}
.tracking-chart-column i{position:absolute!important;left:50%!important;bottom:0!important;width:min(46px,65%)!important;height:var(--chart-height)!important;min-height:0!important;transform:translateX(-50%)!important;border-radius:8px 8px 3px 3px!important;background:#7d939f!important}
.tracking-sort-link{display:inline-flex;align-items:center;gap:4px;color:inherit!important;font-weight:800!important;text-decoration:none!important;white-space:nowrap}
.tracking-sort-link:hover{color:#285f82!important;text-decoration:none!important}
.tracking-sort-link.active{color:#285f82!important}
#tracking-jobs{scroll-margin-top:82px}

.notification-item{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:18px!important;align-items:center!important;padding:15px 18px!important}
.notification-item>span{display:grid!important;gap:5px!important;min-width:0!important}
.notification-item b{display:block!important;line-height:1.35!important}
.notification-item small{display:block!important;color:var(--muted)!important;line-height:1.4!important}
.notification-item time{white-space:nowrap!important;color:var(--muted)!important;font-size:12px!important}

.job-card.selected-map{border-color:#d98f68!important;box-shadow:0 0 0 3px rgba(239,173,142,.25),inset 4px 0 0 #e79d7b!important;background:#fffdfc!important}
.job-card.selected-bulk:not(.selected-map){border-color:#788d99!important;background:#f2f6f8!important;box-shadow:inset 4px 0 0 #788d99,0 0 0 1px rgba(120,141,153,.15)!important}
.job-card.route-job-completed{overflow:hidden!important}
.route-completed-overlay{position:absolute;inset:0;z-index:3;display:grid;place-items:center;border-radius:inherit;background:rgba(235,239,240,.70);backdrop-filter:grayscale(1) blur(1.2px);-webkit-backdrop-filter:grayscale(1) blur(1.2px);pointer-events:none}
.route-completed-overlay span{display:inline-flex;align-items:center;justify-content:center;padding:8px 16px;border-radius:999px;background:rgba(229,247,236,.96);border:1px solid #a8d8bb;color:#23704a;font-size:13px;font-weight:900;letter-spacing:.08em;box-shadow:0 6px 18px rgba(35,112,74,.12)}
.job-card.route-job-completed .card-selector{z-index:5!important}

@media(max-width:720px){
  .management-filter-nav{top:0;position:relative;overflow-x:auto;flex-wrap:nowrap;padding:6px;margin-bottom:10px}.management-filter-nav .management-filter-button{flex:0 0 auto}.management-catalog-panel{min-height:calc(100dvh - 160px);padding:14px 12px 62px!important}.catalog-pagination{bottom:8px}
  .completion-form{grid-template-columns:1fr!important}.completion-form>button{grid-column:1!important;width:100%!important;min-width:0!important}.photo-columns{grid-template-columns:1fr!important}.review-actions{grid-template-columns:1fr!important}.job-cancel-zone .cancel-form{grid-template-columns:1fr!important}.job-cancel-zone .reason-grid{grid-column:1!important;grid-template-columns:1fr!important}.job-cancel-zone .cancel-form>button{grid-column:1!important;grid-row:auto!important;width:100%!important}
  .tracking-chart-column{height:110px!important;min-height:110px!important}.notification-item{grid-template-columns:1fr!important;gap:7px!important}.notification-item time{justify-self:start!important}
  .route-strip-queue.route-strip-selected{display:none!important}
  .compact-workspace-benchmark[data-route-selected="1"]{height:var(--workspace-fit-height,calc(100dvh - 90px))!important;min-height:330px!important;max-height:none!important;display:grid!important;grid-template-columns:1fr!important;grid-template-rows:minmax(128px,38%) minmax(0,62%)!important;overflow:hidden!important}
  .compact-workspace-benchmark[data-route-selected="1"] .job-list{height:100%!important;min-height:0!important;max-height:none!important;overflow:auto!important}
  .compact-workspace-benchmark[data-route-selected="1"] .map-panel{height:100%!important;min-height:0!important;overflow:hidden!important}
  .compact-workspace-benchmark[data-route-selected="1"] .map-work{height:100%!important;min-height:0!important;grid-template-rows:40px minmax(0,1fr)!important}
  .compact-workspace-benchmark[data-route-selected="1"] .map-work iframe{height:100%!important;min-height:0!important}
  .app-toast,.client-toast{width:calc(100vw - 24px)!important;padding:13px 14px!important}
}

/* v1.2.3.8 — route completion ordering, notifications, tracking materials, executor list, mobile pass */
.topbar nav a.nav-current{background:var(--accent-soft)!important;color:#985d43!important;box-shadow:inset 0 -2px 0 var(--accent)!important;text-decoration:none!important}
.topbar nav a.nav-current:hover{background:#ffe7da!important;color:#844d36!important}
.topbar nav a:has(.job-distribution-count){line-height:20px!important}
.job-distribution-count{height:18px!important;min-height:18px!important;line-height:18px!important;transform:translateY(1px)!important;padding-top:0!important;padding-bottom:0!important}

.notification-list-panel{padding:0 0 12px!important;overflow:hidden}
.notification-list-scroll{max-height:min(62vh,560px);overflow:auto;scrollbar-gutter:stable}
.notification-item{display:grid!important;grid-template-columns:30px minmax(0,1fr) auto!important;gap:10px!important;align-items:center!important;min-height:48px!important;padding:10px 14px!important;border-bottom:1px solid var(--line)!important;color:var(--ink)!important;text-decoration:none!important;background:#fff}
.notification-item:last-child{border-bottom:0!important}.notification-item:hover{background:#fafcfc;text-decoration:none!important}.notification-item.is-unread{background:#fffaf7}
.notification-seq{display:inline-flex;align-items:center;justify-content:flex-end;color:#98a2a8;font-weight:800;font-variant-numeric:tabular-nums}
.notification-line{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.25}
.notification-line b{display:inline!important;line-height:inherit!important;color:#2b6284}.notification-context{color:#59666f}.notification-extra{color:var(--muted)}
.notification-item time{white-space:nowrap!important;color:var(--muted)!important;font-size:12px!important;font-variant-numeric:tabular-nums}
.numbered-pagination{display:flex;align-items:center;justify-content:center;gap:7px;width:max-content;max-width:calc(100% - 20px);margin:12px auto 0;padding:6px 8px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.97);box-shadow:0 10px 28px rgba(38,49,57,.11);overflow-x:auto;scrollbar-width:none}
.numbered-pagination::-webkit-scrollbar{display:none}.pagination-number,.pagination-arrow{display:inline-grid;place-items:center;flex:0 0 auto;width:34px;height:34px;border:1px solid var(--line-strong);border-radius:50%;background:#fff;color:#59666f;font-weight:800;text-decoration:none!important}
.pagination-number:hover,.pagination-arrow:hover{border-color:var(--accent);background:var(--accent-soft);color:#8c543d}.pagination-number.active{background:var(--dark);border-color:var(--dark);color:#fff}.pagination-arrow.disabled{opacity:.3;pointer-events:none}.pagination-gap{color:#98a2a8;padding:0 2px}

.tracking-created{white-space:nowrap;min-width:92px}.tracking-created b,.tracking-created small{display:block}.tracking-created small{color:var(--muted);font-size:11px}
.tracking-material-cell{position:relative;min-width:126px}.tracking-material-cell>span{display:block}.tracking-material-button{min-height:0!important;padding:2px 0!important;border:0!important;background:transparent!important;color:#376c8d!important;font-weight:600!important;box-shadow:none!important;transform:none!important}.tracking-material-button:hover{text-decoration:underline!important;box-shadow:none!important;transform:none!important}.tracking-material-empty{color:var(--muted);font-size:12px}
.tracking-material-popover{position:fixed;z-index:1750;width:min(380px,calc(100vw - 24px));max-height:min(440px,72vh);overflow:auto;padding:12px;border:1px solid var(--line-strong);border-radius:14px;background:#fff;box-shadow:0 22px 60px rgba(25,35,42,.22)}
.tracking-material-popover-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.tracking-material-popover-head b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.material-popover-close{width:30px;height:30px;min-height:30px;padding:0;border-radius:50%;background:#fff;color:#59666f;border-color:var(--line-strong);box-shadow:none!important;transform:none!important}
.tracking-material-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.tracking-material-thumb{display:grid;gap:4px;min-width:0;padding:6px;border:1px solid var(--line);border-radius:10px;background:#fbfcfc;text-decoration:none!important}.tracking-material-thumb img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:7px;background:#eef1f3}.tracking-material-thumb span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#59666f;font-size:10px;text-align:center}
.tracking-chart-column{background:linear-gradient(to top,rgba(226,231,234,.65) 1px,transparent 1px)!important;background-size:100% 25%!important}.tracking-chart-column svg{display:block;width:100%;height:160px;overflow:visible}.tracking-chart-column rect{fill:#7d939f}

.executor-list-head{align-items:center}.executor-job-total{display:grid;justify-items:end}.executor-job-total b{font-size:26px;line-height:1}.executor-job-total span{color:var(--muted);font-size:11px}
.executor-jobs-panel{position:relative;padding-bottom:68px!important}.executor-job-filters{display:grid;grid-template-columns:minmax(220px,1fr) minmax(190px,.7fr) auto;gap:10px;align-items:end;margin-bottom:12px}.executor-filter-actions{display:flex;gap:8px}.executor-jobs-scroll{height:clamp(340px,calc(100dvh - 390px),720px);min-height:340px;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;border:1px solid var(--line);border-radius:13px;background:#fff}
.executor-jobs-table{margin:0}.executor-jobs-table thead{position:sticky;top:0;z-index:2;background:#f8fafb}.executor-jobs-table tr[data-row-link]{cursor:pointer}.executor-jobs-table tr[data-row-link]:hover td{background:#f9fbfc}.executor-jobs-table td{vertical-align:top;transition:background .15s ease}.executor-jobs-table td small{display:block;margin-top:3px;color:var(--muted);line-height:1.3}.executor-jobs-table td:nth-child(1){white-space:nowrap;min-width:96px}.executor-jobs-table td:nth-child(2){min-width:240px}.executor-jobs-table td:nth-child(5){min-width:180px}.executor-jobs-table td:nth-child(6){min-width:220px}.executor-sort-link{display:inline-flex;align-items:center;gap:5px;color:inherit;text-decoration:none!important;font-weight:850}.executor-sort-link span{color:#9aa5ab;font-size:11px}.executor-sort-link.is-active{color:#273239}.executor-sort-link.is-active span{color:#d87855}.executor-row-overdue td{background:linear-gradient(90deg,rgba(205,54,72,.095),rgba(205,54,72,.035) 58%,rgba(255,255,255,0))!important}.executor-row-overdue td:first-child{box-shadow:inset 5px 0 0 #bd3145}.executor-row-overdue:hover td{background:linear-gradient(90deg,rgba(205,54,72,.13),rgba(205,54,72,.05) 58%,rgba(255,255,255,.1))!important}
.executor-status{display:inline-flex;padding:4px 7px;border-radius:999px;background:#eef1f3;color:#59666f;font-size:11px;font-weight:750}.executor-status.status-review{background:#eaf3fb;color:#336ea8}.executor-status.status-done{background:var(--success-bg);color:var(--success)}.executor-status.status-cancelled{background:var(--danger-bg);color:var(--danger)}.executor-status.status-returned{background:var(--warn-bg);color:var(--warn)}
.executor-deadline small[data-deadline-timer]{font-variant-numeric:tabular-nums}.executor-route-chip{display:inline-flex;max-width:100%;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;line-height:1.35;padding:5px 8px;border-radius:12px;background:#f2effb;color:#68569f;font-size:11px;font-weight:750;text-decoration:none!important}.executor-pagination{position:absolute;left:50%;bottom:10px;transform:translateX(-50%);margin:0}

@media(max-width:720px){
  .topbar nav{scrollbar-width:none}.topbar nav::-webkit-scrollbar{display:none}.topbar nav a{min-height:34px;display:inline-flex;align-items:center;white-space:nowrap}.topbar nav a.nav-current{box-shadow:inset 0 -2px 0 var(--accent)!important}
  .job-distribution-count{transform:translateY(1px)!important}
  .notification-page-head form,.notification-page-head button{width:100%}.notification-list-scroll{max-height:58vh}.notification-item{grid-template-columns:24px minmax(0,1fr) auto!important;gap:7px!important;min-height:44px!important;padding:8px 9px!important}.notification-line{font-size:11px}.notification-item time{font-size:10px!important}.notification-seq{font-size:10px}.numbered-pagination{max-width:calc(100vw - 38px);gap:5px;padding:5px 6px}.pagination-number,.pagination-arrow{width:32px;height:32px}
  .tracking-jobs-table{min-width:980px}.tracking-created{min-width:84px}.tracking-material-popover{left:50%!important;top:50%!important;width:calc(100vw - 24px)!important;max-height:72vh!important;transform:translate(-50%,-50%)!important}.tracking-material-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tracking-chart-column svg{height:110px}
  .executor-list-head{align-items:stretch}.executor-job-total{justify-items:start}.executor-jobs-panel{padding:12px 10px 64px!important}.executor-job-filters{grid-template-columns:1fr!important}.executor-filter-actions{display:grid;grid-template-columns:1fr 1fr}.executor-filter-actions>*{width:100%}.executor-jobs-scroll{height:58dvh;max-height:680px;min-height:320px;border:0;overflow:auto}.executor-jobs-table,.executor-jobs-table tbody{display:block;width:100%}.executor-jobs-table thead{display:none}.executor-jobs-table tbody{display:grid;gap:9px}.executor-jobs-table tr{display:grid!important;grid-template-columns:1fr!important;border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden}.executor-jobs-table td{display:grid!important;grid-template-columns:92px minmax(0,1fr);gap:8px;align-items:start;width:100%!important;min-width:0!important;padding:8px 10px!important;border-bottom:1px solid #eef1f3!important}.executor-jobs-table td:last-child{border-bottom:0!important}.executor-jobs-table td::before{content:attr(data-label);color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.03em}.executor-jobs-table td>*{min-width:0}.executor-jobs-table td small{margin-top:1px}.executor-route-chip{max-width:100%}.executor-pagination{bottom:8px}
}

@media(max-width:390px){
  .topbar{padding-left:8px;padding-right:8px}.brand-logo-image{width:120px!important}.topbar nav a{padding:6px 7px;font-size:11px}.notification-item{grid-template-columns:20px minmax(0,1fr) 80px!important}.notification-item time{overflow:hidden;text-overflow:ellipsis}.executor-jobs-table td{grid-template-columns:82px minmax(0,1fr)}
}
.notification-item>.notification-line{display:block!important;gap:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;min-width:0!important}
.notification-item>.notification-line{display:flex!important;align-items:center!important;gap:4px!important;overflow:hidden!important;white-space:nowrap!important}
.notification-line>b{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notification-context{flex:0 1 38%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notification-extra{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* v1.2.3.9 corrective: notifications, objects, device data, routes, team */
.notification-list-panel{background:#fff;border-radius:18px}.notification-list-scroll{background:#fff}.notification-item{border-radius:0;background:linear-gradient(0deg,#fff,#fff)!important}.notification-item.is-unread{background:linear-gradient(0deg,#fff7f2,#fff7f2)!important}.notification-line{display:flex!important;align-items:center!important;gap:5px!important;min-width:0}.notification-line b,.notification-context,.notification-extra{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.entity-summary-side{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.personal-note-badge{display:inline-flex;align-items:center;max-width:320px;padding:6px 10px;border-radius:999px;background:#eef4ea;color:#5c7c43;font-size:11px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.object-contact-pair{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:end}.inline-contact-actions{display:flex;gap:8px;align-items:center;justify-content:flex-start;padding-bottom:1px}.compact-button{min-height:34px;padding:6px 10px;font-size:12px}
.auto-grow textarea{min-height:44px;resize:vertical;overflow:auto}.object-device-panel{border:1px solid var(--line);border-radius:14px;padding:12px 14px;background:#fbfcfd}.object-device-panel legend{padding:0 6px;font-weight:800;color:var(--ink)}.device-editor{display:grid;gap:10px}.device-editor summary{display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;list-style:none}.device-editor summary::-webkit-details-marker{display:none}.device-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.device-grid .wide-field{grid-column:1/-1}

.team-manage-grid{grid-template-columns:minmax(0,1.15fr) minmax(280px,.78fr)!important;align-items:start}.team-manage-grid form{align-items:start}.reset-box{max-width:360px;justify-self:center;width:100%;padding:16px 18px!important;display:grid;grid-template-columns:1fr 1fr;gap:12px}.reset-box h3{grid-column:1/-1;text-align:center}.reset-box button{grid-column:1/-1;justify-self:center;min-width:220px}.reset-box label:last-of-type{position:relative}.reset-box label:last-of-type button,.reset-box .password-eye{position:absolute;right:8px;top:36px}

.route-strip-queue{grid-template-columns:110px minmax(0,1fr)!important;align-items:start!important}.route-grid-scroll{display:grid!important;grid-template-columns:repeat(2,minmax(260px,1fr));gap:10px!important;max-height:138px;overflow:auto!important;padding-right:4px}.route-queue-card{min-width:0!important;max-width:none!important;height:fit-content}.route-queue-select b{font-size:13px!important}.route-queue-select small{font-size:11px!important;line-height:1.35!important}.compact-workspace-benchmark.route-workspace{height:calc(100vh - 250px)!important}.compact-workspace-benchmark.route-workspace .map-panel{order:-1;border-bottom:1px solid var(--line);min-height:300px}.compact-workspace-benchmark.route-workspace .job-list{border-right:0;border-top:1px solid var(--line)}.map-toolbar{align-items:flex-start;padding-top:10px;padding-bottom:10px}.map-toolbar-text{display:grid;gap:2px;min-width:0}.map-toolbar-text strong{line-height:1.2}.map-toolbar-text small{color:var(--muted);font-size:12px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}

.submitted-device-block{margin-top:10px;border-top:1px solid #eef1f3;padding-top:10px}.submitted-device-grid{display:grid;gap:8px}.device-diff-row{display:grid;grid-template-columns:170px 1fr;gap:10px;align-items:start}.device-diff-row em{font-style:normal;font-weight:700;color:#2b6284}.device-aware-completion{display:grid;gap:14px}.completion-device-panel{border:1px solid var(--line);border-radius:14px;padding:12px 14px;background:#fbfcfd}.completion-device-panel legend{padding:0 5px;font-weight:800}.device-readonly-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.device-readonly-grid>label{display:grid;gap:6px}.device-readonly-grid>div[hidden]{display:none!important}.serial-checks{display:flex;flex-wrap:wrap;gap:12px}.inventory-mismatch{margin-top:4px}.inline-edit-toggle{justify-self:start}

@media(max-width:1150px){
  .route-grid-scroll{grid-template-columns:1fr 1fr;max-height:160px}
  .team-manage-grid{grid-template-columns:1fr!important}
  .reset-box{max-width:none}
}
@media(max-width:860px){
  .object-contact-pair{grid-template-columns:1fr!important}
  .device-grid{grid-template-columns:1fr}
  .route-strip-queue{grid-template-columns:1fr!important}
  .route-grid-scroll{grid-template-columns:1fr!important;max-height:180px}
  .compact-workspace-benchmark.route-workspace .map-panel{min-height:260px}
}
@media(max-width:720px){
  .notification-item{grid-template-columns:22px minmax(0,1fr) 74px!important;padding:9px 8px!important}
  .notification-line{font-size:11px!important}
  .notification-context{flex:1 1 auto;max-width:100%}
  .map-toolbar{flex-direction:column;align-items:flex-start;gap:6px}
  .map-toolbar a{font-size:11px}
  .device-diff-row{grid-template-columns:1fr}
  .completion-device-panel,.object-device-panel{padding:10px}
  .reset-box{grid-template-columns:1fr!important;padding:14px!important}
  .reset-box button{min-width:0;width:100%}
}


/* v1.2.3.9.1 corrective: routes layout, notifications fill, compact objects, deadline fill */
.notification-list-panel{padding:0!important;overflow:hidden}
.notification-list-scroll{max-height:58vh;overflow:auto;padding:0!important;background:#fff}
.notification-item{display:grid!important;grid-template-columns:30px minmax(0,1fr) auto!important;gap:10px!important;align-items:center!important;width:100%!important;min-height:52px!important;padding:14px 18px!important;border-bottom:1px solid var(--line)!important;border-radius:0!important;background:#fff!important}
.notification-item.is-unread{background:#fff4ec!important;box-shadow:inset 0 0 0 999px #fff4ec!important}
.notification-line{display:flex!important;align-items:center!important;gap:6px!important;min-width:0!important;white-space:nowrap!important;overflow:hidden!important}
.notification-line b,.notification-context{min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
.notification-context{color:#59666f!important}
.route-workspace{display:grid!important;grid-template-columns:minmax(380px,.86fr) minmax(520px,1.14fr)!important;gap:0!important;align-items:stretch!important;height:calc(100vh - 250px)!important;min-height:530px!important;max-height:none!important}
.route-left-rail{display:grid!important;grid-template-rows:auto minmax(0,1fr)!important;min-width:0;border-right:1px solid var(--line);background:#fff}
.route-workspace .job-list{border-right:0!important;border-top:1px solid var(--line)!important;max-height:none!important;height:auto!important}
.route-workspace .map-panel{min-height:0!important;height:100%!important;grid-template-rows:minmax(0,1fr)!important}
.route-strip-queue{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;align-items:start!important;margin:0!important;padding:10px 12px 8px!important;border-bottom:1px solid var(--line);background:#fff}
.route-strip-head{display:flex!important;align-items:center!important;justify-content:space-between!important}
.route-grid-scroll{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important;max-height:158px!important;overflow:auto!important;padding-right:4px!important}
.route-queue-card{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:7px!important;min-width:0!important;max-width:none!important;padding:9px 10px!important;border-radius:13px!important}
.route-queue-select{display:grid!important;gap:2px!important}.route-queue-select b{font-size:13px!important;line-height:1.3!important}.route-queue-select small{font-size:11px!important;line-height:1.35!important;color:var(--muted)!important}.route-open-compact{justify-self:start!important;align-self:start!important}
.map-toolbar{padding:10px 14px!important;align-items:center!important}.map-title-inline{display:flex!important;align-items:baseline!important;gap:6px!important;min-width:0!important;max-width:100%!important;white-space:nowrap!important;overflow:hidden!important}.map-title-inline strong,.map-title-inline small{min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.map-title-inline small{font-size:12px!important;color:var(--muted)!important}
.deadline-marker .deadline-info{position:relative!important;display:grid!important;width:100%!important;justify-self:stretch!important;padding:10px 12px!important;border:1px solid #efc7cc!important;border-radius:12px!important;background:#fff0f2!important;box-shadow:none!important;overflow:hidden!important}.deadline-marker .deadline-info::before,.deadline-marker .deadline-info::after{display:none!important;content:none!important}.job-card.overdue .deadline-info{background:#ffe9ec!important;border-color:#ebb8c0!important}
.object-contact-pair{grid-template-columns:1fr 1fr auto!important;gap:10px!important;align-items:end!important}.object-compact-textarea textarea{min-height:42px!important;max-height:180px!important;resize:vertical!important;overflow:auto!important}.inline-contact-actions{display:flex!important;gap:8px!important;align-items:center!important;justify-content:flex-start!important;flex-wrap:wrap!important}.entity-summary-side{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important;justify-content:flex-end!important}.personal-note-badge{max-width:280px!important}
@media(max-width:1150px){.route-workspace{grid-template-columns:1fr!important;height:auto!important;min-height:0!important}.route-left-rail{border-right:0!important}.route-workspace .map-panel{order:-1;border-bottom:1px solid var(--line)}}
@media(max-width:720px){.notification-item{grid-template-columns:22px minmax(0,1fr) 74px!important;padding:10px 9px!important}.notification-line{font-size:11px!important}.route-grid-scroll{grid-template-columns:1fr!important;max-height:190px!important}.route-workspace .job-list{max-height:58vh!important}.map-title-inline{display:flex!important;gap:5px!important;white-space:nowrap!important}.object-contact-pair{grid-template-columns:1fr!important}}
.route-strip-queue.route-strip-selected{display:grid!important}
.compact-workspace-benchmark.route-workspace[data-route-selected="1"]{grid-template-columns:minmax(380px,.86fr) minmax(520px,1.14fr)!important;grid-template-rows:none!important;height:calc(100vh - 250px)!important;min-height:530px!important;overflow:hidden!important}
.compact-workspace-benchmark.route-workspace[data-route-selected="1"] .job-list{height:auto!important;max-height:none!important;overflow:auto!important}
.compact-workspace-benchmark.route-workspace[data-route-selected="1"] .map-panel{height:100%!important;min-height:0!important;overflow:hidden!important}
.compact-workspace-benchmark.route-workspace[data-route-selected="1"] .map-work{height:100%!important;min-height:0!important;grid-template-rows:44px minmax(0,1fr)!important}
.compact-workspace-benchmark.route-workspace[data-route-selected="1"] .map-work iframe{height:100%!important;min-height:0!important}
@media(max-width:1150px){.compact-workspace-benchmark.route-workspace[data-route-selected="1"]{grid-template-columns:1fr!important;height:auto!important;min-height:0!important}}

.object-contact-create{grid-template-columns:1fr 1fr!important}
@media(max-width:720px){.object-contact-create{grid-template-columns:1fr!important}}

/* v1.2.3.9.3 RECHECKED: exact runtime fixes after user E2E */
/* Routes: DOM order is left rail first, map second. Kill all older order:-1 rules. */
.route-workspace,
.compact-workspace-benchmark.route-workspace,
.compact-workspace-benchmark.route-workspace[data-route-selected="1"]{
  display:grid!important;
  grid-template-columns:minmax(430px,42fr) minmax(560px,58fr)!important;
  grid-template-rows:minmax(0,1fr)!important;
  align-items:stretch!important;
  height:calc(100vh - 286px)!important;
  min-height:500px!important;
  max-height:760px!important;
  overflow:hidden!important;
}
.route-workspace .route-left-rail,
.compact-workspace-benchmark.route-workspace .route-left-rail{
  order:0!important;
  grid-column:1!important;
  grid-row:1!important;
  min-width:0!important;
  min-height:0!important;
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr)!important;
  border-right:1px solid var(--line)!important;
  background:#fff!important;
}
.route-workspace .map-panel,
.compact-workspace-benchmark.route-workspace .map-panel,
.compact-workspace-benchmark.route-workspace[data-route-selected="1"] .map-panel{
  order:0!important;
  grid-column:2!important;
  grid-row:1!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  border:0!important;
  border-bottom:0!important;
}
.route-workspace .route-strip-queue{
  margin:0!important;
  padding:9px 10px 8px!important;
  border:0!important;
  border-bottom:1px solid var(--line)!important;
  border-radius:0!important;
  background:#fff!important;
}
.route-workspace .route-strip-head{display:none!important}
.route-workspace .route-grid-scroll{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
  max-height:152px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  scrollbar-gutter:auto!important;
  padding:0 3px 0 0!important;
}
.route-workspace .route-queue-card{
  min-width:0!important;
  padding:8px 9px!important;
  gap:5px!important;
  border-radius:12px!important;
}
.route-workspace .route-queue-select b{font-size:12.5px!important;line-height:1.25!important}
.route-workspace .route-queue-select small{font-size:10.5px!important;line-height:1.3!important}
.route-workspace .route-open-compact{min-height:30px!important;padding:5px 9px!important;font-size:10.5px!important}
.route-workspace .job-list,
.compact-workspace-benchmark.route-workspace[data-route-selected="1"] .job-list{
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  border:0!important;
  padding:10px!important;
  background:#f8fafb!important;
}
.route-workspace .map-work,
.compact-workspace-benchmark.route-workspace[data-route-selected="1"] .map-work{
  height:100%!important;
  min-height:0!important;
  grid-template-rows:44px minmax(0,1fr)!important;
}
.route-workspace .map-work iframe,
.compact-workspace-benchmark.route-workspace[data-route-selected="1"] .map-work iframe{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
}

/* Notifications: no reserved scrollbar gutter -> unread fill reaches the real right edge. */
.notification-list-panel{padding:0!important;overflow:hidden!important;background:#fff!important}
.notification-list-scroll{
  width:100%!important;
  max-height:min(62vh,560px)!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  scrollbar-gutter:auto!important;
  padding:0!important;
  margin:0!important;
  background:#fff!important;
}
.notification-list{gap:0!important}
.notification-item{
  width:100%!important;
  margin:0!important;
  border-radius:0!important;
  box-sizing:border-box!important;
}
.notification-item.is-unread{
  background:#fff4ec!important;
  box-shadow:none!important;
}

/* Coordinator/owner objects: force the requested compact runtime geometry. */
.management-catalog-panel#objects .object-grid{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  align-items:start!important;
}
.management-catalog-panel#objects .object-compact-textarea textarea{
  min-height:42px!important;
  max-height:180px!important;
  resize:vertical!important;
  overflow:auto!important;
}
.management-catalog-panel#objects input[name="personal_note"]{
  min-height:42px!important;
  height:42px!important;
}
.management-catalog-panel#objects .object-contact-pair{
  grid-template-columns:minmax(180px,1fr) minmax(220px,1fr) auto!important;
  align-items:end!important;
  gap:8px!important;
}
.management-catalog-panel#objects .inline-contact-actions{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  min-height:42px!important;
}
.management-catalog-panel#objects .object-device-panel{
  margin-top:2px!important;
  padding:10px 12px!important;
}
.management-catalog-panel#objects .device-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
}
.management-catalog-panel#objects .personal-note-badge{
  display:inline-flex!important;
  max-width:300px!important;
}

@media(max-width:1100px){
  .route-workspace,
  .compact-workspace-benchmark.route-workspace,
  .compact-workspace-benchmark.route-workspace[data-route-selected="1"]{
    grid-template-columns:minmax(360px,44fr) minmax(480px,56fr)!important;
  }
}
@media(max-width:860px){
  .route-workspace,
  .compact-workspace-benchmark.route-workspace,
  .compact-workspace-benchmark.route-workspace[data-route-selected="1"]{
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:auto minmax(320px,48vh)!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
  }
  .route-workspace .route-left-rail{grid-column:1!important;grid-row:1!important;border-right:0!important}
  .route-workspace .map-panel,
  .compact-workspace-benchmark.route-workspace .map-panel,
  .compact-workspace-benchmark.route-workspace[data-route-selected="1"] .map-panel{
    grid-column:1!important;
    grid-row:2!important;
    min-height:320px!important;
  }
  .route-workspace .route-grid-scroll{grid-template-columns:1fr!important;max-height:160px!important}
  .management-catalog-panel#objects .object-grid{grid-template-columns:1fr!important}
  .management-catalog-panel#objects .object-contact-pair{grid-template-columns:1fr!important}
  .management-catalog-panel#objects .device-grid{grid-template-columns:1fr!important}
}


/* v1.2.3.10 FINAL OVERRIDES */
/* Route viewport: use the remaining 100% zoom desktop height without changing 42/58 geometry. */
.route-workspace,
.compact-workspace-benchmark.route-workspace,
.compact-workspace-benchmark.route-workspace[data-route-selected="1"]{
  grid-template-columns:minmax(430px,42fr) minmax(560px,58fr)!important;
  height:calc(100vh - 242px)!important;
  min-height:550px!important;
  max-height:none!important;
}
.route-workspace .map-panel{order:0!important;grid-column:2!important}
.route-workspace .route-left-rail{order:0!important;grid-column:1!important}

/* Object catalog: truly resizable + content autogrow; no fixed !important height. */
.management-catalog-panel#objects .object-compact-textarea textarea,
#objects .object-compact-textarea textarea{
  min-height:42px!important;
  height:auto;
  max-height:42vh!important;
  resize:vertical!important;
  overflow:auto!important;
  line-height:1.4!important;
}
.section-title-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.archive-filter-button{border-color:#cfd8dd!important;background:#fff!important;color:#52616a!important}
.archive-filter-button.active{background:var(--dark)!important;border-color:var(--dark)!important;color:#fff!important;box-shadow:0 0 0 2px rgba(245,169,132,.22)}
.entity-summary-with-thumb .entity-thumb{display:block!important}
.object-device-panel{margin-top:4px!important;background:#fbfcfd!important}
.object-device-panel .device-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;align-items:end!important}
.object-device-panel .device-grid label{display:grid!important;gap:6px!important;align-self:end!important}
.object-device-panel .device-grid input{width:100%!important}
.device-field-hint{font-size:11px;color:var(--muted);font-weight:500}

/* Job list extra device data. */
.job-device-extra dl{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:4px 10px;margin:7px 0 0;font-size:12px}
.job-device-extra dt{color:var(--muted);font-weight:700}.job-device-extra dd{margin:0;min-width:0;overflow-wrap:anywhere}
.review-card-button,.review-execution-button{background:#2f8a60!important;border-color:#2f8a60!important;color:#fff!important;font-weight:800!important}
.review-card-button:hover,.review-execution-button:hover{background:#267650!important;color:#fff!important}

/* Dedicated review page. */
.review-page-head{display:flex;justify-content:space-between;gap:14px;align-items:center;flex-wrap:wrap}
.review-closing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.review-device-diffs{display:grid;gap:7px}.review-device-diffs .device-diff-row{grid-template-columns:170px minmax(0,1fr)}
.review-actions-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}
.review-actions-grid form{display:grid;gap:10px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff}
.review-actions-grid .accept-review{border-color:#b9dec9;background:#f4fbf7}.review-actions-grid .return-review{border-color:#efd0d5;background:#fff8f9}

/* Monitoring audit time/date picker. */
.audit-date-filter{position:relative}.audit-date-filter>summary{list-style:none;cursor:pointer}.audit-date-filter>summary::-webkit-details-marker{display:none}
.audit-date-form{position:absolute;right:0;top:calc(100% + 8px);z-index:60;width:min(760px,calc(100vw - 40px));display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:10px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow)}
.audit-date-form label{display:grid;gap:5px}.audit-date-actions{display:flex;align-items:end;gap:8px;grid-column:1/-1;justify-content:flex-end}

/* Live update visual state. */
form.is-loading,[data-live-filter].is-loading{opacity:.72;pointer-events:none}.soft-updating{cursor:progress}

@media(max-width:1150px){
  .route-workspace,.compact-workspace-benchmark.route-workspace,.compact-workspace-benchmark.route-workspace[data-route-selected="1"]{height:auto!important;min-height:0!important;grid-template-columns:1fr!important}
  .route-workspace .route-left-rail{grid-column:1!important;grid-row:1!important}
  .route-workspace .map-panel{grid-column:1!important;grid-row:2!important;min-height:480px!important;order:0!important}
}
@media(max-width:760px){
  .object-device-panel .device-grid{grid-template-columns:1fr!important}
  .section-title-row{align-items:flex-start}.section-title-actions{width:100%;justify-content:flex-start}
  .review-closing-grid,.review-actions-grid{grid-template-columns:1fr!important}
  .review-device-diffs .device-diff-row{grid-template-columns:1fr!important}
  .audit-date-form{position:fixed;left:12px;right:12px;top:50%;transform:translateY(-50%);width:auto;max-height:82vh;overflow:auto;grid-template-columns:1fr!important}
  .audit-date-actions{grid-column:1!important;position:sticky;bottom:0;background:#fff;padding-top:7px}
  .job-device-extra dl{grid-template-columns:110px minmax(0,1fr)}
}
@media(max-width:430px){
  .route-workspace .map-panel{min-height:380px!important}
  .route-workspace .route-grid-scroll{grid-template-columns:1fr!important;max-height:170px!important}
  .review-page-head .button{width:100%}
}

.review-page-actions{display:grid!important;grid-template-columns:1fr 1fr;gap:14px;align-items:start}.review-page-actions form{display:grid;gap:10px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff}.review-page-actions form:first-child{border-color:#b9dec9;background:#f4fbf7}.review-page-actions form:last-child{border-color:#efd0d5;background:#fff8f9}@media(max-width:760px){.review-page-actions{grid-template-columns:1fr!important}}
/* Mobile route order: route selector -> map -> jobs, so the map stays near the viewport top. */
@media(max-width:760px){
  .route-workspace,.compact-workspace-benchmark.route-workspace,.compact-workspace-benchmark.route-workspace[data-route-selected="1"]{display:grid!important;grid-template-columns:1fr!important;grid-template-rows:auto minmax(320px,42vh) minmax(240px,48vh)!important;height:auto!important;overflow:visible!important}
  .route-workspace .route-left-rail{display:contents!important}
  .route-workspace .route-strip-queue{grid-column:1!important;grid-row:1!important}
  .route-workspace .map-panel{grid-column:1!important;grid-row:2!important;min-height:320px!important;height:42vh!important;max-height:430px!important}
  .route-workspace .job-list{grid-column:1!important;grid-row:3!important;max-height:48vh!important;min-height:240px!important;border-top:1px solid var(--line)!important}
}

/* v1.2.3.11 DEVICE / REVIEW / FILTER corrective */
.management-catalog-panel#objects .entity-summary-main .object-summary-address{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important}
.management-catalog-panel#objects .object-summary-address .object-map-inline{font-size:11px!important;font-weight:750!important;white-space:nowrap!important;color:#2d6b92!important;text-decoration:none!important}
.management-catalog-panel#objects .object-edit-top-actions{display:grid!important;grid-template-columns:minmax(280px,1fr) auto auto!important;gap:14px!important;align-items:center!important;padding:10px 12px!important;border:1px solid var(--line)!important;border-radius:13px!important;background:#f8fafb!important}
.management-catalog-panel#objects .object-photo-control{display:flex!important;align-items:center!important;gap:10px!important;min-width:0!important}
.management-catalog-panel#objects .object-edit-thumb{width:58px!important;height:58px!important;border:1px solid var(--line)!important;border-radius:12px!important;object-fit:cover!important;flex:0 0 auto!important}
.management-catalog-panel#objects .object-photo-control label{display:grid!important;gap:5px!important;min-width:0!important;flex:1!important}
.management-catalog-panel#objects .object-photo-control input[type="file"]{width:100%!important;min-width:0!important}
.management-catalog-panel#objects .object-active-control{justify-self:center!important;white-space:nowrap!important}
.management-catalog-panel#objects .object-save-button{justify-self:end!important;min-width:130px!important}
.management-catalog-panel#objects .device-editor>summary{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:12px!important;padding:6px 4px!important}
.management-catalog-panel#objects .device-editor>summary .button{justify-self:end!important;white-space:nowrap!important}
.management-catalog-panel#objects .additional-device-list{display:grid!important;gap:10px!important;margin-top:10px!important}
.management-catalog-panel#objects .additional-device-card{padding:12px!important;border:1px solid var(--line)!important;border-radius:13px!important;background:#fff!important}
.management-catalog-panel#objects .additional-device-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;margin-bottom:10px!important}
.management-catalog-panel#objects .remove-device-button{min-height:32px!important;padding:5px 9px!important;color:#9b4050!important}
.management-catalog-panel#objects .add-device-button{margin-top:10px!important;justify-self:start!important}
.management-catalog-panel#objects .object-create-actions{display:flex!important;align-items:end!important;justify-content:space-between!important;gap:14px!important;flex-wrap:wrap!important}

.job-extra{width:min(100%,760px)!important;max-width:none!important;display:grid!important;grid-template-columns:minmax(170px,.58fr) minmax(320px,1.42fr)!important;gap:10px!important;padding:10px!important}
.job-extra .job-extra-block{min-width:0!important}
.job-extra-thumbs{display:flex!important;gap:8px!important;flex-wrap:wrap!important}
.job-extra-thumbs img{width:64px!important;height:64px!important;object-fit:cover!important}
.job-device-list-compact{display:grid!important;gap:8px!important}
.job-device-list-compact dl{display:grid!important;grid-template-columns:auto minmax(60px,1fr) auto minmax(60px,1fr) auto minmax(80px,1fr)!important;gap:3px 8px!important;margin:0!important;padding:7px 8px!important;border:1px solid #e5e9eb!important;border-radius:10px!important;background:#fff!important}
.job-device-list-compact dt{font-size:11px!important;color:var(--muted)!important;font-weight:700!important}.job-device-list-compact dd{margin:0!important;font-size:12px!important;overflow-wrap:anywhere!important}
.job-device-summary-list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;margin-top:10px!important}
.job-device-summary{display:grid!important;gap:5px!important;padding:10px!important;border:1px solid var(--line)!important;border-radius:12px!important;background:#fff!important}

.review-accept-button{background:#2f8a60!important;border-color:#2f8a60!important;color:#fff!important;font-weight:800!important}.review-accept-button:hover{background:#267650!important;border-color:#267650!important}
.audit-date-form [hidden]{display:none!important}

@media(max-width:900px){
  .management-catalog-panel#objects .object-edit-top-actions{grid-template-columns:1fr auto!important}.management-catalog-panel#objects .object-save-button{grid-column:1/-1;width:100%!important}.management-catalog-panel#objects .object-active-control{justify-self:end!important}
  .job-extra{grid-template-columns:1fr!important;width:100%!important}
  .job-device-summary-list{grid-template-columns:1fr!important}
}
@media(max-width:620px){
  .management-catalog-panel#objects .object-edit-top-actions{grid-template-columns:1fr!important}.management-catalog-panel#objects .object-active-control{justify-self:start!important}.management-catalog-panel#objects .object-save-button{grid-column:auto!important}
  .management-catalog-panel#objects .object-photo-control{align-items:flex-start!important;flex-direction:column!important}.management-catalog-panel#objects .object-edit-thumb{width:72px!important;height:72px!important}
  .management-catalog-panel#objects .device-editor>summary{grid-template-columns:1fr!important}.management-catalog-panel#objects .device-editor>summary .button{justify-self:start!important}
  .job-device-list-compact dl{grid-template-columns:auto minmax(0,1fr)!important}
}

/* v1.2.3.12 compact multi-photo / filter counts / duplicate warning corrective */
.job-extra-wide{grid-column:1/-1!important;width:100%!important;max-width:none!important;display:grid!important;grid-template-columns:minmax(150px,.48fr) minmax(0,1.6fr) auto!important;gap:10px!important;margin-top:4px!important;padding:8px 10px!important;align-items:start!important}
.job-extra-wide[hidden]{display:none!important}
.job-extra-wide .job-extra-block{min-width:0!important;margin:0!important}
.job-extra-wide .job-contact-extra{align-self:start!important}
.job-device-list-compact{display:grid!important;gap:5px!important;min-width:0!important}
.job-device-compact-row{display:grid!important;grid-template-rows:auto auto!important;gap:2px!important;min-width:0!important;max-height:46px!important;padding:5px 7px!important;border:1px solid #e5e9eb!important;border-radius:9px!important;background:#fff!important;overflow:hidden!important}
.job-device-compact-line{display:flex!important;align-items:center!important;gap:8px!important;min-width:0!important;white-space:nowrap!important;overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:none!important;font-size:11px!important;line-height:16px!important}
.job-device-compact-line::-webkit-scrollbar{display:none!important}
.job-device-compact-line span,.job-device-compact-line b{flex:0 0 auto!important;max-width:260px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
.job-photo-extra{min-width:80px!important}.job-photo-extra .job-extra-thumbs{flex-wrap:nowrap!important;overflow-x:auto!important;max-width:220px!important;padding-bottom:2px!important;scrollbar-width:thin!important}

.management-catalog-panel#objects .object-existing-photos,.object-photo-owner-edit .object-existing-photos{display:flex!important;align-items:flex-start!important;gap:7px!important;max-width:320px!important;overflow-x:auto!important;padding-bottom:2px!important;scrollbar-width:thin!important}
.management-catalog-panel#objects .object-existing-photos a,.object-photo-owner-edit .object-existing-photos a{position:relative;display:grid!important;gap:2px!important;justify-items:center!important;flex:0 0 auto!important;text-decoration:none!important}
.management-catalog-panel#objects .object-existing-photos a small,.object-photo-owner-edit .object-existing-photos a small{position:absolute;left:3px;bottom:3px;padding:2px 4px;border-radius:6px;background:rgba(36,116,81,.88);color:#fff;font-size:8px;font-weight:800}
.object-photo-owner-edit{display:flex!important;align-items:center!important;gap:10px!important;min-width:0!important;flex-wrap:wrap!important}

.management-catalog-panel#objects .device-summary-inline,.object-device-panel .device-summary-inline{display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important;line-clamp:2!important;overflow:hidden!important;min-width:0!important;max-height:2.7em!important;line-height:1.35!important;color:#37434b!important;font-size:12px!important}
.management-catalog-panel#objects .additional-device-card{padding:0!important;overflow:hidden!important}
.management-catalog-panel#objects .additional-device-card>summary{list-style:none!important;padding:9px 11px!important;margin:0!important;cursor:pointer!important;background:#fff!important}
.management-catalog-panel#objects .additional-device-card>summary::-webkit-details-marker{display:none!important}
.management-catalog-panel#objects .additional-device-card>summary>span{display:grid!important;gap:2px!important;min-width:0!important;flex:1!important}
.management-catalog-panel#objects .additional-device-card>.device-grid{padding:10px 11px 12px!important;border-top:1px solid var(--line)!important}

.job-duplicate-warning-backdrop{position:fixed;inset:0;z-index:2600;display:grid;place-items:center;padding:18px;background:rgba(31,39,44,.38);backdrop-filter:blur(4px)}
.job-duplicate-warning-modal{position:relative;width:min(590px,100%);display:grid;gap:12px;padding:22px;border:1px solid #efc7b3;border-radius:18px;background:#fff;box-shadow:0 28px 90px rgba(31,39,44,.28)}
.job-duplicate-warning-modal h2{margin:0 36px 0 0;font-size:21px}.job-duplicate-warning-modal>p{margin:0;color:var(--muted);line-height:1.5}
.job-duplicate-warning-close{position:absolute;right:12px;top:12px;width:34px!important;height:34px!important;min-height:34px!important;padding:0!important;border-radius:10px!important;background:#fff!important;color:var(--ink)!important}
.job-duplicate-warning-card{display:grid;gap:4px;padding:12px 13px;border:1px solid #f0d4c5;border-radius:12px;background:#fff7f2}.job-duplicate-warning-card span{font-size:12px;color:#5d6971;line-height:1.45}
.job-duplicate-warning-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.job-duplicate-warning-actions .button,.job-duplicate-warning-actions button{min-height:40px}

@media(max-width:900px){
  .job-extra-wide{grid-template-columns:minmax(140px,.55fr) minmax(0,1.45fr)!important}.job-photo-extra{grid-column:1/-1!important}.job-photo-extra .job-extra-thumbs{max-width:100%!important}
}
@media(max-width:720px){
  .job-extra-wide{grid-template-columns:1fr!important;width:100%!important;padding:8px!important}.job-device-compact-row{max-height:46px!important}.job-device-compact-line span,.job-device-compact-line b{max-width:210px!important}
  .management-catalog-panel#objects .object-existing-photos,.object-photo-owner-edit .object-existing-photos{max-width:100%!important}
  .job-duplicate-warning-modal{padding:18px 14px!important}.job-duplicate-warning-actions{display:grid!important;grid-template-columns:1fr!important}.job-duplicate-warning-actions>*{width:100%!important;text-align:center!important}
}


/* v1.2.3.13 — return state, gallery viewer, review polish */
.image-viewer-gallery figure{margin:0;display:grid;place-items:center;gap:10px;max-width:94vw;max-height:92vh}.image-viewer-counter{min-width:54px;padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.94);color:#1f282e;text-align:center;font-weight:850;box-shadow:0 8px 28px rgba(0,0,0,.22)}.image-viewer-nav{position:fixed;top:50%;z-index:1001;transform:translateY(-50%);width:48px;height:58px;min-height:58px;padding:0;border-radius:14px;background:rgba(255,255,255,.94);color:#1f282e;font-size:38px;line-height:1}.image-viewer-prev{left:18px}.image-viewer-next{right:18px}.image-viewer-gallery.single-image .image-viewer-nav{display:none}.review-accept-button{background:#2f8a60!important;border-color:#2f8a60!important;color:#fff!important;font-weight:850!important}.review-accept-button:hover{background:#267650!important;border-color:#267650!important;color:#fff!important}
@media(max-width:720px){.image-viewer-nav{width:42px;height:50px;min-height:50px;font-size:32px}.image-viewer-prev{left:8px}.image-viewer-next{right:8px}.image-viewer-counter{position:fixed;bottom:16px;left:50%;transform:translateX(-50%)}}

/* v1.2.3.15 — authoritative routes viewport fit + device-save UX; v1.2.3.14 visual language preserved */
.route-workspace,.compact-workspace-benchmark.route-workspace,.compact-workspace-benchmark.route-workspace[data-route-selected="1"]{height:var(--workspace-fit-height,calc(100dvh - 205px))!important;min-height:420px!important;max-height:none!important}
.route-workspace .route-open-compact{justify-self:center!important;align-self:center!important;text-align:center!important;min-width:122px!important}
.route-card-title{display:flex!important;align-items:center!important;gap:6px!important;min-width:0!important}
.route-review-ready-glyph{display:inline-grid!important;place-items:center!important;flex:0 0 auto!important;width:20px!important;height:20px!important;border-radius:50%!important;background:#bfe8ca!important;color:#151b1f!important}
.route-review-ready-glyph svg{width:13px!important;height:13px!important}

.job-last-comment{display:flex!important;align-items:center!important;gap:5px!important;flex-wrap:wrap!important;margin:8px 0 0!important;color:#52616a!important;font-size:12px!important;line-height:1.45!important;position:relative;z-index:3}
.job-comment-icon{display:inline-grid!important;place-items:center!important;flex:0 0 auto!important;width:18px!important;height:18px!important;color:#65747d!important}
.job-comment-icon svg{width:17px!important;height:17px!important}.job-comment-meta{font-weight:750!important;color:#54636c!important}.job-comment-short,.job-comment-full{color:#334149!important;min-width:0!important;overflow-wrap:anywhere!important}
.job-comment-more{display:inline-flex!important;align-items:center!important;gap:2px!important;min-height:0!important;height:auto!important;padding:0!important;border:0!important;background:transparent!important;color:#2e6686!important;text-decoration:underline!important;font:inherit!important;font-weight:750!important;box-shadow:none!important}
.job-comment-more:hover{background:transparent!important;color:#214f69!important}.job-comment-more .smart-chevron{width:14px!important;height:14px!important;transition:transform .15s}.job-comment-more[aria-expanded="true"] .smart-chevron{transform:rotate(180deg)!important}

.device-photo-field{grid-column:1/-1!important;display:grid!important;grid-template-columns:minmax(160px,1fr) auto!important;align-items:center!important;gap:8px 12px!important;padding:9px 10px!important;border:1px dashed #d6dfe4!important;border-radius:11px!important;background:#fbfcfd!important}
.device-panel-bottom-actions{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;flex-wrap:wrap!important;margin-top:10px!important;padding-top:10px!important;border-top:1px dashed var(--line)!important}.device-panel-bottom-actions .device-save-button{margin-left:auto!important;min-width:118px!important}
.device-photo-field>small{grid-column:1!important;color:var(--muted)!important}.device-photo-field>input[type="file"]{grid-column:1!important;min-width:0!important}.device-photo-preview{grid-column:2!important;grid-row:1/4!important;display:block!important;width:70px!important;height:58px!important;border:1px solid var(--line)!important;border-radius:9px!important;overflow:hidden!important;background:#fff!important}.device-photo-preview img{width:100%!important;height:100%!important;object-fit:cover!important}
.job-device-compact-row.has-device-photo{grid-template-columns:44px minmax(0,1fr)!important;grid-template-rows:1fr!important;align-items:center!important;max-height:54px!important}.job-device-orient-thumb{display:block!important;width:42px!important;height:42px!important;border-radius:8px!important;overflow:hidden!important;border:1px solid var(--line)!important}.job-device-orient-thumb img{width:100%!important;height:100%!important;object-fit:cover!important}.job-device-compact-text{display:grid!important;gap:2px!important;min-width:0!important}
.job-device-summary-photo{display:block!important;width:72px!important;height:58px!important;border-radius:9px!important;overflow:hidden!important;border:1px solid var(--line)!important;margin-bottom:4px!important}.job-device-summary-photo img{width:100%!important;height:100%!important;object-fit:cover!important}

.review-evidence-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important;margin-top:12px!important}.review-photo-tile,.review-device-tile{min-height:165px!important;padding:12px!important;border:1px solid var(--line)!important;border-radius:13px!important;background:#fff!important}.review-photo-tile h3,.review-device-tile h3{margin:0 0 8px!important;font-size:15px!important}.review-photo-tile .photo-grid{display:flex!important;gap:7px!important;align-items:flex-start!important;flex-wrap:wrap!important}.review-photo-tile .photo-grid a{max-width:94px!important}.review-photo-tile .photo-grid img{width:84px!important;height:66px!important;object-fit:cover!important;border-radius:8px!important}.review-photo-tile .photo-grid small{display:block!important;max-width:84px!important;font-size:9px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
.review-device-head{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:8px!important}.review-device-photo{display:block!important;width:68px!important;height:54px!important;border-radius:8px!important;overflow:hidden!important;border:1px solid var(--line)!important;flex:0 0 auto!important}.review-device-photo img{width:100%!important;height:100%!important;object-fit:cover!important}.review-device-data{display:grid!important;gap:4px!important}.review-device-row{display:grid!important;grid-template-columns:minmax(90px,.85fr) minmax(0,1.15fr)!important;gap:7px!important;font-size:11px!important;line-height:1.35!important}.review-device-row b{color:#66747d!important}.review-device-row span{min-width:0!important;overflow-wrap:anywhere!important}.review-device-row em{font-style:normal!important;font-weight:800!important;color:#2f8a60!important}.device-change-arrow{color:#52616a!important;font-weight:700!important}.review-device-note{margin:8px 0 0!important;padding:6px 8px!important;border-radius:9px!important;font-size:10.5px!important;font-weight:750!important}.review-device-note.unchanged{background:#eef3f5!important;color:#5d6a72!important}.review-device-note.changed{background:#e7f6ed!important;color:#2e7651!important}.review-report-compact{margin-top:12px!important;padding:11px 12px!important;border:1px solid var(--line)!important;border-radius:12px!important;background:#fbfcfd!important}.review-report-compact h3{margin:0 0 6px!important}.review-report-compact>p{margin:5px 0!important}.review-report-meta{display:flex!important;gap:18px!important;flex-wrap:wrap!important;font-size:12px!important}

@media(max-width:1180px){.review-evidence-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:900px){.route-workspace,.compact-workspace-benchmark.route-workspace,.compact-workspace-benchmark.route-workspace[data-route-selected="1"]{height:auto!important;min-height:0!important}.device-photo-field{grid-template-columns:1fr auto!important}}
@media(max-width:720px){.review-evidence-grid{grid-template-columns:1fr!important}.review-photo-tile,.review-device-tile{min-height:0!important}.device-photo-field{grid-template-columns:1fr!important}.device-photo-preview{grid-column:1!important;grid-row:auto!important;width:78px!important;height:64px!important}.device-panel-bottom-actions{align-items:stretch!important}.device-panel-bottom-actions .add-device-button,.device-panel-bottom-actions .device-save-button{flex:1 1 150px!important;margin-left:0!important}.job-last-comment{font-size:11px!important}.job-device-compact-row.has-device-photo{grid-template-columns:40px minmax(0,1fr)!important}.job-device-orient-thumb{width:38px!important;height:38px!important}}


/* v1.2.3.16 — protected catalogue editing + object comments */
.catalog-edit-lock{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:42px;padding:9px 12px;margin:0 0 10px;border:1px solid #d9e0e4;border-radius:11px;background:#f4f6f7;color:#4f5d65}.catalog-edit-lock label{display:inline-flex;align-items:center;gap:8px;margin:0;font-weight:850;cursor:pointer}.catalog-edit-lock input[type="checkbox"]{width:18px;height:18px;margin:0;accent-color:#ef926e}.catalog-edit-lock small{color:#77858d;text-align:right}.catalog-edit-lock.is-enabled{background:#fff7f2;border-color:#f2b093;color:#303a40}.catalog-edit-lock.is-enabled small{color:#6d5a51}
.entity-edit-scope.is-edit-locked input:disabled,.entity-edit-scope.is-edit-locked select:disabled,.entity-edit-scope.is-edit-locked textarea:disabled{opacity:1!important;color:#7c888f!important;background:#f1f3f4!important;border-color:#dce2e5!important;cursor:not-allowed!important}.entity-edit-scope.is-edit-locked button:disabled{opacity:.55!important;cursor:not-allowed!important;filter:grayscale(.25)}.entity-edit-scope.is-edit-locked fieldset{opacity:.84}.entity-edit-scope.is-edit-locked .device-photo-preview,.entity-edit-scope.is-edit-locked .object-existing-photos{opacity:.72}.team-manage-grid.entity-edit-scope>.catalog-edit-lock{grid-column:1/-1}
.object-card-tabs{display:flex;align-items:center;gap:6px;padding:10px 10px 0;border-top:1px solid #eef1f3}.object-card-tabs button{min-height:36px;padding:7px 12px;border:1px solid transparent;border-radius:10px;background:transparent;color:#56636b;font-weight:850;box-shadow:none}.object-card-tabs button:hover{background:#f5f7f8}.object-card-tabs button.active{background:#fff2eb;border-color:#f1a27f;color:#7c4936}.object-comments-tab-count{font-variant-numeric:tabular-nums}
.object-comments-panel{padding:10px}.object-comments-shell{height:clamp(520px,68dvh,780px);min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:10px}.object-comments-scroll{min-height:0;overflow:auto;overscroll-behavior:contain;padding:10px;border:1px solid #dde4e8;border-radius:12px;background:#f7f9fa}.object-comments-empty{min-height:100%;display:grid;place-items:center}.object-comment-card{padding:11px 12px;margin-bottom:9px;border:1px solid #dfe5e8;border-radius:12px;background:#fff}.object-comment-card:last-child{margin-bottom:0}.object-comment-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:7px;color:#4e5d65;font-size:12px}.object-comment-meta b{color:#273239;font-size:13px}.object-comment-meta time{white-space:nowrap;color:#7a878e}.object-comment-body{color:#334148;line-height:1.48;white-space:normal;overflow-wrap:anywhere}.object-comment-photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,120px));gap:8px;margin-top:10px}.object-comment-photos a{display:block;aspect-ratio:4/3;overflow:hidden;border:1px solid #d9e1e5;border-radius:9px;background:#eef2f4}.object-comment-photos img{width:100%;height:100%;object-fit:cover}.object-comment-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.38fr) auto;gap:10px;align-items:end;padding:10px;border:1px solid #dce3e7;border-radius:12px;background:#fff}.object-comment-form label{min-width:0}.object-comment-form textarea{min-height:72px;max-height:180px;resize:vertical}.object-comment-photo-input input[type="file"]{min-width:0;width:100%}.object-comment-actions{display:flex;align-items:end}.object-comment-actions button{white-space:nowrap}
@media(max-width:900px){.object-comment-form{grid-template-columns:1fr 1fr}.object-comment-actions{grid-column:1/-1;justify-content:flex-end}.object-comments-shell{height:66dvh;min-height:460px}}
@media(max-width:720px){.catalog-edit-lock{align-items:flex-start;flex-direction:column;gap:4px}.catalog-edit-lock small{text-align:left}.object-card-tabs{overflow-x:auto}.object-card-tabs button{white-space:nowrap}.object-comments-panel{padding:8px 0}.object-comments-shell{height:70dvh;min-height:430px}.object-comment-meta{align-items:flex-start;flex-direction:column;gap:3px}.object-comment-form{grid-template-columns:1fr}.object-comment-actions{grid-column:auto}.object-comment-actions button{width:100%}.object-comment-photos{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* v1.2.3.17 — physical E2E corrective: deterministic tabs/edit lock + file-backed audit history */
[data-object-edit-panel][hidden],form[data-catalog-edit-form][hidden],form[data-live-object-form][hidden],[data-object-comments-panel][hidden]{display:none!important}
[data-object-edit-lock][hidden]{display:none!important}
.object-card-tabs .object-card-tab.is-active,.object-card-tabs .object-card-tab.active{background:#fff2eb!important;border-color:#f1a27f!important;color:#7c4936!important}
.object-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;margin-left:4px;padding:0 6px;border-radius:999px;background:#edf1f3;color:#607078;font-size:10px;font-weight:850;font-variant-numeric:tabular-nums}.object-card-tab.is-active .object-tab-count{background:#ffe1d2;color:#7c4936}
.catalog-edit-lock{margin:10px 12px 0}.catalog-edit-lock-label{display:inline-flex!important}.catalog-edit-lock-state{color:#77858d;text-align:right;font-size:11px}.catalog-edit-lock.is-enabled .catalog-edit-lock-state{color:#6d5a51}
.entity-edit-scope.is-edit-locked form[data-catalog-edit-form],form.is-edit-locked-form{position:relative}.entity-edit-scope.is-edit-locked form[data-catalog-edit-form] input,.entity-edit-scope.is-edit-locked form[data-catalog-edit-form] select,.entity-edit-scope.is-edit-locked form[data-catalog-edit-form] textarea,form.is-edit-locked-form input,form.is-edit-locked-form select,form.is-edit-locked-form textarea{color:#7c888f!important;background:#f1f3f4!important;border-color:#dce2e5!important;cursor:not-allowed!important}.entity-edit-scope.is-edit-locked form[data-catalog-edit-form] button,form.is-edit-locked-form button{opacity:.55!important;cursor:not-allowed!important;filter:grayscale(.25)}
.entity-edit-scope.is-edit-unlocked form[data-catalog-edit-form]{opacity:1}.team-manage-grid.entity-edit-scope>.catalog-edit-lock{margin:0;grid-column:1/-1}
.audit-history-empty{min-height:88px;display:grid!important;place-items:center;color:var(--muted)}
.timeline[aria-busy="true"]{opacity:.72;transition:opacity .12s}
@media(max-width:720px){.catalog-edit-lock{margin:8px 8px 0}.catalog-edit-lock-state{text-align:left}.object-card-tabs{padding-left:8px;padding-right:8px}.object-tab-count{height:19px;min-width:19px}}

/* v1.2.3.19 executor completion + job/object comments corrective */
[data-object-edit-lock][hidden]{display:none!important}

.job-side-comments-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:start}
.job-side-comments-grid>.panel{min-width:0}
.job-side-comments-grid .job-comments-panel,
.job-side-comments-grid .job-object-comments-panel{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:10px;height:100%}
.job-side-comments-grid .job-object-comments-panel .object-comments-panel{display:block;padding:0}
.job-side-comments-grid .job-object-comments-panel .object-comments-shell{height:100%;min-height:0;grid-template-rows:minmax(0,1fr)}
.job-side-comments-grid .job-object-comments-panel .object-comments-shell-view{grid-template-rows:minmax(0,1fr)}
.job-side-comments-grid .job-comments-scroll,
.job-side-comments-grid .job-object-comments-panel .object-comments-scroll{max-height:360px;min-height:220px;overflow:auto;overscroll-behavior:contain}
.job-object-comments-note{margin:0;font-size:12px}
.job-comments-panel h2,.job-object-comments-panel h2{margin-bottom:0}

.job-completion-panel .photo-columns{align-items:start}
.job-completion-panel .photo-panel{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:8px;align-content:start}
.job-completion-panel .photo-panel h3{margin-bottom:0;font-size:15px}
.job-completion-panel .upload-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end;margin-top:0}
.job-completion-panel .upload-form input[type="file"]{min-width:0;width:100%}
.job-completion-panel .upload-form button{white-space:nowrap}
.completion-form{grid-template-columns:minmax(0,1.2fr) minmax(280px,.92fr)!important;gap:14px!important;align-items:start!important}
.completion-form>label{min-width:0!important;height:auto!important;align-self:start!important}
.completion-form textarea{min-height:190px!important;max-height:420px;resize:vertical}
.completion-form>button{grid-column:1!important;justify-self:start!important;align-self:start!important;min-width:260px!important}
.completion-device-panel{padding:10px 12px!important}
.device-readonly-grid{gap:8px!important}
.device-readonly-grid>label{position:relative;padding-bottom:0!important}
.device-readonly-grid>label input[readonly]{padding-right:44px}
.inline-edit-toggle{position:absolute;right:0;top:27px;min-width:28px!important;width:28px;height:28px;padding:0!important;border-radius:9px!important;font-size:12px!important;line-height:1!important}
.serial-checks{display:grid!important;grid-template-columns:1fr 1fr;gap:10px!important;margin-top:6px}
.serial-checks label{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid #ebddd5;border-radius:11px;background:#fffaf8;font-size:12px;line-height:1.25}
.serial-checks input[type="radio"],
.serial-checks input[type="checkbox"]{width:16px;height:16px;min-width:16px;margin:0;accent-color:#d97b59}
.inventory-mismatch input{margin-top:6px}

@media(max-width:1150px){
  .job-side-comments-grid{grid-template-columns:1fr}
}
@media(max-width:720px){
  .job-side-comments-grid .job-comments-scroll,
  .job-side-comments-grid .job-object-comments-panel .object-comments-scroll{max-height:42vh;min-height:180px}
  .job-completion-panel .upload-form{grid-template-columns:1fr}
  .completion-form{grid-template-columns:1fr!important}
  .completion-form>button{grid-column:1!important;width:100%!important;min-width:0!important}
  .serial-checks{grid-template-columns:1fr!important}
}

/* v1.2.3.20 comments grid + executor completion compaction */
.job-side-comments-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:14px 0 16px;align-items:stretch}
.job-side-comments-grid>.panel{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:12px;min-height:0;overflow:hidden;box-sizing:border-box}
.job-side-comments-grid .job-comments-panel h2,
.job-side-comments-grid .job-object-comments-panel h2{margin:0}
.job-side-comments-grid .job-comments-scroll{height:clamp(220px,28dvh,320px);max-height:none;min-height:220px;overflow:auto;overscroll-behavior:contain;padding-right:6px;border:1px solid #dde4e8;border-radius:12px;background:#f7f9fa}
.job-side-comments-grid .job-comments-scroll .comment{padding:12px 2px;margin:0 12px;border-bottom:1px solid #dfe5e8}
.job-side-comments-grid .job-comments-scroll .comment:first-child{padding-top:14px}
.job-side-comments-grid .job-comments-scroll .comment:last-child{border-bottom:0;padding-bottom:14px}
.job-side-comments-grid .comment-form{display:grid;gap:10px;padding:0;margin:0}
.job-side-comments-grid .comment-form textarea{min-height:110px;max-height:180px;resize:vertical}
.job-side-comments-grid .comment-form button{width:100%}
.job-side-comments-grid .job-object-comments-panel .object-comments-panel{display:grid;grid-template-rows:minmax(0,1fr);padding:0;min-height:0}
.job-side-comments-grid .job-object-comments-panel .object-comments-shell,
.job-side-comments-grid .job-object-comments-panel .object-comments-shell-view{display:grid;grid-template-rows:minmax(0,1fr);height:100%;min-height:0;gap:0}
.job-side-comments-grid .job-object-comments-panel .object-comments-scroll{height:clamp(220px,28dvh,320px);max-height:none;min-height:220px;overflow:auto;overscroll-behavior:contain;padding:12px;border:1px solid #dde4e8;border-radius:12px;background:#f7f9fa}
.job-side-comments-grid .job-object-comments-panel .object-comments-empty{min-height:100%;display:grid;place-items:center;text-align:center}
.job-object-comments-note{margin:0;color:#77848c;font-size:12px;line-height:1.45}

.job-completion-panel .photo-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:stretch}
.job-completion-panel .photo-panel{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:8px;padding:12px;border-radius:13px}
.job-completion-panel .photo-grid{min-height:0}
.job-completion-panel .upload-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end;padding:8px 10px;margin-top:0}
.job-completion-panel .upload-form button{min-width:96px}

.completion-form{display:grid!important;grid-template-columns:minmax(0,1.08fr) minmax(330px,.92fr)!important;gap:16px!important;align-items:start!important;margin-top:14px!important}
.completion-main-col{display:grid;grid-template-rows:auto auto;gap:12px;align-content:start;min-width:0}
.completion-main-col>label{min-width:0}
.completion-main-col textarea{min-height:150px!important;max-height:320px;resize:vertical}
.completion-main-col>button{justify-self:start;align-self:start;min-width:260px;max-width:360px}
.completion-main-col select{width:100%}
.completion-device-panel{height:100%;padding:12px 14px!important}
.device-readonly-grid{gap:8px!important}
.device-readonly-grid>label{display:grid;gap:6px;position:relative}
.device-readonly-grid>div[hidden]{display:none!important}
.inline-edit-toggle{position:absolute;right:0;top:25px;min-width:26px!important;width:26px;height:26px;padding:0!important;border-radius:8px!important;font-size:11px!important;line-height:1!important}
.device-readonly-grid>label input[readonly]{padding-right:38px}
.serial-checks{display:grid!important;grid-template-columns:1fr 1fr;gap:8px!important;margin-top:6px}
.serial-checks label{display:flex;align-items:center;gap:7px;padding:8px 10px;border:1px solid #edd7cc;border-radius:10px;background:#fffaf7;font-size:12px;line-height:1.25}
.serial-checks input[type="radio"],.serial-checks input[type="checkbox"]{width:14px;height:14px;min-width:14px;margin:0;accent-color:#d97b59}
.inventory-mismatch{margin-top:6px}
.inventory-mismatch input{width:100%}

@media(max-width:1150px){
  .job-side-comments-grid{grid-template-columns:1fr!important}
  .job-completion-panel .photo-columns{grid-template-columns:1fr 1fr}
  .completion-form{grid-template-columns:1fr!important}
  .completion-main-col>button{max-width:none;width:100%}
}
@media(max-width:720px){
  .job-side-comments-grid .job-comments-scroll,
  .job-side-comments-grid .job-object-comments-panel .object-comments-scroll{height:40vh;min-height:180px}
  .job-completion-panel .photo-columns{grid-template-columns:1fr}
  .job-completion-panel .upload-form{grid-template-columns:1fr}
  .serial-checks{grid-template-columns:1fr!important}
}

/* v1.2.3.21 final corrective for executor comments + completion layout */
.job-side-comments-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:stretch;margin:16px 0}
.job-side-comments-grid>.panel{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:12px;min-height:500px;box-sizing:border-box;overflow:hidden}
.job-side-comments-grid .job-comments-scroll,
.job-side-comments-grid .job-object-comments-panel .object-comments-scroll{height:100%!important;max-height:none!important;min-height:0!important;overflow:auto;overscroll-behavior:contain;padding:12px;border:1px solid #dde4e8;border-radius:12px;background:#f7f9fa}
.job-side-comments-grid .job-comments-scroll .comment,
.job-side-comments-grid .job-object-comments-panel .object-comment-card{margin:0 0 12px;padding:12px;border:1px solid #e2e8eb;border-radius:12px;background:#fff}
.job-side-comments-grid .job-comments-scroll .comment:last-child,
.job-side-comments-grid .job-object-comments-panel .object-comment-card:last-child{margin-bottom:0}
.job-side-comments-grid .job-comments-scroll .comment>div,
.job-side-comments-grid .job-object-comments-panel .object-comment-meta{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.job-side-comments-grid .job-comments-scroll .comment p{margin:8px 0 0}
.job-side-comments-grid .comment-form{display:grid;grid-template-rows:auto auto;gap:10px;align-content:end}
.job-side-comments-grid .comment-form textarea{min-height:110px;max-height:180px;resize:vertical}
.job-side-comments-grid .comment-form button{width:100%}
.job-side-comments-grid .job-object-comments-panel .object-comments-panel{display:block;min-height:0;height:100%}
.job-side-comments-grid .job-object-comments-panel .object-comments-shell,
.job-side-comments-grid .job-object-comments-panel .object-comments-shell-view{display:grid;grid-template-rows:minmax(0,1fr);height:100%;min-height:0}
.job-side-comments-grid .job-object-comments-panel .object-comment-photos{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.job-side-comments-grid .job-object-comments-panel .object-comment-photos a{display:block;width:118px;height:86px;border-radius:10px;overflow:hidden;border:1px solid #dce3e7;background:#fff}
.job-side-comments-grid .job-object-comments-panel .object-comment-photos img{width:100%;height:100%;object-fit:cover}
.job-object-comments-note{margin:0;color:#77848c;font-size:12px;line-height:1.45}

.job-completion-panel{display:grid!important;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:14px 16px;align-items:start}
.job-completion-panel>h2,
.job-completion-panel>.requirements-summary,
.job-completion-panel>.submitted-report,
.job-completion-panel>.flash{grid-column:1/-1}
.job-completion-panel>.photo-columns{grid-column:1;display:grid!important;grid-template-columns:1fr!important;gap:12px;align-self:start}
.job-completion-panel .photo-panel{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:8px;padding:12px;border-radius:13px;align-content:start}
.job-completion-panel .photo-grid{min-height:0}
.job-completion-panel .upload-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end;padding:8px 10px;margin-top:0}
.job-completion-panel .upload-form button{min-width:96px}
.job-completion-panel .completion-form{display:contents!important}
.job-completion-panel .completion-main-col{grid-column:1;display:grid;grid-template-rows:auto auto auto;gap:12px;align-content:start;min-width:0}
.job-completion-panel .completion-main-col textarea{min-height:180px!important;max-height:360px;resize:vertical}
.job-completion-panel .completion-main-col>button{justify-self:start;min-width:260px;max-width:360px}
.job-completion-panel .completion-device-panel{grid-column:2;align-self:start;height:auto;min-height:100%;padding:12px 14px!important}
.job-completion-panel .device-readonly-grid{display:grid;grid-template-columns:1fr;gap:8px!important}
.job-completion-panel .device-readonly-grid>label{display:grid;gap:6px;position:relative}
.job-completion-panel .device-readonly-grid>div{margin-top:-2px}
.job-completion-panel .device-readonly-grid>div[hidden]{display:none!important}
.job-completion-panel .device-readonly-grid>div input{width:100%}
.job-completion-panel .inline-edit-toggle{position:absolute;right:8px;top:31px;z-index:2;min-width:24px!important;width:24px;height:24px;padding:0!important;border-radius:8px!important;font-size:11px!important;line-height:1!important;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.job-completion-panel .inline-edit-toggle.is-active{background:#2f3a44;color:#fff;border-color:#2f3a44}
.job-completion-panel .device-readonly-grid>label input[readonly]{padding-right:34px}
.job-completion-panel .serial-checks{display:grid!important;grid-template-columns:1fr 1fr;gap:8px!important;margin-top:6px}
.job-completion-panel .serial-checks label{display:flex;align-items:center;gap:7px;padding:8px 10px;border:1px solid #edd7cc;border-radius:10px;background:#fffaf7;font-size:12px;line-height:1.25;min-height:48px}
.job-completion-panel .serial-checks input[type="radio"],.job-completion-panel .serial-checks input[type="checkbox"]{width:14px;height:14px;min-width:14px;margin:0;accent-color:#d97b59}
.job-completion-panel .inventory-mismatch{margin-top:6px}
.job-completion-panel .inventory-mismatch input{width:100%}

@media(max-width:1150px){
  .job-side-comments-grid{grid-template-columns:1fr!important}
  .job-side-comments-grid>.panel{min-height:420px}
  .job-completion-panel{grid-template-columns:1fr!important}
  .job-completion-panel>.photo-columns,
  .job-completion-panel .completion-main-col,
  .job-completion-panel .completion-device-panel{grid-column:1!important}
  .job-completion-panel .completion-main-col>button{max-width:none;width:100%}
}
@media(max-width:720px){
  .job-completion-panel .upload-form{grid-template-columns:1fr}
  .job-completion-panel .serial-checks{grid-template-columns:1fr!important}
}

/* v1.2.3.22 executor grid corrective */
.job-side-comments-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:stretch}
.job-side-comments-grid>.panel{display:grid!important;grid-template-rows:auto minmax(0,1fr) auto;gap:12px;height:490px;min-height:490px;overflow:hidden}
.job-side-comments-grid .job-comments-scroll,.job-side-comments-grid .object-job-comments-scroll{height:100%;min-height:0;overflow:auto;padding:12px;border:1px solid #dde4e8;border-radius:12px;background:#f7f9fa}
.job-side-comments-grid .job-comments-scroll .comment,.job-side-comments-grid .object-job-comments-scroll .object-comment-card{margin:0 0 12px;padding:12px;border:1px solid #e2e8eb;border-radius:12px;background:#fff}
.job-side-comments-grid .job-comments-scroll .comment:last-child,.job-side-comments-grid .object-job-comments-scroll .object-comment-card:last-child{margin-bottom:0}
.job-side-comments-grid .job-comments-scroll .comment>div,.job-side-comments-grid .object-comment-meta{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.job-side-comments-grid .comment-form{display:grid;grid-template-rows:auto auto;gap:10px}
.job-side-comments-grid .comment-form textarea{min-height:110px;max-height:170px;resize:vertical}
.job-side-comments-grid .comment-form button{width:100%}
.job-side-comments-grid .job-object-comments-note{margin:0;color:#77848c;font-size:12px;line-height:1.45}

.job-completion-panel{display:grid!important;grid-template-columns:minmax(0,1.12fr) minmax(380px,.88fr);gap:14px 16px;align-items:start}
.job-completion-panel>h2,.job-completion-panel>.requirements-summary,.job-completion-panel>.submitted-report,.job-completion-panel>.flash{grid-column:1/-1}
.job-completion-panel>.photo-columns{grid-column:1;grid-row:3;display:grid!important;grid-template-columns:1fr!important;gap:12px;align-self:start}
.job-completion-panel>.completion-main-col{grid-column:1;grid-row:4;display:grid;grid-template-rows:auto auto auto;gap:12px;align-content:start;min-width:0}
.job-completion-panel>.completion-device-panel{grid-column:2;grid-row:3 / span 2;align-self:start;min-height:100%;padding:12px 14px!important}
.job-completion-panel .photo-panel{padding:12px;border-radius:13px}
.job-completion-panel .upload-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end;padding:8px 10px}
.job-completion-panel .completion-main-col textarea{min-height:180px!important;max-height:360px;resize:vertical}
.job-completion-panel .completion-main-col>button{justify-self:start;min-width:260px;max-width:360px}
.job-completion-panel .device-tab-strip{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 12px}
.job-completion-panel .device-tab-button{border:1px solid #d7dee3;background:#fff;border-radius:999px;padding:7px 12px;font-size:13px;font-weight:700;color:#2f3a44;cursor:pointer}
.job-completion-panel .device-tab-button.is-active{background:#2f3a44;color:#fff;border-color:#2f3a44}
.job-completion-panel .device-tab-panels{min-height:0}
.job-completion-panel .device-tab-panel{display:block}
.job-completion-panel .device-readonly-grid{display:grid;grid-template-columns:1fr;gap:8px!important}
.job-completion-panel .device-readonly-grid>label{display:grid;gap:6px;position:relative}
.job-completion-panel .device-readonly-grid>div{margin-top:-2px}
.job-completion-panel .device-readonly-grid>div[hidden]{display:none!important}
.job-completion-panel .device-readonly-grid>div input{width:100%}
.job-completion-panel .inline-edit-toggle{position:absolute;right:8px;top:31px;z-index:2;min-width:24px!important;width:24px;height:24px;padding:0!important;border-radius:8px!important;font-size:11px!important;line-height:1!important;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.job-completion-panel .inline-edit-toggle.is-active{background:#2f3a44;color:#fff;border-color:#2f3a44}
.job-completion-panel .device-readonly-grid>label input[readonly]{padding-right:34px}
.job-completion-panel .serial-checks{display:grid!important;grid-template-columns:1fr 1fr;gap:8px!important;margin-top:6px}
.job-completion-panel .serial-checks label{display:flex;align-items:center;gap:7px;padding:8px 10px;border:1px solid #edd7cc;border-radius:10px;background:#fffaf7;font-size:12px;line-height:1.25;min-height:48px}
.job-completion-panel .serial-checks input[type="radio"],.job-completion-panel .serial-checks input[type="checkbox"]{width:14px;height:14px;min-width:14px;margin:0;accent-color:#d97b59}
.job-completion-panel .inventory-mismatch{margin-top:6px}
.job-completion-panel .inventory-mismatch input{width:100%}

@media(max-width:1150px){
  .job-side-comments-grid{grid-template-columns:1fr!important}
  .job-side-comments-grid>.panel{height:auto;min-height:420px}
  .job-completion-panel{grid-template-columns:1fr!important}
  .job-completion-panel>.photo-columns{grid-column:1;grid-row:auto}
  .job-completion-panel>.completion-main-col{grid-column:1;grid-row:auto}
  .job-completion-panel>.completion-device-panel{grid-column:1;grid-row:auto;min-height:auto}
  .job-completion-panel .completion-main-col>button{max-width:none;width:100%}
}
@media(max-width:720px){
  .job-completion-panel .upload-form{grid-template-columns:1fr}
  .job-completion-panel .serial-checks{grid-template-columns:1fr!important}
}

/* v1.2.3.23 — executor completion hard layout + equal comment panels */
.job-side-comments-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:stretch!important;margin:16px 0}
.job-side-comments-grid>.panel{display:grid!important;grid-template-rows:auto 280px 148px;gap:12px;height:500px!important;min-height:500px!important;max-height:500px!important;overflow:hidden!important;box-sizing:border-box}
.job-side-comments-grid .job-comments-scroll,.job-side-comments-grid .object-job-comments-scroll{height:280px!important;min-height:280px!important;max-height:280px!important;overflow:auto!important;overscroll-behavior:contain;padding:12px;border:1px solid #dde4e8;border-radius:12px;background:#f7f9fa;box-sizing:border-box}
.job-side-comments-grid .comment-form{display:grid!important;grid-template-rows:auto 1fr;gap:9px;min-height:0;align-self:stretch}
.job-side-comments-grid .comment-form label{display:grid;grid-template-rows:auto minmax(0,1fr);gap:6px;min-height:0}
.job-side-comments-grid .comment-form textarea{height:90px!important;min-height:90px!important;max-height:90px!important;resize:none}
.job-side-comments-grid .comment-form button{width:100%;min-height:36px}
.job-side-comments-grid .job-object-comments-note{align-self:end;margin:0;padding:0;color:#77848c;font-size:12px;line-height:1.45}
.job-side-comments-grid .job-comments-scroll .comment,.job-side-comments-grid .object-job-comments-scroll .object-comment-card{margin:0 0 10px;padding:11px 12px;border:1px solid #e2e8eb;border-radius:11px;background:#fff}
.job-side-comments-grid .job-comments-scroll .comment:last-child,.job-side-comments-grid .object-job-comments-scroll .object-comment-card:last-child{margin-bottom:0}
.job-side-comments-grid .object-comment-photos{display:flex;gap:8px;flex-wrap:wrap;margin-top:9px}
.job-side-comments-grid .object-comment-photos a{display:block;width:108px;height:78px;border:1px solid #dce3e7;border-radius:9px;overflow:hidden;background:#fff}
.job-side-comments-grid .object-comment-photos img{width:100%;height:100%;object-fit:cover}

.job-completion-panel{display:block!important}
.job-completion-panel .requirements-summary{margin-bottom:14px}
.completion-layout-shell{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);gap:16px;align-items:start;width:100%}
.completion-left-col{display:grid;grid-template-columns:1fr;gap:12px;min-width:0;align-content:start}
.completion-photo-stack{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;margin:0!important}
.completion-photo-stack .photo-panel{display:grid;grid-template-rows:auto auto auto;gap:8px;align-content:start;padding:12px;border-radius:13px;min-width:0}
.completion-photo-stack .photo-panel h3{margin:0}
.completion-photo-stack .photo-grid{min-height:0}
.completion-photo-stack .upload-form{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:8px;align-items:center;margin:0!important;padding:8px 10px}
.completion-photo-stack .upload-form input[type="file"]{min-width:0;width:100%}
.completion-photo-stack .upload-form button{min-width:96px}
.completion-submit-form{display:block!important;margin:0!important;min-width:0}
.completion-submit-form .completion-main-col{display:grid;grid-template-columns:1fr;gap:12px;align-content:start;min-width:0}
.completion-submit-form .completion-main-col>label{display:grid;gap:6px;min-width:0}
.completion-submit-form .completion-main-col textarea{height:180px!important;min-height:180px!important;max-height:320px!important;resize:vertical}
.completion-submit-form .completion-main-col>button{justify-self:start;min-width:260px;max-width:360px}
.completion-device-panel{margin:0!important;align-self:start!important;height:auto!important;min-height:0!important;padding:12px 14px!important;border:1px solid var(--line);border-radius:14px;background:#fbfcfd;box-sizing:border-box}
.completion-device-panel legend{padding:0 6px;font-weight:850}
.device-tab-strip{display:flex;flex-wrap:wrap;gap:8px;margin:2px 0 12px}
.device-tab-button{border:1px solid #d7dee3;background:#fff;border-radius:999px;padding:7px 12px;font-size:12px;font-weight:800;color:#2f3a44;cursor:pointer;box-shadow:none}
.device-tab-button:hover{background:#f5f7f8}
.device-tab-button.is-active{background:#2f3a44;color:#fff;border-color:#2f3a44}
.device-tab-panel[hidden]{display:none!important}
.device-edit-grid{display:grid;grid-template-columns:1fr;gap:9px;min-width:0}
.device-edit-grid>label{display:grid;gap:6px;min-width:0}
.device-edit-grid input{width:100%;min-width:0;box-sizing:border-box}
.device-edit-grid small{font-size:10px;color:var(--muted)}
.device-edit-grid .serial-checks{display:grid!important;grid-template-columns:1fr 1fr;gap:8px!important;margin-top:2px}
.device-edit-grid .serial-checks label{display:flex;align-items:center;gap:7px;padding:8px 10px;border:1px solid #edd7cc;border-radius:10px;background:#fffaf7;font-size:11px;line-height:1.25;min-height:44px;box-sizing:border-box}
.device-edit-grid .serial-checks input[type="radio"]{width:14px;height:14px;min-width:14px;margin:0;accent-color:#d97b59}
.device-edit-grid .inventory-mismatch{margin-top:2px}
.device-edit-grid .inventory-mismatch[hidden]{display:none!important}

@media(max-width:1150px){
  .job-side-comments-grid{grid-template-columns:1fr!important}
  .job-side-comments-grid>.panel{height:500px!important;min-height:500px!important;max-height:500px!important}
  .completion-layout-shell{grid-template-columns:1fr}
  .completion-device-panel{grid-row:auto}
  .completion-submit-form .completion-main-col>button{width:100%;max-width:none}
}
@media(max-width:720px){
  .job-side-comments-grid>.panel{grid-template-rows:auto 240px 138px;height:445px!important;min-height:445px!important;max-height:445px!important}
  .job-side-comments-grid .job-comments-scroll,.job-side-comments-grid .object-job-comments-scroll{height:240px!important;min-height:240px!important;max-height:240px!important}
  .completion-photo-stack .upload-form{grid-template-columns:1fr!important}
  .device-edit-grid .serial-checks{grid-template-columns:1fr!important}
}
.job-side-comments-grid>.panel+.panel{margin-top:0!important}

/* v1.2.3.24 — executor readonly device fields + unified object device cards + review controls */
.executor-device-field{position:relative;display:block;min-width:0}
.executor-device-field input{width:100%;padding-right:38px!important;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}
.executor-device-field input[readonly]{background:#f2f4f5!important;color:#4d5961!important;cursor:default}
.executor-device-field.is-editing input{background:#fff!important;border-color:#d9a58f!important;box-shadow:0 0 0 2px rgba(217,123,89,.08)}
.device-field-pencil{position:absolute;right:7px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:25px;height:25px;min-width:25px;padding:0;border:1px solid #d7dee3;border-radius:8px;background:#fff;color:#46525a;font-size:12px;line-height:1;cursor:pointer;z-index:2}
.device-field-pencil:hover,.device-field-pencil.is-active{border-color:#d98a68;background:#fff7f3;color:#9b5437}
.device-field-pencil:focus-visible{outline:2px solid rgba(217,123,89,.32);outline-offset:2px}
.completion-device-panel .device-edit-grid>label{display:grid;gap:6px}

.management-catalog-panel#objects .primary-device-card{padding:0!important;overflow:hidden!important;border:1px solid var(--line)!important;border-radius:13px!important;background:#fff!important}
.management-catalog-panel#objects .primary-device-card>summary{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;list-style:none!important;padding:9px 11px!important;margin:0!important;cursor:pointer!important;background:#fff!important}
.management-catalog-panel#objects .primary-device-card>summary::-webkit-details-marker{display:none!important}
.management-catalog-panel#objects .primary-device-card>summary>span{display:grid!important;gap:2px!important;min-width:0!important;flex:1!important}
.management-catalog-panel#objects .primary-device-card>.device-grid{padding:10px 11px 12px!important;border-top:1px solid var(--line)!important}
.management-catalog-panel#objects .primary-device-card .device-summary-inline{margin:0!important}
.management-catalog-panel#objects .object-device-panel>.additional-device-list{display:grid;gap:10px;margin-top:10px}
.management-catalog-panel#objects .object-device-panel>.primary-device-card+.additional-device-list{margin-top:10px}

.review-device-row.has-change{background:#fff9f5;border:1px solid #f1d5c8;border-radius:10px;padding:8px 10px}
.review-device-value{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}
.review-device-value>span{min-width:0;overflow-wrap:anywhere}
.review-device-discard-form{margin:0;flex:0 0 auto}
.review-device-discard-button{padding:5px 8px!important;font-size:11px!important;white-space:nowrap}
.review-device-footer{display:grid;gap:10px;margin-top:10px}
.review-device-discard-all{justify-self:start}
.review-device-note{margin:0}

@media(max-width:720px){
  .review-device-value{align-items:flex-start;flex-direction:column}
  .review-device-discard-button{width:100%}
  .review-device-discard-form{width:100%}
}
.management-catalog-panel#objects .primary-device-card{display:block!important;gap:0!important}

/* v1.2.3.25 password reveal removal + multi-device review */
.password-toggle{display:none!important}
.password-field input{padding-right:12px!important}
input[type="password"]::-ms-reveal,
input[type="password"]::-ms-clear{display:none!important;width:0;height:0}

.review-evidence-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))!important;align-items:stretch!important}
.review-device-tile{display:grid!important;grid-template-rows:auto minmax(0,1fr) auto!important}

/* v1.2.3.29 targeted object-card UX corrective: text fallback + always-available Yandex Maps action. */
.management-catalog-panel#objects .entity-thumb.object-thumb-name{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-sizing:border-box!important;
  padding:3px 3px!important;
  overflow:hidden!important;
  text-align:center!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:break-word!important;
  line-height:1.03!important;
  font-weight:850!important;
  letter-spacing:-.025em!important;
  color:#4f5d65!important;
  background:linear-gradient(145deg,#f5f7f8,#edf1f3)!important;
}
.management-catalog-panel#objects .entity-thumb.object-thumb-name.is-short{font-size:9.5px!important;line-height:1.08!important}
.management-catalog-panel#objects .entity-thumb.object-thumb-name.is-medium{font-size:8.5px!important}
.management-catalog-panel#objects .entity-thumb.object-thumb-name.is-long{font-size:7.5px!important}
.management-catalog-panel#objects .entity-thumb.object-thumb-name.is-xlong{font-size:6.5px!important;line-height:1!important;letter-spacing:-.04em!important}
.management-catalog-panel#objects .object-map-summary-action{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 auto!important;
  min-height:30px!important;
  padding:5px 9px!important;
  border:1px solid #bfd6e4!important;
  border-radius:999px!important;
  background:#f6fbfe!important;
  color:#2d6b92!important;
  font-size:10.5px!important;
  line-height:1.1!important;
  font-weight:800!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  cursor:pointer!important;
  box-shadow:none!important;
}
.management-catalog-panel#objects .object-map-summary-action:hover{
  border-color:#91bdd5!important;
  background:#edf8fd!important;
  color:#245978!important;
  text-decoration:none!important;
  transform:none!important;
}
.management-catalog-panel#objects .entity-actions.object-save-only{justify-content:flex-end!important}
@media(max-width:720px){
  .management-catalog-panel#objects .entity-thumb.object-thumb-name{padding:2px!important}
  .management-catalog-panel#objects .entity-thumb.object-thumb-name.is-short{font-size:8.8px!important}
  .management-catalog-panel#objects .entity-thumb.object-thumb-name.is-medium{font-size:7.8px!important}
  .management-catalog-panel#objects .entity-thumb.object-thumb-name.is-long{font-size:6.9px!important}
  .management-catalog-panel#objects .entity-thumb.object-thumb-name.is-xlong{font-size:6px!important}
  .management-catalog-panel#objects .object-map-summary-action{min-height:32px!important;padding:6px 9px!important;font-size:10px!important}
}


/* ======================================================================
   v1.2.3.30 — mobile map/media/team/filter/PWA corrective
   ====================================================================== */
/* Completion evidence: the visible control owns a small explicit source chooser.
   Native file inputs stay focusable/clickable off-screen so iOS does not lose the
   user-gesture needed to open Camera / Photo Library. */
.job-media-picker{position:relative;display:grid;gap:7px;align-items:start}
.job-media-native-input{position:absolute!important;width:1px!important;height:1px!important;min-width:1px!important;min-height:1px!important;padding:0!important;margin:0!important;opacity:.001!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;pointer-events:none!important}
.job-media-add-button{width:100%;min-height:38px!important;justify-content:center!important;white-space:nowrap!important}
.job-media-choice{position:absolute;z-index:850;left:0;right:0;top:calc(100% + 6px);display:grid;gap:5px;padding:7px;border:1px solid #dce3e7;border-radius:11px;background:#fff;box-shadow:0 14px 34px rgba(31,39,44,.17)}
.job-media-choice[hidden]{display:none!important}
.job-media-choice button{min-height:38px!important;padding:7px 10px!important;background:#fff!important;color:var(--ink)!important;border-color:#dce3e7!important;text-align:left!important;justify-content:flex-start!important}
.job-media-choice button:hover{background:#f7f9fa!important;border-color:#cfd9de!important;transform:none!important}
.job-media-submit-fallback{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;opacity:0!important;pointer-events:none!important}
.job-media-tile{display:grid;place-items:center;overflow:hidden;border:1px solid #dce3e7;border-radius:10px;background:#eef2f4;aspect-ratio:4/3;min-width:0}
.job-media-tile img,.job-media-tile video{width:100%!important;height:100%!important;display:block!important;object-fit:cover!important;background:#20272d}
.job-video-tile video{object-fit:contain!important}
.review-evidence-grid .job-media-tile{aspect-ratio:4/3;width:100%}

/* Seven controls now share the established desktop filter row. */
@media(min-width:1151px){
  .filters-jobs-benchmark{grid-template-columns:minmax(215px,1.24fr) minmax(150px,.82fr) minmax(195px,1.03fr) minmax(122px,.66fr) minmax(138px,.72fr) minmax(145px,.76fr) 112px!important}
}

@media(max-width:720px){
  /* iOS Safari auto-zooms focused fields below 16px. Keep normal pinch zoom enabled;
     only form-control typography is raised to the non-auto-zoom threshold. */
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),select,textarea,.smart-select-search{font-size:16px!important}

  /* Extra-info devices are a vertical stack. Every device remains compact, while
     the wide two-line data lane can be panned horizontally instead of clipping. */
  .job-device-list-compact{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:8px!important;width:100%!important;overflow:visible!important}
  .job-device-compact-row{display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto!important;width:100%!important;max-width:100%!important;max-height:none!important;gap:6px!important;overflow:visible!important;padding:7px!important}
  .job-device-compact-row.has-device-photo{grid-template-columns:42px minmax(0,1fr)!important;align-items:center!important}
  .job-device-orient-thumb{width:40px!important;height:40px!important;min-width:40px!important;align-self:center!important}
  .job-device-compact-text{display:block!important;min-width:0!important;max-width:100%!important;overflow-x:auto!important;overflow-y:hidden!important;overscroll-behavior-x:contain!important;-webkit-overflow-scrolling:touch!important;scrollbar-width:thin!important;padding-bottom:3px!important}
  .job-device-compact-line{width:max-content!important;min-width:100%!important;max-width:none!important;overflow:visible!important;white-space:nowrap!important;scrollbar-width:none!important}
  .job-device-compact-line span,.job-device-compact-line b{max-width:none!important;overflow:visible!important;text-overflow:clip!important;white-space:nowrap!important}
  .job-media-choice{position:fixed!important;left:12px!important;right:12px!important;top:auto!important;bottom:max(12px,env(safe-area-inset-bottom))!important;z-index:1800!important;padding:9px!important;border-radius:14px!important;box-shadow:0 20px 60px rgba(31,39,44,.26)!important}
  .job-media-choice button{min-height:46px!important;font-size:16px!important;text-align:center!important;justify-content:center!important}
}
/* Media tiles deliberately reuse the established photo-card geometry rather than
   introducing a new visual language. */
.photo-grid .job-media-tile{display:grid!important;grid-template-rows:auto auto!important;gap:4px!important;place-items:stretch!important;aspect-ratio:auto!important;min-width:0!important;padding:6px!important;border:1px solid var(--line)!important;border-radius:12px!important;background:#fff!important;overflow:hidden!important;text-decoration:none!important}
.photo-grid .job-media-tile img,.photo-grid .job-media-tile video{display:block!important;width:100%!important;height:auto!important;min-height:82px!important;max-height:140px!important;aspect-ratio:4/3!important;object-fit:cover!important;border:1px solid var(--line)!important;border-radius:9px!important;background:#20272d!important}
.photo-grid .job-video-tile video{object-fit:contain!important}
.photo-grid .job-media-tile small{display:block!important;min-width:0!important;max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;font-size:10px!important;color:var(--muted)!important}
.review-photo-tile .photo-grid .job-media-tile{width:94px!important;max-width:94px!important;flex:0 0 94px!important}
.review-photo-tile .photo-grid .job-media-tile img,.review-photo-tile .photo-grid .job-media-tile video{width:80px!important;height:62px!important;min-height:62px!important;max-height:62px!important}
.review-photo-tile .photo-grid .job-media-tile small{max-width:80px!important;font-size:9px!important}

/* ======================================================================
   v1.2.3.31 — completion media/review/mobile focus corrective
   ====================================================================== */
/* All job filter controls use one typography contract; mobile stays at 16px
   to prevent iOS focus auto-zoom. */
.filters-jobs-benchmark input[type="search"],
.filters-jobs-benchmark .smart-select-button,
.filters-jobs-benchmark .smart-select-label,
.filters-jobs-benchmark .smart-select-search{
  font-family:inherit!important;font-size:12.5px!important;font-weight:650!important;line-height:1.25!important;letter-spacing:0!important;
}
.filters-jobs-benchmark .smart-select-button{align-items:center!important}

/* Pencil unlock remains compact and stable; global button min-height must not
   move the icon or steal taps from the adjacent input. */
.executor-device-field input{padding-right:46px!important}
.device-field-pencil{
  width:30px!important;height:30px!important;min-width:30px!important;min-height:30px!important;max-width:30px!important;max-height:30px!important;
  right:7px!important;top:50%!important;bottom:auto!important;margin:0!important;padding:0!important;transform:translateY(-50%)!important;line-height:1!important;
}
.executor-device-field.is-editing{z-index:3}

/* Job evidence uses a mixed photo/video viewer and an explicit download action. */
.job-media-item{display:grid;gap:5px;min-width:0;align-content:start}
.photo-grid .job-media-item{min-width:0}
.job-media-download{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:4px 8px;border:1px solid #d9e1e5;border-radius:8px;background:#fff;color:#356f90;font-size:10.5px;font-weight:800;text-decoration:none;white-space:nowrap}
.job-media-download:hover{background:#f5fafc;border-color:#b9d1dd;text-decoration:none}
.review-photo-tile .job-media-item{width:94px;max-width:94px;flex:0 0 94px}
.review-photo-tile .job-media-download{width:94px;font-size:9.5px;min-height:26px;padding:3px 5px}
.media-viewer-open{overflow:hidden!important}
.job-media-viewer-overlay .job-media-viewer-figure{margin:0;display:grid;place-items:center;gap:10px;max-width:94vw;max-height:92vh}
.job-media-viewer-overlay .job-media-viewer-figure>img,
.job-media-viewer-overlay .job-media-viewer-figure>video{display:block;max-width:min(1180px,92vw)!important;max-height:82vh!important;width:auto!important;height:auto!important;object-fit:contain!important;border-radius:12px;background:#111820;box-shadow:0 22px 75px rgba(0,0,0,.45)}
.job-media-viewer-overlay .job-media-viewer-figure>[hidden]{display:none!important}
.job-media-viewer-overlay figcaption{display:flex;align-items:center;justify-content:center;gap:10px;min-height:38px}
.job-media-viewer-overlay .job-media-viewer-download{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:6px 13px;border-radius:999px;background:rgba(255,255,255,.96);color:#255f82;font-size:12px;font-weight:850;text-decoration:none;box-shadow:0 8px 28px rgba(0,0,0,.22)}

/* Multi-device completion report: one device at a time, same accepted tab language
   as the executor form. */
.submitted-report-multidevice .submitted-device-tabs{margin-top:12px!important}
.submitted-device-panels{display:grid;min-width:0}
.submitted-device-panels .submitted-device-block[hidden]{display:none!important}
.submitted-device-panels .submitted-device-block{margin-top:8px!important;border-top:1px solid #eef1f3;padding-top:10px}
.review-device-tabs{grid-column:1/-1!important;margin:4px 0 0!important}
.review-device-panels{grid-column:1/-1!important;display:grid!important;min-width:0!important}
.review-device-panels .review-device-tile{width:100%!important;min-width:0!important}
.review-device-panels .review-device-tile[hidden]{display:none!important}

@media(max-width:720px){
  .filters-jobs-benchmark input[type="search"],
  .filters-jobs-benchmark .smart-select-button,
  .filters-jobs-benchmark .smart-select-label,
  .filters-jobs-benchmark .smart-select-search{font-size:16px!important;font-weight:500!important;line-height:1.25!important}
  .job-media-viewer-overlay{padding:10px!important}
  .job-media-viewer-overlay .job-media-viewer-figure>img,
  .job-media-viewer-overlay .job-media-viewer-figure>video{max-width:94vw!important;max-height:76vh!important;border-radius:10px!important}
  .job-media-viewer-overlay figcaption{position:fixed;left:50%;bottom:max(12px,env(safe-area-inset-bottom));transform:translateX(-50%);gap:8px;z-index:1002}
  .job-media-viewer-overlay .image-viewer-counter{position:static!important;left:auto!important;bottom:auto!important;transform:none!important}
  .job-media-download{min-height:32px;font-size:11px}
  .review-device-value{align-items:flex-start!important;flex-direction:column!important}
  .review-device-discard-form{width:100%!important}.review-device-discard-button{width:100%!important;justify-content:center!important}
}

/* SD-BLK-UI32A4D8 — v1.2.3.32 mobile/filter/media corrective. */
.filters-jobs-benchmark .smart-select-option{font-size:14.5px!important;font-weight:650!important;line-height:1.35!important}
.job-comment-form textarea{display:block!important;width:100%!important;margin:0 0 14px!important}
.job-comment-form button,.job-comment-form .secondary,.job-comment-form .button{position:relative!important;display:flex!important;margin:0!important}
.job-media-choice{position:fixed!important;left:50%!important;right:auto!important;top:50%!important;bottom:auto!important;transform:translate(-50%,-50%)!important;width:min(420px,calc(100vw - 28px))!important;z-index:2200!important;padding:14px!important;border-radius:16px!important;box-shadow:0 18px 52px rgba(22,30,38,.24)!important}
.job-media-choice button{justify-content:center!important;align-items:center!important;text-align:center!important;min-height:54px!important;font-size:17px!important;font-weight:750!important}
.job-media-choice button span[aria-hidden="true"]{display:inline-flex!important;align-items:center!important;justify-content:center!important;margin-right:8px!important}
.job-media-viewer-overlay img,.job-media-viewer-overlay video,.job-media-item img,.job-media-item video,.job-media-grid img,.job-media-grid video,.review-media-grid img,.review-media-grid video{image-orientation:from-image!important}
.submitted-report-multidevice .device-tab-strip,.job-completion-panel .device-tab-strip,.submitted-device-tabs,.review-device-tabs{overflow-x:auto!important;overflow-y:hidden!important;flex-wrap:nowrap!important;padding-bottom:4px!important;-webkit-overflow-scrolling:touch!important;touch-action:pan-x!important}
.submitted-report-multidevice .device-tab-button,.job-completion-panel .device-tab-button,.review-device-tabs .device-tab-button{flex:0 0 auto!important}
.job-device-compact-text{display:block!important;min-width:0!important;max-width:100%!important;width:100%!important;overflow-x:auto!important;overflow-y:hidden!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior-x:contain!important;touch-action:pan-x!important;padding-bottom:4px!important}
.job-device-compact-line{display:flex!important;align-items:center!important;gap:10px!important;width:max-content!important;min-width:max-content!important;max-width:none!important;white-space:nowrap!important}
.job-device-compact-line span,.job-device-compact-line b{flex:0 0 auto!important;max-width:none!important;overflow:visible!important;text-overflow:clip!important;white-space:nowrap!important}
@media(max-width:720px){
  .filters-jobs-benchmark .smart-select-option{font-size:17px!important;font-weight:650!important}
  .job-comment-form{display:block!important}
  .job-comment-form textarea{min-height:120px!important}
  .job-comment-form button,.job-comment-form .secondary,.job-comment-form .button{width:100%!important;justify-content:center!important}
  .executor-jobs-scroll{height:auto!important;max-height:none!important;min-height:0!important;border:0!important;overflow:visible!important}
  .executor-jobs-table,.executor-jobs-table tbody{display:block!important;width:100%!important}
  .executor-jobs-table thead{display:none!important}
  .executor-jobs-table tbody{display:grid!important;gap:12px!important}
  .executor-jobs-table tr{display:block!important;border:1px solid #dce3e7!important;border-radius:16px!important;background:#fff!important;overflow:hidden!important;box-shadow:0 3px 12px rgba(24,34,43,.05)!important}
  .executor-jobs-table td{display:grid!important;grid-template-columns:96px minmax(0,1fr)!important;gap:10px!important;align-items:start!important;width:100%!important;min-width:0!important;padding:11px 12px!important;border-bottom:1px solid #eef2f4!important;background:transparent!important;box-sizing:border-box!important}
  .executor-jobs-table td:last-child{border-bottom:0!important}
  .executor-jobs-table td::before{content:attr(data-label)!important;color:#73818b!important;font-size:10.5px!important;font-weight:800!important;text-transform:uppercase!important;letter-spacing:.035em!important}
  .executor-jobs-table td[data-label="Заявка"] a b{font-size:17px!important;line-height:1.25!important}
  .executor-jobs-table td small{font-size:12px!important;line-height:1.35!important}
  .executor-job-filters{display:grid!important;grid-template-columns:1fr!important;gap:11px!important}
  .executor-filter-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}
}

/* ============================================================
   v1.2.3.33 forward corrective — mobile routes / history / UI
   SD-BLK-UI33D20
   ============================================================ */
.deadline-date-filter{display:grid;gap:5px;min-width:150px}.deadline-date-filter>span{font-size:11px;font-weight:750;color:var(--muted)}.deadline-date-filter input{min-height:42px}
.bulk-select-all{display:inline-flex!important;align-items:center;gap:7px!important;margin:0!important;white-space:nowrap;font-size:12px;font-weight:750;color:#45535c}.bulk-select-all input{width:18px!important;height:18px!important;min-height:0!important;margin:0!important}.bulk-yandex-preview{min-height:34px!important;padding:6px 10px!important;white-space:nowrap!important}
.map-frame-shell{position:relative;min-width:0;min-height:0;height:100%;overflow:hidden}.map-frame-shell>iframe{display:block;width:100%;height:100%}
.route-completed-overlay{z-index:3!important}.route-job-completed .ticket-meta-right,.route-job-completed .ticket-id-link{position:relative;z-index:7!important}.route-job-completed .ticket-id-link{pointer-events:auto!important;background:rgba(255,255,255,.92);padding:2px 5px;border-radius:7px}.route-job-completed .card-selector{z-index:8!important}
.job-route-actions{position:absolute;right:10px;bottom:10px;z-index:9}.job-route-actions>summary{display:inline-flex;align-items:center;min-height:30px;padding:5px 9px;border:1px solid #d7dfe3;border-radius:9px;background:#fff;color:#4f5d65;font-size:10px;font-weight:800;cursor:pointer;list-style:none}.job-route-actions>summary::-webkit-details-marker{display:none}.job-route-actions>div{position:absolute;right:0;bottom:calc(100% + 5px);display:grid;min-width:220px;padding:6px;border:1px solid var(--line);border-radius:11px;background:#fff;box-shadow:0 14px 34px rgba(31,39,44,.16)}.job-route-actions button{width:100%;min-height:36px;padding:7px 10px;border:0;background:#fff;text-align:left;justify-content:flex-start;font-size:11px;box-shadow:none}.job-route-actions button:hover{background:#f5f7f8;transform:none}.job-route-actions button:disabled{opacity:.42}.job-route-actions form{margin:0}.route-transfer-start.is-active{background:#edf5f8!important;color:#1f6587!important}.route-transfer-mode .route-queue-card[data-route-transfer-target]{outline:2px dashed #5d879d;outline-offset:-2px;cursor:pointer}.route-transfer-mode .route-queue-card[data-route-transfer-target]::after{content:'Перенести сюда';display:block;margin:7px 8px 0;padding:5px 8px;border-radius:8px;background:#eaf4f8;color:#246581;font-size:10px;font-weight:850;text-align:center}.route-transfer-mode .route-queue-card[data-route-transfer-target]:hover{background:#f5fbfd}
.execution-permission-field{padding:9px 10px;border:1px solid #dfe6e9;border-radius:10px;background:#f7fafb}.execution-permission-field small{display:block;margin-left:24px;color:var(--muted);font-weight:500}
/* Existing audit payloads may be long; never let raw data break the owner page. */
.tracking-audit-scroll>div{min-width:0}.tracking-audit-scroll>div>*{min-width:0;overflow-wrap:anywhere;word-break:break-word}.tracking-audit-scroll{overflow-x:hidden!important}.tracking-audit-scroll span:last-child{line-height:1.45}
/* Device information: one actual horizontal interaction lane on desktop and touch. */
.job-device-extra{min-width:0!important;overflow:hidden!important}.job-device-list-compact{min-width:0!important;width:100%!important}.job-device-compact-row{min-width:0!important;width:100%!important}.job-device-compact-text{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;overflow-x:auto!important;overflow-y:hidden!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior-x:contain!important;touch-action:pan-x!important;padding:0 0 6px!important;pointer-events:auto!important}.job-device-compact-line{width:max-content!important;min-width:max-content!important;max-width:none!important;display:flex!important;flex-wrap:nowrap!important;gap:12px!important}.job-device-compact-line>*{flex:0 0 auto!important;max-width:none!important;white-space:nowrap!important}.job-device-compact-text::-webkit-scrollbar{height:5px}.job-device-compact-text::-webkit-scrollbar-thumb{background:#9ea8ae;border-radius:999px}
/* More reliable direct editing on touch devices. */
.executor-device-field{isolation:isolate}.executor-device-field input{position:relative;z-index:1;touch-action:manipulation!important}.executor-device-field [data-device-enable-field]{z-index:2!important;touch-action:manipulation!important;pointer-events:auto!important}
/* Smaller, stable media viewer controls. */
.image-viewer-nav{width:40px!important;height:48px!important;min-height:48px!important;padding:0!important;border-radius:12px!important;font-size:30px!important;line-height:1!important;display:grid!important;place-items:center!important;touch-action:manipulation!important;user-select:none!important;-webkit-user-select:none!important}.image-viewer-prev{left:12px!important}.image-viewer-next{right:12px!important}.image-viewer-gallery.single-image .image-viewer-nav{display:none!important}
.route-list-autosave .route-point-link{touch-action:pan-y!important}.route-list-autosave.route-reordering .route-point-link{pointer-events:none!important}.route-list-autosave li{cursor:grab!important}.route-list-autosave li.route-dragging{cursor:grabbing!important}

@media(max-width:720px){
  .deadline-date-filter{min-width:0;width:100%}.deadline-date-filter input{font-size:16px!important}
  .bulk-workflow-head{display:grid!important;grid-template-columns:auto 1fr auto!important;gap:8px!important;align-items:center!important}.bulk-workflow-head>strong{grid-column:1}.bulk-select-all{grid-column:2}.bulk-yandex-preview{grid-column:1/-1;width:100%!important}.bulk-mode-switch{grid-column:1/-1!important;order:initial!important}.bulk-clear-icon{grid-column:3;grid-row:1}
  .job-route-actions{right:8px;bottom:8px}.job-route-actions>div{position:fixed;left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));min-width:0;z-index:1900;padding:9px;border-radius:14px}.job-route-actions button{min-height:48px;font-size:15px;text-align:center;justify-content:center}
  /* Object cards: logo + text first; note/map/status below instead of squeezing address into a narrow column. */
  .management-catalog-panel#objects .entity-card>summary{display:grid!important;grid-template-columns:52px minmax(0,1fr) 18px!important;gap:10px!important;align-items:start!important;padding:14px 12px!important}.management-catalog-panel#objects .entity-card>summary>.entity-thumb{grid-column:1;grid-row:1;width:48px!important;height:48px!important}.management-catalog-panel#objects .entity-card>summary>.entity-summary-main{grid-column:2;grid-row:1;min-width:0!important}.management-catalog-panel#objects .entity-card>summary>.entity-summary-main b{font-size:17px!important;line-height:1.25!important}.management-catalog-panel#objects .entity-card>summary>.entity-summary-main small{font-size:13px!important;line-height:1.38!important;overflow-wrap:anywhere!important}.management-catalog-panel#objects .entity-card>summary::after{grid-column:3;grid-row:1;align-self:start;margin-top:3px!important}.management-catalog-panel#objects .entity-card>summary>.entity-summary-side{grid-column:1/-1;grid-row:2;display:flex!important;justify-content:flex-start!important;align-items:center!important;gap:7px!important;flex-wrap:wrap!important;padding-left:62px}.management-catalog-panel#objects .entity-card>summary>.entity-summary-side .personal-note-badge{max-width:100%!important;white-space:normal!important}.management-catalog-panel#objects .object-map-summary-action{min-height:34px!important;padding:7px 10px!important;font-size:11px!important}
  .tracking-audit-scroll{max-height:none!important;padding-right:0!important}.tracking-audit-scroll>div{display:grid!important;grid-template-columns:1fr!important;gap:5px!important;padding:13px 0!important}.tracking-audit-scroll>div time{font-size:13px!important;font-weight:800!important}.tracking-audit-scroll>div .actor,.tracking-audit-scroll>div>b{font-size:13px!important;color:#6f7c84!important}.tracking-audit-scroll>div span:last-child{font-size:14px!important;line-height:1.45!important}
  .job-device-compact-text{width:100%!important;max-width:100%!important;overflow-x:scroll!important;touch-action:pan-x!important;padding-bottom:7px!important}.job-device-compact-line{gap:14px!important}.job-device-compact-line>*{font-size:12px!important}
  .image-viewer-nav{width:36px!important;height:44px!important;min-height:44px!important;font-size:27px!important;border-radius:11px!important}.image-viewer-prev{left:6px!important}.image-viewer-next{right:6px!important}
  .route-list-autosave li{touch-action:pan-y!important}.route-list-autosave li .route-point-link{touch-action:pan-y!important}
}
/* Route reorder: suppress iOS link-preview while a long-press is used as the drag gesture. */
.route-list-autosave[data-can-reorder="1"] li,.route-list-autosave[data-can-reorder="1"] .route-point-link{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}
/* v1.2.3.33 final interaction corrective: the whole device lane must opt back in
   because job-card-content intentionally disables pointer events on decorative text. */
.job-card-content .job-device-extra,
.job-card-content .job-device-list-compact,
.job-card-content .job-device-compact-row,
.job-card-content .job-device-compact-text{pointer-events:auto!important}
.image-viewer-nav{z-index:12!important;pointer-events:auto!important}
/* Completed/review card keeps a real ticket-number target above the blur layer. */
.completed-ticket-link{position:absolute;right:13px;top:12px;z-index:10;display:inline-flex;align-items:center;min-height:30px;padding:4px 7px;border-radius:8px;background:rgba(255,255,255,.96);color:#255f82;font-size:12px;font-weight:850;text-decoration:underline;pointer-events:auto!important;box-shadow:0 2px 8px rgba(31,39,44,.10)}
@media(max-width:720px){.completed-ticket-link{right:10px;top:10px;font-size:12px;min-height:32px}}

/* ============================================================
   v1.2.3.34 LOCAL PREVIEW corrective
   SD-BLK-UI34A10 — device scroll isolation, compact deadline filters,
   inline route actions, history filters/table, native map marker only.
   ============================================================ */

/* Device details: scrolling wins over card reorder. Keep the scrollbar in its own gutter. */
.job-device-extra{overflow:visible!important}
.job-device-list-compact{overflow:visible!important}
.job-device-compact-row,
.job-device-compact-row.has-device-photo{max-height:none!important;min-height:54px!important;overflow:visible!important;align-items:start!important}
.job-device-compact-row.has-device-photo{grid-template-columns:44px minmax(0,1fr)!important}
.job-device-compact-text{position:relative!important;overflow-x:auto!important;overflow-y:hidden!important;max-width:100%!important;padding:1px 0 12px!important;scrollbar-gutter:stable!important;scrollbar-width:thin!important;touch-action:pan-x pan-y!important;overscroll-behavior-x:contain!important;cursor:grab!important;-webkit-overflow-scrolling:touch!important;user-select:none;-webkit-user-select:none}
.job-device-compact-text.is-device-panning{cursor:grabbing!important}
.job-device-compact-text::-webkit-scrollbar{height:7px!important}
.job-device-compact-text::-webkit-scrollbar-track{background:#edf1f3;border-radius:999px}
.job-device-compact-text::-webkit-scrollbar-thumb{background:#98a4aa;border-radius:999px;border:1px solid #edf1f3}
.job-device-compact-line{padding-right:12px!important}
.job-device-orient-thumb{align-self:start!important;margin-top:1px!important}

/* Deadline queue: all controls stay in one aligned row on desktop. */
.filters-jobs.filters-deadlines{grid-template-columns:minmax(235px,1.35fr) minmax(145px,.75fr) minmax(210px,1.05fr) minmax(125px,.65fr) minmax(140px,.72fr) 82px 150px 44px!important;gap:8px!important;align-items:stretch!important}
.filters-jobs.filters-deadlines>input[type="search"],
.filters-jobs.filters-deadlines>.smart-select,
.filters-jobs.filters-deadlines>.deadline-date-filter,
.filters-jobs.filters-deadlines>.filter-actions-stack{min-height:42px!important;height:42px!important;margin:0!important}
.filters-jobs.filters-deadlines>input[type="search"]{padding-top:7px!important;padding-bottom:7px!important}
.filters-jobs .job-created-sort + .smart-select-button,
.filters-jobs .job-created-sort~.smart-select-button{font-weight:750}
.deadline-date-filter{position:relative!important;display:block!important;min-width:0!important;height:42px!important}
.deadline-date-filter>span{position:absolute;left:10px;top:3px;z-index:2;font-size:9px!important;line-height:1;color:#7a878f!important;font-weight:850!important;pointer-events:none}
.deadline-date-filter input{width:100%!important;height:42px!important;min-height:42px!important;padding:14px 8px 3px 10px!important;font-size:12px!important;font-weight:700!important}
.filter-reset-icon{display:grid!important;place-items:center!important;width:42px!important;min-width:42px!important;height:42px!important;min-height:42px!important;padding:0!important;justify-self:end!important}
.filter-reset-icon svg{width:18px;height:18px;display:block}
.filters-deadlines .filter-actions-stack{width:44px!important;justify-self:end!important}

/* Route card actions live directly below "Доп. информация" instead of floating over assignee. */
.job-route-actions-inline{position:relative!important;right:auto!important;bottom:auto!important;display:block!important;width:max-content;max-width:100%;margin:7px 0 0 0!important;z-index:12!important;vertical-align:top}
.job-route-actions-inline>summary{min-height:30px!important}
.job-route-actions-inline>div{left:0!important;right:auto!important;top:calc(100% + 5px)!important;bottom:auto!important}

/* The drifting artificial center pin was removed from markup; native Yandex result marker only. */

/* Closed jobs history filters. */
.history-page-head{align-items:end!important}
.history-total-count{display:inline-flex;align-items:center;justify-content:center;min-width:72px;min-height:36px;padding:7px 10px;border-radius:11px;background:#edf1f3;color:#48565e;font-size:13px;font-variant-numeric:tabular-nums}
.history-job-filters{display:grid;grid-template-columns:minmax(230px,1.2fr) minmax(170px,.85fr) minmax(230px,1.05fr) 150px minmax(180px,.9fr) 82px 42px;gap:8px;align-items:stretch;margin:0 0 12px}
.history-job-filters>input[type="search"],.history-job-filters>.smart-select,.history-job-filters>button,.history-date-filter,.history-filter-reset{height:42px;min-height:42px;margin:0}
.history-job-filters .smart-select-button{height:42px!important;min-height:42px!important}
.history-date-filter{position:relative;display:block;min-width:0}
.history-date-filter>span{position:absolute;z-index:2;left:10px;top:3px;font-size:9px;font-weight:850;color:#7a878f;pointer-events:none}
.history-date-filter input{width:100%;height:42px;min-height:42px;padding:14px 8px 3px 10px;font-size:12px;font-weight:700}
.history-filter-apply{padding:7px 10px!important}
.history-filter-reset{display:grid;place-items:center;border:1px solid var(--line-strong);border-radius:11px;background:#fff;color:#5e6a72}
.history-filter-reset svg{width:18px;height:18px}
.history-jobs-table tr[data-row-link]{cursor:pointer}
.history-jobs-table tr[data-row-link]:hover td{background:#fafbfc}
.history-jobs-table td small{display:block;margin-top:3px;color:var(--muted);line-height:1.3}
.history-assignee-cell b{display:block}.history-assignee-cell small{font-size:11px}

@media(max-width:1280px){
  .filters-jobs.filters-deadlines{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  .filters-jobs.filters-deadlines>.filter-actions-stack{width:42px!important;justify-self:start!important}
  .history-job-filters{grid-template-columns:repeat(3,minmax(0,1fr))}
  .history-filter-reset{width:42px}
}

@media(max-width:720px){
  .job-device-compact-row.has-device-photo{grid-template-columns:42px minmax(0,1fr)!important}
  .job-device-compact-text{overflow-x:auto!important;padding-bottom:10px!important;touch-action:pan-x pan-y!important;cursor:default!important}
  .job-device-compact-text::-webkit-scrollbar{height:4px!important}
  .job-device-compact-line{gap:12px!important;padding-right:18px!important}
  .filters-jobs.filters-deadlines{grid-template-columns:1fr!important}
  .filters-jobs.filters-deadlines>.deadline-date-filter{width:100%!important}
  .filters-jobs.filters-deadlines>.filter-actions-stack{width:42px!important;height:42px!important;justify-self:end!important}
  .job-route-actions-inline{display:block!important;width:max-content;max-width:100%;margin-top:7px!important}
  .job-route-actions-inline>div{position:fixed!important;left:12px!important;right:12px!important;top:auto!important;bottom:max(12px,env(safe-area-inset-bottom))!important}
  .history-page-head{align-items:flex-start!important}
  .history-job-filters{grid-template-columns:1fr!important;gap:9px!important}
  .history-job-filters>*{width:100%!important;max-width:none!important}
  .history-filter-reset{width:42px!important;justify-self:end!important}
  .history-jobs-panel{padding:8px!important;border:0!important;background:transparent!important;box-shadow:none!important}
  .history-jobs-table,.history-jobs-table tbody{display:block;width:100%}
  .history-jobs-table thead{display:none}
  .history-jobs-table tbody{display:grid;gap:10px}
  .history-jobs-table tr{display:block;border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden;box-shadow:0 3px 12px rgba(31,39,44,.04)}
  .history-jobs-table td{display:grid!important;grid-template-columns:104px minmax(0,1fr);gap:8px;width:100%!important;padding:9px 11px!important;border:0!important;border-bottom:1px solid #eef1f3!important;vertical-align:top}
  .history-jobs-table td:last-child{border-bottom:0!important}
  .history-jobs-table td::before{content:attr(data-label);font-size:10px;font-weight:850;color:#75828a;text-transform:uppercase;letter-spacing:.03em}
  .history-jobs-table td>*{min-width:0}
}


/* v1.2.3.35 local corrective: route action hitbox, history sorting, print/PDF affordances */
.job-card-content details.job-route-actions,.job-card-content details.job-route-actions>summary{pointer-events:auto!important;}
.job-route-actions-inline{isolation:isolate;}
.history-sort-link{display:inline-flex;align-items:center;gap:6px;color:inherit;text-decoration:none;font-weight:850;white-space:nowrap;}
.history-sort-link span{font-size:11px;color:#96a1a8;line-height:1;}
.history-sort-link.is-active{color:#26333c;}
.history-sort-link.is-active span{color:#d47755;}
.job-print-action{display:inline-flex!important;align-items:center;gap:6px;white-space:nowrap;}
.job-print-action svg{width:16px;height:16px;display:block;}
@media(max-width:720px){
  .history-jobs-table th .history-sort-link{font-size:12px;}
  .detail-actions .job-print-action{width:100%;justify-content:center;}
  .job-route-actions-inline{position:relative!important;z-index:40!important;}
  .job-route-actions-inline>summary{position:relative!important;z-index:41!important;pointer-events:auto!important;touch-action:manipulation;}
}


.history-print-link{display:inline-flex;margin-top:5px;font-size:11px;font-weight:750;color:#296889;text-decoration:none;}
.history-print-link:hover{text-decoration:underline;}


/* ============================================================
   v1.2.3.36 local corrective — route menu stacking + deadline-only compact filters
   SD-BLK-UI36A01
   ============================================================ */
/* Open route action menus must paint above later job cards and map-side controls. */
.job-card.route-menu-open{z-index:220!important;isolation:isolate!important}
.job-card.route-menu-open .job-card-content{position:relative!important;z-index:221!important}
.job-card.route-menu-open .job-route-actions-inline{z-index:230!important}
.job-card.route-menu-open .job-route-actions-inline>summary{position:relative!important;z-index:231!important}
.job-card.route-menu-open .job-route-actions-inline>div{z-index:240!important}
/* Non-deadline queues keep the accepted full-size controls. */
.filters-jobs:not(.filters-deadlines){grid-template-columns:minmax(220px,1.4fr) repeat(4,minmax(140px,1fr)) minmax(150px,.85fr) 136px!important;align-items:start!important}
.filters-jobs:not(.filters-deadlines) .job-created-sort+.smart-select-button{font-weight:400!important}
.filters-jobs:not(.filters-deadlines) .filter-actions-stack{width:auto!important;height:auto!important;justify-self:stretch!important}
.filters-jobs:not(.filters-deadlines) .filter-reset-button{width:100%!important;min-width:0!important;height:auto!important;min-height:42px!important;padding:9px 11px!important}
@media(max-width:1100px){
  .filters-jobs:not(.filters-deadlines){grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:720px){
  .filters-jobs:not(.filters-deadlines){grid-template-columns:1fr!important}
  .filters-jobs:not(.filters-deadlines) .filter-actions-stack,.filters-jobs:not(.filters-deadlines) .filter-reset-button{width:100%!important;max-width:none!important}
  .job-card.route-menu-open{z-index:240!important}
  .job-card.route-menu-open .job-route-actions-inline>div{z-index:2600!important}
}

/* ============================================================
   v1.2.3.40 LOCAL corrective
   SD-BLK-L40DEVICE — device photo/scent/new-device completion UX
   SD-BLK-L40MEDIA  — upload progress + fast image/video viewer
   SD-BLK-L40MOBILE — mobile additional info/routes/comments geometry
   ============================================================ */
.object-manager-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:10px;align-items:end}
.job-extra-wide .job-contact-extra.job-extra-full{grid-column:1/-1!important;width:100%!important;align-self:stretch!important}
.job-extra-full p{margin:.3rem 0 0;overflow-wrap:anywhere}

.executor-device-edit-grid{grid-template-columns:1fr!important;gap:12px!important}
.executor-device-field textarea{display:block;width:100%;min-height:48px;max-height:112px;padding:10px 46px 10px 12px!important;line-height:1.42;resize:none;overflow-y:hidden;box-sizing:border-box;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}
.executor-device-field textarea[readonly]{background:#f2f4f5!important;color:#4d5961!important;cursor:default}
.executor-device-field.is-editing textarea{background:#fff!important;border-color:#d9a58f!important;box-shadow:0 0 0 2px rgba(217,123,89,.08)}
.executor-device-photo-section{display:grid;gap:10px;padding:10px;margin-bottom:12px;border:1px solid #dfe5e8;border-radius:12px;background:#f8fafb}
.executor-device-photo-head{display:grid;gap:3px}.executor-device-photo-head small{color:var(--muted);line-height:1.35}
.executor-device-photo-pair{display:flex;gap:10px;flex-wrap:wrap}.executor-device-photo-card{display:grid;gap:5px;min-width:120px}.executor-device-photo-card>span{font-size:11px;font-weight:800;color:var(--muted)}
.executor-device-photo-card a{display:block;width:116px;height:86px;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff}.executor-device-photo-card img{width:100%;height:100%;object-fit:cover}
.executor-device-photo-empty{display:grid;place-items:center;width:116px;height:86px;padding:8px;border:1px dashed #cbd5da;border-radius:10px;background:#fff;color:#7d898f;text-align:center;font-size:11px}
.device-photo-upload-form{display:flex;gap:8px;align-items:center}.device-photo-upload-form button{min-height:38px}
.completion-device-tabs{display:flex!important;overflow-x:auto;scrollbar-width:thin;padding-bottom:5px}.completion-device-tabs .device-tab-button{flex:0 0 auto}
.completion-device-add-row{display:flex;justify-content:flex-start;margin-top:12px}.new-device-banner{display:grid;grid-template-columns:1fr auto;gap:4px 10px;align-items:start;margin-bottom:12px;padding:10px 11px;border-radius:11px;background:#eaf6ef;color:#2f6f51}.new-device-banner>b{font-size:14px}.new-device-banner>span{grid-column:1;font-size:11px;line-height:1.4}.new-device-banner>button{grid-column:2;grid-row:1/3;align-self:center;color:#9b4050}
.review-device-photo-compare{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 10px}.review-device-photo-compare>div{display:grid;gap:4px}.review-device-photo-compare small{font-size:10px;color:var(--muted);font-weight:800}.review-executor-comments article{padding:8px 0;border-top:1px solid #e5e9eb}.review-executor-comments article:first-of-type{border-top:0}.review-executor-comments article>div{display:flex;justify-content:space-between;gap:12px;font-size:11px;color:var(--muted)}.review-executor-comments article p{margin:5px 0 0;white-space:normal;overflow-wrap:anywhere}

.upload-progress-overlay{position:fixed;inset:0;z-index:4200;display:grid;place-items:center;padding:20px;background:rgba(27,35,40,.46);backdrop-filter:blur(5px)}
.upload-progress-card{width:min(420px,92vw);display:grid;grid-template-columns:36px 1fr auto;gap:8px 12px;align-items:center;padding:18px;border:1px solid rgba(255,255,255,.72);border-radius:16px;background:#fff;box-shadow:0 28px 90px rgba(20,28,33,.3)}
.upload-progress-spinner{grid-row:1/3;width:30px;height:30px;border:3px solid #e2e7ea;border-top-color:#dc865f;border-radius:50%;animation:sdUploadSpin .75s linear infinite}.upload-progress-card>b{font-size:15px}.upload-progress-card>strong{font-size:13px;font-variant-numeric:tabular-nums}.upload-progress-status{font-size:12px;color:var(--muted)}.upload-progress-track{grid-column:1/-1;height:8px;border-radius:999px;background:#e9edef;overflow:hidden}.upload-progress-track i{display:block;width:0;height:100%;border-radius:inherit;background:#d77f5a;transition:width .12s linear}.upload-progress-overlay.is-done .upload-progress-spinner{animation:none;border-color:#4f9c70}.upload-progress-overlay.is-error .upload-progress-spinner{animation:none;border-color:#ba5464}.upload-progress-overlay.is-error .upload-progress-status{color:#a23c4d}
@keyframes sdUploadSpin{to{transform:rotate(360deg)}}

.job-media-viewer-overlay .job-media-viewer-figure{touch-action:pan-y!important;transition:transform .08s ease-out;will-change:transform;-webkit-user-select:none;user-select:none}
.job-media-viewer-overlay .job-media-viewer-figure>img{-webkit-user-drag:none;user-select:none}
.job-media-viewer-overlay .image-viewer-nav{display:grid!important;place-items:center!important;z-index:40!important;pointer-events:auto!important;touch-action:manipulation!important;-webkit-tap-highlight-color:transparent}
.job-media-viewer-overlay .image-viewer-prev,.job-media-viewer-overlay .image-viewer-next{width:52px!important;height:64px!important;min-height:64px!important}

.job-comment-form{display:grid!important;gap:12px!important;align-items:stretch!important}.job-comment-form label{display:grid!important;gap:7px!important}.job-comment-form textarea{display:block!important;width:100%!important;min-height:96px!important;max-height:230px!important;margin:0!important;resize:none!important;overflow-y:hidden;line-height:1.45!important}.job-comment-form button{position:relative!important;margin-top:2px!important;min-height:44px!important}
.history-actions-cell{min-width:225px}.history-actions-stack{display:grid;gap:7px}.history-actions-stack .button{white-space:normal;line-height:1.25;text-align:center}
.route-point-completed{opacity:.72;cursor:default!important}.route-point-completed .route-number{background:#d8eee1;color:#2f7650}.route-point-completed .route-point-link{cursor:default!important}

@media(max-width:720px){
  .object-manager-pair{grid-template-columns:1fr!important}.object-manager-pair .inline-contact-actions{justify-content:flex-start!important}
  .job-extra-wide{grid-template-columns:1fr!important}.job-extra-wide .job-contact-extra.job-extra-full{grid-row:1!important}.job-extra-wide .job-device-extra{grid-row:2!important}.job-extra-wide .job-photo-extra{grid-row:3!important}
  .map-work{grid-template-rows:minmax(76px,auto) minmax(0,1fr)!important}.map-work .map-toolbar{height:auto!important;min-height:76px!important;padding:10px 12px!important;gap:8px!important}.map-toolbar #mapExternal{display:block!important;width:100%!important;min-height:38px!important;white-space:normal!important;line-height:1.25!important;padding:8px 9px!important;text-align:center!important}
  .bulk-workflow-form .bulk-field input[type="date"],.bulk-field input[name="route_day"]{width:min(100%,245px)!important;max-width:245px!important;justify-self:start!important;font-size:15px!important}
  .executor-device-field textarea{font-size:16px!important;min-height:50px;max-height:122px;padding-right:48px!important}.executor-device-photo-pair{display:grid;grid-template-columns:1fr 1fr}.executor-device-photo-card a,.executor-device-photo-empty{width:100%;height:94px}.device-photo-upload-form button{width:100%}
  .completion-device-panel{overflow:visible!important}.completion-device-tabs{margin-right:-4px}.new-device-banner{grid-template-columns:1fr}.new-device-banner>button{grid-column:1;grid-row:auto;justify-self:start}
  .job-media-viewer-overlay{padding:10px!important}.job-media-viewer-overlay .image-viewer-prev{left:4px!important}.job-media-viewer-overlay .image-viewer-next{right:4px!important}.job-media-viewer-overlay .image-viewer-prev,.job-media-viewer-overlay .image-viewer-next{width:44px!important;height:58px!important;min-height:58px!important;background:rgba(255,255,255,.97)!important}
  .job-comment-form{padding-bottom:4px!important}.job-comment-form textarea{min-height:118px!important;max-height:250px!important;font-size:16px!important}.job-comment-form button{margin-top:6px!important}
  .history-actions-cell{min-width:0!important}.history-actions-stack .button{width:100%}
}

/* ============================================================
   v1.2.3.42 LOCAL corrective
   SD-BLK-UI41A10 — extra-info grid, deadline range calendar,
   paged history, per-object job history.
   ============================================================ */
/* Additional info: contact is always a full-width row above devices. */
.job-extra-wide{grid-template-columns:minmax(0,1fr)!important;width:100%!important;max-width:none!important;gap:10px!important;padding:10px 12px!important}
.job-extra-wide .job-contact-extra{grid-column:1/-1!important;width:100%!important;min-width:0!important;padding:0 0 7px!important;border-bottom:1px solid #e7ecef!important}
.job-extra-wide .job-contact-extra p{margin:4px 0 0!important;line-height:1.4!important;overflow-wrap:anywhere!important}
.job-extra-wide .job-device-extra{grid-column:1/-1!important;width:100%!important;min-width:0!important;overflow:visible!important}
.job-extra-wide .job-device-list-compact{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important;width:100%!important;min-width:0!important}
.job-extra-wide .job-device-compact-row,
.job-extra-wide .job-device-compact-row.has-device-photo{display:grid!important;grid-template-columns:52px minmax(0,1fr)!important;grid-template-rows:auto!important;align-items:center!important;width:100%!important;min-width:0!important;max-width:none!important;min-height:64px!important;max-height:none!important;padding:7px 8px!important;overflow:hidden!important}
.job-extra-wide .job-device-orient-thumb{grid-column:1!important;display:grid!important;place-items:center!important;width:44px!important;height:44px!important;min-width:44px!important;margin:0!important;align-self:center!important;border-radius:8px!important}
.job-extra-wide .job-device-orient-placeholder{background:#f3f6f7!important;color:#a4afb5!important}
.job-extra-wide .job-device-orient-placeholder svg{width:24px!important;height:24px!important}
.job-extra-wide .job-device-compact-text{grid-column:2!important;width:100%!important;max-width:100%!important;min-width:0!important;overflow-x:auto!important;overflow-y:hidden!important;padding:0 0 8px!important;scrollbar-gutter:stable!important;scrollbar-width:thin!important}
.job-extra-wide .job-device-compact-line{width:max-content!important;min-width:max-content!important;max-width:none!important;display:flex!important;gap:12px!important;white-space:nowrap!important;padding-right:14px!important}
.job-extra-wide .job-device-compact-line>*{flex:0 0 auto!important;white-space:nowrap!important;max-width:none!important;overflow:visible!important;text-overflow:clip!important}

/* Shareable server-side history pagination. */
.history-pagination{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap;margin:14px 0 4px;padding:4px}
.history-pagination a,.history-pagination span{display:grid;place-items:center;min-width:36px;height:36px;padding:0 9px;border:1px solid var(--line);border-radius:10px;background:#fff;color:#45535c;font-weight:800;text-decoration:none}
.history-pagination a.is-active{background:var(--dark);border-color:var(--dark);color:#fff}
.history-pagination a.is-disabled{opacity:.38;pointer-events:none}
.history-pagination span{border-color:transparent;background:transparent;color:var(--muted)}

/* Custom deadline day/range picker. */
.deadline-range-filter{position:relative!important;min-width:0!important;height:42px!important;z-index:65}
.deadline-range-trigger{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;grid-template-rows:auto auto!important;column-gap:7px!important;width:100%!important;height:42px!important;min-height:42px!important;padding:4px 9px 4px 10px!important;border:1px solid #d5dde1!important;border-radius:10px!important;background:#fff!important;color:var(--ink)!important;text-align:left!important;box-shadow:none!important}
.deadline-range-trigger>span{grid-column:1;grid-row:1;font-size:9px!important;line-height:1!important;color:#7a878f!important;font-weight:850!important}
.deadline-range-trigger>b{grid-column:1;grid-row:2;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px!important;line-height:1.2!important}
.deadline-range-trigger svg{grid-column:2;grid-row:1/3;align-self:center;width:17px;height:17px;color:#728089}
.deadline-calendar-popover{position:absolute;right:0;top:calc(100% + 7px);z-index:1900;width:330px;max-width:min(92vw,330px);padding:12px;border:1px solid #d6dee2;border-radius:14px;background:#fff;box-shadow:0 18px 52px rgba(31,39,44,.22)}
.deadline-calendar-popover[hidden]{display:none!important}
.deadline-calendar-head{display:grid;grid-template-columns:36px 1fr 36px;align-items:center;gap:6px;margin-bottom:8px}
.deadline-calendar-head>b{text-align:center;font-size:14px;text-transform:capitalize}
.deadline-calendar-nav{width:34px!important;height:34px!important;min-height:34px!important;padding:0!important;border-radius:9px!important;background:#f5f7f8!important;color:#344149!important;font-size:24px!important;line-height:1!important;box-shadow:none!important}
.deadline-calendar-week,.deadline-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
.deadline-calendar-week{margin-bottom:4px}.deadline-calendar-week span{padding:4px 0;text-align:center;color:#7a878f;font-size:10px;font-weight:800}
.deadline-calendar-blank{min-height:36px}
.deadline-calendar-day{width:100%!important;height:36px!important;min-height:36px!important;padding:0!important;border:0!important;border-radius:9px!important;background:#fff!important;color:#334148!important;font-size:12px!important;font-weight:750!important;box-shadow:none!important}
.deadline-calendar-day:hover{background:#f2f6f8!important}.deadline-calendar-day.is-today{box-shadow:inset 0 0 0 1px #ed9a78!important}.deadline-calendar-day.is-range{background:#edf5f8!important;border-radius:6px!important}.deadline-calendar-day.is-edge{background:#2f3a41!important;color:#fff!important;border-radius:9px!important}
.deadline-calendar-selection{min-height:34px;margin-top:9px;padding:7px 9px;border-radius:9px;background:#f5f7f8;color:#5b6870;font-size:10.5px;line-height:1.35}
.deadline-calendar-actions{display:grid;grid-template-columns:1fr 1fr 1.15fr;gap:6px;margin-top:9px}.deadline-calendar-actions button{min-height:36px!important;padding:6px 7px!important;font-size:11px!important}
.filters-jobs.filters-deadlines>.deadline-range-filter{min-height:42px!important;height:42px!important;margin:0!important}
@media(min-width:1151px){.filters-jobs.filters-deadlines{grid-template-columns:minmax(235px,1.35fr) minmax(145px,.75fr) minmax(210px,1.05fr) minmax(125px,.65fr) minmax(140px,.72fr) 82px 180px 44px!important}}

/* Object -> History of jobs tab. */
.object-jobs-history-panel{padding:10px;border-top:1px solid #eef1f3;background:#fff}
.object-jobs-history-panel[hidden]{display:none!important}
.object-history-loading{padding:24px;text-align:center;color:var(--muted)}
.object-history-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}.object-history-head>b{font-size:15px}.object-history-head>span{display:grid;place-items:center;min-width:32px;height:28px;padding:0 8px;border-radius:9px;background:#edf1f3;color:#536169;font-weight:850}
.object-history-table-wrap{overflow:auto!important;border:1px solid #dde4e8;border-radius:12px;background:#fff}
.object-history-table{min-width:1050px!important;width:100%!important;margin:0!important}
.object-history-table th{position:sticky;top:0;z-index:2;background:#f5f7f8!important;white-space:nowrap!important}
.object-history-table td{vertical-align:top!important}.object-history-table td small{display:block;margin-top:2px;color:var(--muted);font-size:10px}
.object-history-table tr[data-object-history-row]{cursor:pointer}.object-history-table tr[data-object-history-row]:hover td{background:#fbfcfd}
.object-history-sort{display:inline-flex;align-items:center;gap:5px;color:#4d5b63;text-decoration:none;font-weight:850}.object-history-sort.is-active{color:#2d6688}.object-history-sort span{font-size:10px}
.object-history-note{margin:8px 2px 0!important;font-size:10.5px!important}

@media(max-width:900px){
  .job-extra-wide .job-device-list-compact{grid-template-columns:1fr!important}
}
@media(max-width:720px){
  .job-extra-wide{padding:8px!important}
  .job-extra-wide .job-contact-extra{padding:0 0 7px!important}
  .job-extra-wide .job-device-list-compact{grid-template-columns:minmax(0,1fr)!important}
  .job-extra-wide .job-device-compact-row,.job-extra-wide .job-device-compact-row.has-device-photo{grid-template-columns:46px minmax(0,1fr)!important;min-height:58px!important;padding:6px!important}
  .job-extra-wide .job-device-orient-thumb{width:40px!important;height:40px!important;min-width:40px!important}
  .deadline-range-filter{width:100%!important}
  .deadline-calendar-popover{position:fixed;left:12px;right:12px;top:auto;bottom:max(12px,env(safe-area-inset-bottom));width:auto;max-width:none;border-radius:16px;padding:14px;z-index:2300}
  .deadline-calendar-day{height:42px!important;min-height:42px!important;font-size:14px!important}
  .deadline-calendar-actions{grid-template-columns:1fr!important}.deadline-calendar-actions button{min-height:44px!important;font-size:14px!important}
  .history-pagination a,.history-pagination span{min-width:34px;height:34px;padding:0 7px}
  .object-card-tabs{overflow-x:auto!important}.object-card-tabs button{white-space:nowrap!important;flex:0 0 auto!important}
  .object-jobs-history-panel{padding:8px 0 0}.object-history-head{padding:0 8px}.object-history-table-wrap{border-radius:10px}
}

/* v1.2.3.42 production corrective */
/* Keep actionable review control above completed/review blur together with ticket number. */
.route-job-completed .review-card-button{
  position:relative!important;
  z-index:9!important;
  pointer-events:auto!important;
  filter:none!important;
  opacity:1!important;
}

/* Object tabs: give active history button breathing room before the panel divider. */
.object-card-tabs{padding-bottom:8px!important;}
.object-history-tab-count{font-variant-numeric:tabular-nums;}

/* Object history is a bounded workspace, not an endlessly growing page. */
.object-jobs-history-panel{padding-top:14px!important;}
.object-history-table-wrap{max-height:520px!important;overflow:auto!important;overscroll-behavior:contain;}
.object-history-table thead th{position:sticky!important;top:0!important;z-index:4!important;}
.object-history-pagination{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap;margin:10px 0 2px;}
.object-history-pagination a,.object-history-pagination span{display:inline-grid;place-items:center;min-width:34px;height:34px;padding:0 8px;border:1px solid var(--line);border-radius:9px;background:#fff;color:#4d5b63;text-decoration:none;font-weight:800;}
.object-history-pagination a.is-active{background:#2f3a41;color:#fff;border-color:#2f3a41;}
.object-history-pagination a.is-disabled{opacity:.42;pointer-events:none;}

@media(max-width:720px){
  .object-history-table-wrap{max-height:64dvh!important;}
  .object-history-pagination{padding:0 8px;}
}
.route-job-completed .review-card-button{white-space:nowrap!important;}

/* v1.2.3.43 — media resilience, manager attachments, touch route reorder */
.job-media-uploader{display:block;margin-top:4px;font-size:10px;line-height:1.25;color:var(--muted);font-weight:700}
.manager-review-media-form{margin-top:10px;padding-top:9px;border-top:1px solid #edf0f2}
.manager-review-media-form .job-media-picker{width:100%}.manager-review-media-form .job-media-add-button{width:100%}
.object-existing-media a{position:relative}.object-existing-media video.object-edit-thumb{display:block;width:72px;height:72px;object-fit:cover;background:#101418;border-radius:8px}
.object-existing-media a>small{z-index:2}
.executor-device-photo-card video{width:100%;height:100%;object-fit:cover;background:#101418}
.device-media-type-badge{position:absolute!important;right:5px!important;bottom:5px!important;left:auto!important;padding:2px 6px!important;border-radius:999px!important;background:rgba(25,31,35,.82)!important;color:#fff!important;font-size:9px!important;font-weight:850!important}
.executor-device-photo-card a,.review-device-photo{position:relative}
.review-device-video video{width:100%;height:100%;object-fit:cover;background:#101418}
.device-media-picker{position:relative;display:block;width:100%}.device-media-picker>[data-device-photo-open]{width:100%}
.device-media-picker .job-media-choice{left:0;right:auto;bottom:calc(100% + 7px)}
.route-list.route-list-autosave li{grid-template-columns:34px 42px minmax(0,1fr) auto!important;align-items:center}
.route-touch-drag-handle{display:grid!important;place-items:center!important;width:34px!important;height:42px!important;min-height:42px!important;padding:0!important;border:1px solid #d5dde1!important;border-radius:10px!important;background:#f6f8f9!important;color:#53636c!important;font-size:18px!important;font-weight:900!important;letter-spacing:-5px!important;cursor:grab!important;touch-action:none!important;-webkit-touch-callout:none!important;-webkit-user-select:none!important;user-select:none!important}
.route-touch-drag-handle:active{cursor:grabbing!important;background:#eaf0f3!important}
html.route-touch-reordering,html.route-touch-reordering body{overscroll-behavior:none!important}
html.route-touch-reordering .route-list-autosave{touch-action:none!important}
.route-list-autosave.route-reordering li{user-select:none!important;-webkit-user-select:none!important}
@media(max-width:720px){
  html,body{max-width:100%;overflow-x:hidden}
  main,.job-completion-panel,.completion-layout-shell,.completion-left-col,.completion-device-panel,.device-tab-panel,.executor-device-photo-section,.executor-device-edit-grid{min-width:0!important;max-width:100%!important;width:100%!important;box-sizing:border-box!important}
  .completion-layout-shell{display:block!important;overflow:hidden!important}
  .completion-device-panel{overflow:hidden!important;padding-left:10px!important;padding-right:10px!important}
  .completion-device-tabs{max-width:100%!important;margin-right:0!important;overflow-x:auto!important;overscroll-behavior-x:contain!important}
  .executor-device-photo-pair{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;width:100%!important}
  .executor-device-photo-card{min-width:0!important;max-width:100%!important}
  .executor-device-field,.executor-device-field textarea{min-width:0!important;max-width:100%!important;width:100%!important;box-sizing:border-box!important}
  .route-list.route-list-autosave li{grid-template-columns:32px 36px minmax(0,1fr)!important;gap:7px!important;padding:9px 7px!important}
  .route-touch-drag-handle{width:32px!important;height:40px!important;min-height:40px!important;grid-column:1!important;grid-row:1/3!important}
  .route-number{grid-column:2!important;grid-row:1/3!important;width:32px!important;height:32px!important}
  .route-point-link{grid-column:3!important;grid-row:1!important;min-width:0!important}
  .route-item-actions{grid-column:3!important;grid-row:2!important;min-width:0!important;flex-wrap:wrap!important}
}
.manager-completion-media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.manager-media-tile{min-width:0}.manager-job-media-form{margin-top:9px}.manager-job-media-form .job-media-picker,.manager-job-media-form [data-media-picker-open]{width:100%}
.object-job-media-thumbs a{position:relative;display:block;flex:0 0 auto;width:76px;height:64px;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:#eef2f4}.object-job-media-thumbs img,.object-job-media-thumbs video{width:100%;height:100%;object-fit:cover;background:#101418}.media-thumb-badge{position:absolute;right:4px;bottom:4px;padding:2px 5px;border-radius:999px;background:rgba(20,27,31,.82);color:#fff;font-size:8px;font-weight:850}
.job-object-media-block{display:grid;gap:7px;margin:10px 0 12px;padding:9px 10px;border:1px solid #e2e7ea;border-radius:11px;background:#fff}.job-object-media-block .job-extra-thumbs{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}
@media(max-width:900px){.manager-completion-media-grid{grid-template-columns:1fr}}

/* v1.2.3.44 — Telegram profile/badges + owner ghost test accounts */
.telegram-profile-card{display:grid;gap:16px}.telegram-binding-info{display:grid;gap:5px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#f8fbfa}.telegram-connect-row{display:flex;gap:14px;align-items:flex-start;flex-wrap:wrap}.telegram-link-code{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 12px;border:1px solid #e4d6cf;border-radius:12px;background:#fff8f4}.telegram-link-code strong{font-size:18px;letter-spacing:.08em;cursor:pointer}.telegram-link-code small{width:100%;color:var(--muted)}.telegram-preferences-form{display:grid;gap:10px;padding-top:6px;border-top:1px solid var(--line)}.telegram-preferences-form h3{margin:0 0 2px}.telegram-inline-form{margin:0}.team-summary-badges{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.tg-badge{background:#e9f4ff!important;color:#286487!important;border-color:#c9e4f5!important}.telegram-owner-panel{display:grid;gap:16px}.telegram-owner-actions{display:flex;gap:10px;flex-wrap:wrap}.ghost-users-panel{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.ghost-users-list{margin-top:12px}.ghost-user-card{border-style:dashed!important;background:linear-gradient(180deg,#fbfcfd,#f7f9fa)}.ghost-code-wrap{display:flex;align-items:center;gap:8px}.ghost-code-blurred{display:inline-block;padding:5px 8px;border-radius:8px;background:#eef1f3;filter:blur(5px);user-select:none;transition:filter .15s ease}.ghost-code-blurred.is-revealed{filter:none;user-select:text}.ghost-code-toggle{min-height:30px!important;padding:5px 9px!important;font-size:11px!important;background:#fff!important;color:#4e5b63!important;border:1px solid var(--line)!important}.ghost-create-drawer{margin-bottom:10px}
@media(max-width:720px){.telegram-connect-row,.telegram-owner-actions{display:grid;grid-template-columns:1fr}.telegram-connect-row>*{width:100%}.telegram-link-code{display:grid}.team-summary-badges{justify-content:flex-start}.ghost-code-wrap{flex-wrap:wrap}}

/* v1.2.3.50 owner-only technical diagnostics */
.diagnostic-file-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;}
.diagnostic-file-row .entity-summary-main{min-width:0;}
@media (max-width:640px){.diagnostic-file-row{align-items:stretch;flex-direction:column}.diagnostic-file-row .button{width:100%;text-align:center}}

/* v1.2.3.52 media delete controls */
.catalog-media-item,.job-media-item,.device-photo-preview-wrap{position:relative;display:inline-flex;max-width:100%;}
.media-delete-x{position:absolute;z-index:8;top:-8px;right:-8px;width:28px;height:28px;min-width:28px;padding:0;border:1px solid rgba(120,40,40,.22);border-radius:50%;background:#fff;color:#9c3030;font-size:20px;font-weight:800;line-height:25px;text-align:center;box-shadow:0 2px 10px rgba(0,0,0,.14);cursor:pointer;}
.media-delete-x:hover,.media-delete-x:focus-visible{transform:scale(1.05);outline:2px solid rgba(156,48,48,.18);}
.media-delete-x:disabled{opacity:.45;cursor:wait;}
.catalog-current-media{display:flex;flex-direction:column;gap:6px;align-items:flex-start;}
.object-existing-media{gap:12px;align-items:flex-start;}
.device-photo-preview-wrap{vertical-align:top;}
.device-draft-media-item{width:100%;}
@media (max-width:640px){.media-delete-x{top:-6px;right:-6px;width:30px;height:30px;min-width:30px;line-height:27px;}}

/* v1.2.3.52 — safe catalog draft recovery: create forms open blank and offer explicit restore. */
.catalog-draft-offer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid #e7cfc2;border-radius:12px;background:#fff8f4;color:#594b45;font-size:.92rem;}
.catalog-draft-offer-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;}
@media (max-width:640px){.catalog-draft-offer{align-items:flex-start;flex-direction:column}.catalog-draft-offer-actions{width:100%}.catalog-draft-offer-actions .compact-button{flex:1 1 150px}}

/* v1.2.3.54 device orientir supports photo or video */
.device-photo-preview video,.job-device-orient-thumb video,.job-device-summary-photo video{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;background:#111!important}.job-device-orient-thumb .media-thumb-badge,.job-device-summary-photo .media-thumb-badge,.device-photo-preview .media-thumb-badge{position:absolute;left:3px;bottom:3px;font-size:9px;line-height:1;padding:2px 4px;border-radius:5px;background:rgba(0,0,0,.65);color:#fff}.device-photo-preview,.job-device-orient-thumb,.job-device-summary-photo{position:relative!important}

/* v1.2.3.55 FIX1 — completion media lane + route-card drag handle */
.job-completion-panel .job-media-grid{
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:flex-start!important;
  gap:10px!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  padding:4px 6px 12px 2px!important;
  scrollbar-gutter:stable!important;
  scrollbar-width:thin!important;
  -webkit-overflow-scrolling:touch!important;
  overscroll-behavior-x:contain!important;
  touch-action:pan-x!important;
}
.job-completion-panel .job-media-grid::-webkit-scrollbar{height:8px}
.job-completion-panel .job-media-grid::-webkit-scrollbar-track{background:#eef2f4;border-radius:999px}
.job-completion-panel .job-media-grid::-webkit-scrollbar-thumb{background:#aeb9bf;border:2px solid #eef2f4;border-radius:999px}
.job-completion-panel .job-media-grid .job-media-item{
  position:relative!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:5px!important;
  flex:0 0 132px!important;
  width:132px!important;
  min-width:132px!important;
  max-width:132px!important;
  align-content:start!important;
  overflow:visible!important;
}
.job-completion-panel .job-media-grid .job-media-tile{
  width:132px!important;
  max-width:132px!important;
  min-width:132px!important;
  padding:6px!important;
}
.job-completion-panel .job-media-grid .job-media-tile img,
.job-completion-panel .job-media-grid .job-media-tile video{
  width:118px!important;
  height:92px!important;
  min-height:92px!important;
  max-height:92px!important;
  aspect-ratio:auto!important;
  object-fit:cover!important;
}
.job-completion-panel .job-media-grid .job-video-tile video{object-fit:contain!important;background:#111820!important}
.job-completion-panel .job-media-grid .job-media-uploader{
  width:132px!important;
  min-width:0!important;
  margin:0!important;
  padding:0 2px!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  line-height:1.18!important;
}
.job-completion-panel .job-media-grid .job-media-download{
  width:132px!important;
  min-width:132px!important;
  max-width:132px!important;
  box-sizing:border-box!important;
}
.job-completion-panel .job-media-grid .media-delete-x{
  top:4px!important;
  right:4px!important;
  width:28px!important;
  height:28px!important;
  min-width:28px!important;
  min-height:28px!important;
  transform:none!important;
  line-height:25px!important;
  z-index:20!important;
}

.job-route-drag-handle{
  position:absolute!important;
  z-index:8!important;
  left:6px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  display:grid!important;
  place-items:center!important;
  width:30px!important;
  height:44px!important;
  min-width:30px!important;
  min-height:44px!important;
  padding:0!important;
  border:1px solid #d5dde1!important;
  border-radius:10px!important;
  background:#f6f8f9!important;
  color:#53636c!important;
  font-size:18px!important;
  font-weight:900!important;
  letter-spacing:-5px!important;
  cursor:grab!important;
  touch-action:none!important;
  -webkit-touch-callout:none!important;
  -webkit-user-select:none!important;
  user-select:none!important;
  pointer-events:auto!important;
}
.job-route-drag-handle:active{cursor:grabbing!important;background:#eaf0f3!important}
.job-list[data-route-reorder="1"] .job-card{padding-left:60px!important}
.job-list[data-route-reorder="1"] .card-selector{left:40px!important}
.job-list.route-card-reordering,
.job-list.route-card-reordering .job-card,
.job-list.route-card-reordering .job-card *{
  -webkit-user-select:none!important;
  user-select:none!important;
  -webkit-touch-callout:none!important;
}
.job-list.route-card-reordering{touch-action:none!important;cursor:grabbing!important}
.job-list[data-route-reorder="1"] .job-card[data-route-reorderable="0"]{cursor:default!important}

@media(max-width:720px){
  .job-completion-panel .job-media-grid .job-media-item,
  .job-completion-panel .job-media-grid .job-media-tile,
  .job-completion-panel .job-media-grid .job-media-download{width:124px!important;min-width:124px!important;max-width:124px!important;flex-basis:124px!important}
  .job-completion-panel .job-media-grid .job-media-tile img,
  .job-completion-panel .job-media-grid .job-media-tile video{width:110px!important;height:86px!important;min-height:86px!important;max-height:86px!important}
  .job-route-drag-handle{left:5px!important;width:30px!important;height:46px!important;min-height:46px!important}
  .job-list[data-route-reorder="1"] .job-card{padding-left:59px!important}
  .job-list[data-route-reorder="1"] .card-selector{left:39px!important}
}

/* v1.2.3.55 FIX1 PATCH1 — route density, stable actions, forgiving drag + owner data export */
.queue-tabs-main .queue-route-button{background:#fff!important;color:#516069!important;border-color:var(--line)!important;box-shadow:none!important}
.queue-tabs-main .queue-route-button.active{background:var(--dark)!important;color:#fff!important;border-color:var(--dark)!important;box-shadow:none!important}
.ticket-card-secondary-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:7px;position:relative;z-index:13}
.ticket-card-secondary-actions>.more-info-button{margin:0!important}
.ticket-card-secondary-actions>.job-route-actions-inline{display:block!important;margin:0!important;vertical-align:middle!important}
.ticket-card-secondary-actions>.job-route-actions-inline>summary{min-height:32px!important;height:32px!important;display:flex!important;align-items:center!important}

/* Route queue: drag handle lives at the upper-left, not in the vertical centre of the card. */
.job-list[data-route-reorder="1"] .job-card{padding-left:50px!important}
.job-list[data-route-reorder="1"] .job-route-drag-handle{
  left:7px!important;top:9px!important;transform:none!important;
  width:32px!important;height:34px!important;min-width:32px!important;min-height:34px!important;
  border-radius:9px!important;align-self:start!important;
}
.job-list[data-route-reorder="1"] .card-selector{left:17px!important;top:auto!important;bottom:12px!important;transform:none!important}
.job-list[data-route-reorder="1"] .card-selector:hover{transform:none!important}

/* Standalone route editor: handle stays near the top and drag remains visually explicit. */
.route-list.route-list-autosave .route-touch-drag-handle{align-self:start!important;margin-top:1px!important;height:34px!important;min-height:34px!important}
.route-list-autosave li.route-drop-before{box-shadow:inset 0 3px 0 #566f7d!important}
.route-list-autosave li.route-drop-after{box-shadow:inset 0 -3px 0 #566f7d!important}

/* Desktop route queue only: preserve all data, but reduce card density like a modest browser zoom-out. */
@media(min-width:1151px){
  .route-workspace .job-list{padding:7px!important}
  .route-workspace .job-card{padding:9px 9px 8px 48px!important;margin-bottom:7px!important;border-radius:14px!important}
  .route-workspace .job-route-drag-handle{left:7px!important;top:8px!important;width:30px!important;height:32px!important;min-width:30px!important;min-height:32px!important;font-size:16px!important}
  .route-workspace .card-selector{left:16px!important;bottom:9px!important}
  .route-workspace .ticket-heading{gap:8px!important;margin-bottom:5px!important}
  .route-workspace .ticket-heading-left{gap:5px!important}
  .route-workspace .ticket-work-type{font-size:10.5px!important;line-height:1.15!important}
  .route-workspace .ticket-created,.route-workspace .ticket-id{font-size:10.5px!important;line-height:1.15!important}
  .route-workspace .ticket-main{grid-template-columns:minmax(0,1fr) 188px!important;gap:9px!important}
  .route-workspace .ticket-primary h2{font-size:14px!important;line-height:1.18!important;margin:0 0 3px!important}
  .route-workspace .address,.route-workspace .legal-line{font-size:12px!important;line-height:1.18!important;margin-top:0!important;margin-bottom:3px!important}
  .route-workspace .job-note-preview{font-size:11px!important;line-height:1.22!important;margin:5px 0 0!important}
  .route-workspace .job-last-comment{font-size:10.5px!important;line-height:1.2!important;margin-top:5px!important}
  .route-workspace .ticket-card-secondary-actions{gap:5px!important;margin-top:5px!important}
  .route-workspace .more-info-button,.route-workspace .job-route-actions-inline>summary{min-height:28px!important;height:28px!important;padding:4px 8px!important;font-size:10px!important;border-radius:9px!important}
  .route-workspace .ticket-right{gap:6px!important}
  .route-workspace .info-block{gap:2px!important;line-height:1.12!important}
  .route-workspace .info-block>span{font-size:9.5px!important}
  .route-workspace .info-block>b,.route-workspace .info-block small{font-size:10.5px!important;line-height:1.15!important}
  .route-workspace .inline-assignee-form .smart-select-button{min-height:31px!important;height:31px!important;padding-top:4px!important;padding-bottom:4px!important;font-size:10.5px!important}
  .route-workspace .ticket-bottom{gap:7px!important;margin-top:7px!important;padding-top:7px!important}
  .route-workspace .group-chip{font-size:9px!important;min-height:22px!important;padding:3px 6px!important}
}

.owner-page-head{align-items:center!important;gap:18px!important}
.owner-data-export-open{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;white-space:nowrap!important}
.owner-data-export-open svg{width:18px;height:18px;display:block}
.owner-data-export-dialog{width:min(520px,calc(100vw - 28px));max-width:520px;border:0;border-radius:18px;padding:0;background:#fff;color:var(--ink);box-shadow:0 24px 70px rgba(19,27,32,.30)}
.owner-data-export-dialog::backdrop{background:rgba(27,34,39,.58);backdrop-filter:blur(2px)}
.owner-data-export-dialog form{display:grid;gap:15px;padding:20px}
.owner-data-export-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}
.owner-data-export-head h2{margin:0 0 4px;font-size:20px}.owner-data-export-head p{margin:0;color:var(--muted);font-size:12px;line-height:1.4}
.owner-data-export-close{display:grid!important;place-items:center!important;width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;padding:0!important;border:1px solid var(--line)!important;border-radius:50%!important;background:#fff!important;color:var(--ink)!important;font-size:22px!important;line-height:1!important;box-shadow:none!important}
.owner-data-export-note{margin:0!important;font-size:11px!important;line-height:1.45!important}.owner-data-export-note code{font-size:10px;overflow-wrap:anywhere}
.owner-data-export-error{padding:9px 10px;border:1px solid #e8b8bf;border-radius:10px;background:#fff4f5;color:#a63042;font-size:12px;font-weight:700}
.owner-data-export-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}
@media(max-width:720px){.owner-page-head{align-items:stretch!important}.owner-data-export-open{width:100%!important}.owner-data-export-actions{display:grid;grid-template-columns:1fr 1fr}.owner-data-export-actions button{width:100%}.ticket-card-secondary-actions{align-items:flex-start}}


/* v1.2.3.55 FIX1 PATCH2 — final route geometry + local export clarity */
/* Keep disabled route-menu actions readable instead of nearly white/invisible. */
.job-route-actions button:disabled{
  opacity:1!important;
  color:#8a969d!important;
  background:#eef2f4!important;
  border:1px solid #e1e7ea!important;
  cursor:not-allowed!important;
}
.job-route-actions button:disabled:hover{background:#eef2f4!important;color:#8a969d!important}

/* Selector returns to the vertical centre of the left edge; drag handle remains at upper-left. */
.job-list[data-route-reorder="1"] .card-selector{
  left:17px!important;
  top:50%!important;
  bottom:auto!important;
  transform:translateY(-50%)!important;
}
.job-list[data-route-reorder="1"] .card-selector:hover{transform:translateY(-50%)!important}
@media(min-width:1151px){
  .route-workspace .card-selector{left:16px!important;top:50%!important;bottom:auto!important;transform:translateY(-50%)!important}
}

/* Give the route workspace the whole remaining desktop viewport after any bulk toolbar opens/closes. */
@media(min-width:901px){
  .route-workspace,
  .compact-workspace-benchmark.route-workspace,
  .compact-workspace-benchmark.route-workspace[data-route-selected="1"]{
    height:var(--workspace-fit-height,calc(100dvh - 205px))!important;
    min-height:420px!important;
    max-height:none!important;
  }
}

/* SD v1.2.3.56 — task required fields / warehouse materials */
.required-fields-editor{grid-column:1/-1;border:1px solid #dfe5e8;border-radius:16px;padding:14px;background:#f8fafb;display:grid;gap:12px}.required-fields-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.required-fields-head>div{display:grid;gap:3px}.required-fields-head small{color:#6f7b84;font-weight:500}.required-field-add{display:inline-flex!important;align-items:center;gap:7px;white-space:nowrap}.required-field-add svg{width:18px;height:18px}.required-fields-list{display:grid;gap:9px}.required-field-row{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:10px;align-items:end;padding:10px;border:1px solid #e4e8eb;border-radius:13px;background:#fff}.required-field-row label{margin:0}.required-fields-count{font-size:13px;color:#69757e}.required-fields-editor .form-button{margin:0}.required-fields-editor .form-button button{min-width:190px}
@media(max-width:760px){.required-fields-head{align-items:stretch;flex-direction:column}.required-field-add{justify-content:center}.required-field-row{grid-template-columns:1fr}}
.job-required-fields{grid-column:1/-1;border:1px solid #eadfd8;border-radius:16px;padding:14px;background:#fffaf7;display:grid;gap:11px}.job-required-fields[hidden]{display:none}.job-required-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.job-required-title b{font-size:15px}.job-required-title small{color:#7d726b}.job-required-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.job-required-field{margin:0}.job-required-field>span{font-weight:700;color:#48545c}.job-required-field input{margin-top:5px}
@media(max-width:900px){.job-required-grid{grid-template-columns:1fr 1fr}}@media(max-width:620px){.job-required-title{display:grid}.job-required-grid{grid-template-columns:1fr}}

/* SD v1.2.3.56 LOCAL — warehouse / material requirements */
.job-materials-preview,.executor-materials-preview{margin:6px 0 4px;padding:7px 9px;border:1px solid #d8e0e4;border-radius:10px;background:#f7f9fa;display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;font-size:11.5px;line-height:1.28;color:#34434b}
.job-materials-preview>b,.executor-materials-preview>b{color:#26343c;white-space:nowrap}.job-materials-preview>span,.executor-materials-preview>span{font-weight:800;color:#27383f}.job-materials-preview>small,.executor-materials-preview>em{font-style:normal;font-weight:800;color:#2a7954;background:#e8f7ee;border:1px solid #b9dfc9;border-radius:999px;padding:2px 7px}
.job-materials-preview.is-prepared,.executor-materials-preview.is-prepared{background:#eef9f2;border-color:#b5ddc3;color:#286b4c}.job-materials-preview.is-prepared>span,.executor-materials-preview.is-prepared>span{color:#286b4c}
.route-workspace .job-materials-preview{font-size:10px;padding:5px 7px;margin:4px 0 3px;border-radius:8px;gap:4px}.route-workspace .job-materials-preview>small{padding:1px 5px;font-size:9px}
.executor-materials-preview{display:grid;gap:2px;margin-top:5px;max-width:360px}.executor-materials-preview>b{font-size:10px}.executor-materials-preview>span{font-size:10.5px}.executor-materials-preview>em{width:max-content;font-size:9.5px}

.required-fields-editor{grid-column:1/-1;border:1px solid #dce3e6;border-radius:14px;padding:12px;background:#fafbfb;display:grid;gap:10px}.required-fields-editor-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.required-fields-editor-head h3{margin:0;font-size:14px}.required-field-add{display:inline-flex!important;align-items:center!important;gap:6px!important}.required-field-add svg{width:16px;height:16px}.required-field-list{display:grid;gap:8px}.required-field-row{display:grid;grid-template-columns:minmax(0,1fr) 155px;gap:8px;padding:9px;border:1px solid #e3e8eb;border-radius:11px;background:#fff}.required-field-row label{margin:0}.required-field-row input,.required-field-row select{margin-top:4px}.required-fields-count{font-size:11px;color:var(--muted)}
.job-required-fields{grid-column:1/-1;border:1px solid #d7e1e5;border-radius:14px;padding:12px;background:#f8fafb}.job-required-fields>header{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap;margin-bottom:9px}.job-required-fields>header b{font-size:14px}.job-required-fields>header small{color:var(--muted);font-size:11px}.job-required-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.job-required-field{margin:0}.job-required-field>span{display:block;font-size:11px;font-weight:800;color:#53636c;margin-bottom:4px}

.warehouse-page-head{align-items:flex-start}.warehouse-owner-chip{border:1px solid #d9e0e3;background:#f7f9fa;color:#617078;border-radius:999px;padding:7px 11px;font-size:11px;font-weight:750;white-space:nowrap}
.warehouse-state-tabs{display:flex;gap:8px;margin:0 0 10px}.warehouse-state-tabs a{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:7px 16px;border:1px solid var(--line);border-radius:13px;background:#fff;color:#536069;font-weight:800;text-decoration:none}.warehouse-state-tabs a.active{background:var(--dark);color:#fff;border-color:var(--dark)}
.warehouse-filter-panel{padding:11px 13px;margin-bottom:12px}.warehouse-filters{display:grid;grid-template-columns:150px 150px minmax(190px,1fr) minmax(190px,1fr) auto;gap:9px;align-items:end}.warehouse-filters label{margin:0}.warehouse-filter-actions{display:flex;gap:7px;align-items:center}.warehouse-filter-actions>*{white-space:nowrap}
.warehouse-job-list{display:grid;gap:10px}.warehouse-job-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:13px;padding:14px;border:1px solid #dce2e5;border-radius:17px;background:#fff;box-shadow:0 4px 17px rgba(35,49,58,.045)}.warehouse-job-card.is-prepared{border-color:#b8dec6;background:#fbfefc}.warehouse-job-main{min-width:0}.warehouse-job-top{display:flex;justify-content:space-between;gap:10px;align-items:center}.warehouse-job-top>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.warehouse-job-type{font-size:11px;font-weight:900;text-transform:uppercase;color:#8c5b1b}.warehouse-job-number{font-weight:850;color:#155c80}.warehouse-job-status{font-size:10px;font-weight:850;border:1px solid #e5d7bc;background:#fff9ec;color:#8e651e;padding:4px 8px;border-radius:999px}.warehouse-job-status.prepared{border-color:#b8ddc6;background:#eaf8ef;color:#2b7351}.warehouse-job-card h2{margin:7px 0 2px;font-size:18px}.warehouse-job-card .address{font-weight:750;margin:0 0 2px}.warehouse-job-card .legal-line{margin:0;color:var(--muted);font-size:12px}.warehouse-job-comment{margin:8px 0 0;font-size:12px;color:#46555d}
.warehouse-materials{margin-top:10px;padding:10px;border:1px solid #e1e6e8;border-radius:12px;background:#f8fafb}.warehouse-materials.is-prepared{background:#eef9f2;border-color:#bbdfc8}.warehouse-materials>b{display:block;font-size:12px;margin-bottom:4px}.warehouse-material-value{font-size:13px;font-weight:850;color:#27363e;margin-bottom:8px}.warehouse-materials.is-prepared .warehouse-material-value{color:#27704e}.warehouse-material-edit-list{display:flex;gap:6px;flex-wrap:wrap}.warehouse-material-edit{margin:0;min-width:0}.warehouse-material-display{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:5px!important;min-height:30px!important;height:auto!important;padding:5px 8px!important;background:#fff!important;border:1px solid #dce4e7!important;color:#31424a!important;border-radius:9px!important;text-align:left!important}.warehouse-material-display span{font-size:9px;color:#718087;font-weight:750}.warehouse-material-display b{font-size:10.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.warehouse-material-display small{font-size:8px;color:#4c8769;font-weight:800}.warehouse-material-editor{display:grid;grid-template-columns:minmax(120px,1fr) 34px 34px 34px;gap:5px;align-items:end;min-width:min(460px,100%)}.warehouse-material-editor[hidden]{display:none}.warehouse-material-editor label{margin:0}.warehouse-material-editor label span{font-size:10px;color:#69777f;font-weight:750}.warehouse-material-editor input{height:34px!important;min-height:34px!important;padding:6px 8px!important}.warehouse-material-editor>button{width:34px!important;height:34px!important;min-width:34px!important;padding:0!important;border-radius:9px!important}
.warehouse-job-side{display:grid;align-content:start;gap:8px;padding:10px;border-radius:13px;background:#f7f9fa;border:1px solid #e2e7e9}.warehouse-job-side>div{display:grid;gap:2px}.warehouse-job-side span{font-size:10px;color:#6b7880}.warehouse-job-side b{font-size:11.5px;line-height:1.25}.warehouse-job-side>small{font-weight:800;color:#29754f;background:#e6f7ed;padding:6px 8px;border-radius:9px;text-align:center}.warehouse-job-side>button{width:100%}
.warehouse-prepare-popover{position:absolute;z-index:80;right:14px;top:58px;width:min(610px,calc(100% - 28px));max-height:min(72vh,690px);overflow:auto;padding:13px;border:1px solid #d8e0e3;border-radius:16px;background:#fff;box-shadow:0 20px 55px rgba(26,36,42,.22)}.warehouse-popover-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.warehouse-popover-head>b{font-size:15px}.warehouse-popover-close{width:32px!important;height:32px!important;min-width:32px!important;min-height:32px!important;padding:0!important;border-radius:50%!important;background:#fff!important;color:#4d5c64!important;border:1px solid #dbe2e5!important;font-size:20px!important}.warehouse-prepare-choice{display:flex;gap:8px;margin-bottom:10px}.warehouse-prepare-choice form{margin:0}.warehouse-prepare-choice button{min-width:84px}.warehouse-stock-picker{display:grid;gap:9px}.warehouse-suggestion-chips{display:flex;gap:6px;overflow-x:auto;padding:2px 0 5px;scrollbar-width:thin}.warehouse-suggestion-chips button{background:#f3f6f7!important;color:#42535c!important;border:1px solid #dce3e6!important;border-radius:999px!important;padding:5px 9px!important;min-height:29px!important;height:auto!important;white-space:nowrap;font-size:10.5px!important}.warehouse-picker-items{display:grid;gap:6px;max-height:330px;overflow:auto;padding-right:3px}.warehouse-picker-item{position:relative;display:grid;grid-template-columns:24px 48px minmax(0,1fr) 92px 126px;gap:7px;align-items:center;margin:0;padding:7px;border:1px solid #e1e6e8;border-radius:11px;background:#fff;transition:.15s}.warehouse-picker-item.is-match{border-color:#aac9ba;background:#f6fcf8}.warehouse-picker-item.is-out{opacity:.68}.warehouse-picker-item[hidden]{display:none}.warehouse-picker-thumb{width:44px;height:44px;border-radius:9px;background:#eef2f4;display:grid;place-items:center;overflow:hidden;color:#7c8990;font-size:10px}.warehouse-picker-thumb img{width:100%;height:100%;object-fit:cover}.warehouse-picker-info{min-width:0;display:grid;gap:1px}.warehouse-picker-info b{font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.warehouse-picker-info small{font-size:9.5px;color:#68767e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.warehouse-picker-qty{height:34px!important;min-height:34px!important;padding:6px!important}.warehouse-picker-item select{height:34px!important;min-height:34px!important;padding:5px 6px!important;font-size:10px!important}.warehouse-stock-picker textarea{min-height:60px}.warehouse-stock-picker>button{justify-self:end}

.warehouse-history-list{display:grid;gap:10px}.warehouse-history-card{padding:14px}.warehouse-history-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.warehouse-history-head>div{display:grid;gap:2px}.warehouse-history-head small{color:var(--muted)}.warehouse-history-card>p{font-size:12px}.warehouse-allocation-list{display:grid;gap:7px;margin-top:8px}.warehouse-allocation-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 10px;border:1px solid #e0e6e8;border-radius:11px;background:#f8fafb}.warehouse-allocation-row>div{display:grid;gap:2px}.warehouse-allocation-row small{color:#5f6d74}.warehouse-return-form{display:grid;grid-template-columns:85px minmax(130px,190px) auto;gap:6px;align-items:center}.warehouse-return-form input{height:33px!important;min-height:33px!important;padding:5px 7px!important}.warehouse-return-form button{min-height:33px!important;height:33px!important;padding:5px 9px!important;font-size:10px!important}.warehouse-history-correction{margin-top:10px;border-top:1px solid #e5eaec;padding-top:8px}.warehouse-history-correction summary{cursor:pointer;font-weight:800;color:#53646c;font-size:11px}.warehouse-correction-form{display:grid;grid-template-columns:minmax(220px,1fr) 110px minmax(170px,1fr) auto;gap:7px;align-items:end;margin-top:8px}.warehouse-correction-form label{margin:0}.warehouse-correction-form button{white-space:nowrap}

.warehouse-stock-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:10px}.warehouse-stock-summary>div{display:grid;gap:4px;padding:11px 13px;border:1px solid #dde4e7;border-radius:13px;background:#fff}.warehouse-stock-summary span{font-size:10px;color:#6b7880}.warehouse-stock-summary b{font-size:20px}.warehouse-stock-tools{padding:13px;margin-bottom:10px}.warehouse-global-search{margin-top:10px}.warehouse-item-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:10px;padding:11px;border:1px solid #e1e6e9;border-radius:12px;background:#fafbfb}.warehouse-item-form.is-collapsed{display:none}.warehouse-item-form .wide-field{grid-column:span 2}.warehouse-item-form .form-button{display:flex;align-items:end}.warehouse-item-form .form-button button{width:100%}.warehouse-stock-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.warehouse-stock-card{padding:13px;border:1px solid #dce3e6;border-radius:16px;background:#fff;min-width:0}.warehouse-stock-card.is-low{border-color:#ecd29f;background:#fffdf8}.warehouse-stock-card.is-empty{border-color:#e9b8bf;background:#fffafb}.warehouse-stock-card.is-archived{opacity:.62}.warehouse-stock-card-head{display:grid;grid-template-columns:62px minmax(0,1fr) auto;gap:10px;align-items:center}.warehouse-stock-photo{width:60px;height:60px;border-radius:12px;background:#edf2f4;overflow:hidden;display:grid;place-items:center;font-size:22px;font-weight:900;color:#809098}.warehouse-stock-photo img{width:100%;height:100%;object-fit:cover}.warehouse-stock-sku{font-size:10px;color:#67757d;font-weight:800}.warehouse-stock-card h2{font-size:16px;margin:2px 0}.warehouse-stock-card-head p{margin:0;font-size:10.5px;color:#68767e}.warehouse-stock-state{align-self:start;border:1px solid #c8dfd1;background:#eff9f3;color:#317152;border-radius:999px;padding:4px 7px;font-size:9px;font-weight:850;white-space:nowrap}.warehouse-stock-card.is-low .warehouse-stock-state{border-color:#e8ca8f;background:#fff6e4;color:#8a651d}.warehouse-stock-card.is-empty .warehouse-stock-state{border-color:#e5b5bc;background:#fff0f2;color:#a6404f}.warehouse-qty-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;margin:10px 0}.warehouse-qty-row>div{display:grid;gap:2px;padding:6px;border-radius:9px;background:#f5f7f8;text-align:center}.warehouse-qty-row span{font-size:8.5px;color:#718087}.warehouse-qty-row b{font-size:11px}.warehouse-characteristics,.warehouse-aliases{font-size:10.5px;line-height:1.35;margin:6px 0;color:#4e5e66}.warehouse-item-details{margin-top:9px;border-top:1px solid #e5eaec;padding-top:7px}.warehouse-item-details>summary{cursor:pointer;font-weight:800;font-size:11px;color:#53656e}.warehouse-item-detail-grid{display:grid;grid-template-columns:1.25fr .8fr .8fr;gap:9px;align-items:start}.warehouse-item-detail-grid>.warehouse-item-form{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:9px}.warehouse-item-detail-grid>.warehouse-item-form .wide-field{grid-column:1/-1}.warehouse-movement-form,.warehouse-batch-form{display:grid;gap:7px;margin-top:9px;padding:10px;border:1px solid #e1e6e8;border-radius:11px;background:#fafbfb}.warehouse-batch-form h3{font-size:12px;margin:0}.warehouse-batches{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.warehouse-batches>b{width:100%;font-size:11px}.warehouse-batches span{font-size:9.5px;padding:4px 7px;border:1px solid #dfe5e7;border-radius:999px;background:#f7f9fa}.warehouse-movement-history{display:grid;gap:4px;margin-top:8px}.warehouse-movement-history>b{font-size:11px}.warehouse-movement-history>div{display:flex;justify-content:space-between;gap:8px;padding:4px 0;border-bottom:1px dashed #e1e6e8;font-size:9.5px;color:#5d6b73}

@media(max-width:1050px){.warehouse-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.warehouse-filter-actions{grid-column:1/-1}.warehouse-job-card{grid-template-columns:minmax(0,1fr) 205px}.warehouse-stock-grid{grid-template-columns:1fr}.warehouse-item-detail-grid{grid-template-columns:1fr}.warehouse-correction-form{grid-template-columns:1fr 110px}.warehouse-correction-form label:nth-of-type(3){grid-column:1/-1}.warehouse-correction-form button{grid-column:1/-1;justify-self:start}}
@media(max-width:720px){
 .job-required-list{grid-template-columns:1fr}.required-field-row{grid-template-columns:1fr}.warehouse-owner-chip{display:none}.warehouse-state-tabs{position:sticky;top:0;z-index:20;background:var(--page,#f4f6f7);padding:5px 0}.warehouse-state-tabs a{flex:1}.warehouse-filters{grid-template-columns:1fr 1fr}.warehouse-filters label:nth-of-type(3),.warehouse-filters label:nth-of-type(4),.warehouse-filter-actions{grid-column:1/-1}.warehouse-filter-actions>*{flex:1}.warehouse-job-card{grid-template-columns:1fr;padding:11px}.warehouse-job-side{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.warehouse-job-side>button,.warehouse-job-side>small{grid-column:1/-1}.warehouse-job-side b{font-size:10.5px}.warehouse-prepare-popover{position:fixed;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));top:auto;width:auto;max-height:72vh;border-radius:18px}.warehouse-picker-item{grid-template-columns:22px 42px minmax(0,1fr) 78px}.warehouse-picker-item select{grid-column:3/-1}.warehouse-history-head{display:grid}.warehouse-allocation-row{grid-template-columns:1fr}.warehouse-return-form{grid-template-columns:82px minmax(0,1fr);}.warehouse-return-form button{grid-column:1/-1}.warehouse-correction-form{grid-template-columns:1fr}.warehouse-correction-form label:nth-of-type(3),.warehouse-correction-form button{grid-column:auto}.warehouse-stock-summary{grid-template-columns:1fr 1fr}.warehouse-item-form{grid-template-columns:1fr}.warehouse-item-form .wide-field{grid-column:auto}.warehouse-stock-card-head{grid-template-columns:54px minmax(0,1fr)}.warehouse-stock-photo{width:52px;height:52px}.warehouse-stock-state{grid-column:1/-1;justify-self:start}.warehouse-qty-row{grid-template-columns:repeat(3,minmax(0,1fr))}.warehouse-item-detail-grid>.warehouse-item-form{grid-template-columns:1fr}.warehouse-item-detail-grid>.warehouse-item-form .wide-field{grid-column:auto}.warehouse-movement-history>div{display:grid;gap:1px}.job-materials-preview{display:grid;gap:2px}.route-workspace .job-materials-preview{display:grid}}
.job-detail-materials{display:flex;gap:7px;flex-wrap:wrap;align-items:center}.job-detail-materials>span{padding:5px 8px;border:1px solid #dce3e6;border-radius:9px;background:#f7f9fa;font-size:11px}.job-detail-materials.is-prepared>span{border-color:#b9dfc7;background:#edf9f1;color:#296f4f}.job-detail-materials>small{font-weight:850;color:#28734f;background:#e8f7ee;border-radius:999px;padding:4px 8px}
.manager-warehouse-history{margin-top:12px}.manager-warehouse-history-list{display:grid;gap:4px}.manager-warehouse-history-list article{display:grid;grid-template-columns:120px minmax(0,1fr) 190px;gap:10px;align-items:start;padding:8px 0;border-bottom:1px solid #e6eaec}.manager-warehouse-history-list time{font-size:10px;color:#68767e}.manager-warehouse-history-list article>div{display:grid;gap:2px}.manager-warehouse-history-list b{font-size:11px}.manager-warehouse-history-list span,.manager-warehouse-history-list small{font-size:10px;color:#5c6a72}.manager-warehouse-actor{text-align:right;font-weight:750}@media(max-width:720px){.manager-warehouse-history-list article{grid-template-columns:1fr}.manager-warehouse-actor{text-align:left}}

@media(max-width:720px){.warehouse-material-edit-list{display:grid}.warehouse-material-display{width:100%;grid-template-columns:80px minmax(0,1fr) auto}.warehouse-material-editor{grid-template-columns:minmax(0,1fr) 34px 34px 34px;min-width:0}.warehouse-material-editor label{min-width:0}}

.manager-warehouse-subtitle{margin:12px 0 5px;font-size:11px;color:#53656e;text-transform:uppercase;letter-spacing:.04em}.manager-warehouse-prepared-list article{background:#f5fbf7;border-radius:9px;padding:8px}

/* v1.2.3.57 LOCAL — multi-task + warehouse UX corrective pass */
/* Clearer selected values in searchable contractor/object/task controls. */
.smart-select.has-value>.smart-select-button,.smart-select-button.has-value{background:linear-gradient(180deg,#fff8f4 0%,#fff1e9 100%)!important;border-color:#efb392!important;box-shadow:inset 0 0 0 1px rgba(239,173,142,.13)!important;color:#35424a!important}
.smart-select.has-value>.smart-select-button:hover{background:#fff0e7!important;border-color:#e8a27e!important}
.smart-select-option.selected,.smart-select-option[aria-selected="true"]{background:#fff0e8!important;color:#3e484e!important;box-shadow:inset 3px 0 0 var(--accent)!important}

/* Required MЦ/ЗИП editor: state selector + immediate Delete button on the right. */
.required-field-row{grid-template-columns:minmax(0,1fr) 150px auto!important;align-items:end!important}
.required-field-delete{height:42px!important;min-height:42px!important;padding:8px 12px!important;background:#fff!important;color:var(--danger)!important;border-color:#e4b7bf!important;font-weight:750!important;box-shadow:none!important}
.required-field-delete:hover{background:#fff2f4!important;border-color:#d9929e!important;transform:none!important}

/* Main list: materials live in the right rail under the assignee and do not make the card unnecessarily tall. */
.ticket-right .job-materials-side{margin:7px 0 0!important;width:100%!important;max-width:220px!important;text-align:left!important;display:grid!important;gap:4px!important;padding:7px 8px!important;border-radius:10px!important;align-items:stretch!important}
.ticket-right .job-materials-side>b{font-size:10px!important;line-height:1.2!important;white-space:normal!important;color:#536169!important}
.ticket-right .job-materials-scroll{display:block!important;max-height:58px!important;overflow-y:auto!important;overflow-x:hidden!important;padding-right:3px!important;scrollbar-width:thin!important;line-height:1.3!important;font-size:10.5px!important;font-weight:750!important;color:#2f3d44!important}
.ticket-right .job-materials-side.is-prepared .job-materials-scroll{color:#286b4c!important}
.ticket-right .job-materials-side>small{justify-self:start!important;font-size:9.5px!important;padding:2px 6px!important}
.route-workspace .ticket-right .job-materials-side{max-height:70px!important;margin-top:4px!important;padding:5px 6px!important}.route-workspace .ticket-right .job-materials-scroll{max-height:42px!important;font-size:9.5px!important}

/* Full job card: readable typography and explicit grouping for multiple task types. */
.job-detail-materials{display:grid!important;gap:7px!important;align-items:start!important}
.job-detail-material-group{display:grid;gap:5px;padding:8px 10px;border:1px solid #dce3e6;border-radius:11px;background:#f8fafb;max-width:100%}
.job-detail-material-type{font-size:12px!important;line-height:1.3!important;color:#5d6870!important;font-weight:800!important}
.job-detail-material-values{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.job-detail-material-values>span{display:inline-flex;gap:4px;align-items:baseline;padding:5px 8px;border:1px solid #d9e0e4;border-radius:9px;background:#fff;font-size:13px!important;line-height:1.35!important;color:#263139!important;font-weight:450!important}
.job-detail-material-values>span>b{font-size:12px!important;color:#3f4d55!important;font-weight:800!important}
.job-detail-materials.is-prepared .job-detail-material-group{border-color:#b9dfc7;background:#f1faf4}.job-detail-materials.is-prepared .job-detail-material-values>span{border-color:#c9e6d4;background:#fff;color:#296f4f}
.job-detail-materials>small{justify-self:start;font-size:10px!important}

/* Completion / review media: no squeezed strips; every file has a stable compact card, readable attribution and round X. */
.manager-completion-media-grid,.review-evidence-grid{align-items:start!important}
.manager-media-tile .job-media-grid,.review-photo-tile .review-media-grid{display:flex!important;gap:10px!important;align-items:flex-start!important;flex-wrap:nowrap!important;overflow-x:auto!important;overflow-y:visible!important;padding:8px 8px 12px 2px!important;scrollbar-width:thin!important;-webkit-overflow-scrolling:touch!important}
.manager-media-tile .job-media-item,.review-photo-tile .job-media-item{position:relative!important;display:grid!important;grid-template-columns:1fr!important;gap:5px!important;flex:0 0 126px!important;width:126px!important;min-width:126px!important;max-width:126px!important;overflow:visible!important;align-content:start!important}
.manager-media-tile .job-media-tile,.review-photo-tile .job-media-tile{display:grid!important;width:126px!important;min-width:126px!important;max-width:126px!important;padding:6px!important;border-radius:10px!important;overflow:hidden!important}
.manager-media-tile .job-media-tile img,.manager-media-tile .job-media-tile video,.review-photo-tile .job-media-tile img,.review-photo-tile .job-media-tile video{display:block!important;width:112px!important;height:82px!important;min-height:82px!important;max-height:82px!important;object-fit:cover!important;border-radius:7px!important;background:#10171c!important}
.manager-media-tile .job-video-tile video,.review-photo-tile .job-video-tile video{object-fit:contain!important}
.manager-media-tile .job-media-tile small,.review-photo-tile .job-media-tile small{display:block!important;width:112px!important;max-width:112px!important;min-width:0!important;padding-top:4px!important;font-size:9.5px!important;line-height:1.22!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.manager-media-tile .job-media-uploader,.review-photo-tile .job-media-uploader{display:block!important;width:126px!important;max-width:126px!important;min-width:0!important;font-size:9.5px!important;line-height:1.22!important;white-space:normal!important;overflow-wrap:anywhere!important;color:#6b7880!important}
.review-photo-tile .job-media-download{width:126px!important;min-width:126px!important;max-width:126px!important;min-height:28px!important;height:28px!important;padding:4px 7px!important;font-size:9.5px!important}
.manager-media-tile .media-delete-x,.review-photo-tile .media-delete-x,.manager-completion-media-panel .media-delete-x,.review-evidence-grid .media-delete-x{position:absolute!important;top:-8px!important;right:-8px!important;width:30px!important;height:30px!important;min-width:30px!important;min-height:30px!important;padding:0!important;border-radius:50%!important;background:#fff!important;color:#a63849!important;border:1px solid #e3b7be!important;font-size:21px!important;font-weight:750!important;line-height:27px!important;display:grid!important;place-items:center!important;box-shadow:0 3px 11px rgba(70,30,35,.16)!important;z-index:30!important;transform:none!important}
.manager-media-tile .media-delete-x:hover,.review-photo-tile .media-delete-x:hover{background:#fff1f3!important;transform:none!important}

/* Multi-task required fields during job create/copy. */
.job-required-list{display:grid;gap:10px}.job-required-type-group{margin:0;padding:11px;border:1px solid #dfe5e8;border-radius:13px;background:#fafbfb}.job-required-type-group>legend{font-size:12px;font-weight:850;color:#4a5860;background:#fff5ef;border:1px solid #f0d4c5;border-radius:999px;padding:4px 9px}.job-required-type-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.job-required-field{min-width:0}

/* Warehouse picker: preferred previous exact choice is visibly separated; image remains a viewer control, not a checkbox target. */
.warehouse-picker-item.is-preferred{border-color:#e6c39e!important;background:#fffaf4!important}.warehouse-picker-item.is-preferred:before{content:"Последний выбор";position:absolute;right:8px;top:-8px;padding:2px 6px;border-radius:999px;background:#fff0df;border:1px solid #e9c99f;color:#87612d;font-size:8px;font-weight:850;z-index:2}.warehouse-picker-thumb>a{display:block;width:100%;height:100%;cursor:zoom-in}.warehouse-picker-thumb>a:hover{outline:2px solid rgba(239,173,142,.35);outline-offset:2px;border-radius:9px}
.warehouse-picker-hint{font-size:10px;color:#8b5d16;background:#fff7e9;border:1px solid #edd9b1;padding:7px 9px;border-radius:9px}

/* Warehouse comments and history controls. */
.warehouse-comment-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;align-items:end;margin-top:8px}.warehouse-comment-form textarea{min-height:54px!important;max-height:110px}.warehouse-comment-form button{min-height:38px!important}.warehouse-job-comment{margin:6px 0!important;font-size:11px!important;line-height:1.35!important}.warehouse-job-comment.latest{padding:6px 8px;border-radius:9px;background:#f6f8f9}
.warehouse-pagination{display:flex;justify-content:center;gap:5px;margin:16px 0 4px}.warehouse-pagination a{display:grid;place-items:center;min-width:34px;height:34px;padding:0 9px;border:1px solid var(--line);border-radius:9px;background:#fff;color:#536169;font-weight:750}.warehouse-pagination a.active{background:var(--dark);border-color:var(--dark);color:#fff}.warehouse-history-filters{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr)) auto;gap:8px;align-items:end;margin-bottom:12px}

/* Warehouse stock: logical wide forms and less cramped controls. */
.warehouse-stock-search-row{display:grid;grid-template-columns:minmax(260px,1fr) minmax(210px,300px);gap:9px;align-items:center}.warehouse-global-search{margin:0!important}
.warehouse-item-form-primary{grid-template-columns:repeat(4,minmax(145px,1fr))!important;gap:10px!important}.warehouse-item-form-primary .wide-field{grid-column:span 2!important}.warehouse-item-form-primary label{min-width:0}.warehouse-item-form-primary input,.warehouse-item-form-primary select,.warehouse-item-form-primary textarea{min-width:0}.warehouse-item-form-primary textarea{min-height:82px}.warehouse-item-detail-grid{grid-template-columns:minmax(0,1.55fr) minmax(210px,.65fr) minmax(210px,.65fr)!important;gap:10px!important}.warehouse-item-detail-grid>.warehouse-item-form-primary{grid-template-columns:repeat(2,minmax(150px,1fr))!important}.warehouse-item-detail-grid>.warehouse-item-form-primary .wide-field{grid-column:1/-1!important}.warehouse-movement-form label,.warehouse-batch-form label{min-width:0}.warehouse-movement-form input,.warehouse-movement-form select,.warehouse-batch-form input{min-width:0}
.warehouse-stock-photo>a{display:block;width:100%;height:100%;cursor:zoom-in}

/* Warehouse nav counter mirrors job-distribution badge. */
.topbar nav>a>.job-distribution-count{margin-left:5px}

@media(max-width:1050px){.job-required-type-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.warehouse-item-form-primary{grid-template-columns:repeat(2,minmax(0,1fr))!important}.warehouse-item-form-primary .wide-field{grid-column:1/-1!important}.warehouse-history-filters{grid-template-columns:1fr 1fr}.warehouse-history-filters>*:last-child{grid-column:1/-1}.warehouse-item-detail-grid{grid-template-columns:1fr!important}}
@media(max-width:720px){.required-field-row{grid-template-columns:1fr!important}.required-field-delete{width:100%!important}.ticket-right .job-materials-side{max-width:none!important;width:100%!important}.ticket-right .job-materials-scroll{max-height:70px!important}.job-required-type-grid{grid-template-columns:1fr}.job-detail-material-values{display:grid}.job-detail-material-values>span{width:100%}.warehouse-picker-item.is-preferred:before{position:static;grid-column:1/-1;justify-self:start}.warehouse-comment-form{grid-template-columns:1fr}.warehouse-history-filters{grid-template-columns:1fr}.warehouse-stock-search-row{grid-template-columns:1fr}.warehouse-item-form-primary{grid-template-columns:1fr!important}.warehouse-item-form-primary .wide-field{grid-column:auto!important}.manager-media-tile .job-media-item,.review-photo-tile .job-media-item,.manager-media-tile .job-media-tile,.review-photo-tile .job-media-tile{width:118px!important;min-width:118px!important;max-width:118px!important;flex-basis:118px!important}.manager-media-tile .job-media-tile img,.manager-media-tile .job-media-tile video,.review-photo-tile .job-media-tile img,.review-photo-tile .job-media-tile video{width:104px!important;height:78px!important}.manager-media-tile .job-media-uploader,.review-photo-tile .job-media-uploader,.review-photo-tile .job-media-download{width:118px!important;max-width:118px!important;min-width:118px!important}}


/* v1.2.3.58 LOCAL — .57 smoke-test corrective: viewers, catalog selection, review media, warehouse layout */
/* Viewer controls are circular and geometrically fixed. Generic button hover must never alter their positioning. */
.image-viewer-gallery.single-image .image-viewer-nav,
.image-viewer-gallery.single-image .image-viewer-counter{display:none!important}
.image-viewer-nav,
.job-media-viewer-overlay .image-viewer-prev,
.job-media-viewer-overlay .image-viewer-next{
  width:52px!important;height:52px!important;min-width:52px!important;min-height:52px!important;
  padding:0!important;border-radius:50%!important;display:grid!important;place-items:center!important;
  top:50%!important;transform:translateY(-50%)!important;line-height:1!important;font-size:34px!important;
  transition:background-color .14s ease,border-color .14s ease,box-shadow .14s ease!important;
}
.image-viewer-nav:hover,.image-viewer-nav:active,
.job-media-viewer-overlay .image-viewer-prev:hover,.job-media-viewer-overlay .image-viewer-prev:active,
.job-media-viewer-overlay .image-viewer-next:hover,.job-media-viewer-overlay .image-viewer-next:active{
  transform:translateY(-50%)!important;box-shadow:0 7px 22px rgba(0,0,0,.18)!important
}
.image-viewer-close{
  width:48px!important;height:48px!important;min-width:48px!important;min-height:48px!important;
  padding:0!important;border-radius:50%!important;display:grid!important;place-items:center!important;
  font-size:29px!important;line-height:1!important;text-align:center!important;transform:none!important;
  transition:background-color .14s ease,border-color .14s ease,box-shadow .14s ease!important
}
.image-viewer-close:hover,.image-viewer-close:active{transform:none!important;box-shadow:0 7px 22px rgba(0,0,0,.16)!important}
.image-viewer-nav svg{width:21px;height:21px;display:block;pointer-events:none}.image-viewer-close svg{width:20px;height:20px;display:block;pointer-events:none}

/* Open management entity = clear selected state without changing accepted geometry. */
.management-page-list .entity-card[open]>summary{
  background:linear-gradient(180deg,rgba(255,241,233,.78),rgba(255,248,244,.58))!important;
  box-shadow:inset 4px 0 0 rgba(239,173,142,.78)!important
}
.management-page-list .entity-card[open]>summary .entity-summary-main>b{
  display:inline-block;transform:scale(1.025);transform-origin:left center;color:#29363d!important
}

/* Manager review: fill desktop width, then wrap media into the next rows instead of nested horizontal strips. */
@media(min-width:901px){
  .review-evidence-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;align-items:stretch!important}
  .review-photo-tile .review-media-grid,.manager-media-tile .job-media-grid{
    display:grid!important;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))!important;
    gap:10px!important;overflow:visible!important;padding:8px 2px 10px!important;align-items:start!important
  }
  .review-photo-tile .job-media-item,.manager-media-tile .job-media-item{
    width:auto!important;min-width:0!important;max-width:none!important;display:grid!important;gap:5px!important;overflow:visible!important
  }
  .review-photo-tile .job-media-tile,.manager-media-tile .job-media-tile{
    width:100%!important;min-width:0!important;max-width:none!important;padding:7px!important
  }
  .review-photo-tile .job-media-tile img,.review-photo-tile .job-media-tile video,
  .manager-media-tile .job-media-tile img,.manager-media-tile .job-media-tile video{
    width:100%!important;height:auto!important;min-height:108px!important;max-height:180px!important;aspect-ratio:4/3!important;object-fit:contain!important
  }
  .review-photo-tile .job-media-tile small,.manager-media-tile .job-media-tile small,
  .review-photo-tile .job-media-uploader,.manager-media-tile .job-media-uploader,
  .review-photo-tile .job-media-download{
    width:100%!important;min-width:0!important;max-width:none!important
  }
  .review-photo-tile .job-media-tile small,.manager-media-tile .job-media-tile small{white-space:normal!important;overflow-wrap:anywhere!important}
}

/* Multi-task required fields: task groups and controls share one adaptive grid/rhythm. */
.job-required-grid{
  display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,390px),1fr))!important;
  gap:12px!important;align-items:stretch!important
}
.job-required-type-group{display:grid!important;align-content:start!important;min-width:0!important;padding:14px!important}
.job-required-type-grid{
  display:grid!important;grid-template-columns:repeat(auto-fit,minmax(175px,1fr))!important;
  gap:11px 12px!important;align-items:end!important
}
.job-required-field{display:grid!important;grid-template-rows:minmax(34px,auto) 44px!important;align-items:end!important;min-width:0!important;margin:0!important}
.job-required-field>span{display:flex!important;align-items:flex-end!important;min-height:34px!important;margin:0 0 5px!important;line-height:1.2!important}
.job-required-field input{width:100%!important;min-width:0!important;height:44px!important;min-height:44px!important;margin:0!important;padding:9px 11px!important}

/* Warehouse queue: comments are a compact right-rail conversation; action stays pinned to the bottom. */
.warehouse-job-card{grid-template-columns:minmax(0,1fr) minmax(290px,330px)!important;align-items:stretch!important}
.warehouse-job-side{display:flex!important;flex-direction:column!important;min-height:100%!important;gap:9px!important;padding:11px!important}
.warehouse-job-side-meta{display:grid!important;grid-template-columns:1fr!important;gap:7px!important}
.warehouse-job-side-meta>div{display:grid;gap:2px;min-width:0}
.warehouse-job-comments{display:grid;gap:6px;min-height:0;margin-top:1px;border-top:1px solid #e1e6e8;padding-top:8px}
.warehouse-job-comments-title{font-size:10.5px;color:#52616a}
.warehouse-job-comments-scroll{display:grid;align-content:start;gap:6px;min-height:74px;max-height:154px;overflow:auto;padding:2px 4px 2px 0;scrollbar-width:thin}
.warehouse-job-comment-entry{padding:6px 7px;border:1px solid #e2e7e9;border-radius:9px;background:#fff}
.warehouse-job-comment-entry.is-manager{background:#fff8f4;border-color:#efd6c8}
.warehouse-job-comment-entry header{display:flex;justify-content:space-between;gap:7px;align-items:baseline}
.warehouse-job-comment-entry header b{font-size:9.5px!important;color:#46545c}.warehouse-job-comment-entry time{font-size:8.5px;color:#8a969d;white-space:nowrap}
.warehouse-job-comment-entry p{margin:3px 0 0;font-size:10px;line-height:1.32;color:#45545c;overflow-wrap:anywhere}
.warehouse-comment-form{display:grid!important;grid-template-columns:minmax(0,1fr) 38px!important;gap:6px!important;align-items:center!important;margin:0!important}
.warehouse-comment-form input{height:38px!important;min-height:38px!important;min-width:0!important;padding:7px 9px!important;font-size:10.5px!important}
.warehouse-comment-send{width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important;padding:0!important;border-radius:10px!important;display:grid!important;place-items:center!important;background:#fff!important;color:#33434b!important;border:1px solid #ccd6db!important;transform:none!important;box-shadow:none!important}
.warehouse-comment-send:hover,.warehouse-comment-send:active{background:#f4f7f8!important;transform:none!important;box-shadow:none!important}
.warehouse-comment-send svg{width:18px;height:18px;display:block}
.warehouse-job-side-action{margin-top:auto!important;padding-top:2px!important}.warehouse-job-side-action>button,.warehouse-job-side-action>small{display:flex!important;width:100%!important;min-height:42px!important;align-items:center!important;justify-content:center!important;text-align:center!important;border-radius:10px!important}
.warehouse-job-side-action>small{font-weight:800;color:#29754f;background:#e6f7ed;padding:6px 8px}

/* Warehouse picker: compact checkbox, deterministic alignment. */
.warehouse-picker-item{grid-template-columns:20px 48px minmax(0,1fr) 96px 132px!important;column-gap:8px!important}
.warehouse-picker-item>input[type="checkbox"]{width:18px!important;height:18px!important;min-width:18px!important;min-height:18px!important;margin:0!important;justify-self:center!important;align-self:center!important}

/* Warehouse history: every preparation is a clearly separated card. */
.warehouse-history-list{gap:14px!important}
.warehouse-history-card{padding:0!important;border:1px solid #dce3e6!important;border-radius:15px!important;background:#fff!important;box-shadow:0 5px 18px rgba(35,49,58,.055)!important;overflow:hidden!important}
.warehouse-history-head{padding:13px 14px!important;background:#fafbfb!important;border-bottom:1px solid #e4e9eb!important}
.warehouse-allocation-list{margin:0!important;padding:11px 14px 12px!important}
.warehouse-history-correction{margin:0 14px 13px!important;padding:9px 0 0!important}

/* Warehouse stock operations: no nested 3-column squeeze inside a half-width stock card. */
.warehouse-item-detail-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;align-items:start!important}
.warehouse-item-detail-grid>.warehouse-item-form-primary{
  grid-column:1/-1!important;display:grid!important;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))!important;
  gap:10px!important;margin-top:9px!important;min-width:0!important
}
.warehouse-item-detail-grid>.warehouse-item-form-primary .wide-field{grid-column:span 2!important}
.warehouse-item-detail-grid>.warehouse-item-form-primary label,.warehouse-movement-form label,.warehouse-batch-form label{min-width:0!important;margin:0!important}
.warehouse-item-detail-grid input,.warehouse-item-detail-grid select,.warehouse-item-detail-grid textarea{width:100%!important;min-width:0!important;max-width:100%!important;box-sizing:border-box!important}
.warehouse-item-detail-grid input,.warehouse-item-detail-grid select{min-height:42px!important;height:42px!important}
.warehouse-item-detail-grid textarea{min-height:78px!important;resize:vertical!important}
.warehouse-item-detail-grid button{max-width:100%!important;min-height:42px!important}
.warehouse-movement-form,.warehouse-batch-form{min-width:0!important;grid-template-columns:1fr!important;align-content:start!important}
.warehouse-movement-history{max-height:190px!important;overflow:auto!important;padding:8px 9px!important;border:1px solid #e1e6e8!important;border-radius:10px!important;background:#fafbfb!important;scrollbar-width:thin!important}
.warehouse-movement-history>b{position:sticky;top:-8px;z-index:2;display:block;padding:4px 0 7px;background:#fafbfb}
.warehouse-movement-history>div{min-width:0!important}

@media(max-width:1050px){
  .warehouse-job-card{grid-template-columns:minmax(0,1fr) minmax(250px,300px)!important}
  .warehouse-item-detail-grid{grid-template-columns:1fr!important}
  .warehouse-item-detail-grid>.warehouse-item-form-primary .wide-field{grid-column:1/-1!important}
}
@media(max-width:720px){
  .image-viewer-nav,.job-media-viewer-overlay .image-viewer-prev,.job-media-viewer-overlay .image-viewer-next{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;font-size:30px!important}
  .image-viewer-close{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;font-size:27px!important}
  .warehouse-job-card{grid-template-columns:1fr!important}
  .warehouse-job-side{display:flex!important}.warehouse-job-side-meta{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .warehouse-picker-item{grid-template-columns:20px 42px minmax(0,1fr) 78px!important}
  .warehouse-picker-item select{grid-column:3/-1!important}
  .job-required-grid,.job-required-type-grid{grid-template-columns:1fr!important}
  .job-required-field{grid-template-rows:auto 44px!important}.job-required-field>span{min-height:0!important}
  .warehouse-item-detail-grid>.warehouse-item-form-primary{grid-template-columns:1fr!important}.warehouse-item-detail-grid>.warehouse-item-form-primary .wide-field{grid-column:auto!important}
}

/* v1.2.3.60 LOCAL — warehouse cards/stock tabs, targeted devices, compact preview */

/* Warehouse queue: desktop cards use the available canvas as a compact card grid. */
.warehouse-job-list{display:grid;grid-template-columns:1fr;gap:14px;align-items:start!important}
.warehouse-job-card{align-self:start!important;min-width:0!important;height:auto!important}
.warehouse-job-number{display:inline-block;margin-left:7px;color:#17618b;font-weight:900;letter-spacing:.01em;cursor:default;text-decoration:none}
.warehouse-job-main{min-width:0!important}
.warehouse-job-device-info{margin-top:10px;border:1px solid #dce4e7;border-radius:12px;background:#fafcfc;overflow:hidden}
.warehouse-job-device-info>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 11px;cursor:pointer;font-size:11px;font-weight:850;color:#4c5d65;list-style:none}
.warehouse-job-device-info>summary::-webkit-details-marker{display:none}
.warehouse-job-device-info>summary span{display:grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#edf2f4;color:#56666f;font-size:9.5px}
.warehouse-job-device-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:7px;padding:0 9px 9px}
.warehouse-job-device-card{min-width:0;border:1px solid #dfe5e8;border-radius:10px;background:#f6f8f9;overflow:hidden}
.warehouse-job-device-card.is-job-target{border-color:#a9d6bb;background:#eef9f2;box-shadow:inset 3px 0 0 #78bb91}
.warehouse-job-device-card>summary{display:grid;gap:2px;padding:8px 9px;cursor:pointer;list-style:none}
.warehouse-job-device-card>summary::-webkit-details-marker{display:none}
.warehouse-job-device-card>summary b{font-size:10.5px;color:#314149}.warehouse-job-device-card>summary span{font-size:9.5px;line-height:1.25;color:#69777e;overflow-wrap:anywhere}
.warehouse-job-device-detail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 9px;padding:8px 9px;border-top:1px solid #dfe6e8;background:rgba(255,255,255,.65)}
.warehouse-job-device-detail span{font-size:9.5px;line-height:1.3;color:#506068;min-width:0;overflow-wrap:anywhere}.warehouse-job-device-detail em{grid-column:1/-1;font-style:normal;font-size:9.5px;font-weight:850;color:#267349}

@media(min-width:1320px){
  .warehouse-job-list{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .warehouse-job-card{grid-template-columns:minmax(0,1fr) minmax(210px,245px)!important;gap:10px!important;padding:12px!important}
  .warehouse-job-card .warehouse-job-main h2{font-size:17px!important;margin:6px 0 2px!important}
  .warehouse-job-card .warehouse-materials{margin-top:9px!important}
  .warehouse-job-card .warehouse-job-side{padding:9px!important;gap:7px!important}
  .warehouse-job-comments-scroll{max-height:122px!important}
}
@media(min-width:1700px){
  .warehouse-job-card{grid-template-columns:minmax(0,1fr) 255px!important}
}

/* Warehouse stock: opened card never stretches its grid neighbour; tabs expose one editing zone at a time. */
.warehouse-stock-grid{align-items:start!important}
.warehouse-stock-card{align-self:start!important;height:auto!important;min-height:0!important}
.warehouse-item-details{margin-top:10px!important;padding-top:8px!important}
.warehouse-item-details>summary{display:inline-flex;align-items:center;min-height:34px;padding:6px 10px;border:1px solid #d9e1e4;border-radius:9px;background:#fff;color:#44565f!important;transition:background .12s,border-color .12s}
.warehouse-item-details>summary:hover{background:#f7f9fa;border-color:#cbd6da}
.warehouse-item-tabs{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:9px;padding-bottom:9px;border-bottom:1px solid #e3e8ea}
.warehouse-item-tab{width:auto!important;min-width:0!important;min-height:36px!important;height:36px!important;padding:7px 12px!important;border:1px solid #d4dde1!important;border-radius:10px!important;background:#fff!important;color:#45565f!important;font-size:10.5px!important;font-weight:850!important;box-shadow:none!important;transform:none!important}
.warehouse-item-tab:hover{background:#f5f7f8!important;transform:none!important}
.warehouse-item-tab.is-active{background:#343d42!important;border-color:#343d42!important;color:#fff!important}
.warehouse-item-tab.warehouse-operation-tab{margin-left:auto!important;background:#fff0e8!important;border-color:#f0b293!important;color:#934c2b!important}
.warehouse-item-tab.warehouse-operation-tab:hover{background:#ffe5d8!important}
.warehouse-item-tab.warehouse-operation-tab.is-active{background:#efaa88!important;border-color:#efaa88!important;color:#42291e!important}
.warehouse-item-panel{padding-top:10px;min-width:0}
.warehouse-item-panel[hidden]{display:none!important}
.warehouse-item-edit-form{margin:0!important;padding:11px!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:9px!important}
.warehouse-item-edit-form label{min-width:0!important;margin:0!important}.warehouse-item-edit-form input,.warehouse-item-edit-form select,.warehouse-item-edit-form textarea{width:100%!important;min-width:0!important;box-sizing:border-box!important}
.warehouse-item-edit-form input,.warehouse-item-edit-form select{height:39px!important;min-height:39px!important;padding:7px 9px!important}.warehouse-item-edit-form textarea{min-height:72px!important}
.warehouse-item-edit-form .wide-field{grid-column:span 2!important}
.warehouse-item-edit-form>button{align-self:end!important;min-height:39px!important;height:39px!important}
.warehouse-item-active-check{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:7px!important;align-self:end!important;min-height:39px!important;padding:0 3px!important;font-size:10.5px!important;font-weight:800!important}
.warehouse-item-active-check input[type="checkbox"]{width:18px!important;height:18px!important;min-width:18px!important;min-height:18px!important;max-width:18px!important;max-height:18px!important;margin:0!important;padding:0!important;flex:0 0 18px!important}
.warehouse-batch-form-wide,.warehouse-movement-form-wide{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important;margin:0!important;padding:11px!important}
.warehouse-batch-form-wide label,.warehouse-movement-form-wide label{min-width:0!important;margin:0!important}.warehouse-batch-form-wide input,.warehouse-movement-form-wide input,.warehouse-movement-form-wide select{height:40px!important;min-height:40px!important;width:100%!important;min-width:0!important;box-sizing:border-box!important}
.warehouse-batch-form-wide button,.warehouse-movement-form-wide button{min-height:40px!important;height:40px!important;align-self:end!important}
.warehouse-batches-panel{margin:9px 0 0!important;padding:9px!important;border:1px solid #e0e6e8;border-radius:10px;background:#fafbfb}
.warehouse-empty-subpanel{margin-top:9px;padding:10px;border:1px dashed #dbe2e5;border-radius:10px;background:#fafbfb}
.warehouse-movement-history{margin-top:10px!important;max-height:230px!important;padding:10px 11px!important;background:#fbfcfc!important}
.warehouse-movement-history>b{font-size:12px!important;color:#34454d!important;padding-bottom:8px!important}
.warehouse-movement-history>div{display:grid!important;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr)!important;gap:10px!important;padding:7px 2px!important;font-size:11px!important;line-height:1.35!important;color:#4c5c64!important}
.warehouse-movement-history>div span:last-child{text-align:right;color:#68767d}

/* Create job: selected devices are explicit work targets, all other devices stay readable reference cards. */
.job-target-devices{margin:13px 0;padding:13px;border:1px solid #d9e2e5;border-radius:14px;background:#f8fafb}
.job-target-devices-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:10px}
.job-target-devices-head>div{display:grid;gap:3px}.job-target-devices-head b{font-size:14px}.job-target-devices-head small{font-size:10.5px;line-height:1.35;color:#68777f;max-width:680px}.job-target-devices-head>span{flex:0 0 auto;padding:5px 9px;border-radius:999px;background:#edf2f4;color:#57666e;font-size:9.5px;font-weight:850}
.job-target-device-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:9px;align-items:stretch}
.job-target-device-card{position:relative;display:grid;grid-template-columns:18px 56px minmax(0,1fr);gap:9px;align-items:center;min-width:0;padding:9px;border:1px solid #dce3e6;border-radius:12px;background:#f2f5f6;cursor:pointer;transition:border-color .14s,background .14s,box-shadow .14s}
.job-target-device-card:hover{border-color:#c7d4d9;background:#f7f9fa}
.job-target-device-card.is-selected{border-color:#9fcdb0;background:#eaf7ef;box-shadow:inset 3px 0 0 #6fb488}
.job-target-device-card input[type="checkbox"]{width:18px!important;height:18px!important;min-width:18px!important;min-height:18px!important;margin:0!important}
.job-target-device-photo{width:56px;height:56px;border-radius:10px;overflow:hidden;display:grid;place-items:center;background:#e5ebed;color:#74838b;font-size:11px;font-weight:850}
.job-target-device-photo img{width:100%;height:100%;object-fit:cover}
.job-target-device-info{display:grid;gap:2px;min-width:0}.job-target-device-info b{font-size:11.5px;color:#2f4048}.job-target-device-info span{font-size:9.5px;line-height:1.25;color:#68777f;white-space:normal;overflow-wrap:anywhere}.job-target-device-info em{font-style:normal;font-size:9.5px;font-weight:900;color:#267349}

/* Create-job right preview: each selected task type has its own numbered visual zone. */
.preview-panel{align-self:start!important}.task-preview-list{display:grid;gap:9px}.task-preview-group{position:relative;display:grid;grid-template-columns:27px minmax(0,1fr);gap:9px;padding:10px;border:1px solid #dfe5e8;border-radius:11px;background:#fafbfb;min-width:0}.task-preview-index{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#343d42;color:#fff;font-size:10px;font-weight:900}.task-preview-group>div{min-width:0}.task-preview-group h3{margin:1px 0 4px;font-size:12.5px;line-height:1.25}.task-preview-group p{margin:0 0 6px;font-size:10.5px;line-height:1.35;color:#607078}.task-preview-group .playbook-preview{display:grid;gap:3px;padding-top:6px;border-top:1px solid #e1e6e8}.task-preview-group .playbook-preview b{font-size:10px;color:#4b5a62}.task-preview-group .playbook-preview span{font-size:10px;line-height:1.35;color:#64737b}

/* A prepared MЦ/ЗИП block uses only one green arrow at the upper-right, no height-eating pill. */
.job-materials-preview,.executor-materials-preview,.job-detail-materials{position:relative!important;padding-right:31px!important}
.job-material-prepared-arrow{position:absolute!important;top:7px!important;right:8px!important;display:grid!important;place-items:center!important;width:20px!important;height:20px!important;min-width:20px!important;min-height:20px!important;padding:0!important;margin:0!important;border:0!important;border-radius:0!important;background:transparent!important;color:#2d9a5c!important;box-shadow:none!important;line-height:1!important}
.job-material-prepared-arrow svg{display:block;width:18px;height:18px}

/* Targeted devices are visible to managers/executors without hiding non-target devices. */
.job-device-summary.is-job-target{border-color:#9fcfb0!important;background:#edf9f1!important;box-shadow:inset 4px 0 0 #75b98b!important}
.job-device-summary-title em{display:block;margin-top:2px;font-style:normal;font-size:9.5px;font-weight:900;color:#27764a}
.device-tab-button.is-job-target{border-color:#99caab!important;background:#edf8f1!important;color:#286f48!important}.device-tab-button.is-job-target.is-active{background:#dff2e6!important;border-color:#72b48a!important;color:#215d3d!important}
.device-tab-panel.is-job-target{border-color:#a6cfb4!important;background:linear-gradient(180deg,#f4fbf6,#fff 110px)!important}.job-target-device-notice{display:inline-flex;align-items:center;margin-bottom:9px;padding:5px 9px;border-radius:999px;background:#def3e6;color:#246d45;font-size:10px;font-weight:900}

@media(max-width:1050px){
  .warehouse-item-edit-form{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .warehouse-batch-form-wide,.warehouse-movement-form-wide{grid-template-columns:1fr 1fr!important}
}
@media(max-width:720px){
  .warehouse-job-list{grid-template-columns:1fr!important}
  .warehouse-job-device-grid,.job-target-device-grid{grid-template-columns:1fr!important}
  .warehouse-job-device-detail{grid-template-columns:1fr!important}.warehouse-job-device-detail em{grid-column:auto}
  .warehouse-item-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px}.warehouse-item-tab{width:100%!important}.warehouse-item-tab.warehouse-operation-tab{grid-column:1/-1;margin-left:0!important}
  .warehouse-item-edit-form,.warehouse-batch-form-wide,.warehouse-movement-form-wide{grid-template-columns:1fr!important}.warehouse-item-edit-form .wide-field{grid-column:auto!important}
  .warehouse-movement-history>div{grid-template-columns:1fr!important}.warehouse-movement-history>div span:last-child{text-align:left}
  .job-target-devices-head{display:grid}.job-target-devices-head>span{justify-self:start}
  .job-target-device-card{grid-template-columns:18px 48px minmax(0,1fr)}.job-target-device-photo{width:48px;height:48px}
}
/* Match the target-device renderer: native checkbox + thumbnail + information. */
.job-target-device-check{display:none!important}
.job-target-device-card>img,.job-target-device-placeholder{width:56px;height:56px;border-radius:10px;overflow:hidden;display:grid;place-items:center;background:#e5ebed;color:#74838b;font-size:11px;font-weight:850;object-fit:cover}
.job-target-device-body{display:grid;gap:3px;min-width:0}.job-target-device-body>b{font-size:11.5px;color:#2f4048}.job-target-device-meta{display:flex;flex-wrap:wrap;gap:3px 8px;min-width:0}.job-target-device-meta span{font-size:9.5px;line-height:1.25;color:#68777f}.job-target-device-body>em{font-style:normal;font-size:9.5px;font-weight:900;color:#267349}
@media(max-width:720px){.job-target-device-card>img,.job-target-device-placeholder{width:48px;height:48px}}

/* v1.2.3.60 LOCAL — warehouse alerts/filters, wide queue, media undo, compact delete controls */

/* Delete affordance: a small plain X, never a large floating circle. */
.media-delete-x,
.manager-media-tile .media-delete-x,.review-photo-tile .media-delete-x,
.manager-completion-media-panel .media-delete-x,.review-evidence-grid .media-delete-x,
.catalog-media-item .media-delete-x{
  top:3px!important;right:3px!important;width:22px!important;height:22px!important;min-width:22px!important;min-height:22px!important;
  padding:0!important;border:0!important;border-radius:5px!important;background:rgba(255,255,255,.86)!important;color:#a83d4a!important;
  font-size:19px!important;font-weight:650!important;line-height:20px!important;display:grid!important;place-items:center!important;
  box-shadow:none!important;outline:0!important;transform:none!important;backdrop-filter:blur(2px)
}
.media-delete-x:hover,.media-delete-x:focus-visible,
.manager-media-tile .media-delete-x:hover,.review-photo-tile .media-delete-x:hover,
.catalog-media-item .media-delete-x:hover{background:#fff4f5!important;color:#922c3b!important;transform:none!important;box-shadow:none!important}
.review-media-undo{margin:8px 0 0;display:flex;justify-content:flex-start}.review-media-undo[hidden]{display:none!important}.review-media-undo button{min-height:34px!important;padding:6px 10px!important;font-size:10.5px!important}

/* Warehouse jobs return to the readable full-width layout; devices use the previously empty lower area. */
.warehouse-job-list{grid-template-columns:1fr!important;gap:14px!important}
.warehouse-job-card{grid-template-columns:minmax(0,1fr) minmax(300px,340px)!important;min-height:0!important}
.warehouse-job-card h2{font-size:19px!important}.warehouse-job-card .address{font-size:13px!important}.warehouse-job-card .legal-line{font-size:12px!important}
.warehouse-materials{margin-top:10px!important}.warehouse-material-value{font-size:12.5px!important}
.warehouse-job-device-info{margin-top:11px!important;border:1px solid #dce5e8!important;border-radius:12px!important;background:#f8fafb!important;overflow:hidden!important}
.warehouse-job-device-info>summary{padding:9px 11px!important;font-size:11.5px!important;background:#f3f6f7!important}
.warehouse-job-device-info[open]>summary{border-bottom:1px solid #e0e6e8!important}
.warehouse-job-device-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;padding:9px!important}
.warehouse-job-device-card{min-width:0!important}.warehouse-job-device-card summary b{font-size:11px!important}.warehouse-job-device-card summary span{font-size:9.5px!important}
.warehouse-job-device-detail{font-size:9.5px!important}

/* Preferred material marker stays inside its row so it can never be clipped by the scroll viewport. */
.warehouse-picker-item.is-preferred:before{top:4px!important;right:8px!important;transform:none!important}
.warehouse-picker-item.is-preferred{padding-top:19px!important}

/* Warehouse summary tiles are live notification controls. */
.warehouse-stock-summary{grid-template-columns:repeat(4,minmax(0,1fr))!important;align-items:stretch!important}
.warehouse-stock-summary-tile{appearance:none;text-align:left;display:grid;align-content:start;gap:4px;min-width:0;padding:12px 14px;border:1px solid #dde4e7;border-radius:14px;background:#fff;color:inherit;font:inherit;box-shadow:none;transform:none!important}
button.warehouse-stock-summary-tile{cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s}
button.warehouse-stock-summary-tile:hover{border-color:#cbd7dc;background:#fbfcfc;box-shadow:0 5px 16px rgba(37,51,59,.06);transform:none!important}
.warehouse-stock-summary-tile>span{display:flex;align-items:center;gap:7px;font-size:10.5px;color:#68777f}.warehouse-stock-summary-tile>b{font-size:21px;line-height:1.05}.warehouse-stock-summary-tile>small{display:block;min-width:0;font-size:9px;line-height:1.25;color:#718087;white-space:normal;overflow-wrap:anywhere}
.warehouse-summary-alert-badge{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;font-style:normal;font-size:11px;font-weight:950;background:#eda44f;color:#fff}
.warehouse-stock-summary-tile.severity-equal .warehouse-summary-alert-badge{background:#c74452}.warehouse-stock-summary-tile.severity-below .warehouse-summary-alert-badge{background:#c22f40;animation:warehouseLowPulse 1.7s ease-in-out infinite}
.warehouse-stock-summary-tile.severity-near{border-color:#efcf9c;background:#fffdf8}.warehouse-stock-summary-tile.severity-equal,.warehouse-stock-summary-tile.severity-below{border-color:#e5b3b9;background:#fffafb}
@keyframes warehouseLowPulse{0%,100%{box-shadow:0 0 0 0 rgba(194,47,64,.12)}50%{box-shadow:0 0 0 7px rgba(194,47,64,.14)}}
@media(prefers-reduced-motion:reduce){.warehouse-stock-summary-tile.severity-below .warehouse-summary-alert-badge{animation:none}}

.warehouse-summary-modal[hidden]{display:none!important}.warehouse-summary-modal{position:fixed;inset:0;z-index:12000;display:grid;place-items:center;padding:18px}.warehouse-summary-backdrop{position:absolute;inset:0;border:0;background:rgba(29,37,42,.42);backdrop-filter:blur(2px)}
.warehouse-summary-dialog{position:relative;z-index:1;width:min(650px,calc(100vw - 28px));max-height:min(76vh,680px);overflow:auto;padding:18px;border:1px solid #dbe3e6;border-radius:18px;background:#fff;box-shadow:0 22px 65px rgba(24,34,40,.24)}
.warehouse-summary-dialog h2{margin:0 34px 3px 0;font-size:20px}.warehouse-summary-dialog p{margin:0 0 12px}.warehouse-summary-close{position:absolute;top:11px;right:11px;width:32px;height:32px;min-width:32px;padding:0;border:0;border-radius:8px;background:#f3f6f7;color:#34434b;font-size:24px;line-height:1;display:grid;place-items:center;transform:none!important}
.warehouse-summary-list{display:grid;gap:7px}.warehouse-summary-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;width:100%;padding:10px 11px;border:1px solid #dde4e7;border-radius:11px;background:#fafcfc;color:#34444c;text-align:left;transform:none!important}
.warehouse-summary-row>span{display:grid;gap:2px;min-width:0}.warehouse-summary-row>span:last-child{text-align:right}.warehouse-summary-row b{font-size:11.5px}.warehouse-summary-row small{font-size:9.5px;color:#728088;overflow-wrap:anywhere}.warehouse-summary-row em{font-style:normal;font-size:9.5px;font-weight:900}.warehouse-summary-row.state-near{border-color:#ead09f;background:#fffaf0}.warehouse-summary-row.state-near em{color:#94671c}.warehouse-summary-row.state-equal,.warehouse-summary-row.state-below{border-color:#e7bdc2;background:#fff7f8}.warehouse-summary-row.state-equal em,.warehouse-summary-row.state-below em{color:#a43c49}.warehouse-summary-row.state-expected{border-color:#bfdacb;background:#f4fbf7}.warehouse-summary-row.state-expected em{color:#26714a}
html.warehouse-modal-open{overflow:hidden}

/* Search + filter + sort. */
.warehouse-stock-search-row{position:relative;display:grid!important;grid-template-columns:minmax(0,1fr) auto minmax(235px,300px)!important;gap:9px!important;align-items:center!important;margin-top:10px!important}
.warehouse-stock-search-row>.warehouse-global-search{margin:0!important;height:44px!important}.warehouse-stock-search-row>select{height:44px!important;margin:0!important}
.warehouse-filter-wrap{position:relative}.warehouse-filter-button{height:44px!important;min-height:44px!important;display:flex!important;align-items:center!important;gap:6px!important;white-space:nowrap!important}.warehouse-filter-button svg{width:18px;height:18px}.warehouse-filter-button>span{display:grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#efad8d;color:#472d21;font-size:9px;font-weight:900}.warehouse-filter-button.has-active-filters{border-color:#e9a985!important;background:#fff4ed!important}
.warehouse-filter-popover{position:absolute;z-index:150;right:0;top:calc(100% + 7px);width:min(390px,calc(100vw - 30px));padding:11px;border:1px solid #dbe3e6;border-radius:14px;background:#fff;box-shadow:0 15px 42px rgba(25,36,42,.18)}.warehouse-filter-popover[hidden]{display:none!important}.warehouse-filter-popover>input{height:39px!important;margin:0 0 8px!important}
.warehouse-filter-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-bottom:8px}.warehouse-filter-tabs button{min-height:35px!important;padding:6px 7px!important;border:1px solid #d8e0e3!important;border-radius:9px!important;background:#f7f9fa!important;color:#53636b!important;font-size:9.5px!important;transform:none!important}.warehouse-filter-tabs button.is-active{background:#343d42!important;color:#fff!important;border-color:#343d42!important}
.warehouse-filter-values{display:grid;align-content:start;gap:4px;max-height:245px;overflow:auto;padding-right:2px;scrollbar-width:thin}.warehouse-filter-values label{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:7px;padding:6px 7px;border-radius:8px;cursor:pointer}.warehouse-filter-values label:hover{background:#f5f8f9}.warehouse-filter-values input{width:16px!important;height:16px!important;min-width:16px!important;margin:0!important}.warehouse-filter-values span{font-size:10.5px;overflow-wrap:anywhere}.warehouse-filter-values small{font-size:9px;color:#7a878e}.warehouse-filter-reset{width:100%;min-height:35px!important;margin-top:8px!important;background:#fff!important;color:#5e6c73!important;border:1px solid #d9e1e4!important;font-size:10px!important;transform:none!important}

/* Create/edit inventory form hierarchy: name/category large, SKU medium, compact numeric/location fields. */
.warehouse-create-item-form,.warehouse-item-edit-form{grid-template-columns:1.45fr 1.25fr .95fr .6fr .72fr .62fr!important;gap:9px!important;align-items:end!important}
.warehouse-item-form .warehouse-field-name{grid-column:span 2!important}.warehouse-item-form .warehouse-field-category{grid-column:span 2!important}.warehouse-item-form .warehouse-field-sku{grid-column:span 1!important}.warehouse-item-form .warehouse-field-unit{grid-column:span 1!important}.warehouse-item-form .warehouse-field-location{grid-column:span 1!important}.warehouse-item-form .warehouse-field-min{grid-column:span 1!important}.warehouse-item-form .wide-field{grid-column:span 3!important}.warehouse-item-form .warehouse-field-photo{grid-column:span 2!important}.warehouse-item-form .form-button{grid-column:span 1!important}
.warehouse-create-item-form input,.warehouse-create-item-form select,.warehouse-item-edit-form input,.warehouse-item-edit-form select{height:42px!important;min-height:42px!important}.warehouse-create-item-form textarea,.warehouse-item-edit-form textarea{min-height:76px!important}

/* Stock card controls: dynamic black open/hide control at the right of the title; + Operation uses the old bottom slot. */
.warehouse-stock-grid{align-items:start!important}.warehouse-stock-card{position:relative!important;align-self:start!important;height:auto!important;padding-bottom:13px!important}.warehouse-stock-card-head{padding-right:142px!important}.warehouse-stock-state{position:absolute!important;right:14px!important;top:12px!important}.warehouse-stock-title{min-width:0}
.warehouse-item-details{position:static!important;margin-top:8px!important;border-top:0!important;padding-top:0!important}.warehouse-item-details>summary{position:absolute!important;right:14px!important;top:43px!important;z-index:4!important;display:flex!important;align-items:center!important;gap:5px!important;width:auto!important;min-height:34px!important;padding:7px 10px!important;border:1px solid #343d42!important;border-radius:9px!important;background:#343d42!important;color:#fff!important;font-size:10px!important;font-weight:850!important;list-style:none!important;cursor:pointer!important;transform:none!important}.warehouse-item-details>summary::-webkit-details-marker{display:none}.warehouse-item-details>summary svg{width:15px;height:15px;transition:transform .15s}.warehouse-item-details[open]>summary svg{transform:rotate(180deg)}
.warehouse-item-actions-row{display:flex;gap:8px;align-items:center;justify-content:space-between;margin:10px 0 0;padding-top:10px;border-top:1px solid #e3e8ea}.warehouse-item-tabs{display:flex!important;gap:7px!important;flex-wrap:wrap!important;border:0!important;padding:0!important;margin:0!important}.warehouse-item-tab{min-height:36px!important;padding:7px 11px!important}.warehouse-quick-operation{min-height:36px!important;padding:7px 15px!important;white-space:nowrap!important}
.warehouse-card-operation{display:block!important;width:min(320px,80%)!important;min-height:39px!important;margin:11px auto 0!important;padding:8px 18px!important}
.warehouse-movement-form-wide{grid-template-columns:minmax(190px,1.15fr) minmax(120px,.7fr) minmax(190px,1fr) minmax(170px,1fr)!important;align-items:end!important}.warehouse-movement-form-wide .warehouse-expected-at-field{grid-column:auto!important}.warehouse-movement-form-wide button{width:100%!important}
.warehouse-movement-history{max-height:none!important;overflow:visible!important}.warehouse-movement-scroll{max-height:190px;overflow:auto;scrollbar-width:thin;padding-right:3px}.warehouse-movement-scroll>div{display:grid!important;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr)!important;gap:10px!important;padding:8px 2px!important;border-bottom:1px dashed #e0e6e8!important;font-size:11px!important;line-height:1.4!important;color:#4b5b63!important}.warehouse-movement-scroll>div span:last-child{text-align:right;color:#68767d}
.warehouse-focus-flash{animation:warehouseFocusFlash 1.25s ease-out}@keyframes warehouseFocusFlash{0%{box-shadow:0 0 0 4px rgba(239,173,142,.28)}100%{box-shadow:0 0 0 0 rgba(239,173,142,0)}}

/* Prepared material indicator: compact green check aligned to the title row. */
.job-materials-preview,.executor-materials-preview,.job-detail-materials{padding-right:34px!important}.job-material-prepared-arrow{top:4px!important;right:7px!important;width:20px!important;height:20px!important;color:#2b9a5a!important}.job-material-prepared-arrow svg{width:19px!important;height:19px!important}

@media(max-width:1180px){
  .warehouse-job-device-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .warehouse-create-item-form,.warehouse-item-edit-form{grid-template-columns:repeat(4,minmax(0,1fr))!important}.warehouse-item-form .warehouse-field-name,.warehouse-item-form .warehouse-field-category{grid-column:span 2!important}.warehouse-item-form .wide-field{grid-column:span 2!important}
  .warehouse-movement-form-wide{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:850px){
  .warehouse-stock-summary{grid-template-columns:1fr 1fr!important}.warehouse-stock-search-row{grid-template-columns:minmax(0,1fr) auto!important}.warehouse-stock-search-row>select{grid-column:1/-1!important}.warehouse-job-card{grid-template-columns:1fr!important}.warehouse-job-side{min-height:auto!important}.warehouse-job-device-grid{grid-template-columns:1fr 1fr!important}
  .warehouse-create-item-form,.warehouse-item-edit-form{grid-template-columns:repeat(2,minmax(0,1fr))!important}.warehouse-item-form .warehouse-field-name,.warehouse-item-form .warehouse-field-category,.warehouse-item-form .wide-field,.warehouse-item-form .warehouse-field-photo{grid-column:1/-1!important}
  .warehouse-stock-card-head{padding-right:0!important}.warehouse-stock-state{position:static!important;grid-column:auto!important;justify-self:start!important}.warehouse-item-details>summary{position:static!important;margin:9px 0 0 auto!important;width:max-content!important}.warehouse-item-actions-row{margin-top:8px!important}
}
@media(max-width:620px){
  .media-delete-x,.manager-media-tile .media-delete-x,.review-photo-tile .media-delete-x,.catalog-media-item .media-delete-x{width:24px!important;height:24px!important;min-width:24px!important;min-height:24px!important;font-size:20px!important}
  .warehouse-stock-summary{grid-template-columns:1fr!important}.warehouse-stock-search-row{grid-template-columns:1fr!important}.warehouse-filter-wrap,.warehouse-filter-button,.warehouse-stock-search-row>select{width:100%!important}.warehouse-filter-popover{left:0!important;right:auto!important;width:min(390px,calc(100vw - 34px))}.warehouse-filter-tabs{grid-template-columns:1fr!important}
  .warehouse-job-device-grid{grid-template-columns:1fr!important}.warehouse-create-item-form,.warehouse-item-edit-form{grid-template-columns:1fr!important}.warehouse-item-form>*{grid-column:auto!important}.warehouse-movement-form-wide{grid-template-columns:1fr!important}.warehouse-summary-row{grid-template-columns:1fr!important}.warehouse-summary-row>span:last-child{text-align:left!important}
}

/* v1.2.3.60 final polish — plain media X + explicit draft copy. */
.catalog-draft-offer-copy{display:grid;gap:2px;min-width:0;line-height:1.3}
.catalog-draft-offer-copy>b{font-size:12px;color:#39484f}
.catalog-draft-offer-copy>small{font-size:10.5px;color:#6b7880;white-space:normal;overflow-wrap:anywhere}

.media-delete-x,
.manager-media-tile .media-delete-x,.review-photo-tile .media-delete-x,
.manager-completion-media-panel .media-delete-x,.review-evidence-grid .media-delete-x,
.catalog-media-item .media-delete-x,
.job-completion-panel .job-media-grid .media-delete-x{
  top:4px!important;right:5px!important;width:18px!important;height:18px!important;min-width:18px!important;min-height:18px!important;
  padding:0!important;margin:0!important;border:0!important;border-radius:0!important;background:transparent!important;color:#a43b47!important;
  font-size:18px!important;font-weight:750!important;line-height:18px!important;display:grid!important;place-items:center!important;
  box-shadow:none!important;outline:0!important;transform:none!important;backdrop-filter:none!important;text-shadow:0 1px 0 #fff,1px 0 0 #fff,-1px 0 0 #fff,0 -1px 0 #fff
}
.media-delete-x:hover,.media-delete-x:focus-visible,
.manager-media-tile .media-delete-x:hover,.review-photo-tile .media-delete-x:hover,
.manager-completion-media-panel .media-delete-x:hover,.review-evidence-grid .media-delete-x:hover,
.catalog-media-item .media-delete-x:hover{
  background:transparent!important;color:#7f2430!important;transform:none!important;box-shadow:none!important;text-shadow:0 1px 0 #fff,1px 0 0 #fff,-1px 0 0 #fff,0 -1px 0 #fff
}
.media-delete-x:focus-visible{outline:1px dashed rgba(127,36,48,.45)!important;outline-offset:1px!important}
@media(max-width:640px){
  .media-delete-x,.manager-media-tile .media-delete-x,.review-photo-tile .media-delete-x,.catalog-media-item .media-delete-x{width:20px!important;height:20px!important;min-width:20px!important;min-height:20px!important;font-size:19px!important}
}

/* v1.2.3.61 LOCAL — warehouse layout/pagination, target-device visibility, thumbnail/cache UX, review delete reliability */

/* `hidden` must win over component display rules. This fixes merged device/filter/operation sets. */
[data-job-target-device-set][hidden],
[data-warehouse-filter-values][hidden],
[data-warehouse-item-panel][hidden],
[data-warehouse-expected-at][hidden],
[data-warehouse-stock-picker][hidden],
[data-warehouse-prepare][hidden]{display:none!important}

/* Review media: compact fixed-width cells so the delete X stays next to the visual, never in empty grid space. */
@media(min-width:901px){
  .review-photo-tile .review-media-grid{grid-template-columns:repeat(auto-fill,minmax(132px,148px))!important;justify-content:start!important}
  .review-photo-tile .job-media-item{width:148px!important;min-width:148px!important;max-width:148px!important}
  .review-photo-tile .job-media-tile{width:148px!important;min-width:148px!important;max-width:148px!important}
}
.review-photo-tile .job-media-item>.media-delete-x{top:5px!important;right:5px!important;z-index:45!important;cursor:pointer!important;pointer-events:auto!important}

/* Warehouse job side: comments + composer are one clearly separated functional zone. */
.warehouse-job-comments-zone{display:grid!important;gap:8px!important;padding:10px!important;border:1px solid #dce4e7!important;border-radius:12px!important;background:#fff!important;font-family:inherit!important}
.warehouse-job-comments{border:0!important;padding:0!important;margin:0!important;font-family:inherit!important}
.warehouse-job-comments-title{font-family:inherit!important;font-size:11.5px!important;line-height:1.3!important;color:#34454d!important}
.warehouse-job-comments-scroll{max-height:174px!important;padding-right:4px!important}
.warehouse-job-comment-entry,.warehouse-job-comment-entry *{font-family:inherit!important}
.warehouse-job-comment-entry{font-size:11.5px!important;line-height:1.42!important}
.warehouse-job-comment-entry header b{font-size:10.5px!important}.warehouse-job-comment-entry p{font-size:11.5px!important;line-height:1.42!important}
.warehouse-comment-form{margin:0!important;padding-top:2px!important}
.warehouse-comment-form input{font-family:inherit!important;font-size:11.5px!important}

/* Device information in warehouse cards: keep the wide job card, but scroll horizontally when many devices exist. */
.warehouse-job-device-grid{display:flex!important;grid-template-columns:none!important;gap:8px!important;overflow-x:auto!important;overflow-y:hidden!important;padding:9px!important;scrollbar-width:thin!important;scroll-snap-type:x proximity!important}
.warehouse-job-device-card{flex:0 0 min(330px,82vw)!important;min-width:min(330px,82vw)!important;scroll-snap-align:start!important}
@media(max-width:720px){.warehouse-job-device-card{flex-basis:min(285px,84vw)!important;min-width:min(285px,84vw)!important}}

/* Prepare popover: more usable vertical room on desktop and safe-area aware mobile sizing. */
.warehouse-prepare-popover{width:min(690px,calc(100% - 28px))!important;max-height:min(82dvh,790px)!important}
.warehouse-prepare-popover .warehouse-picker-items{max-height:min(44dvh,420px)!important}
.warehouse-prepare-popover .warehouse-stock-picker{min-height:0!important}
@media(max-width:720px){
  .warehouse-prepare-popover{position:fixed!important;left:10px!important;right:10px!important;top:max(10px,env(safe-area-inset-top))!important;bottom:max(10px,env(safe-area-inset-bottom))!important;width:auto!important;max-height:none!important;overflow:auto!important;border-radius:18px!important}
  .warehouse-prepare-popover .warehouse-picker-items{max-height:42dvh!important}
  .warehouse-stock-picker textarea{min-height:58px!important;max-height:88px!important}
}

/* Stock summary tiles: fixed label/value/message lanes and fixed badge anchor. */
.warehouse-stock-summary-tile{position:relative!important;grid-template-rows:minmax(24px,auto) 32px minmax(30px,auto)!important;align-items:start!important;align-content:stretch!important;min-height:106px!important}
.warehouse-stock-summary-tile>span{min-height:24px!important;padding-right:26px!important;align-items:center!important;font-size:11px!important;line-height:1.2!important}
.warehouse-stock-summary-tile>b{align-self:center!important;font-size:25px!important;line-height:1!important}
.warehouse-stock-summary-tile>small{min-height:30px!important;font-size:9.5px!important;line-height:1.35!important}
.warehouse-summary-alert-badge{position:absolute!important;right:12px!important;top:11px!important}

/* Filter panes are mutually exclusive; only the selected tab gets one scroll area. */
.warehouse-filter-popover{overflow:hidden!important}
.warehouse-filter-values{max-height:300px!important;overflow-y:auto!important;overflow-x:hidden!important}
.warehouse-filter-values[hidden]{display:none!important}

/* Stock cards: compact head controls, text before quantities, larger quantities, operation close to counters. */
.warehouse-stock-card{position:relative!important;align-self:start!important;height:auto!important;padding:13px!important}
.warehouse-stock-card-head{display:grid!important;grid-template-columns:62px minmax(0,1fr) auto!important;gap:10px!important;align-items:center!important;padding-right:0!important}
.warehouse-stock-head-actions{display:flex!important;align-items:flex-start!important;justify-content:flex-end!important;gap:7px!important;align-self:start!important;white-space:nowrap!important}
.warehouse-details-toggle{display:inline-flex!important;align-items:center!important;gap:5px!important;width:auto!important;min-width:0!important;min-height:30px!important;height:30px!important;padding:4px 9px!important;border:1px solid #343d42!important;border-radius:9px!important;background:#343d42!important;color:#fff!important;font-size:9.5px!important;font-weight:850!important;line-height:1!important;box-shadow:none!important;transform:none!important}
.warehouse-details-toggle svg{width:14px!important;height:14px!important;transition:transform .15s ease!important}.warehouse-details-toggle[aria-expanded="true"] svg{transform:rotate(180deg)!important}
.warehouse-stock-state{position:static!important;right:auto!important;top:auto!important;align-self:center!important;margin:0!important}
.warehouse-characteristics,.warehouse-item-note{margin:7px 0 0!important;font-size:11px!important;line-height:1.38!important;color:#4d5d65!important}
.warehouse-item-note b{font-size:11.5px!important}
.warehouse-qty-row{margin:9px 0 7px!important}.warehouse-qty-row>div{min-height:48px!important;align-content:center!important}.warehouse-qty-row span{font-size:9px!important}.warehouse-qty-row b{font-size:14px!important;line-height:1.05!important}
.warehouse-card-operation{width:min(400px,58%)!important;min-height:38px!important;margin:8px auto 2px!important;padding:7px 18px!important;font-size:12px!important}
.warehouse-item-details{margin-top:8px!important;padding-top:8px!important}.warehouse-details-native-summary{display:none!important}
.warehouse-item-actions-row{margin:0 0 9px!important;padding-top:0!important;border-top:0!important;justify-content:flex-start!important}
.warehouse-item-tabs{display:flex!important;gap:7px!important}.warehouse-item-tab{min-height:36px!important}

/* One logical operation form: operation-specific copy, predictable grid, centered submit. */
.warehouse-movement-form-wide{display:grid!important;grid-template-columns:minmax(190px,1.15fr) minmax(140px,.72fr) minmax(210px,1.15fr)!important;gap:10px!important;align-items:end!important;margin:0!important;padding:12px!important}
.warehouse-movement-form-wide.has-expected-date{grid-template-columns:minmax(180px,1.05fr) minmax(125px,.65fr) minmax(190px,1fr) minmax(190px,1fr)!important}
.warehouse-movement-form-wide label{display:grid!important;gap:5px!important;align-content:end!important;min-width:0!important;font-size:10.5px!important;color:#53636b!important}
.warehouse-movement-form-wide label>span{min-height:14px!important;font-size:10.5px!important;font-weight:800!important;color:#53636b!important}
.warehouse-movement-form-wide input,.warehouse-movement-form-wide select{height:42px!important;min-height:42px!important;font-size:12px!important}
.warehouse-operation-submit{grid-column:1/-1!important;display:flex!important;justify-content:center!important;padding-top:2px!important}.warehouse-operation-submit>button{width:min(360px,100%)!important;min-height:42px!important;height:42px!important;margin:0 auto!important}
.warehouse-movement-history{max-height:none!important;overflow:visible!important;margin-top:10px!important;padding:10px 11px!important}
.warehouse-movement-scroll{display:grid!important;gap:0!important;max-height:190px!important;overflow:auto!important;padding-right:3px!important;scrollbar-width:thin!important}
.warehouse-movement-scroll>.warehouse-movement-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:12px!important;align-items:start!important;padding:8px 2px!important;border-bottom:1px dashed #e0e6e8!important;font-size:11.5px!important;line-height:1.4!important;color:#485960!important}
.warehouse-movement-scroll>.warehouse-movement-row span:last-child{text-align:right!important;color:#65747b!important;white-space:normal!important}
@media(max-width:1120px){
  .warehouse-movement-form-wide,.warehouse-movement-form-wide.has-expected-date{grid-template-columns:1fr 1fr!important}
  .warehouse-operation-submit{grid-column:1/-1!important}
}
@media(max-width:720px){
  .warehouse-stock-card-head{grid-template-columns:52px minmax(0,1fr)!important}.warehouse-stock-head-actions{grid-column:1/-1!important;justify-content:flex-start!important;align-items:center!important}.warehouse-details-toggle{order:1!important}.warehouse-stock-state{order:2!important}
  .warehouse-qty-row{grid-template-columns:repeat(2,minmax(0,1fr))!important}.warehouse-card-operation{width:100%!important}
  .warehouse-movement-form-wide,.warehouse-movement-form-wide.has-expected-date{grid-template-columns:1fr!important}.warehouse-operation-submit{grid-column:1!important}
  .warehouse-movement-scroll>.warehouse-movement-row{grid-template-columns:1fr!important;gap:2px!important}.warehouse-movement-scroll>.warehouse-movement-row span:last-child{text-align:left!important}
}

/* Shareable stock pagination + four-second focus acknowledgement from summary tiles. */
.warehouse-pagination[hidden]{display:none!important}.warehouse-pagination{margin:16px 0 6px!important}
.warehouse-focus-flash{animation:warehouseFocusFlash61 4s ease-out!important}
@keyframes warehouseFocusFlash61{0%,12%{box-shadow:0 0 0 4px rgba(239,173,142,.45),0 0 26px rgba(239,173,142,.22);background-color:#fff4ec}70%{box-shadow:0 0 0 3px rgba(239,173,142,.12)}100%{box-shadow:0 0 0 0 rgba(239,173,142,0)}}

/* Selected-object device sets: only one object may be rendered/selectable at a time. */
.job-target-device-grid[hidden]{display:none!important}
.job-target-device-card{user-select:none!important}.job-target-device-card input[type="checkbox"]{pointer-events:auto!important}

/* v1.2.3.61 FINAL — latest smoke corrective; keep these rules last to win over legacy warehouse/review geometry. */

/* Inactive object device sets must never occupy layout or intercept clicks. */
.job-target-device-grid[data-job-target-device-set][hidden]{display:none!important;visibility:hidden!important;pointer-events:none!important}
.job-target-device-grid[data-job-target-device-set]:not([hidden]){display:grid!important;visibility:visible!important;pointer-events:auto!important}
.job-target-device-grid[data-job-target-device-set]:not([hidden]) .job-target-device-card{cursor:pointer!important}
.job-target-device-grid[data-job-target-device-set]:not([hidden]) input[name="target_device_keys[]"]{pointer-events:auto!important;cursor:pointer!important}

/* Review media: X belongs to the media card, not to a stretched grid track. */
@media(min-width:901px){
  .review-photo-tile .review-media-grid{display:grid!important;grid-template-columns:repeat(auto-fill,126px)!important;justify-content:start!important;align-items:start!important;gap:14px!important;overflow:visible!important;padding:8px 2px 12px!important}
  .review-photo-tile .job-media-item{position:relative!important;display:grid!important;width:126px!important;min-width:126px!important;max-width:126px!important;gap:5px!important;overflow:visible!important}
  .review-photo-tile .job-media-tile,.review-photo-tile .job-media-uploader,.review-photo-tile .job-media-download{width:126px!important;min-width:126px!important;max-width:126px!important}
  .review-photo-tile .job-media-tile img,.review-photo-tile .job-media-tile video{width:112px!important;height:84px!important;min-height:84px!important;max-height:84px!important;object-fit:contain!important;margin:auto!important}
}
.review-photo-tile .job-media-item>.media-delete-x{position:absolute!important;top:1px!important;right:1px!important;width:18px!important;height:18px!important;min-width:18px!important;min-height:18px!important;display:grid!important;place-items:center!important;z-index:80!important;cursor:pointer!important;pointer-events:auto!important}

/* Warehouse jobs: comments and composer are a single readable side module; devices use horizontal overflow. */
.warehouse-job-comments-zone{border:1px solid #d7e0e4!important;background:#fbfcfc!important;border-radius:12px!important;padding:9px!important;gap:8px!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.8)!important}
.warehouse-job-comments-zone,.warehouse-job-comments-zone *{font-family:inherit!important}
.warehouse-job-comments-title{font-size:12px!important;font-weight:850!important;color:#34434b!important}
.warehouse-job-comment-entry{font-size:11.5px!important;line-height:1.45!important;background:#fff!important}
.warehouse-job-comment-entry p{font-size:11.5px!important;line-height:1.45!important}
.warehouse-comment-form{border-top:1px solid #e1e7e9!important;padding-top:8px!important}
.warehouse-job-device-grid{display:flex!important;grid-template-columns:none!important;gap:8px!important;overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:thin!important;scroll-snap-type:x proximity!important;padding:9px!important}
.warehouse-job-device-card{flex:0 0 min(330px,82vw)!important;min-width:min(330px,82vw)!important;max-width:min(330px,82vw)!important;scroll-snap-align:start!important}

/* Prepare dialog: predictable vertical budget on desktop and safe full-height sheet on phones. */
.warehouse-prepare-popover{width:min(720px,calc(100vw - 30px))!important;max-height:min(86dvh,840px)!important;overflow:auto!important}
.warehouse-prepare-popover .warehouse-picker-items{max-height:min(49dvh,470px)!important;overflow:auto!important}
@media(max-width:720px){
  .warehouse-prepare-popover{position:fixed!important;inset:max(8px,env(safe-area-inset-top)) 8px max(8px,env(safe-area-inset-bottom)) 8px!important;width:auto!important;max-height:none!important;height:auto!important;border-radius:17px!important;overflow:auto!important}
  .warehouse-prepare-popover .warehouse-picker-items{max-height:44dvh!important}
  .warehouse-stock-picker textarea{min-height:62px!important;max-height:92px!important}
}

/* Summary notification tiles: fixed lanes for title / value / helper and a fixed badge anchor. */
.warehouse-stock-summary{align-items:stretch!important}
.warehouse-stock-summary-tile{position:relative!important;display:grid!important;grid-template-rows:24px 34px 32px!important;gap:2px!important;align-content:start!important;min-height:108px!important;padding:13px 14px!important}
.warehouse-stock-summary-tile>span{display:flex!important;align-items:center!important;min-height:24px!important;padding-right:28px!important;font-size:11px!important;line-height:1.2!important}
.warehouse-stock-summary-tile>b{display:block!important;align-self:center!important;font-size:26px!important;line-height:1!important}
.warehouse-stock-summary-tile>small{display:block!important;min-height:32px!important;font-size:10px!important;line-height:1.35!important}
.warehouse-summary-alert-badge{position:absolute!important;top:12px!important;right:13px!important;margin:0!important}

/* Filter popover: exactly one value pane is visible at a time. */
.warehouse-filter-values[hidden], [data-warehouse-filter-values][hidden]{display:none!important;overflow:hidden!important}
.warehouse-filter-values:not([hidden]){display:grid!important;max-height:300px!important;overflow-y:auto!important;overflow-x:hidden!important}

/* Stock card header: compact open/hide button immediately before state pill. */
.warehouse-stock-card{align-self:start!important;height:auto!important;padding:13px 14px 12px!important;overflow:visible!important}
.warehouse-stock-card-head{display:grid!important;grid-template-columns:62px minmax(0,1fr) auto!important;gap:10px!important;align-items:start!important;padding-right:0!important}
.warehouse-stock-head-actions{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-end!important;gap:7px!important;align-self:start!important;white-space:nowrap!important}
.warehouse-details-toggle{order:1!important;height:28px!important;min-height:28px!important;padding:3px 8px!important;border-radius:8px!important;font-size:9.5px!important;line-height:1!important}
.warehouse-stock-state{order:2!important;position:static!important;right:auto!important;top:auto!important;margin:0!important;align-self:center!important}
.warehouse-characteristics,.warehouse-item-note{margin:7px 0 0!important;font-size:11.5px!important;line-height:1.38!important}
.warehouse-item-note b{font-size:11.5px!important}
.warehouse-qty-row{margin:9px 0 4px!important;display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:6px!important}
.warehouse-qty-row>div{min-height:50px!important;display:grid!important;align-content:center!important;justify-items:center!important;padding:6px 5px!important}
.warehouse-qty-row span{font-size:9.5px!important}.warehouse-qty-row b{font-size:15px!important;line-height:1.05!important}
.warehouse-card-operation{display:block!important;width:min(410px,64%)!important;min-height:36px!important;height:36px!important;margin:6px auto 2px!important;padding:6px 18px!important;font-size:12px!important}

/* Details show Card/Batch; Operation is a separate panel opened only by + Operation. */
.warehouse-item-details{position:static!important;margin-top:8px!important;padding-top:0!important;border-top:0!important;overflow:visible!important}
.warehouse-details-native-summary{display:none!important}
.warehouse-item-actions-row{display:flex!important;justify-content:flex-start!important;align-items:center!important;margin:0 0 9px!important;padding:0!important;border:0!important}
.warehouse-item-tabs{display:flex!important;gap:7px!important;flex-wrap:wrap!important}.warehouse-item-tab{min-height:34px!important;height:34px!important;padding:6px 11px!important}
[data-warehouse-item-panel][hidden]{display:none!important}

/* Operation fields keep a stable grid; copy changes by operation in JS; submit is always centered. */
.warehouse-movement-form-wide{display:grid!important;grid-template-columns:minmax(190px,1.08fr) minmax(135px,.68fr) minmax(190px,.95fr)!important;gap:10px!important;align-items:end!important;padding:12px!important;margin:0!important;overflow:visible!important}
.warehouse-movement-form-wide.has-expected-date{grid-template-columns:minmax(180px,1fr) minmax(125px,.64fr) minmax(205px,1fr) minmax(190px,.92fr)!important}
.warehouse-movement-form-wide label{display:grid!important;grid-template-rows:auto 42px!important;gap:5px!important;min-width:0!important;align-items:end!important}
.warehouse-movement-form-wide label>span{min-height:15px!important;font-size:10.5px!important;font-weight:800!important;line-height:1.25!important;color:#53636b!important}
.warehouse-movement-form-wide input,.warehouse-movement-form-wide select{width:100%!important;min-width:0!important;height:42px!important;min-height:42px!important;font-size:12px!important;box-sizing:border-box!important}
.warehouse-operation-submit{grid-column:1/-1!important;display:flex!important;justify-content:center!important;align-items:center!important;padding-top:2px!important}
.warehouse-operation-submit>button{display:block!important;width:min(360px,100%)!important;height:42px!important;min-height:42px!important;margin:0 auto!important}
.warehouse-movement-history{margin-top:10px!important;padding:11px!important;overflow:hidden!important}
.warehouse-movement-scroll{display:grid!important;grid-template-columns:1fr!important;gap:0!important;max-height:190px!important;overflow-y:auto!important;overflow-x:hidden!important;padding-right:4px!important}
.warehouse-movement-scroll>.warehouse-movement-row{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(155px,.42fr)!important;gap:12px!important;align-items:start!important;width:100%!important;box-sizing:border-box!important;padding:8px 2px!important;border-bottom:1px dashed #dfe6e8!important;font-size:11.5px!important;line-height:1.4!important}
.warehouse-movement-scroll>.warehouse-movement-row span{min-width:0!important;overflow-wrap:anywhere!important}.warehouse-movement-scroll>.warehouse-movement-row span:last-child{text-align:right!important;color:#65747b!important}

/* Shareable stock pagination. */
.warehouse-pagination[data-warehouse-pagination]{display:flex!important;justify-content:center!important;align-items:center!important;gap:7px!important;flex-wrap:wrap!important;margin:16px 0 7px!important}
.warehouse-pagination[data-warehouse-pagination][hidden]{display:none!important}
.warehouse-pagination[data-warehouse-pagination] a{display:grid!important;place-items:center!important;min-width:36px!important;height:36px!important;padding:0 9px!important;border:1px solid #d6dfe3!important;border-radius:9px!important;background:#fff!important;color:#314149!important;text-decoration:none!important;font-weight:800!important}
.warehouse-pagination[data-warehouse-pagination] a.active{background:#343d42!important;border-color:#343d42!important;color:#fff!important}
.warehouse-focus-flash{animation:warehouseFocusFlash61Final 4s ease-out!important}
@keyframes warehouseFocusFlash61Final{0%,15%{box-shadow:0 0 0 4px rgba(239,173,142,.50),0 0 28px rgba(239,173,142,.22);background-color:#fff3eb}72%{box-shadow:0 0 0 3px rgba(239,173,142,.12)}100%{box-shadow:0 0 0 0 rgba(239,173,142,0)}}

@media(max-width:1120px){
  .warehouse-movement-form-wide,.warehouse-movement-form-wide.has-expected-date{grid-template-columns:1fr 1fr!important}
  .warehouse-operation-submit{grid-column:1/-1!important}
}
@media(max-width:760px){
  .warehouse-stock-card-head{grid-template-columns:52px minmax(0,1fr)!important;align-items:start!important}.warehouse-stock-head-actions{grid-column:1/-1!important;justify-content:flex-start!important;margin-top:1px!important}
  .warehouse-qty-row{grid-template-columns:repeat(2,minmax(0,1fr))!important}.warehouse-card-operation{width:100%!important}
  .warehouse-movement-form-wide,.warehouse-movement-form-wide.has-expected-date{grid-template-columns:1fr!important}.warehouse-operation-submit{grid-column:1!important}
  .warehouse-movement-scroll>.warehouse-movement-row{grid-template-columns:1fr!important;gap:2px!important}.warehouse-movement-scroll>.warehouse-movement-row span:last-child{text-align:left!important}
}


/* v1.2.3.62 FINAL — media UNDO, target-device viewer, warehouse AJAX/popover/filter/layout corrective. */
.review-photo-tile .review-media-undo-placeholder{display:grid!important;place-items:center!important;width:148px!important;min-width:148px!important;max-width:148px!important;min-height:116px!important;padding:8px!important;border:1px dashed #cfd9dd!important;border-radius:12px!important;background:#f8fafb!important}
.review-media-undo-inline{display:grid!important;place-items:center!important;width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;padding:0!important;border:1px solid #cfd9dd!important;border-radius:9px!important;background:#fff!important;color:#34454d!important;box-shadow:0 4px 12px rgba(35,49,57,.08)!important;transform:none!important}
.review-media-undo-inline svg{width:19px!important;height:19px!important;pointer-events:none!important}.review-media-undo-inline:hover{background:#f1f5f6!important;border-color:#b8c7cd!important;transform:none!important}
@media(max-width:900px){.review-photo-tile .review-media-undo-placeholder{width:132px!important;min-width:132px!important;max-width:132px!important}}
.job-target-device-photo-link{display:block!important;width:56px!important;height:56px!important;border-radius:10px!important;overflow:hidden!important;cursor:zoom-in!important;position:relative!important;z-index:2!important}.job-target-device-photo-link img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important}
.job-target-device-body>b{font-size:11.5px!important;font-weight:760!important;letter-spacing:0!important;color:#2f4048!important}.job-target-device-meta{gap:3px 9px!important}.job-target-device-meta span{font-size:9.7px!important;font-weight:450!important;line-height:1.34!important;color:#61727a!important}.job-target-device-meta span b{font-weight:650!important;color:#485a63!important}.job-target-device-body>em{font-size:9.5px!important;font-weight:800!important}@media(max-width:720px){.job-target-device-photo-link{width:48px!important;height:48px!important}}
.warehouse-job-comments-zone{grid-template-rows:auto auto!important;min-height:0!important;overflow:hidden!important}.warehouse-job-comments{min-height:0!important;overflow:hidden!important}.warehouse-job-comments-scroll{display:flex!important;flex-direction:column!important;gap:6px!important;height:174px!important;min-height:174px!important;max-height:174px!important;overflow-y:auto!important;overflow-x:hidden!important;padding:2px 5px 2px 0!important;scrollbar-width:thin!important}.warehouse-job-comment-entry{flex:0 0 auto!important;font-size:11.5px!important;line-height:1.43!important;font-weight:450!important}.warehouse-job-comment-entry header b{font-weight:760!important}.warehouse-job-comment-entry time{font-size:9.5px!important}.warehouse-job-comment-entry p{font-weight:450!important}.warehouse-comment-form{display:grid!important;grid-template-columns:minmax(0,1fr) 38px!important;gap:7px!important;align-items:center!important}.warehouse-comment-form input{height:38px!important;min-height:38px!important;font-size:11.5px!important;font-weight:450!important}.warehouse-comment-send{width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important;padding:0!important}.warehouse-job-comment-entry.is-new{animation:warehouseCommentIn62 .35s ease-out}@keyframes warehouseCommentIn62{from{opacity:.2;transform:translateY(-4px)}to{opacity:1;transform:none}}
@media(min-width:721px){.warehouse-prepare-popover{position:fixed!important;z-index:14000!important;top:50%!important;right:clamp(18px,4vw,72px)!important;left:auto!important;bottom:auto!important;transform:translateY(-50%)!important;width:min(720px,calc(100vw - 42px))!important;max-height:calc(100dvh - 28px)!important;overflow:hidden!important;display:grid!important;grid-template-rows:auto auto auto minmax(0,1fr)!important;padding:13px!important}.warehouse-prepare-popover[hidden]{display:none!important}.warehouse-stock-picker{min-height:0!important;overflow:hidden!important;display:grid!important;grid-template-rows:auto minmax(170px,1fr) auto auto auto!important;gap:8px!important}.warehouse-prepare-popover .warehouse-picker-items{max-height:none!important;min-height:170px!important;overflow-y:auto!important;overflow-x:hidden!important}.warehouse-stock-picker textarea{min-height:54px!important;max-height:70px!important}}
@media(max-width:720px){.warehouse-prepare-popover{display:grid!important;grid-template-rows:auto auto auto minmax(0,1fr)!important;overflow:hidden!important}.warehouse-prepare-popover[hidden]{display:none!important}.warehouse-stock-picker{min-height:0!important;overflow:hidden!important;display:grid!important;grid-template-rows:auto minmax(120px,1fr) auto auto auto!important;gap:8px!important}.warehouse-prepare-popover .warehouse-picker-items{max-height:none!important;min-height:120px!important;overflow-y:auto!important}}
[data-filter-value-search][hidden]{display:none!important}.warehouse-filter-values[hidden]{display:none!important}
.warehouse-movement-form-wide,.warehouse-movement-form-wide.has-expected-date{display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr))!important;gap:10px!important;align-items:end!important;overflow:hidden!important}.warehouse-movement-form-wide .warehouse-operation-type{grid-column:span 4!important}.warehouse-movement-form-wide .warehouse-operation-qty{grid-column:span 3!important}.warehouse-movement-form-wide .warehouse-operation-note{grid-column:span 5!important}.warehouse-movement-form-wide .warehouse-expected-at-field{grid-column:span 3!important}.warehouse-movement-form-wide.has-expected-date .warehouse-operation-type{grid-column:span 3!important}.warehouse-movement-form-wide.has-expected-date .warehouse-operation-qty{grid-column:span 2!important}.warehouse-movement-form-wide.has-expected-date .warehouse-expected-at-field{grid-column:span 3!important}.warehouse-movement-form-wide.has-expected-date .warehouse-operation-note{grid-column:span 4!important}.warehouse-movement-form-wide label,.warehouse-movement-form-wide input,.warehouse-movement-form-wide select{min-width:0!important;max-width:100%!important;box-sizing:border-box!important}.warehouse-operation-submit{grid-column:1/-1!important;justify-content:center!important}.warehouse-operation-submit>button{width:min(390px,100%)!important;margin-inline:auto!important}@media(max-width:1180px){.warehouse-movement-form-wide .warehouse-operation-type,.warehouse-movement-form-wide.has-expected-date .warehouse-operation-type{grid-column:span 6!important}.warehouse-movement-form-wide .warehouse-operation-qty,.warehouse-movement-form-wide.has-expected-date .warehouse-operation-qty{grid-column:span 6!important}.warehouse-movement-form-wide .warehouse-expected-at-field,.warehouse-movement-form-wide.has-expected-date .warehouse-expected-at-field{grid-column:span 6!important}.warehouse-movement-form-wide .warehouse-operation-note,.warehouse-movement-form-wide.has-expected-date .warehouse-operation-note{grid-column:span 6!important}}@media(max-width:720px){.warehouse-movement-form-wide>*{grid-column:1/-1!important}}
.warehouse-movement-scroll>.warehouse-movement-row{grid-template-columns:minmax(0,1.25fr) minmax(150px,.75fr)!important;align-items:center!important}@media(max-width:720px){.warehouse-movement-scroll>.warehouse-movement-row{grid-template-columns:1fr!important}}
.warehouse-stock-summary{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important;align-items:stretch!important}.warehouse-stock-summary-tile{display:grid!important;grid-template-rows:22px 38px 34px!important;gap:3px!important;min-height:118px!important;padding:14px 16px!important;align-content:start!important;text-align:left!important}.warehouse-stock-summary-tile>span{display:flex!important;align-items:center!important;height:22px!important;min-height:22px!important;font-size:11px!important;font-weight:600!important;color:#697980!important;padding-right:30px!important}.warehouse-stock-summary-tile>b{display:flex!important;align-items:center!important;height:38px!important;font-size:27px!important;font-weight:780!important;line-height:1!important;color:#1f2c33!important}.warehouse-stock-summary-tile>small{display:block!important;height:34px!important;min-height:34px!important;font-size:10px!important;font-weight:450!important;line-height:1.35!important;color:#738188!important;overflow:hidden!important}.warehouse-summary-alert-badge{top:13px!important;right:14px!important}@media(max-width:900px){.warehouse-stock-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media(max-width:520px){.warehouse-stock-summary{grid-template-columns:1fr!important}}
.warehouse-focus-flash{animation:warehouseFocusFlash62 4.2s ease-out!important}@keyframes warehouseFocusFlash62{0%,18%{box-shadow:0 0 0 4px rgba(73,167,111,.48),0 0 28px rgba(73,167,111,.22)!important;background-color:#eef9f2!important;border-color:#8bc6a3!important}72%{box-shadow:0 0 0 3px rgba(73,167,111,.13)!important;background-color:#f7fcf9!important}100%{box-shadow:0 0 0 0 rgba(73,167,111,0)!important;background-color:transparent}}


/* v1.2.3.63 FINAL — warehouse comments, picker sizing, summary alignment, native-details duplicate and focus corrective. */
.warehouse-native-details-summary{display:none!important}
.warehouse-prepare-popover .warehouse-picker-items{align-content:start!important;grid-auto-rows:max-content!important;align-items:start!important}
.warehouse-prepare-popover .warehouse-picker-item{align-self:start!important;height:auto!important;min-height:72px!important;max-height:none!important}
@media(min-width:721px){.warehouse-prepare-popover .warehouse-picker-items{height:clamp(190px,38dvh,340px)!important;min-height:190px!important;max-height:340px!important}}
@media(max-width:720px){.warehouse-prepare-popover .warehouse-picker-items{height:min(38dvh,300px)!important;min-height:130px!important;max-height:300px!important}}
.warehouse-stock-summary-tile{text-align:center!important;justify-items:center!important}
.warehouse-stock-summary-tile>span{justify-content:center!important;width:100%!important;padding-left:28px!important;padding-right:28px!important;text-align:center!important}
.warehouse-stock-summary-tile>b{justify-content:center!important;width:100%!important;text-align:center!important}
.warehouse-stock-summary-tile>small{width:100%!important;text-align:center!important;overflow:hidden!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important}
.warehouse-summary-alert-badge{position:absolute!important;top:13px!important;right:14px!important}
.warehouse-stock-title p{margin-top:4px!important;font-size:12.5px!important;font-weight:760!important;line-height:1.3!important;color:#53656e!important;letter-spacing:0!important}
.warehouse-stock-card.warehouse-focus-flash{background:#eaf8ef!important;border-color:#69b287!important;box-shadow:0 0 0 4px rgba(73,167,111,.34),0 0 30px rgba(73,167,111,.18)!important;transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease!important}

/* v1.2.3.66 — device movements, personal route endpoints, compact materials and device thumbnails. */
.route-personal-preferences{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(320px,1.28fr);gap:14px;align-items:center;margin-bottom:12px;padding:12px 14px}.route-pref-switch,.route-final-address{display:grid;gap:5px;min-width:0}.route-pref-switch small,.route-final-address small{font-size:10px;color:#718087}.route-pref-switch .switch-line{display:flex;align-items:center;gap:9px;font-weight:850;color:#314149}.route-pref-switch input{width:18px;height:18px;accent-color:#2f383d}.route-final-address>span{font-size:10.5px;font-weight:850;color:#53636b}.route-final-address input{height:42px}.route-pref-status{grid-column:1/-1;min-height:14px;font-size:10px;font-weight:800;color:#2f7955}
.completion-device-movement{margin:10px 0;padding:11px;border:1px solid #dce5e8;border-radius:13px;background:#f8fafb}.completion-movement-action{display:grid;gap:5px;font-size:11px;font-weight:850;color:#394a52}.completion-movement-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:10px}.completion-movement-fields label{display:grid;gap:5px;min-width:0;font-size:10.5px;font-weight:800;color:#53636b}.completion-movement-fields input,.completion-movement-fields select{min-width:0;height:41px}.completion-movement-fields .wide-field{grid-column:1/-1}.completion-movement-note{grid-column:1/-1;padding:7px 9px;border-radius:9px;background:#fff6e5;border:1px solid #efd39d;color:#775a23;font-size:10px;font-weight:750}.movement-invalid{border-color:#d26d79!important;box-shadow:0 0 0 2px rgba(183,50,67,.1)!important}
.review-device-movements{display:grid;gap:10px}.review-device-movement-card{padding:11px 12px;border:1px solid #dce5e8;border-radius:12px;background:#f8fafb}.review-device-movement-card>header{display:flex;justify-content:space-between;gap:10px;align-items:center}.review-device-movement-card .movement-action-badge{font-size:10px;font-weight:900;padding:4px 8px;border-radius:999px;background:#edf6f0;color:#29704c}.review-device-movement-data{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px 12px;margin-top:8px;font-size:11px;color:#44555d}.review-device-movement-data span{min-width:0;overflow-wrap:anywhere}
.warehouse-device-movements-list{display:grid;gap:12px}.warehouse-device-movement-card{padding:14px;border:1px solid #dce4e7;border-radius:16px;background:#fff}.warehouse-device-movement-card.is-processed{background:#f8faf9;opacity:.85}.warehouse-device-movement-card>header{display:flex;justify-content:space-between;gap:16px;align-items:start;padding-bottom:10px;border-bottom:1px solid #e5eaec}.warehouse-device-movement-card>header div{display:grid;gap:3px}.warehouse-device-movement-card>header b{font-size:14px}.warehouse-device-movement-card>header small,.warehouse-device-movement-card>header time{font-size:10.5px;color:#68777e}.warehouse-device-movement-actions{display:grid;gap:8px;margin-top:10px}.warehouse-device-movement-row{display:grid;grid-template-columns:92px minmax(0,1fr);gap:10px;padding:9px;border:1px solid #e1e7e9;border-radius:11px;background:#fafbfb}.warehouse-device-movement-kind{align-self:start;text-align:center;padding:5px 7px;border-radius:999px;font-size:9.5px;font-weight:900;background:#eef3f5;color:#44545c}.warehouse-device-movement-kind.action-install{background:#eaf7ef;color:#28714c}.warehouse-device-movement-kind.action-replace{background:#fff4e8;color:#98621f}.warehouse-device-movement-kind.action-demount{background:#fff0f2;color:#a33d4c}.warehouse-device-movement-row>div{display:grid;gap:4px}.warehouse-device-movement-row small{font-size:10px;color:#6b7980}.warehouse-device-movement-data{display:flex;flex-wrap:wrap;gap:5px 12px;font-size:10.5px;color:#46575f}.warehouse-return-hint{font-style:normal;font-size:10px;font-weight:750;color:#8a5c1c;background:#fff7e8;border-radius:8px;padding:6px 8px}.warehouse-movement-process-form{display:flex;justify-content:flex-end;margin-top:10px}.warehouse-movement-process-form button{min-width:170px}.warehouse-movement-processed{text-align:right;margin-top:9px;font-size:10px;color:#64737a}.warehouse-movement-incoming{margin-top:14px}.warehouse-movement-incoming>div{display:grid;gap:7px}.warehouse-movement-incoming a{display:flex;justify-content:space-between;gap:12px;padding:9px 10px;border:1px solid #e1e7e9;border-radius:10px;color:inherit;text-decoration:none}.warehouse-movement-incoming a span{font-size:10.5px;color:#68777e;text-align:right}
.job-device-summary{position:relative!important;padding-right:94px!important;min-height:80px!important}.job-device-summary-photo{position:absolute!important;right:10px!important;top:10px!important;width:72px!important;height:58px!important;margin:0!important}.job-device-summary-title{padding-right:2px}.job-device-summary span{font-size:11px!important;line-height:1.35!important;font-weight:500!important;color:#405159!important}.job-device-summary-title b{font-weight:800!important}.job-materials-total{display:block;color:#c86f36!important;font-size:10.5px!important;font-weight:900!important;line-height:1.2}.executor-materials-preview{max-height:112px;overflow:hidden}.executor-materials-scroll{display:block;max-height:56px;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;padding-right:3px}.ticket-right .job-materials-side{max-height:126px!important}.ticket-right .job-materials-scroll{max-height:65px!important}
@media(max-width:720px){.route-personal-preferences{grid-template-columns:1fr}.completion-movement-fields{grid-template-columns:1fr 1fr}.review-device-movement-data{grid-template-columns:1fr 1fr}.warehouse-device-movement-card>header{display:grid}.warehouse-device-movement-row{grid-template-columns:1fr}.warehouse-device-movement-kind{justify-self:start}.warehouse-movement-incoming a{display:grid}.warehouse-movement-incoming a span{text-align:left}.job-device-summary{padding-right:76px!important}.job-device-summary-photo{width:58px!important;height:48px!important}.completion-movement-fields .wide-field{grid-column:1/-1}}
@media(max-width:480px){.completion-movement-fields,.review-device-movement-data{grid-template-columns:1fr}.job-device-summary{padding-right:70px!important}.job-device-summary-photo{right:8px!important;top:8px!important}}
.review-device-movements{display:grid;gap:8px;margin-top:14px;padding:12px;border:1px solid #dfe6e8;border-radius:13px;background:#fafbfb}.review-device-movements>h3{margin:0;font-size:15px}.review-device-movement-list{display:grid;gap:8px}.review-device-movement-item{padding:10px 11px;border:1px solid #dfe6e8;border-radius:11px;background:#fff}.review-device-movement-item>header{display:flex;justify-content:space-between;gap:10px;align-items:center}.review-device-movement-item>header span{font-size:10px;color:#68777e}.review-device-movement-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px 12px;margin-top:7px;font-size:10.5px;color:#45565e}.review-device-movement-item.action-install{border-left:4px solid #75b98b}.review-device-movement-item.action-replace{border-left:4px solid #e3a85d}.review-device-movement-item.action-demount{border-left:4px solid #cf7782}.review-device-action-chips{display:flex;gap:5px;flex-wrap:wrap}.movement-action-badge.action-install{background:#eaf7ef;color:#28714c}.movement-action-badge.action-replace{background:#fff4e8;color:#98621f}.movement-action-badge.action-demount{background:#fff0f2;color:#a33d4c}.review-device-movement-card.is-voided{opacity:.68;border-style:dashed}.movement-history-state{display:block;margin-top:7px;font-size:9.5px;color:#718087}
@media(max-width:720px){.review-device-movement-grid{grid-template-columns:1fr 1fr}.review-device-movement-item>header{display:grid;gap:4px}}@media(max-width:480px){.review-device-movement-grid{grid-template-columns:1fr}}


/* v1.2.3.67 — route reliability / clearer completion target / warehouse route tab corrective. */
.device-tab-button.is-job-target.is-active{background:#26734b!important;border-color:#1f6842!important;color:#fff!important;box-shadow:0 0 0 3px rgba(38,115,75,.18)!important;transform:translateY(-1px)}
.device-tab-panel.is-job-target.is-active{border-color:#75bb90!important;box-shadow:inset 4px 0 0 #3c9a63,0 0 0 2px rgba(60,154,99,.08)!important;background:linear-gradient(180deg,#f0faf4 0,#fff 170px)!important}
.completion-movement-fields label[data-movement-label]{position:relative;padding-top:2px;border-radius:9px;transition:background .16s ease,padding .16s ease}
.completion-movement-fields label.movement-required{padding:7px;background:#fff7f1;color:#734221}
.completion-movement-fields label.movement-required::after{content:'*';position:absolute;right:7px;top:3px;color:#e06e36;font-size:15px;font-weight:950;line-height:1}
.completion-movement-fields label.movement-required input,.completion-movement-fields label.movement-required select{border-color:#efa77f!important;background:#fffdfb!important}
.route-personal-preferences{align-items:start}
.route-final-preference{display:grid;gap:8px}
.route-final-address-row{display:grid;grid-template-columns:minmax(0,1fr) 48px;gap:8px;align-items:center}
.route-final-address-row input{min-width:0}
.route-final-save{width:48px;height:48px;padding:0!important;display:grid!important;place-items:center;border-radius:12px!important;background:#fff!important;color:#2f3a40!important;border:1px solid #cfd9dd!important}
.route-final-save:hover{background:#eef8f2!important;color:#26734b!important;border-color:#8fc6a4!important}
.route-final-save svg{width:22px;height:22px}
.route-pref-status[data-kind="error"]{color:#a53c4b!important}
.warehouse-today-routes{display:flex;gap:8px;overflow-x:auto;padding:0 0 10px;scrollbar-width:thin}
.warehouse-today-routes>a{flex:0 0 auto;display:grid;gap:2px;min-width:190px;max-width:320px;padding:9px 12px;border:1px solid #d7e0e3;border-radius:12px;background:#fff;color:#33444c;text-decoration:none}
.warehouse-today-routes>a b{font-size:12px}.warehouse-today-routes>a span{font-size:10.5px;color:#69777e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.warehouse-today-routes>a.active{background:#eef8f2;border-color:#81bc97;box-shadow:inset 3px 0 0 #3e9961}
.warehouse-route-empty{margin:0;width:100%;padding:12px}
@media(max-width:720px){.route-final-address-row{grid-template-columns:minmax(0,1fr) 44px}.route-final-save{width:44px;height:44px}.warehouse-state-tabs{overflow-x:auto}.warehouse-state-tabs a{min-width:max-content}.warehouse-today-routes>a{min-width:175px}}

/* v1.2.3.68 corrective: preserve existing visual design while fixing hidden/adaptive states. */
.completion-movement-fields[hidden],.completion-movement-fields [hidden]{display:none!important}
.route-personal-preferences.route-final-only{grid-template-columns:minmax(0,1fr)!important}
.route-personal-preferences.route-final-only .route-final-preference{width:100%;min-width:0}
.route-personal-preferences.route-final-only .route-final-address-row{width:100%;grid-template-columns:minmax(0,1fr) 48px}
.route-personal-preferences.route-final-only .route-final-address-row input{width:100%!important;min-width:0!important;box-sizing:border-box}
.job-visibility-form{position:absolute;right:10px;top:10px;z-index:8;margin:0}
.job-visibility-button{width:34px;height:34px;min-width:34px;padding:0!important;border-radius:10px!important;display:grid!important;place-items:center;background:#fff!important;color:#56656c!important;border:1px solid #dbe3e6!important;box-shadow:0 2px 7px rgba(25,43,52,.08)}
.job-visibility-button svg{width:19px;height:19px}
.job-visibility-button.is-private{background:#eef8f2!important;color:#25764f!important;border-color:#abd9bf!important}
.job-card.has-visibility-control .ticket-meta-right{padding-right:42px}
.manager-only-create-note{margin-top:2px}
@media(max-width:720px){.route-personal-preferences.route-final-only .route-final-address-row{grid-template-columns:minmax(0,1fr) 44px}.job-visibility-form{right:8px;top:8px}.job-visibility-button{width:32px;height:32px;min-width:32px}.job-card.has-visibility-control .ticket-meta-right{padding-right:38px}}

/* v1.2.3.68 corrective — author CSS must never override semantic hidden state. */
.job-media-panel[hidden]{display:none!important}


/* v1.2.3.69 corrective — remove accidental green panel rails, preserve normal adaptive card geometry. */
.device-tab-panel.is-job-target,.device-tab-panel.is-job-target.is-active{border-color:var(--line)!important;background:#fff!important;box-shadow:none!important}
.executor-device-edit-grid[data-device-default-fields][hidden]{display:none!important}
.job-visibility-form{position:static!important;right:auto!important;top:auto!important;margin:0!important;display:inline-flex;flex:0 0 auto;z-index:8}
.job-card.has-visibility-control .ticket-meta-right{padding-right:0!important}
.ticket-meta-right .job-visibility-button{width:30px!important;height:30px!important;min-width:30px!important;border-radius:9px!important;box-shadow:none!important}
@media(max-width:720px){.ticket-meta-right{gap:6px!important;align-items:center!important}.ticket-meta-right .job-visibility-button{width:28px!important;height:28px!important;min-width:28px!important}.job-card.has-visibility-control .ticket-meta-right{padding-right:0!important}}


/* v1.2.3.74 — manager "Мои заявки" scope in the global queue row. */
.queue-my-jobs-filter{display:flex;align-items:center;margin:0;flex:0 0 auto}
.queue-my-jobs-toggle{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:7px 11px;border:1px solid var(--line);border-radius:12px;background:#fff;color:#516069;font-weight:700;white-space:nowrap;cursor:pointer;user-select:none}
.queue-my-jobs-toggle:hover{border-color:#c8d2d7;background:#fbfcfc}
.queue-my-jobs-toggle input{width:17px;height:17px;min-width:17px;margin:0;accent-color:#303a40;cursor:pointer}
.queue-my-jobs-toggle.active{border-color:#aebbc1;background:#f3f6f7;color:#28343b}
@media(max-width:720px){.queue-my-jobs-toggle{min-height:36px;padding:6px 9px;font-size:13px}.queue-my-jobs-toggle input{width:16px;height:16px;min-width:16px}}

/* v1.2.3.75 — compact photos attached to job notes/comments. */
.job-text-photo-picker{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:-2px 0 12px}
.job-text-photo-button{display:inline-flex!important;align-items:center;justify-content:center;min-height:42px;white-space:nowrap;cursor:pointer}
.job-text-photo-picker .form-help{margin:0;flex:1 1 220px}
.job-note-photos{margin-top:10px}
.job-comment-photos{margin-top:8px}
@media(max-width:720px){.job-text-photo-picker{align-items:stretch}.job-text-photo-button{width:100%}.job-text-photo-picker .form-help{flex-basis:100%}.job-note-photos{grid-template-columns:repeat(3,minmax(0,1fr))}.job-note-photos a{width:auto!important;height:auto!important;aspect-ratio:4/3}}


/* v1.2.3.80 — embedded Yandex route viewer */
.route-map-view-head{align-items:flex-end}
.route-yandex-view-panel{padding:0;overflow:hidden}
.route-yandex-frame{display:block;width:100%;height:clamp(560px,72dvh,900px);border:0;background:#f3f4f5}
.route-yandex-view-note{margin-top:10px}
@media(max-width:720px){
  .route-map-view-head{align-items:stretch}
  .route-map-view-head .detail-actions{width:100%}
  .route-map-view-head .detail-actions .button{width:100%;justify-content:center}
  .route-yandex-frame{height:calc(100dvh - 245px);min-height:500px}
}


/* ============================================================
   v1.2.3.86 STAGE 1 corrective — auth / Yandex / executor mobile UI
   SD-BLK-STAGE1-86
   ============================================================ */
html,body{max-width:100%;overflow-x:hidden}

/* Executor ticket number: one line, slightly smaller on mobile, with enlarged tap target. */
.ticket-meta-right .ticket-id-link{white-space:nowrap!important;word-break:keep-all!important;overflow-wrap:normal!important;hyphens:none!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 auto!important;min-height:34px!important;padding:6px 8px!important;margin:-5px -7px!important;line-height:1.05!important;touch-action:manipulation!important}
@media(max-width:720px){
  .ticket-heading{gap:8px!important;align-items:flex-start!important}.ticket-heading-left{min-width:0!important;flex:1 1 auto!important}.ticket-meta-right{flex:0 0 auto!important;min-width:max-content!important;flex-wrap:nowrap!important;gap:5px!important}.ticket-created{font-size:9.5px!important}.ticket-meta-right .ticket-id-link{font-size:10.5px!important;min-height:38px!important;padding:8px 7px!important;margin:-7px -6px!important}
}
@media(max-width:390px){.ticket-created{font-size:9px!important}.ticket-meta-right .ticket-id-link{font-size:9.7px!important;padding-left:5px!important;padding-right:5px!important}}

/* Job comment + photo composer: reserve real height and keep every element in normal document flow. */
.job-side-comments-grid>.job-comments-panel{grid-template-rows:auto 280px auto!important;height:auto!important;min-height:570px!important;max-height:none!important;overflow:visible!important}
.job-side-comments-grid .job-comments-panel .job-comment-form{display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto auto auto!important;gap:12px!important;align-content:start!important;position:static!important;overflow:visible!important;padding:2px 0 4px!important;min-height:0!important}
.job-side-comments-grid .job-comment-form>label{display:grid!important;grid-template-rows:auto minmax(96px,auto)!important;gap:7px!important;min-width:0!important;position:static!important;margin:0!important}
.job-side-comments-grid .job-comment-form textarea{position:static!important;display:block!important;width:100%!important;min-width:0!important;margin:0!important;inset:auto!important;box-sizing:border-box!important}
.job-side-comments-grid .job-text-photo-picker{position:static!important;display:grid!important;grid-template-columns:minmax(150px,max-content) minmax(0,1fr)!important;gap:8px 12px!important;align-items:center!important;margin:0!important;inset:auto!important;transform:none!important;z-index:auto!important}
.job-side-comments-grid .job-text-photo-button{position:static!important;margin:0!important;min-height:42px!important;width:auto!important;z-index:auto!important}
.job-side-comments-grid .job-text-photo-picker .form-help{display:block!important;position:static!important;margin:0!important;min-width:0!important;line-height:1.35!important}
.job-side-comments-grid .job-comment-form>button{position:static!important;width:100%!important;margin:0!important;min-height:44px!important}
@media(max-width:720px){.job-side-comments-grid>.job-comments-panel{min-height:590px!important}.job-side-comments-grid .job-text-photo-picker{grid-template-columns:1fr!important}.job-side-comments-grid .job-text-photo-button{width:100%!important}}

/* Accepted route preview stays untouched. Only lift the external Yandex button above iframe hit layers. */
.route-map-view-head{position:relative;z-index:6}.route-map-view-head .detail-actions{position:relative;z-index:7}.route-map-view-head [data-yandex-smart]{position:relative;z-index:8;pointer-events:auto!important;touch-action:manipulation!important;-webkit-tap-highlight-color:rgba(0,0,0,.05)}

/* ==============================================================
   v1.2.3.87 STAGE 2 — object manager identity + object devices peek
   ============================================================== */
.object-manager-profile-panel{display:grid;gap:12px}.object-manager-profile-panel .switch-line{justify-content:flex-start}
.object-manager-profile-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#f8fafb}
.object-manager-profile-fields[hidden]{display:none!important}.object-manager-profile-fields .wide-field{grid-column:1/-1}.object-manager-auto{padding:10px;border:1px solid #dfe6e9;border-radius:12px;background:#f8fafb}
.personal-info-card{margin-top:14px}.personal-info-form{display:grid;gap:12px}.profile-actions-row{display:flex;justify-content:flex-end}.object-manager-toggle{width:max-content}
.object-device-summary-button{display:grid!important;gap:2px!important;min-width:132px!important;max-width:240px!important;padding:7px 10px!important;border:1px solid #d8e1e5!important;border-radius:11px!important;background:#f8fbfc!important;color:#33434d!important;text-align:left!important;box-shadow:none!important;cursor:pointer!important;line-height:1.15!important}
.object-device-summary-button:hover{background:#eef5f7!important;transform:none!important}.object-device-summary-button b{font-size:12px!important}.object-device-summary-button small{font-size:10px!important;color:#6b7880!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.object-device-summary-button.is-empty{opacity:.7;cursor:default!important}
.object-device-popover{position:fixed;z-index:88;overflow:auto;padding:10px;border:1px solid #cfd9de;border-radius:14px;background:rgba(255,255,255,.985);box-shadow:0 16px 38px rgba(31,45,54,.18);overscroll-behavior:contain}
.object-device-popover[hidden]{display:none!important}.object-device-popover-head{position:sticky;top:-10px;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:10px;margin:-10px -10px 8px;padding:10px;background:#fff;border-bottom:1px solid #e5eaed}.object-device-popover-head button{width:32px;height:32px;min-height:32px;padding:0;border-radius:9px;background:#f5f7f8;color:#46555d}
.object-device-popover-list{display:grid;gap:8px}.object-device-popover-item{display:grid;gap:7px;padding:9px;border:1px solid #e3e9ec;border-radius:10px;background:#fafcfc}.object-device-popover-item strong{font-size:12px}.object-device-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.object-device-fields span{display:grid;gap:2px;min-width:0}.object-device-fields small{font-size:9px;color:var(--muted)}.object-device-fields b{font-size:11px;overflow-wrap:anywhere}
@media(max-width:720px){.object-manager-profile-fields{grid-template-columns:1fr}.object-device-summary-button{min-width:110px!important;max-width:180px!important}.object-device-fields{grid-template-columns:1fr}}

/* Accountant closed routes. */
.accountant-routes-head{margin-bottom:10px}.accounting-subtabs{display:flex;gap:8px;overflow-x:auto;margin:0 0 12px;padding:7px;border:1px solid var(--line);border-radius:13px;background:#f4f6f7}.accounting-subtabs a{display:inline-flex;align-items:center;min-height:40px;padding:8px 13px;border:1px solid #d7dfe3;border-radius:10px;background:#fff;color:#52616a;font-weight:800;white-space:nowrap}.accounting-subtabs a.active{background:var(--dark);border-color:var(--dark);color:#fff}.accounting-route-filters form{display:grid;grid-template-columns:minmax(220px,1.4fr) minmax(170px,.8fr) minmax(145px,.6fr) minmax(145px,.6fr) auto;gap:10px;align-items:end}.accounting-route-filters label{display:grid;gap:5px;font-size:11px;font-weight:750;color:#64727a}.accounting-filter-actions{display:flex;gap:7px;align-items:center}.accounting-route-list{display:grid;gap:10px}.accounting-route-card{overflow:hidden;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:0 4px 16px rgba(35,49,58,.05);transition:opacity .18s,transform .18s}.accounting-route-card.is-removing{opacity:0;transform:translateY(-6px)}.accounting-route-card-main{display:grid;grid-template-columns:minmax(190px,.8fr) minmax(0,1.6fr);gap:16px;padding:14px 16px;color:inherit;text-decoration:none}.accounting-route-card-main:hover{background:#fafcfc}.accounting-route-card-title{display:grid;align-content:center;gap:4px}.accounting-route-card-title>b{font-size:18px}.accounting-route-card-title>span{font-size:12px;color:var(--muted)}.accounting-route-card-meta{display:grid;grid-template-columns:repeat(4,minmax(100px,1fr));gap:8px}.accounting-route-card-meta>span{display:grid;gap:3px;padding:8px 10px;border:1px solid #e2e8eb;border-radius:10px;background:#f8fafb}.accounting-route-card-meta small{font-size:9px;color:var(--muted)}.accounting-route-card-meta b{font-size:12px;overflow-wrap:anywhere}.accounting-route-process-form{margin:0;padding:0 14px 14px}.accounting-route-processed-button{width:100%!important;min-height:46px!important;background:#2f3a44!important;color:#fff!important}.accounting-route-card.is-processed{background:#f9fbfa}.accounting-route-card.is-processed .accounting-route-card-main{grid-template-columns:minmax(190px,.8fr) minmax(0,1.6fr)}
@media(max-width:1000px){.accounting-route-filters form{grid-template-columns:1fr 1fr}.accounting-route-search{grid-column:1/-1}.accounting-filter-actions{grid-column:1/-1}.accounting-route-card-main{grid-template-columns:1fr}.accounting-route-card-meta{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.accounting-route-filters form{grid-template-columns:1fr}.accounting-route-search,.accounting-filter-actions{grid-column:auto}.accounting-filter-actions>*{flex:1}.accounting-route-card-meta{grid-template-columns:1fr 1fr}.accounting-route-card-title>b{font-size:16px}}

/* Accountant route detail: independent order + map. */
.accounting-route-detail-head{align-items:flex-end}.accounting-route-head-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.accounting-route-workspace{display:grid;grid-template-columns:minmax(360px,.82fr) minmax(460px,1.18fr);gap:14px;align-items:start}.accounting-route-points-panel{min-width:0}.accounting-route-panel-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:10px}.accounting-route-panel-head h2,.accounting-route-map-head h2{margin:0}.accounting-route-panel-head p{margin:3px 0 0;color:var(--muted);font-size:11px}.accounting-route-save-status{font-size:11px;color:#4e6c5a;white-space:nowrap}.accounting-route-point-list{display:grid;gap:7px;margin:0;padding:0;list-style:none}.accounting-route-point-list li{display:grid;grid-template-columns:34px 28px minmax(0,1fr);align-items:center;gap:8px;padding:8px;border:1px solid #dfe6e9;border-radius:11px;background:#fff}.accounting-route-point-list li.is-dragging{opacity:.55;box-shadow:0 10px 25px rgba(30,43,50,.14)}.accounting-drag-handle{width:34px;height:38px;min-height:38px;padding:0!important;border:1px solid #d7dfe3!important;border-radius:9px!important;background:#f7f9fa!important;color:#68767e!important;cursor:grab!important}.accounting-drag-handle:active{cursor:grabbing!important}.accounting-drag-handle:disabled{opacity:.35;cursor:default!important}.accounting-point-number{font-size:11px;font-weight:850;color:#6c7981;text-align:center}.accounting-route-point-list a{display:grid;gap:2px;min-width:0;color:inherit;text-decoration:none}.accounting-route-point-list a b{font-size:13px}.accounting-route-point-list a small{font-size:11px;color:#65737b;overflow-wrap:anywhere}.accounting-route-point-list a em{font-size:10px;color:#7d888e;font-style:normal}.accounting-extra-points{display:grid;gap:7px;margin-top:9px}.accounting-extra-point{display:grid;grid-template-columns:28px minmax(0,1fr) 34px;gap:8px;align-items:center;padding:8px 9px;border:1px dashed #d7bcae;border-radius:11px;background:#fff9f5}.accounting-extra-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#f4dfd3;color:#985f42;font-weight:900}.accounting-extra-point>div{display:grid;gap:2px;min-width:0}.accounting-extra-point b{font-size:11px}.accounting-extra-point span:not(.accounting-extra-icon){font-size:11px;color:#616f77;overflow-wrap:anywhere}.accounting-extra-point button{width:34px;height:34px;min-height:34px;padding:0!important;background:#fff!important;color:#7b5550!important;border:1px solid #e6d6d0!important}.accounting-add-point{display:grid;grid-template-columns:minmax(0,1fr) 46px;gap:7px;margin-top:10px}.accounting-add-point input{min-width:0}.accounting-add-point button{width:46px;min-width:46px;padding:0!important}.accounting-add-point small{grid-column:1/-1;color:var(--muted)}.accounting-detail-process-form{margin-top:12px}.accounting-route-map-panel{position:sticky;top:86px;min-width:0}.accounting-route-map-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.accounting-map-frame{height:min(68vh,720px);min-height:520px;overflow:hidden;border:1px solid #dfe5e8;border-radius:13px;background:#f5f7f8}.accounting-map-frame iframe{display:block;width:100%;height:100%;border:0}.accounting-route-processed-note{border-color:#cfe1d5;background:#f4faf6}
@media(max-width:980px){.accounting-route-workspace{grid-template-columns:1fr}.accounting-route-map-panel{position:static}.accounting-map-frame{height:56vh;min-height:390px}}
@media(max-width:600px){.accounting-route-detail-head{display:grid!important;gap:10px}.accounting-route-head-actions{justify-content:stretch}.accounting-route-head-actions>*{flex:1}.accounting-route-point-list li{grid-template-columns:32px 22px minmax(0,1fr);padding:7px}.accounting-drag-handle{width:32px}.accounting-map-frame{height:52vh;min-height:340px}}

/* Accountant warehouse = hard read-only surface. */
.accountant-warehouse-readonly form[method="post"],.accountant-warehouse-readonly .warehouse-card-operation,.accountant-warehouse-readonly .warehouse-item-actions-row,.accountant-warehouse-readonly .warehouse-create-item-form,.accountant-warehouse-readonly [data-toggle-target="warehouseCreateItem"]{display:none!important}.accountant-warehouse-readonly .warehouse-item-details{display:block!important}.accountant-warehouse-readonly .warehouse-item-details>summary{display:none!important}.accountant-warehouse-readonly .warehouse-item-panel{display:none!important}.accountant-warehouse-readonly .warehouse-stock-card{cursor:default}.accountant-warehouse-note{margin-bottom:12px}.accountant-stock-movement-panel{margin-bottom:12px}.accountant-stock-movement-list{display:grid;gap:7px;max-height:540px;overflow:auto}.accountant-stock-movement-list article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:9px 10px;border:1px solid #e2e8eb;border-radius:10px;background:#fafcfc}.accountant-stock-movement-list article>div{display:grid;gap:2px}.accountant-stock-movement-list small{font-size:10px;color:var(--muted)}.accountant-stock-movement-values{text-align:right}.accountant-stock-movement-values b{font-size:12px}.accountant-stock-movement-values span{font-size:10px;color:#58666e}
@media(max-width:620px){.accountant-stock-movement-list article{grid-template-columns:1fr}.accountant-stock-movement-values{text-align:left}}

/* Accepted route/Yandex files remain untouched; only keep external button above iframe hit-layer. */
.route-map-view-head .detail-actions,.accounting-route-map-head{position:relative;z-index:6}.route-map-view-head [data-yandex-smart],.accounting-route-map-head [data-yandex-smart]{position:relative;z-index:7;pointer-events:auto!important;touch-action:manipulation}

/* Stage 3 — accountant permissions / creation audit. */
.accountant-permissions{display:grid;gap:7px;padding:10px 12px;border:1px solid #dfe6e9;border-radius:11px;background:#f8fafb}.accountant-permissions>b{font-size:12px}.accountant-permissions small{font-size:10px}.team-creation-log{margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.team-creation-log h3{margin:0 0 4px}.team-creation-log-list{display:grid;gap:6px;margin-top:9px;max-height:360px;overflow:auto}.team-creation-log-list>div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:10px;padding:8px 10px;border:1px solid #e4e9ec;border-radius:10px;background:#fafcfc}.team-creation-log-list time{font-size:10px;color:var(--muted)}.team-creation-log-list span{font-size:11px}@media(max-width:620px){.team-creation-log-list>div{grid-template-columns:1fr;gap:3px}}

.accounting-add-point-wrap{display:grid;gap:7px;margin-top:10px}.accounting-add-point-toggle{justify-self:start}.accounting-add-point[hidden]{display:none!important}.accountant-warehouse-subtabs{margin-top:0}

/* v1.2.3.90 LOCAL — accountant route membership overlay/actions + UX corrective. */
.accounting-route-point-list li{grid-template-columns:34px 28px minmax(0,1fr) 38px;position:relative}.accounting-job-actions{position:relative;align-self:stretch;display:grid;align-items:center}.accounting-job-menu-button{width:36px!important;height:36px!important;min-height:36px!important;padding:0!important;border:1px solid #d8e0e4!important;border-radius:10px!important;background:#f8fafb!important;color:#5d6970!important;font-size:15px!important;line-height:1!important;letter-spacing:1px}.accounting-job-menu-button:hover{background:#eef2f4!important}.accounting-job-action-popover{position:absolute;z-index:45;right:0;top:calc(100% + 5px);width:min(300px,78vw);padding:6px;border:1px solid #dce3e6;border-radius:12px;background:#fff;box-shadow:0 14px 36px rgba(30,42,50,.18)}.accounting-job-action-popover[hidden]{display:none!important}.accounting-job-action-popover>button{display:block;width:100%!important;min-height:38px!important;padding:8px 10px!important;text-align:left!important;border:0!important;border-radius:8px!important;background:#fff!important;color:#334149!important;font-size:11px!important}.accounting-job-action-popover>button:hover{background:#f3f6f7!important}.accounting-job-action-popover>button[data-accounting-job-action="remove"]{color:#8b4c48!important}.accounting-popover-loading{padding:10px}.accounting-transfer-title{padding:6px 8px 8px;font-size:11px;font-weight:850;color:#58666e}.accounting-transfer-scroll{display:grid;gap:5px;max-height:300px;overflow:auto;padding:1px}.accounting-transfer-route{display:grid!important;gap:3px!important;width:100%!important;min-height:auto!important;padding:9px 10px!important;text-align:left!important;border:1px solid #e1e7ea!important;border-radius:9px!important;background:#fafcfc!important;color:#344149!important}.accounting-transfer-route b{font-size:11px}.accounting-transfer-route span{font-size:9px;color:#738087}.accounting-route-no-jobs{margin:8px 0 0}
.accounting-add-point-shell{margin-top:8px;padding:8px;border:1px solid #dfe6e9;border-radius:12px;background:#fafcfc}.accounting-add-point-shell[hidden]{display:none!important}.accounting-add-point-tabs{display:flex;gap:6px;margin-bottom:8px}.accounting-add-point-tabs button{min-height:34px!important;padding:6px 10px!important;border:1px solid #dbe3e7!important;border-radius:9px!important;background:#fff!important;color:#66747c!important;font-size:10px!important}.accounting-add-point-tabs button.active{background:#2f3a44!important;border-color:#2f3a44!important;color:#fff!important}.accounting-add-point[hidden],.accounting-deleted-picker[hidden]{display:none!important}.accounting-deleted-picker{display:grid;gap:7px}.accounting-deleted-picker>input{width:100%}.accounting-deleted-scroll{display:grid;gap:6px;max-height:330px;overflow:auto;padding-right:3px}.accounting-deleted-item{display:grid!important;gap:3px!important;width:100%!important;min-height:auto!important;padding:9px 10px!important;text-align:left!important;border:1px solid #e0e6e9!important;border-radius:10px!important;background:#fff!important;color:#344149!important}.accounting-deleted-item:hover{background:#f5f8f9!important}.accounting-deleted-item>span{display:flex;justify-content:space-between;gap:8px;align-items:center}.accounting-deleted-item b{font-size:10px}.accounting-deleted-item em{font-size:9px;color:#7a858b;font-style:normal}.accounting-deleted-item strong{font-size:11px;overflow-wrap:anywhere}.accounting-deleted-item small{font-size:9px;color:#748087}.accounting-deleted-empty{padding:10px;text-align:center}
.accountant-actions-widget{position:relative;display:inline-flex}.accountant-actions-trigger{display:inline-flex!important;align-items:center!important;gap:5px!important;min-height:38px!important;padding:7px 9px!important;border:1px solid #d7dfe3!important;border-radius:10px!important;background:#fff!important;color:#4d5b63!important;font-size:10px!important;font-weight:800!important}.accountant-actions-trigger>b{display:grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#e9a887;color:#fff;font-size:9px}.accountant-actions-trigger>b[hidden]{display:none!important}.accountant-actions-popover{position:absolute;z-index:80;right:0;top:calc(100% + 8px);width:min(390px,88vw);padding:9px;border:1px solid #dbe3e6;border-radius:13px;background:#fff;box-shadow:0 16px 40px rgba(28,40,48,.2)}.accountant-actions-popover[hidden]{display:none!important}.accountant-actions-popover-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;padding:3px 3px 8px}.accountant-actions-popover-head>div{display:grid;gap:2px}.accountant-actions-popover-head b{font-size:12px}.accountant-actions-popover-head small{font-size:9px;color:#7b878d}.accountant-actions-popover-head>button{width:30px!important;height:30px!important;min-height:30px!important;padding:0!important;background:#f5f7f8!important;color:#68757c!important}.accountant-actions-list{display:grid;gap:6px;max-height:420px;overflow:auto}.accountant-action-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:8px 9px;border:1px solid #e2e8eb;border-radius:10px;background:#fafcfc}.accountant-action-row>div{display:grid;gap:2px;min-width:0}.accountant-action-row b{font-size:10px}.accountant-action-row span{font-size:10px;overflow-wrap:anywhere}.accountant-action-row small{font-size:9px;color:#7a858b}.accountant-action-row em{font-size:9px;color:#8a9499;font-style:normal}.accountant-action-row.is-undone{opacity:.62}.accountant-action-undo{min-height:32px!important;padding:5px 8px!important;font-size:9px!important}.accountant-actions-empty{padding:12px;text-align:center}
@media(max-width:720px){.accounting-route-point-list li{grid-template-columns:32px 22px minmax(0,1fr) 36px}.accounting-job-menu-button{width:34px!important}.accountant-actions-trigger>span:nth-child(2){display:none}.accountant-actions-trigger{padding:7px!important}.accounting-add-point-tabs{display:grid;grid-template-columns:1fr 1fr}.accounting-deleted-scroll{max-height:280px}}

/* ==============================================================
   v1.2.3.90 LOCAL — accountant route UX / fixed points / compact list
   ============================================================== */
.queue-tabs-main .queue-my-jobs-toggle{min-height:38px;height:38px;padding:0 12px}
.queue-tabs-main .queue-my-jobs-toggle input{width:17px!important;height:17px!important;min-width:17px!important;min-height:0!important;padding:0!important;margin:0!important}

.accountant-routes-head{align-items:center}.accountant-routes-settings{display:flex;align-items:center;justify-content:flex-end}.fixed-points-settings-button{min-height:38px!important;padding:7px 11px!important;font-size:11px!important}.fixed-points-settings-button svg{width:16px;height:16px;flex:0 0 auto}
.accounting-route-list{grid-template-columns:repeat(auto-fill,minmax(285px,1fr));align-items:stretch;gap:12px}.accounting-routes-empty{grid-column:1/-1}
.accounting-route-card{display:flex;flex-direction:column;min-width:0}.accounting-route-card-main{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;padding:13px 14px 10px!important;flex:1}.accounting-route-card-title{align-content:start}.accounting-route-card-title>b{font-size:16px}.accounting-route-card-title>span{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.accounting-route-card-meta{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important}.accounting-route-card-meta>span{padding:7px 8px!important}.accounting-route-card-meta b{font-size:11px!important}.accounting-route-process-form{padding:0 14px 13px!important}.accounting-route-processed-button{width:100%!important;min-height:38px!important;padding:7px 11px!important;background:var(--accent)!important;border-color:var(--accent)!important;color:#3a302c!important;font-weight:850!important}.accounting-route-processed-button:hover{background:var(--accent-hover)!important;border-color:var(--accent-hover)!important}.accounting-route-processed-badge{display:flex;align-items:center;justify-content:center;min-height:36px;margin:0 14px 13px;padding:7px 10px;border:1px solid #f1c4ad;border-radius:10px;background:var(--accent-soft);color:#8e5a41;font-size:11px;font-weight:850}

.accounting-head-process-form{margin:0}.accounting-route-processed-button-head{width:auto!important;min-width:104px!important;margin:0!important}.accounting-route-processed-badge-head{margin:0;min-width:104px;min-height:40px}
.accounting-route-point-list li{grid-template-columns:30px 24px minmax(0,1fr) 32px!important;gap:7px!important}.accounting-drag-handle{width:30px!important;height:32px!important;min-height:32px!important;border-radius:8px!important}.accounting-job-menu-button{width:29px!important;height:29px!important;min-height:29px!important;border-radius:8px!important;font-size:13px!important}.accounting-job-action-popover{width:min(250px,78vw)!important;padding:5px!important}.accounting-job-action-popover>button{min-height:32px!important;padding:6px 8px!important;font-size:10px!important}.accounting-transfer-route{padding:7px 8px!important}.accounting-transfer-scroll{max-height:260px!important}
.accounting-fixed-route-points{display:grid;gap:7px}.accounting-fixed-route-points-first{margin-bottom:8px}.accounting-fixed-route-points-last{margin-top:9px}.accounting-fixed-route-point{display:grid;grid-template-columns:30px minmax(0,1fr);gap:8px;align-items:center;padding:9px 10px;border:1px solid #efc9b6;border-radius:11px;background:#fff7f2}.accounting-fixed-route-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--accent);color:#3d302b;font-weight:900}.accounting-fixed-route-point>div{display:grid;gap:1px;min-width:0}.accounting-fixed-route-point b{font-size:11px}.accounting-fixed-route-point span:not(.accounting-fixed-route-icon){font-size:10px;color:#65727a;overflow-wrap:anywhere}.accounting-fixed-route-point em{font-size:9px;color:#a06b50;font-style:normal}

.fixed-points-dialog{width:min(980px,calc(100vw - 32px));max-height:min(88vh,900px);padding:0;border:0;border-radius:18px;background:#fff;box-shadow:0 28px 80px rgba(26,35,41,.28);overflow:hidden}.fixed-points-dialog::backdrop{background:rgba(28,36,42,.42);backdrop-filter:blur(2px)}.fixed-points-modal{display:grid;grid-template-rows:auto minmax(0,1fr);max-height:min(88vh,900px)}.fixed-points-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid var(--line);background:#fff}.fixed-points-modal-head h2{margin:0 0 4px}.fixed-points-modal-head p{margin:0;color:var(--muted);font-size:11px}.fixed-points-close{width:34px!important;height:34px!important;min-height:34px!important;padding:0!important;background:#f5f7f8!important;color:#65737b!important;border:1px solid var(--line)!important}.fixed-points-modal-body{display:grid;grid-template-columns:minmax(300px,.82fr) minmax(380px,1.18fr);gap:14px;padding:16px;overflow:auto;background:#f6f8f9}.fixed-point-create-card,.fixed-point-card{padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff}.fixed-point-create-card{align-self:start;position:sticky;top:0}.fixed-point-create-card h3,.fixed-point-existing h3{margin:0 0 10px}.fixed-point-existing{display:grid;align-content:start;gap:10px}.fixed-point-card{position:relative}.fixed-point-card.is-inactive{opacity:.68}.fixed-point-form{display:grid;grid-template-columns:1fr 1fr;gap:10px}.fixed-point-form>label:nth-of-type(1),.fixed-point-form>label:nth-of-type(2),.fixed-point-form>fieldset{grid-column:1/-1}.fixed-point-form fieldset{margin:0}.fixed-point-form fieldset>small{display:block;margin:-2px 0 8px;color:var(--muted)}.fixed-point-active{display:flex!important;align-items:center!important;align-self:end;min-height:42px;gap:7px!important}.fixed-point-active input,.fixed-point-executor-grid input{width:17px!important;height:17px!important;min-height:0!important;margin:0!important}.fixed-point-executor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.fixed-point-executor-grid label{display:flex;align-items:center;gap:7px;padding:6px 7px;border:1px solid #e4e9eb;border-radius:9px;background:#fafcfc;color:#45535b;font-size:10px;font-weight:650}.fixed-point-form-actions{grid-column:1/-1;display:flex;justify-content:flex-end}.fixed-point-form-actions button{background:var(--accent)!important;border-color:var(--accent)!important;color:#3a302c!important}.fixed-point-delete-form{display:flex;justify-content:flex-end;margin-top:8px}.fixed-point-delete-form button{min-height:32px!important;padding:5px 9px!important;font-size:10px!important;color:#8b4c48!important}

.accountant-actions-icon{display:grid;place-items:center;width:18px;height:18px}.accountant-actions-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.accountant-actions-trigger{min-height:40px!important;padding:7px 10px!important;font-size:11px!important}

@media(max-width:820px){.fixed-points-modal-body{grid-template-columns:1fr}.fixed-point-create-card{position:static}.accounting-route-list{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}}
@media(max-width:600px){.accountant-routes-head{align-items:stretch}.accountant-routes-settings{justify-content:stretch}.fixed-points-settings-button{width:100%}.accounting-route-list{grid-template-columns:1fr}.fixed-point-form{grid-template-columns:1fr}.fixed-point-form>*{grid-column:1!important}.fixed-point-executor-grid{grid-template-columns:1fr}.fixed-points-dialog{width:calc(100vw - 16px);max-height:94vh}.fixed-points-modal{max-height:94vh}.fixed-points-modal-body{padding:10px}.accounting-route-point-list li{grid-template-columns:28px 22px minmax(0,1fr) 30px!important}}

/* v1.2.3.90 — owner warehouse audit viewer. */
.warehouse-audit-filter{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}.warehouse-audit-filter input{flex:1 1 340px;min-width:220px}.warehouse-audit-table td{vertical-align:top}.warehouse-audit-table td small{display:block;margin-top:3px;color:var(--muted);font-size:10px}.warehouse-audit-item{display:grid;gap:1px;margin-bottom:7px}.warehouse-audit-item:last-child{margin-bottom:0}.warehouse-audit-item>b{font-size:11px}.warehouse-audit-item small{margin-top:1px!important}.warehouse-audit-table th{white-space:nowrap}
@media(max-width:720px){.warehouse-audit-filter>*{width:100%}.warehouse-audit-filter input{min-width:0}.warehouse-audit-table{font-size:11px}}

/* ==============================================================
   v1.2.3.91 LOCAL — accountant routes refinement / fixed points UX
   ============================================================== */
/* Processed route controls use the same light AROMA peach as Create job. */
.accounting-route-processed-button{
  background:#ffc1a5!important;border-color:#ffc1a5!important;color:#333!important;font-weight:500!important;
}
.accounting-route-processed-button:hover{background:#f7b596!important;border-color:#f7b596!important}
.accounting-route-processed-badge{background:#fff0e8!important;border-color:#f1c4ad!important;color:#85533d!important;font-weight:500!important}
.accounting-route-processed-button-head{min-height:40px!important;padding:8px 13px!important}

/* Closed routes: addressable URL pagination. */
.accounting-pagination{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap;margin:16px 0 4px}
.accounting-pagination>a{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 10px;border:1px solid var(--line-strong);border-radius:10px;background:#fff;color:#4d5b63;font-size:12px;font-weight:650;text-decoration:none}
.accounting-pagination>a:hover{background:#f8fafb;text-decoration:none}
.accounting-pagination>a.active{background:var(--dark);border-color:var(--dark);color:#fff}
.accounting-pagination>a.is-disabled{pointer-events:none;opacity:.38}
.accounting-pagination-total{margin-left:6px;color:var(--muted);font-size:11px}

/* Route detail: compact return control placed over the title. */
.accounting-route-back-row{display:flex;justify-content:flex-start;margin:0 0 4px}
.accounting-route-back{min-height:32px!important;padding:5px 9px!important;border-radius:9px!important;font-size:10.5px!important;font-weight:600!important;gap:5px!important}
.accounting-route-back>span:first-child{font-size:15px;line-height:1}

/* Add-point shell spans the panel and all three modes get equal space. */
.accounting-add-point-wrap{margin-top:10px}
.accounting-add-point-toggle{min-height:36px!important;padding:7px 11px!important}
.accounting-add-point-tabs{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;width:100%}
.accounting-add-point-tabs button{width:100%!important;min-width:0!important;white-space:normal!important;line-height:1.2!important}
.accounting-deleted-picker,.accounting-fixed-picker{width:100%;min-width:0}
.accounting-deleted-scroll,.accounting-fixed-picker-list{width:100%}
.accounting-deleted-item{grid-template-columns:1fr!important;width:100%!important}
.accounting-fixed-picker-list{display:grid;gap:7px}
.accounting-fixed-picker-item{display:grid!important;gap:3px!important;width:100%!important;padding:10px 11px!important;text-align:left!important;border:1px solid #e0e6e9!important;border-radius:10px!important;background:#fff!important;color:#344149!important}
.accounting-fixed-picker-item:hover{background:#f7f9fa!important}
.accounting-fixed-picker-item b{font-size:11px}.accounting-fixed-picker-item span{font-size:10px;color:#5e6c74;overflow-wrap:anywhere}.accounting-fixed-picker-item small{font-size:9px;color:#8b6a59}

/* Fixed route point looks like a normal route row, with its note attached. */
.accounting-fixed-point-main{display:grid;gap:2px;min-width:0}
.accounting-fixed-point-main b{font-size:13px}.accounting-fixed-point-main small{font-size:11px;color:#65737b;overflow-wrap:anywhere}.accounting-fixed-point-main em{font-size:10px;color:#9a674f;font-style:normal}
.accounting-fixed-list-point{border-color:#efc9b6!important;background:#fffaf7!important}
.accounting-fixed-note{display:block;margin-top:3px;padding:5px 7px;border-radius:8px;background:#fff0e8;color:#785445;font-size:9.5px;line-height:1.35;overflow-wrap:anywhere}
.accounting-fixed-note[hidden]{display:none!important}
.accounting-fixed-note-dialog{width:min(520px,calc(100vw - 24px));padding:0;border:0;border-radius:16px;box-shadow:0 24px 70px rgba(25,34,40,.28)}
.accounting-fixed-note-dialog::backdrop{background:rgba(28,36,42,.42);backdrop-filter:blur(2px)}
.accounting-fixed-note-card{display:grid;gap:12px;padding:16px;background:#fff}
.accounting-fixed-note-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.accounting-fixed-note-head h3{margin:0}.accounting-fixed-note-head p{margin:3px 0 0;color:var(--muted);font-size:11px}.accounting-fixed-note-head button{width:32px!important;height:32px!important;min-height:32px!important;padding:0!important}
.accounting-fixed-note-actions{display:flex;justify-content:flex-end;gap:8px}

/* Accountant actions: readable full-width cards and bounded hidden-scroll area. */
.accountant-actions-popover{width:min(520px,92vw)!important;padding:10px!important}
.accountant-actions-list{max-height:min(54vh,430px)!important;overflow-y:auto!important;overflow-x:hidden!important;padding-right:1px;overscroll-behavior:contain;scrollbar-width:none}
.accountant-actions-list::-webkit-scrollbar{width:0;height:0;display:none}
.accountant-action-row{grid-template-columns:minmax(0,1fr) auto!important;gap:12px!important;align-items:start!important;padding:10px 11px!important}
.accountant-action-row>div{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:3px!important;text-align:left!important}
.accountant-action-row b{font-size:11px!important}.accountant-action-row span{font-size:10.5px!important;line-height:1.35!important}.accountant-action-row small,.accountant-action-row em{font-size:9.5px!important;line-height:1.35!important}
.accountant-action-undo{align-self:center;min-width:76px!important}

/* Fixed-points settings: explicit tabs and map-verified creation flow. */
.fixed-points-modal{grid-template-rows:auto auto minmax(0,1fr)!important}
.fixed-points-tabs{display:flex;gap:7px;padding:10px 16px 0;background:#f6f8f9}
.fixed-points-tabs button{min-height:36px!important;padding:7px 12px!important;border:1px solid #d9e1e5!important;border-radius:10px 10px 0 0!important;background:#fff!important;color:#59666e!important;font-size:11px!important;font-weight:600!important;box-shadow:none!important}
.fixed-points-tabs button.active{background:var(--dark)!important;border-color:var(--dark)!important;color:#fff!important}
.fixed-points-tabs button span{opacity:.75;font-size:9px}
.fixed-points-modal-body{display:block!important;padding:14px 16px 16px!important;overflow:auto!important;scrollbar-width:none}
.fixed-points-modal-body::-webkit-scrollbar{display:none}
.fixed-point-tab-panel[hidden]{display:none!important}
.fixed-point-create-grid{display:grid;grid-template-columns:minmax(320px,.82fr) minmax(420px,1.18fr);gap:14px;align-items:stretch}
.fixed-point-create-card{position:static!important;align-self:stretch!important}
.fixed-address-map-card{display:grid;grid-template-rows:auto minmax(390px,1fr);gap:9px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff;min-height:500px}
.fixed-address-map-card>div{display:grid;gap:2px}.fixed-address-map-card>div b{font-size:12px}.fixed-address-map-card>div span{color:var(--muted);font-size:10px}
.fixed-address-map-card iframe{width:100%;height:100%;min-height:390px;border:1px solid #e0e6e9;border-radius:11px;background:#f5f7f8}
.fixed-address-check{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:7px}.fixed-address-preview-button{width:44px!important;min-width:44px!important;padding:0!important;font-size:18px!important}
.fixed-wide{grid-column:1/-1!important}.fixed-position-select{min-width:230px;width:100%}
.fixed-executor-picker{border:1px solid var(--line);border-radius:11px;background:#fafcfc;overflow:hidden}.fixed-executor-picker>summary{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:42px;padding:9px 11px;cursor:pointer;font-size:11px;font-weight:700;list-style:none}.fixed-executor-picker>summary::-webkit-details-marker{display:none}.fixed-executor-picker>summary::after{content:'⌄';margin-left:auto;color:#738087;font-size:14px}.fixed-executor-picker[open]>summary::after{transform:rotate(180deg)}.fixed-executor-picker .fixed-point-executor-grid{padding:0 9px 9px}
.fixed-point-hint{display:block;margin-top:5px;color:var(--muted);font-size:9.5px;line-height:1.35}
.fixed-list-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.fixed-list-head h3{margin:0}.fixed-list-head p{margin:0;color:var(--muted);font-size:10px}
.fixed-point-existing{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:10px!important}.fixed-list-head,.fixed-point-existing>.empty{grid-column:1/-1}
.fixed-point-card{min-width:0}.fixed-point-card .fixed-point-form{grid-template-columns:minmax(0,1fr) minmax(200px,.55fr)!important}.fixed-point-card .fixed-point-active{justify-content:flex-start!important;align-self:end!important}.fixed-point-form-actions{align-items:center;gap:7px}.fixed-point-form-actions [hidden]{display:none!important}
.fixed-delete-confirm{position:absolute;inset:0;z-index:5;display:grid;place-items:center;padding:18px;background:rgba(28,36,42,.48);backdrop-filter:blur(2px)}.fixed-delete-confirm[hidden]{display:none!important}.fixed-delete-confirm-card{width:min(430px,100%);padding:18px;border-radius:15px;background:#fff;box-shadow:0 22px 60px rgba(25,34,40,.28)}.fixed-delete-confirm-card h3{margin:0 0 7px}.fixed-delete-confirm-card p{margin:0 0 14px;color:#64727a;font-size:11px}.fixed-delete-confirm-card>div{display:flex;justify-content:flex-end;gap:8px}
.fixed-points-pin{font-size:16px;line-height:1}

/* Free Tabler refresh icon in Actions. */
.accountant-actions-icon svg{width:18px!important;height:18px!important;stroke-width:1.9!important}

@media(max-width:900px){
  .fixed-point-create-grid{grid-template-columns:1fr}.fixed-address-map-card{min-height:430px}.fixed-point-existing{grid-template-columns:1fr}
}
@media(max-width:600px){
  .accounting-pagination-total{width:100%;margin:2px 0 0;text-align:center}.accounting-add-point-tabs{grid-template-columns:1fr!important}.accountant-actions-popover{position:fixed!important;left:8px!important;right:8px!important;top:76px!important;width:auto!important}.accountant-action-row{grid-template-columns:1fr!important}.accountant-action-undo{justify-self:start}.fixed-points-tabs{padding-left:10px;padding-right:10px;overflow-x:auto}.fixed-points-modal-body{padding:10px!important}.fixed-address-map-card{min-height:360px}.fixed-address-map-card iframe{min-height:300px}.fixed-point-card .fixed-point-form{grid-template-columns:1fr!important}.fixed-position-select{min-width:0}
}
/* v1.2.3.97 — fixed-point settings follow-up. */
.fixed-points-modal{position:relative}


/* ==============================================================
   v1.2.3.97 PRODUCTION — accountant route refinement / read-only job ACL
   ============================================================== */
.accounting-subtabs a{font-weight:500!important}.accounting-subtabs a.active{font-weight:500!important}
.accounting-route-filters form{grid-template-columns:minmax(220px,1.45fr) minmax(170px,.82fr) minmax(145px,.62fr) minmax(145px,.62fr) auto!important}
.accounting-filter-actions{justify-content:flex-end}.accounting-route-list{margin-top:18px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:11px}
.accounting-route-card-main{gap:7px!important;padding:10px 12px 8px!important}.accounting-route-card-title>b{font-size:14.5px!important;font-weight:750}.accounting-route-title-count{font-size:10px;font-weight:500;color:#66747c}.accounting-route-card-title>span{font-size:10px!important}
.accounting-route-card-meta{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important}.accounting-route-card-meta>span{padding:6px 7px!important;min-height:48px}.accounting-route-card-meta small{font-size:8.5px!important}.accounting-route-card-meta b{font-size:10.5px!important}.accounting-route-processed-meta{grid-column:1/-1}
.accounting-route-process-form{padding:0 12px 10px!important}.accounting-route-processed-button{min-height:34px!important;padding:6px 9px!important;font-weight:500!important}.accounting-route-processed-badge{min-height:34px!important;margin:0 12px 10px!important;padding:6px 9px!important;font-weight:500!important}
.fixed-points-pin{display:inline-grid;place-items:center;width:16px;height:16px;color:#111!important}.fixed-points-pin svg{width:16px!important;height:16px!important;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* Equal-sized creation controls. */
.fixed-point-create-card .fixed-point-form{grid-template-columns:1fr!important;gap:10px!important}.fixed-point-create-card .fixed-point-form>*{grid-column:1!important;width:100%}.fixed-point-create-card input:not([type="checkbox"]),.fixed-point-create-card select,.fixed-point-create-card .fixed-executor-picker>summary{min-height:44px!important}.fixed-point-create-card .fixed-position-select{min-width:0!important;width:100%!important}.fixed-address-check{grid-template-columns:minmax(0,1fr) 44px!important}

/* Proper CSS chevron for executor picker. */
.fixed-executor-picker>summary::after{content:''!important;width:7px;height:7px;margin:0 3px 4px auto!important;border-right:1.7px solid #66747c;border-bottom:1.7px solid #66747c;transform:rotate(45deg);transform-origin:center;transition:transform .16s ease;flex:0 0 auto}.fixed-executor-picker[open]>summary::after{transform:rotate(225deg);margin-bottom:-3px!important}

/* Fixed point list is compact until explicitly opened. */
.fixed-point-existing{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))!important;align-items:start}.fixed-point-card{padding:0!important;overflow:hidden;transition:border-color .16s,box-shadow .16s}.fixed-point-card.is-open{border-color:#d5dde1;box-shadow:0 6px 18px rgba(35,49,58,.06)}
.fixed-point-card-toggle{display:grid!important;grid-template-columns:minmax(0,1fr) auto 18px;align-items:center;gap:9px;width:100%!important;min-height:58px!important;padding:9px 11px!important;text-align:left!important;border:0!important;border-radius:0!important;background:#fff!important;color:#25323a!important;box-shadow:none!important}.fixed-point-card-toggle:hover{background:#f8fafb!important}.fixed-point-card-summary{display:grid;gap:2px;min-width:0}.fixed-point-card-summary b{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fixed-point-card-summary small{font-size:9.5px;color:#748087;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fixed-point-card-state{font-size:9px;color:#718087}.fixed-point-card.is-inactive .fixed-point-card-state{color:#9a6d65}.fixed-point-card-chevron{width:8px;height:8px;border-right:1.8px solid #65737b;border-bottom:1.8px solid #65737b;transform:rotate(45deg);transition:transform .16s}.fixed-point-card.is-open .fixed-point-card-chevron{transform:rotate(225deg)}
.fixed-point-card-editor{padding:0 11px 11px;border-top:1px solid #e8edef}.fixed-point-card-editor[hidden]{display:none!important}.fixed-point-card .fixed-point-form{padding-top:10px;grid-template-columns:minmax(0,1fr) minmax(180px,.55fr)!important}.fixed-point-edit-topline{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:30px;margin-bottom:-2px}.fixed-point-edit-topline>span{font-size:10px;font-weight:700;color:#5d6970}.fixed-delete-request{min-height:28px!important;height:28px!important;padding:3px 8px!important;border-radius:8px!important;font-size:9px!important;font-weight:500!important;color:#8b4c48!important;background:#fff!important;border-color:#e5c9c6!important}.fixed-point-form-actions{margin-top:0}.fixed-point-form-actions button{min-height:34px!important;padding:6px 10px!important}

/* Accountant sees executor evidence but cannot upload/alter completion content. */
.accountant-completion-readonly .job-media-item{cursor:default}.accountant-completion-readonly .job-media-uploader{display:block}

@media(max-width:1000px){.accounting-route-filters form{grid-template-columns:1fr 1fr!important}.accounting-route-search{grid-column:1/-1}.accounting-filter-actions{grid-column:1/-1;justify-content:flex-start}}
@media(max-width:600px){.accounting-route-filters form{grid-template-columns:1fr!important}.accounting-route-search,.accounting-filter-actions{grid-column:auto}.fixed-point-card .fixed-point-form{grid-template-columns:1fr!important}.fixed-point-card-toggle{grid-template-columns:minmax(0,1fr) auto 18px}}
/* v1.2.3.97 QA follow-up after physical v91 videos/logs. */
.accounting-results-shell{transition:opacity .14s ease}.accounting-results-shell.is-loading{opacity:.52;pointer-events:none}
.fixed-point-edit-name{display:grid;gap:5px}.fixed-point-edit-name>input{width:100%;min-width:0}.fixed-point-edit-name .fixed-point-edit-topline{margin:0;min-height:26px}.fixed-point-edit-name .fixed-point-edit-topline>span{font-size:10px;font-weight:700;color:#5d6970}


/* ==============================================================
   v1.2.3.97 PRODUCTION — accountant route layout + transfer popover
   ============================================================== */
.accounting-job-action-popover[data-mode="transfer"]{
  width:min(380px,calc(100vw - 28px))!important;
  max-width:min(380px,calc(100vw - 28px))!important;
}
.accounting-job-action-popover[data-mode="transfer"] .accounting-transfer-scroll{
  overflow-y:auto!important;
  overflow-x:hidden!important;
  scrollbar-gutter:stable;
}
.accounting-job-action-popover[data-mode="transfer"] .accounting-transfer-route{
  min-width:0!important;
}
.accounting-job-action-popover[data-mode="transfer"] .accounting-transfer-route span{
  white-space:normal!important;
  overflow-wrap:anywhere;
}
.accounting-route-workspace{align-items:stretch!important}
.accounting-route-map-panel{
  display:flex;
  flex-direction:column;
  align-self:stretch;
}
.accounting-route-map-head{flex:0 0 auto}
.accounting-route-map-panel .accounting-map-frame{
  flex:1 1 auto;
  height:auto!important;
  min-height:0!important;
}
@media(max-width:980px){
  .accounting-route-workspace{align-items:start!important}
  .accounting-route-map-panel{display:block;height:auto!important}
  .accounting-route-map-panel .accounting-map-frame{height:56vh!important;min-height:390px!important}
}
@media(max-width:600px){
  .accounting-job-action-popover[data-mode="transfer"]{width:min(340px,calc(100vw - 20px))!important;max-width:min(340px,calc(100vw - 20px))!important}
  .accounting-route-map-panel .accounting-map-frame{height:52vh!important;min-height:340px!important}
}

/* ==============================================================
   v1.2.3.97 PRODUCTION — accountant route viewport map + compact transfer
   ============================================================== */
/* Left route-points card keeps its natural content height. The map card starts
   at the same top edge but independently fills the remaining viewport height. */
.accounting-route-workspace{align-items:start!important}
.accounting-route-points-panel{align-self:start!important;height:auto!important}
.accounting-route-map-panel{
  position:static!important;
  display:flex!important;
  flex-direction:column!important;
  align-self:start!important;
  height:var(--accounting-map-panel-height,auto)!important;
  min-height:320px!important;
}
.accounting-route-map-panel .accounting-map-frame{
  flex:1 1 auto!important;
  height:auto!important;
  min-height:0!important;
}
/* Top accountant actions use one visual footprint. */
.accounting-route-head-actions>.accounting-head-process-form,
.accounting-route-head-actions>.accounting-route-processed-badge-head,
.accounting-route-head-actions>a.button{
  width:200px!important;
  min-width:200px!important;
}
.accounting-route-head-actions>a.button,
.accounting-route-processed-badge-head,
.accounting-route-processed-button-head{
  min-height:42px!important;
  height:42px!important;
  padding:7px 12px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.accounting-route-processed-button-head{width:100%!important;min-width:0!important;margin:0!important}

/* Transfer list: keep the wider popover but reclaim wasted side space. */
.accounting-job-action-popover[data-mode="transfer"]{
  width:min(356px,calc(100vw - 28px))!important;
  max-width:min(356px,calc(100vw - 28px))!important;
  padding:5px!important;
}
.accounting-job-action-popover[data-mode="transfer"] .accounting-transfer-title{padding:5px 6px 7px!important}
.accounting-job-action-popover[data-mode="transfer"] .accounting-transfer-scroll{padding:0!important;gap:5px!important}
.accounting-job-action-popover[data-mode="transfer"] .accounting-transfer-route{
  width:100%!important;
  padding:7px 8px!important;
  justify-content:stretch!important;
  justify-items:start!important;
  align-content:center!important;
  text-align:left!important;
}
.accounting-job-action-popover[data-mode="transfer"] .accounting-transfer-route b,
.accounting-job-action-popover[data-mode="transfer"] .accounting-transfer-route span{max-width:100%;min-width:0}

@media(max-width:980px){
  .accounting-route-map-panel{
    position:static!important;
    display:block!important;
    height:auto!important;
    min-height:0!important;
  }
  .accounting-route-map-panel .accounting-map-frame{height:56vh!important;min-height:390px!important}
}
@media(max-width:600px){
  .accounting-route-head-actions>.accounting-head-process-form,
  .accounting-route-head-actions>.accounting-route-processed-badge-head,
  .accounting-route-head-actions>a.button{width:100%!important;min-width:0!important}
  .accounting-job-action-popover[data-mode="transfer"]{width:min(332px,calc(100vw - 20px))!important;max-width:min(332px,calc(100vw - 20px))!important}
  .accounting-route-map-panel .accounting-map-frame{height:52vh!important;min-height:340px!important}
}

/* ==============================================================
   v1.2.3.97 PRODUCTION — accountant route exact top alignment + viewport map
   ============================================================== */
@media(min-width:981px){
  /* Global .panel + .panel adds 16px to the second sibling. In the two-column
     accountant workspace that incorrectly pushed the map card downward. */
  .accounting-route-workspace > .accounting-route-map-panel{
    margin-top:0!important;
    align-self:start!important;
    height:var(--accounting-map-panel-height,calc(100dvh - 250px))!important;
  }
  .accounting-route-workspace > .accounting-route-points-panel{
    margin-top:0!important;
    align-self:start!important;
  }
  /* Keep the action pair level and a little closer to the route title. */
  .accounting-route-head-actions{transform:translateY(-6px)}
}


/* ==============================================================
   v1.2.3.97 PRODUCTION — compact route topbar + maximum accountant map viewport
   ============================================================== */
@media(min-width:981px){
  /* Back and route actions occupy one compact toolbar row. */
  .accounting-route-top-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    margin:-2px 0 6px;
  }
  .accounting-route-top-row .accounting-route-head-actions{
    transform:none!important;
    margin:0!important;
  }
  .accounting-route-top-row .accounting-route-back{
    min-height:38px;
    height:38px;
    padding:7px 12px;
  }
  /* Route title no longer reserves a second actions column/row. */
  .accounting-route-detail-head{
    display:block!important;
    margin:0 0 10px!important;
  }
  .accounting-route-detail-head h1{margin:0 0 3px!important}
  .accounting-route-detail-head p{margin:0!important}
  /* Pull the working area upward and let the map dominate the remaining screen. */
  .accounting-route-workspace{
    margin-top:0!important;
    align-items:start!important;
  }
  .accounting-route-workspace > .accounting-route-points-panel,
  .accounting-route-workspace > .accounting-route-map-panel{
    margin-top:0!important;
  }
  .accounting-route-workspace > .accounting-route-map-panel{
    box-sizing:border-box!important;
    min-height:420px!important;
    height:var(--accounting-map-panel-height,calc(100vh - 205px))!important;
  }
  .accounting-route-map-panel .accounting-route-map-head{
    margin-bottom:8px!important;
  }
  .accounting-route-map-panel .accounting-map-frame{
    flex:1 1 0!important;
    height:0!important;
    min-height:0!important;
  }
}
@media(max-width:980px){
  .accounting-route-top-row{display:grid;gap:9px;margin-bottom:8px}
  .accounting-route-top-row .accounting-route-head-actions{justify-content:stretch;transform:none!important}
}

/* ============================================================== 
   v1.2.3.102 PRODUCTION — city filter / mobile route shortcut / device comment
   ============================================================== */
.mobile-route-filter-row{display:none}
.city-filter-select{min-width:180px}
.device-grid textarea[name="device_comment"],.device-grid textarea[name="extra_device_comment[]"]{min-height:72px;resize:vertical}
@media(max-width:700px){
  .queue-tabs-main.has-mobile-route-shortcut .queue-route-button{display:none!important}
  .mobile-route-filter-row{display:flex;margin:8px 0 10px;padding:0 2px}
  .mobile-route-filter-row .queue-route-button{display:flex!important;align-items:center;justify-content:center;gap:6px;width:100%;min-height:42px;border:1px solid var(--border,#d8e0e5);border-radius:12px;background:#fff;color:inherit;text-decoration:none;font-weight:600}
  .mobile-route-filter-row .queue-route-button.active{background:#fff1e9;border-color:#f3ae87;color:#9e5c3d}
}
@media(min-width:1151px){
  .filters-jobs-benchmark.has-city-filter:not(.filters-deadlines){grid-template-columns:minmax(215px,1.25fr) repeat(5,minmax(125px,.78fr)) minmax(140px,.78fr) 112px!important}
  .filters-jobs-benchmark.has-city-filter.filters-deadlines{grid-template-columns:minmax(220px,1.25fr) repeat(5,minmax(118px,.72fr)) 82px 170px 44px!important}
}
