/* Výhradně místní Kalendář podle schváleného návrhu. */
html.compact-calendar { zoom:1 !important; --cc-scale:1; --fs-scale:var(--cc-scale); }
html.compact-calendar.font-small { --cc-scale:.9; }
html.compact-calendar.font-large { --cc-scale:1.12; }
html.compact-calendar.font-xlarge { --cc-scale:1.28; }
html.compact-calendar:not(.dark) { --bg:#f6f9fc; --surface:#fff; --surface2:#fffafb; --text:#4a0f1a; --text2:#a25765; --text3:#b07580; --accent:#962d43; --accent-light:#ffeaee; --border:#ffcad4; }
html.compact-calendar body { padding-left:max(14px,env(safe-area-inset-left)); padding-right:max(14px,env(safe-area-inset-right)); background:linear-gradient(145deg,var(--bg),var(--surface)); }
html.compact-calendar .app { max-width:1320px; }
html.compact-calendar header { padding:12px 0; margin:0 0 12px; border:0; gap:14px; }
html.compact-calendar .logo { display:grid; grid-template-columns:48px minmax(130px,1.1fr) minmax(0,2.5fr) auto auto; grid-auto-rows:48px; gap:12px; align-items:center; width:100%; }
html.compact-calendar #main-logo { width:48px; height:48px; border-radius:6px; }
html.compact-calendar .logo-text-wrapper { min-width:0; height:48px; align-items:start; justify-content:center; }
html.compact-calendar header h1 { max-height:48px; height:auto !important; text-align:left; line-height:1.4 !important; white-space:normal !important; overflow:visible !important; overflow-wrap:anywhere; }
html.compact-calendar #stanice-logo[style*="hidden"] { display:none; }
html.compact-calendar #stanice-logo { grid-column:4; width:40px; height:40px; }
html.compact-calendar .logo:has(#stanice-logo:not([style*="hidden"])) { grid-template-columns:48px minmax(130px,1.1fr) minmax(0,2.5fr) 40px auto auto; }
html.compact-calendar .compact-statuses { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; height:46px; min-width:0; }
html.compact-calendar #cloud-badge { display:contents !important; }
html.compact-calendar #cloud-badge > * { display:grid !important; grid-template-columns:auto minmax(0,1fr); align-content:center; gap:0 5px !important; width:100% !important; min-width:0 !important; max-width:none !important; height:46px !important; min-height:0 !important; padding:5px !important; border-radius:5px !important; box-sizing:border-box; white-space:normal !important; overflow:visible !important; }
html.compact-calendar #cloud-badge svg { grid-row:1 / 3; align-self:center; width:18px; height:18px; }
html.compact-calendar #cloud-badge span { font-size:inherit !important; overflow:visible !important; text-overflow:clip !important; }
html.compact-calendar .compact-badge-state { grid-column:2; font-size:inherit; }
html.compact-calendar #header-backup-tile { display:flex !important; flex-direction:column; align-items:center; justify-content:center; height:46px !important; min-height:0; width:100%; padding:4px; border-radius:5px; box-shadow:none; box-sizing:border-box; }
html.compact-calendar #header-backup-tile span { font-size:inherit !important; line-height:1.2; text-transform:none !important; letter-spacing:0 !important; }
html.compact-calendar #header-backup-tile::after { inset:0; width:auto; height:auto; transform:none; }
html.compact-calendar #header-version-tile { display:flex !important; width:auto; min-width:0; padding:0; background:transparent; border:0; box-shadow:none; height:44px; }
html.compact-calendar #header-version-line1, html.compact-calendar .ver-update-ico { display:none; }
html.compact-calendar #header-version-line2 { font-size:10px !important; }
html.compact-calendar #lang-pill-wrap { min-width:62px; z-index:502; }
html.compact-calendar #lang-pill-btn { height:44px; width:100%; border:1px solid var(--border); border-radius:5px; background:var(--surface); color:var(--accent); }
html.compact-calendar .ios-tab-bar { width:min(1320px,calc(100% - 28px)); max-width:1320px; left:50%; bottom:0; transform:translateX(-50%); padding:5px max(4px,env(safe-area-inset-right)) max(5px,env(safe-area-inset-bottom)) max(4px,env(safe-area-inset-left)); height:calc(76px + env(safe-area-inset-bottom)); box-sizing:border-box; border:1px solid var(--border); border-radius:6px 6px 0 0; background:var(--surface); box-shadow:0 -2px 8px #46131c08; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); }
html.compact-calendar .tab-item { height:62px; min-height:0; border:1px solid transparent; border-radius:4px; }
html.compact-calendar .tab-item.active { background:#f8e2e6; border-color:#c97685; }
html.compact-calendar .tab-icon, html.compact-calendar .tab-icon svg { width:30px; height:30px; }
html.compact-calendar .tab-icon svg > rect { fill:transparent; stroke:none; }
html.compact-calendar .tab-icon svg > text { font-size:36px !important; }
html.compact-calendar .tab-item.active .tab-icon { transform:none; filter:none; }
html.compact-calendar .tab-label { height:24px; line-height:1.2 !important; color:var(--text2) !important; font-weight:500; transition:none !important; overflow:visible; text-overflow:clip; }
html.compact-calendar .tab-item.active .tab-label { color:#661221 !important; }
html.compact-calendar #header-row2 { display:block !important; width:100%; }
html.compact-calendar .header-right-group { display:contents; }
html.compact-calendar #header-row2 .header-left-group { display:grid !important; grid-template-columns:minmax(100px,1fr) repeat(4,minmax(0,1fr)); gap:8px; width:100%; align-items:center; }
html.compact-calendar #header-row2 .header-left-group > * { min-width:0 !important; width:100% !important; max-width:none !important; }
html.compact-calendar .cc-heading { order:0; margin:0; height:44px; display:flex; align-items:center; justify-content:start; text-align:left; font-weight:700; }
html.compact-calendar #add-cal-btn { order:1; }
html.compact-calendar #cal-events-btn { order:2; }
html.compact-calendar #cal-notif-btn { order:3; }
html.compact-calendar #global-search-btn { order:4; }
html.compact-calendar #header-row2 .h-tile { width:100% !important; min-width:0 !important; max-width:none !important; height:44px !important; min-height:44px; padding:4px 6px; box-sizing:border-box; border:1px solid #cc6e7f !important; border-radius:5px; background:var(--surface) !important; color:var(--accent) !important; box-shadow:none !important; white-space:nowrap !important; text-overflow:clip !important; font-family:inherit; font-weight:600; line-height:1.2; transform:none !important; transition-property:background-color,border-color,color !important; }
html.compact-calendar #header-row2 .h-tile > span { font-size:inherit !important; }
html.compact-calendar #header-row2 #add-cal-btn { background:#80313f !important; border-color:#80313f !important; color:#fff !important; }
html.compact-calendar #header-row2 :is(#cal-events-btn,#cal-notif-btn)[aria-pressed="true"] { background:#ffe6eb !important; color:var(--text) !important; }
html.compact-calendar .cc-current-date { margin:0; color:var(--text2); font-size:13px; }
html.compact-calendar .cc-overview { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-bottom:16px; }
html.compact-calendar .cc-stat { height:72px; width:100%; min-width:0; display:grid; grid-template-rows:28px 20px; align-content:center; gap:3px; border:1px solid #ffa6b6; border-radius:5px; background:var(--surface2); color:var(--accent); font-family:inherit; cursor:pointer; padding:5px; box-sizing:border-box; }
html.compact-calendar .cc-stat-value { line-height:28px; font-size:22px; }
html.compact-calendar .cc-stat-label { line-height:20px; text-transform:uppercase; font-weight:600; }
html.compact-calendar .cc-stat.cc-todo { background:#fff6f7; color:#b52e48; border-color:#edacb9; }
html.compact-calendar .cc-stat.cc-next { background:#fbeff1; color:#661221; border-color:#d7919e; }
html.compact-calendar .cc-board { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; align-items:start; }
html.compact-calendar .cc-section { min-width:0; border:0; margin:0; padding:0; scroll-margin-top:12px; }
html.compact-calendar .cc-section-heading { display:flex; align-items:center; gap:8px; min-height:40px; margin-bottom:6px; color:var(--text); list-style:none; cursor:pointer; }
html.compact-calendar .cc-section-heading::-webkit-details-marker { display:none; }
html.compact-calendar .cc-section-heading::before { content:""; width:12px; height:12px; flex-shrink:0; border-radius:3px; background:#ff859b; }
html.compact-calendar .cc-todo > .cc-section-heading::before { background:#f54c68; }
html.compact-calendar .cc-next > .cc-section-heading::before { background:#aa344a; }
html.compact-calendar .cc-section-title { min-width:0; line-height:22px; font-size:16px; font-weight:700; }
html.compact-calendar .cc-caret { margin-left:auto; color:var(--accent); font-size:22px; flex:0 0 24px; width:24px; height:24px; line-height:24px; text-align:center; }
html.compact-calendar .cc-event-list { display:grid; gap:10px; }
html.compact-calendar .cc-card { box-sizing:border-box; width:100%; min-width:0; height:164px; padding:0 !important; margin:0 !important; display:block !important; border:1px solid var(--border) !important; border-left:4px solid #6c9fff !important; border-radius:5px !important; background:var(--surface) !important; box-shadow:none !important; overflow:hidden; transform:none !important; }
html.compact-calendar .cc-todo .cc-card { border-color:#edacb9 !important; border-left-color:#f54c68 !important; background:#fff8f9 !important; }
html.compact-calendar .cc-next .cc-card { border-color:#dda2ad !important; border-left-color:#aa344a !important; background:#fdf7f8 !important; }
html.compact-calendar .cc-card[hidden],html.compact-calendar .cc-original[hidden],html.compact-calendar .cc-actions-home[hidden],html.compact-calendar .cc-source-sections[hidden],html.compact-calendar .cc-more[hidden],html.compact-calendar .cc-more button[hidden],html.compact-calendar .cc-done[hidden] { display:none !important; }
html.compact-calendar .cc-view { box-sizing:border-box; height:100%; padding:10px; display:grid; grid-template-columns:44px minmax(0,1fr); grid-template-rows:22px 18px 36px 16px 44px; gap:2px 8px; }
html.compact-calendar .cc-view :is(button,span,div,label) { min-width:0; box-sizing:border-box; }
html.compact-calendar .cc-date-block { grid-area:1 / 1 / 4 / 2; align-self:start; display:flex; flex-direction:column; justify-content:center; gap:3px; height:54px; background:#eef5ff; border-radius:4px; text-align:center; color:var(--accent); }
html.compact-calendar .cc-date { font-weight:700; font-size:12px; line-height:20px; white-space:nowrap; }
html.compact-calendar .cc-date-sub { font-size:11px; line-height:17px; }
html.compact-calendar .cc-label { grid-area:1 / 2; display:flex; align-items:center; gap:4px; height:22px; overflow:hidden; overflow-wrap:anywhere; color:var(--text); font-size:14px; font-weight:700; line-height:1.2; }
html.compact-calendar .cc-icon { width:18px !important; height:18px !important; flex-shrink:0; overflow:hidden; border-radius:3px; }
html.compact-calendar .cc-icon img { width:100%; height:100%; object-fit:cover; }
html.compact-calendar .cc-relative { grid-area:2 / 2; height:18px; line-height:18px; color:var(--text2); font-size:11px; }
html.compact-calendar .cc-todo .cc-relative { color:#b52e48; }
html.compact-calendar .cc-name { grid-area:3 / 2; width:100%; height:36px; padding:0; border:0; background:none; color:var(--text2); text-align:left; font-family:inherit; font-size:12px; line-height:18px; overflow:hidden; overflow-wrap:anywhere; cursor:pointer; }
html.compact-calendar .cc-full { grid-area:4 / 2; width:100%; height:16px; padding:0; border:0; background:none; color:var(--accent); text-align:left; font-family:inherit; font-size:11px; line-height:16px; cursor:pointer; }
html.compact-calendar .cc-footer { grid-area:5 / 1 / 6 / -1; display:grid; grid-template-columns:minmax(60px,1fr) minmax(0,1fr) minmax(0,1fr); gap:5px; min-width:0; align-items:center; height:44px; }
html.compact-calendar .cc-footer:has(.cc-done[hidden]) { grid-template-columns:repeat(2,minmax(0,1fr)); }
html.compact-calendar .cc-done { height:44px; display:flex; align-items:center; gap:4px; cursor:pointer; }
html.compact-calendar .cc-done input { width:20px !important; height:20px !important; flex-shrink:0; margin:0; }
html.compact-calendar .cc-done span { font-size:11px; line-height:15px; color:var(--text2); }
html.compact-calendar :is(.cc-detail,.cc-actions,.cc-more button) { width:100%; min-height:44px; padding:4px; border:1px solid var(--border); border-radius:4px; background:var(--surface2); color:var(--accent); font:600 12px/1.2 'IBM Plex Sans',sans-serif; cursor:pointer; text-overflow:clip; }
html.compact-calendar .cc-detail,html.compact-calendar .cc-actions { height:44px; white-space:nowrap; }
html.compact-calendar .cc-more { display:grid; gap:6px; margin-top:10px; }
html.compact-calendar .cc-more button { background:#f8eaed; border-color:#d7919e; color:#661221; }
html.compact-calendar .cc-empty { display:flex; align-items:center; justify-content:center; box-sizing:border-box; height:164px; margin:0; padding:16px; border:1px dashed var(--border); border-radius:5px; background:var(--surface); color:var(--text2); font-size:13px; text-align:center; overflow-wrap:anywhere; }
html.compact-calendar .cc-dialog { box-sizing:border-box; width:min(550px,calc(100% - 24px)); max-height:calc(100dvh - 24px); padding:16px; margin:auto; border:1px solid var(--border); border-radius:6px; color:var(--text); background:var(--surface); overflow:auto; }
html.compact-calendar .cc-dialog::backdrop { background:#46131c70; }
html.compact-calendar .cc-dialog h2 { font-size:19px; line-height:1.3; margin:0 0 16px; max-height:32dvh; overflow:auto; overflow-wrap:anywhere; }
html.compact-calendar .cc-dialog-body { max-height:40dvh; overflow:auto; font-size:14px; line-height:1.5; overflow-wrap:anywhere; }
html.compact-calendar .cc-close { width:100%; min-height:44px; margin-top:16px; border:1px solid var(--border); border-radius:4px; background:var(--surface2); color:var(--accent); font-family:inherit; cursor:pointer; }
html.compact-calendar .cc-original-actions { display:flex !important; flex-direction:column; align-items:stretch !important; gap:8px !important; }
html.compact-calendar .cc-original-actions button { min-height:44px; padding:10px !important; border:1px solid var(--border) !important; border-radius:4px !important; background:var(--surface2) !important; color:var(--accent) !important; font:600 14px/1.3 'IBM Plex Sans',sans-serif !important; white-space:normal; }
html.compact-calendar [data-cc-notifications] { padding:0 0 80px !important; }
html.compact-calendar [data-cc-notifications] > :is(div,button) { border-radius:5px !important; box-shadow:none !important; }
html.compact-calendar :is(button,summary,[role="switch"]):focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
@media (max-width:1100px) {
  html.compact-calendar .logo { grid-template-columns:44px minmax(130px,1fr) auto auto; gap:8px; }
  html.compact-calendar .compact-statuses { grid-column:1 / -1; grid-row:2; width:100%; }
}
@media (max-width:700px) {
  html.compact-calendar body { padding-inline:10px; }
  html.compact-calendar header { gap:6px; padding:10px 0 6px; margin-bottom:6px; }
  html.compact-calendar .logo,html.compact-calendar .logo:has(#stanice-logo:not([style*="hidden"])) { grid-template-columns:40px minmax(0,1fr) 58px; grid-template-rows:24px 18px 44px; grid-auto-rows:auto; gap:3px 6px; }
  html.compact-calendar #main-logo { width:40px; height:40px; grid-row:1 / 3; }
  html.compact-calendar .logo-text-wrapper { grid-column:2; grid-row:1; height:24px; }
  html.compact-calendar header h1 { max-height:24px; }
  html.compact-calendar #stanice-logo { grid-column:2; grid-row:2; width:18px; height:18px; justify-self:end; }
  html.compact-calendar #header-version-tile { grid-column:2; grid-row:2; height:18px; justify-self:start; }
  html.compact-calendar #lang-pill-wrap { grid-column:3; grid-row:1 / 3; min-width:0; }
  html.compact-calendar .compact-statuses { grid-row:3; height:44px; gap:5px; }
  html.compact-calendar :is(#cloud-badge > *,#header-backup-tile) { height:44px !important; }
  html.compact-calendar #cloud-badge svg { width:14px; height:14px; }
  html.compact-calendar #header-row2 .header-left-group { grid-template-columns:repeat(4,minmax(0,1fr)); gap:5px; }
  html.compact-calendar .cc-heading { grid-column:1 / -1; height:30px; }
  html.compact-calendar .cc-current-date { font-size:12px; }
  html.compact-calendar .cc-overview { gap:5px; margin-bottom:8px; }
  html.compact-calendar .cc-stat { height:58px; grid-template-rows:24px 16px; gap:2px; }
  html.compact-calendar .cc-stat-label { line-height:16px; font-size:10px; }
  html.compact-calendar .cc-stat-value { line-height:24px; }
  html.compact-calendar .cc-board { grid-template-columns:minmax(0,1fr); gap:6px; }
  html.compact-calendar .cc-section-heading { margin-bottom:5px; min-height:40px; }
  html.compact-calendar .cc-event-list { gap:6px; }
  html.compact-calendar .cc-card { height:110px; }
  html.compact-calendar .cc-view { padding:6px; grid-template-columns:44px minmax(0,1fr) 66px; grid-template-rows:20px 16px 32px 24px; gap:2px 6px; }
  html.compact-calendar .cc-date-block { grid-area:1 / 1 / 3 / 2; height:40px; }
  html.compact-calendar .cc-label { grid-area:1 / 2; height:20px; }
  html.compact-calendar .cc-relative { height:16px; line-height:16px; }
  html.compact-calendar .cc-name { height:32px; line-height:16px; }
  html.compact-calendar .cc-full { display:none; }
  html.compact-calendar .cc-footer,html.compact-calendar .cc-footer:has(.cc-done[hidden]) { display:contents; }
  html.compact-calendar .cc-done { grid-area:3 / 1 / 5 / 2; height:58px; flex-direction:column; justify-content:center; gap:3px; }
  html.compact-calendar .cc-detail { grid-area:1 / 3 / 3 / 4; height:44px; }
  html.compact-calendar .cc-actions { grid-area:3 / 3 / 5 / 4; height:44px; align-self:end; }
  html.compact-calendar .cc-empty { height:110px; font-size:12px; }
  html.compact-calendar .cc-caret { font-size:24px; }
  html.compact-calendar .cc-section[open] > .cc-section-heading .cc-caret { transform:rotate(90deg); }
  html.compact-calendar .ios-tab-bar { width:100%; height:calc(68px + env(safe-area-inset-bottom)); border-radius:0; }
  html.compact-calendar .tab-item { height:56px; }
  html.compact-calendar .tab-icon,html.compact-calendar .tab-icon svg { width:25px; height:25px; }
}
/* ===== Doladění Kalendáře: mezery, rohy 6 px, písmo, perleťové přechody (PC i telefon) ===== */
html.compact-calendar header { padding:8px 0 0; margin:0 0 6px; gap:8px; }
html.compact-calendar .cc-overview { margin-bottom:8px; }
html.compact-calendar .cc-board { gap:8px; }
html.compact-calendar :is(#header-row2 .h-tile, #header-row2 button, .cc-stat, .cc-card, .cc-date-block, .cc-detail, .cc-actions, .cc-actions button, .cc-more, #cloud-badge > *, #header-backup-tile, #lang-pill-btn, .ios-tab-bar .tab-item) { border-radius:6px !important; }
html.compact-calendar #header-row2 .h-tile { font-weight:600 !important; }
@media (min-width:1101px) { html.compact-calendar #header-row2 .header-left-group { grid-template-columns:150px repeat(4,minmax(0,1fr)) 150px; } }
@media (max-width:600px) { html.compact-calendar header { gap:5px; padding:8px 0 0; margin-bottom:4px; } }
html.compact-calendar:not(.dark) {
  --bg:#fcedf0; --surface:#fff; --surface2:#fff2f4; --text:#4d0f1a; --text2:#934c59; --text3:#a66672; --accent:#962d43; --accent-light:#ffe3e8; --border:#f4c9d1;
  --pearl-face:linear-gradient(135deg,#fffffff5,#fffafbdf 52%,#fce6eabd); --pearl-edge:#f4c9d1; --pearl-light:#ffffffed; --pearl-shade:#d9929f29; --pearl-shadow:#9e515f12;
}
html.compact-calendar.dark { --pearl-face:linear-gradient(135deg,#43272cf5,#352125ef 52%,#41262be8); --pearl-edge:#824e57; --pearl-light:#b38c932b; --pearl-shade:#240d112e; --pearl-shadow:#00000024; }
html.compact-calendar:not(.dark) body { background:radial-gradient(ellipse at 9% 4%,#fadce299,transparent 48%),radial-gradient(ellipse at 94% 36%,#f6dde255,transparent 52%),linear-gradient(135deg,#fff8f9,#fcedf0 60%,#fffafb); background-attachment:fixed; }
html.compact-calendar :is(#header-row2 #cal-notif-btn, #header-row2 #global-search-btn, #lang-pill-btn, .cc-detail, .cc-actions) { border-color:var(--pearl-edge) !important; background:var(--pearl-face) !important; box-shadow:inset 1px 1px 0 var(--pearl-light), inset -1px -1px 0 var(--pearl-shade), 0 2px 5px var(--pearl-shadow) !important; }
html.compact-calendar :is(.cc-stat, .cc-card) { box-shadow:inset 1px 1px 0 var(--pearl-light), inset -1px -1px 0 var(--pearl-shade), 0 3px 8px var(--pearl-shadow) !important; background-image:linear-gradient(135deg,#ffffff70,#ffffff00 60%) !important; }
html.compact-calendar header :is(#badge-device, #badge-cloud, #header-backup-tile) { background-image:linear-gradient(135deg,#ffffff35,#ffffff08 58%,#cfa0a910) !important; box-shadow:inset 1px 1px 0 var(--pearl-light), inset -1px -1px 0 var(--pearl-shade), 0 1px 3px var(--pearl-shadow) !important; }
html.compact-calendar .ios-tab-bar { border-color:var(--pearl-edge); background:var(--pearl-face); background-color:var(--surface); box-shadow:inset 0 1px 0 var(--pearl-light), 0 -2px 12px var(--pearl-shadow); }
/* Kalendář: úsporné dvouřádkové karty, barevná tlačítka, pevná písma, mezery 6 px. */
html.compact-calendar .cc-heading { display:none !important; }
html.compact-calendar #header-row2 .header-left-group { grid-template-columns:repeat(4,minmax(0,1fr)) !important; gap:6px !important; }
html.compact-calendar #header-row2 :is(#add-cal-btn,#cal-events-btn,#cal-notif-btn,#global-search-btn).h-tile { background:linear-gradient(135deg, rgba(var(--t),.20), rgba(var(--t),.06)) !important; border:1px solid rgba(var(--t),.55) !important; color:rgb(var(--td)) !important; box-shadow:none !important; }
html.compact-calendar #header-row2 #add-cal-btn { --t:204,110,127; --td:150,45,67; }
html.compact-calendar #header-row2 #cal-events-btn { --t:204,110,127; --td:150,45,67; }
html.compact-calendar #header-row2 #cal-notif-btn { --t:204,110,127; --td:150,45,67; }
html.compact-calendar #header-row2 #global-search-btn { --t:204,110,127; --td:150,45,67; }
html.compact-calendar header { gap:6px !important; }
html.compact-calendar .cc-overview { gap:6px !important; margin-bottom:6px !important; }
html.compact-calendar .cc-board { gap:6px !important; }
html.compact-calendar .cc-section-heading { min-height:22px !important; margin-bottom:6px !important; }
html.compact-calendar .cc-event-list { gap:6px !important; }
html.compact-calendar .cc-card { height:62px !important; }
html.compact-calendar .cc-view { padding:6px !important; grid-template-columns:44px minmax(0,1fr) auto 40px !important; grid-template-rows:24px 24px !important; gap:2px 6px !important; }
html.compact-calendar .cc-date-block { grid-area:1 / 1 / 3 / 2 !important; height:50px !important; align-self:center; gap:0 !important; }
html.compact-calendar .cc-date { font-size:12px !important; line-height:18px !important; }
html.compact-calendar .cc-date-sub { font-size:11px !important; line-height:14px !important; }
html.compact-calendar .cc-label { grid-area:1 / 2 / 2 / 4 !important; height:24px !important; font-size:14px !important; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
html.compact-calendar .cc-name { grid-area:2 / 2 / 3 / 3 !important; height:24px !important; font-size:11px !important; line-height:24px !important; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
html.compact-calendar .cc-relative { grid-area:2 / 3 / 3 / 4 !important; height:24px !important; line-height:24px !important; font-size:11px !important; white-space:nowrap; }
html.compact-calendar .cc-full { display:none !important; }
html.compact-calendar .cc-footer, html.compact-calendar .cc-footer:has(.cc-done[hidden]) { display:contents !important; }
html.compact-calendar .cc-done { grid-area:1 / 3 / 2 / 4 !important; height:24px !important; }
html.compact-calendar .cc-detail { grid-area:1 / 4 / 2 / 5 !important; height:24px !important; min-height:0 !important; padding:0 !important; font-size:12px !important; }
html.compact-calendar .cc-actions { grid-area:2 / 4 / 3 / 5 !important; height:24px !important; min-height:0 !important; align-self:end; padding:0 !important; font-size:12px !important; }
html.compact-calendar .cc-empty { height:62px !important; }
/* PC: bez nadpisů sloupců (K vyřízení / Dnes / Nejbližší), tvoří je dlaždice s čísly nad nimi. */
html.compact-calendar .cc-section-heading { display:none !important; }
/* Bez miniaturních fotek koček u událostí (nejsou poznat), víc místa pro název. */
html.compact-calendar .cc-card .cc-icon { display:none !important; }

/* Tlačítka karty jako ikony (› Detail, ⋯ Akce): víc místa pro název, nezávislé na jazyce. */
html.compact-calendar .cc-detail, html.compact-calendar .cc-actions { font-size:20px !important; line-height:1 !important; font-weight:700 !important; }
html.compact-calendar .cc-card { cursor:pointer; }

/* Kalendář: všechny mezery 4 px (PC i telefon). */
html.compact-calendar header { gap:4px !important; margin-bottom:4px !important; }
html.compact-calendar .logo, html.compact-calendar .logo:has(#stanice-logo:not([style*="hidden"])), html.compact-preview.compact-calendar header .logo, html.compact-preview.compact-calendar header .logo:has(#stanice-logo:not([style*="hidden"])) { gap:4px !important; column-gap:4px !important; row-gap:4px !important; }
html.compact-calendar .compact-statuses { gap:4px !important; }
html.compact-calendar #header-row2, html.compact-calendar #header-row2 .header-left-group { gap:4px !important; }
html.compact-calendar #tab-kalendar { gap:4px !important; }
html.compact-calendar .cc-overview { gap:4px !important; margin-bottom:4px !important; }
html.compact-calendar .cc-board { gap:4px !important; }
html.compact-calendar .cc-section { gap:4px !important; row-gap:4px !important; }
html.compact-calendar .cc-section-heading { margin-bottom:4px !important; }
html.compact-calendar .cc-event-list { gap:4px !important; }
html.compact-calendar .cc-more { gap:4px !important; margin-top:4px !important; }
html.compact-calendar .cc-view { padding:4px !important; gap:4px !important; }

/* Kalendář: písmo podle společného měřítka --ts. */
html.compact-calendar .cc-stat-value { font-size:calc(20px * var(--ts)) !important; }
html.compact-calendar .cc-date { font-size:calc(12px * var(--ts)) !important; line-height:calc(18px * var(--ts)) !important; }
html.compact-calendar .cc-date-sub { font-size:calc(11px * var(--ts)) !important; line-height:calc(14px * var(--ts)) !important; }
html.compact-calendar .cc-label { font-size:calc(14px * var(--ts)) !important; height:calc(24px * var(--ts)) !important; }
html.compact-calendar .cc-name, html.compact-calendar .cc-relative { font-size:calc(11px * var(--ts)) !important; height:calc(24px * var(--ts)) !important; line-height:calc(24px * var(--ts)) !important; }
html.compact-calendar .cc-card { height:calc(62px * var(--ts)) !important; }
html.compact-calendar .cc-view { grid-template-rows:calc(24px * var(--ts)) calc(24px * var(--ts)) !important; }
html.compact-calendar .cc-date-block { height:calc(50px * var(--ts)) !important; }
html.compact-calendar .cc-detail, html.compact-calendar .cc-actions { height:calc(24px * var(--ts)) !important; }
html.compact-calendar .cc-current-date { font-size:calc(12px * var(--ts)) !important; }
html.compact-calendar .cc-stat { height:calc(72px * var(--ts)) !important; grid-template-rows:calc(28px * var(--ts)) calc(20px * var(--ts)) !important; }
html.compact-calendar .cc-stat-value { line-height:calc(28px * var(--ts)) !important; }
@media (max-width:600px) {
  html.compact-calendar .cc-stat { height:calc(58px * var(--ts)) !important; grid-template-rows:calc(24px * var(--ts)) calc(16px * var(--ts)) !important; }
  html.compact-calendar .cc-stat-value { line-height:calc(24px * var(--ts)) !important; }
}

/* Políčko „Hotovo“ je v jednom řádku (kolečko vedle slova) a vejde se do karty; dřív bylo pod sebou a přečuhovalo nahoru */
html.compact-calendar .cc-done { flex-direction:row !important; justify-content:flex-end !important; align-items:center !important; gap:4px !important; height:24px !important; overflow:hidden; }
html.compact-calendar .cc-done input { width:18px !important; height:18px !important; }
/* Nadpis nesmí zasahovat pod „Hotovo“ (21. 10. 2026): je-li zaškrtávátko, nadpis končí před jeho sloupcem. */
html.compact-calendar .cc-card:has(.cc-done:not([hidden])) .cc-label { grid-area:1 / 2 / 2 / 3 !important; }

html.compact-calendar .cc-stat.cc-stat-on { outline:2px solid currentColor; outline-offset:-2px; }
@media (max-width:700px) { html.compact-calendar .cc-section.cc-first { order:-1; } }
