:root{--bg:#f4f6f8;--surface:#fff;--ink:#17212b;--muted:#667382;--line:#e0e6ed;--accent:#2563eb;--accent2:#1d4ed8;--danger:#dc2626;--success:#15803d;--shadow:0 8px 28px rgba(15,23,42,.07)}
*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;font-size:15px;line-height:1.45}button,input,select{font:inherit}button{cursor:pointer;border:0}.hidden{display:none!important}
.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(145deg,#111827,#263447)}.login-box{width:min(430px,100%);background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 24px 70px rgba(0,0,0,.22)}.login-top{padding:28px;background:#111827;color:#fff}.brand{font-size:30px;font-weight:800;letter-spacing:-.7px}.login-top .sub{margin-top:4px;color:#b8c3d1}.login-body{padding:28px}.login-body h2{margin:0 0 22px;font-size:23px}.login-body label{display:block;margin:0 0 7px;font-weight:700}.login-body input{display:block;margin:0 0 8px}.login-hint{font-size:12px;color:var(--muted);margin:0 0 16px}.login-button{display:block!important;width:100%!important;margin:4px 0 10px!important}.login-body .secondary{display:block;width:100%;margin:0!important}.login-body #loginMsg{margin-top:14px}
header{background:#111827;color:#fff}.head{max-width:1080px;margin:auto;padding:18px;display:flex;align-items:center;justify-content:space-between;gap:16px}.head h1{margin:0;font-size:23px}.head .sub{color:#aeb9c8;font-size:13px;margin-top:2px}
nav{max-width:1080px;margin:auto;padding:10px 14px;display:flex;gap:7px;overflow-x:auto;background:var(--bg)}nav button{background:transparent;color:#657180;font-weight:700;padding:10px 14px;border-radius:10px;white-space:nowrap}nav button.active{background:#111827;color:#fff}
main{max-width:1080px;margin:auto;padding:10px 14px 48px}.card{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:20px;margin-bottom:16px}.card h2{margin:0 0 16px;font-size:20px}.top{display:flex;justify-content:space-between;align-items:center;gap:12px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:14px}.grid:has(> :nth-child(3)){grid-template-columns:repeat(4,minmax(0,1fr))}label{display:block;font-weight:700;margin-bottom:6px;color:#344150}input,select{width:100%;min-height:44px;padding:9px 11px;border:1px solid #ccd4de;border-radius:10px;background:#fff;color:var(--ink);outline:none}input:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(37,99,235,.12)}.static-field{min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#f8fafc;font-weight:700}.toggle-row{display:flex;align-items:center;gap:10px;padding-top:25px}.toggle-row label{margin:0}.toggle-row input{width:20px;min-height:20px}.add-hours-button{width:100%;margin-top:16px}
.primary,.secondary,.danger,.login-button{min-height:44px;padding:10px 15px;border-radius:10px;font-weight:750}.primary,.login-button{background:var(--accent);color:#fff}.primary:hover,.login-button:hover{background:var(--accent2)}.secondary{background:#eef2f6;color:#273444}.danger{background:#fee2e2;color:#991b1b}.small{font-size:13px}.muted{color:var(--muted)}.big{font-size:36px;font-weight:800;margin:4px 0}.notice{padding:11px 13px;border-radius:10px;background:#f3f6f9;border:1px solid var(--line);margin:9px 0}.notice.ok{background:#ecfdf3;border-color:#bbf7d0;color:#166534}.notice.error{background:#fef2f2;border-color:#fecaca;color:#991b1b}.badge{display:inline-flex;padding:4px 8px;border-radius:999px;background:#e8edf3;color:#44505d;font-size:12px;font-weight:800;text-transform:capitalize}.badge.approved{background:#dcfce7;color:#166534}.badge.submitted{background:#dbeafe;color:#1d4ed8}.badge.returned{background:#fee2e2;color:#991b1b}.badge.draft{background:#eef2f6;color:#596574}
.entry-list{display:grid;gap:10px;margin-top:12px}.entry-card{border:1px solid var(--line);border-radius:14px;background:#fff;padding:15px}.entry-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.entry-task{font-size:16px;font-weight:800;margin-top:3px}.entry-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:13px 0}.entry-meta span{padding:9px 10px;background:#f7f9fb;border-radius:9px}.entry-times,.entry-split{font-size:13px;color:#667382;margin-top:5px}.entry-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.entry-actions button{width:100%}.edit-entry h3{margin:0 0 12px}
.profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;border:1px solid var(--line);border-radius:12px;overflow:hidden}.profile-grid>div{padding:12px 13px;background:#fff;border-bottom:1px solid var(--line)}.profile-grid span{display:block;color:var(--muted);font-size:12px;margin-bottom:3px}.profile-grid b{font-size:15px}.actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
@media(max-width:760px){.head{padding:15px 12px}main{padding:8px 8px 35px}.card{padding:15px}.grid,.grid:has(> :nth-child(3)){grid-template-columns:1fr}.entry-meta{grid-template-columns:1fr 1fr}.entry-meta span:last-child{grid-column:1/-1}.profile-grid{grid-template-columns:1fr}.actions,.entry-actions{grid-template-columns:1fr}.toggle-row{padding-top:0}.login-shell{padding:14px}.login-body{padding:22px}.login-top{padding:24px}}
.login-body{display:flex;flex-direction:column}.login-body input{display:block;margin-bottom:2px}.login-hint{font-size:12px;color:#667382;margin:2px 0 12px}.login-button{width:100%;display:block;margin:0 0 10px}.login-body>.secondary{width:100%;display:block;margin:0!important}.add-hours-button{width:100%;display:block;margin-top:18px}.option-row{margin:4px 0 14px}.check{display:flex;align-items:center;gap:10px;margin:0}.check input{width:20px;min-height:20px}.add-hours-card .top{margin-bottom:18px}
@media(max-width:760px){.login-shell{padding:14px}.login-box{width:100%;max-width:430px}.login-top{padding:22px}.login-body{padding:20px}.add-hours-card .top{display:block}.add-hours-card #who{display:block;margin-top:4px}.add-hours-card input,.add-hours-card select{min-height:48px}.add-hours-button{min-height:48px}}
