:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;--bg-primary: #1b1a1a;--bg-secondary: #2a2a2a;--bg-tertiary: rgba(42, 42, 42, .5);--bg-hover: #323232;--bg-header: #1b1a1a;--bg-nav: #2a2a2a;--bg-subnav: #262626;--text-primary: rgba(255, 255, 255, .87);--text-secondary: #e0e0e0;--text-tertiary: #999;--border-primary: #646cff;--border-secondary: #444;--border-tertiary: #ddd;--link-primary: #646cff;--link-hover: #89a0ff;--link-active: #89a0ff;--button-primary: #646cff;--button-hover: #7c84ff;--button-shadow: rgba(100, 108, 255, .4);--input-bg: #2a2a2a;--input-border: #646cff;--input-focus-shadow: rgba(100, 108, 255, .1);--error-text: #ff6b6b;--error-bg: rgba(255, 107, 107, .1);--error-border: #ff6b6b;--success-text: #51cf66;--success-bg: rgba(81, 207, 102, .1);--success-border: #51cf66;--info-text: #74c0fc;--info-bg: rgba(116, 192, 252, .1);--info-border: #74c0fc;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media(prefers-color-scheme:light){:root{--bg-primary: #ffffff;--bg-secondary: #f5f5f5;--bg-tertiary: rgba(245, 245, 245, .8);--bg-hover: #eeeeee;--bg-header: #f8f9fa;--bg-nav: #ffffff;--bg-subnav: #f8f9fa;--text-primary: #1a1a1a;--text-secondary: #333333;--text-tertiary: #666666;--border-primary: #4054de;--border-secondary: #d0d0d0;--border-tertiary: #bbb;--link-primary: #4054de;--link-hover: #2d3abc;--link-active: #2d3abc;--button-primary: #4054de;--button-hover: #2d3abc;--button-shadow: rgba(64, 84, 222, .2);--input-bg: #ffffff;--input-border: #4054de;--input-focus-shadow: rgba(64, 84, 222, .1);--error-text: #d63031;--error-bg: rgba(214, 48, 49, .1);--error-border: #d63031;--success-text: #00b894;--success-bg: rgba(0, 184, 148, .1);--success-border: #00b894;--info-text: #0984e3;--info-bg: rgba(9, 132, 227, .1);--info-border: #0984e3}}[data-theme=light]{--bg-primary: #ffffff;--bg-secondary: #f5f5f5;--bg-tertiary: rgba(245, 245, 245, .8);--bg-hover: #eeeeee;--bg-header: #f8f9fa;--bg-nav: #ffffff;--bg-subnav: #f8f9fa;--text-primary: #1a1a1a;--text-secondary: #333333;--text-tertiary: #666666;--border-primary: #4054de;--border-secondary: #d0d0d0;--border-tertiary: #bbb;--link-primary: #4054de;--link-hover: #2d3abc;--link-active: #2d3abc;--button-primary: #4054de;--button-hover: #2d3abc;--button-shadow: rgba(64, 84, 222, .2);--input-bg: #ffffff;--input-border: #4054de;--input-focus-shadow: rgba(64, 84, 222, .1);--error-text: #d63031;--error-bg: rgba(214, 48, 49, .1);--error-border: #d63031;--success-text: #00b894;--success-bg: rgba(0, 184, 148, .1);--success-border: #00b894;--info-text: #0984e3;--info-bg: rgba(9, 132, 227, .1);--info-border: #0984e3}[data-theme=dark]{--bg-primary: #1b1a1a;--bg-secondary: #2a2a2a;--bg-tertiary: rgba(42, 42, 42, .5);--bg-hover: #323232;--bg-header: #1b1a1a;--bg-nav: #2a2a2a;--bg-subnav: #262626;--text-primary: rgba(255, 255, 255, .87);--text-secondary: #e0e0e0;--text-tertiary: #999;--border-primary: #646cff;--border-secondary: #444;--border-tertiary: #ddd;--link-primary: #646cff;--link-hover: #89a0ff;--link-active: #89a0ff;--button-primary: #646cff;--button-hover: #7c84ff;--button-shadow: rgba(100, 108, 255, .4);--input-bg: #2a2a2a;--input-border: #646cff;--input-focus-shadow: rgba(100, 108, 255, .1);--error-text: #ff6b6b;--error-bg: rgba(255, 107, 107, .1);--error-border: #ff6b6b;--success-text: #51cf66;--success-bg: rgba(81, 207, 102, .1);--success-border: #51cf66;--info-text: #74c0fc;--info-bg: rgba(116, 192, 252, .1);--info-border: #74c0fc}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;padding:0}body{margin:0;min-width:320px;min-height:100vh;display:flex;flex-direction:column;background-color:var(--bg-primary);color:var(--text-primary);transition:background-color .3s ease,color .3s ease}#root{display:flex;flex-direction:column;background-color:var(--bg-primary)}h1{font-size:3.2em;line-height:1.1;color:var(--text-primary)}a{font-weight:500;color:var(--link-primary);text-decoration:inherit;transition:color .3s ease}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:var(--button-primary);color:#fff;cursor:pointer;transition:border-color .25s,background-color .3s ease}button:hover{border-color:var(--button-primary);background-color:var(--button-hover)}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}*{box-sizing:border-box}html,body{height:100%;margin:0;padding:0}#root{display:flex;flex-direction:column;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-primary);color:var(--text-primary);transition:background-color .3s ease,color .3s ease}.App-header{background-color:var(--bg-header);border-bottom:2px solid var(--border-primary);padding:1.5rem 1rem;text-align:center;color:var(--text-primary);flex-shrink:0;transition:background-color .3s ease,border-color .3s ease}.App-header h1{margin:.4rem;font-size:clamp(1.5em,5vw,2.5em);line-height:1;color:var(--text-primary)}.App-header h2{margin:.4rem 0 0;font-size:clamp(.9em,3vw,1.3em);font-weight:400;opacity:.9;color:var(--text-primary)}nav{background-color:var(--bg-nav);border-bottom:1px solid var(--border-primary);display:flex;flex-direction:row;align-items:center;justify-content:center;gap:1.5rem;padding:1rem;flex-wrap:wrap;flex-shrink:0;transition:background-color .3s ease,border-color .3s ease}nav a{color:var(--link-primary);text-decoration:none;font-size:clamp(1.2em,5vw,1.5em);padding:.5rem;transition:color .3s ease}nav a:hover{color:var(--link-hover)}nav a.active-link{text-decoration:underline;color:var(--link-active);font-weight:500}nav .separator{color:var(--border-primary);opacity:.5}.sub-nav{background-color:var(--bg-subnav);border-bottom:1px solid var(--border-secondary);display:flex;flex-direction:row;align-items:center;justify-content:center;gap:1rem;padding:.75rem 1rem;flex-wrap:wrap;flex-shrink:0;transition:background-color .3s ease,border-color .3s ease}.sub-nav a{color:var(--link-primary);text-decoration:none;font-size:clamp(.85em,1.5vw,.95em);padding:.4rem;transition:color .3s ease}.sub-nav a:hover{color:var(--link-hover)}.sub-nav a.active-link{text-decoration:underline;color:var(--link-active);font-weight:500}.sub-nav .separator{color:var(--border-primary);opacity:.3}.main-content{flex:1;display:flex;flex-direction:column;overflow-y:auto;padding:2rem 1rem;background-color:var(--bg-primary);color:var(--text-primary)}.content-container{max-width:1200px;width:100%;margin:0 auto;padding:0 1rem}a{color:var(--link-primary);text-decoration:none;transition:color .3s ease}a:hover{color:var(--link-hover)}h1{margin:.4em 0;font-size:clamp(1.5em,5vw,2.5em);color:var(--text-primary)}h2{margin:1em 0 .5em;font-size:clamp(1.2em,3vw,1.8em);color:var(--text-primary)}h3{margin:.8em 0 .4em;font-size:clamp(1em,2.5vw,1.4em);color:var(--text-primary)}h4{margin:.6em 0 .3em;font-size:clamp(.9em,2vw,1.2em);color:var(--text-primary)}p{line-height:1.6;margin:.5em 0;color:var(--text-primary)}input[type=password],input[type=text],input[type=email],input[type=number],input[type=date],select,textarea{width:100%;max-width:500px;padding:.75rem;margin:.5rem auto;font-size:clamp(.95em,2vw,1.1em);border:1px solid var(--border-primary);border-radius:4px;background-color:var(--input-bg);color:var(--text-primary);font-family:inherit;transition:border-color .3s ease,background-color .3s ease,color .3s ease;display:block}input[type=password]:focus,input[type=text]:focus,input[type=email]:focus,input[type=number]:focus,input[type=date]:focus,select:focus,textarea:focus{outline:none;border-color:var(--link-hover);box-shadow:0 0 0 2px var(--input-focus-shadow)}label{display:block;margin:1rem 0 .5rem;font-size:clamp(.9em,1.5vw,1em);color:var(--text-secondary);text-align:left;max-width:500px;margin-left:auto;margin-right:auto}input[type=checkbox]{width:1.25rem;height:1.25rem;min-width:1.25rem;cursor:pointer;accent-color:var(--link-primary);border:1px solid var(--border-primary);border-radius:4px;background-color:var(--input-bg);transition:all .3s ease}input[type=checkbox]:hover{border-color:var(--link-hover);box-shadow:0 0 4px #646cff33}input[type=checkbox]:checked{background-color:var(--link-primary);border-color:var(--link-primary)}input[type=checkbox]:focus{outline:none;border-color:var(--link-hover);box-shadow:0 0 0 2px var(--input-focus-shadow)}input[type=checkbox]:checked:hover{background-color:var(--link-hover);border-color:var(--link-hover)}.checkbox-group{display:flex;align-items:center;gap:.75rem;margin:.75rem 0}.checkbox-group input[type=checkbox]{margin:0}.checkbox-group label{margin:0;flex:1}button{padding:.75rem 1.5rem;font-size:clamp(.9em,1.5vw,1.05em);background-color:var(--button-primary);color:#fff;border:none;border-radius:4px;cursor:pointer;transition:all .3s ease;font-weight:500;margin:.5rem}button:hover{background-color:var(--button-hover);transform:translateY(-2px);box-shadow:0 4px 12px var(--button-shadow)}button:active{transform:translateY(0)}.loginButton{margin-top:1rem;width:clamp(80%,250px,100%);max-width:500px;padding:.8rem 1.5rem;font-size:1.1em}table{width:100%;border-collapse:collapse;margin:1.5rem 0;background-color:var(--bg-secondary);border-radius:4px;overflow:hidden;box-shadow:0 2px 8px #0000001a;transition:background-color .3s ease}table thead{background-color:var(--bg-header);border-bottom:2px solid var(--border-primary);transition:background-color .3s ease,border-color .3s ease}table th{padding:1rem;text-align:left;font-weight:600;color:var(--link-primary);font-size:clamp(.85em,1.5vw,1em)}table td{padding:.75rem 1rem;border-bottom:1px solid var(--border-secondary);font-size:clamp(.85em,1.3vw,.95em);color:var(--text-primary);transition:border-color .3s ease}table tbody tr{transition:background-color .3s ease}table tbody tr:hover{background-color:var(--bg-hover)}table tbody tr:last-child td{border-bottom:none}.table-wrapper{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;margin:1.5rem 0}.table-wrapper table{min-width:500px}.form-container{display:flex;flex-direction:column;align-items:center;max-width:600px;margin:2rem auto;gap:1rem}form{width:100%;display:flex;flex-direction:column;align-items:center;gap:.5rem}.form-group{width:100%;max-width:500px;display:flex;flex-direction:column}.form-group label{margin-bottom:.5rem}.form-group input,.form-group select,.form-group textarea{width:100%}.button-group{display:flex;flex-direction:row;justify-content:center;gap:.75rem;flex-wrap:wrap;margin-top:1.5rem;margin-bottom:1rem}.button-group button{flex:1 1 auto;min-width:120px;max-width:200px}.section{margin:2rem 0;padding:1.5rem;background-color:var(--bg-tertiary);border-radius:4px;border-left:4px solid var(--border-primary);transition:background-color .3s ease,border-color .3s ease}.section-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin:1.5rem 0}.card{padding:1.5rem;background-color:var(--bg-secondary);border:1px solid var(--border-secondary);border-radius:4px;transition:all .3s ease;color:var(--text-primary)}.card:hover{border-color:var(--border-primary);box-shadow:0 4px 12px #0000001a}.flex-center{display:flex;flex-direction:column;align-items:center;justify-content:center}.flex-between{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.text-center{text-align:center}@media(max-width:768px){.main-content{padding:1rem}.content-container{padding:0 .5rem}nav{gap:.5rem}nav a{font-size:.85em}.button-group{flex-direction:column}.button-group button{max-width:100%}table{font-size:.85em}table th,table td{padding:.5rem}.section-grid{grid-template-columns:1fr}}@media(max-width:480px){.App-header h1{font-size:1.5em}.App-header h2{font-size:.85em}nav{gap:.3rem}nav a{font-size:.75em;padding:.25rem}.main-content{padding:.75rem}input[type=password],input[type=text],input[type=email],input[type=number],input[type=date],select,textarea{padding:.5rem;font-size:1em}button{padding:.6rem 1rem;font-size:.9em}.section{padding:1rem}}.error-message{color:var(--error-text);padding:1rem;background-color:var(--error-bg);border-left:4px solid var(--error-border);border-radius:4px;margin:1rem 0;transition:all .3s ease}.success-message{color:var(--success-text);padding:1rem;background-color:var(--success-bg);border-left:4px solid var(--success-border);border-radius:4px;margin:1rem 0;transition:all .3s ease}.info-message{color:var(--info-text);padding:1rem;background-color:var(--info-bg);border-left:4px solid var(--info-border);border-radius:4px;margin:1rem 0;transition:all .3s ease}.spinner{border:3px solid rgba(100,108,255,.1);border-radius:50%;border-top:3px solid var(--border-primary);width:40px;height:40px;animation:spin 1s linear infinite;margin:2rem auto;transition:border-top-color .3s ease}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.timetaker-numpad{display:grid;grid-template-columns:repeat(auto-fit,minmax(60px,1fr));gap:.75rem;max-width:400px;margin:0 auto}.timetaker-numpad button{padding:1rem;font-size:1.5rem;font-weight:700;background-color:var(--bg-secondary);border:1px solid var(--border-secondary);border-radius:8px;cursor:pointer;color:var(--text-primary);transition:all .2s ease}.timetaker-numpad button:hover{background-color:var(--bg-hover);border-color:var(--border-primary);transform:translateY(-2px)}.timetaker-numpad button:active{transform:translateY(0)}.timetaker-action-button{padding:1.2rem;font-size:1.2rem;font-weight:700;background-color:var(--success-text);color:#fff;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease}.timetaker-action-button:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}.timetaker-action-button:disabled{background-color:var(--text-tertiary);opacity:.6;cursor:not-allowed}
