*{box-sizing:border-box;margin:0;padding:0}html{height:100%;overflow:hidden}body{font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,'Open Sans','Helvetica Neue',sans-serif;line-height:1.6;color:#333;background-color:#f4f4f4;position:relative;height:100%;overflow:hidden;display:flex;flex-direction:column;padding-top:95px;padding-bottom:75px}header{padding:1rem 2rem;min-height:60px;border-bottom:3px solid #007bff;position:fixed;top:0;left:0;width:100%;z-index:1050;background-color:#333;color:#fff;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}header .header-title{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px}header h1{margin:0;font-size:1.8rem;white-space:nowrap}header .version{font-size:.8rem;color:#ccc;font-weight:400;white-space:nowrap}header .header-description{font-size:.9em;color:#bbb;font-style:italic;font-weight:400}header .nav-button{background-color:#007bff;color:#fff;padding:.5rem 1rem;text-decoration:none;border-radius:5px;font-size:.9rem;display:flex;align-items:center;transition:background-color .3s ease}header .nav-button:hover{background-color:#0056b3}header .nav-button .fa-arrow-left{margin-right:6px}main{width:96%;max-width:1600px;margin:1rem auto;padding:1.5rem;background-color:#fff;border-radius:8px;box-shadow:0 2px 5px rgba(0,0,0,.1);flex-grow:1;overflow:hidden;position:relative;display:flex}.main-layout{display:flex;flex-wrap:wrap;gap:20px;width:100%;height:100%;overflow:hidden}.column{display:flex;flex-direction:column;gap:1.5rem}.column-left{width:450px;flex-shrink:0;overflow-y:auto}.column-right{flex-grow:1;flex-basis:0;min-width:300px;display:flex;flex-direction:column;overflow:hidden}section{padding:1.5rem;border:1px solid #ddd;border-radius:5px;background-color:#fdfdfd;margin-bottom:0;width:100%;flex-shrink:0}.data-section{flex-grow:1;display:flex;flex-direction:column;overflow:hidden}.column-left section{padding-top:1.5rem;padding-bottom:.75rem;padding-left:1.5rem;padding-right:1.5rem}h2{margin-top:0;margin-bottom:1rem;color:#333;border-bottom:1px solid #eee;padding-bottom:.5rem;flex-shrink:0}.input-group,.settings-group{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:1rem}.camera-controls-group{margin-bottom:.5rem!important}.button-group{margin-bottom:.5rem!important}.input-group:last-child,.settings-group:last-child{margin-bottom:0}label{font-weight:700}input[type=text]{padding:.6rem;border:1px solid #ccc;border-radius:4px;font-size:inherit}input[type=checkbox],input[type=text]{vertical-align:middle}.input-group #barcodeInput{flex-grow:1;min-width:150px}.input-group label[for=barcodeInput]{margin-right:5px}.camera-controls-group{display:flex;flex-wrap:wrap;align-items:center;gap:15px}.sound-option{display:flex;align-items:center;gap:5px}.sound-option label{font-weight:400}.horizontal-fields-group{display:flex;flex-wrap:wrap;gap:15px;align-items:flex-start}.field-group{display:flex;flex-direction:column;flex-grow:1;flex-shrink:1}.location-group,.person-group{flex-basis:calc(40% - 10px);min-width:120px}.type-group{flex-basis:calc(20% - 10px);min-width:80px}.field-group label{margin-bottom:4px;display:block;font-size:.9em}.field-group input[type=text]{width:100%;flex-grow:0;flex-basis:auto;min-width:auto}.button-group{display:flex;flex-wrap:wrap;gap:10px;align-items:center}button{padding:.6rem 1.2rem;background-color:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background-color .3s ease,border-color .3s ease;font-size:.95rem;vertical-align:middle;white-space:nowrap;-webkit-appearance:none;-moz-appearance:none;appearance:none}button:hover{background-color:#0056b3}button:disabled{background-color:#ccc;cursor:not-allowed;border-color:#ccc}.disk-button{background-color:#f0f0f0;color:#333;border:1px solid #ccc;padding:.6rem 1.2rem;font-size:.95rem;box-shadow:none}.disk-button:hover{background-color:#e0e0e0;border-color:#bbb}.disk-button:active{background-color:#d0d0d0;border-color:#aaa;box-shadow:inset 0 1px 3px rgba(0,0,0,.15);transform:translateY(1px)}.disk-button:focus{outline:0}.disk-button:focus-visible{outline:2px solid #0056b3;outline-offset:1px}.danger-button{background-color:#dc3545;border-color:#dc3545;color:#fff}.danger-button:hover{background-color:#c82333;border-color:#bd2130}.danger-button:active{background-color:#bd2130;border-color:#b21f2d}button i.fa-solid{margin-right:6px}.status-message{margin-top:.5em;font-size:.9em;color:#666;min-height:1.2em;flex-shrink:0}.draggable-dialog{position:absolute;z-index:1001;background-color:#fff;border:1px solid #aaa;box-shadow:3px 3px 10px rgba(0,0,0,.2);border-radius:5px;display:none;width:420px;min-width:300px;overflow:hidden;top:100px;left:calc(50% - 210px)}.dialog-header{background-color:#f0f0f0;padding:8px 12px;cursor:move;border-bottom:1px solid #ccc;display:flex;justify-content:space-between;align-items:center;user-select:none;-webkit-user-select:none;-ms-user-select:none}.dialog-header span{font-weight:700}.dialog-close-button{background:0 0;border:none;font-size:1.2em;font-weight:700;color:#777;cursor:pointer;padding:0 5px;line-height:1;-webkit-appearance:none;-moz-appearance:none;appearance:none}.dialog-close-button:hover{color:#000;background:0 0}.dialog-close-button i.fa-solid{margin-right:0}.dialog-content #cameraPreview{width:100%;display:block;background-color:#333}.dialog-status{padding:8px;background-color:#f8f8f8;border-top:1px solid #eee;text-align:center;margin-top:0}.dialog-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.5);z-index:1100;display:none}.custom-dialog{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1101;background-color:#fff;border:1px solid #ccc;border-radius:8px;box-shadow:0 5px 15px rgba(0,0,0,.3);padding:1.5rem 2rem;min-width:300px;max-width:90%;display:none}.custom-dialog .dialog-message{margin:0 0 1.5rem 0;line-height:1.5;font-size:1.05em;text-align:center}.custom-dialog .dialog-buttons{display:flex;justify-content:flex-end;gap:10px;margin-top:1rem}.custom-dialog .dialog-button{padding:.5rem 1rem;border-radius:4px;border:1px solid transparent;cursor:pointer;font-size:.95em;transition:background-color .2s ease,border-color .2s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-dialog .dialog-button.primary{background-color:#007bff;color:#fff;border-color:#007bff}.custom-dialog .dialog-button.primary:hover{background-color:#0056b3;border-color:#0056b3}.custom-dialog .dialog-button.secondary{background-color:#f0f0f0;color:#333;border-color:#ccc}.custom-dialog .dialog-button.secondary:hover{background-color:#e0e0e0;border-color:#bbb}.table-container{flex-grow:1;overflow:scroll;border:1px solid #ddd;max-height:65vh;min-height:150px}table{width:100%;border-collapse:collapse}td,th{border:1px solid #ddd;padding:.7rem;text-align:left;vertical-align:middle;white-space:nowrap;transition:background-color .5s ease-out}th{background-color:#e9e9e9;font-weight:700;position:sticky;top:0;z-index:10}td:first-child,th:first-child{position:sticky;left:0;z-index:11;background-color:#e0e0e0;text-align:center}td:first-child{background-color:#f0f0f0;z-index:5}tbody tr:nth-child(odd){background-color:#f9f9f9}tbody tr:nth-child(odd) td:first-child{background-color:#f0f0f0}tbody tr:hover{background-color:#f1f1f1}tbody tr:hover td:first-child{background-color:#e8e8e8}tr.newly-added td{background-color:#e8f4ff}tr.newly-added td:first-child{background-color:#dbefff}td button.delete-button{padding:.3rem .6rem;font-size:.8rem;background-color:#ffc107;color:#333;border:1px solid #e0a800;-webkit-appearance:none;-moz-appearance:none;appearance:none}td button.delete-button:hover{background-color:#e0a800;border-color:#d39e00}#noDataMessage{padding:1rem;text-align:center;flex-shrink:0}footer{background-color:#333;color:#ccc;padding:1rem 2rem;text-align:center;position:fixed;bottom:0;left:0;width:100%;z-index:1050;font-size:.9rem;border-top:3px solid #007bff;flex-shrink:0}footer a{color:#87ceeb;text-decoration:none}footer a:hover{text-decoration:underline}footer #disclaimer{margin-top:.5rem;font-size:.8rem;color:#aaa}footer #disclaimer p{margin:0}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (max-width:900px){.main-layout{height:auto}.column-left{width:100%;flex-basis:auto;overflow-y:visible}.column-right{flex-basis:100%;flex-grow:0;min-width:100%;max-height:60vh}.table-container{max-height:50vh}.draggable-dialog{width:90%;left:5%!important;top:90px!important}}@media (max-width:768px){main{margin:.5rem;padding:1rem;width:auto}h1{font-size:1.5rem}.input-group:not(.camera-controls-group){flex-direction:column;align-items:stretch}.input-group:not(.camera-controls-group) label{margin-bottom:5px;margin-right:0}.horizontal-fields-group{gap:10px}.location-group,.person-group,.type-group{flex-basis:calc(33.33% - 7px);min-width:100px}footer{padding:.8rem 1rem}td,th{padding:.5rem}th:first-child{background-color:#e0e0e0}td:first-child{background-color:#f0f0f0}tbody tr:nth-child(odd) td:first-child{background-color:#f0f0f0}tbody tr:hover td:first-child{background-color:#e8e8e8}tr.newly-added td{background-color:#e8f4ff}tr.newly-added td:first-child{background-color:#dbefff}}@media (max-width:480px){header h1{font-size:1.3rem}header .nav-button{font-size:.8rem;padding:.4rem .8rem}.disk-button,button{padding:.5rem 1rem;font-size:.9rem}.column{gap:1rem}section{padding:1rem}.column-left section{padding:.75rem 1rem}.location-group,.person-group{flex-basis:calc(50% - 5px);min-width:120px}.type-group{flex-basis:100%;min-width:120px}.draggable-dialog{width:95%;left:2.5%!important;top:85px!important}.dialog-header{padding:6px 10px}td,th{padding:.4rem}.custom-dialog{width:90%;padding:1rem 1.5rem}.custom-dialog .dialog-message{font-size:1em}.custom-dialog .dialog-buttons{justify-content:center}}