html,body,#root{margin:0;padding:0;width:100%;height:100%;box-sizing:border-box;-ms-overflow-style:none;scrollbar-width:none}html::-webkit-scrollbar,body::-webkit-scrollbar,#root::-webkit-scrollbar{display:none}*,*:before,*:after{box-sizing:inherit}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;padding:0;min-width:320px;min-height:100vh;width:100%;height:100%}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.app{min-height:100vh;height:100%;width:100%;background:linear-gradient(135deg,#1a1a1a,#2d2d2d);color:#fff;font-family:Inter,sans-serif;display:flex;flex-direction:column;overflow-y:auto;-ms-overflow-style:none;scrollbar-width:none}.app::-webkit-scrollbar{display:none}.nav{background:#333;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #444444}.nav-brand{display:flex;align-items:center;gap:.75rem}.nav-logo{height:40px;width:auto;object-fit:contain}.nav-brand h2{color:#046bd2;margin:0;font-size:1.5rem;font-weight:600}.nav-links{display:flex;align-items:center;gap:2rem}.nav-links a{color:#ccc;text-decoration:none;font-weight:500;transition:color .2s}.nav-links a:hover{color:#046bd2}.user-menu{display:flex;align-items:center;gap:1rem;margin-left:1rem;padding-left:1rem;border-left:1px solid #555555}.user-badge{background:#046bd2;color:#fff;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;text-decoration:none;transition:all .2s;letter-spacing:.5px}.user-badge:hover{background:#0284c7;transform:scale(1.05)}.logout-button{background:#ef4444;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;font-weight:500;cursor:pointer;transition:background-color .2s;white-space:nowrap}.logout-button:hover{background:#dc2626}.main{padding:2rem;flex:1;width:100%;max-width:none;margin:0}.page{background:#333;border-radius:12px;padding:2rem;border:1px solid #444444}.page h1{color:#fff;margin-bottom:1rem;font-size:2rem}.page p{color:#ccc;margin-bottom:1.5rem;font-size:1.1rem}.status-card{background:#444;border-radius:8px;padding:1.5rem;margin-top:1.5rem;border:1px solid #555555}.status-card h3{color:#046bd2;margin-bottom:1rem;font-size:1.2rem}.status-card ul{list-style:none;padding:0;margin:0}.status-card li{padding:.5rem 0;font-size:1rem;color:#ccc}.status-card li:not(:last-child){border-bottom:1px solid #555555}@media (min-width: 1200px){.main{padding:3rem 5rem;max-width:none}.page{padding:3rem 4rem;max-width:none}.page h1{font-size:2.5rem}.page p{font-size:1.2rem}.nav{padding:1.5rem 5rem}.nav-brand h2{font-size:1.8rem}.nav-logo{height:48px}.nav-links{gap:3rem}.nav-links a{font-size:1.1rem}}@media (min-width: 769px) and (max-width: 1199px){.main{padding:2.5rem 3rem;max-width:none}.page{padding:2.5rem 3rem}.nav{padding:1.25rem 3rem}.nav-links{gap:2.5rem}}@media (max-width: 768px){.nav{flex-direction:column;gap:1rem;text-align:center;padding:1rem}.nav-brand{justify-content:center}.nav-logo{height:32px}.nav-links{flex-direction:column;gap:1rem}.main{padding:1rem .5rem}.page{padding:1.5rem 1rem}}.customer-search{width:100%;margin-bottom:1rem}.search-controls{display:flex;flex-direction:column;gap:1rem;width:100%}.search-type-wrapper{display:flex;align-items:center;gap:.75rem}.search-type-wrapper label{font-weight:500;color:#e0e0e0;min-width:80px}.search-type-select{background:#2d2d2d;border:1px solid #404040;color:#fff;padding:.5rem .75rem;border-radius:6px;font-size:.95rem;min-width:120px}.search-type-select:focus{outline:none;border-color:#046bd2;box-shadow:0 0 0 2px #046bd233}.search-input-wrapper{position:relative;display:flex;align-items:center;width:100%}.customer-search-input{width:100%;background:#2d2d2d;border:2px solid #404040;color:#fff;padding:.75rem 1rem;border-radius:8px;font-size:1rem;transition:all .3s ease;min-height:45px}.customer-search-input:focus{outline:none;border-color:#046bd2;box-shadow:0 0 0 3px #046bd233;background:#333}.customer-search-input::placeholder{color:#888;font-style:italic}.search-spinner{position:absolute;right:12px;color:#046bd2;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.search-results{position:relative;background:#333;border:1px solid #404040;border-radius:8px;margin-top:.5rem;max-height:300px;overflow-y:auto;box-shadow:0 4px 12px #0000004d;z-index:1000}.search-loading,.no-results,.search-error{padding:1rem;text-align:center;color:#888;font-style:italic}.search-error{color:#dc3545;background-color:#dc35451a;border-radius:4px}.search-results-list{padding:.5rem 0}.search-result-item{padding:.75rem 1rem;cursor:pointer;border-bottom:1px solid #404040;transition:background-color .2s ease}.search-result-item:hover{background-color:#404040}.search-result-item:last-child{border-bottom:none}.result-customer-name{font-weight:600;color:#fff;margin-bottom:.25rem}.result-customer-info{font-size:.9rem;color:#b0b0b0;margin-bottom:.25rem}.result-customer-id{font-size:.8rem;color:#888}.selected-customer{margin-bottom:1rem}.customer-card{background:#2d2d2d;border:2px solid #046BD2;border-radius:8px;padding:1rem;display:flex;justify-content:space-between;align-items:center}.customer-details .customer-name{font-weight:600;color:#fff;margin-bottom:.25rem}.customer-details .customer-info{font-size:.9rem;color:#b0b0b0;margin-bottom:.25rem}.customer-details .customer-id{font-size:.8rem;color:#888}.clear-customer-btn{background:#dc3545;border:none;color:#fff;width:30px;height:30px;border-radius:50%;cursor:pointer;font-size:1.1rem;transition:background-color .2s ease}.clear-customer-btn:hover{background:#c82333}@media (min-width: 768px){.search-controls{flex-direction:row;align-items:center;gap:1.5rem}.search-type-wrapper{flex-shrink:0}.search-input-wrapper{flex-grow:1}}.membership-section{background:#333;padding:2rem;border-radius:12px;border:1px solid #444444}.membership-section h2{color:#fff;margin:0 0 1.5rem;font-size:1.5rem}.membership-details{display:flex;flex-direction:column;gap:1.5rem}.membership-card{background:#2d2d2d;border:2px solid #404040;border-radius:12px;padding:1.5rem;transition:all .3s ease}.membership-card.active{border-color:#046bd2;box-shadow:0 0 0 2px #046bd233}.membership-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #404040}.membership-header h3{color:#fff;margin:0;font-size:1.25rem;font-weight:600}.membership-info{display:grid;gap:.75rem;margin-bottom:1.5rem}.info-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0}.info-row .label{color:#b0b0b0;font-weight:500}.info-row .value{color:#fff;font-weight:600}.info-row .value.auto-renew{color:#28a745}.membership-benefits{background:#404040;border-radius:8px;padding:1.25rem;margin-bottom:1rem}.membership-benefits h4{color:#fff;margin:0 0 1rem;font-size:1.1rem}.membership-benefits ul{list-style:none;padding:0;margin:0}.membership-benefits li{color:#e0e0e0;padding:.5rem 0 .5rem 1.5rem;position:relative}.membership-benefits li:before{content:"✓";position:absolute;left:0;color:#28a745;font-weight:700}.membership-alert{background:#ffc1071a;border:1px solid #ffc107;border-radius:8px;padding:1rem;margin-top:1rem}.membership-alert h4{color:#ffc107;margin:0 0 .5rem;font-size:1rem}.membership-alert p{color:#fff;margin:0}.no-membership{text-align:center;padding:3rem 2rem;background:#2d2d2d;border-radius:12px;border:2px dashed #404040}.no-membership h3{color:#fff;margin:0 0 1rem;font-size:1.25rem}.no-membership p{color:#b0b0b0;margin:.5rem 0;line-height:1.6}.no-membership .contact-info{margin-top:2rem;padding-top:1.5rem;border-top:1px solid #404040}.no-membership .contact-info h4{color:#046bd2;margin:0 0 .75rem;font-size:1.1rem}.status-badge.active{background:#28a745;color:#fff;padding:.25rem .75rem;border-radius:20px;font-size:.875rem;font-weight:600;text-transform:uppercase}.status-badge.expired{background:#dc3545;color:#fff;padding:.25rem .75rem;border-radius:20px;font-size:.875rem;font-weight:600;text-transform:uppercase}.status-badge.cancelled{background:#6c757d;color:#fff;padding:.25rem .75rem;border-radius:20px;font-size:.875rem;font-weight:600;text-transform:uppercase}.status-badge.suspended{background:#ffc107;color:#212529;padding:.25rem .75rem;border-radius:20px;font-size:.875rem;font-weight:600;text-transform:uppercase}@media (min-width: 768px){.membership-info{grid-template-columns:1fr 1fr;gap:1rem}.info-row{flex-direction:column;align-items:flex-start;gap:.25rem}}
