
#kdo3{font-family:'Yu Gothic','Meiryo',sans-serif;color:#233b34;background:#f6faf7;font-size:14px;line-height:1.65}
#kdo3 *{box-sizing:border-box}#kdo3 .wrap{max-width:1300px;padding:18px;margin:auto}#kdo3 h2{font-size:17px;margin:0 0 12px}#kdo3 h3{font-size:14px;margin:10px 0 6px}
#kdo3 .hero{padding:17px 22px;background:#eaf4ed;border:1px solid #cbded0;border-radius:12px;margin:0 0 15px}#kdo3 .hero .kicker{font-size:12px;color:#467358;font-weight:bold}#kdo3 .hero h2{font-size:23px;margin:4px 0}#kdo3 .hero p{margin:5px 0;font-size:13px}
#kdo3 .cols{display:grid;grid-template-columns:minmax(330px,440px) minmax(0,1fr);gap:14px;align-items:start}#kdo3 .panel{background:white;border:1px solid #d2ded6;border-radius:12px;padding:17px;margin:0 0 14px;box-shadow:0 2px 10px #24462f0b}
#kdo3 .panel-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}#kdo3 .sub{font-size:11px;color:#6b7b74}#kdo3 .hint{font-size:12px;color:#4f6558;margin:6px 0 12px}#kdo3 .warn{background:#fff7e9;padding:8px 12px;border-left:3px solid #b78e44;border-radius:3px;color:#775d2e;font-size:12px;margin-top:12px}
#kdo3 .picks{display:grid;grid-template-columns:1fr 1fr;gap:8px}#kdo3 .pick-card{border:1px solid #c8dbce;border-radius:9px;padding:10px 12px;display:flex;align-items:center;gap:8px;cursor:pointer;background:#fcfefd;font-size:13px;font-weight:700;min-height:43px}#kdo3 .pick-card:has(input:checked){background:#e4f3e8;border-color:#419362;box-shadow:inset 0 0 0 1px #419362}#kdo3 input[type=checkbox]{accent-color:#2c8150;flex-shrink:0;width:17px;height:17px}
#kdo3 .field{margin-bottom:10px}#kdo3 .field label{display:block;font-weight:700;font-size:12px;color:#45624f;margin-bottom:3px}#kdo3 select,#kdo3 input:not([type=checkbox]),#kdo3 textarea{width:100%;min-width:0;font:inherit;font-size:13px;padding:7px 9px;border:1px solid #c2d1c7;border-radius:7px;background:white;color:#263e31}#kdo3 textarea{resize:vertical;min-height:58px}#kdo3 .row{display:grid;grid-template-columns:1fr 1fr;gap:10px}#kdo3 .trip{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}
#kdo3 button{cursor:pointer;border:1px solid #a8c5b0;border-radius:8px;padding:8px 10px;background:#fff;color:#2c6141;font:inherit;font-size:13px}#kdo3 button:hover{background:#f0f8f1}#kdo3 button:focus-visible,#kdo3 input:focus-visible,#kdo3 textarea:focus-visible,#kdo3 select:focus-visible,#kdo3 summary:focus-visible{outline:3px solid #aad5b1;outline-offset:2px}#kdo3 button.main{background:#287649;color:white;border-color:#287649;font-size:16px;font-weight:800;padding:12px 16px;width:100%}#kdo3 button.main:hover{background:#1c5935}#kdo3 .buttons{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}#kdo3 .buttons button{flex:1;white-space:nowrap}#kdo3 .quick{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:9px}#kdo3 .quick button{font-size:11px;padding:3px 8px;border-radius:20px}#kdo3 details{background:#fff;border:1px solid #d8e4dc;border-radius:9px;margin:9px 0;overflow:hidden}#kdo3 summary{cursor:pointer;padding:11px 12px;font-weight:700;background:#f6f9f6;color:#315640}#kdo3 .inside{padding:12px}#kdo3 .line{border-top:1px solid #deeadf;margin:11px 0}
#kdo3 .draft{border-top:1px solid #dce5dd;padding:12px 0}#kdo3 .draft .caption{color:#41644e;font-size:12px;font-weight:bold;margin:0 0 5px}#kdo3 .service-draft{border-top:1px dashed #c8d9cd;padding:10px 0}#kdo3 .service-draft:first-child{border-top:0}#kdo3 .review{position:sticky;top:8px}#kdo3 .toolbar{display:flex;gap:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;margin-bottom:10px}#kdo3 .toolbar small{font-size:11px;color:#6f7e72}
/* Official-form-inspired A4 sheet: exactly the same field order and 5 service slots */
#kdo3 .sheet-frame{overflow-x:auto;background:#edf1ee;border:1px solid #d3dad5;padding:9px}#kdo3 .sheet{width:210mm;min-height:297mm;background:#fff;color:#111;margin:0 auto;padding:8mm 8mm 7mm;font-family:'Yu Mincho','MS Mincho',serif;font-size:8.7pt;line-height:1.27;box-shadow:0 3px 12px #0002}
#kdo3 .sheet .sh-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:3mm;padding:0 3px}#kdo3 .sheet .sh-head .official{font-size:8.5pt}#kdo3 .sheet .sh-head .sh-title{font-size:13pt;font-weight:bold;letter-spacing:1px}#kdo3 .sheet h4{margin:2mm 1mm 1mm;font-size:9pt;line-height:1.1;font-weight:400}
#kdo3 .sheet table{width:100%;border-collapse:collapse;table-layout:fixed;border:1px solid #333;margin:0}#kdo3 .sheet td,#kdo3 .sheet th{border:1px solid #333;padding:1.1mm 1.3mm;text-align:left;vertical-align:top;font-weight:normal;word-break:break-word;overflow-wrap:anywhere}#kdo3 .sheet .sh-muted{font-size:7pt;color:#333}#kdo3 .sheet .sh-center{text-align:center!important}#kdo3 .sheet .sh-gray{background:#e5e5e5;text-align:center;font-weight:normal}#kdo3 .sheet .sh-value{white-space:pre-wrap;line-height:1.3;min-height:6mm}#kdo3 .sheet .sh-blank{min-height:7mm;display:block}#kdo3 .sheet .sh-label{font-size:7.3pt;margin-bottom:.5mm;color:#111}
#kdo3 .sheet .sh-top td{height:8mm}#kdo3 .sheet .sh-person td{height:11mm}#kdo3 .sheet .sh-scale td{font-size:7.3pt;padding:.8mm 1mm;vertical-align:middle}
/* 自立度欄：名称と区分を2段に分け、選択値だけを楕円で囲む */
#kdo3 .sheet .sh-scale-box{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6mm;min-height:9mm}
#kdo3 .sheet .sh-scale-name{display:block;font-size:7.4pt;line-height:1.12;font-weight:500;letter-spacing:-.06em;white-space:nowrap}
#kdo3 .sheet .sh-scale-options{display:flex;justify-content:space-around;align-items:center;gap:.35mm;width:100%;line-height:1.1}
#kdo3 .sheet .sh-scale-choice{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-width:4.6mm;min-height:4.3mm;padding:.35mm .42mm;white-space:nowrap;font-size:7.9pt;line-height:1;font-weight:400}
#kdo3 .sheet .sh-scale-choice.is-selected{border:1.15px solid #111;border-radius:50%;font-weight:700}
#kdo3 .sheet .sh-bio .bio-lg{height:9mm}#kdo3 .sheet .sh-bio .bio-md{height:10mm}#kdo3 .sheet .sh-bio .bio-sm{height:9mm}#kdo3 .sheet .sh-bio .bio-meds{height:12mm}
#kdo3 .sheet .sh-goals td{height:11mm}#kdo3 .sheet .goal-detail{font-size:7.4pt}#kdo3 .sheet .goal-main{font-size:8.4pt}#kdo3 .sheet .sh-service td{height:9mm}#kdo3 .sheet .sh-service .sh-value{font-size:7.7pt}#kdo3 .sheet .sh-service .status{font-size:6.4pt;white-space:normal;line-height:1.16}#kdo3 .sheet .sh-service .status strong{border:1px solid #111;border-radius:50%;padding:0 1px}#kdo3 .sheet .sh-program{font-size:7.8pt;white-space:pre-wrap;line-height:1.35}#kdo3 .sheet .sh-end td{height:12mm}#kdo3 .sheet .sh-note{font-size:6.6pt;line-height:1.26;padding:1mm 0 2mm}#kdo3 .sheet .sh-footer{font-size:7.3pt;margin-top:1.2mm}#kdo3 .sheet .sh-center{vertical-align:middle}#kdo3 .sheet .pre{white-space:pre-wrap}
#kdo3 .footnote{font-size:11px;color:#66776a;margin-top:10px}#kdo3 .bad{color:#a44e2d}#kdo3 .flag{padding:3px 7px;border-radius:5px;background:#fff5df;color:#6f542a;font-size:11px}#kdo3 .tiny{font-size:11px}
@media (max-width:1100px){#kdo3 .cols{display:block}#kdo3 .review{position:static}#kdo3 .sheet-frame{max-height:750px;overflow:auto}#kdo3 .wrap{padding:10px}}@media (max-width:520px){#kdo3 .picks{gap:6px}#kdo3 .pick-card{font-size:12px;padding:7px 8px}#kdo3 .panel{padding:12px}#kdo3 .row,#kdo3 .trip{grid-template-columns:1fr}#kdo3 .sheet-frame{padding:3px;max-width:100%;overflow-x:auto}#kdo3 .hero h2{font-size:20px}}

#kdo3 button.export{background:#287649;color:white;border-color:#287649;font-weight:700;flex-basis:100%}#kdo3 button.export:hover{background:#1b5c35}
#kdo3 .quick button{line-height:1.55}#kdo3 .inside .field{margin-bottom:16px}



/* Fallback for Ctrl+P; the print button uses an isolated print frame. */
@page{size:A4 portrait;margin:0}
@media print{
 html,body{margin:0!important;padding:0!important;background:#fff!important}
 body *{visibility:hidden!important}
 #kdo3 .sheet, #kdo3 .sheet *{visibility:visible!important}
 #kdo3 {position:absolute!important;top:0!important;left:0!important;width:210mm!important;padding:0!important;margin:0!important;background:#fff!important}
 #kdo3 .wrap{margin:0!important;padding:0!important;max-width:none!important}
 #kdo3 .cols{display:block!important}
 #kdo3 .hero,#kdo3 main,#kdo3 .toolbar,#kdo3 .buttons,#kdo3 .hint,#kdo3 .footnote{display:none!important}
 #kdo3 aside.review,#kdo3 aside.review .panel,#kdo3 .sheet-frame{display:block!important;position:static!important;overflow:visible!important;border:0!important;box-shadow:none!important;margin:0!important;padding:0!important;width:210mm!important;max-width:none!important;background:white!important}
 #kdo3 .sheet{position:static!important;width:210mm!important;min-height:0!important;margin:0 auto!important;padding:5mm 7mm!important;box-shadow:none!important;zoom:.91!important}
 #kdo3 .sheet tr{break-inside:avoid}
}

/* v1.1: office settings. These controls do not appear on the printed sheet. */
#kdo3 .office-state{font-size:11px;color:#476e55;white-space:nowrap}
#kdo3 #kdo3-office-panel .office-save{background:#287649;color:white;border-color:#287649}
#kdo3 #kdo3-office-panel .office-save:hover{background:#205c3a}
#kdo3 .office-staff-list{margin-top:9px;display:grid;gap:6px}
#kdo3 .office-staff-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 10px;background:#f7faf7;border:1px solid #dfebe0;border-radius:7px;font-size:12px}
#kdo3 .office-staff-item button{flex:0 0 auto;padding:3px 9px;font-size:11px}
#kdo3 .kdo3-private-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}
#kdo3 .kdo3-private-grid span{background:#f4f8f5;border:1px solid #dce8df;padding:9px 10px;border-radius:6px;font-size:13px;line-height:1.6}
@media(max-width:670px){#kdo3 .kdo3-private-grid{grid-template-columns:1fr}}

#kdo3 .diagnosis-row{display:flex;gap:7px;align-items:center}#kdo3 .diagnosis-row select{flex:1;min-width:0}#kdo3 .diagnosis-row button{background:#287649;color:white;border-color:#287649;min-width:58px}
#kdo3 .diagnosis-chips{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:13px}#kdo3 .diagnosis-chip{display:inline-flex;align-items:center;gap:8px;background:#edf7ef;border:1px solid #a6cfb2;border-radius:30px;padding:4px 7px 4px 12px;font-size:12px}#kdo3 .diagnosis-chip button{padding:1px 6px;line-height:1.3;font-weight:bold;border-radius:50%}
#kdo3 .generated-summary{background:#f7faf7;border:1px solid #dbe6dd;border-radius:7px;padding:10px;font-size:13px;min-height:40px}
#kdo3 details>summary{cursor:pointer;padding:5px 2px;color:#2d6943}#kdo3 details .inside{padding-top:10px}
#kdo3 .row{display:flex;gap:10px;flex-wrap:wrap}#kdo3 .row>.field{flex:1 1 135px;min-width:0}#kdo3 .quick{display:flex;gap:6px;flex-wrap:wrap;margin-top:5px}
#kdo3 .quick button{font-size:11px;padding:4px 7px;background:#f4f9f6}

/* 1日の流れ入力欄 (v1.4) */
#kdo3 .program-select-row{display:flex;gap:8px;align-items:stretch;flex-wrap:wrap}
#kdo3 .program-select-row select{flex:1 1 210px}
#kdo3 .program-select-row button{flex:0 0 auto;white-space:nowrap;background:#e8f4ec;font-weight:700}
#kdo3 #kdo3-program-text{min-height:164px;line-height:1.55;font-variant-numeric:tabular-nums}
@media(max-width:520px){#kdo3 .program-select-row select,#kdo3 .program-select-row button{width:100%;flex:1 1 100%}}
