/* User-approved INVICTA design system. All rules are confined to work surfaces. */
.invicta-workspace {
  --iv-primary:#182D42; --iv-primary-hover:#24445F; --iv-primary-active:#102338;
  --iv-brand:#7395B5; --iv-bg:#F4F8FB; --iv-surface:#FFFFFF; --iv-surface-soft:#EDF4F9;
  --iv-text:#182D42; --iv-text-muted:#5F7894; --iv-border:#DCE5EF;
  --iv-control-border:#7A8EA3; --iv-hover:#F0F5FA; --iv-selected:#DCEAF8;
  --iv-focus:#2B6FA6; --iv-link:#285F8F; --iv-on-primary:#FFFFFF;
  --iv-success:#246849; --iv-success-bg:#E7F3EC; --iv-warning:#805600; --iv-warning-bg:#FFF4D8;
  --iv-danger:#A12F43; --iv-danger-bg:#FBECEF; --iv-info:#285F8F; --iv-info-bg:#EAF2FA;
  --iv-sales:#2B6FA6; --iv-sales-bg:#DCEAF8; --iv-procurement:#176A72; --iv-procurement-bg:#D7F1EF;
  --iv-legal:#963C52; --iv-legal-bg:#F6E3E8;
  --iv-radius-control:10px; --iv-radius-card:16px; --iv-space-unit:4px;
  --blue:var(--iv-primary); --accent:var(--iv-primary); --muted:var(--iv-text-muted); --border:var(--iv-border);
  --brand-navy:var(--iv-primary); --brand-navy-hover:var(--iv-primary-hover);
  --text-primary:var(--iv-text); --text-muted:var(--iv-text-muted); --line-default:var(--iv-border);
  --surface-muted:var(--iv-surface-soft); --surface-muted-hover:var(--iv-hover);
  color:var(--iv-text); background:var(--iv-bg);
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:14px; line-height:20px;
  min-width:0;
}
#app .invicta-workspace .main {background:var(--iv-bg); padding:0 32px 24px; min-width:0;}
#app .invicta-workspace.os-section-main {padding:24px 32px; border-radius:16px;}
#app .invicta-workspace :is(.panel,.card,.dashboard-sort-card,.os-space-panel,.os-notification-panel,.os-legal-work) {
  background:var(--iv-surface); color:var(--iv-text); border:1px solid var(--iv-border);
  border-radius:var(--iv-radius-card); box-shadow:0 4px 16px rgba(24,45,66,.05); min-width:0;
}
#app .invicta-workspace :is(.panel,.card) {padding:20px;}
#app .invicta-workspace :is(.top h1,.os-section-heading h1,.os-legal-heading h1) {font-size:28px;line-height:36px;font-weight:650;color:var(--iv-text);}
#app .invicta-workspace :is(.section-title h2,.panel>h2) {font-size:20px;line-height:28px;color:var(--iv-text);}
#app .invicta-workspace :is(.muted,.eyebrow,.nav-caption,.profile-identity small,.workspace-label) {color:var(--iv-text-muted);}
#app .invicta-workspace :is(.nav-caption,.eyebrow,.group-heading) {text-transform:none;letter-spacing:normal;}
#app .invicta-workspace :is(.side,.os-legal-sidebar,.os-space-nav) {background:var(--iv-surface);color:var(--iv-text);border-color:var(--iv-border);box-shadow:none;}
#app .invicta-workspace :is(.side-user,.brand-link,.group-heading,.side nav .nav-item) {color:var(--iv-text);border-color:var(--iv-border);}
#app .invicta-workspace :is(.side nav .nav-item,.os-legal-sidebar nav button,.os-space-nav a) {min-height:40px;font-size:14px;line-height:20px;border-radius:10px;transform:none;}
#app .invicta-workspace :is(.side nav .nav-item,.os-legal-sidebar nav button,.os-space-nav a):hover {background:var(--iv-hover);color:var(--iv-text);transform:none;}
#app .invicta-workspace :is(.side nav .nav-item,.os-legal-sidebar nav button,.os-space-nav a).active {background:var(--iv-selected);color:var(--iv-text);font-weight:650;box-shadow:none;}
#app .invicta-workspace .workspace-ribbon {background:var(--iv-surface-soft);color:var(--iv-text);margin:0 -32px 20px;padding:0 32px;}
#app .invicta-workspace .workspace-ribbon :is(i,small) {color:var(--iv-text-muted);}
#app .invicta-workspace .welcome {background:var(--iv-surface);border:1px solid var(--iv-border);box-shadow:none;min-height:0;border-radius:16px;}
#app .invicta-workspace .welcome-copy {padding:24px;}
#app .invicta-workspace .welcome h2 {font-size:28px;line-height:36px;color:var(--iv-text);}
#app .invicta-workspace .welcome :is(p,.welcome-caption) {color:var(--iv-text-muted);text-shadow:none;}
#app .invicta-workspace :is(.top,.top-actions,.section-title,.toolbar,.actions,.buyer-toolbar-actions) {gap:12px;flex-wrap:wrap;}
#app .invicta-workspace .btn,
.invicta-workspace:is(dialog) .btn {
  min-height:40px; padding:8px 16px; border:1px solid var(--iv-primary);border-radius:10px;
  font-size:14px;line-height:20px;font-weight:600;background:var(--iv-primary);color:var(--iv-on-primary);
  box-shadow:none;transform:none;white-space:normal;
  transition:background-color 150ms ease-out,border-color 150ms ease-out,color 150ms ease-out;
}
#app .invicta-workspace .btn.btn:hover:not(:disabled),
.invicta-workspace:is(dialog) .btn:hover:not(:disabled) {background:var(--iv-primary-hover);border-color:var(--iv-primary-hover);color:var(--iv-on-primary);transform:none;}
#app .invicta-workspace .btn.btn:active:not(:disabled) {background:var(--iv-primary-active);}
#app .invicta-workspace .btn.btn:is(.secondary,.btn-action-edit),
.invicta-workspace:is(dialog) .btn.secondary {background:var(--iv-surface);border-color:var(--iv-control-border);color:var(--iv-text);}
#app .invicta-workspace .btn.btn:is(.secondary,.btn-action-edit):hover:not(:disabled) {background:var(--iv-hover);color:var(--iv-text);}
#app .invicta-workspace .btn.btn:is(.danger,.btn-action-delete,.save-delete,.buyer-delete) {background:var(--iv-danger-bg);border-color:var(--iv-danger);color:var(--iv-danger);}
#app .invicta-workspace .btn.btn:is(.danger,.btn-action-delete,.save-delete,.buyer-delete):hover:not(:disabled) {background:var(--iv-danger);color:white;}
#app .invicta-workspace .btn.btn:is(.btn-action-save,.save-primary) {background:var(--iv-primary);border-color:var(--iv-primary);color:white;}
#app .invicta-workspace .btn:disabled {opacity:.55;cursor:not-allowed;transform:none;}
.invicta-workspace :is(input:not([type=checkbox]):not([type=radio]),select,textarea) {
  min-height:40px;max-width:100%;border:1px solid var(--iv-control-border);border-radius:10px;
  background:var(--iv-surface);color:var(--iv-text);font-size:14px;line-height:20px;padding:8px 12px;
}
.invicta-workspace :is(input,select,textarea):disabled {background:var(--iv-surface-soft);color:var(--iv-text-muted);}
.invicta-workspace :is(input,textarea)[readonly] {background:var(--iv-hover);}
.invicta-workspace :is(input,select,textarea)[aria-invalid=true] {border-color:var(--iv-danger);}
.invicta-workspace :is(input[type=checkbox],input[type=radio]) {accent-color:var(--iv-primary);}
.invicta-workspace :is(button,a,summary,input,select,textarea,[tabindex]):focus-visible {outline:2px solid var(--iv-focus);outline-offset:2px;}
#app .invicta-workspace .table {font-size:14px;line-height:20px;background:var(--iv-surface);}
#app .invicta-workspace .table :is(th,td) {padding:12px 16px;font-size:14px;line-height:20px;border-color:var(--iv-border);white-space:normal;overflow-wrap:break-word;}
#app .invicta-workspace .table th {background:var(--iv-surface-soft);color:var(--iv-text);font-weight:600;text-transform:none;letter-spacing:normal;}
#app .invicta-workspace .table tbody tr:hover {background:var(--iv-hover);}
#app .invicta-workspace .table tr:is(.selected,[aria-selected=true]) {background:var(--iv-selected);}
#app .invicta-workspace .table .btn {min-height:32px;padding:5px 12px;}
#app .invicta-workspace :is(.table-wrap,.table-scroll,.table-container) {max-width:100%;overflow-x:auto;}
#app .invicta-workspace :is(.panel,.card):has(>table) {overflow-x:auto;}
#app .invicta-workspace .badge {padding:4px 8px;border-radius:999px;font-size:13px;line-height:18px;white-space:normal;}
#app .invicta-workspace .badge.blue {color:var(--iv-info);background:var(--iv-info-bg);}
#app .invicta-workspace .badge.green {color:var(--iv-success);background:var(--iv-success-bg);}
#app .invicta-workspace .badge.orange {color:var(--iv-warning);background:var(--iv-warning-bg);}
#app .invicta-workspace .error {color:var(--iv-danger);background:var(--iv-danger-bg);}
#app .invicta-workspace .metric-tile:hover {transform:none;}
.invicta-workspace:is(dialog) {background:var(--iv-surface);color:var(--iv-text);border:1px solid var(--iv-border);border-radius:20px;padding:24px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);overflow:auto;box-shadow:0 16px 48px rgba(24,45,66,.16);}
@media(max-width:1279px) {
  #app .invicta-workspace .main {padding-inline:16px;}
  #app .invicta-workspace .workspace-ribbon {margin-inline:-16px;padding-inline:16px;}
  #app .invicta-workspace.os-section-main {padding:16px;}
}
@media(max-width:767px) {
  #app .invicta-workspace.shell {grid-template-columns:minmax(0,1fr);}
  #app .invicta-workspace .side {position:relative;height:auto;max-width:100%;}
  #app .invicta-workspace :is(.top h1,.os-section-heading h1,.os-legal-heading h1) {font-size:24px;line-height:32px;}
  #app .invicta-workspace :is(.form,.form-grid,.os-legal-layout,.os-space-layout,.item) {grid-template-columns:minmax(0,1fr);}
  #app .invicta-workspace :is(.panel,.card) {padding:16px;}
  .invicta-workspace :is(input:not([type=checkbox]):not([type=radio]),select,textarea) {font-size:16px;line-height:24px;}
  #app .invicta-workspace .btn {min-height:44px;}
  #app .invicta-workspace .table .btn {min-height:44px;}
}
@media(pointer:coarse) {
  .invicta-workspace :is(button,.btn,nav a) {min-height:44px;min-width:44px;}
}
@media(prefers-reduced-motion:reduce) {
  .invicta-workspace *, .invicta-workspace *::before, .invicta-workspace *::after {animation:none;transition:none;scroll-behavior:auto;}
}

