:root{--ink: #1a1a1a;--muted: #6b7280;--border: #e5e7eb;--bg: #f7f8fa;--surface: #ffffff;--action: #2563eb;--danger: #b00020;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--ink)}*{box-sizing:border-box}body{margin:0;background:var(--bg)}.auth{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.card{width:100%;max-width:380px;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:28px;display:flex;flex-direction:column;gap:10px}.card h1{margin:0;text-align:center;font-size:30px}.card .muted{text-align:center;margin:0 0 8px}input{border:1px solid var(--border);border-radius:9px;padding:12px 14px;font-size:15px;background:var(--surface)}button{cursor:pointer;border:none;background:none;font-size:15px}button.primary{background:var(--action);color:#fff;border-radius:9px;padding:12px;font-weight:600;margin-top:4px}button.primary:disabled{opacity:.6;cursor:default}button.link{color:var(--action);font-weight:600;margin-top:8px}.choices{display:flex;flex-direction:column;gap:8px}.choices button{background:var(--action);color:#fff;border-radius:9px;padding:12px;font-weight:600}.app header{display:flex;justify-content:space-between;align-items:center;padding:14px 24px;background:var(--surface);border-bottom:1px solid var(--border)}.app main{padding:24px;max-width:900px;margin:0 auto}h2{font-size:20px}table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden}th,td{text-align:left;padding:10px 14px;border-bottom:1px solid var(--border);font-size:14px}th{background:#fafafa;font-weight:600}tbody tr:last-child td{border-bottom:none}.right{text-align:right}.muted{color:var(--muted)}.error{color:var(--danger)}.center{min-height:100vh;display:flex;align-items:center;justify-content:center}.brand{display:flex;align-items:center;gap:10px}nav{display:inline-flex;flex-wrap:wrap;gap:4px;margin-left:10px}button.nav{color:var(--muted);padding:6px 12px;border-radius:8px;font-weight:600}button.nav.active{color:var(--action);background:#eef2ff}.form{display:flex;flex-direction:column;gap:10px;max-width:420px;margin:14px 0}select{border:1px solid var(--border);border-radius:9px;padding:12px 14px;font-size:15px;background:var(--surface)}.added{margin-top:24px}code{background:#f3f4f6;padding:2px 7px;border-radius:6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.landing{max-width:960px;margin:0 auto;padding:0 24px}.topnav{display:flex;justify-content:space-between;align-items:center;padding:20px 0}.topnav .logo{font-size:20px}.hero{text-align:center;padding:64px 0 40px}.hero h1{font-size:44px;line-height:1.1;margin:0 0 16px;letter-spacing:-.5px}.lead{font-size:19px;color:var(--muted);max-width:620px;margin:0 auto 28px}.cta{display:flex;flex-direction:column;align-items:center;gap:12px}button.primary.big{font-size:17px;padding:14px 26px;border-radius:11px}.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;padding:32px 0 56px}.feature{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:22px}.feature h3{margin:0 0 8px;font-size:17px}.feature p{margin:0;color:var(--muted);font-size:14px;line-height:1.5}.landfoot{text-align:center;padding:24px 0 40px;font-size:13px}button.link.back{margin-top:16px;color:var(--muted)}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin:8px 0 28px}.tile{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:18px 20px}.tile.accent{border-color:#c7d2fe;background:#eef2ff}.tile.clickable{cursor:pointer}.tile.clickable:hover{border-color:var(--action)}.tile-label{color:var(--muted);font-size:13px;font-weight:600}.tile-value{font-size:26px;font-weight:800;margin-top:4px;letter-spacing:-.5px}.tile-sub{color:var(--muted);font-size:12px;margin-top:2px}h3{font-size:16px;margin-top:24px}.sugs{list-style:none;padding:0;margin:0}.sugs li{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:12px 14px;margin-bottom:8px;font-size:14px}.list-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.search{border:1px solid var(--border);border-radius:9px;padding:8px 12px;font-size:14px;min-width:240px}.clickable-row{cursor:pointer}.clickable-row:hover td{background:#f9fafb}.badge{display:inline-block;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:600;text-transform:capitalize}.badge-paid{background:#dcfce7;color:#166534}.badge-partial{background:#fef3c7;color:#92400e}.badge-pending{background:#e5e7eb;color:#374151}.badge-overdue{background:#fee2e2;color:#991b1b}.header-right{display:flex;align-items:center;gap:16px}.new-btn{padding:8px 16px;font-size:14px;border-radius:9px;white-space:nowrap}.create-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;margin-top:8px}.create-tile{display:flex;flex-direction:column;align-items:center;gap:8px;padding:22px 12px;background:var(--bg);border:1px solid var(--border);border-radius:12px;font-weight:700}.create-tile:hover{border-color:var(--action)}.create-icon{font-size:28px}.create-label{font-size:14px}.form-modal{max-width:480px}.form-field{margin:14px 0}.form-label{display:block;font-size:13px;font-weight:700;color:var(--muted);margin-bottom:6px}.req{color:#b45309}.form-field input,.form-field select,.form-field textarea{width:100%}textarea{border:1px solid var(--border);border-radius:9px;padding:11px 14px;font-size:15px;font-family:inherit;background:var(--surface);resize:vertical}.form-submit{width:100%;margin-top:8px}.form-done{text-align:center;padding:24px 8px 8px}.form-done-icon{font-size:44px;color:#16a34a}.form-done p{font-size:16px;margin:10px 0 20px}.lines{display:flex;flex-direction:column;gap:10px}.small{font-size:11px;font-weight:700;color:var(--muted)}.line-row{border:1px solid var(--border);border-radius:11px;padding:12px;background:var(--bg);display:flex;flex-direction:column;gap:8px}.line-head{display:flex;justify-content:space-between;align-items:center}.line-num{font-size:11px;font-weight:800;color:var(--muted)}.line-remove{color:#b45309;font-weight:700;font-size:15px}.line-row select,.line-row input{width:100%}.line-qty{display:flex;gap:8px}.line-qty label{flex:1;display:flex;flex-direction:column;gap:3px}.add-line{border:1px dashed var(--border);border-radius:10px;padding:11px;font-weight:700;color:var(--muted);width:100%}.chat{display:flex;flex-direction:column;height:calc(100vh - 130px)}.chat-actions{display:flex;gap:16px}.chat-scroll{flex:1;overflow-y:auto;padding:8px 2px 16px;display:flex;flex-direction:column;gap:10px}.chat-empty{color:var(--muted);margin:auto;text-align:center;max-width:420px;line-height:1.7}.chat-empty em{color:var(--ink);font-style:normal;white-space:nowrap}.bubble{max-width:76%;padding:10px 14px;border-radius:14px;font-size:14px;line-height:1.5;white-space:pre-wrap;word-wrap:break-word}.bubble.user{align-self:flex-end;background:var(--action);color:#fff;border-bottom-right-radius:4px}.bubble.assistant{align-self:flex-start;background:var(--surface);border:1px solid var(--border);border-bottom-left-radius:4px}.bubble.error{align-self:flex-start;background:#fee2e2;color:#991b1b}.bubble.thinking{color:var(--muted)}.chat-input{display:flex;gap:8px;align-items:flex-end;border-top:1px solid var(--border);padding-top:12px}.chat-input textarea{flex:1;border:1px solid var(--border);border-radius:10px;padding:11px 14px;font-size:15px;font-family:inherit;resize:none;max-height:140px;background:var(--surface)}.chat-input .primary{padding:11px 20px}.history{display:flex;flex-direction:column;gap:6px}.history-row{text-align:left;border:1px solid var(--border);border-radius:10px;padding:11px 13px;background:var(--surface);display:block;width:100%}.history-row.active{border-color:var(--action);background:#eef2ff}.history-title{font-weight:600;font-size:14px}.history-preview{color:var(--muted);font-size:12px;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filters{display:flex;gap:8px;margin:14px 0 4px}.chip-btn{border:1px solid var(--border);background:var(--surface);border-radius:999px;padding:6px 14px;font-size:13px;font-weight:600;color:var(--muted)}.chip-btn.active{border-color:var(--action);background:#eef2ff;color:var(--action)}.day-group{margin-top:22px}.day-head{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:700;color:var(--ink);padding-bottom:8px;border-bottom:1px solid var(--border)}.today-pill{background:var(--action);color:#fff;font-size:11px;font-weight:700;padding:1px 8px;border-radius:999px}.visit-row{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:12px 14px;margin-top:8px}.visit-main{flex:1;min-width:0}.visit-title{font-size:15px;font-weight:700}.visit-sub{font-size:12px;color:var(--muted);margin-top:2px}.visit-right{display:flex;align-items:center;gap:10px;flex-shrink:0}.chip{font-size:12px;font-weight:600;color:var(--muted);background:#f3f4f6;border-radius:6px;padding:2px 8px}.who{font-size:12px;font-weight:700}.who.assigned{color:#166534}.who.unassigned{color:#92400e}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:flex-start;justify-content:center;padding:40px 20px;overflow:auto;z-index:50}.modal{background:var(--surface);border-radius:14px;padding:24px;max-width:560px;width:100%}.modal-head{display:flex;justify-content:space-between;align-items:center}.modal-head h3{margin:0}.kv{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px solid var(--border);font-size:14px}.kv span:first-child{color:var(--muted)}.pos{color:#166534}.neg{color:#991b1b}.warn{color:#92400e}h4{font-size:14px;margin:20px 0 8px}
