*{margin:0;padding:0;box-sizing:border-box}:root{--brown: #c8a882;--brown-dark: #a6845c;--brown-light: #e8d5be;--brown-pale: #f5ede3;--white: #ffffff;--grey-light: #f2f2f2;--grey: #d0d0d0;--grey-dark: #888888;--text: #2c2c2c;--text-muted: #666666;--danger: #c0392b;--danger-light: #fdecea;--success: #27ae60;--success-light: #eafaf1;--warning: #e67e22;--warning-light: #fef9e7;--bg: var(--grey-light);--border: var(--grey);--card: var(--white)}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background-color:var(--grey-light);color:var(--text);line-height:1.6}a{color:var(--brown-dark);text-decoration:none}a:hover{text-decoration:underline}.page-wrapper{min-height:100vh;display:flex;flex-direction:column;padding-top:60px}.container{width:100%;padding:0 2rem}.navbar{background-color:var(--white);border-bottom:2px solid var(--brown-light);padding:0 1.5rem;height:60px;display:flex;align-items:center;justify-content:space-between;position:fixed;top:0;left:0;right:0;width:100%;z-index:100;box-shadow:0 1px 4px #0000000f}.navbar-brand{font-size:1.4rem;font-weight:700;color:var(--brown-dark);text-decoration:none}.card{background:var(--white);border-radius:10px;padding:1.5rem;box-shadow:0 1px 4px #00000014}.btn{display:inline-block;padding:.6rem 1.4rem;border:none;border-radius:6px;font-size:.95rem;font-weight:600;cursor:pointer;transition:background .2s,opacity .2s}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background-color:var(--brown);color:var(--white)}.btn-primary:hover:not(:disabled){background-color:var(--brown-dark)}.btn-outline{background:transparent;border:2px solid var(--brown);color:var(--brown-dark)}.btn-outline:hover:not(:disabled){background-color:var(--brown-pale)}.btn-danger{background-color:var(--danger);color:var(--white)}.btn-success{background-color:var(--success);color:var(--white)}.btn-sm{padding:.35rem .9rem;font-size:.85rem}.form-group{margin-bottom:1.2rem}.form-group label{display:block;font-weight:600;margin-bottom:.4rem;color:var(--text)}.form-group input,.form-group textarea,.form-group select{width:100%;padding:.6rem .9rem;border:1.5px solid var(--grey);border-radius:6px;font-size:.95rem;background:var(--white);color:var(--text);outline:none;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--brown)}.form-group textarea{resize:vertical;min-height:100px}.alert{padding:.75rem 1rem;border-radius:6px;margin-bottom:1rem;font-size:.9rem}.alert-error{background:var(--danger-light);color:var(--danger);border-left:4px solid var(--danger)}.alert-success{background:var(--success-light);color:var(--success);border-left:4px solid var(--success)}.alert-warning{background:var(--warning-light);color:var(--warning);border-left:4px solid var(--warning)}.badge{display:inline-block;padding:.25rem .7rem;border-radius:20px;font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.badge-pending{background:var(--warning-light);color:var(--warning)}.badge-approved{background:var(--success-light);color:var(--success)}.badge-rejected{background:var(--danger-light);color:var(--danger)}.badge-available{background:var(--brown-pale);color:var(--brown-dark)}.badge-taken{background:var(--brown-light);color:var(--brown-dark)}.badge-submitted{background:#e8eaf6;color:#3949ab}.badge-reviewed,.badge-paid{background:var(--success-light);color:var(--success)}.page-header{padding:.75rem 0 1rem}.page-header h1{font-size:1.35rem;color:var(--brown-dark);margin-bottom:.2rem}.page-header p{font-size:.88rem;color:var(--text-muted)}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--brown-pale)}.auth-card{background:var(--white);border-radius:12px;padding:2.5rem;width:100%;max-width:420px;box-shadow:0 4px 20px #00000014}.auth-card h2{color:var(--brown-dark);margin-bottom:.3rem;font-size:1.6rem}.auth-card .subtitle{color:var(--text-muted);margin-bottom:1.8rem;font-size:.9rem}.jobs-grid{display:flex;flex-direction:column;gap:0;margin-top:1.5rem;border:1px solid var(--grey);border-radius:10px;overflow:hidden}.job-card{background:var(--white);padding:1rem 1.5rem;border-left:4px solid var(--brown-light);border-bottom:1px solid var(--grey);display:flex;align-items:center;gap:1.5rem;transition:background .15s}.job-card:last-child{border-bottom:none}.job-card:hover{background:#faf7f4}.job-card.taken{border-left-color:var(--brown);background:var(--brown-pale)}.job-card.submitted{border-left-color:#7986cb;background:#f3f4fc}.job-card.reviewed{border-left-color:var(--success);background:var(--success-light)}.job-card h3{font-size:1rem;margin-bottom:.2rem;color:var(--text)}.job-meta{display:flex;flex-wrap:wrap;gap:.5rem;margin:.6rem 0;font-size:.85rem;color:var(--text-muted)}.job-pay{font-size:1.1rem;font-weight:700;color:var(--brown-dark);margin:.5rem 0}.admin-layout{display:flex;min-height:100vh}.admin-sidebar{width:240px;background:var(--brown-dark);color:var(--white);padding:1.5rem 0;flex-shrink:0}.admin-sidebar .brand{font-size:1.2rem;font-weight:700;padding:0 1.5rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.15);margin-bottom:1rem}.admin-sidebar nav a{display:flex;align-items:center;gap:.7rem;padding:.75rem 1.5rem;color:#ffffffd9;font-weight:500;text-decoration:none;transition:background .15s}.admin-sidebar nav a:hover,.admin-sidebar nav a.active{background:#ffffff1f;color:var(--white)}.admin-main{flex:1;padding:2rem;background:var(--grey-light);overflow-y:auto}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;background:var(--white);border-radius:8px;overflow:hidden;box-shadow:0 1px 4px #0000000f}th{background:var(--brown-pale);color:var(--brown-dark);padding:.75rem 1rem;text-align:left;font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}td{padding:.75rem 1rem;border-bottom:1px solid var(--grey-light);font-size:.9rem}tr:last-child td{border-bottom:none}tr:hover td{background:var(--brown-pale)}.rating-display{display:flex;align-items:center;gap:.3rem;font-weight:700;color:var(--brown-dark)}.tabs{display:flex;gap:0;border-bottom:2px solid var(--grey);margin-bottom:1.5rem}.tab-btn{padding:.6rem 1.4rem;background:none;border:none;font-size:.95rem;font-weight:600;color:var(--text-muted);cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-2px;transition:color .15s,border-color .15s}.tab-btn.active{color:var(--brown-dark);border-bottom-color:var(--brown-dark)}.spinner{display:flex;justify-content:center;padding:3rem;color:var(--text-muted)}.step-bar{display:flex;gap:0;margin-bottom:2rem;background:var(--white);border-radius:8px;overflow:hidden;box-shadow:0 1px 4px #0000000f}.step-item{flex:1;padding:.75rem .5rem;text-align:center;font-size:.78rem;font-weight:600;color:var(--text-muted);background:var(--white);border-right:1px solid var(--grey-light)}.step-item:last-child{border-right:none}.step-item.done{background:var(--success-light);color:var(--success)}.step-item.active{background:var(--brown-pale);color:var(--brown-dark)}.transcribe-outer{padding-top:60px}.user-sidebar{position:fixed;top:60px;left:-280px;width:240px;height:calc(100vh - 60px);background:var(--brown-dark);z-index:500;transition:left .28s ease;overflow-y:auto}.user-sidebar.open{left:0;box-shadow:4px 0 24px #0003}.user-sidebar-overlay{position:fixed;right:0;bottom:0;left:0;top:60px;background:#00000059;z-index:499}.user-sidebar-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.15);font-weight:700;font-size:.75rem;color:#fff9;text-transform:uppercase;letter-spacing:.08em}.user-sidebar-close{background:none;border:none;cursor:pointer;font-size:1.1rem;color:#fff9;padding:.1rem .3rem;line-height:1}.user-sidebar-close:hover{color:#fff}.user-sidebar-link{display:block;padding:.8rem 1.5rem;color:#ffffffd1;font-weight:500;font-size:.92rem;text-decoration:none;border-left:3px solid transparent;transition:background .15s,color .15s}.user-sidebar-link:hover{background:#ffffff1a;color:#fff;text-decoration:none}.user-sidebar-link.active{background:#ffffff26;color:#fff;border-left-color:#fff;font-weight:700}.user-main{padding:1.25rem 2rem;max-width:920px;margin:0 auto;width:100%}.entry-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.navbar-hamburger{background:none;border:none;font-size:1.6rem;cursor:pointer;color:var(--brown-dark);line-height:1;padding:.2rem .4rem;margin-right:.5rem}.sidebar-toggle,.sidebar-overlay{display:none}@media (max-width: 768px){.container,.navbar{padding:0 1rem}.admin-layout{flex-direction:column}.admin-sidebar{position:fixed;top:0;left:-280px;width:260px;height:100vh;z-index:1001;transition:left .28s ease;overflow-y:auto}.admin-sidebar.open{left:0}.sidebar-overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:1000}.sidebar-toggle{display:flex;align-items:center;justify-content:center;position:fixed;top:.85rem;left:.85rem;z-index:999;width:38px;height:38px;background:var(--brown-dark);color:var(--white);border:none;border-radius:6px;font-size:1.25rem;cursor:pointer;line-height:1}.admin-main{padding:3.5rem 1rem 1rem}.home-nav-desktop{display:none!important}.home-nav-hamburger{display:block!important}.user-main{padding:1rem}.page-header h1{font-size:1.3rem}.auth-card{padding:1.8rem 1.25rem;margin:1rem}.job-card{flex-wrap:wrap}.tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}.tab-btn{white-space:nowrap}.step-bar{flex-wrap:wrap}.step-item{flex:0 0 50%;border-bottom:1px solid var(--grey-light)}.entry-card-grid{grid-template-columns:1fr}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:8px}.transcribe-outer{height:auto!important;min-height:100vh!important;overflow:auto!important;flex-direction:column!important}.transcribe-inner{overflow:auto!important;flex:unset!important;width:100%}.workspace-split{flex-direction:column!important;flex:unset!important;overflow:visible!important}.workspace-left{width:100%!important;max-height:340px;border-right:none!important;border-bottom:1px solid #e8d5be;flex-shrink:0!important;overflow-y:auto!important}.workspace-right{min-height:60vh;overflow:hidden!important}.workspace-topbar{padding:.5rem .75rem!important;gap:.5rem!important}.topbar-save-status,.topbar-cancel{display:none}}
