/* TyreSoft – instrukcja integracji partnerów, v1.4 */
@font-face{font-family:'Montserrat';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/montserrat-latin-400-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/montserrat-latin-ext-400-normal.woff2') format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/montserrat-latin-600-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/montserrat-latin-ext-600-normal.woff2') format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/montserrat-latin-700-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/montserrat-latin-ext-700-normal.woff2') format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:800;font-display:swap;src:url('fonts/montserrat-latin-800-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:800;font-display:swap;src:url('fonts/montserrat-latin-ext-800-normal.woff2') format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/jetbrains-mono-latin-400-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/jetbrains-mono-latin-600-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/jetbrains-mono-latin-ext-400-normal.woff2') format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
.tsi{--grafit:#1E364D; --grafit-2:#2B4965; --green:#28C386; --green-dark:#008853; --sky:#28ADE3; --amber:#E39B2B;
  --bg:#FFFFFF; --tint:#F3FAFF; --surface:#FFFFFF; --text:#1E364D; --muted:#5F6E80; --line:#E3E8EF;
  --code-bg:#F6F9FC; --code-text:#1E364D; --tag:#2B6CB0; --attr:#008853; --val:#1E364D; --pi:#8490A1;
  --chip-green:rgba(40,195,134,.12); --chip-sky:rgba(40,173,227,.12); --chip-amber:rgba(227,155,43,.14); --chip-grafit:rgba(43,73,101,.10);
  --shadow:0 18px 40px -24px rgba(30,54,77,.35);}
