/* Screen styles for the optional KurvenReich 2 page only. */
.kr2-page {
    --kr2-accent:#800000;
    --kr2-accent-dark:#650000;
    --kr2-soft:#fbf3f4;
    --kr2-border:#d9b7bd;
    --kr2-text:#25323e;
    --kr2-muted:#52616c;
    --kr2-focus:#075d9a;
    margin:0;
    padding:4px 6px 12px;
    color:var(--kr2-text);
    background:#fff;
    font:14px/1.4 Arial,Helvetica,sans-serif;
}

/* The same shared NFP header as the classic page, scoped to this edition. */
.kr2-site-header { width:auto; min-width:0; margin:-4px 4px 0; color:#323D4F; font-family:"Lucida Grande",Verdana,Helvetica,Arial,sans-serif; font-size:.625rem; font-weight:normal; line-height:normal; }
.kr2-page .kr2-site-header, .kr2-page .kr2-site-header *, .kr2-page .kr2-site-header *::before, .kr2-page .kr2-site-header *::after { box-sizing:content-box; }
.kr2-site-header .content { min-width:0; max-width:100%; padding:0; }
.kr2-site-header .desktopansicht { display:block; }
.kr2-site-header .handyansicht { display:none; }
.kr2-site-header table { border:0; }
.kr2-site-header td { border:0; padding:2px; }
.kr2-page .kr2-site-header img { max-width:none; border:none; }
.kr2-site-header img[width="200"][height="91"] { width:200px; height:91px; }
.kr2-site-header img[height="20px"] { width:20px; height:20px; }
.kr2-site-header h1 { margin:0; color:#000; font-family:"Lucida Grande","Trebuchet MS",Verdana,sans-serif; font-size:1.8em; font-weight:bold; line-height:normal; text-decoration:none; }
.kr2-site-header p { font-size:1.1em; }
.kr2-site-header .gen { margin:1px; font-size:1.2em; }
.kr2-page .kr2-site-header a:link, .kr2-page .kr2-site-header a:active, .kr2-page .kr2-site-header a:visited { color:#800000; text-decoration:none; }
.kr2-page.kr2-colour-blau .kr2-site-header a:link { color:#006597; }
.kr2-page.kr2-colour-blau .kr2-site-header a:active, .kr2-page.kr2-colour-blau .kr2-site-header a:visited { color:#005784; }
.kr2-page .kr2-site-header a:hover, .kr2-page.kr2-colour-blau .kr2-site-header a:hover { color:#D46400; text-decoration:underline; }

/* The calendar uses the browser picker; no generated calendar table or images. */
.kr2-date-control { display:flex; align-items:center; gap:4px; max-width:100%; }
.kr2-date-control button { flex:0 0 36px; min-width:36px; min-height:36px; padding:2px 6px; border:1px solid var(--kr2-border); border-radius:3px; color:var(--kr2-accent); background:#fff; font-size:23px; line-height:1; }
.kr2-date-control button[hidden] { display:none!important; }
.kr2-page .PopUp .kr2-date-control input:not([type=hidden]) { flex:1 1 150px; width:150px!important; min-width:0; max-width:190px!important; }
.kr2-date-caption { margin:4px 0 0; color:var(--kr2-muted); font-size:12px; line-height:1.35; white-space:normal; }

@media (max-width:1199px) {
    .kr2-site-header .desktopansicht { display:none; }
    /* Keep the shared three-column header and single menu row at the classic
       980px viewport's 960px content width. Only this header is fitted by JS. */
    .kr2-site-header .handyansicht { display:block; overflow-x:auto; overflow-y:hidden; -webkit-text-size-adjust:100%; text-size-adjust:100%; }
    .kr2-site-header .handyansicht > table { min-width:960px; max-width:none; }
    .kr2-site-header .handyansicht.kr2-fitted-header { position:relative; overflow:hidden; overflow:clip; }
    .kr2-site-header .kr2-fitted-header-table { position:absolute; top:0; left:0; transform-origin:left top; }
}
.kr2-page.kr2-colour-blau, .kr2-blau {
    --kr2-accent:#006597;
    --kr2-accent-dark:#004e75;
    --kr2-soft:#edf5fa;
    --kr2-border:#b8cdd9;
}
.kr2-page *, .kr2-page *::before, .kr2-page *::after { box-sizing:border-box; }
.kr2-page a { color:var(--kr2-accent); }
.kr2-page button, .kr2-page input, .kr2-page select, .kr2-page textarea { font:inherit; }
.kr2-page button, .kr2-page input[type=submit], .kr2-page input[type=reset] { cursor:pointer; }
.kr2-page a:focus-visible, .kr2-page button:focus-visible, .kr2-page input:focus-visible,
.kr2-page select:focus-visible, .kr2-page textarea:focus-visible, .kr2-page summary:focus-visible,
.kr2-page [tabindex]:focus-visible { outline:3px solid var(--kr2-focus); outline-offset:2px; }
.kr2-page img { max-width:100%; height:auto; }
.kr2-page table { max-width:100%; }
.kr2-visually-hidden { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.kr2-sitebar {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:space-between;
    gap:2px 16px;
    min-height:30px;
    padding:0 4px;
    border-bottom:1px solid var(--kr2-border);
    font-size:13px;
}
.kr2-sitebar nav, .kr2-site-links { display:flex; align-items:center; flex-wrap:wrap; gap:4px 14px; }
.kr2-sitebar a { display:inline-flex; align-items:center; min-height:30px; text-decoration:none; }
.kr2-sitebar a:hover { text-decoration:underline; }
.kr2-sitebrand, .kr2-site-brand { font-weight:700; }
.kr2-classic-link { margin:3px 2px; font-size:13px; }
.kr2-card { margin:5px 0 10px; padding:0; border:1px solid var(--kr2-border); border-radius:2px; background:#fff; box-shadow:none; }
.kr2-chart { max-width:100%; min-width:0; }
.kr2-topline { display:flex; flex-wrap:wrap; align-items:center; gap:3px 10px; padding:3px 7px; background:var(--kr2-soft); border-bottom:1px solid var(--kr2-border); }
.kr2-chart-header { display:flex; flex-wrap:wrap; align-items:center; gap:2px 9px; min-width:0; margin:0; padding:4px 6px; background:var(--kr2-soft); }
.kr2-topline .kr2-chart-header { padding:3px 0; }
.kr2-chart-header h2 { margin:0; color:var(--kr2-text); font-size:16px; font-weight:700; line-height:1.3; overflow-wrap:anywhere; }
.kr2-eyebrow { margin:0; color:var(--kr2-accent); font-size:12px; font-weight:700; letter-spacing:0; }
.kr2-muted { margin:0; color:var(--kr2-muted); font-size:13px; }
.kr2-button, .kr2-toolbar button {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:5px;
    min-height:34px;
    padding:5px 9px;
    border:1px solid var(--kr2-border);
    border-radius:3px;
    color:var(--kr2-accent);
    background:#fff;
    text-decoration:none;
    font-weight:650;
    font-size:13px;
    line-height:1.3;
}
.kr2-button:hover, .kr2-toolbar button:hover { color:var(--kr2-accent-dark); background:var(--kr2-soft); }
.kr2-button-primary { border-color:var(--kr2-accent); color:#fff!important; background:var(--kr2-accent); }
.kr2-button-primary:hover { color:#fff!important; background:var(--kr2-accent-dark); }
.kr2-add-entry { flex:none; margin-left:auto; }
.kr2-cycle-nav { display:flex; flex-wrap:wrap; align-items:center; gap:0 4px; min-width:0; margin:0; padding:0 5px; background:var(--kr2-soft); }
.kr2-topline .kr2-cycle-nav { padding:0; }
.kr2-cycle-nav a, .kr2-cycle-nav button {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:36px;
    padding:4px 8px;
    border:0;
    border-radius:0;
    background:transparent;
    color:var(--kr2-accent);
    font-size:13px;
    font-weight:650;
    line-height:1.25;
    text-decoration:none;
}
.kr2-cycle-nav a:hover, .kr2-cycle-nav button:hover { background:#fff; text-decoration:underline; }
.kr2-cycle-stepper { display:inline-flex; flex:none; align-items:center; gap:0; border-left:1px solid var(--kr2-border); border-right:1px solid var(--kr2-border); }
.kr2-cycle-stepper > a, .kr2-cycle-stepper > button { display:inline-flex; align-items:center; justify-content:center; min-width:34px; min-height:36px; padding:4px 7px; border:0; border-radius:0; color:var(--kr2-accent); background:transparent; font-size:16px; font-weight:650; text-decoration:none; }
.kr2-cycle-stepper > a:hover, .kr2-cycle-stepper > button:hover { background:#fff; }
.kr2-cycle-stepper > span, .kr2-cycle-current { display:inline-flex; align-items:center; justify-content:center; min-height:36px; padding:4px 6px; color:var(--kr2-accent); font-size:14px; font-weight:700; white-space:nowrap; }
.kr2-cycle-stepper > [aria-disabled=true] { opacity:.45; }
.kr2-cycle-summary { margin:0; padding:5px 9px; border:0; border-bottom:1px solid var(--kr2-border); background:#fff; }
.kr2-cycle-summary h3 { margin:0 8px 0 0; color:var(--kr2-accent); font-size:13px; line-height:1.5; }
.kr2-cycle-summary > summary { display:none; }
.kr2-cycle-summary dl { display:flex; flex-wrap:wrap; align-items:baseline; gap:3px 12px; margin:0; }
.kr2-cycle-meta-item { display:inline-flex; flex-wrap:wrap; align-items:baseline; gap:4px; min-width:0; max-width:100%; }
.kr2-cycle-meta-item dt { margin:0; color:var(--kr2-muted); font-size:13px; font-weight:400; }
.kr2-cycle-meta-item dt::after { content:':'; }
.kr2-cycle-meta-item dd { margin:0; color:var(--kr2-accent); font-size:13px; font-weight:600; overflow-wrap:anywhere; }
.kr2-cycle-description { flex-basis:100%; white-space:normal; }
.kr2-cycle-description dd { color:var(--kr2-text); font-weight:400; white-space:pre-line; }
.kr2-toolbar { display:flex; flex-wrap:wrap; justify-content:space-between; gap:4px 12px; padding:5px 7px; border:0; }
.kr2-toolbar-group { display:flex; flex-wrap:wrap; align-items:center; gap:4px; }
.kr2-mobile-label, .kr2-chart .kr2-mobile-menu-toggle, .kr2-toolbar .kr2-export-toggle { display:none; }
.kr2-help { margin:0; padding:0 9px 5px; color:var(--kr2-muted); font-size:13px; }
.kr2-chart-layout { display:grid; width:min(100%,calc(var(--kr2-chart-width,100%) + 288px)); max-width:100%; grid-template-columns:minmax(0,1fr) 280px; align-items:start; gap:8px; }
.kr2-chart-main { min-width:0; }
.kr2-chart-scroll, .kr2-table-scroll { max-width:100%; overflow:auto; overscroll-behavior-x:contain; scrollbar-gutter:stable; -webkit-overflow-scrolling:touch; }
.kr2-chart-scroll { border-top:1px solid #dce3e8; border-bottom:1px solid #dce3e8; background:#fff; scrollbar-gutter:auto; }
.kr2-svg { display:block; max-width:none!important; height:auto; overflow:hidden; font-family:Arial,Helvetica,sans-serif; }
.kr2-axis { fill:#465660; font-size:13px; }
.kr2-cycle-day { fill:#283b49; font-weight:700; }
.kr2-weekend { fill:#f5f6f8; }
.kr2-fertile { fill:#fff1d2; opacity:.8; }
.kr2-today { fill:#dcecfb; opacity:.45; }
.kr2-grid { fill:none; stroke:#d8e0e5; stroke-width:.7; }
.kr2-temperature-line { fill:none; stroke:var(--kr2-accent); stroke-width:2; stroke-linecap:round; }
.kr2-excluded-line { stroke:#929ba3; }
.kr2-point { fill:var(--kr2-accent); stroke:#fff; stroke-width:1.5; }
.kr2-point-excluded { fill:#929ba3; }
.kr2-high-point { fill:#70a775; }
.kr2-assessment { fill:#37683e; font-size:12px; font-weight:700; }
.kr2-help-line { fill:none; stroke:#397298; stroke-width:1.5; stroke-dasharray:7 4; }
.kr2-mens-start { fill:none; stroke:#aa445b; stroke-width:1.5; stroke-dasharray:3 4; }
.kr2-cycle-end { fill:none; stroke:#8a6b3e; stroke-width:2; stroke-dasharray:7 4; }
.kr2-pregnancy { fill:none; stroke:#7c5ca5; stroke-width:1.5; stroke-dasharray:4 4; }
.kr2-symptom-label { fill:#465660; font-size:12px; }
.kr2-symptom-value { fill:#344b5a; font-size:12px; }
.kr2-symptom-symbol text, .kr2-measurement-time text { font-family:Arial,Helvetica,sans-serif; font-weight:600; }
.kr2-note-heading { fill:#344c5d; font-size:12px; font-weight:700; }
.kr2-note-line { fill:#526778; font-size:12px; }
.kr2-day { cursor:pointer; }
.kr2-day-hit { fill:transparent; stroke:transparent; stroke-width:2; }
.kr2-day:hover .kr2-day-hit, .kr2-day[aria-current=true] .kr2-day-hit { fill:#637b9212; stroke:var(--kr2-accent); }
.kr2-day:focus-visible { outline:none!important; }
.kr2-day:focus-visible .kr2-day-hit { stroke:var(--kr2-focus); stroke-width:3; fill:#075d9a12; }
.kr2-legend { display:flex; flex-wrap:wrap; gap:4px 14px; padding:5px 8px; font-size:13px; color:var(--kr2-muted); }
.kr2-legend span { display:inline-flex; align-items:center; gap:5px; }
.kr2-legend i { display:inline-block; flex:none; }
.kr2-legend-dot { width:8px; height:8px; border-radius:50%; background:var(--kr2-accent); }
.kr2-legend-excluded { background:#929ba3; }
.kr2-legend-high { width:0; height:0; border-left:5px solid transparent; border-right:5px solid transparent; border-bottom:9px solid #70a775; }
.kr2-legend-fertile { width:14px; height:10px; border:1px solid #efddb2; background:#fff1d2; }
.kr2-day-details { position:sticky; top:8px; min-width:0; max-height:calc(100dvh - 24px); margin:0 7px 7px 0; padding:10px; overflow:auto; overscroll-behavior:contain; scrollbar-gutter:stable; border:1px solid var(--kr2-border); border-radius:3px; background:var(--kr2-soft); overflow-wrap:anywhere; }
.kr2-day-details h3 { margin:0 0 4px; color:var(--kr2-text); font-size:14px; }
.kr2-detail-temp { display:inline-block; margin:0 12px 5px 0; color:var(--kr2-accent); font-size:19px; line-height:1.3; font-weight:700; }
.kr2-detail-list { margin:0 0 7px; }
.kr2-detail-item { display:contents; }
.kr2-day-details .kr2-detail-list { display:grid; grid-template-columns:minmax(85px,.43fr) minmax(0,.57fr); gap:6px 9px; }
.kr2-detail-list dt { margin:5px 0 1px; color:var(--kr2-muted); font-size:13px; font-weight:650; }
.kr2-detail-list dd { margin:0; font-size:14px; white-space:pre-line; }
.kr2-day-details .kr2-detail-list dt, .kr2-day-details .kr2-detail-list dd { margin:0; }
.kr2-tag { display:inline-block; margin:0; padding:2px 6px; border:1px solid #cbd2d9; border-radius:3px; background:#fff; font-size:13px; }
.kr2-cycle-note { padding:6px 9px; margin:0; background:#f4f0fa; border-radius:0; font-size:13px; }
.kr2-data-table { margin:7px; border-top:1px solid #e4e9ed; padding-top:7px; }
.kr2-page summary { color:var(--kr2-accent); cursor:pointer; font-size:14px; font-weight:650; }
.kr2-data-table table { --kr2-table-frozen-width:45px; --kr2-table-cycle-left:0px; --kr2-table-weekday-left:45px; width:max-content; max-width:none; border-collapse:collapse; margin-top:6px; font-size:13px; background:#fff; }
.kr2-data-table table.kr2-table-editable { --kr2-table-cycle-left:45px; --kr2-table-weekday-left:90px; }
.kr2-data-table caption { text-align:left; padding:6px; color:var(--kr2-muted); }
.kr2-data-table th, .kr2-data-table td { min-width:36px; height:32px; padding:2px 4px; border:1px solid #e0e6ea; color:var(--kr2-text); text-align:center; vertical-align:middle; white-space:nowrap; }
.kr2-data-table thead th { background:var(--kr2-soft); font-weight:700; }
.kr2-data-table .kr2-table-heading-fixed { vertical-align:bottom; padding-bottom:9px; }
.kr2-data-table .kr2-table-heading-rotated { position:relative; width:44px; min-width:44px; height:174px; padding:0; vertical-align:bottom; }
.kr2-table-heading-rotated > span { position:absolute; bottom:8px; left:50%; display:block; width:154px; overflow:hidden; text-overflow:ellipsis; line-height:16px; text-align:left; white-space:nowrap; transform:rotate(-90deg); transform-origin:0 50%; }
.kr2-data-table [data-kr2-column-key=date] { min-width:92px; }
.kr2-data-table [data-kr2-column-key=edit], .kr2-data-table [data-kr2-column-key=cycle_day], .kr2-data-table [data-kr2-column-key=weekday] { position:sticky; z-index:2; box-sizing:border-box; width:var(--kr2-table-frozen-width); min-width:var(--kr2-table-frozen-width); max-width:var(--kr2-table-frozen-width); background:#fff; }
.kr2-data-table [data-kr2-column-key=edit] { left:0; }
.kr2-data-table [data-kr2-column-key=cycle_day] { left:var(--kr2-table-cycle-left); }
.kr2-data-table [data-kr2-column-key=weekday] { left:var(--kr2-table-weekday-left); box-shadow:2px 0 0 #bdc9d2; }
.kr2-data-table thead [data-kr2-column-key=edit], .kr2-data-table thead [data-kr2-column-key=cycle_day], .kr2-data-table thead [data-kr2-column-key=weekday] { z-index:3; background:var(--kr2-soft); }
.kr2-data-table [data-kr2-column-key=temperature] { min-width:65px; }
.kr2-data-table tbody th { background:#fff; }
.kr2-data-table tbody tr:nth-child(even) td, .kr2-data-table tbody tr:nth-child(even) th { background:#f8fafb; }
.kr2-table-symbol { display:block; width:40px; height:28px; margin:0 auto; overflow:visible; }
.kr2-table-edit-link { display:inline-flex; width:30px; height:30px; align-items:center; justify-content:center; border:1px solid transparent; border-radius:3px; color:var(--kr2-accent); }
.kr2-table-edit-link:hover, .kr2-table-edit-link:focus-visible { background:var(--kr2-soft); border-color:var(--kr2-border); }
.kr2-table-edit-link svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.kr2-cell-details { position:relative; width:40px; margin:0 auto; }
.kr2-cell-details[open] { width:260px; max-width:75vw; }
.kr2-cell-details > summary { display:flex; width:40px; min-height:30px; align-items:center; justify-content:center; list-style:none; border-radius:3px; }
.kr2-cell-details > summary::-webkit-details-marker { display:none; }
.kr2-cell-details > summary:hover, .kr2-cell-details[open] > summary { background:var(--kr2-soft); outline:1px solid var(--kr2-border); }
.kr2-cell-details > summary:focus-visible { outline:2px solid var(--kr2-focus); outline-offset:1px; }
.kr2-cell-detail-value { margin-top:4px; padding:10px; border:1px solid var(--kr2-border); border-radius:3px; background:#fff; color:var(--kr2-text); font-size:13px; line-height:1.45; text-align:left; white-space:pre-line; overflow-wrap:anywhere; }
.kr2-table-actions { display:flex; flex-direction:column; align-items:flex-start; gap:8px; margin:10px 0 3px; }
.kr2-export-status { margin:5px 8px; color:var(--kr2-muted); font-size:13px; }
.kr2-share { max-width:100%; min-width:0; margin:7px 0; overflow-wrap:anywhere; }
.kr2-share > table { display:block; max-width:100%; overflow:auto; }
.kr2-page form[name=form_fremde_kurve] { display:flex; flex-wrap:wrap; align-items:center; gap:5px; margin:5px 0; }
.kr2-page form[name=form_fremde_kurve] input { min-height:36px; max-width:100%; padding:5px 8px; border:1px solid var(--kr2-border); border-radius:3px; }
.kr2-page form[name=form_fremde_kurve] input[type=submit] { color:var(--kr2-accent); background:var(--kr2-soft); }
.kr2-page .PopUp { position:fixed!important; left:50%!important; top:50%!important; transform:translate(-50%,-50%); width:max-content; max-width:calc(100vw - 24px)!important; max-height:calc(100dvh - 40px); overflow:auto; padding:48px 20px 20px!important; border:1px solid var(--kr2-border)!important; border-radius:6px; background:#fff!important; box-shadow:0 12px 70px #12283b44; z-index:1001!important; cursor:auto!important; }
.kr2-page .PopUp[hidden] { display:none!important; }
.kr2-page .PopUp[aria-modal=true] { display:block!important; }
.kr2-page .PopUp > p[align=right] { margin:0; min-height:28px; }
.kr2-dialog-close { position:absolute; right:10px; top:8px; min-width:36px; min-height:36px; padding:1px 8px; border:0; border-radius:3px; background:transparent; color:var(--kr2-muted); font-size:25px!important; line-height:1.2; }
.kr2-dialog-close:hover { color:var(--kr2-accent); background:var(--kr2-soft); }
.kr2-backdrop { position:fixed; inset:0; z-index:1000; background:#13293e66; }
.kr2-page .PopUp table { width:100%; border-collapse:separate; border-spacing:0 6px; border:0!important; }
.kr2-page .PopUp td { padding:4px 6px; white-space:normal!important; border:0; vertical-align:top; }
.kr2-page .PopUp input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=reset]), .kr2-page .PopUp select, .kr2-page .PopUp textarea { max-width:100%!important; min-height:36px; padding:6px 8px; border:1px solid #bdc9d2; border-radius:3px; color:#263846; background:#fff; }
.kr2-page .PopUp select[multiple] { min-height:100px; }
.kr2-page .PopUp input[type=submit], .kr2-page .PopUp input[type=reset] { min-height:36px; padding:6px 12px; border:1px solid var(--kr2-border); border-radius:3px; background:var(--kr2-soft); color:var(--kr2-accent); }
.kr2-print-options { width:min(760px,calc(100vw - 28px)); max-height:calc(100dvh - 32px); margin:auto; padding:0; overflow:auto; overscroll-behavior:contain; border:1px solid var(--kr2-border); border-radius:7px; color:var(--kr2-text); background:#fff; box-shadow:0 14px 70px #12283b55; font:inherit; }
.kr2-print-options::backdrop { background:#13293e66; }
.kr2-print-form { margin:0; padding:16px 18px; }
.kr2-print-form h2 { margin:0 44px 12px 0; color:var(--kr2-accent); font-size:19px; line-height:1.3; }
.kr2-print-options-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:12px; }
.kr2-print-options fieldset { min-width:0; margin:0; padding:10px 12px; border:1px solid var(--kr2-border); border-radius:4px; }
.kr2-print-options legend { padding:0 4px; color:var(--kr2-accent); font-weight:700; }
.kr2-print-options label, .kr2-print-choice { display:flex; align-items:center; gap:8px; min-height:32px; margin:3px 0; font-size:14px; line-height:1.35; }
.kr2-print-options input[type=checkbox], .kr2-print-options input[type=radio] { flex:none; width:17px; height:17px; margin:0; accent-color:var(--kr2-accent); }
.kr2-print-options select { max-width:100%; min-height:36px; padding:5px 7px; border:1px solid #bdc9d2; border-radius:3px; background:#fff; color:var(--kr2-text); }
.kr2-print-options select:disabled { color:var(--kr2-muted); background:#f2f4f6; }
.kr2-print-field-details { margin-top:12px; padding:9px 12px; border:1px solid var(--kr2-border); border-radius:4px; }
.kr2-print-field-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 12px; max-height:220px; padding:2px 0; overflow:auto; overscroll-behavior:contain; }
.kr2-print-field-options label { min-width:0; overflow-wrap:anywhere; }
.kr2-print-options p, .kr2-print-note { margin:8px 0; color:var(--kr2-muted); font-size:13px; line-height:1.4; }
.kr2-print-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; margin-top:14px; padding-top:12px; border-top:1px solid var(--kr2-border); }
.kr2-print-actions button { min-height:38px; padding:7px 12px; border:1px solid var(--kr2-border); border-radius:3px; color:var(--kr2-accent); background:#fff; font-weight:650; }
.kr2-print-actions button[type=submit] { border-color:var(--kr2-accent); color:#fff; background:var(--kr2-accent); }
.kr2-print-actions button:hover { background:var(--kr2-soft); }
.kr2-print-actions button[type=submit]:hover { background:var(--kr2-accent-dark); }
.kr2-print-options .kr2-print-error { color:#a51b1b; font-weight:600; }
.kr2-print-error:empty { display:none; }
@media (max-width:900px) {
    .kr2-chart-layout { width:100%; grid-template-columns:minmax(0,1fr); }
    .kr2-day-details { position:static; max-height:none; margin:0 7px 7px; overflow:visible; }
    .kr2-day-details .kr2-detail-list { grid-template-columns:minmax(110px,.3fr) minmax(0,.7fr); }
}
@media (max-width:600px) {
    .kr2-page { padding:3px 4px 10px; }
    .kr2-site-header { margin:-3px 6px 0; }
    .kr2-sitebar { gap:0 9px; padding:0 2px; }
    .kr2-sitebar nav, .kr2-site-links { gap:0 10px; }
    .kr2-sitebar a { min-height:36px; }
    .kr2-card { border-radius:7px; }
    .kr2-topline { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); padding:6px 8px 8px; gap:6px; }
    .kr2-chart-header { display:grid; grid-template-columns:minmax(0,1fr) auto; grid-column:1/-1; width:100%; padding:0; gap:0 6px; }
    .kr2-topline .kr2-chart-header { padding:0; }
    .kr2-chart-header h2 { font-size:16px; }
    .kr2-chart-header .kr2-muted { grid-column:1/-1; font-size:12px; }
    .kr2-cycle-stepper { border-right:0; }
    .kr2-cycle-stepper > a, .kr2-cycle-stepper > button, .kr2-cycle-stepper > span { min-width:44px; min-height:44px; padding:5px 8px; }
    .kr2-desktop-label { display:none; }
    .kr2-mobile-label { display:inline; }
    .kr2-mobile-ui .kr2-mobile-menu-toggle { display:inline-flex; grid-column:1; min-height:44px; }
    .kr2-add-entry { grid-column:2; width:100%; min-height:44px; margin:0; }
    .kr2-cycle-nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); grid-column:1/-1; width:100%; gap:4px; padding:4px 0 0; order:3; }
    .kr2-mobile-ui .kr2-cycle-nav:not(.kr2-mobile-expanded) { display:none; }
    .kr2-cycle-nav a, .kr2-cycle-nav button { justify-content:flex-start; min-height:44px; padding:7px 9px; border:1px solid var(--kr2-border); border-radius:4px; background:#fff; text-align:left; }
    .kr2-cycle-summary { padding:0 8px; }
    .kr2-cycle-summary > summary { display:flex; align-items:center; justify-content:space-between; min-height:44px; font-size:13px; list-style:none; }
    .kr2-cycle-summary > summary::-webkit-details-marker { display:none; }
    .kr2-cycle-summary > summary::after { content:'+'; font-size:18px; font-weight:400; }
    .kr2-cycle-summary[open] > summary::after { content:'−'; }
    .kr2-cycle-summary dl { display:grid; gap:7px; padding:0 0 10px; }
    .kr2-cycle-meta-item { display:block; }
    .kr2-cycle-meta-item dt { font-size:12px; }
    .kr2-cycle-meta-item dd { font-size:13px; }
    .kr2-toolbar { gap:4px 6px; padding:6px 8px; }
    .kr2-toolbar-group { gap:4px; }
    .kr2-toolbar button { min-width:44px; min-height:44px; padding:5px 8px; font-size:13px; }
    .kr2-view-actions { flex:1 1 auto; justify-content:flex-end; }
    .kr2-mobile-ui .kr2-export-toggle { display:inline-flex; }
    .kr2-export-actions { flex-basis:100%; justify-content:flex-end; }
    .kr2-mobile-ui .kr2-export-actions:not(.kr2-mobile-expanded) { display:none; }
    .kr2-help { padding:0 8px 7px; font-size:12px; }
    .kr2-legend { gap:4px 10px; padding:6px 8px; font-size:11px; }
    .kr2-day-details { margin:0 8px 8px; padding:10px; border-radius:6px; }
    .kr2-day-details .kr2-detail-list { display:block; }
    .kr2-day-details .kr2-detail-item { display:grid; grid-template-columns:minmax(125px,.5fr) minmax(0,1fr); gap:4px 8px; margin-bottom:7px; }
    .kr2-day-details .kr2-detail-list dt { overflow-wrap:normal; font-size:12px; }
    .kr2-day-details .kr2-detail-list dd { min-width:0; font-size:13px; }
    .kr2-day-details .kr2-detail-item-long { grid-template-columns:minmax(0,1fr); gap:2px; }
    .kr2-day-details .kr2-button { min-height:44px; }
    .kr2-data-table { margin:8px; }
    .kr2-data-table > summary { display:flex; align-items:center; min-height:44px; font-size:13px; }
    .kr2-data-table > summary::before { content:'▸'; margin-right:6px; }
    .kr2-data-table[open] > summary::before { content:'▾'; }
    .kr2-data-table .kr2-table-heading-rotated { height:144px; }
    .kr2-data-table .kr2-table-heading-rotated > span { width:124px; }
    .kr2-page .PopUp { padding:54px 12px 17px!important; max-height:calc(100dvh - 20px); }
    .kr2-dialog-close { min-width:44px; min-height:44px; }
    .kr2-page .PopUp td { display:block; width:100%!important; height:auto!important; text-align:left!important; padding:3px 2px; }
    .kr2-page .PopUp tr { display:block; width:100%; }
    .kr2-page .PopUp select, .kr2-page .PopUp input[type=text], .kr2-page .PopUp textarea { width:100%!important; }
    .kr2-page .PopUp td:empty { display:none; }
    .kr2-print-options { width:calc(100vw - 16px); max-height:calc(100dvh - 16px); }
    .kr2-print-form { padding:14px 12px; }
    .kr2-print-form h2 { font-size:18px; }
    .kr2-print-options-grid { grid-template-columns:minmax(0,1fr); gap:10px; }
    .kr2-print-field-options { max-height:180px; gap:0 8px; }
    .kr2-print-options label { min-height:38px; }
    .kr2-print-actions button { min-height:42px; }
}

/* Measurement editor only: the desktop table is restored above 600px. */
@media (max-width:600px) {
    .kr2-page #messdaten.kr2-entry-mobile { width:calc(100vw - 16px)!important; max-width:calc(100vw - 16px)!important; max-height:calc(100dvh - 16px); padding:12px!important; overflow:hidden; }
    .kr2-page #messdaten.kr2-entry-mobile[aria-modal=true] { display:flex!important; flex-direction:column; }
    #messdaten.kr2-entry-mobile .kr2-entry-form { display:flex; flex:0 1 auto; flex-direction:column; min-width:0; min-height:0; margin:0; }
    #messdaten.kr2-entry-mobile .kr2-entry-legacy-table { display:none!important; }
    #messdaten .kr2-entry-mobile-layout { display:flex; flex:1 1 auto; flex-direction:column; min-height:0; max-height:calc(100dvh - 44px); }
    #messdaten .kr2-entry-mobile-heading { flex:none; min-width:0; padding:0 42px 8px 0; }
    #messdaten .kr2-entry-mobile-heading h2 { margin:0; color:var(--kr2-accent); font-size:17px; line-height:1.35; }
    #messdaten .kr2-entry-mobile-context { margin:4px 0 0; color:var(--kr2-muted); font-size:12px; line-height:1.35; }
    #messdaten .kr2-entry-mobile-body { flex:1 1 auto; min-height:80px; padding:1px 3px 1px 1px; overflow:auto; overscroll-behavior:contain; scrollbar-gutter:stable; }
    #messdaten .kr2-entry-section { min-width:0; margin:0 0 9px; padding:8px; border:1px solid var(--kr2-border); border-radius:4px; background:#fff; }
    #messdaten .kr2-entry-section > legend { padding:0 4px; color:var(--kr2-accent); font-size:14px; font-weight:650; }
    #messdaten details.kr2-entry-section { padding:0; }
    #messdaten details.kr2-entry-section > summary { min-height:44px; padding:10px 8px; color:var(--kr2-accent); font-size:14px; }
    #messdaten details.kr2-entry-section > .kr2-entry-fields { padding:0 8px 8px; }
    #messdaten .kr2-entry-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:9px 8px; min-width:0; }
    #messdaten .kr2-entry-field, #messdaten .kr2-entry-check { grid-column:1 / -1; min-width:0; }
    #messdaten .kr2-entry-field-half { grid-column:span 1; }
    #messdaten .kr2-entry-label { display:block; margin:0 0 4px; color:var(--kr2-text); font-size:13px; line-height:1.35; font-weight:600; white-space:normal; word-break:normal; overflow-wrap:normal; }
    #messdaten .kr2-entry-input { display:flex; align-items:center; gap:5px; min-width:0; }
    #messdaten .kr2-entry-mobile-layout input:not([type=hidden]):not([type=checkbox]):not([type=radio]), #messdaten .kr2-entry-mobile-layout select, #messdaten .kr2-entry-mobile-layout textarea { width:100%!important; max-width:100%!important; min-width:0; min-height:44px; font-size:16px; }
    #messdaten .kr2-entry-input > input, #messdaten .kr2-entry-input > select, #messdaten .kr2-entry-input > textarea { flex:1 1 auto; }
    #messdaten .kr2-entry-mobile-layout select[multiple] { min-height:98px; }
    #messdaten .kr2-entry-mobile-layout textarea { min-height:104px; resize:vertical; }
    #messdaten .kr2-entry-unit { flex:none; color:var(--kr2-muted); font-size:14px; white-space:nowrap; }
    #messdaten .kr2-entry-clock { flex:0 0 40px; min-height:44px; padding:6px; border:1px solid var(--kr2-border); border-radius:3px; background:var(--kr2-soft); }
    #messdaten .kr2-entry-clock img { width:20px; height:20px; }
    #messdaten .kr2-date-control { width:100%; gap:4px; }
    #messdaten .kr2-date-control input:not([type=hidden]) { flex:1 1 0; width:0!important; max-width:none!important; }
    #messdaten .kr2-date-control button { flex:0 0 40px; min-width:40px; min-height:44px; }
    #messdaten .kr2-date-caption { font-size:12px; }
    #messdaten .kr2-entry-check { display:flex; align-items:center; gap:7px; min-height:36px; margin:0; color:var(--kr2-text); font-size:13px; line-height:1.35; }
    #messdaten .kr2-entry-check input[type=checkbox] { flex:none; width:18px; height:18px; margin:0; accent-color:var(--kr2-accent); }
    #messdaten .kr2-entry-field > button { width:100%; min-height:36px; margin-top:5px; padding:4px 7px; border:1px solid var(--kr2-border); border-radius:3px; background:var(--kr2-soft); color:var(--kr2-accent); font-size:12px; }
    #messdaten .kr2-entry-mobile-actions { flex:none; max-height:45dvh; padding-top:6px; border-top:1px solid var(--kr2-border); overflow:auto; background:#fff; }
    #messdaten .kr2-entry-save-row { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:stretch; gap:7px; }
    #messdaten .kr2-entry-save-row input { padding:6px 9px; border:1px solid var(--kr2-border); border-radius:3px; font-size:14px!important; font-weight:600; cursor:pointer; }
    #messdaten .kr2-entry-save-row input[type=button] { color:#fff; background:var(--kr2-accent); }
    #messdaten .kr2-entry-save-row input[type=submit] { width:auto!important; color:var(--kr2-accent); background:var(--kr2-soft); }
    #messdaten .kr2-entry-more-actions { margin-top:3px; }
    #messdaten .kr2-entry-more-actions > summary { min-height:36px; padding:8px 1px; font-size:13px; }
    #messdaten .kr2-entry-day-navigation, #messdaten .kr2-entry-secondary-actions { display:flex; flex-wrap:wrap; gap:5px; }
    #messdaten .kr2-entry-day-navigation a, #messdaten .kr2-entry-secondary-actions button, #messdaten .kr2-entry-secondary-actions input[type=reset] { display:inline-flex; align-items:center; justify-content:center; min-height:40px; max-width:100%; padding:5px 7px; border:1px solid var(--kr2-border); border-radius:3px; color:var(--kr2-accent); background:var(--kr2-soft); font-size:12px; }
    #messdaten .kr2-entry-secondary-actions { margin-top:5px; }
    #messdaten .kr2-entry-validation { margin:0 0 8px; color:#a51b1b; font-size:13px; line-height:1.4; }
}
