:root{--nav:#142d3b;--ink:#203641;--muted:#788994;--line:#dde5e8;--bg:#f5f7f8;--teal:#087f83;--light:#e4f3f1;--danger:#ac4436}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI","Yu Gothic",Meiryo,sans-serif}a{color:var(--teal);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button,a,input,select,summary,textarea{outline-offset:3px}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}[hidden]{display:none!important}.sidebar{width:228px;position:fixed;inset:0 auto 0 0;background:var(--nav);padding:30px 20px;color:#d7e4ea;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;color:white;font-size:24px;font-weight:650;letter-spacing:-.6px}.brand:hover{text-decoration:none}.brand small{display:block;font-size:10px;color:#95aab5;letter-spacing:1px}.brand-mark{background:#37b5ac;color:white;border-radius:12px;display:grid;place-items:center;width:42px;height:42px;font-size:29px;font-weight:800;line-height:1}.nav-label{font-size:10px;letter-spacing:1.7px;color:#91a7b4;margin:40px 12px 10px}nav a{display:block;color:#b9ccd4;padding:11px 14px;border-radius:7px;margin:3px 0}nav a:hover,nav a.active{background:#244453;color:white;text-decoration:none}.sidebar-bottom{margin-top:auto;padding:20px 12px 0;border-top:1px solid #36505c;display:flex;flex-direction:column}.sidebar-bottom span{font-size:11px;color:#90aab7}.logout{background:none;border:0;color:#b6c9d1;padding:10px 0}main{margin-left:228px;padding:24px 40px;max-width:1800px}.topline{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:20px;font-size:12px;color:var(--muted)}.topline time{color:var(--ink)}.page-heading{display:flex;align-items:center;justify-content:space-between;margin:32px 0 25px;gap:20px}h1{font-size:30px;line-height:1.4;letter-spacing:-.8px;margin:0 0 8px;font-weight:700}h2{font-size:17px;margin:0 0 16px}h3{font-size:14px}.eyebrow{font-size:10px;letter-spacing:2.1px;font-weight:700;color:var(--teal);margin:0 0 10px}.muted,small{color:var(--muted)}p{margin:8px 0}.button{display:inline-flex;align-items:center;justify-content:center;border:1px solid #cddadd;border-radius:7px;background:white;color:var(--ink);padding:9px 15px;line-height:1.5;gap:6px;white-space:nowrap}.button:hover{background:#edf4f4;text-decoration:none}.primary{background:var(--teal);color:white;border-color:var(--teal)}.primary:hover{background:#076c70}.danger{color:var(--danger);border-color:#e5c5bf}.danger-text{color:var(--danger)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:28px}.stats article{border:1px solid var(--line);border-radius:10px;background:white;padding:21px 24px}.stats article>span{color:#627780;font-size:12px}.stats strong{display:block;font-size:37px;font-weight:600;line-height:1.5}.stats strong small{font-size:14px;font-weight:400}.stats p{font-size:11px;color:var(--muted);margin:3px 0}.panel{background:white;border:1px solid var(--line);border-radius:10px;margin-bottom:22px;overflow:hidden}.padded{padding:24px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:0 0 16px}.panel>.section-heading{padding:20px 24px 0}.section-heading h2{margin:0}table{border-collapse:collapse;width:100%;text-align:left}th{background:#f9fbfc;color:#788a93;font-size:11px;font-weight:500;padding:13px 20px;border-bottom:1px solid var(--line)}td{padding:16px 20px;border-bottom:1px solid #edf1f3;vertical-align:top}tr:last-child td{border-bottom:0}.table-scroll{overflow-x:auto}.task-link{color:var(--ink);font-weight:600;display:block}.task-link small{display:block;font-size:10px;font-weight:400;margin-bottom:2px}.badge{display:inline-block;font-size:11px;border-radius:5px;background:#edf1f4;padding:3px 9px;color:#627782;white-space:nowrap}.doing{background:#e5f2fc;color:#2871a6}.pending{background:#fff1d5;color:#977122}.done{background:#e2f2e9;color:#32835d}.hold{background:#efebf7;color:#7d6496}.person{display:inline-block;margin:0 9px 3px 0;font-size:12px}.nowrap{white-space:nowrap}.empty{text-align:center;padding:42px;color:var(--muted)}.quick-strip{border:1px dashed #bbd3d6;display:flex;justify-content:space-between;align-items:center;border-radius:10px;padding:24px;background:#eef7f6}.quick-strip p{font-size:12px}.tabs{display:flex;gap:7px;border-bottom:1px solid var(--line);margin-bottom:20px;overflow-x:auto}.tabs a,.tabs button{border:0;background:none;border-radius:0;color:var(--muted);padding:12px 16px;white-space:nowrap}.tabs .selected{color:var(--teal);border-bottom:2px solid var(--teal);font-weight:650}.filters{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin:20px 0}.filters>input{width:260px}.filters details{flex-basis:100%}.filter-extra{display:flex;gap:16px;margin-top:10px;align-items:end}.filter-extra label{flex:1}.filters>select{width:180px}input,select,textarea{border:1px solid #d2dfe3;background:white;border-radius:6px;color:var(--ink);padding:9px 11px;width:100%;min-height:40px}input:focus,select:focus,textarea:focus{border-color:var(--teal);box-shadow:0 0 0 2px #168e8c20;outline:none}input:disabled,select:disabled,textarea:disabled{background:#f5f7f8;color:#89969c}label{display:block;font-size:12px;color:#5c717b}label input,label select,label textarea{display:block;margin-top:5px}input[type=checkbox]{width:16px;height:16px;min-height:16px;margin:0;accent-color:var(--teal)}.check{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}.inline-form,.settings-row{display:flex;gap:14px;align-items:end;flex-wrap:wrap}.grow{flex:1;min-width:160px}.settings-row{padding:12px 0;align-items:center;border-bottom:1px solid #edf1f3}.settings-row input{flex:1;min-width:140px}.settings-row select{width:115px}.settings-row .check input{min-width:16px}.pagination{padding:14px 24px;font-size:12px;color:var(--muted);display:flex;gap:20px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.span2{grid-column:span 2}.form-actions{display:flex;gap:12px;margin-top:22px}.people-picker{display:flex;flex-wrap:wrap;gap:15px;margin-top:9px}fieldset{border:0;padding:0;margin:0;min-width:0}.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px}.two-columns form label{margin-bottom:12px}.back{display:inline-block;margin-top:20px;font-size:12px}.task-total{text-align:right}.task-total span{display:block;color:var(--muted);font-size:11px}.task-total strong{font-size:33px}.task-total small{font-size:17px}.log-entry{padding:18px 0;border-bottom:1px solid var(--line)}.log-entry>div strong{float:right;color:var(--teal)}.log-entry p{margin-top:12px}.prewrap{white-space:pre-wrap;overflow-wrap:anywhere}.history-entry{border-bottom:1px solid var(--line);padding:15px 0}summary{cursor:pointer;color:var(--teal)}pre{font:12px/1.6 Consolas,monospace;background:#f3f6f8;padding:14px;border-radius:6px;white-space:pre-wrap;overflow-wrap:anywhere;max-height:350px;overflow:auto}.restore-form{display:flex;align-items:end;gap:12px}.daily-summary{display:flex;gap:25px;align-items:center;margin:20px 0;padding:18px 22px;border:1px solid #c5e0db;border-radius:9px;background:var(--light)}.daily-table td:first-child{width:24%}.daily-table td:nth-child(2){width:105px}.daily-table td:nth-child(4){width:135px}.daily-table small{display:block}.daily-table textarea{min-width:220px}.daily-table details{font-size:11px;margin-top:6px}.icon-button{border:0;background:#f5f7f8;border-radius:5px;color:var(--muted);font-size:22px;padding:0 8px}.add-row{display:flex;align-items:center;padding:20px;gap:12px;border-top:1px solid var(--line)}.add-row select{max-width:430px}.add-row a{font-size:12px}.removed{opacity:.35;text-decoration:line-through}.warning{color:#ad701b;font-size:12px}.calendar .weekdays,.calendar .week{display:grid;grid-template-columns:repeat(7,1fr)}.weekdays{background:#f9fbfc;text-align:center;padding:12px;color:var(--muted);font-size:11px}.day{min-height:125px;border-top:1px solid var(--line);border-right:1px solid var(--line);padding:13px;display:flex;flex-direction:column;color:var(--ink);position:relative}.day:hover{background:#eef9f8;text-decoration:none}.day:nth-child(7){border-right:0}.day-number{font-size:13px}.day strong{font-size:24px;font-weight:550}.day strong small{font-size:12px}.holiday{background:#f9fafb}.other-month{opacity:.35}.today .day-number{background:var(--teal);color:white;border-radius:50%;width:26px;height:26px;text-align:center;line-height:26px}.missing-dot{font-size:10px;color:#b47b33;margin-top:auto}.missing-dot:before{content:'● ';font-size:7px}.leave{font-size:11px;color:#507c85}.big-number{font-size:30px;margin-left:12px;color:var(--teal)}.notice{padding:15px 18px;background:#e9f3f9;border:1px solid #cedfe9;border-radius:8px;margin:16px 0}.notice.error{background:#fff0ed;border-color:#f0c5bd;color:#a04433}.notice.success{background:#eaf6ed;color:#397e51}.notice .button{margin-left:15px}.anonymous{margin:0;max-width:none}.login-card{background:white;border:1px solid var(--line);border-radius:16px;max-width:520px;padding:48px;margin:9vh auto}.login-card h1{font-size:34px;margin:14px 0 24px}.login-card .brand-mark{margin-bottom:28px}.login-card .button{margin:20px 0}.login-card small{display:block;font-size:11px}.wide{width:100%}footer{display:flex;justify-content:space-between;color:#9aa9af;font-size:10px;padding:25px 0 10px;letter-spacing:1px}#toast{position:fixed;bottom:24px;right:30px;background:#193c43;color:white;padding:14px 24px;border-radius:8px;box-shadow:0 5px 30px #0002;z-index:10}#app-error{position:sticky;top:10px;z-index:20}.period-presets{display:flex;gap:8px}@media(max-width:1050px){.sidebar{width:190px}main{margin-left:190px;padding:22px}.stats{grid-template-columns:1fr 1fr}.two-columns{grid-template-columns:1fr}.day{min-height:100px;padding:9px}}@media(max-width:720px){.sidebar{position:static;width:auto;padding:16px}.sidebar nav{display:flex;flex-wrap:wrap}.sidebar .nav-label,.sidebar-bottom{display:none}main{margin:0;padding:15px}.page-heading{align-items:start}.stats{gap:8px}.form-grid{grid-template-columns:1fr}.span2{grid-column:auto}.topline>span{display:none}.daily-summary{flex-wrap:wrap;gap:12px}.filters{align-items:start}.weekdays,.day{font-size:11px}.day{min-height:90px;padding:5px}.day strong{font-size:18px}.add-row{flex-wrap:wrap}}
.daily-table{min-width:900px}.daily-table .hours{min-width:70px}.daily-table .row-state{min-width:120px}.sidebar{overflow-y:auto}.start-fields{padding:10px;background:#f5faf9;border-radius:6px}.start-fields label{margin:10px 0}.start-fields textarea{min-width:0}
@media(max-width:1000px){.daily-table{min-width:0;display:block}.daily-table thead{display:none}.daily-table tbody{display:block}.daily-table tr{display:grid;grid-template-columns:1fr 1fr;position:relative;border-bottom:1px solid var(--line);padding:12px}.daily-table td{width:auto!important;min-width:0;border:0;padding:8px}.daily-table td:first-child{grid-column:1/-1;padding-right:42px}.daily-table td:nth-child(2){grid-column:1;grid-row:2}.daily-table td:nth-child(2):before{content:'合計(h)';display:block;font-size:11px;color:var(--muted);margin-bottom:4px}.daily-table td:nth-child(3){grid-column:1/-1;grid-row:3}.daily-table td:nth-child(4){grid-column:2;grid-row:2}.daily-table td:nth-child(4):before{content:'状態';display:block;font-size:11px;color:var(--muted);margin-bottom:4px}.daily-table td:nth-child(5){position:absolute;top:10px;right:10px}.daily-table textarea{min-width:0}.daily-summary{flex-wrap:wrap;gap:12px}.add-row{flex-wrap:wrap}}

.account-form p{margin:18px 0}.account-form .helptext{display:block;font-size:12px;color:var(--muted);margin-top:6px}.account-form ul{font-size:12px;padding-left:20px}.errorlist{color:var(--danger);background:#fff1ed;border-radius:6px;padding:10px 10px 10px 25px}.account-panel{max-width:700px}.account-link{font-size:12px;margin-top:10px;color:#b9d9dc}.user-entry{padding-bottom:16px;border-bottom:1px solid var(--line);margin-bottom:16px}
