:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#16211f;background:#f3f5f1;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select{font:inherit}button,label.file-button{-webkit-tap-highlight-color:transparent}.topbar{height:76px;padding:0 max(28px,calc((100vw - 1180px)/2));display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid #e3e7e1}.brand{display:flex;align-items:center;gap:13px;font-weight:750;line-height:1.05}.brand>span{display:grid;place-items:center;width:42px;height:42px;color:#fff;background:#123d34;border-radius:12px;letter-spacing:.04em}.brand small{display:block;margin-top:5px;color:#74807c;font-size:11px;font-weight:600}.autosave{display:flex;align-items:center;gap:8px;color:#74807c;font-size:13px}.autosave i{width:8px;height:8px;background:#26a269;border-radius:50%;box-shadow:0 0 0 4px #e5f5ed}main{max-width:1180px;margin:0 auto;padding:46px 28px 64px}.hero{display:flex;justify-content:space-between;align-items:flex-end;gap:40px}.eyebrow{margin:0 0 8px;color:#b16b21;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}h1{margin:0;font-family:Georgia,serif;font-size:clamp(34px,5vw,54px);letter-spacing:-.035em;line-height:1.05;color:#123d34}.hero>div>p:last-child{margin:13px 0 0;color:#697570;font-size:16px}.date-card{min-width:224px;padding:15px 17px 16px;background:#fff;border:1px solid #dde3dc;border-radius:15px;box-shadow:0 6px 24px #1c30290d}.date-card label{display:block;margin-bottom:8px;color:#6f7b77;font-size:11px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.date-card input{width:100%;padding:0;border:0;outline:0;color:#172522;background:transparent;font-size:17px;font-weight:700}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:34px 0 20px}.stats article{display:flex;align-items:center;gap:14px;padding:18px 20px;background:#fff;border:1px solid #e0e5df;border-radius:15px}.stat-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;font-weight:800}.stat-icon.green{color:#16704b;background:#e6f4ed}.stat-icon.amber{color:#a15d13;background:#fff0dc}.stat-icon.slate{color:#50625e;background:#edf0ef}.stats strong{display:block;font-family:Georgia,serif;color:#1b2c28;font-size:26px;line-height:1}.stats small{display:block;margin-top:5px;color:#74807c;font-size:12px}.panel{overflow:hidden;background:#fff;border:1px solid #dfe5de;border-radius:18px;box-shadow:0 12px 40px #1b2f280d}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:23px 26px;border-bottom:1px solid #e6eae5}h2{margin:0;color:#173d35;font-family:Georgia,serif;font-size:25px}.panel-head p{margin:6px 0 0;color:#7b8581;font-size:13px}.panel-actions{display:flex;gap:9px}.button{border:0;border-radius:10px;padding:11px 16px;cursor:pointer;font-weight:750;font-size:13px;transition:transform .15s,background .15s}.button:hover{transform:translateY(-1px)}.button.ghost{color:#40514d;background:#f2f5f2}.button.secondary{color:#174e41;background:#e6f2ee}.button.primary{display:flex;align-items:center;gap:9px;padding:14px 22px;color:#fff;background:#123d34;box-shadow:0 9px 22px #123d342e}.button.primary:hover{background:#0c3029}.button.primary span{font-size:19px}.employee-list{width:100%}.list-head,.employee-row{display:grid;grid-template-columns:44px minmax(250px,1.25fr) minmax(190px,.8fr) minmax(180px,.75fr) 34px;gap:12px;align-items:center}.list-head{min-height:44px;padding:0 22px;color:#7f8985;background:#fafbf9;border-bottom:1px solid #e7eae6;font-size:11px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.employee-row{min-height:58px;padding:8px 22px;border-bottom:1px solid #edf0ec}.employee-row:last-child{border-bottom:0}.employee-row:focus-within{background:#fbfcfa}.row-number{display:grid;place-items:center;width:28px;height:28px;color:#70807b;background:#f0f3ef;border-radius:8px;font-size:12px;font-weight:750}.name-input,.detail-input,.status-select{width:100%;border:1px solid transparent;outline:none;border-radius:8px;background:transparent;transition:border-color .15s,background .15s}.name-input{padding:8px 9px;color:#23332f;font-weight:650}.name-input:hover,.name-input:focus,.detail-input:hover,.detail-input:focus{border-color:#d9e1da;background:#fff}.status-select{padding:9px 32px 9px 12px;color:#176246;background:#e8f5ee;font-size:13px;font-weight:700;cursor:pointer}.status-vacation,.status-sick,.status-trip,.status-dayoff{color:#995b18;background:#fff1df}.status-remote,.status-custom{color:#425d72;background:#edf3f7}.detail-input{padding:8px 10px;color:#4e5c58;border-color:#e1e6e1;font-size:13px}.no-detail{padding-left:12px;color:#b4bbb8}.delete-button{width:30px;height:30px;border:0;border-radius:8px;color:#a7afac;background:transparent;cursor:pointer;font-size:20px;line-height:1}.delete-button:hover{color:#a53b3b;background:#fdecec}.bottom-actions{display:flex;justify-content:space-between;align-items:center;padding:22px 2px 0}.backup-actions{display:flex;gap:22px}.text-button{padding:5px 0;color:#66736f;background:none;border:0;cursor:pointer;font-size:12px;font-weight:700;text-decoration:underline;text-decoration-color:#c5cbc8;text-underline-offset:4px}.file-button input{display:none}.toast{position:fixed;left:50%;bottom:26px;z-index:10;padding:12px 18px;color:#fff;background:#153f36;border-radius:10px;box-shadow:0 12px 32px #0003;opacity:0;transform:translate(-50%,16px);pointer-events:none;transition:opacity .2s,transform .2s;font-size:13px;font-weight:700}.toast.show{opacity:1;transform:translate(-50%)}.toast.error{background:#923e3e}@media(max-width:850px){.hero{align-items:stretch;flex-direction:column}.date-card{width:100%}.stats{grid-template-columns:1fr}.panel-head{align-items:flex-start;flex-direction:column}.employee-list{overflow-x:auto}.list-head,.employee-row{min-width:900px}}@media(max-width:560px){.topbar{padding:0 18px}.autosave{display:none}main{padding:32px 16px 48px}.panel-actions{width:100%}.panel-actions .button{flex:1}.bottom-actions{align-items:stretch;flex-direction:column-reverse;gap:20px}.button.primary{justify-content:center}}
