:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#eef3f0;--surface:#fff;--ink:#14231c;--muted:#5d7268;--line:#d5e0da;--brand:#0f3d2e;--brand-soft:#d9ebe3;--accent:#c45c26;--ok:#1f7a4c;--warn:#9a6b12;--danger:#a33b2d;--shadow:0 8px 24px #14231c14;color:var(--ink);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:Segoe UI,Helvetica Neue,Arial,sans-serif;font-weight:400;line-height:1.4}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:radial-gradient(circle at top left, #0f3d2e14, transparent 40%), linear-gradient(180deg, #f7faf8 0%, var(--bg) 100%);margin:0}button,input,textarea{font:inherit}a{color:inherit;text-decoration:none}.app-shell{grid-template-rows:auto 1fr auto;max-width:720px;min-height:100dvh;margin:0 auto;display:grid}.topbar{z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#eef3f0eb;justify-content:space-between;align-items:center;gap:12px;padding:16px 16px 10px;display:flex;position:sticky;top:0}.brand{letter-spacing:.02em;color:var(--brand);margin:0;font-size:1.35rem;font-weight:800}.period{color:var(--muted);text-transform:capitalize;margin:2px 0 0;font-size:.92rem}.net-badge{border-radius:999px;padding:8px 12px;font-size:.85rem;font-weight:700}.net-badge.online{color:var(--ok);background:#dff3e8}.net-badge.offline{color:var(--danger);background:#f7e5e1}.content{padding:0 16px 96px}.bottom-nav{width:min(720px,100%);padding:10px 12px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff5;grid-template-columns:repeat(3,1fr);gap:8px;display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.bottom-nav a{text-align:center;color:var(--muted);border-radius:14px;padding:12px 8px;font-weight:700}.bottom-nav a.active{background:var(--brand-soft);color:var(--brand)}.page{gap:14px;display:grid}.progress-card,.detail-card,.meter-card,.empty{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:18px}.progress-card,.detail-card,.empty{padding:16px}.progress-row,.stats,.meter-card-top,.meter-meta,.btn-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.stats,.meter-meta{color:var(--muted);flex-wrap:wrap;justify-content:flex-start;font-size:.92rem}.progress-bar{background:#e3ebe6;border-radius:999px;height:10px;margin:10px 0;overflow:hidden}.progress-bar>div{background:linear-gradient(90deg,#1b6b4f,#0f3d2e);height:100%}.search input,.reading-form input,.reading-form textarea{border:1px solid var(--line);background:#fff;border-radius:14px;width:100%;padding:14px 16px}.search input{font-size:1.05rem}.chips{gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.chip,.btn,.file-btn{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#fff;border-radius:14px;padding:12px 14px;font-weight:700}.chip.active,.btn.primary,.file-btn{background:var(--brand);border-color:var(--brand);color:#fff}.btn.big{width:100%;padding:18px 16px;font-size:1.1rem}.btn.danger{color:var(--danger);background:#fff7f5;border-color:#efc4bd}.btn.danger:disabled{opacity:.45;cursor:not-allowed}.danger-zone{background:#fff7f5;border-color:#efc4bd}.danger-zone h2{color:var(--danger)}.clear-confirm{margin:12px 0;display:block}.clear-confirm input{background:#fff;border:1px solid #efc4bd;border-radius:14px;width:100%;padding:14px 16px;font-size:1.05rem}.btn-row{grid-template-columns:1fr 1fr;display:grid}.tp-groups{gap:18px;display:grid}.tp-title{color:var(--brand);justify-content:space-between;align-items:center;gap:10px;margin:0 0 10px;font-size:1.05rem;display:flex}.tp-title span{color:var(--muted);background:#e7efea;border-radius:999px;padding:4px 10px;font-size:.85rem;font-weight:700}.tp-badge{background:var(--brand-soft);color:var(--brand);border-radius:999px;margin:0 0 8px;padding:4px 10px;font-size:.85rem;font-weight:800;display:inline-block}.meter-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.meter-card{padding:14px 16px;display:block}.meter-card-top strong{font-size:1.05rem}.tag{color:var(--muted);white-space:nowrap;background:#edf1ef;border-radius:999px;padding:4px 10px;font-size:.78rem;font-weight:800}.tag.status-done{color:var(--ok);background:#dff3e8}.tag.status-no_access,.tag.status-skip{color:var(--warn);background:#fff1d8}.address,.prev,.muted,.table-sub{color:var(--muted)}.address,.prev{margin:6px 0 0}.empty{text-align:center}.empty h2,.detail-card h1,.detail-card h2{margin:0 0 8px}.back{color:var(--brand);font-weight:700}.prev-big{margin:14px 0 0;font-size:1.05rem}.phone-line{margin:10px 0 0}.contact-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;display:grid}.contact-actions .btn{text-align:center;text-decoration:none}.btn.call{color:#fff;background:#1b6b4f;border-color:#1b6b4f}.btn.whatsapp{color:#fff;background:#128c7e;border-color:#128c7e}.reading-form{gap:12px;display:grid}.reading-form label{gap:8px;font-weight:700;display:grid}.reading-input{letter-spacing:.04em;text-align:center;font-weight:800;padding:18px!important;font-size:2rem!important}.warn,.error,.ok{border-radius:12px;margin:0;padding:10px 12px;font-weight:600}.warn{color:var(--warn);background:#fff1d8}.error{color:var(--danger);background:#f7e5e1}.ok{color:var(--ok);background:#dff3e8}.file-btn{text-align:center;display:block;position:relative;overflow:hidden}.file-btn input{opacity:0;cursor:pointer;position:absolute;inset:0}.steps{color:var(--muted);margin:0;padding-left:18px}.steps li+li{margin-top:8px}.table-wrap{border:1px solid var(--line);background:#fff;border-radius:16px;overflow:auto}.vedomost-table{border-collapse:collapse;width:100%;font-size:.9rem}.vedomost-table th,.vedomost-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:10px 8px}.vedomost-table th{background:#f3f7f5;position:sticky;top:0}.print-only{display:none}.sr-only{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media print{body{background:#fff}.topbar,.bottom-nav,.no-print{display:none!important}.content{padding:0}.print-only{display:block}.table-wrap{border:none;border-radius:0}.vedomost-table th,.vedomost-table td{padding:6px 4px;font-size:11px}}
