:root{color:#263442;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-optical-sizing:auto;background:#f4f6f8;font-family:Inter,Segoe UI,Arial,sans-serif}*{box-sizing:border-box}html,body{min-width:320px;min-height:100%;margin:0}body{min-height:100vh}button,input{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}#root{width:100%;min-height:100vh}.login-page{box-sizing:border-box;background:radial-gradient(circle at 15% 15%,#d747372e,#0000 35%),linear-gradient(135deg,#082b4a 0%,#061c32 100%);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:32px 20px;display:flex}.login-card{box-sizing:border-box;background:#fff;border-radius:16px;width:100%;max-width:440px;padding:38px 40px 24px;box-shadow:0 20px 60px #00000040}.brand{border-bottom:1px solid #eee;justify-content:center;align-items:center;gap:12px;padding-bottom:28px;display:flex}.brand-icon{color:#fff;letter-spacing:-1px;background:#d74737;border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;font-size:17px;font-weight:800;display:flex}.brand h1{color:#252525;letter-spacing:-1.5px;margin:0;font-size:29px;font-weight:400}.brand span{color:#d74737;letter-spacing:3px;margin-top:2px;font-size:10px;font-weight:700;display:block}.login-content{padding:32px 0}.login-content h2{color:#202b36;margin:0 0 8px;font-size:26px}.login-content>p{color:#7a8490;margin:0 0 28px;font-size:14px}.login-content form{flex-direction:column;display:flex}.login-content label{color:#344253;margin:0 0 8px;font-size:13px;font-weight:600}.login-content input{box-sizing:border-box;color:#263442;background:#fff;border:1px solid #dce1e6;border-radius:8px;outline:none;width:100%;height:48px;margin-bottom:22px;padding:0 14px;font-size:14px;transition:border-color .2s,box-shadow .2s}.login-content input:focus{border-color:#d74737;box-shadow:0 0 0 3px #d747371f}.password-field{position:relative}.password-field input{padding-right:85px}.show-password{color:#d74737;cursor:pointer;background:0 0;border:none;height:30px;font-size:12px;font-weight:600;position:absolute;top:9px;right:10px}.login-button{color:#fff;cursor:pointer;background:#d74737;border:none;border-radius:8px;justify-content:center;align-items:center;gap:12px;height:50px;margin-top:6px;font-size:15px;font-weight:700;transition:background .2s,transform .2s;display:flex}.login-button:hover{background:#bd382b;transform:translateY(-1px)}.login-button span{font-size:20px}.login-footer{color:#929ba5;border-top:1px solid #eee;justify-content:space-between;gap:10px;padding-top:18px;font-size:11px;display:flex}.page-footer{color:#ffffffa6;text-align:center;margin-top:24px;font-size:11px}@media (width<=480px){.login-page{padding:20px 14px}.login-card{padding:28px 24px 20px}.login-content{padding:26px 0}.login-footer{flex-direction:column;align-items:center}}.brand-logo{object-fit:contain;width:190px;max-width:100%;height:auto;display:block}.success-message{color:#16803c;background:#eaf7ee;border:1px solid #b7e4c7;border-radius:8px;margin-bottom:12px;padding:10px 12px;font-size:14px}.dashboard{color:#263442;background:#f4f6f8;min-height:100vh;display:flex}.sidebar{color:#fff;background:#092d50;flex-direction:column;flex-shrink:0;width:250px;padding:28px 18px;display:flex}.sidebar-brand{border-bottom:1px solid #ffffff26;flex-direction:column;align-items:center;gap:10px;padding:5px 10px 35px;display:flex}.sidebar-brand img{width:175px;max-width:100%}.sidebar-brand span{letter-spacing:3px;color:#f5c342;font-size:12px;font-weight:700}.sidebar nav{flex-direction:column;gap:8px;margin-top:30px;display:flex}.nav-item{color:#d5e0eb;border-radius:8px;padding:13px 15px;font-size:14px}.nav-item.active{color:#fff;background:#d74737;font-weight:600}.logout-button{color:#fff;background:0 0;border:1px solid #ffffff40;border-radius:8px;margin-top:auto;padding:13px}.logout-button:hover{background:#ffffff1a}.dashboard-main{flex:1;min-width:0;padding:38px}.dashboard-header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:35px;display:flex}.dashboard-header h1{color:#092d50;margin:0 0 8px;font-size:28px}.dashboard-header p{color:#758392;margin:0}.user-info{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.user-info span{font-weight:600}.user-info small{color:#d74737}.dashboard-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;display:grid}.stat-card,.dashboard-content{background:#fff;border:1px solid #e8edf1;border-radius:12px;padding:24px;box-shadow:0 3px 12px #092d500a}.stat-card{flex-direction:column;gap:12px;display:flex}.stat-card span{color:#657586;font-size:14px}.stat-card strong{color:#092d50;font-size:32px}.stat-card small{color:#98a3ad}.dashboard-content{min-height:220px;margin-top:25px}.dashboard-content h2{color:#092d50;margin:0 0 12px;font-size:18px}.dashboard-content p{color:#87939e;font-size:14px}@media (width<=1000px){.dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=650px){.dashboard{flex-direction:column}.sidebar{width:100%;padding:15px}.sidebar-brand{padding-bottom:15px}.sidebar-brand img{width:130px}.sidebar nav{flex-flow:wrap;margin-top:15px}.nav-item{padding:10px;font-size:12px}.logout-button{margin-top:15px}.dashboard-main{padding:22px 15px}.dashboard-header{align-items:flex-start}.dashboard-stats{grid-template-columns:1fr}.dashboard-action-button{color:#fff;cursor:pointer;background:#092d50;border:0;border-radius:7px;margin-top:16px;padding:11px 18px;font-weight:700}.dashboard-action-button:hover{background:#12436f}}.representatives-page{width:100%}.representatives-header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}.representatives-header h1{color:#092d50;margin:0 0 6px;font-size:26px}.representatives-header p{color:#718096;margin:0;font-size:14px}.new-user-button{color:#fff;background:#d74737;border:none;border-radius:8px;padding:12px 18px;font-weight:600;transition:background .2s}.new-user-button:hover{background:#bd382b}.new-user-button:disabled,.new-user-form button:disabled{opacity:.6;cursor:not-allowed}.representatives-card,.new-user-form-card{background:#fff;border:1px solid #e8edf2;border-radius:12px;margin-bottom:20px;padding:24px;box-shadow:0 2px 8px #092d500a}.new-user-form-card h2{color:#092d50;margin:0 0 20px;font-size:18px}.new-user-form{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:16px;display:grid}.new-user-form label{color:#394b5d;flex-direction:column;gap:8px;font-size:13px;font-weight:600;display:flex}.new-user-form input{color:#263442;background:#fff;border:1px solid #d8e0e8;border-radius:7px;outline:none;width:100%;min-width:0;padding:11px 12px}.new-user-form input:focus{border-color:#d74737;box-shadow:0 0 0 3px #d747371a}.new-user-form>button,.form-actions button{color:#fff;background:#092d50;border:none;border-radius:7px;padding:12px 16px;font-weight:600}.new-user-form>button:hover,.form-actions button:hover{background:#12436f}.form-actions{align-items:center;gap:10px;display:flex}.form-actions .cancel-button{color:#394b5d;background:#e9edf2}.form-actions .cancel-button:hover{background:#dce3eb}.table-container{width:100%;overflow-x:auto}.representatives-table{border-collapse:collapse;text-align:left;width:100%;font-size:14px}.representatives-table th{color:#718096;text-transform:uppercase;white-space:nowrap;border-bottom:1px solid #e8edf2;padding:14px 12px;font-size:12px;font-weight:700}.representatives-table td{color:#394b5d;border-bottom:1px solid #edf1f5;padding:16px 12px}.representatives-table tbody tr:last-child td{border-bottom:none}.user-status{border-radius:20px;padding:5px 10px;font-size:12px;font-weight:600;display:inline-block}.user-status.active{color:#21804b;background:#e6f6ed}.user-status.inactive{color:#bd382b;background:#fdebea}.user-actions{flex-wrap:wrap;gap:6px;display:flex}.user-actions button{color:#394b5d;background:#fff;border:1px solid #d8e0e8;border-radius:6px;padding:7px 10px;font-size:12px;font-weight:600}.user-actions button:hover{background:#f3f6f9}.user-actions .danger-button{color:#bd382b;border-color:#f1c5c1}.user-actions .danger-button:hover{background:#fff1f0}.user-actions .success-button{color:#21804b;border-color:#bce4cb}.user-actions .success-button:hover{background:#effaf3}.protected-user{color:#8a96a3;font-size:12px;font-style:italic}.representatives-error,.representatives-success{border-radius:8px;margin-bottom:16px;padding:12px 16px;font-size:14px}.representatives-error{color:#bd382b;background:#fff0ef;border:1px solid #f5d0cc}.representatives-success{color:#21804b;background:#eaf8ef;border:1px solid #c7ead3}@media (width<=900px){.new-user-form{grid-template-columns:1fr 1fr}.user-actions{min-width:190px}}@media (width<=600px){.representatives-header{flex-direction:column;align-items:flex-start}.new-user-form{grid-template-columns:1fr}.representatives-card,.new-user-form-card{padding:16px}.form-actions{flex-wrap:wrap}}.visits-page{color:#263442;flex-direction:column;gap:24px;display:flex}.visit-form-card,.visit-card,.visit-filters,.visits-empty{background:#fff;border:1px solid #e8edf1;border-radius:12px;box-shadow:0 2px 8px #092d500a}.visit-form-card{padding:26px}.visit-form-card h2,.visits-list-heading h2{color:#092d50;margin:5px 0 8px}.visit-form-card p,.visits-list-heading p{color:#718096;margin:0}.visit-eyebrow{color:#8794a2;letter-spacing:.09em;font-size:11px;font-weight:800}.visit-form-card form{flex-direction:column;gap:12px;max-width:600px;margin-top:22px;display:flex}.visit-form-card label,.visit-upload label,.visit-filters label{color:#344454;flex-direction:column;gap:7px;font-size:13px;font-weight:700;display:flex}.visit-form-card input:not([type=file]),.visit-filters input,.visit-filters select{color:#263442;width:100%;min-height:42px;font:inherit;background:#fff;border:1px solid #dce3e9;border-radius:7px;outline:none;padding:10px 12px}.visit-form-card input:focus,.visit-filters input:focus,.visit-filters select:focus{border-color:#092d50;box-shadow:0 0 0 3px #092d5014}.visit-upload{flex-direction:column;gap:8px;margin-top:16px;display:flex}.visit-upload input{max-width:100%;font-size:13px}.visit-upload small,.visit-location small,.muted{color:#8794a2;font-size:12px}.visit-primary-button,.visit-secondary-button{cursor:pointer;border:0;border-radius:7px;min-height:40px;padding:10px 16px;font-weight:700;transition:opacity .2s}.visit-primary-button{color:#fff;background:#092d50;align-self:flex-start;margin-top:10px}.visit-primary-button:hover,.visit-secondary-button:hover{opacity:.88}.visit-primary-button:disabled,.visit-secondary-button:disabled{cursor:not-allowed;opacity:.5}.visit-secondary-button{color:#092d50;background:#eef2f5}.checkout-button{background:#d74737}.visit-message{border-radius:8px;padding:13px 16px;font-size:14px}.visit-message.error{color:#b52d25;background:#fff0ef;border:1px solid #f4cbc7}.visit-message.success{color:#247442;background:#edf8f0;border:1px solid #c9e8d1}.visit-form-heading,.visit-card-main,.visits-list-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.visit-status{white-space:nowrap;border-radius:20px;align-items:center;padding:6px 10px;font-size:11px;font-weight:800;display:inline-flex}.visit-status.open{color:#95630b;background:#fff5df}.visit-status.closed{color:#287344;background:#eaf5ed}.visit-location{background:#f7f9fb;border-left:3px solid #f5c342;border-radius:5px;flex-direction:column;gap:6px;margin-top:18px;padding:14px;font-size:13px;display:flex}.visit-location strong{color:#092d50}.visit-location a{color:#2168a4;width:fit-content;font-weight:700;text-decoration:none}.visit-location a:hover{text-decoration:underline}.visits-list-section{flex-direction:column;gap:16px;display:flex}.visits-list-heading{align-items:center}.visit-filters{grid-template-columns:repeat(5,minmax(130px,1fr));gap:12px;padding:18px;display:grid}.visit-filter-actions{align-items:flex-end;gap:10px;display:flex}.visit-text-button{color:#2168a4;cursor:pointer;background:0 0;border:0;padding:8px 10px;font-weight:700}.visits-list{flex-direction:column;gap:12px;display:flex}.visit-card{padding:20px}.visit-card-main h3{color:#092d50;margin:6px 0;font-size:18px}.visit-representative{color:#718096;margin:0;font-size:13px}.visit-card-meta{color:#718096;flex-wrap:wrap;gap:12px 24px;margin-top:14px;font-size:12px;display:flex}.visit-card-actions{justify-content:flex-end;margin-top:8px;display:flex}.visit-details{border-top:1px solid #e8edf1;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px;padding-top:16px;display:grid}.visit-details .visit-location,.visit-details .visit-photos{margin-top:0}.visit-photos{flex-direction:column;gap:10px;font-size:13px;display:flex}.visit-photo-grid{flex-wrap:wrap;gap:8px;display:flex}.visit-photo-grid a{border:1px solid #e8edf1;border-radius:7px;width:100px;height:85px;display:block;overflow:hidden}.visit-photo-grid img{object-fit:cover;width:100%;height:100%}.visits-empty{color:#8794a2;text-align:center;padding:30px}@media (width<=1000px){.visit-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.visit-details{grid-template-columns:1fr}}@media (width<=650px){.visit-form-card,.visit-card{padding:16px}.visits-list-heading,.visit-form-heading{flex-direction:column;align-items:flex-start}.visit-filters{grid-template-columns:1fr}.visit-filter-actions{align-items:center}.visit-card-meta{flex-direction:column;gap:6px}}
