/*
 * Die Luckys · Typographiesystem T1
 * Verbindliche Schrift- und Größenhierarchie für Blade, Livewire und React.
 * Absichtlich NACH den Fachmodul-Stylesheets laden. Keine Änderungen an
 * Farben, Layout, Spaltenbreiten, Bedienlogik oder Bilddarstellung.
 */
:root{
  --lk-font-sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --lk-font-size-page:27px;
  --lk-font-size-section:17px;
  --lk-font-size-panel:16px;
  --lk-font-size-card:13px;
  --lk-font-size-body:13px;
  --lk-font-size-control:12.5px;
  --lk-font-size-label:12px;
  --lk-font-size-meta:11px;
  --lk-font-size-kicker:10px;
  --lk-font-size-metric:22px;
  --lk-font-weight-page:760;
  --lk-font-weight-section:740;
  --lk-font-weight-card:710;
  --lk-font-weight-label:660;
  --lk-line-height-body:1.5;
  --lk-line-height-heading:1.23;
  --lk-line-height-meta:1.45;
}
/* One predictable family even when legacy CSS sets its own font shorthand. */
body.luckys-app,
body.luckys-auth-page{
  font-family:var(--lk-font-sans)!important;
  font-size:14px!important;
  line-height:var(--lk-line-height-body);
  font-synthesis:weight;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body.luckys-app :is(
  .lkr-page,.ltb-root,.hfc-grid,.lr-page,.lpr-app,
  .lwm-page,.lws-settings,.lws-management,.luckys-auth-card
){
  font-family:var(--lk-font-sans)!important;
}
body.luckys-app :is(input,textarea,select,button){
  font-family:var(--lk-font-sans)!important;
}
body.luckys-app input::placeholder,
body.luckys-app textarea::placeholder{
  font-weight:450;
  opacity:1;
}

/* Page titles: the same scale on all Blade views and the React calendar. */
body.luckys-app :is(
  .luckys-page-head h1,
  .family-module-head h1,
  .calendar-page-head h1,
  .lkr-heading h1
){
  font-size:var(--lk-font-size-page)!important;
  line-height:var(--lk-line-height-heading)!important;
  font-weight:var(--lk-font-weight-page)!important;
  letter-spacing:-.035em!important;
}
body.luckys-app :is(
  .luckys-page-head p,
  .family-module-head p,
  .calendar-page-head p,
  .lkr-heading p
){
  font-size:var(--lk-font-size-body)!important;
  line-height:1.55!important;
  font-weight:450;
}
body.luckys-auth-page .luckys-auth-card h1{
  font-size:var(--lk-font-size-page)!important;
  line-height:var(--lk-line-height-heading)!important;
  font-weight:var(--lk-font-weight-page)!important;
  letter-spacing:-.035em!important;
}
body.luckys-auth-page .luckys-auth-card>p{
  font-size:var(--lk-font-size-body)!important;
  line-height:1.55!important;
}
body.luckys-app .luckys-breadcrumb{
  font-size:var(--lk-font-size-meta)!important;
  line-height:var(--lk-line-height-meta);
  font-weight:550;
}

/* Section titles: avoid distinct heading weights and sizes per Fachmodul. */
body.luckys-app :is(
  .lpr-panel-header h2,
  .lws-heading h2,
  .lwm-toolbar-copy h2,
  .hfc-title h2,
  .lpr-device-heading h2,
  .lkr-device-heading h2,
  .luckys-more-section-heading h2,
  .luckys-profile-editor-head h2,
  .luckys-next-card h2
){
  font-size:var(--lk-font-size-section)!important;
  font-weight:var(--lk-font-weight-section)!important;
  line-height:1.3!important;
  letter-spacing:-.023em!important;
}
body.luckys-app :is(
  .lfw-panel h2,
  .lfa-card-header h2,
  .lpl-card h2,
  .lwm-month h3,
  .lwm-post-body h3,
  .lws-native-push h2,
  .lws-system-head>div>strong,
  .luckys-card-head strong,
  .family-panel h2,
  .family-wide-panel h2,
  .lr-task-group h2,
  .lr-shop-group h2
){
  font-size:var(--lk-font-size-panel)!important;
  font-weight:var(--lk-font-weight-section)!important;
  line-height:1.32!important;
  letter-spacing:-.02em;
}
body.luckys-app :is(.lr-modal>header h2,.lkr-modal h2,.luckys-modal-card>header h2){
  font-size:20px!important;
  font-weight:var(--lk-font-weight-page)!important;
  line-height:1.28!important;
  letter-spacing:-.025em;
}
body.luckys-app .ltb-title h2{
  font-size:23px!important;
  font-weight:var(--lk-font-weight-page)!important;
  line-height:1.25!important;
  letter-spacing:-.03em;
}
body.luckys-app .home-modern-greeting h1{
  font-weight:var(--lk-font-weight-page)!important;
  line-height:1.25!important;
  letter-spacing:-.035em;
}
/* The profile name and the large hero slogan are intentional display type
   and retain their own sizing. */
body.luckys-app :is(
  .luckys-eyebrow,.lkr-eyebrow,.ltb-overline,.hfc-eyebrow,
  .lwm-eyebrow,.lwm-post-type,.lws-kicker,.lws-heading>div>small,
  .lfw-panel header small,.lfw-action small,.lfa-card-header>div>small,
  .lpr-overline,.luckys-more-kicker,.luckys-nav-caption
){
  font-size:var(--lk-font-size-kicker)!important;
  font-weight:780!important;
  line-height:1.4!important;
  letter-spacing:.075em!important;
  text-transform:uppercase;
}

/* Card titles, supporting copy and metadata share a stable text rhythm. */
body.luckys-app :is(
  .ltb-card-title,.hfc-post-content>strong,.hfc-occasion-copy strong,
  .hfc-member-info strong,.lwm-doc-content>strong,.lwm-results strong,
  .lwm-post-head strong,.lwm-photo-overlay strong,
  .lws-member strong,.lws-invite strong,.lws-device strong,
  .lws-person-link strong,.lpr-calendar-color strong,
  .lfa-card-header>div>strong,
  .luckys-card-head strong
){
  font-size:var(--lk-font-size-card)!important;
  font-weight:var(--lk-font-weight-card)!important;
  line-height:1.4!important;
}
body.luckys-app :is(
  .ltb-card-description,
  .hfc-post-content>span,.hfc-title p,
  .hfc-section-head>div>small,
  .hfc-occasion-copy small,
  .lwm-doc-content p,.lwm-post-body>p,.lwm-toolbar-copy p,
  .lws-heading p,.lws-fields label>small,.lws-system-head p,
  .lpr-panel-header p,.lpr-calendar-color p,
  .lfw-panel header p
){
  font-size:11.5px!important;
  font-weight:460;
  line-height:1.55!important;
}
body.luckys-app :is(
  .ltb-card-kind>span:nth-child(2),
  .ltb-priority,
  .ltb-card-info,.ltb-card-member,
  .ltb-overview-footer a,.ltb-overview-footer>div>span,
  .hfc-post-content>small,.hfc-member-info small,
  .hfc-section-link,.hfc-photo span,
  .hfc-date-pill,.hfc-member-role,.hfc-soft-empty,
  .hfc-family-footer,.hfc-family-footer a,
  .lwm-doc-meta,.lwm-doc-content>small,.lwm-doc-visibility,
  .lwm-month>header>span,.lwm-post-head small,.lwm-post-tag,
  .lws-metric>small,.lws-system-stat small,.lws-system-stat span,
  .lpr-form-grid label>small
){
  font-size:var(--lk-font-size-meta)!important;
  font-weight:500;
  line-height:var(--lk-line-height-meta)!important;
}
body.luckys-app :is(
  .ltb-column-head>div strong,
  .hfc-section-head>div>strong,
  .lwm-section-title,
  .lws-member>div>strong
){
  font-size:13px!important;
  line-height:1.35!important;
  font-weight:730!important;
}
body.luckys-app :is(
  .ltb-count,.lwm-summary strong,.lws-metric>strong,.lfa-kpi>strong
){
  font-variant-numeric:tabular-nums;
}
body.luckys-app :is(.lwm-summary strong,.lws-metric>strong,.lfa-kpi>strong){
  font-size:var(--lk-font-size-metric)!important;
  font-weight:760!important;
  line-height:1.15!important;
}

/* Forms, buttons and tabs: same reading size and weight, not a forced
   change of button dimensions. Native checkboxes/radios retain native UI. */
body.luckys-app :is(
  .lr-form label,.family-form label,.luckys-form label,
  .lpr-form-grid>label,.lws-fields>label,
  .lkr-modal label,.lkr-person-set label,
  .lfa-filters label,.ltb-new-card label,.ltb-inline-edit label
){
  font-size:var(--lk-font-size-label)!important;
  font-weight:var(--lk-font-weight-label)!important;
  line-height:1.4!important;
}
body.luckys-app :is(
  .lr-form,.family-form,.luckys-form,.lpr-form-grid,
  .lws-fields,.lkr-modal,.lfa-filters,.ltb-new-card,.ltb-inline-edit
) :is(
  input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=range]),
  select,textarea
){
  font-size:var(--lk-font-size-control)!important;
  line-height:1.48!important;
  font-weight:480;
}
body.luckys-app :is(
  .lr-btn,.luckys-button,.luckys-primary-action,
  .family-soft-link,.lkr-btn,
  .lr-tabs button,.lws-tabs button,
  .ltb-add-primary,.ltb-refresh,.ltb-edit-actions button,
  .lwm-composer-add,.lwm-segments button
){
  font-size:var(--lk-font-size-control)!important;
  font-weight:680!important;
  line-height:1.35!important;
  letter-spacing:0;
}
body.luckys-app :is(
  .ltb-move-actions button,.ltb-column-footer button,
  .lwm-view-toggle button,.lkr-segments button,
  .hfc-invite strong
){
  font-size:11px!important;
  font-weight:670!important;
  line-height:1.35!important;
}
body.luckys-app :is(.ltb-card-edit,.ltb-head-add,.lwm-refresh){
  font-weight:600;
}
/* Tabular views, form labels and table headers remain legible in
   finance, work planning and document administration. */
