/* ═══ 🗂 KANCELÁŘ PŘÍPRAVKY ═══════════════════════════════════════════
   Styl modulu app/modules/kids-office.js. Vlastní soubor proto, že Kancelář
   žije na DVOU místech a každé má jiný základ:
     · klubová appka (index.css) — záložka trenéra přípravky, hlavně mobil
     · Včelín deti-admin.html    — tamtéž na notebooku (David 26. 9. 2026)
   Kdyby se styl kopíroval do obou, po první úpravě by se rozešel.
   Barvy se berou z proměnných hostitelské stránky (--green, --border, …). */

.kof-head { margin-bottom: 14px; }
.kof-title { font-size: 20px; font-weight: 800; font-family: 'Baloo 2', sans-serif; }
.kof-sub { font-size: 13px; color: var(--text-light); margin-top: 2px; }
.kof-tabs { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 14px; }
.kof-tab { padding: 9px 16px; border: 1.5px solid var(--border); background: var(--card); border-radius: 999px;
           font-size: 14px; font-weight: 700; font-family: inherit; color: var(--text); cursor: pointer; }
.kof-tab.active { background: var(--green); border-color: var(--green); color: #fff; }
.kof-badge { display: inline-flex; align-items: center; justify-content: center; min-width: 18px; height: 18px;
             padding: 0 5px; margin-left: 4px; border-radius: 9px; background: #ef4444; color: #fff; font-size: 11px; }
.kof-tab.active .kof-badge { background: rgba(255,255,255,.28); }
.kof-lead { font-size: 13.5px; color: var(--text-light); line-height: 1.55; margin-bottom: 12px; }
.kof-empty { background: #dcfce7; border: 1px solid #bbf7d0; border-radius: 12px; padding: 18px;
             text-align: center; font-weight: 700; color: #14532d; }
.kof-sumbar { background: #fff7ed; border: 1px solid #fed7aa; border-radius: 10px; padding: 10px 14px;
              font-size: 14px; color: #9a3412; margin-bottom: 12px; }
.kof-card { background: var(--card); border: 1px solid var(--border); border-left: 4px solid var(--green);
            border-radius: 12px; padding: 14px 16px; margin-bottom: 12px; }
.kof-card--old { border-left-color: #f59e0b; }
.kof-card--debt { border-left-color: #ef4444; }
.kof-card__top { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.kof-amount { font-size: 26px; font-weight: 800; font-family: 'Baloo 2', sans-serif; color: #14532d; }
.kof-amount--debt { color: #b91c1c; }
.kof-when { font-size: 12px; font-weight: 700; color: var(--text-light); }
.kof-when--old { color: #92400e; }
.kof-who { font-size: 15px; font-weight: 700; margin-top: 2px; }
.kof-kids { font-weight: 400; color: var(--text-light); }
.kof-rows { margin-top: 10px; border-top: 1px solid var(--border); padding-top: 8px; }
.kof-row { display: flex; justify-content: space-between; gap: 12px; padding: 4px 0; font-size: 13.5px; }
.kof-row span { color: var(--text-light); }
.kof-row strong { text-align: right; word-break: break-word; }
.kof-actions { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 12px; }
.kof-btn { flex: 1 1 150px; padding: 12px 14px; border: 1.5px solid var(--border); background: var(--card);
           color: var(--text); border-radius: 10px; font-size: 14px; font-weight: 700; font-family: inherit; cursor: pointer; }
.kof-btn--ok { background: var(--green); border-color: var(--green); color: #fff; }
.kof-note { margin-top: 14px; font-size: 12.5px; color: var(--text-light); line-height: 1.6; }
/* proužek na Docházce → do Kanceláře */
.kof-bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap;
           background: #dcfce7; border: 1px solid #bbf7d0; border-radius: 12px; padding: 12px 16px; margin-bottom: 14px; }
.kof-bar__text { font-size: 14px; font-weight: 700; color: #14532d; }
.kof-bar__btn { padding: 8px 14px; border: none; background: var(--green); color: #fff; border-radius: 8px;
                font-size: 13px; font-weight: 700; font-family: inherit; cursor: pointer; white-space: nowrap; }
.kof-trust { margin-top: 8px; padding: 7px 10px; background: #eff6ff; border: 1px solid #bfdbfe;
             border-radius: 8px; font-size: 12.5px; font-weight: 600; color: #1e40af; }
/* Kancelář — sekce, seznamy dětí, tabulka dokladů, čísla měsíce */
.kof-sect { margin-bottom: 22px; }
.kof-sect__t { font-size: 16px; font-weight: 800; margin-bottom: 2px; }
.kof-sect__s { font-size: 12.5px; color: var(--text-light); line-height: 1.55; margin-bottom: 10px; }
.kof-card--reg { border-left-color: #3b82f6; }
.kof-card--no, .kof-btn--no { color: #b91c1c; }
.kof-tagwait { font-size: 11px; font-weight: 800; color: #92400e; background: #fef3c7;
               border-radius: 999px; padding: 3px 9px; white-space: nowrap; }
.kof-line { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap;
            padding: 10px 0; border-bottom: 1px solid var(--border); }
.kof-line:last-child { border-bottom: 0; }
.kof-line__t { font-size: 14px; font-weight: 700; }
.kof-line__s { font-size: 12px; color: var(--text-light); margin-top: 1px; }
.kof-mini { padding: 8px 13px; border: 1.5px solid var(--border); background: var(--card); color: var(--text);
            border-radius: 8px; font-size: 12.5px; font-weight: 700; font-family: inherit; cursor: pointer; white-space: nowrap; }
/* děti */
.kof-kidgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; }
.kof-kid { background: var(--card); border: 1px solid var(--border); border-radius: 12px; padding: 12px; }
.kof-kid__head { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.kof-ini { width: 38px; height: 38px; border-radius: 50%; background: var(--green); color: #fff;
           display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 13px; }
.kof-kid__num { text-align: right; font-size: 22px; font-weight: 800; font-family: 'Baloo 2', sans-serif; line-height: 1; }
.kof-kid__num span { display: block; font-size: 10px; font-weight: 700; color: var(--text-light);
                     text-transform: uppercase; letter-spacing: .4px; }
.kof-kid__name { font-size: 14px; font-weight: 700; margin-top: 8px; }
.kof-kid__sub { font-size: 11.5px; color: var(--text-light); margin-top: 1px; line-height: 1.45; }
.kof-chips { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 7px; }
.kof-chip { font-size: 10.5px; font-weight: 700; padding: 3px 7px; border-radius: 999px;
            background: var(--bg, #f1f5f9); color: var(--text-light); }
.kof-chip--wait { background: #eff6ff; color: #1e40af; }
.kof-chip--debt { background: #fee2e2; color: #b91c1c; }
/* doklady */
.kof-filter { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 12px; }
.kof-fbtn { padding: 7px 13px; border: 1.5px solid var(--border); background: var(--card); color: var(--text);
            border-radius: 999px; font-size: 12.5px; font-weight: 700; font-family: inherit; cursor: pointer; }
.kof-fbtn.active { background: var(--green); border-color: var(--green); color: #fff; }
.kof-tablewrap { overflow-x: auto; }
.kof-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.kof-table th { text-align: left; font-size: 10.5px; text-transform: uppercase; letter-spacing: .4px;
                color: var(--text-light); padding: 6px 8px; border-bottom: 1.5px solid var(--border); }
.kof-table td { padding: 9px 8px; border-bottom: 1px solid var(--border); vertical-align: top; }
.kof-right { text-align: right; font-weight: 700; white-space: nowrap; }
.kof-dim { color: var(--text-light); font-size: 11.5px; }
/* čísla měsíce */
.kof-kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 10px; margin-bottom: 20px; }
.kof-kpi { background: var(--card); border: 1px solid var(--border); border-radius: 12px; padding: 14px; text-align: center; }
.kof-kpi__v { font-size: 20px; font-weight: 800; font-family: 'Baloo 2', sans-serif; }
.kof-kpi__l { font-size: 11px; font-weight: 700; color: var(--text-light); text-transform: uppercase;
              letter-spacing: .4px; margin-top: 3px; }
.kof-kpi--ok .kof-kpi__v { color: #15803d; }
.kof-kpi--wait .kof-kpi__v { color: #b45309; }
.kof-kpi--bad .kof-kpi__v { color: #b91c1c; }
.kof-split__bar { height: 12px; border-radius: 999px; background: #fed7aa; overflow: hidden; }
.kof-split__bar span { display: block; height: 100%; background: var(--green); }
.kof-split__leg { display: flex; justify-content: space-between; font-size: 12px; font-weight: 700;
                  color: var(--text-light); margin-top: 6px; }
.kof-chart { display: flex; align-items: flex-end; gap: 10px; overflow-x: auto; padding-top: 6px; }
.kof-bar { display: flex; flex-direction: column; align-items: center; gap: 4px; min-width: 42px; }
.kof-bar__v { font-size: 12px; font-weight: 800; }
.kof-bar__col { width: 26px; background: var(--green); border-radius: 6px 6px 0 0; }
.kof-bar__d { font-size: 10.5px; color: var(--text-light); white-space: nowrap; }
/* přepínač „Placení v appce" v Kanceláři */
.kof-sect--sw { border-top: 1px solid var(--border); padding-top: 16px; }
.kof-swrow { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.kof-switch { position: relative; width: 52px; height: 30px; flex-shrink: 0; border: none; padding: 0;
              background: #cbd5e1; border-radius: 30px; cursor: pointer; transition: background .2s; }
.kof-switch.on { background: var(--green); }
.kof-switch span { position: absolute; top: 3px; left: 3px; width: 24px; height: 24px; background: #fff;
                   border-radius: 50%; box-shadow: 0 2px 4px rgba(0,0,0,.18); transition: left .2s; }
.kof-switch.on span { left: 25px; }
/* přepínač 🏃 Dospělí / 🧒 Přípravka (vidí ho jen ten, kdo má obojí) */
.kof-groups { display: flex; gap: 6px; margin-top: 10px; }
.kof-gbtn { padding: 7px 14px; border: 1.5px solid var(--border); background: var(--card); color: var(--text);
            border-radius: 999px; font-size: 13px; font-weight: 700; font-family: inherit; cursor: pointer; }
.kof-gbtn.active { background: var(--green); border-color: var(--green); color: #fff; }
