/* KartData UI v1.0.0 - contrato visual congelado */
:root{
  color-scheme:light;
  --background:oklch(1 0 0);--foreground:oklch(.147 .004 49.25);
  --card:oklch(1 0 0);--card-foreground:oklch(.147 .004 49.25);
  --popover:oklch(1 0 0);--popover-foreground:oklch(.147 .004 49.25);
  --primary:oklch(.527 .154 150.069);--primary-foreground:oklch(.982 .018 155.826);
  --secondary:oklch(.967 .001 286.375);--secondary-foreground:oklch(.21 .006 285.885);
  --muted:oklch(.97 .001 106.424);--muted-foreground:oklch(.553 .013 58.071);
  --accent:oklch(.527 .154 150.069);--accent-foreground:oklch(.982 .018 155.826);
  --destructive:oklch(.577 .245 27.325);--border:oklch(.923 .003 48.717);--input:oklch(.923 .003 48.717);--ring:oklch(.709 .01 56.259);
  --chart-1:oklch(.809 .105 251.813);--chart-2:oklch(.623 .214 259.815);--chart-3:oklch(.546 .245 262.881);--chart-4:oklch(.488 .243 264.376);--chart-5:oklch(.424 .199 265.638);
  --radius:.875rem;--sidebar:oklch(.985 .001 106.423);--sidebar-foreground:oklch(.147 .004 49.25);--sidebar-primary:oklch(.627 .194 149.214);--sidebar-primary-foreground:oklch(.982 .018 155.826);--sidebar-accent:oklch(.97 .001 106.424);--sidebar-accent-foreground:oklch(.216 .006 56.043);--sidebar-border:oklch(.923 .003 48.717);--sidebar-ring:oklch(.709 .01 56.259);
  --kd-color-background:var(--background);
  --kd-color-surface:var(--card);
  --kd-color-surface-raised:var(--secondary);
  --kd-color-surface-overlay:var(--muted);
  --kd-color-foreground:var(--foreground);
  --kd-color-muted:var(--muted-foreground);
  --kd-color-subtle:var(--muted-foreground);
  --kd-color-border:var(--border);
  --kd-color-border-strong:var(--input);
  --kd-color-primary:var(--primary);
  --kd-color-primary-foreground:var(--primary-foreground);
  --kd-color-info:var(--chart-2);
  --kd-chart-gradient:linear-gradient(to bottom,color-mix(in srgb,var(--kd-chart-start,var(--chart-2)) var(--kd-chart-start-opacity,100%),transparent),color-mix(in srgb,var(--kd-chart-end,var(--chart-2)) var(--kd-chart-end-opacity,30%),transparent));
  --kd-chart-today-gradient:linear-gradient(to bottom,color-mix(in srgb,var(--kd-chart-today-start,var(--primary)) var(--kd-chart-today-start-opacity,100%),transparent),color-mix(in srgb,var(--kd-chart-today-end,var(--primary)) var(--kd-chart-today-end-opacity,30%),transparent));
  --kd-color-warning:#f8d447;
  --kd-color-danger:var(--destructive);
  --kd-color-focus:color-mix(in oklab,var(--ring) 42%,transparent);
  --kd-switch-track:#E8E8E8;
  --kd-switch-thumb:#FFFFFF;
  --kd-gradient-brand:linear-gradient(135deg,var(--primary) 0%,var(--accent) 52%,var(--chart-2) 100%);
  --kd-font-sans:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --kd-font-data:"JetBrains Mono","Courier New",monospace;
  --kd-type-display:700 var(--kd-type-display-size,56px)/1.05 var(--kd-type-display-font,var(--kd-font-sans));
  --kd-type-heading:700 var(--kd-type-heading-size,36px)/1.15 var(--kd-type-heading-font,var(--kd-font-sans));
  --kd-type-title:650 var(--kd-type-title-size,20px)/1.3 var(--kd-type-title-font,var(--kd-font-sans));
  --kd-type-body:400 var(--kd-type-body-size,16px)/1.6 var(--kd-type-body-font,var(--kd-font-sans));
  --kd-type-label:600 var(--kd-type-label-size,13px)/1.35 var(--kd-type-label-font,var(--kd-font-sans));
  --kd-type-caption:400 var(--kd-type-caption-size,12px)/1.45 var(--kd-type-caption-font,var(--kd-font-sans));
  --kd-type-data:700 var(--kd-type-data-size,24px)/1.1 var(--kd-type-data-font,var(--kd-font-data));
  --kd-radius-xs:calc(var(--radius) - 8px);
  --kd-radius-sm:calc(var(--radius) - 4px);
  --kd-radius-md:var(--radius);
  --kd-radius-lg:calc(var(--radius) + 4px);
  --kd-space-1:4px;
  --kd-space-2:8px;
  --kd-space-3:12px;
  --kd-space-4:16px;
  --kd-space-5:24px;
  --kd-space-6:32px;
  --kd-motion-fast:150ms;
  --kd-motion-base:220ms;
  --kd-ease:cubic-bezier(.2,.8,.2,1);
  --kd-shadow-card:0 14px 36px rgba(15,23,42,.12);
  --kd-shadow-navigation:0 18px 44px rgba(15,23,42,.16);
  --kd-shadow-panel:0 14px 38px rgba(0,0,0,.22);
}
.dark{color-scheme:dark;--background:#000517;--foreground:oklch(.985 .001 106.423);--card:#0D0D11;--card-foreground:oklch(.985 .001 106.423);--popover:#0D0D11;--popover-foreground:oklch(.985 .001 106.423);--primary:oklch(.448 .119 151.328);--primary-foreground:oklch(.982 .018 155.826);--secondary:oklch(.274 .006 286.033);--secondary-foreground:oklch(.985 0 0);--muted:oklch(.268 .007 34.298);--muted-foreground:oklch(.709 .01 56.259);--accent:oklch(.448 .119 151.328);--accent-foreground:oklch(.982 .018 155.826);--destructive:oklch(.704 .191 22.216);--border:oklch(1 0 0 / 10%);--input:oklch(1 0 0 / 15%);--ring:oklch(.553 .013 58.071);--chart-1:oklch(.809 .105 251.813);--chart-2:oklch(.623 .214 259.815);--chart-3:oklch(.546 .245 262.881);--chart-4:oklch(.488 .243 264.376);--chart-5:oklch(.424 .199 265.638);--sidebar:#0D0D11;--sidebar-foreground:oklch(.985 .001 106.423);--sidebar-primary:oklch(.723 .219 149.579);--sidebar-primary-foreground:oklch(.982 .018 155.826);--sidebar-accent:oklch(.268 .007 34.298);--sidebar-accent-foreground:oklch(.985 .001 106.423);--sidebar-border:oklch(1 0 0 / 10%);--sidebar-ring:oklch(.553 .013 58.071);--kd-switch-track:#3F3F46;--kd-shadow-card:0 16px 40px rgba(0,0,0,.38);--kd-shadow-navigation:0 20px 52px rgba(0,0,0,.48)}

*,*::before,*::after{box-sizing:border-box}
:focus-visible{outline:2px solid var(--kd-color-info);outline-offset:2px}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}

