:root{--n:#253B6E;--n2:#1b2c54;--t:#2B9AB4;--g:#6CC12B;--l:#E3F1F8;--tx:#1c2a44;--mu:#5f7089;--bg:#f2f6fa;--r:#c0392b;--line:#e3eaf2;--sh:0 1px 2px #1c2a4414,0 4px 14px #1c2a440d}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;font:16px/1.45 Calibri,Carlito,system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--tx);padding-bottom:78px}
a{color:var(--t);text-decoration:none}a:hover{text-decoration:underline}
header{background:linear-gradient(135deg,var(--n),var(--n2));color:#fff;display:flex;align-items:center;gap:12px;padding:10px 16px;position:sticky;top:0;z-index:20}
header img{height:24px;filter:brightness(0) invert(1)}header b{letter-spacing:.5px}header .sp{flex:1}header small{opacity:.9;font-size:13px;text-align:right}header a{color:#fff}
header button{background:#ffffff1f;border:0;color:#fff;border-radius:8px;padding:7px 12px;font-size:14px}
nav#tabs{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--line);display:flex;justify-content:space-around;padding:6px 4px calc(6px + env(safe-area-inset-bottom));z-index:20;box-shadow:0 -4px 16px #1c2a4410}
nav#tabs a{display:flex;flex-direction:column;align-items:center;gap:2px;color:var(--mu);font-size:11.5px;font-weight:600;padding:4px 8px;border-radius:10px;min-width:58px;text-decoration:none}
nav#tabs a svg{width:23px;height:23px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
nav#tabs a.on{color:var(--n);background:var(--l)}
@media(min-width:760px){body{padding-bottom:0}nav#tabs{position:sticky;top:44px;bottom:auto;justify-content:flex-start;gap:6px;border-top:0;border-bottom:1px solid var(--line);box-shadow:none;padding:6px 16px}nav#tabs a{flex-direction:row;gap:7px;font-size:14px;padding:7px 14px}}
main{max-width:1000px;margin:0 auto;padding:16px}
h1{font-size:23px;margin:4px 0 14px;color:var(--n);font-weight:700}h2{font-size:16.5px;margin:0 0 10px;color:var(--n)}
.card{background:#fff;border-radius:14px;padding:16px;margin-bottom:14px;box-shadow:var(--sh)}
.hero{background:linear-gradient(135deg,var(--n),#31528f);color:#fff;border-radius:16px;padding:18px;margin-bottom:14px;box-shadow:var(--sh)}
.hero h1{color:#fff;margin:0 0 2px;font-size:24px}.hero p{margin:0;opacity:.9}
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin:14px 0 4px}
.tile{background:#ffffff1f;border-radius:12px;padding:10px 12px}.tile b{display:block;font-size:26px;line-height:1.1}.tile span{font-size:12.5px;opacity:.9}
.tile.warn{background:#f5a6231f;outline:1px solid #f5a62366}
.card .tiles .tile{background:var(--bg)}.card .tiles .tile b{color:var(--n)}.card .tiles .tile.warn{background:#fdf0c9;outline:0}.card .tiles .tile.bad{background:#f9dcd8}
label{display:block;font-size:13px;color:var(--mu);margin:10px 0 4px;font-weight:600}
input,select,textarea{width:100%;padding:11px 12px;border:1.5px solid var(--line);border-radius:10px;font:inherit;background:#fff;color:var(--tx)}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--t);box-shadow:0 0 0 3px #2b9ab433}
button,.btn{background:var(--t);color:#fff;border:0;border-radius:10px;padding:11px 16px;font:inherit;font-weight:700;cursor:pointer;display:inline-block;text-align:center}
button:hover,.btn:hover{filter:brightness(1.06);text-decoration:none}button:disabled{opacity:.5;cursor:default}
button.s,.btn.s{background:#fff;color:var(--n);border:1.5px solid #cfdbe8}button.g,.btn.g{background:var(--g);color:#fff}button.d{background:#fff;color:var(--r);border:1.5px solid #efc7c2}
button.sm{padding:6px 11px;font-size:13.5px;border-radius:8px}
.g2{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0 14px}
.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.row>*{flex:0 0 auto}.row input,.row select{width:auto;min-width:170px}
.grow{flex:1 1 auto!important}
.it{display:flex;justify-content:space-between;gap:10px;padding:12px 4px;border-bottom:1px solid var(--line);cursor:pointer;border-radius:8px}.it:hover{background:#f7fafc}.it:last-child{border:0}.it b{color:var(--n)}
small,.mu{color:var(--mu)}
.st{background:var(--l);color:var(--n);border-radius:20px;padding:3px 11px;font-size:12px;font-weight:700;white-space:nowrap;align-self:center}
.st.lead{background:#e8edf5;color:#44587a}.st.audyt{background:#fdf0c9;color:#7a5b00}.st.oferta{background:#dbeafb;color:#1e4f8f}.st.umowa{background:#dcf3cc;color:#2f6a0d}.st.montaz{background:#cdeff3;color:#106070}.st.zamk{background:#e6e9ee;color:#55606f}.st.utr{background:#f9dcd8;color:#8e2a1f}.st.wstr{background:#ece3f6;color:#5b3a82}
.err{color:var(--r);margin:8px 0}.ok{color:#1a7f4b}
.tl{border-left:3px solid var(--l);padding-left:14px;margin-left:4px}.tl>div{margin:0 0 12px;position:relative}.tl>div:before{content:"";position:absolute;left:-20px;top:6px;width:9px;height:9px;border-radius:50%;background:var(--t)}.tl small{display:block}
#login{max-width:380px;margin:9vh auto;text-align:center;padding:26px}#login img{height:38px;margin-bottom:14px}
.empty{text-align:center;color:var(--mu);padding:22px 8px}.empty b{display:block;font-size:30px}
/* kalendarz */
.day{margin:16px 0 6px;font-weight:700;color:var(--n);display:flex;gap:8px;align-items:baseline}.day small{font-weight:400}.day.today span{background:var(--g);color:#fff;border-radius:8px;padding:1px 9px}
.ev{display:flex;gap:12px;padding:12px;border-radius:12px;background:#fff;margin-bottom:8px;box-shadow:var(--sh);border-left:5px solid var(--c,var(--t))}
.ev .tm{min-width:52px;font-weight:700;color:var(--n)}.ev .tm small{display:block;font-weight:400}
.ev.done{opacity:.6}.ev.done .ti{text-decoration:line-through}.ev.cancel{opacity:.45}
.ev .ti{font-weight:700}.ev .acts{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.chip{display:inline-block;background:var(--bg);border-radius:20px;padding:1px 9px;font-size:12px;font-weight:700;color:var(--mu)}
.who{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:5px;vertical-align:middle}
.alert{border-left:5px solid #f5a623;background:#fffaf0}.alert.bad{border-color:var(--r);background:#fff5f4}
.big{font-size:34px;font-weight:800;color:var(--n);line-height:1}
.ver{padding:14px;border-radius:12px;font-weight:700}.ver.ok{background:#e4f6d6;color:#2b620a}.ver.no{background:#fdeaa8;color:#6f5300}.ver.bad{background:#f9dcd8;color:#8e2a1f}
#pl .cat{margin:14px 0 4px;font-weight:700;color:var(--n)}#pl .fi{display:flex;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)}
#pl .fi img{width:50px;height:50px;object-fit:cover;border-radius:8px;background:#eef3f9;flex:0 0 auto}#pl .ic{width:50px;height:50px;border-radius:8px;background:var(--l);color:var(--n);font-weight:700;font-size:12px;display:flex;align-items:center;justify-content:center;flex:0 0 auto}
#pl .fi .nm{flex:1;min-width:0;word-break:break-word}#pl .fi small{display:block}
.prog{font-size:13px;color:var(--mu);margin:6px 0}.prog .e{color:var(--r)}
.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:90px;background:var(--n);color:#fff;padding:10px 18px;border-radius:24px;z-index:50;box-shadow:var(--sh)}
header small{max-width:46vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:600px){header small{display:none}}

.seg{display:flex;background:#fff;border-radius:12px;padding:3px;box-shadow:var(--sh)}.seg button{flex:1;background:transparent;color:var(--mu);padding:9px 6px;border-radius:9px}.seg button.on{background:var(--n);color:#fff}
.wk{background:var(--l);color:var(--n);border-radius:8px;padding:1px 8px;font-size:.9em}
.mg{display:grid;grid-template-columns:30px repeat(7,1fr);gap:3px}.mg .mh{text-align:center;font-size:12px;font-weight:700;color:var(--mu);padding:4px 0}
.mg .wn{display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--mu);font-weight:700;cursor:pointer;border-radius:6px}.mg .wn:hover{background:var(--l)}
.mc{background:#fff;border-radius:10px;min-height:62px;padding:4px 5px;cursor:pointer;position:relative;overflow:hidden;box-shadow:var(--sh)}.mc:hover{outline:2px solid var(--t)}
.mc.out{opacity:.45}.mc.today{outline:2px solid var(--g)}.mc b{font-size:13px;color:var(--n)}.mc .cnt{position:absolute;top:3px;right:4px;background:var(--n);color:#fff;border-radius:10px;font-size:10.5px;padding:0 6px;font-weight:700}
.mc .dots{display:flex;gap:3px;margin-top:5px;flex-wrap:wrap}.mc .dots i{width:7px;height:7px;border-radius:50%;display:block}.mc .ln{display:none}
@media(min-width:760px){.mc{min-height:96px}.mc .dots{display:none}.mc .ln{display:block}.mc .ln span{display:block;font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-left:3px solid var(--t);padding-left:4px;margin-top:2px;color:var(--tx)}}
.ttl{display:flex;justify-content:center;gap:2px}.ttl select{width:auto;border:0;background:transparent;font-weight:800;font-size:18px;color:var(--n);padding:4px 2px;cursor:pointer;border-bottom:2px dotted #b9c8da;border-radius:0;box-shadow:none;appearance:none;-webkit-appearance:none}.ttl select:hover,.ttl select:focus{border-bottom-color:var(--t);box-shadow:none}
.ttl{flex:1 1 0!important;min-width:0}.ttl select{font-size:17px;min-width:0;max-width:52%;text-overflow:ellipsis;text-align-last:center}
