/* KM TMS approved visual master. Loaded after legacy styles by index.html. */
:root {
  --km-blue: var(--semantic-blue);
  --km-ink: var(--semantic-text);
  --km-muted: var(--semantic-muted);
  --km-line: var(--semantic-edge);
  --km-canvas: var(--semantic-canvas);
}

.nav-icon svg,.topbar-control-icon svg,.topbar-control-chevron svg,
.userbar-chevron svg,.login-field__icon svg,.login-password-toggle svg,
.login-panel__footer svg,.dashboard-quickview__star svg {
  display:block;width:100%;height:100%;fill:none;stroke:currentColor;
  stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;
}

/* Desktop login: measured against the 1672 x 941 reference. */
body .login-wrap.hero {
  position:relative;height:100dvh;min-height:720px;overflow:hidden;color:var(--km-ink);
  background:radial-gradient(circle at 31% 38%,rgba(213,227,248,.24),transparent 31%),
    radial-gradient(circle at 67% 43%,rgba(231,239,251,.2),transparent 29%),#fcfdff;
}
body .login-brandbar {position:absolute;inset:37px 44px auto;z-index:20;}
body .login-brandbar>a {color:#111d34;font-size:29px;font-weight:760;letter-spacing:-.035em;}
body .login-brandbar>a span {color:var(--km-blue);}
.locale-picker {position:relative;}
.locale-picker__display {display:none;}
body .login-brandbar .locale-picker {
  display:grid;min-width:176px;min-height:50px;place-items:center;border:1px solid #dce4ef;
  border-radius:10px;background:rgba(255,255,255,.88);color:#233656;
}
body .login-brandbar .locale-picker__display {display:flex;align-items:center;gap:9px;font-size:16px;font-weight:630;pointer-events:none;}
body .login-brandbar .locale-picker>.locale-picker__display {position:static;width:auto;height:auto;overflow:visible;clip:auto;clip-path:none;white-space:nowrap;}
body .login-brandbar .locale-picker__display:before {
  width:19px;height:19px;content:'';border:1.8px solid currentColor;border-radius:50%;
  background:linear-gradient(90deg,transparent 46%,currentColor 47%,currentColor 53%,transparent 54%),
    linear-gradient(transparent 46%,currentColor 47%,currentColor 53%,transparent 54%);opacity:.9;
}
body .login-brandbar .locale-picker__display b {color:#9aa7ba;font-weight:500;}
body .login-brandbar .locale-picker__display:after {
  width:8px;height:8px;content:'';border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;
  margin:-4px 0 0 2px;transform:rotate(45deg);
}
body .login-brandbar .locale-picker select {position:absolute;inset:0;width:100%;min-width:0;height:100%;opacity:0;cursor:pointer;}
body .login-brandbar .locale-picker>.border-glow-card {position:absolute;inset:0;display:block;width:100%;height:100%;padding:0;opacity:0;}
body .login-brandbar .locale-picker>.border-glow-card>.border-glow-inner {display:block;width:100%;height:100%;}
body .login-content {position:relative;display:block;width:100%;min-height:calc(100dvh - 78px);margin:0;padding:0;}
body .login-panel {
  position:absolute;top:182px;left:53.47%;display:flex;width:490px;height:576px;min-height:576px;max-height:none;overflow:hidden;flex-direction:column;
  border:1px solid #dbe3ed;border-radius:10px;background:rgba(255,255,255,.98);padding:0;transform:none;
  box-shadow:0 8px 21px rgba(20,42,76,.085);
}
body .login-panel__body {min-height:0;flex:1 1 0;padding:43px 45px 22px;}
body .login-panel h1 {position:static;margin:0;color:#101828;font-size:34px;font-weight:750;letter-spacing:-.035em;text-align:left;}
body .login-panel p {position:static;width:auto;margin:7px 0 38px;color:#667085;font-size:16px;text-align:left;}
body .login-form {display:flex;width:100%;gap:0;flex-direction:column;}
body .login-form>label {margin:0;color:#101828;font-size:14px;font-weight:650;line-height:17px;}
body .login-form>label:nth-of-type(2) {margin-top:42px;}
body .login-field,body .login-field.password-row {
  display:grid;min-height:51px;grid-template-columns:52px minmax(0,1fr) 48px;align-items:center;
  margin-top:8px;
  overflow:hidden;border:1px solid #d8e0eb;border-radius:8px;background:#fff;color:#667085;
}
body .login-field:not(.password-row) {grid-template-columns:52px minmax(0,1fr);}
body .login-field input {height:auto;min-height:49px;border:0;border-radius:0;padding:8px 4px;box-shadow:none;font-size:15px;}
.login-field__icon {display:grid;width:19px;height:19px;place-self:center;color:#526985;}
body .login-field>.border-glow-card,body .login-field>.border-glow-card>.border-glow-inner {display:contents;}
body .login-field>.border-glow-card>.edge-light {display:none;}
body .login-password-toggle {display:grid;width:48px;min-width:48px;min-height:49px;place-items:center;border:0;background:transparent;padding:0;box-shadow:none;}
body .login-password-toggle svg {width:21px;height:21px;}
body .login-options {display:flex;min-height:44px;align-items:center;justify-content:space-between;flex-direction:row;margin:14px 0 0;color:#526581;font-size:14px;}
body .login-options label {min-height:44px;}
body .login-options input {width:20px;min-height:20px;}
body .login-submit {display:flex;width:100%;height:44px;min-height:44px;align-items:center;justify-content:center;gap:18px;margin-top:23px;border:1px solid rgba(0,122,255,.38);border-radius:12px;background:rgba(255,255,255,.94);box-shadow:inset 0 1px #fff,0 9px 22px -17px rgba(0,87,184,.55);color:#075fb9;font-size:16px;font-weight:650;}
body .login-panel__footer {display:flex;min-height:73px;flex:0 0 73px;align-items:center;justify-content:center;gap:12px;border-top:1px solid #e5eaf1;padding:18px 42px;color:#667085;font-size:13px;}
body .login-panel__footer>span {width:24px;height:24px;color:#0866ee;}
body .login-footer {position:absolute;inset:auto 0 0;z-index:20;display:flex;min-height:79px;align-items:center;justify-content:space-between;border-top:1px solid #e5eaf1;padding:20px 44px;color:#526581;font-size:13px;}

/* Shared desktop shell and dashboard: measured against the 1581 x 995 reference. */
@media (min-width:1181px) {
  body .app-shell.operations-shell,body .app-shell.operations-shell.is-sidebar-collapsed {display:grid;grid-template-columns:168px minmax(0,1fr);padding:0;background:#fbfcfe;}
  body .shell-sidebar.shell-navigation {position:sticky;inset:0 auto auto 0;display:flex;width:auto;height:100dvh;min-height:100dvh;padding:24px 14px 14px;border-right:1px solid #e3e9f1;background:#fff;transform:none;}
  body .shell-sidebar .brand {margin:0 8px 29px;color:#111d34;font-size:20px;font-weight:760;letter-spacing:-.04em;}
  body .shell-sidebar .nav {display:flex;align-items:stretch;flex-direction:column;gap:4px;}
  body .shell-sidebar .nav>a,body .shell-sidebar .sidebar-notifications .notification-bell {display:grid;min-height:48px;grid-template-columns:28px minmax(0,1fr);align-items:center;justify-items:start;gap:8px;border:0;border-radius:7px;padding:0 10px;color:#354761;background:transparent;box-shadow:none;font-size:12px;font-weight:530;}
  body .shell-sidebar .nav>a.active {background:#eaf2ff;color:#0866ee;}
  body .shell-sidebar .nav>a:hover,body .shell-sidebar .notification-bell:hover {background:#f2f6fb;color:#075fd8;transform:none;}
  body .shell-sidebar .nav-icon {display:grid;width:20px;height:20px;place-items:center;}
  body .shell-sidebar .nav-icon svg {width:19px;height:19px;}
  body .shell-sidebar .sidebar-notifications {margin:0;}
  body .shell-sidebar .sidebar-notifications .notification-bell:after {font-size:12px;}
  body .shell-sidebar .sidebar-notifications .notification-bell>svg {width:20px;height:20px;}
  body .shell-sidebar .sidebar-userbar {display:none;}
  body .shell-sidebar .sidebar-collapse {display:flex;min-height:36px;align-items:center;justify-content:flex-start;gap:8px;margin-top:auto;border:1px solid #dfe6ef;border-radius:7px;background:#fff;color:#66758c;padding:7px 12px;box-shadow:none;font-size:11px;}
  body .operations-shell .app-main {position:relative;min-width:0;}
  body .app-main>.topbar {position:relative;z-index:70;display:flex;width:auto;min-height:64px;align-items:center;justify-content:flex-end;flex-direction:row;flex-wrap:nowrap;gap:12px;border:0;background:#fbfcfe;padding:13px 18px;}
  body .app-main>.topbar:has(.topbar-task-shelf.has-open-tasks) {min-height:156px;align-items:flex-start;padding-top:12px;}
  body .topbar-spacer {display:block;flex:1 1 auto;}
  body .topbar-task-shelf.has-open-tasks {position:absolute;top:12px;left:50%;display:flex;width:550px;max-width:calc(100% - 560px);flex:none;transform:translateX(-50%);}
  body .topbar-date {display:grid;width:143px;min-height:42px;grid-template-columns:20px 1fr 16px;align-items:center;gap:7px;border:1px solid #dce4ee;border-radius:8px;background:#fff;color:#3d506b;padding:0 10px;font-size:10px;}
  body .topbar-control-icon {display:block;width:17px;height:17px;}
  body .topbar-control-chevron,body .userbar-chevron {display:block;width:15px;height:15px;}
  body .topbar-search {display:grid;width:257px;min-height:42px;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:7px;border:1px solid #dce4ee;border-radius:8px;background:#fff;padding:0 10px;}
  body .topbar-search input {min-height:38px;border:0;background:transparent;padding:0;box-shadow:none;font-size:10px;}
  body .topbar-search kbd {color:#7888a0;font-family:inherit;font-size:8px;}
  body .operations-shell .topbar .userbar {display:grid;width:auto;min-width:160px;grid-template-columns:38px minmax(72px,1fr) 15px;align-items:center;gap:9px;margin:0;border:0;padding:0;}
  body .topbar .user-avatar {width:38px;height:38px;background:#e9eef5;color:#13223a;font-size:13px;}
  body .topbar .user-identity strong {font-size:11px;}
  body .topbar .user-identity small {color:#687891;font-size:9px;text-transform:capitalize;}
  body .topbar .userbar .locale-picker {display:none;}
  body .app-main>.page {margin:0;padding:17px 14px 52px 20px;}
  body .operations-dashboard-heading {position:absolute;top:24px;left:20px;z-index:71;margin:0;pointer-events:none;}
  body .app-main>.topbar:has(.topbar-task-shelf.has-open-tasks)+.page .operations-dashboard-heading {top:116px;}
  body .operations-dashboard-heading h1 {margin:0;font-size:18px;line-height:1.2;letter-spacing:-.02em;}
  body .operations-dashboard-heading p {margin:4px 0 0;color:#667085;font-size:10px;}
  body .operations-dashboard-layout {display:grid;grid-template-columns:minmax(0,1fr) 236px;align-items:start;gap:14px;}
  body .dashboard-metrics {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:16px;}
  body .dashboard-metric-card {min-height:129px;border:1px solid #e1e7ef;border-radius:9px;padding:14px 14px 31px;background:#fff;box-shadow:0 3px 12px rgba(15,23,42,.045);}
  body .dashboard-metric-card__top strong {font-size:24px;}
  body .dashboard-action-grid {display:grid;grid-template-columns:minmax(0,1fr);gap:14px;margin-bottom:15px;}
  body .dashboard-action-grid>div,body .dashboard-action-grid .today-work-queue,body .dashboard-notification-summary {min-height:282px;}
  body .dashboard-action-grid>div>*,body .dashboard-notification-summary {width:100%;}
  body .dashboard-action-grid .today-work-queue__header,body .dashboard-notification-summary>header {min-height:43px;padding-top:10px;padding-bottom:10px;}
  body .dashboard-action-grid .today-work-queue__header h2,body .dashboard-notification-summary h2 {font-size:14px;}
  body .container-operations-panel {min-height:417px;border-radius:9px;}
  body .container-operations-panel__header {min-height:55px;}
  body .dashboard-operations-table-wrap th,body .dashboard-operations-table-wrap td {height:36px;font-size:9px;}
  body .dashboard-quickview {position:sticky;top:81px;display:block;min-width:0;min-height:calc(100dvh - 133px);border:1px solid #e1e7ef;border-radius:9px;background:#fff;padding:17px 16px;}
  body .dashboard-quickview h2 {font-size:19px;}
  body .dashboard-quickview__header-actions {display:grid;grid-template-columns:25px;gap:6px;}
  body .dashboard-quickview__header-actions button {display:grid;width:25px;min-width:25px;height:25px;min-height:25px;place-items:center;border:0;background:transparent;color:#536783;padding:3px;box-shadow:none;font-size:22px;}
  body .dashboard-quickview__star {color:#0866ee!important;}
  body .dashboard-quickview__star svg {width:17px;height:17px;}
  body .dashboard-quickview__star.is-favorite svg {fill:currentColor;}
  body .dashboard-secondary-data {display:none;}
}

/* Persistent task dock and action panel. */
body .task-workspace-dock {width:100%;max-width:550px;border-color:#d5deea;border-radius:9px;padding:8px 10px 10px;box-shadow:0 9px 25px rgba(15,31,57,.15);}
body .task-workspace-dock__label {margin:0 0 6px 2px;font-size:10px;}
body .task-workspace-dock__items {grid-auto-columns:minmax(166px,1fr);gap:9px;}
body .task-workspace-tab {min-height:53px;grid-template-columns:7px minmax(0,1fr) 18px;border-radius:7px;padding:7px 9px;}
body .task-workspace-tab strong {font-size:10px;}
body .task-workspace-tab small {font-size:9px;}
body .task-workspace-panel {top:50%;width:min(562px,calc(100vw - 32px));max-height:min(566px,calc(100dvh - 126px));border-radius:11px;box-shadow:0 26px 68px rgba(15,23,42,.26);}
body .task-workspace-panel__chrome {position:absolute;top:10px;right:11px;z-index:3;min-height:44px;border:0;padding:0;}
body .task-workspace-panel__context {display:none;}
body .task-workspace-panel__chrome button {width:40px;min-width:40px;min-height:40px;border-radius:7px;font-size:19px;}
body .task-workspace-panel__content {max-height:min(566px,calc(100dvh - 126px));padding:17px 13px 13px;}
body .task-workspace-panel__content .workflow-page-header {min-height:66px;padding:0 98px 10px 8px;border:0;}
body .task-workspace-panel__content .workflow-page-header .eyebrow {margin:0 0 3px;color:#536783;font-size:10px;font-weight:750;letter-spacing:.06em;text-transform:uppercase;}
body .task-workspace-panel__content .workflow-page-header h1 {font-size:20px;letter-spacing:-.02em;}
body .task-workspace-panel__content .workflow-page-header>button {display:none;}
body .task-workspace-panel__content .panel {border-color:#e0e7f0;border-radius:9px;padding:13px;}
body .task-workspace-panel__content input,body .task-workspace-panel__content select,body .task-workspace-panel__content textarea {min-height:40px;border-radius:7px;font-size:11px;}
body .task-workspace-panel__content .actions {justify-content:flex-end;}
body .task-workspace-panel__content .actions button {min-height:38px;font-size:10px;}

/* Mobile login and no-horizontal-overflow contract. */
@media (max-width:900px) {
  html,body,#app,body .login-wrap.hero,body .app-shell.operations-shell {max-width:100%;overflow-x:hidden;}
  body .login-wrap.hero {height:auto;min-height:910px;overflow-y:auto;}
  body .login-brandbar {inset:29px 21px auto;}
  body .login-brandbar>a {font-size:20px;}
  body .login-brandbar .locale-picker {min-width:90px;min-height:30px;border:0;background:transparent;}
  body .login-brandbar .locale-picker__display {gap:7px;font-size:13px;}
  body .login-brandbar .locale-picker__display:before {display:none;}
  body .login-brandbar .locale-picker__display:after {display:none;}
  body .login-brandbar .locale-picker>.locale-picker__display {justify-self:end;}
  body .login-brandbar .locale-picker>.border-glow-card {position:absolute;inset:0;display:block;width:100%;height:100%;padding:0;opacity:0;}
  body .login-brandbar .locale-picker>.border-glow-card>.border-glow-inner {display:block;width:100%;height:100%;}
  body .login-content {display:block;width:100%;min-height:0;padding:0 0 72px;}
  body .login-panel {position:relative;top:auto;left:auto;display:flex;width:calc(100% - 88px);max-width:344px;height:343px;min-height:343px;margin:82px auto 0;overflow-x:clip;overflow-y:visible;flex-direction:column;border-radius:8px;transform:none;}
  body .login-panel__body {padding:24px 16px 16px;}
  body .login-panel h1 {position:absolute;top:-72px;left:0;width:100%;font-size:25px;text-align:center;}
  body .login-panel p {position:absolute;top:-39px;left:0;width:100%;margin:0;font-size:13px;text-align:center;}
  body .login-form {gap:7px;}
  body .login-form>label {margin-top:2px;font-size:12px;}
  body .login-form>label:nth-of-type(2) {margin-top:2px;}
  body .login-field,body .login-field.password-row {min-height:44px;grid-template-columns:40px minmax(0,1fr) 40px;margin-top:0;}
  body .login-field:not(.password-row) {grid-template-columns:40px minmax(0,1fr);}
  body .login-field input {min-height:44px;font-size:13px;}
  body .login-field__icon {width:17px;height:17px;}
  body .login-password-toggle {width:40px;min-width:40px;min-height:44px;}
  body .login-options {align-items:center;flex-direction:row;margin:3px 0 9px;font-size:11px;}
  body .login-options input {width:16px;min-height:16px;}
  body .login-forgot {min-height:44px;padding:3px;font-size:11px;}
  body .login-submit {height:44px;min-height:44px;margin-top:-8px;font-size:13px;}
  body .login-panel__footer {min-height:64px;flex-basis:64px;gap:8px;padding:11px 14px;font-size:10px;}
  body .login-panel__footer {position:absolute;right:0;bottom:0;left:0;}
  body .login-panel__footer>span {width:19px;height:19px;}
  body .login-footer {position:absolute;inset:auto 0 14px;min-height:54px;justify-content:center;border:0;padding:18px 20px;font-size:11px;}
  body .login-footer span:last-child {display:none;}
  body .topbar-task-shelf.has-open-tasks {position:static;width:100%;max-width:100%;transform:none;}
  body .task-workspace-dock {max-width:100%;}
  body .task-workspace-panel {bottom:8px;width:calc(100vw - 16px);max-height:calc(100dvh - 150px);}
  body .dashboard-operations-table-wrap {width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;}
  body .dashboard-quickview {display:none;}
}
