#calc28{--v:#1B7A4C;--vd:#14603b;--bg:#f4f6f7;--card:#fff;--line:#e3e8e6;--txt:#1f2a26;--gri:#5b6b64;--ok:#14603b;--okb:#e7f6ec;--okr:#b7e2c6;--wa:#7a5b00;--wab:#fff8e1;--war:#ffe08a;--ba:#a12f22;--bab:#fdecea;--bar:#f5c6bf;}
#calc28{box-sizing:border-box}
#calc28{margin:0;font-family:'Segoe UI',Roboto,Arial,sans-serif;background:var(--bg);color:var(--txt);font-size:15px;line-height:1.5}
#calc28 .wrap{max-width:900px;margin:0 auto;padding:18px 14px 60px}
#calc28 .proto{background:#fff3cd;border:1px solid #ffe08a;color:#7a5b00;font-size:12.5px;padding:8px 12px;border-radius:8px;margin-bottom:12px}
#calc28 header{background:linear-gradient(135deg,var(--v),var(--vd));color:#fff;border-radius:14px;padding:16px 20px;margin-bottom:14px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
#calc28 header h1{margin:0;font-size:22px}
#calc28 header p{margin:3px 0 0;opacity:.9;font-size:13px}
#calc28 .lang{display:flex;gap:4px;flex-wrap:wrap}
#calc28 .lang button{background:rgba(255,255,255,.16);color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:6px;padding:4px 9px;font-size:12.5px;font-weight:600;cursor:pointer}
#calc28 .lang button.on{background:#fff;color:var(--vd)}
#calc28 .toolbar{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap}
#calc28 .toolbar input{flex:1;min-width:180px;border:1px solid var(--line);border-radius:8px;padding:9px 12px;font-size:14px}
#calc28 .cats{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}
#calc28 .cats button{border:1px solid var(--line);background:#fff;color:var(--vd);font-weight:600;font-size:12.5px;padding:6px 11px;border-radius:16px;cursor:pointer}
#calc28 .cats button.on{background:var(--v);color:#fff;border-color:var(--v)}
#calc28 .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
#calc28 .tile{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:13px 15px;cursor:pointer;transition:.12s}
#calc28 .tile:hover{border-color:var(--v);box-shadow:0 2px 10px rgba(27,122,76,.08)}
#calc28 .tile .cat{font-size:11px;color:var(--v);font-weight:700;text-transform:uppercase;letter-spacing:.4px}
#calc28 .tile h3{margin:4px 0 3px;font-size:15.5px;color:var(--vd)}
#calc28 .tile p{margin:0;font-size:12.5px;color:var(--gri)}
#calc28 .modal{position:fixed;inset:0;background:rgba(20,30,25,.5);display:none;align-items:flex-start;justify-content:center;padding:20px;z-index:9;overflow:auto}
#calc28 .modal.on{display:flex}
#calc28 .sheet{background:#fff;border-radius:14px;max-width:620px;width:100%;padding:20px 22px;margin:auto}
#calc28 .sheet .x{float:right;border:none;background:#eef2f0;border-radius:8px;width:32px;height:32px;font-size:18px;cursor:pointer;color:var(--gri)}
#calc28 .sheet h2{margin:0 0 2px;font-size:20px;color:var(--vd)}
#calc28 .sheet .ref{font-size:12px;color:var(--gri);margin:0 0 12px}
#calc28 .field{padding:8px 0;border-bottom:1px dashed #eef2f0}
#calc28 .field.chk{display:flex;align-items:flex-start;gap:10px;cursor:pointer}
#calc28 .field.chk input{margin-top:3px;transform:scale(1.15)}
#calc28 .field .fl{font-size:14px}
#calc28 .field.chk .pts{margin-left:auto;font-weight:700;color:var(--vd);white-space:nowrap}
#calc28 .field label.fl{display:block;font-size:13px;color:var(--gri);margin-bottom:4px}
#calc28 .field input[type=number],#calc28 .field select{width:100%;border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-size:14px}
#calc28 .res{margin-top:14px;border-radius:10px;padding:13px 15px}
#calc28 .res .num{font-size:30px;font-weight:800;line-height:1}
#calc28 .res.ok{background:var(--okb);color:var(--ok);border:1px solid var(--okr)}
#calc28 .res.warn{background:var(--wab);color:var(--wa);border:1px solid var(--war)}
#calc28 .res.bad{background:var(--bab);color:var(--ba);border:1px solid var(--bar)}
#calc28 .disc{font-size:11.5px;color:var(--gri);margin-top:12px;border-top:1px dashed var(--line);padding-top:8px}
#calc28 .foot{text-align:center;font-size:11.5px;color:var(--gri);margin-top:22px}
