*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--green: #3a6b1a;--green-dark: #2a4f12;--green-light: #d4edbc;--text: #1a1a1a;--text-muted: #555;--border: #ccc;--bg: #f5f5f3;--white: #ffffff;--error: #a4262c;--success: #107c10;--radius: 4px;--shadow: 0 2px 8px rgba(0,0,0,.12);--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}html,body,#root{height:100%}body{font-family:var(--font);font-size:16px;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}.app-shell{display:flex;flex-direction:column;min-height:100%}.app-header{background:var(--green);color:var(--white);padding:8px 16px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:10;box-shadow:var(--shadow)}.app-header-left{display:flex;align-items:center;gap:12px}.app-logo{height:44px;width:auto;display:block;mix-blend-mode:screen}.app-title{font-size:18px;font-weight:700;letter-spacing:.2px}.app-main{flex:1;padding:16px;max-width:480px;margin:0 auto;width:100%}.app-main--wide{max-width:920px}.login-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--bg)}.login-card{background:var(--white);border-radius:8px;padding:40px 32px;box-shadow:var(--shadow);text-align:center;max-width:340px;width:100%}.login-title{font-size:24px;font-weight:700;color:var(--green);margin-bottom:8px}.login-subtitle{font-size:14px;color:var(--text-muted);margin-bottom:24px}.login-btn{background:var(--green);color:var(--white);border:none;border-radius:var(--radius);padding:12px 24px;font-size:15px;font-weight:600;cursor:pointer;width:100%}.login-btn:hover{background:var(--green-dark)}.tt-signout-btn{background:transparent;border:1px solid rgba(255,255,255,.6);color:var(--white);border-radius:var(--radius);padding:5px 12px;font-size:13px;cursor:pointer}.tt-signout-btn:hover{background:#ffffff26}.tt-admin-btn{background:#ffffff26;border:1px solid rgba(255,255,255,.6);color:var(--white);border-radius:var(--radius);padding:5px 12px;font-size:13px;cursor:pointer}.tt-admin-btn:hover,.tt-admin-btn--active{background:#ffffff4d}.tt-welcome{font-size:13px;color:var(--text-muted);margin-bottom:16px}.tt-input{width:100%;padding:10px 12px;font-size:15px;border:1px solid var(--border);border-radius:var(--radius);background:var(--white);color:var(--text);-moz-appearance:none;appearance:none;-webkit-appearance:none}.tt-input:focus{outline:2px solid var(--green);outline-offset:-1px;border-color:var(--green)}.tt-input--sm{padding:6px 8px;font-size:13px}.tt-input--narrow{width:80px}.tt-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M6 8L0 0h12z' fill='%23555'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}.tt-textarea{resize:vertical;min-height:80px}.tt-date-input{cursor:pointer}.entry-form{display:flex;flex-direction:column;gap:10px}.form-field{display:flex;flex-direction:column}.form-success{background:var(--green-light);color:var(--green-dark);padding:10px 12px;border-radius:var(--radius);font-size:14px}.form-error{background:#fde7e9;color:var(--error);padding:10px 12px;border-radius:var(--radius);font-size:14px}.tt-checkbox-row{flex-direction:row;align-items:center}.tt-checkbox-label{display:flex;align-items:center;gap:8px;font-size:15px;cursor:pointer;-webkit-user-select:none;user-select:none}.tt-checkbox-label input[type=checkbox]{width:18px;height:18px;accent-color:var(--green);cursor:pointer}.tt-time-row{flex-direction:row;gap:12px}.tt-time-field{display:flex;flex-direction:column;gap:4px;flex:1}.tt-time-label{font-size:13px;font-weight:500;color:var(--text-muted)}.tt-optional{font-weight:400;font-style:italic}.tt-time-input{width:100%}.tt-btn{padding:12px;font-size:15px;font-weight:600;border:none;border-radius:var(--radius);cursor:pointer;transition:opacity .15s}.tt-btn:disabled{opacity:.5;cursor:not-allowed}.tt-btn--primary{background:var(--green);color:var(--white)}.tt-btn--primary:hover:not(:disabled){background:var(--green-dark)}.tt-btn--secondary{background:#e8e8e6;color:var(--text)}.tt-btn--secondary:hover:not(:disabled){background:#d8d8d6}.tt-btn--sm{padding:5px 10px;font-size:13px}.tt-btn--edit{background:var(--green-light);color:var(--green-dark)}.tt-btn--edit:hover:not(:disabled){background:#c2e0a8}.tt-btn--delete{background:#fde7e9;color:var(--error)}.tt-btn--delete:hover:not(:disabled){background:#f8c6ca}.tt-btn--add{background:var(--green);color:var(--white)}.tt-btn-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:4px}.tt-loading{color:var(--text-muted);font-size:14px;padding:12px 0}.tt-error{color:var(--error);font-size:14px;padding:12px 0}.tt-success{color:var(--success);font-size:14px;padding:8px 0}.entries-list{display:flex;flex-direction:column;gap:12px}.entries-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:8px 10px}.entries-filter-sep{font-size:13px;color:var(--text-muted)}.entries-all-toggle{font-size:13px;margin-left:auto}.entries-table-wrap{overflow-x:auto}.entries-table{width:100%;border-collapse:collapse;font-size:13px}.entries-table th{text-align:left;padding:8px 10px;background:var(--green);color:var(--white);font-weight:600;white-space:nowrap}.entries-table td{padding:7px 10px;border-bottom:1px solid var(--border);vertical-align:middle}.entries-table tfoot td{padding:8px 10px;background:var(--green-light);font-size:13px}.entries-table tr:hover td{background:#f0f7e8}.entries-row--locked td{color:var(--text-muted)}.entries-edit-row td{background:#f0f7e8}.entries-cell-center{text-align:center}.entries-cell-desc{max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.entries-cell-actions{white-space:nowrap;display:flex;gap:4px}.entries-empty{text-align:center;color:var(--text-muted);padding:24px}.entries-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600}.entries-badge--locked{background:#fde7e9;color:var(--error)}.entries-badge--open{background:var(--green-light);color:var(--green-dark)}.entries-footer{display:flex;flex-direction:column;gap:8px}.entries-export-msg{font-size:13px;color:var(--text-muted)}.mgmt-screen{padding:4px 0}.mgmt-tabs{display:flex;gap:4px;margin-bottom:20px;border-bottom:2px solid var(--border)}.mgmt-tab{padding:8px 16px;background:none;border:none;border-bottom:3px solid transparent;margin-bottom:-2px;font-size:14px;font-weight:500;color:var(--text-muted);cursor:pointer;border-radius:4px 4px 0 0;transition:color .15s,border-color .15s}.mgmt-tab:hover{color:var(--green)}.mgmt-tab--active{color:var(--green);border-bottom-color:var(--green)}.mgmt-panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.mgmt-panel-header h3{font-size:16px;font-weight:600}.mgmt-table-wrap{overflow-x:auto}.mgmt-table{width:100%;border-collapse:collapse;font-size:13px}.mgmt-table th{text-align:left;padding:8px 10px;background:var(--green);color:var(--white);font-weight:600;white-space:nowrap}.mgmt-table td{padding:7px 10px;border-bottom:1px solid var(--border);vertical-align:middle}.mgmt-table tr:hover td{background:#f0f7e8}.mgmt-form-row td{background:#eaf4dc}.mgmt-cell-center{text-align:center}.mgmt-cell-actions{display:flex;gap:4px;white-space:nowrap}.settings-grid{display:grid;grid-template-columns:auto 1fr;gap:10px 16px;align-items:center;max-width:420px}.settings-label{font-size:14px;font-weight:500;white-space:nowrap}.settings-note{font-size:12px;color:var(--text-muted);margin-top:8px}.export-user-list{display:flex;flex-direction:column;gap:6px;max-height:200px;overflow-y:auto;padding:8px;border:1px solid var(--border);border-radius:var(--radius);background:var(--white)}.import-section{margin-top:28px;padding-top:20px;border-top:2px dashed var(--border)}.import-heading{font-size:15px;font-weight:600;margin-bottom:6px}.import-note{font-size:13px;color:var(--text-muted);margin-bottom:10px;line-height:1.5}.import-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.import-file-input{font-size:13px;color:var(--text);cursor:pointer}.import-auto-status{font-size:13px;margin-bottom:10px;padding:6px 10px;border-radius:var(--radius);background:#f0f0ee;color:var(--text-muted)}.import-auto-status--success{background:var(--green-light);color:var(--green-dark)}.import-auto-status--error{background:#fde7e9;color:var(--error)}.job-picker{width:100%}.job-picker__input-wrap{position:relative}.job-picker__input{padding-right:32px}.job-picker__clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-muted);font-size:18px;line-height:1;cursor:pointer;padding:0 4px}.job-picker__clear:hover{color:var(--text)}.job-picker__dropdown{position:absolute;z-index:100;width:100%;background:var(--white);border:1px solid var(--border);border-top:none;border-radius:0 0 var(--radius) var(--radius);box-shadow:0 4px 12px #0000001f;list-style:none;margin:0;padding:0;max-height:220px;overflow-y:auto}.job-picker__option{display:flex;gap:10px;align-items:baseline;padding:9px 12px;cursor:pointer;font-size:14px}.job-picker__option:hover,.job-picker__option--selected{background:var(--green-light)}.job-picker__num{font-weight:600;white-space:nowrap;color:var(--green-dark);min-width:60px}.job-picker__name{color:var(--text)}.job-picker__no-results{padding:10px 12px;font-size:13px;color:var(--text-muted);font-style:italic}