#app .invicta-workspace .iv-table-scroll {max-width:100%;min-width:0;overflow-x:auto;}
#app .invicta-workspace .iv-table-scroll>.table {min-width:720px;}
#app .invicta-workspace .table th {word-break:normal;overflow-wrap:normal;}
#app .invicta-workspace .table .badge {word-break:normal;overflow-wrap:normal;}
#app .invicta-workspace .os-legal-work {padding:20px;}
#app .invicta-workspace .today {border-color:var(--iv-border);box-shadow:none;}
#app .invicta-workspace .nav-dot {background:var(--iv-primary);}
#app .invicta-workspace.os-admin-main {background:var(--iv-bg);padding:24px 32px;}
#app .invicta-workspace .os-admin-title {font-size:28px;line-height:36px;}
#app .invicta-workspace .os-admin-nav {background:var(--iv-surface);border:1px solid var(--iv-border);border-radius:16px;}
#app .invicta-workspace .os-admin-nav a {min-height:40px;font-size:14px;color:var(--iv-text);}
#app .invicta-workspace .os-admin-nav a.active {background:var(--iv-selected);font-weight:600;}
@media(max-width:767px) {
 #app .invicta-workspace.os-admin-main {padding:16px;}
 #app .invicta-workspace .os-admin-title {font-size:24px;line-height:32px;}
 #app .invicta-workspace .os-legal-work {padding:16px;}
 #app .invicta-workspace .os-admin-layout {grid-template-columns:minmax(0,1fr);}
}
#app .invicta-workspace .unified-pagination {display:flex;flex-wrap:wrap;gap:12px;min-width:0;}
#app .invicta-workspace .unified-pagination>span {white-space:normal;}
#app .invicta-workspace .top .today {border-left:1px solid var(--iv-border);}
#app .invicta-workspace :is(.calendar-event,.agenda-task):hover {transform:none;}
#app .invicta-workspace .edit-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
@media(max-width:767px) {
 #app .invicta-workspace .edit-grid {grid-template-columns:minmax(0,1fr);}
}

