*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}:root{--blue: #2563eb;--blue-light: #eff6ff;--blue-dark: #1d4ed8;--green: #16a34a;--green-light: #f0fdf4;--red: #dc2626;--red-light: #fef2f2;--amber: #d97706;--amber-light: #fffbeb;--gray: #6b7280;--gray-light: #f9fafb;--gray-200: #e5e7eb;--text: #111827;--text-muted: #6b7280;--border: #e5e7eb;--white: #ffffff;--radius: 12px;--radius-sm: 8px;--shadow: 0 1px 3px rgba(0,0,0,.1);--nav-height: 64px;--safe-bottom: env(safe-area-inset-bottom, 0px)}html,body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;color:var(--text);background:var(--gray-light);min-height:100vh;overscroll-behavior:none}#root{max-width:430px;margin:0 auto;min-height:100vh;background:var(--white);position:relative}body.pricelist-page #root{max-width:100%!important;background:transparent}body.pricelist-page{background:#f8fafc}h1{font-size:22px;font-weight:700}h2{font-size:18px;font-weight:600}h3{font-size:16px;font-weight:600}p{line-height:1.5}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:12px 20px;border-radius:var(--radius-sm);font-size:16px;font-weight:600;border:none;cursor:pointer;transition:opacity .15s,transform .1s;text-decoration:none;white-space:nowrap}.btn:active{transform:scale(.97);opacity:.9}.btn-primary{background:var(--blue);color:#fff}.btn-success{background:var(--green);color:#fff}.btn-danger{background:var(--red);color:#fff}.btn-ghost{background:var(--gray-light);color:var(--text);border:1px solid var(--border)}.btn-full{width:100%}.btn-sm{padding:8px 14px;font-size:14px}.btn:disabled{opacity:.5;cursor:not-allowed}.fab{position:fixed;bottom:calc(var(--nav-height) + 16px + var(--safe-bottom));left:50%;transform:translate(-50%);background:var(--blue);color:#fff;border:none;border-radius:28px;padding:16px 28px;font-size:17px;font-weight:700;cursor:pointer;box-shadow:0 4px 16px #2563eb66;display:flex;align-items:center;gap:8px;z-index:100;white-space:nowrap;transition:transform .1s}.fab:active{transform:translate(-50%) scale(.96)}.card{background:var(--white);border-radius:var(--radius);border:1px solid var(--border);padding:16px;margin-bottom:12px}.card-tap{cursor:pointer;transition:background .1s}.card-tap:active{background:var(--gray-light)}.badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:20px;font-size:12px;font-weight:600}.badge-active{background:var(--green-light);color:var(--green)}.badge-priority{background:#fef3c7;color:#92400e}.badge-follow_up{background:var(--blue-light);color:var(--blue-dark)}.badge-avoid{background:var(--red-light);color:var(--red)}.badge-do_not_visit{background:#f3f4f6;color:var(--gray)}.form-group{margin-bottom:16px}.form-label{display:block;font-size:14px;font-weight:500;color:var(--text-muted);margin-bottom:6px}.form-input,.form-select,.form-textarea{width:100%;padding:12px 14px;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:16px;background:var(--white);color:var(--text);-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:border-color .15s}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--blue)}.form-textarea{min-height:80px;resize:vertical}.form-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%236b7280' d='M6 8L0 0h12z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:40px}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:430px;height:calc(var(--nav-height) + var(--safe-bottom));padding-bottom:var(--safe-bottom);background:var(--white);border-top:1px solid var(--border);display:flex;align-items:flex-start;z-index:200}.nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding-top:10px;gap:3px;cursor:pointer;text-decoration:none;color:var(--text-muted);font-size:11px;font-weight:500;transition:color .15s;background:none;border:none}.nav-item.active{color:var(--blue)}.nav-icon{font-size:22px;line-height:1}.page{padding:0 16px;padding-bottom:calc(var(--nav-height) + 80px + var(--safe-bottom));padding-top:16px}.page-header{display:flex;align-items:center;justify-content:space-between;padding:16px 16px 12px;position:sticky;top:0;background:var(--white);z-index:50;border-bottom:1px solid var(--border)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-8{gap:8px}.gap-12{gap:12px}.mt-8{margin-top:8px}.mt-16{margin-top:16px}.text-muted{color:var(--text-muted);font-size:14px}.text-sm{font-size:14px}.text-xs{font-size:12px}.font-bold{font-weight:700}.stars{color:#f59e0b;font-size:16px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:500;display:flex;align-items:flex-end;padding:0}.modal-sheet{background:var(--white);border-radius:20px 20px 0 0;width:100%;max-height:90vh;overflow-y:auto;padding:20px 20px calc(20px + var(--safe-bottom));animation:slideUp .25s ease}.modal-handle{width:40px;height:4px;background:var(--border);border-radius:2px;margin:0 auto 20px}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.map-container{width:100%;height:calc(100vh - var(--nav-height) - 60px)}.search-bar{position:relative;margin:0 16px 12px}.search-bar input{width:100%;padding:12px 14px 12px 40px;border:1.5px solid var(--border);border-radius:24px;font-size:16px;background:var(--gray-light)}.search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text-muted);font-size:16px}.toast{position:fixed;top:20px;left:50%;transform:translate(-50%);background:#1f2937;color:#fff;padding:12px 20px;border-radius:24px;font-size:14px;z-index:1000;max-width:320px;text-align:center;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0;transform:translate(-50%) translateY(-8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.metrics-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px}.metric-card{background:var(--gray-light);border-radius:var(--radius-sm);padding:14px 12px;border:1px solid var(--border)}.metric-value{font-size:22px;font-weight:700;color:var(--text);line-height:1.2}.metric-label{font-size:12px;color:var(--text-muted);margin-top:2px}.section-header{font-size:13px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;padding:16px 0 8px}.empty-state{text-align:center;padding:60px 20px;color:var(--text-muted)}.empty-icon{font-size:48px;margin-bottom:12px}
