.icb{--bg:#F6F6F1;--surface:#fff;--text:#2D2E2A;--strong:#0B0B0B;--muted:#6B6E66;--line:#DCDCD3;--accent:#E3EE26;--good:#2E8B45;--good-bg:#E3F4E6;--warn:#B07A00;--warn-bg:#FFF4D6;--bad:#B3261E;--bad-bg:#FBE3E1;--grey:#ECECE6;--r:14px;--display:"Montserrat", "Arial Black", system-ui, sans-serif;--body:"Noto Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;display:block;margin:24px 0;color:var(--text);font:400 15px/1.5 var(--body);text-align:left}.icb *,.icb *::before,.icb *::after{box-sizing:border-box}.icb h3,.icb p{margin:0}.icb-panel{background:var(--bg);border:1px solid var(--line);border-radius:var(--r);padding:20px;position:relative}.icb-loading,.icb-error,.icb-placeholder{padding:18px;color:var(--muted);font-size:14px}.icb-error{color:var(--bad)}.icb-test{background:var(--warn-bg);border:1px solid #E3C76A;color:#5a3f00;border-radius:10px;padding:10px 14px;font-size:13px;margin-bottom:16px}.icb-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 16px;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:18px}.icb-head__title{font:800 22px/1.15 var(--display);color:var(--strong);letter-spacing:-.3px}.icb-head__book{color:var(--muted);font-weight:600}.icb-head__meta{color:var(--muted);font-size:14px}.icb-step{margin:0 0 22px;transition:opacity .2s}.icb-step.is-dim{opacity:.45;pointer-events:none}.icb-step__h{font:800 17px/1.2 var(--display);color:var(--strong);margin:0 0 12px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.icb-step__h small{font:500 14px/1.3 var(--body);color:var(--muted)}.icb-n{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--strong);color:var(--accent);font:800 13px/1 var(--body);flex:none}.icb-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.icb-card{all:unset;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;gap:3px;background:var(--surface);border:1.5px solid var(--line);border-radius:12px;padding:12px 12px 11px;min-height:86px;font-family:var(--body);transition:border-color .15s,box-shadow .15s}.icb-card:hover,.icb-card:focus-visible{border-color:var(--strong)}.icb-card.is-on{border-color:var(--strong);box-shadow:0 0 0 3px var(--accent)}.icb-card.is-direct{background:#F2F2EC}.icb-card.is-infinity{background:var(--strong);border-color:var(--strong);color:#fff}.icb-card.is-infinity .icb-card__town,.icb-card.is-infinity .icb-card__line{color:#CDD0C4}.icb-card.is-infinity .icb-card__name{color:var(--accent)}.icb-card__name{font:700 14px/1.25 var(--body);color:var(--strong)}.icb-card__town{font-size:12px;color:var(--muted)}.icb-card__line{font-size:12px;color:var(--text);margin-top:auto}.icb-card__next{color:var(--good);font-weight:700}.icb-tick{color:var(--good)}.icb-cal{display:grid;grid-template-columns:minmax(0,1fr) 250px;grid-template-areas:"nav side" "grid side";gap:10px 20px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px;position:relative}.icb-cal__nav{grid-area:nav;display:flex;align-items:center;gap:8px}.icb-cal__month{font:800 15px/1 var(--display);color:var(--strong);min-width:160px;text-align:center}.icb-cal__arrow{all:unset;cursor:pointer;width:32px;height:32px;border-radius:50%;border:1.5px solid var(--line);display:inline-flex;align-items:center;justify-content:center;font-size:18px;color:var(--strong)}.icb-cal__arrow:disabled{opacity:.3;cursor:default}.icb-cal__grid{grid-area:grid;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.icb-cal__dow{text-align:center;font-size:11px;color:var(--muted);padding:2px 0 4px}.icb-day{all:unset;box-sizing:border-box;display:flex;flex-direction:column;justify-content:flex-start;min-height:44px;border-radius:8px;padding:5px 6px;font-family:var(--body);cursor:pointer;border:1.5px solid #fff0;background:var(--grey);color:var(--muted)}.icb-day.is-blank{background:#fff0;cursor:default}.icb-day.is-past{opacity:.45;cursor:not-allowed}.icb-day.is-soon,.icb-day.is-closed,.icb-day.is-direct{cursor:not-allowed}.icb-day.is-open{background:var(--surface);border:1.5px dashed #6c88d8;color:var(--strong)}.icb-day.is-open:hover{background:#EEF2FF}.icb-day.is-course{background:var(--good-bg);border-color:var(--good);color:var(--strong)}.icb-day.is-pending{background:var(--warn-bg);border-color:#E3C76A;color:var(--strong)}.icb-day.is-full{background:var(--bad-bg);border-color:var(--bad);color:var(--bad);cursor:not-allowed}.icb-day.is-selected{box-shadow:0 0 0 3px var(--accent);border-color:var(--strong);background:var(--accent);color:var(--strong)}.icb-day__n{font-size:13px;font-weight:600;line-height:1}.icb-day__sub{font-size:10.5px;line-height:1.1;margin-top:4px;font-weight:600}.icb-cal__side{grid-area:side;display:flex;flex-direction:column;gap:12px}.icb-key{font-size:12px;color:var(--text);display:grid;gap:6px}.icb-key div{display:flex;align-items:center;gap:8px}.icb-key i{display:inline-block;width:14px;height:14px;border-radius:4px;border:1.5px solid #fff0;flex:none}.icb-key i.is-course{background:var(--good-bg);border-color:var(--good)}.icb-key i.is-pending{background:var(--warn-bg);border-color:#E3C76A}.icb-key i.is-open{background:var(--surface);border:1.5px dashed #6c88d8}.icb-key i.is-soon{background:var(--grey)}.icb-key i.is-full{background:var(--bad-bg);border-color:var(--bad)}.icb-selected{background:var(--strong);color:#F4F5EE;border-radius:10px;padding:12px 14px;display:grid;gap:3px;font-size:13px}.icb-selected strong{color:var(--accent);font-size:14px}.icb-selected em{font-style:normal;color:#B9BCB0;font-size:12px;margin-top:4px}.icb-flash{position:absolute;left:50%;bottom:10px;transform:translate(-50%,8px);background:var(--strong);color:#fff;font-size:13px;padding:8px 14px;border-radius:999px;opacity:0;pointer-events:none;transition:all .2s;white-space:nowrap;max-width:90%;overflow:hidden;text-overflow:ellipsis}.icb-flash.is-on{opacity:1;transform:translate(-50%,0)}.icb-direct{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px;display:grid;gap:10px}.icb-form{display:grid;grid-template-columns:1fr 1fr;gap:12px 14px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px}.icb-form label{display:grid;gap:4px;font-size:12px;color:var(--muted);font-weight:600}.icb-form__wide{grid-column:1 / -1}.icb-form input,.icb-form select{width:100%;border:1.5px solid var(--line);border-radius:8px;padding:10px 12px;font:400 15px/1.3 var(--body);color:var(--strong);background:#fff}.icb-form input:focus,.icb-form select:focus{outline:none;border-color:var(--strong);box-shadow:0 0 0 3px var(--accent)}.icb-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}.icb-pay{background:var(--strong);color:#F4F5EE;border-radius:12px;padding:18px;display:grid;gap:10px}.icb-pay__price strong{font:800 30px/1 var(--display);color:var(--accent)}.icb-pay__price span{color:#B9BCB0;font-size:13px;margin-left:6px}.icb-pay__note{font-size:13px;color:#CDD0C4}.icb-pay__err{color:#FF9B93;font-size:13px;min-height:1em}.icb-btn{all:unset;box-sizing:border-box;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--accent);color:var(--strong);font:800 13px/1 var(--body);letter-spacing:.04em;text-transform:uppercase;padding:12px 20px;border-radius:999px;border:2px solid var(--accent);text-decoration:none}.icb-btn:hover{filter:brightness(.95)}.icb-btn:disabled{opacity:.5;cursor:default}.icb-btn--ghost{background:#fff0;color:var(--strong);border-color:var(--strong)}.icb-pay .icb-btn--ghost{color:#fff;border-color:#fff}.icb-btn--big{padding:15px 24px;font-size:14px;justify-self:start}.icb-sticky{display:none}.icb-done{display:grid;gap:10px}.icb-done__badge{display:inline-block;justify-self:start;background:var(--good-bg);color:var(--good);border:1.5px solid var(--good);border-radius:999px;padding:4px 12px;font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.icb-done h3{font:800 24px/1.15 var(--display);color:var(--strong)}.icb-done__test{font-size:13px;color:var(--muted)}@media (max-width:899px){.icb-panel{padding:14px}.icb-head__title{font-size:19px}.icb-cards{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:10px;padding-bottom:6px;-webkit-overflow-scrolling:touch}.icb-card{flex:0 0 72%;scroll-snap-align:start}.icb-card.is-on{order:-1}.icb-cal{grid-template-columns:1fr;grid-template-areas:"nav" "grid" "side";padding:10px}.icb-cal__month{min-width:0;flex:1}.icb-day{min-height:46px;padding:5px 4px}.icb-day__sub{font-size:9.5px}.icb-form{grid-template-columns:1fr}.icb-btn--big{justify-self:stretch}.icb-sticky{display:flex;position:sticky;bottom:10px;z-index:5;align-items:center;justify-content:space-between;gap:10px;background:var(--strong);color:#fff;border-radius:999px;padding:8px 8px 8px 16px;font-size:13px;box-shadow:0 8px 24px rgb(0 0 0 / .25);margin-top:8px}.icb-sticky .icb-btn{padding:10px 16px}}