:root{font-family:Noto Sans JP,Hiragino Kaku Gothic ProN,Meiryo,sans-serif;color:#253a49;background:#f3f6fa;font-size:14px;font-synthesis:none;line-height:1.7}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:1px solid #c9d5df;border-radius:6px;padding:9px 15px;background:#fff;color:#234b63;transition:background .15s}button:hover{background:#eaf1f6}button:disabled{opacity:.45;cursor:not-allowed}button.primary{color:#fff;background:#234b63;border-color:#234b63}button.primary:hover{background:#163a51}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #5085bd;outline-offset:3px}input,select{min-width:0;width:100%;padding:9px 11px;border:1px solid #bacbd8;border-radius:5px;background:#fff;color:#253a49}input:focus,select:focus{outline:2px solid #82a9c3}label{display:flex;flex-direction:column;gap:5px;font-size:12px;color:#526b7c}h1,h2,p{margin:0 0 15px}h1{font-size:30px;font-weight:600;letter-spacing:.04em;line-height:1.4}h2{font-size:17px;font-weight:600}small,.small{font-size:12px}.muted{color:#627787}.block{display:block}.shell{display:flex;min-height:100vh}.sidebar{width:248px;flex-shrink:0;background:#fff;border-right:1px solid #dce4eb;padding:30px 22px;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0}.brand{display:flex;gap:11px;align-items:center;text-decoration:none;color:#234b63;font-size:18px;font-weight:700;letter-spacing:.04em}.brand small{display:block;font-weight:400;font-size:10px;margin-top:3px;color:#718391}.brand-mark{font-family:serif;background:#234b63;color:#fff;display:grid;place-items:center;width:38px;height:44px;border-radius:4px}.demo-label{font-size:10px;color:#6d8190;border-bottom:1px solid #e3eaf0;padding:24px 0 20px}nav{margin-top:22px;display:grid;gap:7px}nav button{display:flex;align-items:center;gap:17px;text-align:left;border:0;background:transparent;padding:13px 16px;font-weight:500}.nav-num{font-size:10px;color:#9aabb7}nav button.active{background:#e9f1f6;color:#214e69;font-weight:700}.nav-dot{height:6px;width:6px;border-radius:50%;background:#4f8391;margin-left:auto}.sidebar-note{margin-top:auto;padding-top:40px;font-size:12px;color:#637a8b}.sidebar-note strong{color:#3b5668;font-weight:500}.sidebar-note p{font-size:11px;line-height:2;margin:12px 0 25px}.sidebar-note small{display:block;font-size:10px;margin-top:8px}.network{font-size:11px;color:#326957}.network:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#448872;margin-right:7px}.network.offline{color:#87570d}.network.offline:before{background:#b07b2e}main{margin-left:248px;min-width:0;flex:1}.topbar{height:65px;border-bottom:1px solid #dce4eb;background:#fff;padding:0 40px;display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#60798b}.content{max-width:1440px;margin:0 auto;padding:36px 40px}.page-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:28px}.eyebrow{font-size:10px;letter-spacing:.16em;color:#698398;display:block;margin-bottom:12px}.page-heading p:last-child{margin:8px 0 0;font-size:13px}.month-label{min-width:160px}.panel{background:#fff;border:1px solid #dce4eb;border-radius:9px;padding:26px;margin-bottom:22px;box-shadow:0 2px 4px #14395403;min-width:0}.punch-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(260px,1fr);gap:24px}.clock-panel{padding:32px}.clock-date{margin:0;font-size:14px;color:#647d8f}.clock{font-variant-numeric:tabular-nums;font-size:76px;font-weight:500;line-height:1.35;letter-spacing:.015em;color:#234b63}.clock span{font-size:24px;color:#8a9dac;margin-left:10px}hr{border:0;border-top:1px solid #e4ebf0;margin:26px 0}.employee-picker{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}.employee-picker button{text-align:left;display:flex;align-items:center;gap:12px;padding:12px}.employee-picker button.chosen{background:#eaf2f7;border-color:#527d98}.avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#eef2f6;color:#617c91;font-size:12px}.chosen .avatar{color:#fff;background:#527d98}.employee-picker small{display:block;font-size:10px;color:#788c99}.selected-text{font-size:9px;margin-left:auto;white-space:nowrap}.punch-buttons{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}.punch-buttons button{font-size:16px;padding:15px}.ink-panel{background:#234b63;color:#fff;border-color:#234b63;padding:30px}.ink-panel h2{font-size:24px;line-height:1.9;font-weight:400;margin:20px 0}.ink-panel p{font-size:12px;color:#d3e1e9;line-height:2}.ink-panel .eyebrow{color:#adc8d8;font-size:10px}.ink-panel button{background:transparent;color:#fff;border-color:#7090a3;font-size:12px;width:100%;margin-top:16px}.metric-line{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e8edf2;padding:14px 0;font-size:12px}.metric-line strong{font-size:26px;color:#234b63;font-variant-numeric:tabular-nums;font-weight:500}.metric-line small{font-size:10px;margin-left:7px;color:#748c9e}.text-button{border:0;padding:15px 0 0;background:none;font-size:12px}.notice{padding:16px 20px;border:1px solid #bed1df;border-radius:6px;background:#eaf2f8;margin-bottom:22px;font-size:12px;overflow-wrap:anywhere}.notice p:last-child{margin:8px 0 0}.notice.success{background:#eaf4f0;border-color:#bed7cb;color:#32664f}.notice.error{background:#fff0ee;border-color:#e2b4af;color:#963e36}.legal{background:#edf2f7;color:#536e82}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.stats .panel{display:flex;flex-direction:column;gap:5px}.stats span{color:#627787;font-size:12px}.stats strong{font-size:32px;font-weight:500;color:#234b63;line-height:1.5;font-variant-numeric:tabular-nums}.stats .status-word{font-size:24px;padding:6px 0}.stats small{color:#718697;font-size:11px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px}.section-heading h2{margin:0}.toolbar{display:flex;gap:12px;flex-wrap:wrap;align-items:end;margin:18px 0}.toolbar label{min-width:150px}.table-scroll{overflow:auto;max-width:100%;border:1px solid #e0e7ed;border-radius:5px}table{border-collapse:collapse;width:100%;text-align:left;white-space:nowrap;font-size:12px}th{background:#f3f7fa;font-weight:500;color:#5c7588}th,td{padding:13px 14px;border-bottom:1px solid #e1e9ef;vertical-align:top}td strong{font-weight:500}tr:last-child td{border-bottom:0}.numeric{font-variant-numeric:tabular-nums;font-weight:600;color:#234b63}.badge{font-size:10px;background:#eaf0f5;color:#4d6c83;padding:2px 5px;border-radius:3px}.warning{color:#9a5c08}.good{color:#39745c}summary{cursor:pointer;color:#476e88;font-size:12px;padding:12px 0}details p{white-space:normal}.event-button{display:block;font-size:11px;padding:6px;margin-bottom:4px}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:15px}.form-grid .wide{grid-column:span 2}.checkbox{display:flex;flex-direction:row;align-items:center;gap:9px;font-size:12px;padding:12px 0;line-height:1.6}.checkbox input{width:16px;height:16px;flex-shrink:0}.history-item{padding:17px 0;border-bottom:1px solid #e0e7ed;overflow-wrap:anywhere}.history-item p{margin:6px 0}.history-item small{color:#718799}.raw-scroll{max-height:360px}.correction{border-color:#7196af}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:22px}.two-col .form-grid{grid-template-columns:1fr 1fr}.limit-form{margin-top:20px;padding-top:20px;border-top:1px solid #e0e7ed}.button-row{display:flex;gap:9px;flex-wrap:wrap}.shift-table th:first-child{position:sticky;left:0;z-index:1;min-width:100px;border-right:1px solid #dce5ed}.shift-table th{text-align:center}.shift-table th:first-child{text-align:left}.shift-table th small{display:block;color:#7c90a0}.shift-table td{padding:9px 7px;min-width:93px;text-align:center}.shift-table select{font-size:12px;padding:7px 4px;min-width:78px}.weekend{color:#8b5874}.coverage-row td{background:#f8fafc;font-size:11px}.pattern-legend{display:flex;flex-wrap:wrap;gap:9px 22px;font-size:11px;color:#647f90;margin:15px 0}.pattern-legend b{font-weight:600;color:#375d77}.segmented{display:flex}.segmented button{border-radius:0}.segmented button:first-child{border-radius:5px 0 0 5px}.segmented button:last-child{border-radius:0 5px 5px 0}.segmented .selected{background:#234b63;color:#fff;border-color:#234b63}.preference-list{max-height:260px;overflow:auto}.shortages{max-height:280px;overflow:auto}.export-panel h2{font-size:25px;font-weight:500;margin:22px 0}.archive-count{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:5px 15px;padding:18px 0;margin-bottom:15px}.archive-count strong{font-size:25px;font-weight:500;color:#234b63}.archive-count span{font-size:12px;color:#6b8190}.file-label{max-width:500px}.file-label input{margin:8px 0}.diff-summary{display:flex;gap:30px;padding:20px 0}.diff-summary b{font-size:22px;margin-left:8px}.diff-scroll{max-height:380px}.staff-form{margin-top:26px}footer{font-size:10px;color:#7a8f9d;text-align:center;padding:20px 0;line-height:2}.print-sheet{display:none}@media(min-width:1500px){.punch-layout{grid-template-columns:1.7fr 1fr}.clock-panel{padding:40px}.employee-picker{grid-template-columns:repeat(2,1fr)}}@media(max-width:1100px){.sidebar{width:205px;padding:25px 16px}main{margin-left:205px}.content{padding:25px}.topbar{padding:0 25px}.punch-layout{grid-template-columns:minmax(0,1fr)}.punch-aside{display:grid;grid-template-columns:1fr 1fr;gap:20px}.punch-aside>p{grid-column:span 2}.ink-panel h2{font-size:20px}.two-col{grid-template-columns:1fr}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.shell{display:block}.sidebar{position:static;width:100%;border-right:0;padding:18px 17px 0;border-bottom:1px solid #dce4eb}.brand{font-size:17px}.brand-mark{width:30px;height:35px}.brand small{font-size:9px}.demo-label{position:absolute;right:17px;top:16px;border:0;font-size:8px;max-width:110px;padding:0;text-align:right}.sidebar nav{display:flex;justify-content:space-between;gap:0;margin-top:15px}.sidebar nav button{padding:12px 9px;font-size:12px;border-radius:5px 5px 0 0}.nav-num,.nav-dot,.sidebar-note{display:none}main{margin:0}.topbar{display:none}.topbar>span:last-child{display:none}.content{padding:24px 17px}.page-heading{gap:12px;flex-wrap:wrap;margin-bottom:24px}h1{font-size:25px}.page-heading p:last-child{font-size:12px}.eyebrow{font-size:9px}.month-label{width:100%;max-width:200px}.panel{padding:20px 17px;margin-bottom:18px}.punch-layout{gap:0}.clock{font-size:65px}.clock span{font-size:20px}.clock-panel{padding:24px 20px}.employee-picker{gap:8px}.employee-picker button{gap:7px;padding:10px 7px;font-size:11px}.selected-text{font-size:8px}.avatar{height:25px;width:25px;flex-shrink:0}.punch-aside{display:block}.punch-aside>p{margin:20px 0}.ink-panel h2{font-size:22px}.stats{gap:7px}.stats .panel{padding:14px 9px}.stats strong{font-size:24px}.stats span{font-size:10px}.stats small{font-size:9px}.stats .status-word{font-size:18px;padding:4px 0}.notice{padding:14px;font-size:11px}.section-heading{align-items:start;flex-wrap:wrap}.section-heading button{font-size:11px}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.two-col{gap:0}.two-col .form-grid{grid-template-columns:1fr 1fr}.form-grid .checkbox{grid-column:1/-1}.toolbar{gap:9px}.toolbar label{min-width:0;flex:1 1 135px}button{padding:9px 12px}.section-heading .button-row{width:100%}.shift-table th:first-child{min-width:90px}th,td{padding:10px}.archive-count{padding:10px 0}.diff-summary{gap:18px;font-size:12px}footer{text-align:left;font-size:9px}input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea{font-size:16px}.shift-table select{font-size:16px}}@media print{.print-sheet tr:last-child td{border-bottom:1px solid #999}@page{size:A4 landscape;margin:12mm}.no-print{display:none!important}.shell{display:block;background:#fff}.print-sheet{display:block;color:#111;width:100%;font-size:9px}.print-sheet h1{font-size:20px}.print-sheet table{table-layout:fixed;width:100%;font-size:11px;white-space:normal}.print-sheet th,.print-sheet td{border:1px solid #999;padding:18px 1px;text-align:center;background:#fff;color:#111;vertical-align:middle;overflow-wrap:anywhere}.print-sheet th:first-child{width:80px}.print-sheet p{font-size:9px;margin:8px 0}body{background:#fff}}@media screen{button,input:not([type=checkbox]):not([type=radio]),select{min-height:44px}}
