@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";html,body{max-width:100vw;overflow-x:hidden}.app-layout{flex-direction:column;min-width:0;max-width:100%;min-height:100vh;display:flex}@media (width>=768px){.app-layout{flex-direction:row}}.sidebar{background:var(--primary);border-bottom:1px solid var(--sidebar-border);width:100%;color:var(--sidebar-text);flex-direction:column;flex-shrink:0;display:flex}@media (width>=768px){.sidebar{border-bottom:none;border-right:1px solid var(--sidebar-border);width:240px;min-width:240px}}.sidebar-header{border-bottom:1px solid var(--sidebar-border);justify-content:space-between;align-items:center;gap:.5rem;min-height:0;padding:.65rem .5rem .65rem 0;display:flex}.sidebar-header-brand{flex:1;align-items:center;min-width:0;padding-left:.65rem;display:flex}.sidebar-header .sidebar-brand-logo{width:100%;max-width:100%}.sidebar-header svg{color:var(--sidebar-text);flex-shrink:0}.sidebar-toggle{border:1px solid var(--sidebar-border);color:var(--sidebar-text);cursor:pointer;background:#ffffff14;border-radius:4px;justify-content:center;align-items:center;padding:.5rem;display:flex}@media (width>=768px){.sidebar-toggle{display:none}}.sidebar-nav{flex-flow:wrap;gap:.25rem;padding:.75rem;display:flex}.sidebar-nav.collapsed{display:none}@media (width>=768px){.sidebar-nav{flex-flow:column;padding:1rem .75rem}.sidebar-nav.collapsed{display:flex}}.nav-item{color:var(--sidebar-nav-link);border-radius:4px;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.875rem;text-decoration:none;transition:all .15s;display:flex}.nav-item:hover{color:var(--sidebar-text);background:#ffffff14}.nav-item.active{background:var(--accent-muted);color:#fff}.sidebar-footer-email{color:var(--sidebar-text-muted);word-break:break-all;margin-top:auto;padding:.5rem .75rem;font-size:.75rem}.main-content{min-width:0;font-size:var(--app-font-size);flex:1;padding:1rem;position:relative;overflow:hidden auto}.login-page,.landing-page,.pricing-page{font-size:var(--app-font-size)}.scroll-to-top-btn{z-index:900;border:1px solid var(--border);background:var(--bg-primary);width:2.75rem;height:2.75rem;color:var(--text-primary);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:background .15s,transform .15s,box-shadow .15s;display:flex;position:fixed;bottom:1.25rem;right:1.25rem;box-shadow:0 2px 12px #0000001f}.scroll-to-top-btn:hover{background:var(--bg-secondary);transform:translateY(-2px);box-shadow:0 4px 16px #00000026}.scroll-to-top-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}@media (width>=768px){.scroll-to-top-btn{bottom:2rem;right:2rem}.main-content{padding:1.5rem 2rem}}.page-header{margin-bottom:1.5rem}.page-header h2{margin:0 0 .25rem;font-size:1.25rem;font-weight:600}.page-header p{color:var(--text-secondary);margin:0;font-size:.875rem}@media (width>=768px){.page-header{margin-bottom:2rem}.page-header h2{font-size:1.5rem}.page-header p{font-size:.9rem}}.card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;margin-bottom:1rem;padding:1rem}@media (width>=768px){.card{margin-bottom:1.5rem;padding:1.5rem}}.card-title{margin:0 0 1rem;font-size:1rem;font-weight:600}.admin-page{min-width:0;max-width:100%;overflow-x:hidden}.admin-top-grid{grid-template-rows:auto auto;grid-template-columns:1fr;align-items:start;gap:1rem;margin-bottom:1.5rem;display:grid}.admin-top-grid .card{min-width:0}.admin-company-info,.admin-sites-col{grid-column:1}.admin-subscriptions-col,.admin-users-access{grid-column:1/-1}@media (width>=768px){.admin-top-grid{grid-template-columns:minmax(260px,.4fr) minmax(320px,1fr)}.admin-company-info{grid-column:1}.admin-sites-col{grid-column:2}}.admin-sites-depts-grid{grid-template-columns:1fr;gap:1rem;display:grid}.admin-sites-depts-grid .card{width:75%;min-width:0}@media (width>=768px){.admin-sites-depts-grid{grid-template-columns:1fr}}.admin-table-wrapper{-webkit-overflow-scrolling:touch;min-width:0;overflow-x:auto}.admin-subscriptions-header{flex-direction:column;gap:.75rem;margin-bottom:1rem;display:flex}@media (width>=480px){.admin-subscriptions-header{flex-direction:row;justify-content:space-between;align-items:center}}.admin-form-row{flex-direction:column;gap:.5rem;display:flex}.admin-form-row input[type=text],.admin-form-row select{flex:1;min-width:0}@media (width>=480px){.admin-form-row{flex-flow:wrap}.admin-form-row input[type=text]{min-width:120px}}.company-info-compact .form-group input,.company-info-compact .form-group select{max-width:100%}.admin-address-grid{grid-template-columns:1fr;gap:.5rem;display:grid}@media (width>=400px){.admin-address-grid{grid-template-columns:1fr 1fr 1fr}}.btn{border:none;border-radius:4px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:all .15s;display:inline-flex}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover{background:var(--border)}.btn-danger{color:var(--danger);background:#ef444433}.btn-danger:hover{background:#ef44444d}.btn-outline{color:var(--text-secondary);border:1px solid var(--border);background:0 0}.btn-outline:hover{background:var(--bg-tertiary);color:var(--text-primary)}.onboarding-container{max-width:640px;margin:0 auto;padding:2rem 1rem}.onboarding-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:1.5rem}@media (width>=768px){.onboarding-card{padding:2rem}}.onboarding-steps{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1.5rem;display:flex}.onboarding-step-indicator{color:var(--text-muted);align-items:center;gap:.5rem;font-size:.85rem;display:flex}.onboarding-step-indicator.active{color:var(--text-primary)}.onboarding-step-indicator.current{color:var(--accent);font-weight:600}.step-number{background:var(--bg-tertiary);border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:.8rem;display:flex}.onboarding-step-indicator.active .step-number{background:var(--accent-muted);color:var(--accent)}.onboarding-step-indicator.current .step-number{background:var(--accent);color:#fff}.step-arrow{color:var(--text-muted);flex-shrink:0}.onboarding-access-section{display:block}.form-group{margin-bottom:1rem}.company-info-compact .form-group{margin-bottom:.35rem}.company-info-compact .form-group label{margin-bottom:.15rem}.form-group label{color:var(--text-secondary);overflow-wrap:break-word;word-wrap:break-word;margin-bottom:.375rem;font-size:.875rem;font-weight:500;display:block}.form-group input,.form-group select,.form-group textarea{background:var(--bg-primary);border:1px solid var(--border);width:100%;color:var(--text-primary);border-radius:6px;padding:.5rem .75rem;font-size:.875rem}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--accent);outline:none}.form-group textarea{resize:vertical;min-height:80px}.form-row{grid-template-columns:1fr;gap:1rem;display:grid}@media (width>=640px){.form-row{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}.sort-by-mobile{margin-bottom:1rem;display:none}@media (width<=767px){.sort-by-mobile{display:block}}@media (width>=768px){.sort-by-mobile{display:none!important}}.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.sortable:hover{text-decoration:underline}.table-container{-webkit-overflow-scrolling:touch;overflow-x:auto}@media (width<=767px){.table-container{display:none!important}}.mobile-list{display:none}@media (width<=767px){.mobile-list{flex-direction:column;gap:.75rem;display:flex}}@media (width>=768px){.mobile-list{display:none!important}}.mobile-card{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:8px;padding:1rem}.mobile-card-row{justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.5rem;font-size:.875rem;display:flex}.mobile-card-row:last-child{margin-bottom:0}.mobile-card-label{color:var(--text-muted);flex-shrink:0;min-width:0}.mobile-card-value{text-align:right;word-break:break-word}.mobile-card-actions{border-top:1px solid var(--border);margin-top:.75rem;padding-top:.75rem}table{border-collapse:collapse;width:100%;min-width:500px}th,td{text-align:left;border-bottom:1px solid var(--border);padding:.5rem .75rem}@media (width>=768px){th,td{padding:.75rem 1rem}}th{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:.75rem;font-weight:600}tr:hover td{background:var(--table-row-hover)}.badge{border-radius:4px;align-items:center;padding:.25rem .5rem;font-size:.75rem;font-weight:500;display:inline-flex}.badge-due{color:var(--danger);background:#e5393526}.badge-due-soon{background:var(--warning-muted);color:#b45309}.badge-ok{background:var(--success-muted);color:#0d9f5a}.badge-na{background:var(--bg-tertiary);color:var(--text-muted)}.empty-state{text-align:center;color:var(--text-muted);padding:3rem 2rem}.empty-state p{margin:.5rem 0 0}.modal-overlay{z-index:1000;box-sizing:border-box;background:#0009;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;width:100%;min-width:0;max-width:500px;max-height:calc(100vh - 2rem);padding:1.5rem;overflow:hidden auto}.modal-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.modal-header h3{margin:0;font-size:1.25rem}.modal-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:.25rem}.modal-close:hover{color:var(--text-primary)}.modal-actions{justify-content:flex-end;gap:.75rem;margin-top:1.5rem;display:flex}.link{color:var(--accent);text-decoration:none}.link:hover{text-decoration:underline}.barcode-scan-area{background:var(--bg-primary);border:2px dashed var(--border);border-radius:8px;align-items:center;gap:.75rem;padding:1rem;transition:border-color .2s;display:flex}.barcode-scan-area:focus-within{border-color:var(--accent)}.barcode-scan-area input{color:var(--text-primary);background:0 0;border:none;flex:1;font-size:1em}.barcode-scan-area input:focus{outline:none}.barcode-scan-area input::placeholder{color:var(--text-muted)}.barcode-camera-btn{flex-shrink:0;align-items:center;gap:.35rem;padding:.4rem .7rem;display:inline-flex}.login-page{justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex}.login-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;width:100%;max-width:360px;padding:2rem}.login-header{text-align:center;flex-direction:column;align-items:center;gap:.75rem;margin-bottom:1.5rem;display:flex}.login-header p{color:var(--text-muted);margin:0;font-size:.9rem}.login-form{flex-direction:column;gap:1rem;display:flex}.login-form input{border:1px solid var(--border);background:var(--bg-primary);color:var(--text-primary);border-radius:8px;padding:.75rem 1rem;font-size:1em}.login-form input:focus{border-color:var(--accent);outline:none}.login-error{color:var(--danger);margin:0;font-size:.875rem}.landing-page{justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.landing-content{text-align:center;width:100%;max-width:min(560px,100%)}.landing-header{flex-direction:column;align-items:center;gap:0;display:flex}.landing-tagline{color:var(--text-muted);margin:1.25rem 0 2rem;font-size:1.25em;line-height:1.5}.landing-actions{flex-direction:column;align-items:center;gap:1rem;display:flex}.landing-btn{justify-content:center;align-items:center;gap:.5rem;min-width:200px;display:inline-flex}.pricing-page{min-height:100vh;padding:2rem 1rem 3rem}.pricing-back{color:var(--text-muted);align-items:center;gap:.5rem;margin-bottom:2rem;font-size:.9rem;text-decoration:none;display:inline-flex}.pricing-back:hover{color:var(--accent)}.pricing-header{text-align:center;margin-bottom:2.5rem}.pricing-header h1{margin:0 0 .5rem;font-size:1.75rem}.pricing-subtitle{color:var(--text-muted);margin:0;font-size:1rem}.pricing-grid{grid-template-columns:1fr;gap:1.5rem;max-width:1100px;margin:0 auto;display:grid}@media (width>=640px){.pricing-grid{grid-template-columns:repeat(2,1fr)}}@media (width>=960px){.pricing-grid{grid-template-columns:repeat(4,1fr)}}.pricing-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;flex-direction:column;padding:1.5rem;display:flex;position:relative}.pricing-card-highlight{border-color:var(--warning);box-shadow:0 0 0 2px #ffb74d59}.pricing-badge{background:var(--success);color:#fff;border-radius:4px;padding:.25rem .5rem;font-size:.7rem;font-weight:600;position:absolute;top:-10px;left:50%;transform:translate(-50%)}.pricing-tier-name{margin:0 0 .25rem;font-size:1.25rem}.pricing-description{color:var(--text-muted);margin:0 0 1rem;font-size:.875rem}.pricing-price{margin-bottom:1rem}.pricing-amount{font-size:1.75rem;font-weight:700}.pricing-period{color:var(--text-muted);font-size:.9rem}.pricing-features{flex:1;margin:0 0 1rem;padding:0;list-style:none}.pricing-features li{align-items:center;gap:.5rem;padding:.35rem 0;font-size:.9rem;display:flex}.pricing-check{color:var(--success);flex-shrink:0}.pricing-excluded{color:var(--text-muted)}.pricing-x{color:var(--text-muted);flex-shrink:0}.status-badge{border-radius:4px;padding:.2rem .5rem;font-size:.8rem;font-weight:600;display:inline-block}.status-badge.status-available{background:var(--success-muted);color:#0d9f5a}.status-badge.status-checked_out{background:var(--warning-muted);color:#c77800}.status-badge.status-out_for_calibration{color:#c62828;background:#e5393526}:root{--primary:#455a64;--primary-hover:#37474f;--accent:#ff7043;--accent-hover:#f4511e;--accent-muted:#ff70432e;--bg-primary:#f8f9fa;--bg-secondary:#fff;--bg-tertiary:#eceff1;--text-primary:#263238;--text-secondary:#546e7a;--text-muted:#78909c;--border:#cfd8dc;--success:#26de81;--success-muted:#26de812e;--warning:#ffb74d;--warning-muted:#ffb74d38;--danger:#e53935;--equipment-status-available:#26de81;--equipment-status-in-use:#ffb74d;--equipment-status-out-of-service:#e53935;--sidebar-text:#eceff1;--sidebar-text-muted:#eceff1a6;--sidebar-nav-link:#ffffffd1;--sidebar-border:#ffffff1f;--table-row-hover:#455a640f;--app-font-size:.875rem}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow-x:hidden}#root{min-height:100vh}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit}
