:root{--red:#ff000f;--ink:#17141c;--muted:#716d75;--line:#e6e2e6;--soft:#f8f7f8}*{box-sizing:border-box}html{color:var(--ink);background:#fff;font-size:16px}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI','PingFang SC','Microsoft YaHei',sans-serif;line-height:1.65;min-height:100vh}a{color:inherit}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid var(--ink);outline-offset:3px}button,.button,input,select,summary{min-height:44px}button{cursor:pointer}a{text-underline-offset:4px}h1,h2,h3,p{overflow-wrap:anywhere}h2{font-size:1.25rem;line-height:1.4;margin:0 0 18px}h3{font-size:1rem}p{margin:0 0 16px}.brand-head-inner{display:flex;align-items:flex-start;justify-content:space-between;max-width:1120px;margin:auto;padding:34px 44px 0}.brand-context{padding-top:4px;color:#87828a;font-size:.72rem;font-weight:750;letter-spacing:.08em;text-decoration:none}.brand-logo{display:block;width:126px;height:auto;mix-blend-mode:multiply}.nav-wrap{max-width:1032px;margin:25px auto 0;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.main-nav{display:flex;gap:24px}.main-nav a{display:flex;align-items:center;min-height:48px;text-decoration:none;color:var(--muted);font-size:.86rem;border-bottom:3px solid transparent}.main-nav a[aria-current=page]{border-color:var(--red);color:var(--ink);font-weight:750}.nav-user{color:var(--muted);font-size:.8rem}main{position:relative;z-index:1;max-width:1120px;margin:auto;padding:0 44px 48px;min-height:65vh}.page-intro{padding:50px 0 30px}.page-intro h1{margin:12px 0 18px;font-size:clamp(2.4rem,5vw,3.7rem);font-weight:780;line-height:1.12;letter-spacing:-.055em}.page-intro>p:last-child{color:var(--muted);font-size:.92rem}.eyebrow,.section-kicker{color:var(--red);font-size:.72rem;font-weight:850;letter-spacing:.14em;margin:0}.card{border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.97);padding:26px;box-shadow:0 10px 30px rgba(29,22,33,.045);min-width:0}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:22px}.section-heading h2{margin:5px 0 0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:21px 20px}.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field-wide,.form-grid>.notice{grid-column:1/-1}.field label,.return-panel label{font-size:.86rem;font-weight:650}.optional{font-size:.7rem;color:#8c8791;font-weight:400;margin-left:8px}.required{color:var(--red)}input,select,textarea{width:100%;min-width:0;border:1px solid #dcd7de;border-radius:9px;background:#fff;color:var(--ink);padding:10px 12px;line-height:1.45}textarea{resize:vertical;min-height:104px}input[type=checkbox],input[type=radio]{width:18px;min-height:18px;flex:none;margin:0 9px 0 0;accent-color:var(--red)}.field>div[id] label{display:flex;align-items:center;min-height:44px;font-weight:400}.help,.helptext{color:var(--muted);font-size:.76rem;line-height:1.6}.help ul{padding-left:18px}.field-error input,.field-error select,.field-error textarea{border-color:#b62c35}.errorlist{padding:0;margin:0;list-style:none;color:#a32630;font-size:.8rem}.button{display:inline-flex;justify-content:center;align-items:center;padding:11px 20px;border-radius:10px;border:1px solid transparent;font-size:.88rem;font-weight:650;text-decoration:none;gap:8px}.primary{background:var(--red);color:#fff}.primary:hover{background:#df0010}.secondary{background:#fff;border-color:var(--line);color:var(--ink)}.secondary:hover{background:var(--soft)}.button:disabled{opacity:.6;cursor:wait}.small.button{font-size:.76rem;padding:8px 12px}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.actions form{margin:0}.section-gap{margin-bottom:24px}.entry-layout{display:grid;grid-template-columns:minmax(0,1fr) 258px;gap:24px;align-items:start}.identity-card{text-align:center}.identity-card h2{margin:10px 0 0}.identity-card .section-kicker{text-align:left}.avatar{width:56px;height:56px;border-radius:50%;background:#fff0f1;color:var(--red);display:grid;place-items:center;font-size:1.4rem;font-weight:700;margin:24px auto 0}.avatar.small{width:42px;height:42px;font-size:1rem;margin:0}.tips{padding:24px 10px}.tips p{color:var(--muted);font-size:.82rem}.draft-line{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid var(--line);padding-top:15px;color:var(--muted);font-size:.72rem}.text-button{border:0;background:transparent;color:var(--muted);text-decoration:underline;font-size:.72rem;min-height:44px;padding:0}.notice{padding:12px 16px;border:1px solid #dce9e2;background:#f1f8f4;border-radius:10px;font-size:.86rem;margin:20px 0}.notice.error{background:#fff1f1;border-color:#f2c6ca;color:#96262d}.notice.warning{background:#fff8e9;border-color:#ecdfbc;color:#795c1b}[hidden]{display:none!important}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:24px}.stat{border:1px solid var(--line);border-radius:14px;padding:20px 24px}.stat>span{font-size:.8rem;color:var(--muted)}.stat strong{display:block;font-size:2rem;line-height:1.5;font-weight:650}.stat small{font-size:.76rem;color:var(--muted);margin-left:9px;font-weight:400}.filter-card{padding:18px;margin-bottom:22px;box-shadow:none}.filter-form{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.filter-form .field{flex:1;min-width:125px}.filter-form .field label{font-size:.75rem}.filter-form .optional{display:none}.filter-form .button{padding:10px 15px}.table-head,.record-row{display:grid;grid-template-columns:140px minmax(0,1fr) 85px 100px 20px;gap:22px;align-items:center}.table-head{padding:0 22px 13px;color:var(--muted);font-size:.76rem}.record-row{padding:20px 22px;border:1px solid var(--line);border-radius:14px;margin-bottom:10px;text-decoration:none;background:#fff;transition:box-shadow .15s}.record-row:hover{box-shadow:0 8px 25px #21132610}.record-date,.record-content{display:grid;gap:4px;min-width:0}.record-date strong{font-size:.94rem}.record-content strong{font-size:.9rem;font-weight:550;overflow-wrap:anywhere}.muted{color:var(--muted);font-size:.82rem}.record-hours strong{font-size:1.4rem}.record-hours span{font-size:.7rem;color:var(--muted);margin-left:5px}.badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:6px;background:#f0eef2;color:#655f6b;font-size:.72rem;font-weight:650;white-space:nowrap}.badge.pending{background:#fff3d9;color:#916516}.badge.approved{background:#e6f5ec;color:#23633e}.badge.returned{background:#ffebe9;color:#a34037}.badge.withdrawn{background:#f0eef2;color:#716b79}.changed{display:block;color:var(--muted);font-size:.68rem;margin:3px 0 0 10px}.record-arrow,.person-arrow{color:var(--red)}.empty{text-align:center;padding:45px 20px}.empty h2{margin:8px 0}.empty p{color:var(--muted);font-size:.88rem}.empty-mark{font-size:2rem;color:#bbb3bf}.pagination{display:flex;justify-content:center;gap:18px;align-items:center;margin-top:25px;font-size:.8rem}.detail-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:24px;align-items:start}.detail-fields{margin:0}.detail-fields>div{padding:13px 0;border-bottom:1px solid #f0edf0;display:grid;grid-template-columns:100px minmax(0,1fr);gap:16px}.detail-fields dt{color:var(--muted);font-size:.8rem}.detail-fields dd{margin:0;font-size:.9rem;overflow-wrap:anywhere}.action-card{margin-top:20px}.original,.return-panel{margin-top:22px;border-top:1px solid var(--line);padding-top:12px}summary{cursor:pointer;display:flex;align-items:center;font-size:.85rem;font-weight:600}summary:before{content:'+';margin-right:10px;color:var(--red)}details[open]>summary:before{content:'−'}.return-panel textarea{margin:8px 0 12px}.timeline{list-style:none;padding:0 0 0 18px;margin:22px 0 0}.timeline li{position:relative;border-left:1px solid var(--line);padding:0 0 25px 22px}.timeline li:before{content:'';position:absolute;left:-5px;top:7px;width:9px;height:9px;background:var(--red);border-radius:50%}.timeline li:last-child{border-left-color:transparent;padding-bottom:0}.timeline-top{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:.85rem}.timeline-top time{font-size:.7rem;color:var(--muted)}.timeline li>p{margin:5px 0}.event-note{padding:10px;background:var(--soft);border-radius:7px;font-size:.82rem}.change{margin-top:12px;font-size:.76rem;overflow-wrap:anywhere}.change b{font-weight:650}.before,.after{padding:7px 9px;border-radius:5px;margin-top:4px;white-space:pre-wrap}.before{background:#fff0ef;color:#8f4e49}.after{background:#edf8f0;color:#366146}.change span{display:block;font-size:.65rem;opacity:.7}.people-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.person-card{display:flex;align-items:flex-start;gap:14px;text-decoration:none;padding:20px}.person-card h2{font-size:1rem;margin:0 0 4px}.person-card p{margin:0 0 8px}.person-arrow{margin-left:auto}.person-card .help{margin-top:8px}.narrow{max-width:720px}.inline-form{display:flex;align-items:flex-end;gap:12px}.inline-form .field{flex:1}.inline-form .button{white-space:nowrap}.team-list{border-top:1px solid var(--line);margin-top:25px;padding-top:12px}.team-list form{margin-top:12px}.auth-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:center;padding:80px 0 45px}.auth-intro h1{font-size:clamp(2.5rem,5vw,4rem);letter-spacing:-.055em;line-height:1.2;margin:22px 0}.lead{color:var(--muted);line-height:1.9}.auth-note{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:.8rem;margin-top:55px}.red-line{height:2px;width:30px;background:var(--red)}.auth-card{padding:32px}.auth-card h2{font-size:1.6rem;margin:10px 0 28px}.auth-card .form-grid{grid-template-columns:1fr}.auth-bottom{border-top:1px solid var(--line);padding-top:20px;margin-top:25px;font-size:.82rem}.auth-bottom a{color:var(--red)}.site-foot{position:relative;z-index:1;max-width:1032px;margin:auto;display:flex;justify-content:space-between;padding:20px 0;border-top:1px solid var(--line);font-size:.72rem;color:var(--muted)}.site-atmosphere{height:150px;background:radial-gradient(85% 150% at 8% 135%,#ff0015 0%,rgba(255,0,21,.62) 32%,transparent 70%),radial-gradient(90% 150% at 54% 140%,#ff93c2 0%,rgba(255,162,205,.70) 35%,transparent 72%),radial-gradient(88% 160% at 102% 135%,#756cff 0%,rgba(122,113,255,.64) 35%,transparent 73%)}.visually-hidden,.skip-link:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link:focus{position:fixed;top:8px;left:8px;padding:12px;background:#fff;z-index:10}
@media(max-width:1100px){.nav-wrap,.site-foot{margin-left:44px;margin-right:44px}.main-nav{gap:20px}.entry-layout{grid-template-columns:minmax(0,1fr) 220px}.table-head,.record-row{grid-template-columns:115px minmax(0,1fr) 70px 90px 16px;gap:12px}.auth-layout{gap:35px}}
@media(max-width:760px){body{padding-bottom:calc(65px + env(safe-area-inset-bottom))}.brand-head-inner{padding:24px 20px 0}.brand-logo{width:92px}.brand-context{font-size:.62rem}.brand-context span{display:block;margin-top:3px}main{padding:0 20px 35px}.nav-wrap{position:fixed;z-index:5;bottom:0;left:0;right:0;margin:0;border-top:1px solid var(--line);border-bottom:0;background:rgba(255,255,255,.98);padding:0 8px env(safe-area-inset-bottom)}.main-nav{width:100%;justify-content:space-around;gap:0}.main-nav a{min-height:64px;justify-content:center;font-size:.7rem;flex:1;border-bottom:0;border-top:3px solid transparent;white-space:nowrap}.main-nav a[aria-current=page]{border-top-color:var(--red)}.nav-user{display:none}.page-intro{padding:42px 0 25px}.page-intro h1{font-size:clamp(2rem,8.7vw,3rem);line-height:1.2;margin:12px 0}.page-intro>p:last-child{font-size:.82rem}.entry-layout,.detail-layout,.auth-layout{grid-template-columns:1fr;gap:20px}.entry-aside{display:none}.card{padding:20px}.form-grid{gap:19px 14px}.field label{font-size:.8rem}.field input,.field select,.field textarea{font-size:16px}.section-heading{align-items:flex-start}.section-heading h2{font-size:1.12rem}.section-kicker{font-size:.65rem}.draft-line{align-items:flex-start;font-size:.66rem}.text-button{font-size:.66rem;flex:none;min-height:44px}.stats{gap:8px;margin-bottom:20px}.stat{padding:14px 12px}.stat>span{font-size:.68rem}.stat strong{font-size:1.65rem}.stat small{font-size:.6rem;margin-left:4px}.filter-form{gap:12px}.filter-form .field{min-width:calc(50% - 12px)}.filter-form .button{flex:1}.table-head{display:none}.record-row{grid-template-columns:1fr auto;gap:12px;padding:17px;position:relative}.record-date{grid-column:1;grid-row:1}.record-content{grid-column:1/-1;grid-row:2;padding-right:12px}.record-hours{grid-column:2;grid-row:1}.record-status{grid-column:1;grid-row:3;display:flex;align-items:center;gap:5px}.record-arrow{grid-column:2;grid-row:3;justify-self:end}.changed{margin:0}.record-content strong{font-size:.85rem}.record-content .muted{font-size:.72rem}.people-grid{grid-template-columns:1fr}.timeline-card{margin-top:0}.detail-fields>div{grid-template-columns:90px minmax(0,1fr);gap:12px}.detail-fields dd{font-size:.83rem}.auth-layout{padding:42px 0 0;gap:30px}.auth-intro h1{font-size:2.8rem;margin:16px 0}.auth-intro .lead{font-size:.85rem}.auth-note{display:none}.auth-card{padding:24px}.site-foot{margin:0 20px;gap:10px;font-size:.65rem;flex-wrap:wrap}.site-atmosphere{height:110px}.inline-form{flex-wrap:wrap}.inline-form input{flex:1;min-width:120px}.inline-form .field{min-width:150px}}
@media(max-width:390px){main{padding-left:16px;padding-right:16px}.brand-head-inner{padding-left:16px;padding-right:16px}.form-grid{grid-template-columns:1fr}.actions .button{flex:1}.stat{padding:12px 9px}.stat strong{font-size:1.45rem}.main-nav a{font-size:.64rem}.detail-fields>div{grid-template-columns:75px minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