/* One OS header per service; HUB keeps its original header and motto. */
.os-service-header {color:#182D42;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;}
.os-service-header a {text-decoration:none;color:inherit;}
.os-service-header .os-service-name {padding-left:26px;border-left:1px solid #CBD8E3;color:#5F7894;font-size:16px;line-height:24px;font-weight:600;}
#app .os-service-shell {min-height:calc(100dvh - 89px);}
#app .os-service-shell .side {top:0;}
#app .invicta-workspace.os-service-shell .main {padding-top:24px;}
#app .os-service-shell .os-workspace-title {min-height:0;padding:0;margin-bottom:24px;}
#app .os-service-shell .os-workspace-tools {display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:16px;}
#app .os-service-shell .os-workspace-tools .work-clock {margin:0;}
@media(max-width:1050px) {
 .os-service-header {flex-wrap:wrap;gap:12px;}
 .os-service-header .os-service-name {padding-left:16px;}
 .os-service-header .os-admin-action span {display:none;}
}
@media(max-width:600px) {
 .os-service-header .os-service-name {order:3;flex-basis:100%;padding:8px 0 0;border-left:0;border-top:1px solid #DCE5EF;font-size:14px;line-height:20px;}
 .os-service-header .os-profile-menu {max-width:calc(100vw - 32px);}
 #app .invicta-workspace.os-service-shell .main {padding-top:16px;}
}

/* Compact service clock, with a second row on phones. */
.os-service-header .os-header-clock {margin:0 0 0 auto;flex:none;}
.os-service-header .os-header-clock summary {padding:8px 12px;gap:10px;min-height:44px;border:1px solid #DCE5EF;border-radius:10px;background:#FFFFFF;box-shadow:none;}
.os-service-header .os-header-clock .clock-time {font-size:18px;line-height:24px;color:#182D42;}
.os-service-header .os-header-clock .clock-date {font-size:12px;color:#5F7894;white-space:nowrap;}
.os-service-header .os-account {margin-left:0;}
.os-service-header .clock-popover {z-index:100;}
#app .os-service-shell .os-workspace-tools .system-info-button {display:inline-flex;gap:8px;align-items:center;width:auto;padding:0 14px;font:inherit;font-size:13px;}
.system-version strong {overflow-wrap:anywhere;min-width:0;}
.system-version {grid-template-columns:minmax(90px,auto) minmax(0,1fr);}
@media(max-width:1050px) {
 .os-service-header .os-header-clock summary {flex-direction:column;gap:0;padding:4px 10px;}
}
@media(max-width:600px) {
 .os-service-header .os-brand {font-size:24px;}
 .os-service-header .os-account {margin-left:auto;}
 .os-service-header .os-service-name {flex:1 1 40%;border:0;padding:0;}
 .os-service-header .os-header-clock {order:4;margin-left:auto;}
 .os-service-header .os-header-clock summary {flex-direction:row;gap:8px;}
}
