:root{--bg:#f0f2f7;--panel:#ffffff;--card:#ffffff;--border:rgba(0,0,0,.10);--text:rgba(0,0,0,.85);--muted:rgba(0,0,0,.48);--primary:#3b6ff5;--primary2:#2454d4;--danger:#e03355;--shadow:0 2px 12px rgba(0,0,0,.08);--radius:14px}*{box-sizing:border-box}body,html{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial}a{color:inherit}.wrap{max-width:860px;margin:0 auto;padding:14px}.topbar{display:flex;justify-content:space-between;align-items:center;padding:10px 2px 14px;border-bottom:1px solid var(--border);margin-bottom:16px}.link{color:var(--primary);text-decoration:none;font-weight:500}.link:hover{text-decoration:underline}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow)}.h1{font-size:22px;font-weight:700;letter-spacing:.1px}.h1,.h2{margin:0}.h2{font-size:15px;font-weight:600}.muted{color:var(--muted);font-size:14px}.row{display:flex;align-items:center}.rowBetween{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.badge{font-size:12px;font-weight:600;padding:4px 10px;border-radius:999px;white-space:nowrap}.badgePlan{background:#e8eeff;color:var(--primary)}.badgeDone{background:#e6f9f0;color:#1a9e5c}.btn{padding:9px 14px;border-radius:10px;border:1px solid var(--border);background:#fff;color:var(--text);cursor:pointer;font-size:14px;font-weight:500;box-shadow:0 1px 3px rgba(0,0,0,.07)}.btn:hover{background:#f5f5f5}.btnPrimary{background:var(--primary);color:#fff;border-color:var(--primary2)}.btnPrimary:hover{background:var(--primary2)}.btnDanger{background:#fff0f3;color:var(--danger);border-color:rgba(224,51,85,.2)}.btnDanger:hover{background:#ffe0e6}.label{display:block;color:var(--muted);font-size:13px;font-weight:500}.input,.textarea{width:100%;margin-top:5px;padding:10px 12px;border-radius:10px;border:1.5px solid var(--border);background:#fff;color:var(--text);font-size:15px;outline:none}.input:focus,.textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(59,111,245,.12)}.textarea{min-height:120px;resize:vertical}.grid,.statGrid{display:grid;gap:10px}.statGrid{grid-template-columns:repeat(4,1fr);margin-bottom:14px}@media (max-width:600px){.statGrid{grid-template-columns:repeat(2,1fr)}}.statCard{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;box-shadow:var(--shadow)}.statValue{font-size:26px;font-weight:800;line-height:1.1;margin-bottom:3px}.statLabel{font-size:12px;color:var(--muted);font-weight:500}.visitCard{display:block;text-decoration:none;color:var(--text);border-radius:var(--radius);border:1px solid var(--border);background:var(--card);box-shadow:var(--shadow);overflow:hidden;position:relative;padding:13px 14px 13px 20px;transition:box-shadow .15s}.visitCard:hover{box-shadow:0 4px 18px rgba(0,0,0,.13)}.visitCard:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--primary);border-radius:4px 0 0 4px}.visitCardDone:before{background:#1a9e5c}.syncBanner{font-size:13px;padding:7px 14px;color:#1a7a4a;background:#e6f9f0;border:1px solid #b7e8d0;border-radius:10px;margin-bottom:14px}.checkItem{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--border);font-size:14px}.checkItem:last-child{border-bottom:none}table th{color:var(--muted);font-weight:600;font-size:13px}table td{font-size:14px}table tr:last-child td{border-bottom:none!important}@media (max-width:520px){.wrap{padding:10px}.h1{font-size:20px}.statValue{font-size:22px}}