:root{
  --kd-icon-margin:var(--kd-spacing-desktop-iconTop,0px) var(--kd-spacing-desktop-iconRight,0px) var(--kd-spacing-desktop-iconBottom,0px) var(--kd-spacing-desktop-iconLeft,0px);
  --kd-layout-icon:var(--kd-spacing-desktop-icon,12px);
  --kd-layout-text:var(--kd-spacing-desktop-text,8px);
  --kd-card-out-top:var(--kd-spacing-desktop-outerTop,0px);
  --kd-card-out-right:var(--kd-spacing-desktop-outerRight,0px);
  --kd-card-out-bottom:var(--kd-spacing-desktop-outerBottom,0px);
  --kd-card-out-left:var(--kd-spacing-desktop-outerLeft,0px);
  --kd-layout-tabs:var(--kd-spacing-desktop-tabs,20px);
  --kd-layout-cards:var(--kd-spacing-desktop-cards,12px);
  --kd-layout-blocks:var(--kd-spacing-desktop-blocks,20px);
  --kd-card-top:var(--kd-spacing-desktop-top,20px);
  --kd-card-right:var(--kd-spacing-desktop-right,20px);
  --kd-card-bottom:var(--kd-spacing-desktop-bottom,20px);
  --kd-card-left:var(--kd-spacing-desktop-left,20px);
}
/* Notification surfaces share the Studio's responsive internal padding. */
:is(.kdop-notification-panel,.kdui-notification-center)>header,
.kdui-notification-center .home-calendar-notifications-head,
.kdop-notification-panel>button,
.kdui-notification-center .home-calendar-notification,
.kdop-notification-empty,
.kdui-notification-center .home-calendar-notification-empty,
:is(.kdop-notification-panel,.kdui-notification-center) :is(.kdui-reminder-preferences,.kdop-notification-preferences,.home-calendar-defaults)>summary{
  box-sizing:border-box;
  padding:var(--kd-card-top) var(--kd-card-right) var(--kd-card-bottom) var(--kd-card-left);
}
:is(.kdop-notification-panel,.kdui-notification-center) :is(.kdui-reminder-preferences,.kdop-notification-preferences,.home-calendar-defaults)>div{
  box-sizing:border-box;
  padding:0 var(--kd-card-right) var(--kd-card-bottom) var(--kd-card-left);
}
@media(max-width:600px){:root{
  --kd-icon-margin:var(--kd-spacing-mobile-iconTop,0px) var(--kd-spacing-mobile-iconRight,0px) var(--kd-spacing-mobile-iconBottom,0px) var(--kd-spacing-mobile-iconLeft,0px);
  --kd-layout-icon:var(--kd-spacing-mobile-icon,12px);
  --kd-layout-text:var(--kd-spacing-mobile-text,8px);
  --kd-card-out-top:var(--kd-spacing-mobile-outerTop,0px);
  --kd-card-out-right:var(--kd-spacing-mobile-outerRight,0px);
  --kd-card-out-bottom:var(--kd-spacing-mobile-outerBottom,0px);
  --kd-card-out-left:var(--kd-spacing-mobile-outerLeft,0px);
  --kd-layout-tabs:var(--kd-spacing-mobile-tabs,16px);
  --kd-layout-cards:var(--kd-spacing-mobile-cards,12px);
  --kd-layout-blocks:var(--kd-spacing-mobile-blocks,16px);
  --kd-card-top:var(--kd-spacing-mobile-top,16px);
  --kd-card-right:var(--kd-spacing-mobile-right,16px);
  --kd-card-bottom:var(--kd-spacing-mobile-bottom,16px);
  --kd-card-left:var(--kd-spacing-mobile-left,16px);
}}
.kdui-card>.kdui-card-content{padding:var(--kd-card-top) var(--kd-card-right) var(--kd-card-bottom) var(--kd-card-left)}
.kdui-card.kdui-card{margin:var(--kd-card-out-top) var(--kd-card-out-right) var(--kd-card-out-bottom) var(--kd-card-out-left);min-width:0}
.kdui-card>.kdui-card-header{padding:var(--kd-card-top) var(--kd-card-right) 0 var(--kd-card-left)}
.kdui-card-header .kdui-card-description{margin-top:var(--kd-layout-text)}
.kdui-card>.kdui-card-header+.kdui-card-content{padding-top:var(--kd-layout-text)}
.session-metrics-grid .session-metric-heading{margin-bottom:var(--kd-layout-text)}
.session-metrics-grid .session-metric-value+p{margin-top:var(--kd-layout-text);margin-bottom:0}
#t-ov .card>.card-title{margin-bottom:var(--kd-layout-text)}
.session-metrics-grid.session-metrics-grid,.catalog-grid.catalog-grid{gap:var(--kd-layout-cards)}
#page-dashboard>[role="tabpanel"]{padding-top:var(--kd-layout-tabs)}
#t-ov>.card{padding:var(--kd-card-top) var(--kd-card-right) var(--kd-card-bottom) var(--kd-card-left)}
#t-ov>.card,#t-ov>.session-metrics-grid{margin:var(--kd-card-out-top) var(--kd-card-out-right) var(--kd-card-out-bottom) var(--kd-card-out-left)}
#t-ov>:is(.card,.session-metrics-grid):has(+:is(.card,.session-metrics-grid)){margin-bottom:0}
#t-ov>:is(.card,.session-metrics-grid)+:is(.card,.session-metrics-grid){margin-top:var(--kd-layout-blocks)}
#t-ov .session-summary-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--kd-layout-cards);margin-bottom:var(--kd-layout-text)}
#t-ov .catalog-session-row{gap:var(--kd-layout-cards)}
#t-ov .catalog-session-details,#t-ov .session-summary-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--kd-layout-text) var(--kd-layout-cards);margin-top:var(--kd-layout-text)}
#t-ov .catalog-session-detail,#t-ov .session-summary-detail{display:grid;gap:var(--kd-layout-text);min-width:0;overflow-wrap:anywhere}
#t-ov .catalog-session-detail>span,#t-ov .session-summary-detail>span{font:var(--kd-type-label);color:var(--kd-color-muted)}
#t-ov .catalog-session-detail>strong,#t-ov .session-summary-detail>strong,#t-ov .catalog-session-name{font:var(--kd-type-body);color:var(--kd-color-foreground)}
#t-ov .catalog-session-meta{font:var(--kd-type-caption);color:var(--kd-color-muted);margin-top:var(--kd-layout-text)}
@media(max-width:600px){#t-ov .catalog-session-details,#t-ov .session-summary-details{grid-template-columns:minmax(0,1fr)}}

/* Shared by Studio (including preview frames) and app. User input tokens own
   field presentation; legacy unlayered rules cannot override this contract. */
:root{
  --kd-input-surface:var(--kd-input-background-light,var(--kd-input-background,var(--kd-color-surface-raised)));
  --kd-input-outline:var(--kd-input-border-light,var(--kd-input-border,var(--kd-color-border)));
}
:root.dark{
  --kd-input-surface:var(--kd-input-background-dark,var(--kd-input-background,var(--kd-color-surface-raised)));
  --kd-input-outline:var(--kd-input-border-dark,var(--kd-input-border,var(--kd-color-border)));
}
@layer kd-input-contract{
  :where(input:not([type=checkbox],[type=radio],[type=range],[type=color],[type=file],[type=hidden],[type=button],[type=submit],[type=reset],[type=image]),textarea,select,.kd-select-trigger,.kd-date-trigger,.event-time-trigger){
    background:var(--kd-input-surface)!important;
    border:1px solid var(--kd-input-outline)!important;
    color:var(--kd-input-foreground)!important;
    border-radius:var(--kd-input-radius,8px)!important;
    font-family:var(--kd-input-font-family,var(--kd-font-sans))!important;
    font-size:var(--kd-input-font-size,14px)!important;
    font-weight:400!important;
    min-height:var(--kd-input-height,40px)!important;
    box-sizing:border-box;
  }
  /* The date field has one outer surface, not a second box around its text. */
  textarea{min-height:max(96px,var(--kd-input-height,40px))!important}
  .kd-date-trigger input{
    background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;
  }
  :where(input,textarea,select):focus-visible{outline:2px solid var(--kd-color-focus)!important;outline-offset:2px}
  :where(input,textarea,select)[aria-invalid=true]{border-color:var(--kd-color-danger)!important}
}

.kdui-text-body{font:var(--kd-type-body);color:var(--kd-color-muted);margin-block:var(--kd-layout-text)}
.kdui-text-label{font:var(--kd-type-label);color:var(--kd-color-muted)}
.kdui-text-caption{font:var(--kd-type-caption);color:var(--kd-color-muted);margin-block:var(--kd-layout-text)}
.kdui-text-data{font:var(--kd-type-data);font-variant-numeric:tabular-nums}
.session-segment-totals{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:var(--kd-layout-cards,12px);margin-top:var(--kd-layout-text,8px);font:var(--kd-type-caption);font-variant-numeric:tabular-nums}
.kdui-table-wrap{width:100%;overflow-x:auto}
.kdui-table{width:100%;border-collapse:collapse;font:var(--kd-type-caption)}
.kdui-table th,.kdui-table td{padding:12px;text-align:left;border-bottom:1px solid var(--kd-color-border);white-space:nowrap}
.kdui-table th{color:var(--kd-color-muted);font:var(--kd-type-label)}
.kdui-table td{font-family:var(--kd-font-data);font-variant-numeric:tabular-nums}
.kdui-table .is-best{color:var(--kd-color-primary)}
.kdui-table .is-loss{color:var(--kd-color-danger)}
@media(max-width:720px){.kdui-table th,.kdui-table td{padding:10px 8px}}
.session-metrics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--kd-space-3,12px)}
.session-metric-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--kd-space-2,8px);font:var(--kd-type-body)}
.session-metric-value{font:var(--kd-type-data);font-variant-numeric:tabular-nums;color:var(--kd-color-foreground)}
.session-metric-value[data-metric="meanlap"]{color:var(--kd-color-info)}
.session-metric-value[data-metric="bestlap"]{color:var(--kd-color-warning)}
.session-metric-value[data-metric="theorical"]{color:var(--kd-color-primary)}
.session-speed-metrics{grid-template-columns:repeat(3,minmax(0,1fr));margin-block:12px}
.session-metric-value[data-metric="vmin"]{color:var(--kd-color-primary)}
.session-metric-value[data-metric="vmax"]{color:var(--kd-color-info)}
.session-metric-value[data-metric="vmean"]{color:var(--kd-color-warning)}
.session-metric-value small{margin-inline-start:var(--kd-space-2,8px);font:var(--kd-type-caption);color:var(--kd-color-muted)}
.session-metrics-grid p,.session-metrics-grid [role=status]{font:var(--kd-type-caption);color:var(--kd-color-muted)}
@media(max-width:600px){.session-metrics-grid{grid-template-columns:minmax(0,1fr)}}
:root{--kd-button-primary-foreground:var(--kd-button-text-light,#fff);--kd-input-foreground:var(--kd-input-text-light,#171717)}.dark{--kd-button-primary-foreground:var(--kd-button-text-dark,#000517);--kd-input-foreground:var(--kd-input-text-dark,#fafafa)}
:root{--kd-button-danger-background:color-mix(in oklab,var(--kd-color-danger) 14%,transparent);--kd-button-danger-border:color-mix(in oklab,var(--kd-color-danger) 42%,transparent)}
.kdui-button{min-height:var(--kd-button-height,44px);border:1px solid transparent;border-radius:var(--kd-button-radius,var(--kd-radius-sm));display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 16px;font:var(--kd-button-weight,600) var(--kd-button-font-size,14px)/1 var(--kd-font-sans);cursor:pointer;transition:background var(--kd-motion-fast) var(--kd-ease),border-color var(--kd-motion-fast) var(--kd-ease),color var(--kd-motion-fast) var(--kd-ease),opacity var(--kd-motion-fast) var(--kd-ease)}
.kdui-button.is-primary{background:var(--kd-color-primary);color:var(--kd-button-primary-foreground)}.kdui-button.is-primary:hover{background:color-mix(in oklab,var(--kd-color-primary) 88%,white)}.kdui-button.is-neutral{background:var(--kd-color-surface-raised);color:var(--kd-color-foreground);border-color:var(--kd-color-border)}.kdui-button.is-outline{background:transparent;color:var(--kd-color-foreground);border-color:var(--kd-color-border-strong)}.kdui-button.is-danger{background:var(--kd-button-danger-background);color:var(--kd-color-danger);border-color:var(--kd-button-danger-border)}.kdui-button.is-ghost{background:transparent;color:var(--kd-color-muted)}.kdui-button.is-sm{min-height:36px;padding:0 12px;font-size:calc(var(--kd-button-font-size,14px) - 1px)}.kdui-button.is-lg{min-height:52px;padding:0 24px;font-size:calc(var(--kd-button-font-size,14px) + 1px)}.kdui-button.is-icon{width:44px;padding:0}.kdui-button:disabled{cursor:not-allowed;opacity:.42}.kdui-spinner{width:15px;height:15px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:kdui-spin .7s linear infinite}@keyframes kdui-spin{to{transform:rotate(360deg)}}
.kdui-card{border:1px solid var(--kd-color-border);border-radius:var(--kd-radius-md);background:var(--kd-color-surface);box-shadow:var(--kd-shadow-card,var(--kd-shadow-panel));overflow:hidden}.kdui-card-header{padding:20px 20px 0}.kdui-card-title{margin:0;color:var(--kd-color-foreground);font:650 16px/1.3 var(--kd-font-sans)}.kdui-card-description{margin:6px 0 0;color:var(--kd-color-muted);font:400 13px/1.5 var(--kd-font-sans)}.kdui-card-content{padding:20px}
.kdui-badge{min-height:24px;border-radius:999px;display:inline-flex;align-items:center;padding:3px 9px;border:1px solid var(--kd-color-border);background:var(--kd-color-surface-raised);color:var(--kd-color-muted);font:650 11px/1.2 var(--kd-font-sans)}.kdui-badge.is-success{color:var(--kd-color-primary);border-color:color-mix(in oklab,var(--kd-color-primary) 32%,transparent);background:color-mix(in oklab,var(--kd-color-primary) 10%,transparent)}.kdui-badge.is-info{color:var(--kd-color-info);border-color:color-mix(in oklab,var(--kd-color-info) 32%,transparent);background:color-mix(in oklab,var(--kd-color-info) 10%,transparent)}.kdui-badge.is-warning{color:var(--kd-color-warning);border-color:color-mix(in oklab,var(--kd-color-warning) 32%,transparent);background:color-mix(in oklab,var(--kd-color-warning) 10%,transparent)}.kdui-badge.is-danger{color:var(--kd-color-danger);border-color:color-mix(in oklab,var(--kd-color-danger) 32%,transparent);background:color-mix(in oklab,var(--kd-color-danger) 10%,transparent)}
.kdui-field{display:grid;gap:7px;color:var(--kd-color-muted);font:600 12px/1.3 var(--kd-font-sans)}.kdui-field input{width:100%;min-height:var(--kd-input-height,44px);border:1px solid var(--kd-input-border,var(--kd-color-border));border-radius:var(--kd-input-radius,var(--kd-radius-sm));background:var(--kd-input-background,var(--kd-color-surface-raised));color:var(--kd-input-foreground);padding:0 12px;font:400 var(--kd-input-font-size,16px)/1.2 var(--kd-font-sans)}.kdui-field input[aria-invalid=true]{border-color:var(--kd-color-danger)}.kdui-field small{font-weight:400;color:var(--kd-color-subtle)}.kdui-field small.is-error{color:var(--kd-color-danger)}
.kdui-alert{width:100%;display:grid;gap:4px;padding:14px 16px;border:1px solid var(--kd-color-border);border-left:4px solid currentColor;border-radius:var(--kd-radius-sm);background:var(--kd-color-surface-raised);font:var(--kd-type-caption)}.kdui-alert strong{font:var(--kd-type-label)}.kdui-alert.is-info{color:var(--kd-color-info)}.kdui-alert.is-success{color:var(--kd-color-primary)}.kdui-alert.is-warning{color:var(--kd-color-warning)}.kdui-alert.is-danger{color:var(--kd-color-danger)}.kdui-alert>div{color:var(--kd-color-foreground)}
.kdui-progress{width:100%;display:grid;gap:8px}.kdui-progress>div:first-child{display:flex;justify-content:space-between;gap:12px;font:var(--kd-type-label)}.kdui-progress>div:last-child{height:8px;overflow:hidden;border-radius:999px;background:var(--kd-color-surface-overlay)}.kdui-progress i{display:block;height:100%;border-radius:inherit;background:var(--kd-gradient-brand);transition:width var(--kd-motion-base) var(--kd-ease)}
.kdui-empty{width:100%;display:grid;justify-items:center;gap:8px;padding:24px;text-align:center}.kdui-empty>span{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--kd-color-surface-overlay);color:var(--kd-color-primary)}.kdui-empty strong{font:var(--kd-type-title)}.kdui-empty p{max-width:42ch;margin:0 0 6px;color:var(--kd-color-muted);font:var(--kd-type-caption)}
.kdui-dialog-layer{position:fixed;inset:0;z-index:300;display:grid;place-items:center;padding:20px}.kdui-dialog-scrim{position:absolute;inset:0;border:0;background:rgba(0,0,0,.62)}.kdui-dialog{position:relative;width:min(480px,100%);overflow:hidden;border:1px solid var(--kd-color-border);border-radius:var(--kd-radius-lg);background:var(--kd-color-surface);box-shadow:var(--kd-shadow-panel)}.kdui-dialog>header{display:flex;justify-content:space-between;gap:16px;padding:20px;border-bottom:1px solid var(--kd-color-border)}.kdui-dialog h2{margin:0;font:var(--kd-type-title)}.kdui-dialog header p{margin:5px 0 0;color:var(--kd-color-muted);font:var(--kd-type-caption)}.kdui-dialog>header>button{width:44px;height:44px;border:0;border-radius:var(--kd-radius-sm);background:transparent;color:inherit;font-size:24px;cursor:pointer}.kdui-dialog-body{padding:20px;font:var(--kd-type-body)}.kdui-dialog>footer{display:flex;justify-content:flex-end;gap:8px;padding:16px 20px;border-top:1px solid var(--kd-color-border)}
.kdui-tabs{display:flex;gap:4px;padding:4px;border:1px solid var(--kd-color-border);border-radius:var(--kd-radius-sm);background:var(--kd-color-background);overflow-x:auto}.kdui-tabs button{min-height:40px;flex:1;border:0;border-radius:6px;background:transparent;color:var(--kd-color-muted);padding:0 14px;white-space:nowrap;font:600 13px/1 var(--kd-font-sans);cursor:pointer}.kdui-tabs button[aria-selected=true]{background:var(--kd-color-surface-overlay);color:var(--kd-color-foreground)}
.kdui-skeleton{height:18px;border-radius:6px;background:linear-gradient(90deg,var(--kd-color-surface-raised) 25%,var(--kd-color-surface-overlay) 45%,var(--kd-color-surface-raised) 65%);background-size:240% 100%;animation:kdui-shimmer 1.4s ease-in-out infinite}@keyframes kdui-shimmer{to{background-position:-240% 0}}

/* Papéis tipográficos semânticos: as prévias acompanham o painel do Studio. */
.kdui-button{font-family:var(--kd-type-label-font,var(--kd-font-sans))}
.kdui-card-title{font:var(--kd-type-title);font-weight:700;overflow-wrap:anywhere}
.kdui-card-description{font:var(--kd-type-body)}
.kdui-badge{font:var(--kd-type-label)}
.kdui-field{font:var(--kd-type-label)}
.kdui-field input{font-family:var(--kd-input-font-family,var(--kd-type-body-font,var(--kd-font-sans)))}
.kdui-field small{font:var(--kd-type-caption)}
.kdui-tabs button{font:var(--kd-type-label)}

/*
 * Contrato de integração do Web App.
 *
 * O catálogo usa as classes kdui-* diretamente. A aplicação histórica ainda
 * possui nomes anteriores; este bloco os adapta aos mesmos tokens aprovados
 * sem criar uma segunda paleta, tipografia ou geometria de controles.
 */
body[data-kartdata-ui]{
  /* aliases somente para a transição do CSS histórico; os valores vêm do Studio */
  --bg:var(--kd-color-background);--panel:var(--kd-color-surface);--panel2:var(--kd-color-surface-raised);
  --border:var(--kd-color-border);--border2:var(--kd-color-border-strong);--neon:var(--kd-color-primary);
  --blue:var(--kd-color-info);--yellow:var(--kd-color-warning);--red:var(--kd-color-danger);
  --gray:var(--kd-color-muted);--white:var(--kd-color-foreground);--md-surface:var(--kd-color-surface);
  --md-surface-container:var(--kd-color-surface-raised);--md-outline:var(--kd-color-border-strong);
  background:var(--kd-color-background);color:var(--kd-color-foreground);font-family:var(--kd-type-body-font,var(--kd-font-sans))
}
body[data-kartdata-ui] :where(button,input,select,textarea){font-family:var(--kd-type-label-font,var(--kd-font-sans))!important;letter-spacing:0}
body[data-kartdata-ui] :where(button){touch-action:manipulation}

body[data-kartdata-ui] :where(
  input:not([type]),
  input[type="text"],input[type="email"],input[type="password"],input[type="search"],
  input[type="tel"],input[type="url"],input[type="number"],input[type="date"],
  input[type="time"],input[type="datetime-local"],
  select,textarea,.mf-input,.mf-textarea,.api-key-input,.kdw-input
){
  width:100%;min-height:var(--kd-input-height,44px);border:1px solid var(--kd-input-border,var(--kd-color-border-strong))!important;
  border-radius:var(--kd-input-radius,var(--kd-radius-sm))!important;background:var(--kd-input-background,var(--kd-color-surface-raised))!important;
  color:var(--kd-input-foreground)!important;padding:0 12px;font-size:var(--kd-input-font-size,16px)!important;
  font-weight:400!important;line-height:1.2!important;outline:0;transition:border-color var(--kd-motion-fast) var(--kd-ease),box-shadow var(--kd-motion-fast) var(--kd-ease),background var(--kd-motion-fast) var(--kd-ease)
}
body[data-kartdata-ui] :where(textarea,.mf-textarea){min-height:96px;padding-block:12px;line-height:1.5!important;resize:vertical}
body[data-kartdata-ui] :where(.kdw-input-wrap>input){padding-inline-start:44px!important}
body[data-kartdata-ui] :where(.kdw-input-wrap>i,.kdw-input-wrap>svg){
  position:absolute;inset-inline-start:14px;top:50%;z-index:1;width:18px;height:18px;
  color:var(--kd-color-muted);pointer-events:none;transform:translateY(-50%)
}
body[data-kartdata-ui] :where(input,select,textarea)::placeholder{color:var(--kd-color-subtle);opacity:1}
body[data-kartdata-ui] :where(input,select,textarea):focus-visible{border-color:var(--kd-color-info)!important;box-shadow:0 0 0 3px var(--kd-color-focus)}
body[data-kartdata-ui] :where(input,select,textarea):disabled{cursor:not-allowed;opacity:.42}
body[data-kartdata-ui] :where(input,textarea)[readonly]{background:var(--kd-color-surface-overlay)!important;color:var(--kd-color-muted)!important}
body[data-kartdata-ui] :where(input[type="checkbox"],input[type="radio"],input[type="range"]){accent-color:var(--kd-color-primary)}

body[data-kartdata-ui] :where(.mf-label,.api-key-label,.kdw-field>span,.kd-compare-field>label){color:var(--kd-color-muted);font:var(--kd-type-label)!important;text-transform:none;letter-spacing:0}

body[data-kartdata-ui] :where(
  .btn,.cloud-btn,.kd-modal-btn,.btn-recalc,.btn-cancel-edit,.btn-edit-laps,
  .mf-mini-btn,.tc-btn,.tc-mode-btn,.catalog-tab,.thick-btn,.fs-ctrl-btn,
  .api-key-save,.kdw-button,.session-load-more
){
  min-height:var(--kd-button-height,44px);display:inline-flex;align-items:center;justify-content:center;gap:8px;
  border:1px solid var(--kd-color-border-strong)!important;border-radius:var(--kd-button-radius,var(--kd-radius-sm))!important;
  background:var(--kd-color-surface-raised)!important;color:var(--kd-color-foreground)!important;
  font-size:var(--kd-button-font-size,14px)!important;font-weight:var(--kd-button-weight,600)!important;line-height:1!important;
  cursor:pointer;transition:background var(--kd-motion-fast) var(--kd-ease),border-color var(--kd-motion-fast) var(--kd-ease),color var(--kd-motion-fast) var(--kd-ease),opacity var(--kd-motion-fast) var(--kd-ease)
}
body[data-kartdata-ui] :where(
  .btn:not(.sec),.cloud-btn.primary,.kd-modal-btn,.btn-recalc,.api-key-save,
  .kdw-button.primary,#app-history-checkout,#sec-save-recalculate
){border-color:transparent!important;background:var(--kd-color-primary)!important;color:var(--kd-button-primary-foreground)!important}
body[data-kartdata-ui] :where(.cloud-btn.danger){border-color:var(--kd-button-danger-border)!important;background:var(--kd-button-danger-background)!important;color:var(--kd-color-danger)!important}
body[data-kartdata-ui] :where(.tc-btn.active,.tc-mode-btn.active,.catalog-tab.active,.thick-btn.active,.fs-ctrl-btn.active,.btn-edit-laps.editing){border-color:var(--kd-color-primary)!important;background:color-mix(in oklab,var(--kd-color-primary) 12%,var(--kd-color-surface-raised))!important;color:var(--kd-color-primary)!important}
body[data-kartdata-ui] :where(.btn,.cloud-btn,.kd-modal-btn,.btn-recalc,.btn-cancel-edit,.btn-edit-laps,.mf-mini-btn,.tc-btn,.tc-mode-btn,.catalog-tab,.thick-btn,.fs-ctrl-btn,.api-key-save,.kdw-button):hover:not(:disabled){border-color:var(--kd-color-primary)!important}
body[data-kartdata-ui] :where(button,input,select,textarea):disabled{cursor:not-allowed!important;opacity:.42}
.catalog-operational button:has(.lucide-trash-2):hover,.catalog-operational button:has(.lucide-trash-2):focus-visible,.catalog-operational .kdui-delete-action:hover,.catalog-operational .kdui-delete-action:focus-visible{color:var(--kd-color-danger);background:color-mix(in srgb,var(--kd-color-danger) 10%,transparent)}
.kdui-button.is-icon[aria-label^="Fechar"]:is(:hover,:focus-visible,:active),
button[aria-label^="Fechar"]:not([class*="scrim"]):not([class*="backdrop"]):is(:hover,:focus-visible,:active){background:var(--sidebar-accent);color:var(--sidebar-accent-foreground);border-radius:var(--kd-radius-sm)}
.kdui-button.is-icon:is([aria-label="Repetir evento"],[aria-label="Lembrete antes do evento"]):is(:hover,:focus-visible,:active,[aria-expanded="true"]){background:var(--sidebar-accent);color:var(--sidebar-accent-foreground)}
.kdui-button.is-icon>svg{width:20px;height:20px;flex-shrink:0}
/* Generated from approved-theme.json; do not edit. */
:root{
  --kd-button-height:40px;
  --kd-button-radius:999px;
  --kd-button-weight:600;
  --kd-button-font-size:13px;
  --kd-button-text-light:#ffffff;
  --kd-button-text-dark:#020f00;
  --kd-input-height:40px;
  --kd-input-radius:8px;
  --kd-input-font-size:14px;
  --kd-input-font-family:Inter,ui-sans-serif,system-ui,sans-serif;
  --kd-input-text-light:#1c1c1c;
  --kd-input-text-dark:#ffffff;
  --kd-input-background:#f5f5f4;
  --kd-input-border:#e8e8e8;
  --kd-input-background-light:#f1f1f3;
  --kd-input-background-dark:#2A2A3A;
  --kd-input-border-light:#E2E2E2;
  --kd-input-border-dark:#373749;
  --kd-type-display-font:Roboto,Inter,system-ui,sans-serif;
  --kd-type-display-size:44px;
  --kd-type-heading-font:Roboto,Inter,system-ui,sans-serif;
  --kd-type-heading-size:28px;
  --kd-type-title-font:Roboto,Inter,system-ui,sans-serif;
  --kd-type-title-size:18px;
  --kd-type-body-font:Inter,ui-sans-serif,system-ui,sans-serif;
  --kd-type-body-size:14px;
  --kd-type-label-font:Inter,ui-sans-serif,system-ui,sans-serif;
  --kd-type-label-size:12px;
  --kd-type-caption-font:Inter,ui-sans-serif,system-ui,sans-serif;
  --kd-type-caption-size:10px;
  --kd-type-data-font:"JetBrains Mono","Courier New",monospace;
  --kd-type-data-size:28px;
  --kd-spacing-desktop-iconTop:0px;
  --kd-spacing-desktop-iconRight:4px;
  --kd-spacing-desktop-iconBottom:0px;
  --kd-spacing-desktop-iconLeft:4px;
  --kd-spacing-desktop-icon:8px;
  --kd-spacing-desktop-tabs:16px;
  --kd-spacing-desktop-cards:8px;
  --kd-spacing-desktop-blocks:16px;
  --kd-spacing-desktop-text:16px;
  --kd-spacing-desktop-top:16px;
  --kd-spacing-desktop-right:16px;
  --kd-spacing-desktop-bottom:16px;
  --kd-spacing-desktop-left:16px;
  --kd-spacing-desktop-outerTop:4px;
  --kd-spacing-desktop-outerRight:4px;
  --kd-spacing-desktop-outerBottom:4px;
  --kd-spacing-desktop-outerLeft:4px;
  --kd-spacing-desktop-historyMaxHeight:480px;
  --kd-spacing-mobile-iconTop:0px;
  --kd-spacing-mobile-iconRight:0px;
  --kd-spacing-mobile-iconBottom:0px;
  --kd-spacing-mobile-iconLeft:0px;
  --kd-spacing-mobile-icon:12px;
  --kd-spacing-mobile-tabs:16px;
  --kd-spacing-mobile-cards:12px;
  --kd-spacing-mobile-blocks:16px;
  --kd-spacing-mobile-text:8px;
  --kd-spacing-mobile-top:16px;
  --kd-spacing-mobile-right:16px;
  --kd-spacing-mobile-bottom:16px;
  --kd-spacing-mobile-left:16px;
  --kd-spacing-mobile-outerTop:0px;
  --kd-spacing-mobile-outerRight:0px;
  --kd-spacing-mobile-outerBottom:0px;
  --kd-spacing-mobile-outerLeft:0px;
  --kd-spacing-mobile-historyMaxHeight:360px;
  --kd-button-spacing-top:8px;
  --kd-button-spacing-right:16px;
  --kd-button-spacing-bottom:8px;
  --kd-button-spacing-left:16px;
  --kd-button-spacing-outerTop:8px;
  --kd-button-spacing-outerRight:8px;
  --kd-button-spacing-outerBottom:8px;
  --kd-button-spacing-outerLeft:8px;
}
:root:not(.dark){
  --background:#fafafa;
  --card:#ffffff;
  --primary:#04953e;
  --secondary:#efefef;
  --muted:#f1f2f3;
  --accent:#059e42;
  --destructive:#d60000;
  --border:#ebebeb;
  --input:#f1f2f3;
  --chart-1:#90c5fe;
  --chart-2:#267cfd;
  --chart-3:#185ef7;
  --chart-4:#1549e5;
  --chart-5:#1a3dbc;
  --sidebar:#ffffff;
  --sidebar-accent:#E8E8E8;
  --kd-chart-start:#0346aa;
  --kd-chart-end:#2b7ffd;
  --kd-chart-end-opacity:100%;
  --kd-chart-today-start:#00752f;
  --kd-chart-today-end:#03b54a;
  --kd-chart-today-end-opacity:100%;
  --kd-color-foreground:#09090b;
  --kd-color-muted:#71717c;
  --kd-color-subtle:#173315;
}
:root.dark{
  --background:#000517;
  --card:#11111d;
  --popover:#0D0D11;
  --primary:#00CC6E;
  --secondary:#252532;
  --muted:#44444b;
  --accent:#12743B;
  --destructive:#FF2D55;
  --border:#131520;
  --input:#2A2A3A;
  --radius:1.125rem;
  --sidebar:#13131A;
  --sidebar-accent:#292b33;
  --kd-switch-track:#5b5b5d;
  --chart-1:#94c8ff;
  --chart-2:#2e82ff;
  --chart-3:#1860fb;
  --chart-4:#174be8;
  --chart-5:#1a3cb7;
  --kd-chart-start:#2e82ff;
  --kd-chart-end:#054099;
  --kd-chart-end-opacity:70%;
  --kd-chart-today-start:#02c054;
  --kd-chart-today-end:#02552e;
  --kd-chart-today-end-opacity:67%;
  --kd-color-foreground:#ffffff;
  --kd-color-muted:#a1a1a1;
  --kd-color-subtle:#8bae84;
}

/* Approved action spacing. Structural controls (calendar cells, maps, icon-only) are excluded. */
body[data-kartdata-ui] :is(.kdui-button:not(.is-icon),.btn,.btn-recalc,.btn-cancel-edit,.btn-edit-laps,.cloud-btn,.kd-modal-btn,.mf-mini-btn,.settings-danger-btn,.edit-motor-btn,.gmaps-btn,.gmaps-nav-btn,.tc-btn,.tc-mode-btn,.catalog-tab,.thick-btn,.fs-ctrl-btn,.api-key-save,.kdw-button,.session-load-more){
  padding:var(--kd-button-spacing-top,8px) var(--kd-button-spacing-right,16px) var(--kd-button-spacing-bottom,8px) var(--kd-button-spacing-left,16px)!important;
  margin:var(--kd-button-spacing-outerTop,8px) var(--kd-button-spacing-outerRight,8px) var(--kd-button-spacing-outerBottom,8px) var(--kd-button-spacing-outerLeft,8px)!important;
  max-width:calc(100% - var(--kd-button-spacing-outerRight,8px) - var(--kd-button-spacing-outerLeft,8px));
  min-height:var(--kd-button-height,40px);height:auto;gap:var(--kd-layout-icon,12px);white-space:normal;
}
body[data-kartdata-ui] :is(.cloud-actions,.kd-modal-actions){gap:0;flex-wrap:wrap}
body[data-kartdata-ui] :is(.kd-react-nav-item,.kd-react-mobile-item,.kd-react-help,.kd-react-bottom button,.nav-mobile-item){gap:var(--kd-layout-icon,12px)}
body[data-kartdata-ui] :is(.kd-react-nav-item,.kd-react-mobile-item,.kd-react-help,.kd-react-bottom button,.nav-mobile-item,.kdui-button:not(.is-icon),.btn,.cloud-btn,.kd-modal-btn,.mf-mini-btn,.tc-btn,.tc-mode-btn,.catalog-tab,.thick-btn,.fs-ctrl-btn,.api-key-save,.kdw-button,.session-load-more)>svg:first-child{
  margin:var(--kd-icon-margin,0);flex-shrink:0;
}
body[data-kartdata-ui] .fs-ctrl-btn>span{font:inherit!important}
/* Content cards only: catalog navigation wrappers and canvas containers keep their geometry. */
body[data-kartdata-ui] :is(#t-lp,#t-sp,#t-official,#page-analysis,#page-compare) .card,
body[data-kartdata-ui] :is(#catalog-editor-wrap,#catalog-list-wrap)>.card{
  padding:var(--kd-card-top) var(--kd-card-right) var(--kd-card-bottom) var(--kd-card-left)!important;
  margin:var(--kd-card-out-top) var(--kd-card-out-right) var(--kd-card-out-bottom) var(--kd-card-out-left)!important;
}
/* In a consecutive stack, the shared edge belongs to the block interval.
   Outer margins remain on the first/last edges instead of adding to that interval. */
body[data-kartdata-ui] :is(#t-lp,#t-sp,#t-official,#page-analysis,#page-compare,#catalog-editor-wrap,#catalog-list-wrap) .card:has(+.card){margin-bottom:0!important}
body[data-kartdata-ui] :is(#t-lp,#t-sp,#t-official,#page-analysis,#page-compare,#catalog-editor-wrap,#catalog-list-wrap) .card+.card{margin-top:var(--kd-layout-blocks)!important}
body[data-kartdata-ui] .card-title{margin-bottom:var(--kd-layout-text)!important}
/* Home blocks share the Studio card spacing instead of legacy fixed margins. */
body[data-kartdata-ui] .home-calendar-shell>.session-calendar-card{
  padding:var(--kd-card-top) var(--kd-card-right) var(--kd-card-bottom) var(--kd-card-left)!important;
  margin:var(--kd-card-out-top) var(--kd-card-out-right) var(--kd-card-out-bottom) var(--kd-card-out-left)!important;
}
body[data-kartdata-ui] .home-calendar-shell>.session-calendar-card:has(+.session-calendar-card){margin-bottom:0!important}
body[data-kartdata-ui] .home-calendar-shell>.session-calendar-card+.session-calendar-card,
body[data-kartdata-ui] #home-performance-chart+.session-calendar-card{
  margin-top:var(--kd-layout-blocks)!important;
}
body[data-kartdata-ui] #home-performance-chart{margin:var(--kd-card-out-top) var(--kd-card-out-right) 0 var(--kd-card-out-left)}
@media(max-width:600px){
 body[data-kartdata-ui] .home-calendar-shell>.home-calendar-agenda-card:has(.home-month-calendar,.home-time-calendar){padding-inline:0!important}
 body[data-kartdata-ui] .home-calendar-agenda-card:has(.home-month-calendar,.home-time-calendar) #home-calendar-toolbar{padding-inline:var(--kd-card-left,16px);box-sizing:border-box}
 body[data-kartdata-ui] .home-calendar-agenda-card .kd-calendar-toolbar .kd-select-field{min-width:0}
 body[data-kartdata-ui] .home-calendar-agenda-card .kd-calendar-toolbar>.kdui-button{white-space:nowrap}
}
body[data-kartdata-ui] .info-modal-box{max-width:540px;width:100%}

.weather-review{width:100%;display:grid;gap:var(--kd-layout-cards,12px)}
.weather-heading{justify-content:space-between;gap:var(--kd-layout-cards,12px);margin-bottom:var(--kd-layout-text,8px)}
.weather-heading h3{margin:0;font:var(--kd-type-title);font-weight:700}
.weather-overview{padding-block:var(--kd-layout-text,8px)}
.weather-summary{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:var(--kd-layout-cards,12px)}
.weather-summary .weather-overview{text-align:center}
.weather-summary .weather-temperature-row{justify-content:center}
.weather-temperature-row{display:flex;align-items:center;gap:var(--kd-layout-cards,12px)}
.weather-temperature-row>svg{flex-shrink:0;color:var(--kd-color-info)}
.weather-overview[data-weather=sunny] .weather-temperature-row>svg{color:var(--kd-color-warning)}
.weather-location{display:flex;align-items:center;justify-content:center;text-align:center;gap:var(--kd-layout-cards,12px);margin-block:var(--kd-layout-text,8px)}
.weather-location>svg{flex-shrink:0;color:var(--kd-color-info)}
.weather-review svg.weather-decorative-icon{width:28px;height:28px;stroke-width:2;flex-shrink:0}
.weather-review .weather-temperature-row,.weather-review .weather-location,.weather-review .weather-details>div{gap:var(--kd-layout-icon,12px)}
.weather-location strong{font:var(--kd-type-body);font-weight:700;overflow-wrap:anywhere}
.weather-location p{margin:4px 0 0;font:var(--kd-type-caption);color:var(--kd-color-muted)}
.weather-temperature{font:var(--kd-type-heading);font-variant-numeric:tabular-nums}
.weather-temperature small{font:var(--kd-type-body);margin-left:4px;color:var(--kd-color-muted)}
.weather-overview p,.weather-caption{margin:var(--kd-layout-text,8px) 0 0;font:var(--kd-type-caption);color:var(--kd-color-muted)}
.weather-details{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--kd-layout-cards,12px);margin:var(--kd-layout-text,8px) 0 0}
.weather-details>div{display:flex;align-items:center;gap:8px;padding:12px;background:var(--kd-color-surface-raised);border-radius:var(--kd-radius-sm);min-width:0}
.weather-details svg{width:18px;height:18px;flex-shrink:0;color:var(--kd-color-info);margin:var(--kd-icon-margin,0)}
#t-ov>.weather-card{margin-bottom:calc(var(--kd-layout-blocks) + var(--kd-card-out-bottom))}
.weather-details dt{font:var(--kd-type-caption);color:var(--kd-color-muted)}
.weather-details dd{margin:4px 0 0;font:var(--kd-type-body);font-weight:700;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
@media(max-width:900px){.weather-details{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:360px){.weather-details>div{padding:8px;gap:4px}}
  .weather-summary .weather-location{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0}
  .weather-location-name{display:flex;align-items:center;justify-content:center;gap:var(--kd-layout-icon,12px);max-width:100%;min-width:0}
  .weather-location-name>svg{flex-shrink:0;color:var(--kd-color-info)}
  .weather-location strong{min-width:0;text-align:center}
  .weather-location p{margin:0;overflow-wrap:anywhere;max-width:100%}
@media(max-width:600px){.weather-summary{grid-template-columns:minmax(0,1fr)}}
@media(max-width:600px){
  .weather-location-name{width:fit-content;margin-inline:auto;gap:var(--kd-layout-icon,12px)}
  .weather-location-name strong{flex:0 1 auto;max-width:24ch;text-wrap:balance}
}

.kd-performance-preview{width:100%;min-width:0;display:grid;gap:var(--kd-layout-text,12px)}
.kd-performance-card{min-width:0;display:grid;gap:var(--kd-layout-text,16px);padding:var(--kd-card-top,16px) var(--kd-card-right,16px) var(--kd-card-bottom,16px) var(--kd-card-left,16px);border:1px solid var(--kd-color-border);border-radius:var(--radius);background:var(--card)}
.kd-performance-chart-region{min-width:0;display:grid;gap:var(--kd-layout-text);border-top:1px solid var(--kd-color-border);padding-top:var(--kd-layout-text)}
@media(max-width:600px){.kd-performance-card{padding:0;border:0;border-radius:0;background:transparent}.kd-performance-card>.kd-performance-summary,.kd-performance-card>.kd-performance-chart-region{padding:var(--kd-card-top,16px) var(--kd-card-right,16px) var(--kd-card-bottom,16px) var(--kd-card-left,16px);border:1px solid var(--kd-color-border);border-radius:var(--radius);background:var(--card)}}
.kd-performance-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(calc(var(--kd-type-data-size,24px)*5 + var(--kd-space-6) + var(--kd-layout-icon)),2fr);gap:var(--kd-layout-text,16px);margin:0;container-type:inline-size}
@media(min-width:1100px){.kd-performance-summary{grid-template-columns:repeat(4,minmax(0,1fr))}}
.kd-performance-summary>div{min-width:0;display:flex;flex-direction:column;gap:var(--kd-space-1,4px)}
.kd-performance-summary dt,.kd-performance-summary span{font:var(--kd-type-caption);color:var(--kd-color-muted);overflow-wrap:anywhere}
.kd-performance-summary dd{margin:0;font:var(--kd-type-data);color:var(--kd-color-primary);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.kd-performance-summary dd.is-best{color:var(--kd-color-warning)}
@media(max-width:600px){.kd-performance-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
.kd-performance-controls{display:flex;flex-wrap:wrap;gap:12px}
.kd-performance-controls label{flex:1;min-width:120px;display:grid;gap:4px;font:var(--kd-type-caption)}
.kd-performance-controls input,.kd-performance-controls select{min-width:0;width:100%;box-sizing:border-box;padding:8px;border:1px solid var(--kd-color-border);border-radius:var(--kd-radius-sm);background:var(--kd-color-surface-raised);color:var(--kd-color-foreground)}
.kd-performance-preview header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;font:var(--kd-type-caption)}
.kd-performance-preview header strong{font:var(--kd-type-body);font-weight:700}
.kd-performance-value{margin:0;font:var(--kd-type-body);color:var(--kd-color-info);font-variant-numeric:tabular-nums}
.kd-performance-bars{display:grid;gap:4px;height:220px;min-width:0;align-items:stretch}
.kd-performance-bars>button{display:flex;flex-direction:column;min-width:0;min-height:0;padding:0;margin:0;border:0;border-radius:0;background:transparent;color:var(--kd-color-muted);cursor:pointer;gap:8px}
.kd-performance-column{position:relative;display:flex;align-items:flex-end;justify-content:center;width:100%;flex:1;border-bottom:1px solid var(--kd-color-border);padding-top:24px;box-sizing:border-box}
.kd-performance-column i{position:relative;display:block;width:100%;max-width:44px;min-height:2px;background:var(--kd-chart-gradient);border-radius:8px 8px 0 0}
.kd-performance-column b{position:absolute;bottom:calc(100% + 4px);left:50%;transform:translateX(-50%);font:var(--kd-type-caption)}
.kd-performance-bars>button.is-today i{background:var(--kd-chart-today-gradient)}
.kd-performance-bars>button[aria-pressed=true] i{outline:1px solid var(--kd-color-foreground);outline-offset:2px}
.kd-performance-bars>button.is-today small{color:var(--kd-color-primary);font-weight:700}
.kd-performance-bars>button:focus-visible{outline:2px solid var(--kd-color-primary);outline-offset:2px}
.kd-performance-bars small{font:var(--kd-type-caption)}
.kd-performance-bars .is-reference small{text-decoration:underline;color:var(--kd-color-foreground)}
.kd-performance-note{margin:0;color:var(--kd-color-muted);font:var(--kd-type-caption)}
.kd-performance-summary .kd-performance-mobile-value{display:none;color:var(--kd-color-info)}
@media(max-width:600px){.kd-performance-card .kd-performance-value{display:none}.kd-performance-summary .kd-performance-mobile-value{display:block}}
@media(max-width:600px){.kd-performance-bars{height:160px;gap:2px}.kd-performance-bars.is-month .kd-performance-column b{display:none}.kd-performance-bars.is-month button:not(:nth-child(5n + 1)):not(:last-child) small{visibility:hidden}.kd-performance-bars.is-month small{font-size:10px}.kd-performance-controls{gap:8px}}
.kd-performance-toolbar{display:flex;align-items:center;gap:var(--kd-layout-icon);min-width:0}
.kd-performance-toolbar-text{min-width:0;flex:1}
.kd-performance-period{display:block;font:var(--kd-type-caption);color:var(--kd-color-muted);margin-top:var(--kd-space-1)}
.kd-performance-card .kd-performance-toolbar .kd-performance-value{display:block}
.kd-performance-card .kd-performance-mobile-value{display:none}
.kd-performance-picker{position:relative;flex-shrink:0}
.kd-performance-picker>.kdui-button{min-width:var(--kd-button-height);padding:var(--kd-button-spacing-top) var(--kd-button-spacing-right) var(--kd-button-spacing-bottom) var(--kd-button-spacing-left)}
.kd-performance-picker [role=menu]{position:absolute;left:0;top:100%;z-index:10;display:grid;padding:var(--kd-space-1);border:1px solid var(--kd-color-border);border-radius:var(--kd-radius-md);background:var(--kd-color-surface);box-shadow:var(--kd-shadow-panel)}
.kd-performance-picker [role=menuitemradio]{text-align:left;min-height:var(--kd-button-height);padding:var(--kd-layout-text);border:0;border-radius:var(--kd-radius-sm);background:transparent;color:var(--kd-color-foreground);font:var(--kd-type-label);cursor:pointer}
.kd-performance-picker [role=menuitemradio]:hover,.kd-performance-picker [aria-checked=true]{background:var(--kd-color-surface-raised);color:var(--kd-color-primary)}
.kd-performance-picker button:focus-visible,.kd-performance-activity-cell:focus-visible{outline:2px solid var(--kd-color-primary);outline-offset:2px}
.kd-performance-activity{display:grid;gap:var(--kd-layout-text);min-width:0}
.kd-performance-activity-value{margin:0;font:var(--kd-type-body);color:var(--kd-color-foreground);font-variant-numeric:tabular-nums}
.kd-performance-activity-scroll{container-type:inline-size;overflow-x:auto;padding:var(--kd-space-1);scrollbar-color:var(--kd-color-border-strong) transparent;--kd-activity-gap:min(var(--kd-space-1),calc(100cqw / (var(--kd-activity-columns)*4)))}
.kd-performance-activity-grid,.kd-performance-activity-months{display:grid;grid-template-columns:repeat(var(--kd-activity-columns),minmax(0,1fr));gap:var(--kd-activity-gap);width:100%;min-width:0}
.kd-performance-card .kd-performance-activity-cell{display:grid;grid-template-rows:repeat(7,auto);gap:var(--kd-activity-gap);padding:0;margin:0;border:0;border-radius:0;background:transparent;cursor:pointer;min-width:0;min-height:0;width:100%}
.kd-performance-activity-grid.is-daily .kd-performance-activity-cell{grid-template-rows:auto;aspect-ratio:1}
.kd-performance-activity-cell i{display:block;aspect-ratio:1;box-sizing:border-box;min-width:0;border-radius:min(var(--kd-space-1),20%);background:var(--kd-color-surface-raised);border:1px solid var(--kd-color-border)}
.kd-performance-activity-months{font:var(--kd-type-caption);color:var(--kd-color-muted);margin-top:var(--kd-space-2)}
.kd-performance-activity-months span{grid-row:1;white-space:nowrap}
.kd-performance-activity-months [aria-current=true]{color:var(--kd-color-primary);font-weight:700}
.kd-performance-activity-cell i[data-filled=true]{border-color:transparent;background:color-mix(in srgb,var(--kd-chart-start) calc(var(--kd-activity-strength)*100%),var(--kd-chart-end));opacity:calc(var(--kd-chart-end-opacity) + (var(--kd-chart-start-opacity) - var(--kd-chart-end-opacity))*var(--kd-activity-strength))}
.kd-performance-activity-cell[aria-pressed=true]{outline:1px solid var(--kd-color-foreground);outline-offset:2px}
.kd-performance-activity-grid.is-daily .kd-performance-activity-cell[aria-current=date] i{border-color:var(--kd-chart-today-start);box-shadow:inset 0 0 0 1px var(--kd-chart-today-start)}
.kd-performance-activity-cell[data-future=true]{opacity:calc(var(--kd-chart-end-opacity)/2)}
.kd-performance-card:not([data-chart-mode=bars]) .kd-performance-mobile-value{display:none}
.kd-performance-best{user-select:none}
.kd-performance-best dd{display:flex;align-items:center;gap:var(--kd-layout-icon)}
.kd-performance-best-next{display:grid;place-items:center;flex-shrink:0;min-width:var(--kd-space-6);min-height:var(--kd-space-6);padding:0;border:0;border-radius:var(--kd-radius-sm);background:transparent;color:var(--kd-color-muted);cursor:pointer}
.kd-performance-best-next:hover{background:var(--kd-color-surface-raised)}
.kd-performance-best-next:focus-visible{outline:2px solid var(--kd-color-primary);outline-offset:2px}
.kd-performance-best dd{white-space:nowrap}
@media(max-width:600px){.kd-performance-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.kd-performance-summary .kd-performance-best{grid-column:1/-1}}

.kd-day-agenda .kdui-dialog{width:min(640px,calc(100vw - 32px));max-width:100%;max-height:calc(100vh - 32px);overflow:auto;box-sizing:border-box}
.kd-day-agenda h3{font:var(--kd-type-body);font-weight:700;margin-block:var(--kd-layout-text,12px)}
.kd-day-agenda-total{font:var(--kd-type-body);margin:0}
.kd-day-agenda-total strong{color:var(--kd-color-info)}
.kd-day-agenda ul{list-style:none;padding:0;margin:0;display:grid;gap:var(--kd-layout-text,12px)}
.kd-day-agenda li{min-width:0}
.kd-day-events li div{min-width:0;display:grid;gap:4px;overflow-wrap:anywhere}
.kd-day-events li span,.kd-day-events time,.kd-day-agenda-note{font:var(--kd-type-caption);color:var(--kd-color-muted)}
.kd-day-agenda .kd-day-session-list{gap:var(--kd-layout-cards,8px)}
/* List owns separation; each Card owns its surface and internal spacing. */
.kd-day-agenda .kd-day-session-list{margin-block:var(--kd-card-out-top) var(--kd-card-out-bottom)}
.kd-day-session-list .kd-session-entry.kdui-card{margin-block:0;padding:var(--kd-card-top) var(--kd-card-right) var(--kd-card-bottom) var(--kd-card-left);overflow:visible}
.kd-day-session-list .kd-session-entry-open{padding:0}
.kd-day-agenda-empty{font:var(--kd-type-body);padding:16px;background:var(--kd-color-surface-raised);border-radius:var(--kd-radius-sm)}
.kd-day-agenda .kdui-dialog header h2{font:var(--kd-type-title);font-weight:700}
.kd-day-events{margin-bottom:var(--kd-layout-blocks,24px)}
.kd-day-events-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--kd-layout-icon,12px);margin-bottom:var(--kd-layout-text,12px)}
.kd-day-events-heading h3{margin:0;min-width:0}
.kd-day-events-heading>.kdui-button{margin:0;flex-shrink:0;white-space:nowrap}
.kd-day-agenda .kdui-dialog header h2,.kd-day-agenda h3{color:var(--kd-color-foreground)}

.kd-agenda-event-row{width:100%;min-width:0;min-height:62px;box-sizing:border-box;display:grid;grid-template-columns:5px 70px minmax(0,1fr);align-items:center;gap:10px;padding:9px;margin:0;border:1px solid var(--kd-color-border);border-radius:var(--kd-radius-sm);background:var(--kd-color-surface);color:var(--kd-color-foreground);text-align:left;cursor:pointer}
.kd-agenda-event-row>i{width:5px;height:36px;border-radius:999px}
.kd-agenda-event-row>time{color:var(--kd-color-muted);font:var(--kd-type-caption)}
.kd-agenda-event-row>span{min-width:0;display:grid;gap:4px;overflow-wrap:anywhere}
.kd-agenda-event-row b{font:var(--kd-type-label);color:var(--kd-color-foreground)}
.kd-agenda-event-row small{color:var(--kd-color-muted);font:var(--kd-type-caption)}
.kd-agenda-event-row.is-official{opacity:.58}
.kd-agenda-event-row:is(:hover,:focus-visible){background:var(--sidebar-accent)}
.kd-agenda-event-row:focus-visible{outline:2px solid var(--kd-color-primary);outline-offset:2px}
@media(max-width:720px){.kd-agenda-event-row{grid-template-columns:5px 58px minmax(0,1fr)}}

.kd-navigation-preview{position:relative;display:flex;width:100%;min-width:0;min-height:600px;background:var(--kd-color-background);border:1px solid var(--kd-color-border);border-radius:var(--kd-radius-md);isolation:isolate}
.kd-navigation-preview.is-app{position:fixed;inset:0 auto 0 0;width:max-content;height:100dvh;min-height:0;border:0;border-radius:0;z-index:100;background:transparent}
.kd-navigation-preview.is-app .kd-navigation-sidebar{height:100%;display:flex;flex-direction:column;border-radius:0}
.kd-navigation-preview.is-app footer{margin-top:auto}
body.kd-shell-ready{padding-left:var(--kd-app-navigation-width,0px)!important;padding-top:0!important}
@media(max-width:600px){.kd-navigation-preview.is-app{inset:0;width:100%;pointer-events:none}.kd-navigation-preview.is-app .kd-navigation-sidebar,.kd-navigation-preview.is-app .kd-navigation-scrim,.kd-navigation-preview.is-app .kd-navigation-bottom{pointer-events:auto}.kd-navigation-preview.is-app .kd-navigation-bottom{padding-bottom:max(8px,env(safe-area-inset-bottom))}.kd-navigation-preview.is-app .kd-navigation-sidebar{border-radius:var(--kd-radius-md) 0 0 var(--kd-radius-md)}}
.kd-navigation-sidebar{box-sizing:border-box;flex:0 0 286px;width:286px;padding:16px;background:var(--sidebar);color:var(--sidebar-foreground);border-radius:var(--kd-radius-md);z-index:3}
.kd-navigation-sidebar header{display:flex;align-items:center;gap:8px;margin-bottom:16px}.kd-navigation-sidebar header img{width:32px;height:32px}.kd-navigation-sidebar header strong{font:var(--kd-type-body);font-weight:700;flex:1}
.kd-navigation-sidebar button{position:relative;display:flex;align-items:center;gap:var(--kd-layout-icon,8px);width:100%;min-height:44px;padding:8px;border:0;border-radius:var(--kd-radius-sm);background:transparent;color:var(--kd-color-muted);font:var(--kd-type-body);text-align:left;cursor:pointer}
.kd-navigation-sidebar header button{width:36px;flex-shrink:0;justify-content:center}
.kd-navigation-sidebar nav{display:grid;gap:8px}.kd-navigation-sidebar button:hover,.kd-navigation-sidebar button[aria-current=page]{background:var(--sidebar-accent);color:var(--kd-color-primary)}
.kd-navigation-preview button:focus-visible{outline:2px solid var(--kd-color-primary);outline-offset:2px}
.kd-navigation-sidebar svg{flex-shrink:0}.kd-navigation-tip{display:none;position:absolute;left:calc(100% + 8px);top:50%;transform:translateY(-50%);padding:8px;white-space:nowrap;background:var(--kd-color-surface-raised);color:var(--kd-color-foreground);border:1px solid var(--kd-color-border);border-radius:var(--kd-radius-sm);font:var(--kd-type-caption);z-index:5}
.kd-navigation-content{flex:1;min-width:0;padding:var(--kd-layout-text,16px);color:var(--kd-color-foreground);overflow-wrap:anywhere}.kd-navigation-content h3{font:var(--kd-type-title);font-weight:700}.kd-navigation-content p{font:var(--kd-type-body)}.kd-navigation-content>span{font:var(--kd-type-caption);color:var(--kd-color-muted)}
@media(min-width:601px){.kd-navigation-preview.is-compact .kd-navigation-sidebar{flex-basis:72px;width:72px;padding:12px}.kd-navigation-preview.is-compact header{flex-direction:column}.kd-navigation-preview.is-compact header strong,.kd-navigation-preview.is-compact .kd-navigation-label{display:none}.kd-navigation-preview.is-compact nav button{justify-content:center}.kd-navigation-preview.is-compact nav button:hover .kd-navigation-tip,.kd-navigation-preview.is-compact nav button:focus-visible .kd-navigation-tip{display:block}}
.kd-navigation-bottom{position:absolute;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:8px;background:var(--sidebar);border-top:1px solid var(--kd-color-border);z-index:1}.kd-navigation-bottom button{min-width:0;min-height:52px;display:grid;justify-items:center;align-content:center;gap:4px;border:0;border-radius:var(--kd-radius-sm);background:transparent;color:var(--kd-color-muted);font:var(--kd-type-caption);cursor:pointer}.kd-navigation-bottom button[aria-current=page],.kd-navigation-bottom button:hover{color:var(--kd-color-primary);background:var(--sidebar-accent)}
.kd-navigation-scrim{position:absolute;inset:0;width:100%;height:100%;border:0;background:#0008;z-index:2;cursor:pointer}
@media(max-width:600px){.kd-navigation-preview{min-height:640px}.kd-navigation-content{padding-bottom:88px}.kd-navigation-sidebar{position:absolute;inset:0 0 0 auto;width:min(286px,calc(100% - 32px));overflow-y:auto;animation:kd-nav-enter .18s ease-out}.kd-navigation-sidebar header strong{display:block}}
@keyframes kd-nav-enter{from{transform:translateX(100%)}to{transform:translateX(0)}}
@media(prefers-reduced-motion:reduce){.kd-navigation-sidebar{animation:none}}
@media(max-width:600px){.kd-navigation-sidebar{border-top-right-radius:0;border-bottom-right-radius:0}}
.kd-navigation-sidebar footer{display:flex;flex-direction:column;align-items:stretch;gap:var(--kd-layout-text);margin-top:var(--kd-layout-blocks);font:var(--kd-type-caption)}.kd-navigation-sidebar footer button{width:36px}.kd-navigation-preview.is-compact footer small{display:none}
.kd-navigation-footer-tools{display:flex;align-items:center;gap:var(--kd-layout-icon)}
.kd-navigation-account{display:flex;align-items:center;gap:var(--kd-layout-icon);border-top:1px solid var(--kd-color-border);padding-top:var(--kd-layout-text)}
.kd-navigation-avatar{display:grid;place-items:center;width:34px;height:34px;flex-shrink:0;border-radius:9px;background:linear-gradient(135deg,var(--kd-color-primary),var(--kd-color-info));color:var(--kd-color-primary-foreground);font:var(--kd-type-label);font-weight:800}
.kd-navigation-identity{display:flex;flex-direction:column;min-width:0;flex:1;line-height:1.3}
.kd-navigation-identity strong{font:var(--kd-type-label);max-width:160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kd-navigation-identity small{font:var(--kd-type-caption);color:var(--kd-color-muted)}
.kd-navigation-sidebar footer .kd-navigation-logout{flex-shrink:0;justify-content:center;margin-left:auto;color:var(--kd-color-muted)}
.kd-navigation-sidebar footer .kd-navigation-logout svg{width:17px;height:17px;stroke-width:1.8}
.kd-navigation-sidebar footer .kd-navigation-logout:hover{color:var(--kd-color-danger);background:var(--sidebar-accent)}
.kd-navigation-logout:disabled{opacity:.5;cursor:wait}
@media(min-width:601px){.kd-navigation-preview.is-compact .kd-navigation-identity,.kd-navigation-preview.is-compact .kd-navigation-avatar{display:none}.kd-navigation-preview.is-compact .kd-navigation-account{justify-content:center}}
@media(min-width:601px){.kd-navigation-preview.is-compact footer button{width:100%;justify-content:center}}
.kd-navigation-preview .kd-navigation-sidebar,.kd-navigation-preview .kd-navigation-sidebar button,.kd-navigation-preview .kd-navigation-bottom button{color:var(--kd-color-foreground)}
.kd-navigation-preview .kd-navigation-sidebar button:hover,.kd-navigation-preview .kd-navigation-sidebar button[aria-current=page],.kd-navigation-preview .kd-navigation-bottom button:hover,.kd-navigation-preview .kd-navigation-bottom button[aria-current=page]{color:var(--kd-color-primary)}
@media(min-width:601px){.kd-navigation-preview:not(.is-compact) .kd-navigation-sidebar{flex:0 0 auto;width:max-content;max-width:100%}}
@media(max-width:600px){.kd-navigation-preview .kd-navigation-sidebar{width:max-content;max-width:calc(100% - 32px)}}

.kd-calendar-toolbar{display:grid;grid-template-columns:minmax(144px,auto) minmax(0,1fr) auto;align-items:center;gap:var(--kd-layout-icon,12px);margin-bottom:var(--kd-layout-text,12px);color:var(--kd-color-foreground)}
.kd-calendar-toolbar>.kdui-button{margin:0;align-self:center}
.kd-calendar-toolbar .kd-select-field{min-width:144px}
.kd-calendar-toolbar .kd-select-trigger>span,.kd-calendar-toolbar .kd-select-options [role=option]>span{white-space:nowrap}
.kd-calendar-period{display:flex;align-items:center;justify-content:space-between;min-width:0;gap:var(--kd-layout-icon,12px)}
.kd-calendar-period strong{font:var(--kd-type-body);font-weight:700;text-align:center;overflow-wrap:anywhere}
.kd-calendar-period button{display:grid;place-items:center;flex-shrink:0;width:44px;min-height:44px;border:0;border-radius:var(--kd-radius-sm);background:transparent;color:var(--kd-color-foreground);cursor:pointer}
.kd-calendar-period button:hover{background:var(--kd-color-surface-raised);color:var(--kd-color-primary)}
.kd-calendar-create{position:relative}.kd-calendar-create summary{display:flex;align-items:center;gap:var(--kd-layout-icon,12px);min-height:var(--kd-button-height);padding:var(--kd-button-spacing-top,8px) var(--kd-button-spacing-right,12px) var(--kd-button-spacing-bottom,8px) var(--kd-button-spacing-left,12px);border-radius:var(--kd-button-radius);background:var(--kd-color-primary);color:var(--kd-button-primary-foreground);font:var(--kd-type-body);cursor:pointer;list-style:none}.kd-calendar-create summary::-webkit-details-marker{display:none}
.kd-calendar-create>div{position:absolute;right:0;top:calc(100% + 4px);z-index:10;width:max-content;max-width:calc(100vw - 32px);padding:4px;background:var(--kd-color-surface);border:1px solid var(--kd-color-border);border-radius:var(--kd-radius-sm);box-shadow:var(--kd-shadow-panel)}
.kd-calendar-create button{display:flex;align-items:center;gap:var(--kd-layout-icon,12px);width:100%;min-height:44px;padding:8px;border:0;background:transparent;color:var(--kd-color-foreground);font:var(--kd-type-body);cursor:pointer}.kd-calendar-create button:hover{background:var(--kd-color-surface-raised);color:var(--kd-color-primary)}
.kd-calendar-toolbar svg,.kd-calendar-drag-note svg{width:18px;height:18px;flex-shrink:0}.kd-calendar-drag-note{display:flex;align-items:center;gap:var(--kd-layout-icon,12px);margin:0 0 var(--kd-layout-text,12px);font:var(--kd-type-caption);color:var(--kd-color-muted)}
@media(max-width:600px){.kd-calendar-drag-note{display:none}.kd-calendar-toolbar{grid-template-columns:minmax(0,1fr) auto}.kd-calendar-period{grid-row:2;grid-column:1/-1}.kd-calendar-create{grid-column:2;grid-row:1}}
.home-calendar-agenda-card #home-calendar-footer .kd-calendar-drag-note{display:flex;align-items:flex-start;margin:var(--kd-layout-text) 0 0;padding-inline:var(--kd-card-left) var(--kd-card-right)}
.home-calendar-agenda-card #home-calendar-toolbar{container-type:inline-size;container-name:home-toolbar}
@container home-toolbar (max-width:600px){.kd-calendar-toolbar{grid-template-columns:minmax(0,1fr) auto}.kd-calendar-period{grid-row:2;grid-column:1/-1}.kd-calendar-period strong{overflow-wrap:normal}.kd-calendar-toolbar .kd-select-field{min-width:0;width:min(100%,144px)}}

.kd-select-preview{position:relative;display:grid;gap:8px;width:100%;min-width:0;font:var(--kd-type-body);color:var(--kd-color-foreground)}
.kd-select-preview .kd-select-trigger{display:flex;align-items:center;justify-content:space-between;gap:var(--kd-layout-icon,12px);width:100%;min-height:var(--kd-input-height,44px);padding:8px 12px;border:1px solid var(--kd-color-border);border-radius:var(--kd-input-radius,8px);background:var(--kd-color-surface-raised);color:var(--kd-color-foreground);font:inherit;cursor:pointer;text-align:left}
.kd-select-preview svg{width:18px;height:18px;flex-shrink:0}
.kd-select-trigger:focus-visible,.kd-select-options:focus-visible{outline:2px solid var(--kd-color-primary);outline-offset:2px}
.kd-select-options{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:30;box-sizing:border-box;max-height:240px;overflow-y:auto;border:1px solid var(--kd-color-border);border-radius:var(--kd-radius-sm);padding:4px;background:var(--kd-color-surface);box-shadow:var(--kd-shadow-panel)}
.kd-select-options [role=option]{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:8px;box-sizing:border-box;border-radius:4px;cursor:pointer;overflow-wrap:anywhere}
.kd-select-options [role=option].is-focused{background:var(--kd-color-surface-raised)}
.kd-select-options [aria-selected=true]{color:var(--kd-color-primary);font-weight:600}
.kd-select-field{min-width:0;width:100%}
.kd-select-preview .kd-select-trigger:disabled{opacity:.5;cursor:not-allowed}

/* Shared visual rules for the Studio calendar specimens and live calendar. */
.home-agenda-list{display:grid;gap:12px}.home-agenda-day{display:grid;grid-template-columns:120px 1fr;gap:14px;border-top:1px solid var(--kd-color-border);padding-top:12px}.home-agenda-day>header{display:grid;align-content:start;gap:4px;text-transform:capitalize}.home-agenda-day>header strong{color:var(--kd-color-foreground);font:700 12px/1.2 monospace}.home-agenda-day>header span{color:var(--kd-color-muted);font-size:10px}.home-agenda-entry{width:100%;min-height:48px;display:grid;grid-template-columns:4px 76px 1fr auto;align-items:center;gap:10px;border:1px solid var(--kd-color-border);border-radius:10px;background:var(--kd-color-surface);color:var(--kd-color-foreground);padding:8px 10px;margin-bottom:8px;text-align:left}.home-agenda-entry>span{height:30px;border-radius:999px;background:var(--event-color)}.home-agenda-entry time{color:var(--kd-color-info);font:700 10px/1 monospace}.home-agenda-entry small{color:var(--kd-color-muted);font:700 8px/1 monospace}.home-agenda-entry.official{background:rgba(0,180,255,.05)}
.home-month-calendar{overflow:hidden;border:1px solid var(--kd-color-border);border-radius:14px;background:rgba(2,6,23,.34)}.home-month-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-bottom:1px solid var(--kd-color-border)}.home-month-weekdays span{padding:10px 6px;color:var(--kd-color-muted);font:700 9px/1 monospace;text-align:center}.home-month-week{position:relative;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));min-height:148px;border-bottom:1px solid var(--kd-color-border)}.home-month-week:last-child{border-bottom:0}.home-month-day{min-width:0;border-right:1px solid var(--kd-color-border);padding:4px 5px}.home-month-day:nth-child(7){border-right:0}.home-month-day.outside{background:rgba(0,0,0,.2);opacity:.48}.home-month-day.selected{background:rgba(0,255,136,.035)}.home-month-date{width:100%;min-height:28px;display:flex;align-items:center;justify-content:center;gap:6px;border:0;border-radius:999px;background:transparent;color:var(--kd-color-foreground);padding:2px 5px;cursor:pointer}.home-month-date span{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;font:700 11px/1 monospace}.home-month-date small{overflow:hidden;color:var(--kd-color-muted);font-size:8px;text-overflow:ellipsis;white-space:nowrap}.home-month-day.today .home-month-date span{background:var(--kd-color-info);color:#06111c}.home-month-day.selected .home-month-date span{outline:2px solid var(--kd-color-primary);outline-offset:1px}.home-month-event-span{position:absolute;z-index:3;top:calc(35px + var(--span-lane)*22px);left:calc(var(--span-start)*14.285714% + 2px);width:calc(var(--span-days)*14.285714% - 4px);height:20px;display:flex;align-items:center;gap:7px;overflow:hidden;border:0;border-radius:5px;background:var(--event-color);color:#06111c;padding:0 8px;text-align:left;cursor:pointer}.home-month-event-span strong{overflow:hidden;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.home-month-event-span small{margin-left:auto;font:700 7px/1 monospace;white-space:nowrap}.home-month-day-activities{display:grid;gap:3px;padding-top:calc(8px + var(--month-lanes)*22px)}.home-calendar-activity{min-width:0;width:100%;height:20px;display:grid;grid-template-columns:5px 34px minmax(0,1fr);align-items:center;gap:4px;overflow:hidden;border:0;border-radius:4px;background:transparent;color:var(--kd-color-foreground);padding:0 3px;text-align:left;cursor:pointer}.home-calendar-activity:hover{background:rgba(255,255,255,.06)}.home-calendar-activity>i{width:5px;height:5px;border-radius:50%;background:var(--event-color)}.home-calendar-activity time{color:var(--kd-color-muted);font:700 7px/1 monospace}.home-calendar-activity strong{overflow:hidden;font-size:8px;text-overflow:ellipsis;white-space:nowrap}.home-calendar-activity small{grid-column:3;color:var(--kd-color-muted);font-size:7px}.home-month-more{min-height:20px;border:0;background:transparent;color:var(--kd-color-muted);font-size:8px;text-align:left;cursor:pointer}
.home-time-calendar{display:grid;grid-template-columns:62px minmax(0,1fr);overflow:hidden;border:1px solid var(--kd-color-border);border-radius:14px;background:rgba(2,6,23,.34)}.home-time-header-spacer{border-right:1px solid var(--kd-color-border);border-bottom:1px solid var(--kd-color-border)}.home-time-headers{display:grid;grid-template-columns:repeat(var(--calendar-days),minmax(0,1fr));border-bottom:1px solid var(--kd-color-border)}.home-time-headers button{min-height:66px;display:grid;place-items:center;align-content:center;gap:4px;border:0;border-right:1px solid var(--kd-color-border);background:transparent;color:var(--kd-color-foreground);cursor:pointer}.home-time-headers button:last-child{border-right:0}.home-time-headers small{color:var(--kd-color-muted);font:700 9px/1 monospace}.home-time-headers strong{font:600 22px/1 sans-serif}.home-time-all-day-label{display:grid;place-items:center;border-right:1px solid var(--kd-color-border);border-bottom:1px solid var(--kd-color-border);color:var(--kd-color-muted);font:700 7px/1 monospace}.home-time-ribbons{position:relative;display:grid;grid-template-columns:repeat(var(--calendar-days),minmax(0,1fr));grid-template-rows:repeat(var(--all-day-rows),24px);gap:2px 0;min-height:28px;padding:4px 0;border-bottom:1px solid var(--kd-color-border)}.home-time-ribbon{z-index:2;grid-column:var(--day-start)/span var(--day-span);grid-row:var(--ribbon-row);height:22px;overflow:hidden;border:0;border-radius:5px;background:var(--event-color);color:#06111c;padding:0 8px;text-align:left;cursor:pointer}.home-time-ribbon strong{display:block;overflow:hidden;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.home-time-no-ribbon{grid-column:1/-1;align-self:center;color:var(--kd-color-muted);font-size:9px;padding-left:10px}.home-time-axis{position:relative;height:1080px;border-right:1px solid var(--kd-color-border)}.home-time-axis span{position:absolute;top:calc(var(--hour-index)*60px - 6px);right:8px;color:var(--kd-color-muted);font:700 8px/1 monospace}.home-time-lanes{display:grid;grid-template-columns:repeat(var(--calendar-days),minmax(0,1fr));height:1080px}.home-time-day-lane{position:relative;min-width:0;border-right:1px solid var(--kd-color-border)}.home-time-day-lane:last-child{border-right:0}.home-time-day-lane>i{display:block;height:60px;border-bottom:1px solid var(--kd-color-border)}.home-time-block{position:absolute;z-index:2;top:var(--block-top);left:calc(3px + var(--block-offset)*4px);width:calc(100% - 6px - var(--block-offset)*4px);height:var(--block-height);min-height:24px;display:grid;align-content:start;gap:2px;overflow:hidden;border:1px solid color-mix(in srgb,var(--event-color),#000 35%);border-left:4px solid var(--event-color);border-radius:7px;background:color-mix(in srgb,var(--event-color),#0a0c17 32%);color:#06111c;padding:5px 6px;text-align:left;cursor:pointer}.home-time-block time{font:700 8px/1 monospace}.home-time-block strong{font-size:9px;line-height:1.2}.home-time-block small{overflow:hidden;font-size:7px;text-overflow:ellipsis;white-space:nowrap}.home-time-block.official{color:#06111c}.home-time-calendar.day .home-time-block strong{font-size:11px}.home-time-calendar.day .home-time-block time{font-size:9px}
@media(max-width:700px){.home-month-week{min-height:112px}.home-month-day{padding:3px 2px}.home-month-date{min-height:25px;padding:0}.home-month-date span{width:22px;height:22px;font-size:9px}.home-month-date small{display:none}.home-month-event-span{top:calc(31px + var(--span-lane)*18px);left:calc(var(--span-start)*14.285714% + 1px);width:calc(var(--span-days)*14.285714% - 2px);height:17px;padding:0 4px}.home-month-event-span strong{font-size:7px}.home-month-event-span small{display:none}.home-month-day-activities{padding-top:calc(5px + var(--month-lanes)*18px)}.home-calendar-activity{grid-template-columns:5px minmax(0,1fr);height:17px;padding:0 1px}.home-calendar-activity time{display:none}.home-calendar-activity strong{font-size:7px}.home-month-more{font-size:7px;padding:0}.home-time-calendar{grid-template-columns:45px minmax(0,1fr)}.home-time-axis span{right:5px;font-size:7px}.home-time-calendar.week .home-time-headers strong{font-size:15px}.home-time-calendar.week .home-time-block{left:1px;width:calc(100% - 2px);padding:3px 2px;border-left-width:2px}.home-time-calendar.week .home-time-block time{font-size:6px}.home-time-calendar.week .home-time-block strong{font-size:7px}.home-time-calendar.week .home-time-block small{display:none}.home-time-all-day-label{font-size:6px;writing-mode:vertical-rl}.home-calendar-agenda-card{overflow-x:hidden}}
.kdui-home .home-month-calendar,.kdui-home .home-time-calendar{border-color:var(--kd-color-border);border-radius:var(--kd-radius-md);background:var(--kd-color-background)}
.kdui-home .home-month-weekdays,.kdui-home .home-month-week,.kdui-home .home-month-day,.kdui-home .home-time-header-spacer,.kdui-home .home-time-headers,.kdui-home .home-time-headers button,.kdui-home .home-time-all-day-label,.kdui-home .home-time-ribbons,.kdui-home .home-time-axis,.kdui-home .home-time-day-lane,.kdui-home .home-time-day-lane>i{border-color:var(--kd-color-border)}
.kdui-home .home-month-week{min-height:max(96px,calc(62px + var(--month-lanes)*22px))}
.kdui-home .home-month-day{background:transparent;color:var(--kd-color-foreground)}
.kdui-home .home-month-day.outside{background:transparent;opacity:.4}
.kdui-home .home-month-calendar.home-month-calendar{background:transparent}
.kdui-home .home-month-day:not(.outside),.kdui-home .home-month-weekdays{background:var(--kd-color-background)}
.kdui-home .home-month-day.selected{background:color-mix(in oklab,var(--kd-color-primary) 5%,transparent)}
.kdui-home .home-month-date{color:var(--kd-color-foreground)}
.kdui-home .home-month-date small,.kdui-home .home-month-more,.kdui-home .home-calendar-activity time,.kdui-home .home-calendar-activity small{color:var(--kd-color-muted)}
.kdui-home .home-month-day.today .home-month-date span{border:2px solid var(--kd-color-primary);background:transparent;color:var(--kd-color-foreground)}
.kdui-home .home-month-day.selected .home-month-date span{outline-color:var(--kd-color-primary)}
.kdui-home .home-month-event-span,.kdui-home .home-time-ribbon{border-radius:5px;color:var(--kd-button-primary-foreground)}
.kdui-home .home-calendar-activity{color:var(--kd-color-foreground)}
.kdui-home .home-calendar-activity:hover{background:var(--kd-color-surface-raised)}
.kdui-home .home-time-headers button{color:var(--kd-color-foreground)}
.kdui-home .home-time-headers small,.kdui-home .home-time-all-day-label,.kdui-home .home-time-axis span,.kdui-home .home-time-no-ribbon{color:var(--kd-color-muted)}
.kdui-home .home-time-block{border-color:var(--event-color);background:color-mix(in oklab,var(--event-color) 15%,var(--kd-color-surface));color:var(--kd-color-foreground)}
.kdui-home .home-time-block.official{color:var(--kd-color-foreground)}
.kdui-home .home-agenda-list{gap:14px}
.kdui-home .home-agenda-day{grid-template-columns:145px 1fr;gap:12px;padding-bottom:14px;border-color:var(--kd-color-border)}
.kdui-home .home-agenda-day>header strong{color:var(--kd-color-foreground);font:var(--kd-type-label)}
.kdui-home .home-agenda-day>header span{color:var(--kd-color-muted);font:var(--kd-type-caption)}
.kdui-home .home-agenda-entry{min-height:62px;grid-template-columns:5px 70px 1fr;padding:9px;border-color:var(--kd-color-border);border-radius:var(--kd-radius-sm);background:var(--kd-color-surface-raised);color:var(--kd-color-foreground)}
.kdui-home .home-agenda-entry time{color:var(--kd-color-muted);font:var(--kd-type-caption)}
.kdui-home .home-agenda-entry small{grid-column:3;color:var(--kd-color-muted);font:var(--kd-type-caption)}
.kdui-home .home-agenda-entry.official{background:var(--kd-color-surface-raised);opacity:1}
.kdui-home .home-month-session{display:flex;align-items:center;gap:4px;width:100%;min-width:0;border:0;background:transparent;color:var(--kd-color-foreground);padding:4px 0;text-align:left;font:var(--kd-type-caption);cursor:pointer}
.kdui-home .home-month-session i{width:6px;height:6px;flex:0 0 6px;border-radius:50%;background:var(--kd-color-primary)}
.kd-month-telemetry-preview .home-month-session i{width:3px;height:12px;border-radius:2px;background:var(--chart-2);justify-self:center}
.month-session-compact{display:none}
@media(max-width:600px){.month-session-full{display:none}.month-session-compact{display:inline}}
.kd-month-telemetry-preview .home-month-calendar .home-month-session{color:var(--chart-2);display:grid;grid-template-columns:9px minmax(0,1fr);align-items:center;gap:4px;padding:0 1px;min-height:20px}
.kd-month-telemetry-preview .home-month-calendar .home-calendar-activity>i{width:7.5px;height:7.5px;justify-self:center}
.kd-month-telemetry-preview .home-month-calendar .home-calendar-activity{grid-template-columns:9px 34px minmax(0,1fr);padding-inline:1px;min-height:20px}
.kd-month-telemetry-preview .home-month-calendar :is(.home-month-session,.home-calendar-activity strong,.home-calendar-activity time,.home-calendar-activity small,.home-month-event-span strong,.home-month-event-span small){font:var(--kd-type-caption);font-size:9px;letter-spacing:normal}
@media(max-width:700px){.kd-month-telemetry-preview .home-month-calendar .home-calendar-activity{grid-template-columns:9px minmax(0,1fr)}}
.kdui-home .home-month-session span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kdui-home .home-month-session:hover,.kdui-home .home-month-session:focus-visible{color:var(--kd-color-primary)}
:is(.kdop-month,.kdop-week,.kdop-day,.kdui-home .home-month-calendar,.kdui-home .home-time-calendar){border:1px solid var(--kd-color-border);border-radius:var(--kd-radius-md);background:var(--kd-color-background);color:var(--kd-color-foreground);min-width:0;max-width:100%;box-sizing:border-box}
.kdui-home .home-month-week{min-height:96px;border-color:var(--kd-color-border)}
.kdui-home .home-month-day{border-color:var(--kd-color-border);padding:8px 4px}
.kdui-home .home-month-day.outside{background:transparent;opacity:.4}
.kdui-home .home-month-date{color:var(--kd-color-foreground);font:var(--kd-type-label)}
.kdui-home .home-month-weekdays span{padding:10px 4px;color:var(--kd-color-muted);font:var(--kd-type-caption)}
.kdui-home .home-month-day.today .home-month-date span{width:26px;height:26px;border:2px solid var(--kd-color-primary);background:transparent;color:var(--kd-color-foreground);box-shadow:none}
.kdui-home .home-month-date small,.kdui-home .home-calendar-activity time,.kdui-home .home-calendar-activity small{color:var(--kd-color-muted);font:var(--kd-type-caption)}
.kdui-home .home-time-calendar{overflow:auto}
.kdui-home .home-time-calendar.day{padding-bottom:16px}
@media(max-width:600px){.kdui-home .home-time-calendar{padding-bottom:12px}.kdui-home .home-time-calendar .home-time-axis span,.kdui-home .home-time-calendar .home-time-headers small,.kdui-home .home-time-calendar .home-time-headers strong{font:700 9px/1.2 monospace}.kdui-home .home-time-calendar .home-time-all-day-label{font:700 9px/1.2 monospace;writing-mode:horizontal-tb;text-align:center;padding:4px;overflow-wrap:normal}}
.kdui-home .home-time-headers button{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;background:transparent;color:var(--kd-color-foreground);border-color:var(--kd-color-border)}
.kdui-home .home-time-headers small,.kdui-home .home-time-axis span,.kdui-home .home-time-all-day-label,.kdui-home .home-time-no-ribbon{font:var(--kd-type-caption);color:var(--kd-color-muted)}
.kdui-home .home-time-headers strong{font:var(--kd-type-label)}
.kdui-home .home-time-block{border:1px solid var(--event-color,var(--kd-color-info));border-radius:var(--kd-radius-sm);background:color-mix(in oklab,var(--event-color,var(--kd-color-info)) 16%,var(--kd-color-surface));color:var(--kd-color-foreground)}
.kdui-home .home-time-block strong{font:var(--kd-type-label)}
.kdui-home .home-time-block time,.kdui-home .home-time-block small{font:var(--kd-type-caption);color:var(--kd-color-muted)}
.kdui-home .home-agenda-day{gap:var(--kd-layout-text,12px);border-color:var(--kd-color-border)}
.kdui-home .home-agenda-day>header strong{font:var(--kd-type-label);color:var(--kd-color-foreground)}
.kdui-home .home-agenda-day>header span{font:var(--kd-type-caption);color:var(--kd-color-muted)}
.kdui-home .home-agenda-entry{border-color:var(--kd-color-border);border-radius:var(--kd-radius-sm);background:var(--kd-color-surface-raised);color:var(--kd-color-foreground);gap:var(--kd-layout-icon,12px)}
.kdui-home .home-agenda-entry strong{font:var(--kd-type-label)}
.kdui-home .home-agenda-entry time,.kdui-home .home-agenda-entry small{font:var(--kd-type-caption);color:var(--kd-color-muted)}
@media(max-width:720px){.kdui-home .home-month-week{min-height:74px}.kdui-home .home-month-day{padding:5px 2px}.kdui-home .home-time-calendar.day{width:100%;grid-template-columns:52px minmax(0,1fr)}.kdui-home .home-time-calendar.day .home-time-block{min-width:0;overflow-wrap:anywhere}.kdui-home .home-time-calendar.week{grid-template-columns:48px minmax(512px,1fr)}.kdui-home .home-time-calendar.week .home-time-block{padding:4px;overflow-wrap:anywhere}.kdui-home .home-agenda-day{grid-template-columns:minmax(0,1fr)}}
@media(max-width:600px){.kdui-home .home-month-calendar,.kdui-home .home-time-calendar{border-radius:0}.kdui-home .home-time-calendar.week{grid-template-columns:40px minmax(0,1fr)}.kdui-home .home-time-calendar.week .home-time-headers button{min-width:0;padding-inline:0}.kdui-home .home-time-calendar.week .home-time-block{padding-inline:2px;min-width:0}.kdui-home .home-time-calendar.week .home-time-ribbon{min-width:0}}

.kd-date-demo{display:grid;gap:var(--kd-layout-icon,8px);width:min(100%,340px);min-width:0;margin-inline:auto;color:var(--kd-color-foreground);font:var(--kd-type-body)}
.kd-date-demo>label{font:var(--kd-type-label);color:var(--kd-color-muted)}
.kd-date-trigger{display:flex;align-items:center;justify-content:space-between;min-height:var(--kd-input-height,44px);width:100%;padding:8px 12px;border:1px solid var(--kd-color-border);border-radius:var(--kd-input-radius,8px);background:var(--kd-color-surface-raised);color:var(--kd-color-foreground);font:var(--kd-type-body);cursor:pointer}
.kd-date-trigger svg,.kd-date-calendar svg{width:18px;height:18px}
.kd-date-trigger{padding:0;cursor:default;box-sizing:border-box}
.kd-date-trigger input{flex:1;min-width:0;width:100%;border:0;background:transparent;color:inherit;font:inherit;padding:8px 12px;outline:none}
.kd-date-trigger>button{flex:none;display:grid;place-items:center;padding:8px;margin:0 4px;border:0;border-radius:var(--kd-input-radius,8px);background:transparent;color:inherit;cursor:pointer}
.kd-date-trigger>button:hover{color:var(--kd-color-primary)}
.kd-date-trigger:focus-within{outline:2px solid var(--kd-color-primary);outline-offset:2px}
.kd-date-error{font:var(--kd-type-caption);color:var(--kd-color-destructive)}
.kd-date-field{position:relative;min-width:0;display:grid;gap:8px}
.kd-date-field>label{font:var(--kd-type-label);color:var(--kd-color-foreground)}
.kd-date-popup{position:absolute;top:100%;left:0;width:340px;max-width:min(340px,calc(100vw - 48px));margin-top:8px;z-index:50}
.event-date-with-repeat>.kd-date-field:nth-child(2) .kd-date-popup{left:auto;right:0}
.kd-date-field:has(>.kd-date-popup){z-index:50}
.kd-date-field .kd-date-trigger input{min-width:0;border:0;background:transparent;box-shadow:none}
.kd-app-date-field{min-width:0;position:relative}
.kd-app-date-field.has-external-label>.kd-date-field>label{display:none}
.kd-date-calendar{box-sizing:border-box;width:100%;padding:var(--kd-card-top,16px) var(--kd-card-right,16px) var(--kd-card-bottom,16px) var(--kd-card-left,16px);border:1px solid var(--kd-color-border);border-radius:var(--kd-radius-md);background:var(--kd-color-surface);box-shadow:var(--kd-shadow-panel)}
.kd-date-calendar header{display:grid;grid-template-columns:36px minmax(0,1fr) 36px;align-items:center;gap:var(--kd-layout-icon,8px);margin-bottom:var(--kd-layout-text,16px)}
.kd-date-calendar header strong{text-align:center;text-transform:capitalize;font:var(--kd-type-label)}
.kd-date-calendar button{display:grid;place-items:center;border:0;color:var(--kd-color-foreground);background:transparent;cursor:pointer;border-radius:50%;padding:0;font:var(--kd-type-label)}
.kd-date-calendar header button{width:36px;height:36px}
.kd-date-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:4px;min-width:0}
.kd-date-heading .kd-select-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;height:36px;min-height:36px;padding:4px 8px;border:1px solid var(--kd-color-border);border-radius:var(--kd-input-radius,8px);background:var(--kd-color-surface-raised);white-space:nowrap}
.kd-date-heading .kd-select-options{max-height:220px;min-width:100%;z-index:40}
.kd-date-announcement{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.kd-date-calendar table{table-layout:fixed;width:100%;border-collapse:separate;border-spacing:0 4px}
.kd-date-calendar th{font:var(--kd-type-caption);color:var(--kd-color-muted);padding:0 0 8px;text-align:center}
.kd-date-calendar td{padding:0;text-align:center}
.kd-date-calendar td button{width:100%;aspect-ratio:1;max-height:44px;min-height:28px}
.kd-date-calendar button.is-outside{color:var(--kd-color-subtle)}
.kd-date-calendar button[aria-current=date]{background:var(--kd-color-surface-raised);box-shadow:inset 0 0 0 1px var(--kd-color-border-strong)}
.kd-date-calendar button:hover{background:var(--kd-color-surface-raised)}
.kd-date-calendar button.is-selected{background:var(--kd-color-primary);color:var(--kd-color-primary-foreground)}
.kd-date-calendar td button:disabled{opacity:.28;color:var(--kd-color-muted);background:transparent;box-shadow:none;cursor:not-allowed}
.kd-date-calendar button:focus-visible,.kd-date-trigger:focus-visible{outline:2px solid var(--kd-color-primary);outline-offset:2px}

.event-proposal{width:min(100%,680px);margin-inline:auto;box-sizing:border-box;padding:var(--kd-card-top,24px) var(--kd-card-right,24px) var(--kd-card-bottom,24px) var(--kd-card-left,24px);border:1px solid var(--kd-color-border);border-radius:var(--kd-radius-md);background:var(--kd-color-surface);color:var(--kd-color-foreground);font:var(--kd-type-body)}
.kdui-dialog:has(>.kdui-dialog-body>.event-editor){width:min(100%,680px);border:0;border-radius:var(--kd-radius-md);background:transparent;overflow:visible}
.kdui-dialog-body:has(>.event-editor){padding:0}
.kdui-dialog-body>.event-editor{width:100%;margin:0}
.kdui-dialog-layer:has(>.kdui-dialog>.kdui-dialog-body>.event-editor){overflow-y:auto;align-items:safe center}
.event-proposal header,.event-proposal form,.event-details{display:grid;gap:var(--kd-layout-text,12px)}
.event-proposal header{margin-bottom:var(--kd-layout-blocks,24px)}
.event-proposal h2{font:var(--kd-type-title);margin:0}.event-proposal p{margin:0}.event-proposal small,.event-proposal header p{color:var(--kd-color-muted);font:var(--kd-type-caption)}
.event-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--kd-layout-cards,16px)}.event-grid>*{min-width:0}
.event-check{display:flex;gap:var(--kd-layout-icon,12px);align-items:center;min-height:44px}.event-check input{accent-color:var(--kd-color-primary);width:20px;height:20px;flex-shrink:0}
.event-proposal details{border-top:1px solid var(--kd-color-border)}.event-proposal summary{padding-block:16px;cursor:pointer;font:var(--kd-type-label)}.event-proposal details>.event-details{padding-bottom:16px}
.event-proposal footer{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:var(--kd-layout-icon,12px);padding-top:var(--kd-layout-text,12px)}
.event-result{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;text-align:left;background:var(--kd-color-surface-raised);color:var(--kd-color-foreground);border:1px solid var(--kd-color-border);border-radius:var(--kd-radius-sm);font:var(--kd-type-body);cursor:pointer}.event-result span{display:grid;gap:8px;min-width:0}.event-result:hover,.event-result:focus-visible{border-color:var(--kd-color-primary)}.event-result small{display:block}.event-program{margin:0;padding-left:20px;display:grid;gap:12px}
@media(max-width:560px){.event-grid{grid-template-columns:1fr}.event-result{align-items:start;flex-direction:column}.event-proposal footer{display:grid;grid-template-columns:1fr}.event-proposal footer button{width:100%}}
.public-event-card{display:grid;gap:var(--kd-layout-text,12px);padding:var(--kd-card-top,16px) var(--kd-card-right,16px) var(--kd-card-bottom,16px) var(--kd-card-left,16px);border:1px solid var(--kd-color-border);border-radius:var(--kd-radius-md);min-width:0}.public-event-card h3{font:var(--kd-type-title);margin:0}.public-event-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--kd-layout-text,12px);margin:0}.public-event-facts dt{font:var(--kd-type-caption);color:var(--kd-color-muted)}.public-event-facts dd{margin:4px 0 0;overflow-wrap:anywhere}.public-document{padding-bottom:16px;overflow-wrap:anywhere}
.public-event-preview{position:relative;min-height:720px}.public-detail-overlay{position:absolute;inset:0;z-index:20;background:rgb(0 0 0 / .35);display:flex;align-items:flex-start;justify-content:center;padding:16px;box-sizing:border-box;border-radius:inherit}.public-detail-panel{width:min(100%,540px);max-height:680px;overflow:auto;box-sizing:border-box;padding:var(--kd-card-top,16px) var(--kd-card-right,16px) var(--kd-card-bottom,16px) var(--kd-card-left,16px);border:1px solid var(--kd-color-border);border-radius:var(--kd-radius-md);background:var(--kd-color-surface);box-shadow:var(--kd-shadow-panel);display:grid;gap:var(--kd-layout-blocks,16px)}.public-detail-actions{display:flex;justify-content:flex-end;align-items:center;gap:var(--kd-layout-icon,8px)}.public-detail-row{display:grid;grid-template-columns:24px minmax(0,1fr);gap:var(--kd-layout-icon,12px);align-items:start}.public-detail-row>svg{width:20px;height:20px;margin-top:4px;color:var(--kd-color-muted)}.public-detail-row>div{display:grid;gap:4px;min-width:0}.public-detail-row h2{overflow-wrap:anywhere}.public-detail-row details{min-width:0;border:0}.public-detail-row summary{padding:0;min-height:32px}.public-detail-row .event-program{padding-left:16px;margin-top:8px}.public-demo-note{font:var(--kd-type-caption);color:var(--kd-color-primary)}
@media(max-width:560px){.public-detail-overlay{padding:8px}.public-detail-panel{max-height:680px}.public-detail-actions{flex-wrap:wrap}.public-detail-row{grid-template-columns:20px minmax(0,1fr)}}
.public-event-heading{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:var(--kd-layout-icon,12px)}.public-event-heading h3,.public-event-heading>svg{color:var(--kd-color-primary)}.public-event-heading>svg{width:20px;height:20px}.public-event-heading button svg{transition:transform .2s ease}.public-event-heading button svg.is-expanded{transform:rotate(180deg)}.public-event-accordion{display:grid;grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows .2s ease,visibility .2s}.public-event-accordion.is-open{grid-template-rows:1fr;visibility:visible}.public-event-accordion>div{overflow:hidden;min-height:0}.public-event-accordion .event-details{padding-top:var(--kd-layout-text,12px)}@media(prefers-reduced-motion:reduce){.public-event-accordion,.public-event-heading button svg{transition:none}}
.calendar-event-preview{position:relative;min-height:560px}.calendar-event-preview .public-detail-panel{max-height:520px}.calendar-event-preview .public-detail-panel>.event-proposal{border:0;padding:0}.public-document-link{display:block;color:var(--kd-color-info);margin-block:12px}.public-detail-panel h2{font:var(--kd-type-title);margin:0;color:var(--kd-color-primary)}
.calendar-event-preview{width:100%;min-width:0;box-sizing:border-box;flex:1 1 100%}.calendar-event-preview>div:first-child{width:100%;min-width:0}
.public-detail-context{flex:1;min-width:0;color:var(--kd-color-muted);font:var(--kd-type-caption)}
.public-detail-actions:has(.public-detail-context){flex-wrap:nowrap}
.public-detail-row small{color:var(--kd-color-muted);font:var(--kd-type-caption)}
.public-detail-row p{margin:0;color:var(--kd-color-foreground)}
/* Anchor each icon to its heading row, independently of the content below. */
.public-detail-row:has(>div){row-gap:4px}
.public-detail-row>div{display:contents}
.public-detail-row>div>*{grid-column:2;min-width:0}
.public-detail-row>svg{grid-column:1;grid-row:1;align-self:center;margin-top:0}
.public-detail-documents details{min-width:0;border:0}
.public-detail-documents summary{display:flex;align-items:center;gap:var(--kd-layout-icon,12px);min-height:32px;padding:0;cursor:pointer}
.public-detail-documents summary>svg{width:20px;height:20px;flex-shrink:0;color:var(--kd-color-muted)}
.public-detail-documents small{color:var(--kd-color-muted);font:var(--kd-type-caption)}
.event-wizard-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--kd-layout-icon,12px)}
.event-proposal fieldset{border:0;padding:0;margin:0;min-width:0;display:grid;gap:var(--kd-layout-text,12px)}
.event-proposal fieldset[hidden],.public-detail-actions[hidden]{display:none}
.event-proposal legend{font:var(--kd-type-label);margin-bottom:var(--kd-layout-text,12px)}
.event-color-type{display:grid;grid-template-columns:max-content minmax(0,1fr) minmax(0,1fr);gap:var(--kd-layout-cards,16px);align-items:end}
.event-color-type>*{min-width:0}
@media(max-width:560px){.event-color-type{grid-template-columns:max-content minmax(0,1fr)}.event-color-type>.event-visibility{grid-column:1 / -1}}
.event-color-type .kdui-field-label,.event-color-type .kd-select-preview>span{font:var(--kd-type-label);min-height:1.5em;display:flex;align-items:center;color:var(--kd-color-muted)}
.event-color-type>.kdui-field,.event-color-type>.kd-select-preview{gap:8px}
.event-color-type input[type=color]{box-sizing:border-box;width:var(--kd-input-height,44px);height:var(--kd-input-height,44px);min-height:var(--kd-input-height,44px);padding:3px;border-radius:var(--kd-input-radius,8px);cursor:pointer}
.event-color-type input[type=color]::-webkit-color-swatch-wrapper{padding:0}
.event-color-type input[type=color]::-webkit-color-swatch{border:0;border-radius:4px}
.catalog-preview>.event-details{width:100%;min-width:0;flex:1 1 100%}
.public-detail-panel:has(>.event-proposal){width:min(100%,680px)}
.calendar-event-preview .public-detail-panel:has(>.event-editor){padding:0;gap:0;width:min(100%,680px)}
.calendar-event-preview .public-detail-panel>.event-editor{width:100%;margin:0;padding:var(--kd-card-top,24px) var(--kd-card-right,24px) var(--kd-card-bottom,24px) var(--kd-card-left,24px)}
/* The saved-event preview grows with its dialog instead of scrolling a fixed-height panel. */
.calendar-event-preview:has(>.public-detail-overlay .saved-event-details),.calendar-event-preview:has(>.public-detail-overlay .event-editor){display:grid;grid-template-columns:minmax(0,1fr)}
.calendar-event-preview:has(>.public-detail-overlay .saved-event-details)>div,.calendar-event-preview:has(>.public-detail-overlay .event-editor)>div{grid-area:1 / 1;min-width:0}
.calendar-event-preview>.public-detail-overlay:has(.saved-event-details),.calendar-event-preview>.public-detail-overlay:has(.event-editor){position:relative;inset:auto;align-self:stretch}
.calendar-event-preview .public-detail-panel:has(>.saved-event-details),.calendar-event-preview .public-detail-panel:has(>.event-editor){width:min(100%,680px);max-height:none;overflow:visible;align-self:flex-start}
.event-time-with-reminder{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:var(--kd-layout-icon,8px);align-items:end}
.event-time-with-reminder>*{min-width:0}
.event-reminder-popover{position:fixed;inset:auto;margin:0;width:min(360px,calc(100vw - 16px));max-height:calc(100vh - 16px);overflow:auto;box-sizing:border-box;padding:var(--kd-card-top,16px);border:1px solid var(--kd-color-border);border-radius:var(--kd-radius-md);background:var(--kd-color-surface);color:var(--kd-color-foreground);box-shadow:var(--kd-shadow-panel);font:var(--kd-type-body)}
.event-reminder-popover h3{font:var(--kd-type-title);margin:0}
.event-reminder-popover .event-wizard-heading{margin-bottom:var(--kd-layout-text,12px)}
.event-reminder-popover .event-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.event-time-with-reminder{position:relative}
.event-time-with-reminder>.event-reminder-popover{position:absolute;inset:calc(100% + 8px) 0 auto auto;width:min(360px,100%);max-height:360px;z-index:35}
.event-reminder-popover[hidden]{display:none}
.event-reminder-popover .event-grid[hidden]{display:none}
.event-recurrence-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.event-recurrence-days button{aspect-ratio:1;min-width:0;padding:0;border:1px solid var(--kd-color-border);border-radius:50%;background:var(--kd-color-surface-raised);color:var(--kd-color-foreground);font:var(--kd-type-label);cursor:pointer}
.event-recurrence-days button[aria-pressed=true]{background:var(--kd-color-primary);color:var(--kd-color-primary-foreground)}
.event-recurrence-end>div{display:grid;grid-template-columns:70px minmax(0,1fr);gap:var(--kd-layout-icon,8px);align-items:center}
.event-recurrence-end label{display:flex;align-items:center;gap:8px}
.event-recurrence-end input[type=radio]{accent-color:var(--kd-color-primary)}
.event-time-with-reminder>.event-reminder-popover:has(.event-recurrence){width:min(400px,100%)}
.event-recurrence{gap:var(--kd-layout-text,12px)}
.event-recurrence .kdui-field-label,.event-recurrence .kd-select-preview>span:not([hidden]),.event-recurrence-week>p{font:var(--kd-type-label);color:var(--kd-color-muted);margin:0}
.event-recurrence-week{display:grid;gap:var(--kd-layout-icon,8px)}
.event-recurrence-finish{display:grid;grid-template-columns:minmax(145px,1.1fr) minmax(0,1fr);gap:var(--kd-layout-icon,8px);align-items:end}
.event-recurrence-finish.is-never{grid-template-columns:1fr}
.event-recurrence-finish>*{min-width:0}
.event-recurrence-finish .kd-select-trigger>span{white-space:nowrap}
.event-recurrence-finish .kd-select-options{top:auto;bottom:calc(100% + 4px);max-height:160px}
.event-phone-list{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--kd-layout-icon,8px);min-width:0;max-width:100%}
.event-phone-list .event-check>span{display:flex;align-items:baseline;gap:var(--kd-layout-icon,8px);min-width:0;flex:1}
.event-phone-person>span{white-space:nowrap;flex-shrink:0}
.event-phone-person>small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.event-phone-list .event-check{min-width:0;max-width:100%;box-sizing:border-box}
.event-reminder-popover .event-details{min-width:0;grid-template-columns:minmax(0,1fr)}
.event-phone-list .event-check>.event-phone-person{display:grid;grid-template-columns:max-content minmax(0,1fr);overflow:hidden}
.event-channel-toggle{display:flex;align-items:center;gap:var(--kd-layout-icon,8px);min-height:44px;font:var(--kd-type-label)}
.event-track-select{position:relative;min-width:0}
.saved-event-details{display:grid;gap:var(--kd-layout-text,16px);min-width:0;font:var(--kd-type-body)}
.saved-event-tags{display:flex;gap:var(--kd-layout-icon,8px);flex-wrap:wrap}
.saved-event-details p{overflow-wrap:anywhere}
.saved-event-details{position:relative}
.event-track-control{position:relative;min-width:0}
.event-track-control input{box-sizing:border-box;padding-right:44px}
.event-track-control>button{position:absolute;right:0;top:0;bottom:0;width:40px;display:grid;place-items:center;background:transparent;color:var(--kd-color-foreground);border:0;cursor:pointer}
.event-track-control svg,.event-track-select .kd-select-options svg{width:18px;height:18px;flex-shrink:0}
.event-channel-recipients{margin-left:var(--kd-layout-icon,8px);padding-left:var(--kd-layout-icon,8px);border-left:2px solid var(--kd-color-border)}
.event-date-with-repeat input[type=date]{box-sizing:border-box;min-width:0;max-width:100%}
.event-editor{position:relative;isolation:isolate}
.event-editor-scrim{position:absolute;inset:0;z-index:34;background:transparent;border-radius:inherit}
@media(max-width:1024px){.event-editor-scrim{background:rgb(0 0 0 / .7);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}}
html[data-studio-viewport=desktop] .event-editor-scrim{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}
@media(max-width:1024px){
 html:not([data-studio-viewport=desktop]) .event-editor .event-time-with-reminder{position:static}
 html:not([data-studio-viewport=desktop]) .event-editor .event-reminder-popover{inset:50% auto auto 50%;transform:translate(-50%,-50%);width:min(400px,calc(100% - 24px));max-height:min(480px,calc(100% - 24px))}
}
@media(max-width:560px){
 .event-date-with-repeat{grid-template-columns:minmax(0,1fr) auto}
 .event-date-with-repeat>.kdui-field:first-child{grid-column:1 / -1}
 .event-date-with-repeat>.kdui-field:nth-child(2){grid-column:1}
 .event-date-with-repeat>button{grid-column:2;grid-row:2}
}
.kd-public-event-backdrop{position:fixed;inset:0;z-index:1200;background:rgb(0 0 0 / .45);display:flex;align-items:center;justify-content:center;padding:16px;box-sizing:border-box}
.kd-public-event-backdrop .public-detail-panel{max-height:calc(100dvh - 32px);width:min(100%,540px);overflow:auto}
.kd-public-event-backdrop .public-document-link{overflow-wrap:anywhere}
.saved-event-icon-actions .saved-event-delete:is(:hover,:focus-visible,:active,[aria-expanded="true"]){color:var(--kd-color-danger,var(--destructive));background:color-mix(in srgb,var(--destructive) 12%,transparent)}
.saved-event-icon-actions .saved-event-edit:is(:hover,:focus-visible,:active){color:var(--kd-color-primary);background:color-mix(in srgb,var(--kd-color-primary) 12%,transparent)}
.event-time-empty{grid-column:1/-1;margin:0;font:var(--kd-type-caption);color:var(--kd-color-muted)}
.event-time-select{position:relative;min-width:0;max-width:100%}
.event-time-select:has(.event-time-popup){z-index:40}
.event-time-trigger{display:flex;align-items:center;justify-content:space-between;gap:4px;width:100%;min-width:0;min-height:var(--kd-input-height,44px);padding:8px;border:1px solid var(--kd-color-border);border-radius:var(--kd-input-radius,8px);background:var(--kd-color-surface-raised);color:var(--kd-color-foreground);font:var(--kd-type-body);cursor:pointer}
.event-time-trigger svg{width:16px;height:16px;flex-shrink:0}
.event-time-trigger span{white-space:nowrap}
.event-time-popup{position:absolute;top:calc(100% + 6px);left:0;width:208px;max-width:calc(100vw - 48px);display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px;box-sizing:border-box;background:var(--kd-color-surface);border:1px solid var(--kd-color-border);border-radius:var(--kd-radius-sm);box-shadow:var(--kd-shadow-panel)}
.event-time-select:nth-child(2) .event-time-popup{left:auto;right:0}
.event-time-popup strong{display:block;text-align:center;font:var(--kd-type-label);color:var(--kd-color-muted);margin-bottom:8px}
.event-time-options{max-height:176px;overflow-y:auto}
.event-time-options button{display:block;width:100%;min-height:36px;border:0;border-radius:var(--kd-radius-sm);background:transparent;color:var(--kd-color-foreground);font:var(--kd-type-body);cursor:pointer}
.event-time-options button:is(:hover,:focus-visible,[aria-pressed=true]){background:var(--sidebar-accent);color:var(--kd-color-primary)}
.event-time-with-reminder:has(>.event-time-select){grid-template-columns:minmax(0,1fr) minmax(0,1fr) 44px}
.event-time-with-reminder:has(>.event-time-select)>button{margin:0}

