body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.container{background:linear-gradient(to bottom right,#fff,#f8f9fa);margin:0 auto;max-width:800px;min-height:100vh;padding:20px}.title{color:#2c3e50;font-size:2.5rem;font-weight:700;margin-bottom:2rem;text-align:center;text-shadow:1px 1px 2px #0000001a}.timesheet-form{background:#fff;border-radius:15px;box-shadow:0 10px 20px #0000001a;padding:2rem}.capture-section{margin-bottom:2rem;text-align:center}.file-input{display:none}.capture-button{background:linear-gradient(135deg,#007aff,#0056b3);border-radius:50px;box-shadow:0 4px 15px #007aff33;color:#fff;cursor:pointer;display:inline-block;font-size:1.1rem;font-weight:600;margin-bottom:10px;padding:15px 30px;transition:all .3s ease}.capture-button:hover{box-shadow:0 6px 20px #007aff4d;transform:translateY(-2px)}.capture-button:active{transform:translateY(1px)}.preview-section{align-items:center;display:flex;flex-direction:column;gap:20px}.preview{border-radius:10px;box-shadow:0 4px 15px #0000001a;max-width:100%;transition:transform .3s ease}.preview:hover{transform:scale(1.02)}.pdf-indicator{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:2px solid #dee2e6;border-radius:10px;color:#2c3e50;font-weight:600;margin-bottom:15px;padding:20px;text-align:center;transition:all .3s ease;width:100%}.pdf-indicator:hover{box-shadow:0 4px 15px #0000001a;transform:translateY(-2px)}.submit-button{background:linear-gradient(135deg,#28a745,#218838);border:none;border-radius:50px;box-shadow:0 4px 15px #28a74533;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;padding:15px 40px;transition:all .3s ease}.submit-button:hover{box-shadow:0 6px 20px #28a7454d;transform:translateY(-2px)}.submit-button:active{transform:translateY(1px)}.submit-button:disabled{background:linear-gradient(135deg,#6c757d,#5a6268);box-shadow:none;cursor:not-allowed;transform:none}@keyframes pulse{0%{opacity:1}50%{opacity:.6}to{opacity:1}}.submit-button:disabled{animation:pulse 1.5s infinite}@media (max-width:768px){.container{background:#fff;min-height:calc(100vh - env(safe-area-inset-bottom));padding:15px}.title{font-size:1.8rem;margin:1rem 0;padding:0 10px}.timesheet-form{border-radius:12px;box-shadow:0 4px 12px #00000014;margin:0 10px;padding:1.5rem}.capture-button{-webkit-tap-highlight-color:transparent;font-size:1.1rem;margin:10px auto;max-width:300px;padding:16px 24px;width:85%}.capture-button:active{transform:scale(.98);transition:transform .1s}.preview-section{gap:15px;width:100%}.preview{border-radius:8px;margin:10px 0;max-height:60vh;object-fit:contain;width:100%}.pdf-indicator{font-size:.95rem;overflow:hidden;padding:15px;text-overflow:ellipsis;white-space:nowrap;width:calc(100% - 20px)}.submit-button{-webkit-tap-highlight-color:transparent;font-size:1.1rem;margin:10px auto;max-width:300px;padding:16px 24px;width:85%}.submit-button:active{transform:scale(.98);transition:transform .1s}.submit-button:disabled{background:#6c757d;opacity:.8}}@media (max-width:390px){.container{padding:10px 5px}.title{font-size:1.6rem}.timesheet-form{margin:0 5px;padding:1rem}.capture-button,.submit-button{font-size:1rem;padding:14px 20px;width:90%}@supports (padding-top:env(safe-area-inset-top)){.container{padding-bottom:env(safe-area-inset-bottom);padding-top:env(safe-area-inset-top)}}}@media (max-width:900px) and (orientation:landscape){.container{min-height:100%;padding:10px}.title{font-size:1.5rem;margin:.5rem 0}.preview{max-height:45vh}.capture-button,.submit-button{padding:12px 20px}.timesheet-form{grid-gap:20px;align-items:center;display:grid;gap:20px;grid-template-columns:1fr 1fr}.preview-section{margin:0}}@media (prefers-color-scheme:dark){.container{background:linear-gradient(to bottom right,#1a1a1a,#2d2d2d)}.title{color:#fff}.timesheet-form{background:#2d2d2d}.pdf-indicator{background:linear-gradient(135deg,#3a3a3a,#2d2d2d);border-color:#404040;color:#fff}}.header{align-items:center;display:flex;flex-direction:column;gap:1rem;justify-content:center;margin:1.5rem auto 2.5rem;text-align:center}.app-logo{height:96px;margin-bottom:.5rem;object-fit:contain;width:96px}@media (max-width:768px){.header{margin:1rem auto 2rem}.app-logo{height:72px;width:72px}.title{font-size:1.8rem}}.files-list{display:flex;flex-direction:column;gap:15px;margin-top:20px;max-height:70vh;overflow-y:auto;padding:10px}.file-item,.preview-container{position:relative;width:100%}.preview-container{border:2px solid #ddd;border-radius:8px;margin-bottom:15px;overflow:hidden}.remove-button{align-items:center;background:#f00c;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:20px;height:30px;justify-content:center;position:absolute;right:10px;top:10px;width:30px;z-index:1}.remove-button:hover{background:red}.pdf-container{position:relative;width:100%}.photo-number{background:#000000b3;border-radius:15px;bottom:10px;color:#fff;font-size:.9rem;left:10px;padding:5px 10px;position:absolute}@media (max-width:768px){.files-list{max-height:60vh}.capture-button{font-size:1.1rem;padding:15px;width:90%}.photo-number{font-size:.8rem;padding:4px 8px}}.install-button{align-items:center;background:linear-gradient(135deg,#6366f1,#4f46e5);border:none;border-radius:50px;box-shadow:0 4px 15px #6366f14d;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:10px;justify-content:center;margin:0 auto 20px;max-width:300px;overflow:hidden;padding:12px 24px;position:relative;transition:all .3s ease;width:90%}.install-button:before{background:linear-gradient(45deg,#ffffff1a,#fff3);content:"";height:100%;left:0;position:absolute;top:0;transform:translateX(-100%);transition:transform .6s;width:100%}.install-button:hover{box-shadow:0 6px 20px #6366f166;transform:translateY(-2px)}.install-button:hover:before{transform:translateX(100%)}.install-button:active{transform:translateY(1px)}@media (prefers-color-scheme:dark){.install-button{background:linear-gradient(135deg,#818cf8,#6366f1)}}@media (max-width:768px){.install-button{font-size:.95rem;padding:10px 20px}}.admin-dashboard{margin:0 auto;max-width:1200px;padding:20px}.admin-header{align-items:center;border-bottom:2px solid #eee;display:flex;justify-content:space-between;margin-bottom:30px;padding-bottom:20px}.admin-login{background:#fff;border-radius:10px;box-shadow:0 4px 6px #0000001a;margin:100px auto;max-width:400px;padding:30px}.form-group{margin-bottom:20px}.form-group input{border:1px solid #ddd;border-radius:6px}.form-group input,.login-button{font-size:16px;padding:12px;width:100%}.login-button{background:var(--color-primary);border:none;border-radius:6px;box-shadow:0 2px 4px #0000001a;color:#fff;cursor:pointer;transition:all .3s ease}.login-button:hover{background:var(--color-primaryDark);box-shadow:0 4px 8px #00000026;transform:translateY(-1px)}.login-button:active{box-shadow:0 2px 4px #0000001a;transform:translateY(0)}.dark-mode .login-button{background:var(--color-primary);box-shadow:0 2px 4px #0003}.dark-mode .login-button:hover{background:var(--color-primaryDark);box-shadow:0 4px 8px #0000004d}.logout-button{background:#dc3545;border:none;border-radius:6px;color:#fff;cursor:pointer;padding:8px 16px}.submissions-list{background:#fff;border-radius:10px;box-shadow:0 2px 4px #0000001a;padding:20px}table{border-collapse:collapse;margin-top:20px;width:100%}td,th{border-bottom:1px solid #eee;padding:12px;text-align:left}th{background:#f8f9fa;font-weight:600}.view-button{background:var(--color-primary);border:none;border-radius:4px;color:#fff;cursor:pointer;padding:6px 12px}.error-message{color:#dc3545;margin-bottom:15px;text-align:center}@media (max-width:768px){.admin-dashboard{padding:10px}table{font-size:14px}td,th{padding:8px}}.dashboard-stats{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:30px}.stat-card{background:#fff;border-radius:10px;box-shadow:0 2px 4px #0000001a;padding:20px;text-align:center}.stat-card h3{color:#666;font-size:.9rem;margin:0}.stat-card p{color:#007bff;font-size:1.8rem;font-weight:700;margin:10px 0 0}.search-section{display:flex;gap:10px;margin-bottom:20px}.search-input{flex:1 1}.date-filter,.search-input{border:1px solid #ddd;border-radius:6px;font-size:14px;padding:10px}.bulk-actions{display:flex;gap:10px;margin-bottom:20px}.bulk-actions button{background:#007bff;border:none;border-radius:6px;color:#fff;cursor:pointer;padding:8px 16px}.bulk-actions button:disabled{background:#ccc;cursor:not-allowed}.dark-mode{background-color:#1a1a1a;color:#fff}.dark-mode .admin-header{border-bottom-color:#333}.dark-mode .stat-card,.dark-mode .submissions-list{background:#2d2d2d;box-shadow:0 2px 4px #0003}.dark-mode th{background:#333;color:#fff}.dark-mode td{border-bottom-color:#444}.dark-mode .date-filter,.dark-mode .search-input{background:#333;border-color:#444;color:#fff}.dark-mode .view-button{background:#0056b3}.theme-toggle{background:#0000;border:1px solid #ddd;border-radius:50%;cursor:pointer;font-size:1.2rem;line-height:1;margin-right:10px;padding:8px;transition:all .3s ease}.dark-mode .theme-toggle{border-color:#444}.header-actions{align-items:center;display:flex;gap:10px}.dark-mode .admin-login{background:#2d2d2d}.dark-mode .form-group input{background:#333;border-color:#444;color:#fff}.dark-mode .error-message{color:#ff6b6b}.action-buttons{display:flex;gap:8px}.delete-button{background:var(--color-error);border:none;border-radius:4px;color:#fff;cursor:pointer;padding:6px 12px;transition:all .2s ease}.delete-button:hover{background:#c82333;transform:translateY(-1px)}.delete-button:active{transform:translateY(0)}.dark-mode .delete-button{background:#dc3545}.dark-mode .delete-button:hover{background:#bd2130}@media (max-width:480px){.action-buttons{flex-direction:column;gap:4px}.action-buttons button{width:100%}}.files-info{display:flex;flex-direction:column;gap:4px}.file-info{align-items:center;display:flex;font-size:.9em;gap:8px}.file-size{color:#666;font-size:.8em}.device-info{font-size:.8em;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dark-mode .file-size{color:#999}.checkbox-cell{text-align:center;width:40px}input[type=checkbox]{cursor:pointer;height:18px;width:18px}.dark-mode input[type=checkbox]{filter:invert(1) hue-rotate(180deg)}.location-info{align-items:center;display:flex;gap:8px}.location-text{flex:1 1;font-size:.9em}.map-button{background:none;border:none;cursor:pointer;font-size:1.2em;padding:4px 8px;transition:transform .2s ease}.map-button:hover{transform:scale(1.1)}.dark-mode .map-button{filter:invert(1)}td{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}td.location-info{max-width:250px}.color-picker{background:var(--color-background);border-radius:10px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px;padding:20px}.color-group{border:1px solid var(--color-border);border-radius:8px;margin-bottom:20px;padding:15px}.color-group h4{border-bottom:1px solid var(--color-border);color:var(--color-text);font-size:1rem;margin:0 0 15px;padding-bottom:8px}.color-options{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.color-option{align-items:center;background:#00000005;border-radius:6px;display:flex;justify-content:space-between;padding:8px}.color-input-wrapper{align-items:center;display:flex;gap:10px}.color-option input[type=color]{border:none;border-radius:4px;cursor:pointer;height:30px;padding:0;width:50px}.reset-button{background:var(--color-accent);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.8rem;padding:4px 8px;transition:all .2s ease}.reset-button:hover{background:var(--color-accentDark)}.dark-mode .color-picker{background:var(--color-darkBackground)}.dark-mode .color-group{border-color:var(--color-darkBorder)}.dark-mode .color-group h4{border-bottom-color:var(--color-darkBorder);color:var(--color-darkText)}.dark-mode .color-option{background:#ffffff0d}.dark-mode .color-option label{color:var(--color-darkText)}@media (max-width:768px){.color-options{grid-template-columns:1fr}.color-group{padding:10px}}.color-picker-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.save-button{background:var(--color-success);border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:8px 16px;transition:all .2s ease}.save-button:hover{box-shadow:0 2px 4px #0000001a;transform:translateY(-1px)}.save-button:active{transform:translateY(0)}.dark-mode .save-button{background:var(--color-success)}.ip-management{background:var(--color-surface);border-radius:10px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px;padding:20px}.ip-management-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.filter-toggle{align-items:center;display:flex;gap:10px}.switch{display:inline-block;height:34px;position:relative;width:60px}.switch input{height:0;opacity:0;width:0}.slider{background-color:#ccc;border-radius:34px;bottom:0;cursor:pointer;left:0;right:0;top:0}.slider,.slider:before{position:absolute;transition:.4s}.slider:before{background-color:#fff;border-radius:50%;bottom:4px;content:"";height:26px;left:4px;width:26px}input:checked+.slider{background-color:var(--color-success)}input:checked+.slider:before{transform:translateX(26px)}.add-rule-form{display:flex;gap:10px;margin-bottom:20px}.add-rule-form input,.add-rule-form select{border:1px solid var(--color-border);border-radius:4px;padding:8px}.add-rule-form input[type=text]{flex:1 1}.status-badge{border-radius:4px;padding:4px 8px;text-transform:capitalize}.status-badge.block{background:var(--color-error);color:#fff}.status-badge.allow{background:var(--color-success);color:#fff}.delete-rule{background:var(--color-error);border:none;border-radius:4px;color:#fff;cursor:pointer;padding:4px 8px}.dark-mode .ip-management{background:var(--color-darkBackground)}.dark-mode .add-rule-form input,.dark-mode .add-rule-form select{background:var(--color-surface);border-color:var(--color-darkBorder);color:var(--color-text)}
/*# sourceMappingURL=main.712cb2f6.css.map*/