.tsi, .tsi *{box-sizing:border-box}
.tsi{scroll-behavior:smooth;scroll-padding-top:76px}
.tsi{margin:0;background:var(--bg);color:var(--text);font-family:'Montserrat',system-ui,sans-serif;font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased}
.tsi code,.tsi pre,.tsi .mono{font-family:'JetBrains Mono',ui-monospace,Menlo,monospace}
.tsi code{font-size:.86em;background:var(--chip-grafit);padding:.1em .38em;border-radius:5px;white-space:nowrap}
.tsi a{color:var(--green-dark)}
.tsi .logo-light{display:block}
.tsi .logo-dark{display:none}
.tsi /* top bar */
.bar{position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.tsi .bar__in{max-width:1120px;margin:0 auto;padding:12px 24px;display:flex;align-items:center;gap:16px}
.tsi .bar svg{height:30px;width:auto}
.tsi .bar__sp{flex:1}
.tsi .langs{display:flex;background:var(--tint);border:1px solid var(--line);border-radius:999px;padding:3px}
.tsi .langs button{border:0;background:transparent;color:var(--muted);font:700 13px 'Montserrat',sans-serif;letter-spacing:.06em;padding:6px 14px;border-radius:999px;cursor:pointer}
.tsi .langs button[aria-pressed="true"]{background:var(--green);color:#fff}
.tsi .pdfbtn{font:600 13px 'Montserrat',sans-serif;text-decoration:none;color:#fff !important;background:var(--grafit);border:1px solid var(--grafit);padding:8px 14px;border-radius:5px;white-space:nowrap}
.tsi /* hero */
.hero{background:linear-gradient(180deg,var(--bg) 0%,var(--tint) 100%);border-bottom:1px solid var(--line)}
.tsi .hero__in{max-width:1120px;margin:0 auto;padding:56px 24px 48px;display:grid;grid-template-columns:1.4fr 1fr;gap:40px;align-items:center}
.tsi .badge{display:inline-block;padding:4px 12px;border-radius:20px;background:var(--chip-green);color:var(--green-dark);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.tsi h1{font-size:40px;line-height:1.15;margin:14px 0 14px;font-weight:800;letter-spacing:-.01em;text-wrap:balance}
.tsi .hero p.sub{font-size:17px;margin:0 0 16px;max-width:600px}
.tsi .meta{color:var(--muted);font-size:13px}
.tsi .formats{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.tsi .fmt{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 16px;box-shadow:var(--shadow)}
.tsi .fmt b{display:block;font-size:14px}
.tsi .fmt span.ext{float:right;font:600 11px 'JetBrains Mono',monospace;padding:2px 8px;border-radius:6px}
.tsi .fmt p{margin:6px 0 0;font-size:12.5px;line-height:1.5;color:var(--muted)}
.tsi .c-green{background:var(--chip-green);color:var(--green-dark)}
.tsi .c-sky{background:var(--chip-sky);color:#1679A6}
.tsi .c-amber{background:var(--chip-amber);color:#9A6210}
.tsi .c-grafit{background:var(--chip-grafit);color:var(--grafit-2)}
.tsi /* layout */
.wrap{max-width:1120px;margin:0 auto;padding:0 24px;display:grid;grid-template-columns:220px minmax(0,1fr);gap:48px}
.tsi .toc{position:sticky;top:76px;align-self:start;padding:36px 0;font-size:13px}
.tsi .toc h2{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 10px}
.tsi .toc ol{list-style:none;margin:0;padding:0;counter-reset:t}
.tsi .toc li{counter-increment:t}
.tsi .toc a{display:block;padding:5px 0 5px 12px;border-left:2px solid var(--line);color:var(--text);text-decoration:none;font-weight:500}
.tsi .toc a::before{content:counter(t) ". ";color:var(--muted)}
.tsi .toc a:hover{border-left-color:var(--green);color:var(--green-dark)}
.tsi main{padding:20px 0 64px;min-width:0}
.tsi section.sec{padding:36px 0 8px;border-bottom:1px solid var(--line)}
.tsi section.sec:last-of-type{border-bottom:0}
.tsi .sec__num{font:700 12px 'Montserrat';letter-spacing:.12em;color:var(--green-dark);text-transform:uppercase}
.tsi h2.h{font-size:26px;line-height:1.25;margin:4px 0 14px;font-weight:800}
.tsi h3{font-size:17px;margin:26px 0 10px;font-weight:700}
.tsi p{margin:0 0 14px;max-width:72ch}
.tsi ul.list{margin:0 0 16px;padding:0;list-style:none;max-width:78ch}
.tsi ul.list li{position:relative;padding-left:22px;margin:7px 0}
.tsi ul.list li::before{content:"";position:absolute;left:4px;top:.62em;width:7px;height:7px;border-radius:2px;background:var(--green);transform:rotate(45deg)}
.tsi .note{border-left:3px solid var(--sky);background:var(--chip-sky);padding:10px 14px;border-radius:0 8px 8px 0;font-size:14px;margin:14px 0 18px;max-width:78ch}
.tsi .note.amber{border-left-color:var(--amber);background:var(--chip-amber)}
.tsi .note.green{border-left-color:var(--green);background:var(--chip-green)}
.tsi /* diagram */
.diagram{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px;margin:8px 0 10px;box-shadow:var(--shadow);overflow-x:auto}
.tsi .diagram svg{display:block;width:100%;min-width:640px;height:auto}
.tsi .dg-box{fill:var(--tint);stroke:var(--line)}
.tsi .dg-ts{fill:#1E364D}
.tsi .dg-server{fill:none;stroke:var(--line);stroke-dasharray:6 6}
.tsi .dg-t{fill:var(--text);font-family:Montserrat,sans-serif}
.tsi .dg-m{fill:var(--muted);font-family:Montserrat,sans-serif}
.tsi .dg-w{fill:#fff;font-family:Montserrat,sans-serif}
.tsi .dg-folder{fill:var(--surface)}
.tsi .dg-mono{font-family:'JetBrains Mono',monospace;fill:var(--text)}
.tsi .dg-lbl{font-family:Montserrat,sans-serif;font-size:12px;font-weight:600}
.tsi .dg-lblbg{fill:var(--surface)}
.tsi /* steps */
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:8px 0 20px;counter-reset:s;padding:0;list-style:none}
.tsi .steps li{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 14px 14px;counter-increment:s;font-size:13px;line-height:1.5}
.tsi .steps li::before{content:counter(s);display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--green);color:#fff;font-weight:800;font-size:13px;margin-bottom:8px}
.tsi .steps li b{display:block;font-size:13.5px;margin-bottom:4px}
.tsi .steps li:not(:last-child)::after{content:"";position:absolute;right:-9px;top:24px;width:8px;height:8px;border-top:2px solid var(--green);border-right:2px solid var(--green);transform:rotate(45deg)}
.tsi .steps.v{grid-template-columns:repeat(5,1fr)}
.tsi /* tree */
pre.tree{background:var(--code-bg);color:var(--code-text);border:1px solid var(--line);border-radius:12px;padding:16px 18px;font-size:13px;line-height:1.75;overflow-x:auto;margin:6px 0 18px}
.tsi pre.tree .tc{color:var(--muted)}
.tsi pre.tree .tf{font-weight:600}
.tsi /* tables */
.tbl{overflow-x:auto;border:1px solid var(--line);border-radius:12px;margin:8px 0 18px;background:var(--surface)}
.tsi table{border-collapse:collapse;width:100%;font-size:13.5px}
.tsi th,.tsi td{text-align:left;padding:9px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.tsi thead th{background:var(--tint);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:700;white-space:nowrap}
.tsi tbody tr:last-child td{border-bottom:0}
.tsi td.el{font-family:'JetBrains Mono',monospace;font-size:12.5px;font-weight:600;white-space:nowrap}
.tsi td.ex{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--muted);white-space:nowrap}
.tsi td.ex code,.tsi td.el code{background:none;padding:0}
.tsi tr.grp td{background:var(--chip-grafit);font-weight:700;font-size:12.5px;color:var(--text)}
.tsi .req{display:inline-block;min-width:22px;text-align:center;font:700 11px 'Montserrat';padding:2px 6px;border-radius:5px}
.tsi .req.W{background:var(--chip-green);color:var(--green-dark)}
.tsi .req.O{background:var(--chip-grafit);color:var(--muted)}
.tsi .dirname{font-family:'JetBrains Mono',monospace;font-weight:600;white-space:nowrap}
.tsi .dot{display:inline-block;width:9px;height:9px;border-radius:3px;margin-right:7px;vertical-align:1px}
.tsi /* code */
.codehd{display:flex;justify-content:space-between;align-items:center;background:var(--grafit);color:#fff;border-radius:12px 12px 0 0;padding:8px 14px;font:600 12px 'JetBrains Mono',monospace}
.tsi .codehd span{opacity:.7}
.tsi pre.code{margin:0 0 18px;background:var(--code-bg);color:var(--code-text);border:1px solid var(--line);border-top:0;border-radius:0 0 12px 12px;padding:14px 16px;font-size:12.5px;line-height:1.6;overflow-x:auto}
.tsi .x-t{color:var(--tag)}
.tsi .x-p{color:var(--pi)}
.tsi .x-v{color:var(--val);font-weight:600}
.tsi .x-s{color:var(--muted)}
.tsi .x-h{color:var(--attr);font-weight:600}
.tsi /* map */
.map{display:flex;align-items:stretch;gap:10px;flex-wrap:wrap;margin:8px 0 18px}
.tsi .map .m{flex:1 1 200px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 14px;font-size:12.5px}
.tsi .map .m b{display:block;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.tsi .map .m code{font-size:12px}
.tsi .map .ar{align-self:center;color:var(--green);font-weight:800;font-size:20px}
.tsi /* best practices */
.bp{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:8px 0 20px}
.tsi .bp div{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 16px;font-size:13.5px;line-height:1.55}
.tsi .bp b{display:block;margin-bottom:4px;font-size:14px}
.tsi .bp b::before{content:"✓";display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--chip-green);color:var(--green-dark);font-size:12px;margin-right:8px}
.tsi .contact{display:flex;gap:28px;flex-wrap:wrap;align-items:center;background:#1E364D;color:#fff;border-radius:16px;padding:22px 26px;margin:8px 0 10px}
.tsi .contact svg{height:36px;width:auto}
.tsi .contact a{color:#fff;font-weight:600;text-decoration:none}
.tsi .contact .k{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--green);font-weight:700}
.tsi footer{border-top:1px solid var(--line);color:var(--muted);font-size:12.5px}
.tsi footer div{max-width:1120px;margin:0 auto;padding:18px 24px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.tsi .L{display:none}
.tsi .L.on{display:block}
@media screen and (max-width:900px){.tsi .hero__in{grid-template-columns:1fr;padding:36px 16px 32px;gap:24px}
.tsi h1{font-size:30px}
.tsi .wrap{grid-template-columns:1fr;padding:0 16px;gap:0}
.tsi .toc{display:none}
.tsi .steps,.tsi .steps.v{grid-template-columns:1fr}
.tsi .steps li:not(:last-child)::after{right:auto;left:26px;top:auto;bottom:-8px;transform:rotate(135deg)}
.tsi .bp{grid-template-columns:1fr}
.tsi .bar__in{padding:10px 16px;gap:10px}
.tsi .pdfbtn{display:none}}
@media screen and (max-width:480px){.tsi .formats{grid-template-columns:1fr}
.tsi .bar svg{height:24px}}
@page{size:A4;margin:14mm 13mm 16mm}
@media print{.tsi{--bg:#fff;--tint:#F3FAFF;--surface:#fff;--text:#1E364D;--muted:#5F6E80;--line:#E3E8EF;--code-bg:#F6F9FC;--code-text:#1E364D;--shadow:none}
.tsi .logo-light{display:block !important}
.tsi .logo-dark{display:none !important}
.tsi{font-size:10.5pt;background:#fff}
.tsi .bar,.tsi .toc{display:none !important}
.tsi .wrap{display:block;padding:0}
.tsi .hero{background:#fff;border:0}
.tsi .hero__in{padding:0 0 18px;grid-template-columns:1.35fr 1fr}
.tsi .hero__logo{display:block !important;margin-bottom:14px}
.tsi h1{font-size:26pt}
.tsi main{padding:0}
.tsi section.sec{padding:16px 0 4px;break-inside:auto}
.tsi h2.h,.tsi h3{break-after:avoid}
.tsi .diagram,.tsi .steps,.tsi .tbl tr,.tsi .bp div,.tsi pre.tree,.tsi .map,.tsi .contact,.tsi .note{break-inside:avoid}
.tsi .codehd,.tsi h3,.tsi .sec__num{break-after:avoid}
.tsi pre.code{break-inside:auto}
.tsi .tbl{overflow:visible}
.tsi th,.tsi td{padding:6px 8px}
.tsi table{font-size:9pt}
.tsi td.ex{white-space:normal;word-break:break-word}
.tsi td.el{font-size:8pt;white-space:nowrap}
.tsi section.sec:last-of-type{break-inside:avoid}
.tsi .hero__in{grid-template-columns:1.2fr 1fr}
.tsi .fmt{padding:10px 12px}
.tsi .fmt p{font-size:8.5pt}
.tsi .steps li{padding:10px}
.tsi .steps li::before{width:22px;height:22px;font-size:11px}
.tsi .diagram{padding:8px}
.tsi .steps li:not(:last-child)::after{display:none}
.tsi pre.code{white-space:pre-wrap}
.tsi a{text-decoration:none}
.tsi footer{display:none}}
.tsi .hero__logo{display:none}
.tsi .hero__logo svg{height:40px;width:auto}
/* --- dopasowanie do szablonu serwisu (bootstrap + ts2026) --- */
.tsi h1,.tsi h2,.tsi h3,.tsi h4,.tsi p,.tsi li,.tsi td,.tsi th,.tsi pre,.tsi b{font-family:inherit;color:inherit;letter-spacing:normal}
.tsi pre,.tsi code{font-family:'JetBrains Mono',ui-monospace,Menlo,monospace}
.tsi ol,.tsi ul{margin-top:0}
.tsi table{margin:0}
.tsi .tsi-toolbar{max-width:1120px;margin:0 auto;padding:16px 24px 0;display:flex;justify-content:flex-end;align-items:center;gap:12px}
.tsi .toc{top:100px}
.tsi html,.tsi{scroll-padding-top:100px}
.tsi .hero{border-top:0}
.tsi .contact img{height:36px;width:auto;display:block}
.tsi section.sec{scroll-margin-top:96px}
@media screen and (max-width:900px){.tsi .tsi-toolbar{padding:12px 16px 0;justify-content:space-between}.tsi .pdfbtn{display:inline-block}}
@media print{.tsh,.t6-band,.t6-foot,footer.footer,.tsi .tsi-toolbar,.cookiealert{display:none !important}}