.kdui-drive-host{margin-bottom:var(--kd-layout-blocks)}
.kdui-cloud-feedback{position:fixed;inset:auto var(--kd-layout-blocks) var(--kd-layout-blocks);z-index:9999;max-width:520px;margin-inline:auto}
.kdui-drive-panel{color:var(--kd-color-foreground);font:var(--kd-type-body);min-width:0}
.kdui-drive-status{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--kd-layout-icon);padding:var(--kd-card-top) var(--kd-card-right) var(--kd-card-bottom) var(--kd-card-left);border:1px solid var(--kd-color-border);border-radius:var(--kd-radius-md);background:var(--kd-color-surface);box-shadow:var(--kd-shadow-card);min-width:0}
.kdui-drive-status>svg,.kdui-drive-file>svg{color:var(--kd-color-primary);width:var(--kd-icon-size,24px);height:var(--kd-icon-size,24px)}
.kdui-drive-status>div,.kdui-drive-file>div{min-width:0}
.kdui-drive-status strong,.kdui-drive-file strong{display:block;font:var(--kd-type-label);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kdui-drive-status span,.kdui-drive-file small{display:block;font:var(--kd-type-caption);color:var(--kd-color-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kdui-drive-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--kd-layout-inline,8px)}
.kdui-drive-files{margin-top:var(--kd-layout-blocks);padding-top:var(--kd-layout-text);border-top:1px solid var(--kd-color-border)}
.kdui-drive-files>header{display:flex;align-items:center;justify-content:space-between;gap:var(--kd-layout-text);flex-wrap:wrap}
.kdui-drive-files>header strong{font:var(--kd-type-label)}
.kdui-drive-files p{font:var(--kd-type-caption);color:var(--kd-color-muted)}
.kdui-drive-scroll{max-height:min(50vh,360px);overflow:auto}
.kdui-drive-file{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--kd-layout-icon);padding:var(--kd-layout-text) 0;border-top:1px solid var(--kd-color-border)}
@media(max-width:720px){.kdui-drive-status,.kdui-drive-file{grid-template-columns:auto minmax(0,1fr)}.kdui-drive-status>.kdui-drive-actions,.kdui-drive-file>.kdui-drive-actions{grid-column:1/-1}.kdui-drive-actions .kdui-button{flex:1}}

