/* Kitchen CORE — shared visual contract, loaded after legacy module styles.
   Only presentation belongs here. Existing IDs, controllers and domain colors
   remain owned by each module. Exceptions: survey, operational zoom and print. */
html[data-kc-design="teal"] {
  --finance-accent: var(--kc-color-primary);
  --finance-accent-strong: var(--kc-color-link);
  --finance-accent-soft: var(--kc-color-primary-surface);
  --finance-sidebar-width: var(--kc-sidebar-width);
  --primary: var(--kc-color-primary);
  --primary-2: var(--kc-color-primary-hover);
  --primary2: var(--kc-color-primary-hover);
  --primary-soft: var(--kc-color-primary-surface);
  --line-soft: var(--kc-color-border);
  --green-soft: var(--kc-color-success-surface);
  --red-soft: var(--kc-color-danger-surface);
  --greenSoft: var(--kc-color-success-surface);
  --redSoft: var(--kc-color-danger-surface);
  --amber-soft: var(--kc-color-warning-surface);
  background: var(--kc-color-page);
  accent-color: var(--kc-color-primary);
}
@media screen {
  /* One quiet divider for page headers, including the operational shell. */
  html[data-kc-design="teal"] :is(body > header, .kc-page-header, .operations-header, .indicator-header) {
    border-bottom:1px solid var(--kc-color-border) !important;
  }
  html[data-kc-design="teal"] body {
    background: var(--kc-color-page) !important;
    color: var(--kc-color-text);
    font-family: var(--kc-font-family-sans);
    font-size: var(--kc-font-size-body);
    -webkit-font-smoothing: antialiased;
  }
  html[data-kc-design="teal"] :is(.kc-button, .btn, button.primary, .primary-button, .secondary-button, .ghost-button) {
    border-radius: var(--kc-component-control-radius) !important;
    font-family: var(--kc-font-family-sans);
    font-weight: var(--kc-font-weight-semibold) !important;
    letter-spacing: normal;
    text-transform: none;
    line-height: var(--kc-line-height-body);
    white-space: normal;
    overflow-wrap: break-word;
    word-break: normal;
    box-shadow: none;
    background-image: none !important;
  }
  html[data-kc-design="teal"] :is(.kc-button--primary, .btn-primary, button.primary, .primary-button) {
    background: var(--kc-color-primary) !important;
    border-color: var(--kc-color-primary) !important;
    color: var(--kc-color-white) !important;
    box-shadow: none !important;
  }
  html[data-kc-design="teal"] :is(.kc-button--primary, .btn-primary, button.primary, .primary-button):hover {
    background: var(--kc-color-primary-hover) !important;
    border-color: var(--kc-color-primary-hover) !important;
  }
  html[data-kc-design="teal"] :is(.kc-button--primary, .btn-primary, button.primary, .primary-button):active {
    background: var(--kc-color-primary-active) !important;
    border-color: var(--kc-color-primary-active) !important;
  }
  html[data-kc-design="teal"] :is(.kc-button--soft,.kc-tab[aria-selected="true"],.kc-tab.is-active,.account-tab[aria-selected="true"],.btn-light.active,.period-presets button.is-active,.period-month.is-active) {
    background: var(--kc-color-primary-surface) !important;
    border-color: var(--kc-color-primary-surface-border);
    color: var(--kc-color-primary-surface-text) !important;
    box-shadow: none !important;
  }
  html[data-kc-design="teal"] .kc-button--soft:is(:hover,:active) { background:var(--kc-color-surface-selected-hover) !important; }
  html[data-kc-design="teal"] :is(.kc-input,.kc-select,.kc-textarea,.field input,.field select,.field textarea,.account-field input) {
    border-radius: var(--kc-component-control-radius) !important;
    border-color: var(--kc-color-border-field);
    background: var(--kc-color-surface-field);
    color: var(--kc-color-text);
    font-family: var(--kc-font-family-sans);
    font-weight: var(--kc-font-weight-medium);
    line-height: var(--kc-line-height-body);
  }
  html[data-kc-design="teal"] :is(.kc-field__label,.kc-label,.field>label,.account-field label) {
    color: var(--kc-color-text-secondary);
    font-size: var(--kc-font-size-caption);
    font-weight: var(--kc-font-weight-semibold);
    letter-spacing: normal;
    text-transform: none;
  }
  html[data-kc-design="teal"] :is(button,a[href],input:not([type="hidden"]),select,textarea,summary,[tabindex]):focus-visible:not(:where(.kc-input-group--unified > .kc-input-group__control,.kc-selection-target[data-kc-selected="true"])) {
    outline: 2px solid var(--kc-color-focus) !important;
    outline-offset: 2px;
    box-shadow: none !important;
  }
  html[data-kc-design="teal"] :is(.kc-input,.kc-select,.kc-textarea)[aria-invalid="true"] { border-color: var(--kc-color-danger) !important; }
  html[data-kc-design="teal"] :is(.kc-card,.section-card,.metric-card,.builder-card,.modal-section,.account-details,.collaborators-access-card) {
    border-color: var(--kc-color-border) !important;
    border-radius: var(--kc-component-card-radius) !important;
    background: var(--kc-color-surface-card) !important;
    color: var(--kc-color-text);
    box-shadow: var(--kc-shadow-surface-card) !important;
  }
  html[data-kc-design="teal"] :is(.kc-modal,.modal,.workspace-dialog,.schedule-dialog) {
    border-radius: var(--kc-radius-shell);
    border-color: var(--kc-color-border);
    background: var(--kc-color-surface);
    color: var(--kc-color-text);
    box-shadow: var(--kc-shadow-modal);
  }
  html[data-kc-design="teal"] :is(.kc-modal__header,.modal-head,.kc-modal__footer,.modal-actions) { border-color: var(--kc-color-border); }
  html[data-kc-design="teal"] :is(.kc-modal__title,.modal-head h2) { font-size: var(--kc-font-size-dialog-title); font-weight: var(--kc-font-weight-semibold); line-height: var(--kc-line-height-heading); }
  html[data-kc-design="teal"] :is(.kc-dropdown__menu,.settings-menu,.portal-settings__menu,.portal-account-menu,.org-menu,.recurrence-menu,.contact-menu,.classification-menu) {
    border-color: var(--kc-color-border-strong);
    border-radius: var(--kc-radius-control);
    background: var(--kc-color-surface-raised);
    color: var(--kc-color-text);
    box-shadow: var(--kc-shadow-md);
  }
  html[data-kc-design="teal"] :is(.kc-alert--primary,.kc-alert--info,.account-status:not([data-state="success"]):not([data-state="danger"])) {
    background: var(--kc-color-primary-surface);
    border-color: var(--kc-color-primary-surface-border);
    color: var(--kc-color-primary-surface-text);
    box-shadow: none;
  }
  html[data-kc-design="teal"] :is(.account-status__icon,.portal-account__avatar,.portal-account-menu__avatar,.workspace-member__avatar,.account-avatar) {
    background: var(--kc-color-primary-surface) !important;
    color: var(--kc-color-primary-surface-text) !important;
    box-shadow: none !important;
  }
  html[data-kc-design="teal"] :is(.kc-empty,.empty-state,.chart-empty) { background: var(--kc-color-surface-subtle); color: var(--kc-color-text-muted); border-color: var(--kc-color-border); border-radius: var(--kc-radius-card); }
  html[data-kc-design="teal"] :is(.page-title h2,.topbar h1,.finance-header h1,.schedule-header h1,.admin-header h1,.admin-page-heading h2) {
    color: var(--kc-color-text) !important;
    font-size: clamp(24px, 2.4vw, 30px) !important;
    font-weight: var(--kc-font-weight-semibold) !important;
    line-height: var(--kc-line-height-heading) !important;
    letter-spacing: -.025em !important;
  }
  html[data-kc-design="teal"] :is(.kc-card__title,.section-heading h2,.section-heading h3) { font-weight: var(--kc-font-weight-semibold); }
  html[data-kc-design="teal"] :is(.finance-table,.responses-card table,.history-table) { font-variant-numeric: tabular-nums; color: var(--kc-color-text); }
  html[data-kc-design="teal"] :is(.finance-table,.responses-card table,.history-table) :is(th,td) { border-color: var(--kc-color-border); font-size: var(--kc-font-size-caption); line-height: var(--kc-line-height-body); }
  html[data-kc-design="teal"] :is(.finance-table,.responses-card table,.history-table) th { background: var(--kc-color-surface-subtle); color: var(--kc-color-text-secondary); font-weight: var(--kc-font-weight-semibold); text-transform: none; }
  html[data-kc-design="teal"] :is(.chart-axis,.chart-value,.cash-chart text) { font-family: var(--kc-font-family-sans); font-size: var(--kc-font-size-caption); }
  html[data-kc-design="teal"] :is(.chart-line,.cash-chart-line) { stroke: var(--kc-color-chart-primary); }
  html[data-kc-design="teal"] .chart-dot { fill: var(--kc-color-chart-primary); stroke: var(--kc-color-surface); }
  html[data-kc-design="teal"] :is(.chart-area,.cash-chart-area) { fill: var(--kc-color-primary-surface); }
  html[data-kc-design="teal"] .chart-bar:not(.is-low) { fill: var(--kc-color-chart-primary); }
  html[data-kc-design="teal"] :is(.mini-day.is-range,.period-day.is-in-range) { background: var(--kc-color-primary-surface); color: var(--kc-color-primary-surface-text); }
  html[data-kc-design="teal"] :is(.mini-day.is-start,.mini-day.is-end,.period-day.is-selected) { background: var(--kc-color-primary); color: var(--kc-color-white); }
  html[data-kc-design="teal"] .app-item__icon { box-shadow: none !important; }
  html[data-kc-design="teal"] .account-intro { background: var(--kc-color-primary-800); }
  html[data-kc-design="teal"] .account-link-button { color: var(--kc-color-link); font-size: var(--kc-font-size-caption); }
  html[data-kc-design="teal"] :is(.calendar-view-option.active,.recurrence-option.active,.recurrence-option:hover,.org-option.active,.org-option:hover,.contact-option.active,.contact-option:hover,.event-type-option.active,.event-type-option:hover,.mini-calendar-day.today) {
    background: var(--kc-color-primary-surface) !important; color: var(--kc-color-primary-surface-text) !important;
  }
  html[data-kc-design="teal"] :is(.day.today,.day.drag-over) { background: var(--kc-color-primary-surface) !important; border-color: var(--kc-color-primary-surface-border) !important; box-shadow:none !important; }
  html[data-kc-design="teal"] :is(.mini-calendar-day.active,.day.today .day-number,.recurrence-apply,.calendar-type-filters .quick-filter-chip.active) {
    background: var(--kc-color-primary) !important; color: var(--kc-color-white) !important; box-shadow: none !important;
  }
  html[data-kc-design="teal"] :is(.notice,.task-chip,.kanban-card,.holiday-chip,.today-priority-alert,.event-priority-badge,.burst-core) { box-shadow: none !important; }
  html[data-kc-design="teal"][data-kc-theme="dark"] :is(.metric-card strong,.metric-card__value,.schedule-eyebrow,.modal-kicker,.section-kicker) { color: var(--kc-color-link); }
  html[data-kc-design="teal"][data-kc-theme="dark"] :is(.metric-card--income,.metric-card--income strong) { color: var(--kc-color-success-surface-text); }
  html[data-kc-design="teal"][data-kc-theme="dark"] :is(.metric-card--expense,.metric-card--expense strong) { color: var(--kc-color-danger-surface-text); }
  html[data-kc-design="teal"] :is(.account-form__actions,.kc-modal__footer,.modal-actions) { flex-wrap: wrap; gap: var(--kc-space-3); }
  html[data-kc-design="teal"] .kc-help__bubble { font-size: var(--kc-font-size-caption); }
  /* The help trigger overflows the label row; all three money/date fields keep
     the same baseline without squeezing the native date control. */
  html[data-kc-design="teal"] .payable-field-heading { height:calc(var(--kc-font-size-caption) * var(--kc-line-height-body)); }
  html[data-kc-design="teal"] .mini-day.is-outside { color:var(--kc-color-text-muted); }
  html[data-kc-design="teal"][data-kc-theme="dark"] .holiday-chip-meta { color:inherit; }
  html[data-kc-design="teal"] .media-callout { background:var(--kc-color-primary); box-shadow:var(--kc-shadow-sm); }
}
@media screen and (max-width:640px) {
  html[data-kc-design="teal"] :is(.kc-input,.kc-select,.kc-textarea,.account-field input,.field input,.field select,.field textarea) { font-size: 16px !important; }
  html[data-kc-design="teal"] :is(.kc-modal__footer,.modal-actions) > button { flex: 1 1 auto; }
  html[data-kc-design="teal"] :is(.kc-modal,.workspace-dialog) { max-width: calc(100vw - 16px); }
}
@media screen and (pointer:coarse) {
  html[data-kc-design="teal"] :is(.kc-button,.btn,.kc-tab,.account-tab,.account-link-button,.kc-help__trigger,.portal-tool) { min-height: var(--kc-touch-target-min) !important; }
  html[data-kc-design="teal"] :is(.kc-button--icon,.kc-help__trigger,.portal-tool) { min-width: var(--kc-touch-target-min) !important; }
  html[data-kc-design="teal"] .period-picker__button { min-height:var(--kc-touch-target-min) !important; }
}
@media (prefers-reduced-motion:reduce) {
  html[data-kc-design="teal"] :is(.kc-button,.btn,.app-item,.kc-skeleton) { transition: none; animation: none; }
}
@media print {
  html[data-kc-design="teal"] { color-scheme: light; --kc-color-page:#fff; --kc-color-surface:#fff; --kc-color-surface-subtle:#fff; --kc-color-text:#111; --kc-color-text-secondary:#333; --kc-color-text-muted:#444; --kc-color-border:#bbb; --kc-color-border-strong:#999; }
}

@media screen {
/* Legacy bridge to the shared responsive contract. No business handlers change. */
html[data-kc-design="teal"] body .kc-button:not(.kc-button--icon):not(.kc-help__trigger){height:auto!important;max-width:100%;min-height:44px;padding-block:var(--kc-space-3)!important;line-height:1.35!important;white-space:normal!important;word-break:normal;overflow-wrap:break-word;flex-shrink:0;box-sizing:border-box}
html[data-kc-design="teal"] body .kc-button--icon{flex-shrink:0}
html[data-kc-design="teal"] body :is(.kc-toolbar,.kc-toolbar__group,.kc-cluster,.kc-modal__footer,.kc-card__footer,.modal-actions){min-width:0;flex-wrap:wrap;gap:var(--kc-space-3)}
html[data-kc-design="teal"] body :is(.kc-toolbar,.kc-toolbar__group,.kc-modal__header,.kc-card__header,.kc-alert)>*{min-width:0;max-width:100%}
html[data-kc-design="teal"] body :is(.kc-modal__header,.kc-card__header)>:is(.kc-button--icon,.close-btn){flex:none}
html[data-kc-design="teal"] body :is(.kc-alert,.kc-card,.kc-modal) fieldset{min-inline-size:0;max-width:100%;box-sizing:border-box}
html[data-kc-design="teal"] body :is(.kc-alert,.kc-card,.kc-modal) legend{max-inline-size:100%;white-space:normal;overflow-wrap:anywhere}
/* The backdrop is an independent, non-interactive layer. Child hover/focus
   paints cannot change its filter or create a second animated blur surface. */
html[data-kc-design="teal"] body :is(.kc-modal-backdrop,.modal-backdrop,.modal-bg):not(.inventory-backdrop--page):not(.pricing-center--page){isolation:isolate;background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;transition:none!important}
html[data-kc-design="teal"] body :is(.kc-modal-backdrop,.modal-backdrop,.modal-bg):not(.inventory-backdrop--page):not(.pricing-center--page)::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:var(--kc-color-overlay);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);transition:none;animation:none}
html:has(#modalConfirmacaoAdmin.active) body :is(.kc-modal-backdrop,.modal-backdrop):not(#modalConfirmacaoAdmin)::before{backdrop-filter:none;-webkit-backdrop-filter:none}
html[data-kc-design="teal"] body :is(.kc-modal,.modal,.confirm-modal) :is(button,.kc-button){transition-property:background-color,border-color,color,box-shadow!important;transform:none!important}
html[data-kc-design="teal"] body #modalConfirmacaoAdmin .confirm-modal{max-width:100%;overflow:auto;padding:var(--kc-layout-inset)!important}
html[data-kc-design="teal"] body #modalConfirmacaoAdmin .modal-actions{flex-wrap:wrap}
html[data-kc-design="teal"] body #modalConfirmacaoAdmin .modal-actions button{height:auto;max-width:100%;white-space:normal;flex:0 1 auto;overflow-wrap:break-word}
/* Page-mode inventory still needs a surface inset, independent of modal layout. */
html[data-kc-page="admin"] body .inventory-backdrop--page>.inventory-modal{max-height:none;overflow:visible}
html[data-kc-page="admin"] body .inventory-backdrop--page .inventory-workspace{padding:var(--kc-layout-inset)!important}
html[data-kc-page="admin"] body :is(.inventory-location-grid,.inventory-start-grid,.inventory-schedule-location-list){min-width:0;gap:var(--kc-space-4)}
html[data-kc-page="admin"] body .inventory-schedule-location-card{min-height:0;padding:var(--kc-layout-inset);gap:var(--kc-space-4)}
html[data-kc-page="admin"] body .inventory-schedule-location-card>header{flex-wrap:wrap}
html[data-kc-page="admin"] body .inventory-schedule-location-preview{min-height:0}
html[data-kc-page="admin"] body .inventory-schedule-location-card>footer{position:static;padding:0;margin:var(--kc-space-2) 0 0;border:0;background:transparent;min-height:0}
html[data-kc-page="admin"] body .inventory-schedule-location-tools{grid-template-columns:minmax(0,420px)}
html[data-kc-page="admin"] body .inventory-last-count{flex-wrap:wrap;gap:var(--kc-space-3)}
html[data-kc-page="admin"] body .inventory-last-count>span{flex:1 1 220px;min-width:0}
html[data-kc-page="admin"] body .inventory-last-count>.kc-button{flex:0 0 auto}
@media(max-width:700px){
 html[data-kc-design="teal"] body :is(.kc-modal__header,.kc-modal__footer,.kc-card__header,.kc-card__body,.kc-card__footer){padding:var(--kc-layout-inset)!important}
 html[data-kc-design="teal"] body :is(.kc-modal,.modal){max-width:100%;box-sizing:border-box}
 html[data-kc-design="teal"] body .kc-modal__body:not(:has(>.inventory-workspace,>.inventory-location-workspace)){padding:var(--kc-layout-inset)}
 html[data-kc-design="teal"] body :is(.kc-tabs,#stockPageTabs,.inventory-tabs){flex-wrap:wrap!important;overflow:visible!important;max-width:100%;gap:var(--kc-space-1);padding:var(--kc-space-1)!important;border-radius:var(--kc-radius-control)}
 html[data-kc-design="teal"] body :is(.kc-tabs,#stockPageTabs,.inventory-tabs)>.kc-tab{flex:1 1 110px!important;white-space:normal!important;height:auto!important;min-height:44px;padding:var(--kc-space-2) var(--kc-space-3)!important;line-height:1.35}
 html[data-kc-design="teal"] body .kc-empty{min-height:0;padding:var(--kc-space-7) var(--kc-layout-inset)!important;gap:var(--kc-space-3)}
 html[data-kc-design="teal"] body .kc-empty>:is(h3,p){margin:0!important}
 html[data-kc-page="admin"] body .inventory-schedule-location-list{grid-template-columns:minmax(0,1fr);max-height:none;overflow:visible}
 html[data-kc-page="admin"] body .inventory-location-card{padding:var(--kc-layout-inset)!important}
 html[data-kc-page="admin"] body .inventory-last-count>span{flex-basis:auto}
}
@media(max-width:360px){
 html[data-kc-design="teal"] body .kc-alert{grid-template-columns:minmax(0,1fr)!important}
 html[data-kc-design="teal"] body :is(.kc-modal__footer,.kc-stock-footer-actions,.inventory-schedule-editor__actions,.modal-actions)>.kc-button{flex:1 1 100%}
 html[data-kc-design="teal"] body #modalConfirmacaoAdmin .modal-actions button{flex:1 1 100%}
}
/* Dense month grids keep readable cells and scroll inside their own surface. */
html[data-kc-page="calendario"] body .calendar{grid-template-columns:repeat(7,minmax(160px,1fr));max-width:100%;overflow-x:auto;scrollbar-width:thin;scroll-padding-inline:var(--kc-space-3)}
html[data-kc-design="teal"] .kc-state-card.kc-card { border-color:var(--kc-state-edge)!important; }
html[data-kc-design="teal"] .kc-state-card--message.kc-card { background:var(--kc-color-communication-surface)!important; }
html[data-kc-design="teal"] .kc-selection-target[data-kc-selected="true"] { box-shadow:var(--kc-selection-shadow)!important; }
html[data-kc-design="teal"] .kc-modal__title { font-size:var(--kc-font-size-dialog-title); }
html[data-kc-design="teal"] :is(.kc-modal__header,.kc-modal__footer) {flex-shrink:0}
html[data-kc-design="teal"] .kc-modal__header>.kc-button--icon {flex:none}
html[data-kc-design="teal"] .inventory-schedule-editor>header {display:flex;flex-wrap:wrap;gap:var(--kc-space-3);padding:var(--kc-layout-inset)}
html[data-kc-design="teal"] .inventory-schedule-editor>header>div {display:grid;gap:var(--kc-space-2);min-width:0}
html[data-kc-design="teal"] .kc-button--icon svg {width:20px;height:20px;flex:none}
}
