@font-face{font-family:Noto Sans JP;src:url(../fonts/NotoSansJP-cp932.woff2) format("woff2");font-weight:100 900;font-display:swap}@font-face{font-family:"Noto Serif JP";src:url(../fonts/NotoSerifJP-headings.woff2) format("woff2");font-weight:100 900;font-display:swap}:root{--tk-red: #e33535;--tk-pink: #ffe4ec;--tk-gray: #f5f5f5;--tk-ink: #000000;--tk-line: #d9d2d2;--tk-muted: #665c5c;--radius: 10px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:Noto Sans JP,Hiragino Kaku Gothic ProN,sans-serif;font-size:14px;line-height:1.7;color:var(--tk-ink);background:#fff;display:flex;min-height:100vh;flex-direction:column}h1,h2,h3{font-family:"Noto Serif JP",serif;word-break:keep-all;text-wrap:balance}p{line-break:strict;text-wrap:pretty}button{font-family:inherit}.app-header{background:var(--tk-red);color:#fff}.app-header-inner{max-width:1200px;margin:0 auto;padding:12px 20px;display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}.app-title{font-size:22px;margin:0;color:#fff}.app-subtitle{font-size:13px;opacity:.95}.app-org{margin-left:auto;font-size:13px}.app-main{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:20px}.app-footer{background:var(--tk-gray);color:var(--tk-muted);text-align:center;font-size:13px;padding:14px;margin-top:32px}.app-footer p{margin:2px 0}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 20px;border-radius:var(--radius);border:none;cursor:pointer;font-size:15px;font-weight:600}.btn-primary{background:var(--tk-red);color:#fff}.btn-primary:hover{background:#c62a2a}.btn-primary:disabled{background:#ccb2b2;cursor:not-allowed}.btn-secondary{background:#fff;color:var(--tk-red);border:2px solid var(--tk-red)}.btn-secondary:hover{background:var(--tk-pink)}.btn-ghost{background:transparent;color:var(--tk-muted);border:1px solid var(--tk-line)}.btn-sm{min-height:36px;padding:4px 14px;font-size:13px}.chara-lead{display:flex;gap:14px;align-items:center}.chara-lead img{flex:none;width:110px;height:auto}.chara-notice{display:flex;gap:12px;align-items:center;margin:10px 0}.chara-notice img{flex:none;width:86px;height:auto}.footer-brand{display:flex;gap:10px;align-items:center;justify-content:center}.footer-brand img{width:54px;height:auto}@media(max-width:700px){.chara-lead img{width:84px}.chara-notice img{width:64px}}.consent{max-width:760px;margin:0 auto}.consent h2{font-size:20px}.consent-lead{background:var(--tk-pink);border-radius:var(--radius);padding:14px 18px;margin:0;flex:1}.consent-cards{display:flex;flex-direction:column;gap:12px;margin:20px 0;padding:0;list-style:none}.consent-card{display:flex;gap:14px;align-items:flex-start;border:1px solid var(--tk-line);border-radius:var(--radius);padding:14px 16px}.consent-card .num{flex:none;width:32px;height:32px;border-radius:50%;background:var(--tk-red);color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center;font-size:15px}.consent-card h3{margin:0 0 4px;font-size:15px;font-family:Noto Sans JP,sans-serif;font-weight:700}.consent-card p{margin:0;font-size:14px}.code-note{font-size:11px;color:var(--tk-muted);margin:6px 0 0;line-height:1.6}.consent-notice{background:var(--tk-pink);border-left:5px solid var(--tk-red);border-radius:var(--radius);padding:14px 18px;margin:20px 0}.consent-notice h3{margin:0 0 8px;font-size:15px;font-family:Noto Sans JP,sans-serif;font-weight:700}.consent-notice ul{margin:0;padding-left:1.2em}.consent-notice li{font-size:14px;margin-bottom:8px}.consent-notice li:last-child{margin-bottom:0}.consent-agree{background:var(--tk-gray);border-radius:var(--radius);padding:16px 18px;display:flex;flex-direction:column;gap:12px;align-items:flex-start}.consent-agree label{display:flex;gap:10px;align-items:flex-start;cursor:pointer;font-size:14px}.consent-agree input[type=checkbox]{width:20px;height:20px;margin-top:3px}.consent-note{font-size:13px;color:var(--tk-muted)}.workspace-top{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}.workspace-top .spacer{flex:1}.dropzone{border:2px dashed var(--tk-red);border-radius:var(--radius);background:#fff8fa;padding:26px;text-align:center;cursor:pointer}.dropzone.dragover{background:var(--tk-pink)}.dropzone p{margin:4px 0}.dropzone .sub{font-size:13px;color:var(--tk-muted)}.file-summary{margin:12px 0;font-size:13px}.file-summary ul{margin:4px 0;padding-left:20px}.file-warn{color:#b84a1f}.notice{border-left:4px solid var(--tk-red);background:var(--tk-pink);padding:8px 12px;border-radius:0 var(--radius) var(--radius) 0;font-size:13px;margin:10px 0}.user-list{display:flex;flex-direction:column;gap:8px;margin:14px 0}.user-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border:1px solid var(--tk-line);border-radius:var(--radius);padding:10px 14px;cursor:pointer;min-height:44px}.user-row:hover{background:var(--tk-gray)}.user-row.selected{border-color:var(--tk-red);background:var(--tk-pink)}.user-row .uname{font-weight:700;font-size:15px}.user-row .ukana{font-size:12px;color:var(--tk-muted)}.badge{display:inline-block;font-size:12px;padding:1px 8px;border-radius:999px;background:var(--tk-gray);border:1px solid var(--tk-line)}.badge.on{background:var(--tk-red);color:#fff;border-color:var(--tk-red)}.badge.care{background:#fff;border-color:var(--tk-red);color:var(--tk-red);font-weight:600}.tabs{display:flex;gap:6px;margin:18px 0 0;flex-wrap:wrap}.tab{min-height:44px;padding:8px 18px;border-radius:var(--radius) var(--radius) 0 0;border:1px solid var(--tk-line);border-bottom:none;background:var(--tk-gray);cursor:pointer;font-size:14px;font-weight:600}.tab.active{background:#fff;border-color:var(--tk-red);border-bottom:2px solid #fff;color:var(--tk-red)}.tab:disabled{color:#b3a8a8;cursor:not-allowed}.tab-actions{display:flex;gap:8px;align-items:center;margin:10px 0;flex-wrap:wrap}.tab-panel{border:1px solid var(--tk-line);border-radius:0 var(--radius) var(--radius) var(--radius);padding:16px;overflow-x:auto;background:#fff}.select-inline{min-height:36px;font-size:14px;padding:4px 8px}.form-sheet{min-width:900px}.form-sheet h3{font-size:16px;margin:0 0 8px}.form-sheet table{border-collapse:collapse;width:100%;font-size:12px}.form-sheet th,.form-sheet td{border:1px solid #666;padding:3px 6px;vertical-align:top}.form-sheet th{background:var(--tk-gray);font-weight:600;text-align:center}.form-sheet .num{text-align:right;white-space:nowrap}.form-sheet .ctr{text-align:center}.form-sheet .pre{white-space:pre-wrap}.form-meta{display:flex;gap:18px;flex-wrap:wrap;font-size:13px;margin-bottom:8px}.form-meta b{font-weight:700}.t6 td.day{width:20px;min-width:20px;text-align:center;padding:2px 1px}.t6 td.day.on{background:var(--tk-pink);font-weight:700}.t6 .rowlabel{white-space:nowrap;font-size:11px;color:var(--tk-muted)}.t6 th.dow-sat{color:#2a5aa0}.t6 th.dow-sun{color:var(--tk-red)}.t7 tr.subtotal td{background:#fdf3f5;font-weight:600}.t7 tr.total td{background:var(--tk-pink);font-weight:700}.t7 .over{color:var(--tk-red);font-weight:700}@media(max-width:700px){.app-main{padding:12px}body{font-size:13px}}.p3-grid{display:grid;grid-template-columns:34px 40px repeat(7,1fr) 1.4fr;border:1px solid #666;margin-bottom:8px;font-size:12px}.p3-head{background:var(--tk-gray);font-weight:600;text-align:center;padding:3px 2px;border-right:1px solid #666;border-bottom:1px solid #666}.p3-col{position:relative;border-right:1px solid #666}.p3-grid>:nth-child(10),.p3-grid>:last-child{border-right:0}.p3-band{position:absolute;left:0;right:0;border-bottom:1px solid #666;writing-mode:vertical-rl;display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--tk-muted)}.p3-hour{position:absolute;right:3px;transform:translateY(-50%);font-size:11px;color:var(--tk-muted)}.p3-hour:first-child{transform:none}.p3-line{position:absolute;left:0;right:0;border-top:1px dotted #ccc}.p3-svc{position:absolute;box-sizing:border-box;background:var(--tk-pink, #ffe4ec);border:1px solid var(--tk-red, #e33535);border-radius:3px;padding:1px 3px;overflow:hidden;line-height:1.25;font-size:11.5px}.p3-svc b,.p3-svc span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.p3-svc b{font-weight:600}.p3-svc span,.p3-act span{color:#555;font-size:11px}.p3-act{position:absolute;left:4px;right:4px;transform:translateY(-50%);background:#fff;line-height:1.2}.p3-other{margin-top:0}.p3-unplaced{margin-top:8px;padding:8px 10px;border:1px solid #c87a1f;background:#fff7ec;border-radius:6px;font-size:12px}.p3-unplaced ul{margin:4px 0 0 18px;padding:0}
