:root{color:#263735;font-synthesis:none;background:#f5f6f2;font-family:Yu Gothic UI,Meiryo,sans-serif;font-weight:400}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{color:#29433c;cursor:pointer;background:#fff;border:1px solid #ccd5cf;border-radius:7px;padding:10px 16px;font-weight:600}button:hover{background:#edf2ed}button:disabled{opacity:.5;cursor:not-allowed}button.primary{color:#fff;background:#28594c;border-color:#28594c}input,select,textarea{color:#223d34;background:#fff;border:1px solid #bbc9c0;border-radius:6px;width:100%;min-width:0;padding:11px}input:focus,select:focus,textarea:focus,button:focus-visible{outline-offset:2px;outline:3px solid #b3ce9f}label{flex-direction:column;gap:7px;font-size:13px;font-weight:600;display:flex}header{background:#fff;border-bottom:1px solid #dfe5dc;justify-content:space-between;align-items:center;gap:20px;padding:24px max(24px,50vw - 620px);display:flex}h1{margin:6px 0;font-size:24px}h2{margin:8px 0;font-size:22px}p{line-height:1.7}.brand{letter-spacing:3px;color:#657d64;font-size:11px;font-weight:800}.account{align-items:center;gap:20px;font-size:13px;display:flex}main{max-width:1240px;margin:auto;padding:36px 24px}.heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:26px;display:flex}.heading p{color:#697971;margin:8px 0;font-size:14px}.eyebrow{letter-spacing:2px;color:#6b7e62;font-size:10px;font-weight:700}.toolbar{background:#eaf0e5;border:1px solid #dae3d3;border-radius:10px;align-items:end;gap:20px;margin-bottom:30px;padding:20px;display:flex}.date-controls{align-items:end;gap:8px;display:flex}.date-controls input{width:170px}.toolbar>label{min-width:140px}.toolbar>button:last-child{margin-left:auto}.list-section{background:#fff;border:1px solid #dce3db;border-radius:10px;margin-bottom:26px;overflow:hidden}.section-heading{justify-content:space-between;align-items:center;gap:12px;padding:19px 22px;display:flex}.section-heading h2{font-size:19px}.section-heading h2 span{color:#668059}.table-scroll{overflow-x:auto}table{border-collapse:collapse;text-align:left;table-layout:fixed;width:100%;font-size:14px}th{color:#66756a;background:#f2f4ee;font-size:12px;font-weight:600}th,td{vertical-align:top;overflow-wrap:anywhere;border-top:1px solid #e2e7df;padding:14px 12px}th:first-child{width:95px}th:last-child{width:155px}td.time{font-variant-numeric:tabular-nums;font-size:18px;font-weight:650}.badge{white-space:nowrap;background:#e6eddf;border-radius:4px;padding:4px 7px;font-size:12px;display:inline-block}.badge.koba{background:#f4ecda}.notes{white-space:pre-wrap;overflow-wrap:anywhere}.row-actions{gap:6px;display:flex}.row-actions button{padding:6px 9px;font-size:12px}small{color:#6d7e74;margin-top:4px;display:block}.empty{text-align:center;color:#7b897e;padding:32px}.error{color:#903d30;background:#fff0ed;border:1px solid #e4b6ad;border-radius:6px;padding:12px}.error button{margin-left:10px}footer{color:#738071;padding:10px 0;font-size:12px}.overlay{z-index:20;background:#142e2480;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.editor{background:#fff;border-radius:12px;width:660px;max-height:90vh;overflow:auto;box-shadow:0 20px 90px #12261e44}.editor form{padding:0 24px 24px}fieldset{border:0;margin:0;padding:0}.form-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.wide{grid-column:1/-1}.hint{color:#718071;font-size:12px}.field-error{color:#b33f28;font-size:12px}.conflict{background:#fff6df;border:1px solid #e9ce83;padding:16px}.conflict pre{white-space:pre-wrap;overflow-wrap:anywhere}.login,.setup{background:#fff;border:1px solid #dbe3d6;border-radius:14px;max-width:480px;margin:10vh auto;padding:40px}.login form{gap:20px;display:grid}.print-overlay{z-index:30;background:#dfe3db;position:fixed;inset:0;overflow:auto}.print-toolbar{background:#fff;justify-content:center;align-items:center;gap:16px;padding:16px;display:flex;position:sticky;top:0}.print-sheet{color:#111;background:#fff;width:210mm;min-height:297mm;margin:24px auto;padding:10mm}.print-sheet h1{font-size:20px}.print-sheet section{margin-top:18px}.print-sheet h2{font-size:18px}.print-sheet th,.print-sheet td{border:1px solid #555;padding:7px 5px;font-size:10pt}.print-sheet th:first-child{width:7%}.print-sheet th:last-child{width:25%}.print-sheet th:nth-child(2){width:12%}.print-sheet th:nth-child(3){width:10%}.print-sheet th:nth-child(5){width:8%}.print-sheet th{color:#111;background:#f0f0e8}@media (width<=650px){header{align-items:start;padding:18px}.account{flex-direction:column;align-items:end;gap:8px;font-size:11px}h1{font-size:20px}main{padding:24px 14px}.heading{flex-direction:column;align-items:start}.toolbar{flex-wrap:wrap;gap:14px;padding:14px}.date-controls{gap:5px;width:100%}.date-controls input{width:145px}.date-controls button{padding:10px 12px}.toolbar>label{min-width:120px}.section-heading{padding:14px}.section-heading button{padding:9px}.table-scroll table{min-width:800px}.overlay{padding:10px}.editor{max-height:95dvh}.editor form{padding:0 16px 20px}.form-grid{grid-template-columns:1fr}.wide{grid-column:auto}.login,.setup{margin:24px 14px;padding:28px}.print-sheet{transform-origin:0 0;margin:0}.print-toolbar{flex-wrap:wrap}}.screen-note{max-height:100px;overflow:auto}.editor form>button.primary{z-index:1;width:100%;margin-top:12px;position:sticky;bottom:0;box-shadow:0 -5px 15px #fff}.gate-actions{flex-wrap:wrap;gap:10px;margin:18px 0;display:flex}.login .primary{margin-top:16px}.identity{overflow-wrap:anywhere;color:#65776d;font-size:12px}.member-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr));gap:16px;display:grid}.member-card{overflow-wrap:anywhere;background:#fff;border:1px solid #dce3db;border-radius:10px;padding:20px}.member-card .primary{margin-top:16px}.admin-panel{max-width:1100px;margin:auto}@page{size:A4 portrait;margin:10mm;@bottom-center{content:counter(page) " / " counter(pages);font-family:sans-serif;font-size:10pt;color:#111}}@media print{html,body,#root{background:#fff;margin:0;padding:0}.screen{display:none!important}.print-overlay{background:#fff;position:static;overflow:visible}.print-sheet{width:auto;min-height:0;margin:0;padding:0;transform:none}.print-sheet h1{font-size:16pt}.print-sheet h2{break-after:avoid;font-size:12pt}.print-sheet section{break-inside:auto}.print-meta{font-size:11pt}.print-sheet table{table-layout:fixed;width:100%;font-size:10pt}.print-sheet thead{display:table-header-group}.print-sheet tr{break-inside:avoid}.print-sheet tr.long-row{break-inside:auto}.print-sheet th,.print-sheet td{overflow-wrap:anywhere;border:1px solid #000;padding:2mm 1mm;font-size:10pt;line-height:1.4}.print-sheet th{color:#000;background:#fff}.print-sheet td{white-space:pre-wrap}body:not(:has(.print-sheet)):after{content:"印刷プレビューから印刷してください。"}.print-sheet p{margin:4mm 0}}
