/* R354.4 — compact navy workspace. Fiber, cable and optical status colors remain semantic. */
:root{--xn-ink:#17243c;--xn-muted:#586780;--xn-line:#e2e7f0;--xn-canvas:#f5f7fb;--xn-accent:#2864e8;--xn-soft:#edf2ff;--xn-radius:12px;--sidebar:244px;--topbar:66px}
html body{font-family:Inter,"Segoe UI",Arial,sans-serif!important;font-size:13px!important;color:#17243c!important;background:#f5f7fb!important}
#app.app{grid-template-columns:244px minmax(0,1fr)!important}
#app>aside{width:244px!important;padding:22px 12px 10px!important;background:#111d35!important;border-right:0!important;color:#dbe5fa!important}
#app>aside>.brand{margin:0 8px!important;padding:2px 0 22px!important;border-color:#2a3750!important;gap:12px!important}
#app>aside .brand strong{color:#f6f8ff!important;-webkit-text-fill-color:#f6f8ff!important;letter-spacing:3px!important;font-size:20px!important}
#app>aside .brand small{color:#a9b8d4!important;-webkit-text-fill-color:#a9b8d4!important;font-size:9px!important}
#app>aside .nav{margin-top:16px!important;scrollbar-width:thin;scrollbar-color:#41506c transparent}
#app>aside .nav button{color:#c3d0e8!important;-webkit-text-fill-color:currentColor!important;min-height:37px!important;padding:9px 12px!important;border-radius:7px!important;font-size:12px!important;line-height:1.35!important;background:transparent!important}
#app>aside .nav button.active{background:#2864e8!important;color:#fff!important;box-shadow:0 4px 12px #050d2430!important}
#app>aside .nav button:hover:not(.active):not(:disabled){background:#21304c!important;color:#fff!important}
#app>aside .nav :is(.navGroupBtn,.navSection){color:#8c9ebd!important;-webkit-text-fill-color:currentColor!important;font-size:9px!important;letter-spacing:1.15px!important;margin-top:10px!important}
#app>aside .subnav{margin-left:5px!important;padding-left:8px!important;border-color:#31415c!important}
#app>aside .navGroup{margin:3px 0!important}#app>aside .r337Icon{margin-right:10px!important}#app>aside .online{background:transparent!important;color:#afc2e5!important;border-color:#2a3750!important;font-size:10px!important}
#app>main>header{position:sticky!important;top:0!important;z-index:500!important;height:66px!important;min-height:66px!important;padding:0 26px!important;background:#fff!important;gap:12px!important;flex-wrap:nowrap!important}
#app>main>header .search{height:36px!important;min-height:36px!important;max-width:400px!important;padding:8px 13px!important;border-radius:8px!important;background:#f5f7fb!important;font-size:12px!important}
#app>main>header .right{display:flex;align-items:center;gap:12px;min-width:0}#app>main>header select{min-height:34px!important;height:34px!important;max-width:125px!important;padding:5px 9px!important;font-size:12px!important;border-radius:8px!important}
#app>main>header .avatar{height:34px!important;width:34px!important;border-radius:50%!important;background:#edf2ff!important;color:#254ba4!important;-webkit-text-fill-color:currentColor!important;box-shadow:none!important;font-size:11px!important}
#app>main>header :is(.accountWrap,.accountWrap *){font-size:11px!important}#app>main>header .topIcon{width:32px!important;height:32px!important;padding:5px!important}
#app #r314InboxBtn{display:inline-flex!important;align-items:center;gap:7px;background:#edf2ff!important;color:#234ca6!important;-webkit-text-fill-color:currentColor!important;border:1px solid #d6e1fc!important;border-radius:8px!important;padding:8px 12px!important;font-size:12px!important;min-height:34px!important;box-shadow:none!important}#r314InboxBtn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7}
#app main #content{padding:26px!important;max-width:1800px!important;min-width:0!important}
/* Legacy global header declarations must never position page headings over the app bar. */
#app #content :is(header,.xPageHeader){position:static!important;inset:auto!important;transform:none!important;z-index:auto!important;width:auto!important;min-height:0!important;height:auto!important;display:block!important;border:0!important;background:transparent!important;padding:0!important;margin:0 0 22px!important;box-shadow:none!important}
#app #content .xPageHeader h1{font-size:27px!important;line-height:1.2!important;margin:5px 0 8px!important}#app #content .xPageHeader p{font-size:13px!important;line-height:1.6!important;margin:0!important}
#app #content :is(.panel,.card){border-radius:12px!important;padding:20px!important;box-shadow:0 2px 5px #182b4a03!important;border-color:#e2e7f0!important}
#app #content :is(.grid2,.grid3,.stats,.ownerStats){gap:16px!important}#app #content .grid3{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}
#app #content :is(.panel,.card)>:is(h2,h3){font-size:17px!important;line-height:1.4!important;margin:0 0 14px!important}
#app #content :is(.toolbar,.joToolBand,.inlineControls){gap:8px!important;flex-wrap:wrap}
#app #content :is(.toolbar,.joToolBand,.pcTabs,.xPageHeader,.panel,.card)>button:not([class*="fiber"]):not([class*="Color"]):not([class*="Port"]){border-radius:8px!important;font-size:var(--workspace-control-font-size,12px)!important;text-transform:none!important;letter-spacing:0!important;min-height:var(--workspace-control-height,34px)!important;padding:8px 12px!important;box-shadow:none!important}
#app #content :is(button.primary,button.xPrimary,.xn button.xn-primary){background:#2864e8!important;border-color:#2864e8!important;color:white!important;-webkit-text-fill-color:white!important}
#app #content :is(button.secondary,.xn button){background:#fff!important;border:1px solid #d9e1ef!important;color:#364969!important;-webkit-text-fill-color:currentColor!important;box-shadow:none!important}
#app #content .xn button.xn-primary{background:#2864e8!important;border-color:#2864e8!important;color:#fff!important}#app #content .xn button.xn-danger{background:#fff1f2!important;border-color:#f3c7cf!important;color:#a22440!important}
#app #content .xn h1{font-size:27px!important;line-height:1.2!important}#app #content .xn h2{font-size:16px!important}#app #content .xn p{font-size:12px!important;line-height:1.65!important}
.xn .xn-head{margin-bottom:22px!important}.xn .xn-eyebrow{color:#46669f!important;font-size:9px!important;letter-spacing:1.3px!important}.xn .xn-stats{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:14px!important}.xn .xn-stat{padding:18px!important;min-height:108px!important;border-radius:12px!important}.xn .xn-stat strong{font-size:27px!important;margin:8px 0 4px!important}.xn .xn-stat small{font-size:10px!important}.xn .xn-card-head{padding:17px 20px!important}.xn .xn-toolbar{padding:12px 20px!important}.xn table th,.xn table td{padding:13px 18px!important;font-size:12px!important}.xn table th{font-size:10px!important;letter-spacing:.4px;background:#f7f9fc!important}.xn td small{display:block;margin-top:4px;color:#697991!important}
.xn .xn-chip{border-radius:20px!important;font-size:10px!important;white-space:nowrap}.xn .xn-initials{background:#edf2ff!important;color:#335bab!important}.xn .xn-empty{padding:35px 22px!important;font-size:12px!important}.xn .xn-empty b{font-size:15px!important}.xn .xn-notice{background:#edf2ff!important;color:#30466b!important;border-color:#d3def6!important}.xn :is(button,input,select,textarea,a):focus-visible{outline:3px solid #b1c8ff!important;outline-offset:2px!important}
/* Explicit light-surface contrast for all system notices. */
body :is(.toast,.toast.bad,.xn-error,.errorMessage,.alert-danger,.error-banner){background:#fff1f2!important;color:#8f1837!important;-webkit-text-fill-color:currentColor!important;border:1px solid #edb3c2!important;box-shadow:0 12px 35px #17243c18!important;line-height:1.5!important}
body .toast:not(.bad){background:#edf3ff!important;color:#203f83!important;border-color:#bbcdf6!important}body :is(.toast,.xn-error,.errorMessage,.alert-danger) *{color:inherit!important;-webkit-text-fill-color:currentColor!important}.toast{z-index:20000!important;max-width:min(540px,90vw)!important}
.xn .xn-error:empty{display:none}dialog.xn{border:1px solid #dce4ef!important;border-radius:16px!important;color:#17243c!important;max-width:850px!important;width:min(850px,94vw)!important;max-height:90vh!important}dialog.xn::backdrop{background:#0e1c3b80;backdrop-filter:blur(3px)}dialog.xn .xn-modal-head{padding:22px!important}dialog.xn .xn-form{gap:18px!important;padding:22px!important}dialog.xn .xn-modal-foot{padding:16px 22px!important}dialog.xn h2{font-size:21px!important}
.xw-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.xw-pagination{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:14px;color:#62718a;font-size:11px}
.xw-calendar-controls,.xw-date-nav,.xw-calendar-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.xw-calendar-controls{justify-content:space-between;margin-bottom:15px}.xw-date-nav input{width:145px}.xw-date-nav b{margin-left:8px;font-size:12px}.xw-calendar-filters{padding:13px 15px;background:white;border:1px solid #e2e7f0;border-radius:10px}.xw-calendar-filters input{max-width:330px}.xw-calendar-filters select{width:auto;max-width:200px}.xw-segments{display:flex;gap:3px;background:#e8edf6;padding:4px;border-radius:9px}#app #content .xw-segments button{background:transparent!important;border:0!important;min-height:30px!important;padding:7px 12px!important}#app #content .xw-segments button[aria-pressed=true]{background:#fff!important;color:#2453ad!important;box-shadow:0 1px 4px #2038581a!important}
.xw-calendar-legend{display:flex;gap:20px;flex-wrap:wrap;padding:15px 2px;font-size:10px;color:#65738c}.xw-dot:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:6px;background:#4f7de5}.xw-dot.oncall:before{background:#895cdb}.xw-dot.leave:before{background:#d89535}.xw-dot.unavailable:before{background:#d66783}.xw-dot.training:before{background:#3996ac}
.xw-resource-scroll{overflow:auto;max-height:65vh;border:1px solid #dfe5f0;border-radius:12px;background:#fff}.xw-resource-grid{width:100%;min-width:1050px;border-collapse:separate!important;border-spacing:0}.xw-resource-grid thead{position:sticky;top:0;z-index:4}.xw-resource-grid th:first-child{position:sticky;left:0;min-width:210px;max-width:240px;background:#fff!important;z-index:2}.xw-resource-grid thead th:first-child{background:#f7f9fc!important;z-index:5}.xw-resource-grid thead th{height:52px!important;border-bottom:1px solid #dfe5f0!important}.xw-resource-grid tbody th{font-size:12px!important;font-weight:600!important;text-align:left!important;padding:12px 15px!important;border-bottom:1px solid #e9edf5!important}.xw-resource-grid tbody th small{display:block;font-weight:400;margin-top:4px}.xw-resource-grid tbody td{min-width:125px;padding:6px!important;vertical-align:top;background:#fff!important;border:0!important;border-left:1px solid #edf0f6!important;border-bottom:1px solid #edf0f6!important;position:relative}.xw-resource-grid .is-today{background:#f2f6ff!important}
#app #content .xn .xw-shift{display:flex!important;width:100%;flex-direction:column;align-items:flex-start;text-align:left!important;gap:2px!important;min-height:62px!important;border:0!important;border-left:3px solid #5680dc!important;border-radius:6px!important;background:#edf3ff!important;color:#25477f!important;padding:8px!important;font-weight:400!important;margin-bottom:4px}#app #content .xw-shift small{color:inherit!important;font-size:10px!important}.xw-shift span{font-size:9px}.xw-shift strong{font-size:11px;white-space:normal}#app #content .xn .xw-shift.oncall{background:#f3eefe!important;color:#603f96!important;border-color:#9167d6!important}#app #content .xn .xw-shift.leave{background:#fff5e7!important;color:#8a591e!important;border-color:#dfa74d!important}#app #content .xn .xw-shift.unavailable{background:#fff0f3!important;color:#963b54!important;border-color:#d87690!important}#app #content .xn .xw-shift.training{background:#eaf6fa!important;color:#306979!important;border-color:#5ca4b7!important}#app #content .xn .xw-add-slot{background:transparent!important;border:1px dashed #dfe5ef!important;width:100%;min-height:25px!important;padding:2px!important;color:#8292ac!important;font-size:16px!important}.xw-no-shift{display:block;padding:15px;text-align:center;color:#ccd5e4}
.xw-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;background:#e2e7f0;border:1px solid #e2e7f0;border-radius:12px;overflow:hidden}.xw-month-grid>b{background:#f7f9fc;padding:12px;text-align:center;font-size:11px}.xw-month-pad{background:#fafbfe}#app #content .xn .xw-month-day{border:0!important;border-radius:0!important;background:#fff!important;min-height:125px!important;display:flex!important;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:5px!important;font-weight:400!important;padding:13px!important}.xw-month-day>b{font-size:15px}.xw-month-day span,.xw-month-day strong{font-size:10px}.xw-month-day small{font-size:9px!important}#app #content .xn .xw-month-day.is-today{background:#edf3ff!important}.xw-gap{color:#a25535}.xw-calendar-note{font-size:10px!important;padding:9px 0}
.xw-quantity-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding:20px;border-bottom:1px solid #e2e7f0}.xw-quantity-strip b{display:block;font-size:26px;color:#234b9c}.xw-quantity-strip span{font-size:11px;color:#60708b}.xw-inline-warning{margin:16px 20px;background:#fff7e8;border:1px solid #ecd2a3;padding:12px 15px;border-radius:8px;color:#79551f}.xw-inline-warning ul{margin:7px 0 0;padding-left:20px;font-size:11px}.xw-source-details{padding:16px 20px}.xw-time-toolbar{display:flex;justify-content:flex-end;margin:0 0 12px!important}.xw-time-status{padding:15px;background:#edf3ff;border-radius:8px;margin-bottom:15px}
.xw-mail{display:grid;grid-template-columns:145px minmax(240px,.85fr) minmax(340px,1.35fr);background:#fff;border:1px solid #e0e6ef;border-radius:13px;min-height:65vh;overflow:hidden}.xw-mail-folders{padding:14px 8px;background:#f9faff;border-right:1px solid #e2e7f0;display:flex;flex-direction:column;gap:5px}#app #content .xn .xw-mail-folders button{justify-content:space-between;border:0!important;background:transparent!important}#app #content .xn .xw-mail-folders button.is-selected{background:#e8efff!important;color:#2755af!important}.xw-mail-list{border-right:1px solid #e2e7f0;min-width:0}.xw-mail-search{display:flex;gap:5px;padding:12px;border-bottom:1px solid #e2e7f0}.xw-mail-search input{min-width:0}.xw-mail-reader{padding:25px;min-width:0}.xw-mail-reader h2{margin:24px 0!important;overflow-wrap:anywhere}.xw-message-meta{display:flex;flex-direction:column;gap:5px;font-size:11px;color:#6b7890;padding-bottom:20px;border-bottom:1px solid #e6eaf2}.xw-message-meta b{color:#304464;font-size:12px}.xw-message-body{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8;font-size:13px;padding:24px 0;min-height:130px}.xw-message-actions{display:flex;gap:7px;flex-wrap:wrap}
#app #content .xn .xw-message-row{display:flex!important;flex-direction:column;align-items:stretch!important;text-align:left!important;gap:6px!important;width:100%;border:0!important;border-bottom:1px solid #e9edf4!important;border-radius:0!important;padding:16px!important;background:#fff!important;font-weight:400!important;box-shadow:none!important;min-height:110px!important}#app #content .xn .xw-message-row.is-selected{background:#edf3ff!important;box-shadow:inset 3px 0 #376ce1!important}#app #content .xn .xw-message-row.unread{box-shadow:inset 3px 0 #376ce1!important;background:#f8faff!important}.xw-message-row>span{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:11px}.xw-message-row time{font-size:9px;color:#7a869d}.xw-message-row strong{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.xw-message-row>small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px!important}.xw-message-row em{font-style:normal;font-size:9px;color:#5272a5}.xw-mail-pages{display:flex;justify-content:space-between;align-items:center;gap:4px;font-size:10px;padding:12px}.xw-mail-pages button{font-size:10px!important;padding:5px 8px!important}.xw-attachments{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.xw-file-chip{display:inline-flex;align-items:center;background:#f0f4fb;padding:5px 8px;border-radius:8px;font-size:11px;overflow-wrap:anywhere}.xw-file-chip button{min-height:25px!important;font-size:10px!important;padding:3px 6px!important;margin-left:6px}.xw-people-options{display:flex;flex-wrap:wrap;gap:5px;max-height:125px;overflow:auto;margin-top:10px}.xw-person-option{font-size:10px!important;padding:6px 9px!important;min-height:30px!important}.xw-recipient-chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.xw-recipient{background:#edf3ff!important;border-color:#c9d9fa!important;color:#2a55a8!important}.xw-compose .xn-form>label:has([name=subject]){grid-column:1/-1}.xw-linked-job{border-top:1px solid #e2e7f0;padding-top:16px}
.xw-home-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(250px,1fr);gap:18px}.xw-tools{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:16px}#app #content .xn .xw-tool{display:flex!important;flex-direction:column;align-items:flex-start;justify-content:flex-start;text-align:left!important;padding:16px!important;min-height:90px!important;gap:8px!important;background:#f9fbff!important;white-space:normal}.xw-tool svg{color:#4771ba}.xw-tool small{font-weight:400}.xw-job-table .xn-scroll{max-height:65vh}.xw-status-bars{padding:20px}.xw-status-row{display:grid;grid-template-columns:140px minmax(60px,1fr) 35px;align-items:center;gap:15px;font-size:11px;margin:14px 0}.xw-status-bar{height:8px;background:#ecf1f9;border-radius:5px;overflow:hidden}.xw-status-bar i{display:block;height:100%;background:#4e79d5;border-radius:5px}
.xw-brand-editor{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(250px,1fr);gap:20px}.xw-brand-form{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:20px}.xw-brand-preview{padding:26px;margin:20px;background:#fff;border:1px solid #dce3ee;box-shadow:0 9px 25px #1727440a;min-height:230px}.xw-brand-preview img{max-width:150px;max-height:70px;object-fit:contain;margin-bottom:14px}.xw-brand-preview h3{font-size:17px}.xw-brand-preview p{font-size:11px!important}.xw-brand-rule{height:1px;background:#dce3ee;margin:20px 0}.xw-brand-footer{display:flex;align-items:center;gap:7px;color:#284875;font-size:10px;font-weight:650}.xw-brand-footer svg{width:20px;height:20px}.xw-brand-upload{padding:0 20px 20px}.xw-template-list small{max-width:650px;white-space:normal;line-height:1.5}
@media(max-width:1200px){#app.app{grid-template-columns:214px minmax(0,1fr)!important}#app>aside{width:214px!important}#app #content{padding:20px!important}.xw-mail{grid-template-columns:120px minmax(210px,.9fr) minmax(270px,1.1fr)}.xw-mail-reader{padding:18px}.xw-home-layout{grid-template-columns:1fr}.xw-tools{grid-template-columns:repeat(4,1fr)}#app #who{max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
@media(max-width:900px){#app.app{grid-template-columns:190px minmax(0,1fr)!important}#app>aside{width:190px!important}#app>main>header{padding:0 16px!important}#app>main>header .search{max-width:210px!important}#app>main>header .accountWrap small{display:none}.xn .xn-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}.xw-brand-editor{grid-template-columns:1fr}.xw-mail{grid-template-columns:120px 1fr}.xw-mail-reader{grid-column:1/-1;border-top:1px solid #e2e7f0}.xw-tools{grid-template-columns:1fr 1fr}.xw-month-day span,.xw-month-day small{font-size:8px!important}.xw-month-grid{min-width:650px}#xwCalendarBoard{overflow:auto}}
@media(max-width:620px){#app.app{display:block!important}#app>aside{width:100%!important;height:auto!important;max-height:250px!important;position:relative!important}#app>aside .nav{max-height:160px!important}#app>aside>.brand{padding-bottom:10px!important}#app>main>header{position:relative!important;flex-wrap:wrap!important;height:auto!important;padding:12px!important}#app>main>header .search{width:100%!important;max-width:none!important}.xw-mail{grid-template-columns:1fr}.xw-mail-folders{flex-direction:row;overflow:auto;padding:8px}.xw-mail-list{border:0}.xw-home-layout,.xw-brand-form{grid-template-columns:1fr}.xw-quantity-strip{grid-template-columns:1fr 1fr}.xn .xn-head{align-items:flex-start;flex-direction:column}#app #content .grid3{grid-template-columns:1fr!important}}
/* Asset library rows use quiet surfaces instead of inheriting primary button paint. */
#app #content .r344AssetGroup{background:#fff!important;border:1px solid #e0e6ef!important;border-radius:12px!important;overflow:hidden;margin:0 0 16px!important}
#app #content .r344AssetGroup>header{display:flex!important;padding:16px 20px!important;margin:0!important;border-bottom:1px solid #e5eaf3!important;font-size:13px!important}#app #content .r344AssetGroup>header span{margin-left:12px;font-size:11px;color:#72829b}
#app #content .r344AssetList .r344AssetRow{display:flex!important;align-items:center!important;gap:14px!important;min-height:68px!important;width:100%!important;padding:12px 20px!important;background:#fff!important;border:0!important;border-bottom:1px solid #edf0f6!important;border-radius:0!important;box-shadow:none!important;color:#203657!important;-webkit-text-fill-color:currentColor!important;text-align:left!important;transform:none!important}
#app #content .r344AssetList .r344AssetRow:hover{background:#f5f8ff!important}#app #content .r344AssetMain b{font-size:12px!important;color:#203657!important}#app #content .r344AssetMain small{color:#74839a!important;font-size:11px!important;margin-top:4px!important}.r344AssetMain{flex:1;min-width:0}.r344AssetRow .r344TypeIcon{background:#eef3fc!important;border-radius:9px!important;color:#5373ac!important;width:35px!important;height:35px!important}.r344AssetRow .r342AssetNo{font-size:9px!important;background:#eff3f9!important;color:#5f769b!important;padding:3px 6px!important;border-radius:5px!important}.r344AssetRow .r344RowArrow{color:#8090a8!important}
#app #content :is(.toolbar,.joToolBand,.r292ToolRow,.r292TopActions,.r292LocationActions,.r317FileActions) button:not(.primary):not(.xn-primary):not(.danger){background:#fff!important;color:#345175!important;-webkit-text-fill-color:currentColor!important;border:1px solid #d3deef!important;font-size:var(--workspace-control-font-size,12px)!important;min-height:var(--workspace-control-height,34px)!important;padding:8px 12px!important;border-radius:8px!important;text-transform:none!important;box-shadow:none!important}
#app #content :is(.toolbar,.joToolBand) button.green,#app #content :is(.toolbar,.joToolBand) button.blue{background:#2864e8!important;border-color:#2864e8!important;color:#fff!important}
#app #content :is(.r292Topbar,.r317JobFile>.toolbar){align-items:center!important;gap:15px!important;flex-wrap:wrap!important}#app #content :is(.r292Topbar,.r317JobFile) h1{font-size:25px!important;line-height:1.3!important}.xw-brand-upload input[type=file]{font-size:11px!important}#app #content :is(.grid4,.ownerStats){display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:14px!important}#app #content .grid4>.panel{min-height:100px!important;padding:18px!important}.xn-back{position:static!important;margin-bottom:14px!important}
/* R354.5 connected network workspace: quiet surfaces and clear action hierarchy. */
.xnet-assets{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:14px}
.xn button.xnet-asset{display:flex;align-items:center;gap:16px;text-align:left;white-space:normal;background:#fff!important;color:#24344f!important;border:1px solid #dce3ef!important;padding:22px!important;box-shadow:0 2px 5px #16335b06;border-radius:12px!important;min-height:103px}
.xnet-asset>span:nth-child(2){flex:1}.xnet-asset b{display:block;font-size:16px}.xnet-asset small{display:block;font-size:12px;line-height:1.6;color:#63738c;font-weight:400;margin-top:5px}.xnet-asset-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:10px;background:#eff3fc;color:#315ec8}.xnet-asset-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7}
.xn button.xnet-asset:hover{border-color:#7391d4!important;box-shadow:0 7px 20px #1e3d6710;transform:translateY(-1px)}
.xnet-label-paper{display:flex;align-items:center;gap:25px;padding:20px;background:white;border:1px solid #cdd8e7;border-radius:12px;max-width:560px;margin:auto}.xnet-label-paper img{width:180px;height:180px}.xnet-label-paper small{display:block;margin-top:14px;color:#435572}.xnet-label code{display:block;margin:18px 0;overflow-wrap:anywhere;text-align:center;color:#334765;font-size:12px}.xnet-label .xn-actions{justify-content:center;flex-wrap:wrap}.xnet-print-frame{position:fixed;width:1px;height:1px;left:-9999px;top:0;border:0}
.xnet-research-form{display:flex;gap:12px;margin-bottom:22px}.xnet-research-form input{flex:1}.xnet-evidence{display:grid;gap:13px;margin:24px 0}.xnet-evidence article{border:1px solid #dde5ef;border-radius:10px;padding:18px}.xnet-evidence header{position:static!important;display:flex;align-items:center;gap:12px;height:auto!important;padding:0!important;flex-wrap:wrap;background:transparent!important;border:0!important}.xnet-evidence header small{margin-left:auto}.xnet-evidence p{white-space:pre-wrap;font-size:13px;line-height:1.7;overflow-wrap:anywhere;color:#41516a}.xnet-evidence footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.xnet-evidence footer small{color:#60718a}.xnet-research-form+div ol{line-height:1.8}.xnet-sheet{background:white;border:1px solid #dce4ef;border-radius:9px;overflow:auto;max-height:550px}.xnet-sheet img{display:block;width:100%;min-width:650px;height:auto}.xnet-packages-toolbar{display:flex;gap:10px;padding-bottom:12px}.xnet-concept{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:25px 10px}.xnet-concept span{border:1px dashed #6689d5;border-radius:10px;background:#eff4ff;padding:20px;color:#1d3e7a}.xnet-concept i{color:#547bd0}.xn-eyebrow{color:#47649a!important}
@media(max-width:700px){.xnet-research-form{flex-direction:column}.xnet-label-paper{flex-direction:column}.xnet-concept{flex-direction:column}.xnet-assets{grid-template-columns:1fr}}

/* R354.6: the application bar and job workspace have their own UI contract.
   Scope icon rules to UI glyphs; equipment diagrams retain their own dimensions. */
.xn-icon{display:inline-block;width:18px;height:18px;flex:0 0 18px;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.7}
#app>main>header.x-shell-header{
 display:grid!important;grid-template-columns:minmax(110px,1fr) auto auto auto!important;
 height:68px!important;min-height:68px!important;gap:10px!important;padding:12px 24px!important;
 align-items:center!important;justify-content:stretch!important;flex-direction:row!important;
 overflow:visible!important;isolation:isolate;border-bottom:1px solid #e2e7f0!important;backdrop-filter:none!important;
}
#app>main>header.x-shell-header .search{
 grid-area:1/1!important;width:100%!important;max-width:380px!important;min-width:0!important;
 height:36px!important;min-height:36px!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
 color:#62718a!important;-webkit-text-fill-color:currentColor!important;font-weight:500!important;
}
#app>main>header.x-shell-header .accountWrap{
 grid-area:1/2!important;display:flex!important;flex-wrap:nowrap!important;gap:8px!important;
 width:auto!important;min-width:0!important;max-width:460px!important;justify-content:flex-end!important;
}
#app>main>header.x-shell-header #who{
 display:block!important;min-width:0!important;width:auto!important;max-width:165px!important;flex:0 1 auto!important;
 overflow:hidden;text-overflow:ellipsis;white-space:nowrap!important;line-height:1.4!important;
 font-size:11px!important;font-weight:500!important;color:#40516e!important;-webkit-text-fill-color:currentColor!important;
}
#app>main>header.x-shell-header #lang{width:108px!important;max-width:108px!important;min-width:80px!important;flex:0 1 108px;margin:0!important;font-weight:500!important}
#app>main>header.x-shell-header .avatar{flex:0 0 32px!important;width:32px!important;height:32px!important;min-width:32px!important;overflow:hidden!important;border:0!important;border-radius:50%!important}
#app>main>header.x-shell-header .topIcon{
 display:inline-flex!important;align-items:center!important;justify-content:center!important;position:relative!important;
 flex:0 0 32px!important;width:32px!important;min-width:32px!important;height:34px!important;min-height:34px!important;
 padding:6px!important;color:#566783!important;-webkit-text-fill-color:currentColor!important;border-radius:8px!important;
}
#app>main>header.x-shell-header .topIcon:hover{background:#eef3fc!important;color:#265dcd!important}
#app>main>header.x-shell-header .topIcon svg{width:19px!important;height:19px!important;fill:none!important;stroke:currentColor!important;flex:none!important}
#app>main>header.x-shell-header #nbadge{
 position:absolute;top:-2px;right:-2px;display:grid;place-items:center;min-width:15px;height:15px;padding:0 3px;
 background:#285ed0!important;color:#fff!important;-webkit-text-fill-color:#fff!important;
 border:2px solid #fff;border-radius:9px;font:600 9px/1 "Segoe UI",Arial,sans-serif!important;
}
#app>main>header.x-shell-header #nbadge:empty{display:none!important}
#app>main>header.x-shell-header :is(#r314InboxBtn,#xnetAsk){
 position:static!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;
 gap:7px!important;flex-direction:row!important;white-space:nowrap!important;min-width:0!important;width:auto!important;
 height:36px!important;min-height:36px!important;max-height:36px!important;padding:8px 12px!important;margin:0!important;
 border:1px solid #dce4f0!important;border-radius:8px!important;background:#fff!important;
 color:#344c72!important;-webkit-text-fill-color:currentColor!important;
 font:600 12px/1.2 "Segoe UI",Arial,sans-serif!important;text-transform:none!important;letter-spacing:0!important;
 text-shadow:none!important;box-shadow:none!important;transform:none!important;
}
#app>main>header.x-shell-header #r314InboxBtn{grid-area:1/3!important}
#app>main>header.x-shell-header #xnetAsk{grid-area:1/4!important;background:#edf2ff!important;border-color:#d5e0fb!important;color:#264fae!important}
#app>main>header.x-shell-header :is(#r314InboxBtn,#xnetAsk) :is(span,svg,path){color:inherit!important;-webkit-text-fill-color:currentColor!important;opacity:1!important;text-shadow:none!important}
#app>main>header.x-shell-header :is(#r314InboxBtn,#xnetAsk) svg{width:17px!important;height:17px!important;min-width:17px!important;max-width:17px!important;max-height:17px!important;flex:0 0 17px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.7!important}
#app>main>header.x-shell-header :is(#r314InboxBtn,#xnetAsk)::before,#app>main>header.x-shell-header :is(#r314InboxBtn,#xnetAsk)::after{content:none!important}
#app>main>header.x-shell-header :is(#r314InboxBtn,#xnetAsk):hover{background:#e9effb!important;border-color:#b9cdef!important}
#app>main>header.x-shell-header button:focus-visible{outline:3px solid #b3caff!important;outline-offset:2px!important}
#app>main>header.x-shell-header #xnMenuToggle{display:none!important}
#app>main>header.x-shell-header #profileMenu{top:calc(100% + 12px)!important;right:0!important;left:auto!important;min-width:180px;z-index:510!important;padding:6px!important;border-radius:10px!important}
#app>main>header.x-shell-header #profileMenu button{font:500 12px/1.4 "Segoe UI",Arial,sans-serif!important;color:#314666!important;-webkit-text-fill-color:currentColor!important}
#app>main>header.x-shell-header #profileMenu #out{color:#aa2945!important}

/* Shared destructive controls always pair red text with a light red surface. */
#app #content button.danger,body dialog.xn button.xn-danger,body .modalShade button.danger{
 background:#fff2f4!important;border:1px solid #efc7d0!important;color:#a62443!important;
 -webkit-text-fill-color:currentColor!important;text-shadow:none!important;box-shadow:none!important;
}
#app #content button.danger :is(span,b,small),body dialog.xn button.xn-danger *{color:inherit!important;-webkit-text-fill-color:currentColor!important}
#app #content button.danger:hover:not(:disabled){background:#ffe6eb!important;border-color:#df99aa!important}

/* Compact, consistent navigation glyphs and dashboard shortcuts. */
#app>aside .xn-nav-icon{display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 19px!important;width:19px!important;height:19px!important;margin-right:10px!important}
#app>aside .xn-nav-icon svg{width:19px!important;height:19px!important;stroke-width:1.7!important;fill:none!important}
#app>aside .nav button[data-p]:not(.hidden):not([hidden]){display:flex!important;align-items:center!important;width:100%!important;gap:0!important;font-weight:550!important}
#app>aside .nav button[data-p].hidden,#app>aside .nav button[data-p][hidden]{display:none!important}
#app #content .xw-tools{display:grid;grid-template-columns:1fr;gap:8px;padding:14px}
#app #content .xn button.xw-tool{
 display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;
 gap:12px!important;min-height:72px!important;padding:12px!important;border:1px solid #e2e8f3!important;
 border-radius:10px!important;background:#fff!important;box-shadow:none!important;transform:none!important;
}
#app #content .xn button.xw-tool:hover{background:#f7f9ff!important;border-color:#c6d5f2!important}
.xw-tool-icon{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:10px;background:#edf2fc;color:#3b64aa}
#app #content .xw-tool-icon svg{width:20px!important;height:20px!important}
.xw-tool-copy{flex:1;min-width:0}.xw-tool-copy b{display:block;font-size:12px;line-height:1.4;color:#263c5f}
#app #content .xw-tool-copy small{display:block;margin-top:3px;font-size:11px!important;line-height:1.5;color:#66768e!important;font-weight:400}
.xw-tool-arrow{display:flex;color:#8191aa}.xw-tool-arrow svg{width:15px!important;height:15px!important}

/* Job sections are navigation. Workflow actions and related tools stay separate. */
#app #content .jobWorkspaceV3{display:flex!important;flex-direction:column!important;gap:0!important;min-width:0!important;max-width:100%!important;font-family:"Segoe UI",Arial,sans-serif!important;scroll-margin-top:84px}
#app #content .jobWorkspaceV3>.opHero{
 display:flex!important;flex-direction:row!important;align-items:flex-start!important;justify-content:space-between!important;
 gap:20px!important;padding:4px 0 22px!important;margin:0!important;border:0!important;border-radius:0!important;
 background:transparent!important;box-shadow:none!important;
}
#app #content .jobWorkspaceV3 .opHero>div:first-child{min-width:0}
#app #content .jobWorkspaceV3 .opHero small{font-size:10px!important;font-weight:600!important;letter-spacing:1.1px!important;color:#657998!important;-webkit-text-fill-color:currentColor!important}
#app #content .jobWorkspaceV3 .opHero h1{font-size:28px!important;line-height:1.2!important;font-weight:650!important;letter-spacing:-.5px!important;margin:7px 0 8px!important;color:#172d4e!important;overflow-wrap:anywhere}
#app #content .jobWorkspaceV3 .opHero p{font-size:13px!important;line-height:1.5!important;margin:0!important;color:#64758e!important;max-width:760px;overflow-wrap:anywhere}
#app #content .jobWorkspaceV3 .jobWsStatus{
 display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:0!important;
 background:#fff!important;border:1px solid #e1e7f1!important;border-radius:12px 12px 0 0!important;
 padding:0!important;margin:0!important;box-shadow:none!important;
}
#app #content .jobWorkspaceV3 .jobWsStatus>span{display:flex!important;flex-direction:column!important;gap:5px!important;min-width:0;padding:16px!important;background:transparent!important;border:0!important;border-radius:0!important;border-right:1px solid #eef1f6!important;overflow-wrap:anywhere}
#app #content .jobWorkspaceV3 .jobWsStatus>span:last-child{border-right:0!important}
#app #content .jobWorkspaceV3 .jobWsStatus small{font-size:10px!important;font-weight:500!important;color:#687991!important;-webkit-text-fill-color:currentColor!important}
#app #content .jobWorkspaceV3 .jobWsStatus b{font-size:12px!important;line-height:1.5!important;font-weight:600!important;color:#293e60!important;-webkit-text-fill-color:currentColor!important;background:transparent!important;padding:0!important}
#app #content .jobWorkspaceV3 .jobWsState b{color:#285bc5!important}
#app #content .jobWorkspaceV3 .r234ActionBar{
 position:static!important;display:flex!important;align-items:center!important;justify-content:space-between!important;flex-wrap:wrap!important;
 gap:10px!important;padding:12px 16px!important;margin:0 0 12px!important;background:#fff!important;
 border:1px solid #e1e7f1!important;border-top:0!important;border-radius:0 0 12px 12px!important;box-shadow:none!important;
}
#app #content .jobWorkspaceV3 .x-job-action-controls{display:flex!important;align-items:center!important;justify-content:flex-end!important;flex-wrap:wrap!important;gap:8px!important;padding:0!important}
.x-job-action-label{font-size:11px;font-weight:500;color:#78869b}
#app #content .jobWorkspaceV3 :is(.r234ActionBar,.opHeroActions,.xnet-packages-toolbar,.xw-time-toolbar) button{
 display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 auto!important;
 gap:7px!important;min-height:34px!important;height:auto!important;padding:8px 12px!important;border:1px solid #dbe3ef!important;
 border-radius:8px!important;background:#fff!important;color:#405573!important;-webkit-text-fill-color:currentColor!important;
 font:600 12px/1.3 "Segoe UI",Arial,sans-serif!important;text-transform:none!important;letter-spacing:0!important;
 box-shadow:none!important;transform:none!important;white-space:nowrap!important;
}
#app #content .jobWorkspaceV3 .r234ActionBar button.primary{background:#285fe0!important;border-color:#285fe0!important;color:#fff!important;-webkit-text-fill-color:currentColor!important}
#app #content .jobWorkspaceV3 .r234ActionBar button.danger{background:#fff5f6!important;border-color:#eed1d7!important;color:#a62443!important;-webkit-text-fill-color:currentColor!important}
#app #content .jobWorkspaceV3 :is(.r234ActionBar,.opHeroActions,.xnet-packages-toolbar) button:hover:not(:disabled){filter:brightness(.97)}
#app #content .jobWorkspaceV3 :is(.r234ActionBar,.opHeroActions,.xnet-packages-toolbar) button span{color:inherit!important;-webkit-text-fill-color:currentColor!important}
#app #content .jobWorkspaceV3 .xnet-packages-toolbar{display:flex!important;justify-content:flex-end!important;gap:8px!important;flex-wrap:wrap!important;padding:0!important;margin:0 0 14px!important;min-height:0!important}
#app #content .jobWorkspaceV3 .jobWsTabs{
 display:flex!important;flex-wrap:wrap!important;align-items:center!important;justify-content:flex-start!important;gap:3px!important;
 width:100%!important;max-width:100%!important;min-width:0!important;overflow:visible!important;
 padding:6px!important;margin:0 0 20px!important;background:#edf1f8!important;
 border:1px solid #e2e7f0!important;border-radius:10px!important;box-shadow:none!important;
}
#app #content .jobWorkspaceV3 .jobWsTabs button{
 display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;
 flex:0 0 auto!important;width:auto!important;min-width:0!important;height:auto!important;min-height:34px!important;
 padding:8px 10px!important;margin:0!important;border:1px solid transparent!important;border-radius:7px!important;
 background:transparent!important;color:#526480!important;-webkit-text-fill-color:currentColor!important;
 font:500 12px/1.3 "Segoe UI",Arial,sans-serif!important;white-space:nowrap!important;text-transform:none!important;
 letter-spacing:0!important;box-shadow:none!important;transform:none!important;
}
#app #content .jobWorkspaceV3 .jobWsTabs button.active{background:#fff!important;border-color:#d9e2f2!important;color:#214eb0!important;-webkit-text-fill-color:currentColor!important;font-weight:600!important;box-shadow:0 1px 3px #1c31530b!important}
#app #content .jobWorkspaceV3 .jobWsTabs button:hover:not(.active){background:#e2e9f6!important;color:#224984!important}
#app #content .jobWorkspaceV3 .jobWsTabs button span{color:inherit!important;-webkit-text-fill-color:currentColor!important}
#app #content .jobWorkspaceV3 .jobWsTabs .xn-icon{width:16px!important;height:16px!important;flex:0 0 16px!important}
#app #content .jobWorkspaceV3 button:focus-visible{outline:3px solid #b3caff!important;outline-offset:2px!important}
#app #content .jobWorkspaceV3 #jobWsBody{min-width:0!important;margin:0!important;padding:0!important}
#app #content .jobWorkspaceV3 #jobWsBody>.grid2{margin-top:0!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
#app #content .jobWorkspaceV3 #jobWsBody .panel h2{font-size:16px!important;line-height:1.4!important;letter-spacing:0!important;font-weight:650!important;margin-top:0!important;color:#253c5c!important;-webkit-text-fill-color:currentColor!important}
#app #content .jobWorkspaceV3 .jobWsGrid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
#app #content .jobWorkspaceV3 .jobWsGrid>div{border:0!important;border-bottom:1px solid #edf0f6!important;background:transparent!important;border-radius:0!important;padding:10px 0!important;min-width:0;overflow-wrap:anywhere}

@media(max-width:1180px){
 #app>main>header.x-shell-header{grid-template-columns:minmax(100px,1fr) auto auto!important;grid-template-rows:36px 34px!important;height:auto!important;min-height:96px!important;row-gap:8px!important}
 #app>main>header.x-shell-header .accountWrap{grid-area:2/1/3/-1!important;max-width:none!important;justify-content:flex-end!important;width:100%!important}
 #app>main>header.x-shell-header #r314InboxBtn{grid-area:1/2!important}
 #app>main>header.x-shell-header #xnetAsk{grid-area:1/3!important}
 #app>main>header.x-shell-header #who{max-width:280px!important}
 #app #content .jobWorkspaceV3{scroll-margin-top:112px}
 #app #content .jobWorkspaceV3 .jobWsStatus{grid-template-columns:repeat(3,minmax(0,1fr))!important}
 #app #content .jobWorkspaceV3 .jobWsStatus>span{padding:12px!important}
 #app #content .xw-tools{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:1000px){
 #app>main>header.x-shell-header{grid-template-columns:52px minmax(0,1fr) auto auto!important;padding:12px 16px!important}
 #app>main>header.x-shell-header #xnMenuToggle{display:inline-flex!important;grid-area:1/1!important;align-items:center!important;justify-content:center!important;height:36px!important;min-height:36px!important;min-width:0!important;width:52px!important;padding:8px!important;color:#405573!important;-webkit-text-fill-color:currentColor!important;background:#fff!important;border:1px solid #dce4f0!important;border-radius:8px!important}
 #app>main>header.x-shell-header .search{grid-area:1/2!important;max-width:none!important}
 #app>main>header.x-shell-header .accountWrap{grid-area:2/1/3/-1!important}
 #app>main>header.x-shell-header #r314InboxBtn{grid-area:1/3!important}
 #app>main>header.x-shell-header #xnetAsk{grid-area:1/4!important}
}
@media(max-width:700px){
 #app>main>header.x-shell-header{gap:8px!important;padding:10px 12px!important}
 #app>main>header.x-shell-header #who{max-width:150px!important;flex:1 1 auto!important}
 #app #content .jobWorkspaceV3>.opHero{flex-direction:column!important;gap:12px!important}
 #app #content .jobWorkspaceV3 .opHero h1{font-size:25px!important}
 #app #content .jobWorkspaceV3 .jobWsStatus{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 #app #content .jobWorkspaceV3 .r234ActionBar{align-items:flex-start!important}
 #app #content .jobWorkspaceV3 .x-job-action-controls{justify-content:flex-start!important}
 #app #content .jobWorkspaceV3 #jobWsBody>.grid2{grid-template-columns:1fr!important}
 #app #content .jobWorkspaceV3 .jobWsTabs button{padding:8px!important;font-size:11px!important}
 #app #content .xw-tools{grid-template-columns:1fr}
}
@media(max-width:540px){
 #app>main>header.x-shell-header :is(#r314InboxBtn,#xnetAsk){width:36px!important;padding:8px!important}
 #app>main>header.x-shell-header :is(#r314InboxBtn,#xnetAsk) span{display:none!important}
 #app>main>header.x-shell-header .accountWrap{gap:5px!important}
 #app>main>header.x-shell-header #who{font-size:10px!important}
 #app>main>header.x-shell-header #lang{width:90px!important;flex-basis:90px!important;min-width:76px!important}
}

/* Readable route packets at small widths; full-size diagrams remain available. */
.xn .xnet-instructions{white-space:pre-line;padding:16px;margin:0;line-height:1.8;overflow-wrap:anywhere}
.xnet-sheet img{min-width:0;max-width:100%;width:100%}
dialog.xnet-diagram-dialog{width:min(1280px,96vw);max-width:96vw;padding:0;max-height:90dvh}
.xnet-diagram-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;border-bottom:1px solid #dce4ef}
.xnet-diagram-pan{overflow:auto;padding:12px;max-height:75dvh;background:white}
.xnet-diagram-pan img{display:block;min-width:1050px;width:100%;max-width:none;height:auto}