body.luckys-app :is(.luckys-content,.lr-page,.lkr-page) table th{
  font-size:11.5px!important;
  line-height:1.4!important;
  font-weight:710!important;
}
body.luckys-app :is(.luckys-content,.lr-page,.lkr-page) table td{
  font-size:var(--lk-font-size-control)!important;
  line-height:1.48!important;
  font-weight:475;
}
body.luckys-app :is(.lr-page,.lkr-page) :is(.lr-empty,.lkr-muted,.lr-loading){
  font-size:12px;
  line-height:1.55;
}
/* Shell navigation retains its compact proportions. */
body.luckys-app .luckys-side-nav-v4 .luckys-nav-link{
  font-size:12.5px!important;
  font-weight:630!important;
  line-height:1.35!important;
}
body.luckys-app .luckys-side-nav-v4 .luckys-nav-subitems .luckys-nav-link{
  font-size:11.5px!important;
  font-weight:580!important;
}
body.luckys-app .luckys-nav-group>summary{
  font-size:12.5px!important;
  font-weight:700!important;
  line-height:1.3!important;
}
body.luckys-app :is(.luckys-topbar .luckys-profile-name,.luckys-profile-popover>a){
  font-size:12.5px!important;
  font-weight:620!important;
}
body.luckys-app .luckys-bottom-nav a span{
  font-size:11px!important;
  font-weight:660!important;
}
body.luckys-auth-page :is(.luckys-form label,.luckys-auth-note){
  font-size:var(--lk-font-size-label)!important;
  line-height:1.5!important;
}

/* Narrow screens use the same hierarchy, with responsive page title only. */
@media(max-width:650px){
  :root{
    --lk-font-size-page:24px;
    --lk-font-size-section:16px;
    --lk-font-size-metric:20px;
  }
  body.luckys-app .ltb-title h2{font-size:21px!important}
  body.luckys-app :is(
    .luckys-page-head p,.family-module-head p,
    .lkr-heading p,.calendar-page-head p
  ){font-size:12px!important}
  body.luckys-app .luckys-side-nav-v4 .luckys-nav-link{
    font-size:12px!important;
  }
}
@media(prefers-reduced-motion:reduce){
  body.luckys-app{scroll-behavior:auto}
}
