.h102-dashboard{--h102-bg:#f6f8f4;--h102-border:#dce7dc;--h102-ink:#284837;min-width:0;max-width:1250px}
.h102-dashboard>h1,.h102-heading h1{color:var(--h102-ink);font:normal clamp(2rem,4vw,3.15rem)/1.15 Georgia,serif;margin:7px 0 12px;letter-spacing:-.025em}
.h102-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;margin-bottom:20px}
.h102-heading p{max-width:68ch;color:#52685a}.h102-heading .button{white-space:normal}
.h102-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin:20px 0 25px}
.h102-tile{background:white;border:1px solid var(--h102-border);border-radius:15px;padding:18px;min-width:0;box-shadow:0 4px 14px #1e433009}
.h102-tile strong{font:normal clamp(2rem,3vw,2.75rem)/1.15 Georgia,serif;display:block;color:#285842}
.h102-tile span{display:block;font-size:13px;color:#51695b;margin-top:7px}
.h102-dashboard .panel{padding:clamp(16px,3vw,24px);margin-bottom:18px;min-width:0}.h102-dashboard .panel h2{margin-top:0;font:normal clamp(1.4rem,2vw,1.9rem) Georgia,serif}
.h102-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.h102-check{display:flex;align-items:flex-start;gap:12px;background:var(--h102-bg);border-radius:10px;padding:12px;min-width:0;border:1px solid var(--h102-border)}
.h102-check div{min-width:0}.h102-check strong{font-size:14px;color:#294b38;display:block}.h102-check p{font-size:12px;margin:3px 0 0;color:#596f62;overflow-wrap:anywhere}
.h102-indicator{font:700 11px system-ui,sans-serif;padding:6px 8px;border-radius:7px;white-space:nowrap;flex:0 0 auto}
.h102-ok{background:#dff1df;color:#255937}.h102-warn{background:#f9edcd;color:#6e4c10}.h102-fail{background:#ffe4df;color:#963c2d}.h102-info{background:#e4edf3;color:#315c78}
.h102-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.h102-columns .panel{margin:0 0 18px}
.h102-dashboard form label{font-size:14px;font-weight:550;display:block;margin:13px 0}.h102-dashboard input[type=text]{display:block;min-height:45px;width:100%;max-width:100%;box-sizing:border-box;border:1px solid #b0c6b3;border-radius:9px;padding:10px;font:inherit;margin-top:8px}
.h102-dashboard .h102-check-label{display:flex;align-items:start;gap:10px}.h102-check-label input{min-width:19px;min-height:19px;margin:2px 0}
.h102-dashboard .button{white-space:normal;line-height:1.4;min-height:44px}.h102-table-wrap{overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch}
.h102-table-wrap table{border-collapse:collapse;width:100%;min-width:460px}.h102-table-wrap td,.h102-table-wrap th{font-size:13px;text-align:left;padding:12px;border-bottom:1px solid #e3eae3;overflow-wrap:anywhere}
.h102-period{display:flex;gap:9px;flex-wrap:wrap;margin:10px 0 22px;align-items:center}.h102-period a{display:inline-flex;border:1px solid #d1dfd5;padding:9px 14px;border-radius:10px;text-decoration:none;color:#345846;font-size:14px;font-weight:600}.h102-period a.selected{background:#285a43;color:#fff}.h102-period .h102-export{margin-left:auto}
.h102-bars{height:190px;width:100%;display:flex;gap:2px;align-items:end;overflow:hidden;padding:12px 0;border-bottom:1px solid #b9cbbd}.h102-bars>div{flex:1 1 0;min-width:1px;height:100%;display:flex;align-items:flex-end}.h102-bars>div span{display:block;width:100%;background:#729785;border-radius:4px 4px 0 0;min-height:2px}
.h102-note{font-size:13px;color:#56715e}.h102-dashboard :focus-visible{outline:3px solid #287e9c;outline-offset:3px}
@media(max-width:880px){.h102-checks{grid-template-columns:1fr}.h102-columns{grid-template-columns:1fr}}
@media(max-width:580px){.h102-kpis{gap:7px}.h102-tile{padding:12px}.h102-tile strong{font-size:clamp(1.45rem,7vw,2.1rem)}.h102-tile span{font-size:11px}.h102-check{padding:10px}.h102-period .h102-export{margin-left:0}}
@media(max-width:360px){.h102-kpis{grid-template-columns:1fr}.h102-period a{flex:1 1 auto;justify-content:center}}
