*{box-sizing:border-box;margin:0;padding:0}body{font-family:Segoe UI,-apple-system,BlinkMacSystemFont,Roboto,Helvetica Neue,Helvetica,Ubuntu,Arial,sans-serif;font-size:14px;color:var(--text-primary-color, #323130);background-color:var(--background-color, #ffffff);line-height:1.5}.form-group{margin-bottom:12px}.form-group label{display:block;margin-bottom:4px;font-weight:600;font-size:13px;color:var(--text-primary-color, #323130)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:6px 8px;border:1px solid var(--input-border-color, var(--border-color, #8a8886));border-radius:2px;font-size:14px;font-family:inherit;background-color:var(--input-background-color, var(--background-color, #ffffff));color:var(--text-primary-color, #323130)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--communication-foreground, #0078d4)}.form-group textarea{resize:vertical;min-height:60px}.form-row{display:flex;gap:12px}.form-row .form-group{flex:1}.btn{display:inline-flex;align-items:center;justify-content:center;padding:6px 12px;border:1px solid transparent;border-radius:2px;font-size:14px;font-weight:600;cursor:pointer;transition:background-color .1s,border-color .1s}.btn-primary{background-color:var(--communication-foreground, #0078d4);color:var(--text-on-communication-background, #ffffff);border-color:var(--communication-foreground, #0078d4)}.btn-primary:hover{filter:brightness(1.1)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;filter:none}.btn-secondary{background-color:transparent;color:var(--text-primary-color, #323130);border-color:var(--border-color, #8a8886)}.btn-secondary:hover{background-color:var(--hover-background-color, rgba(128, 128, 128, .1))}.btn-danger{background-color:var(--status-error-text, #a80000);color:#fff;border-color:var(--status-error-text, #a80000)}.btn-danger:hover{filter:brightness(.9)}.btn-small{padding:4px 8px;font-size:12px}.btn-icon{padding:4px;background:none;border:none;cursor:pointer;color:var(--text-secondary-color, #605e5c)}.btn-icon:hover{color:var(--text-primary-color, #323130)}.badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600;text-transform:uppercase}.badge-draft{background-color:var(--status-warning-background, #fff4ce);color:var(--status-warning-text, #797673)}.badge-submitted{background-color:var(--communication-background, #deecf9);color:var(--communication-foreground, #004578)}.badge-approved{background-color:var(--status-success-background, #dff6dd);color:var(--status-success-text, #107c10)}.badge-rejected{background-color:var(--status-error-background, #fde7e9);color:var(--status-error-text, #a80000)}.message{padding:8px 12px;border-radius:2px;margin-bottom:12px}.message-error{background-color:var(--status-error-background, #fde7e9);color:var(--status-error-text, #a80000)}.message-success{background-color:var(--status-success-background, #dff6dd);color:var(--status-success-text, #107c10)}.message-info{background-color:var(--communication-background, #deecf9);color:var(--communication-foreground, #004578)}.loading{display:flex;align-items:center;justify-content:center;padding:20px;color:var(--text-secondary-color, #605e5c)}.spinner{width:20px;height:20px;border:2px solid var(--border-color, #edebe9);border-top-color:var(--communication-foreground, #0078d4);border-radius:50%;animation:spin .8s linear infinite;margin-right:8px}.table{width:100%;border-collapse:collapse;font-size:13px}.table th,.table td{padding:8px;text-align:left;border-bottom:1px solid var(--border-color, #edebe9)}.table th{font-weight:600;color:var(--text-secondary-color, #605e5c);background-color:var(--hover-background-color, rgba(128, 128, 128, .1))}.table tr:hover{background-color:var(--hover-background-color, rgba(128, 128, 128, .1))}.card{background-color:var(--background-color, #ffffff);border:1px solid var(--border-color, #edebe9);border-radius:4px;padding:16px;margin-bottom:12px}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.card-title{font-size:16px;font-weight:600}.empty-state{text-align:center;padding:24px;color:var(--text-secondary-color, #605e5c)}.empty-state-icon{font-size:32px;margin-bottom:8px}.dialog-overlay{position:fixed;inset:0;background-color:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.dialog{background-color:var(--callout-background-color, var(--background-color, #ffffff));border:1px solid var(--border-color, #edebe9);border-radius:4px;box-shadow:0 2px 8px #00000042;max-width:500px;width:90%;max-height:90vh;overflow-y:auto}.dialog-header{padding:16px;border-bottom:1px solid var(--border-color, #edebe9);display:flex;justify-content:space-between;align-items:center}.dialog-title{font-size:18px;font-weight:600}.dialog-body{padding:16px}.dialog-footer{padding:16px;border-top:1px solid var(--border-color, #edebe9);display:flex;justify-content:flex-end;gap:8px}.mt-1{margin-top:4px}.mt-2{margin-top:8px}.mt-3{margin-top:12px}.mt-4{margin-top:16px}.mb-1{margin-bottom:4px}.mb-2{margin-bottom:8px}.mb-3{margin-bottom:12px}.mb-4{margin-bottom:16px}.text-center{text-align:center}.text-right{text-align:right}.text-secondary{color:var(--text-secondary-color, #605e5c)}.text-error{color:var(--status-error-text, #a80000)}.text-success{color:var(--status-success-text, #107c10)}.flex{display:flex}.flex-1{flex:1}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-1{gap:4px}.gap-2{gap:8px}.gap-3{gap:12px}.dev-banner{position:fixed;top:0;left:0;right:0;background:linear-gradient(90deg,#ff6b35,#f7931e);color:#fff;padding:4px 12px;font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px;z-index:9999;box-shadow:0 2px 4px #0003}.dev-banner.hidden{display:none}.dev-banner-icon{font-size:14px}.dev-banner-text{text-transform:uppercase;letter-spacing:.5px}.dev-banner-mock{opacity:.9;font-weight:400}.dev-banner-mock.hidden{display:none}body.has-dev-banner{padding-top:28px}.mytime-container{padding:12px;min-height:180px}.hidden{display:none!important}.time-entry-form{display:flex;flex-direction:column;gap:10px}.form-actions{display:flex;gap:8px;align-items:center;margin-top:4px}.form-actions .btn-primary{flex:1}.entries-section{margin-top:16px;padding-top:16px;border-top:1px solid var(--border-color, #edebe9)}.entries-header{margin-bottom:8px}.entries-header h4{font-size:13px;font-weight:600;color:var(--text-secondary-color, #605e5c)}.entries-list{display:flex;flex-direction:column;gap:6px}.entry-item{display:flex;align-items:center;justify-content:space-between;padding:8px;background-color:var(--hover-background-color, rgba(128, 128, 128, .1));border-radius:4px}.entry-info{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.entry-date{font-size:12px;color:var(--text-secondary-color, #605e5c);flex-shrink:0}.entry-hours{font-weight:600;color:var(--communication-foreground, #0078d4);flex-shrink:0}.entry-comment{font-size:12px;color:var(--text-primary-color, #323130);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.btn-edit{flex-shrink:0;font-size:12px}.dialog{max-width:400px}.loading{display:flex;align-items:center;justify-content:center;gap:8px;padding:40px 20px;color:var(--text-secondary-color, #605e5c)}.spinner{width:20px;height:20px;border:2px solid var(--border-color, #edebe9);border-top-color:var(--communication-foreground, #0078d4);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}#settings-required{text-align:center;padding:20px}#settings-required .message{margin-bottom:12px}@media (max-width: 400px){.form-row{flex-direction:column}.form-row .form-group{flex:1 1 auto!important}}
