:root{--bg:#0b0e0b;--panel:#131813;--line:#2b342b;--lime:#c5ff38;--text:#f4f6f0;--muted:#a5aea3;--font:Arial,'Noto Sans JP','Yu Gothic',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:15px/1.8 var(--font);background:var(--bg);color:var(--text)}a{color:inherit;text-underline-offset:4px}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}button,a,input,select,textarea,summary{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #84a91b}header{min-height:92px;padding:18px 5%;display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--line)}header .brand{max-width:48%;font-size:22px;font-weight:800;text-decoration:none;overflow-wrap:anywhere}header img{width:215px;display:block;max-width:100%}nav{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:20px;font-size:13px}nav a{text-decoration:none}nav form{margin:0}main{max-width:1260px;margin:auto;padding:0 40px}footer{padding:38px 5%;margin-top:60px;border-top:1px solid var(--line);display:flex;align-items:center;gap:24px;font-size:11px;color:var(--muted)}footer img{width:145px}footer small{margin-left:auto}h1,h2,h3,p{margin:0 0 16px}h1{font-size:38px;line-height:1.5;letter-spacing:-.04em}h2{font-size:25px;line-height:1.5}h3{font-size:19px}em{font-style:normal;color:var(--lime)}.hero{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:80px;padding:92px 0 100px;min-height:660px}.hero h1{font-size:clamp(44px,5.1vw,72px);line-height:1.45;margin:22px 0}.eyebrow{font-size:11px;letter-spacing:2.1px;color:#8caa64;font-weight:700}.marketing .eyebrow{color:var(--lime)}.lead{font-size:23px;font-weight:700;line-height:1.8}.muted,.fine{color:var(--muted)}.fine{font-size:12px;margin-top:18px}.actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:20px 0}.button,button{display:inline-flex;align-items:center;justify-content:center;gap:14px;padding:12px 20px;border:1px solid transparent;border-radius:4px;background:var(--lime);color:#142006;font-weight:700;font-size:14px;text-decoration:none;min-height:48px}.button:hover,button:hover{filter:brightness(.96)}.button.secondary,.secondary{background:transparent;border-color:#77816e;color:inherit}.small{min-height:40px;padding:8px 15px}.text-button{background:none;border:0;padding:0;min-height:35px;color:inherit;font-weight:400}.hero-card{background:linear-gradient(145deg,#1e2b15,#10170d);border:1px solid #536d39;border-radius:14px;padding:30px;box-shadow:0 30px 100px #92c72a12;transform:rotate(-2deg)}.window-top{border-bottom:1px solid #3a492e;padding-bottom:17px;margin-bottom:26px;font-size:10px;letter-spacing:1px;display:flex;justify-content:space-between;color:#c3d1b5}.clock{font-size:83px;font-weight:700;line-height:1.3;letter-spacing:-5px}.clock span{color:var(--lime)}.badge{display:inline-block;white-space:nowrap;font-size:11px;line-height:1.5;padding:5px 12px;border-radius:30px;background:#c5ff3820;color:#acd22f;border:1px solid #85a72c}.mock-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:27px 0}.mock-actions span{text-align:center;padding:8px 2px;border:1px solid #506041;border-radius:4px;font-size:13px}.mock-actions span:first-child{background:var(--lime);color:#142006}.mock-total{border-top:1px solid #3a492e;display:flex;align-items:center;justify-content:space-between;padding-top:20px}.mock-total strong{font-size:29px}section{margin-bottom:24px}#plans{padding:70px 0;border-top:1px solid var(--line)}.section-title{display:flex;justify-content:space-between;gap:30px;align-items:flex-start;margin-bottom:35px}.section-title h2{font-size:35px}.table-wrap{max-width:100%;overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;border-bottom:1px solid #34402d;padding:17px 20px;vertical-align:middle}.comparison th:first-child{width:48%}.comparison td{text-align:center;width:26%;font-size:15px}.comparison thead th:not(:first-child){text-align:center}.comparison thead strong{font-size:30px}.comparison tr>:nth-child(2){background:#c5ff380b}.comparison tbody td{color:#d4f29d}.plan-actions{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:30px}.steps{padding:50px 0 80px}.steps h2{font-size:36px}.columns{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:40px}.columns article{border-top:1px solid #66714d;padding-top:20px}.columns article b{font-size:30px;color:var(--lime)}.columns p{color:var(--muted);font-size:13px}.form-card{max-width:840px;margin:65px auto;padding:42px;background:#151c12;border:1px solid #3e4a33;border-radius:12px}.form-card h1{font-size:30px}.narrow{max-width:650px;margin-left:auto;margin-right:auto}label{display:block;margin:12px 0;font-size:13px;font-weight:600}input,select,textarea{display:block;width:100%;min-width:0;margin-top:7px;padding:12px;border:1px solid #6b775f;border-radius:5px;background:#0c120a;color:inherit;min-height:48px}textarea{resize:vertical}.required{color:#e9998a;font-size:10px;font-weight:400}.form-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px 24px}.full{grid-column:1/-1}.check{display:flex;align-items:flex-start;gap:10px;font-weight:400}.check input{width:20px;height:20px;min-height:20px;flex-shrink:0;margin:3px 0;accent-color:#4e7016}.check a{color:#acd22f}.wide{width:100%;margin:13px 0}details{margin:18px 0}summary{cursor:pointer;font-size:13px;font-weight:600;min-height:32px}details p{margin-top:12px}fieldset{border:1px solid #d3dbd0;border-radius:5px;margin:20px 0}.notice{padding:17px 20px;background:#f5ecc8;color:#5d4e1a;border:1px solid #d8c987;border-radius:7px}.notice.error{background:#ffe9e4;color:#943826;border-color:#f0b9ad}.notice.success{background:#eaf2dc;color:#3b5620;border-color:#b6ce92}.danger{background:#fff1ee;border:1px solid #d7b1a7;color:#8d3523}.skip{position:absolute;top:-80px;background:var(--lime);color:#111;padding:12px}.skip:focus{top:0}.application{--line:#d9dfd5;--muted:#68755f;color:#22311b;background:#f2f5ee}.application header{background:#fff;gap:15px;min-height:80px}.application header .brand{color:#274013;font-size:21px}.application .page-top{display:flex;justify-content:space-between;align-items:center;padding:34px 0 20px;gap:20px}.application h1{font-size:29px;margin:0}.application .page-top .eyebrow{margin-bottom:7px;font-size:10px}.application .page-top>span{font-size:13px;white-space:nowrap}.panel,.report{background:#fff;border:1px solid #d9e2d1;padding:26px;border-radius:10px;margin-bottom:22px}.application input,.application select,.application textarea{background:#fff;border-color:#c4d1bb}.application footer{background:#11190e;color:#b1c0a4}.application .eyebrow{color:#617746}.punch{display:flex;justify-content:space-between;gap:25px;align-items:center}.punch h2{margin-bottom:3px}.punch p{margin-bottom:3px}.punch .actions{margin:0}.status-dot{display:inline-block;background:#8ab32a;border-radius:50%;width:.8em;height:.8em;margin-right:9px}.toolbar{display:flex;align-items:end;flex-wrap:wrap;gap:14px;margin:22px 0}.toolbar label{margin:0}.toolbar button{margin-bottom:0}.report-tools{font-size:13px}.totals{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;margin:20px 0}.totals>div{border:1px solid #d7e0ce;background:#f1f6e9;padding:12px 9px;border-radius:7px}.totals>div:nth-child(n+4){background:#f1f2f4;border-color:#d0d3d8}.totals small,.totals strong{display:block}.totals small{font-size:11px;white-space:nowrap}.totals strong{font-size:16px;margin-top:5px;white-space:nowrap}.days{font-size:12px}.days th,.days td{border:1px solid #d6dfcf;padding:8px 6px}.days thead{background:#eaf0e4}.days td:not(:nth-child(2)){text-align:center}.days small{display:block;font-size:10px;white-space:nowrap}.days .times{white-space:nowrap}.days th:first-child{white-space:nowrap;font-size:11px}.days .sun{background:#ffedf2}.days .sat{background:#e8f7ff}.days .closed{background:#eef8d6}.days details{margin:0}.days details p{font-size:11px;min-width:150px;text-align:left}.days summary{min-height:24px}.days details a{display:block}.report-title{display:flex;justify-content:space-between;align-items:center;gap:20px}.report-title h2{font-size:18px;margin:0}.report-title p{font-size:12px;margin:0}.staff-row{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #dce3d6;padding:16px 0}.staff-row small{display:block;color:var(--muted);overflow-wrap:anywhere}.staff-row .actions{margin:0;font-size:13px}.section-line{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;gap:15px}.section-line h2{margin:0}dl{display:grid;grid-template-columns:100px 1fr;gap:7px}dd{margin:0;overflow-wrap:anywhere}dt{color:var(--muted)}.print-restricted{display:none}.marketing>.page-top{display:none}.marketing .panel{background:#151c12;border-color:#3e4a33}.marketing .staff-row{border-color:#3e4a33}.marketing .section-line .badge{color:#c5ff38}.marketing dl{font-size:14px}.break-row{border-bottom:1px solid #dce3d6;padding:6px 0}
@media(max-width:900px){.hero{gap:35px;grid-template-columns:1fr 1fr}.hero h1{font-size:47px}.hero-card{padding:20px}.clock{font-size:64px}header{padding:15px 4%}nav{gap:12px}main{padding:0 22px}.totals{grid-template-columns:repeat(4,minmax(0,1fr))}.punch{align-items:flex-start;flex-direction:column}}
@media(max-width:600px){header{align-items:flex-start;flex-wrap:wrap;gap:12px;min-height:74px}header img{width:160px}header .brand{max-width:100%;font-size:18px}.marketing header nav{gap:12px;font-size:11px}.marketing header .small{display:none}.application header nav{width:100%;justify-content:flex-start;gap:15px;row-gap:4px;font-size:12px}.application nav .badge{font-size:10px}.application .page-top{padding-top:22px}.application h1{font-size:23px}main{padding:0 14px}.hero{grid-template-columns:1fr;padding:42px 6px 45px;gap:35px;min-height:0}.hero h1{font-size:47px}.lead{font-size:20px}.hero-card{max-width:410px;width:100%;margin:auto;transform:none}.hero-card .clock{font-size:70px}.section-title{display:block}.section-title h2,.steps h2{font-size:28px}.section-title .eyebrow{margin-bottom:15px}#plans{padding:42px 0}.comparison{font-size:11px}.comparison th,.comparison td{padding:13px 7px}.comparison td{font-size:12px}.comparison th:first-child{width:45%}.comparison thead strong{font-size:24px}.plan-actions{grid-template-columns:1fr;gap:12px}.columns{grid-template-columns:1fr;gap:25px}.steps{padding-top:25px}.columns article b{font-size:25px}.form-card{padding:24px 18px;margin:30px auto}.form-card h1{font-size:25px}.form-grid{grid-template-columns:1fr;gap:0}.panel,.report{padding:16px 10px}.panel h2{font-size:21px}.totals{grid-template-columns:repeat(2,minmax(0,1fr))}.totals>div:last-child{grid-column:1/-1}.totals strong{font-size:18px}.days .extra{display:none}.days{font-size:10px}.days th,.days td{padding:7px 3px}.days small{font-size:8px}.days th:first-child{font-size:9px}.days summary{font-size:10px}.report-title{align-items:flex-start;flex-direction:column;gap:5px}.staff-row{align-items:flex-start;flex-direction:column;gap:10px}.staff-row .actions{width:100%;justify-content:space-between}.toolbar{gap:8px}.toolbar label{flex:1;min-width:125px}.toolbar .button{width:100%}.punch .actions{width:100%;display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.punch .actions button{padding:12px 7px}footer{flex-wrap:wrap;gap:14px;padding:26px 20px}footer small{margin-left:0}dl{grid-template-columns:65px 1fr;font-size:12px}.section-line{align-items:flex-start}.section-line h2{font-size:20px}.application .page-top>span{font-size:11px}}
@media print{@page{size:A4 landscape;margin:8mm}body.pro,body.pro main{background:white;color:#111;margin:0;padding:0;max-width:none}body.pro header,body.pro footer,body.pro .page-top,body.pro .no-print{display:none!important}.pro .report{margin:0;padding:0;border:0;border-radius:0}.pro .totals{grid-template-columns:repeat(7,1fr);margin:5px 0;gap:4px}.pro .totals>div{padding:3px 6px;border-radius:0}.pro .totals strong{font-size:9pt}.pro .totals small{font-size:7pt}.pro .days .extra{display:table-cell}.pro .days th,.pro .days td{font-size:8pt;line-height:1.1;padding:1px 3px;height:4.2mm}.pro .days th:first-child{font-size:8pt}.pro .days small{font-size:6pt;line-height:1}.pro .report-title{display:flex;flex-direction:row;margin:0 0 5px}.pro .report-title h2{font-size:12pt}.pro .report-title p{font-size:9pt}.pro .fine{font-size:6.5pt;margin:5px 0}.pro table tr{break-inside:avoid}.pro thead{display:table-header-group}.pro .table-wrap{overflow:visible}.free header,.free main,.free footer{display:none!important}.free .print-restricted{display:block;color:#111;background:white}*{print-color-adjust:exact;-webkit-print-color-adjust:exact}}
[hidden]{display:none!important}
@media print{.pro .days .times{display:inline}.pro .days td:nth-child(2) small{display:inline;margin-left:5px}.pro .days th,.pro .days td{height:4.2mm!important}.pro .days{table-layout:auto}.pro .report-title{margin-bottom:3px}}

/* Contact and three plans */
.contact-trap{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.form-grid textarea{display:block;width:100%;resize:vertical;border:1px solid var(--line);background:#0b100b;color:var(--text);padding:13px;border-radius:5px}.plans-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:28px 0}.plan-card{border:1px solid var(--line);background:var(--panel);padding:25px;border-radius:12px}.plan-card h3{color:var(--lime)}.plan-price{font-size:29px;font-weight:700}.plan-price small{font-size:12px;display:block;font-weight:400;color:var(--muted)}.plan-card .button{width:100%;justify-content:center;margin-top:12px}.upgrade-note{border-left:3px solid var(--lime);padding:16px 20px;background:var(--panel);margin:25px 0}.legal nav{justify-content:flex-start}@media(max-width:780px){.plans-summary{grid-template-columns:1fr}}

/* Password visibility control: preserve the field width and touch target. */
.password-control{display:block;position:relative;min-width:0;width:100%}.password-control input{width:100%;box-sizing:border-box;padding-right:52px}.password-control .password-toggle{position:absolute;right:3px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-height:44px;margin:0;padding:0;border:0;background:transparent;color:inherit;cursor:pointer}.password-toggle:focus-visible{outline:2px solid #749c00;outline-offset:-2px;border-radius:6px}

/* Simple attendance entry; the monthly report has a separate view. */
.attendance-entry{max-width:820px;margin:0 auto 28px;padding:30px}.attendance-person{display:flex;justify-content:space-between;align-items:center;gap:16px}.attendance-person h2{font-size:24px;margin:0;overflow-wrap:anywhere}.attendance-person .eyebrow{margin:0 0 2px}.attendance-status{display:inline-flex;align-items:center;flex-shrink:0;white-space:nowrap;font-size:17px;font-weight:700;line-height:1.5;border-radius:24px;padding:9px 15px;background:#edf2e8;color:#59634f}.attendance-status .status-dot{width:1em;height:1em;background:currentColor}.attendance-status.working{background:#e5f3db;color:#3a6d1f}.attendance-status.resting{background:#fff0d4;color:#97620e}.attendance-switch{margin:12px 0 0}.attendance-switch summary{color:#637354}.attendance-switch .toolbar{margin:10px 0}.attendance-clock{text-align:center;padding:28px 0 30px}.attendance-clock p{font-size:17px;margin:0}.attendance-clock time{display:block;font-size:clamp(46px,8vw,76px);line-height:1.4;letter-spacing:.01em;font-weight:700;font-variant-numeric:tabular-nums}.attendance-clock small{font-size:11px;color:var(--muted)}.attendance-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.attendance-button{min-height:112px;display:grid;grid-template-columns:1fr auto;text-align:left;padding:18px 24px;border-radius:12px;border:1px solid #9db876;background:#e8f3d9;color:#26431a}.attendance-button small{grid-column:1/-1;font-size:11px;letter-spacing:.12em;font-weight:500}.attendance-button strong{font-size:30px;line-height:1.3}.attendance-button>span{font-size:27px}.attendance-in{background:#c5ff38;border-color:#aad527}.attendance-break{background:#fff0cd;border-color:#e0c784;color:#735116}.attendance-return{background:#e4f1ff;border-color:#abc8e1;color:#2e587d}.attendance-out{background:#eceaf9;border-color:#c7c0e6;color:#4e4279}.attendance-button:disabled{opacity:1;background:#f0f2ee;border-color:#dce1d6;color:#9ca693;cursor:not-allowed}.attendance-links{display:flex;justify-content:center;margin:24px 0 0}.attendance-links .button{min-height:52px;padding:12px 28px}.attendance-last{text-align:center;margin:14px 0 0}@media(max-width:600px){.attendance-entry{padding:18px 14px}.attendance-person{gap:10px}.attendance-person h2{font-size:20px}.attendance-status{font-size:14px;padding:7px 10px}.attendance-clock{padding:24px 0}.attendance-clock p{font-size:15px}.attendance-buttons{gap:12px}.attendance-button{min-height:106px;padding:15px 18px}.attendance-button strong{font-size:28px}.attendance-links .button{width:100%}}@media(max-width:360px){.attendance-person{flex-wrap:wrap}.attendance-status{margin-left:auto}.attendance-button{padding:14px}.attendance-clock time{font-size:44px}}

.support-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:24px 0}.support-cards a.panel{display:block;margin:0;text-decoration:none;color:inherit;padding:18px}.support-cards b,.support-cards span{display:block}.support-cards b{font-size:17px;margin-bottom:10px}.support-cards span{font-size:13px}.support-cards a:hover{border-color:#789a45}.support-phone{margin-top:20px}.support-phone .button{margin:12px 0}.support-version{font-size:28px;font-weight:700}@media(max-width:780px){.support-cards{grid-template-columns:1fr}}

.support-area{margin:28px 0}.marketing .support-area .panel{background:var(--panel);border-color:var(--line)}.marketing .support-area .button.secondary{color:var(--text)}

/* Font-independent link arrows and explicit homepage return. */
.pw-external-arrow{display:inline-block;width:1.1em;height:1.1em;min-width:1.1em;vertical-align:-.12em;flex-shrink:0;overflow:visible}.home-return{padding:12px 0;font-size:14px}.home-return a{display:inline-flex;align-items:center;gap:6px}.home-return a:focus-visible{outline:2px solid currentColor;outline-offset:4px}