.kdop-toast{width:min(440px,100%);display:flex;align-items:center;gap:var(--kd-layout-icon);padding:var(--kd-card-top) var(--kd-card-right) var(--kd-card-bottom) var(--kd-card-left);border:1px solid var(--kd-color-border);border-radius:var(--kd-radius-md);background:var(--kd-color-surface-raised);box-shadow:var(--kd-shadow-panel)}
.kdop-toast>svg{flex-shrink:0;color:var(--kd-color-primary)}
.kdop-toast>div{display:grid;gap:var(--kd-layout-text);flex:1;min-width:0;overflow-wrap:anywhere}
.kdop-toast strong{font:var(--kd-type-label)}
.kdop-toast span{color:var(--kd-color-muted);font:var(--kd-type-caption)}
.kdop-toast button{min-height:44px;border:0;background:transparent;color:var(--kd-color-primary);font:var(--kd-type-label);cursor:pointer}
.kdop-toast button:last-child{width:44px;flex-shrink:0;color:var(--kd-color-muted)}

.session-metrics-review{width:100%;display:grid;gap:var(--kd-space-4,16px)}
.session-metrics-states{display:flex;flex-wrap:wrap;gap:var(--kd-space-2,8px)}
.session-segment-review{width:100%;display:grid;gap:var(--kd-space-3,12px)}
.session-segment-review>button{justify-self:start}
.session-segment-intro{display:flex;align-items:center;gap:var(--kd-space-2,8px)}
.session-segment-intro p{margin:0}
.kd-context-info{position:relative;display:inline-flex;flex-shrink:0}
.kd-context-info>[role=tooltip]{display:none;position:absolute;z-index:30;top:calc(100% + 8px);right:0;width:max-content;max-width:min(200px,70vw);padding:8px 12px;background:var(--kd-color-surface-raised);color:var(--kd-color-foreground);border:1px solid var(--kd-color-border);border-radius:var(--kd-radius-sm);font:var(--kd-type-caption);pointer-events:none}
.kd-context-info:hover>[role=tooltip],.kd-context-info:focus-within>[role=tooltip]{display:block}
.kdop-tooltip-row .kd-context-info>[role=tooltip]{left:0;right:auto}
:is(.session-segment-intro,.session-metrics-review .session-metric-heading) button{position:relative;flex-shrink:0;width:18px;height:18px;min-width:18px;min-height:18px;padding:0;border-radius:50%;border:1px solid var(--kd-color-border);background:var(--kd-color-surface-raised);color:var(--kd-color-muted);cursor:pointer;transition:background-color .15s ease,color .15s ease,border-color .15s ease; font:700 11px/1 var(--kd-font-data)}
:is(.session-segment-intro,.session-metrics-review .session-metric-heading) button::after{content:"";position:absolute;inset:-3px;border-radius:50%}
:is(.session-segment-intro,.session-metrics-review .session-metric-heading) button:hover,:is(.session-segment-intro,.session-metrics-review .session-metric-heading) button:focus-visible{background:color-mix(in srgb,var(--kd-color-primary) 14%,var(--kd-color-surface));border-color:var(--kd-color-primary);color:var(--kd-color-primary)}
:is(.session-segment-intro,.session-metrics-review .session-metric-heading) button:active{background:color-mix(in srgb,var(--kd-color-primary) 25%,var(--kd-color-surface))}
@media(pointer:coarse){:is(.session-segment-intro,.session-metrics-review .session-metric-heading) button::after{inset:-13px}}
@media(prefers-reduced-motion:reduce){:is(.session-segment-intro,.session-metrics-review .session-metric-heading) button{transition:none}}
.session-information-examples{display:flex;flex-wrap:wrap;gap:var(--kd-space-5,20px);width:100%;font:var(--kd-type-label)}
.session-information-examples .session-segment-intro{flex:1;min-width:200px;justify-content:space-between;padding:var(--kd-space-4,16px);border:1px solid var(--kd-color-border);border-radius:var(--kd-radius-sm)}
.session-segment-review>.session-segment-intro{justify-content:space-between}
.session-segment-info .kdui-dialog-layer{z-index:5000}
.session-segment-info .kdui-dialog-scrim{background:rgba(0,0,0,.75)}
.session-segment-info .kdui-dialog{max-width:540px;width:calc(100vw - 40px);border-radius:14px;padding:20px;max-height:calc(100dvh - 40px);overflow-y:auto}
.session-segment-info .kdui-dialog>header{padding:0;border:0;margin-bottom:10px}
.session-segment-info .kdui-dialog h2{font:var(--kd-type-title);font-weight:700;color:var(--kd-color-primary)}
.session-segment-info .kdui-dialog header>button{display:none}
.session-segment-info .kdui-dialog-body{padding:0;font-size:12px;line-height:1.65}
.session-segment-info .kdui-dialog-body p{font-size:12px;line-height:1.65;color:var(--kd-color-foreground);margin:0 0 12px}
.session-info-formula{padding:10px 12px;background:var(--kd-color-surface-raised);border:0;border-radius:6px;font:600 13px/1.65 var(--kd-font-data);color:var(--kd-color-info);margin-bottom:12px;overflow-wrap:anywhere}
.session-segment-info .kdui-dialog>footer{padding:0;border:0}
.session-segment-info .kdui-dialog>footer button{width:100%}
.session-segment-review p{font:var(--kd-type-caption);color:var(--kd-color-muted)}
.session-segment-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--kd-space-2,8px);font:var(--kd-type-label)}
.session-segment-list{display:grid;gap:var(--kd-space-3,12px)}
.session-segment-row{display:grid;gap:var(--kd-space-1,4px)}
.session-segment-values{display:flex;flex-wrap:wrap;gap:var(--kd-space-3,12px);margin:0}
.session-segment-values>div{display:flex;align-items:baseline;gap:var(--kd-space-1,4px)}
.session-segment-values dt{font:var(--kd-type-caption);color:var(--kd-color-muted)}
.session-segment-values dd{margin:0;font:var(--kd-type-label);font-family:var(--kd-font-data);font-variant-numeric:tabular-nums}
.session-segment-difference dt,.session-segment-difference dd{color:var(--kd-color-danger)}
.session-segment-mean dt,.session-segment-mean dd{color:var(--kd-color-info)}
.session-segment-theoretical dt,.session-segment-theoretical dd{color:var(--kd-color-primary)}
.session-segment-bar{display:flex;height:var(--kd-space-2,8px);border-radius:var(--kd-radius-sm);overflow:hidden;background:var(--kd-color-surface-overlay)}
.session-segment-bar i{background:var(--kd-color-primary)}
.session-segment-bar span{flex:none;background:var(--kd-color-danger)}
.session-segment-totals-responsive .segment-total-short{display:none}
@media(max-width:600px){.session-segment-totals-responsive{flex-wrap:nowrap;justify-content:space-between;gap:4px;white-space:nowrap}.session-segment-totals-responsive .segment-total-full{display:none}.session-segment-totals-responsive .segment-total-short{display:inline}}

