/* OS inner pages: homepage design tokens plus the remaining business-content components. */
.os-standard-page{
--swy-primary-50:rgba(var(--oh-accent-rgb),.055);--swy-primary-100:rgba(var(--oh-accent-rgb),.10);--swy-primary-200:rgba(var(--oh-accent-rgb),.22);--swy-primary-500:var(--oh-accent);--swy-primary-600:var(--oh-accent);--swy-primary-700:var(--oh-accent);
--swy-canvas:var(--oh-bg);--swy-surface:#fff;--swy-text:var(--oh-text);--swy-text-secondary:#555b57;--swy-text-muted:var(--oh-muted);--swy-border:var(--oh-line);--swy-border-strong:#cfd3d0;
--swy-success:var(--oh-success);--swy-success-600:var(--oh-success);--swy-success-soft:#edf8f1;--swy-warning:var(--oh-warning);--swy-warning-600:var(--oh-warning);--swy-warning-soft:#fff7e8;--swy-danger:var(--oh-danger);--swy-danger-600:var(--oh-danger);--swy-danger-soft:#fff0ef;--swy-info:var(--oh-accent);--swy-info-soft:rgba(var(--oh-accent-rgb),.055);
--swy-radius-sm:7px;--swy-radius-md:10px;--swy-radius-lg:12px;--swy-shadow-xs:var(--oh-shadow);--swy-shadow-sm:0 8px 25px rgba(27,32,29,.07);--swy-shadow-lg:0 20px 55px rgba(24,29,25,.14);--swy-control-height:36px;--swy-font:var(--oh-font);--swy-transition:160ms ease;--swy-z-popover:70;--swy-z-modal:100;--swy-z-toast:120}
.os-page-main{padding-top:28px;padding-bottom:42px}.os-page-heading{align-items:flex-end}.os-page-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.os-page-heading h1{display:block}
/* Consolidated from os\ui\css\swy-components.css; the old file is no longer loaded by OS inner pages. */
.swy-icon-button { display: inline-grid; width: 34px; height: 34px; place-items: center; padding: 0; color: var(--swy-text-secondary); border: 1px solid transparent; border-radius: 7px; background: transparent; }
.swy-icon-button:hover { color: var(--swy-primary-700); background: var(--swy-primary-50); }
.swy-popover, .swy-system-switcher { position: relative; }
.swy-popover > summary, .swy-system-switcher > summary { list-style: none; }
.swy-popover > summary::-webkit-details-marker, .swy-system-switcher > summary::-webkit-details-marker { display: none; }
.swy-header-control, .swy-system-trigger, .swy-user-trigger { display: flex; min-height: 34px; align-items: center; gap: 7px; padding: 0 9px; color: var(--swy-text); border-radius: 7px; white-space: nowrap; }
.swy-header-control:hover, .swy-system-trigger:hover, .swy-user-trigger:hover { background: #f1f5f9; }
.swy-system-trigger b { display: inline-grid; height: 24px; place-items: center; padding: 0 5px; color: white; border-radius: 5px; background: var(--swy-primary-600); font-size: 11px; }
.swy-popover-menu { position: absolute; top: calc(100% + 8px); right: 0; z-index: var(--swy-z-popover); display: grid; min-width: 170px; padding: 7px; background: white; border: 1px solid var(--swy-border); border-radius: var(--swy-radius-md); box-shadow: var(--swy-shadow-lg); }
.swy-popover-menu a, .swy-popover-menu button { min-height: 34px; padding: 7px 9px; color: var(--swy-text-secondary); text-align: left; border-radius: 6px; background: transparent; }
.swy-popover-menu a:hover, .swy-popover-menu button:hover, .swy-popover-menu .active { color: var(--swy-primary-700); background: var(--swy-primary-50); }
.swy-language .swy-popover-menu form { margin: 0; }
.swy-language .swy-popover-menu button { width: 100%; border: 0; }
.swy-company-mark { display: grid; width: 22px; height: 22px; place-items: center; color: var(--swy-primary-700); border-radius: 5px; background: var(--swy-primary-100); font-size: 11px; font-weight: 800; }
.swy-company-menu { left: 0; right: auto; }
.swy-menu-label { padding: 5px 9px; color: var(--swy-text-muted); font-size: 11px; }
.swy-business-center { position: fixed; top: calc(var(--swy-header-height) + 8px); left: calc(var(--swy-sidebar-width) + 14px); z-index: var(--swy-z-popover); width: min(720px,calc(100vw - var(--swy-sidebar-width) - 28px)); max-height: calc(100vh - var(--swy-header-height) - 24px); overflow: auto; padding: 16px; background: white; border: 1px solid var(--swy-border); border-radius: 10px; box-shadow: var(--swy-shadow-lg); }
.swy-business-center > header { display: flex; align-items: start; justify-content: space-between; margin-bottom: 12px; padding-bottom: 12px; border-bottom: 1px solid var(--swy-border); }
.swy-business-center > header strong, .swy-business-center > header small { display: block; }
.swy-business-center h3 { margin: 12px 0 7px; color: var(--swy-text-muted); font-size: 11px; text-transform: uppercase; letter-spacing: .06em; }
.swy-system-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 6px; }
.swy-system-item { display: flex; min-width: 0; align-items: center; border: 1px solid transparent; border-radius: 8px; }
.swy-system-item:hover { border-color: var(--swy-primary-200); background: var(--swy-primary-50); }
.swy-system-item > a { display: flex; min-width: 0; flex: 1; align-items: center; gap: 9px; padding: 9px; color: var(--swy-text); }
.swy-system-item > a span:nth-child(2) { min-width: 0; }
.swy-system-item b, .swy-system-item small { display: block; }
.swy-system-item small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.swy-system-icon { display: grid; width: 34px; height: 34px; flex: 0 0 34px; place-items: center; color: var(--swy-primary-700); border-radius: 8px; background: white; border: 1px solid var(--swy-primary-100); }
.swy-system-item > button { padding: 8px; color: #94a3b8; background: transparent; }
.swy-system-item > button.is-favorite { color: #f59e0b; }
.swy-global-search { position: relative; display: flex; align-items: center; }
.swy-global-search > span { position: absolute; left: 11px; color: var(--swy-text-muted); }
.swy-global-search input { width: 100%; height: 34px; padding: 6px 54px 6px 31px; border: 1px solid var(--swy-border); border-radius: 7px; background: #f8fafc; outline: 0; }
.swy-global-search input:focus { border-color: var(--swy-primary-500); background: white; box-shadow: 0 0 0 3px rgb(37 99 235 / .1); }
.swy-global-search kbd { position: absolute; right: 8px; padding: 1px 5px; color: var(--swy-text-muted); border: 1px solid var(--swy-border); border-radius: 4px; background: white; font-size: 10px; }
[data-swy-notifications] { position: relative; }
[data-swy-notifications] i { position: absolute; top: 6px; right: 6px; width: 6px; height: 6px; border: 1px solid white; border-radius: 50%; background: var(--swy-danger); }
.swy-user-trigger .avatar { width: 28px; height: 28px; }
.swy-user-trigger > span:nth-child(2) { display: grid; line-height: 1.15; }
.swy-user-trigger small { font-size: 10px; }
.swy-card, .card { margin-bottom: 12px; padding: 14px 16px; background: var(--swy-surface); border: 1px solid var(--swy-border); border-radius: var(--swy-radius-md); box-shadow: var(--swy-shadow-xs); }
.swy-card-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: -2px 0 12px; }
.swy-card-header h2 { margin: 0; }
.swy-card-actions { display: flex; gap: 7px; }
.swy-kpi { min-height: 104px; padding: 14px; background: white; border: 1px solid var(--swy-border); border-radius: var(--swy-radius-md); }
.swy-kpi small, .swy-kpi strong { display: block; }
.swy-kpi strong { margin: 5px 0; font-size: 24px; line-height: 1.2; font-variant-numeric: tabular-nums; }
.swy-kpi .delta { color: var(--swy-success); font-size: 12px; }
.swy-button, .button, .os-page-main button:not(.swy-icon-button):not([data-swy-favorite]):not([role="menuitem"]):not(.swy-sidebar-scrim) { display: inline-flex; min-height: var(--swy-control-height); align-items: center; justify-content: center; gap: 6px; padding: 0 13px; color: white; border: 1px solid var(--swy-primary-600); border-radius: var(--swy-radius-sm); background: var(--swy-primary-600); font-weight: 600; box-shadow: var(--swy-shadow-xs); }
.swy-button:hover, .button:hover { color: white; background: var(--swy-primary-700); }
button.swy-sidebar-scrim { display: none; min-height: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.swy-button-secondary, .button.secondary { color: var(--swy-text-secondary); border-color: var(--swy-border-strong); background: white; }
.swy-button-danger, .button.danger { color: var(--swy-danger); border-color: #fecaca; background: var(--swy-danger-soft); }
.swy-button-link { color: var(--swy-primary-600); border-color: transparent; background: transparent; box-shadow: none; }
.swy-button[disabled], button:disabled, [aria-disabled="true"] { opacity: .5; pointer-events: none; }
.swy-badge, .badge { display: inline-flex; min-height: 22px; align-items: center; padding: 0 8px; color: var(--swy-info); border: 1px solid var(--swy-primary-200); border-radius: 999px; background: var(--swy-info-soft); font-size: 11px; font-weight: 650; white-space: nowrap; }
.swy-badge-success, .badge.green { color: var(--swy-success); border-color: #bbf7d0; background: var(--swy-success-soft); }
.swy-badge-warning, .badge.orange { color: var(--swy-warning); border-color: #fed7aa; background: var(--swy-warning-soft); }
.swy-badge-danger, .badge.red { color: var(--swy-danger); border-color: #fecaca; background: var(--swy-danger-soft); }
.swy-tabs, .tabs { display: flex; gap: 2px; overflow-x: auto; margin: 0 0 12px; border-bottom: 1px solid var(--swy-border); }
.swy-tabs a, .tabs a { position: relative; padding: 9px 12px; color: var(--swy-text-secondary); white-space: nowrap; }
.swy-tabs a.active, .tabs a.active { color: var(--swy-primary-700); font-weight: 650; }
.swy-tabs a.active::after, .tabs a.active::after { position: absolute; right: 9px; bottom: -1px; left: 9px; height: 2px; content: ""; background: var(--swy-primary-600); }
.swy-empty { display: grid; min-height: 190px; place-items: center; padding: 28px; text-align: center; }
.swy-empty p { color: var(--swy-text-muted); }
.swy-empty-icon { display: grid; width: 48px; height: 48px; margin: 0 auto 10px; place-items: center; color: var(--swy-primary-600); border-radius: 12px; background: var(--swy-primary-50); font-size: 22px; }
.swy-state { display: grid; min-height: 190px; place-items: center; padding: 28px; text-align: center; }
.swy-state p { max-width: 540px; color: var(--swy-text-muted); }
.swy-state-icon { display: grid; width: 48px; height: 48px; margin: 0 auto 10px; place-items: center; color: var(--swy-primary-600); border-radius: 12px; background: var(--swy-primary-50); font-size: 22px; font-weight: 800; }
.swy-state-loading .swy-state-icon { animation: swy-spin .9s linear infinite; }
.swy-state-error .swy-state-icon { color: var(--swy-danger); background: var(--swy-danger-soft); }
@keyframes swy-spin { to { transform: rotate(360deg); } }
.swy-toast-region { position: fixed; right: 16px; bottom: 16px; z-index: var(--swy-z-toast); display: grid; width: min(360px,calc(100vw - 32px)); gap: 8px; }
.swy-toast { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 13px; color: white; border-radius: 8px; background: var(--swy-text); box-shadow: var(--swy-shadow-lg); }
.swy-toast button { min-height: 24px !important; padding: 0 4px !important; border: 0 !important; background: transparent !important; box-shadow: none !important; }
.swy-toast-success { border-left: 4px solid #4ade80; }
.swy-toast-warning { border-left: 4px solid #fb923c; }
.swy-toast-danger { border-left: 4px solid #f87171; }
.swy-modal { position: fixed; inset: 0; z-index: var(--swy-z-modal); display: grid; place-items: center; padding: 18px; background: rgb(15 23 42 / .58); }
.swy-modal-panel { width: min(560px,100%); max-height: calc(100dvh - 36px); overflow: hidden; background: white; border-radius: 10px; box-shadow: var(--swy-shadow-lg); }
.swy-modal-panel > header, .swy-modal-panel > footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 16px; }
.swy-modal-panel > header { border-bottom: 1px solid var(--swy-border); }
.swy-modal-panel > footer { justify-content: flex-end; border-top: 1px solid var(--swy-border); }
.swy-modal-panel h2 { margin: 0; }
.swy-modal-body { max-height: 65vh; overflow: auto; padding: 16px; }
.notice { margin-bottom: 12px; padding: 10px 12px; color: var(--swy-primary-700); border: 1px solid var(--swy-primary-200); border-radius: 6px; background: var(--swy-info-soft); }
.avatar { display: inline-grid; width: 28px; height: 28px; place-items: center; object-fit: cover; border-radius: 50%; }
.avatar.initials { color: var(--swy-primary-700); background: var(--swy-primary-100); font-size: 11px; font-weight: 700; }
progress { width: 100%; height: 7px; overflow: hidden; border: 0; border-radius: 99px; background: #e5e7eb; }
progress::-webkit-progress-bar { background: #e5e7eb; }
progress::-webkit-progress-value { border-radius: 99px; background: var(--swy-primary-600); }
progress::-moz-progress-bar { border-radius: 99px; background: var(--swy-primary-600); }

/* Consolidated from os\ui\css\swy-table.css; the old file is no longer loaded by OS inner pages. */
.swy-table-card { padding: 0; overflow: hidden; }
.swy-table-card > .swy-card-header { margin: 0; padding: 12px 14px; border-bottom: 1px solid var(--swy-border); }
.swy-table-scroll, .table-wrap { width: 100%; overflow: auto; }
.swy-table-scroll:focus-visible { outline-offset: -3px; }
.table-wrap.card { padding: 0; }
table { width: 100%; border-spacing: 0; border-collapse: separate; font-size: 13px; }
th, td { padding: 10px 11px; text-align: left; vertical-align: middle; border-bottom: 1px solid var(--swy-border); }
th { position: sticky; top: 0; z-index: 1; color: var(--swy-text-secondary); background: #f8fafc; font-size: 12px; font-weight: 700; white-space: nowrap; }
tbody tr:hover { background: #f8fbff; }
tbody tr:last-child td { border-bottom: 0; }
td small { display: block; margin-top: 2px; }
.swy-table-sort { display: inline-flex; align-items: center; gap: 5px; color: inherit; background: transparent; }
.swy-table-sort::after { content: "↕"; color: #94a3b8; font-size: 10px; }
.swy-table-sort[aria-sort="ascending"]::after { content: "↑"; color: var(--swy-primary-600); }
.swy-table-sort[aria-sort="descending"]::after { content: "↓"; color: var(--swy-primary-600); }
.swy-pagination { display: flex; align-items: center; justify-content: flex-end; gap: 4px; padding-top: 12px; }
.swy-pagination a, .swy-pagination span { display: grid; min-width: 31px; height: 31px; place-items: center; padding: 0 7px; color: var(--swy-text-secondary); border: 1px solid var(--swy-border); border-radius: 6px; background: white; }
.swy-pagination .active { color: white; border-color: var(--swy-primary-600); background: var(--swy-primary-600); }
.swy-pagination [aria-disabled="true"] { background: #f8fafc; }
@media (max-width: 560px) {
  table.swy-table-cards, .swy-table-cards tbody, .swy-table-cards tr, .swy-table-cards td { display: block; width: 100%; }
  .swy-table-cards thead { display: none; }
  .swy-table-cards tr { margin: 9px; padding: 10px; border: 1px solid var(--swy-border); border-radius: 8px; background: white; }
  .swy-table-cards td { display: grid; grid-template-columns: minmax(88px,36%) minmax(0,1fr); gap: 8px; padding: 6px 0; border: 0; }
  .swy-table-cards td::before { content: attr(data-label); color: var(--swy-text-muted); font-size: 12px; }
}

/* Consolidated from os\ui\css\swy-form.css; the old file is no longer loaded by OS inner pages. */
label { display: grid; gap: 5px; color: var(--swy-text-secondary); font-size: 13px; font-weight: 550; }
label > span > b { color: var(--swy-danger); }
input, select, textarea { width: 100%; min-height: var(--swy-control-height); padding: 7px 10px; color: var(--swy-text); border: 1px solid var(--swy-border-strong); border-radius: var(--swy-radius-sm); background: white; outline: none; transition: border var(--swy-transition), box-shadow var(--swy-transition); }
textarea { min-height: 96px; resize: vertical; }
input:hover, select:hover, textarea:hover { border-color: #94a3b8; }
input:focus, select:focus, textarea:focus { border-color: var(--swy-primary-500); box-shadow: 0 0 0 3px rgb(37 99 235 / .11); }
input[aria-invalid="true"], select[aria-invalid="true"], textarea[aria-invalid="true"] { border-color: var(--swy-danger); }
input[type="checkbox"], input[type="radio"] { width: 16px; min-height: 16px; padding: 0; accent-color: var(--swy-primary-600); }
.swy-form-grid, .form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px 18px; }
.swy-form-full, .form-grid .full { grid-column: 1 / -1; }
.swy-form-actions, .form-actions { display: flex; grid-column: 1 / -1; align-items: center; gap: 8px; padding-top: 4px; }
.swy-field-help, label small { font-weight: 400; }
.swy-switch { display: inline-flex; width: max-content; align-items: center; }
.swy-switch input { position: absolute; opacity: 0; pointer-events: none; }
.swy-switch span { position: relative; display: block; width: 38px; height: 22px; border-radius: 999px; background: #cbd5e1; transition: background var(--swy-transition); }
.swy-switch span::after { position: absolute; top: 3px; left: 3px; width: 16px; height: 16px; content: ""; border-radius: 50%; background: white; box-shadow: var(--swy-shadow-xs); transition: transform var(--swy-transition); }
.swy-switch input:checked + span { background: var(--swy-primary-600); }
.swy-switch input:checked + span::after { transform: translateX(16px); }
.swy-switch input:focus-visible + span { outline: 3px solid rgb(37 99 235 / .28); outline-offset: 2px; }
.filters { display: flex; flex-wrap: wrap; align-items: end; gap: 9px; margin-bottom: 12px; padding: 11px; background: white; border: 1px solid var(--swy-border); border-radius: var(--swy-radius-md); }
.filters label { min-width: 140px; }
.checks { display: flex; flex-wrap: wrap; gap: 9px; }
.check { display: inline-flex; align-items: center; gap: 6px; }

/* Consolidated from os\assets\pages\operations.css; the old file is no longer loaded by OS inner pages. */
.hero { position: relative; display: flex; min-height: 128px; align-items: center; justify-content: space-between; gap: 20px; overflow: hidden; margin-bottom: 16px; padding: 24px; color: white; border-radius: var(--swy-radius-lg); background: linear-gradient(120deg,#173b79 0%,#2563eb 58%,#60a5fa 100%); box-shadow: var(--swy-shadow-sm); }
.hero::after { position: absolute; right: -50px; bottom: -90px; width: 320px; height: 220px; content: ""; border: 35px solid rgb(255 255 255 / .10); border-radius: 50%; }
.hero > * { position: relative; z-index: 1; }
.hero h1 { margin: 0 0 6px; color: white; font-size: 28px; }
.hero p, .hero > span { margin: 0; color: #dbeafe; }
.hero-slogan { font-size: 18px; font-weight: 700; text-align: right; }
.hero-slogan small { display: block; margin-top: 5px; color: #dbeafe; }
.dashboard { display: grid; grid-template-columns: minmax(0,2fr) minmax(320px,1fr); gap: 16px; }
.stages { display: grid; gap: 14px; }
.stage { display: grid; grid-template-columns: 112px minmax(0,1fr); gap: 10px; --stage: var(--swy-primary-600); }
.stage.traffic { --stage: var(--swy-success-600); }
.stage.business { --stage: var(--swy-warning-600); }
.stage-label { padding: 16px 12px; color: var(--stage); border-left: 4px solid var(--stage); border-radius: var(--swy-radius-md); background: color-mix(in srgb,var(--stage) 9%,white); }
.stage-label > b { display: block; font-size: 30px; line-height: 1; }
.stage-label h2 { margin: 10px 0 6px; }
.stage-label p { margin: 0; font-size: 11px; }
.goal-cards { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.goal-card { min-width: 0; padding: 14px; background: white; border: 1px solid var(--swy-border); border-radius: var(--swy-radius-md); box-shadow: var(--swy-shadow-xs); }
.goal-card-top { display: grid; grid-template-columns: 38px minmax(0,1fr) auto; gap: 8px; }
.goal-icon { display: grid; width: 36px; height: 36px; place-items: center; color: white; border-radius: 9px; background: var(--stage); }
.goal-title { min-width: 0; }
.goal-title h2 { overflow: hidden; margin: 1px 0 2px; font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }
.goal-definition { overflow: hidden; color: var(--swy-text-muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.goal-kpis { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; margin-top: 12px; }
.goal-kpis span { display: block; color: var(--swy-text-muted); font-size: 10px; }
.goal-kpis strong { display: block; overflow: hidden; margin-top: 2px; font-size: 18px; text-overflow: ellipsis; white-space: nowrap; }
.goal-month-summary, .goal-card-footer { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.goal-month-summary { margin-top: 7px; padding: 6px; color: var(--swy-text-secondary); border-radius: 5px; background: var(--swy-gray-50); font-size: 10px; }
.goal-card-footer { margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--swy-border); }
.goal-responsible, .goal-group, .person, .owner { display: flex; align-items: center; gap: 7px; }
.member-stack { display: flex; }
.member-stack .avatar { width: 22px; height: 22px; margin-left: -5px; border: 2px solid white; font-size: 9px; }
.dashboard-side { min-width: 0; }
.dashboard-side .card { padding: 15px; }
.dashboard-motto { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-top: 16px; padding: 12px 16px; color: var(--swy-primary-800); border: 1px solid var(--swy-primary-100); border-radius: var(--swy-radius-md); background: linear-gradient(90deg,var(--swy-primary-50),white); }
.trend { display: flex; height: 180px; align-items: flex-end; gap: 8px; overflow-x: auto; }
.trend-col { flex: 1; min-width: 38px; text-align: center; }
.bars { display: flex; height: 125px; align-items: flex-end; justify-content: center; gap: 3px; border-bottom: 1px solid var(--swy-border); }
.bars span { display: block; width: 12px; border-radius: 3px 3px 0 0; }
.actual-bar { background: var(--swy-primary-600); }
.target-bar { background: var(--swy-gray-300); }
.metric-chart { display: block; width: 100%; max-height: 300px; }
.pipeline { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; margin: 16px 0; }
.pipeline > div { padding: 13px; border: 1px solid var(--swy-border); border-radius: var(--swy-radius-md); background: var(--swy-gray-25); }
.pipeline strong { display: block; margin-top: 6px; color: var(--swy-primary-600); font-size: 22px; }
.checks { display: flex; flex-wrap: wrap; gap: 12px; }
.checks label { display: flex; align-items: center; gap: 7px; }
.checks input { width: auto; }
.late { color: var(--swy-danger-600); }
.risk-line { display: flex; align-items: center; gap: 8px; }
pre { overflow-wrap: anywhere; padding: 12px; white-space: pre-wrap; border-radius: 7px; background: var(--swy-gray-50); }
.login { max-width: 420px; margin: 96px auto; }
.login form { display: grid; gap: 14px; }
.login .check { display: flex; align-items: center; gap: 7px; }
.login .check input { width: auto; }
.login-languages { display: flex; justify-content: center; gap: 8px; margin-top: 18px; }
.login-languages a { padding: 6px 10px; border: 1px solid #dbe5f0; border-radius: 8px; text-decoration: none; }
.login-languages a[aria-current="page"] { color: #1268cf; border-color: #9fc3f0; background: #eff6ff; }
@media (max-width: 1320px) { .dashboard { grid-template-columns: 1fr; } .goal-cards { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 820px) { .stage { grid-template-columns: 1fr; } .stage-label { padding: 10px 12px; } .goal-cards { grid-template-columns: 1fr; } .pipeline { grid-template-columns: repeat(2,minmax(0,1fr)); } .hero { align-items: flex-start; flex-direction: column; } }
@media (max-width: 560px) { .pipeline { grid-template-columns: 1fr; } .hero h1 { font-size: 22px; } .dashboard-motto { align-items: flex-start; flex-direction: column; } }

/* Consolidated from os\assets\pages\dashboard.css; the old file is no longer loaded by OS inner pages. */
.os-dashboard-page .swy-main { max-width: 1800px; }
.os-dashboard-page .hero { min-height: 142px; }
.os-dashboard-page .dashboard-filter { padding: 10px 12px; }
.os-dashboard-page .dashboard-side .card { overflow: hidden; }
.os-dashboard-page .dashboard-side .table-wrap { max-height: 260px; }
.os-dashboard-page .dashboard-trend { min-height: 275px; }
.os-dashboard-page .goal-card { display: flex; min-height: 228px; flex-direction: column; }
.os-dashboard-page .goal-card-footer { margin-top: auto; }
.dashboard-provenance { display: grid; gap: 3px; margin: 10px 0; padding: 8px 10px; border-radius: 8px; background: #f8fafc; color: #52657a; font-size: 11px; }
.dashboard-provenance a { color: #1769d2; font-weight: 700; }
.dashboard-v2 { display: grid; gap: 16px; margin-top: 18px; }
.dashboard-v2-section { margin: 0; }
.dashboard-section-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.dashboard-section-heading h2 { margin: 0 0 4px; }
.dashboard-section-heading p { margin: 0; color: #6c7d90; }
.dashboard-source-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(220px,1fr)); gap: 12px; }
.dashboard-source-card { display: flex; min-height: 210px; flex-direction: column; gap: 8px; padding: 14px; border: 1px solid #e4ebf3; border-radius: 12px; background: #fff; }
.dashboard-source-card > div { display: flex; justify-content: space-between; gap: 8px; }
.dashboard-source-card h3,.dashboard-source-card p { margin: 0; }
.dashboard-source-card strong { color: #123963; font-size: 28px; }
.dashboard-source-card strong small { margin-left: 4px; color: #6c7d90; font-size: 12px; }
.dashboard-source-card p { color: #607286; font-size: 12px; line-height: 1.55; }
.dashboard-source-card footer { display: grid; gap: 3px; margin-top: auto; color: #607286; font-size: 11px; }
.dashboard-system-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(180px,1fr)); gap: 10px; }
.dashboard-system-card { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 5px 9px; padding: 12px; border: 1px solid #e4ebf3; border-radius: 10px; color: inherit; text-decoration: none; }
.dashboard-system-card b { grid-row: span 2; color: #1769d2; }
.dashboard-system-card small { grid-column: 1 / -1; color: #6c7d90; }
.dashboard-alert-list { display: grid; gap: 8px; }
.dashboard-alert { display: flex; justify-content: space-between; gap: 12px; padding: 10px 12px; border-left: 3px solid #93a6bb; border-radius: 8px; background: #f8fafc; color: inherit; text-decoration: none; }
.dashboard-alert span { display: flex; align-items: center; gap: 8px; }
.dashboard-alert small { color: #607286; }
.dashboard-alert-danger { border-left-color: #dc3545; }.dashboard-alert-warning { border-left-color: #e8a317; }
.dashboard-kpi-source { display: block; margin-top: 6px; color: #607286; font-size: 11px; line-height: 1.5; }
@media (max-width: 720px) {.dashboard-alert { flex-direction: column; }.dashboard-source-grid,.dashboard-system-grid { grid-template-columns: 1fr; }}

/* Consolidated from os\ui\css\pages\dashboard.css; the old file is no longer loaded by OS inner pages. */
.os-dashboard-page .hero { display: grid; min-height: 104px; grid-template-columns: minmax(0,1fr) auto auto; align-items: center; gap: 22px; margin-bottom: 12px; padding: 16px 20px; color: white; border-radius: 10px; background: linear-gradient(118deg,#1d4ed8,#2563eb 58%,#3b82f6); box-shadow: 0 8px 22px rgb(37 99 235 / .16); }
.os-dashboard-page .hero h1 { margin-bottom: 4px; font-size: 21px; }
.os-dashboard-page .hero p { margin-bottom: 0; color: #dbeafe; }
.os-dashboard-page .hero > span { color: #dbeafe; font-size: 12px; }
.os-dashboard-page .hero-slogan { text-align: right; font-size: 16px; font-weight: 700; }
.os-dashboard-page .hero-slogan small { display: block; color: #dbeafe; font-size: 10px; font-weight: 500; }
.os-dashboard-page .dashboard-filter { padding-block: 9px; }
.os-dashboard-page .goal-card { min-height: 0; }
.os-dashboard-page .dashboard-side .card { margin-bottom: 12px; }
.trend { display: flex; min-height: 150px; align-items: end; justify-content: space-around; gap: 10px; padding: 14px 8px 2px; border-bottom: 1px solid var(--swy-border); background: repeating-linear-gradient(to top,transparent 0,transparent 37px,#eef2f7 38px); }
.trend-col { display: grid; flex: 1; justify-items: center; gap: 6px; }
.bars { display: flex; height: 112px; align-items: end; gap: 4px; }
.target-bar, .actual-bar { display: block; width: 10px; border-radius: 3px 3px 0 0; }
.target-bar { background: #cbd5e1; }
.actual-bar { background: var(--swy-primary-600); }
@media (max-width: 700px) {
  .os-dashboard-page .hero { min-height: 96px; grid-template-columns: 1fr; gap: 5px; padding: 14px; }
  .os-dashboard-page .hero > span { display: none; }
  .os-dashboard-page .hero-slogan { display: none; }
}

/* Consolidated from os\ui\css\pages\goal.css; the old file is no longer loaded by OS inner pages. */
.os-goals-page .goal-definition, .os-goal-page .goal-definition { color: var(--swy-text-secondary); }
.os-goal-page .person { display: inline-flex; align-items: center; gap: 7px; margin: 0 8px 8px 0; }
.os-form-page .swy-card { max-width: 1120px; }

/* Consolidated from os\ui\css\pages\task.css; the old file is no longer loaded by OS inner pages. */
.os-tasks-page td:first-child { min-width: 240px; }
.os-tasks-page .late { color: var(--swy-danger); font-weight: 650; }

/* Consolidated from os\ui\css\pages\work.css; the old file is no longer loaded by OS inner pages. */
.os-reviews-page details, .os-monthly-page details { padding-block: 6px; border-bottom: 1px solid var(--swy-border); }
.os-reports-page .trend { min-height: 230px; }

/* Homepage visual language overrides for legacy content structures. */
.os-page-main .hero{min-height:auto;color:var(--oh-text);border:1px solid var(--oh-line);background:#fff;box-shadow:var(--oh-shadow)}
.os-page-main .hero h1{color:var(--oh-text)}.os-page-main .hero p,.os-page-main .hero>span,.os-page-main .hero-slogan small{color:var(--oh-muted)}.os-page-main .hero-slogan{color:var(--oh-accent)}
.os-page-main .card,.os-page-main .swy-card{border-color:var(--oh-line);border-radius:12px;box-shadow:var(--oh-shadow)}
.os-page-main .stage-label,.os-page-main .dashboard-motto{color:var(--oh-accent);border-color:rgba(var(--oh-accent-rgb),.18);background:rgba(var(--oh-accent-rgb),.045)}
.os-page-main .goal-icon,.os-page-main .actual-bar{background:var(--oh-accent)}.os-page-main .goal-card:hover,.os-page-main .card:hover{border-color:rgba(var(--oh-accent-rgb),.26)}
.os-page-main th{background:#f7f8f7}.os-page-main tbody tr:hover{background:rgba(var(--oh-accent-rgb),.035)}
.os-page-main .toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.os-page-main .toolbar h2{margin:0}.os-page-main .stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.os-page-main .muted,.os-page-main small{color:var(--oh-muted)}.os-page-main a{color:inherit}.os-page-main a:hover{color:var(--oh-accent)}
@media(max-width:900px){.os-page-main{padding-top:22px}.os-page-main .dashboard{grid-template-columns:1fr}.os-page-main .goal-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.os-page-main{padding:20px 12px 34px}.os-page-heading{align-items:flex-start;flex-direction:column}.os-page-actions{justify-content:flex-start}.os-page-main .swy-grid-2,.os-page-main .swy-grid-3,.os-page-main .swy-grid-4,.os-page-main .goal-cards,.os-page-main .form-grid,.os-page-main .swy-form-grid{grid-template-columns:1fr}.os-page-main .filters{align-items:stretch;flex-direction:column}.os-page-main .filters label,.os-page-main .filters input,.os-page-main .filters select,.os-page-main .filters button{width:100%}}
.os-auth-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--oh-bg)}
.os-login-card{width:min(500px,100%);margin:0;padding:32px;border-radius:18px;box-shadow:0 24px 70px rgba(24,29,25,.12)}
.os-auth-brand{display:flex;align-items:flex-start;gap:17px}.os-login-logo{display:block;flex:0 0 auto;margin:0;border-radius:13px}.os-auth-brand-copy{min-width:0;padding-top:1px}.os-login-card .os-auth-brand h1{margin:0;font-size:28px;line-height:1.1}.os-auth-brand-copy .oh-eyebrow{margin:6px 0 0}.os-auth-brand-copy p{margin:4px 0 0;color:var(--oh-muted)}
.os-login-card form{display:grid;gap:14px;margin-top:25px}.os-login-card form>button,.os-auth-actions>button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;padding:0 15px;color:#fff;border:1px solid var(--oh-accent);border-radius:9px;background:var(--oh-accent);font-weight:700;cursor:pointer}.os-login-card form>button{width:100%}.os-auth-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.os-auth-actions>button{width:100%}.os-register-link{display:inline-flex;min-height:44px;align-items:center;justify-content:center;padding:0 15px;color:var(--oh-text);border:1px solid var(--oh-line);border-radius:9px;background:#fff;font-weight:700}.os-register-link:hover{color:#fff;background:var(--oh-accent);border-color:var(--oh-accent)}.os-login-card input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px #fff inset;-webkit-text-fill-color:var(--oh-text)}.os-login-card .login-languages{display:flex;justify-content:center;gap:7px;margin-top:20px}.os-login-card .login-languages a{padding:6px 10px;border:1px solid var(--oh-line);border-radius:7px}.os-login-card .login-languages a[aria-current=page]{color:#fff;border-color:var(--oh-accent);background:var(--oh-accent)}
@media(max-width:560px){.os-auth-page{padding:14px}.os-login-card{padding:24px 20px}.os-auth-brand{gap:12px}.os-login-logo{width:48px;height:48px}.os-login-card .os-auth-brand h1{font-size:23px}.os-auth-brand-copy .oh-eyebrow{font-size:9px}.os-auth-brand-copy p{font-size:13px}.os-auth-actions{grid-template-columns:1fr}}

.os-standard-page .oh-shell{margin-top:0;padding-top:0}.os-page-main a.button,.os-page-main a.swy-button{color:#fff}.os-page-main a.button:hover,.os-page-main a.swy-button:hover{color:#fff;background:var(--swy-primary-700)}.os-page-main a.button.secondary,.os-page-main a.swy-button-secondary{color:var(--swy-text-secondary);background:#fff}.os-page-main a.button.danger,.os-page-main a.swy-button-danger{color:var(--swy-danger);background:var(--swy-danger-soft)}.os-settings-tabs{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}.os-settings-tabs a{white-space:nowrap;flex:0 0 auto}@media(min-width:901px){.os-standard-page .oh-mobile,.os-standard-page .oh-scrim{display:none!important}}


/* OS platform administration */
.platform-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}.platform-page-head h1{margin:0 0 6px}.platform-page-head p{margin:0;color:var(--swy-text-muted,#667085)}
.platform-form fieldset{margin:18px 0;padding:16px;border:1px solid var(--swy-border,#e5e7eb);border-radius:12px}.platform-form .checks,.platform-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.platform-actions form{margin:0}.platform-section-title{margin-top:24px}
.oss-config-grid,.oss-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.oss-config-grid>div,.oss-stats>.card{display:flex;flex-direction:column;gap:6px}.oss-config-grid strong,.oss-stats strong{font-size:20px}.table-wrap small{display:block;color:var(--swy-text-muted,#667085)}
@media(max-width:900px){.platform-page-head{display:block}.platform-page-head>a{display:inline-block;margin-top:12px}.oss-config-grid,.oss-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.oss-config-grid,.oss-stats{grid-template-columns:1fr}.platform-actions{align-items:stretch}.platform-actions>*{width:100%}.platform-actions button{width:100%}}

/* Manager and owner work center */
.wc-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:14px}
.wc-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,.78fr);gap:14px}.wc-main,.wc-side{display:grid;min-width:0;align-content:start;gap:14px}.wc-layout .oh-panel{margin:0}
.wc-task-list{display:grid}.wc-task-list>a{display:grid;grid-template-columns:8px minmax(0,1fr) 92px 54px;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid var(--oh-line)}.wc-task-list>a:last-child{border-bottom:0}.wc-task-list i{width:8px;height:8px;border-radius:50%;background:var(--oh-success)}.wc-task-list i.late{background:var(--oh-danger)}.wc-task-list b,.wc-task-list small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wc-task-list time,.wc-task-list em{color:var(--oh-muted);font-size:12px;font-style:normal}.wc-task-list em{text-align:right}
.wc-goals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.wc-goals>a{display:grid;gap:5px;padding:12px;border:1px solid var(--oh-line);border-radius:10px;background:#fafbfa}.wc-goals>a span{width:max-content;padding:2px 7px;color:var(--oh-success);border-radius:99px;background:#edf8f1;font-size:11px}.wc-goals>a b{line-height:1.45}.wc-goals>a small{font-size:12px}
.wc-activity{display:grid}.wc-activity>div{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid var(--oh-line)}.wc-activity>div:last-child{border-bottom:0}.wc-activity time{color:var(--oh-muted);font-size:12px;white-space:nowrap}
.wc-approval{display:grid;gap:7px}.wc-approval>a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 11px;border:1px solid var(--oh-line);border-radius:9px;background:#fafbfa}.wc-approval>a b{font-size:20px}.wc-approval-row{display:grid;gap:3px;margin:10px 0 0;padding-top:10px;border-top:1px solid var(--oh-line)}.wc-approval-row span{color:var(--oh-muted);font-size:12px}
.wc-risk{display:grid;gap:4px;margin-top:8px;padding:10px 11px;border-left:3px solid var(--oh-warning);border-radius:8px;background:#fff8ec}.wc-risk.critical{border-left-color:var(--oh-danger);background:#fff1f0}.wc-risk.info{border-left-color:var(--oh-accent);background:rgba(var(--oh-accent-rgb),.05)}.wc-risk small{font-size:12px}
.wc-quick{display:grid;grid-template-columns:1fr 1fr;gap:7px}.wc-quick>a{display:flex;min-width:0;align-items:center;gap:8px;padding:10px;border:1px solid var(--oh-line);border-radius:9px}.wc-quick>a span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wc-system-state{display:grid;gap:4px;margin-top:12px;padding-top:12px;color:var(--oh-muted);border-top:1px solid var(--oh-line);font-size:12px}
.wc-kpis .oh-kpi{min-width:0}.wc-kpis .oh-kpi strong.oh-danger{color:var(--oh-danger)}
@media(max-width:1180px){.wc-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.wc-layout{grid-template-columns:1fr}}
@media(max-width:680px){.wc-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.wc-task-list>a{grid-template-columns:8px minmax(0,1fr) 60px}.wc-task-list em{display:none}.wc-goals,.wc-quick{grid-template-columns:1fr}.wc-activity>div{align-items:flex-start;flex-direction:column}}
/* Goal management standard workflow */
.gm-command{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:12px}.gm-command .tabs{flex:1;margin:0}.gm-command-actions{display:flex;flex-wrap:wrap;gap:8px}.gm-import summary{cursor:pointer;font-weight:700}.gm-import form{display:grid;grid-template-columns:minmax(240px,1fr) auto;align-items:end;gap:10px;margin-top:14px}.gm-import label{display:grid;gap:6px}.gm-import small{grid-column:1/-1;color:var(--oh-muted)}
.gm-filters{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(130px,.65fr) minmax(150px,.8fr) minmax(230px,1.4fr) auto auto;align-items:end;gap:10px}.gm-filters label{display:grid;gap:5px;color:var(--oh-muted);font-size:12px}.gm-filters select,.gm-filters input{width:100%;height:38px}.gm-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:0 0 12px}.gm-kpis article{min-width:0;padding:14px 16px;border:1px solid var(--oh-line);border-radius:12px;background:#fff;box-shadow:var(--oh-shadow)}.gm-kpis span,.gm-kpis small,.gm-kpis strong{display:block}.gm-kpis span,.gm-kpis small{color:var(--oh-muted)}.gm-kpis strong{margin:5px 0;font-size:25px}.gm-table td{min-width:92px}.gm-table td:first-child{min-width:235px}.gm-goal-name{display:flex;align-items:flex-start;gap:7px}.gm-goal-name.gm-child{padding-left:18px}.gm-goal-name>a{font-weight:700}.gm-system{display:inline-grid;min-width:30px;height:25px;place-items:center;padding:0 7px;border-radius:7px;background:#f0f1f0;font-size:11px}.gm-actions{display:flex;min-width:150px;flex-wrap:wrap;align-items:center;gap:6px}.gm-actions>a{font-weight:650}.gm-inline-action{display:inline;margin:0}.gm-inline-action button{min-height:28px!important;padding:0 8px!important;font-size:11px}.gm-inline-action button.secondary{color:var(--oh-text)!important;border-color:var(--oh-line)!important;background:#fff!important}.gm-table progress{margin-top:5px}.gm-table .swy-badge+small{margin-top:5px}
@media(max-width:1180px){.gm-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.gm-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.gm-search{grid-column:span 2}}
@media(max-width:680px){.gm-command{align-items:stretch;flex-direction:column}.gm-command-actions{display:grid;grid-template-columns:1fr 1fr}.gm-command-actions a{width:100%}.gm-import form,.gm-filters{grid-template-columns:1fr}.gm-search{grid-column:auto}.gm-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.gm-table{overflow:visible;padding:10px;background:transparent;border:0;box-shadow:none}.gm-table table,.gm-table tbody{display:grid;gap:10px}.gm-table thead{display:none}.gm-table tr{display:grid;padding:13px;border:1px solid var(--oh-line);border-radius:12px;background:#fff;box-shadow:var(--oh-shadow)}.gm-table td{display:grid;grid-template-columns:92px minmax(0,1fr);min-width:0!important;gap:8px;padding:7px 0;border:0}.gm-table td::before{content:attr(data-label);color:var(--oh-muted);font-size:12px}.gm-table td:first-child{display:block;padding-bottom:10px;border-bottom:1px solid var(--oh-line)}.gm-table td:first-child::before{display:none}.gm-actions{min-width:0}.gm-goal-name.gm-child{padding-left:10px}}

/* Compact operations workspace: shared density for OS lists, filters and edit forms. */
.os-page-main{font-size:13px}
.os-page-main .card,.os-page-main .swy-card{margin-bottom:12px;padding:14px}
.os-page-main input,.os-page-main select{min-height:34px;height:34px;padding:5px 9px;font-size:13px}
.os-page-main textarea{min-height:74px;padding:7px 9px;font-size:13px;line-height:1.45}
.os-page-main button,.os-page-main .button,.os-page-main .swy-button{min-height:32px;padding:5px 11px;font-size:12px}
.os-page-main table{font-size:12px}
.os-page-main table th,.os-page-main table td{height:38px;padding:6px 9px;line-height:1.3}
.os-page-main table th{font-size:11px}
.os-page-main .table-wrap small{display:inline;margin:0 0 0 6px}
.os-page-main .table-wrap td>small:first-child{margin-left:0}
.os-page-main .os-table-card{padding:0;overflow:hidden}
.os-page-main .os-table-card>.table-wrap{margin:0}
.os-page-main .os-table-card>small,.os-page-main .os-table-card>p{display:block;margin:0;padding:9px 12px;border-top:1px solid var(--oh-line)}
.os-dense-table td,.os-dense-table th{white-space:nowrap}
.os-dense-table .os-cell-summary{max-width:320px;overflow:hidden;text-overflow:ellipsis}
.os-row-actions,.os-review-actions{display:flex;align-items:center;gap:9px;white-space:nowrap}
.os-table-action{font-weight:650}

.os-page-main .form-grid,.os-page-main .swy-form-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 12px}
.os-dense-form{width:100%;max-width:none!important;align-items:start;padding:16px}
.os-dense-form .os-field{min-width:0;gap:4px;font-size:12px}
.os-dense-form .os-field>span{display:flex;align-items:center;gap:3px;min-height:17px}
.os-dense-form .os-field>span>b{color:var(--oh-danger)}
.os-dense-form .os-field-title,.os-dense-form .os-field-goal_name,.os-dense-form .os-field-source_reference{grid-column:span 2}
.os-dense-form .full,.os-dense-form fieldset{grid-column:1/-1}
.os-form-goals,.os-form-tasks{grid-template-columns:repeat(5,minmax(0,1fr))!important}
.os-form-goals .os-field-plan_id,.os-form-goals .os-field-goal_name,.os-form-tasks .os-field-title,.os-form-tasks .os-field-goal_id{grid-column:span 2}
.os-form-monthly_reviews{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.os-form-monthly_reviews .os-review-field{grid-column:span 2}
.os-form-monthly_reviews .os-review-field textarea{min-height:92px}
.os-dense-form fieldset{margin:0;padding:10px 12px;border:1px solid var(--oh-line);border-radius:9px}
.os-dense-form fieldset legend{padding:0 5px;color:var(--oh-muted);font-size:11px;font-weight:700}
.os-dense-form .checks{gap:6px 12px}
.os-dense-form .checks label{display:inline-flex;min-height:26px;align-items:center;gap:5px;font-size:12px}
.os-dense-form .notice{margin:0;padding:9px 11px}
.os-form-actions{position:sticky;bottom:0;z-index:3;justify-content:flex-end;margin:2px -16px -16px;padding:10px 16px;border-top:1px solid var(--oh-line);background:rgba(255,255,255,.96);backdrop-filter:blur(8px)}
.os-form-actions button{min-width:88px}

.os-compact-note{padding-block:10px!important}
.os-compact-note p{margin:0}
.os-compact-note p+p{margin-top:4px}
.os-compact-filters,.os-trend-filters{display:grid!important;grid-template-columns:repeat(5,minmax(135px,1fr)) auto;align-items:end!important;gap:8px!important;margin-bottom:12px;padding:10px!important}
.os-compact-filters>label,.os-trend-filters>label{display:grid;min-width:0!important;gap:4px;font-size:11px}
.os-compact-filters .filter-actions,.os-trend-filters .filter-actions{display:flex;align-items:center;gap:6px;white-space:nowrap}
.os-task-filters{grid-template-columns:minmax(180px,1fr) minmax(260px,2fr) auto}
.os-trend-filters{grid-template-columns:minmax(200px,2fr) repeat(4,minmax(135px,1fr)) auto}
.os-trend-panel>.toolbar{margin-bottom:8px}

.os-summary-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:12px}
.os-summary-strip article{display:flex;min-height:66px;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border:1px solid var(--oh-line);border-radius:10px;background:#fff;box-shadow:var(--oh-shadow)}
.os-summary-strip span{color:var(--oh-muted);font-size:12px}
.os-summary-strip strong{font-size:22px}
.os-summary-strip .os-summary-text{font-size:15px}
.os-team-table-card .avatar{width:26px;height:26px}
.os-team-table-card .person{gap:7px}

.os-report-kpis{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))!important;gap:8px!important;margin-bottom:12px}
.os-report-kpis .swy-kpi{min-height:88px;padding:12px 14px}
.os-report-kpis .swy-kpi strong{font-size:24px}
.os-report-kpis .dashboard-kpi-source{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.os-review-list{padding:0!important;overflow:hidden}
.os-review-head,.os-review-item>summary{display:grid;grid-template-columns:minmax(150px,.7fr) minmax(320px,2fr) 90px;align-items:center;gap:12px}
.os-review-head{height:34px;padding:0 12px;color:var(--oh-muted);background:#f7f8f7;font-size:11px;font-weight:700}
.os-review-item{border-top:1px solid var(--oh-line)}
.os-review-item>summary{min-height:40px;padding:5px 12px;cursor:pointer;list-style:none}
.os-review-item>summary::-webkit-details-marker{display:none}
.os-review-item>summary:hover{background:rgba(var(--oh-accent-rgb),.035)}
.os-review-item>summary>span:first-child{display:flex;align-items:center;gap:7px}
.os-review-item>summary small{margin:0}
.os-review-body{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:10px 12px 12px;background:#fafbfa}
.os-review-body article{min-width:0;padding:9px;border:1px solid var(--oh-line);border-radius:8px;background:#fff}
.os-review-body h3,.os-review-body p{margin:0}
.os-review-body h3{margin-bottom:4px;color:var(--oh-muted);font-size:11px}
.os-review-body p{font-size:12px;line-height:1.45}
.os-review-comment{grid-column:span 2}
.os-review-comment-form{display:grid;grid-column:1/-1;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px}
.os-review-comment-form label{min-width:0}
.os-review-comment-form textarea{min-height:58px}
.os-review-actions{grid-column:1/-1;justify-content:flex-end}

.platform-form .swy-form-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.platform-form fieldset{margin:12px 0;padding:12px}
.os-logs-page details,.os-sources-page details{padding:7px 0;border-bottom:1px solid var(--oh-line)}
.os-settings-page #plan>.filters{margin:10px 0}
.os-settings-page #plan>p{display:flex;min-height:34px;align-items:center;justify-content:space-between;gap:12px;margin:0;padding:5px 0;border-bottom:1px solid var(--oh-line)}

@media(max-width:1280px){
  .os-form-goals,.os-form-tasks{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  .os-compact-filters,.os-trend-filters{grid-template-columns:repeat(3,minmax(0,1fr))}
  .os-compact-filters .filter-actions,.os-trend-filters .filter-actions{grid-column:1/-1}
}
@media(max-width:980px){
  .os-page-main .form-grid,.os-page-main .swy-form-grid,.os-form-goals,.os-form-tasks,.os-form-monthly_reviews,.platform-form .swy-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .os-summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .os-review-body{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:680px){
  .os-page-main .form-grid,.os-page-main .swy-form-grid,.os-form-goals,.os-form-tasks,.os-form-monthly_reviews,.platform-form .swy-form-grid{grid-template-columns:1fr!important}
  .os-dense-form .os-field,.os-dense-form .os-review-field,.os-dense-form .full,.os-dense-form fieldset{grid-column:1!important}
  .os-form-actions{position:static;margin:2px -12px -12px}
  .os-compact-filters,.os-trend-filters,.os-task-filters{grid-template-columns:1fr!important}
  .os-compact-filters .filter-actions,.os-trend-filters .filter-actions{grid-column:auto}
  .os-summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .os-review-head{display:none}
  .os-review-item>summary{grid-template-columns:1fr auto}
  .os-review-item>summary .os-cell-summary{grid-column:1/-1}
  .os-review-body{grid-template-columns:1fr}
  .os-review-comment{grid-column:auto}
  .os-review-comment-form{grid-template-columns:1fr}
}
.swy-skip-link{position:fixed;top:-60px;left:12px;z-index:1000;padding:10px 15px;border-radius:8px;color:#fff;background:var(--oh-accent,#262626)}.swy-skip-link:focus{top:12px}
