*{margin:0;padding:0;box-sizing:border-box}body{font-family:system-ui,-apple-system,sans-serif;background-color:#f5f5f5;padding:1rem}.container{max-width:800px;margin:0 auto}h1{color:#333;margin-bottom:2rem;text-align:center}.header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.header h1{margin-bottom:0;flex:1;text-align:center}.license-btn{padding:.5rem 1rem;background:#4caf50;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;transition:background .2s}.license-btn:hover{background:#45a049}.camera-section{position:relative;margin-bottom:2rem;border-radius:8px;overflow:hidden;background:#000}#video{width:100%;height:auto;display:block;transition:display .2s}#video.hidden{display:none}.toggle-camera-btn{position:absolute;top:1rem;right:1rem;padding:.5rem 1rem;background:#0009;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;z-index:5;transition:background .2s}.toggle-camera-btn:hover{background:#000c}.status{position:absolute;bottom:1rem;left:1rem;right:1rem;background:#000000b3;color:#fff;padding:.75rem;border-radius:4px;font-size:.9rem}.calibration-message{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#000c;color:#fff;padding:2rem;border-radius:8px;font-size:1.5rem;font-weight:700;text-align:center;z-index:10}.stats-section{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:2rem}@media(max-width:600px){.stats-section{grid-template-columns:1fr}}.stat-card{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 2px 8px #0000001a;text-align:center}.stat-label{color:#666;font-size:.9rem;margin-bottom:.5rem}.stat-value{color:#333;font-size:2.5rem;font-weight:700}.info-section{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 2px 8px #0000001a}.info-section p{color:#666;font-size:.9rem;margin-bottom:.5rem}.info-section p:last-child{margin-bottom:0}.calibration{color:#ff9800;font-weight:500}.modal{display:none;position:fixed;z-index:100;left:0;top:0;width:100%;height:100%;background-color:#00000080;animation:fadeIn .2s}.modal.show{display:flex;align-items:center;justify-content:center}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background-color:#fff;border-radius:8px;box-shadow:0 4px 20px #0003;max-width:900px;width:90%;max-height:90vh;overflow-y:auto;animation:slideIn .3s}@keyframes slideIn{0%{transform:translateY(-50px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #eee;position:sticky;top:0;background:#fff}.modal-header h2{margin:0;color:#333;font-size:1.5rem}.close-btn{background:none;border:none;font-size:2rem;cursor:pointer;color:#666;padding:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;transition:color .2s}.close-btn:hover{color:#333}.modal-body{padding:1.5rem}.modal-body h3{color:#333;margin-top:1.5rem;margin-bottom:1rem;font-size:1.1rem;border-bottom:2px solid #4CAF50;padding-bottom:.5rem}.modal-body h3:first-child{margin-top:0}.license-table{width:100%;border-collapse:collapse;margin-bottom:1.5rem}.license-table thead{background:#f5f5f5}.license-table th{padding:.75rem;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #ddd}.license-table td{padding:.75rem;border-bottom:1px solid #eee;color:#666}.license-table tbody tr:hover{background:#f9f9f9}@media(max-width:600px){.header{flex-direction:column;gap:1rem}.header h1{text-align:center}.modal-content{width:95%;max-height:95vh}.modal-body{padding:1rem}.license-table{font-size:.85rem}.license-table th,.license-table td{padding:.5rem}}
