﻿/* Canonical primitives and explicit legacy adapters. No Canvas content selectors. */
.ui-page-title{font:var(--ui-weight-emphasis) var(--ui-type-page)/var(--ui-leading-control) var(--ui-font-title-block)}
.ui-modal-title{font:var(--ui-weight-normal) var(--ui-type-modal)/var(--ui-leading-control) var(--ui-font-title-block);letter-spacing:0;text-transform:none}
.ui-section-title{font:var(--ui-weight-emphasis) var(--ui-type-section)/var(--ui-leading-control) var(--ui-font-title-block)}
button{font-family:var(--ui-font-ocr);letter-spacing:normal}
input,textarea{font-family:var(--font-ui)}
select{font-family:var(--ui-font-ocr);letter-spacing:normal}
.brand-name{font-family:var(--ui-font-title-block)}
.ui-body{font:var(--ui-weight-normal) var(--ui-type-body)/var(--ui-leading-body) var(--font-ui)}
.ui-meta{font:var(--ui-weight-normal) var(--ui-type-meta)/var(--ui-leading-body) var(--ui-font-technical);color:var(--ui-text-muted)}
.ui-label{font:var(--ui-weight-normal) var(--ui-type-label)/var(--ui-leading-body) var(--font-ui);letter-spacing:var(--ui-tracking-label);color:var(--ui-text-muted)}
:is(.btn,.ui-button){box-sizing:border-box;min-height:var(--ui-control-height);padding:var(--ui-space-label) var(--ui-space-3);font-family:var(--ui-font-ocr);font-size:var(--ui-type-control);font-weight:var(--ui-weight-normal);line-height:var(--ui-leading-control);letter-spacing:normal;text-transform:none;border:var(--ui-border-width) solid var(--ui-border);border-radius:var(--control-radius);background:var(--ui-surface);color:var(--ui-text);cursor:pointer;transition:background-color var(--ui-motion-fast) var(--ui-ease),border-color var(--ui-motion-fast) var(--ui-ease),color var(--ui-motion-fast) var(--ui-ease)}
:is(.btn,.ui-button):hover:not(:disabled){background:var(--ui-surface-secondary);border-color:var(--ui-border-strong)}
:is(.btn-solid,.ui-button[data-variant=primary]){background:var(--ink);border-color:var(--ink);color:var(--bg)}
:is(.btn-solid,.ui-button[data-variant=primary]):hover:not(:disabled){background:var(--ink2);color:var(--bg)}
:is(.btn-warn,.ui-button[data-variant=danger]){color:var(--ui-danger);border-color:var(--ui-danger)}
.ui-button[data-variant=ghost]{border-color:transparent;background:transparent}
:is(.ui-button,.ui-field,.ui-select)[data-size=compact],:is(#canvas-toolbar,.gantt-toolbar,.cg-toolbar) .btn{min-height:var(--ui-control-compact);height:var(--ui-control-compact)}
:is(.ui-button,.btn,.ui-icon-button,.dashboard-menu-button,.ui-field,.ui-select,.ui-textarea,.ctx-menu-item):disabled{opacity:var(--ui-disabled-opacity);cursor:default}
:is(.ui-button,.btn,.ui-icon-button,.dashboard-menu-button,.ui-field,.ui-select,.ui-textarea,.ctx-menu-item):focus-visible{outline:var(--ui-border-width) solid var(--ui-focus);outline-offset:2px}
:is(.ui-icon-button,.dashboard-menu-button){display:inline-flex;align-items:center;justify-content:center;width:var(--ui-icon-button)!important;height:var(--ui-icon-button)!important;min-width:var(--ui-icon-button)!important;min-height:var(--ui-icon-button)!important;padding:var(--ui-space-label)!important;border:var(--ui-border-width) solid var(--ui-border);background:var(--ui-surface);color:var(--ink);cursor:pointer}
:is(.gantt-toolbar,.cg-toolbar)>.dashboard-menu-button{width:var(--ui-control-compact)!important;min-width:var(--ui-control-compact)!important;height:var(--ui-control-compact)!important;min-height:var(--ui-control-compact)!important}
:is(.ui-icon-button,.dashboard-menu-button) svg{width:var(--ui-icon-size);height:var(--ui-icon-size);stroke-width:var(--ui-icon-stroke);stroke-linecap:butt}
.ui-icon-button .ui-settings-icon{display:block;width:var(--ui-icon-size);height:var(--ui-icon-size);object-fit:contain;flex:none}
:is(.ui-icon-button,.dashboard-menu-button):is(:hover,[aria-expanded=true]){background:var(--ui-surface-secondary)}
:is(.ui-field,.ui-select,.ui-textarea){box-sizing:border-box;font:var(--ui-weight-normal) var(--ui-type-body)/var(--ui-leading-control) var(--font-ui);color:var(--ui-text);background:var(--ui-surface);border:var(--ui-border-width) solid var(--ui-border);border-radius:var(--control-radius);padding:var(--ui-space-label) var(--ui-control-pad-x);min-height:var(--ui-control-height);max-width:100%}
.ui-select{appearance:none;background-repeat:no-repeat;background-position:right var(--ui-control-pad-x) center;background-size:var(--ui-icon-size);padding-right:var(--ui-space-8)}
.ui-field,.ui-select{height:var(--ui-control-height)}.ui-textarea{width:100%;min-height:calc(var(--ui-control-height)*3);resize:vertical;line-height:var(--ui-leading-body)}
select:not([multiple]):not([size]):not([data-chevron=none]):not(.compact-type-select){font-family:var(--ui-font-ocr);font-size:var(--ui-type-control);min-height:var(--ui-control-height);border-color:var(--ui-border);background-image:var(--ui-select-chevron)!important}
select:is([data-chevron=none],.compact-type-select):not([multiple]):not([size]){background-image:none!important;padding-right:var(--ui-control-pad-x)!important}
.ui-menu,.ctx-menu{padding:var(--ui-space-label);background:var(--ui-surface);border:var(--ui-border-width) solid var(--ui-border-subtle);box-shadow:var(--ui-shadow-menu);font:var(--ui-type-control)/var(--ui-leading-control) var(--ui-font-ocr)}
.ui-menu :is(button,.btn),.ctx-menu .ctx-menu-item{font:inherit;letter-spacing:normal;text-transform:none;border:0;border-radius:0;min-height:var(--ui-menu-row);height:auto;padding:var(--ui-space-label) var(--ui-control-pad-x)}
:is(.ui-menu-row,.ctx-menu-item){display:flex;align-items:center;gap:var(--ui-space-2);min-height:var(--ui-menu-row);width:100%;padding:var(--ui-space-label) var(--ui-control-pad-x);border:0;background:transparent;text-align:left;color:var(--ink);font:inherit;cursor:pointer}
:is(.ui-menu-row,.ctx-menu-item):hover:not(:disabled){background:var(--ui-surface-secondary)!important;color:var(--ink)}
:is(.ui-menu-row,.ctx-menu-item)[data-active="1"]{background:var(--ui-selection);font-weight:var(--ui-weight-emphasis)}
:is(.ui-menu-row[data-variant=danger],.ctx-danger){color:var(--ui-danger)}
.ui-divider,.ui-menu hr{border:0;border-top:var(--ui-border-width) solid var(--ui-border-subtle);margin:var(--ui-space-2) 0}
.ui-popover{background:var(--ui-surface);border:var(--ui-border-width) solid var(--ui-border-subtle);padding:var(--ui-space-2);box-shadow:var(--ui-shadow-popover)}
.ui-tooltip{max-width:320px;padding:var(--ui-space-2) var(--ui-space-3);background:var(--ink);color:var(--bg);font:var(--ui-type-control)/var(--ui-leading-body) var(--font-ui);box-shadow:var(--ui-shadow-popover);border-radius:var(--control-radius)}
.ui-modal{width:min(var(--ui-modal-md),calc(100vw - var(--ui-space-8)));max-height:calc(100vh - var(--ui-space-8));background:var(--ui-surface);border:var(--ui-border-width) solid var(--ui-border-subtle);padding:0;box-shadow:var(--ui-shadow-modal);overflow:auto;color:var(--ink)}
.ui-modal[data-size=small]{width:min(var(--ui-modal-sm),calc(100vw - var(--ui-space-8)))}.ui-modal[data-size=large]{width:min(var(--ui-modal-lg),calc(100vw - var(--ui-space-8)))}
.ui-modal-header,.ui-modal-body,.ui-modal-footer{padding:var(--ui-space-6) var(--ui-space-dialog-x)}.ui-modal-header{display:flex;justify-content:space-between;gap:var(--ui-space-5);border-bottom:var(--ui-border-width) solid var(--ui-border-subtle)}.ui-modal-header h2{margin:0}
.ui-modal-footer{display:flex;justify-content:flex-end;gap:var(--ui-space-2);padding-top:var(--ui-space-4);padding-bottom:var(--ui-space-4);border-top:var(--ui-border-width) solid var(--ui-border-subtle)}.ui-modal-section+.ui-modal-section{margin-top:var(--ui-space-6);padding-top:var(--ui-space-6);border-top:var(--ui-border-width) solid var(--ui-border-subtle)}
.ui-form-field{display:flex;flex-direction:column;gap:var(--ui-space-label);margin-bottom:var(--ui-space-4)}.ui-form-pair{display:grid;grid-template-columns:1fr 1fr;gap:var(--ui-space-4)}
.ui-surface{border:var(--ui-border-width) solid var(--ui-border-subtle);border-radius:var(--ui-radius-surface);padding:var(--ui-space-5);background:var(--ui-surface)}
.ui-empty{padding:var(--ui-space-5);background:var(--ui-surface-secondary);color:var(--ui-text-muted);font:var(--ui-type-body)/var(--ui-leading-body) var(--font-ui)}
.ui-message{padding:var(--ui-space-3);border-left:2px solid var(--ui-border-strong);font:var(--ui-type-body)/var(--ui-leading-body) var(--font-ui)}.ui-message[data-state=error]{border-color:var(--ui-danger);color:var(--ui-danger)}.ui-message[data-state=warning]{border-color:var(--ui-warning);color:var(--ui-warning)}
.ui-check{accent-color:var(--ink);width:14px;height:14px;vertical-align:middle}.ui-check[type=radio][data-shape=square]{appearance:none;border:var(--ui-border-width) solid var(--ui-border-strong);border-radius:var(--control-radius);padding:2px;background-clip:content-box}.ui-check[type=radio][data-shape=square]:checked{background-color:var(--ink)}.ui-check:focus-visible{outline:var(--ui-border-width) solid var(--ui-focus);outline-offset:2px}
.ui-table{width:100%;border-collapse:collapse;font:var(--ui-type-body)/var(--ui-leading-body) var(--font-ui)}.ui-table :is(th,td){text-align:left;padding:var(--ui-space-3) var(--ui-control-pad-x);border-bottom:var(--ui-border-width) solid var(--ui-border-subtle)}.ui-table th{font-size:var(--ui-type-label);font-weight:var(--ui-weight-normal);color:var(--ui-text-muted)}.ui-table [data-numeric]{text-align:right;font-variant-numeric:tabular-nums}.ui-table tbody tr:hover{background:var(--ui-surface-secondary)}
/* Named adapters adopt primitives without changing DOM ownership or event handlers. */
:is(#ov-e,#ov-phase) .authoring-header .mttl,.planning-panel .planning-header h2{font-size:var(--ui-type-modal);font-weight:var(--ui-weight-normal);letter-spacing:0;text-transform:none}
:is(#ov-e,#ov-phase) .authoring-header{padding:var(--ui-space-5) var(--ui-space-6)}
:is(#ov-e,#ov-phase) .authoring-body{padding:var(--ui-space-6)}
:is(#ov-e,#ov-phase) .fi{min-height:var(--ui-control-height);font-size:var(--ui-type-control);border-color:var(--ui-border)}
:is(#ov-e,#ov-phase) .fl>label{font-size:var(--ui-type-label);letter-spacing:var(--ui-tracking-label);margin-bottom:var(--ui-space-label)}
:is(#ov-e,#ov-phase) .mact{padding:var(--ui-space-4) var(--ui-space-6)}
:is(#ov-e,#ov-phase) .gantt-authoring-modal{width:min(var(--ui-modal-md),calc(100vw - var(--ui-space-8)))!important}
.canvas-opacity-popup,.canvas-level-menu{box-shadow:var(--ui-shadow-popover)!important;border-color:var(--ui-border-subtle)}
#report-chart-tooltip{font-family:var(--font-ui);font-size:var(--ui-type-body);line-height:var(--ui-leading-body);box-shadow:var(--ui-shadow-popover);z-index:var(--ui-z-tooltip)}
@media(max-width:600px){.ui-modal-header,.ui-modal-body,.ui-modal-footer{padding:var(--ui-space-4)}.ui-form-pair{grid-template-columns:1fr}.ui-modal{max-height:calc(100dvh - var(--ui-space-8))}}
@media(prefers-reduced-motion:reduce){.ui-button,.btn,.ui-popover,.ui-modal{transition:none;animation:none}}

select.ui-select[data-size=compact]{font-family:var(--ui-font-ocr);font-size:var(--ui-type-compact);font-weight:var(--ui-weight-normal);letter-spacing:normal;cursor:pointer}
.ui-icon-button[hidden]{display:none!important}
.btn[data-variant=secondary]{display:inline-flex;align-items:center;justify-content:center;gap:var(--ui-space-label)}
.btn[data-variant=secondary] svg{width:var(--ui-icon-size);height:var(--ui-icon-size);flex:none}

.ui-label[data-size=compact]{font-family:var(--font-ui);font-size:var(--ui-type-compact);font-weight:var(--ui-weight-normal);letter-spacing:normal}
select.ui-select[data-size=compact]:disabled{cursor:default}

/* State ownership is shared; consumers only choose semantic variants. */
.ui-display{font:var(--ui-weight-normal) var(--ui-type-display)/var(--ui-leading-control) var(--font-ui);font-variant-numeric:tabular-nums}
.ui-subsection-title{font:var(--ui-weight-emphasis) var(--ui-type-subsection)/var(--ui-leading-control) var(--ui-font-title-block)}
.ui-technical{font:var(--ui-weight-normal) var(--ui-type-compact)/var(--ui-leading-body) var(--ui-font-technical);letter-spacing:var(--ui-tracking-compact)}
.ui-technical-label{font-family:var(--ui-font-technical-label);font-size:var(--ui-type-label);font-weight:var(--ui-weight-normal);line-height:1.3;letter-spacing:var(--ui-tracking-technical-label)}
.ui-header-type{font-family:var(--ui-font-header);font-size:var(--ui-type-header);font-weight:var(--ui-weight-header);letter-spacing:var(--ui-tracking-header);text-transform:uppercase}
.ui-title-label{font-family:var(--ui-font-technical-label);font-weight:var(--ui-weight-normal);letter-spacing:var(--ui-tracking-technical-label);text-transform:uppercase}
.ui-mono-list{font-family:var(--ui-font-ocr);font-size:var(--ui-mono-list-size);letter-spacing:var(--ui-tracking-ocr)}
.detail-panel :is(.dp-property-label,.dp-meta-label,.dp-section-title,.dp-header-line-label,.card-schedule-label),:is(.project-settings-kicker,.file-section-title,.report-section-title,.col-hdr-lbl,.cg-project-order-label){font-family:var(--ui-font-technical-label);font-weight:var(--ui-weight-normal);line-height:1.3;letter-spacing:var(--ui-tracking-technical-label)}
.ui-technical-value,.detail-panel #card-resp-slot .member-chip{font-family:var(--ui-font-technical-value);letter-spacing:normal}
.detail-panel .dp-metadata-primary .dp-meta-control{font-family:var(--ui-font-ocr);letter-spacing:normal}
.ui-description,.ui-comment,.detail-panel :is(.dp-textarea,.description-read-text,.comment-input,.comment-txt,.attachment-photo-comment-text),.overview-description textarea{font-family:var(--ui-font-ocr);font-size:var(--ui-type-description);letter-spacing:normal}
.ui-dropdown,.canvas-font-size-control input,.canvas-font-size-menu{font-family:var(--ui-font-ocr);letter-spacing:normal}
.detail-properties .dp-meta-field{gap:var(--ui-technical-label-gap)}
.detail-content .dp-section-title{margin-bottom:calc(var(--ui-technical-label-gap) + 6px)}
.detail-panel .reminder-control .dp-property-label{margin-bottom:var(--ui-technical-label-gap)}
.ui-caption{font:var(--ui-type-caption)/var(--ui-leading-body) var(--font-ui);color:var(--ui-text-muted)}
:is(.ui-field,.ui-select,.ui-textarea):hover:not(:disabled):not([readonly]){border-color:var(--ui-border-strong)}
:is(.ui-field,.ui-select,.ui-textarea):focus-visible{border-color:var(--ui-border-active);outline:var(--ui-border-width) solid var(--ui-focus);outline-offset:var(--ui-focus-offset)}
:is(.ui-field,.ui-textarea)[readonly]{background:var(--ui-surface-secondary);color:var(--ui-text-secondary)}
:is(.ui-field,.ui-select,.ui-textarea)[aria-invalid=true]{border-color:var(--ui-border-danger)}
:is(.ui-button,.btn,.ui-icon-button)[aria-busy=true]{cursor:progress}
.ui-icon-button[data-variant=ghost]{border-color:transparent;background:transparent}
.ui-icon-button:disabled:hover{background:var(--ui-surface)}
.ui-menu-row:focus-visible{outline:var(--ui-border-width) solid var(--ui-focus);outline-offset:calc(-1 * var(--ui-border-width));background:var(--ui-surface-secondary)}
.ui-tooltip{max-width:var(--ui-tooltip-width)}
.ui-check{width:var(--ui-check-size);height:var(--ui-check-size)}
.ui-modal::backdrop{background:var(--ui-backdrop)}
/* Legacy modal adapters share roles while preserving their controllers and widths. */
.reminder-dialog h2{font:var(--ui-weight-normal) var(--ui-type-modal)/var(--ui-leading-control) var(--font-ui);letter-spacing:0;text-transform:none}
.reminder-dialog{border-color:var(--ui-border-subtle);box-shadow:var(--ui-shadow-modal)}
.reminder-dialog :is(input,select){font-family:var(--font-ui);font-size:var(--ui-type-control);height:var(--ui-control-height);border-color:var(--ui-border)}
.project-settings-section{padding:var(--ui-space-5) 0;border-color:var(--ui-border-subtle)}
.project-settings-option{font-family:var(--ui-font-technical);font-size:var(--ui-type-compact);font-weight:var(--ui-weight-normal);letter-spacing:var(--ui-tracking-compact)}
@media(prefers-reduced-motion:reduce){.ui-icon-button,.ui-field,.ui-select,.ui-textarea,.ui-menu-row{transition:none}}
