:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}#root{width:100vw;margin:0;padding:0;text-align:center}.window{display:flex;flex-direction:column;height:100vh;width:100vw}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.headerBar{height:60px;background-color:#3d3d3d;padding:0;display:flex;position:inherit;top:0;justify-content:space-between;align-items:center;align-content:center;box-shadow:0 2px 4px #0000001a;z-index:1000}h1{font-size:2rem;color:#fff;padding:auto;margin:.5rem}.headerBar h1{opacity:0;visibility:hidden;transition:opacity .2s ease-in-out,visibility .2s ease-in-out}@media(min-width:700px){.headerBar h1{opacity:1;visibility:visible}}.header-buttons-container{display:flex;align-items:center;margin-right:1rem;gap:0}.header-button{padding:10px;color:#b2b2b2;border:none;background:none}.header-button:hover{color:#fff}.menu-button{font-size:2.2rem}.user-button,.notification-button{font-size:1.5rem}.header-logo{margin:1rem;height:80%}.main-content{flex-grow:1;display:flex;flex-direction:row;flex-wrap:nowrap;min-height:0}.page-content{display:flex;flex-direction:column;padding:0;margin:0;width:100%;height:100%;min-height:0}.page-header{display:flex;justify-content:space-between;align-items:center;margin:0;padding:0 10px;gap:20px;height:60px;border-bottom:#2a2a2a 2px solid;flex-shrink:0}.page-header h1{font-size:2rem;margin:0;color:#fff;padding:0;white-space:nowrap}.page-body{flex-grow:1;padding:0;margin:0;width:100%;min-height:0;overflow-y:auto}.item-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:1.5rem;padding:1rem}.search-box{width:100%;min-width:200px;max-width:800px;padding:.5rem}h1{font-size:2rem;color:#fff;padding:auto;margin:0}.add-record-btn{display:inline-block;color:#fff;padding:10px 20px;border:none;border-radius:5px;cursor:pointer;vertical-align:middle}.add-record-btn:hover{background-color:#555}.app-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;padding:1rem}.app-card{background-color:#1e1e1e;border:1px solid #333;border-radius:8px;padding:1rem;text-align:center;color:#fff;text-decoration:none}.app-card:hover{background-color:#333;border-color:#555}.loading-message{display:flex;align-items:center;justify-content:center;width:100%;height:200px;color:#888;font-size:1.1rem}.loading-message p{margin:0}.signin-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2)}.signin-container.signin-reauth{min-height:auto;background:none;padding:0}.signin-box{background:#fff;padding:40px;border-radius:8px;box-shadow:0 10px 25px #0003;width:100%;max-width:400px}.signin-box h1{text-align:center;margin-bottom:30px;color:#333;font-size:28px}.reauth-header{background-color:#fff3cd;border-left:4px solid #ffc107;padding:16px;border-radius:4px;margin-bottom:24px;text-align:center}.reauth-header h2{margin:0 0 8px;font-size:18px;font-weight:600;color:#333}.reauth-header p{margin:0;font-size:14px;color:#666;line-height:1.5}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;color:#555;font-weight:500;font-size:14px;text-align:left}.form-group input{width:100%;padding:12px;border:1px solid #ddd;border-radius:4px;font-size:14px;transition:border-color .3s;box-sizing:border-box}.form-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.password-input-wrapper{position:relative;display:block}.password-input-wrapper input{width:100%;padding:12px 45px 12px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;transition:border-color .3s;box-sizing:border-box}.password-input-wrapper input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:#667eea;padding:8px 10px;display:inline-flex;align-items:center;justify-content:center;transition:all .2s;font-size:18px;z-index:100}.password-toggle:hover{color:#764ba2}.password-toggle:active{transform:translateY(-50%) scale(.95)}.signin-box button[type=submit]{width:100%;padding:12px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:4px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.signin-box button[type=submit]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 15px #667eea66}.signin-box button[type=submit]:disabled{opacity:.7;cursor:not-allowed}.error-message{color:#d32f2f;font-size:14px;margin-bottom:15px;padding:10px;background-color:#ffebee;border-radius:4px;text-align:center}.success-message{color:#2e7d32;font-size:14px;margin-bottom:15px;padding:10px;background-color:#e8f5e9;border-radius:4px;text-align:center}.toggle-mode{text-align:center;margin-top:20px;color:#666;font-size:14px}.forgot-password-link{text-align:center;margin-top:15px;font-size:14px}.toggle-button{background:none;border:none;color:#667eea;cursor:pointer;font-weight:600;text-decoration:underline;padding:0;margin-left:5px}.toggle-button:hover{color:#764ba2}.verification-message{background-color:#e3f2fd;border-left:4px solid #667eea;padding:20px;border-radius:4px;margin-bottom:30px;text-align:center}.verification-message p{margin:10px 0;color:#1565c0;font-size:15px;line-height:1.5}.verification-message p:first-child{font-weight:600;font-size:16px}.sidebar{display:flex;flex-direction:column;position:relative;margin:0;padding:0;gap:0;top:0;left:0;width:200px;height:100%;border-right:#2a2a2a 2px solid;transition:width .22s cubic-bezier(.2,.9,.2,1),border-color .18s ease,background-color .18s ease;overflow:hidden}.dock-button-div{display:block;position:relative;align-items:center;margin:0;padding:0;height:40px}.dock-button{margin:0;padding:8px;height:100%;width:100%;background:#2a2a2a;border-radius:0%;border:none;text-align:center}.sidebar-content{display:block;position:relative;margin:0;padding:0;background-color:#222}.sidebar-section{display:block;width:calc(100% - 1rem);position:relative;margin:1rem 0;padding:0;border-bottom:#3a3a3a 1px solid}.sidebar-selector{margin:.5rem;width:100%;display:block}label{padding:0;margin:0rem;font-size:small;display:block;width:100%}h4{padding:0;margin:.5rem}.item-card{position:relative;border-radius:8px;overflow:hidden;background-color:#1a1a1a;transition:transform .2s;height:100%;min-width:400px;display:flex;flex-direction:column}.item-card:hover{transform:scale(1.03)}.item-card.inactive{opacity:.5;filter:grayscale(100%)}.card-topbar{height:40px;display:flex;align-items:center;justify-content:center;padding:0 1rem;color:#fff}.internal-header{background-color:#cd2acc;opacity:1}.contractor-header{background-color:#ff6b21;opacity:.8}.header-badge{font-size:1rem;font-weight:700}.item-info{padding-top:.5rem;flex-grow:1;display:flex;flex-direction:column}p{margin:.5rem 0}.pill-container{display:flex;gap:4px;width:90%;flex-wrap:wrap;margin:.5rem;overflow:hidden;flex-shrink:0;margin-top:auto}.button-container{display:flex;justify-content:flex-end;padding-right:.5rem;padding-bottom:.5rem;gap:1rem}.edit-btn{padding:0;color:#b2b2b2;background-color:transparent;border:0;cursor:pointer;transition:background-color .2s}.edit-btn:hover{color:#fff}.preview-btn{padding:0;color:#b2b2b2;background-color:transparent;border:0;cursor:pointer;transition:background-color .2s}.preview-btn:hover{color:#fff}@media(max-width:768px){.movie-card{font-size:.9rem}.movie-info{padding:.75rem}.favorite-btn{width:32px;height:32px;font-size:1.2rem}}.pill-background{display:inline-block;background-color:#2a2a2a;border-radius:99px;padding:.25rem .75rem;align-content:baseline}.pill-text{text-align:center;padding:0;margin:0;vertical-align:text-top;font-size:.875rem;color:#fff}.item-edit-modal{position:fixed;top:50%;left:50%;width:80vw;height:auto;max-height:90vh;transform:translate(-50%,-50%);background-color:#252525;padding:0;border-radius:8px;box-shadow:0 4px 12px #0000004d;z-index:1000;display:flex;flex-direction:column;overflow:hidden}.modal-header{flex-shrink:0;font-size:1.5rem;margin:0;padding:1rem;color:#fff;border-bottom:1px solid #333;display:flex;align-items:center;gap:1rem}.load-job-btn{background-color:transparent;color:#fff;border:none;padding:8px 12px;border-radius:4px;cursor:pointer;font-size:14px;font-weight:400;text-decoration:none;white-space:nowrap;position:relative}.load-job-btn:hover{opacity:.7}.modal-body{display:flex;flex-direction:column;flex:1;width:100%;min-height:0;overflow-y:auto;background-color:#1a1a1a;border-radius:8px}h1{color:#fff;padding:0;margin:0;font-size:larger;flex:1;text-align:center}label{color:#fff;text-align:right;vertical-align:baseline;font-weight:700;padding-right:1rem}input,select,textarea{background-color:#3a3a3a;color:#fff;border:1px solid #555;border-radius:4px;padding:8px}} .job-number-modal-overlay{position:absolute;inset:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1001}.job-number-modal{background-color:#2b2b2b;border:1px solid #444;border-radius:8px;padding:2rem;box-shadow:0 10px 40px #0000004d;width:90%;max-width:400px;color:#fff}.job-number-modal h3{margin:0 0 1rem;font-size:1.25rem;font-weight:600}.job-number-modal input{width:100%;padding:.75rem;margin-bottom:1rem;background-color:#3a3a3a;border:1px solid #555;border-radius:4px;color:#fff;font-size:1rem;box-sizing:border-box}.job-number-modal input:focus{outline:none;border-color:#4a90e2;box-shadow:0 0 0 2px #4a90e233}.job-number-modal input::placeholder{color:#888}.job-number-error{color:#ff6b6b;font-size:.875rem;margin-bottom:1rem}.job-number-modal-actions{display:flex;gap:1rem;justify-content:flex-end}.job-number-modal-actions button{padding:.75rem 1.5rem;border:none;border-radius:4px;font-size:1rem;cursor:pointer;font-weight:500;transition:all .2s ease}.job-number-modal-actions .cancel-btn{background-color:transparent;border:1px solid #555;color:#fff}.job-number-modal-actions .cancel-btn:hover{background-color:#3a3a3a;border-color:#666}.job-number-modal-actions .load-btn{background-color:#4a90e2;color:#fff}.job-number-modal-actions .load-btn:hover{background-color:#357abd}.job-number-modal-actions .load-btn:disabled{background-color:#2d5a8c;cursor:not-allowed;opacity:.6}.subpage-modal-overlay{position:fixed;inset:0;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:2000;padding:1rem}.subpage-modal{background-color:#252525;border-radius:8px;width:100%;max-width:500px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 10px 40px #00000080;animation:slideInModal .3s ease-out}@keyframes slideInModal{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.subpage-modal-header{flex-shrink:0;padding:1.5rem;border-bottom:1px solid #333;display:flex;justify-content:space-between;align-items:center}.subpage-modal-header h2{margin:0;color:#fff;font-size:1.25rem;font-weight:600}.subpage-close-btn{background:transparent;border:none;color:#fff;font-size:24px;cursor:pointer;padding:0;line-height:1;width:30px;height:30px;display:flex;align-items:center;justify-content:center;transition:opacity .2s}.subpage-close-btn:hover{opacity:.7}.subpage-modal-body{flex:1;overflow-y:auto;padding:1.5rem}.subpage-modal-body::-webkit-scrollbar{width:8px}.subpage-modal-body::-webkit-scrollbar-track{background:#1a1a1a}.subpage-modal-body::-webkit-scrollbar-thumb{background:#555;border-radius:4px}.subpage-modal-body::-webkit-scrollbar-thumb:hover{background:#666}.address-form{display:flex;flex-direction:column;gap:.1rem}.address-form .form-row{display:grid;grid-template-columns:1fr 2fr;align-items:center;gap:1rem}.address-form label{color:#fff;font-weight:500;font-size:.9rem;text-align:right;padding-right:.5rem}.address-form input{width:100%;padding:.5rem;background-color:#3a3a3a;border:1px solid #555;border-radius:4px;color:#fff;font-size:.95rem;transition:border-color .2s;font-family:inherit;box-sizing:border-box}.address-form input:focus{outline:none;border-color:#4a90e2;box-shadow:0 0 0 2px #4a90e233}.address-form input::placeholder{color:#888}.address-form select{width:100%;padding:.5rem;background-color:#3a3a3a;border:1px solid #555;border-radius:4px;color:#fff;font-size:.95rem;transition:border-color .2s;font-family:inherit;box-sizing:border-box}.address-form select:focus{outline:none;border-color:#4a90e2;box-shadow:0 0 0 2px #4a90e233}.job-number-form{display:flex;flex-direction:column;gap:1rem}.job-number-form p{color:#fff;font-size:.95rem;margin:0}.job-number-form input{width:100%;padding:.75rem;background-color:#3a3a3a;border:1px solid #555;border-radius:4px;color:#fff;font-size:.95rem;transition:border-color .2s;font-family:inherit;box-sizing:border-box}.job-number-form input:focus{outline:none;border-color:#4a90e2;box-shadow:0 0 0 2px #4a90e233}.job-number-form input:disabled{opacity:.6;cursor:not-allowed}.job-number-form input::placeholder{color:#888}.job-number-error{color:#ff6b6b;font-size:.875rem}.subpage-modal-footer{flex-shrink:0;padding:1.5rem;border-top:1px solid #333;display:flex;gap:1rem;justify-content:flex-end}.subpage-modal-footer button{padding:.75rem 1.5rem;border:none;border-radius:4px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s}.subpage-modal-footer .cancel-btn{background-color:transparent;border:1px solid #555;color:#fff}.subpage-modal-footer .cancel-btn:hover{background-color:#3a3a3a;border-color:#666}.subpage-modal-footer .save-btn{background-color:#4a90e2;color:#fff}.subpage-modal-footer .save-btn:hover{background-color:#357abd}.loaded-job-data{padding:0}.loaded-job-data h3{margin:0 0 1rem;color:#4a90e2;font-size:1rem;text-align:center}.job-data-display{display:flex;flex-direction:column;gap:.75rem}.job-data-row{display:grid;grid-template-columns:1fr 2fr;gap:1rem;padding:.75rem;background-color:#2b2b2b;border-radius:4px;border-left:3px solid #4a90e2}.job-data-row strong{color:#4a90e2;word-break:break-word}.job-data-row span{color:#ccc;word-break:break-word;white-space:pre-wrap;overflow-wrap:break-word}@media(max-width:600px){.subpage-modal{max-width:100%;max-height:100vh;border-radius:0}.subpage-modal-header,.subpage-modal-body,.subpage-modal-footer{padding:1rem}}.edit-form{display:flex;flex-direction:column;width:100%;height:100%;box-sizing:border-box;overflow:hidden}.load-job-btn:hover{background-color:#d0d0d0}.form-sub-heading{padding-top:0;padding-bottom:0;margin-top:1rem}.form-body{flex:1;padding:1rem;box-sizing:border-box;overflow-y:auto;min-height:0}.form-actions{flex-shrink:0;padding:1rem;background-color:#1f1f1f;border-top:1px solid #333;box-sizing:border-box;display:flex;justify-content:space-between;align-items:center}.form-row{display:grid;grid-template-columns:1fr 2fr;align-items:center;margin:.5rem 0;gap:1rem}.form-row input[type=checkbox]{justify-self:start}.input-wrapper{display:flex;flex-direction:column;gap:.25rem}textarea{height:80px;resize:vertical;font-family:Helvetica,Arial}input[type=date],input[type=text],input[type=email],input[type=tel],input[type=number],input[type=url]{font-family:Helvetica,Arial}.error-message{color:#ff6b6b;font-size:.875rem;font-weight:500}input.input-error,select.input-error,textarea.input-error{border-color:#ff6b6b!important;background-color:#ff6b6b0d!important}input.input-error:focus,select.input-error:focus,textarea.input-error:focus{outline:none;box-shadow:0 0 0 3px #ff6b6b1a}.form-actions-right{display:flex;justify-content:flex-end;gap:1rem}.form-actions-left{display:flex;justify-content:flex-start;gap:1rem}.close-btn{position:absolute;top:1rem;right:1rem;padding:0;margin:0;background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer}.form-heading{padding-top:0;padding-bottom:0}h3{padding:0;margin:0}.course-records{flex:1}.course-records-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding:1rem}.add-course-btn{background-color:#2e7d32;color:#fff;border:none;padding:8px 12px;border-radius:4px;cursor:pointer;transition:background-color .2s}.add-course-btn:hover{background-color:#1b5e20}.courses-list{max-height:300px;width:60%;margin:0 auto;overflow-y:auto;border:1px solid #ddd;border-radius:4px}.course-item{padding:10px;border-bottom:1px solid #ddd;cursor:pointer;transition:background-color .2s}.course-item:hover{background-color:#4d4d4d}.course-item.dragging{opacity:.5;background-color:#e3f2fd}.course-item-name{font-weight:700}.courses-empty{padding:10px;color:#999}.form-preview-btn{background-color:#1a1a1a;color:#fff;border:none;padding:8px 12px;border-radius:4px;cursor:pointer;transition:background-color .2s}.form-preview-btn:hover{background-color:#333}.delete-btn{background-color:#c62828;color:#fff;border:none;padding:8px 12px;border-radius:4px;cursor:pointer;transition:background-color .2s}.delete-btn:hover{background-color:#b71c1c}.in-form-add-record-btn{background-color:#333;color:#fff;border:none;padding:6px 10px;border-radius:4px;cursor:pointer;transition:background-color .2s}.in-form-add-record-btn:hover{background-color:#1b5e20}.course-price-input{flex:1}.external-resource-form-elements,.driving-form-elements{display:flex;flex-direction:column;gap:1rem}.cbx{align-items:start}.cbx label{margin-left:.5rem;-webkit-user-select:none;user-select:none}.cbx input[type=checkbox]{margin-top:.2rem}.form-section{border-top:1px solid #ccc;padding-top:1rem;margin-top:1rem}.form-section h4{margin-bottom:.5rem}.form-section .form-row{grid-template-columns:1fr 3fr}.form-section .form-row textarea{width:100%;height:80px;resize:vertical;font-family:Helvetica,Arial}.form-section .form-row input[type=text],.form-section .form-row input[type=number],.form-section .form-row input[type=url]{width:100%;padding:.5rem;box-sizing:border-box}.training-records-section{margin-top:1.5rem;padding-top:1rem;border-top:1px solid #333;box-sizing:border-box;font-family:Helvetica,Arial}.training-records-section h3{margin:0 0 1rem;color:#fff;font-size:1.1rem}.training-records-header{position:relative;display:flex;justify-content:center;align-items:center}.training-records-header .in-form-add-record-btn{position:absolute;right:0;display:flex;align-items:center;justify-content:center}.training-records-table{width:100%;border-collapse:collapse}.training-records-table thead{background-color:#2d2d2d}.training-records-table thead th{padding:.5rem;text-align:center;color:#aaa;font-weight:500;border-bottom:1px solid #333;font-size:.9rem}.training-records-table tbody td{padding:.5rem;border-bottom:1px solid #333;color:#ddd}.training-records-table tbody tr:hover{background-color:#2d2d2d}.training-link{background:none;border:none;color:#667eea;cursor:pointer;text-decoration:none;padding:0;font:inherit;transition:color .2s}.training-link:hover{color:#764ba2;text-decoration:underline}.address-field-with-edit{position:relative;display:flex;align-items:center;gap:.5rem}.address-display{flex:1;padding:.75rem;background-color:#3a3a3a;border:1px solid #555;border-radius:4px;color:#ccc;font-size:.95rem;word-break:break-word;min-height:44px;display:flex;align-items:center}.address-display:empty:before{content:"Click edit to add address";color:#888}.edit-address-btn{background-color:transparent;color:#fff;border:none;border-radius:0;padding:.5rem;cursor:pointer;font-size:.95rem;display:flex;align-items:center;justify-content:center;transition:opacity .2s;flex-shrink:0;white-space:nowrap}.edit-address-btn:hover{opacity:.7}.edit-address-btn:active{opacity:.5}.job-number-input-wrapper{position:relative;display:flex;align-items:flex-start;width:100%}.job-number-input-wrapper input{width:100%;padding-right:45px;box-sizing:border-box}.load-job-btn-inline{position:absolute;right:8px;top:50%;transform:translateY(-50%);background-color:transparent;color:#fff;border:none;border-radius:0;padding:.5rem;cursor:pointer;font-size:.9rem;display:flex;align-items:center;justify-content:center;transition:opacity .2s}.address-display-wrapper{display:flex;align-items:center;gap:.5rem;padding:.5rem;border-radius:4px;background-color:#2d2d2d;border:1px solid #444}.address-display{flex:1;color:#ddd;font-size:.95rem;font-family:Helvetica,Arial;word-break:break-word}.load-job-btn-inline:hover{opacity:.7}.load-job-btn-inline:active{opacity:.5}.record-table{width:100%;border-collapse:collapse;border-radius:10px;border:#2a2a2a 2px solid;overflow:hidden}.record-table .data-col{padding:10px 50px 10px 10px;margin:0;text-align:left}.record-table tr{border-bottom:1px solid #ddd}.record-table thead{position:sticky;top:0;background-color:#4a4a4a;z-index:1}.checkbox-col{display:none;width:40px;text-align:center;padding:0}.checkbox-col input[type=checkbox]{cursor:pointer}.record-actions-col{padding:.5rem;margin:0;text-align:right}.record-actions-cell{padding:0;margin:0}.edit-record-btn{border:none;padding:4px;margin:0;background-color:transparent}.settings-section{padding:0;border:1px solid #444;border-radius:8px;gap:.5rem;margin:1rem;overflow:hidden;background-color:#1a1a1a}.settings-section-header{font-size:1.5rem;margin:0;padding:1rem;color:#fff;background-color:#2a2a2a;border:none}.settings-section-content{display:flex;flex-direction:column;gap:1rem;border:none;padding:1rem;background-color:#1a1a1a}.settings-subsection{margin-bottom:1.5rem}.settings-subsection h3{font-size:1.1rem;color:#fff;margin:0 0 .5rem;padding:0}.module-description{color:#aaa;font-size:.95rem;margin:0 0 1rem}.modules-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.module-item{padding:1rem;background-color:#252525;border:1px solid #444;border-radius:6px;transition:all .2s ease}.module-item:hover{border-color:#666;background-color:#2a2a2a}.module-label{display:flex;align-items:flex-start;gap:.75rem;cursor:pointer;-webkit-user-select:none;user-select:none}.module-label input[type=checkbox]{margin-top:.2rem;cursor:pointer;accent-color:#4a90e2}.module-label input[type=checkbox]:disabled{cursor:not-allowed;opacity:.6}.module-info{flex:1}.module-name{color:#fff;font-weight:500;font-size:.95rem;margin-bottom:.25rem}.module-desc{color:#999;font-size:.85rem}.user-management-container{display:flex;gap:2rem;min-height:400px}.users-list{flex:0 0 300px;display:flex;flex-direction:column;border:1px solid #444;border-radius:6px;overflow:hidden;background-color:#252525}.users-list h4{margin:0;padding:.5rem .75rem;color:#fff;background-color:#2a2a2a;font-size:.9rem}.users-scroll{flex:1;overflow-y:auto;display:flex;flex-direction:column}.user-item{padding:0;margin:0;background:none;border:none;color:#ccc;text-align:left;cursor:pointer;transition:all .2s ease}.user-item:hover{background-color:#2a2a2a;color:#fff}.user-item.active{background-color:#4a90e2;color:#fff}.user-info{flex:1;padding:2rem;margin:0;display:flex;flex-direction:column;border-bottom:1px solid #333}.user-name{font-weight:500;font-size:.85rem;margin-bottom:0}.user-email{font-size:.75rem;opacity:.8}.user-status{font-size:.75rem;margin-top:.5rem;margin-bottom:0;opacity:.9;display:flex;align-items:center;gap:.5rem;white-space:nowrap}.status-active{color:#4ade80;font-weight:500}.status-inactive{color:#ef4444;font-weight:500}.user-role-pill{display:inline-block;padding:.2rem .5rem;background-color:#4a90e233;border:1px solid #4a90e2;border-radius:12px;font-size:.65rem;font-weight:600;color:#4a90e2;white-space:nowrap;flex-shrink:0;margin-left:.5rem}.user-item.active .user-role-pill{background-color:#fff3;border-color:#fff;color:#fff}.no-users{padding:2rem 1rem;text-align:center;color:#999;margin:0}.user-modules{flex:1;display:flex;flex-direction:column}.user-modules h4{margin:0 0 1rem;color:#fff;font-size:.95rem}.user-settings-form{display:flex;gap:1rem;margin-bottom:2rem;padding:1rem;background-color:#252525;border-radius:6px;border:1px solid #444}.user-settings-form .form-group{flex:1;display:flex;flex-direction:column;gap:.5rem}.user-settings-form label{color:#fff;font-size:.9rem;font-weight:500}.user-settings-form select{padding:.5rem .75rem;background-color:#2a2a2a;color:#fff;border:1px solid #444;border-radius:4px;font-size:.9rem;cursor:pointer;transition:all .2s ease}.user-settings-form select:hover{border-color:#666}.user-settings-form select:focus{outline:none;border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e21a}.user-actions{display:flex;gap:1rem;justify-content:space-between;align-items:center;margin-top:2rem}.btn-cancel,.btn-save,.btn-delete{padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-cancel{background-color:#444;color:#fff}.btn-cancel:hover{background-color:#555}.btn-cancel:active{background-color:#333}.btn-save{background-color:#4a90e2;color:#fff}.btn-save:hover{background-color:#3a7fbf}.btn-save:active{background-color:#2a6fa0}.btn-delete{background-color:#dc3545;color:#fff}.btn-delete:hover{background-color:#c82333}.btn-delete:active{background-color:#b01d28}.button-group{display:flex;gap:1rem}.nav-bar{display:flex;height:40px;width:100%;padding:0;background-color:#29293d;align-items:center;justify-content:space-evenly}.nav-button{padding:1rem;font-size:16px;color:#fff;background:none}.header-dropdown{display:block;position:absolute;width:auto;height:auto;top:60px;right:0;background-color:#3d3d3d;z-index:999;transform-origin:top center;transition:transform .5s cubic-bezier(.2,.9,.2,1),opacity .18s ease;transform:translateY(-12px);opacity:0;pointer-events:none}ul{margin:0;padding:0}li{color:#fff;list-style-type:none;padding:.5rem 1.5rem;border-bottom:1px solid #4c4c4c}a{color:#fff;text-decoration:none;padding:10px;border-radius:5px;transition:background-color .5s ease-in-out}.header-dropdown.visible{transform:translateY(0);opacity:1;pointer-events:auto}.header-dropdown.hidden{transform:translateY(-200px);opacity:0;pointer-events:none}.menu-Content{display:none}.menu-Content.visible{display:block}.notifications-Content{display:none}.notifications-Content.visible{display:block}.user-content{display:none;min-width:250px}.user-content.visible{display:block}.user-info{color:#fff;padding:1rem}.user-header{border-bottom:1px solid #4c4c4c;padding-bottom:1rem;margin-bottom:1rem}.user-name{margin:0;font-weight:600;font-size:1rem}.user-email{margin:.25rem 0 0;font-size:.875rem;color:#b0b0b0}.user-details{margin-bottom:1rem;font-size:.875rem}.user-details p{margin:.5rem 0}.signout-button{width:100%;padding:.75rem;background-color:#d32f2f;color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:600;transition:background-color .3s ease}.signout-button:hover{background-color:#b71c1c}.change-password-link{width:100%;padding:.75rem;background:none;color:#667eea;border:none;border-radius:4px;cursor:pointer;font-weight:600;text-decoration:underline;transition:color .3s ease;font-size:.875rem;margin-bottom:.5rem}.change-password-link:hover{color:#764ba2}.access-denied-modal{position:fixed;inset:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.access-denied-content{background-color:#fff;padding:40px;border-radius:8px;box-shadow:0 4px 6px #0000001a;max-width:400px;text-align:center}.access-denied-content h2{color:#d32f2f;margin:0 0 15px;font-size:24px}.access-denied-content p{color:#666;margin:0 0 20px;font-size:14px;line-height:1.5}.access-denied-button{background-color:#4a90e2;color:#fff;border:none;padding:12px 30px;border-radius:4px;font-size:14px;font-weight:600;cursor:pointer;transition:background-color .2s}.access-denied-button:hover{background-color:#3a7fbf}.access-denied-button:active{background-color:#2a6fa0}.reauth-modal-overlay{position:fixed;inset:0;background:#00000080;z-index:2000;display:flex;align-items:center;justify-content:center;padding:1rem}.reauth-modal-content{background:#fff;border-radius:6px;max-width:540px;width:100%;height:auto;overflow-y:hidden;box-shadow:0 6px 24px #0000004d;position:relative;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.reauth-modal-content .signin-container{padding:0!important;background:transparent;display:flex;justify-content:center}.reauth-modal-content .signin-box{width:100%;padding:24px;border:none;box-shadow:none;background:transparent}@media(max-width:600px){.reauth-modal-overlay{padding:1rem}.reauth-modal-content{max-width:100%}.reauth-modal-header{padding:16px 16px 8px}.reauth-modal-content .signin-box{padding:16px}}
