:root{--primary:#1565c0;--primary-dark:#0056cc;--primary-light:rgba(21,101,192,.1);--secondary:#5ac8fa;--accent:#ff9500;--dark:#1c1c1e;--text-primary:#000;--text-secondary:#6d6d70;--surface:#fff;--background:#f2f2f7;--card-background:#fff;--border:#e5e5ea;--success:#34c759;--danger:#ff3b30;--warning:#ff9500;--radius-small:8px;--radius-medium:12px;--radius-large:16px;--shadow-small:0 1px 3px 0 rgba(0,0,0,.1);--shadow-medium:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);--shadow-large:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--background);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Inter,Roboto,Segoe UI,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding-bottom:100px}.container{margin:0 auto;max-width:900px;padding:0 16px}header{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:var(--surface);border-bottom:1px solid var(--border);box-shadow:var(--shadow-small);color:var(--text-primary);padding:0;position:sticky;top:0;z-index:100}.header-content{height:60px;justify-content:space-between}.header-content,.logo{align-items:center;display:flex}.logo{font-size:20px;font-weight:600;gap:8px;text-decoration:none}.logo,.logo i{color:var(--primary)}.logo i{font-size:24px}nav ul{display:flex;gap:8px;list-style:none}nav li{margin:0}nav a{align-items:center;border-radius:var(--radius-small);color:var(--text-secondary);display:flex;font-size:16px;font-weight:500;gap:6px;padding:8px 16px;position:relative;text-decoration:none;transition:all .2s ease}nav a.active,nav a:hover{background:var(--primary-light);color:var(--primary)}nav a.active{font-weight:600}main{padding:24px 0}.app-title{color:var(--text-primary);font-size:32px;font-weight:700;letter-spacing:-.5px;margin-bottom:8px;text-align:center}.card{background:var(--card-background);border:1px solid var(--border);border-radius:var(--radius-large);box-shadow:var(--shadow-small);margin-bottom:20px;padding:24px;transition:all .2s ease}.card:hover{box-shadow:var(--shadow-medium)}.dashboard{display:grid;gap:20px;grid-template-columns:1fr 1fr}@media (max-width:768px){.dashboard{grid-template-columns:1fr}}.card-title{flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:20px}.card-title,.card-title h2{align-items:center;color:var(--text-primary);display:flex;font-size:20px;font-weight:600}.card-title h2{gap:8px;margin:0}.card-title i{color:var(--primary);text-align:center;width:20px}.btn{align-items:center;border:none;border-radius:var(--radius-medium);cursor:pointer;display:inline-flex;font-size:16px;font-weight:600;gap:8px;justify-content:center;min-height:48px;overflow:visible;padding:12px 24px;position:relative;text-decoration:none;transition:all .2s ease}.btn i{display:inline-block;line-height:1;vertical-align:middle}.btn:active{transform:scale(.98)}.btn-primary{background:var(--primary);box-shadow:var(--shadow-small);color:#fff}.btn-primary:hover{background:var(--primary-dark);box-shadow:var(--shadow-medium);transform:translateY(-1px)}.btn-small{font-size:14px;min-height:36px;padding:8px 16px}.btn-small i{color:inherit;display:inline-block;font-size:14px;margin-right:6px;opacity:1}.event-form{margin-top:16px}.input-group{margin-bottom:20px}.input-label{color:var(--text-primary);display:block;font-size:16px;font-weight:500;margin-bottom:8px}input[type=date],input[type=text],textarea{background:var(--surface);border:2px solid var(--border);border-radius:var(--radius-medium);color:var(--text-primary);font-size:16px;padding:12px 16px;transition:all .2s ease;width:100%}input[type=date]:focus,input[type=text]:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(0,122,255,.1);outline:none}.search-bar{display:flex;gap:8px;margin-bottom:16px}.search-bar input{flex:1;margin-bottom:0}.event-list{margin-top:16px;max-height:500px;overflow-y:auto}.event-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-medium);box-shadow:var(--shadow-small);margin-bottom:16px;padding:20px;transition:all .2s ease}.event-item:hover{border-color:var(--primary);box-shadow:var(--shadow-medium);transform:translateY(-2px)}.event-item h3{color:var(--text-primary);font-size:18px;font-weight:600;margin-bottom:12px}.event-content{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}.event-info{flex:1;min-width:200px}.event-info-row{align-items:center;color:var(--text-secondary);display:flex;font-size:14px;gap:8px;margin-bottom:8px}.event-info-row span{align-items:center;display:flex;gap:6px}.event-info-row span i{color:var(--primary);font-size:12px;text-align:center;width:16px}.event-actions{display:flex;flex-wrap:wrap;gap:8px}.action-btn{align-items:center;border:none;border-radius:var(--radius-small);cursor:pointer;display:flex;font-size:12px;font-weight:500;gap:4px;min-height:32px;padding:8px 12px;text-decoration:none;transition:all .2s ease}.view-event{background:var(--primary);color:#fff}.view-event:hover{background:var(--primary-dark);transform:translateY(-1px)}.edit-event{background:var(--warning);color:#fff}.edit-event:hover{background:#e6840a;transform:translateY(-1px)}.delete-event{background:var(--danger);color:#fff}.delete-event:hover{background:#e02d20;transform:translateY(-1px)}.event-footer{align-items:center!important;border-top:1px solid var(--border)!important;display:flex!important;flex-wrap:wrap!important;gap:8px!important;justify-content:flex-start!important;margin-top:12px!important;padding-top:12px!important}.event-footer .btn{align-items:center!important;background:var(--primary)!important;border:none!important;border-radius:var(--radius-small)!important;box-shadow:var(--shadow-small)!important;box-sizing:border-box!important;color:#fff!important;cursor:pointer!important;display:inline-flex!important;flex:1!important;font-size:14px!important;font-weight:600!important;gap:6px!important;height:40px!important;justify-content:center!important;max-height:40px!important;max-width:160px!important;min-height:40px!important;min-width:120px!important;overflow:visible!important;padding:8px 16px!important;position:relative!important;text-decoration:none!important;transition:all .2s ease!important}.event-footer .btn:hover{background:var(--primary-dark)!important;box-shadow:var(--shadow-medium)!important;transform:translateY(-1px)!important}.event-footer .btn:active{transform:scale(.98)!important}.event-footer .btn i{color:inherit!important;display:inline-block!important;line-height:1!important;opacity:1!important;vertical-align:middle!important}.event-meta{flex-wrap:wrap;font-size:12px;gap:16px}.btn-icon{align-items:center;border-radius:50%;display:flex;height:40px;justify-content:center;padding:0;width:40px}.btn-icon:hover{transform:scale(1.1)}.pagination{gap:8px;margin-top:24px}.pagination,.pagination button{align-items:center;display:flex;justify-content:center}.pagination button{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-small);color:var(--text-primary);cursor:pointer;font-size:14px;font-weight:500;height:40px;min-width:40px;padding:8px 12px;transition:all .2s ease}.pagination button.active{background:var(--primary);border-color:var(--primary);color:#fff}.pagination button:hover:not(.active):not([disabled]){background:var(--primary-light);border-color:var(--primary)}.pagination button[disabled]{cursor:not-allowed;opacity:.5}.pagination .page-number{color:var(--text-secondary);font-size:14px}.modal{align-items:center;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:rgba(0,0,0,.5);display:flex;justify-content:center}.modal-content{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-large);max-height:90vh;max-width:90vw}.modal-header{border-bottom:1px solid var(--border);padding:20px 24px}.modal-header h2{color:var(--text-primary);font-size:20px;font-weight:600}.close-btn{border-radius:var(--radius-small);color:var(--text-secondary);font-size:24px;padding:4px;transition:all .2s ease}.close-btn:hover{background:var(--background);color:var(--text-primary)}.measurements-list{padding:20px 24px}.measurement-item{background:var(--background);border:1px solid var(--border);margin-bottom:16px;padding:16px}.measurement-header{margin-bottom:12px}.measurement-header h4{font-weight:600}.measurement-meta{color:var(--text-secondary);display:flex;font-size:12px;gap:12px}.measurement-image{margin-bottom:12px}.measurement-image img{border:1px solid var(--border);border-radius:var(--radius-small);max-width:100%}.measurement-details{font-size:14px}.measurement-dimensions{background:var(--surface);border-radius:var(--radius-small);margin-top:8px;padding:12px}.dimension-item{display:flex;font-family:-apple-system,BlinkMacSystemFont,SF Mono,Monaco,monospace;font-size:13px;justify-content:space-between;padding:4px 0}.no-events{color:var(--text-secondary);padding:48px 24px;text-align:center}.no-events i{font-size:48px;margin-bottom:16px;opacity:.5}.camera-info-card{background:var(--card-background);border:1px solid var(--border);border-radius:var(--radius-large);box-shadow:var(--shadow-small);color:var(--text-primary);margin-bottom:24px;margin-top:24px;padding:24px}.camera-info-title{align-items:center;color:var(--text-primary);display:flex;font-size:20px;font-weight:600;gap:12px;margin-bottom:16px}.camera-info-title i{color:var(--primary);font-size:24px}.camera-status{align-items:center;background:#fff;border:1px solid #e9ecef;border-radius:var(--radius-small);display:flex;font-size:14px;gap:8px;margin-bottom:12px;padding:8px 12px}.camera-status.supported{background:#d4edda;border-color:#c3e6cb;color:#155724}.camera-status.not-supported{background:#f8d7da;border-color:#f5c6cb;color:#721c24}.camera-tips{color:#6c757d;font-size:14px;line-height:1.4}.camera-tips p{margin-bottom:8px}.camera-tips ul{margin:8px 0;padding-left:20px}.camera-tips li{margin-bottom:4px}.test-camera-btn{background:#6c757d;border:1px solid #6c757d;color:#fff;margin-top:16px}.test-camera-btn:hover{background:#5a6268;border-color:#5a6268;transform:translateY(-1px)}.no-events-subtitle{font-size:.9rem;margin-top:.5rem;opacity:.8}.measurements-title{border-bottom:1px solid var(--border);color:var(--primary);font-size:1.2rem;margin-bottom:15px;margin-top:30px;padding-bottom:8px}.measurements-list{margin-top:15px}.measurement-item{background:var(--surface);border-left:3px solid var(--primary);border-radius:var(--radius-medium);box-shadow:var(--shadow-small);margin-bottom:15px;padding:15px}.measurement-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.measurement-header h4{color:var(--text-primary);font-size:1.1rem;margin:0}.measurement-details,.no-measurements{color:var(--text-secondary)}.no-measurements{background:var(--surface-secondary);border-radius:var(--radius-medium);padding:20px;text-align:center}.btn-icon{background:none;border:none;border-radius:var(--radius-small);color:var(--text-muted);cursor:pointer;padding:5px;transition:all .2s ease}.btn-icon:hover{background:rgba(239,68,68,.1);color:var(--danger)}.delete-measurement{font-size:.9rem}.mt-3{margin-top:15px}.mt-4{margin-top:20px}.modal{background-color:rgba(0,0,0,.5);display:none;height:100%;left:0;overflow:auto;position:fixed;top:0;width:100%;z-index:1000}.modal-content{background-color:var(--surface);border-radius:var(--radius-medium);box-shadow:var(--shadow-large);margin:5% auto;max-height:85vh;max-width:700px;overflow-y:auto;padding:0;width:80%}.modal-header{align-items:center;background-color:var(--primary);border-top-left-radius:var(--radius-medium);border-top-right-radius:var(--radius-medium);color:#fff;display:flex;justify-content:space-between;padding:15px 20px}.modal-header h2{color:#fff;font-size:1.5rem;margin:0}.close-btn{background:none;border:none;color:#fff;cursor:pointer;font-size:28px;font-weight:700}#eventDetails{padding:20px}.event-meta{display:flex;gap:20px;margin-top:8px}.event-meta,footer{color:var(--text-secondary)}footer{background:var(--surface);border-top:1px solid var(--border);bottom:0;left:0;margin-top:auto;padding:24px 0;position:fixed;right:0;z-index:100}.footer-content{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}.footer-links{display:flex;gap:24px}.footer-links a{color:var(--text-secondary);font-weight:500;text-decoration:none;transition:color .2s ease}.footer-links a:hover{color:var(--primary)}@media (max-width:768px){.footer-content{flex-direction:column;text-align:center}footer{padding:20px 0}}.event-history-actions{display:flex;gap:8px}.event-history-actions .btn{white-space:nowrap}.event-history-actions .btn i{color:inherit!important;opacity:1!important}