/* franchise — Франшиза и школа (Стиль 2026, только переменные) */
.fr{display:flex;flex-direction:column;gap:12px;}
.fr-tabs,.fr-chips{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px;align-items:center;}
.fr-tabs::-webkit-scrollbar,.fr-chips::-webkit-scrollbar{display:none;}
.fr-tabs button,.fr-chips button{flex:0 0 auto;min-height:44px;padding:0 14px;border-radius:999px;border:1px solid var(--border);background:var(--panel);color:var(--text-dim);font:inherit;font-size:14px;font-weight:700;cursor:pointer;}
.fr-tabs button.on,.fr-chips button.on{background:var(--text);color:var(--bg);border-color:var(--text);}
.fr-chips em{font-style:normal;margin-left:4px;opacity:.75;}
.fr-chips .fr-ref{margin-left:auto;width:44px;padding:0;font-size:18px;}
.fr-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
@media (min-width:760px){.fr-grid{grid-template-columns:repeat(4,minmax(0,1fr));}}
.fr-tile{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:12px;display:flex;flex-direction:column;gap:3px;min-width:0;}
.fr-tile span{font-size:12px;color:var(--text-dim);font-weight:700;}
.fr-tile b{font-size:20px;font-weight:800;}
.fr-tile small{font-size:12px;color:var(--text-dim);line-height:1.35;overflow-wrap:anywhere;}
.fr-tile.warn{background:var(--warn-bg);border-color:var(--warn);}
.fr-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:12px;display:flex;flex-direction:column;gap:8px;}
.fr-h{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;}
.fr-h select{flex:1;}
.fr-dim{color:var(--text-dim);font-size:13px;}
.fr-2{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.fr-2 label{margin:0;display:flex;flex-direction:column;gap:4px;}
.fr-tb{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:10px;display:flex;flex-direction:column;gap:4px;min-width:0;}
.fr-tb > span{font-size:12px;font-weight:700;color:var(--text-dim);}
.fr-tb.top{border-color:var(--ok);} .fr-tb.bot{border-color:var(--warn);}
.fr-tb button{display:flex;justify-content:space-between;align-items:center;gap:6px;min-height:40px;background:none;border:0;border-top:1px solid var(--border);font:inherit;font-size:14px;font-weight:700;color:var(--text);cursor:pointer;text-align:left;padding:0;}
.fr-tb button:first-of-type{border-top:0;}
.fr-tb em{font-style:normal;color:var(--text-dim);}
.fr-tblw{overflow-x:auto;padding:0;}
.fr-tbl{width:100%;border-collapse:collapse;font-size:13px;}
.fr-tbl th{text-align:left;color:var(--text-dim);font-weight:700;font-size:12px;padding:8px;border-bottom:1px solid var(--border);white-space:nowrap;}
.fr-tbl td{padding:8px;border-bottom:1px solid var(--border);vertical-align:top;white-space:nowrap;}
.fr-tbl td small{display:block;font-size:11px;color:var(--text-dim);}
.fr-tbl tbody tr{cursor:pointer;}
.fr-tbl tbody tr:hover{background:var(--panel2);}
.fr-tbl tr:last-child td{border-bottom:0;}
.fr-tbl td.ok{color:var(--ok);font-weight:800;} .fr-tbl td.mid{color:var(--warn);font-weight:800;} .fr-tbl td.bad{color:var(--err);font-weight:800;}
.fr-bars{width:100%;height:160px;display:block;}
.fr-bars .b1{fill:var(--accent);} .fr-bars .b3{fill:var(--warn);} .fr-bars .b0{fill:var(--border);} .fr-bars .sun{fill:var(--muted-bg,var(--panel2));}
.fr-bars text{font-size:11px;fill:var(--text-dim);font-family:inherit;}
.fr-bars .norm{stroke:var(--text);stroke-width:2;stroke-dasharray:6 4;opacity:.6;}
.fr-leg{font-size:12px;color:var(--text-dim);display:inline-flex;align-items:center;gap:6px;}
.fr-leg i{display:inline-block;width:16px;border-top:2px dashed var(--text);opacity:.6;}
.fr-pills{display:flex;flex-wrap:wrap;gap:6px;}
.fr-pill{display:inline-flex;align-items:center;min-height:32px;padding:0 12px;border-radius:999px;background:var(--panel2);font-size:13px;font-weight:700;}
.fr-pill.ok{background:var(--ok-bg);color:var(--ok);} .fr-pill.bad{background:var(--err-bg);color:var(--err);}
.fr-pill em{font-style:normal;margin-left:6px;opacity:.75;}
.fr-seg{display:flex;border:1px solid var(--border);border-radius:12px;overflow:hidden;min-height:46px;}
.fr-seg button{flex:1;border:0;background:var(--panel);font:inherit;font-size:14px;font-weight:700;color:var(--text-dim);cursor:pointer;}
.fr-seg button.on{background:var(--text);color:var(--bg);}
.fr-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 14px;border-radius:12px;border:1px solid var(--border);background:var(--panel);color:var(--text);font:inherit;font-size:14px;font-weight:700;cursor:pointer;text-decoration:none;white-space:nowrap;}
.fr-btn.pri{background:var(--text);color:var(--bg);border-color:var(--text);}
.fr-btn:disabled{opacity:.5;}
.fr-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;border-top:1px solid var(--border);min-height:44px;}
.fr-card .fr-row:first-of-type{border-top:0;}
.fr-row > div{min-width:0;display:flex;flex-direction:column;gap:2px;}
.fr-row small{font-size:12px;color:var(--text-dim);}
.fr-row.off{opacity:.55;}
.fr-empty{background:var(--panel);border:1px dashed var(--border);border-radius:var(--radius);padding:16px;display:flex;flex-direction:column;gap:4px;}
.fr-empty span{font-size:13px;color:var(--text-dim);line-height:1.4;}
.fr-sch{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:12px;display:flex;flex-direction:column;gap:4px;}
.fr-sch span{font-size:13px;color:var(--text-dim);line-height:1.4;}
.fr-sch em{font-style:normal;font-size:12px;color:var(--text-dim);background:var(--muted-bg,var(--panel2));border-radius:8px;padding:2px 8px;align-self:flex-start;margin-top:4px;}
@media (max-width:380px){.fr-2{grid-template-columns:1fr;}}
#frPane{display:flex;flex-direction:column;gap:12px;} #frPane > p.hint{margin:0;}
/* тип филиала, роялти */
.fr-note{background:var(--warn-bg);border:1px solid var(--warn);border-radius:var(--radius);padding:12px;display:flex;flex-direction:column;gap:4px;}
.fr-note span{font-size:13px;line-height:1.4;}
.fr-badge{display:inline-flex;align-items:center;min-height:26px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:800;background:var(--panel2);color:var(--text-dim);white-space:nowrap;}
.fr-badge.t-own,.fr-typesel.t-own{background:var(--ok-bg);color:var(--ok);}
.fr-badge.t-franchise,.fr-typesel.t-franchise{background:var(--text);color:var(--bg);}
.fr-badge.t-unknown,.fr-typesel.t-unknown{background:var(--warn-bg);color:var(--warn);}
.fr-typesel{min-height:36px;padding:0 8px;border-radius:999px;font-size:12px;font-weight:800;width:auto;border:1px solid var(--border);}
.fr-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}
.fr-3 label{margin:0;display:flex;flex-direction:column;gap:4px;font-size:12px;}
.fr-inl{display:flex;flex-direction:column;gap:4px;margin:0;flex:1;}
.fr-chk{display:flex !important;flex-direction:row !important;align-items:center;gap:8px;min-height:44px;margin:0;font-size:14px;align-self:end;}
.fr-chk input{width:20px;height:20px;}
.fr-due{font-size:15px;flex:1 1 100%;}
.fr-stsel{flex:1;min-width:0;}
.fr-roy .fr-h{row-gap:8px;}
.fr-seg{display:grid;grid-template-columns:repeat(2,1fr);}
@media (min-width:560px){.fr-seg{grid-template-columns:repeat(4,1fr);}}
.fr-seg button{min-height:44px;}
.fr-seg button:disabled{opacity:.6;cursor:default;}
@media (max-width:380px){.fr-3{grid-template-columns:1fr 1fr;}}
