:root{--bg:#f5f6f8;--card-bg:#fff;--border:#e3e5e9;--text:#1f2430;--text-sub:#6b7280;--accent:#1a6df5;--accent-bg:#eaf1fe;--danger:#d64545;--warn:#b45309;--warn-bg:#fef3e2;--radius:10px}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Segoe UI,Roboto,sans-serif;line-height:1.5}.layout{min-height:100vh;display:flex}.sidebar{border-right:1px solid var(--border);background:#fff;flex-shrink:0;width:264px;height:100vh;padding:16px 12px;position:sticky;top:0;overflow-y:auto}.sidebar-head{justify-content:space-between;align-items:center;padding:0 8px 10px;font-size:14px;font-weight:600;display:flex}.sidebar-head .count{background:var(--accent-bg);color:var(--accent);font-variant-numeric:tabular-nums;border-radius:999px;padding:1px 8px;font-size:12px}.record-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.record-item{cursor:pointer;border:1px solid #0000;border-radius:8px;padding:9px 10px}.record-item:hover{background:#f6f8fb}.record-item.active{background:var(--accent-bg);border-color:#cfe0fc}.record-line{justify-content:space-between;align-items:center;gap:8px;display:flex}.record-name{text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:500;overflow:hidden}.record-meta{justify-content:space-between;align-items:center;margin-top:2px;display:flex}.record-time{color:var(--text-sub);font-size:11.5px}.sync-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.sync-dot.synced{background:#22a06b}.sync-dot.local{background:#e3a008}.link-btn{color:var(--danger);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px}.link-btn:hover{text-decoration:underline}.sidebar-empty{color:var(--text-sub);text-align:center;padding:24px 8px;font-size:12.5px;line-height:1.8}.content{flex:1;min-width:0;max-width:1200px;margin:0 auto;padding:24px 20px 64px}.page-head h1{margin:0 0 4px;font-size:26px}.subtitle{color:var(--text-sub);margin:0 0 20px;font-size:14px}.section-title{margin:28px 0 12px;font-size:18px}.topbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.topbar .record-name{min-width:220px;font:inherit;border:1px solid var(--border);border-radius:8px;outline:none;flex:1;padding:8px 12px;font-size:14px}.topbar .record-name:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}.save-status{color:var(--text-sub);font-size:12.5px}.save-status.saving{color:var(--accent)}.save-status.saved{color:#22a06b}.save-status.offline{color:var(--warn)}.btn-ghost{color:var(--text);border-color:var(--border);background:#fff}.btn-ghost:hover{border-color:var(--accent);color:var(--accent);filter:none}.btn:disabled{opacity:.55;cursor:not-allowed}@media (width<=860px){.layout{flex-direction:column}.sidebar{border-right:none;border-bottom:1px solid var(--border);width:100%;height:auto;max-height:260px;position:static}}.card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:16px;padding:16px 18px}.card h2{margin:0 0 14px;font-size:16px}.card-head{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.card-head h2{margin:0}.grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-bottom:12px;display:grid}.field{color:var(--text-sub);flex-direction:column;gap:6px;font-size:13px;display:flex}.field input,.field select{font:inherit;color:var(--text);border:1px solid var(--border);background:#fff;border-radius:8px;outline:none;padding:8px 10px;font-size:14px}.field input:focus,.field select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}.field small{color:var(--text-sub);font-size:12px}.repay-table{flex-direction:column;gap:6px;display:flex}.repay-row{grid-template-columns:36px 1fr 1.4fr 64px;align-items:center;gap:10px;display:grid}.repay-head{color:var(--text-sub);font-size:13px}.repay-row .idx{text-align:center;color:var(--text-sub);font-size:13px}.repay-row input{font:inherit;border:1px solid var(--border);border-radius:8px;outline:none;padding:8px 10px;font-size:14px}.repay-row input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}.btn{font:inherit;border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;border-radius:8px;padding:7px 14px;font-size:14px}.btn:hover{filter:brightness(1.08)}.btn-danger{border-color:var(--border);color:var(--danger);background:0 0}.btn-danger:hover{border-color:var(--danger);background:#fdf0f0}.btn-danger:disabled{color:#c9ccd2;border-color:var(--border);cursor:not-allowed;background:0 0}.summary{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:16px;display:grid}.stat{flex-direction:column;gap:4px;margin:0;padding:12px 14px;display:flex}.stat .label{color:var(--text-sub);font-size:12px}.stat .value{font-variant-numeric:tabular-nums;font-size:18px;font-weight:600}.stat-total{border-color:var(--accent);background:var(--accent-bg)}.table-wrap{overflow-x:auto}table{border-collapse:collapse;font-variant-numeric:tabular-nums;white-space:nowrap;width:100%;font-size:13.5px}th,td{border-bottom:1px solid var(--border);text-align:left;padding:9px 10px}th{color:var(--text-sub);background:#fafbfc;font-weight:500;position:sticky;top:0}tbody tr:hover{background:#fafbfd}.num{text-align:right}.strong{font-weight:600}.date{color:var(--text-sub)}.warn{color:var(--warn);font-weight:600}.note{color:var(--text-sub);font-size:12.5px}.segments{white-space:normal}.segment{color:var(--text-sub);font-size:12.5px;line-height:1.7;display:block}.empty-tip{color:var(--text-sub);border:1px dashed var(--border);background:#fafbfc;border-radius:8px;margin:8px 0 0;padding:12px;font-size:13px}.error-box{background:var(--warn-bg);color:var(--warn);border:1px solid #f4d9a8;border-radius:8px;flex-direction:column;gap:4px;margin:0 0 12px;padding:10px 14px;font-size:13px;display:flex}.rules ul{flex-direction:column;gap:6px;margin:0 0 10px;padding-left:18px;font-size:13.5px;display:flex}.rules-tip{color:var(--text-sub);background:#fafbfc;border-radius:8px;margin:0;padding:10px 12px;font-size:12.5px}
