:root{--bg:#f3f5f9;--card:#fff;--text:#1a1d24;--muted:#5b6472;--line:#dde2ea;--brand:#1450a3;--brand-text:#fff;--ok:#1e7d46;--bad:#c0392b;--nav-h:68px}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);-webkit-text-size-adjust:100%;margin:0;font:18px/1.45 system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}main{max-width:640px;padding:16px 16px calc(var(--nav-h) + 24px + env(safe-area-inset-bottom));margin:0 auto}h1{margin:8px 0 16px;font-size:1.6rem}h2{margin:24px 0 8px;font-size:1.15rem}a{color:var(--brand)}.muted{color:var(--muted)}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;margin-bottom:12px;padding:16px}.stats{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;display:grid}.stat b{font-size:1.6rem;display:block}.list{margin:0;padding:0;list-style:none}.list li{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:14px 0;display:flex}.list li:last-child{border-bottom:0}.btn{background:var(--brand);width:100%;min-height:56px;color:var(--brand-text);font:inherit;text-align:center;cursor:pointer;border:0;border-radius:14px;padding:14px 20px;font-weight:600;text-decoration:none;display:block}.btn.secondary{background:var(--card);color:var(--text);border:1px solid var(--line)}input{border:1px solid var(--line);width:100%;min-height:56px;font:inherit;border-radius:14px;margin:8px 0 16px;padding:12px 16px}label{font-weight:600}.bottom-nav{height:calc(var(--nav-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--card);border-top:1px solid var(--line);grid-template-columns:repeat(5,1fr);display:grid;position:fixed;inset:auto 0 0}.bottom-nav a{color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:.75rem;text-decoration:none;display:flex}.bottom-nav a[aria-current=page]{color:var(--brand);font-weight:700}.bottom-nav svg{width:26px;height:26px}select,textarea{border:1px solid var(--line);background:var(--card);width:100%;min-height:56px;font:inherit;border-radius:14px;margin:8px 0 16px;padding:12px 16px}input[type=file]{padding:14px 12px}.form h2{margin-top:8px}.form details{margin:8px 0 16px}.form summary{min-height:48px;color:var(--brand);cursor:pointer;padding:12px 0;font-weight:600}.check{align-items:center;gap:12px;min-height:48px;margin-bottom:12px;font-weight:400;display:flex}.check input{width:24px;height:24px;min-height:0;margin:0}.actions{gap:10px;margin-bottom:16px;display:grid}.filters{margin-bottom:4px}.filters input,.filters select{margin:0 0 10px}.list li:has(>.row-link){padding:0}.row-link{width:100%;color:inherit;justify-content:space-between;gap:12px;padding:14px 0;text-decoration:none;display:flex}.dot{vertical-align:middle;border-radius:50%;width:10px;height:10px;margin-right:8px;display:inline-block}.dot.ok{background:var(--ok)}.dot.bad{background:var(--bad)}.dot.off{background:var(--line)}.small{font-size:.85rem}.error{color:var(--bad);background:#fbeaea;border-radius:14px;padding:12px 16px;font-weight:600}.error-text{color:var(--bad)}.btn:disabled{opacity:.6}main>a:first-child{padding:8px 0;display:inline-block}.notice{color:var(--ok);background:#e5f3eb;border-radius:14px;padding:12px 16px;font-weight:600}.month-nav{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.month-nav a{border:1px solid var(--line);background:var(--card);border-radius:14px;place-items:center;width:56px;height:56px;font-size:1.4rem;text-decoration:none;display:grid}.drafts{margin:4px 0 12px}.drafts .notice,.drafts .error{margin-top:10px}.tabs{grid-template-columns:1fr 1fr;gap:8px;margin:16px 0 12px;display:grid}.tabs a{border:1px solid var(--line);background:var(--card);color:var(--text);text-align:center;border-radius:14px;padding:12px;text-decoration:none}.tabs a[aria-current=page]{border-color:var(--brand);color:var(--brand);font-weight:700}.strike{text-decoration:line-through}.right{text-align:right}.danger summary{min-height:48px;color:var(--bad);cursor:pointer;padding:12px 0}.btn.danger{background:var(--bad)}.test-banner{color:#7a5a00;text-align:center;background:#fff4d6;padding:8px 16px;font-size:.85rem}.confirm{margin-bottom:12px}.confirm summary{list-style:none}.confirm summary::-webkit-details-marker{display:none}.confirm[open] summary{display:none}.confirm form{border:1px solid var(--line);background:var(--card);border-radius:14px;padding:16px}.bottom-nav a{position:relative}.badge{background:var(--bad);color:#fff;text-align:center;border-radius:10px;min-width:20px;height:20px;padding:0 6px;font-size:.7rem;font-weight:700;line-height:20px;position:absolute;top:6px;left:calc(50% + 6px)}.btn.small-btn{width:auto;min-height:44px;padding:8px 16px}.stat small{margin-top:2px;display:block}.ok-text{color:var(--ok)}.progress{background:var(--line);border-radius:5px;height:10px;margin:0 0 12px;overflow:hidden}.progress span{background:var(--ok);height:100%;display:block}.alert-link{color:var(--bad);background:#fbeaea;border-radius:14px;margin-bottom:12px;padding:14px 16px;text-decoration:none;display:block}.two-cols{grid-template-columns:1fr 1fr;gap:12px;display:grid}.months{border:0;grid-template-columns:repeat(3,1fr);gap:0 8px;margin:0 0 8px;padding:0;display:grid}.months legend{margin-bottom:8px;font-weight:600}.months .check{text-transform:capitalize;margin-bottom:0}.radios{border:0;margin:0 0 8px;padding:0}.radios legend{margin-bottom:4px}.radios .check{margin-bottom:0}.hp{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.privacy{margin-top:16px}.privacy summary{cursor:pointer;font-weight:600}main:has(.sheet-page){max-width:none}.sheet-bar{flex-wrap:wrap;align-items:center;gap:8px 20px;margin-bottom:8px;font-size:.9rem;display:flex}.link-btn{color:var(--brand);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.sheet-wrap{border:1px solid var(--line);background:var(--card);border-radius:10px;max-height:calc(100vh - 220px);overflow:auto}.sheet{border-collapse:collapse;white-space:nowrap;font-size:.85rem}.sheet th,.sheet td{border-bottom:1px solid var(--line);border-right:1px solid var(--line);text-align:left;vertical-align:middle;padding:0}.sheet thead th{z-index:1;background:#eef2f8;position:sticky;top:0}.sheet thead .filter-row th{top:32px}.sheet th button{width:100%;min-height:32px;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:4px 8px;font-weight:600}.sheet input,.sheet select{background:0 0;border:0;border-radius:0;width:100%;min-width:90px;height:30px;min-height:0;margin:0;padding:2px 6px;font-size:.85rem}.sheet .filter-row input,.sheet .filter-row select{background:var(--card)}.sheet input:focus,.sheet select:focus{outline:2px solid var(--brand);outline-offset:-2px;background:var(--card)}.sheet td.k-check,.sheet th:first-child,.sheet td:first-child{text-align:center}.sheet td.k-check input{width:18px;min-width:0;height:18px}.sheet td:first-child a{padding:4px 10px;text-decoration:none;display:block}.sheet td.k-select select{min-width:150px}.sheet td.k-money input{text-align:right;min-width:70px}.sheet .ro{color:var(--muted);padding:4px 8px;display:block}.sheet td.problem{background:#fbeaea}.sheet tr.off td{color:var(--muted);background:#f6f7f9}
