/* IVComp — kalendarz i panel wizyt v2. */
*{box-sizing:border-box}body{margin:0;background:#f4f7fa;color:#344b5d;font:15px/1.55 Arial,Helvetica,sans-serif}header,main,footer{width:min(1220px,calc(100% - 32px));margin:auto}header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 0;border-bottom:1px solid #d5e2ec}.brand{font-size:26px;font-weight:700;text-decoration:none}nav{display:flex;flex-wrap:wrap;gap:18px}a{color:#2b6288}main{padding:26px 0 36px}h1{font-size:32px;line-height:1.2;margin:8px 0 20px}h2{font-size:21px;line-height:1.3;margin:0 0 16px}h3{font-size:17px;line-height:1.4;margin:0 0 10px}p{margin:0 0 15px}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.08em}.lead{max-width:850px}.layout{display:grid;grid-template-columns:minmax(340px,.9fr) minmax(0,1.1fr);gap:18px;align-items:start}.card{background:#fff;border:1px solid #d5e2ec;border-radius:12px;padding:22px;margin-bottom:18px}.monthnav{display:flex;align-items:center;justify-content:space-between;gap:8px}.monthnav h2{margin:0;text-align:center;font-size:19px}.monthnav>a{display:grid;place-items:center;min-width:44px;min-height:44px;font-size:23px;text-decoration:none}.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin:12px 0}.weekday{text-align:center;font-size:11px;color:#667d8f}.day{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:58px;padding:5px 1px;border:1px solid #d8e2ea;border-radius:8px;text-decoration:none;font-weight:700;background:#f3f5f7;color:#667b8c}.day small{display:block;font-size:9px;font-weight:400;text-align:center;line-height:1.3}.day.available{background:#eaf6ef;border-color:#b9d9c7;color:#315f46}.day.selected{background:#344f66!important;border-color:#344f66;color:#fff!important}.day.closed{border-style:dashed;border-color:#c0927f}.day:hover{box-shadow:inset 0 0 0 2px #9dbed6}.muted,.privacy{font-size:12px;color:#63798b}.privacy{padding-top:15px;border-top:1px solid #d5e2ec}.slots,.legend{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.slot{display:inline-flex;align-items:center;justify-content:center;gap:7px;flex-direction:column;min-width:77px;min-height:52px;border:1px solid #cad9e4;border-radius:8px;padding:8px 12px;font-size:14px;font-weight:700;text-align:center}.slot small{display:block;font-size:10px;font-weight:400}.state-free{background:#eaf6ef;border-color:#bad9c6;color:#315f46}.state-booked{background:#eaf0f6;color:#5b6e80}.state-blocked{background:#fff1e5;border-color:#e5c8ad;color:#875b39}.state-unavailable{background:#f3f5f7;color:#7b8893}.choice{flex-direction:row;cursor:pointer;margin:0}.choice:has(input:checked){outline:3px solid #568eb5;outline-offset:1px}.legend .slot{font-size:11px;min-height:34px;min-width:0;padding:7px 9px}label{display:block;font-size:13px;font-weight:700;margin-bottom:15px}input:not([type=checkbox]):not([type=radio]):not([type=hidden]),textarea,select{display:block;width:100%;margin-top:6px;padding:11px;border:1px solid #c8d9e6;border-radius:7px;background:#f9fbfd;color:#344b5d;font:16px/1.4 Arial;min-height:44px}textarea{resize:vertical}input[type=checkbox],input[type=radio]{accent-color:#466f8f}input[type=checkbox]{width:18px;height:18px;flex-shrink:0}input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid #80aecf;outline-offset:3px}button,.button{display:inline-block;min-height:44px;padding:11px 16px;border:1px solid #9fbfd9;border-radius:8px;background:#bdd8ee;color:#2d475b;font:700 14px/1.4 Arial;cursor:pointer;text-decoration:none}.secondary{background:#edf3f8}.danger{background:#f6e7e3;border-color:#d3aaa1;color:#854b3e}.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.check{display:flex;align-items:flex-start;gap:9px;font-weight:400}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.toolbar p{margin:0}.visit{padding:18px 0;border-top:1px solid #d5e2ec;overflow-wrap:anywhere}.visit p{font-size:13px}.cancelled{opacity:.65}.message{padding:16px 18px;margin-bottom:20px;background:#edf5fb;border:1px solid #c4dbe9;border-left:4px solid #789db9;border-radius:9px}.error{background:#fff1ec;border-color:#ddb6a7;color:#864b36}.login{max-width:430px}.appointment{font-size:24px;font-weight:700}.trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}fieldset{padding:0;border:0;margin:0}legend{font-size:13px;font-weight:700}.tablewrap{overflow:auto;margin-bottom:18px}.schedule{border-collapse:collapse;width:100%;font-size:12px}.schedule th,.schedule td{text-align:left;padding:7px 5px;border-bottom:1px solid #e0e8ee}.schedule input[type=time]{min-width:110px;font-size:14px;padding:8px}.schedule th{font-weight:600}footer{padding:24px 0;border-top:1px solid #d3e1eb;font-size:12px}@media(max-width:900px){.layout{grid-template-columns:1fr}.card{padding:20px}}@media(max-width:500px){header,main,footer{width:calc(100% - 28px)}h1{font-size:26px}h2{font-size:20px}header{align-items:flex-start}nav{gap:10px;font-size:12px}.card{padding:16px}.calendar{gap:3px}.day{min-height:51px}.day small{font-size:8px}.monthnav h2{font-size:17px}.two{grid-template-columns:1fr;gap:0}.toolbar{align-items:flex-start}.slot{min-width:72px;padding:8px}.schedule th,.schedule td{padding:6px 3px}.schedule input[type=time]{min-width:100px}.schedule th{font-size:11px}}