.kd-session-upload-specimen{width:100%;min-width:0;display:grid;gap:var(--kd-layout-blocks)}
.kd-session-upload-preview{position:relative;width:100%;box-sizing:border-box;min-width:0;min-height:600px;color:var(--kd-color-foreground);font:var(--kd-type-body);background:transparent;border:0;border-radius:0}
.kd-session-upload-preview>.kd-session-upload-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--kd-layout-text);padding:var(--kd-card-top,16px) var(--kd-card-right,16px) var(--kd-card-bottom,16px) var(--kd-card-left,16px)}
.kd-session-upload-heading h2{margin:0;font:var(--kd-type-title);font-weight:700}
.kd-session-upload-heading{border-bottom:1px solid var(--kd-color-border)}
.kd-session-upload-summary{position:relative;display:flex;align-items:center;justify-content:space-between;width:100%;gap:var(--kd-layout-inline,8px);font:var(--kd-type-caption);color:var(--kd-color-muted)}
.kd-session-filter-fields{display:grid;gap:var(--kd-layout-text,12px)}
.kd-session-filter-fields .kd-select-preview{min-width:0}
.kd-session-filter-toggle{flex-shrink:0}
.kd-session-filter-anchor{position:relative;flex-shrink:0;display:flex}
.kd-session-upload-heading>.kd-session-upload-actions>.kd-session-filter-anchor{margin:var(--kd-button-spacing-outerTop,8px) var(--kd-button-spacing-outerRight,8px) var(--kd-button-spacing-outerBottom,8px) var(--kd-button-spacing-outerLeft,8px)}
.kd-session-filter-popover{position:absolute;top:calc(100% + var(--kd-layout-inline,8px));left:0;z-index:30;width:min(300px,calc(100vw - 64px));box-sizing:border-box;padding:var(--kd-card-left,16px);background:var(--kd-color-surface);border:1px solid var(--kd-color-border);border-radius:var(--kd-radius-md);box-shadow:var(--kd-shadow-card,0 8px 24px #0004);color:var(--kd-color-foreground)}
.kd-session-filter-fields .kd-select-options{position:relative;inset:auto;max-height:180px;overflow-y:auto}
.kd-session-upload-title>span{font:var(--kd-type-caption);color:var(--kd-color-muted)}
.kd-session-upload-list{box-sizing:border-box;min-width:0;padding:var(--kd-layout-text,8px) var(--kd-card-right,16px) var(--kd-card-bottom,16px) var(--kd-card-left,16px)}
.kd-session-upload-actions{display:flex;align-items:center;gap:var(--kd-layout-inline,8px);flex-wrap:wrap;min-width:0}
.kd-session-upload-actions .kdui-button{white-space:nowrap}
.kd-session-upload-actions>.kdui-button>svg{width:18px;height:18px;stroke-width:1.8}
.kd-session-upload-file{position:relative;cursor:pointer}
.kd-session-upload-file:focus-within{outline:2px solid var(--kd-color-primary);outline-offset:2px}
.kd-session-upload-file input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;display:block}
.kd-session-upload-note{font:var(--kd-type-caption);color:var(--kd-color-muted);margin-top:var(--kd-layout-text)}
.kd-session-upload-filename{overflow-wrap:anywhere}
.kd-session-upload-whatsapp{margin-top:var(--kd-layout-blocks);display:flex;align-items:center;gap:var(--kd-layout-inline);flex-wrap:wrap}
.kd-session-upload-whatsapp>a{display:inline-flex;align-items:center;text-decoration:none}
.kd-session-upload-whatsapp>a>span{display:flex;align-items:center}
.kd-session-upload-whatsapp>.kd-context-info{margin:0}
.kd-session-upload-panels>.session-segment-info>.kdui-dialog-layer{z-index:10001}
.kd-session-whatsapp-steps{padding-left:var(--kd-layout-blocks)}
.kd-session-whatsapp-steps li+li{margin-top:var(--kd-layout-text)}
.kd-session-upload-panels{color:var(--kd-color-foreground);font:var(--kd-type-body)}
.kd-session-upload-panels>.kdui-dialog-layer{position:fixed;inset:0;display:flex;justify-content:flex-end;align-items:stretch;padding:0;z-index:10000}
.kd-session-upload-panels>.kdui-dialog-layer>.kdui-dialog{box-sizing:border-box;width:min(520px,100%);max-width:100%;max-height:100%;height:100%;margin:0;border-radius:0;display:flex;flex-direction:column;overflow:hidden}
.kd-session-upload-panels .kdui-dialog>header{flex-shrink:0}
.kd-session-upload-panels .kdui-dialog-body{overflow-y:auto;min-height:0}
.kd-session-upload-panels .kdui-dialog-body:has(.kdui-drive-panel){flex:1}
.kd-session-upload-panels .kdui-drive-scroll{max-height:none;overflow:visible}
.kd-session-sheet-handle{display:none}
.kd-session-mobile-upload{display:none}
.kd-session-upload-details{display:grid;gap:var(--kd-layout-text)}
.kd-session-upload-details label{display:grid;gap:var(--kd-layout-inline)}
.kd-session-upload-details input{width:100%;min-width:0;box-sizing:border-box;color:var(--kd-color-foreground);background:var(--kd-color-surface);border:1px solid var(--kd-color-border);border-radius:var(--kd-radius-sm);font:var(--kd-type-body);padding:var(--kd-layout-inline)}
.kd-session-drive-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--kd-layout-inline)}
.kd-session-upload-drive>div{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:var(--kd-layout-inline);padding-block:var(--kd-layout-text);border-bottom:1px solid var(--kd-color-border)}
.kd-session-upload-drive .kd-session-drive-delete{color:var(--kd-color-muted)}
.kd-session-upload-drive .kd-session-drive-delete:is(:hover,:focus-visible,:active){color:var(--kd-color-danger);background:color-mix(in srgb,var(--kd-color-danger) 14%,transparent)}
.kd-session-upload-drive .kd-session-drive-delete svg{color:inherit}
.kd-session-upload-drive>div>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kd-session-upload-drive svg{width:var(--kd-icon-size,24px);color:var(--kd-color-primary)}
@media(max-width:600px){.kd-session-upload-actions{width:100%}.kd-session-upload-actions .kdui-button{flex:1}.kd-session-upload-heading{padding-inline:0}.kd-session-upload-panels>.kdui-dialog-layer{align-items:flex-end}.kd-session-upload-panels>.kdui-dialog-layer>.kdui-dialog{position:relative;width:100%;height:55%;border-radius:var(--kd-radius-md) var(--kd-radius-md) 0 0;padding-top:24px}.kd-session-upload-panels.is-expanded>.kdui-dialog-layer>.kdui-dialog{height:95%}.kd-session-sheet-handle{display:grid;place-items:center;position:absolute;inset:0 0 auto;width:100%;height:24px;border:0;background:transparent;touch-action:none;cursor:ns-resize}.kd-session-sheet-handle span{width:40px;height:4px;background:var(--kd-color-muted);border-radius:var(--kd-radius-sm)}}
@media(max-width:600px){
  .kd-session-upload-heading>.kd-session-upload-actions{--kd-button-spacing-left:var(--kd-space-2,8px);--kd-button-spacing-right:var(--kd-space-2,8px);--kd-layout-icon:var(--kd-space-1,4px);flex-wrap:wrap}
  .kd-session-upload-heading>.kd-session-upload-actions>.kdui-button{min-width:0;flex:1 0 max-content;white-space:nowrap;font-size:calc(var(--kd-button-font-size,14px) - 3px)}
  .kd-session-upload-panels>.kdui-dialog-layer>.kdui-dialog>:is(header,.kdui-dialog-body,footer){padding:var(--kd-card-top,16px) var(--kd-card-right,16px) var(--kd-card-bottom,16px) var(--kd-card-left,16px)}
  .kd-session-upload-panels .kdui-dialog>header{align-items:center}
  .kd-session-upload-panels.is-filters .kd-session-filter-fields{gap:8px}
  #kartdata-ui-root:has(.kd-session-upload-specimen){padding:var(--kd-layout-inline,8px)!important}
  .kd-session-upload-panels.is-file-picker>.kdui-dialog-layer>.kdui-dialog>header h2{font:var(--kd-type-body);font-weight:700}
  .kd-session-upload-panels .kd-session-upload-intro,.kd-session-upload-panels .kd-session-upload-file{display:none}
  .kd-session-mobile-upload,.kd-session-upload-whatsapp{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--kd-layout-inline);width:100%}
  .kd-session-mobile-upload>.kdui-button,.kd-session-upload-whatsapp>.kdui-button{justify-content:center;min-width:0;margin-inline:0}
  .kd-session-mobile-upload>.kd-context-info,.kd-session-upload-whatsapp>.kd-context-info{margin:0}
}
html[data-studio-viewport="mobile"] [data-specimen="assisted-upload"] .catalog-preview{padding:0}
html[data-studio-viewport="mobile"] [data-specimen="assisted-upload"] iframe{width:100%!important}
.catalog-operational.kd-session-upload-panels{--kd-drawer-width:760px}
@media(min-width:601px){.catalog-operational.kd-session-upload-panels>.kdui-dialog-layer>.kdui-dialog{width:min(var(--kd-drawer-width),100%)}}

