.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.login-card{width:100%;max-width:420px;background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;border:1px solid #e5e7eb;padding:28px}.login-title{font-size:24px;font-weight:700;color:#1f2937;margin-bottom:6px}.login-subtitle{font-size:14px;color:#6b7280;margin-bottom:20px}.login-form{display:flex;flex-direction:column;gap:14px}.form-field{display:flex;flex-direction:column;gap:8px}.form-label{font-size:14px;color:#374151}.form-input{width:100%;padding:12px 14px;border:1px solid #d1d5db;border-radius:8px;font-size:16px;background-color:#fff}.form-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.branch-selector{display:flex;gap:8px}.branch-button{flex:1;padding:12px 16px;border:1px solid #d1d5db;border-radius:8px;font-size:16px;font-weight:500;background-color:#fff;color:#374151;cursor:pointer;transition:all .2s}.branch-button:hover:not(:disabled){border-color:#3b82f6;background-color:#f0f7ff}.branch-button.active{background-color:#3b82f6;color:#fff;border-color:#3b82f6}.branch-button:disabled{opacity:.6;cursor:not-allowed}.login-button{margin-top:6px;padding:12px 16px;background-color:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer}.login-button:hover{background-color:#2563eb}@media (max-width: 768px){.login-card{padding:24px}}.form-success{margin-top:8px;color:#059669;font-size:14px}.form-error{margin-top:8px;color:#dc2626;font-size:14px}.login-actions{display:flex;gap:10px;margin-top:10px}.btn-primary,.btn-secondary{flex:1;padding:12px 16px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;border:1px solid transparent}.btn-primary{background-color:#3b82f6;color:#fff}.btn-secondary{background-color:#f3f4f6;color:#374151;border-color:#d1d5db}.btn-primary:disabled,.btn-secondary:disabled{opacity:.6;cursor:not-allowed}.form-row{display:flex;gap:12px}.form-row .form-col{flex:1}@media (max-width: 768px){.form-row{flex-direction:column}}.mt-8px{margin-top:8px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5}#root{height:100vh;width:100vw;position:relative}.fixed-header{position:fixed;top:0;left:0;right:0;height:60px;background-color:#1e3a8a;color:#fff;display:flex;align-items:center;padding:0 20px;z-index:1003;box-shadow:0 2px 4px #0000001a}.header-menu-toggle{background:none;border:none;color:#fff;font-size:24px;cursor:pointer;padding:8px;border-radius:4px;transition:background-color .2s}.header-menu-toggle:hover{background-color:#ffffff1a}@media (min-width: 769px){.header-menu-toggle{display:none}}.header-title{position:absolute;left:50%;transform:translate(-50%);font-size:20px;font-weight:700;margin:0}.sidebar-overlay{position:fixed;inset:0;background-color:#00000080;z-index:999;display:none}.sidebar{width:250px;background-color:#1e3a8a;color:#fff;display:flex;flex-direction:column;position:fixed;height:calc(100vh - 60px);left:0;top:60px;z-index:1000;transition:transform .3s ease}.sidebar.closed{transform:translate(-100%)}.sidebar-header{padding:20px;border-bottom:1px solid #3b82f6;display:flex;align-items:center;justify-content:center}.sidebar-title{font-size:18px;font-weight:700}.sidebar-menu{flex:1;padding:20px 0}.menu-item{display:flex;align-items:center;padding:15px 20px;cursor:pointer;transition:background-color .2s;border:none;background:none;color:#fff;width:100%;text-align:left;font-size:16px}.menu-item:hover{background-color:#3b82f6}.menu-item.active{background-color:#60a5fa}.menu-item-icon{margin-right:12px;font-size:18px}.sidebar-footer{padding:20px;border-top:1px solid #3b82f6}.main-content{position:absolute;inset:60px 0 0 250px;padding:20px 30px;background-color:#f5f5f5;overflow-y:auto;transition:all .3s ease}.main-content.sidebar-closed{left:0}.page-header{margin-bottom:30px}.page-title{font-size:32px;font-weight:700;color:#1f2937;margin-bottom:8px}.page-subtitle{font-size:16px;color:#6b7280}.kpi-section{margin-bottom:40px}.kpi-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.kpi-section-title{font-size:20px;font-weight:600;color:#1f2937;margin:0}.kpi-toggle-btn{background:#3b82f6;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:14px;cursor:pointer;transition:background-color .2s;display:none}.kpi-toggle-btn:hover{background:#2563eb}@media (max-width: 768px){.kpi-toggle-btn{display:block}}.kpi-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;max-width:100%}.kpi-card{background:#fff;padding:25px;border-radius:12px;box-shadow:0 2px 4px #0000001a;display:flex;align-items:center;gap:15px}.kpi-top{display:flex;align-items:center;gap:12px}.kpi-icon{width:50px;height:50px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:24px;color:#fff}.kpi-icon.blue{background-color:#3b82f6}.kpi-icon.green{background-color:#10b981}.kpi-icon.purple{background-color:#a855f7}.kpi-icon.orange{background-color:#f59e0b}.kpi-content{flex:1}.kpi-number{font-size:28px;font-weight:700;color:#1f2937;margin-bottom:4px}.kpi-label{font-size:14px;color:#6b7280}.section{background:#fff;border-radius:12px;box-shadow:0 2px 4px #0000001a;margin-bottom:30px;max-width:100%}.section-header{padding:20px 25px;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;justify-content:space-between}.section-title{font-size:20px;font-weight:700;color:#1f2937}.view-all-btn{background:none;border:none;color:#3b82f6;font-size:14px;cursor:pointer;text-decoration:underline}.visit-records{max-height:calc(100vh - 290px);overflow-y:auto}.visit-record{padding:20px 25px;border-bottom:1px solid #f3f4f6;display:grid;grid-template-columns:1fr 2fr 1fr 140px;gap:20px;align-items:start;cursor:pointer}.visit-record:hover{background:#f8fafc}.visit-record:last-child{border-bottom:none}.company-info{display:flex;flex-direction:column;gap:4px}.company-name{font-weight:700;color:#1f2937;font-size:16px;margin-bottom:4px}.company-desc{font-size:14px;color:#6b7280}.visit-desc{font-size:14px;color:#374151;line-height:1.5}.next-action{font-size:14px;color:#059669;font-weight:500;line-height:1.4}.visit-date{font-size:12px;color:#9ca3af;text-align:right}.placeholder-content{padding:20px;text-align:center;color:#6b7280}.search-section{margin-bottom:30px}.search-container{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.search-input-wrapper{position:relative;flex:1;max-width:100%;display:flex;flex-direction:row;align-items:center;gap:10px}.search-input{flex:1;min-width:0;padding:12px 16px;border:1px solid #d1d5db;border-radius:8px;font-size:16px;background-color:#fff;transition:border-color .2s}.search-input-wrapper:has(>.search-icon) .search-input{padding-left:44px}.search-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.search-input-wrapper .search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#9ca3af;font-size:16px;line-height:1;pointer-events:none;z-index:1}.search-button{display:flex;align-items:center;gap:8px;padding:10px 20px;background-color:#fff;color:#000;border:1px solid #d1d5db;border-radius:8px;font-size:16px;font-weight:500;cursor:pointer;transition:background-color .2s}.search-button:hover{background-color:#2563eb}.search-button .search-icon{font-size:16px}.client-cards{display:flex;flex-direction:column;gap:20px}.client-card{background:#fff;border-radius:12px;box-shadow:0 2px 4px #0000001a;padding:24px;border:1px solid #e5e7eb}.client-card-header{margin-bottom:20px}.client-info{display:flex;justify-content:space-between;align-items:flex-start}.company-info{display:flex;align-items:center;gap:12px}.company-icon{font-size:24px}.company-details{display:flex;flex-direction:column;gap:4px}.print-only{display:none}.print-text-block{white-space:pre-wrap;word-wrap:break-word}.representative{font-size:14px;color:#6b7280}.client-category{display:flex;align-items:center}.category-tag{background-color:#dbeafe;color:#1e40af;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:500}.client-details{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.detail-item{display:flex;align-items:center;gap:12px}.detail-icon{font-size:16px;width:20px;text-align:center}.detail-text{font-size:14px;color:#374151;line-height:1.5}.client-actions{display:flex;gap:12px;justify-content:flex-start;width:100%}.edit-button{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;background-color:#f3f4f6;color:#374151;border:1px solid #d1d5db;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s;width:100%}.detail-button{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;background-color:#dbeafe;color:#1d68e3;border:1px solid #bed9ff;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s;width:100%}.edit-button:hover{background-color:#e5e7eb;border-color:#9ca3af}.detail-button:hover{background-color:#bed9ff;border-color:#73adff}.deactivate-button{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;background-color:#fef2f2;color:#dc2626;border:1px solid #fecaca;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s;width:100%}.deactivate-button:hover{background-color:#fee2e2;border-color:#fca5a5}.action-icon{font-size:14px}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:30px}.page-header-content{flex:1}.add-visit-btn{display:flex;align-items:center;gap:8px;padding:12px 20px;background-color:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:500;cursor:pointer;transition:background-color .2s}.add-visit-btn:hover{background-color:#2563eb}.btn-icon{font-size:18px;font-weight:700}.visit-records{display:flex;flex-direction:column;gap:20px}.visit-record-card{background:#fff;border-radius:12px;box-shadow:0 2px 4px #0000001a;padding:24px;border:1px solid #e5e7eb}.visit-record-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.visit-info{display:flex;align-items:center;gap:12px}.calendar-icon{font-size:20px}.company-name{font-size:18px;font-weight:700;color:#1f2937}.manager-name{font-size:14px;color:#6b7280;font-weight:400;padding-left:8px;position:relative}.manager-name:before{content:"/";margin-right:8px;color:#d1d5db}.visit-actions{display:flex;align-items:center;gap:12px}.status-tag{padding:4px 12px;border-radius:20px;font-size:12px;font-weight:500;color:#fff}.status-completed{background-color:#10b981}.status-pending{background-color:#f59e0b}.status-cancelled{background-color:#ef4444}.action-buttons{display:flex;gap:8px}.edit-btn,.delete-btn{background:none;border:none;font-size:16px;cursor:pointer;padding:4px;border-radius:4px;transition:background-color .2s}.edit-btn:hover{background-color:#f3f4f6}.delete-btn:hover{background-color:#fef2f2}.visit-details{display:flex;flex-direction:column;gap:16px}.clickable-card{cursor:pointer}.visit-datetime{font-size:14px;color:#6b7280;font-weight:500}.visit-tags{display:flex;gap:8px;flex-wrap:wrap}.visit-tag{background-color:#dbeafe;color:#1e40af;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:500}.visit-description{font-size:14px;color:#374151;line-height:1.6}.next-action{background-color:#fef3c7;border:1px solid #fbbf24;border-radius:8px;padding:12px 16px}.next-action-content{display:flex;align-items:center;gap:12px}.next-action-icon{font-size:16px;color:#f59e0b}.next-action-text{flex:1;font-size:14px;color:#92400e;font-weight:500}.next-action-tag{background-color:#dbeafe;color:#1e40af;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:500}.add-schedule-btn{display:flex;align-items:center;gap:8px;padding:12px 20px;background-color:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:500;cursor:pointer;transition:background-color .2s}.add-schedule-btn:hover{background-color:#2563eb}.schedule-cards{display:flex;flex-direction:column;gap:20px}.schedule-card{background:#fff;border-radius:12px;box-shadow:0 2px 4px #0000001a;padding:24px;border:1px solid #e5e7eb}.schedule-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.schedule-info{display:flex;align-items:center;gap:12px}.schedule-actions{display:flex;gap:8px}.schedule-details{display:flex;flex-direction:column;gap:16px}.schedule-datetime{display:flex;align-items:center;gap:8px;font-size:14px;color:#6b7280;font-weight:500}.schedule-tags{display:flex;gap:8px;flex-wrap:wrap}.schedule-tag{background-color:#dbeafe;color:#1e40af;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:500}.schedule-description{font-size:14px;color:#374151;line-height:1.6}.schedule-notification{display:flex;align-items:center;gap:8px}.notification-icon{font-size:16px;color:#f59e0b}.schedule-main-content{display:flex;gap:24px;margin-top:24px}.schedule-list-section,.calendar-section{flex:1;min-width:0}.section-title{font-size:20px;font-weight:600;color:#1f2937}.calendar-container{background:#fff;border-radius:12px;box-shadow:0 2px 4px #0000001a;padding:24px;border:1px solid #e5e7eb;margin-bottom:24px}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.calendar-nav-btn{background:#f3f4f6;border:none;border-radius:8px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:18px;color:#374151;transition:background-color .2s}.calendar-nav-btn:hover{background:#e5e7eb}.calendar-month{font-size:20px;font-weight:600;color:#1f2937;margin:0}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;margin-bottom:8px}.calendar-weekday{text-align:center;padding:12px 8px;font-weight:600;color:#6b7280;font-size:14px;background:#f9fafb;border-radius:4px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:#e5e7eb;border-radius:8px;overflow:hidden}.calendar-day{background:#fff;min-height:80px;padding:8px;cursor:pointer;transition:background-color .2s;position:relative;display:flex;flex-direction:column}.calendar-day:hover{background:#f9fafb}.calendar-day.other-month{background:#f9fafb;color:#9ca3af}.calendar-day.today{background:#dbeafe;color:#1e40af;font-weight:600}.calendar-day.selected{background:#3b82f6;color:#fff}.day-number{font-size:14px;font-weight:500;margin-bottom:4px}.day-schedules{flex:1;display:flex;flex-direction:column;gap:2px}.day-schedule-item{display:block;width:100%;border:none;text-align:left;cursor:pointer;background:#e0e7ff;color:#3730a3;padding:2px 6px;border-radius:4px;font-size:10px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-day.selected .day-schedule-item{background:#ffffff4d;color:#fff}.day-schedule-more{background:#f3f4f6;color:#6b7280;padding:2px 6px;border-radius:4px;font-size:10px;font-weight:500;text-align:center}.calendar-day.selected .day-schedule-more{background:#ffffff4d;color:#fff}.selected-date-schedules{background:#fff;border-radius:12px;box-shadow:0 2px 4px #0000001a;padding:24px;border:1px solid #e5e7eb}.selected-date-title{font-size:18px;font-weight:600;color:#1f2937;margin-bottom:16px}.selected-schedules{display:flex;flex-direction:column;gap:12px}.selected-schedule-item{padding:16px;background:#f9fafb;border-radius:8px;border-left:4px solid #3b82f6}.selected-schedule-time{font-size:14px;font-weight:600;color:#3b82f6;margin-bottom:4px}.selected-schedule-company{font-size:16px;font-weight:600;color:#1f2937;margin-bottom:4px}.selected-schedule-description{font-size:14px;color:#6b7280}.no-schedules{text-align:center;color:#9ca3af;font-style:italic;padding:20px}.detailed-search-filters{margin-top:16px;padding:20px;width:100%;background:#f8fafc;border-radius:12px;border:1px solid #e2e8f0}.filter-row{display:flex;gap:16px;margin-bottom:16px;align-items:end}.filter-row:last-child{margin-bottom:0}.filter-group{flex:1;display:flex;flex-direction:column;gap:6px}.filter-label{font-size:14px;font-weight:600;color:#374151}.filter-input{padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;transition:border-color .2s,box-shadow .2s;background:#fff}.filter-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.filter-actions{display:flex;gap:12px;align-items:center}.clear-filters-btn{padding:10px 16px;background:#f3f4f6;color:#374151;border:1px solid #d1d5db;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s,border-color .2s}.clear-filters-btn:hover{background:#e5e7eb;border-color:#9ca3af}.no-results-text{font-size:14px;color:#f59e0b;font-weight:500;margin-left:8px}@media (max-width: 1024px){.schedule-main-content{flex-direction:column}.calendar-grid{grid-template-columns:repeat(7,1fr)}.calendar-day{min-height:60px}.filter-row{flex-direction:column;gap:12px}.filter-actions{width:100%;justify-content:flex-end}}@media (max-width: 768px){.schedule-main-content{flex-direction:column}.calendar-day{min-height:50px;padding:4px}.day-number{font-size:12px}.day-schedule-item{font-size:9px;padding:1px 4px}.detailed-search-filters{padding:16px}.filter-row{gap:8px}.filter-actions{flex-direction:column;gap:8px}.clear-filters-btn,.search-button{width:100%}}.notification-text{font-size:14px;color:#f59e0b;font-weight:500}.purpose-stats{display:flex;flex-direction:column;gap:16px}.purpose-stat-item{display:flex;align-items:center;gap:16px}.purpose-name{min-width:120px;font-size:14px;color:#374151;font-weight:500}.purpose-bar-container{flex:1;height:20px;background-color:#f3f4f6;border-radius:10px;overflow:hidden;position:relative}.purpose-bar{height:100%;background-color:#3b82f6;border-radius:10px;transition:width .3s ease}.purpose-count{min-width:30px;text-align:right;font-size:14px;color:#1f2937;font-weight:600}.top-clients{display:flex;flex-direction:column;gap:12px}.top-client-item{display:flex;align-items:center;gap:16px;padding:12px 0;border-bottom:1px solid #f3f4f6}.top-client-item:last-child{border-bottom:none}.client-rank{width:24px;height:24px;background-color:#3b82f6;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}.client-info{display:flex;align-items:center;gap:8px;flex:1}.client-icon{font-size:16px}.client-name{font-size:14px;color:#374151;font-weight:500}.client-visits{font-size:12px;color:#6b7280}.monthly-chart{padding:25px 0}.chart-container{display:flex;gap:16px;min-height:350px}.chart-y-axis{display:flex;flex-direction:column;justify-content:space-between;width:40px;padding:20px 0}.y-axis-label{font-size:12px;color:#6b7280;text-align:right;height:20px;display:flex;align-items:center;justify-content:flex-end}.chart-area{flex:1;position:relative;padding:20px 0 40px}.chart-area-svg{width:100%;height:250px;display:block}.chart-x-axis{display:flex;justify-content:space-between;margin-top:10px;padding:0 20px}.x-axis-label{font-size:10px;color:#6b7280;text-align:center;white-space:nowrap}.chart-bars{display:flex;align-items:flex-end;gap:8px;height:100%;padding:0 8px}.chart-bar-container{flex:1;display:flex;flex-direction:column;align-items:center;height:100%}.chart-bar{width:100%;background-color:#3b82f6;border-radius:4px 4px 0 0;min-height:4px;transition:height .3s ease}.chart-label{font-size:10px;color:#6b7280;margin-top:8px;text-align:center;transform:rotate(-45deg);white-space:nowrap}@media (max-width: 1200px){.kpi-cards{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.sidebar-overlay{display:block}.sidebar{width:200px;z-index:1001}.main-content{left:0;padding:20px}.visit-record{grid-template-columns:1fr;gap:10px}.kpi-cards{grid-template-columns:repeat(2,1fr);gap:15px}.kpi-card{flex-direction:column;text-align:center;padding:20px 15px}.kpi-top{display:flex;align-items:center;justify-content:center;width:100%}.kpi-icon{margin-right:10px}.kpi-number{font-size:24px}.kpi-label{font-size:14px}.kpi-section-header{flex-direction:column;align-items:flex-start;gap:10px}.kpi-toggle-btn{align-self:flex-end}.section{max-width:100%}.search-container{flex-direction:column;gap:12px;flex-direction:row}.search-input-wrapper{max-width:100%;width:100%;display:block}.search-button{width:100%;justify-content:center}.client-info{flex-direction:column;gap:12px;align-items:flex-start}.client-actions{flex-direction:column;gap:8px}.detail-button,.edit-button,.deactivate-button{width:100%;justify-content:center}.page-header{flex-direction:column;gap:16px;align-items:stretch}.add-visit-btn{width:100%;justify-content:center}.visit-record-header{flex-direction:column;gap:12px;align-items:flex-start}.visit-actions{width:100%;justify-content:space-between}.next-action-content{flex-direction:column;gap:8px;align-items:flex-start}.next-action-tag{align-self:flex-start}.add-schedule-btn{width:100%;justify-content:center}.schedule-header{flex-direction:column;gap:12px;align-items:flex-start}.schedule-actions{width:100%;justify-content:flex-end}.purpose-stat-item{flex-direction:column;gap:8px;align-items:stretch}.purpose-name{min-width:auto;text-align:left}.top-client-item{flex-direction:column;gap:8px;align-items:flex-start}.client-info{flex:none}.chart-container{height:200px}.chart-bars{gap:4px}.chart-label{font-size:8px}}.modal-overlay{position:fixed;inset:0;background-color:#00000080;z-index:2000;display:flex;align-items:center;justify-content:center;padding:20px}.modal-content{background:#fff;border-radius:12px;box-shadow:0 10px 25px #0003;max-width:1200px;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 30px;border-bottom:1px solid #e5e7eb;background-color:#f8fafc}.modal-title{font-size:24px;font-weight:700;color:#1f2937;margin:0}.modal-close-btn{background:none;border:none;font-size:28px;color:#6b7280;cursor:pointer;padding:4px;border-radius:4px;transition:background-color .2s}.modal-close-btn:hover{background-color:#e5e7eb}.modal-body{flex:1;overflow-y:auto;padding:30px}.detail-section{margin-bottom:40px}.detail-section:last-child{margin-bottom:0}.modal-section-header{display:flex;align-items:center;gap:12px;margin-bottom:20px;padding:12px 20px;background-color:#dbeafe;border-radius:8px}.section-number{background-color:#3b82f6;color:#fff;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px}.section-title{font-size:18px;font-weight:700;color:#1f2937;margin:0;display:flex}.company-overview{display:grid;grid-template-columns:1fr 1fr;gap:30px;background:#fff;padding:20px;border-radius:8px;border:1px solid #e5e7eb}.overview-item{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.overview-label{font-size:14px;font-weight:600;color:#6b7280}.overview-value{font-size:16px;color:#1f2937;font-weight:500}.sales-sections{display:flex;flex-direction:column;gap:20px}.sales-section-block{display:flex;flex-direction:column;gap:10px}.sales-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.sales-section-tools{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.metric-toggle{display:flex;gap:4px}.metric-toggle-btn{padding:6px 12px;border:1px solid #d1d5db;border-radius:6px;background:#fff;color:#374151;font-size:13px;font-weight:600;cursor:pointer}.metric-toggle-btn.active{background:#3b82f6;color:#fff;border-color:#3b82f6}.sales-section-title{margin:0;font-size:15px;font-weight:700;color:#1e40af}.personnel-table,.financial-table,.transaction-table,.consultation-table{background:#fff;border-radius:8px;border:1px solid #e5e7eb}.personnel-table,.financial-table,.consultation-table{overflow:hidden}.transaction-table{overflow-x:auto}.personnel-table table,.financial-table table,.transaction-table table,.consultation-table table{width:100%;border-collapse:collapse}.personnel-table th,.financial-table th,.transaction-table th,.consultation-table th{background-color:#dbeafe;color:#1e40af;padding:12px 16px;text-align:center;font-weight:600;font-size:14px;border-bottom:1px solid #bfdbfe}.personnel-table td,.financial-table td,.transaction-table td,.consultation-table td{padding:12px 16px;text-align:center;font-size:14px;color:#374151;border-bottom:1px solid #f3f4f6}.personnel-table tr:last-child td,.financial-table tr:last-child td,.transaction-table tr:last-child td,.consultation-table tr:last-child td{border-bottom:none}.address-cell{text-align:left!important;background-color:#f9fafb}.address-label{font-weight:600;color:#6b7280;margin-right:8px}.address-value{color:#374151}.credit-rating,.remarks{font-weight:600;color:#1f2937}.table-note{padding:12px 16px;font-size:12px;color:#6b7280;text-align:right;background-color:#f9fafb;border-top:1px solid #e5e7eb}@media (max-width: 1024px){.modal-content{max-width:95%;margin:10px}.company-overview{grid-template-columns:1fr;gap:20px}.personnel-table,.financial-table,.transaction-table,.consultation-table{overflow-x:auto}.personnel-table table,.financial-table table,.transaction-table table,.consultation-table table{min-width:800px}}@media (max-width: 768px){.modal-overlay{padding:10px}.modal-content{max-width:100%;max-height:95vh}.modal-header{padding:16px 20px}.modal-title{font-size:20px}.modal-body{padding:20px}.modal-section-header{padding:10px 16px}.modal-section-title{font-size:14px}.company-overview{padding:16px}.overview-item{margin-bottom:12px}.overview-label,.overview-value{font-size:12px}.personnel-table th,.financial-table th,.transaction-table th,.consultation-table th,.personnel-table td,.financial-table td,.transaction-table td,.consultation-table td{padding:8px 12px;font-size:12px}}.visit-modal-content{background:#fff;border-radius:12px;box-shadow:0 10px 25px #0003;max-width:600px;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.visit-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-label{font-size:14px;font-weight:600;color:#374151}.form-hint{font-size:13px;color:#6b7280}.customer-combobox{width:100%}.customer-combobox .form-input{width:100%;padding-right:40px}.customer-combobox-menu{position:fixed;z-index:4000;max-height:240px;overflow-y:auto;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 8px 20px #0000001f}.customer-combobox-option{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;border:none;background:#fff;text-align:left;padding:10px 12px;cursor:pointer;font-size:14px;color:#111827}.customer-combobox-option.highlight,.customer-combobox-option:hover{background:#eff6ff}.customer-combobox-option.selected{background:#dbeafe}.customer-combobox-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.customer-combobox-code{flex-shrink:0;font-size:12px;color:#6b7280}.customer-combobox-empty{padding:12px;font-size:13px;color:#6b7280}.form-input,.form-select,.form-textarea{padding:12px 16px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;transition:border-color .2s,box-shadow .2s;background:#fff}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-input.error,.form-select.error{border-color:#ef4444}.form-textarea{resize:vertical;min-height:100px}.input-wrapper,.select-wrapper{position:relative;width:100%}.input-icon,.select-arrow{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:#9ca3af;font-size:16px;pointer-events:none}.select-wrapper select{appearance:none;padding-right:40px;width:100%}.checkbox-group{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.checkbox-item{display:flex;align-items:center;gap:8px;cursor:pointer;padding:8px;border-radius:6px;transition:background-color .2s}.checkbox-item:hover{background-color:#f9fafb}.checkbox-item input[type=checkbox]{width:16px;height:16px;accent-color:#3b82f6}.checkbox-label{font-size:14px;color:#374151}.error-message{font-size:12px;color:#ef4444;margin-top:4px}.modal-footer{display:flex;gap:12px;padding:20px 30px;border-top:1px solid #e5e7eb;background-color:#f8fafc}.cancel-btn{display:flex;align-items:center;gap:8px;padding:12px 20px;background-color:#f3f4f6;color:#374151;border:1px solid #d1d5db;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s;flex:1}.cancel-btn:hover{background-color:#e5e7eb}.submit-btn{display:flex;align-items:center;gap:8px;padding:12px 20px;background-color:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s;flex:1}.submit-btn:hover{background-color:#2563eb}.print-btn{display:flex;align-items:center;gap:8px;padding:12px 20px;background-color:#10b981;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s;flex:1}.print-btn:hover{background-color:#059669}.btn-icon{font-size:16px;font-weight:700}@media (max-width: 768px){.visit-modal-content{max-width:95%;margin:10px}.checkbox-group{grid-template-columns:1fr}.modal-footer{flex-direction:column;gap:8px}.cancel-btn,.submit-btn,.print-btn{width:100%;justify-content:center}}@media print{.form-textarea{display:none!important}.print-only{display:block!important}@page{margin:0;size:A4}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}body{margin:0;padding:0}.modal-overlay{position:fixed;inset:0;margin:0;padding:0;background:#fff;display:block!important;overflow:visible}.visit-modal-content{max-width:100%!important;width:100%!important;max-height:none!important;height:auto!important;margin:0!important;padding:20px!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important;page-break-inside:auto!important}.modal-header{padding:10px 0!important;margin-bottom:10px!important;border-bottom:1px solid #000!important}.modal-body{padding:0!important;overflow:visible!important;max-height:none!important;height:auto!important}.modal-footer,.print-btn,.cancel-btn,.modal-close-btn{display:none!important}.visit-form{gap:15px!important}.form-group{page-break-inside:avoid}.form-textarea{max-height:none!important;height:auto!important;overflow:visible!important;resize:none!important;min-height:0!important;white-space:pre-wrap!important;word-wrap:break-word!important}textarea.form-textarea{height:auto!important;overflow:visible!important}.print-text-block{border:1px solid #d1d5db!important;border-radius:8px!important;padding:12px 16px!important;background:#fff!important;font-size:14px!important;line-height:1.6!important;color:#111827!important;page-break-inside:auto!important;box-shadow:none!important}}
