@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";html,body{overflow-x:hidden;max-width:100vw}.app-layout{display:flex;flex-direction:column;min-height:100vh;min-width:0;max-width:100%}@media (min-width: 768px){.app-layout{flex-direction:row}}.sidebar{width:100%;background:var(--primary);border-bottom:1px solid var(--sidebar-border);display:flex;flex-direction:column;flex-shrink:0;color:var(--sidebar-text)}@media (min-width: 768px){.sidebar{width:240px;min-width:240px;border-bottom:none;border-right:1px solid var(--sidebar-border)}}.sidebar-header{padding:.65rem .5rem .65rem 0;display:flex;align-items:center;justify-content:space-between;gap:.5rem;border-bottom:1px solid var(--sidebar-border);min-height:0}.sidebar-header-brand{flex:1;min-width:0;display:flex;align-items:center;padding-left:.65rem}.sidebar-header .sidebar-brand-logo{width:100%;max-width:100%}.sidebar-header svg{color:var(--sidebar-text);flex-shrink:0}.sidebar-toggle{display:flex;align-items:center;justify-content:center;padding:.5rem;background:#ffffff14;border:1px solid var(--sidebar-border);border-radius:4px;color:var(--sidebar-text);cursor:pointer}@media (min-width: 768px){.sidebar-toggle{display:none}}.sidebar-nav{padding:.75rem;display:flex;flex-direction:row;flex-wrap:wrap;gap:.25rem}.sidebar-nav.collapsed{display:none}@media (min-width: 768px){.sidebar-nav{flex-direction:column;flex-wrap:nowrap;padding:1rem .75rem}.sidebar-nav.collapsed{display:flex}}.nav-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:4px;color:var(--sidebar-nav-link);text-decoration:none;transition:all .15s;font-size:.875rem}.nav-item:hover{background:#ffffff14;color:var(--sidebar-text)}.nav-item.active{background:var(--accent-muted);color:#fff}.sidebar-footer-email{padding:.5rem .75rem;font-size:.75rem;color:var(--sidebar-text-muted);word-break:break-all;margin-top:auto}.main-content{flex:1;padding:1rem;overflow-x:hidden;overflow-y:auto;min-width:0;position:relative;font-size:var(--app-font-size)}.login-page,.landing-page,.pricing-page{font-size:var(--app-font-size)}.scroll-to-top-btn{position:fixed;right:1.25rem;bottom:1.25rem;z-index:900;width:2.75rem;height:2.75rem;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:50%;background:var(--bg-primary);color:var(--text-primary);box-shadow:0 2px 12px #0000001f;cursor:pointer;transition:background .15s ease,transform .15s ease,box-shadow .15s ease}.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 (min-width: 768px){.scroll-to-top-btn{right:2rem;bottom:2rem}}@media (min-width: 768px){.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{margin:0;color:var(--text-secondary);font-size:.875rem}@media (min-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;padding:1rem;margin-bottom:1rem}@media (min-width: 768px){.card{padding:1.5rem;margin-bottom:1.5rem}}.card-title{margin:0 0 1rem;font-size:1rem;font-weight:600}.admin-page{max-width:100%;min-width:0;overflow-x:hidden}.admin-top-grid{display:grid;grid-template-columns:1fr;grid-template-rows:auto auto;gap:1rem;margin-bottom:1.5rem;align-items:start}.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 (min-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{display:grid;grid-template-columns:1fr;gap:1rem}.admin-sites-depts-grid .card{min-width:0;width:75%}@media (min-width: 768px){.admin-sites-depts-grid{grid-template-columns:1fr}}.admin-table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;min-width:0}.admin-subscriptions-header{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}@media (min-width: 480px){.admin-subscriptions-header{flex-direction:row;justify-content:space-between;align-items:center}}.admin-form-row{display:flex;flex-direction:column;gap:.5rem}.admin-form-row input[type=text],.admin-form-row select{flex:1;min-width:0}@media (min-width: 480px){.admin-form-row{flex-direction:row;flex-wrap: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{display:grid;grid-template-columns:1fr;gap:.5rem}@media (min-width: 400px){.admin-address-grid{grid-template-columns:1fr 1fr 1fr}}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:4px;font-size:.875rem;font-weight:500;border:none;transition:all .15s}.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{background:#ef444433;color:var(--danger)}.btn-danger:hover{background:#ef44444d}.btn-outline{background:transparent;color:var(--text-secondary);border:1px solid var(--border)}.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 (min-width: 768px){.onboarding-card{padding:2rem}}.onboarding-steps{display:flex;align-items:center;gap:.5rem;margin-bottom:1.5rem;flex-wrap:wrap}.onboarding-step-indicator{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--text-muted)}.onboarding-step-indicator.active{color:var(--text-primary)}.onboarding-step-indicator.current{font-weight:600;color:var(--accent)}.step-number{width:28px;height:28px;border-radius:50%;background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;font-size:.8rem}.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{display:block;margin-bottom:.375rem;font-size:.875rem;font-weight:500;color:var(--text-secondary);overflow-wrap:break-word;word-wrap:break-word}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.5rem .75rem;background:var(--bg-primary);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:.875rem}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--accent)}.form-group textarea{min-height:80px;resize:vertical}.form-row{display:grid;grid-template-columns:1fr;gap:1rem}@media (min-width: 640px){.form-row{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}.sort-by-mobile{display:none;margin-bottom:1rem}@media (max-width: 767px){.sort-by-mobile{display:block}}@media (min-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{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width: 767px){.table-container{display:none!important}}.mobile-list{display:none}@media (max-width: 767px){.mobile-list{display:flex;flex-direction:column;gap:.75rem}}@media (min-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{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.5rem;font-size:.875rem}.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{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border)}table{width:100%;min-width:500px;border-collapse:collapse}th,td{padding:.5rem .75rem;text-align:left;border-bottom:1px solid var(--border)}@media (min-width: 768px){th,td{padding:.75rem 1rem}}th{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}tr:hover td{background:var(--table-row-hover)}.badge{display:inline-flex;align-items:center;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500}.badge-due{background:#e5393526;color:var(--danger)}.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;padding:3rem 2rem;color:var(--text-muted)}.empty-state p{margin:.5rem 0 0}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;box-sizing:border-box}.modal{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:1.5rem;max-width:500px;width:100%;min-width:0;max-height:calc(100vh - 2rem);overflow-x:hidden;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.modal-header h3{margin:0;font-size:1.25rem}.modal-close{background:none;border:none;color:var(--text-muted);padding:.25rem;cursor:pointer}.modal-close:hover{color:var(--text-primary)}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.5rem}.link{color:var(--accent);text-decoration:none}.link:hover{text-decoration:underline}.barcode-scan-area{display:flex;align-items:center;gap:.75rem;padding:1rem;background:var(--bg-primary);border:2px dashed var(--border);border-radius:8px;transition:border-color .2s}.barcode-scan-area:focus-within{border-color:var(--accent)}.barcode-scan-area input{flex:1;background:transparent;border:none;font-size:1em;color:var(--text-primary)}.barcode-scan-area input:focus{outline:none}.barcode-scan-area input::placeholder{color:var(--text-muted)}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem}.login-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:2rem;width:100%;max-width:360px}.login-header{text-align:center;margin-bottom:1.5rem;display:flex;flex-direction:column;align-items:center;gap:.75rem}.login-header p{margin:0;color:var(--text-muted);font-size:.9rem}.login-form{display:flex;flex-direction:column;gap:1rem}.login-form input{padding:.75rem 1rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-primary);color:var(--text-primary);font-size:1em}.login-form input:focus{outline:none;border-color:var(--accent)}.login-error{margin:0;color:var(--danger);font-size:.875rem}.landing-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem}.landing-content{text-align:center;max-width:min(560px,100%);width:100%}.landing-header{display:flex;flex-direction:column;align-items:center;gap:0}.landing-tagline{margin:1.25rem 0 2rem;color:var(--text-muted);font-size:1.25em;line-height:1.5}.landing-actions{display:flex;flex-direction:column;gap:1rem;align-items:center}.landing-btn{display:inline-flex;align-items:center;gap:.5rem;min-width:200px;justify-content:center}.pricing-page{min-height:100vh;padding:2rem 1rem 3rem}.pricing-back{display:inline-flex;align-items:center;gap:.5rem;color:var(--text-muted);text-decoration:none;font-size:.9rem;margin-bottom:2rem}.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{margin:0;color:var(--text-muted);font-size:1rem}.pricing-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;max-width:1100px;margin:0 auto}@media (min-width: 640px){.pricing-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 960px){.pricing-grid{grid-template-columns:repeat(4,1fr)}}.pricing-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:1.5rem;display:flex;flex-direction:column;position:relative}.pricing-card-highlight{border-color:var(--warning);box-shadow:0 0 0 2px #ffb74d59}.pricing-badge{position:absolute;top:-10px;left:50%;transform:translate(-50%);background:var(--success);color:#fff;font-size:.7rem;font-weight:600;padding:.25rem .5rem;border-radius:4px}.pricing-tier-name{margin:0 0 .25rem;font-size:1.25rem}.pricing-description{margin:0 0 1rem;color:var(--text-muted);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{list-style:none;margin:0 0 1rem;padding:0;flex:1}.pricing-features li{display:flex;align-items:center;gap:.5rem;padding:.35rem 0;font-size:.9rem}.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{display:inline-block;padding:.2rem .5rem;border-radius:4px;font-size:.8rem;font-weight:600}.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{background:#e5393526;color:#c62828}:root{--primary: #455a64;--primary-hover: #37474f;--accent: #ff7043;--accent-hover: #f4511e;--accent-muted: rgba(255, 112, 67, .18);--bg-primary: #f8f9fa;--bg-secondary: #ffffff;--bg-tertiary: #eceff1;--text-primary: #263238;--text-secondary: #546e7a;--text-muted: #78909c;--border: #cfd8dc;--success: #26de81;--success-muted: rgba(38, 222, 129, .18);--warning: #ffb74d;--warning-muted: rgba(255, 183, 77, .22);--danger: #e53935;--equipment-status-available: #26de81;--equipment-status-in-use: #ffb74d;--equipment-status-out-of-service: #e53935;--sidebar-text: #eceff1;--sidebar-text-muted: rgba(236, 239, 241, .65);--sidebar-nav-link: rgba(255, 255, 255, .82);--sidebar-border: rgba(255, 255, 255, .12);--table-row-hover: rgba(69, 90, 100, .06);--app-font-size: .875rem}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;overflow-x:hidden}#root{min-height:100vh}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit}