.kd-session-item-preview{width:100%;min-width:0}
.kd-session-preview-list{display:grid;width:100%;min-width:0;gap:var(--kd-layout-cards,8px)}
.kd-session-entry{display:flex;align-items:center;gap:8px;border:1px solid var(--kd-color-border);border-radius:var(--kd-radius-md);background:var(--kd-color-surface);padding:8px}
.kd-session-entry-open{flex:1;min-width:0;display:grid;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:var(--kd-layout-icon,8px);padding:8px;border:0;border-radius:var(--kd-radius-sm);background:transparent;color:var(--kd-color-foreground);text-align:left;cursor:pointer}
.kd-session-entry-open:hover,.kd-session-entry-open:focus-visible{background:var(--kd-color-surface-raised)}
.kd-session-entry-details{display:grid;grid-column:2;grid-row:1/span 3;grid-template-rows:subgrid;min-width:0;font:var(--kd-type-caption);color:var(--kd-color-muted);overflow-wrap:anywhere}
.kd-session-entry-title{display:flex;align-items:center;flex-wrap:wrap;gap:4px var(--kd-layout-icon,8px);min-width:0}
.kd-session-entry-title>strong{font:var(--kd-type-body);font-weight:700;color:var(--kd-color-foreground)}
.kd-session-entry-category{max-width:100%;box-sizing:border-box;overflow-wrap:anywhere}
.kd-session-entry-meta{display:flex;align-items:center;flex-wrap:wrap;gap:var(--kd-layout-icon,8px)}
.kd-session-entry-origin{display:inline-flex;color:var(--kd-color-primary)}
.kd-session-entry-star,.kd-session-entry-time{color:var(--kd-color-warning)}
.kd-session-entry-time{position:relative;font:var(--kd-type-data);white-space:nowrap;border:0;background:transparent;padding:8px;margin:0;border-radius:var(--kd-radius-sm);cursor:help;text-align:left}
.kd-session-entry-time>strong{font:inherit}
.kd-session-entry-time [role=tooltip]{display:none;position:absolute;bottom:calc(100% + 8px);right:0;z-index:5;width:240px;max-width:70vw;box-sizing:border-box;padding:8px;border:1px solid var(--kd-color-border);border-radius:var(--kd-radius-sm);background:var(--kd-color-surface-raised);color:var(--kd-color-foreground);font:var(--kd-type-caption);white-space:normal;overflow-wrap:anywhere}
.kd-session-entry-time [role=tooltip].is-open,.kd-session-entry-time:focus-visible [role=tooltip]{display:block}
@media(hover:hover){.kd-session-entry-time:hover [role=tooltip]{display:block}}
.kd-session-entry-tools{display:flex;align-items:center;gap:4px}
.kd-session-entry-tools>button{display:grid;place-items:center;width:32px;height:32px;padding:4px;margin:0;border:0;border-radius:var(--kd-radius-sm);background:transparent;color:var(--kd-color-muted);cursor:pointer}
.kd-session-file{position:relative}
.kd-session-entry-tools>.kd-session-file:hover,.kd-session-entry-tools>.kd-session-file:focus-visible{color:var(--kd-color-info);background:color-mix(in srgb,var(--kd-color-info) 10%,transparent)}
.kd-session-file [role=tooltip]{display:none;position:absolute;right:0;bottom:calc(100% + 8px);z-index:5;width:240px;max-width:70vw;box-sizing:border-box;padding:8px;background:var(--kd-color-surface-raised);border:1px solid var(--kd-color-border);border-radius:var(--kd-radius-sm);font:var(--kd-type-caption);white-space:normal;overflow-wrap:anywhere;text-align:left}
.kd-session-file [role=tooltip].is-open,.kd-session-file:focus-visible [role=tooltip]{display:block}
@media(hover:hover){.kd-session-file:hover [role=tooltip]{display:block}}
.kd-session-item-preview>p{overflow-wrap:anywhere;white-space:normal}
.kd-session-entry button:focus-visible{outline:2px solid var(--kd-color-primary);outline-offset:2px}
.kd-session-entry-open{grid-template-rows:auto auto auto;row-gap:4px}
.kd-session-entry-indicators{display:grid;grid-column:1;grid-row:1/span 3;grid-template-rows:subgrid;justify-items:center;align-items:center;width:20px}
.kd-session-entry-indicators>:first-child{grid-row:1}
.kd-session-entry-indicators>.kd-session-entry-star{grid-row:3}
.kd-session-entry-indicators svg{display:block;width:20px;height:20px;flex-shrink:0}
.kd-session-entry-marker{display:block;width:10px;height:10px;border-radius:50%;background:var(--kd-color-info)}
@media(max-width:600px){.kd-session-entry{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 4px}.kd-session-entry-open{grid-column:1/-1;width:100%;row-gap:8px}.kd-session-entry-time{grid-column:1;grid-row:2;font-size:20px}.kd-session-entry-time [role=tooltip]{left:0;right:auto}.kd-session-entry-tools{grid-column:2;grid-row:2;flex-direction:row}.kd-session-entry-meta{display:block}.kd-session-entry-meta>span:nth-child(2)::before{content:' · '}}
.kd-session-entry-tools>button{flex-shrink:0;box-sizing:border-box}
.kd-session-entry-tools>button>svg{width:16px;height:16px;margin:0;flex-shrink:0}

