/* Traxtic Operations OS V0.8.6.72 — UI typography normalization.
   One application font/rasterization model; PDF/document canvases keep their own canonical typography. */
:root{
  --tx-ui-font:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --tx-type-kicker:11px;
  --tx-type-section:21px;
  --tx-type-card:14px;
  --tx-type-body:12px;
  --tx-type-meta:11px;
}
html,body{font-family:var(--tx-ui-font);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
.view,.surface,.modal,.action-modal,.txi-panel,.finance-workspace,.finance-inspector,.gx-workspace,.gx-rail{font-family:var(--tx-ui-font)!important}
.view button,.view input,.view select,.view textarea,.modal button,.modal input,.modal select,.modal textarea,.action-modal button,.action-modal input,.action-modal select,.action-modal textarea,.txi-panel button,.txi-panel input,.txi-panel select,.txi-panel textarea{font-family:var(--tx-ui-font)!important;-webkit-font-smoothing:antialiased;text-shadow:none!important}
.view .section-kicker,.surface .section-kicker,.finance-workspace .section-kicker,.finance-inspector .section-kicker{font-family:var(--tx-ui-font)!important;font-size:var(--tx-type-kicker)!important;line-height:1.25!important;font-weight:800!important;letter-spacing:.085em!important;text-shadow:none!important}
.view .section-title,.surface .section-title,.finance-workspace .section-title,.finance-inspector .section-title{font-family:var(--tx-ui-font)!important;font-size:var(--tx-type-section)!important;line-height:1.15!important;font-weight:800!important;letter-spacing:-.018em!important;text-shadow:none!important}
.view .panel-head h2,.view .panel-head h3,.view .data-block-title,.view .v5-panel>header b{font-family:var(--tx-ui-font)!important;text-shadow:none!important}
.view .status,.view .inline-badge,.view .badge,.view table,.view .pro-table,.view .workspace-table{font-family:var(--tx-ui-font)!important;text-shadow:none!important}
.view :where(h1,h2,h3,h4,strong,b,small,span,p,label,th,td,time,em):not(.txinv-page){text-shadow:none}
/* Document/PDF preview canvases keep their own explicit typography rules. */

/* The request workflow next action shares the drawer's full action width. */
#txiBody > .v085-context-next{display:block;width:100%;box-sizing:border-box}


/* V0.8.6.74 — One readable type scale across the whole Operations OS. */
body{font-size:12px;line-height:1.42}
.view :where(h1,h2,h3,h4,h5,h6,p,span,strong,b,small,label,button,input,select,textarea,th,td,time):not(.txinv-page *){font-family:var(--tx-ui-font)!important;text-shadow:none!important}
.view h1:not(.txinv-page h1){font-size:clamp(42px,3vw,52px)!important;line-height:1.02!important;font-weight:850!important;letter-spacing:-.04em!important}
.view h2:not(.txinv-page h2){font-size:25px!important;line-height:1.12!important;font-weight:820!important;letter-spacing:-.025em!important}
.view h3:not(.txinv-page h3){font-size:19px!important;line-height:1.18!important;font-weight:800!important}
.view h4:not(.txinv-page h4){font-size:15px!important;line-height:1.25!important;font-weight:800!important}
.view h5:not(.txinv-page h5),.view h6:not(.txinv-page h6){font-size:13px!important;line-height:1.3!important;font-weight:780!important}
.view p:not(.txinv-page p),.view label:not(.txinv-page label),.view td:not(.txinv-page td),.view th:not(.txinv-page th),.view input:not(.txinv-page input),.view select:not(.txinv-page select),.view textarea:not(.txinv-page textarea){font-size:12px!important;line-height:1.42!important}
.view small:not(.txinv-page small),.view time:not(.txinv-page time){font-size:11px!important;line-height:1.35!important}
.view button:not(.txinv-page button){font-size:12px!important;line-height:1.25!important;font-weight:750}
.view .section-kicker{font-size:11px!important}
.view .section-title{font-size:21px!important}

/* V0.8.6.74 readability floor for operational data — document/PDF canvases excluded. */
.view :where(.status,.badge,.inline-badge,.meta,.hint,.sub,.muted,.gx-mini-check,.workspace-meta,.card-meta):not(.txinv-page *){font-size:11px!important;line-height:1.35!important}
.view :where(table,.pro-table,.workspace-table):not(.txinv-page *){font-size:12px!important}
.view :where(input,select,textarea):not(.txinv-page *){font-size:12px!important;font-weight:600}

/* V0.8.6.76 — right inspector typography lock.
   Right rails use the same readable scale and contrast as the main workspace. */
.view :where(.finance-inspector,.v06-akte-aside,.v08665-cdoc-inspector,.gx-rail,.v06-vacation-inspector,.v06-inspector,.inspector,.side-inspector,.right-inspector) :where(p,span,label,small,em,time):not(.txinv-page *){
  font-size:11.5px!important;line-height:1.42!important;color:var(--text-muted,#a2a6ad)!important;font-weight:600!important;
}
.view :where(.finance-inspector,.v06-akte-aside,.v08665-cdoc-inspector,.gx-rail,.v06-vacation-inspector,.v06-inspector,.inspector,.side-inspector,.right-inspector) :where(strong,b):not(.txinv-page *){
  font-size:12.5px!important;line-height:1.35!important;color:var(--text,#f4f4f2)!important;font-weight:800!important;
}
.view :where(.finance-inspector,.v06-akte-aside,.v08665-cdoc-inspector,.gx-rail,.v06-vacation-inspector,.v06-inspector,.inspector,.side-inspector,.right-inspector) .section-kicker{
  font-size:11px!important;line-height:1.25!important;color:var(--text-faint,#8f939a)!important;font-weight:850!important;
}
.view :where(.finance-inspector,.v06-akte-aside,.v08665-cdoc-inspector,.gx-rail,.v06-vacation-inspector,.v06-inspector,.inspector,.side-inspector,.right-inspector) .section-title{
  font-size:20px!important;line-height:1.15!important;color:var(--text,#f4f4f2)!important;font-weight:850!important;
}
.view :where(.finance-inspector,.v06-akte-aside,.v08665-cdoc-inspector,.gx-rail,.v06-vacation-inspector,.v06-inspector,.inspector,.side-inspector,.right-inspector) button:not(.txinv-page button){font-size:12px!important;font-weight:800!important}
/* Preserve operational semantic colors inside the unified inspector scale. */
.view :where(.finance-inspector,.v06-akte-aside,.v08665-cdoc-inspector,.gx-rail,.v06-vacation-inspector,.v06-inspector,.inspector,.side-inspector,.right-inspector) .gx-mini-check.ok b,
.view :where(.finance-inspector,.v06-akte-aside,.v08665-cdoc-inspector,.gx-rail,.v06-vacation-inspector,.v06-inspector,.inspector,.side-inspector,.right-inspector) .status.done{color:#79d7a9!important}
.view :where(.finance-inspector,.v06-akte-aside,.v08665-cdoc-inspector,.gx-rail,.v06-vacation-inspector,.v06-inspector,.inspector,.side-inspector,.right-inspector) .gx-mini-check.warn b{color:#ffb16d!important}
.view :where(.finance-inspector,.v06-akte-aside,.v08665-cdoc-inspector,.gx-rail,.v06-vacation-inspector,.v06-inspector,.inspector,.side-inspector,.right-inspector) .status.sent{color:#9eafff!important}

/* V0.8.6.77 — dashboard-wide right inspector typography owner.
   Any class whose name contains "inspector" follows the same readable scale as the left rails. */
.view :where([class*="inspector"],.v06-akte-aside,.gx-rail) :where(p,span,label,small,em,time,li,td,th):not(.txinv-page *){font-family:var(--tx-ui-font)!important;font-size:11.5px!important;line-height:1.45!important;font-weight:600!important;letter-spacing:0!important;text-shadow:none!important}
.view :where([class*="inspector"],.v06-akte-aside,.gx-rail) :where(strong,b):not(.txinv-page *){font-family:var(--tx-ui-font)!important;font-size:12.5px!important;line-height:1.35!important;font-weight:800!important;letter-spacing:-.005em!important;text-shadow:none!important}
.view :where([class*="inspector"],.v06-akte-aside,.gx-rail) :where(h2,h3,.section-title):not(.txinv-page *){font-family:var(--tx-ui-font)!important;font-size:20px!important;line-height:1.16!important;font-weight:850!important;letter-spacing:-.02em!important;text-shadow:none!important}
.view :where([class*="inspector"],.v06-akte-aside,.gx-rail) :where(h4):not(.txinv-page *){font-family:var(--tx-ui-font)!important;font-size:13px!important;line-height:1.3!important;font-weight:800!important;text-shadow:none!important}
.view :where([class*="inspector"],.v06-akte-aside,.gx-rail) .section-kicker{font-size:10.5px!important;line-height:1.3!important;font-weight:850!important;letter-spacing:.08em!important}
.view :where([class*="inspector"],.v06-akte-aside,.gx-rail) button:not(.txinv-page button){font-family:var(--tx-ui-font)!important;font-size:12px!important;line-height:1.2!important;font-weight:800!important;text-shadow:none!important}
/* Secondary inspector copy gets one shared neutral color while explicit operational status colors win. */
.view :where([class*="inspector"],.v06-akte-aside,.gx-rail) :where(p,small,em,time):not(.status,.positive,.negative,.success,.danger,.warning,.warn,.sent,.done,.txinv-page *){color:var(--text-soft)!important}

/* Operational inspectors extend the approved gx-rail/action family.
   Domain content, status meanings and global palette remain owned elsewhere. */
:is(#view-jobs,#view-employees,#view-fleet,#view-documents) :is(.execution-inspector,.workforce-inspector,.fleet-inspector,.document-inspector){padding:15px!important;position:sticky;top:78px;align-self:start;height:max-content;min-height:0;max-height:none;overflow:visible;min-width:0;max-width:100%;box-sizing:border-box}
:is(#view-jobs,#view-employees,#view-fleet,#view-documents) .inspector-section{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
:is(#view-jobs,#view-employees,#view-fleet,#view-documents) .inspector-section>h4{margin:0 0 10px;color:var(--text-faint);font-size:11px!important;letter-spacing:.08em!important;text-transform:uppercase}
:is(#view-jobs,#view-employees,#view-fleet,#view-documents) .check-line{padding:7px 0;line-height:1.45}
:is(.tx-command-controls,:is(#view-jobs,#view-employees,#view-fleet,#view-documents,#view-customers) :is(.execution-inspector,.workforce-inspector,.fleet-inspector,.document-inspector,.v06-akte-aside,.gx-rail)) :is(.primary,.secondary,.quick-action-grid>button,.gx-icon-action){display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:0;height:auto;box-sizing:border-box;padding:9px 7px;border-radius:11px!important;font-size:11px!important;line-height:1.35!important;white-space:normal;text-align:center}
:is(.tx-command-controls,:is(#view-jobs,#view-employees,#view-fleet,#view-documents,#view-customers) :is(.execution-inspector,.workforce-inspector,.fleet-inspector,.document-inspector,.v06-akte-aside,.gx-rail)) :is(.secondary,.quick-action-grid>button,.gx-icon-action){background:var(--panel-soft)!important;border:1px solid var(--line)!important;color:var(--text)!important}
:is(.tx-command-controls,:is(#view-jobs,#view-employees,#view-fleet,#view-documents,#view-customers) :is(.execution-inspector,.workforce-inspector,.fleet-inspector,.document-inspector,.v06-akte-aside,.gx-rail)) :is(.primary,.secondary,.quick-action-grid>button,.gx-icon-action):hover{border-color:var(--accent)!important;transform:none}
:is(.tx-command-controls,:is(#view-jobs,#view-employees,#view-fleet,#view-documents,#view-customers) :is(.execution-inspector,.workforce-inspector,.fleet-inspector,.document-inspector,.v06-akte-aside,.gx-rail)) button:focus-visible{outline:2px solid var(--tx-accent);outline-offset:2px}
:is(#view-jobs,#view-employees,#view-fleet,#view-documents,#view-customers) :is(.execution-inspector,.workforce-inspector,.fleet-inspector,.document-inspector,.v06-akte-aside,.gx-rail) :is(.quick-action-grid,.gx-quick-actions,.v08664-cdoc-primary-actions,.v07-document-actions){gap:6px}
:is(.tx-command-controls,:is(#view-jobs,#view-employees,#view-fleet,#view-documents,#view-customers) :is(.execution-inspector,.workforce-inspector,.fleet-inspector,.document-inspector,.v06-akte-aside,.gx-rail)) :is(.check-line.ok,.status.success,.status.done,.gx-mini-check.ok b){color:var(--success)!important}
:is(.tx-command-controls,:is(#view-jobs,#view-employees,#view-fleet,#view-documents,#view-customers) :is(.execution-inspector,.workforce-inspector,.fleet-inspector,.document-inspector,.v06-akte-aside,.gx-rail)) :is(.check-line.warn,.status.warning,.status.question,.gx-mini-check.warn b){color:var(--warning)!important}
:is(.tx-command-controls,:is(#view-jobs,#view-employees,#view-fleet,#view-documents,#view-customers) :is(.execution-inspector,.workforce-inspector,.fleet-inspector,.document-inspector,.v06-akte-aside,.gx-rail)) :is(.check-line.danger,.status.danger,.status.critical){color:var(--danger)!important}
:is(.tx-command-controls,:is(#view-jobs,#view-employees,#view-fleet,#view-documents,#view-customers) :is(.execution-inspector,.workforce-inspector,.fleet-inspector,.document-inspector,.v06-akte-aside,.gx-rail)) .status{--inspector-status:var(--text-soft);color:var(--inspector-status)!important;background:color-mix(in srgb,var(--inspector-status) 10%,var(--surface-1))!important;border-color:color-mix(in srgb,var(--inspector-status) 25%,var(--line))!important}
:is(.tx-command-controls,:is(#view-jobs,#view-employees,#view-fleet,#view-documents,#view-customers) :is(.execution-inspector,.workforce-inspector,.fleet-inspector,.document-inspector,.v06-akte-aside,.gx-rail)) :is(.status.success,.status.done){--inspector-status:var(--success)}
:is(.tx-command-controls,:is(#view-jobs,#view-employees,#view-fleet,#view-documents,#view-customers) :is(.execution-inspector,.workforce-inspector,.fleet-inspector,.document-inspector,.v06-akte-aside,.gx-rail)) :is(.status.warning,.status.question,.status.review){--inspector-status:var(--warning)}
:is(.tx-command-controls,:is(#view-jobs,#view-employees,#view-fleet,#view-documents,#view-customers) :is(.execution-inspector,.workforce-inspector,.fleet-inspector,.document-inspector,.v06-akte-aside,.gx-rail)) :is(.status.danger,.status.critical){--inspector-status:var(--danger)}
:is(.tx-command-controls,:is(#view-jobs,#view-employees,#view-fleet,#view-documents,#view-customers) :is(.execution-inspector,.workforce-inspector,.fleet-inspector,.document-inspector,.v06-akte-aside,.gx-rail)) :is(.status.active,.status.new){--inspector-status:var(--accent)}
:is(.tx-command-controls,:is(#view-jobs,#view-employees,#view-fleet,#view-documents,#view-customers) :is(.execution-inspector,.workforce-inspector,.fleet-inspector,.document-inspector,.v06-akte-aside,.gx-rail)) :is(.status.sent,.status.info){--inspector-status:var(--info)}

/* Let the task board's existing local scrollbar contain its fixed-width lanes.
   An automatic grid-item minimum otherwise widens the page at 1024px. */
#view-tasks .task-workspace{min-width:0}
#view-tasks .task-board-pro{overflow:auto}
@media(min-width:1181px) and (max-width:1450px){#view-tasks .task-os-layout{grid-template-columns:235px minmax(0,1fr)!important}}

/* Right-inspector action geometry follows the approved Partner stack (46/8/14/17).
   Scope excludes left rails, form/modal actions and all controls outside these inspectors. */
:is(#view-jobs .execution-inspector,#view-employees .workforce-inspector,#view-fleet .fleet-inspector,#view-tasks .task-inspector,#view-documents .document-inspector,#view-customers .v06-akte-aside,#view-calendar #dispatchInspector .v085-detail-actions) :is(button.primary,button.secondary,.quick-action-grid>button){min-width:0;min-height:46px;height:auto;padding:0 17px;border-radius:14px!important;font-size:12px!important;font-weight:800!important;line-height:1.2!important;white-space:normal;overflow-wrap:break-word}
:is(#view-jobs .execution-inspector,#view-employees .workforce-inspector,#view-fleet .fleet-inspector,#view-tasks .task-inspector,#view-documents .document-inspector,#view-customers .v06-akte-aside) :is(.quick-action-grid,.v08664-cdoc-primary-actions,.v07-document-actions,.v08664-context-actions),#view-calendar #dispatchInspector .v085-detail-actions{gap:8px}
:is(#view-jobs .execution-inspector,#view-employees .workforce-inspector,#view-fleet .fleet-inspector,#view-tasks .task-inspector) .inspector-section:has(>button.wide+button.wide){display:grid;gap:8px}
:is(#view-jobs .execution-inspector,#view-employees .workforce-inspector,#view-fleet .fleet-inspector,#view-tasks .task-inspector) .inspector-section:has(>button.wide+button.wide)>h4{margin-bottom:2px}
:is(#view-documents .document-inspector,#view-customers .v06-akte-aside) .v08664-cdoc-primary-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0 2px}

/* V0.8.6.79 — navigation must never flash the accent background. */
html,body,#app,.app-shell,.main-content,[id^="view-"]{transition-property:opacity,color,border-color,transform!important}
body,.app-shell,.main-content{background-color:#17191c!important}
[id^="view-"]{background-color:transparent!important}

/* V0.8.6.79 — consolidated shell and inspector readability. */
.rail:not(.expanded):not(:hover) .nav-btn{width:78px!important;max-width:78px!important}
.rail.expanded~.main,.rail:hover~.main{margin-left:var(--rail-expanded)!important}

#view-calendar .schedule-block[draggable="true"]{cursor:grab}
#view-calendar .schedule-block.v08679-dragging{cursor:grabbing;opacity:.56}
#view-calendar .row-track.v08679-drag-over{outline:1px solid rgba(241,92,45,.82);outline-offset:-2px;background:rgba(241,92,45,.07)}
#view-inspections .inspection-os-layout,#view-inspections .inspection-os-layout>.surface{min-width:0;max-width:100%;box-sizing:border-box}
#view-inspections .inspection-os-layout>.surface{overflow-x:auto}
#view-inspections .pro-table{width:100%;min-width:720px}
.gx-command-strip-left,.gx-command-strip-left>div,.gx-command-strip-left>div>small{display:flex!important;align-items:center!important}
.gx-command-strip-left>div{min-width:0;line-height:1!important}
.gx-command-strip-left #workspaceId,.gx-command-strip-left #workspaceTitle{display:inline-flex!important;align-items:center!important;line-height:1.2!important}
.gx-command-strip-left #workspaceTitle{margin-left:0!important;transform:none!important}
.gx-command-strip-left>div>small{margin:0 0 0 11px!important;padding:0 0 0 11px!important;border-left:1px solid var(--accent,#f35a23);min-height:18px}
.gx-command-strip-left .status,.gx-command-strip-left [class*="status"]{align-self:center!important;margin-block:0!important;line-height:1.2!important}
/* Offer actions used a fixed 492px track beside the heading. At narrow Akte
   widths the group must wrap inside its own header, including a pinned rail. */
@media(max-width:1280px){
  #view-request .v08617-offers-head{grid-template-columns:minmax(0,1fr)!important}
  #view-request .v08617-offer-actions{display:flex!important;flex-wrap:wrap!important;justify-content:flex-start!important;min-width:0;max-width:100%}
  #view-request .v08617-offer-actions button{width:auto!important;max-width:100%;white-space:normal!important}
}
.view :where(.workflow-step,.lifecycle-step,[class*="progress"],[class*="stage"]) :where(span,strong,b,small){text-shadow:none!important;filter:none!important}
.view :where([class*="inspector"],.v06-akte-aside,.gx-rail) :where(.status,.badge,[class*="tab"],button){letter-spacing:0!important;text-shadow:none!important;filter:none!important}
.view :where([class*="inspector"],.v06-akte-aside,.gx-rail,.v08654-record) :where(p,span,label,small,strong,b,button,.status,.badge){text-shadow:none!important;filter:none!important}
.view :where([class*="inspector"],.v06-akte-aside,.gx-rail) :where(.status,.badge){font-size:11px!important;line-height:1.2!important;font-weight:800!important;white-space:normal}
/* Right-inspector header chips reuse the existing status capsule geometry measured
   on Finance's Live chip. Semantic colors/markers and Finance remain untouched. */
.view :is(#jobInspector,.workforce-inspector,.fleet-inspector,.partner-inspector,.task-inspector,.document-inspector,.v06-akte-aside) .inspector-header>.status,
#view-calendar #dispatchInspector .v08679-calendar-status{display:inline-flex;align-items:center;gap:5px;padding:6px 8px;border-width:1px;border-style:solid;border-radius:999px;font-family:var(--tx-ui-font)!important;font-size:11px!important;font-weight:600!important;line-height:1.45!important;letter-spacing:0!important;white-space:normal;box-sizing:border-box;max-width:100%}
.view :is(#jobInspector,.workforce-inspector,.fleet-inspector,.partner-inspector,.task-inspector,.document-inspector,.v06-akte-aside) .inspector-header>.status::before,
#view-calendar #dispatchInspector .v08679-calendar-status::before{flex:0 0 6px;width:6px;height:6px}
/* Execution uses the existing active-workflow orange tone; Live and all other status variants are locked. */
#view-jobs #jobInspector .inspector-header>:is(.status.sent,.status.visit.pulse){--inspector-status:var(--accent-ink,var(--accent-2));color:var(--accent-ink,var(--accent-2))!important;background:color-mix(in srgb,var(--accent-ink,var(--accent-2)) 8%,transparent)!important;border-color:color-mix(in srgb,var(--accent-ink,var(--accent-2)) 55%,transparent)!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent-ink,var(--accent-2)) 5%,transparent)}
button[data-backend-required="true"]{cursor:not-allowed!important;opacity:.5!important;filter:saturate(.25)!important}
#view-settings .admin-nav .v08679-admin-icon{display:inline-grid!important;place-items:center!important;width:24px!important;height:24px!important;flex:0 0 24px!important;border:1px solid var(--line)!important;border-radius:8px;color:var(--text-soft)!important;font-size:9px!important;line-height:1!important;font-weight:800!important;letter-spacing:.04em!important;background:var(--panel-soft)!important}

/* Settings must fit beside the pinned rail; the legacy 240/780/340 minimums
   otherwise push the administrative navigation underneath the rail. */
#view-settings .admin-layout{max-width:100%;min-width:0}
#view-settings .admin-nav,#view-settings .admin-content,#view-settings .admin-inspector{min-width:0;box-sizing:border-box}
#view-settings .admin-nav{display:block;align-self:start;height:max-content;max-height:none;overflow:visible}
#view-settings .admin-nav.gx-rail{padding:15px}
#view-settings .admin-nav.gx-rail button{display:flex;align-items:center;min-width:0;width:100%;text-align:left}
#view-settings .admin-nav.gx-rail button:last-child{margin-bottom:0}
/* Left navigation uses the established Akte surface, inset and row rhythm.
   Content and handlers remain owned by Documents and Settings respectively. */
#view-settings .admin-nav.gx-rail,#view-documents .document-library-nav{width:100%!important;min-width:0;padding:15px!important;align-self:start;height:max-content;max-height:none;box-shadow:var(--shadow-soft)!important}
#view-settings.v08679-settings-full-width .admin-layout:has(>.admin-nav){grid-template-columns:220px minmax(0,1fr)!important}
#view-settings .admin-nav.gx-rail{position:sticky!important;top:78px}
@media(max-width:800px){#view-settings.v08679-settings-full-width .admin-layout:has(>.admin-nav){grid-template-columns:minmax(0,1fr)!important}#view-settings .admin-nav.gx-rail{position:static!important}}
#view-documents .tx-library-profile{margin-bottom:8px;min-width:0}
#view-documents .tx-library-profile>div{min-width:0}
#view-documents .tx-library-profile .section-kicker{font-size:10px!important;letter-spacing:.08em!important;margin-bottom:4px}
#view-documents .tx-library-profile .section-title{font-size:16px!important;line-height:1.2!important;margin:0}
#view-documents .tx-library-profile .tx-library-symbol{display:grid;place-items:center;width:36px;height:36px;flex:0 0 36px;margin:0;border-radius:12px;border:1px solid color-mix(in srgb,var(--tx-accent) 32%,var(--line));background:color-mix(in srgb,var(--tx-accent) 6%,var(--panel));color:var(--tx-accent);box-shadow:none}
#view-documents .tx-library-symbol svg{width:18px;height:18px}
/* Navigation rows are states within the rail, not independent action cards. */
#view-documents .document-library-nav>button,#view-settings .admin-nav.gx-rail>button{min-height:42px;box-sizing:border-box;gap:8px;margin:2px 0;padding:9px 8px;border:0!important;border-left:2px solid transparent!important;border-radius:8px!important;background:transparent;color:var(--text-soft);font-size:12px!important;font-weight:750!important;line-height:1.3;white-space:normal;box-shadow:none!important;transform:none!important}
#view-documents .document-library-nav>button>span{min-width:0;overflow-wrap:anywhere}
#view-documents .document-library-nav>button>b,#view-settings .admin-nav.gx-rail>button>b{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;min-width:22px;height:22px;padding:0 6px;margin-left:auto;border:1px solid var(--line)!important;border-radius:999px;background:var(--panel-soft)!important;color:var(--text-soft);font-size:11px!important;font-weight:800!important;font-variant-numeric:tabular-nums}
#view-documents .document-library-nav>button:hover,#view-settings .admin-nav.gx-rail>button:hover{background:var(--panel-soft);color:var(--text)}
#view-documents .document-library-nav>button.active,#view-settings .admin-nav.gx-rail>button.active{border-left-color:var(--tx-accent)!important;background:var(--panel-soft);color:var(--text)}
#view-documents .document-library-nav>button:focus-visible,#view-settings .admin-nav.gx-rail>button:focus-visible{outline:2px solid var(--tx-accent)!important;outline-offset:-2px!important}
/* Static Light shell paint must not inherit decorative elevation/glow.
   Floating menus and notification overlays retain their separation shadows. */
:root[data-theme="light"] :is(.rail,.rail .logo,.rail .nav-btn,.topbar,.topbar .state-beacon-dot),
:root[data-theme="light"] .rail .nav-btn::before{box-shadow:none!important}
:root[data-theme="light"] :is(#inspector,#txwfDrawer):not(.open){box-shadow:none!important}
.trax-more-popover{max-height:calc(100vh - 24px);overflow-y:auto;overscroll-behavior:contain}
.trax-more-popover button{grid-template-columns:22px minmax(0,1fr) auto}
.trax-more-popover button>span{min-width:0;overflow-wrap:anywhere}
.trax-more-popover button:focus-visible{outline:2px solid var(--tx-accent);outline-offset:-2px}

/* Surface decoration owns its own rounded paint boundary.
   Do not clip the content owner: it may host scrolling, sticky headers or menus.
   Akte/document surfaces share this primitive even without a table (inspectors,
   summaries and empty panels). Only full-surface decoration inherits the radius;
   timeline connectors, status dots and document illustrations keep their geometry. */
:is(#view-customers,#view-documents,#view-request,#view-settings,#view-jobs,#view-employees,#view-fleet,#view-calendar,#view-partners) :is(.surface,.resource-card,.data-surface)::before,
:is(#view-customers,#view-documents,#view-request,#view-settings,#view-jobs,#view-employees,#view-fleet,#view-calendar,#view-partners) .surface::after,
.view :is(.surface,.card,.data-surface):has(table,[role="table"],.v08679-price-table,.v08676-tax-table)::before,
.view :is(.surface,.card,.data-surface):has(table,[role="table"],.v08679-price-table,.v08676-tax-table)::after,
.view :is(.admin-content,.workforce-table-wrap,.partner-workspace,.finance-workspace,.document-library,.v06-akte-main)::before,
.view :is(.admin-content,.workforce-table-wrap,.partner-workspace,.finance-workspace,.document-library,.v06-akte-main)::after{border-radius:inherit}

/* The outer Settings surface intentionally has no padding. Its content panel
   owns the inset so rounded clipping cannot cut headings or operational text. */
#view-settings .admin-content>.admin-panel{padding:16px;box-sizing:border-box}
#view-settings .admin-panel-head{gap:12px;flex-wrap:wrap}
#view-settings :is(.admin-panel-head>div,.system-status-strip>div,.system-status-strip>div>span,.v071-module-row>div,.notification-rules article>div,.person-cell>div,.doc-cell>div){min-width:0;max-width:100%;overflow-wrap:anywhere}
#view-settings .system-status-strip{grid-template-columns:repeat(4,minmax(0,1fr))}
#view-settings .system-status-strip>div>i{flex-shrink:0}
#view-settings :is(.admin-panel-head .section-title,.admin-panel-head .section-kicker,.system-status-strip strong,.v071-module-row strong){white-space:normal;overflow-wrap:anywhere}
#view-settings .admin-content :is(input,select,textarea){box-sizing:border-box;min-width:0;max-width:100%}
#view-settings .admin-content .pro-table{min-width:0;table-layout:fixed;width:100%}
/* The recovery table keeps its action column readable; only the table scrolls. */
#view-settings [data-admin-content="trash"] .table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain}
#view-settings .admin-content .trash-table{table-layout:auto;min-width:880px}
#view-settings .admin-content .trash-table :is(th,td){vertical-align:middle}
#view-settings .admin-content .trash-table :is(th,td):first-child{width:32px}
#view-settings .admin-content .trash-table :is(th,td):nth-child(2){min-width:170px}
#view-settings .admin-content .trash-table :is(th,td):nth-child(6){max-width:240px}
#view-settings .admin-content .trash-table td:is(:nth-child(3),:nth-child(5),:nth-child(7)){white-space:nowrap;overflow-wrap:normal}
#view-settings .admin-content .trash-table :is(th,td):last-child{width:1%;white-space:nowrap;overflow-wrap:normal}
#view-settings .trash-table button.secondary{white-space:nowrap;overflow-wrap:normal}
#view-settings .trash-table td>small{display:block;margin-top:4px}
#view-settings .admin-content :is(th,td){white-space:normal;overflow-wrap:anywhere}
#view-settings .admin-content :is(.person-cell,.doc-cell){min-width:0}
#view-settings .admin-content :is(.person-cell,.doc-cell)>:first-child{flex-shrink:0}
#view-settings .v08679-price-table{overflow-x:auto;overscroll-behavior-inline:contain}
#view-settings .v08679-price-table :is(.head,.row){min-width:1040px}
@media(max-width:1100px){#view-settings .system-status-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Restored operational depth without changing the approved report/inspection shells. */
#view-reports .analytics-detail{display:grid;gap:12px;min-width:0}
#view-reports .analytics-detail>.surface{overflow:hidden}
#view-reports .analytics-detail .pro-table{width:100%;min-width:620px}
#view-reports .analytics-detail .source-list{display:grid;gap:0}
#view-reports .analytics-detail .source-list>span{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid var(--line,rgba(255,255,255,.08))}
#view-reports .analytics-detail .source-list>span:last-child{border-bottom:0}
#view-inspections .inspection-os-layout{display:grid;grid-template-columns:minmax(430px,1fr) minmax(320px,.72fr);gap:14px;align-items:start}
#view-inspections .inspection-os-list,#view-inspections .inspection-os-detail{min-width:0;overflow:hidden}
#view-inspections .inspection-os-detail{position:sticky;top:18px}
#view-inspections .inspection-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
#view-inspections .inspection-detail-grid>article{padding:12px;border:1px solid var(--line,rgba(255,255,255,.09));border-radius:12px;background:var(--panel-soft,#232529)}
#view-inspections .inspection-detail-grid>article.wide{grid-column:1/-1}
#view-inspections .inspection-detail-grid small,#view-inspections .inspection-detail-grid strong{display:block}
#view-inspections .inspection-detail-grid small{margin-bottom:5px;color:var(--text-soft,#aeb1b7)}
#view-inspections .inspection-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}
#view-inspections .inspection-photo{position:relative;aspect-ratio:4/3;overflow:hidden;border:1px solid var(--line,rgba(255,255,255,.09));border-radius:10px;background:var(--panel-soft,#232529)}
#view-inspections .inspection-photo img{display:block;width:100%;height:100%;object-fit:cover}
#view-inspections .inspection-photo button{position:absolute;right:5px;top:5px;width:26px!important;height:26px!important;min-width:0!important;padding:0!important;border-radius:8px!important}
@media (max-width:1180px){#view-inspections .inspection-os-layout{grid-template-columns:1fr}#view-inspections .inspection-os-detail{position:static}}
@media (min-width:1101px) and (max-width:1500px){
  #view-settings .admin-layout{grid-template-columns:minmax(190px,220px) minmax(0,1fr)!important}
  #view-settings .admin-nav{grid-row:1 / span 2}
  #view-settings .admin-inspector{grid-column:2!important;position:static!important;max-height:none!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
  #view-settings .admin-inspector .inspector-header{grid-column:1/-1}
}

/* Inspector prerequisites reuse the existing contextual-action disabled state. */
[data-v08679-inspector-blocked]:disabled,
.finance-inspector [data-v08657-add-payment]:disabled{opacity:.42;cursor:not-allowed}
/* Settings rules and technical status extend the existing Settings list only. */
#view-settings .settings-event-rules article{display:flex;flex-wrap:wrap;gap:16px;align-items:center}
#view-settings .settings-rule-description{flex:1 1 240px}
#view-settings .settings-rule-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px 16px}
#view-settings .settings-rule-controls>[data-notification-remove]{grid-column:2;grid-row:1}
#view-settings .settings-rule-channels{grid-column:1/-1;display:grid;gap:8px}
#view-settings .settings-rule-channel-options{display:flex;align-items:center;flex-wrap:wrap;gap:16px}
#view-settings .settings-rule-channels[data-rule-inactive="true"]{opacity:.42}
#view-settings .settings-rule-channels[data-rule-inactive="true"] .toggle.on{background:var(--panel-soft);border-color:var(--line)}
#view-settings .settings-rule-channels[data-rule-inactive="true"] .toggle.on::after{background:var(--text-faint);box-shadow:none}
#view-settings .settings-rule-switch{display:flex;align-items:center;gap:8px;font-size:12px}
#view-settings .settings-rule-switch .toggle{flex-shrink:0}
#view-settings .settings-rule-save{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:20px}
#view-settings .settings-service-list article{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
#view-settings .settings-service-state{display:grid;gap:6px;font-size:13px}
#view-settings .settings-service-state small{color:var(--text-soft);font-size:11px}
#view-settings [data-notification-add]:disabled{opacity:.42;cursor:not-allowed}
#view-settings :is(.settings-event-rules,.settings-service-list) article strong{font-size:13px;line-height:1.4}
#view-settings .settings-event-rules article p{font-size:12px;line-height:1.5}

/* Shared square selection family, promoted from the approved quote/resource 18px control.
   Switches, permission pills and their hidden inputs retain their own presentation.
   Specificity retires the quote-only compatibility styling without changing its handlers. */
:root :is(body,#view-quotes) :is(
  input[type="checkbox"]:not(:where([hidden],[role="switch"],.v08662-tax-switch-input,.v08666-tax-type input,.v08676-switch input,.v08676-mini-switch input,.v08679-resource-toggle input,.v08679-permission-row input,.v0866-resource-choice input)),
  .v0866-resource-choice > input[type="checkbox"] + .v0866-choice-box
){
  appearance:none!important;-webkit-appearance:none!important;box-sizing:border-box!important;
  width:18px!important;height:18px!important;min-width:18px!important;min-height:18px!important;max-width:18px!important;max-height:18px!important;flex:0 0 18px!important;
  display:inline-grid!important;place-content:center!important;vertical-align:middle;align-self:center;
  margin:0!important;padding:0!important;border:1.5px solid var(--text-faint)!important;border-radius:5px!important;
  background:var(--panel-soft)!important;background-image:none!important;box-shadow:none!important;
  cursor:pointer!important;outline:none!important;accent-color:var(--accent);transition:background var(--fast) ease,border-color var(--fast) ease!important;
  &::before{content:"";box-sizing:content-box;width:8px;height:5px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg) scale(0);transform-origin:center;margin-top:-2px;transition:none}
  &::after{content:none!important}
  &:is(:checked,input:checked + .v0866-choice-box,:indeterminate,input:indeterminate + .v0866-choice-box){background:var(--accent)!important;border-color:var(--accent)!important}
  &:is(:checked,input:checked + .v0866-choice-box)::before{transform:rotate(-45deg) scale(1)}
  &:is(:indeterminate,input:indeterminate + .v0866-choice-box)::before{height:0;border-left:0;transform:none;margin:0}
  &:is(:hover,.v0866-resource-choice:hover > .v0866-choice-box):not(:disabled,input:disabled + .v0866-choice-box){border-color:var(--accent)!important}
  &:is(:focus-visible,input:focus-visible + .v0866-choice-box){outline:2px solid var(--accent)!important;outline-offset:2px}
  &:is(:disabled,input:disabled + .v0866-choice-box){opacity:.45!important;cursor:not-allowed!important}
  @media(prefers-reduced-motion:reduce){transition:none!important}
}
/* Manual request: the existing field and route families within the narrow workflow drawer. */
#txiPanel:has(#v096RequestForm) #txiSub{display:none}
#v096RequestForm .request-address-group{grid-column:1/-1;min-width:0;padding-top:12px;border-top:1px solid var(--line)}
#v096RequestForm .request-address-group .txi-section-title{margin:0 0 12px}
#v096RequestForm .request-address-group .form-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
#v096RequestForm .request-address-group .form-field{min-width:0}
#v096RequestForm .v091-route-live{grid-template-columns:minmax(0,1fr) auto;gap:12px}
#v096RequestForm .v091-route-mark{grid-column:1/-1;display:flex;align-items:center;gap:10px;justify-content:flex-start}
#v096RequestForm .v091-route-live>div:nth-child(2){grid-column:1/-1;min-width:0}
#v096RequestForm .v091-route-price{min-width:0;padding-left:0;border-left:0}
#v096RequestForm #v096RouteRetry{white-space:nowrap}
/* Existing command palette: shared type tokens, scoped record-result layout. */
#palette .palette-item{width:100%;border:0;background:transparent;color:var(--text);text-align:left;font-family:var(--tx-ui-font)}
#palette .palette-item:hover,#palette .palette-item.selected{background:var(--panel-soft)}
#palette .palette-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
#palette .palette-copy{flex:1;min-width:0}
#palette .palette-title,#palette .palette-meta{display:block;overflow-wrap:anywhere;white-space:normal}
#palette .palette-title{font-size:var(--tx-type-body);font-weight:600;line-height:1.45;letter-spacing:0}
#palette .palette-meta,#palette .palette-group{font-size:var(--tx-type-meta);line-height:1.45;letter-spacing:0}
#palette .palette-meta{font-weight:400;color:var(--text-soft)}
#palette .palette-group{font-weight:600;text-transform:none}
#palette .palette-item{padding:10px 11px}
#palette .palette-icon,#palette .status{flex-shrink:0}
#palette .palette-search input{min-width:0}
#palette .palette-search .resource-search{flex:1;min-width:0}
#palette [data-search-areas]>summary{cursor:pointer;display:list-item;list-style:disclosure-closed inside}
#palette [data-search-areas][open]>summary{list-style:disclosure-open inside}
#palette [data-search-areas]>summary:focus-visible{outline:2px solid var(--tx-accent);outline-offset:-2px;border-radius:var(--radius-md)}
