:root{--ink:#173f32;--muted:#75836f;--green:#207755;--bg:#f6f8f2;--line:#dfe6d8;--light:#eaf1df}*{box-sizing:border-box}body{margin:0;font:15px/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--ink);background:#e7ebe2}a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}button,input,select{font:inherit}button,.button{border:0;border-radius:12px;background:var(--green);color:white;padding:15px 18px;font-weight:650;cursor:pointer;display:block;text-align:center;min-height:52px;width:100%;margin:16px 0 0}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #a5c777;outline-offset:3px}button.secondary,.button.secondary{background:var(--light);color:var(--ink)}button.subtle{background:transparent;color:var(--green);font-size:13px;min-height:40px;padding:8px;width:auto;margin:0}main{max-width:490px;min-height:100vh;margin:auto;padding:0 23px 105px;background:var(--bg)}header{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:22px 0;margin-bottom:17px}.brand{font-size:34px;font-weight:800;letter-spacing:-2px;color:var(--ink);line-height:1}.brand span{color:#83a860}.header-right{font-size:11px;display:grid;text-align:right;max-width:220px}.header-right span{font-weight:600}h1{font-size:30px;line-height:1.15;letter-spacing:-1px;margin:15px 0 12px}h2{font-size:19px;letter-spacing:-.35px;margin:22px 0 13px}h3{font-size:15px;margin:0}p{margin:10px 0}.muted,.small,.footnote{color:var(--muted)}.small{font-size:12px}.footnote{font-size:10px;margin-top:30px}label{display:block;font-size:12px;font-weight:600;color:#607355;margin:12px 0}input,select{display:block;width:100%;min-width:0;min-height:52px;padding:12px;border-radius:10px;border:1px solid var(--line);background:#fff;color:var(--ink);margin-top:6px}input[type=time]{font-size:25px;font-weight:600;letter-spacing:-1px}input[type=checkbox]{width:23px;height:23px;min-height:23px;flex:0 0 23px;accent-color:var(--green);margin:0}.check{display:flex;align-items:center;gap:12px;font-size:14px}.check small{display:block;color:var(--muted);font-size:11px}.teammate{padding:12px 0;border-bottom:1px solid var(--line)}.fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.card{background:white;border:1px solid var(--line);padding:19px;border-radius:17px;margin:15px 0}.title-row{display:flex;justify-content:space-between;align-items:center;gap:12px}.title-row h1{font-size:29px}.title-row form{max-width:165px}.title-row form input{font-size:12px}.title-row form label{margin:0}.title-row .button{width:auto}.total{display:flex;justify-content:space-between;align-items:center;margin-top:23px}.total strong{font-size:27px}.timeline{display:flex;gap:3px;height:7px;border-radius:4px;overflow:hidden;margin:12px 0}.timeline .work{background:var(--green)}.timeline .gap{background:#d7c4a0}.notice{padding:13px 15px;border-radius:10px;background:#edf0e4;margin:14px 0;font-size:13px}.notice.success{background:#e4f0d9}.notice.error{background:#fae5df;color:#8c4435}.notice ul{padding-left:18px}.notice input{font-size:12px}.bottomnav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(490px,100%);display:flex;justify-content:space-around;background:#fffefb;border-top:1px solid var(--line);padding:11px 8px max(11px,env(safe-area-inset-bottom));z-index:5}.bottomnav a{display:grid;place-items:center;gap:3px;min-width:65px;font-size:11px;color:#839178}.bottomnav b{font-size:23px;font-weight:400;line-height:1.2}.bottomnav .active{color:var(--green);font-weight:700}.bottomnav .active b{background:var(--light);padding:0 12px;border-radius:15px}.badge{display:inline-block;padding:5px 9px;border-radius:7px;background:#eef1e8;font-size:11px}.badge.pending,.badge.submitted{background:#fff0cf;color:#8a681b}.badge.approved{background:#deeed1;color:#387245}.badge.rejected{background:#f9ded9;color:#914c3c}.week-picker{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:10px;align-items:center;margin-top:18px}.week-select{display:flex;gap:6px;align-items:end}.week-select label{flex:1;margin:0;min-width:0}.week-select input{font-size:14px}.week-select button{height:52px}.week-arrow{height:52px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:12px;background:white;margin-top:24px}.week-arrow svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.week-day{display:flex;align-items:center;gap:15px;padding:19px 0;border-bottom:1px solid var(--line)}.week-day>div{min-width:30px;text-align:center}.week-day>div strong{display:block;font-size:22px}.week-day>span{flex:1;min-width:0}.week-day small{display:block;font-size:10px;color:var(--muted)}.week-day>span small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.week-day b{font-size:13px}.week-day>strong{font-size:13px}.stats{display:flex;justify-content:space-between;gap:10px;margin:24px 0}.stats strong{display:block;font-size:21px}.stats span{font-size:11px;color:var(--muted)}details{border-top:1px solid var(--line);padding-top:14px;margin:17px 0}summary{cursor:pointer;font-size:13px;color:#607755}.company-link{display:grid;gap:6px}.company-link span{font-size:12px}.actions{display:flex;gap:10px}.schedule{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}td,th{padding:13px 10px;border-bottom:1px solid var(--line)}th{font-size:11px;color:var(--muted)}td small{display:block;font-size:11px;color:var(--muted)}.office main{max-width:none;margin-left:240px;padding:0 38px 50px}.office aside{position:fixed;left:0;top:0;bottom:0;width:240px;padding:35px 25px;background:#173f32;color:#b4c8a7}.office aside .brand{color:white}.office aside p{font-size:12px;margin:15px 0 30px}.office aside nav{display:grid;gap:10px}.office aside nav a{color:#d7e7ca;padding:12px 5px}.office .columns{display:grid;grid-template-columns:1fr 1.3fr;gap:25px}.office .week-picker{max-width:470px}.office .title-row h1{font-size:33px}.office .work-block{max-width:450px}[hidden]{display:none!important}@media(max-width:800px){.office aside{position:static;width:auto;padding:15px}.office aside p{display:none}.office aside nav{display:flex;overflow:auto;gap:17px;font-size:12px}.office aside nav a{white-space:nowrap}.office main{margin:0;padding:0 16px 35px}.office .columns{grid-template-columns:1fr}.title-row{align-items:flex-start}.title-row h1{font-size:24px}.title-row .button{font-size:12px}.actions{flex-wrap:wrap}.schedule{grid-template-columns:repeat(3,1fr)}}@media(max-width:490px){body{background:var(--bg)}main{padding-left:18px;padding-right:18px}.week-select input{font-size:13px;padding:8px}.week-select button{font-size:11px;padding:4px}.week-picker{gap:7px}}@media(prefers-reduced-motion:no-preference){button,a{transition:background .15s ease}}