.kdop-pagination{display:flex;flex-wrap:wrap;gap:8px}.kdop-pagination button{min-width:44px;height:44px;border:1px solid var(--kd-color-border);border-radius:var(--kd-radius-sm);background:var(--kd-color-surface-raised);color:var(--kd-color-foreground);font:var(--kd-type-label);cursor:pointer}.kdop-pagination button[aria-current=page]{border-color:var(--kd-color-primary);background:var(--kd-color-primary);color:var(--kd-button-primary-foreground)}.kdop-pagination button:disabled{opacity:.35;cursor:not-allowed}
.kdop-pagination-gap{align-self:center;color:var(--kd-color-muted)}

/* Shared by the Studio specimen and the app's existing file-processing node. */
:is(.kdop-dropzone,.kd-session-upload-panels #upload-zone){position:relative;box-sizing:border-box;width:100%;min-height:190px;display:grid;place-items:center;align-content:center;gap:9px;padding:24px;border:1px dashed var(--kd-color-border-strong);border-radius:var(--kd-radius-md);background:var(--kd-color-background);color:var(--kd-color-foreground);text-align:center;cursor:pointer}
:is(.kdop-dropzone,.kd-session-upload-panels #upload-zone) input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
:is(.kdop-dropzone,.kd-session-upload-panels #upload-zone) svg{width:36px;height:36px;color:var(--kd-color-primary)}
:is(.kdop-dropzone,.kd-session-upload-panels #upload-zone) :is(strong,.upload-title){font:var(--kd-type-title)}
:is(.kdop-dropzone,.kd-session-upload-panels #upload-zone) :is(span,.upload-sub){color:var(--kd-color-muted);font:var(--kd-type-caption)}
.kd-session-upload-panels #upload-zone .upload-icon{margin:0;display:grid;place-items:center}
:is(.kdop-dropzone,.kd-session-upload-panels #upload-zone):focus-within{outline:2px solid var(--kd-color-primary);outline-offset:2px}
.kd-session-upload-panels #upload-zone.drag{border-color:var(--kd-color-primary)}
@media(max-width:600px){.kd-session-upload-panels :is(.kdop-dropzone.kd-session-upload-file,#upload-zone){display:none}}

.kdop-stepper{width:100%;display:grid;gap:0;margin:0;padding:0;list-style:none}.kdop-stepper li{position:relative;min-width:0;display:grid;justify-items:center;gap:8px;text-align:center}.kdop-stepper li:not(:last-child):after{content:"";position:absolute;z-index:0;top:17px;left:calc(50% + 18px);right:calc(-50% + 18px);height:2px;background:var(--kd-color-border)}.kdop-stepper i{position:relative;z-index:1;width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--kd-color-border-strong);border-radius:50%;background:var(--kd-color-surface);font:var(--kd-type-label);font-style:normal}.kdop-stepper i svg{width:18px;height:18px}.kdop-stepper .is-done i{border-color:var(--kd-color-primary);background:var(--kd-color-primary);color:var(--kd-button-primary-foreground)}.kdop-stepper .is-current i{border:2px solid var(--kd-color-info);color:var(--kd-color-info)}.kdop-stepper span{min-width:0;display:grid;gap:3px;font:var(--kd-type-body)}.kdop-stepper span b{font:var(--kd-type-label)}.kdop-stepper small{color:var(--kd-color-muted);font:var(--kd-type-caption)}.kdop-stepper-adaptive{grid-template-columns:repeat(var(--kd-step-count,4),minmax(0,1fr));padding:2px 0}
.kdop-session-wizard{container-type:inline-size;width:100%;overflow:hidden;border:1px solid var(--kd-color-border);border-radius:var(--kd-radius-lg);background:var(--kd-color-surface);box-shadow:var(--kd-shadow-panel)}.kdop-session-wizard>header{display:flex;align-items:start;justify-content:space-between;padding:18px;border-bottom:1px solid var(--kd-color-border)}.kdop-session-wizard>header>div{display:grid;gap:4px}.kdop-session-wizard>header small{color:var(--kd-color-primary);font:var(--kd-type-caption)}.kdop-session-wizard>header strong{font:var(--kd-type-heading)}.kdop-session-wizard>header button{width:44px;height:44px;border:0;border-radius:var(--kd-radius-sm);background:var(--kd-color-surface-raised);color:var(--kd-color-foreground)}.kdop-session-wizard-steps{padding:18px;border-bottom:1px solid var(--kd-color-border)}.kdop-session-wizard-body{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:18px}.kdop-session-wizard-body label{display:grid;gap:7px;font:var(--kd-type-label)}.kdop-session-wizard-body input{min-height:var(--kd-input-height,48px);padding:0 13px;border:1px solid var(--kd-input-border,var(--kd-color-border-strong));border-radius:var(--kd-input-radius,var(--kd-radius-sm));background:var(--kd-input-background,var(--kd-color-surface-raised));color:var(--kd-input-foreground,var(--kd-color-foreground));font:400 var(--kd-input-font-size,16px)/1.2 var(--kd-input-font-family,var(--kd-type-body-font,var(--kd-font-sans)))}.kdop-session-wizard>footer{display:flex;justify-content:flex-end;gap:10px;padding:14px 18px;border-top:1px solid var(--kd-color-border)}
.kdop-pilot-ring{width:68px;height:68px;display:grid;place-items:center;padding:3px;border-radius:50%;background:var(--kd-color-surface-raised)}
.kdop-pilot-ring>span{width:100%;height:100%;display:grid;place-items:center;border:3px solid var(--kd-color-surface);border-radius:50%;background:var(--kd-color-surface-raised);color:var(--kd-color-foreground);font:700 10px/1 var(--kd-type-label-font,var(--kd-font-sans))}
.kdop-pilot-ring>img{width:100%;height:100%;display:block;border:3px solid var(--kd-color-surface);border-radius:50%;background:var(--kd-color-surface-raised);object-fit:cover}
@media(max-width:720px){.kdop-session-wizard-body{grid-template-columns:1fr}}
@container(max-width:560px){.kdop-session-wizard>footer{display:grid;grid-template-columns:1fr 1fr}.kdop-session-wizard>footer .kdui-button{width:100%}}

.kdop-session-wizard-body>*{min-width:0}
.kd-session-wizard-panels .event-track-select .kd-select-options{max-height:180px;overflow-y:auto}
html[data-studio-viewport="mobile"] [data-specimen="session-wizard"] .catalog-preview{padding:0}
html[data-studio-viewport="mobile"] [data-specimen="session-wizard"] iframe{width:100%!important}
.kd-session-wizard-panels .kdop-stepper span{overflow-wrap:anywhere}
@media(max-width:600px){.kd-session-wizard-panels>.kdui-dialog-layer>.kdui-dialog{border-inline:0}}
.kd-session-wizard-panels>.kdui-dialog-layer>.kdui-dialog>.kdui-dialog-body{padding:0;flex:1;display:flex;min-height:0;overflow:hidden}
.kd-session-wizard-panels .kdop-session-wizard{display:flex;flex-direction:column;min-height:0;border:0;border-radius:0;box-shadow:none}
.kd-session-wizard-panels .kdop-session-wizard>footer,.kd-session-wizard-panels .kdop-session-wizard-steps{flex-shrink:0;padding:var(--kd-card-top) var(--kd-card-right) var(--kd-card-bottom) var(--kd-card-left)}
.kd-session-wizard-content{flex:1;min-height:0;overflow-y:auto}
.kd-session-wizard-panels .kdop-session-wizard-body{align-content:start;padding:var(--kd-card-top) var(--kd-card-right) var(--kd-card-bottom) var(--kd-card-left)}
.kd-session-wizard-full{grid-column:1/-1}
.kd-session-preset-map{margin:0;min-width:0;display:grid;gap:var(--kd-layout-text)}
.kd-session-gps-notice{font:var(--kd-type-caption);color:var(--kd-color-muted)}
.kd-session-gps-line{display:flex;align-items:center;gap:var(--kd-layout-inline)}
.kd-session-gps-line .kdui-button{flex-shrink:0;padding:8px;min-width:0}
.kd-session-gps-notice p{margin:var(--kd-layout-text) 0 0;font:var(--kd-type-body)}
.kd-session-preset-map small{font:var(--kd-type-caption);color:var(--kd-color-muted)}
.kd-session-preset-map-stage{position:relative;height:clamp(280px,calc(100dvh - 480px),620px);overflow:hidden;border:1px solid var(--kd-color-border);border-radius:var(--kd-radius-sm);background:var(--kd-color-surface-raised)}
.kd-session-preset-map-stage canvas,.kd-session-preset-gmap{position:absolute;inset:0;width:100%;height:100%;color:var(--kd-color-info)}
.kd-session-preset-map-stage p{position:absolute;inset:0;display:grid;place-content:center;margin:0;padding:var(--kd-card-top) var(--kd-card-right) var(--kd-card-bottom) var(--kd-card-left);text-align:center;color:var(--kd-color-muted);font:var(--kd-type-body)}
@media(max-width:600px){.kd-session-preset-map-stage{height:210px}}
.kd-session-selected-pilot{display:flex;align-items:center;gap:var(--kd-layout-inline);padding:var(--kd-card-top) var(--kd-card-right) var(--kd-card-bottom) var(--kd-card-left);background:var(--kd-color-surface-raised);border:1px solid var(--kd-color-border);border-radius:var(--kd-radius-sm)}
.kd-session-selected-pilot>.kdop-pilot-ring{flex-shrink:0}
.kd-session-selected-pilot>div{min-width:0;display:grid;justify-items:start;gap:var(--kd-layout-text)}
.kd-session-selected-pilot strong{font:var(--kd-type-label);color:var(--kd-color-foreground);overflow-wrap:anywhere}
@media(min-width:601px){
 .kd-session-selected-pilot{gap:calc(var(--kd-layout-inline) * 2);min-height:156px}
 .kd-session-selected-pilot>.kdop-pilot-ring{width:112px;height:112px;box-sizing:border-box}
 .kd-session-selected-pilot .kdop-pilot-ring>span{font:var(--kd-type-title)}
 .kd-session-selected-pilot strong{font:var(--kd-type-title)}
}
.kd-session-wizard-summary{padding:var(--kd-card-top) var(--kd-card-right) var(--kd-card-bottom) var(--kd-card-left);border-radius:var(--kd-radius-sm);background:var(--kd-color-surface-raised);color:var(--kd-color-muted);font:var(--kd-type-body);overflow-wrap:anywhere}
.kd-session-equipment-owner{margin:0;font:var(--kd-type-title);color:var(--kd-color-foreground)}
.kd-session-equipment-notes{margin-top:var(--kd-layout-blocks,20px)}
.kd-session-equipment-field{display:grid;grid-template-columns:44px minmax(0,1fr);align-content:start;align-items:center;gap:var(--kd-layout-text) var(--kd-layout-inline)}
.kd-session-equipment-field>.kd-select-preview{width:100%;min-width:0;grid-column:2;grid-row:2}
.kd-session-equipment-label{display:contents;font:var(--kd-type-label)}
.kd-session-equipment-label>span{grid-column:1/-1;grid-row:1}
.kd-session-equipment-label>.kdui-button{grid-column:1;grid-row:2;margin:0;min-width:44px;min-height:44px;padding:8px}
.kd-session-equipment-label>.kdui-button.is-icon:not(.is-primary){border:1px solid var(--kd-color-border-strong);color:var(--kd-color-foreground);cursor:pointer}
.kd-session-equipment-label>.kdui-button.is-icon:not(.is-primary):is(:hover,:focus-visible,:active){background:var(--sidebar-accent);color:var(--sidebar-accent-foreground)}
.kd-session-equipment-field>input{width:100%;min-width:0;box-sizing:border-box;grid-column:2;grid-row:2}
.kdop-session-wizard-body textarea{width:100%;padding:12px;resize:vertical}
.kd-session-equipment-field>.event-track-select{min-width:0;grid-column:2;grid-row:2}
.kd-session-equipment-field .kdui-field-label[hidden]{display:none}

.kd-session-file-preview{display:flex;align-items:flex-start;gap:10px;min-width:0;max-width:100%;padding:var(--kd-card-top) var(--kd-card-right) var(--kd-card-bottom) var(--kd-card-left);border-radius:var(--kd-radius-sm);background:var(--kd-color-surface-raised);color:var(--kd-color-muted);font:var(--kd-type-body)}
.kd-session-file-preview>svg{width:19px;height:19px;flex:0 0 auto;color:var(--kd-color-primary)}
.kd-session-file-preview>span{min-width:0;overflow-wrap:anywhere}
.kdop-session-wizard-body>.kd-session-file-preview{grid-column:1/-1}

.kd-descriptive-progress{width:100%;min-width:0;display:grid;gap:var(--kd-layout-blocks,16px);box-sizing:border-box}
.kd-descriptive-progress .kdui-progress>div:first-child{align-items:start}
.kd-descriptive-progress .kdui-progress span,.kd-descriptive-progress .kdui-alert{min-width:0;overflow-wrap:anywhere}
.kdop-session-wizard-body>.kd-descriptive-progress{grid-column:1/-1;margin-block:var(--kd-layout-blocks,16px)}
.kd-upload-progress{padding-block:var(--kd-layout-blocks,16px)}
.kd-upload-progress:has(.kd-descriptive-progress) #upload-card{display:none!important}
.kd-session-upload-panels #progress-bar,.kd-session-upload-panels #status-msg{display:none!important}

.session-calendar-modal:has(.kd-app-event-editor){overflow:auto;align-items:flex-start;padding:24px}
.kd-app-event-editor{position:relative;z-index:1;width:min(100%,680px);margin:auto;color:var(--kd-color-foreground)}
.kd-app-event-editor .event-editor{width:100%;box-sizing:border-box}
@media(max-width:600px){.session-calendar-modal:has(.kd-app-event-editor){padding:12px}.kd-app-event-editor{width:100%;margin:0 auto}}
.kd-app-event-editor .public-detail-panel{width:100%;max-height:none;overflow:visible}

body.kd-shell-ready #page-home.has-session-browser.active{display:block}
#page-home.has-session-browser>.page-title,#page-home.has-session-browser>#home-sub,#page-home.has-session-browser>#home-upload-slot,#page-home.has-session-browser>#cloud-panel{display:none}
#app-session-browser .kd-session-upload-preview{min-height:0}
.kdui-cloud-dialog>.kdui-dialog-layer{z-index:10002}
.kd-session-pagination{display:flex;justify-content:center;margin-top:var(--kd-layout-cards,8px)}
#app-session-browser .kd-session-upload-heading>.kd-session-upload-actions{gap:0}
body .kd-session-upload-panels #upload-card{padding:0;margin:0;border:0;background:transparent;box-shadow:none}
.kd-session-upload-panels #upload-card>.page-title,.kd-session-upload-panels #upload-card>.page-sub,.kd-session-upload-panels #assisted-upload-panel{display:none}
.kd-session-upload-panels #upload-card:has(.motor-form.active) #upload-zone{display:none}
.kd-session-upload-panels #motor-form{margin:0}
@media(max-width:600px){.kd-session-upload-panels #upload-zone{display:none}}

.kdop-switch input{position:absolute;opacity:0}.kdop-switch>span{width:46px;height:26px;padding:3px;border-radius:999px;background:var(--kd-switch-track);transition:background var(--kd-motion-fast)}.kdop-switch>span:after{content:"";display:block;width:20px;height:20px;border-radius:50%;background:var(--kd-switch-thumb);transition:transform var(--kd-motion-fast)}.kdop-switch input:checked+span{background:var(--kd-color-primary)}.kdop-switch input:checked+span:after{transform:translateX(20px)}.kdop-switch b{font:var(--kd-type-body)}
